Browse Source

新增部门,工厂利润率,工艺加点设置,床网类别定义,床垫类别定义,床垫公式定义相关接口

MY 6 tháng trước cách đây
mục cha
commit
d9b23f43b2
39 tập tin đã thay đổi với 2282 bổ sung4 xóa
  1. 29 0
      JLHHJSvr/Com/DeleteBedNetType.cs
  2. 29 0
      JLHHJSvr/Com/DeleteDept.cs
  3. 29 0
      JLHHJSvr/Com/DeleteMattressFormula.cs
  4. 29 0
      JLHHJSvr/Com/DeleteMattressType.cs
  5. 29 0
      JLHHJSvr/Com/DeleteWorkmanship.cs
  6. 194 0
      JLHHJSvr/Com/Model/u_bednet_type.cs
  7. 4 0
      JLHHJSvr/Com/Model/u_dept.cs
  8. 35 0
      JLHHJSvr/Com/Model/u_factory_profitrate.cs
  9. 76 0
      JLHHJSvr/Com/Model/u_mattress_formula.cs
  10. 106 0
      JLHHJSvr/Com/Model/u_mattress_type.cs
  11. 35 0
      JLHHJSvr/Com/Model/u_workmanship_add.cs
  12. 29 0
      JLHHJSvr/Com/SaveBedNetType.cs
  13. 29 0
      JLHHJSvr/Com/SaveDept.cs
  14. 26 0
      JLHHJSvr/Com/SaveMattressFormula.cs
  15. 26 0
      JLHHJSvr/Com/SaveMattressType.cs
  16. 29 0
      JLHHJSvr/Com/SaveProfitrate.cs
  17. 29 0
      JLHHJSvr/Com/SaveWorkmanship.cs
  18. 299 0
      JLHHJSvr/DataStore/_Mapper_formulakind.xml
  19. 12 0
      JLHHJSvr/DataStore/_Mapper_pricelist.xml
  20. 92 0
      JLHHJSvr/DataStore/web_bednet_typelist.xml
  21. 46 0
      JLHHJSvr/DataStore/web_deptlist.xml
  22. 26 0
      JLHHJSvr/DataStore/web_factory_profitratelist.xml
  23. 42 0
      JLHHJSvr/DataStore/web_mattress_formulalist.xml
  24. 64 0
      JLHHJSvr/DataStore/web_mattress_typelist.xml
  25. 28 0
      JLHHJSvr/DataStore/web_workmanshiplist.xml
  26. 54 0
      JLHHJSvr/Excutor/DeleteBedNetTypeExcutor.cs
  27. 54 0
      JLHHJSvr/Excutor/DeleteDeptExcutor.cs
  28. 54 0
      JLHHJSvr/Excutor/DeleteMattressFormulaExcutor.cs
  29. 54 0
      JLHHJSvr/Excutor/DeleteMattressTypeExcutor.cs
  30. 54 0
      JLHHJSvr/Excutor/DeleteWorkmanshipExcutor.cs
  31. 98 0
      JLHHJSvr/Excutor/SaveBedNetTypeExcutor.cs
  32. 96 0
      JLHHJSvr/Excutor/SaveDeptExcutor.cs
  33. 81 0
      JLHHJSvr/Excutor/SaveMattressFormulaExcutor.cs
  34. 91 0
      JLHHJSvr/Excutor/SaveMattressTypeExcutor.cs
  35. 87 0
      JLHHJSvr/Excutor/SaveProfitrateExcutor.cs
  36. 88 0
      JLHHJSvr/Excutor/SaveWorkmanshipExcutor.cs
  37. 13 1
      JLHHJSvr/GlobalVar/GlobalVar.cs
  38. 33 3
      JLHHJSvr/JLHHJSvr.csproj
  39. 53 0
      JLHHJSvr/Tools/AutoInit.cs

+ 29 - 0
JLHHJSvr/Com/DeleteBedNetType.cs

@@ -0,0 +1,29 @@
+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 DeleteBedNetTypeRequest : ILJRequest<DeleteBedNetTypeResponse>
+    {
+        public string GetApiName()
+        {
+            return "DeleteBedNetType";
+        }
+        /// <summary>
+        /// 登录token
+        /// </summary>
+        public string token { get; set; }
+        /// <summary>
+        /// 床网类别id
+        /// </summary>
+        public int bednettypeid { get; set; }
+    }
+
+    public sealed class DeleteBedNetTypeResponse : LJResponse
+    {
+    }
+}

+ 29 - 0
JLHHJSvr/Com/DeleteDept.cs

@@ -0,0 +1,29 @@
+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 DeleteDeptRequest : ILJRequest<DeleteDeptResponse>
+    {
+        public string GetApiName()
+        {
+            return "DeleteDept";
+        }
+        /// <summary>
+        /// 登录token
+        /// </summary>
+        public string token { get; set; }
+        /// <summary>
+        /// 部门id
+        /// </summary>
+        public int deptid { get; set; }
+    }
+
+    public sealed class DeleteDeptResponse : LJResponse
+    {
+    }
+}

+ 29 - 0
JLHHJSvr/Com/DeleteMattressFormula.cs

@@ -0,0 +1,29 @@
+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 DeleteMattressFormulaRequest : ILJRequest<DeleteMattressFormulaResponse>
+    {
+        public string GetApiName()
+        {
+            return "DeleteMattressFormula";
+        }
+        /// <summary>
+        /// 登录token
+        /// </summary>
+        public string token { get; set; }
+        /// <summary>
+        /// 床垫公式id
+        /// </summary>
+        public int formulaid { get; set; }
+    }
+
+    public sealed class DeleteMattressFormulaResponse : LJResponse
+    {
+    }
+}

+ 29 - 0
JLHHJSvr/Com/DeleteMattressType.cs

@@ -0,0 +1,29 @@
+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 DeleteMattressTypeRequest : ILJRequest<DeleteMattressTypeResponse>
+    {
+        public string GetApiName()
+        {
+            return "DeleteMattressType";
+        }
+        /// <summary>
+        /// 登录token
+        /// </summary>
+        public string token { get; set; }
+        /// <summary>
+        /// 床垫类别id
+        /// </summary>
+        public int mattresstypeid { get; set; }
+    }
+
+    public sealed class DeleteMattressTypeResponse : LJResponse
+    {
+    }
+}

+ 29 - 0
JLHHJSvr/Com/DeleteWorkmanship.cs

@@ -0,0 +1,29 @@
+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 DeleteWorkmanshipRequest : ILJRequest<DeleteWorkmanshipResponse>
+    {
+        public string GetApiName()
+        {
+            return "DeleteWorkmanship";
+        }
+        /// <summary>
+        /// 登录token
+        /// </summary>
+        public string token { get; set; }
+        /// <summary>
+        /// 加点id
+        /// </summary>
+        public int workmanshipid { get; set; }
+    }
+
+    public sealed class DeleteWorkmanshipResponse : LJResponse
+    {
+    }
+}

+ 194 - 0
JLHHJSvr/Com/Model/u_bednet_type.cs

@@ -0,0 +1,194 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JLHHJSvr.Com.Model
+{
+    public sealed class u_bednet_type
+    {
+        /// <summary>
+        /// 床网类别id
+        /// </summary>
+        public int? bednettypeid { get; set; }
+        /// <summary>
+        /// 类别名称
+        /// </summary>
+        public string typename { get; set; }
+        /// <summary>
+        /// 双网(状态)
+        /// </summary>
+        public int? if_double_net { get; set; }
+        /// <summary>
+        /// 双簧(状态)
+        /// </summary>
+        public int? if_double_spring { get; set; }
+        /// <summary>
+        /// 15分布条(状态)
+        /// </summary>
+        public int? if_15cm_strip { get; set; }
+        /// <summary>
+        /// 多区袋装(状态)
+        /// </summary>
+        public int? if_part { get; set; }
+        /// <summary>
+        /// 蛇线(状态)
+        /// </summary>
+        public int? if_snake_wire { get; set; }
+        /// <summary>
+        /// 蛇线线径MM
+        /// </summary>
+        public decimal? snake_wire_diameter { get; set; }
+        /// <summary>
+        /// 蛇线材料成本公式
+        /// </summary>
+        public string snake_wire_mtrl_formula { get; set; }
+        /// <summary>
+        /// 四周加硬(状态)
+        /// </summary>
+        public int? if_hard_around { get; set; }
+        /// <summary>
+        /// 四周加硬材料成本公式
+        /// </summary>
+        public string hard_around_mtrl_formula { get; set; }
+        /// <summary>
+        /// 四周加硬人力成本公式
+        /// </summary>
+        public string hard_around_hr_formula { get; set; }
+        /// <summary>
+        /// 四周口袋(状态)
+        /// </summary>
+        public int? if_pocket_around { get; set; }
+        /// <summary>
+        /// 四周口袋弹簧成本公式
+        /// </summary>
+        public string pocket_around_spring_formula { get; set; }
+        /// <summary>
+        /// 四周口袋无纺布成本公式
+        /// </summary>
+        public string pocket_around_fabrics_formula { get; set; }
+        /// <summary>
+        /// 边铁(状态)
+        /// </summary>
+        public int? if_side_iron { get; set; }
+        /// <summary>
+        /// 边铁材料成本公式
+        /// </summary>
+        public string side_iron_mtrl_formula { get; set; }
+        /// <summary>
+        /// 边铁人力成本公式
+        /// </summary>
+        public string side_iron_hr_formula { get; set; }
+        /// <summary>
+        /// 胶水材料成本公式
+        /// </summary>
+        public string glue_mtrl_formula { get; set; }
+        /// <summary>
+        /// 胶条/包角(状态)
+        /// </summary>
+        public int? if_rsORwa { get; set; }
+        /// <summary>
+        /// 胶条/包角材料成本公式
+        /// </summary>
+        public string rsORwa_mtrl_formula { get; set; }
+        /// <summary>
+        /// 胶条/包角人力成本公式
+        /// </summary>
+        public string rsORwa_hr_formula { get; set; }
+        /// <summary>
+        /// 海绵打孔(状态)
+        /// </summary>
+        public int? if_sponge_drilling { get; set; }
+        /// <summary>
+        /// 海绵打孔人力成本公式
+        /// </summary>
+        public string sponge_drilling_hr_formula { get; set; }
+        /// <summary>
+        /// 弹叉材料成本公式
+        /// </summary>
+        public string fork_mtrl_formula { get; set; }
+        /// <summary>
+        /// 弹叉人力成本公式
+        /// </summary>
+        public string fork_hr_formula { get; set; }
+        /// <summary>
+        /// C钉/夹码材料公式
+        /// </summary>
+        public string cnail_mtrl_formula { get; set; }
+        /// <summary>
+        /// C钉/夹码人力公式
+        /// </summary>
+        public string cnail_hr_formula { get; set; }
+        /// <summary>
+        /// 海绵包边材料成本公式
+        /// </summary>
+        public string sponge_mtrl_formula { get; set; }
+        /// <summary>
+        /// 海绵包边人力成本公式
+        /// </summary>
+        public string sponge_hr_formula { get; set; }
+        /// <summary>
+        /// 封边材料成本公式
+        /// </summary>
+        public string edge_mtrl_formula { get; set; }
+        /// <summary>
+        /// 封边人力成本公式
+        /// </summary>
+        public string edge_hr_formula { get; set; }
+        /// <summary>
+        /// 登记人
+        /// </summary>
+        public DateTime? createtime { get; set; }
+        /// <summary>
+        /// 编号
+        /// </summary>
+        public string createby { get; set; }
+        /// <summary>
+        /// 登记时间
+        /// </summary>
+        public string typecode { get; set; }
+        /// <summary>
+        /// 弹簧总材料成本公式
+        /// </summary>
+        public string spring_mtrl_formula { get; set; }
+        /// <summary>
+        /// 弹簧人力料成本公式
+        /// </summary>
+        public string spring_hr_formula { get; set; }
+        /// <summary>
+        /// 入袋无纺布材料公式
+        /// </summary>
+        public string fabrics1_mtrl_formula { get; set; }
+        /// <summary>
+        /// 底面无纺布材料公式
+        /// </summary>
+        public string fabrics2_mtrl_formula { get; set; }
+        /// <summary>
+        /// 包装材料公式
+        /// </summary>
+        public string bz_mtrl_formula { get; set; }
+        public string felt_mtrl_formula { get; set; }
+        public string felt_hr_formula { get; set; }
+        public string felt_mtrl_cost_replace_formula { get; set; }
+        public string felt_hr_cost_replace_formula { get; set; }
+        public string packet_mtrl_formula { get; set; }
+        public string packet_hr_formula { get; set; }
+        public string sponge_mtrl_tc_formula { get; set; }
+        public string spring_weight_formula { get; set; }
+        public string side_iron_weight_formula { get; set; }
+        public string hard_around_weight_formula { get; set; }
+        public string fabrics1_weight_formula { get; set; }
+        public string fabrics2_weight_formula { get; set; }
+        public string felt_weight_formula { get; set; }
+        public string cnail_weight_formula { get; set; }
+        public string sponge_weight_formula { get; set; }
+        /// <summary>
+        /// 填充海绵公式
+        /// </summary>
+        public string sponge_weight_tc_formula { get; set; }
+        public string edge_weight_formula { get; set; }
+        public string fork_weight_formula { get; set; }
+
+
+    }
+}

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

@@ -47,5 +47,9 @@ namespace JLHHJSvr.Com.Model
         /// 修改时间
         /// </summary>
         public DateTime? moddate { get; set; }
+        /// <summary>
+        /// 创建时间
+        /// </summary>
+        public DateTime? createtime { get; set; }
     }
 }

+ 35 - 0
JLHHJSvr/Com/Model/u_factory_profitrate.cs

@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JLHHJSvr.Com.Model
+{
+    public sealed class u_factory_profitrate
+    {
+        /// <summary>
+        /// 部门ID
+        /// </summary>
+        public int? deptid { get; set; }
+        /// <summary>
+        /// 类型【床网.床垫】
+        /// </summary>
+        public byte? bednet_or_mattress { get; set; }
+        /// <summary>
+        /// 床垫.床网类别ID
+        /// </summary>
+        public int? bednettypeid_mattresstypeid { get; set; }
+        /// <summary>
+        /// 利润率
+        /// </summary>
+        public decimal? profitrate { get; set; }
+        /// <summary>
+        /// 建立时间
+        /// </summary>
+        public DateTime? createtime { get; set; }
+        /// <summary>
+        /// 建立人
+        /// </summary>
+        public string createby { get; set; }
+    }
+}

+ 76 - 0
JLHHJSvr/Com/Model/u_mattress_formula.cs

@@ -0,0 +1,76 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JLHHJSvr.Com.Model
+{
+    public sealed class u_mattress_formula
+    {
+        /// <summary>
+        /// 公式id
+        /// </summary>
+        public int? formulaid { get; set; }
+        /// <summary>
+        /// 类别序号
+        /// </summary>
+        public string sortcode { get; set; }
+        /// <summary>
+        /// 公式名
+        /// </summary>
+        public int? formulakind { get; set; }
+        /// <summary>
+        /// 类别
+        /// </summary>
+        public int? formulatype { get; set; }
+        /// <summary>
+        /// 按物料(无物料,单物料,多物料)
+        /// </summary>
+        public int? if_mtrl { get; set; }
+        /// <summary>
+        /// 金额公式
+        /// </summary>
+        public string formula { get; set; }
+        /// <summary>
+        /// 公式应用分类
+        /// </summary>
+        public int? usetype { get; set; }
+        /// <summary>
+        /// 压包(状态)
+        /// </summary>
+        public int? if_packtype0 { get; set; }
+        /// <summary>
+        /// 卷包(状态)
+        /// </summary>
+        public int? if_packtype1 { get; set; }
+        /// <summary>
+        /// 国内(状态)
+        /// </summary>
+        public int? if_packtype2 { get; set; }
+        /// <summary>
+        /// 默认物料id
+        /// </summary>
+        public int? default_mtrlid { get; set; }
+        /// <summary>
+        /// 默认物料类别
+        /// </summary>
+        public int? mtrltype { get; set; }
+        /// <summary>
+        /// 建立时间
+        /// </summary>
+        public DateTime? createtime { get; set; }
+        /// <summary>
+        /// 建立人
+        /// </summary>
+        public string createby { get; set; }
+        /// <summary>
+        /// 用量公式
+        /// </summary>
+        public string useformula { get; set; }
+        /// <summary>
+        /// 工艺说明
+        /// </summary>
+        public string gydscrp { get; set; }
+
+    }
+}

+ 106 - 0
JLHHJSvr/Com/Model/u_mattress_type.cs

@@ -0,0 +1,106 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JLHHJSvr.Com.Model
+{
+    public sealed class u_mattress_type
+    {
+        /// <summary>
+        /// 类别id
+        /// </summary>
+        public int? mattresstypeid { get; set; }
+        /// <summary>
+        /// 类别名称
+        /// </summary>
+        public string typename { get; set; }
+        /// <summary>
+        /// 面裥面
+        /// </summary>
+        public int? if_top_side { get; set; }
+        /// <summary>
+        /// 底裥面
+        /// </summary>
+        public int? if_button_sdie { get; set; }
+        /// <summary>
+        /// 大侧裥面
+        /// </summary>
+        public int? if_big_side { get; set; }
+        /// <summary>
+        /// 大侧高度公式
+        /// </summary>
+        public string formula_big_side { get; set; }
+        /// <summary>
+        /// 小侧裥面1
+        /// </summary>
+        public int? if_small_side { get; set; }
+        /// <summary>
+        /// 小侧高度公式
+        /// </summary>
+        public string formula_small_side { get; set; }
+        /// <summary>
+        /// V侧裥面1
+        /// </summary>
+        public int? if_v_side { get; set; }
+        /// <summary>
+        /// V侧高度公式
+        /// </summary>
+        public string formula_v_side { get; set; }
+        /// <summary>
+        /// 建立时间
+        /// </summary>
+        public DateTime? createtime { get; set; }
+        /// <summary>
+        /// 建立人
+        /// </summary>
+        public string createby { get; set; }
+        /// <summary>
+        /// 编号
+        /// </summary>
+        public string typecode { get; set; }
+        public int? if_in_cloth_cover { get; set; }
+        public int? if_out_cloth_cover { get; set; }
+        /// <summary>
+        /// 边带条数
+        /// </summary>
+        public decimal? biandaiqty { get; set; }
+        /// <summary>
+        /// 基础款式单价公式
+        /// </summary>
+        public string hrcost_formula { get; set; }
+        /// <summary>
+        /// 垫层默认设置
+        /// </summary>
+        public string dianceng_sort { get; set; }
+        /// <summary>
+        /// 垫层可选位置
+        /// </summary>
+        public string dianceng_area { get; set; }
+        /// <summary>
+        /// 小侧裥面2
+        /// </summary>
+        public int? if_small_side2 { get; set; }
+        /// <summary>
+        /// 小侧裥面3
+        /// </summary>
+        public int? if_small_side3 { get; set; }
+        /// <summary>
+        /// V侧裥面2
+        /// </summary>
+        public int? if_v_side2 { get; set; }
+        /// <summary>
+        /// V侧裥面3
+        /// </summary>
+        public int? if_v_side3 { get; set; }
+        /// <summary>
+        /// 制造费用
+        /// </summary>
+        public decimal? zhizao_amt { get; set; }
+        /// <summary>
+        /// 管理费率
+        /// </summary>
+        public decimal? guanli_rate { get; set; }
+
+    }
+}

+ 35 - 0
JLHHJSvr/Com/Model/u_workmanship_add.cs

@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JLHHJSvr.Com.Model
+{
+    public sealed class u_workmanship_add
+    {
+        /// <summary>
+        /// 加点id
+        /// </summary>
+        public int? workmanshipid { get; set; }
+        /// <summary>
+        /// 部门id
+        /// </summary>
+        public int? deptid { get; set; }
+        /// <summary>
+        /// 床垫类型
+        /// </summary>
+        public int? mattresstypeid { get; set; }
+        /// <summary>
+        /// 特殊工艺名称
+        /// </summary>
+        public string workmanshipname { get; set; }
+        /// <summary>
+        /// 生效条件
+        /// </summary>
+        public string formula { get; set; }
+        /// <summary>
+        /// 工艺利润率
+        /// </summary>
+        public decimal? rate { get; set; }
+    }
+}

+ 29 - 0
JLHHJSvr/Com/SaveBedNetType.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.Com.Model;
+using LJLib.Net.SPI.Com;
+
+namespace JLHHJSvr.Com
+{
+    /// <summary>
+    /// 保存车辆信息
+    /// </summary>
+    public sealed class SaveBedNetTypeRequest : ILJRequest<SaveBedNetTypeResponse>
+    {
+        public string GetApiName()
+        {
+            return "SaveBedNetType";
+        }
+        public string token { get; set; }
+        /// <summary>
+        /// 床网类型定义信息
+        /// </summary>
+        public u_bednet_type bednet { get; set; }
+    }
+
+    public sealed class SaveBedNetTypeResponse : LJResponse
+    {
+    }
+}

+ 29 - 0
JLHHJSvr/Com/SaveDept.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.Com.Model;
+using LJLib.Net.SPI.Com;
+
+namespace JLHHJSvr.Com
+{
+    /// <summary>
+    /// 保存车辆信息
+    /// </summary>
+    public sealed class SaveDeptRequest : ILJRequest<SaveDeptResponse>
+    {
+        public string GetApiName()
+        {
+            return "SaveDept";
+        }
+        public string token { get; set; }
+        /// <summary>
+        /// 部门信息
+        /// </summary>
+        public u_dept dept { get; set; }
+    }
+
+    public sealed class SaveDeptResponse : LJResponse
+    {
+    }
+}

+ 26 - 0
JLHHJSvr/Com/SaveMattressFormula.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 SaveMattressFormulaRequest : ILJRequest<SaveMattressFormulaResponse>
+    {
+        public string GetApiName()
+        {
+            return "SaveMattressFormula";
+        }
+        public string token { get; set; }
+        /// <summary>
+        /// 床垫公式定义信息
+        /// </summary>
+        public u_mattress_formula mattress { get; set; }
+    }
+
+    public sealed class SaveMattressFormulaResponse : LJResponse
+    {
+    }
+}

+ 26 - 0
JLHHJSvr/Com/SaveMattressType.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 SaveMattressTypeRequest : ILJRequest<SaveMattressTypeResponse>
+    {
+        public string GetApiName()
+        {
+            return "SaveMattressType";
+        }
+        public string token { get; set; }
+        /// <summary>
+        /// 床垫类别定义信息
+        /// </summary>
+        public u_mattress_type mattress { get; set; }
+    }
+
+    public sealed class SaveMattressTypeResponse : LJResponse
+    {
+    }
+}

+ 29 - 0
JLHHJSvr/Com/SaveProfitrate.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.Com.Model;
+using LJLib.Net.SPI.Com;
+
+namespace JLHHJSvr.Com
+{
+    /// <summary>
+    /// 保存车辆信息
+    /// </summary>
+    public sealed class SaveProfitrateRequest : ILJRequest<SaveProfitrateResponse>
+    {
+        public string GetApiName()
+        {
+            return "SaveProfitrate";
+        }
+        public string token { get; set; }
+        /// <summary>
+        /// 工厂利润率信息信息
+        /// </summary>
+        public u_factory_profitrate profitrate { get; set; }
+    }
+
+    public sealed class SaveProfitrateResponse : LJResponse
+    {
+    }
+}

+ 29 - 0
JLHHJSvr/Com/SaveWorkmanship.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.Com.Model;
+using LJLib.Net.SPI.Com;
+
+namespace JLHHJSvr.Com
+{
+    /// <summary>
+    /// 保存车辆信息
+    /// </summary>
+    public sealed class SaveWorkmanshipRequest : ILJRequest<SaveWorkmanshipResponse>
+    {
+        public string GetApiName()
+        {
+            return "SaveWorkmanship";
+        }
+        public string token { get; set; }
+        /// <summary>
+        /// 工厂利润率信息信息
+        /// </summary>
+        public u_workmanship_add workmanship { get; set; }
+    }
+
+    public sealed class SaveWorkmanshipResponse : LJResponse
+    {
+    }
+}

+ 299 - 0
JLHHJSvr/DataStore/_Mapper_formulakind.xml

@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<data>
+	<json>
+		[
+			{
+				"value": 0,
+				"label": "面裥绵-布料"
+			},
+			{
+				"value": 80,
+				"label": "面裥绵-布料-加工工艺"
+			},
+			{
+				"value": 40,
+				"label": "面裥绵-喷胶绵"
+			},
+			{
+				"value": 50,
+				"label": "面裥绵-裥绵海绵"
+			},
+			{
+				"value": 60,
+				"label": "面裥绵-无纺布"
+			},
+			{
+				"value": 70,
+				"label": "面裥绵-裥花图案"
+			},
+			{
+				"value": 1,
+				"label": "底裥绵-布料"
+			},
+			{
+				"value": 81,
+				"label": "底裥绵-布料-加工工艺"
+			},
+			{
+				"value": 41,
+				"label": "底裥绵-喷胶绵"
+			},
+			{
+				"value": 51,
+				"label": "底裥绵-裥绵海绵"
+			},
+			{
+				"value": 61,
+				"label": "底裥绵-无纺布"
+			},
+			{
+				"value": 71,
+				"label": "底裥绵-裥花图案"
+			},
+			{
+				"value": 2,
+				"label": "大侧裥绵-布料"
+			},
+			{
+				"value": 82,
+				"label": "大侧裥绵-布料-加工工艺"
+			},
+			{
+				"value": 42,
+				"label": "大侧裥绵-喷胶绵"
+			},
+			{
+				"value": 52,
+				"label": "大侧裥绵-裥绵海绵"
+			},
+			{
+				"value": 62,
+				"label": "大侧裥绵-无纺布"
+			},
+			{
+				"value": 72,
+				"label": "大侧裥绵-裥花图案"
+			},
+			{
+				"value": 3,
+				"label": "小侧裥绵-布料"
+			},
+			{
+				"value": 83,
+				"label": "小侧裥绵-布料-加工工艺"
+			},
+			{
+				"value": 43,
+				"label": "小侧裥绵-喷胶绵"
+			},
+			{
+				"value": 53,
+				"label": "小侧裥绵-裥绵海绵"
+			},
+			{
+				"value": 63,
+				"label": "小侧裥绵-无纺布"
+			},
+			{
+				"value": 73,
+				"label": "小侧裥绵-裥花图案"
+			},
+			{
+				"value": 4,
+				"label": "V侧裥绵-布料"
+			},
+			{
+				"value": 84,
+				"label": "V侧裥绵-布料-加工工艺"
+			},
+			{
+				"value": 44,
+				"label": "V侧裥绵-喷胶绵"
+			},
+			{
+				"value": 54,
+				"label": "V侧裥绵-裥绵海绵"
+			},
+			{
+				"value": 64,
+				"label": "V侧裥绵-无纺布"
+			},
+			{
+				"value": 74,
+				"label": "V侧裥绵-裥花图案"
+			},
+			{
+				"value": 5,
+				"label": "拉手"
+			},
+			{
+				"value": 6,
+				"label": "刺绣"
+			},
+			{
+				"value": 7,
+				"label": "大侧压压布"
+			},
+			{
+				"value": 8,
+				"label": "大侧压边带"
+			},
+			{
+				"value": 9,
+				"label": "大侧压织带"
+			},
+			{
+				"value": 10,
+				"label": "大侧压上下压线"
+			},
+			{
+				"value": 11,
+				"label": "顶垫层"
+			},
+			{
+				"value": 12,
+				"label": "顶布"
+			},
+			{
+				"value": 1201,
+				"label": "顶布裥棉"
+			},
+			{
+				"value": 32,
+				"label": "垫层"
+			},
+			{
+				"value": 33,
+				"label": "底垫层"
+			},
+			{
+				"value": 13,
+				"label": "毡类"
+			},
+			{
+				"value": 14,
+				"label": "打底无纺布"
+			},
+			{
+				"value": 15,
+				"label": "辅料"
+			},
+			{
+				"value": 16,
+				"label": "PE"
+			},
+			{
+				"value": 17,
+				"label": "外层PE"
+			},
+			{
+				"value": 18,
+				"label": "PVC"
+			},
+			{
+				"value": 19,
+				"label": "卷包包装"
+			},
+			{
+				"value": 20,
+				"label": "牛皮纸袋"
+			},
+			{
+				"value": 21,
+				"label": "蓝色PE护角"
+			},
+			{
+				"value": 22,
+				"label": "无纺布袋"
+			},
+			{
+				"value": 23,
+				"label": "牛皮袋护角"
+			},
+			{
+				"value": 24,
+				"label": "编织袋"
+			},
+			{
+				"value": 25,
+				"label": "外袋"
+			},
+			{
+				"value": 26,
+				"label": "内袋"
+			},
+			{
+				"value": 27,
+				"label": "拉手脚轮"
+			},
+			{
+				"value": 28,
+				"label": "拉钮"
+			},
+			{
+				"value": 29,
+				"label": "网面布料"
+			},
+			{
+				"value": 30,
+				"label": "防火线"
+			},
+			{
+				"value": 31,
+				"label": "木托"
+			},
+			{
+				"value": 201,
+				"label": "无纺布护角"
+			},
+			{
+				"value": 202,
+				"label": "拉链"
+			},
+			{
+				"value": 203,
+				"label": "内布套围边边带"
+			},
+			{
+				"value": 204,
+				"label": "席垫橡皮筋"
+			},
+			{
+				"value": 205,
+				"label": "车花边"
+			},
+			{
+				"value": 99,
+				"label": "床网"
+			},
+			{
+				"value": 999,
+				"label": "床网_"
+			},
+			{
+				"value": 9000,
+				"label": "半成品裥面"
+			},
+			{
+				"value": 9001,
+				"label": "半成品裥底"
+			},
+			{
+				"value": 9002,
+				"label": "半成品裥大侧"
+			},
+			{
+				"value": 9003,
+				"label": "半成品裥小侧"
+			},
+			{
+				"value": 9004,
+				"label": "半成品裥V侧"
+			},
+			{
+				"value": 9005,
+				"label": "半成品裥床网"
+			}
+		]
+	</json>
+</data>

+ 12 - 0
JLHHJSvr/DataStore/_Mapper_pricelist.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT u_pricelist.pricelistname
+	,u_pricelist.pricelistid
+FROM u_pricelist
+  </selectstr>
+  <where>
+  </where>
+  <displayfields>
+  </displayfields>
+</select>

+ 92 - 0
JLHHJSvr/DataStore/web_bednet_typelist.xml

@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT
+	u_bednet_type.bednettypeid, 
+	u_bednet_type.if_double_net, 
+	u_bednet_type.typename, 
+	u_bednet_type.if_double_spring, 
+	u_bednet_type.if_15cm_strip, 
+	u_bednet_type.if_part, 
+	u_bednet_type.if_snake_wire, 
+	u_bednet_type.snake_wire_diameter, 
+	u_bednet_type.snake_wire_mtrl_formula, 
+	u_bednet_type.if_hard_around, 
+	u_bednet_type.hard_around_mtrl_formula, 
+	u_bednet_type.if_pocket_around, 
+	u_bednet_type.hard_around_hr_formula, 
+	u_bednet_type.pocket_around_spring_formula, 
+	u_bednet_type.pocket_around_fabrics_formula, 
+	u_bednet_type.if_side_iron, 
+	u_bednet_type.side_iron_hr_formula, 
+	u_bednet_type.side_iron_mtrl_formula, 
+	u_bednet_type.if_rsORwa, 
+	u_bednet_type.glue_mtrl_formula, 
+	u_bednet_type.rsORwa_mtrl_formula, 
+	u_bednet_type.rsORwa_hr_formula, 
+	u_bednet_type.if_sponge_drilling, 
+	u_bednet_type.sponge_drilling_hr_formula, 
+	u_bednet_type.fork_mtrl_formula, 
+	u_bednet_type.fork_hr_formula, 
+	u_bednet_type.cnail_mtrl_formula, 
+	u_bednet_type.cnail_hr_formula, 
+	u_bednet_type.sponge_mtrl_formula, 
+	u_bednet_type.sponge_hr_formula, 
+	u_bednet_type.edge_hr_formula, 
+	u_bednet_type.edge_mtrl_formula, 
+	u_bednet_type.createtime, 
+	u_bednet_type.createby, 
+	u_bednet_type.typecode, 
+	u_bednet_type.spring_mtrl_formula, 
+	u_bednet_type.spring_hr_formula, 
+	u_bednet_type.fabrics1_mtrl_formula, 
+	u_bednet_type.fabrics2_mtrl_formula, 
+	u_bednet_type.bz_mtrl_formula, 
+	u_bednet_type.felt_mtrl_formula, 
+	u_bednet_type.felt_hr_formula, 
+	u_bednet_type.felt_mtrl_cost_replace_formula, 
+	u_bednet_type.felt_hr_cost_replace_formula, 
+	u_bednet_type.packet_mtrl_formula, 
+	u_bednet_type.packet_hr_formula, 
+	u_bednet_type.sponge_mtrl_tc_formula, 
+	u_bednet_type.spring_weight_formula, 
+	u_bednet_type.side_iron_weight_formula, 
+	u_bednet_type.hard_around_weight_formula, 
+	u_bednet_type.fabrics1_weight_formula, 
+	u_bednet_type.fabrics2_weight_formula, 
+	u_bednet_type.felt_weight_formula, 
+	u_bednet_type.cnail_weight_formula, 
+	u_bednet_type.sponge_weight_formula, 
+	u_bednet_type.sponge_weight_tc_formula, 
+	u_bednet_type.edge_weight_formula, 
+	u_bednet_type.fork_weight_formula
+FROM
+	u_bednet_type
+  </selectstr>
+  <where>
+  </where>
+  <orderstr>
+  </orderstr>
+  <displayfields>
+	<field field="pid" compute="getrow()">序</field>
+	<field field="typename">名称</field>
+	<field field="pricelistname">编码</field>
+	<field field="if_double_net">双网(状态)</field>
+	<field field="if_double_spring">双簧(状态)</field>
+	<field field="if_15cm_strip">15分布条(状态)</field>
+	<field field="if_part">多区袋装(状态)</field>
+	<field field="if_snake_wire">蛇线(状态)</field>
+	<field field="snake_wire_diameter">蛇线线径MM</field>
+	<field field="snake_wire_mtrl_formula">蛇线材料成本公式</field>
+	<field field="if_hard_around">四周加硬(状态)</field>
+	<field field="hard_around_mtrl_formula">四周加硬材料成本公式</field>
+	<field field="hard_around_hr_formula">四周加硬人力成本公式</field>
+	<field field="if_pocket_around">四周口袋(状态)</field>
+	<field field="pocket_around_spring_formula">四周口袋弹簧成本公式</field>
+	<field field="pocket_around_fabrics_formula">四周口袋无纺布成本公式</field>
+	<field field="if_side_iron">边铁(状态)</field>
+	<field field="side_iron_mtrl_formula">边铁材料成本公式</field>
+	<field field="side_iron_hr_formula">边铁人力成本公式</field>
+	<field field="glue_mtrl_formula">胶水材料成本公式</field>
+  </displayfields>
+</select>

+ 46 - 0
JLHHJSvr/DataStore/web_deptlist.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT u_dept.deptid
+	,u_dept.deptname
+	,u_dept.pricelistid
+	,u_dept.profitrate
+	,u_dept.springtypeid
+	,u_dept.createtime
+	,u_dept.moneyrate
+	,u_dept.discount
+	,u_dept.flag
+	,u_dept.if_rate_auto
+	,u_dept.modemp
+	,u_dept.moddate
+	,u_dept.auditemp
+	,u_dept.auditdate
+	,u_dept.manage_amt
+	,u_dept.mtrltype
+	,ISNULL(u_pricelist.pricelistname,'') AS pricelistname
+	,ISNULL(u_springtype.springtypename,'') AS springtypename
+FROM u_dept
+LEFT JOIN u_pricelist ON u_dept.pricelistid = u_pricelist.pricelistid
+LEFT JOIN u_springtype ON u_springtype.springtypeid = u_dept.springtypeid
+  </selectstr>
+  <where>
+  </where>
+  <orderstr>
+  </orderstr>
+  <displayfields>
+	<field field="pid" compute="getrow()">序</field>
+	<field field="deptname">部门名称</field>
+	<field field="pricelistid" mapper="pricelist">价格表</field>
+	<field field="springtypename">弹簧分类</field>
+	<field field="profitrate">利润率</field>
+	<field field="createtime">建立时间</field>
+	<field field="moneyrate">汇率</field>
+	<field field="if_rate_auto">是否自动读取汇率</field>
+	<field field="modemp">修改人</field>
+	<field field="moddate">修改时间</field>
+	<field field="auditemp">审核人</field>
+	<field field="auditdate">审核时间</field>
+	<field field="manage_amt">部门管理费</field>
+	<field field="mtrltype">默认物料类别</field>
+  </displayfields>
+</select>

+ 26 - 0
JLHHJSvr/DataStore/web_factory_profitratelist.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT u_factory_profitrate.bednet_or_mattress
+	,u_factory_profitrate.bednettypeid_mattresstypeid
+	,u_factory_profitrate.profitrate
+	,u_factory_profitrate.createtime
+	,u_factory_profitrate.createby
+	,u_dept.deptname
+	,u_dept.deptid
+	,u_bednet_type.typename
+FROM u_factory_profitrate
+INNER JOIN u_dept ON u_factory_profitrate.deptid = u_dept.deptid
+INNER JOIN u_bednet_type ON u_factory_profitrate.bednettypeid_mattresstypeid = u_bednet_type.bednettypeid
+
+  </selectstr>
+  <where>
+	<when notnull="@kind">
+		u_factory_profitrate.bednet_or_mattress = @kind
+	</when>
+  </where>
+  <orderstr>
+  </orderstr>
+  <displayfields>
+  </displayfields>
+</select>

+ 42 - 0
JLHHJSvr/DataStore/web_mattress_formulalist.xml

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT formulaid
+	,formulakind
+	,formulatype
+	,sortcode
+	,if_mtrl
+	,formula
+	,usetype
+	,if_packtype0
+	,if_packtype1
+	,if_packtype2
+	,default_mtrlid
+	,createtime
+	,createby
+	,useformula
+	,gydscrp
+	,mtrltype
+FROM u_mattress_formula
+  </selectstr>
+  <where>
+  </where>
+  <displayfields>
+    <field field="row" compute="getrow()">序</field>
+    <field field="formulatype" datatype="checkbox">类别</field>
+    <field field="sortcode">类别序号</field>
+    <field field="formulakind" mapper="">公式名</field>
+    <field field="if_mtrl" datatype="checkbox">按物料</field>
+    <field field="usetype" datatype="checkbox">公式应用分类</field>
+    <field field="formula">金额公式</field>
+    <field field="useformula">用量公式</field>
+    <field field="if_packtype0" datatype="checkbox">压包</field>
+    <field field="if_packtype1" datatype="checkbox">卷包</field>
+    <field field="if_packtype2" datatype="checkbox">国内</field>
+    <field field="default_mtrlid">默认物料</field>
+    <field field="mtrltype">物料类别</field>
+    <field field="createby">等记人</field>
+    <field field="createtime" datatype="datetime">登记时间</field>
+    <field field="gydscrp">工艺说明</field>
+  </displayfields>
+</select>

+ 64 - 0
JLHHJSvr/DataStore/web_mattress_typelist.xml

@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT mattresstypeid
+	,typecode
+	,typename
+	,if_top_side
+	,if_button_sdie
+	,if_big_side
+	,formula_big_side
+	,if_small_side
+	,formula_small_side
+	,if_v_side
+	,formula_v_side
+	,if_in_cloth_cover
+	,if_out_cloth_cover
+	,biandaiqty
+	,hrcost_formula
+	,dianceng_sort
+	,dianceng_area
+	,if_small_side2
+	,if_small_side3
+	,if_v_side2
+	,if_v_side3
+	,formula_big_side
+	,formula_small_side
+	,formula_v_side
+	,zhizao_amt
+	,guanli_rate
+	,createtime
+	,createby
+FROM u_mattress_type
+  </selectstr>
+  <where>
+  </where>
+  <orderstr>
+  </orderstr>
+  <displayfields>
+	<field field="pid" compute="getrow()">序</field>
+	<field field="typecode">编号</field>
+	<field field="typename">名称</field>
+	<field field="if_top_side">面裥面</field>
+	<field field="if_button_sdie">底裥面</field>
+	<field field="if_big_side">大侧裥面</field>
+	<field field="formula_big_side">大侧高度公式</field>
+	<field field="if_small_side">小侧裥面1</field>
+	<field field="formula_small_side">小侧高度公式</field>
+	<field field="if_v_side">V侧裥面1</field>
+	<field field="formula_v_side">V侧高度公式</field>
+	<field field="createtime">建立时间</field>
+	<field field="createby">建立人</field>
+	<field field="typecode">四周加硬人力成本公式</field>
+	<field field="biandaiqty">边带条数</field>
+	<field field="hrcost_formula">基础款式单价公式</field>
+	<field field="dianceng_sort">垫层默认设置</field>
+	<field field="dianceng_area">垫层可选位置</field>
+	<field field="if_small_side2">小侧裥面2</field>
+	<field field="if_small_side3">小侧裥面3</field>
+	<field field="if_v_side2">V侧裥面2</field>
+	<field field="if_v_side3">V侧裥面3</field>
+	<field field="zhizao_amt">制造费用</field>
+	<field field="guanli_rate">管理费率</field>
+  </displayfields>
+</select>

+ 28 - 0
JLHHJSvr/DataStore/web_workmanshiplist.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT u_workmanship_add.deptid
+	,u_workmanship_add.workmanshipid
+	,u_workmanship_add.mattresstypeid
+	,u_workmanship_add.workmanshipname
+	,u_workmanship_add.formula
+	,u_workmanship_add.rate
+	,u_dept.deptname
+	,u_mattress_type.typename
+FROM u_workmanship_add
+INNER JOIN u_dept ON u_workmanship_add.deptid = u_dept.deptid
+INNER JOIN u_mattress_type ON u_workmanship_add.mattresstypeid = u_mattress_type.mattresstypeid
+  </selectstr>
+  <where>
+  </where>
+  <orderstr>
+  </orderstr>
+  <displayfields>
+	<field field="pid" compute="getrow()">序</field>
+	<field field="deptname">部门名称</field>
+	<field field="typename">床垫类型</field>
+	<field field="workmanshipname">特殊工艺名称</field>
+	<field field="formula">生效条件</field>
+	<field field="rate">工艺利润率</field>
+  </displayfields>
+</select>

+ 54 - 0
JLHHJSvr/Excutor/DeleteBedNetTypeExcutor.cs

@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using DirectService.Tools;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class DeleteBedNetTypeExcutor : ExcutorBase<DeleteBedNetTypeRequest, DeleteBedNetTypeResponse>
+    {
+        protected override void ExcuteInternal(DeleteBedNetTypeRequest request, object state, DeleteBedNetTypeResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.bednettypeid <= 0)
+            {
+                rslt.ErrMsg = "至少提交一条需要删除的记录";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        cmd.CommandText = @"DELETE u_bednet_type WHERE bednettypeid = @bednettypeid";
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@bednettypeid", request.bednettypeid);
+                        cmd.ExecuteNonQuery();
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 54 - 0
JLHHJSvr/Excutor/DeleteDeptExcutor.cs

@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using DirectService.Tools;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class DeleteDeptExcutor : ExcutorBase<DeleteDeptRequest, DeleteDeptResponse>
+    {
+        protected override void ExcuteInternal(DeleteDeptRequest request, object state, DeleteDeptResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.deptid <= 0)
+            {
+                rslt.ErrMsg = "至少提交一条需要删除的记录";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        cmd.CommandText = @"DELETE u_dept WHERE deptid = @deptid";
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@deptid", request.deptid);
+                        cmd.ExecuteNonQuery();
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 54 - 0
JLHHJSvr/Excutor/DeleteMattressFormulaExcutor.cs

@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using DirectService.Tools;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class DeleteMattressFormulaExcutor : ExcutorBase<DeleteMattressFormulaRequest, DeleteMattressFormulaResponse>
+    {
+        protected override void ExcuteInternal(DeleteMattressFormulaRequest request, object state, DeleteMattressFormulaResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.formulaid <= 0)
+            {
+                rslt.ErrMsg = "至少提交一条需要删除的记录";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        cmd.CommandText = @"DELETE u_mattress_formula WHERE formulaid = @formulaid";
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@formulaid", request.formulaid);
+                        cmd.ExecuteNonQuery();
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 54 - 0
JLHHJSvr/Excutor/DeleteMattressTypeExcutor.cs

@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using DirectService.Tools;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class DeleteMattressTypeExcutor : ExcutorBase<DeleteMattressTypeRequest, DeleteMattressTypeResponse>
+    {
+        protected override void ExcuteInternal(DeleteMattressTypeRequest request, object state, DeleteMattressTypeResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.mattresstypeid <= 0)
+            {
+                rslt.ErrMsg = "至少提交一条需要删除的记录";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        cmd.CommandText = @"DELETE u_mattress_type WHERE mattresstypeid = @mattresstypeid";
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@mattresstypeid", request.mattresstypeid);
+                        cmd.ExecuteNonQuery();
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 54 - 0
JLHHJSvr/Excutor/DeleteWorkmanshipExcutor.cs

@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using DirectService.Tools;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class DeleteWorkmanshipExcutor : ExcutorBase<DeleteWorkmanshipRequest, DeleteWorkmanshipResponse>
+    {
+        protected override void ExcuteInternal(DeleteWorkmanshipRequest request, object state, DeleteWorkmanshipResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.workmanshipid <= 0)
+            {
+                rslt.ErrMsg = "至少提交一条需要删除的记录";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        cmd.CommandText = @"DELETE u_workmanship_add WHERE workmanshipid = @workmanshipid";
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@workmanshipid", request.workmanshipid);
+                        cmd.ExecuteNonQuery();
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 98 - 0
JLHHJSvr/Excutor/SaveBedNetTypeExcutor.cs

@@ -0,0 +1,98 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class SaveBedNetTypeExcutor : ExcutorBase<SaveBedNetTypeRequest, SaveBedNetTypeResponse>
+    {
+        protected override void ExcuteInternal(SaveBedNetTypeRequest request, object state, SaveBedNetTypeResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+
+            if (request.bednet == null)
+            {
+                rslt.ErrMsg = "未提交床网类别定义信息";
+                return;
+            }
+
+            if (string.IsNullOrEmpty(request.bednet.typename))
+            {
+                rslt.ErrMsg = "床网类别名称不能为空,请检查!";
+                return;
+            }
+
+            if (string.IsNullOrEmpty(request.bednet.typecode))
+            {
+                rslt.ErrMsg = "床网类别编号不能为空,请检查!";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                var dtNow = DateTime.Now;
+
+                AutoInit.AutoInitS(cmd, request.bednet);
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        if (request.bednet.bednettypeid <= 0)
+                        {
+                            request.bednet.bednettypeid = BllHelper.GetID(cmd, "u_bednet_type");
+                            request.bednet.createtime = dtNow;
+                            request.bednet.createby = tokendata.username;
+
+                            var fields = @"bednettypeid,typecode,typename,if_double_net,if_double_spring,if_15cm_strip,if_part,spring_mtrl_formula,spring_hr_formula,
+                            fabrics1_mtrl_formula,fabrics2_mtrl_formula,if_snake_wire,snake_wire_diameter,snake_wire_mtrl_formula,if_hard_around,hard_around_mtrl_formula,
+                            hard_around_hr_formula,if_pocket_around,pocket_around_spring_formula,pocket_around_fabrics_formula,if_side_iron,side_iron_mtrl_formula,
+                            side_iron_hr_formula,glue_mtrl_formula,if_rsorwa,rsorwa_mtrl_formula,rsorwa_hr_formula,if_sponge_drilling,sponge_drilling_hr_formula,
+                            fork_mtrl_formula,fork_hr_formula,cnail_mtrl_formula,cnail_hr_formula,sponge_mtrl_formula,sponge_hr_formula,edge_mtrl_formula,
+                            edge_hr_formula,bz_mtrl_formula,felt_mtrl_formula,felt_hr_formula,packet_mtrl_formula,packet_hr_formula,sponge_mtrl_tc_formula,
+                            createtime,createby,spring_weight_formula,side_iron_weight_formula,hard_around_weight_formula,fabrics1_weight_formula,fabrics2_weight_formula,
+                            felt_weight_formula,cnail_weight_formula,sponge_weight_formula,sponge_weight_tc_formula,edge_weight_formula,fork_weight_formula";
+                            DbSqlHelper.Insert(cmd, "u_bednet_type", null, request.bednet, fields);
+                        }
+                        else
+                        {
+                            //修改
+                            var fields = @"typecode,typename,if_double_net,if_double_spring,if_15cm_strip,if_part,spring_mtrl_formula,spring_hr_formula,
+                            fabrics1_mtrl_formula,fabrics2_mtrl_formula,if_snake_wire,snake_wire_diameter,snake_wire_mtrl_formula,if_hard_around,hard_around_mtrl_formula,
+                            hard_around_hr_formula,if_pocket_around,pocket_around_spring_formula,pocket_around_fabrics_formula,if_side_iron,side_iron_mtrl_formula,
+                            side_iron_hr_formula,glue_mtrl_formula,if_rsORwa,rsORwa_mtrl_formula,rsORwa_hr_formula,if_sponge_drilling,sponge_drilling_hr_formula,
+                            fork_mtrl_formula,fork_hr_formula,cnail_mtrl_formula,cnail_hr_formula,sponge_mtrl_formula,sponge_hr_formula,edge_mtrl_formula,
+                            edge_hr_formula,bz_mtrl_formula,felt_mtrl_formula,felt_hr_formula,packet_mtrl_formula,packet_hr_formula,sponge_mtrl_tc_formula,
+                            spring_weight_formula,side_iron_weight_formula,hard_around_weight_formula,fabrics1_weight_formula,fabrics2_weight_formula,
+                            felt_weight_formula,cnail_weight_formula,sponge_weight_formula,sponge_weight_tc_formula,edge_weight_formula,fork_weight_formula";
+                            DbSqlHelper.Update(cmd, "u_bednet_type", null, request.bednet, "bednettypeid", fields);
+                        }
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 96 - 0
JLHHJSvr/Excutor/SaveDeptExcutor.cs

@@ -0,0 +1,96 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class SaveDeptExcutor : ExcutorBase<SaveDeptRequest, SaveDeptResponse>
+    {
+        protected override void ExcuteInternal(SaveDeptRequest request, object state, SaveDeptResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+
+            if (request.dept == null)
+            {
+                rslt.ErrMsg = "未提交部门信息";
+                return;
+            }
+
+            if (string.IsNullOrEmpty(request.dept.deptname))
+            {
+                rslt.ErrMsg = "请录入部门名称!";
+                return;
+            }
+            if (request.dept.pricelistid == null || request.dept.pricelistid <= 0)
+            {
+                rslt.ErrMsg = "请选择价格表!";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                cmd.CommandText = @"SELECT COUNT(deptname) AS cnt FROM u_dept WHERE deptname = @deptname";
+                cmd.Parameters.Clear();
+                cmd.Parameters.AddWithValue("@deptname", request.dept.deptname);
+                var cnt = Convert.ToInt32(cmd.ExecuteScalar());
+                if (cnt > 0)
+                {
+                    throw new LJCommonException("存在重复部门名称,请检查!");
+                }
+
+                // 初始化属性
+                AutoInit.AutoInitS(cmd, request.dept);
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        var dtNow = DateTime.Now;
+
+                        if (request.dept.deptid == null || request.dept.deptid <= 0)
+                        {
+                            //新建
+                            request.dept.createtime = dtNow;
+                            request.dept.deptid = BllHelper.GetID(cmd, "u_dept");
+                            
+                            var fields = "deptid,deptname,profitrate,pricelistid,springtypeid,createtime,moneyrate,discount,flag,if_rate_auto,manage_amt,mtrltype";
+                            DbSqlHelper.Insert(cmd, "u_dept", null, request.dept, fields);
+                        }
+                        else
+                        {
+                            //修改
+                            request.dept.moddate = dtNow;
+                            request.dept.modemp = tokendata.username;
+
+                            var fields = "deptname,profitrate,pricelistid,springtypeid,moneyrate,discount,flag,if_rate_auto,manage_amt,mtrltype,moddate,modemp";
+                            DbSqlHelper.Update(cmd, "u_dept", null, request.dept, "deptid", fields);
+                        }
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 81 - 0
JLHHJSvr/Excutor/SaveMattressFormulaExcutor.cs

@@ -0,0 +1,81 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class SaveMattressFormulaExcutor : ExcutorBase<SaveMattressFormulaRequest, SaveMattressFormulaResponse>
+    {
+        protected override void ExcuteInternal(SaveMattressFormulaRequest request, object state, SaveMattressFormulaResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+
+            if (request.mattress == null)
+            {
+                rslt.ErrMsg = "未提交床垫类别定义信息";
+                return;
+            }
+
+            if (string.IsNullOrEmpty(request.mattress.sortcode))
+            {
+                rslt.ErrMsg = "床垫公式类别序号不能为空,请检查!";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                var dtNow = DateTime.Now;
+
+                AutoInit.AutoInitS(cmd, request.mattress);
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        if (request.mattress.formulaid <= 0)
+                        {
+                            request.mattress.formulaid = BllHelper.GetID(cmd, "u_mattress_formula");
+
+                            request.mattress.createtime = dtNow;
+                            request.mattress.createby = tokendata.username;
+
+                            var fields = @"formulaid,formulakind,formulatype,sortcode,if_mtrl,formula,usetype,if_packtype0,if_packtype1,if_packtype2,default_mtrlid,
+                                        createtime,createby,useformula,gydscrp,mtrltype";
+                            DbSqlHelper.Insert(cmd, "u_mattress_formula", null, request.mattress, fields);
+                        }
+                        else
+                        {
+                            //修改
+                            var fields = @"formulakind,formulatype,sortcode,if_mtrl,formula,usetype,if_packtype0,if_packtype1,if_packtype2,default_mtrlid,
+                                        useformula,gydscrp,mtrltype";
+                            DbSqlHelper.Update(cmd, "u_mattress_formula", null, request.mattress, "formulaid", fields);
+                        }
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 91 - 0
JLHHJSvr/Excutor/SaveMattressTypeExcutor.cs

@@ -0,0 +1,91 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class SaveMattressTypeExcutor : ExcutorBase<SaveMattressTypeRequest, SaveMattressTypeResponse>
+    {
+        protected override void ExcuteInternal(SaveMattressTypeRequest request, object state, SaveMattressTypeResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+
+            if (request.mattress == null)
+            {
+                rslt.ErrMsg = "未提交床垫类别定义信息";
+                return;
+            }
+
+            if (string.IsNullOrEmpty(request.mattress.typename))
+            {
+                rslt.ErrMsg = "床垫类别名称不能为空,请检查!";
+                return;
+            }
+
+            if (string.IsNullOrEmpty(request.mattress.typecode))
+            {
+                rslt.ErrMsg = "床垫类别编号不能为空,请检查!";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                var dtNow = DateTime.Now;
+
+                AutoInit.AutoInitS(cmd, request.mattress);
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        if (request.mattress.mattresstypeid <= 0)
+                        {
+                            request.mattress.mattresstypeid = BllHelper.GetID(cmd, "u_mattress_type");
+
+                            request.mattress.createtime = dtNow;
+                            request.mattress.createby = tokendata.username;
+
+                            var fields = @"mattresstypeid,typecode,typename,if_top_side,if_button_sdie,if_big_side,formula_big_side,if_small_side,
+                                        formula_small_side,if_v_side,formula_v_side,if_in_cloth_cover,if_out_cloth_cover,biandaiqty,hrcost_formula,dianceng_sort,
+                                        dianceng_area,if_small_side2,if_small_side3,if_v_side2,if_v_side3,formula_big_side,formula_small_side,formula_v_side,
+                                        zhizao_amt,guanli_rate,createtime,createby";
+                            DbSqlHelper.Insert(cmd, "u_mattress_type", null, request.mattress, fields);
+                        }
+                        else
+                        {
+                            //修改
+                            var fields = @"typecode,typename,if_top_side,if_button_sdie,if_big_side,formula_big_side,if_small_side,
+                                        formula_small_side,if_v_side,formula_v_side,if_in_cloth_cover,if_out_cloth_cover,biandaiqty,hrcost_formula,dianceng_sort,
+                                        dianceng_area,if_small_side2,if_small_side3,if_v_side2,if_v_side3,formula_big_side,formula_small_side,formula_v_side,
+                                        zhizao_amt,guanli_rate";
+                            DbSqlHelper.Update(cmd, "u_mattress_type", null, request.mattress, "mattresstypeid", fields);
+                        }
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 87 - 0
JLHHJSvr/Excutor/SaveProfitrateExcutor.cs

@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class SaveProfitrateExcutor : ExcutorBase<SaveProfitrateRequest, SaveProfitrateResponse>
+    {
+        protected override void ExcuteInternal(SaveProfitrateRequest request, object state, SaveProfitrateResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+
+            if (request.profitrate == null)
+            {
+                rslt.ErrMsg = "未提交工厂利润率信息";
+                return;
+            }
+
+            if (request.profitrate.profitrate < 0)
+            {
+                rslt.ErrMsg = "利润率有误,请检查!";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                var dtNow = DateTime.Now;
+
+                cmd.CommandText = @"SELECT COUNT(*) AS cnt
+                                    FROM u_factory_profitrate
+                                    WHERE u_factory_profitrate.deptid = @deptid
+	                                    AND u_factory_profitrate.bednettypeid_mattresstypeid = @typid
+	                                    AND u_factory_profitrate.bednet_or_mattress = @kind";
+                cmd.Parameters.Clear();
+                cmd.Parameters.AddWithValue("@deptid", request.profitrate.deptid);
+                cmd.Parameters.AddWithValue("@typid", request.profitrate.bednettypeid_mattresstypeid);
+                cmd.Parameters.AddWithValue("@kind", request.profitrate.bednet_or_mattress);
+                var cnt = Convert.ToInt32(cmd.ExecuteScalar());
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        if(cnt <= 0)
+                        {
+                            AutoInit.AutoInitS(cmd, request.profitrate);
+
+                            request.profitrate.createtime = dtNow;
+                            request.profitrate.createby = tokendata.username;
+
+                            var fields = "deptid,bednet_or_mattress,bednettypeid_mattresstypeid,createtime,profitrate,createby";
+                            DbSqlHelper.Insert(cmd, "u_factory_profitrate", null, request.profitrate, fields);
+                        } else
+                        {
+                            //修改
+                            var fields = "profitrate";
+                            DbSqlHelper.Update(cmd, "u_factory_profitrate", null, request.profitrate, "deptid,bednet_or_mattress,bednettypeid_mattresstypeid", fields);
+                        }
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 88 - 0
JLHHJSvr/Excutor/SaveWorkmanshipExcutor.cs

@@ -0,0 +1,88 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.LJException;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class SaveWorkmanshipExcutor : ExcutorBase<SaveWorkmanshipRequest, SaveWorkmanshipResponse>
+    {
+        protected override void ExcuteInternal(SaveWorkmanshipRequest request, object state, SaveWorkmanshipResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+
+            if (request.workmanship == null)
+            {
+                rslt.ErrMsg = "未提交工艺加点设置信息";
+                return;
+            }
+
+            if (request.workmanship.rate < 0)
+            {
+                rslt.ErrMsg = "利润率有误,请检查!";
+                return;
+            }
+
+            if(request.workmanship.deptid <= 0)
+            {
+                rslt.ErrMsg = "部门选择有误,请检查!";
+                return;
+            }
+
+            if (request.workmanship.mattresstypeid <= 0)
+            {
+                rslt.ErrMsg = "床垫类型选择有误,请检查!";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                var dtNow = DateTime.Now;
+
+                AutoInit.AutoInitS(cmd, request.workmanship);
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        if (request.workmanship.workmanshipid <= 0)
+                        {
+                            request.workmanship.workmanshipid = BllHelper.GetID(cmd, "u_workmanship_add");
+
+                            var fields = "workmanshipid,deptid,mattresstypeid,workmanshipname,formula,rate";
+                            DbSqlHelper.Insert(cmd, "u_workmanship_add", null, request.workmanship, fields);
+                        }
+                        else
+                        {
+                            //修改
+                            var fields = "deptid,mattresstypeid,formula,rate";
+                            DbSqlHelper.Update(cmd, "u_workmanship_add", null, request.workmanship, "workmanshipid", fields);
+                        }
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 13 - 1
JLHHJSvr/GlobalVar/GlobalVar.cs

@@ -106,7 +106,6 @@ namespace JLHHJSvr
                 excutorManager.AddMap("Login", typeof(LoginRequest), new LoginExcutor());//登陆
                 excutorManager.AddMap("GetSysUserFileString", typeof(GetSysUserFileStringRequest), new GetSysUserFileStringExcutor());
                 excutorManager.AddMap("SetSysUserFileString", typeof(SetSysUserFileStringRequest), new SetSysUserFileStringExcutor());
-
                 excutorManager.AddMap("CommonDynamicSelect", typeof(CommonDynamicSelectRequest), new CommonDynamicSelectExcutor());
 
                 excutorManager.AddMap("GetFileByMd5", typeof(GetFileByMd5Request), new GetFileByMd5Excutor());//根据md5获取文件
@@ -117,6 +116,19 @@ namespace JLHHJSvr
                 excutorManager.AddMap("GetSysFuncPwr", typeof(GetSysFuncPwrRequest), new GetSysFuncPwrExcutor());//获取权限列表
                 excutorManager.AddMap("GetDept", typeof(GetDeptRequest), new GetDeptExcutor());//获取部门列表
                 excutorManager.AddMap("GetPriceList", typeof(GetPriceListRequest), new GetPriceListExcutor());//获取价格表列表
+                excutorManager.AddMap("SaveDept", typeof(SaveDeptRequest), new SaveDeptExcutor());//保存部门
+                excutorManager.AddMap("DeleteDept", typeof(DeleteDeptRequest), new DeleteDeptExcutor());//删除部门
+                excutorManager.AddMap("SaveProfitrate", typeof(SaveProfitrateRequest), new SaveProfitrateExcutor());// 保存工厂利润率
+                excutorManager.AddMap("SaveWorkmanship", typeof(SaveWorkmanshipRequest), new SaveWorkmanshipExcutor());// 保存工艺加点设置
+                excutorManager.AddMap("DeleteWorkmanship", typeof(DeleteWorkmanshipRequest), new DeleteWorkmanshipExcutor());// 删除工艺加点设置
+                excutorManager.AddMap("SaveBedNetType", typeof(SaveBedNetTypeRequest), new SaveBedNetTypeExcutor());// 保存床网类别定义
+                excutorManager.AddMap("DeleteBedNetType", typeof(DeleteBedNetTypeRequest), new DeleteBedNetTypeExcutor());// 保存床网类别定义
+
+                excutorManager.AddMap("SaveMattressType", typeof(SaveMattressTypeRequest), new SaveMattressTypeExcutor());// 保存床网类别定义
+                excutorManager.AddMap("DeleteMattressType", typeof(DeleteMattressTypeRequest), new DeleteMattressTypeExcutor());// 保存床网类别定义
+
+                excutorManager.AddMap("SaveMattressFormula", typeof(SaveMattressFormulaRequest), new SaveMattressFormulaExcutor());// 保存床网类别定义
+                excutorManager.AddMap("DeleteMattressFormula", typeof(DeleteMattressFormulaRequest), new DeleteMattressFormulaExcutor());// 保存床网类别定义
 
             }
             catch (Exception ex)

+ 33 - 3
JLHHJSvr/JLHHJSvr.csproj

@@ -65,19 +65,35 @@
     <Compile Include="Com\APP\TmpSavePermit.cs" />
     <Compile Include="Com\CommonDynamicSelect.cs" />
     <Compile Include="Com\DelCarList.cs" />
+    <Compile Include="Com\DeleteBedNetType.cs" />
+    <Compile Include="Com\DeleteDept.cs" />
+    <Compile Include="Com\DeleteMattressFormula.cs" />
+    <Compile Include="Com\DeleteMattressType.cs" />
+    <Compile Include="Com\DeleteWorkmanship.cs" />
     <Compile Include="Com\DelPermitList.cs" />
     <Compile Include="Com\DelRoadList.cs" />
     <Compile Include="Com\DelUserList.cs" />
     <Compile Include="Com\GetBillList.cs" />
     <Compile Include="Com\GetCarList.cs" />
+    <Compile Include="Com\GetDept.cs" />
     <Compile Include="Com\GetDwLayout.cs" />
     <Compile Include="Com\GetFileByMd5.cs" />
     <Compile Include="Com\GetPriceList.cs" />
-    <Compile Include="Com\GetDept.cs" />
     <Compile Include="Com\GetSysFuncPwr.cs" />
     <Compile Include="Com\Model\sys_func_pwr.cs" />
+    <Compile Include="Com\Model\u_bednet_type.cs" />
     <Compile Include="Com\Model\u_dept.cs" />
+    <Compile Include="Com\Model\u_factory_profitrate.cs" />
+    <Compile Include="Com\Model\u_mattress_formula.cs" />
+    <Compile Include="Com\Model\u_mattress_type.cs" />
     <Compile Include="Com\Model\u_pricelist.cs" />
+    <Compile Include="Com\Model\u_workmanship_add.cs" />
+    <Compile Include="Com\SaveBedNetType.cs" />
+    <Compile Include="Com\SaveDept.cs" />
+    <Compile Include="Com\SaveMattressFormula.cs" />
+    <Compile Include="Com\SaveMattressType.cs" />
+    <Compile Include="Com\SaveProfitrate.cs" />
+    <Compile Include="Com\SaveWorkmanship.cs" />
     <Compile Include="Com\SetSysUserFileString.cs" />
     <Compile Include="Com\GetOptionList.cs" />
     <Compile Include="Com\GetPermitList.cs" />
@@ -132,18 +148,23 @@
     <Compile Include="Excutor\APP\TmpSavePermitExcutor.cs" />
     <Compile Include="Excutor\CommonDynamicSelectExcutor.cs" />
     <Compile Include="Excutor\DelCarListExcutor.cs" />
+    <Compile Include="Excutor\DeleteBedNetTypeExcutor.cs" />
+    <Compile Include="Excutor\DeleteDeptExcutor.cs" />
+    <Compile Include="Excutor\DeleteMattressFormulaExcutor.cs" />
+    <Compile Include="Excutor\DeleteMattressTypeExcutor.cs" />
+    <Compile Include="Excutor\DeleteWorkmanshipExcutor.cs" />
     <Compile Include="Excutor\DelPermitListExcutor.cs" />
     <Compile Include="Excutor\DelRoadListExcutor.cs" />
     <Compile Include="Excutor\DelUserListExcutor.cs" />
     <Compile Include="Excutor\GetBillListExcutor.cs" />
     <Compile Include="Excutor\GetCarListExcutor.cs" />
+    <Compile Include="Excutor\GetDeptExcutor.cs" />
     <Compile Include="Excutor\GetDwLayoutExcutor.cs" />
     <Compile Include="Excutor\GetFileByMd5Excutor.cs" />
     <Compile Include="Excutor\GetOptionListExcutor.cs" />
     <Compile Include="Excutor\GetPermitListExcutor.cs" />
     <Compile Include="Excutor\GetRoadListExcutor.cs" />
     <Compile Include="Excutor\GetPriceListExcutor.cs" />
-    <Compile Include="Excutor\GetDeptExcutor.cs" />
     <Compile Include="Excutor\GetSysFuncPwrExcutor.cs" />
     <Compile Include="Excutor\GetUserListExcutor.cs" />
     <Compile Include="Excutor\GetUserPowerExcutor.cs" />
@@ -151,10 +172,16 @@
     <Compile Include="Excutor\LoginExcutor.cs" />
     <Compile Include="Excutor\ModPasswordExcutor.cs" />
     <Compile Include="Excutor\PostFileExcutor.cs" />
+    <Compile Include="Excutor\SaveBedNetTypeExcutor.cs" />
     <Compile Include="Excutor\SaveCarListExcutor.cs" />
+    <Compile Include="Excutor\SaveDeptExcutor.cs" />
+    <Compile Include="Excutor\SaveMattressFormulaExcutor.cs" />
+    <Compile Include="Excutor\SaveMattressTypeExcutor.cs" />
     <Compile Include="Excutor\SavePermitListExcutor.cs" />
+    <Compile Include="Excutor\SaveProfitrateExcutor.cs" />
     <Compile Include="Excutor\SaveRoadListExcutor.cs" />
     <Compile Include="Excutor\SaveUserListExcutor.cs" />
+    <Compile Include="Excutor\SaveWorkmanshipExcutor.cs" />
     <Compile Include="Excutor\SetDwLayoutExcutor.cs" />
     <Compile Include="Excutor\GetSysUserFileStringExcutor.cs" />
     <Compile Include="Excutor\SetSysUserFileStringExcutor.cs" />
@@ -290,6 +317,7 @@
     <Compile Include="TextLog\ILogger.cs" />
     <Compile Include="TextLog\Logger.cs" />
     <Compile Include="TextLog\SyncLogger.cs" />
+    <Compile Include="Tools\AutoInit.cs" />
     <Compile Include="Tools\ListEx.cs" />
     <Compile Include="Tools\ObjectHelper.cs" />
     <Compile Include="XML\XmlConfig.cs" />
@@ -327,7 +355,9 @@
     <PreBuildEvent>"$(SolutionDir)NetGitTool.exe" /before "$(ProjectDir)"</PreBuildEvent>
   </PropertyGroup>
   <PropertyGroup>
-    <PostBuildEvent>"$(SolutionDir)NetGitTool.exe" /after "$(ProjectDir)"</PostBuildEvent>
+    <PostBuildEvent>"$(SolutionDir)NetGitTool.exe" /after "$(ProjectDir)"
+if "$(ConfigurationName)" == "Release" rmdir /s /q "$(ProjectDir)$(OutDir)DataStore"
+if "$(ConfigurationName)" == "Release" Xcopy "$(ProjectDir)\DataStore\" "$(ProjectDir)$(OutDir)DataStore\" /E</PostBuildEvent>
   </PropertyGroup>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.

+ 53 - 0
JLHHJSvr/Tools/AutoInit.cs

@@ -0,0 +1,53 @@
+using JLHHJSvr.LJException;
+using System;
+using System.Data.SqlClient;
+using System.Diagnostics;
+using System.Text;
+
+namespace JLHHJSvr.Tools
+{
+    public class AutoInit
+    {
+        public static void AutoInitS <T>(SqlCommand cmd, T instance){
+            cmd.CommandText = @"SELECT COLUMN_NAME, IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @tableName";
+            cmd.Parameters.Clear();
+            cmd.Parameters.AddWithValue("@tableName", instance.GetType().Name);
+            using (var reader = cmd.ExecuteReader())
+            {
+                while (reader.Read())
+                {
+                    var column = Convert.ToString(reader["COLUMN_NAME"]).Trim();
+                    var isNullable = Convert.ToString(reader["IS_NULLABLE"]).Trim();
+
+                    var property = instance.GetType().GetProperty(column);
+
+                    if(property == null)
+                    {
+                        throw new LJCommonException($"数据库字段:{column}在模型中找不到相关属性!");
+                    }
+
+                    if (isNullable.Equals("NO") && property.GetValue(instance) == null)
+                    {
+                        var type = property.PropertyType;
+
+                        if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>))
+                        {
+                            type = type.GetGenericArguments()[0];
+                        }
+
+                        if (type.IsAssignableFrom(typeof(string)))
+                        {
+                            property.SetValue(instance, "");
+                        }
+                        else if (type.IsAssignableFrom(typeof(int))
+                            || type.IsAssignableFrom(typeof(decimal))
+                            || type.IsAssignableFrom(typeof(byte)))
+                        {
+                            property.SetValue(instance, Activator.CreateInstance(type));
+                        }
+                    }
+                }
+            }
+        }
+    }
+}