Explorar o código

1、床垫报价-重算报价,有特殊工艺费用的辅料自动加到工艺费用
2、床垫报价-修复增加辅料,自动清空工艺费用问题
3、床网报价-圆网和拉丝网不需要自动排列
4、床垫清单-床垫配置特殊处理存在"打钮钮扣""气钮"字的辅料

iggy hai 2 días
pai
achega
61ddf9bdea

+ 3 - 0
JLHHJSvr/Excutor/ReCalculateERPCostExcutor.cs

@@ -71,6 +71,9 @@ namespace JLHHJSvr.Excutor
                             var mxExtra1List = helper.GetMattressMxExtra(mattress.mattressid, 1);
                             var mxExtra2List = helper.GetMattressMxExtra(mattress.mattressid, 2);
                             var subspecsList = helper.GetMattressSubspecs(mattress.mattressid);
+
+                            helper.InitMattressExtra(mxList, mxExtra1List);
+
                             try
                             {
                                 helper.MattressCalculateCost(mattress_temp, mxList, mxExtra1List, mxExtra2List);

+ 1 - 1
JLHHJSvr/Helper/InterfaceHelper.cs

@@ -885,7 +885,7 @@ namespace JLHHJSvr.Helper
                         mx.erp_mtrlid = mtrldef.erp_mtrlid;
                     }
                     // 处理特殊辅料
-                    if (specialSet.Contains(mx.mtrlname))
+                    if (specialSet.Any(x => mx.mtrlname.Contains(x)))
                     {
                         interfaceList.Add(InserMattressInterfacePz("辅料", $"{mx.mtrlname}", 1, new string[] { $"{cnt.ToString("#,##0.0#")}个" }));
                         continue; // 跳过后续的处理

+ 63 - 1
JLHHJSvr/Helper/MattressHelper.cs

@@ -3160,7 +3160,11 @@ namespace JLHHJSvr.Helper
                 cmd.ExecuteNonQuery();
             }
         }
-
+        /// <summary>
+        /// 保存床垫检测
+        /// </summary>
+        /// <param name="mattress"></param>
+        /// <exception cref="LJCommonException"></exception>
         public void SaveMattressCheck(u_mattress mattress)
         {
             if (mattress == null) throw new LJCommonException("床垫报价保存失败,数据异常!");
@@ -3193,6 +3197,64 @@ namespace JLHHJSvr.Helper
                 }
             }
         }
+        /// <summary>
+        /// 初始化床垫保存自动生成特殊工艺
+        /// </summary>
+        /// <param name="mxlist"></param>
+        /// <param name="extraList"></param>
+        public void InitMattressExtra(List<u_mattress_mx_mtrl> mxlist, List<u_mattress_mx_extra> extraList)
+        {
+            var fuliaoList = mxlist.Where(t => t.formulatype.Value == 2).ToList();
+            if (fuliaoList.Count <= 0) return;
+            var mtrlList = new List<u_mtrldef>();
+            var mtrlids = fuliaoList.Select(t => t.mtrlid.Value).ToList();
+            if (mtrlids.Count <= 0) return;
+
+            var selectStr = @"SELECT u_mtrl_price.mtrlid
+                                    ,u_mtrl_price.if_subspecs
+                                    ,u_mtrl_price.extra_cost
+		                            ,u_mtrl_price.name
+	                            FROM u_mtrl_price";
+            var list = new List<u_mtrl_price>();
+            var whereList = new List<string>();
+            var parms = new Dictionary<string, object>();
+            whereList.Add($"u_mtrl_price.mtrlid IN {ListEx.getString(mtrlids)}");
+            whereList.Add($"u_mtrl_price.extra_cost <> 0");
+            var outputFields = "mtrlid,name,if_subspecs,extra_cost";
+            DbSqlHelper.SelectJoin(cmd, selectStr, ListEx.GetWhereStr(whereList), parms, "mtrlid", outputFields, 0,0, list);
+
+            foreach(var mtrl in list)
+            {
+                var matchItems = fuliaoList
+                    .Where(t => t != null &&
+                               !string.IsNullOrEmpty(t.mtrlname) &&
+                               !string.IsNullOrEmpty(mtrl.name) && t.mtrlname.Trim() == mtrl.name.Trim()).ToList();
+
+                var extra = new u_mattress_mx_extra()
+                {
+                    extraid = 5,
+                    extramxid = 0,
+                    extraname = mtrl.name,
+                    mattressid = 0,
+                    mattressmxid = 0,
+                    price = mtrl.extra_cost,
+                    qty = 0,
+                    dscrp = "",
+                    mtrlid = mtrl.mtrlid,
+                    typeid = 1,
+                    inputtype = 1
+                };
+
+                foreach (var mx in matchItems)
+                {
+                    extra.mattressid = mx.mattressid;
+                    extra.mattressmxid = mx.mattressmxid;
+                    extra.qty += mx.qty;
+                }
+                extraList.Add(extra);
+            }
+
+        }
         #endregion
 
         #region 公式计算通用方法

+ 1 - 0
JLHWEB/src/views/quote/bednetQuote/hooks/index.tsx

@@ -1840,6 +1840,7 @@ export const useHooks = (t?: any, props?: any) => {
       itm.if_hard_around = Number(itm.if_hard_around);
     });
 
+    if (_mainData.bednettypeid !== 11) return;
     let _params: any = {
       bednet: bednet,
       bednetMx: _bednetMx,

+ 1 - 1
JLHWEB/src/views/quote/mattressQuote/hooks/index.tsx

@@ -5910,7 +5910,7 @@ export const useHooks = (t?: any) => {
 
     let _remove = [];
     tgVisibleData.map(t => {
-      if (t.extraid == arg_extraid || mtrlItem.mtrlid == t?.mtrlid) {
+      if (t.extraid == arg_extraid && mtrlItem.mtrlid == t?.mtrlid) {
         _remove.push(t);
       }
     });