Kaynağa Gözat

业务后台:1、床垫清单,编辑时,读取默认信息(物料名称、物料规格、物料类别)
2、床垫清单,优先获取核价配置资料定义
3、床垫报价明细,新增字段:规格长、规格宽
4、床垫报价:垫层、內布套标签页,新增特定尺寸(规格长、规格宽)默认0时读取床垫尺寸;

chen_yjin 2 ay önce
ebeveyn
işleme
02dd379a45

+ 1 - 0
JLHHJSvr/Com/GetMattressInterfaceList.cs

@@ -21,6 +21,7 @@ namespace JLHHJSvr.Com
         /// 单据id
         /// </summary>
         public int? mattressid { get; set; }
+        public int? isEdit { get; set; }
     }
 
     public sealed class GetMattressInterfaceListResponse : LJResponse

+ 1 - 0
JLHHJSvr/Com/Model/u_mattress.cs

@@ -149,6 +149,7 @@ namespace JLHHJSvr.Com.Model
         /// 主副规格记录:弹簧排列个数-长
         /// </summary>
         public int? spring_qty_length { get; set; }
+        public int? mtrltypeid { get; set; }
         #endregion
     }
 }

+ 2 - 1
JLHHJSvr/Com/Model/u_mattress_mx_mtrl.cs

@@ -59,7 +59,8 @@ namespace JLHHJSvr.Com.Model
         /// </summary>
         public int? if_mtrl { get; set; }
 
-
+        public int? mattress_width { get; set; }
+        public int? mattress_length { get; set; }
         #endregion
     }
 }

+ 5 - 1
JLHHJSvr/DataStore/web_mattress_mx.xml

@@ -32,7 +32,9 @@
 			u_mattress_mx_mtrl.useqty as useqty,
 			u_mattress_mx_mtrl.useformula,
 			u_mattress_mx_mtrl.replace_useformula ,
-			u_mattress_mx_mtrl.gydscrp
+			u_mattress_mx_mtrl.gydscrp,
+			u_mattress_mx_mtrl.mattress_width,
+			u_mattress_mx_mtrl.mattress_length
 		From u_mattress_mx_mtrl
 		Left join u_mattress_formula On u_mattress_formula.formulaid = u_mattress_mx_mtrl.formulaid left outer join u_mtrl_price on
 		u_mattress_mx_mtrl.mtrlid = u_mtrl_price.mtrlid
@@ -81,6 +83,8 @@
 		<field field="thickness" datatype="number">厚度cm</field>
 		<field field="mtrlname">物料</field>
 		<field field="qty" datatype="number">数量/长度</field>
+		<field field="mattress_width" datatype="number">规格宽/CM</field>
+		<field field="mattress_length" datatype="number">规格长/CM</field>
 		<field field="price" datatype="number" onlyusermode="0">
 			物料
 			单价

+ 5 - 1
JLHHJSvr/DataStore/web_mattress_mx_neibutao.xml

@@ -32,7 +32,9 @@
 			u_mattress_mx_mtrl.useqty,
 			u_mattress_mx_mtrl.useformula,
 			u_mattress_mx_mtrl.replace_useformula ,
-			u_mattress_mx_mtrl.gydscrp
+			u_mattress_mx_mtrl.gydscrp,
+			u_mattress_mx_mtrl.mattress_width,
+			u_mattress_mx_mtrl.mattress_length
 		From u_mattress_mx_mtrl
 		Left JOIN u_mattress_formula On u_mattress_formula.formulaid = u_mattress_mx_mtrl.formulaid left outer join u_mtrl_price on
 			u_mattress_mx_mtrl.mtrlid = u_mtrl_price.mtrlid
@@ -70,6 +72,8 @@
 		<field field="thickness" datatype="number">厚度cm/条数</field>
 		<field field="mtrlname">物料</field>
 		<field field="qty" datatype="number">数量/长度</field>
+		<field field="mattress_width" datatype="number">规格宽/CM</field>
+		<field field="mattress_length" datatype="number">规格长/CM</field>
 		<field field="price" datatype="number" onlyusermode="0">
 			物料
 			单价

+ 24 - 14
JLHHJSvr/Excutor/GetERPMtrldefListExcutor.cs

@@ -37,68 +37,78 @@ namespace JLHHJSvr.Excutor
 
                 if (request.mtrlid > 0)
                 {
-                    parameters.Add("@mtrlid", request.mtrlid);
+                    parameters.Add("mtrlid", request.mtrlid);
                 }
                 else
                 {
                     if (request.mtrlprp != null && request.mtrlprp != -1)
                     {
-                        parameters.Add("@mtrlprp", request.mtrlprp);
+                        parameters.Add("mtrlprp", request.mtrlprp);
                     }
                     if (request.mtrltypeid != null && request.mtrltypeid != -1)
                     {
-                        parameters.Add("@mtrltypeid", request.mtrltypeid);
+                        parameters.Add("mtrltypeid", request.mtrltypeid);
                     }
                     if (request.storageid != null && request.storageid != -1)
                     {
-                        parameters.Add("@storageid", request.storageid);
+                        parameters.Add("storageid", request.storageid);
                     }
                     if (request.mtrlorigin != null && request.mtrlorigin != -1)
                     {
-                        parameters.Add("@mtrlorigin", request.mtrlorigin);
+                        parameters.Add("mtrlorigin", request.mtrlorigin);
                     }
                     if (request.isuse != null && request.isuse != -1)
                     {
-                        parameters.Add("@isuse", request.isuse);
+                        parameters.Add("isuse", request.isuse);
                     }
                     if (!string.IsNullOrEmpty(request.keyword))
                     {
-                        parameters.Add("@keyword", request.keyword);
+                        parameters.Add("keyword", request.keyword);
                     }
 
                     if (!string.IsNullOrEmpty(request.mtrlcode))
                     {
-                        parameters.Add("@mtrlcode", request.mtrlcode);
+                        parameters.Add("mtrlcode", request.mtrlcode);
                     }
 
                     if (!string.IsNullOrEmpty(request.mtrlname))
                     {
-                        parameters.Add("@mtrlname", request.mtrlname);
+                        parameters.Add("mtrlname", request.mtrlname);
                     }
 
                     if (!string.IsNullOrEmpty(request.mtrlmode))
                     {
-                        parameters.Add("@mtrlmode", request.mtrlmode);
+                        parameters.Add("mtrlmode", request.mtrlmode);
                     }
 
                     if (!string.IsNullOrEmpty(request.mtrlsectype))
                     {
-                        parameters.Add("@mtrlsectype", request.mtrlsectype);
+                        parameters.Add("mtrlsectype", request.mtrlsectype);
                     }
 
                     if (!string.IsNullOrEmpty(request.zxmtrlmode))
                     {
-                        parameters.Add("@zxmtrlmode", request.zxmtrlmode);
+                        parameters.Add("zxmtrlmode", request.zxmtrlmode);
                     }
 
                     if (!string.IsNullOrEmpty(request.usermtrlmode))
                     {
-                        parameters.Add("@usermtrlmode", request.usermtrlmode);
+                        parameters.Add("usermtrlmode", request.usermtrlmode);
                     }
 
                     if (!string.IsNullOrEmpty(request.plancode))
                     {
-                        parameters.Add("@plancode", request.plancode);
+                        parameters.Add("plancode", request.plancode);
+                    }
+
+                    if (request.pageindex > 0)
+                    {
+                        parameters.Add("pageindex", request.pageindex);
+                    }
+
+                    if (request.pagesize > 0)
+                    {
+                        parameters.Add("pagesize", request.pagesize);
                     }
                 }
 

+ 59 - 1
JLHHJSvr/Excutor/GetMattressInterfaceListExcutor.cs

@@ -40,6 +40,9 @@ namespace JLHHJSvr.Excutor
 	                                ,u_mattress.erp_configcodetype
 	                                ,u_mattress.mattresscode
 	                                ,u_mattress.mattressrelcode
+                                    ,mattress_width
+									,mattress_length
+									,mattress_height
 	                                ,erp_mtrltypeid
 	                                ,erp_mtrlcode
 	                                ,erp_mtrlname
@@ -60,6 +63,13 @@ namespace JLHHJSvr.Excutor
                 using (var reader = cmd.ExecuteReader()) 
                 {
                     if (reader.Read()) {
+
+                        var _mtrlmode = Convert.ToString(reader["erp_mtrlmode"]);
+                        if (string.IsNullOrEmpty(_mtrlmode))
+                        {
+                            _mtrlmode = Convert.ToInt32(reader["mattress_width"]) + "*" + Convert.ToInt32(reader["mattress_length"]) + "*" + Convert.ToInt32(reader["mattress_height"]);
+                        }
+
                         rslt.mattress = new u_mattress()
                         {
                             mattressid = request.mattressid.Value,
@@ -72,7 +82,7 @@ namespace JLHHJSvr.Excutor
                             erp_mtrltypeid = Convert.ToInt32(reader["erp_mtrltypeid"]),
                             erp_mtrlcode = Convert.ToString(reader["erp_mtrlcode"]),
                             erp_mtrlname = Convert.ToString(reader["erp_mtrlname"]),
-                            erp_mtrlmode = Convert.ToString(reader["erp_mtrlmode"]),
+                            erp_mtrlmode = _mtrlmode,
                             erp_mtrlunit = Convert.ToString(reader["erp_mtrlunit"]),
                             erp_mtrlengname = Convert.ToString(reader["erp_mtrlengname"]),
                             erp_mtrltype = Convert.ToString(reader["erp_mtrltype"]),
@@ -81,6 +91,54 @@ namespace JLHHJSvr.Excutor
                     }
                 }
 
+                if(request.isEdit == 1)
+                {
+                    if (rslt.mattress.erp_configcodetype <= 0)
+                    {
+                        cmd.CommandText = @"SELECT CASE
+                                            WHEN itemvalue > 0 THEN itemvalue
+                                            ELSE(
+                                                SELECT itemvalue
+                                                FROM sys_user_filestring
+                                                WHERE empid = 0
+                                                    AND dwname = @dwname 
+                                                    AND itemname = @itemname
+                                            )
+                                        END AS itemvalue
+                                        FROM sys_user_filestring
+                                    WHERE dwname = @dwname 
+                                        AND itemname = @itemname
+                                        AND empid = @empid";
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@empid", tokendata.empid);
+                        cmd.Parameters.AddWithValue("@dwname", "dw_mattress_interface_yw_edit");
+                        cmd.Parameters.AddWithValue("@itemname", "erp_configcodetype");
+                        using (var readerItem = cmd.ExecuteReader())
+                        {
+                            if (readerItem.Read())
+                            {
+                                rslt.mattress.erp_configcodetype = Convert.ToInt32(readerItem["itemvalue"]);
+                            }
+                        }
+                    }
+
+                    if (rslt.mattress.erp_mtrltypeid <= 0)
+                    {
+                        cmd.CommandText = @"SELECT itemvalue FROM sys_user_filestring WHERE dwname = @dwname AND itemname = @itemname AND empid = @empid";
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@empid", tokendata.empid);
+                        cmd.Parameters.AddWithValue("@dwname", "dw_mattress_interface_yw_edit");
+                        cmd.Parameters.AddWithValue("@itemname", "mtrltypeid");
+                        using (var readerItem = cmd.ExecuteReader())
+                        {
+                            if (readerItem.Read())
+                            {
+                                rslt.mattress.erp_mtrltypeid = Convert.ToInt32(readerItem["itemvalue"]);
+                            }
+                        }
+                    }
+                }
+
                 var interfaceHelper = HelperBase.GetHelper<InterfaceHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
 
                 var interfaceList = interfaceHelper.GetMattressInterfaceList(request.mattressid.Value);

+ 61 - 13
JLHHJSvr/Helper/InterfaceHelper.cs

@@ -1,4 +1,5 @@
-using JLHHJSvr.BLL;
+using DirectService.Tools;
+using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
 using JLHHJSvr.Com.Model;
 using JLHHJSvr.LJException;
@@ -321,16 +322,60 @@ namespace JLHHJSvr.Helper
         }
         public void MattressInterfaceFindERPPz(u_mattress mattress,List<u_mattress_interface> interfaceList)
         {
+            var resultList = new List<erp_configure_code>();
             var typeList = new List<erp_configure_code>();
-            foreach(var item in  interfaceList)
+            foreach (var item in interfaceList)
             {
-                typeList.Add(new erp_configure_code() { typeid = mattress.erp_configcodetype,name = item.bj_pzname });
+                typeList.Add(new erp_configure_code() { typeid = mattress.erp_configcodetype, name = item.bj_pzname });
+            }
+
+            var configure_Type = new u_configure_type() { contfigtypeid = mattress.erp_configcodetype };
+            if (DbSqlHelper.SelectOne(cmd, configure_Type, "contfigtypeid") == 1)
+            {
+                var names = new List<string>();
+                foreach (var item in typeList)
+                {
+                    if (!names.Contains(item.name))
+                    {
+                        names.Add(item.name);
+                    }
+                }
+
+                // 查询核价系统的配置资料定义
+                cmd.CommandText = @"SELECT u_configure_code.pzid
+	                                    ,u_configure_code.pzcode
+	                                    ,u_configure_code.name
+	                                    ,u_configure_code.inputtype
+                                    FROM u_configure_code
+                                    WHERE u_configure_code.typeid = @configcodetype
+	                                    AND u_configure_code.name IN (@pzname)";
+                cmd.Parameters.Clear();
+                cmd.Parameters.AddWithValue("@configcodetype", mattress.erp_configcodetype);
+                cmd.Parameters.AddWithValue("@pzname", ListEx.getString(names));
+                using (var reader = cmd.ExecuteReader())
+                {
+                    while (reader.Read())
+                    {
+                        var item = new erp_configure_code()
+                        {
+                            pzid = Convert.ToInt32(reader["pzid"]),
+                            pzcode = Convert.ToString(reader["pzcode"]),
+                            name = Convert.ToString(reader["name"]),
+                            inputtype = Convert.ToInt32(reader["inputtype"])
+                        };
+                        resultList.Add(item);
+                    }
+                }
+            }
+            else
+            {
+                // 查询L1部件选配
+                var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
+                var parameters = new JObject();
+                parameters.Add("typeList", JToken.FromObject(typeList));
+                resultList = erpHelper.GetERPList<erp_configure_code>("GetL1ConfigureCode", parameters);
             }
 
-            var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
-            var parameters = new JObject();
-            parameters.Add("typeList", JToken.FromObject(typeList));
-            var resultList = erpHelper.GetERPList<erp_configure_code>("GetL1ConfigureCode", parameters);
 
             for (var i = 0; i < interfaceList.Count; i++)
             {
@@ -338,14 +383,17 @@ namespace JLHHJSvr.Helper
 
                 foreach (var result in resultList) 
                 {
-                    if (result.pzid > 0)
+                    if (interfaceList[i].erp_pzname == result.name)
                     {
-                        interfaceList[i].erp_pzid = result.pzid;
-                        interfaceList[i].erp_pzcode = result.pzcode;
-                        interfaceList[i].erp_pzname = result.name;
-                    }
+                        if (result.pzid > 0)
+                        {
+                            interfaceList[i].erp_pzid = result.pzid;
+                            interfaceList[i].erp_pzcode = result.pzcode;
+                            interfaceList[i].erp_pzname = result.name;
+                        }
 
-                    if (interfaceList[i].bj_inputtype != 2) interfaceList[i].bj_inputtype = result.inputtype;
+                        if (interfaceList[i].bj_inputtype != 2) interfaceList[i].bj_inputtype = result.inputtype;
+                    }
                 }
             }
         }

Dosya farkı çok büyük olduğundan ihmal edildi
+ 14 - 4
JLHHJSvr/Helper/MattressHelper.cs