Bläddra i källkod

1、补充遗漏文件

MY 2 dagar sedan
förälder
incheckning
f716077e30

+ 26 - 0
JLHHJSvr/Com/CoverMattressInterface.cs

@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.Com.Model;
+using LJLib.Net.SPI.Com;
+
+namespace JLHHJSvr.Com
+{
+    public sealed class CoverMattressInterfaceRequest : ILJRequest<CoverMattressInterfaceResponse>
+    {
+        public override string GetApiName()
+        {
+            return "CoverMattressInterface";
+        }
+        public string token { get; set; }
+        /// <summary>
+        /// 床垫信息:主表
+        /// </summary>
+        public List<u_mattress> list { get; set; }
+    }
+
+    public sealed class CoverMattressInterfaceResponse : LJResponse
+    {
+    }
+}

+ 113 - 0
JLHHJSvr/Excutor/CoverMattressInterfaceExcutor.cs

@@ -0,0 +1,113 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.Com.Model;
+using JLHHJSvr.Helper;
+using JLHHJSvr.LJException;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+using NPOI.POIFS.Properties;
+using NPOI.SS.Formula.Functions;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class CoverMattressInterfaceExcutor : ExcutorBase<CoverMattressInterfaceRequest, CoverMattressInterfaceResponse>
+    {
+        protected override void ExcuteInternal(CoverMattressInterfaceRequest request, object state, CoverMattressInterfaceResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.list == null)
+            {
+                rslt.ErrMsg = "提交缺少列表参数,请检查!";
+                return;
+            }
+            if (!request.list.Any())
+            {
+                rslt.ErrMsg = "至少提交一条需要覆盖的记录";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                var helper = HelperBase.GetHelper<MattressHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
+                var interfaceHelper = HelperBase.GetHelper<InterfaceHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
+
+                var mainDict = new Dictionary<int, List<u_mattress_interface>> ();
+
+                foreach(var mattress in request.list)
+                {
+                    DbSqlHelper.SelectOne(cmd, mattress, "erp_configcodetype,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);
+                    }
+                }
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        foreach (var mattress in request.list)
+                        {
+                            var copy_list = new List<u_mattress_interface>();
+                            if (mainDict.TryGetValue(mattress.parentid.Value, out var parentlist))
+                            {
+                                // 获取副规格床垫的配置
+                                copy_list = interfaceHelper.GetMattressInterfaceList(mattress.mattressid, 0);
+
+                                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;
+
+                                    if (mx.erp_pzid > 0 && copyDict.TryGetValue(mx.erp_pzid, out var mx2) && (mx.bj_inputtype == 1 || mx.bj_inputtype == 0))
+                                    {
+                                        mx.bj_namemx = mx2.bj_namemx;
+                                        mx.bj_inputtype = mx2.bj_inputtype;
+                                    }
+
+                                    if(isUpdate)
+                                    {
+                                        DbSqlHelper.Update(cmd, mx, "bj_inputtype,bj_namemx");
+                                    } else
+                                    {
+                                        DbSqlHelper.Insert(cmd, mx, "mattressid,printid,itemname,bj_pzname,bj_namemx,actual_size,sb_craft,actual_size_sb,erp_pzid,bj_inputtype,ss_rate,ls_rate");
+                                    }
+                                }
+                            }
+                        }
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.Message;
+                    }
+                }
+            }
+        }
+    }
+}

+ 32 - 22
JLHHJSvr/Excutor/ReCalculateERPCostExcutor.cs

@@ -57,38 +57,48 @@ namespace JLHHJSvr.Excutor
                     if (dept.pricelistid <= 0) throw new LJCommonException("存在报价单部门pricelistid错误,不能重算!");
                 }
 
+                
                 using (cmd.Transaction = con.BeginTransaction())
                 {
-                    foreach (var mattress in request.list)
+                    try
                     {
-
-                        var mattress_temp = helper.GetMattress(mattress.mattressid);
-                        var mxList = helper.GetMattressMxMtrl(mattress.mattressid);
-                        var mxExtra1List = helper.GetMattressMxExtra(mattress.mattressid, 1);
-                        var mxExtra2List = helper.GetMattressMxExtra(mattress.mattressid, 2);
-                        var subspecsList = helper.GetMattressSubspecs(mattress.mattressid);
-                        try
+                        foreach (var mattress in request.list)
                         {
-                            helper.MattressCalculateCost(mattress_temp, mxList, mxExtra1List, mxExtra2List);
-                            helper.SaveMattress(mattress_temp, mxList, mxExtra1List, mxExtra2List);
 
-                            if(mattress_temp.erp_mtrlid > 0)
+                            var mattress_temp = helper.GetMattress(mattress.mattressid);
+                            var mxList = helper.GetMattressMxMtrl(mattress.mattressid);
+                            var mxExtra1List = helper.GetMattressMxExtra(mattress.mattressid, 1);
+                            var mxExtra2List = helper.GetMattressMxExtra(mattress.mattressid, 2);
+                            var subspecsList = helper.GetMattressSubspecs(mattress.mattressid);
+                            try
                             {
-                                string errmsg = l1Helper.SaveMtrldef(mattress_temp);
-                                if (!string.IsNullOrEmpty(errmsg)) throw new LJCommonException(errmsg);
-                            }
+                                helper.MattressCalculateCost(mattress_temp, mxList, mxExtra1List, mxExtra2List);
+                                helper.SaveMattress(mattress_temp, mxList, mxExtra1List, mxExtra2List);
 
-                            cmd.Transaction.Commit();
-                            log_sb.Append($"床垫唯一码:{mattress_temp.mattresscode}重算成功\r\n");
-                        }
-                        catch (Exception ex)
-                        {
-                            cmd.Transaction.Rollback();
-                            log_sb.Append($"床垫唯一码:{mattress_temp.mattresscode}重算失败\r\n");
+                                if (mattress_temp.erp_mtrlid > 0)
+                                {
+                                    string errmsg = l1Helper.SaveMtrldef(mattress_temp);
+                                    if (!string.IsNullOrEmpty(errmsg)) throw new LJCommonException(errmsg);
+                                }
+
+                                //cmd.Transaction.Commit();
+                                log_sb.Append($"床垫唯一码:{mattress_temp.mattresscode}重算成功\r\n");
+                            }
+                            catch (Exception ex)
+                            {
+                                //cmd.Transaction.Rollback();
+                                log_sb.Append($"床垫唯一码:{mattress_temp.mattresscode}重算失败\r\n");
+                            }
                         }
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception ex)
+                    {
+                        cmd.Transaction.Rollback();
                     }
 
-                    if(log_sb.Length > 0) rslt.logMsg = log_sb.ToString();
+                    if (log_sb.Length > 0) rslt.logMsg = log_sb.ToString();
                 }
             }
         }

+ 1 - 1
JLHWEB/.env.development

@@ -18,7 +18,7 @@ VITE_API_URL = /api
 # VITE_PROXY = [["/api","https://mock.mengxuegu.com/mock/648019ffa94cc2376cb365b9"]]
 # VITE_PROXY = [["/api","https://www.fastmock.site/mock/f81e8333c1a9276214bcdbc170d9e0a0"]]
 # VITE_PROXY = [["/api-easymock","https://mock.mengxuegu.com"],["/api-fastmock","https://www.fastmock.site"]]
-VITE_PROXY = [["/api","http://192.168.31.104:9076"]]
+VITE_PROXY = [["/api","http://127.0.0.1:9076"]]
 # VITE_PROXY = [["/api","http://172.20.10.4:8080"]]
 
 VITE_APP_VERSION = 24.27.1

+ 7 - 0
JLHWEB/src/api/modules/quote.ts

@@ -142,6 +142,13 @@ export const RefreshMattressInterfaceQd = (params: Mattress.ReqRefreshMattressIn
   return http.post<Mattress.ResRefreshMattressInterface>(PORT1 + `/RefreshMattressInterfaceQd`, params);
 };
 
+/**
+ * @name 床垫清单:覆盖配置到副规格产品
+ */
+export const CoverMattressInterface = (params: Mattress.ReqMultiMattressBcp) => {
+  return http.post(PORT1 + `/CoverMattressInterface`, params);
+};
+
 /**
  * @name 床垫清单:获取清单
  */