Przeglądaj źródła

核价系统: 1、取消床垫大小单类型保存,统一使用标准计算显示
2、修复副规格业务下单等操作异常问题
3、兼容大部分旧床网单据中多区识别问题

chen_yjin 15 godzin temu
rodzic
commit
106066589f

+ 5 - 4
JLHHJSvr/Excutor/GetComputeBednetExcutor.cs

@@ -65,10 +65,11 @@ namespace JLHHJSvr.Excutor
 
                 // 初始化属性
                 AutoInit.AutoInitS(cmd, request.bednet);
-                if (request.dannum_type > 0)
-                {
-                    request.bednet.dannum_type = request.dannum_type;
-                }
+                //if (request.dannum_type > 0)
+                //{
+                    // 默认只计算标准
+                    request.bednet.dannum_type = 2;
+                //}
 
                 foreach(var mx in request.bednetMx)
                 {

+ 9 - 4
JLHHJSvr/Excutor/GetComputeSpringExcutor.cs

@@ -83,10 +83,15 @@ namespace JLHHJSvr.Excutor
                     _bednet.pricelistid = request.bednet.pricelistid;
                     request.bednetMx = helper.GetBedNetMxList(request.bednet.bednetid.Value);
 
-                    if (request.bednetMx[0].if_part.Value > 0)
-                    {
-                        springList = helper.GetBedNetSpringList(request.bednet.bednetid.Value);
-                    }
+                }
+
+                if (request.spring.Count > 0)
+                {
+                    springList = request.spring;
+                }
+                else if (request.bednetMx[0].if_part.Value > 0)
+                {
+                    springList = helper.GetBedNetSpringList(request.bednet.bednetid.Value);
                 }
 
                 // 初始化属性

+ 9 - 9
JLHHJSvr/Excutor/SaveMattressAuditingExcutor.cs

@@ -47,15 +47,15 @@ namespace JLHHJSvr.Excutor
                                 rslt.ErrMsg = "查找报价单据失败:" + itemid;
                                 return;
                             }
-                            if (mattressInfo.parentid > 0)
-                            {
-                                mattressInfo = new u_mattress() { mattressid = mattressInfo.parentid.Value };
-                                if (DbSqlHelper.SelectOne(cmd, mattressInfo, "flag, xd_flag, parentid") != 1)
-                                {
-                                    rslt.ErrMsg = "查找报价单据失败:" + itemid;
-                                    return;
-                                }
-                            }
+                            //if (mattressInfo.parentid > 0)
+                            //{
+                            //    mattressInfo = new u_mattress() { mattressid = mattressInfo.parentid.Value };
+                            //    if (DbSqlHelper.SelectOne(cmd, mattressInfo, "flag, xd_flag, parentid") != 1)
+                            //    {
+                            //        rslt.ErrMsg = "查找报价单据失败:" + itemid;
+                            //        return;
+                            //    }
+                            //}
 
                             if (!mattressDic.ContainsKey(mattressInfo.mattressid))
                             {

+ 23 - 7
JLHHJSvr/Helper/BedNetHelper.cs

@@ -1211,7 +1211,7 @@ namespace JLHHJSvr.Helper
             AddKeyValue("排列长", spring.arrangement_height == null ? 0 : spring.arrangement_height);
             AddKeyValue("弹簧类型id", spring.springtypeid);
         }
-        private void InitReplaceMents(u_bednet bednet, Boolean isCalBed = true, int dannumType = 1, decimal dannumRate = 0)
+        private void InitReplaceMents(u_bednet bednet, Boolean isCalBed = true, int dannumType = 2, decimal dannumRate = 0)
         {
             replacements.Clear();
 
@@ -1265,7 +1265,7 @@ namespace JLHHJSvr.Helper
             }
             else
             {
-                _dannumType = bednet.dannum_type != null ? bednet.dannum_type.Value : 0;
+                _dannumType = bednet.dannum_type != null ? bednet.dannum_type.Value : 2;
             }
             AddKeyValue("大小单类型", _dannumType);
             // 实时获取变量
@@ -2088,15 +2088,31 @@ namespace JLHHJSvr.Helper
             if (bednetMx.if_part == 1 && springList.Count > 0)
             {
 
-                if (string.IsNullOrEmpty(bednet.duo_qv_str))
+                if (!new List<string> { "3", "5", "7", "三", "三区", "五", "五区", "七", "七区" }.Contains(bednet.duo_qv_str))
                 {
                     throw new LJCommonException("主规格的床网多区设置有误,请重新设置");
                     return;
                 }
-                var outputFields = @"u_bednet_area.areaid, u_bednet_area.areaname, u_bednet_area.area_1, u_bednet_area.area_2, u_bednet_area.area_3, u_bednet_area.area_4, u_bednet_area.area_5, u_bednet_area.area_6, u_bednet_area.area_7, u_bednet_area.area_8, u_bednet_area.area_9, u_bednet_area.area_10, u_bednet_area.area_11, u_bednet_area.area_12, u_bednet_area.area_13, u_bednet_area.area_14, u_bednet_area.area_15
-                                ,u_bednet_area.sponge_1 ,u_bednet_area.sponge_2 ,u_bednet_area.sponge_3 ,u_bednet_area.sponge_4 ,u_bednet_area.sponge_5 ,u_bednet_area.sponge_6 ,u_bednet_area.sponge_7 ,u_bednet_area.sponge_8 ,u_bednet_area.sponge_9 ,u_bednet_area.sponge_10 ,u_bednet_area.sponge_11 ,u_bednet_area.sponge_12 ,u_bednet_area.sponge_13 ,u_bednet_area.sponge_14 ,u_bednet_area.sponge_15";
-                var bedentArea = new u_bednet_area() { areaid = Convert.ToInt32(bednet.duo_qv_str) };
-                if (DbSqlHelper.SelectOne(cmd, bedentArea, outputFields) == 0) {
+
+                var _duoQty = bednet.duo_qv_str;
+                if (new List<string> { "三", "三区" }.Contains(bednet.duo_qv_str))
+                {
+                    _duoQty = "3";
+                } 
+                else if (new List<string> { "五", "五区" }.Contains(bednet.duo_qv_str))
+                {
+                    _duoQty = "5";
+                }
+                else if (new List<string> { "七", "七区" }.Contains(bednet.duo_qv_str))
+                {
+                    _duoQty = "7";
+                }
+
+                var _areaid = Convert.ToInt32(_duoQty);
+
+                var bedentArea = GetBedNetArea(_areaid);
+
+                if (bedentArea.area_1 == null) {
                     // 无匹配终止
                     throw new LJCommonException("主规格的床网多区设置有误,请重新设置");
                     return;

+ 3 - 1
JLHHJSvr/Helper/MattressHelper.cs

@@ -2188,7 +2188,9 @@ namespace JLHHJSvr.Helper
         public void MattressCalculateCost(u_mattress mattress, List<u_mattress_mx_mtrl> mattressMx, List<u_mattress_mx_extra> extraProcesses, List<u_mattress_mx_extra> extraCosts)
         {
             // 没有输入默认按标准计算
-            if (mattress.dannum_type == null || mattress.dannum_type == 0) mattress.dannum_type = 2;
+            //if (mattress.dannum_type == null || mattress.dannum_type == 0) 
+            // 20250703:默认只保存标准的单据
+            mattress.dannum_type = 2;
             // 作为记录不含税出厂价、部门含税价的各个大小单价格的载体
             var _mattressMain = ObjectHelper.DeepCopy(mattress);
             try