瀏覽代碼

1、修正覆盖主规格配置到副规格逻辑
2、修正刷新配置获取床网错误问题

MY 17 小時之前
父節點
當前提交
e99d3f7530

+ 1 - 1
JLHHJSvr/Com/Model/u_mattress_interface.cs

@@ -6,7 +6,7 @@ using System.Text;
 
 namespace JLHHJSvr.Com.Model
 {
-    [PK(new[] { "mattressid", "printid" })]
+    [PK(new[] { "mattressid,printid"})]
     public sealed class u_mattress_interface
     {
         public int? mattressid { get; set; }

+ 1 - 0
JLHHJSvr/Com/RefreshMattressInterface.cs

@@ -21,6 +21,7 @@ namespace JLHHJSvr.Com
         /// 单据id
         /// </summary>
         public int? mattressid { get; set; }
+        public int? mattressid_fu { get; set; }
         /// <summary>
         /// 当前选择的分类id
         /// </summary>

+ 74 - 9
JLHHJSvr/Excutor/CoverMattressInterfaceExcutor.cs

@@ -48,16 +48,15 @@ namespace JLHHJSvr.Excutor
 
                 var mainDict = new Dictionary<int, List<u_mattress_interface>> ();
 
+                bool isUpdateMain = false;
                 foreach(var mattress in request.list)
                 {
-                    DbSqlHelper.SelectOne(cmd, mattress, "erp_configcodetype,parentid");
+                    DbSqlHelper.SelectOne(cmd, mattress, "mattress_width,mattress_length,mattress_height,mattressname,erp_mtrlmode,erp_mtrlname,erp_mtrltypeid,erp_configcodetype,erp_mtrlunit,parentid");
+                    
                     if (!mainDict.ContainsKey(mattress.parentid.Value))
                     {
-                        var interfacelist = new List<u_mattress_interface>();
-                        mainDict.Add(mattress.parentid.Value, interfacelist);
-
                         // 获取主规格床垫的配置
-                        interfacelist = interfaceHelper.GetMattressInterfaceList(mattress.parentid.Value,0);
+                        mainDict.Add(mattress.parentid.Value, interfaceHelper.GetMattressInterfaceList(mattress.parentid.Value, 0));
                     }
                 }
 
@@ -67,17 +66,83 @@ namespace JLHHJSvr.Excutor
                     {
                         foreach (var mattress in request.list)
                         {
+                            isUpdateMain = false;
+
+                            if (string.IsNullOrEmpty(mattress.erp_mtrlmode))
+                            {
+                                mattress.erp_mtrlmode = mattress.mattress_width + "*" + mattress.mattress_length + "*" + mattress.mattress_height;
+                                isUpdateMain = true;
+                            }
+
+                            if (string.IsNullOrEmpty(mattress.erp_mtrlname))
+                            {
+                                mattress.erp_mtrlname = mattress.mattressname;
+                                isUpdateMain = true;
+                            }
+
+                            if (mattress.erp_configcodetype <= 0)
+                            {
+                                cmd.CommandText = @"SELECT TOP 1 u_configure_type.contfigtypeid
+	                                    ,u_configure_type.contfigtypename
+	                                    ,u_configure_type.contfigtype
+	                                    ,u_configure_type.usechflag
+	                                    ,u_configure_type.flag
+	                                    ,u_configure_type.auditemp
+	                                    ,u_configure_type.auditdate
+                                    FROM u_configure_type";
+                                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())
+                                    {
+                                        mattress.erp_configcodetype = Convert.ToInt32(readerItem["contfigtypeid"]);
+                                    }
+                                }
+                                isUpdateMain = true;
+                            }
+
+                            if (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())
+                                    {
+                                        mattress.erp_mtrltypeid = Convert.ToInt32(readerItem["itemvalue"]);
+                                    }
+                                }
+                                isUpdateMain = true;
+                            }
+
+                            if (mattress.erp_mtrlunit == "")
+                            {
+                                mattress.erp_mtrlunit = "张";
+                                isUpdateMain = true;
+                            }
+
+                            if(isUpdateMain)
+                            {
+                                DbSqlHelper.Update(cmd, mattress, "erp_mtrlmode,erp_mtrlname,erp_mtrltypeid,erp_configcodetype,erp_mtrlunit");
+                            }
+
                             var copy_list = new List<u_mattress_interface>();
                             if (mainDict.TryGetValue(mattress.parentid.Value, out var parentlist))
                             {
+                                bool isExist = DbSqlHelper.SelectCount(cmd, "u_mattress_interface", "mattressid = @mattressid", new Dictionary<string, object>() { { "@mattressid", mattress.mattressid } }) > 0;
+                                
                                 // 获取副规格床垫的配置
-                                copy_list = interfaceHelper.GetMattressInterfaceList(mattress.mattressid, 0);
+                                copy_list = interfaceHelper.GetMattressInterfaceList(mattress.mattressid, mattress.erp_configcodetype);
 
                                 var copyDict = parentlist.Where(mx2 => mx2.erp_pzid > 0)
                                         .ToDictionary(mx2 => mx2.erp_pzid, mx2 => mx2);
 
-                                bool isUpdate = DbSqlHelper.SelectCount(cmd, "u_mattress_interface", "mattressid = @mattressid", new Dictionary<string, object>() { { "@mattressid", mattress.mattressid } }) > 0;
-
                                 foreach (var mx in copy_list)
                                 {
                                     if (mx.bj_inputtype == null) mx.bj_inputtype = 0;
@@ -88,7 +153,7 @@ namespace JLHHJSvr.Excutor
                                         mx.bj_inputtype = mx2.bj_inputtype;
                                     }
 
-                                    if(isUpdate)
+                                    if(isExist)
                                     {
                                         DbSqlHelper.Update(cmd, mx, "bj_inputtype,bj_namemx");
                                     } else

+ 23 - 0
JLHHJSvr/Excutor/RefreshMattressInterfaceExcutor.cs

@@ -9,6 +9,7 @@ using JLHHJSvr.Helper;
 using JLHHJSvr.LJException;
 using LJLib.DAL.SQL;
 using LJLib.Net.SPI.Server;
+using NPOI.OpenXmlFormats.Spreadsheet;
 
 namespace JLHHJSvr.Excutor
 {
@@ -52,6 +53,28 @@ namespace JLHHJSvr.Excutor
 	                            ,bj_inputtype
                             FROM u_mattress_interface";
                     DbSqlHelper.SelectJoin(cmd, selectStr, "mattressid = @mattressid", new Dictionary<string, object>() { { "@mattressid", request.mattressid } }, "printid", "mattressid,printid,itemname,bj_pzname,bj_namemx,actual_size,sb_craft,actual_size_sb,erp_pzid,ss_rate,ls_rate,bj_inputtype", 0, 0, copy_list);
+
+                    // 复制配置床网单独处理
+                    var mattressHelper = HelperBase.GetHelper<MattressHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
+                    var mattress = mattressHelper.GetMattress(request.mattressid_fu.Value);
+                    var mxlist = mattressHelper.GetMattressMxMtrl(request.mattressid_fu.Value, new List<string>() { "u_mattress_formula.formulatype IN (1)" });
+                    var cwInterfaceList = new List<u_mattress_interface>();
+                    interfaceHelper.AutoSetFormulaTypeOnePz(mxlist, cwInterfaceList);
+                    interfaceHelper.MattressInterfaceFindERPPz(request.mattressid_fu.Value, cwInterfaceList);
+                    // 
+                    var cwDict = new Dictionary<int, u_mattress_interface>();
+                    foreach(var cw in cwInterfaceList)
+                    {
+                        if (cw.erp_pzid > 0 && !cwDict.ContainsKey(cw.erp_pzid.Value)) cwDict.Add(cw.erp_pzid.Value, cw);
+                    }
+                    foreach (var copy in copy_list)
+                    {
+                        if(cwDict.TryGetValue(copy.erp_pzid.Value,out var mx) && copy.bj_pzname.Contains("床网"))
+                        {
+                            copy.bj_namemx = mx.bj_namemx;
+                        }
+                    }
+
                 } else
                 {
                     interfaceHelper.ImportMattressInterfaceList(request.mattressid.Value, copy_list);

+ 1 - 1
JLHHJSvr/Helper/InterfaceHelper.cs

@@ -728,7 +728,7 @@ namespace JLHHJSvr.Helper
                 }
             }
         }
-        private void AutoSetFormulaTypeOnePz(List<u_mattress_mx_mtrl> mxlist, List<u_mattress_interface> interfaceList)
+        public void AutoSetFormulaTypeOnePz(List<u_mattress_mx_mtrl> mxlist, List<u_mattress_interface> interfaceList)
         {
             var diancengList = mxlist.Where(t => t.formulatype == 1).ToList();
 

+ 1 - 0
JLHWEB/src/api/interface/index.ts

@@ -1302,6 +1302,7 @@ export namespace Mattress {
   }
   export interface ReqRefreshMattressInterface {
     mattressid: number;
+    mattressid_fu: number;
     isPz?: number;
     isCheck?: number;
     isEdit?: number;

+ 7 - 2
JLHWEB/src/views/erpapi/mattressInterface/detail.vue

@@ -797,7 +797,12 @@ const orderDefaultAction = [
     },
     clickFunc: item => {
       fModelChoseMattress("", { arg_parentid: 0 }).then((res: any) => {
-        RefreshMattressInterfaceList(res.mattressid, 1);
+        RefreshMattressInterfaceList(
+          res.mattressid,
+          1,
+          LjDetailRef.value?._mainData.erp_configcodetype,
+          LjDetailRef.value?._mainData.mattressid
+        );
       });
     }
   }),
@@ -1094,7 +1099,7 @@ const orderDefaultAction = [
       return "";
     },
     clickFunc: item => {
-      RefreshMattressInterfaceList(LjDetailRef.value?._mainData.parentid, 0, LjDetailRef.value?._mainData.erp_configcodetype);
+      RefreshMattressInterfaceList(LjDetailRef.value?._mainData.parentid, 1, LjDetailRef.value?._mainData.erp_configcodetype);
     }
   }),
   buttonDefault({

+ 7 - 2
JLHWEB/src/views/erpapi/mattressInterface/hooks/index.tsx

@@ -1874,8 +1874,13 @@ export const useHooks = (t?: any) => {
    * @param mattressid 床垫ID
    * @param isPz 类型 0 - 刷新 1 - 复制 2 - 重新生成
    */
-  const RefreshMattressInterfaceList = async (mattressid: number, isPz: number, configcodetype: number = 0) => {
-    let res = await RefreshMattressInterface({ mattressid, isPz: isPz, configcodetype });
+  const RefreshMattressInterfaceList = async (
+    mattressid: number,
+    isPz: number,
+    configcodetype: number = 0,
+    mattressid_fu: number = 0
+  ) => {
+    let res = await RefreshMattressInterface({ mattressid, isPz: isPz, configcodetype, mattressid_fu });
 
     const $table = state.YwTableRef?.element;
     let { visibleData } = $table.getTableData();