From f0fa10212fc41d6673678357d4f2bbc92a94c171 Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期五, 01 三月 2024 17:16:59 +0800
Subject: [PATCH] 产品器具清单,产品工艺参数清单 单据与列表

---
 Model/计划管理/ClsGy_MaterialTechParamBillMain.cs                 |   19 
 Model/Model.csproj                                            |    4 
 WebAPI/Controllers/WebAPIController.cs                        |    4 
 Model/ClsGy_MaterialMouldBillSub.cs                           |   14 
 WebAPI/Controllers/MJGL/Sc_MouldinventoryBillController.cs    |  536 +++++++++++++++++
 DAL/计划管理/ClsGy_MaterialTechParamBillMain.cs                   |  284 +++++++++
 WebAPI/ListModels.cs                                          |   49 +
 DAL/ClsGy_MaterialMouldBillMain.cs                            |  280 +++++++++
 Model/项目管理/ClsGy_MaterialMouldBillMain.cs                     |   17 
 DAL/DAL.csproj                                                |    2 
 WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs |  536 +++++++++++++++++
 WebAPI/WebAPI.csproj                                          |    2 
 Model/计划管理/ClsGy_MaterialTechParamBillSub.cs                  |   16 
 13 files changed, 1,761 insertions(+), 2 deletions(-)

diff --git a/DAL/ClsGy_MaterialMouldBillMain.cs b/DAL/ClsGy_MaterialMouldBillMain.cs
new file mode 100644
index 0000000..0e61617
--- /dev/null
+++ b/DAL/ClsGy_MaterialMouldBillMain.cs
@@ -0,0 +1,280 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsGy_MaterialMouldBillMain : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsGy_MaterialMouldBillMain omodel = new Model.ClsGy_MaterialMouldBillMain();
+        public List<Model.ClsGy_MaterialMouldBillSub> DetailColl = new List<Model.ClsGy_MaterialMouldBillSub>();
+
+        public ClsGy_MaterialMouldBillMain()
+        {
+            base.MvarItemKeySub = "Gy_MaterialMouldBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Gy_MaterialMouldBillMain";
+            base.MvarReportTitle="浜у搧鍣ㄥ叿娓呭崟";
+            base.BillType="3333";
+            base.HBillSubType = "3333";
+
+        }
+
+        #region 鍥哄畾浠g爜
+        #region 鏃犲弬鏋勯�犲嚱鏁�
+        ~ClsGy_MaterialMouldBillMain()
+        {
+            DetailColl = null;
+        }
+        #endregion
+        #endregion
+
+        //#region 淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                string mainSql = "update Gy_MaterialMouldBillMain set " +
+                    " HBillNo = '" + omodel.HBillNo +
+                    "', HDate = '" + omodel.HDate +
+                    "', HRemark = '" + omodel.HRemark +
+                    "', HUpDater = '" + omodel.HUpDater +
+                    "', HUpDateDate = getdate()" +
+                     //===============================================================
+                    
+                     ", HDeptID = '" + omodel.HDeptID +
+                    "', HEmpID = '" + omodel.HEmpID +
+                    "', HMaterID = '" + omodel.HMaterID +
+                    "', HWorkCenterID = '" + omodel.HWorkCenterID +
+                    "', HEquipID  = '" + omodel.HEquipID +
+                    "', HOrgID	  = '" + omodel.HOrgID +
+                    "' where HInterID = " + omodel.HInterID;
+
+                oCn.RunProc(mainSql);
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsGy_MaterialMouldBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_MaterialMouldBillSub" +
+                            "" +
+                            "" +
+                            "" +
+                            "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                            ",HMouldID,HQty,HMouldQty,HRate) " +
+                            " values(" +
+                            "" + omodel.HInterID.ToString() +
+                            "," + oSub.HEntryID.ToString() +
+                            "," + oSub.HSourceInterID +
+                            "," + oSub.HSourceEntryID +
+                            ",'" + oSub.HSourceBillNo +
+                            "','" + oSub.HSourceBillType +
+                            "','" + oSub.HMouldID +
+                            "'," + oSub.HQty +
+                            "," + oSub.HMouldQty +
+                            ",'" + oSub.HRate +
+                            "')";
+                    oCn.RunProc(subSql);
+                }
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //#endregion
+
+        #region  鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                DataSet ds;
+
+
+                oCn.BeginTran();
+
+                //妫�鏌ヤ富琛ㄥ唴鐮佹槸鍚﹂噸澶嶏紝鑻ラ噸澶嶅垯閲嶆柊鐢熸垚骞剁户缁鏌ワ紝鐩村埌涓嶅啀閲嶅
+                while (true)
+                {
+                    ds = oCn.RunProcReturn("select * from Gy_MaterialMouldBillMain where HInterID = " + omodel.HInterID, "Gy_MaterialMouldBillMain");
+                    if(ds!=null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    else
+                    {
+                        break;
+                    }
+                }
+
+                //鎻掑叆涓昏〃
+                string mainSql = "insert into Gy_MaterialMouldBillMain" +
+                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
+                    ",HDeptID,HEmpID,HMaterID,HWorkCenterID,HEquipID,HOrgID ) " +
+                    "values(" +
+                    "" + omodel.HYear.ToString() +
+                    "," + omodel.HPeriod.ToString() +
+                    ",'" + this.BillType +
+                    "','" + this.HBillSubType +
+                    "'," + omodel.HInterID +
+                    ",'" + omodel.HDate +
+                    "','" + omodel.HBillNo +
+                    "','" + omodel.HRemark +
+                    "','" + omodel.HMaker +
+                    "','" + omodel.HMakeDate +
+                    "'," + omodel.HDeptID +
+                    "," + omodel.HEmpID +
+                    ",'" + omodel.HMaterID +
+                    "','" + omodel.HWorkCenterID +
+                    "','" + omodel.HEquipID +
+                     "','" + omodel.HOrgID +
+                    "')";
+
+                oCn.RunProc(mainSql);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsGy_MaterialMouldBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_MaterialMouldBillSub" +
+                           "" +
+                           "" +
+                           "" +
+                           "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                           ",HMouldID,HQty,HMouldQty,HRate) " +
+                           " values(" +
+                           "" + omodel.HInterID.ToString() +
+                           "," + oSub.HEntryID.ToString() +
+                           "," + oSub.HSourceInterID +
+                           "," + oSub.HSourceEntryID +
+                           ",'" + oSub.HSourceBillNo +
+                           "','" + oSub.HSourceBillType +
+                           "','" + oSub.HMouldID +
+                           "'," + oSub.HQty +
+                           "," + oSub.HMouldQty +
+                           ",'" + oSub.HRate +
+                           "')";
+                    oCn.RunProc(subSql);
+                }
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        #endregion
+
+        #region 鏄剧ず鍗曟嵁
+        //public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        //{
+        //    try
+        //    {
+        //        //鏌ヨ涓昏〃
+        //        DataSet Ds ;
+        //        Ds = oCn.RunProcReturn("select * from PM_WorkReportWeekBillMain Where HInterID = " + lngBillKey.ToString(), "PM_WorkReportWeekBillMain");
+        //        if(Ds.Tables[0].Rows.Count==0)
+        //        {
+        //            sReturn = "鍗曟嵁鏈壘鍒帮紒";
+        //            return false;
+        //        }
+
+        //        //鍥哄畾璧嬪��===========================================
+        //        omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+        //        omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+        //        omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+        //        omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+        //        omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+        //        omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+        //        omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+        //        omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+        //        omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+        //        omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+        //        omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+        //        omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+        //        omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+        //        omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+        //        omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+        //        omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+        //        omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+        //        omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+        //        omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+        //        omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+        //        omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+        //        omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+        //        omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
+        //        omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+        //        omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+        //        //========================================================
+
+        //        omodel.HOrgID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOrgID"]);
+        //        omodel.HWeek = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HWeek"]);
+        //        omodel.HBeginDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBeginDate"]);
+        //        omodel.HEndDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HEndDate"]);
+        //        omodel.HPlanEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPlanEmpID"]);
+
+        //        //
+                
+        //        //寰幆
+        //        DataSet DsSub ;
+        //        DsSub = oCn.RunProcReturn("select * from PM_WorkTaskWeekBillSub where HInterID = " + lngBillKey.ToString() + "order by HEntryID", "PM_WorkTaskWeekBillSub");
+        //        DetailColl.Clear();//娓呯┖
+        //        for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+        //        {
+        //            Model.ClsPM_WorkTaskWeekBillSub oSub = new Model.ClsPM_WorkTaskWeekBillSub();
+        //            // 鍥哄畾璧嬪��===============================================
+        //            oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+        //            oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+        //            oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+        //            oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+        //            oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+        //            oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+        //            oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+        //            oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); 
+        //            oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+        //            oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+        //            oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+        //            oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+        //            //===================================================
+        //            oSub.HWeekDay = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWeekDay"]);
+        //            oSub.HSno = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSno"]);
+        //            oSub.HProjectID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProjectID"]);
+        //            oSub.HProjectStageID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProjectStageID"]);
+        //            oSub.HTaskNote = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HTaskNote"]);
+        //            oSub.HPlanTimes = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HPlanTimes"]);
+
+        //            DetailColl.Add(oSub);
+        //        }
+        //        sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+        //        return true;
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        sReturn = e.Message;
+        //        throw (e);
+        //    }
+        //}
+        #endregion
+
+    }
+
+}
diff --git a/DAL/DAL.csproj b/DAL/DAL.csproj
index 7927dca..350aa3b 100644
--- a/DAL/DAL.csproj
+++ b/DAL/DAL.csproj
@@ -84,6 +84,7 @@
     <Compile Include="ClsPM_ProjectBeginBillMain.cs" />
     <Compile Include="ClsPM_ProjectMoneyBillMain.cs" />
     <Compile Include="ClsPM_CustomerTaskBillMain.cs" />
+    <Compile Include="ClsGy_MaterialMouldBillMain.cs" />
     <Compile Include="ClsPM_WorkPlanMonthBillMain.cs" />
     <Compile Include="MES\ClsSc_SourceLineRepairBill.cs" />
     <Compile Include="MES\ClsSc_MESMaterToSourceBill .cs" />
@@ -630,6 +631,7 @@
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\璁惧鎶曚骇\ClsSb_EquipWorkBeforeCheckBill.cs" />
     <Compile Include="绯荤粺鍏敤\ClsXt_SystemParameter_Ctl.cs" />
     <Compile Include="绯荤粺鍏敤\ClsXt_BillSubType_Ctl.cs" />
+    <Compile Include="璁″垝绠$悊\ClsGy_MaterialTechParamBillMain.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_FirstPieceCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_LastPieceCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_NoPassProdCheckBill.cs" />
diff --git "a/DAL/\350\256\241\345\210\222\347\256\241\347\220\206/ClsGy_MaterialTechParamBillMain.cs" "b/DAL/\350\256\241\345\210\222\347\256\241\347\220\206/ClsGy_MaterialTechParamBillMain.cs"
new file mode 100644
index 0000000..1fe62dc
--- /dev/null
+++ "b/DAL/\350\256\241\345\210\222\347\256\241\347\220\206/ClsGy_MaterialTechParamBillMain.cs"
@@ -0,0 +1,284 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsGy_MaterialTechParamBillMain : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsGy_MaterialTechParamBillMain omodel = new Model.ClsGy_MaterialTechParamBillMain();
+        public List<Model.ClsGy_MaterialTechParamBillSub> DetailColl = new List<Model.ClsGy_MaterialTechParamBillSub>();
+
+        public ClsGy_MaterialTechParamBillMain()
+        {
+            base.MvarItemKeySub = "Gy_MaterialTechParamBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Gy_MaterialTechParamBillMain";
+            base.MvarReportTitle= "浜у搧宸ヨ壓鍙傛暟娓呭崟";
+            base.BillType="3334";
+            base.HBillSubType = "3334";
+
+        }
+
+        #region 鍥哄畾浠g爜
+        #region 鏃犲弬鏋勯�犲嚱鏁�
+        ~ClsGy_MaterialTechParamBillMain()
+        {
+            DetailColl = null;
+        }
+        #endregion
+        #endregion
+
+        //#region 淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                string mainSql = "update Gy_MaterialTechParamBillMain set " +
+                    " HBillNo = '" + omodel.HBillNo +
+                    "', HDate = '" + omodel.HDate +
+                    "', HRemark = '" + omodel.HRemark +
+                    "', HUpDater = '" + omodel.HUpDater +
+                    "', HUpDateDate = getdate()" +
+                     //===============================================================
+                    
+                     ", HDeptID = '" + omodel.HDeptID +
+                    "', HEmpID = '" + omodel.HEmpID +
+                    "', HMaterID = '" + omodel.HMaterID +
+                    "', HWorkCenterID = '" + omodel.HWorkCenterID +
+                    "', HProcID  = '" + omodel.HProcID +
+                    "', HEquipID  = '" + omodel.HEquipID +
+                    "', HOrgID	  = '" + omodel.HOrgID +
+                    "' where HInterID = " + omodel.HInterID;
+
+                oCn.RunProc(mainSql);
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsGy_MaterialTechParamBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_MaterialTechParamBillSub" +
+                            "" +
+                            "" +
+                            "" +
+                            "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                            ",HTechParamID,HTechParamUnitID,HStd,HMax,HMin) " +
+                            " values(" +
+                            "" + omodel.HInterID.ToString() +
+                            "," + oSub.HEntryID.ToString() +
+                            "," + oSub.HSourceInterID +
+                            "," + oSub.HSourceEntryID +
+                            ",'" + oSub.HSourceBillNo +
+                            "','" + oSub.HSourceBillType +
+                            "','" + oSub.HTechParamID +
+                             "','" + oSub.HTechParamUnitID +
+                            "'," + oSub.HStd +
+                            "," + oSub.HMax +
+                            ",'" + oSub.HMin +
+                            "')";
+                    oCn.RunProc(subSql);
+                }
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //#endregion
+
+        #region  鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                DataSet ds;
+
+
+                oCn.BeginTran();
+
+                //妫�鏌ヤ富琛ㄥ唴鐮佹槸鍚﹂噸澶嶏紝鑻ラ噸澶嶅垯閲嶆柊鐢熸垚骞剁户缁鏌ワ紝鐩村埌涓嶅啀閲嶅
+                while (true)
+                {
+                    ds = oCn.RunProcReturn("select * from Gy_MaterialTechParamBillMain where HInterID = " + omodel.HInterID, "Gy_MaterialTechParamBillMain");
+                    if(ds!=null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    else
+                    {
+                        break;
+                    }
+                }
+
+                //鎻掑叆涓昏〃
+                string mainSql = "insert into Gy_MaterialTechParamBillMain" +
+                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
+                    ",HDeptID,HEmpID,HMaterID,HWorkCenterID,HEquipID,HOrgID,HProcID ) " +
+                    "values(" +
+                    "" + omodel.HYear.ToString() +
+                    "," + omodel.HPeriod.ToString() +
+                    ",'" + this.BillType +
+                    "','" + this.HBillSubType +
+                    "'," + omodel.HInterID +
+                    ",'" + omodel.HDate +
+                    "','" + omodel.HBillNo +
+                    "','" + omodel.HRemark +
+                    "','" + omodel.HMaker +
+                    "','" + omodel.HMakeDate +
+                    "'," + omodel.HDeptID +
+                    "," + omodel.HEmpID +
+                    ",'" + omodel.HMaterID +
+                    "','" + omodel.HWorkCenterID +
+                    "','" + omodel.HEquipID +
+                    "','" + omodel.HOrgID +
+                     "','" + omodel.HProcID +
+                    "')";
+
+                oCn.RunProc(mainSql);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsGy_MaterialTechParamBillSub oSub in DetailColl)
+                {
+                    string subSql = "insert into Gy_MaterialTechParamBillSub" +
+                           "" +
+                           "" +
+                           "" +
+                           "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                           ",HTechParamID,HTechParamUnitID,HStd,HMax,HMin) " +
+                           " values(" +
+                           "" + omodel.HInterID.ToString() +
+                           "," + oSub.HEntryID.ToString() +
+                           "," + oSub.HSourceInterID +
+                           "," + oSub.HSourceEntryID +
+                           ",'" + oSub.HSourceBillNo +
+                           "','" + oSub.HSourceBillType +
+                           "','" + oSub.HTechParamID +
+                            "','" + oSub.HTechParamUnitID +
+                           "'," + oSub.HStd +
+                           "," + oSub.HMax +
+                           ",'" + oSub.HMin +
+                           "')";
+                    oCn.RunProc(subSql);
+                }
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        #endregion
+
+        #region 鏄剧ず鍗曟嵁
+        //public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        //{
+        //    try
+        //    {
+        //        //鏌ヨ涓昏〃
+        //        DataSet Ds ;
+        //        Ds = oCn.RunProcReturn("select * from PM_WorkReportWeekBillMain Where HInterID = " + lngBillKey.ToString(), "PM_WorkReportWeekBillMain");
+        //        if(Ds.Tables[0].Rows.Count==0)
+        //        {
+        //            sReturn = "鍗曟嵁鏈壘鍒帮紒";
+        //            return false;
+        //        }
+
+        //        //鍥哄畾璧嬪��===========================================
+        //        omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+        //        omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+        //        omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+        //        omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+        //        omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+        //        omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+        //        omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+        //        omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+        //        omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+        //        omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+        //        omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+        //        omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+        //        omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+        //        omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+        //        omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+        //        omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+        //        omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+        //        omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+        //        omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+        //        omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+        //        omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+        //        omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+        //        omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
+        //        omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+        //        omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+        //        //========================================================
+
+        //        omodel.HOrgID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOrgID"]);
+        //        omodel.HWeek = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HWeek"]);
+        //        omodel.HBeginDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBeginDate"]);
+        //        omodel.HEndDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HEndDate"]);
+        //        omodel.HPlanEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPlanEmpID"]);
+
+        //        //
+                
+        //        //寰幆
+        //        DataSet DsSub ;
+        //        DsSub = oCn.RunProcReturn("select * from PM_WorkTaskWeekBillSub where HInterID = " + lngBillKey.ToString() + "order by HEntryID", "PM_WorkTaskWeekBillSub");
+        //        DetailColl.Clear();//娓呯┖
+        //        for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+        //        {
+        //            Model.ClsPM_WorkTaskWeekBillSub oSub = new Model.ClsPM_WorkTaskWeekBillSub();
+        //            // 鍥哄畾璧嬪��===============================================
+        //            oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+        //            oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+        //            oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+        //            oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+        //            oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+        //            oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+        //            oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+        //            oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); 
+        //            oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+        //            oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+        //            oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+        //            oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+        //            //===================================================
+        //            oSub.HWeekDay = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWeekDay"]);
+        //            oSub.HSno = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSno"]);
+        //            oSub.HProjectID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProjectID"]);
+        //            oSub.HProjectStageID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProjectStageID"]);
+        //            oSub.HTaskNote = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HTaskNote"]);
+        //            oSub.HPlanTimes = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HPlanTimes"]);
+
+        //            DetailColl.Add(oSub);
+        //        }
+        //        sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+        //        return true;
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        sReturn = e.Message;
+        //        throw (e);
+        //    }
+        //}
+        #endregion
+
+    }
+
+}
diff --git a/Model/ClsGy_MaterialMouldBillSub.cs b/Model/ClsGy_MaterialMouldBillSub.cs
new file mode 100644
index 0000000..1729267
--- /dev/null
+++ b/Model/ClsGy_MaterialMouldBillSub.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_MaterialMouldBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HMouldID;
+        public Int64 HMouldQty;
+        public decimal HQty;
+        public decimal HRate;
+    }
+}
diff --git a/Model/Model.csproj b/Model/Model.csproj
index d3817a1..fcc8919 100644
--- a/Model/Model.csproj
+++ b/Model/Model.csproj
@@ -104,6 +104,7 @@
     <Compile Include="ClsPay_RewardPunishBillSub.cs" />
     <Compile Include="ClsPay_WorkErrTimesBillMain.cs" />
     <Compile Include="ClsPay_WorkErrTimesBillSub.cs" />
+    <Compile Include="ClsGy_MaterialMouldBillSub.cs" />
     <Compile Include="ClsXt_PrintBill_Model.cs" />
     <Compile Include="CRM\ClsCrm_ClueBillMain.cs" />
     <Compile Include="CRM\ClsCrm_ClueBillSub.cs" />
@@ -605,6 +606,8 @@
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipConkBookBillMain.cs" />
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipConkBookBillSub.cs" />
     <Compile Include="绯荤粺鍏敤\ClsXt_SystemParameter_Model.cs" />
+    <Compile Include="璁″垝绠$悊\ClsGy_MaterialTechParamBillSub.cs" />
+    <Compile Include="璁″垝绠$悊\ClsGy_MaterialTechParamBillMain.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsSc_ProcessExchangeBillMain_Note.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_FirstPieceCheckBillSub_ValueGrid.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_PatrolProcCheckBillSub_BadReason.cs" />
@@ -987,6 +990,7 @@
     <Compile Include="椤圭洰绠$悊\ClsPM_ProjectMoneyBillSub.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_ProjectMoneyBillMain.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_CustomerTaskBillMain.cs" />
+    <Compile Include="椤圭洰绠$悊\ClsGy_MaterialMouldBillMain.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_WorkPlanMonthBillMain.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_CustomerTaskBillSub.cs" />
     <Compile Include="椤圭洰绠$悊\ClsPM_WorkReportWeekBillSub.cs" />
diff --git "a/Model/\350\256\241\345\210\222\347\256\241\347\220\206/ClsGy_MaterialTechParamBillMain.cs" "b/Model/\350\256\241\345\210\222\347\256\241\347\220\206/ClsGy_MaterialTechParamBillMain.cs"
new file mode 100644
index 0000000..3bdd883
--- /dev/null
+++ "b/Model/\350\256\241\345\210\222\347\256\241\347\220\206/ClsGy_MaterialTechParamBillMain.cs"
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_MaterialTechParamBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+
+        public Int64 HOrgID;        //int       组织
+        public Int64 HDeptID;         //int       部门
+        public Int64 HEmpID;         //int       负责人
+        public Int64 HMaterID;         //int       物料
+        public Int64 HWorkCenterID;    //int       工作中心
+        public Int64 HEquipID;    //int      设备ID
+        public Int64 HProcID;      //int  工序
+
+    }
+}
diff --git "a/Model/\350\256\241\345\210\222\347\256\241\347\220\206/ClsGy_MaterialTechParamBillSub.cs" "b/Model/\350\256\241\345\210\222\347\256\241\347\220\206/ClsGy_MaterialTechParamBillSub.cs"
new file mode 100644
index 0000000..74f3024
--- /dev/null
+++ "b/Model/\350\256\241\345\210\222\347\256\241\347\220\206/ClsGy_MaterialTechParamBillSub.cs"
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_MaterialTechParamBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+
+        public Int64 HTechParamID;   //工艺参数
+        public Int64 HTechParamUnitID;  //工艺参数单位    
+        public string HStd;         //标准值
+        public string HMax;         //上限
+        public string HMin;         //下限
+    }
+}
diff --git "a/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_MaterialMouldBillMain.cs" "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_MaterialMouldBillMain.cs"
new file mode 100644
index 0000000..4b3a76f
--- /dev/null
+++ "b/Model/\351\241\271\347\233\256\347\256\241\347\220\206/ClsGy_MaterialMouldBillMain.cs"
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_MaterialMouldBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HOrgID;        //int       组织
+        public Int64 HDeptID;         //int       部门
+        public Int64 HEmpID;         //int       负责人
+        public Int64 HMaterID;         //int       物料
+        public Int64 HWorkCenterID;    //int       工作中心
+        public Int64 HEquipID;    //int      设备ID
+
+    }
+}
diff --git a/WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs b/WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs
new file mode 100644
index 0000000..ba7850a
--- /dev/null
+++ b/WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs
@@ -0,0 +1,536 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.MJGL
+{
+    public class Gy_MaterialTechParamBillController : ApiController
+    {
+
+
+        //浜у搧宸ヨ壓鍙傛暟娓呭崟   Gy_MaterialTechParamBill   Gy_MaterialTechParamBillMain  Gy_MaterialTechParamBillSub
+
+
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsGy_MaterialTechParamBillMain BillNew1 = new DAL.ClsGy_MaterialTechParamBillMain();   //浜у搧宸ヨ壓鍙傛暟娓呭崟瀵瑰簲鍗曟嵁绫�
+        public DAL.ClsGy_MaterialTechParamBillMain BillOld1 = new DAL.ClsGy_MaterialTechParamBillMain();
+
+        #region 浜у搧宸ヨ壓鍙傛暟娓呭崟鍒楄〃
+        [Route("Sc_MouldDotCheckRuleBill/Gy_MaterialTechParamBillMainList")]
+        [HttpGet]
+        public object Gy_MaterialTechParamBillMainList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //缂栬緫鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterialTechParamBillMain_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_MaterialTechParamBillMainList order by 鍗曟嵁鍙� desc", "h_v_Gy_MaterialTechParamBillMainList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Gy_MaterialTechParamBillMainList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_Gy_MaterialTechParamBillMainList");
+                }
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+              
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧宸ヨ壓鍙傛暟娓呭崟 淇濆瓨/缂栬緫
+        /// <summary>
+        /// 淇濆瓨妯″叿缁翠慨鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Gy_MaterialTechParamBill/SaveGy_MaterialTechParamBillMain")]
+        [HttpPost]
+        public object SaveGy_MaterialTechParamBillMain([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString(); //瀛愯〃
+            string refSav = sArray[2].ToString();//鎿嶄綔鏂瑰紡鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            string UserName = "";
+            string s = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                //淇濆瓨鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterialTechParamBillMain_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsGy_MaterialTechParamBillMain oBill = new DAL.ClsGy_MaterialTechParamBillMain();
+                List<Model.ClsGy_MaterialTechParamBillMain> lsmain = new List<Model.ClsGy_MaterialTechParamBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_MaterialTechParamBillMain(msg2);
+                foreach (Model.ClsGy_MaterialTechParamBillMain oItem in lsmain)
+                {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (BillNew1.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld1.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (BillOld1.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (BillOld1.omodel.HChecker != "" && BillOld1.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (BillOld1.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld1, ref s))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3334";
+                    oItem.HBillSubType = "3334";
+
+
+
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+                // 琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.ClsGy_MaterialTechParamBillSub> ls = new List<Model.ClsGy_MaterialTechParamBillSub>();
+                ls = oListModels.getObjectByJson_Gy_MaterialTechParamBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsGy_MaterialTechParamBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+
+
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (refSav == "Add")
+                {
+
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (refSav == "Update")
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = false;
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+       
+
+        #region 浜у搧宸ヨ壓鍙傛暟娓呭崟缂栬緫鏃惰幏鍙栬〃浣撴暟鎹�
+        [Route("Gy_MaterialTechParamBill/Gy_MaterialTechParamBillMainEditList")]
+        [HttpGet]
+        public object Gy_MaterialTechParamBillMainEditList(string HInterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterialTechParamBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                
+                ds = oCN.RunProcReturn("exec h_p_Gy_MaterialTechParamBillMain_EditInit  " + HInterID, "h_p_Gy_MaterialTechParamBillMain_EditInit");
+                tableList.Add(ds.Tables[0]);
+                tableList.Add(ds.Tables[1]);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = tableList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧宸ヨ壓鍙傛暟娓呭崟璁板綍鍒犻櫎鍔熻兘
+        [Route("Gy_MaterialTechParamBill/DeleteGy_MaterialTechParamBillMain")]
+        [HttpGet]
+        public object DeleteGy_MaterialTechParamBillMain(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterialTechParamBillMain_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Gy_MaterialTechParamBillMain    where HInterID = " + HInterID);
+                oCN.RunProc("delete from Gy_MaterialTechParamBillSub   where HInterID = " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧宸ヨ壓鍙傛暟娓呭崟鍒楄〃 瀹℃牳/鍙嶅鏍稿姛鑳�
+        [Route("Gy_MaterialTechParamBill/CheckGy_MaterialTechParamBillMain")]
+        [HttpGet]
+        public object CheckGy_MaterialTechParamBillMain(string HInterID, int IsAudit, string user)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterialTechParamBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_MaterialTechParamBillMain  where HInterID=" + HInterID, "Gy_MaterialTechParamBillMain ");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_MaterialTechParamBillMain  set HChecker='" + user + "',HCheckDate=getdate() where HInterID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_MaterialTechParamBillMain  set HChecker='',HCheckDate=null where HInterID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+        }
+        #endregion
+
+        #region 浜у搧宸ヨ壓鍙傛暟娓呭崟鍒楄〃 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Gy_MaterialTechParamBill/CloseGy_MaterialTechParamBillMain")]
+        [HttpGet]
+        public object CloseGy_MaterialTechParamBillMain(string HInterID, int IsAudit, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊叧闂潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterialTechParamBillMain_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                var ds = oCN.RunProcReturn("select * from Gy_MaterialTechParamBillMain  where HInterID=" + HInterID, "Gy_MaterialTechParamBillMain");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //鍏抽棴鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅叧闂垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸弽鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //鍏抽棴鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_MaterialTechParamBillMain  set HCloseMan='" + user + "',HCloseDate=getdate() where HInterID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍏抽棴鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_MaterialTechParamBillMain  set HCloseMan='',HCloseDate=null where HInterID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldinventoryBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldinventoryBillController.cs
new file mode 100644
index 0000000..1cca0a0
--- /dev/null
+++ b/WebAPI/Controllers/MJGL/Sc_MouldinventoryBillController.cs
@@ -0,0 +1,536 @@
+锘縰sing DBUtility;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.MJGL
+{
+    public class Sc_MouldinventoryBillController : ApiController
+    {
+
+
+        //浜у搧鍣ㄥ叿娓呭崟   Sc_MouldinventoryBill   Gy_MaterialMouldBillMain
+
+
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsGy_MaterialMouldBillMain BillNew1 = new DAL.ClsGy_MaterialMouldBillMain();   //浜у搧鍣ㄥ叿娓呭崟瀵瑰簲鍗曟嵁绫�
+        public DAL.ClsGy_MaterialMouldBillMain BillOld1 = new DAL.ClsGy_MaterialMouldBillMain();
+
+        #region 浜у搧鍣ㄥ叿娓呭崟鍗曞垪琛�
+        [Route("Sc_MouldDotCheckRuleBill/Gy_MaterialMouldBillMainList")]
+        [HttpGet]
+        public object Sc_MouldDotCheckRuleList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //缂栬緫鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterialMouldBillMain_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_MaterialMouldBillMainList order by 鍗曟嵁鍙� desc", "h_v_Gy_MaterialMouldBillMainList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Gy_MaterialMouldBillMainList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_Gy_MaterialMouldBillMainList");
+                }
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+              
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧鍣ㄥ叿娓呭崟 淇濆瓨/缂栬緫
+        /// <summary>
+        /// 淇濆瓨妯″叿缁翠慨鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Sc_MouldinventoryBill/SaveGy_MaterialMouldBillMain")]
+        [HttpPost]
+        public object SaveGy_MaterialMouldBillMain([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString(); //瀛愯〃
+            string refSav = sArray[2].ToString();//鎿嶄綔鏂瑰紡鏁版嵁绫诲瀷 1娣诲姞 3淇敼 2 澶嶅埗
+            string user = sArray[3].ToString();//鐢ㄦ埛鍚�
+
+            string UserName = "";
+            string s = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                //淇濆瓨鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterialMouldBillMain_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsGy_MaterialMouldBillMain oBill = new DAL.ClsGy_MaterialMouldBillMain();
+                List<Model.ClsGy_MaterialMouldBillMain> lsmain = new List<Model.ClsGy_MaterialMouldBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_MaterialMouldBillMain(msg2);
+                foreach (Model.ClsGy_MaterialMouldBillMain oItem in lsmain)
+                {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (BillNew1.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld1.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (BillOld1.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (BillOld1.omodel.HChecker != "" && BillOld1.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (BillOld1.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld1, ref s))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3333";
+                    oItem.HBillSubType = "3333";
+
+
+
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+                // 琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.ClsGy_MaterialMouldBillSub> ls = new List<Model.ClsGy_MaterialMouldBillSub>();
+                ls = oListModels.getObjectByJson_Gy_MaterialMouldBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsGy_MaterialMouldBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+
+
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (refSav == "Add")
+                {
+
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (refSav == "Update")
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = false;
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+       
+
+        #region 浜у搧鍣ㄥ叿娓呭崟缂栬緫鏃惰幏鍙栬〃浣撴暟鎹�
+        [Route("Sc_MouldinventoryBill/Gy_MaterialMouldBillMainEditList")]
+        [HttpGet]
+        public object Gy_MaterialMouldBillMainEditList(string HInterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterialMouldBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                
+                ds = oCN.RunProcReturn("exec h_p_Gy_MaterialMouldBillMain_EditInit  " + HInterID, "h_p_Gy_MaterialMouldBillMain_EditInit");
+                tableList.Add(ds.Tables[0]);
+                tableList.Add(ds.Tables[1]);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = tableList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧鍣ㄥ叿娓呭崟璁板綍鍒犻櫎鍔熻兘
+        [Route("Sc_MouldinventoryBill/DeleteGy_MaterialMouldBillMain")]
+        [HttpGet]
+        public object DeleteGy_MaterialMouldBillMain(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterialMouldBillMain_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HInterID == null || HInterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                oCN.RunProc("delete from Gy_MaterialMouldBillMain   where HInterID = " + HInterID);
+                oCN.RunProc("delete from Gy_MaterialMouldBillSub   where HInterID = " + HInterID);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 浜у搧鍣ㄥ叿娓呭崟鍒楄〃 瀹℃牳/鍙嶅鏍稿姛鑳�
+        [Route("Sc_MouldinventoryBill/CheckGy_MaterialMouldBillMain")]
+        [HttpGet]
+        public object CheckGy_MaterialMouldBillMain(string HInterID, int IsAudit, string user)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterialMouldBillMain_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_MaterialMouldBillMain  where HInterID=" + HInterID, "Gy_MaterialMouldBillMain ");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_MaterialMouldBillMain  set HChecker='" + user + "',HCheckDate=getdate() where HInterID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_MaterialMouldBillMain  set HChecker='',HCheckDate=null where HInterID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+        }
+        #endregion
+
+        #region 浜у搧鍣ㄥ叿娓呭崟鍒楄〃 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Sc_MouldinventoryBill/CloseGy_MaterialMouldBillMain")]
+        [HttpGet]
+        public object CloseGy_MaterialMouldBillMain(string HInterID, int IsAudit, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊叧闂潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterialMouldBillMain_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                var ds = oCN.RunProcReturn("select * from Gy_MaterialMouldBillMain  where HInterID=" + HInterID, "Gy_MaterialMouldBillMain");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //鍏抽棴鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅叧闂垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸弽鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //鍏抽棴鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_MaterialMouldBillMain  set HCloseMan='" + user + "',HCloseDate=getdate() where HInterID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍏抽棴鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_MaterialMouldBillMain  set HCloseMan='',HCloseDate=null where HInterID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/WebAPIController.cs b/WebAPI/Controllers/WebAPIController.cs
index 88f88d9..8ef882c 100644
--- a/WebAPI/Controllers/WebAPIController.cs
+++ b/WebAPI/Controllers/WebAPIController.cs
@@ -8951,11 +8951,11 @@
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("Select HInterID,HEquipFileNumber,HName  from Gy_EquipFileBillMain where 0=0 Order by HInterID ", "Gy_EquipFileBillMain");
+                    ds = oCN.RunProcReturn("Select HInterID,HEquipFileNumber,HName,HModel2  from Gy_EquipFileBillMain where 0=0 Order by HInterID ", "Gy_EquipFileBillMain");
                 }
                 else
                 {
-                    string sql1 = "Select HInterID,HEquipFileNumber,HName  from Gy_EquipFileBillMain where 0=0  ";
+                    string sql1 = "Select HInterID,HEquipFileNumber,HName,HModel2  from Gy_EquipFileBillMain where 0=0  ";
                     string sql = sql1 + sWhere;
                     ds = oCN.RunProcReturn(sql, "Gy_EquipFileBillMain");
                 }
diff --git a/WebAPI/ListModels.cs b/WebAPI/ListModels.cs
index 8801117..960f300 100644
--- a/WebAPI/ListModels.cs
+++ b/WebAPI/ListModels.cs
@@ -1100,6 +1100,55 @@
             List<Model.ClsPM_ProjectEndBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsPM_ProjectEndBillMain>>(jsonString);
             return list;
         }
+
+        /// <summary>
+        /// 澶勭悊鏂板浜у搧鍣ㄥ叿娓呭崟琛ㄧ殑json
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_MaterialMouldBillMain> getObjectByJson_Gy_MaterialMouldBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_MaterialMouldBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_MaterialMouldBillMain>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
+        /// 澶勭悊鏂板浜у搧鍣ㄥ叿娓呭崟瀛愯〃鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_MaterialMouldBillSub> getObjectByJson_Gy_MaterialMouldBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_MaterialMouldBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_MaterialMouldBillSub>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
+        /// 澶勭悊鏂板浜у搧宸ヨ壓鍙傛暟娓呭崟琛ㄧ殑json
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_MaterialTechParamBillMain> getObjectByJson_Gy_MaterialTechParamBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_MaterialTechParamBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_MaterialTechParamBillMain>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
+        /// 澶勭悊鏂板浜у搧宸ヨ壓鍙傛暟娓呭崟瀛愯〃鐨刯son
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_MaterialTechParamBillSub> getObjectByJson_Gy_MaterialTechParamBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_MaterialTechParamBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_MaterialTechParamBillSub>>(jsonString);
+            return list;
+        }
+
         /// <summary>
         /// 澶勭悊鏂板妯″叿淇濆吇璁板綍琛ㄤ富琛ㄧ殑json
         /// </summary>
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index aa05fca..10d0d95 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -409,6 +409,8 @@
     <Compile Include="Controllers\CJGL\Cj_SingleStationController.cs" />
     <Compile Include="Controllers\Gy_MateMouldController.cs" />
     <Compile Include="Controllers\Gy_StdMinPickQtyController.cs" />
+    <Compile Include="Controllers\JHGL\Gy_MaterialTechParamBillController.cs" />
+    <Compile Include="Controllers\MJGL\Sc_MouldinventoryBillController.cs" />
     <Compile Include="Controllers\MJGL\Sc_MouldDotCheckRuleBillController.cs" />
     <Compile Include="Controllers\MJGL\Sc_MouldLifeUseBillController.cs" />
     <Compile Include="Controllers\MJGL\Sc_MouldScrapRequestBillController.cs" />

--
Gitblit v1.9.1