Forráskód Böngészése

1、新增床网清单功能(内测版)

MY 5 napja
szülő
commit
054df0efb9

+ 33 - 0
JLHHJSvr/Com/GetBedNetInterfaceList.cs

@@ -0,0 +1,33 @@
+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 GetBedNetInterfaceListRequest : ILJRequest<GetBedNetInterfaceListResponse>
+    {
+        public override string GetApiName()
+        {
+            return "GetBedNetInterfaceList";
+        }
+        /// <summary>
+        /// 登录token
+        /// </summary>
+        public string token { get; set; }
+        /// <summary>
+        /// 单据id
+        /// </summary>
+        public int? bednetid { get; set; }
+        public int? isEdit { get; set; }
+    }
+
+    public sealed class GetBedNetInterfaceListResponse : LJResponse
+    {
+        public u_bednet bednet { get; set; }
+        public List<u_bednet_interface> interfaceList { get; set; }
+        public List<u_mattress_interface_qd> qdList { get; set; }
+    }
+}

+ 23 - 0
JLHHJSvr/Com/Model/BaseInterface.cs

@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace JLHHJSvr.Com.Model
+{
+    public abstract class BaseInterface
+    {
+        public int? printid { get; set; }
+        public string itemname { get; set; }
+        public string bj_pzname { get; set; }
+        public string bj_namemx { get; set; }
+        public int? bj_inputtype { get; set; }
+        public string actual_size { get; set; }
+        public int? erp_pzid { get; set; }
+        public string erp_pzcode { get; set; }
+        public string erp_pzname { get; set; }
+        public string pzcode { get; set; }
+        public string pzname { get; set; }
+    }
+}

+ 45 - 0
JLHHJSvr/Com/Model/BaseInterfaceQd.cs

@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace JLHHJSvr.Com.Model
+{
+    public abstract class BaseInterfaceQd
+    {
+        public int? printid { get; set; }
+        public string itemname { get; set; }
+        public string bj_pzname { get; set; }
+        public string bj_pzname_mx { get; set; }
+        public string bj_pzname_mx_mx { get; set; }
+        public string wip_type { get; set; }
+        public int? mtrlid { get; set; }
+        public int? erp_mtrlid { get; set; }
+        public int? wrkgrpid { get; set; }
+        public int? wrkgrpid2 { get; set; }
+        public decimal? useqty { get; set; }
+        public string dscrp { get; set; }
+        public decimal? actual_useqty { get; set; }
+        public string qd_actual_size { get; set; }
+
+        #region 辅助
+        public string erp_mtrlcode { get; set; }
+        public string erp_mtrlname { get; set; }
+        public string erp_mtrlmode { get; set; }
+        public string erp_unit { get; set; }
+        public string erp_mtrlengname { get; set; }
+        public int? billtype { get; set; }
+        public int? formulaid { get; set; }
+        /// <summary>
+        /// 核价清单1的领料工组
+        /// </summary>
+        public string wrkgrpcode1 { get; set; }
+        /// <summary>
+        /// 核价清单2的领料工组
+        /// </summary>
+        public string wrkgrpcode2 { get; set; }
+        public string sonLossstr { get; set; }
+        #endregion
+    }
+}

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

@@ -206,5 +206,37 @@ namespace JLHHJSvr.Com.Model
         /// </summary>
         public int? if_stock_up { get; set; }
         #endregion
+
+        #region 床网清单新增字段
+        public byte? js2_flag { get; set; }
+
+        public int? erp_mtrlid { get; set; }
+        public int? erp_configcodetype { get; set; }
+        /// <summary>
+        /// 编码
+        /// </summary>
+        public string erp_mtrlcode { get; set; }
+        /// <summary>
+        /// 名称
+        /// </summary>
+        public string erp_mtrlname { get; set; }
+        /// <summary>
+        /// 规格
+        /// </summary>
+        public string erp_mtrlmode { get; set; }
+        public int? erp_mtrltypeid { get; set; }
+        /// <summary>
+        /// 类别
+        /// </summary>
+        public string erp_mtrltype { get; set; }
+        /// <summary>
+        /// 单位
+        /// </summary>
+        public string erp_mtrlunit { get; set; }
+        /// <summary>
+        /// 英文名
+        /// </summary>
+        public string erp_mtrlengname { get; set; }
+        #endregion
     }
 }

+ 14 - 0
JLHHJSvr/Com/Model/u_bednet_interface.cs

@@ -0,0 +1,14 @@
+using LJLib.DAL.SQL;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JLHHJSvr.Com.Model
+{
+    [PK(new[] { "bednetid", "printid" })]
+    public sealed class u_bednet_interface : BaseInterface
+    {
+        public int? bednetid { get; set; }
+    }
+}

+ 14 - 0
JLHHJSvr/Com/Model/u_bednet_interface_qd.cs

@@ -0,0 +1,14 @@
+using LJLib.DAL.SQL;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace JLHHJSvr.Com.Model
+{
+    [PK(new[] { "mattressid", "printid" })]
+    public sealed class u_bednet_interface_qd : BaseInterfaceQd
+    {
+        public int? bednetid { get; set; }
+    }
+}

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

@@ -7,23 +7,23 @@ using System.Text;
 namespace JLHHJSvr.Com.Model
 {
     [PK(new[] { "mattressid,printid"})]
-    public sealed class u_mattress_interface
+    public sealed class u_mattress_interface : BaseInterface
     {
         public int? mattressid { get; set; }
-        public int? printid { get; set; }
-        public string itemname { get; set; }
-        public string bj_pzname { get; set; }
-        public string bj_namemx { get; set; }
-        public int? bj_inputtype { get; set; }
-        public string actual_size { get; set; }
+        //public int? printid { get; set; }
+        //public string itemname { get; set; }
+        //public string bj_pzname { get; set; }
+        //public string bj_namemx { get; set; }
+        //public int? bj_inputtype { get; set; }
+        //public string actual_size { get; set; }
         public string sb_craft { get; set; }
         public string actual_size_sb { get; set; }
-        public int? erp_pzid { get; set; }
-        public string erp_pzcode { get; set; }
-        public string erp_pzname { get; set; }
+        //public int? erp_pzid { get; set; }
+        //public string erp_pzcode { get; set; }
+        //public string erp_pzname { get; set; }
         public decimal? ss_rate { get; set; }
         public decimal? ls_rate { get; set; }
-        public string pzcode { get; set; }
-        public string pzname { get; set; }
+        //public string pzcode { get; set; }
+        //public string pzname { get; set; }
     }
 }

+ 2 - 35
JLHHJSvr/Com/Model/u_mattress_interface_qd.cs

@@ -6,46 +6,13 @@ using System.Text;
 
 namespace JLHHJSvr.Com.Model
 {
-    [PK(new[] { "mattressid", "printid" })]
-    public sealed class u_mattress_interface_qd
+    [PK(new[] { "mattressid,printid" })]
+    public sealed class u_mattress_interface_qd : BaseInterfaceQd
     {
         public int? mattressid { get; set; }
-        public int? printid { get; set; }
-        public string itemname { get; set; }
-        public string bj_pzname { get; set; }
-        public string bj_pzname_mx { get; set; }
-        public string bj_pzname_mx_mx { get; set; }
-        public string wip_type { get; set; }
-        public int? mtrlid { get; set; }
-        public int? erp_mtrlid { get; set; }
-        public int? wrkgrpid { get; set; }
-        public int? wrkgrpid2 { get; set; }
-        public decimal? useqty { get; set; }
-        public string dscrp { get; set; }
-        public decimal? actual_useqty { get; set; }
-        public string qd_actual_size { get; set; }
         public decimal? qd_pfgroupqty { get; set; }
         public decimal? ss_rate { get; set; }
         public decimal? ls_rate { get; set; }
         public decimal? sh_rate { get; set; }
-
-        #region 辅助
-        public string erp_mtrlcode { get; set; }
-        public string erp_mtrlname { get; set; }
-        public string erp_mtrlmode { get; set; }
-        public string erp_unit { get; set; }
-        public string erp_mtrlengname { get; set; }
-        public int? billtype { get; set; }
-        public int? formulaid { get; set; }
-        /// <summary>
-        /// 核价清单1的领料工组
-        /// </summary>
-        public string wrkgrpcode1 { get; set; }
-        /// <summary>
-        /// 核价清单2的领料工组
-        /// </summary>
-        public string wrkgrpcode2 { get; set; }
-        public string sonLossstr { get; set; }
-        #endregion
     }
 }

+ 35 - 0
JLHHJSvr/Com/RefreshBedNetInterface.cs

@@ -0,0 +1,35 @@
+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 RefreshBedNetInterfaceRequest : ILJRequest<RefreshBedNetInterfaceResponse>
+    {
+        public override string GetApiName()
+        {
+            return "RefreshBedNetInterface";
+        }
+        /// <summary>
+        /// 登录token
+        /// </summary>
+        public string token { get; set; }
+        /// <summary>
+        /// 单据id
+        /// </summary>
+        public int? bednetid { get; set; }
+        /// <summary>
+        /// 当前选择的分类id
+        /// </summary>
+        public int? configcodetype { get; set; }
+        public byte? isPz { get; set; }
+    }
+
+    public sealed class RefreshBedNetInterfaceResponse : LJResponse
+    {
+        public List<u_bednet_interface> mxList { get; set; }
+    }
+}

+ 32 - 0
JLHHJSvr/Com/RefreshBedNetInterfaceQd.cs

@@ -0,0 +1,32 @@
+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 RefreshBedNetInterfaceQdRequest : ILJRequest<RefreshBedNetInterfaceQdResponse>
+    {
+        public override string GetApiName()
+        {
+            return "RefreshBedNetInterfaceQd";
+        }
+        /// <summary>
+        /// 登录token
+        /// </summary>
+        public string token { get; set; }
+        /// <summary>
+        /// 单据id
+        /// </summary>
+        public int? bednetid { get; set; }
+        public byte? isPz { get; set; }
+        public byte? isCheck { get; set; }
+    }
+
+    public sealed class RefreshBedNetInterfaceQdResponse : LJResponse
+    {
+        public List<u_bednet_interface_qd> mxList { get; set; }
+    }
+}

+ 29 - 0
JLHHJSvr/Com/SaveBedNetInterface.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 SaveBedNetInterfaceRequest : ILJRequest<SaveBedNetInterfaceResponse>
+    {
+        public override string GetApiName()
+        {
+            return "SaveBedNetInterface";
+        }
+        public string token { get; set; }
+        /// <summary>
+        /// 半成品信息:主表
+        /// </summary>
+        public u_bednet bednet { get; set; }
+        public List<u_bednet_interface> interfaceList { get; set; }
+        public List<u_bednet_interface_qd> qdList { get; set; }
+    }
+
+    public sealed class SaveBedNetInterfaceResponse : LJResponse
+    {
+        public u_bednet bednet { get; set; }
+    }
+}

+ 48 - 0
JLHHJSvr/DataStore/web_bednet_interface_qd.xml

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT u_bednet_interface_qd.bednetid
+	,u_bednet_interface_qd.printid
+	,u_bednet_interface_qd.itemname
+	,u_bednet_interface_qd.bj_pzname
+	,u_bednet_interface_qd.bj_pzname_mx
+	,u_bednet_interface_qd.bj_pzname_mx_mx
+	,u_bednet_interface_qd.mtrlid
+	,u_bednet_interface_qd.erp_mtrlid
+	,u_bednet_interface_qd.useqty
+	,u_bednet_interface_qd.dscrp
+	,u_mtrl_price.name AS mtrlname
+	,u_bednet_interface_qd.actual_useqty
+	,u_bednet_interface_qd.qd_actual_size
+	,u_bednet_interface_qd.wrkgrpid
+	,Space(200) AS erp_mtrlcode
+	,Space(200) AS erp_mtrlname
+	,Space(200) AS erp_mtrlmode
+	,Space(200) AS erp_unit
+	,Space(200) AS mtrlengname
+FROM u_bednet_interface_qd
+LEFT JOIN u_mtrl_price ON u_mtrl_price.mtrlid = u_bednet_interface_qd.mtrlid
+  </selectstr>
+  <where>
+	<when notnull="@bednetid">
+		u_bednet_interface_qd.bednetid = @bednetid
+	</when>
+  </where>
+  <displayfields>
+    <field field="printid">排序</field>
+    <field field="itemname">项目</field>
+    <field field="bj_pzname">二级项目</field>
+    <field field="bj_pzname_mx">明细项目</field>
+    <field field="bj_pzname_mx_mx">二级明细项目</field>
+    <field field="erp_mtrlcode">L1物料编码</field>
+    <field field="mtrlengname">自定义2</field>
+    <field field="erp_mtrlname">L1物料名称</field>
+    <field field="erp_mtrlmode">L1物料规格</field>
+    <field field="erp_unit">L1物料单位</field>
+    <field field="useqty" datatype="number">参考用料量</field>
+    <field field="actual_useqty" datatype="number">实际用量</field>
+    <field field="wrkgrpid">领用工组</field>
+    <field field="qd_actual_size">实际尺寸</field>
+    <field field="dscrp">备注</field>
+  </displayfields>
+</select>

+ 31 - 0
JLHHJSvr/DataStore/web_bednet_interface_yw.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT bednetid
+	,printid
+	,itemname
+	,bj_pzname
+	,bj_namemx
+	,actual_size
+	,erp_pzid
+	,Space(200) AS erp_pzcode
+	,Space(200) AS erp_pzname
+	,bj_inputtype AS erp_inputtype
+FROM u_bednet_interface
+  </selectstr>
+  <where>
+	<when notnull="@bednetid">
+		u_bednet_interface.bednetid = @bednetid
+	</when>
+  </where>
+  <displayfields>
+    <field field="printid">排序</field>
+    <field field="itemname">项目</field>
+    <field field="bj_pzname">核价_配置名称</field>
+    <field field="erp_pzcode">ERP配置编码</field>
+    <field field="erp_pzname">ERP配置名称</field>
+    <field field="erp_inputtype" mapper="inputtype">录入类型</field>
+    <field field="bj_namemx">明细名称</field>
+    <field field="actual_size">生产尺寸</field>
+  </displayfields>
+</select>

+ 105 - 0
JLHHJSvr/DataStore/web_bednet_interfacelist.xml

@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<select>
+  <selectstr>
+SELECT u_bednet.bednetid
+	,u_bednet.bednettypeid
+	,u_bednet.bednetcode
+	,u_bednet.bednetname
+	,u_bednet.deptid
+	,u_bednet.mattress_width
+	,u_bednet.mattress_height
+	,u_bednet.mattress_length
+	,u_bednet.if_doublenet
+	,u_bednet.if_doublespring
+	,u_bednet.if_side_iron
+	,u_bednet.if_jb
+	,u_bednet.iffork
+	,u_bednet.if_rsORwa
+	,u_bednet.if_sponge_drilling
+	,u_bednet.packtype
+	,u_bednet.packqty
+	,u_bednet.total_hr_cost
+	,u_bednet.total_fees_cost
+	,u_bednet.total_cost
+	,u_bednet.taxrate
+	,u_bednet.taxes
+	,u_bednet.commissionrate
+	,u_bednet.commission
+	,u_bednet.fob
+	,u_bednet.profitrate
+	,u_bednet.nottax_factory_cost
+	,u_bednet.nottax_dept_cost
+	,u_bednet.dept_cost
+	,u_bednet.foreign_cost
+	,u_bednet.extras_cost
+	,u_bednet.dept_profitrate
+	,u_bednet.moneyrate
+	,u_bednet.flag
+	,u_bednet.createtime
+	,u_bednet.createby
+	,u_bednet.erp_mtrlid
+    ,u_bednet.js2_flag
+    ,u_bednet.js2_auditingrep
+    ,u_bednet.js2_auditingdate
+    ,u_bednet.creatmtrl_flag
+    ,u_bednet.creatmtrl_auditingrep
+    ,u_bednet.creatmtrl_auditingdate
+    ,u_bednet.creatmtrlqd_flag
+    ,u_bednet.creatmtrlqd_auditingrep
+    ,u_bednet.creatmtrlqd_auditingdate
+    ,u_bednet.erp_mtrlcode
+    ,u_bednet.erp_mtrlengname
+    ,u_bednet.erp_configcodetype
+FROM u_bednet
+  </selectstr>
+  <where>
+	<when notnull="@arg_deptid">
+		u_bednet.deptid=@arg_deptid
+	</when>
+	<when notnull="@creatmtrlqd_flag" creatmtrlqd_flag!="-1">
+		u_bednet.creatmtrlqd_flag = @creatmtrlqd_flag
+	</when>
+	<when notnull="@creatmtrl_flag" creatmtrl_flag!="-1">
+		u_bednet.creatmtrl_flag = @creatmtrl_flag
+	</when>
+	<when notnull="@js2_flag" js2_flag!="-1">
+		u_bednet.js2_flag = @js2_flag
+	</when>
+	<when $user_outrepstr!="-1">
+		u_bednet.createby in ($$user_outrepstr$$)
+	</when>
+	<when $user_deptstr!="-1">
+		u_bednet.deptid in ($$user_deptstr$$)
+	</when>
+	<when notnull="@arg_search">
+		u_bednet.bednetcode like '%'+ @arg_search + '%' OR u_bednet.bednetname like '%'+ @arg_search + '%' OR u_bednet.erp_mtrlengname like '%'+ @arg_search + '%' OR u_bednet.erp_mtrlcode like '%'+ @arg_search + '%'
+	</when>
+  </where>
+  <orderstr>bednetid DESC</orderstr>
+  <displayfields>
+    <field field="js2_flag" datatype="checkbox">清单补充审核</field>
+    <field field="creatmtrl_flag" datatype="checkbox">生成L1产品</field>
+    <field field="creatmtrlqd_flag" datatype="checkbox">生成L1清单</field>
+    <field field="erp_mtrlcode">L1物料编码</field>
+    <field field="deptid" mapper="">部门</field>
+    <field field="bednetcode">报价唯一码</field>
+    <field field="bednetname">床网名称</field>
+    <field field="bednettypeid" mapper="">床网类别</field>
+    <field field="mattress_width" datatype="number">床网宽/CM</field>
+    <field field="mattress_length" datatype="number">床网长/CM</field>
+    <field field="mattress_height" datatype="number">床网高/CM</field>
+    <field field="createby">登记人</field>
+    <field field="createtime" datatype="datetime">登记时间</field>
+    <field field="js2_auditingrep">清单补充审核人</field>
+    <field field="js2_auditingdate" datatype="datetime">清单补充审核时间</field>
+    <field field="creatmtrl_auditingrep">生成L1产品人</field>
+    <field field="creatmtrl_auditingdate" datatype="datetime">生成L1产品时间</field>
+    <field field="creatmtrlqd_auditingrep">生成L1清单人</field>
+    <field field="creatmtrlqd_auditingdate" datatype="datetime">生成L1清单时间</field>
+    <field field="taxrate" datatype="number">税率</field>
+    <field field="fob" datatype="number">Fob</field>
+    <field field="taxes" datatype="number">税金</field>
+    <field field="erp_mtrlengname">原物料编码</field>
+    <field field="erp_configcodetype">ERP配置类型</field>
+  </displayfields>
+</select>

+ 191 - 0
JLHHJSvr/Excutor/GetBedNetInterfaceListExcutor.cs

@@ -0,0 +1,191 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using DirectService.Tools;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.Com.Model;
+using JLHHJSvr.Helper;
+using JLHHJSvr.LJException;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class GetBedNetInterfaceListExcutor : ExcutorBase<GetBedNetInterfaceListRequest, GetBedNetInterfaceListResponse>
+    {
+        protected override void ExcuteInternal(GetBedNetInterfaceListRequest request, object state, GetBedNetInterfaceListResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.bednetid == null || request.bednetid <= 0)
+            {
+                rslt.ErrMsg = "床网id有误,请检查!";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                cmd.CommandText = @"SELECT u_bednet.bednetid
+	                                    ,u_bednet.bednettypeid
+	                                    ,u_bednet.deptid
+	                                    ,u_bednet.mattress_width
+	                                    ,u_bednet.mattress_height
+	                                    ,u_bednet.mattress_length
+	                                    ,u_bednet.if_doublenet
+	                                    ,u_bednet.if_doublespring
+	                                    ,u_bednet.if_side_iron
+	                                    ,u_bednet.if_jb
+	                                    ,u_bednet.iffork
+	                                    ,u_bednet.if_rsORwa
+	                                    ,u_bednet.if_sponge_drilling
+	                                    ,u_bednet.packtype
+	                                    ,u_bednet.packqty
+	                                    ,u_bednet.total_hr_cost
+	                                    ,u_bednet.total_fees_cost
+	                                    ,u_bednet.total_cost
+	                                    ,u_bednet.taxrate
+	                                    ,u_bednet.taxes
+	                                    ,u_bednet.commissionrate
+	                                    ,u_bednet.commission
+	                                    ,u_bednet.fob
+	                                    ,u_bednet.profitrate
+	                                    ,u_bednet.nottax_factory_cost
+	                                    ,u_bednet.nottax_dept_cost
+	                                    ,u_bednet.dept_cost
+	                                    ,u_bednet.foreign_cost
+	                                    ,u_bednet.extras_cost
+	                                    ,u_bednet.dept_profitrate
+	                                    ,u_bednet.moneyrate
+	                                    ,u_bednet.flag
+	                                    ,u_bednet.createtime
+	                                    ,u_bednet.createby
+                                        ,u_bednet.erp_mtrlid
+                                        ,u_bednet.js2_flag
+                                        ,u_bednet.js2_auditingrep
+                                        ,u_bednet.js2_auditingdate
+                                        ,u_bednet.creatmtrl_flag
+                                        ,u_bednet.creatmtrl_auditingrep
+                                        ,u_bednet.creatmtrl_auditingdate
+                                        ,u_bednet.creatmtrlqd_flag
+                                        ,u_bednet.creatmtrlqd_auditingrep
+                                        ,u_bednet.creatmtrlqd_auditingdate
+                                        ,u_bednet.erp_mtrlcode
+                                        ,u_bednet.erp_mtrlengname
+                                        ,u_bednet.erp_configcodetype
+                                    FROM u_bednet
+                                    WHERE u_bednet.bednetid = @bednetid";
+                cmd.Parameters.Clear();
+                cmd.Parameters.AddWithValue("@bednetid", request.bednetid);
+                using (var reader = cmd.ExecuteReader())
+                {
+                    if (reader.Read())
+                    {
+
+                        //var _mtrlmode = Convert.ToString(reader["erp_mtrlmode"]);
+                        //if (string.IsNullOrEmpty(_mtrlmode))
+                        //{
+                        //    _mtrlmode = Convert.ToInt32(reader["mattress_width"]) + "*" + Convert.ToInt32(reader["mattress_length"]) + "*" + Convert.ToInt32(reader["mattress_height"]);
+                        //}
+                        var _mtrlname = Convert.ToString(reader["erp_mtrlname"]);
+                        if (string.IsNullOrEmpty(_mtrlname))
+                        {
+                            _mtrlname = Convert.ToString(reader["mattressname"]);
+                        }
+
+                        rslt.bednet = new u_bednet()
+                        {
+                            bednetid = request.bednetid.Value,
+                            erp_mtrlid = Convert.ToInt32(reader["erp_mtrlid"]),
+                            deptid = Convert.ToInt32(reader["deptid"]),
+                            bednetname = Convert.ToString(reader["mattressname"]),
+                            bednetcode = Convert.ToString(reader["mattresscode"]),
+                            mattress_width = Convert.ToInt32(reader["mattress_width"]),
+                            mattress_length = Convert.ToInt32(reader["mattress_length"]),
+                            mattress_height = Convert.ToInt32(reader["mattress_height"]),
+                            erp_configcodetype = Convert.ToInt32(reader["erp_configcodetype"]),
+                            erp_mtrltypeid = Convert.ToInt32(reader["erp_mtrltypeid"]),
+                            erp_mtrlcode = Convert.ToString(reader["erp_mtrlcode"]),
+                            erp_mtrlname = _mtrlname,
+                            //erp_mtrlmode = _mtrlmode,
+                            erp_mtrlunit = Convert.ToString(reader["erp_mtrlunit"]),
+                            erp_mtrlengname = Convert.ToString(reader["erp_mtrlengname"]),
+                            erp_mtrltype = Convert.ToString(reader["erp_mtrltype"]),
+                            js2_flag = Convert.ToByte(reader["js2_flag"])
+                        };
+                    }
+                    else
+                    {
+                        rslt.ErrMsg = "无法找到床网报价数据,请确认";
+                        return;
+                    }
+                }
+
+                if (request.isEdit == 1)
+                {
+                    if (rslt.bednet.erp_configcodetype <= 0)
+                    {
+                        cmd.CommandText = @"SELECT TOP 1 u_configure_type.contfigtypeid
+	                                    ,u_configure_type.contfigtypename
+	                                    ,u_configure_type.contfigtype
+	                                    ,u_configure_type.usechflag
+	                                    ,u_configure_type.flag
+	                                    ,u_configure_type.auditemp
+	                                    ,u_configure_type.auditdate
+                                    FROM u_configure_type";
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@empid", tokendata.empid);
+                        cmd.Parameters.AddWithValue("@dwname", "dw_mattress_interface_yw_edit");
+                        cmd.Parameters.AddWithValue("@itemname", "erp_configcodetype");
+                        using (var readerItem = cmd.ExecuteReader())
+                        {
+                            if (readerItem.Read())
+                            {
+                                rslt.bednet.erp_configcodetype = Convert.ToInt32(readerItem["contfigtypeid"]);
+                            }
+                        }
+                    }
+
+                    if (rslt.bednet.erp_mtrltypeid <= 0)
+                    {
+                        cmd.CommandText = @"SELECT itemvalue FROM sys_user_filestring WHERE dwname = @dwname AND itemname = @itemname AND empid = @empid";
+                        cmd.Parameters.Clear();
+                        cmd.Parameters.AddWithValue("@empid", tokendata.empid);
+                        cmd.Parameters.AddWithValue("@dwname", "dw_mattress_interface_yw_edit");
+                        cmd.Parameters.AddWithValue("@itemname", "mtrltypeid");
+                        using (var readerItem = cmd.ExecuteReader())
+                        {
+                            if (readerItem.Read())
+                            {
+                                rslt.bednet.erp_mtrltypeid = Convert.ToInt32(readerItem["itemvalue"]);
+                            }
+                        }
+                    }
+
+                    if (rslt.bednet.erp_mtrlunit == "")
+                    {
+                        rslt.bednet.erp_mtrlunit = "张";
+                    }
+                }
+
+                var interfaceHelper = HelperBase.GetHelper<InterfaceHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
+
+                var interfaceList = interfaceHelper.GetBedNetInterfaceList(request.bednetid.Value);
+                var qdList = interfaceHelper.GetMattressInterfaceQdList(request.bednetid.Value);
+
+                interfaceHelper.InterfaceFindERPPrdPf(qdList, interfaceList);
+
+                rslt.interfaceList = interfaceList;
+                rslt.qdList = qdList;
+            }
+        }
+    }
+}

+ 86 - 0
JLHHJSvr/Excutor/RefreshBedNetInterfaceExcutor.cs

@@ -0,0 +1,86 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.Com.Model;
+using JLHHJSvr.Helper;
+using JLHHJSvr.LJException;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class RefreshBedNetInterfaceExcutor : ExcutorBase<RefreshBedNetInterfaceRequest, RefreshBedNetInterfaceResponse>
+    {
+        protected override void ExcuteInternal(RefreshBedNetInterfaceRequest request, object state, RefreshBedNetInterfaceResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.bednetid == null || request.bednetid <= 0)
+            {
+                rslt.ErrMsg = "床网id有误,请检查!";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                var copy_list = new List<u_mattress_interface>();
+
+                var selectStr = @"SELECT bednetid
+	                            ,printid
+	                            ,itemname
+	                            ,bj_pzname
+	                            ,bj_namemx
+	                            ,actual_size
+	                            ,erp_pzid
+	                            ,Space(200) AS erp_pzcode
+	                            ,Space(200) AS erp_pzname
+	                            ,bj_inputtype AS erp_inputtype
+                            FROM u_bednet_interface";
+                DbSqlHelper.SelectJoin(cmd, selectStr, "bednetid = @bednetid", new Dictionary<string, object>() { { "@bednetid", request.bednetid } }, "printid", "bednetid,printid,itemname,bj_pzname,bj_namemx,actual_size,erp_pzid,ss_rate,ls_rate,bj_inputtype", 0, 0, copy_list);
+
+                var interfaceHelper = HelperBase.GetHelper<InterfaceHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
+
+                var interfaceList = interfaceHelper.RefreshBedNetInterfaceList(request.bednetid.Value, request.configcodetype.Value);
+
+                if (request.isPz != null && request.isPz == 1)
+                {
+                    var copyDict = copy_list.Where(mx2 => mx2.erp_pzid > 0)
+                                .ToDictionary(mx2 => mx2.erp_pzid, mx2 => mx2);
+
+                    foreach (var mx in interfaceList)
+                    {
+                        if (mx.erp_pzid > 0 && copyDict.TryGetValue(mx.erp_pzid, out var mx2))
+                        {
+                            if (mx.bj_inputtype != 2 || (mx.bj_inputtype == 2 && mx2.bj_inputtype == 1))
+                            {
+                                mx.bj_namemx = mx2.bj_namemx;
+                                mx.actual_size = mx2.actual_size;
+
+                                if (mx.bj_inputtype == 2 && mx2.bj_inputtype == 1)
+                                {
+                                    mx.bj_inputtype = 1;
+                                }
+                            }
+                            else
+                            {
+                                mx.actual_size = mx2.actual_size;
+                            }
+                        }
+                    }
+                }
+
+                rslt.mxList = interfaceList;
+            }
+        }
+    }
+}

+ 114 - 0
JLHHJSvr/Excutor/RefreshBedNetInterfaceQdExcutor.cs

@@ -0,0 +1,114 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com;
+using JLHHJSvr.Com.Model;
+using JLHHJSvr.Helper;
+using JLHHJSvr.LJException;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class RefreshBedNetInterfaceQdExcutor : ExcutorBase<RefreshBedNetInterfaceQdRequest, RefreshBedNetInterfaceQdResponse>
+    {
+        protected override void ExcuteInternal(RefreshBedNetInterfaceQdRequest request, object state, RefreshBedNetInterfaceQdResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.bednetid == null || request.bednetid <= 0)
+            {
+                rslt.ErrMsg = "床网id有误,请检查!";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                var mattress = new u_mattress() { mattressid = request.bednetid.Value };
+                DbSqlHelper.SelectOne(cmd, mattress, "js2_flag");
+
+                if (request.isCheck == 1 && mattress.js2_flag == 1)
+                {
+                    throw new LJCommonException("床网已技术2审核,不能重新生成!");
+                }
+
+                var copy_list = new List<u_bednet_interface_qd>();
+
+                var selectStr = @"SELECT u_bednet_interface_qd.bednetid
+	                                ,u_bednet_interface_qd.printid
+	                                ,u_bednet_interface_qd.itemname
+	                                ,u_bednet_interface_qd.bj_pzname
+	                                ,u_bednet_interface_qd.bj_pzname_mx
+	                                ,u_bednet_interface_qd.bj_pzname_mx_mx
+	                                ,u_bednet_interface_qd.mtrlid
+	                                ,u_bednet_interface_qd.erp_mtrlid
+	                                ,u_bednet_interface_qd.useqty
+	                                ,u_bednet_interface_qd.dscrp
+	                                ,u_mtrl_price.name AS mtrlname
+	                                ,u_bednet_interface_qd.actual_useqty
+	                                ,u_bednet_interface_qd.qd_actual_size
+	                                ,u_bednet_interface_qd.wrkgrpid
+	                                ,Space(200) AS erp_mtrlcode
+	                                ,Space(200) AS erp_mtrlname
+	                                ,Space(200) AS erp_mtrlmode
+	                                ,Space(200) AS erp_unit
+	                                ,Space(200) AS mtrlengname
+                                FROM u_bednet_interface_qd
+                                LEFT JOIN u_mtrl_price ON u_mtrl_price.mtrlid = u_bednet_interface_qd.mtrlid";
+                var outputFields = "bednetid,printid,itemname,bj_pzname,bj_pzname_mx,bj_pzname_mx_mx,mtrlid,erp_mtrlid,useqty,dscrp,mtrlname,actual_useqty,qd_actual_size,qd_pfgroupqty,wrkgrpid,ss_rate,ls_rate,sh_rate,formulaid";
+                DbSqlHelper.SelectJoin(cmd, selectStr, "bednetid = @bednetid", new Dictionary<string, object>() { { "@bednetid", request.bednetid } }, "printid", outputFields, 0, 0, copy_list);
+
+                var interfaceHelper = HelperBase.GetHelper<InterfaceHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
+
+                var qdList = interfaceHelper.RefreshBedNetInterfaceQdList(request.bednetid.Value);
+
+                if (request.isPz != null && request.isPz == 1)
+                {
+                    var copyDict = new Dictionary<Tuple<string, string, string>, u_bednet_interface_qd>();
+
+                    foreach (var mx2 in copy_list)
+                    {
+                        var key = Tuple.Create(mx2.itemname, mx2.bj_pzname, mx2.bj_pzname_mx);
+                        if (!copyDict.ContainsKey(key))
+                        {
+                            copyDict[key] = mx2;
+                        }
+                    }
+
+                    // 遍历qdList
+                    foreach (var mx in qdList)
+                    {
+                        var key = Tuple.Create(mx.itemname, mx.bj_pzname, mx.bj_pzname_mx); // 创建复合键
+                        if (copyDict.TryGetValue(key, out var mx2)) // 高效查找对应的mx2
+                        {
+                            // 更新mx属性
+                            mx.erp_mtrlid = mx2.erp_mtrlid;
+                            mx.erp_mtrlcode = mx2.erp_mtrlcode;
+                            mx.erp_mtrlname = mx2.erp_mtrlname;
+                            mx.erp_mtrlmode = mx2.erp_mtrlmode;
+                            mx.erp_unit = mx2.erp_unit;
+                            mx.useqty = mx2.useqty;
+                            mx.actual_useqty = mx2.actual_useqty;
+                            mx.wrkgrpid = mx2.wrkgrpid;
+                            mx.qd_actual_size = mx2.qd_actual_size;
+                            mx.dscrp = mx2.dscrp;
+                        }
+                    }
+                }
+
+                interfaceHelper.InterfaceFindERPPrdPf<u_bednet_interface_qd,u_bednet_interface>(qdList);
+
+                rslt.mxList = qdList;
+            }
+        }
+    }
+}

+ 84 - 0
JLHHJSvr/Excutor/SaveBedNetInterfaceExcutor.cs

@@ -0,0 +1,84 @@
+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 JLHHJSvr.Com.Model;
+using JLHHJSvr.Helper;
+using JLHHJSvr.LJException;
+using JLHHJSvr.LJFramework.Tools;
+using JLHHJSvr.Tools;
+using LJLib.DAL.SQL;
+using LJLib.Net.SPI.Server;
+
+namespace JLHHJSvr.Excutor
+{
+    internal sealed class SaveBedNetInterfaceExcutor : ExcutorBase<SaveBedNetInterfaceRequest, SaveBedNetInterfaceResponse>
+    {
+        Dictionary<string, object> replacements = new Dictionary<string, object>();
+
+        protected override void ExcuteInternal(SaveBedNetInterfaceRequest request, object state, SaveBedNetInterfaceResponse rslt)
+        {
+            var tokendata = BllHelper.GetToken(request.token);
+            if (tokendata == null)
+            {
+                rslt.ErrMsg = "会话已经中断,请重新登录";
+                return;
+            }
+            if (request.bednet == null)
+            {
+                rslt.ErrMsg = "缺少主表信息";
+                return;
+            }
+            if (request.interfaceList == null || !request.interfaceList.Any())
+            {
+                rslt.ErrMsg = "缺少产品配置明细";
+                return;
+            }
+            if (request.qdList == null || !request.qdList.Any())
+            {
+                rslt.ErrMsg = "缺少产品清单明细";
+                return;
+            }
+
+            using (var con = new SqlConnection(GlobalVar.ConnectionString))
+            using (var cmd = con.CreateCommand())
+            {
+                con.Open();
+
+                // 初始化属性
+                AutoInit.AutoInitS(cmd, request.bednet);
+
+                foreach (var mx in request.interfaceList)
+                {
+                    AutoInit.AutoInitS(cmd, mx);
+                }
+
+                foreach (var mx in request.qdList)
+                {
+                    AutoInit.AutoInitS(cmd, mx);
+                }
+
+                var interfaceHelper = HelperBase.GetHelper<InterfaceHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
+
+                using (cmd.Transaction = con.BeginTransaction())
+                {
+                    try
+                    {
+                        interfaceHelper.SaveBedNetInterface(request.bednet, request.interfaceList, request.qdList);
+
+                        cmd.Transaction.Commit();
+                    }
+                    catch (Exception e)
+                    {
+                        cmd.Transaction.Rollback();
+                        rslt.ErrMsg = e.ToString();
+                    }
+                }
+            }
+        }
+    }
+}

+ 6 - 0
JLHHJSvr/GlobalVar/GlobalVar.cs

@@ -242,6 +242,12 @@ namespace JLHHJSvr
                 excutorManager.AddMap("GetResetWiptype", typeof(GetResetWiptypeRequest), new GetResetWiptypeExcutor());
                 excutorManager.AddMap("ImportMtrlPriceByExcel", typeof(ImportMtrlPriceByExcelRequest), new ImportMtrlPriceByExcelExcutor()); //更新物料价格表单价
                 excutorManager.AddMap("UpdateL1Basicinfo", typeof(UpdateL1BasicinfoRequest), new UpdateL1BasicinfoExcutor()); // 更新L1基础资料(物料、物料分类、工组)
+
+                
+                excutorManager.AddMap("GetBedNetInterfaceList", typeof(GetBedNetInterfaceListRequest), new GetBedNetInterfaceListExcutor()); // 床网清单获取
+                excutorManager.AddMap("SaveBedNetInterface", typeof(SaveBedNetInterfaceRequest), new SaveBedNetInterfaceExcutor());// 床网接口清单补充审核撤审
+                excutorManager.AddMap("RefreshBedNetInterface", typeof(RefreshBedNetInterfaceRequest), new RefreshBedNetInterfaceExcutor());// 刷新床网配置清单
+                excutorManager.AddMap("RefreshBedNetInterfaceQd", typeof(RefreshBedNetInterfaceQdRequest), new RefreshBedNetInterfaceQdExcutor());// 刷新床网清单
             }
             catch (Exception ex)
             {

+ 24 - 0
JLHHJSvr/Helper/BedNetHelper.cs

@@ -2968,5 +2968,29 @@ namespace JLHHJSvr.Helper
             }
         }
 
+        public void SaveBedNetInterface(int bednetid, List<u_bednet_interface> mxlist, List<u_bednet_interface_qd> qdlist)
+        {
+            cmd.CommandText = @"DELETE u_bednet_interface WHERE bednetid = @bednetid";
+            cmd.Parameters.Clear();
+            cmd.Parameters.AddWithValue("@bednetid", bednetid);
+            cmd.ExecuteNonQuery();
+
+            cmd.CommandText = @"DELETE u_bednet_interface_qd WHERE bednetid = @bednetid";
+            cmd.Parameters.Clear();
+            cmd.Parameters.AddWithValue("@bednetid", bednetid);
+            cmd.ExecuteNonQuery();
+
+            foreach (var mx in mxlist)
+            {
+                mx.bednetid = bednetid;
+                DbSqlHelper.Insert(cmd, mx, "bednetid,printid,itemname,bj_pzname,bj_namemx,actual_size,erp_pzid,bj_inputtype");
+            }
+
+            foreach (var mx in qdlist)
+            {
+                mx.bednetid = bednetid;
+                DbSqlHelper.Insert(cmd, mx, "bednetid,printid,itemname,bj_pzname,bj_pzname_mx,bj_pzname_mx_mx,mtrlid,erp_mtrlid,wrkgrpid,wrkgrpid2,useqty,dscrp,actual_useqty,qd_actual_size,qd_pfgroupqty,formulaid,wrkgrpcode1,wrkgrpcode2");
+            }
+        }
     }
 }

+ 47 - 0
JLHHJSvr/Helper/CacheHelper.cs

@@ -0,0 +1,47 @@
+using JLHHJSvr.BLL;
+using JLHHJSvr.Com.Model;
+using LJLib.DAL.SQL;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace JLHHJSvr.Helper
+{
+    internal sealed class CacheHelper : HelperBase
+    {
+        /// <summary>
+        /// 部件选配项
+        /// </summary>
+        /// <param name="typeid"></param>
+        /// <param name="name"></param>
+        /// <returns></returns>
+        public erp_configure_code u_configure_code(int typeid, string name)
+        {
+            string key = string.Format("typeid:{0},name:{1}", typeid, name);
+            if (_u_configure_code != null)
+            {
+                if (_u_configure_code.ContainsKey(key))
+                {
+                    return _u_configure_code[key];
+                }
+            }
+            else
+            {
+                _u_configure_code = new Dictionary<string, erp_configure_code>();
+            }
+            var rslt = new erp_configure_code
+            {
+                typeid = typeid,
+                name = name,
+            };
+            DbSqlHelper.SelectOne(cmd, rslt,
+                "typeid,pzid,pzcode,name,inputtype,configtype,ifcross,ifcheck,ifuse,rulestr,ifnum,decnum,maxnum,minnum");
+            _u_configure_code[key] = rslt;
+            return rslt;
+        }
+
+        private Dictionary<string, erp_configure_code> _u_configure_code = null;
+    }
+}

+ 358 - 213
JLHHJSvr/Helper/InterfaceHelper.cs

@@ -338,98 +338,11 @@ namespace JLHHJSvr.Helper
         }
         public void MattressInterfaceFindERPPz(u_mattress mattress,List<u_mattress_interface> interfaceList)
         {
-            var resultList = new List<erp_configure_code>();
-            var typeList = new List<erp_configure_code>();
-            foreach (var item in interfaceList)
-            {
-                typeList.Add(new erp_configure_code() { typeid = mattress.erp_configcodetype, name = item.bj_pzname });
-            }
-
-            var configure_Type = new u_configure_type() { contfigtypeid = mattress.erp_configcodetype };
-            if (DbSqlHelper.SelectOne(cmd, configure_Type, "contfigtypeid") == 1)
-            {
-                var names = new List<string>();
-                foreach (var item in typeList)
-                {
-                    if (!names.Contains(item.name))
-                    {
-                        names.Add(item.name);
-                    }
-                }
-
-                // 查询核价系统的配置资料定义
-                cmd.CommandText = @"SELECT u_configure_code.pzid
-	                                    ,u_configure_code.pzcode
-	                                    ,u_configure_code.name
-	                                    ,u_configure_code.inputtype
-                                    FROM u_configure_code
-                                    WHERE u_configure_code.typeid = @configcodetype
-	                                    AND u_configure_code.name IN " + ListEx.getString(names) ;
-                cmd.Parameters.Clear();
-                cmd.Parameters.AddWithValue("@configcodetype", mattress.erp_configcodetype);
-                using (var reader = cmd.ExecuteReader())
-                {
-                    while (reader.Read())
-                    {
-                        var item = new erp_configure_code()
-                        {
-                            pzid = Convert.ToInt32(reader["pzid"]),
-                            pzcode = Convert.ToString(reader["pzcode"]),
-                            name = Convert.ToString(reader["name"]).Trim(),
-                            inputtype = Convert.ToInt32(reader["inputtype"])
-                        };
-                        resultList.Add(item);
-                    }
-                }
-            }
-            else
-            {
-                // 查询L1部件选配
-                var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
-                var parameters = new JObject();
-                parameters.Add("typeList", JToken.FromObject(typeList));
-                resultList = erpHelper.GetERPList<erp_configure_code>("GetL1ConfigureCode", parameters);
-            }
-
-            for (var i = 0; i < interfaceList.Count; i++)
-            {
-                interfaceList[i].printid = i + 1;
-
-                foreach (var result in resultList)
-                {
-                    if (interfaceList[i].bj_pzname == result.name)
-                    {
-                        if (result.pzid > 0)
-                        {
-                            interfaceList[i].erp_pzid = result.pzid;
-                            interfaceList[i].erp_pzcode = result.pzcode;
-                            interfaceList[i].erp_pzname = result.name;
-                        }
-
-                        if (interfaceList[i].bj_inputtype != 2) interfaceList[i].bj_inputtype = result.inputtype;
-                    }
-                }
-            }
+            InterfaceFindERPPz(mattress.erp_configcodetype.Value, interfaceList);
         }
-        /// <summary>
-        /// 初始化配置信息
-        /// </summary>
-        /// <param name="itemname"></param>
-        /// <param name="bj_pzname"></param>
-        /// <param name="inputtype"></param>
-        /// <param name="names"></param>
-        /// <returns></returns>
         public u_mattress_interface InserMattressInterfacePz(string itemname, string bj_pzname, byte inputtype, string[] names)
         {
-            var mattress_interface = new u_mattress_interface()
-            {
-                itemname = itemname,
-                bj_pzname = bj_pzname,
-                bj_inputtype = inputtype,
-                bj_namemx = names == null ? string.Empty : SetInterfacePzName(names)
-            };
-
-            return mattress_interface;
+            return InserInterfacePz<u_mattress_interface>(itemname,bj_pzname,inputtype,names);
         }
         private string SetInterfacePzName(string[] names)
         {
@@ -671,28 +584,7 @@ namespace JLHHJSvr.Helper
                     interfaceList.Add(InserMattressInterfacePz(chastrArr[0], name, 1, new string[] { "" }));
                 }
             }
-
         }
-        //private bool ifHasXiaoceMtrl()
-        //{
-        //    bool hasVal = false;
-        //    for (int i = 0; i < XiaoCePeizhi.GetLength(0); i++)
-        //    {
-        //        for (int j = 0; j < XiaoCePeizhi.GetLength(1); j++)
-        //        {
-        //            if (!string.IsNullOrEmpty(XiaoCePeizhi[i, j]))
-        //            {
-        //                hasVal = true;
-        //                break;
-        //            }
-        //        }
-        //        if (hasVal)
-        //        {
-        //            break;
-        //        }
-        //    }
-        //    return hasVal;
-        //}
 
         private void SetFormulaTypeZeroPzName(u_mattress_mx_mtrl mx, string key, int[] powerArr, string[] name_arr)
         {
@@ -752,43 +644,6 @@ namespace JLHHJSvr.Helper
                 }
             }
 
-            //var orderedKeys = new List<string>();
-            //foreach (var kind in kindDict)
-            //{
-            //    foreach (var cha in chastrSet)
-            //    {
-            //        orderedKeys.Add($"{cha}-{kind.Value}");
-            //    }
-            //}
-
-            //foreach (var key in orderedKeys)
-            //{
-            //    var parts = key.Split('-');
-            //    var cha = parts[0];
-            //    var kindName = parts[1];
-
-            //    var kindId = kindDict.FirstOrDefault(x => x.Value == kindName).Key;
-            //    var items = diancengList.Where(mx =>
-            //        mx.chastr == cha &&
-            //        mx.formulakind == kindId);
-
-            //    foreach (var mx in items)
-            //    {
-            //        if (mx.formulakind == 999)
-            //        {
-            //            this.ProcessChuangWangPz(mx, interfaceList, mx.chastr, ++countDict[key]);
-            //        }
-            //        else if (mx.mtrlid > 0 && mx.formulakind == 1201)
-            //        {
-            //            this.ProcessDingbuLianMianPz(mx, interfaceList, mx.chastr, ++countDict[key]);
-            //        }
-            //        else if (mx.mtrlid > 0 && new int[] { 32, 12, 13, 14, 29 }.Contains(mx.formulakind.Value))
-            //        {
-            //            this.ProcessWangMianBLPz(mx, interfaceList, mx.chastr, kindDict[mx.formulakind.Value], ++countDict[key]);
-            //        }
-            //    }
-            //}
-
             foreach (var mx in diancengList)
             {
                 var key = $"{mx.chastr}-{kindDict[mx.formulakind.Value]}";
@@ -1180,72 +1035,7 @@ namespace JLHHJSvr.Helper
         /// <param name="interfaceList"></param>
         public void MattressInterfaceFindERPPrdPf(List<u_mattress_interface_qd> qdList,List<u_mattress_interface> interfaceList = null)
         {
-            var mtrlidList = new List<int>();
-            foreach (var mx in qdList)
-            {
-                // 带出有设置 的erp_mtrlid
-                if ((mx.erp_mtrlid == null || mx.erp_mtrlid == 0) && mx.mtrlid != null && mx.mtrlid > 0)
-                {
-                    var mtrldef = new u_mtrl_price() { mtrlid = mx.mtrlid };
-                    if (DbSqlHelper.SelectOne(cmd, mtrldef, "erp_mtrlid") == 1)
-                    {
-                        mx.erp_mtrlid = mtrldef.erp_mtrlid;
-                    } 
-                }
-
-                // 
-                if (mx.erp_mtrlid > 0)
-                {
-                    mtrlidList.Add(mx.erp_mtrlid.Value);
-                }
-            }
-
-            if (mtrlidList.Count > 0)
-            {
-                var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
-                //var parameters = new JObject();
-                //parameters.Add("mtrlids", JToken.FromObject(mtrlidList));
-                //var resultList = erpHelper.GetERPList<erp_mtrldef>("GetL1Mtrldef", parameters);
-                var total = 0;
-                var resultList = erpHelper.GetERPMtrldef(cmd, ref total, "", new L1Mtrldef(), 0, 0, 1, mtrlidList);
-
-                if (resultList != null && resultList.Any())
-                {
-                    foreach (var mx in qdList)
-                    {
-                        var result = resultList.FirstOrDefault(o => o.mtrlid == mx.erp_mtrlid);
-                        if (result != null)
-                        {
-                            mx.erp_mtrlcode = result.mtrlcode;
-                            mx.erp_mtrlname = result.mtrlname;
-                            mx.erp_mtrlmode = result.mtrlmode;
-                            mx.erp_unit = result.unit;
-                            mx.erp_mtrlengname = result.zxmtrlmode;
-                        }
-                    }
-                }
-            }
-
-            //更新 二级明细项目 需要产品配置列表,此部分由前端完成
-            if (interfaceList != null && interfaceList.Any())
-            {
-                // 使用 GroupBy 去重并选择第一个元素
-                var distinctList = interfaceList
-                    .GroupBy(mb => mb.bj_pzname)
-                    .Select(g => g.First())
-                    .ToList();
-                Dictionary<string, u_mattress_interface> interfaceDict = distinctList.ToDictionary(mb => mb.bj_pzname, mb => mb);
-                foreach (var mx in qdList)
-                {
-                    if (interfaceDict.TryGetValue(mx.bj_pzname, out var mb))
-                    {
-                        mx.bj_pzname_mx_mx = mb.bj_namemx;
-
-                        if (mx.ss_rate == 0) mx.ss_rate = mb.ss_rate;
-                        if (mx.ls_rate == 0) mx.ls_rate = mb.ls_rate;
-                    }
-                }
-            }
+            InterfaceFindERPPrdPf(qdList,interfaceList);
         }
         /// <summary>
         /// 导入产品清单
@@ -1770,8 +1560,363 @@ namespace JLHHJSvr.Helper
         }
         #endregion
 
+
+        #region 床网清单
+        /// <summary>
+        /// 床垫接口-保存
+        /// </summary>
+        /// <param name="mattress"></param>
+        /// <param name="mxlist"></param>
+        /// <param name="qdlist"></param>
+        /// <exception cref="LJCommonException"></exception>
+        public void SaveBedNetInterface(u_bednet bednet, List<u_bednet_interface> mxlist, List<u_bednet_interface_qd> qdlist)
+        {
+            if (bednet.bednetid <= 0)
+            {
+                throw new LJCommonException("错误的床网id");
+            }
+
+            if (bednet.erp_mtrltypeid == null || bednet.erp_mtrltypeid <= 0)
+            {
+                throw new LJCommonException("请选择物料类别!");
+            }
+
+            if (bednet.erp_configcodetype == null || bednet.erp_configcodetype <= 0)
+            {
+                throw new LJCommonException("请选择配置类型!");
+            }
+
+            DbSqlHelper.Update(cmd, bednet, "erp_mtrlid,erp_mtrltypeid,erp_mtrlcode,erp_mtrlname,erp_mtrlmode,erp_mtrltype,erp_mtrlunit,erp_mtrlengname,erp_configcodetype,old_mtrlname");
+
+            // 保存接口数据
+            var bednetHelper = GetHelper<BedNetHelper>(cmd, new HelperBase.Context() { tokendata = context.tokendata });
+            bednetHelper.SaveBedNetInterface(bednet.bednetid.Value, mxlist, qdlist);
+        }
+        public List<u_bednet_interface> GetBedNetInterfaceList(int bednetid)
+        {
+            var interfaceList = new List<u_bednet_interface>();
+            var selectStr = @"SELECT bednetid
+	                            ,printid
+	                            ,itemname
+	                            ,bj_pzname
+	                            ,bj_namemx
+	                            ,actual_size
+	                            ,erp_pzid
+	                            ,Space(200) AS erp_pzcode
+	                            ,Space(200) AS erp_pzname
+	                            ,bj_inputtype AS erp_inputtype
+                            FROM u_bednet_interface";
+            DbSqlHelper.SelectJoin(cmd, selectStr, "bednetid = @bednetid", new Dictionary<string, object>() { { "@bednetid", bednetid } }, "printid", "bednetid,printid,itemname,bj_pzname,bj_namemx,actual_size,erp_pzid,ss_rate,ls_rate,bj_inputtype", 0, 0, interfaceList);
+
+            if (interfaceList.Count <= 0)
+            {
+
+                interfaceList = RefreshBedNetInterfaceList(bednetid);
+            }
+            else
+            {
+                BedNetInterfaceFindERPPz(bednetid,interfaceList);
+            }
+
+
+            return interfaceList;
+        }
+
+        public List<u_bednet_interface> RefreshBedNetInterfaceList(int bednetid)
+        {
+            var interfaceList = new List<u_bednet_interface>();
+
+            // 导入配置
+            ImportBedNetInterfaceList(bednetid, interfaceList);
+
+            BedNetInterfaceFindERPPz(bednetid, interfaceList);
+            return interfaceList;
+        }
+
+        public List<u_bednet_interface> RefreshBedNetInterfaceList(int bednetid,int configcodetype)
+        {
+            var interfaceList = new List<u_bednet_interface>();
+
+            // 导入配置
+            ImportBedNetInterfaceList(bednetid, interfaceList);
+            InterfaceFindERPPz(configcodetype, interfaceList);
+            return interfaceList;
+        }
+
+        public void ImportBedNetInterfaceList(int bednetid, List<u_bednet_interface> interfaceList)
+        {
+            if (bednetid <= 0)
+            {
+                throw new LJCommonException("床网id有误");
+            }
+
+            var bednetHelper = GetHelper<BedNetHelper>(cmd, new HelperBase.Context() { tokendata = context.tokendata });
+            //var bednet = bednetHelper.GetBedNet(bednetid);
+            var qdlist = bednetHelper.GetBedNetQingDan(bednetid);
+
+            foreach(var qd in qdlist)
+            {
+                interfaceList.Add(InserBedNetInterfacePz("床网",qd.pzname,2,new string[] { qd.pznamemx }));
+            }
+            // 床网名称
+            // 床网类型 NOTES: 床网类型 袋装网需要区分x区
+            // 床网规格
+            // 床网排序
+            // 床网高度
+            // 弹簧线径/高度/口径/中心直径/圈数
+            // 多区弹簧1/线径/口径/中心直径/圈数
+            // 多区弹簧1排列数(长)
+            // 多区弹簧2/线径/口径/中心直径/圈数
+            // 多区弹簧2排列数(长)
+            // 多区弹簧3/线径/口径/中心直径/圈数
+            // 多区弹簧3排列数(长)
+            // 多区弹簧4/线径/口径/中心直径/圈数
+            // 多区弹簧4排列数(长)
+            // 多区弹簧5/线径/口径/中心直径/圈数
+            // 多区弹簧5排列数(长)
+            // 边铁条数
+            // 底面无纺布
+            // 入袋无纺布
+            // 上垫层物料
+            // 下垫层物料
+            // 四周加硬排数
+            // 四周加硬线径/高度/口径/中心直径/圈数              
+            // 海绵包边物料
+            // 海绵包边物料厚度
+            // 填充海绵物料
+            // 填充包边物料厚度
+            // 封边物料
+            // 封边高度
+            // 胶条
+            // 包角
+            // 海绵打孔
+            // 加弹叉数量
+            // 15分布条
+            // 蛇线线径
+            // 四周口袋弹簧排数
+            // 四周口袋线径/高度/口径/中心直径/圈数
+            // 床网说明
+            // 包装方式
+            // 包装数量
+            // 包装材料
+            // 多区弹簧6/线径/口径/中心直径/圈数
+            // 多区弹簧7/线径/口径/中心直径/圈数
+            // 多区弹簧6排列数(长)
+            // 多区弹簧7排列数(长)
+        }
+
+        public void BedNetInterfaceFindERPPz(int bednetid, List<u_bednet_interface> interfaceList)
+        {
+            var bednet = new u_bednet() { bednetid = bednetid };
+            DbSqlHelper.SelectOne(cmd, bednet, "erp_configcodetype");
+            InterfaceFindERPPz(bednet.erp_configcodetype.Value, interfaceList);
+        }
+        public u_bednet_interface InserBedNetInterfacePz(string itemname, string bj_pzname, byte inputtype, string[] names)
+        {
+            return InserInterfacePz<u_bednet_interface>(itemname, bj_pzname, inputtype, names);
+        }
+        /// <summary>
+        /// 刷新床网产品配置清单
+        /// </summary>
+        /// <param name="bednetid"></param>
+        /// <returns></returns>
+        public List<u_bednet_interface_qd> RefreshBedNetInterfaceQdList(int bednetid)
+        {
+            var qdList = new List<u_bednet_interface_qd>();
+            ImportBedNetInterfaceQdList(bednetid, qdList);
+            InterfaceFindERPPrdPf<u_bednet_interface_qd, u_bednet_interface>(qdList);
+            return qdList;
+        }
+        /// <summary>
+        /// 导入产品清单
+        /// </summary>
+        /// <param name="bednetid"></param>
+        /// <exception cref="LJCommonException"></exception>
+        public void ImportBedNetInterfaceQdList(int bednetid, List<u_bednet_interface_qd> qdList)
+        {
+            if (bednetid <= 0)
+            {
+                throw new LJCommonException("床网id有误");
+            }
+        }
+        #endregion
+
         #region 通用方法
         /// <summary>
+        /// wf_fine_erp_prdpf
+        /// </summary>
+        /// <param name="qdList"></param>
+        /// <param name="interfaceList"></param>
+        public void InterfaceFindERPPrdPf<T, S>(List<T> qdList, List<S> interfaceList = null) where T : BaseInterfaceQd where S : BaseInterface
+        {
+            var mtrlidList = new List<int>();
+            foreach (var mx in qdList)
+            {
+                // 带出有设置 的erp_mtrlid
+                if (mx.erp_mtrlid == 0 && mx.mtrlid != null && mx.mtrlid > 0)
+                {
+                    var mtrldef = new u_mtrl_price() { mtrlid = mx.mtrlid };
+                    if (DbSqlHelper.SelectOne(cmd, mtrldef, "erp_mtrlid") == 1)
+                    {
+                        mx.erp_mtrlid = mtrldef.erp_mtrlid;
+                    }
+                }
+
+                if (mx.erp_mtrlid > 0)
+                {
+                    mtrlidList.Add(mx.erp_mtrlid.Value);
+                }
+            }
+
+            if (mtrlidList.Count > 0)
+            {
+                var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
+                var total = 0;
+                var resultList = erpHelper.GetERPMtrldef(cmd, ref total, "", new L1Mtrldef(), 0, 0, 1, mtrlidList);
+
+                if (resultList != null && resultList.Any())
+                {
+                    foreach (var mx in qdList)
+                    {
+                        var result = resultList.FirstOrDefault(o => o.mtrlid == mx.erp_mtrlid);
+                        if (result != null)
+                        {
+                            mx.erp_mtrlcode = result.mtrlcode;
+                            mx.erp_mtrlname = result.mtrlname;
+                            mx.erp_mtrlmode = result.mtrlmode;
+                            mx.erp_unit = result.unit;
+                            mx.erp_mtrlengname = result.zxmtrlmode;
+                        }
+                    }
+                }
+            }
+
+            //更新 二级明细项目 需要产品配置列表,此部分由前端完成
+            if (interfaceList != null && interfaceList.Any())
+            {
+                // 使用 GroupBy 去重并选择第一个元素
+                var distinctList = interfaceList
+                    .GroupBy(mb => mb.bj_pzname)
+                    .Select(g => g.First())
+                    .ToList();
+                Dictionary<string, S> interfaceDict = distinctList.ToDictionary(mb => mb.bj_pzname, mb => mb);
+                foreach (var mx in qdList)
+                {
+                    if (interfaceDict.TryGetValue(mx.bj_pzname, out var mb))
+                    {
+                        mx.bj_pzname_mx_mx = mb.bj_namemx;
+
+                        if (mx is u_mattress_interface_qd mattressMx && mb is u_mattress_interface mattressMx2)
+                        {
+                            if (mattressMx.ss_rate == 0) mattressMx.ss_rate = mattressMx2.ss_rate;
+                            if (mattressMx.ls_rate == 0) mattressMx.ls_rate = mattressMx2.ls_rate;
+                        }
+                    }
+                }
+            }
+        }
+        /// <summary>
+        /// 初始化配置信息
+        /// </summary>
+        /// <param name="itemname"></param>
+        /// <param name="bj_pzname"></param>
+        /// <param name="inputtype"></param>
+        /// <param name="names"></param>
+        /// <returns></returns>
+        public T InserInterfacePz<T>(string itemname, string bj_pzname, byte inputtype, string[] names) where T : BaseInterface, new()
+        {
+            var mattress_interface = new T()
+            {
+                itemname = itemname,
+                bj_pzname = bj_pzname,
+                bj_inputtype = inputtype,
+                bj_namemx = names == null ? string.Empty : SetInterfacePzName(names)
+            };
+
+            return mattress_interface;
+        }
+        /// <summary>
+        /// 查询清单的配置
+        /// </summary>
+        /// <param name="configcodetype"></param>
+        /// <param name="interfaceList"></param>
+        public void InterfaceFindERPPz<T>(int configcodetype, List<T> interfaceList) where T : BaseInterface
+        {
+            var resultList = new List<erp_configure_code>();
+            var typeList = new List<erp_configure_code>();
+            foreach (var item in interfaceList)
+            {
+                typeList.Add(new erp_configure_code() { typeid = configcodetype, name = item.bj_pzname });
+            }
+
+            var configure_Type = new u_configure_type() { contfigtypeid = configcodetype };
+            if (DbSqlHelper.SelectOne(cmd, configure_Type, "contfigtypeid") == 1)
+            {
+                var names = new List<string>();
+                foreach (var item in typeList)
+                {
+                    if (!names.Contains(item.name))
+                    {
+                        names.Add(item.name);
+                    }
+                }
+
+                // 查询核价系统的配置资料定义
+                cmd.CommandText = @"SELECT u_configure_code.pzid
+	                                    ,u_configure_code.pzcode
+	                                    ,u_configure_code.name
+	                                    ,u_configure_code.inputtype
+                                    FROM u_configure_code
+                                    WHERE u_configure_code.typeid = @configcodetype
+	                                    AND u_configure_code.name IN " + ListEx.getString(names);
+                cmd.Parameters.Clear();
+                cmd.Parameters.AddWithValue("@configcodetype", configcodetype);
+                using (var reader = cmd.ExecuteReader())
+                {
+                    while (reader.Read())
+                    {
+                        var item = new erp_configure_code()
+                        {
+                            pzid = Convert.ToInt32(reader["pzid"]),
+                            pzcode = Convert.ToString(reader["pzcode"]),
+                            name = Convert.ToString(reader["name"]).Trim(),
+                            inputtype = Convert.ToInt32(reader["inputtype"])
+                        };
+                        resultList.Add(item);
+                    }
+                }
+            }
+            else
+            {
+                // 查询L1部件选配
+                var erpHelper = GetHelper<ERPHelper>(null);
+                var parameters = new JObject();
+                parameters.Add("typeList", JToken.FromObject(typeList));
+                resultList = erpHelper.GetERPList<erp_configure_code>("GetL1ConfigureCode", parameters);
+            }
+
+
+            for (var i = 0; i < interfaceList.Count; i++)
+            {
+                interfaceList[i].printid = i + 1;
+
+                foreach (var result in resultList)
+                {
+                    if (interfaceList[i].bj_pzname == result.name)
+                    {
+                        if (result.pzid > 0)
+                        {
+                            interfaceList[i].erp_pzid = result.pzid;
+                            interfaceList[i].erp_pzcode = result.pzcode;
+                            interfaceList[i].erp_pzname = result.name;
+                        }
+
+                        if (interfaceList[i].bj_inputtype != 2) interfaceList[i].bj_inputtype = result.inputtype;
+                    }
+                }
+            }
+        }
+        /// <summary>
         /// 用于 字符串 + 字符串格式
         /// </summary>
         /// <param name="currentString"></param>

+ 12 - 0
JLHHJSvr/JLHHJSvr.csproj

@@ -106,11 +106,16 @@
     <Compile Include="Com\CreatPrdPf.cs" />
     <Compile Include="Com\DeleteMattressExtraType.cs" />
     <Compile Include="Com\DeleteMattressExtra.cs" />
+    <Compile Include="Com\GetBedNetInterfaceList.cs" />
     <Compile Include="Com\GetResetWiptype.cs" />
     <Compile Include="Com\GetMattressSubspecs.cs" />
     <Compile Include="Com\ImportMtrlPriceByExcel.cs" />
     <Compile Include="Com\JLH_FetchPrice.cs" />
     <Compile Include="Com\ChangePassword.cs" />
+    <Compile Include="Com\Model\BaseInterface.cs" />
+    <Compile Include="Com\Model\BaseInterfaceQd.cs" />
+    <Compile Include="Com\Model\u_bednet_interface.cs" />
+    <Compile Include="Com\Model\u_bednet_interface_qd.cs" />
     <Compile Include="Com\Model\u_mtrldef.cs" />
     <Compile Include="Com\Model\u_mtrltype_erp.cs" />
     <Compile Include="Com\Model\u_sc_workgroup_erp.cs" />
@@ -125,6 +130,9 @@
     <Compile Include="Com\Model\u_mattress_mx_subspecs.cs" />
     <Compile Include="Com\Model\u_bcpcompare.cs" />
     <Compile Include="Com\ReCalculateERPCost.cs" />
+    <Compile Include="Com\RefreshBedNetInterface.cs" />
+    <Compile Include="Com\RefreshBedNetInterfaceQd.cs" />
+    <Compile Include="Com\SaveBedNetInterface.cs" />
     <Compile Include="Com\SaveMattressExtraType.cs" />
     <Compile Include="Com\SaveMattressExtra.cs" />
     <Compile Include="Com\UnLockUser.cs" />
@@ -313,6 +321,7 @@
     <Compile Include="Excutor\DeleteMattressExtraTypeExcutor.cs" />
     <Compile Include="Excutor\DeleteMattressExtraExcutor.cs" />
     <Compile Include="Excutor\FormulaCheckExcutor.cs" />
+    <Compile Include="Excutor\GetBedNetInterfaceListExcutor.cs" />
     <Compile Include="Excutor\GetFormulaVarListExcutor.cs" />
     <Compile Include="Excutor\GetResetWiptypeExcutor.cs" />
     <Compile Include="Excutor\GetMattressSubspecsExcutor.cs" />
@@ -320,6 +329,9 @@
     <Compile Include="Excutor\JLH_FetchPriceExcutor.cs" />
     <Compile Include="Excutor\ChangePasswordExcutor.cs" />
     <Compile Include="Excutor\ReCalculateERPCostExcutor.cs" />
+    <Compile Include="Excutor\RefreshBedNetInterfaceExcutor.cs" />
+    <Compile Include="Excutor\RefreshBedNetInterfaceQdExcutor.cs" />
+    <Compile Include="Excutor\SaveBedNetInterfaceExcutor.cs" />
     <Compile Include="Excutor\SaveMattressExtraTypeExcutor.cs" />
     <Compile Include="Excutor\SaveMattressExtraExcutor.cs" />
     <Compile Include="Excutor\UnLockUserExcutor.cs" />

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

@@ -204,3 +204,31 @@ export const UpdateL1Basicinfo = () => {
 export const ReCalculateERPCost = (params: Mattress.ReqMultiMattressBcp) => {
   return http.post<Mattress.ResUpdateL1Basicinfo>(PORT1 + `/ReCalculateERPCost`, params);
 };
+
+/**
+ * @name 床网清单:刷新配置
+ */
+export const RefreshBedNetInterface = (params: Mattress.ReqRefreshMattressInterface) => {
+  return http.post<Mattress.ResRefreshMattressInterface>(PORT1 + `/RefreshBedNetInterface`, params);
+};
+
+/**
+ * @name 床网清单:刷新清单
+ */
+export const RefreshBedNetInterfaceQd = (params: Mattress.ReqRefreshMattressInterface) => {
+  return http.post<Mattress.ResRefreshMattressInterface>(PORT1 + `/RefreshBedNetInterfaceQd`, params);
+};
+
+/**
+ * @name 床网清单:获取清单
+ */
+export const GetBedNetInterfaceList = (params: Mattress.ReqRefreshMattressInterface) => {
+  return http.post<Mattress.ResGetMattressInterfaceList>(PORT1 + `/GetBedNetInterfaceList`, params);
+};
+
+/**
+ * @name 床网清单:保存清单
+ */
+export const SaveBedNetInterface = (params: Mattress.ReqSaveMattressInterface) => {
+  return http.post<Mattress.ResSaveMattressBcp>(PORT1 + `/SaveBedNetInterface`, params);
+};

+ 17 - 1
JLHWEB/src/enums/dwnameEnum.ts

@@ -161,5 +161,21 @@ export enum DwnameEnum {
   /**
    * @description 床垫额外费用类型
    */
-  mattressExtraType = "u_mattress_extra_type"
+  mattressExtraType = "u_mattress_extra_type",
+  /**
+   * @description 床网接口
+   */
+  bednetInterface = "u_bednet_interface",
+  /**
+   * @description 床网接口-主体内容
+   */
+  bednetInterfaceDetail = "u_bednet_interface_zt",
+  /**
+   * @description 床网接口清单
+   */
+  bednetInterfaceYw = "u_bednet_interface_yw",
+  /**
+   * @description 床网接口清单
+   */
+  bednetInterfaceQd = "u_bednet_interface_qd"
 }

+ 3 - 0
JLHWEB/src/languages/modules/zh-cn/menu.json

@@ -166,6 +166,9 @@
   "mattressInterface": "床垫清单",
   "mattressInterfaceDetail": "床垫清单详情",
   "mattressInterfaceEditYw": "修改床垫清单",
+  "bednetInterface": "床网清单",
+  "bednetInterfaceDetail": "床网清单详情",
+  "bednetInterfaceEditYw": "修改床网清单",
   "erpapi": "ERP接口",
   "extra": "床垫额外费用定义"
 }

+ 51 - 0
JLHWEB/src/routers/modules/erpApiRouter.ts

@@ -129,6 +129,57 @@ export const erpApiRouter: Menu.MenuOptions[] = [
           //   }
           // }
         ]
+      },
+      {
+        path: "/erpapi/bednetInterface",
+        name: "bednetInterface",
+        component: "/erpapi/bednetInterface/index",
+        meta: {
+          icon: "Common_Business.png",
+          title: "床网清单",
+          isLink: "",
+          isHide: false,
+          isFull: false,
+          isAffix: false,
+          isKeepAlive: true,
+          isSubMenu: false,
+          activeMenu: "/erpapi",
+          funid: 61
+        },
+        children: [
+          {
+            path: "/erpapi/bednetInterface/detail/:id",
+            name: "bednetInterfaceDetail",
+            component: "/erpapi/bednetInterface/detail",
+            meta: {
+              icon: "iconpackage",
+              title: "床网清单详情",
+              isLink: "",
+              isHide: true,
+              isFull: false,
+              isAffix: false,
+              isKeepAlive: true,
+              funid: 71,
+              activeMenu: "/erpapi/bednetInterface"
+            }
+          },
+          {
+            path: "/erpapi/bednetInterface/edit/:id",
+            name: "bednetInterfaceEditYw",
+            component: "/erpapi/bednetInterface/detail",
+            meta: {
+              icon: "iconpackage",
+              title: "修改床网清单",
+              isLink: "",
+              isHide: true,
+              isFull: false,
+              isAffix: false,
+              isKeepAlive: false,
+              funid: 71,
+              activeMenu: "/erpapi/bednetInterface"
+            }
+          }
+        ]
       }
     ]
   }