Pārlūkot izejas kodu

核价后台:1、修改L1查询逻辑;2、床垫清单,部分明细自动归类半成品

chen_yjin 1 nedēļu atpakaļ
vecāks
revīzija
ce8f2230c6

+ 2 - 1
JLHHJSvr/Com/GetERPMtrldefList.cs

@@ -38,6 +38,7 @@ namespace JLHHJSvr.Com
         public string zxmtrlmode { get; set; }
         public string usermtrlmode { get; set; }
         public string plancode { get; set; }
+        public string mtrlengname { get; set; }
 
         public int pageindex { get; set; }
         public int pagesize { get; set; }
@@ -53,7 +54,7 @@ namespace JLHHJSvr.Com
 
     public sealed class GetERPMtrldefListResponse : LJResponse
     {
-        public List<erp_mtrldef> mtrldefList { get; set; }
+        public List<L1Mtrldef> mtrldefList { get; set; }
         public int pageindex { get; set; }
         public int pagesize { get; set; }
         public int totalcnt { get; set; }

+ 163 - 0
JLHHJSvr/Com/Model/L1Mtrldef.cs

@@ -0,0 +1,163 @@
+using LJLib.DAL.SQL;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JLHHJSvr.Com.Model
+{
+    [PK(new[] { "mtrlid,mtrlcode" })]
+    public sealed class L1Mtrldef
+    {
+        public int? mtrlid { get; set; }
+        public string mtrlcode { get; set; }
+        public string mtrlname { get; set; }
+        public int? mtrlorigin { get; set; }
+        public string mtrltype { get; set; }
+        public string handtype { get; set; }
+        public string unit { get; set; }
+        public string mtrlmode { get; set; }
+        public string mtrlsectype { get; set; }
+        public string zxmtrlmode { get; set; }
+        public string usermtrlmode { get; set; }
+        public string mtrlengname { get; set; }
+        public string material { get; set; }
+        public string barcode { get; set; }
+        public string dscrp { get; set; }
+        public int? issuliao { get; set; }
+        public int? isuse { get; set; }
+        //public byte? iflimitprice { get; set; }
+        public decimal? net_weight { get; set; }
+        public decimal? gross_weight { get; set; }
+        public decimal? cubage { get; set; }
+        public string prdpackcode { get; set; }
+        public DateTime? opdate { get; set; }
+        public string opemp { get; set; }
+        public int? buyunit { get; set; }
+        public int? buydec { get; set; }
+        public string unit_buy { get; set; }
+        public string unit_scll { get; set; }
+        public string unit_sale { get; set; }
+        public decimal rate_buy { get; set; }
+        public decimal rate_scll { get; set; }
+        public decimal rate_sale { get; set; }
+        public decimal saleunit { get; set; }
+        public int? price_ifpz_buy { get; set; }
+        public int? iflimitprice { get; set; }
+        public int? flag { get; set; }
+        public int? statustype { get; set; }
+        public int? woodcodetype { get; set; }
+        public int? pcodetype { get; set; }
+
+        public string mtrloriginStr
+        {
+            get
+            {
+                switch (mtrlorigin)
+                {
+                    case 0:
+                        return "自制产品";
+                    case 1:
+                        return "产品包装件";
+                    case 2:
+                        return "采购";
+                    case 3:
+                        return "外协部件";
+                    case 4:
+                        return "自制部件";
+                }
+                return string.Empty;
+            }
+            set { }
+        }
+
+        public string issuliaoStr
+        {
+            get
+            {
+                switch (issuliao)
+                {
+                    case 0:
+                        return "普通物料";
+                    case 4:
+                        return "玻璃";
+                    case 5:
+                        return "纸箱";
+                }
+                return string.Empty;
+            }
+            set { }
+        }
+        public int? status_check { get; set; }
+        public int? woodcode_check { get; set; }
+        public int? pcode_check { get; set; }
+        public byte? statusflag { get; set; }
+        public byte? woodcodeflag { get; set; }
+        public byte? pcodeflag { get; set; }
+        public byte? Mtrlorigin { get; set; }
+        public decimal? LMsaleprice { get; set; }
+        public decimal? gbrate { get; set; }
+        public int? ifcheckaddqty { get; set; }
+        public string strcheckaddqty { get; set; }
+        public string woodcode_config { get; set; }
+        public string rowNum { get; set; }
+        public string status_config { get; set; }
+        public string woodcode_configName { get; set; }
+        public string status_configName { get; set; }
+        public decimal? quoteqty { get; set; }
+        #region mtrlware
+        public decimal? noallocqty { get; set; }
+        #endregion
+        /// <summary>
+        /// 主图MD5
+        /// </summary>
+        public string picmd5 { get; set; }
+        public string storagename { get; set; }
+        /// <summary>
+        /// 单价
+        /// </summary>
+        public decimal? price { get; set; }
+        public decimal? taxrate { get; set; }
+        public decimal? rebate { get; set; }
+
+        /// <summary>
+        /// 原价
+        /// </summary>
+        public decimal? price_ori { get; set; }
+        /// <summary>
+        /// 参考装柜量
+        /// </summary>
+        public decimal? ck_packqty { get; set; }
+        /// <summary>
+        /// 价格表币种
+        /// </summary>
+        public int moneyid { get; set; }
+        public int fjcnt { get; set; }
+
+        public decimal kcqty { get; set; }
+        public decimal xqqty { get; set; }
+        public decimal maxqty { get; set; }
+        /// <summary>
+        /// 配置1默认值
+        /// </summary>
+        public string dftStatus { get; set; }
+        /// <summary>
+        /// 配置2默认值
+        /// </summary>
+        public string dftWoodcode { get; set; }
+        /// <summary>
+        /// 配置3默认值
+        /// </summary>
+        public string dftPcode { get; set; }
+        /// <summary>
+        /// 分部id
+        /// </summary>
+        public int? scid { get; set; }
+        public int? storageid { get; set; }
+        public int? mtrltypeid { get; set; }
+        public int? mtrlprp { get; set; }
+        public string plancode { get; set; }
+
+    }
+
+}

+ 40 - 0
JLHHJSvr/DBA/DAL_SQLite/DbSqlHelper.cs

@@ -86,6 +86,46 @@ namespace LJLib.DAL.SQL
             var properties = GetProperties(typeof(T), outputFields);
             GetValues(cmd, returnList, properties);
         }
+        public static void SelectJoin<TCommand, T>(TCommand cmd, string selectStr, string whereStr, IDictionary<string, object> parms, string orderByStr, string outputFields, int pageindex, int pagesize, List<T> returnList, ref int totalcnt)
+            where TCommand : DbCommand
+            where T : new()
+        {
+            var parseResult = SqlStrHelper.ParseSelectStr(selectStr);
+            if (parseResult.selectStr.ToUpper().Contains("DISTINCT"))
+            {
+                throw new NotImplementedException("不要过分依赖DISTINCT");
+            }
+            cmd.CommandText = SqlStrHelper.BuildSelectStr(parseResult, outputFields, whereStr, orderByStr, pageindex, pagesize);
+            cmd.CommandType = CommandType.Text;
+            cmd.Parameters.Clear();
+            if (parms != null)
+            {
+                foreach (var parm in parms)
+                {
+                    AddWithValue(cmd, parm.Key, parm.Value);
+                }
+            }
+            var properties = GetProperties(typeof(T), outputFields);
+            GetValues(cmd, returnList, properties);
+
+            string strcmd = parseResult.selectStr + " COUNT(0) " + parseResult.fromStr;
+            if (!string.IsNullOrEmpty(whereStr))
+            {
+                whereStr = whereStr.Trim();
+                strcmd += " WHERE " + whereStr;
+            }
+            cmd.CommandText = strcmd;
+            //cmd.CommandType = CommandType.Text;
+            //cmd.Parameters.Clear();
+            try
+            {
+                totalcnt = Convert.ToInt32(cmd.ExecuteScalar());
+            }
+            catch (Exception ex)
+            {
+                throw new Exception(string.Format("ex:{0}\r\ncmd:{1}", ex, cmd.CommandText));
+            }
+        }
 
         private static object ConvertValue(Type parmType, object value)
         {

+ 47 - 0
JLHHJSvr/DBA/DAL_SQLite/Utils/SqlStrHelper.cs

@@ -290,6 +290,53 @@ DROP TABLE #tmp_sorttable";
             }
             return outCmdStr;
         }
+        public static string BuildSelectStr(ParseResult sqlInfo, string preOutFieldStr, string orgWhereStr,
+    string preOrderStr, int pageindex, int pagesize)
+        {
+
+            var fromStr = sqlInfo.fromStr;
+
+            var outCmdStr = string.Format("{0} {1}", string.Join(",", sqlInfo.selectFieldsDic.Values), fromStr);
+            var whereStr = sqlInfo.whereStr;
+            if (!string.IsNullOrEmpty(orgWhereStr))
+            {
+                if (!string.IsNullOrEmpty(whereStr))
+                {
+                    var rawWhereitem = whereStr.Substring(whereStr.IndexOf("WHERE", StringComparison.OrdinalIgnoreCase) + 6);
+                    whereStr = "WHERE (" + rawWhereitem + ") AND ";
+                }
+                else
+                {
+                    whereStr = "WHERE ";
+                }
+                whereStr += orgWhereStr;
+            }
+            outCmdStr += whereStr;
+            outCmdStr += " " + sqlInfo.groupStr;
+            outCmdStr += " " + sqlInfo.orderStr;
+            if (!string.IsNullOrEmpty(preOrderStr))
+            {
+                outCmdStr += " ORDER BY " + preOrderStr;
+            }
+            if (pageindex > 0 && pagesize > 0)
+            {
+                outCmdStr = sqlInfo.selectStr + " TOP " + (pageindex * pagesize).ToString() + " " + outCmdStr;
+                outCmdStr = "SELECT RowNumber = IDENTITY(INT,1, 1)," + preOutFieldStr + " INTO #tmp_sorttable FROM (" +
+                            outCmdStr + @") a
+SELECT TOP " + pagesize.ToString() + " " + preOutFieldStr + @" FROM #tmp_sorttable WHERE RowNumber > " +
+                            (pagesize * (pageindex - 1)).ToString() + @" ORDER BY RowNumber
+DROP TABLE #tmp_sorttable";
+            }
+            else if (pageindex <= 0 && pagesize > 0)
+            {
+                outCmdStr = sqlInfo.selectStr + " TOP " + pagesize + " " + outCmdStr;
+            }
+            else
+            {
+                outCmdStr = sqlInfo.selectStr + " " + outCmdStr;
+            }
+            return outCmdStr;
+        }
 
         public static string BuildSelectStrL1(ParseResult sqlInfo, string preOutFieldStr, string orgWhereStr,
     string preOrderStr, int pageindex, int pagesize)

+ 47 - 1
JLHHJSvr/Excutor/CreatPrdPfExcutor.cs

@@ -99,6 +99,23 @@ namespace JLHHJSvr.Excutor
                         prdPfs = new List<u_PrdPF>()
                     };
 
+                    // 自动归类半成品-20250604
+                    var qdMxClass = new Dictionary<string, string[]>
+                    {
+                        { "裥面", new string[] {"补充物料-裥棉面线"} },
+                        { "裥底", new string[] {"补充物料-裥棉底线" } },
+                        { "大侧", new string[] {"拉手刺绣及其他工艺-拉手刺绣", "拉手刺绣及其他工艺-拉手无纺布", "拉手刺绣及其他工艺-侧刺绣做法", "辅料-打印小标1", "辅料-打印小标2", "辅料-打印小标3", "辅料-织唛1", "辅料-防火线2", "车位说明-车位说明", "补充物料-车位面线", "补充物料-车位底线" } },
+                    };
+
+                    var bcpNames = new Dictionary<string, string> { };
+                    foreach (var mx in mattress_interface_qd_list)
+                    {
+                        if (!string.IsNullOrEmpty(mx.bj_pzname_mx_mx) && mx.bj_pzname_mx_mx.Contains(" + ") && !bcpNames.ContainsKey(mx.itemname))
+                        {
+                            bcpNames.Add(mx.itemname, mx.bj_pzname_mx_mx);
+                        }
+                    }
+
                     var i = 0;
                     foreach (var mx in mattress_interface_qd_list)
                     {
@@ -117,6 +134,35 @@ namespace JLHHJSvr.Excutor
                             ls_temp_pfgroup = ls_temp_pfgroup + (ll_cnt_temp).ToString();
                         }
 
+                        var _dscrp = mx.bj_pzname_mx_mx;
+                        #region 自动归类半成品
+                        string searchValue = mx.itemname + "-" + mx.bj_pzname;
+                        bool found = false;
+
+                        foreach (var qdMx in qdMxClass)
+                        {
+                            foreach (string item in qdMx.Value)
+                            {
+                                if (item == searchValue)
+                                {
+                                    found = true;
+                                    break;
+                                }
+                            }
+
+                            if (found)
+                            {
+                                var dscrpStr = bcpNames[qdMx.Key];
+
+                                if (!string.IsNullOrEmpty(dscrpStr))
+                                {
+                                    _dscrp = dscrpStr;
+                                }
+                                break;
+                            }
+                        }
+                        #endregion
+
                         string ls_azcode = i.ToString("D3");
 
                         var prdpf = new u_PrdPF()
@@ -129,7 +175,7 @@ namespace JLHHJSvr.Excutor
                             wrkgrpcode1 = mx.wrkgrpcode1,
                             wrkgrpcode2 = mx.wrkgrpcode2,
                             sonpfcode = "[常规]",
-                            dscrp = mx.bj_pzname_mx_mx,
+                            dscrp = _dscrp,
                             pfgroupqty = mx.qd_pfgroupqty,
                             Sonscale = mx.actual_useqty,
                             pfklmode = mx.qd_actual_size,

+ 19 - 29
JLHHJSvr/Excutor/GetERPMtrldefListExcutor.cs

@@ -33,89 +33,79 @@ namespace JLHHJSvr.Excutor
 
                 var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
 
-                var parameters = new JObject();
+                var mtrldef = new L1Mtrldef() {
+                    flag = 2,
+                };
 
                 if (request.mtrlid > 0)
                 {
-                    parameters.Add("mtrlid", request.mtrlid);
+                    mtrldef.mtrlid = request.mtrlid;
                 }
                 else
                 {
                     if (request.mtrlprp != null && request.mtrlprp != -1)
                     {
-                        parameters.Add("mtrlprp", request.mtrlprp);
+                        mtrldef.mtrlprp = request.mtrlprp;
                     }
                     if (request.mtrltypeid != null && request.mtrltypeid != -1)
                     {
-                        parameters.Add("mtrltypeid", request.mtrltypeid);
+                        mtrldef.mtrltypeid = request.mtrltypeid;
                     }
                     if (request.storageid != null && request.storageid != -1)
                     {
-                        parameters.Add("storageid", request.storageid);
+                        mtrldef.storageid = request.storageid;
                     }
                     if (request.mtrlorigin != null && request.mtrlorigin != -1)
                     {
-                        parameters.Add("mtrlorigin", request.mtrlorigin);
+                        mtrldef.mtrlorigin = request.mtrlorigin;
                     }
                     if (request.isuse != null && request.isuse != -1)
                     {
-                        parameters.Add("isuse", request.isuse);
-                    }
-                    if (!string.IsNullOrEmpty(request.keyword))
-                    {
-                        parameters.Add("keyword", request.keyword);
+                        mtrldef.isuse = request.isuse;
                     }
 
                     if (!string.IsNullOrEmpty(request.mtrlcode))
                     {
-                        parameters.Add("mtrlcode", request.mtrlcode);
+                        mtrldef.mtrlcode = request.mtrlcode;
                     }
 
                     if (!string.IsNullOrEmpty(request.mtrlname))
                     {
-                        parameters.Add("mtrlname", request.mtrlname);
+                        mtrldef.mtrlname = request.mtrlname;
                     }
 
                     if (!string.IsNullOrEmpty(request.mtrlmode))
                     {
-                        parameters.Add("mtrlmode", request.mtrlmode);
+                        mtrldef.mtrlmode = request.mtrlmode;
                     }
 
                     if (!string.IsNullOrEmpty(request.mtrlsectype))
                     {
-                        parameters.Add("mtrlsectype", request.mtrlsectype);
+                        mtrldef.mtrlsectype = request.mtrlsectype;
                     }
 
                     if (!string.IsNullOrEmpty(request.zxmtrlmode))
                     {
-                        parameters.Add("zxmtrlmode", request.zxmtrlmode);
+                        mtrldef.zxmtrlmode = request.zxmtrlmode;
                     }
 
                     if (!string.IsNullOrEmpty(request.usermtrlmode))
                     {
-                        parameters.Add("usermtrlmode", request.usermtrlmode);
+                        mtrldef.usermtrlmode = request.usermtrlmode;
                     }
 
                     if (!string.IsNullOrEmpty(request.plancode))
                     {
-                        parameters.Add("plancode", request.plancode);
-                    }
-
-                    if (request.pageindex > 0)
-                    {
-                        parameters.Add("pageindex", request.pageindex);
+                        mtrldef.plancode = request.plancode;
                     }
-
-                    if (request.pagesize > 0)
+                    if (!string.IsNullOrEmpty(request.mtrlengname))
                     {
-                        parameters.Add("pagesize", request.pagesize);
+                        mtrldef.mtrlengname = request.mtrlengname;
                     }
                 }
-                // 已终审
-                parameters.Add("flag", 2);
 
                 int total = 0;
-                var resultList = erpHelper.GetERPList<erp_mtrldef>("GetL1Mtrldef", ref total, parameters);
+                var resultList = erpHelper.GetERPMtrldef(cmd, ref total, request.keyword, mtrldef, request.pagesize, request.pageindex);
 
                 rslt.mtrldefList = resultList;
                 rslt.totalcnt = total;

+ 143 - 0
JLHHJSvr/Helper/ERPHelper.cs

@@ -6,6 +6,8 @@ using System;
 using System.Collections.Generic;
 using System.Diagnostics;
 using LJLib.DAL.SQL;
+using DirectService.Tools;
+using System.Data.SqlClient;
 
 namespace JLHHJSvr.Helper
 {
@@ -107,6 +109,147 @@ namespace JLHHJSvr.Helper
                 throw;
             }
         }
+        public List<L1Mtrldef> GetERPMtrldef(SqlCommand cmd, ref int total, string keyword, L1Mtrldef mtrldef, int pagesize = 0, int pageindex = 0, int simpleField = 1)
+        {
+            var mtrldefList = new List<L1Mtrldef>();
+            var selectFields =
+                "row_number() over (order by mtrlcode) as rowNum,u_mtrldef.mtrlid,mtrlcode,mtrlname,mtrlorigin,mtrltype,mtrlengname," +
+                "unit,mtrlmode,mtrlsectype,zxmtrlmode,u_mtrldef.fjcnt,status_config,woodcode_config,pcode_config,statustype,woodcodetype,pcodetype,u_mtrldef.scid";
+            var outputFields =
+                "rowNum,mtrlid,mtrlcode,mtrlname,mtrlorigin,mtrltype,unit,mtrlmode,mtrlsectype,zxmtrlmode,mtrlengname," +
+                "fjcnt,status_config,woodcode_config,pcode_config,statustype,woodcodetype,pcodetype,scid";
+
+            if (simpleField != 1)
+            {
+                selectFields +=
+                    ",handtype,barcode,u_mtrldef.dscrp,issuliao,isuse,iflimitprice,net_weight,gross_weight,cubage,prdpackcode,opdate,opemp";
+                outputFields +=
+                    ",handtype,barcode,dscrp,issuliao,isuse,iflimitprice,net_weight,gross_weight,cubage,prdpackcode,opdate,opemp";
+            }
+            var selectStr = string.Format(@"
+                    SELECT {0}
+                    FROM   u_mtrldef
+                    ",
+                selectFields);
+
+            var whereList = new List<string>();
+            var parms = new Dictionary<string, object>();
+
+            ////查看有权限类别的物料
+            //var mtrltypeids = UserHelper.ParsePowerStr(cmd, tokenData.empid, "mtrltypestr");
+
+            //if (!string.IsNullOrEmpty(mtrltypeids))
+            //{
+            //    whereList.Add($"u_mtrldef.mtrltypeid IN {mtrltypeids}");
+            //}
+
+            if (mtrldef.mtrlid > 0)
+            {
+                whereList.Add("u_mtrldef.mtrlid = @mtrlid");
+                parms.Add("@mtrlid", mtrldef.mtrlid);
+            }
+            //else if (mtrldef.mtrlids != null && request.mtrlids.Count > 0)
+            //{
+            //    whereList.Add($"u_mtrldef.mtrlid IN {ListEx.getString(request.mtrlids)}");
+            //}
+            else
+            {
+                if (mtrldef.mtrlprp != null && mtrldef.mtrlprp != -1)
+                {
+                    whereList.Add("u_mtrldef.mtrlprp = @mtrlprp");
+                    parms.Add("@mtrlprp", mtrldef.mtrlprp);
+                }
+                if (mtrldef.mtrltypeid != null && mtrldef.mtrltypeid != -1)
+                {
+                    whereList.Add("u_mtrldef.mtrltypeid = @mtrltypeid");
+                    parms.Add("@mtrltypeid", mtrldef.mtrltypeid);
+                }
+                if (mtrldef.storageid != null && mtrldef.storageid != -1)
+                {
+                    whereList.Add(
+                        "EXISTS (SELECT mtrlwareid FROM u_mtrlware WHERE mtrlid = u_mtrldef.mtrlid AND storageid = @storageid)");
+                    parms.Add("@storageid", mtrldef.storageid);
+                }
+                if (mtrldef.mtrlorigin != null && mtrldef.mtrlorigin != -1)
+                {
+                    whereList.Add("u_mtrldef.mtrlorigin = @mtrlorigin");
+                    parms.Add("@mtrlorigin", mtrldef.mtrlorigin);
+                }
+                if (mtrldef.isuse != null && mtrldef.isuse != -1)
+                {
+                    whereList.Add("u_mtrldef.isuse = @isuse");
+                    parms.Add("@isuse", mtrldef.isuse);
+                }
+                if (!string.IsNullOrEmpty(keyword))
+                {
+                    whereList.Add(@"(u_mtrldef.mtrlcode LIKE @keyword) 
+                                            OR (u_mtrldef.mtrlname LIKE @keyword) 
+                                            OR (u_mtrldef.mtrlmode LIKE @keyword) 
+                                            OR (u_mtrldef.mtrlsectype LIKE @keyword) 
+                                            OR (u_mtrldef.zxmtrlmode LIKE @keyword)
+                                            OR (u_mtrldef.usermtrlmode LIKE @keyword)
+                                            OR (u_mtrldef.plancode LIKE @keyword)");
+                    parms.Add("@keyword", "%" + keyword + "%");
+                }
+
+                if (!string.IsNullOrEmpty(mtrldef.mtrlcode))
+                {
+                    whereList.Add("u_mtrldef.mtrlcode LIKE @mtrlcode");
+                    parms.Add("@mtrlcode", "%" + mtrldef.mtrlcode + "%");
+                }
+
+                if (!string.IsNullOrEmpty(mtrldef.mtrlname))
+                {
+                    whereList.Add("u_mtrldef.mtrlname LIKE @mtrlname");
+                    parms.Add("@mtrlname", "%" + mtrldef.mtrlname + "%");
+                }
+
+                if (!string.IsNullOrEmpty(mtrldef.mtrlmode))
+                {
+                    whereList.Add("u_mtrldef.mtrlmode LIKE @mtrlmode");
+                    parms.Add("@mtrlmode", "%" + mtrldef.mtrlmode + "%");
+                }
+
+                if (!string.IsNullOrEmpty(mtrldef.mtrlsectype))
+                {
+                    whereList.Add("u_mtrldef.mtrlsectype LIKE @mtrlsectype");
+                    parms.Add("@mtrlsectype", "%" + mtrldef.mtrlsectype + "%");
+                }
+
+                if (!string.IsNullOrEmpty(mtrldef.zxmtrlmode))
+                {
+                    whereList.Add("u_mtrldef.zxmtrlmode LIKE @zxmtrlmode");
+                    parms.Add("@zxmtrlmode", "%" + mtrldef.zxmtrlmode + "%");
+                }
+
+                if (!string.IsNullOrEmpty(mtrldef.usermtrlmode))
+                {
+                    whereList.Add("u_mtrldef.usermtrlmode LIKE @usermtrlmode");
+                    parms.Add("@usermtrlmode", "%" + mtrldef.usermtrlmode + "%");
+                }
+
+                if (!string.IsNullOrEmpty(mtrldef.plancode))
+                {
+                    whereList.Add("u_mtrldef.plancode LIKE @plancode");
+                    parms.Add("@plancode", "%" + mtrldef.plancode + "%");
+                }
+                if (!string.IsNullOrEmpty(mtrldef.mtrlengname))
+                {
+                    whereList.Add("u_mtrldef.mtrlengname LIKE @mtrlengname");
+                    parms.Add("@mtrlengname", "%" + mtrldef.mtrlengname + "%");
+                }
+            }
+            if (mtrldef.flag != null && mtrldef.flag != -1)
+            {
+                whereList.Add("u_mtrldef.flag = @flag");
+                parms.Add("@flag", mtrldef.flag);
+            }
+            var whereStr = ListEx.GetWhereStr(whereList);
+            var orderStr = "mtrlcode";
+            DbSqlHelper.SelectJoin(cmd, selectStr, whereStr, parms, orderStr, outputFields, pageindex,
+               pagesize, mtrldefList, ref total);
+            return mtrldefList;
+        }
         // 提取请求构建逻辑
         private JObject BuildRequest(JObject parameters)
         {

+ 1 - 0
JLHHJSvr/JLHHJSvr.csproj

@@ -105,6 +105,7 @@
     <Compile Include="Com\GetMattressSubspecs.cs" />
     <Compile Include="Com\JLH_FetchPrice.cs" />
     <Compile Include="Com\ChangePassword.cs" />
+    <Compile Include="Com\Model\L1Mtrldef.cs" />
     <Compile Include="Com\Model\replacement_bednet.cs" />
     <Compile Include="Com\FormulaCheck.cs" />
     <Compile Include="Com\GetFormulaVarList.cs" />