Browse Source

1、床垫报价,计算时生成大小散标四个结果及过程
2、床网报价新增大小单系数

chen_yjin 2 weeks ago
parent
commit
ba1a51d75c

+ 1 - 1
JLHHJSvr/Com/GetComputeMattress.cs

@@ -34,7 +34,7 @@ namespace JLHHJSvr.Com
         public List<replacement> replace { get; set; }
         public List<replacement> formulas { get; set; }
         public string message { get; set; }
-        public List<replacement> replace_origin { get; set; }
         public List<replacement> formulas_origin { get; set; }
+        public List<u_mattress_computed> differ { get; set; }
     }
 }

+ 5 - 0
JLHHJSvr/Com/Model/u_bednet.cs

@@ -196,6 +196,11 @@ namespace JLHHJSvr.Com.Model
         public int? pricelistid { get; set; }
         public string typename { get; set; }
         public int? copy_id { get; set; }
+        /// <summary>
+        /// 大小单类型,1:散单,2:标准,3:大单,4:小单
+        /// </summary>
+        public int? dannum_type { get; set; }
+        public decimal? dannum_rate { get; set; }
         #endregion
     }
 }

+ 4 - 0
JLHHJSvr/Com/Model/u_mattress.cs

@@ -173,6 +173,10 @@ namespace JLHHJSvr.Com.Model
         public string configcode { get; set; }
         public string configname { get; set; }
         public string model { get; set; }
+        /// <summary>
+        /// 大小单类型,1:散单,2:标准,3:大单,4:小单
+        /// </summary>
+        public int? dannum_type { get; set; }
         #endregion
     }
 }

+ 16 - 0
JLHHJSvr/Com/Model/u_mattress_computed.cs

@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Data.Common;
+using System.Linq;
+using System.Text;
+
+namespace JLHHJSvr.Com.Model
+{
+    public sealed class u_mattress_computed
+    {
+        public int type { get; set; }
+        public List<replacement> replace { get; set; }
+        public string message { get; set; }
+        public List<replacement> replace_origin { get; set; }
+    }
+}

+ 4 - 0
JLHHJSvr/Com/Model/u_mattress_mx_mtrl.cs

@@ -61,6 +61,10 @@ namespace JLHHJSvr.Com.Model
 
         public int? mattress_width { get; set; }
         public int? mattress_length { get; set; }
+        public decimal? dannum1_rate { get; set; }
+        public decimal? dannum2_rate { get; set; }
+        public decimal? dannum3_rate { get; set; }
+        public decimal? dannum4_rate { get; set; }
         #endregion
     }
 }

+ 17 - 0
JLHHJSvr/Com/Model/u_mtrltype.cs

@@ -29,6 +29,23 @@ namespace JLHHJSvr.Com.Model
         /// 父级id
         /// </summary>
         public int? parentid { get; set; }
+        /// <summary>
+        /// 损耗率:散单系数浮动数
+        /// </summary>
+        public decimal? dannum1_rate { get; set; }
+        /// <summary>
+        /// 损耗率:标准系数浮动数
+        /// </summary>
+        public decimal? dannum2_rate { get; set; }
+        /// <summary>
+        /// 损耗率:大单系数浮动数
+        /// </summary>
+        public decimal? dannum3_rate { get; set; }
+        /// <summary>
+        /// 损耗率:小单系数浮动数
+        /// </summary>
+        public decimal? dannum4_rate { get; set; }
+
 
     }
 }

+ 1 - 0
JLHHJSvr/DataStore/web_mattress.xml

@@ -27,6 +27,7 @@
 		chaizhuang_point,
 		haimian_point,
 		dannum_rate,
+		ISNULL(dannum_type, 1) AS dannum_type,
 		hrcost,
 		biandaicost,
 		zhizao_amt,

+ 38 - 14
JLHHJSvr/Excutor/GetComputeMattressExcutor.cs

@@ -3,6 +3,7 @@ using System.Collections.Generic;
 using System.Data.SqlClient;
 using System.Linq;
 using System.Text;
+using DirectService.Tools;
 using JLHHJSvr.BLL;
 using JLHHJSvr.Com;
 using JLHHJSvr.Com.Model;
@@ -57,31 +58,54 @@ namespace JLHHJSvr.Excutor
 
                 using (cmd.Transaction = con.BeginTransaction())
                 {
-
                     var helper = HelperBase.GetHelper<MattressHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
+                    var helperOld = HelperBase.GetHelper<MattressHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
 
-
-                    if (request.check_original == 1)
+                    try
                     {
-                        helper.CalCulateFormula(request.mattress, request.mattressMx, false, false);
-                        rslt.replace_origin = helper.Replacements;
+                        var differArr = new List<u_mattress_computed>();
+                        for (var i = 1; i < 5; i++)
+                        {
+                            var differItem = new u_mattress_computed();
+                            differItem.type = i;
+                            var _mattress = ObjectHelper.DeepCopy(request.mattress);
+                            if (request.mattress.dannum_type.Value == i)
+                            {
+                                helper.CalCulateFormula(_mattress, request.mattressMx, false);
+                                rslt.replace = helper.Replacements;
+                                rslt.formulas = helper.FormulaReplacements;
 
-                        rslt.formulas_origin = helper.FormulaReplacements;
-                    }
+                                differItem.replace = helper.Replacements;
+                            }
+                            else
+                            {
+                                _mattress.dannum_type = i;
 
-                    try
-                    {
-                        helper.CalCulateFormula(request.mattress, request.mattressMx, false);
-                        rslt.replace = helper.Replacements;
+                                helper.CalCulateFormula(_mattress, request.mattressMx, false);
+                                differItem.replace = helper.Replacements;
+                            }
+
+                            if (request.check_original == 1)
+                            {
+                                _mattress.dannum_type = i;
+
+                                helperOld.CalCulateFormula(_mattress, request.mattressMx, false, false);
+                                differItem.replace_origin = helperOld.Replacements;
+                                rslt.formulas_origin = helperOld.FormulaReplacements;
+                            }
+                            differArr.Add(differItem);
+                        }
+                        rslt.differ = differArr;
 
-                        rslt.formulas = helper.FormulaReplacements;
+                        //helper.CalCulateFormula(request.mattress, request.mattressMx, false);
+                        //rslt.replace = helper.Replacements;
+
+                        //rslt.formulas = helper.FormulaReplacements;
                     }
                     catch (Exception e)
                     {
                         rslt.message = e.Message;
                     }
-
-                    //rslt.mattress = request.mattress;
                 }
             }
         }

File diff suppressed because it is too large
+ 174 - 62
JLHHJSvr/Helper/BedNetHelper.cs


File diff suppressed because it is too large
+ 182 - 99
JLHHJSvr/Helper/MattressHelper.cs


+ 1 - 0
JLHHJSvr/JLHHJSvr.csproj

@@ -101,6 +101,7 @@
     <Compile Include="Com\CopyMtrlDef.cs" />
     <Compile Include="Com\DeleteMattressExtraType.cs" />
     <Compile Include="Com\DeleteMattressExtra.cs" />
+    <Compile Include="Com\Model\u_mattress_computed.cs" />
     <Compile Include="Com\Model\u_mattress_extra_type.cs" />
     <Compile Include="Com\Model\u_mattress_extra.cs" />
     <Compile Include="Com\Model\u_mattress_mx_extra.cs" />