kyy
2025-11-20 6d7b64c2f1f7561aca5db34fcf3b32d265bb757e
1、物料类型检验
已重命名1个文件
已修改2个文件
178 ■■■■■ 文件已修改
WebApi/GS.QC/Service/MesQmCheckitemManager.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Gs.BaseInfo/Services/MesItemTypeManager.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Gs.Entity/BaseInfo/MesItemType.cs 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/GS.QC/Service/MesQmCheckitemManager.cs
@@ -13,6 +13,7 @@
using System.Data;
using System.Data.SqlClient;
using System.Dynamic;
using Gs.BaseInfo.Models;
namespace GS.QC.Service;
@@ -331,4 +332,100 @@
        }
        return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "操作成功!");
    }
    #region 物料类别检验项目 2025-11-19 加上
    /// <summary>
    ///     查询列表,支持分页
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<PageList<MesQmCheckitem>> GetListPageLeiBie(PageQuery query)
    {
        var _sbWhere = new StringBuilder(" 1=1 " + query.keyWhere);
        var _sbBy = new StringBuilder(query.sortName + " " + query.sortOrder);
        var totalCount = 0;
        var itemsList = Db.Queryable<MesQmCheckitem, MesItemType, SysUser, SysUser>(
                (a, b, u1, u2) => new object[]
                {
               JoinType.Left, a.ItemId == b.Id,
               JoinType.Left, a.FoneCheckor == u1.Account,
               JoinType.Left, a.CreateBy == u2.Account
                })
            .Select((a, b, u1, u2) => new MesQmCheckitem
            {
                mc = b.Tname,
                ItemNo = b.Tcode,
                // 新增:审批人姓名、制单人姓名
                FoneCheckor = u1.UserName,
                CreateBy = u2.UserName
            }, true)
            .Where(_sbWhere.ToString())
            .OrderBy(_sbBy.ToString())
            .ToPageList(query.currentPage, query.everyPageSize, ref totalCount);
        var pageList = new PageList<MesQmCheckitem>(itemsList, totalCount,
            query.everyPageSize);
        return ReturnDto<PageList<MesQmCheckitem>>.QuickReturn(pageList,
            ReturnCode.Success, "读取成功");
    }
    /// <summary>
    ///     根据主表id读取主表和子表
    /// </summary>
    /// <param name="model"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<MesQmCheckitem> GetModelLeiBie(
        [FromBody] MesQmCheckitem model)
    {
        // 获取主表
        var m = base.GetById(model.Guid);
        System.Text.StringBuilder sbSql = new StringBuilder();
        sbSql.Append("select top 1 tname as [item_name],tcode as item_no from MES_ITEM_TYPE i where i.id=" + m.ItemId);
        try
        {
            DataSet dset = new DataSet();
            dset = Gs.Toolbox.DbHelperSQL.Query(sbSql.ToString());
            System.Data.DataRow r = dset.Tables[0].Rows[0];
            m.ItemNo = r["item_no"].ToString();
            m.mc = r["item_name"].ToString();
        }
        catch (Exception ex)
        {
            LogHelper.Debug(ToString(), "GetModel error:" + ex.Message);
        }
        // 新增:审批人姓名查询
        if (!string.IsNullOrEmpty(m.FoneCheckor))
        {
            var user = Db.Queryable<SysUser>()
                .Where(u => u.Account == m.FoneCheckor)
                .Select(u => u.UserName)
                .First();
            m.FoneCheckor = user ?? m.FoneCheckor; // 查不到则保留原值
        }
        m.list = Db.Queryable<MesQmCheckitemDt, MesQmAql1>((a, b) =>
                new object[]
                {
                 JoinType.Left, a.SampleSizeNo == b.SampleSizeNo
                })
            .OrderBy((a, b) => a.Forder)
            .Select((a, b) => new MesQmCheckitemDt
            {
                sampleSizeName = b.SampleSizeName
            }, true)
            .Where(a => a.Pid == model.Guid)
            .ToList();
        if (m != null)
            return ReturnDto<MesQmCheckitem>.QuickReturn(m,
                ReturnCode.Success, "读取成功!");
        return ReturnDto<MesQmCheckitem>.QuickReturn(m, ReturnCode.Default,
            "读取失败!");
    }
    #endregion
}
WebApi/Gs.BaseInfo/Services/MesItemTypeManager.cs
@@ -1,11 +1,13 @@
using System.Text;
using Gs.BaseInfo.Models;
using Gs.BaseInfo.Models;
using Gs.Toolbox;
using Gs.Toolbox.ApiCore.Abstract.Mvc;
using Gs.Toolbox.ApiCore.Common.Mvc;
using Gs.Toolbox.ApiCore.Group;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Data;
using System.Data.SqlClient;
using System.Text;
namespace Gs.BaseInfo.Services;
@@ -70,4 +72,79 @@
        return ReturnDto<MesItemType>.QuickReturn(m, ReturnCode.Default,
            "读取失败!");
    }
    /// <summary>
    ///   维护检验项目时弹出选择
    /// </summary>
    /// <param name="model"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<PageList<dynamic>> GetListSelect([FromBody] dynamic model)
    {
        int currentPage = model.currentPage;
        int everyPageSize = model.everyPageSize;
        string sortName = model.sortName;
        string keyWhere = model.keyWhere;
        string keyType = model.keyType;
        string keyWord = model.keyWord;
        var dset = new DataSet();
        try
        {
            using (var conn = new SqlConnection(DbHelperSQL.strConn))
            {
                using (var cmd = new SqlCommand("[select_item_type]", conn))
                {
                    conn.Open();
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter[] parameters =
                    {
                        new("@inCurrentPage", currentPage),
                        new("@inEveryPageSize", everyPageSize),
                        new("@inSortName", sortName),
                        new("@inSortOrder", ""),
                        new("@inQueryWhere", keyWhere),
                        new("@inP1",keyType),//当为:检验项目,iqc,ipqc,fqc时
                        new("@inP2", keyWord)
                    };
                    foreach (var parameter in parameters)
                        cmd.Parameters.Add(parameter);
                    using (var dt = new SqlDataAdapter(cmd))
                    {
                        dt.Fill(dset, "0");
                    }
                }
                conn.Close();
            }
        }
        catch (Exception ex)
        {
            LogHelper.Debug(ToString(), "GetListPage error:" + ex.Message);
            return ReturnDto<PageList<dynamic>>.QuickReturn(default(PageList<dynamic>), ReturnCode.Exception, "读取失败");
        }
        var _pglist = new PageList<dynamic>
        {
            total = 0,
            everyPageSize = 0,
            pages = 0,
            list = new List<dynamic>()
        };
        if (dset != null && dset.Tables.Count > 0 &&
            dset.Tables[0].Rows.Count > 0) //有数据
        {
            var intTotal =
                int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString());
            var pages = intTotal % everyPageSize != 0
                ? intTotal / everyPageSize + 1
                : intTotal / everyPageSize;
            _pglist.total = intTotal;
            _pglist.everyPageSize = everyPageSize;
            _pglist.pages = pages;
            var _dy = dset.Tables[0].TableToDynamicList();
            _pglist.list = _dy;
        }
        return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
            ReturnCode.Success, "读取成功");
    }
}
WebApi/Gs.Entity/BaseInfo/MesItemType.cs