Browse Source

核价后台: 1、生成清单时,优化上下、左右拼侧的半成品名称

chen_yjin 1 week ago
parent
commit
ba00523ba4

+ 4 - 4
JLHHJSvr/DataStore/web_mattress.xml

@@ -157,10 +157,10 @@
 		<field field="nottax_dept_cost" datatype="number">部门不含税价</field>
 		<field field="taxes" datatype="number">税金</field>
 		<field field="dept_cost" datatype="number">部门含税价</field>
-		<field field="dannum_cost1" datatype="number">散单金额</field>
-		<field field="dannum_cost2" datatype="number">标准金额</field>
-		<field field="dannum_cost3" datatype="number">大单金额</field>
-		<field field="dannum_cost4" datatype="number">小单金额</field>
+		<field field="dannum_cost1" datatype="number" usermode_notequals="1">散单金额</field>
+		<field field="dannum_cost2" datatype="number" usermode_notequals="1">标准金额</field>
+		<field field="dannum_cost3" datatype="number" usermode_notequals="1">大单金额</field>
+		<field field="dannum_cost4" datatype="number" usermode_notequals="1">小单金额</field>
 		<field field="foreign_cost" datatype="number">外币价</field>
 		<field field="packtype">包装方式</field>
 		<field field="cabinet_type" width="100">柜型</field>

+ 2 - 2
JLHHJSvr/DataStore/web_mattress_mx.xml

@@ -66,11 +66,11 @@
 			inner join u_bednet_type ON u_bednet_type.bednettypeid = u_bednet.bednettypeid
 		) as vv_bednet ON vv_bednet.bednetid = u_mattress_mx_mtrl.mtrlid
 		Left OUTER JOIN (
-			SELECT top 1 u_bednetmx.bednetid,
+			SELECT u_bednetmx.bednetid,
 			u_bednetmx.spring_qty_width,
 			u_bednetmx.spring_qty_length
 			FROM u_bednetmx 
-		) as vv_bednetmx ON vv_bednet.bednetid = u_mattress_mx_mtrl.mtrlid
+		) AS vv_bednetmx ON vv_bednetmx.bednetid = u_mattress_mx_mtrl.mtrlid 
 	</selectstr>
 	<where>
 		<when notnull="@arg_mattressid">

+ 44 - 10
JLHHJSvr/Excutor/CreatPrdPfExcutor.cs

@@ -107,22 +107,33 @@ namespace JLHHJSvr.Excutor
 
                     var bcpNames = new Dictionary<string, string> { };
                     var bcpDscrp = new Dictionary<string, string> { };
+                    // 上下、左右拼侧
+                    var bcpJoinNames = new Dictionary<string, string> { };
+                    var bcpJoinDscrp = new Dictionary<string, string> { };
                     foreach (var mx in mattress_interface_qd_list)
                     {
-                        if (!string.IsNullOrEmpty(mx.wip_type) && !string.IsNullOrEmpty(mx.bj_pzname_mx_mx) && !bcpNames.ContainsKey(mx.wip_type))
+                        var _name = mx.bj_pzname_mx_mx;
+                        var interfaceL = interfaceList.Where(o => _name == o.bj_namemx && mx.bj_pzname == o.bj_pzname).ToList();
+                        if (interfaceL.Count > 0)
+                        {
+                            _name = interfaceL[0].bj_namemx;
+                            if (!string.IsNullOrEmpty(interfaceL[0].actual_size)) _name += " + " + interfaceL[0].actual_size;
+                            if (!string.IsNullOrEmpty(interfaceL[0].sb_craft)) _name += " + " + interfaceL[0].sb_craft;
+                            if (!string.IsNullOrEmpty(interfaceL[0].actual_size_sb)) _name += " + " + interfaceL[0].actual_size_sb;
+                            if (interfaceL[0].ss_rate != null && interfaceL[0].ss_rate > 0) _name += " + " + interfaceL[0].ss_rate;
+                            if (interfaceL[0].ls_rate != null && interfaceL[0].ls_rate > 0) _name += " + " + interfaceL[0].ls_rate;
+                        }
+                        if (mx.bj_pzname.Contains("上下") || mx.bj_pzname.Contains("左右"))
                         {
-                            var _name = mx.bj_pzname_mx_mx;
-                            var interfaceL = interfaceList.Where(o => _name == o.bj_namemx && mx.bj_pzname == o.bj_pzname).ToList();
-                            if (interfaceL.Count > 0)
+                            if (!string.IsNullOrEmpty(mx.wip_type) && !string.IsNullOrEmpty(mx.bj_pzname_mx_mx) && !bcpJoinNames.ContainsKey(mx.wip_type + "&" + mx.bj_pzname))
                             {
-                                _name = interfaceL[0].bj_namemx;
-                                if (!string.IsNullOrEmpty(interfaceL[0].actual_size)) _name += " + " + interfaceL[0].actual_size;
-                                if (!string.IsNullOrEmpty(interfaceL[0].sb_craft)) _name += " + " + interfaceL[0].sb_craft;
-                                if (!string.IsNullOrEmpty(interfaceL[0].actual_size_sb)) _name += " + " + interfaceL[0].actual_size_sb;
-                                if (interfaceL[0].ss_rate != null && interfaceL[0].ss_rate > 0) _name += " + " + interfaceL[0].ss_rate;
-                                if (interfaceL[0].ls_rate != null && interfaceL[0].ls_rate > 0) _name += " + " + interfaceL[0].ls_rate;
+                                bcpJoinNames.Add(mx.wip_type + "&" + mx.bj_pzname, _name);
+                                bcpJoinDscrp.Add(mx.wip_type + "&" + mx.bj_pzname, mx.bj_pzname_mx_mx);
                             }
+                        }
 
+                        if (!string.IsNullOrEmpty(mx.wip_type) && !string.IsNullOrEmpty(mx.bj_pzname_mx_mx) && !bcpNames.ContainsKey(mx.wip_type))
+                        {
                             bcpNames.Add(mx.wip_type, _name);
                             bcpDscrp.Add(mx.wip_type, mx.bj_pzname_mx_mx);
                         }
@@ -150,11 +161,34 @@ namespace JLHHJSvr.Excutor
                         if (!string.IsNullOrEmpty(mx.wip_type) && bcpNames.ContainsKey(mx.wip_type) && !string.IsNullOrEmpty(bcpNames[mx.wip_type]))
                         {
                             _name = bcpNames[mx.wip_type];
+
+                            List<string> _nameBjArr = new List<string> { };
+                            foreach(var bJitem in bcpJoinNames)
+                            {
+                                string[] bNames = bJitem.Key.Split('&');
+                                if (bNames[0] == mx.wip_type)
+                                {
+                                    _nameBjArr.Add(bJitem.Value);
+                                }
+                            }
+                            if (_nameBjArr.Count > 0)
+                            {
+                                _name = string.Join(" + ", _nameBjArr);
+                            }
                         }
                         var _dscrp = mx.bj_pzname_mx_mx;
                         if (!string.IsNullOrEmpty(mx.wip_type) && bcpDscrp.ContainsKey(mx.wip_type) && !string.IsNullOrEmpty(bcpDscrp[mx.wip_type]))
                         {
                             _dscrp = bcpDscrp[mx.wip_type];
+                            foreach (var bJitem in bcpJoinDscrp)
+                            {
+                                string[] bNames = bJitem.Key.Split('&');
+                                if (bNames[0] == mx.wip_type && bNames[1] == mx.bj_pzname)
+                                {
+                                    _dscrp = bJitem.Value;
+                                    break;
+                                }
+                            }
                         }
 
                         string ls_azcode = i.ToString("D3");