From 551aed5ef81ce92ba0a00565055f0cd39addcae8 Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期二, 11 六月 2024 16:57:07 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs                 |  177 +++
 WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs                |    2 
 WebAPI/Controllers/品质管理/巡检单/QC_PatrolProcCheckOtherBillController.cs | 1041 ++++++++++++++++++++++++
 WebAPI/Controllers/条码管理/WEBSController.cs                            |   50 +
 Model/Model.csproj                                                   |    3 
 Model/质检管理/ClsQC_PatrolProcCheckOtherBillSub_ValueGrid.cs            |   16 
 WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs            |    2 
 WebAPI/Controllers/Sb_CheckEqpRepairWorkBillController.cs            |    2 
 Model/质检管理/ClsQC_PatrolProcCheckOtherBillSub.cs                      |   71 +
 Model/obj/Release/Model.dll                                          |    0 
 DAL/质检管理/ClsQC_PatrolProcCheckOtherBill.cs                           |  420 ++++++++++
 Model/obj/Release/Model.pdb                                          |    0 
 Model/obj/Release/Model.csproj.AssemblyReference.cache               |    0 
 WebAPI/Controllers/Sc_MouldRepairInBillListController.cs             |    2 
 WebAPI/Controllers/WebAPIController.cs                               |   57 +
 WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml             |   17 
 Model/bin/Release/Model.pdb                                          |    0 
 WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml.user        |  450 ++++++++++
 Model/bin/Release/Model.dll                                          |    0 
 WebAPI/ListModels.cs                                                 |   11 
 WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormBillController.cs   |   34 
 DAL/DAL.csproj                                                       |    1 
 Model/质检管理/ClsQC_PatrolProcCheckOtherBillMain.cs                     |   57 +
 WebAPI/WebAPI.csproj                                                 |    1 
 WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs                |   64 +
 25 files changed, 2,455 insertions(+), 23 deletions(-)

diff --git a/DAL/DAL.csproj b/DAL/DAL.csproj
index 450f852..e9ab483 100644
--- a/DAL/DAL.csproj
+++ b/DAL/DAL.csproj
@@ -659,6 +659,7 @@
     <Compile Include="绯荤粺鍏敤\ClsXt_SystemParameter_Ctl.cs" />
     <Compile Include="绯荤粺鍏敤\ClsXt_BillSubType_Ctl.cs" />
     <Compile Include="璁″垝绠$悊\ClsGy_MaterialTechParamBillMain.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_PatrolProcCheckOtherBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_WorkSelfCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_StockCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_NoPassProdConclusionBill.cs" />
diff --git "a/DAL/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBill.cs" "b/DAL/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBill.cs"
new file mode 100644
index 0000000..1881d81
--- /dev/null
+++ "b/DAL/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBill.cs"
@@ -0,0 +1,420 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsQC_PatrolProcCheckOtherBill : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsQC_PatrolProcCheckOtherBillMain omodel = new Model.ClsQC_PatrolProcCheckOtherBillMain();
+        public List<Model.ClsQC_PatrolProcCheckOtherBillSub> DetailColl = new List<Model.ClsQC_PatrolProcCheckOtherBillSub>();
+        public List<Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid> DetailColl_Value = new List<Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid>();   
+        public ClsQC_PatrolProcCheckOtherBill()
+        {
+            base.MvarItemKeySub = "QC_PatrolProcCheckOtherBillSub";
+            base.MvarItemKeySub2 = "QC_PatrolProcCheckOtherBillSub_ValueGrid";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey="QC_PatrolProcCheckOtherBillMain";
+            base.MvarReportTitle="搴撳瓨妫�楠屽崟";
+            base.BillType= "7520";
+            base.HBillSubType = "7520";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsQC_PatrolProcCheckOtherBill()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+              
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate QC_PatrolProcCheckOtherBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                ",HDate='" + omodel.HDate + "'" +
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HBillStatus='" + omodel.HBillStatus + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HSourceID=" + omodel.HSourceID.ToString() +
+                ",HICMOInterID=" + omodel.HICMOInterID.ToString() +
+                ",HICMOBillNo='" + omodel.HICMOBillNo + "'" +
+                ",HICMOQty=" + omodel.HICMOQty.ToString() +
+                ",HProcExchInterID=" + omodel.HProcExchInterID.ToString() +
+                ",HProcExchEntryID=" + omodel.HProcExchEntryID.ToString() +
+                ",HProcExchBillNo='" + omodel.HProcExchBillNo + "'" +
+                ",HProcExchQty=" + omodel.HProcExchQty.ToString() +
+                ",HMaterID=" + omodel.HMaterID.ToString() +
+                ",HFirstCheckEmp=" + omodel.HFirstCheckEmp.ToString() +
+                ",HLastResult=" + DBUtility.ClsPub.BoolToString(omodel.HLastResult) +
+                ",HShiftsID=" + omodel.HShiftsID.ToString() +
+                ",HErrTreatment='" + omodel.HErrTreatment + "'" +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQC_PatrolProcCheckOtherBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into QC_PatrolProcCheckOtherBillSub " +
+                      " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
+                      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
+                      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      ",HQCCheckItemID,HQCStd,HUnit,HQCNote,HResult" +
+                      ",HMax,HMin,HAvg,HSampleSchemeID,HSampleQty,HSampleDamageQty,HAcceptQty" +
+                      ",HRejectQty,HSampleUnRightQty,HStatus,HUnitID,HInspectValB,HInspectVal,HTargetValB,HTargetVal" +
+                      ",HUpLimit,HDownLimit,HUpOffSet,HDownOffSet,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult" +
+                      ") values("
+                      + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "'" +
+                      ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() +
+                      "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HUnit + "','" + oSub.HQCNote + "','" + oSub.HResult + "'" +
+                      ",'" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" + "," + oSub.HSampleSchemeID + "," + oSub.HSampleQty +
+                      "," + oSub.HSampleDamageQty + "," + oSub.HAcceptQty + "," + oSub.HRejectQty + "," + oSub.HSampleUnRightQty + ",'" + oSub.HStatus +
+                      "'," + oSub.HUnitID + ",'" + oSub.HInspectValB + "','" + oSub.HInspectVal + "','" + oSub.HTargetValB + "','" + oSub.HTargetVal + "','" + oSub.HUpLimit + "','" + oSub.HDownLimit +
+                      "','" + oSub.HUpOffSet + "','" + oSub.HDownOffSet + "'," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" + ") ");
+                }
+
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                //寰楀埌mainid
+                //omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+
+              
+                oCn.BeginTran();
+                //涓昏〃
+                oCn.RunProc("Insert Into QC_PatrolProcCheckOtherBillMain " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
+                ",HYear,HPeriod,HRemark" +
+                ",HSourceID,HICMOInterID,HICMOBillNo,HICMOQty,HProcExchInterID,HProcExchEntryID" +
+                ",HProcExchBillNo,HProcExchQty,HMaterID,HFirstCheckEmp,HLastResult" +
+                ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType,HICMOEntryID,HQCSchemeID,HShiftsID,HErrTreatment" +
+                ") " +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",'" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
+                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" +
+                "," + omodel.HSourceID.ToString() + "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HICMOQty.ToString() + "," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() +
+                ",'" + omodel.HProcExchBillNo + "'," + omodel.HProcExchQty.ToString() + "," + omodel.HMaterID.ToString() + "," + omodel.HFirstCheckEmp.ToString() + ", " + DBUtility.ClsPub.BoolToString(omodel.HLastResult) +
+                "," + omodel.HMainSourceInterID + "," + omodel.HMainSourceEntryID + ",'" + omodel.HMainSourceBillNo + "','" + omodel.HMainSourceBillType  + "'," + omodel.HICMOEntryID + "," + omodel.HQCSchemeID + "," + omodel.HShiftsID + ",'" + omodel.HErrTreatment + "'" +
+                ") ");
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQC_PatrolProcCheckOtherBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into QC_PatrolProcCheckOtherBillSub " +
+                      " (HInterID,HBillNo_bak,HEntryID,HCloseMan" +
+                      ",HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
+                      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      ",HQCCheckItemID,HQCStd,HUnit,HQCNote,HResult" +
+                      ",HMax,HMin,HAvg,HSampleSchemeID,HSampleQty,HSampleDamageQty,HAcceptQty" +
+                      ",HRejectQty,HSampleUnRightQty,HStatus,HUnitID,HInspectValB,HInspectVal,HTargetValB,HTargetVal" +
+                      ",HUpLimit,HDownLimit,HUpOffSet,HDownOffSet,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult" +
+                      ") values("
+                      + omodel.HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "'" +
+                      ",getdate()," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() +
+                      "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HUnit + "','" + oSub.HQCNote + "','" + oSub.HResult + "'" +
+                      ",'" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" + "," + oSub.HSampleSchemeID + "," + oSub.HSampleQty + 
+                      "," + oSub.HSampleDamageQty + "," + oSub.HAcceptQty + "," + oSub.HRejectQty + "," + oSub.HSampleUnRightQty + ",'" + oSub.HStatus +
+                      "'," + oSub.HUnitID + ",'" + oSub.HInspectValB + "','" + oSub.HInspectVal + "','" + oSub.HTargetValB + "','" + oSub.HTargetVal + "','" + oSub.HUpLimit + "','" + oSub.HDownLimit +
+                      "','" + oSub.HUpOffSet + "','" + oSub.HDownOffSet + "'," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" + ") ");
+                }
+              
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+
+        //鏂板妫�楠屽��
+        public virtual bool AddValue(ref string sReturn,ref long HInterID, ref long HEntryID)
+        {
+            try
+            {
+                oCn.BeginTran();
+
+                oCn.RunProc("delete from QC_PatrolProcCheckOtherBillSub_ValueGrid where HInterID = " + HInterID + " and HEntryID = " + HEntryID);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid value in DetailColl_Value)
+                {
+                    oCn.RunProc("Insert into QC_PatrolProcCheckOtherBillSub_ValueGrid " +
+                      " (HInterID,HEntryID,HSEQ,HInSpectResult" +
+                      ",HInSpectValue,HInSpectValueB,HInSpectValueT" +
+                      ") values("
+                      + HInterID + "," + HEntryID + "," + value.HSEQ + ",'" + value.HInSpectResult + "'," +
+                      value.HInSpectValue + "," + value.HInSpectValueB + ",'" + value.HInSpectValueT + "'" +
+                      ") ");
+                }
+                sReturn = "鏂板妫�楠屽�兼垚鍔燂紒";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }           
+        }
+       
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from QC_PatrolProcCheckOtherBillMain Where HInterID=" + lngBillKey.ToString(), "QC_PatrolProcCheckOtherBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                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.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                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.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.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+                ////==
+                //omodel.HWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HWHID"]);
+                //omodel.HSCWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSCWHID"]);
+                //omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]);
+                //omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]);
+                //omodel.HMangerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMangerID"]);
+                omodel.HSourceID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSourceID"]);
+                omodel.HICMOInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HICMOInterID"]);
+                omodel.HICMOBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HICMOBillNo"]);
+                omodel.HICMOQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HICMOQty"]);;
+                omodel.HProcExchInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchInterID"]);
+                omodel.HProcExchEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchEntryID"]);
+                omodel.HProcExchBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HProcExchBillNo"]);
+                omodel.HProcExchQty = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HProcExchQty"]);
+                omodel.HMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"]);
+                omodel.HFirstCheckEmp = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HFirstCheckEmp"]);
+                omodel.HLastResult = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HLastResult"]);
+
+                //omodel.HRedBlueFlag = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HRedBlueFlag"]);
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from QC_PatrolProcCheckOtherBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "QC_PatrolProcCheckOtherBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsQC_PatrolProcCheckOtherBillSub oSub = new Model.ClsQC_PatrolProcCheckOtherBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBillNo_bak"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    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.HQCCheckItemID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQCCheckItemID"]);
+                    oSub.HQCStd = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HQCStd"]);
+                    oSub.HUnit = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUnit"]);
+                    oSub.HQCNote = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HQCNote"]);
+                    oSub.HResult = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HResult"]);
+                    oSub.HMax = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMax"]);
+                    oSub.HMin = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMin"]);
+                    oSub.HAvg = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HAvg"]);
+                    //oSub.HDotCheckItemID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HDotCheckItemID"]);
+                    //oSub.HDotCheckItem = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDotCheckItem"]);
+                    //oSub.HDotCheckPart = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDotCheckPart"]);
+                    //oSub.HClaim = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HClaim"]);
+                    //oSub.HManagerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HManagerID"]);
+                    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
+                    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
+                    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
+                    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                    //oSub.HPropertyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPropertyID"]);
+                    //oSub.HSecUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSecUnitID"]);
+                    //oSub.HSecUnitRate = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSecUnitRate"]);
+                    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                    //oSub.HBatchNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBatchNo"]);
+                    //oSub.HQtyMust = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                    //oSub.HQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQty"]);
+                    //oSub.HPrice = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPrice"]);
+                    //oSub.HMoney = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMoney"]);
+                    //oSub.HDesignLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDesignLife"]);
+                    //oSub.HLeaveLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HLeaveLife"]);
+                    //oSub.HUseLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUseLife"]);
+                    //oSub.HWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWHID"]);
+                    //oSub.HSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPID"]);
+                    //oSub.HSCWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCWHID"]);
+                    //oSub.HSCSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCSPID"]);
+                    //oSub.HSPGroupID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPGroupID"]);
+
+                    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
+                    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
+                    //oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]);
+                    //oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
+                    
+                    DetailColl.Add(oSub);
+                }
+                //DataSet DsSub2;
+                //DsSub2 = oCn.RunProcReturn("Select * from QC_PatrolProcCheckOtherBillSub_Item Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "QC_PatrolProcCheckOtherBillSub_Item");
+                //DetailColl1.Clear();//娓呯┖
+                //for (int i = 0; i < DsSub2.Tables[0].Rows.Count; i++)
+                //{
+                //    Model.ClsQC_PatrolProcCheckOtherBillSub_Item oSub2 = new Model.ClsQC_PatrolProcCheckOtherBillSub_Item();
+                //    // 鍥哄畾璧嬪��===============================================
+                //    oSub2.HInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HInterID"]);
+                //    oSub2.HEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HEntryID"]);
+                //    oSub2.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HBillNo_bak"]);
+                //    oSub2.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HCloseMan"]);
+                //    oSub2.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub2.Tables[0].Rows[i]["HEntryCloseDate"]);
+                //    oSub2.HCloseType = DBUtility.ClsPub.isBool(DsSub2.Tables[0].Rows[i]["HCloseType"]);
+                //    oSub2.HRemark = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HRemark"]);
+                //    oSub2.HSourceInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceInterID"]);
+                //    oSub2.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceEntryID"]);
+                //    oSub2.HSourceBillType = DsSub2.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                //    oSub2.HSourceBillNo = DsSub2.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                //    oSub2.HRelationQty = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationQty"]);
+                //    oSub2.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationMoney"]);
+                //    //===================================================
+                //    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
+                //    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
+                //    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
+                //    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                //    //oSub.HPropertyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPropertyID"]);
+                //    //oSub.HSecUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSecUnitID"]);
+                //    //oSub.HSecUnitRate = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSecUnitRate"]);
+                //    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                //    //oSub.HBatchNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HBatchNo"]);
+                //    //oSub.HQtyMust = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                //    //oSub.HQty = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HQty"]);
+                //    //oSub.HPrice = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HPrice"]);
+                //    //oSub.HMoney = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMoney"]);
+                //    //oSub.HDesignLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HDesignLife"]);
+                //    //oSub.HLeaveLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HLeaveLife"]);
+                //    //oSub.HUseLife = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HUseLife"]);
+                //    //oSub.HWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWHID"]);
+                //    //oSub.HSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPID"]);
+                //    //oSub.HSCWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCWHID"]);
+                //    //oSub.HSCSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSCSPID"]);
+                //    //oSub.HSPGroupID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSPGroupID"]);
+                //    oSub2.HMaintainItemID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HMaintainItemID"]);
+                //    oSub2.HMaintainItem = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HMaintainItem"]);
+                //    oSub2.HMaintainPart = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HMaintainPart"]);
+                //    oSub2.HClaim = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HClaim"]);
+                //    oSub2.HManagerID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HManagerID"]);
+                //    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                //    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
+                //    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
+                //    //oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]);
+                //    //oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]);
+                //    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
+
+                //    DetailColl1.Add(oSub2);
+                //}
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+
+        //瀹℃牳
+        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
+        {
+
+            try
+            {
+                string HChecker = DBUtility.ClsPub.CurUserName;
+                string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
+                oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
+                //鐢熸垚璋冩嫧鍗�
+                //寰楀埌璋冩嫧鍗� mainid 鍗曟嵁鍙�
+                //long NewInterID = DBUtility.ClsPub.CreateBillID("1207", ref DBUtility.ClsPub.sExeReturnInfo);
+                //string NewBillNo = DBUtility.ClsPub.CreateBillCode("1207", ref DBUtility.ClsPub.sExeReturnInfo, true);//寰楀埌鏂板崟鍙�
+                //oCn.RunProc("exec h_p_Kf_MoveStockBill_Add " + lngBillKey.ToString() + "," + NewInterID.ToString() + ",'" + NewBillNo + "','" + HChecker + "'");
+                //
+                sReturn = "";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+
+
+
+
+        
+    }
+}
diff --git a/Model/Model.csproj b/Model/Model.csproj
index 7bedb0b..02aa0ff 100644
--- a/Model/Model.csproj
+++ b/Model/Model.csproj
@@ -653,6 +653,9 @@
     <Compile Include="绯荤粺鍏敤\ClsXt_SystemParameter_Model.cs" />
     <Compile Include="璁″垝绠$悊\ClsGy_MaterialTechParamBillSub.cs" />
     <Compile Include="璁″垝绠$悊\ClsGy_MaterialTechParamBillMain.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_PatrolProcCheckOtherBillMain.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_PatrolProcCheckOtherBillSub.cs" />
+    <Compile Include="璐ㄦ绠$悊\ClsQC_PatrolProcCheckOtherBillSub_ValueGrid.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_WorkSelfCheckBillMain.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_StockCheckBillMain.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_WorkSelfCheckBillSub.cs" />
diff --git a/Model/bin/Release/Model.dll b/Model/bin/Release/Model.dll
index f101700..e29a2d6 100644
--- a/Model/bin/Release/Model.dll
+++ b/Model/bin/Release/Model.dll
Binary files differ
diff --git a/Model/bin/Release/Model.pdb b/Model/bin/Release/Model.pdb
index 55a5dca..78cce23 100644
--- a/Model/bin/Release/Model.pdb
+++ b/Model/bin/Release/Model.pdb
Binary files differ
diff --git a/Model/obj/Release/Model.csproj.AssemblyReference.cache b/Model/obj/Release/Model.csproj.AssemblyReference.cache
index b12ad9c..4532924 100644
--- a/Model/obj/Release/Model.csproj.AssemblyReference.cache
+++ b/Model/obj/Release/Model.csproj.AssemblyReference.cache
Binary files differ
diff --git a/Model/obj/Release/Model.dll b/Model/obj/Release/Model.dll
index f101700..e29a2d6 100644
--- a/Model/obj/Release/Model.dll
+++ b/Model/obj/Release/Model.dll
Binary files differ
diff --git a/Model/obj/Release/Model.pdb b/Model/obj/Release/Model.pdb
index 55a5dca..78cce23 100644
--- a/Model/obj/Release/Model.pdb
+++ b/Model/obj/Release/Model.pdb
Binary files differ
diff --git "a/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBillMain.cs" "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBillMain.cs"
new file mode 100644
index 0000000..eb09606
--- /dev/null
+++ "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBillMain.cs"
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQC_PatrolProcCheckOtherBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HSourceID;
+        public Int64 HICMOInterID;
+        public Int64 HICMOEntryID;
+        public string HICMOBillNo;
+        public Int64 HICMOQty;
+        public Int64 HProcExchInterID;
+        public Int64 HProcExchEntryID;
+        public string HProcExchBillNo;
+        public Int64 HProcExchQty;
+        public Int64 HMaterID;
+        public Int64 HFirstCheckEmp;
+        public bool HLastResult;
+        public Int64 HCusID;
+        public string HMaterPicNo;
+        public Int64 HProcID;
+        public Int64 HGroupID;
+        public Int64 HShiftsID;
+        public string HErrTreatment;
+        public Int64 HCheckQty;
+        public Int64 HSourceOrgID;
+        public Int64 HInspectOrgID;
+        public Int64 HDeptID;
+        public Int64 HQCSchemeID;
+        public Int64 HUnitID;
+        public Int64 HInSpectQty;
+        public Int64 HRightQty;
+        public Int64 HUnRightQty;
+        public Int64 HSampleDamageQty;
+        public Int64 HSampleUnRightQty;
+        public string HQCStatus;
+        public string HBatchNo;
+        public Int64 HSampleQty;
+        public Int64 HSampleSchemeID;
+        public Int64 HAcceptQty;
+        public Int64 HRejectQty;
+        public Int64 HInspectTimes;
+        public string HAttachMent;
+
+
+        //子表 QC_StockCheckBillSub(检验项目)
+        public Int64 HInspectValB;
+        public Int64 HTargetValB;
+        public string HInspectVal;
+        public string HTargetVal;
+        public string HUpLimit;
+        public string HDownLimit;
+
+    }
+}
diff --git "a/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBillSub.cs" "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBillSub.cs"
new file mode 100644
index 0000000..98b24c4
--- /dev/null
+++ "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBillSub.cs"
@@ -0,0 +1,71 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQC_PatrolProcCheckOtherBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public String HBillNo_bak;
+        public Int64 HQCCheckItemID;
+        public string HInspectResult;
+        public string HAnalysisMethod;
+        public Int64 HQualityStdID;
+        public Int64 HInspectMethodID;
+        public Int64 HInspectInstruMentID;
+        public Int64 HInspectBasisID;
+        public Int64 HUnitID;
+        public Int64 HInspectValQ;
+        public Int64 HInspectValB;
+        public string HInSpectValT;
+        public string HDefectLevel;
+        public bool HDestructInspect;
+        public double HKeyInspect;
+        public string HStatus;
+        public Int64 HSampleQty;
+        public Int64 HSampleSchemeID;
+        public Int64 HAcceptQty;
+        public Int64 HRejectQty;
+        public double HSampleDamageQty;
+        public double HSampleUnRightQty;
+        public string HInspectVal;
+        public string HTargetVal;
+        public string HUpLimit;
+        public string HDownLimit;
+        public string HUpOffSet;
+        public string HDownOffSet;
+        public string HInspectValKey;
+        public string HTargetValKey;
+        public string HUpLimitKey;
+        public string HDownLimitKey;
+        public string HUpOffSetKey;
+        public string HDownOffSetKey;
+        public Int64 HInspectValQ2;
+        public Int64 HTargetValQ;
+        public Int64 HUpLimitQ;
+        public Int64 HDownLimitQ;
+        public Int64 HUpOffSetQ;
+        public Int64 HDownOffSetQ;
+        public Int64 HInspectValB2;
+        public Int64 HTargetValB;
+        public Int64 HUpLimitB;
+        public Int64 HDownLimitB;
+        public Int64 HUpOffSetB;
+        public Int64 HDownOffSetB;
+        public string HInspectValTxt;
+        public string HTargetValTxt;
+        public string HUpLimitTxt;
+        public string HDownLimitTxt;
+        public string HUpOffSetTxt;
+        public string HDownOffSetTxt;
+        public string HQCStd;
+        public string HUnit;
+        public string HQCTool;
+        public string HQCNote;
+        public string HResult;
+        public string HMax;
+        public string HMin;
+        public string HAvg;
+
+    }
+}
diff --git "a/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBillSub_ValueGrid.cs" "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBillSub_ValueGrid.cs"
new file mode 100644
index 0000000..57049c6
--- /dev/null
+++ "b/Model/\350\264\250\346\243\200\347\256\241\347\220\206/ClsQC_PatrolProcCheckOtherBillSub_ValueGrid.cs"
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsQC_PatrolProcCheckOtherBillSub_ValueGrid : DBUtility.ClsXt_BaseBillSub
+    {
+        public Int64 HItemID;
+        public Int64 HSEQ;
+        public String HInSpectResult;
+        public double HInSpectValue;
+        public Int64 HInSpectValueB;
+        public String HInSpectValueT;
+    }
+}
diff --git a/WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs b/WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs
index 0d11ad3..00cbd97 100644
--- a/WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs
+++ b/WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs
@@ -6,6 +6,7 @@
 using System.Collections.Generic;
 using System.Data;
 using System.Data.SqlClient;
+using System.Globalization;
 using System.Web.Http;
 using WebAPI.Models;
 namespace WebAPI.Controllers
@@ -166,7 +167,7 @@
                 long HPeriod = list[0].HPeriod;
                 DateTime HBeginDate = list[0].HBeginDate;
                 DateTime HEndDate = list[0].HEndDate;
-                string HEndFlag = list[0].HEndFlag;
+                string HEndFlag = "1";
 
 
 
@@ -181,14 +182,14 @@
                 "(HYear,HPeriod,HBeginDate,HEndDate" +
                 ",HEndFlag" +
                 ") " +
-                " values(" + HYear + "," + HPeriod + "," + HBeginDate + "," + HEndDate + 
-                ",'" + HEndFlag + "'" +
+                " values('" + HYear + "','" + HPeriod + "','" + HBeginDate + "','" + HEndDate + 
+                "','" + HEndFlag + "'" +
               ") ");
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCN.Commit();
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+                objJsonResult.Message = "缁撹处鎴愬姛锛�";
                 //objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -204,24 +205,32 @@
         }
 
         /// <summary>
-        /// 浼氳鏈熼棿鍒楄〃鍒犻櫎鎸夐挳
+        /// 浼氳鏈熼棿鍒楄〃鍙嶇粨璐︽寜閽�
         ///鍙傛暟锛歴tring sql銆�
         ///杩斿洖鍊硷細object銆�
         /// </summary>
-        [Route("Xt_AccountPeriod/Delete_Json")]
+        [Route("Xt_AccountPeriod/Update_Json")]
         [HttpGet]
-        public object Delete_Json(long HYaer,long HPeriod)
+        public object Update_Json(long HYear, long HPeriod ,string num)
         {
             try
             {
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCN.BeginTran();
+                if (num=="1")//缁撹处
+                {
+                    oCN.RunProc("update  Xt_AccountPeriod set HEndFlag=1 Where HYear =" + HYear + " and  HPeriod=" + HPeriod, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else//鍙嶇粨璐�
+                {
+                    oCN.RunProc("update  Xt_AccountPeriod set HEndFlag=0 Where HYear =" + HYear + " and  HPeriod=" + HPeriod, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
                 //涓昏〃
-                oCN.RunProc("delete from Xt_AccountPeriod Where HYaer =" + HYaer + " and  HPeriod=" + HPeriod, ref DBUtility.ClsPub.sExeReturnInfo);
+               
                 oCN.Commit();
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鍒犻櫎鍗曟嵁鎴愬姛锛�";
+                objJsonResult.Message = "鍙嶇粨璐︽垚鍔燂紒";
                 //objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -235,6 +244,154 @@
             }
         }
 
-        //
+
+        /// <summary>
+        /// 缁撹处鑾峰彇鏈�鍚庝竴娆$粨璐︽椂闂�
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("Xt_AccountPeriod/Lastlist")]
+        [HttpGet]
+        public object Lastlist()
+        {
+            try
+            {
+                //褰搇astYear=2024   lastPeriod=1鏄�,瑕佽幏鍙栦笂骞存渶鍚庝竴鏈堢殑鏃堕棿 fistYear  fistPeriod
+                string lastYear = "";
+                string lastPeriod = "";
+                string fistYear = "";
+                string fistPeriod = "";
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("select top  1 * from h_v_Xt_AccountPeriodList where 鏄惁缁撹处 = '鏄�' Order by 寮�濮嬫棩鏈� DESC", "h_v_Xt_AccountPeriodList");
+
+                //鑾峰彇瑕佺粨璐︾殑骞存湀
+                if (ds.Tables[0].Rows[0]["浼氳鏈堜唤"].ToString()=="1")
+                {
+                    fistYear = (Int64.Parse(ds.Tables[0].Rows[0]["浼氳骞翠唤"].ToString()) - 1).ToString();
+                    fistPeriod = (Int64.Parse(ds.Tables[0].Rows[0]["浼氳鏈堜唤"].ToString()) + 11).ToString();
+                }
+                else
+                {
+                    lastYear = ds.Tables[0].Rows[0]["浼氳骞翠唤"].ToString();
+                    lastPeriod = ds.Tables[0].Rows[0]["浼氳鏈堜唤"].ToString();
+                }               
+                
+                DateTime lastEndDate = (DateTime)ds.Tables[0].Rows[0]["缁撴潫鏃ユ湡"];
+
+                // 璁$畻瑕佺粨璐︾殑淇℃伅                   
+                DateTime nextBeginDate = lastEndDate.AddDays(1);
+                DateTime nextEndDate = nextBeginDate.AddMonths(1).AddDays(-1);
+
+                ds = oCN.RunProcReturn("select COUNT(*) 鏈鏍� from Kf_ICStockBillMain where HChecker =''  and HDate >='" + nextBeginDate + "' and HDate <='" + nextEndDate + "' ", "Kf_ICStockBillMain");
+                if (ds.Tables[0].Rows[0]["鏈鏍�"].ToString() == "0")
+                {
+                    if (fistYear=="")
+                    {
+                        //鏌ヨ涓婃湀姣忎釜浠撳簱,浠撲綅,鐗╂枡鎵�鏁伴噺澶氬皯,鏍规嵁涓婃湀鏁伴噺+鏈湀杩涘叆鏀嚭鏁伴噺,鎻掑叆鏈熷垵搴撳瓨琛�
+                        string sql = "SELECT b.HWHID AS 浠撳簱, b.HSPID AS 浠撲綅,b.HMaterID AS 鐗╂枡," +
+                            "SUM(CASE WHEN a.HYear = '" + lastYear + "' AND a.HPeriod = '" + lastPeriod + "' THEN b.HQty ELSE 0 END) AS 鏈熷垵," +
+                            "SUM(CASE WHEN a.HYear = '" + lastYear + "' AND a.HPeriod = '" + lastPeriod + "' THEN b.HQty ELSE 0 END) AS 鏈湡, " +
+                            "SUM(CASE WHEN a.HYear = '" + lastYear + "' AND (a.HPeriod = '" + lastPeriod + "' OR a.HPeriod = '" + lastPeriod + "') THEN b.HQty ELSE 0 END) AS 鎬昏  " +
+                            "FROM  Kf_ICStockBillMain a INNER JOIN Kf_ICStockBillSub b ON a.HInterID = b.HInterID WHERE a.HYear = '" + lastYear + "' AND (a.HPeriod = '" + lastPeriod + "' OR a.HPeriod = '" + lastPeriod + "') " +
+                            "GROUP BY  b.HWHID,b.HSPID,b.HMaterID  ORDER BY b.HWHID,b.HSPID,b.HMaterID";
+                        ds = oCN.RunProcReturn(sql, "Kf_ICStockBillMain");
+
+                        DataTable dt = ds.Tables[0]; 
+                        List<Kf_ICInvBal> stockBillItemList = new List<Kf_ICInvBal>(); 
+
+                        foreach (DataRow row in dt.Rows)
+                        {
+                            Kf_ICInvBal item = new Kf_ICInvBal();
+ 
+                            item.HYear = lastYear;
+                            item.HPeriod = lastPeriod;
+                            item.HWhID = Convert.ToInt32(row["浠撳簱"]);
+                            item.HSPID = Convert.ToInt32(row["浠撲綅"]);
+                            item.HMaterID = Convert.ToInt32(row["鐗╂枡"]);
+                            item.HBeginQty = Convert.ToDecimal(row["鎬昏"]);
+
+                            oCN.RunProc("INSERT INTO Kf_ICInvBal (HYear, HPeriod, HWhID, HSPID, HMaterID, HBeginQty)  VALUES('"+ item.HYear + "', '" + item.HPeriod + "', '" + item.HWhID + "', '" + item.HSPID + "', '" + item.HMaterID + "', '" + item.HBeginQty + "')");
+                        }
+
+                        // 鐜板湪stockBillItemList鍖呭惈浜嗕粠DataTable涓鍙栧苟澶勭悊杩囩殑鏁版嵁
+                    }
+
+                    else
+                    {
+                        //鏌ヨ涓婃湀姣忎釜浠撳簱,浠撲綅,鐗╂枡鎵�鏁伴噺澶氬皯,鏍规嵁涓婃湀鏁伴噺+鏈湀杩涘叆鏀嚭鏁伴噺,鎻掑叆鏈熷垵搴撳瓨琛�
+                        string sql = "SELECT b.HWHID AS 浠撳簱, b.HSPID AS 浠撲綅,b.HMaterID AS 鐗╂枡," +
+                            "SUM(CASE WHEN a.HYear = '" + fistYear + "' AND a.HPeriod = '" + fistPeriod + "' THEN b.HQty ELSE 0 END) AS 鏈熷垵," +
+                            "SUM(CASE WHEN a.HYear = '" + lastYear + "' AND a.HPeriod = '" + lastPeriod + "' THEN b.HQty ELSE 0 END) AS 鏈湡, " +
+                            "SUM(CASE WHEN (a.HYear = '" + fistYear + "' AND a.HPeriod = '" + fistPeriod + "') OR  (a.HYear = '" + lastYear + "' AND a.HPeriod = '" + lastPeriod + "') THEN b.HQty ELSE 0 END) AS 鎬昏  " +
+                            "FROM  Kf_ICStockBillMain a INNER JOIN Kf_ICStockBillSub b ON a.HInterID = b.HInterID WHERE (a.HYear = '" + fistYear + "' AND a.HPeriod = '" + fistPeriod + "') OR  (a.HYear = '" + lastYear + "' AND a.HPeriod = '" + lastPeriod + "') " +
+                            "GROUP BY  b.HWHID,b.HSPID,b.HMaterID  ORDER BY b.HWHID,b.HSPID,b.HMaterID";
+                        ds = oCN.RunProcReturn(sql, "Kf_ICStockBillMain");
+                        DataTable dt = ds.Tables[0];
+                        List<Kf_ICInvBal> stockBillItemList = new List<Kf_ICInvBal>();
+
+                        foreach (DataRow row in dt.Rows)
+                        {
+                            Kf_ICInvBal item = new Kf_ICInvBal();
+
+                            item.HYear = fistYear;
+                            item.HPeriod = fistPeriod;
+                            item.HWhID = Convert.ToInt32(row["浠撳簱"]);
+                            item.HSPID = Convert.ToInt32(row["浠撲綅"]);
+                            item.HMaterID = Convert.ToInt32(row["鐗╂枡"]);
+                            item.HBeginQty = Convert.ToDecimal(row["鎬昏"]);
+
+                            oCN.RunProc("INSERT INTO Kf_ICInvBal (HYear, HPeriod, HWhID, HSPID, HMaterID, HBeginQty)  VALUES('" + item.HYear + "', '" + item.HPeriod + "', '" + item.HWhID + "', '" + item.HSPID + "', '" + item.HMaterID + "', '" + item.HBeginQty + "')");
+                        }
+                    }
+                   
+
+                    //鏌ヨ瑕佺粨璐︾殑鏃ユ湡
+                    ds = oCN.RunProcReturn("select top  1 * from h_v_Xt_AccountPeriodList where 鏄惁缁撹处 = '鏄�' Order by 寮�濮嬫棩鏈� DESC", "h_v_Xt_AccountPeriodList");                 
+                    //娣诲姞鍒楀悕
+                    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;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    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;
+            }
+        }
+
+
+        public class Kf_ICInvBal
+        {
+            public string  HYear; //浼氳骞�
+            public string HPeriod; //浼氳鏈�
+            public int HWhID; //浠撳簱鍐呯爜
+            public int HSPID; //浠撲綅鍐呯爜
+            public int HMaterID; //鐗╂枡鍐呯爜
+            public decimal HBeginQty; //鏈熷垵鏁伴噺
+        }
+
+
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
index fafe1d8..c083f5e 100644
--- a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
+++ b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
@@ -935,6 +935,68 @@
 
         }
         #endregion
-       
+
+        #region 璁惧PDA妯″潡 鎵爜       
+        [Route("Gy_EquipFileBill/txtHBarCode_KeyDown")]
+        [HttpGet]
+        public object txtHBarCode_KeyDown(string HBarCode, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏉$爜淇℃伅涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    string sql = "select * from h_v_Gy_EquipFileBill_KeyDown_PDA where 鏉″舰鐮� = '" + HBarCode + "'";
+                    ds = oCN.RunProcReturn(sql, "锘縣_v_Gy_EquipFileBill_KeyDown_PDA");
+                }
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    //娣诲姞鍒楀悕
+                    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;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璁惧鏉$爜锛�" + HBarCode + " ,娌℃湁鍒涘缓姝よ澶囨。妗�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs
index c8043de..e5c1dd5 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipDotCheckBillController.cs
@@ -473,7 +473,7 @@
                     return objJsonResult;
                 }
                 //寰楀埌淇℃伅
-                ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_EquipFileMainList  where 璁惧浠g爜= '" + HBarCode + "'", "h_v_Gy_EquipFileMainList");
+                ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_EquipFileMainList  where 鏉″舰鐮�= '" + HBarCode + "'", "h_v_Gy_EquipFileMainList");
                 //鍐欏叆淇℃伅
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs
index 9b7e312..8385d23 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipStopBillController.cs
@@ -794,6 +794,6 @@
             }
         }
         #endregion
-
+       
     }
 }
\ No newline at end of file
diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs"
index ccaa8fa..60ec244 100644
--- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs"
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs"
@@ -98,6 +98,40 @@
                 return objJsonResult;
             }
         }
+
+        /// <summary>
+        /// 鏍规嵁鐐瑰嚮琛屾爣棰樻椂闂存煡璇㈢己鏂欏垎鏋�
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        [Route("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHDateTimeList")]
+        [HttpGet]
+        public object JIT_DayPlanPlatFormBillHDateTimeList(string sWhere)
+        {
+            try
+            {
+                MaterialShorAnalysis Report = JsonConvert.DeserializeObject<MaterialShorAnalysis>(sWhere);
+
+                ds = oCN.RunProcReturn($"exec h_p_JIT_MaterialShorAnalysisReportList {Report.HORGID},'{Report.HBEGINDATE}','{Report.HENDDATE}' ", "h_p_JIT_PODemandPlanBill_ReportList");
+
+               
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                //objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
         #endregion
 
         #region 鐢熶骇鏃ヨ鍒掑钩鍙� 淇濆瓨
diff --git a/WebAPI/Controllers/Sb_CheckEqpRepairWorkBillController.cs b/WebAPI/Controllers/Sb_CheckEqpRepairWorkBillController.cs
index 718192f..e4c9062 100644
--- a/WebAPI/Controllers/Sb_CheckEqpRepairWorkBillController.cs
+++ b/WebAPI/Controllers/Sb_CheckEqpRepairWorkBillController.cs
@@ -1315,7 +1315,7 @@
                     return objJsonResult;
                 }
                 //寰楀埌淇℃伅
-                ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_EquipFileBillList where HEquipFileNumber= '" + HBarCode + "'", "Gy_EquipFileBillMain");
+                ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_EquipFileBillList where HBarCode= '" + HBarCode + "'", "Gy_EquipFileBillMain");
                 //鍐欏叆淇℃伅
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
diff --git a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
index ba36c2a..d312330 100644
--- a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
+++ b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -6741,7 +6741,7 @@
                     return objJsonResult;
                 }
                 //寰楀埌淇℃伅
-                ds = oCN.RunProcReturn("select top 1 * from Gy_MouldFileMain  where HNumber= '" + HBarCode + "'", "Gy_MouldFileMain");
+                ds = oCN.RunProcReturn("select top 1 * from Gy_MouldFileMain  where HBarCode= '" + HBarCode + "'", "Gy_MouldFileMain");
                 //鍐欏叆淇℃伅
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
diff --git a/WebAPI/Controllers/WebAPIController.cs b/WebAPI/Controllers/WebAPIController.cs
index 4ffa124..e2c8636 100644
--- a/WebAPI/Controllers/WebAPIController.cs
+++ b/WebAPI/Controllers/WebAPIController.cs
@@ -12503,13 +12503,56 @@
             try
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-                string sql = string.Format(@"select b.HDotCheckItemID HDotCheckItemID,c.HNumber HDotCheckCode,b.HDotCheckItem,b.HDotCheckPart,b.HClaim,
-                                    b.HManagerID,e.HNumber HManagerCode,e.HName HManagerName,b.HRemark from Sb_EquipDotCheckRuleBillMain  a 
-									left join Sb_EquipDotCheckRuleBillSub b on a.HInterID=b.HInterID 
-                                    left join Gy_DotCheck c on c.HItemID=b.HDotCheckItemID
-                                     left join Gy_Employee e on e.HItemID=b.HManagerID
-                                    where a.HInterID=" + HDotCheckRuleInterID);
-                ds = oCN.RunProcReturn(sql, "Sb_EquipDotCheckRuleBillMain");
+                string sql = string.Format(@"select * from h_v_Sb_EquipDotCheckRuleBillList_PDA where HInterID=" + HDotCheckRuleInterID);
+                ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipDotCheckRuleBillList_PDA");
+                if (ds == null || ds.Tables[0].Rows.Count <= 0)
+                {
+                    objjson.code = "0";
+                    objjson.count = 0;
+                    objjson.Message = "鑾峰彇澶辫触" + DBUtility.ClsPub.sErrInfo;
+                    objjson.data = null;
+                    return objjson;
+                }
+                else
+                {
+                    objjson.code = "1";
+                    objjson.count = 1;
+                    objjson.Message = "鑾峰彇鎴愬姛!";
+                    objjson.data = ds.Tables[0];
+                    return objjson;
+                }
+            }
+            catch (Exception ex)
+            {
+                objjson.code = "0";
+                objjson.count = 0;
+                objjson.Message = "鑾峰彇澶辫触" + ex.ToString();
+                objjson.data = null;
+                return objjson;
+            }
+        }
+
+        /// <summary>
+        /// 鏍规嵁璁惧淇濆吇瑙勭▼鏄剧ず璁惧淇濆吇绋嬮」鐩�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Web/GetMaintainItemByMaintainRuleID")]
+        [HttpGet]
+        public object GetMaintainItemByMaintainRuleID(int HEquipMaintainRuleInterID)
+        {
+            if (HEquipMaintainRuleInterID <= 0)
+            {
+                objjson.code = "0";
+                objjson.count = 0;
+                objjson.Message = "璁惧淇濆吇瑙勭▼鏈�夋嫨";
+                objjson.data = null;
+                return objjson;
+            }
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                string sql = string.Format(@"select * from h_v_Sb_EquipMaintainRuleBillList_PDA where HInterID=" + HEquipMaintainRuleInterID);
+                ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipMaintainRuleBillList_PDA");
                 if (ds == null || ds.Tables[0].Rows.Count <= 0)
                 {
                     objjson.code = "0";
diff --git "a/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\345\267\241\346\243\200\345\215\225/QC_PatrolProcCheckOtherBillController.cs" "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\345\267\241\346\243\200\345\215\225/QC_PatrolProcCheckOtherBillController.cs"
new file mode 100644
index 0000000..8cd65f2
--- /dev/null
+++ "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\345\267\241\346\243\200\345\215\225/QC_PatrolProcCheckOtherBillController.cs"
@@ -0,0 +1,1041 @@
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using Pub_Class;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers
+{
+    //宸℃鍗旵ontroller
+    //鏁版嵁搴撲富琛≦C_PatrolProcCheckOtherBillMain
+    //鏁版嵁搴撳瓙琛≦C_PatrolProcCheckOtherBillSub
+    public class QC_PatrolProcCheckOtherBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsQC_PatrolProcCheckOtherBill BillOld = new DAL.ClsQC_PatrolProcCheckOtherBill();
+        DataSet ds;
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
+        #region 宸℃鍗曞垪琛�  涓�  缂栬緫鍥炴樉
+        [Route("QC_PatrolProcCheckOtherBill/QC_PatrolProcCheckOtherBillList")]
+        [HttpGet]
+        public object QC_FirstPieceCheckBillList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sql1 = "select * from h_v_QC_PatrolProcCheckOtherBill where 1 = 1  ";
+                string sql = sql1 + sWhere + " order by hmainid desc";
+                ds = oCN.RunProcReturn(sql, "h_v_QC_PatrolProcCheckOtherBill");
+
+                //娣诲姞鍒楀悕
+                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.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃鍗曚繚瀛�
+        [Route("QC_PatrolProcCheckOtherBill/set_SaveBill")]
+        [HttpPost]
+        public object set_SaveBill([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //淇濆瓨鍗曟嵁
+            return objJsonResult = AddBillMain(msg1);
+        }
+
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string OperationType = sArray[2].ToString().Trim();
+            string user = sArray[3].ToString();
+            string Value = sArray[4].ToString();
+            bool bResult;
+            try
+            {
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("QC_PatrolProcCheckOtherBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<Model.ClsQC_PatrolProcCheckOtherBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_PatrolProcCheckOtherBillMain>>(msg2);
+                DAL.ClsQC_PatrolProcCheckOtherBill BillNew = new DAL.ClsQC_PatrolProcCheckOtherBill();
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0; 
+                DateTime HDate = mainList[0].HDate;//鏃ユ湡
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = s;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                BillNew.omodel.HYear = sYear;
+                BillNew.omodel.HPeriod = sPeriod;
+                //鍥哄畾璧嬪��=================================
+                BillNew.omodel.HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                BillNew.omodel.HBillNo = mainList[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                BillNew.omodel.HDate = HDate;
+                BillNew.omodel.HRemark = mainList[0].HRemark;//澶囨敞
+                BillNew.omodel.HMaker = mainList[0].HMaker;
+                BillNew.omodel.HSourceID = ClsPub.isLong(mainList[0].HSourceID);
+                BillNew.omodel.HICMOInterID = ClsPub.isLong(mainList[0].HICMOInterID);
+                BillNew.omodel.HICMOBillNo = ClsPub.isStrNull(mainList[0].HICMOBillNo);
+                BillNew.omodel.HICMOEntryID = ClsPub.isLong(mainList[0].HICMOEntryID);
+                BillNew.omodel.HICMOQty = ClsPub.isLong(mainList[0].HICMOQty);
+                BillNew.omodel.HProcExchInterID = ClsPub.isLong(mainList[0].HProcExchInterID);
+                BillNew.omodel.HProcExchEntryID = ClsPub.isLong(mainList[0].HProcExchEntryID);
+                BillNew.omodel.HProcExchBillNo = ClsPub.isStrNull(mainList[0].HProcExchBillNo);
+                BillNew.omodel.HProcExchQty = ClsPub.isLong(mainList[0].HProcExchQty);
+                BillNew.omodel.HMaterID = ClsPub.isLong(mainList[0].HMaterID);
+                BillNew.omodel.HFirstCheckEmp = ClsPub.isLong(mainList[0].HFirstCheckEmp);
+                BillNew.omodel.HLastResult = ClsPub.isBool(mainList[0].HLastResult);
+                BillNew.omodel.HMainSourceInterID = ClsPub.isLong(mainList[0].HMainSourceInterID);
+                BillNew.omodel.HMainSourceEntryID = ClsPub.isLong(mainList[0].HMainSourceEntryID);
+                BillNew.omodel.HMainSourceBillNo = ClsPub.isStrNull(mainList[0].HMainSourceBillNo);
+                BillNew.omodel.HMainSourceBillType = ClsPub.isStrNull(mainList[0].HMainSourceBillType);
+                BillNew.omodel.HQCSchemeID = ClsPub.isLong(mainList[0].HQCSchemeID);                
+                BillNew.omodel.HBillStatus = 1;
+                BillNew.omodel.HShiftsID = ClsPub.isLong(mainList[0].HShiftsID);
+                BillNew.omodel.HErrTreatment = ClsPub.isStrNull(mainList[0].HErrTreatment);
+                List<Model.ClsQC_PatrolProcCheckOtherBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_PatrolProcCheckOtherBillSub>>(msg3);
+                BillNew.DetailColl = new List<Model.ClsQC_PatrolProcCheckOtherBillSub>();
+                for (int i = 0; i < subList.ToArray().Length; i++)
+                {
+                    if (i >= 0)//HQty
+                    {
+                        Model.ClsQC_PatrolProcCheckOtherBillSub oSub = new Model.ClsQC_PatrolProcCheckOtherBillSub();
+                        oSub.HEntryID = i+1;
+                        oSub.HRemark = ClsPub.isStrNull(subList[i].HRemark);
+                        oSub.HSourceInterID = ClsPub.isLong(subList[i].HSourceInterID);
+                        oSub.HSourceEntryID = ClsPub.isLong(subList[i].HSourceEntryID);
+                        oSub.HSourceBillType = ClsPub.isStrNull(subList[i].HSourceBillType); 
+                        oSub.HSourceBillNo = ClsPub.isStrNull(subList[i].HSourceBillNo);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[i].HRelationQty);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[i].HRelationMoney);
+                        oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[i].HCloseMan);
+                        oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[i].HEntryCloseDate);
+                        oSub.HCloseType = DBUtility.ClsPub.isBool(subList[i].HCloseType);
+                        oSub.HQCCheckItemID = DBUtility.ClsPub.isLong(subList[i].HQCCheckItemID);
+                        oSub.HQCStd = DBUtility.ClsPub.isStrNull(subList[i].HQCStd);
+                        oSub.HUnit = DBUtility.ClsPub.isStrNull(subList[i].HUnit);
+                        oSub.HQCNote = DBUtility.ClsPub.isStrNull(subList[i].HQCNote);
+                        oSub.HResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+                        oSub.HMax = DBUtility.ClsPub.isStrNull(subList[i].HMax);
+                        oSub.HMin = DBUtility.ClsPub.isStrNull(subList[i].HMin);
+                        oSub.HAvg = DBUtility.ClsPub.isStrNull(subList[i].HAvg);
+                        oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(mainList[0].HBillNo);
+
+                        oSub.HSampleSchemeID= DBUtility.ClsPub.isLong(subList[i].HSampleSchemeID);
+                        oSub.HSampleQty= DBUtility.ClsPub.isLong(subList[i].HSampleQty);
+                        oSub.HSampleDamageQty= DBUtility.ClsPub.isDoule(subList[i].HSampleDamageQty);
+                        oSub.HAcceptQty= DBUtility.ClsPub.isLong(subList[i].HAcceptQty);
+                        oSub.HRejectQty= DBUtility.ClsPub.isLong(subList[i].HRejectQty);
+                        oSub.HSampleUnRightQty= DBUtility.ClsPub.isDoule(subList[i].HSampleUnRightQty);
+                        oSub.HStatus= DBUtility.ClsPub.isStrNull(subList[i].HStatus);
+                        //*淇濆瓨鐨勬椂鍊� 鍐呭鍦ㄨ〃澶�  
+                        oSub.HUnitID= DBUtility.ClsPub.isLong(mainList[0].HUnitID == null ? 0 : mainList[0].HUnitID);
+                        oSub.HInspectValB = DBUtility.ClsPub.isLong(mainList[0].HInspectValB == null ? 0 : mainList[0].HInspectValB);
+                        oSub.HTargetValB = DBUtility.ClsPub.isLong(mainList[0].HTargetValB == null ? 0 : mainList[0].HTargetValB);
+
+                        oSub.HInspectVal= DBUtility.ClsPub.isStrNull(mainList[0].HInspectVal);
+                        oSub.HTargetVal= DBUtility.ClsPub.isStrNull(mainList[0].HTargetVal);
+                        oSub.HUpLimit= DBUtility.ClsPub.isStrNull(mainList[0].HUpLimit);
+                        oSub.HDownLimit= DBUtility.ClsPub.isStrNull(mainList[0].HDownLimit);
+                        //*
+                        oSub.HUpOffSet= DBUtility.ClsPub.isStrNull(subList[i].HUpOffSet);
+                        oSub.HDownOffSet= DBUtility.ClsPub.isStrNull(subList[i].HDownOffSet);
+                        oSub.HAnalysisMethod = DBUtility.ClsPub.isStrNull(subList[i].HAnalysisMethod);
+                        oSub.HKeyInspect = DBUtility.ClsPub.isLong(subList[i].HKeyInspect);
+                        oSub.HInspectInstruMentID = DBUtility.ClsPub.isLong(subList[i].HInspectInstruMentID);
+                        oSub.HInspectResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳槑缁嗚淇℃伅!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+               
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                if (OperationType.Equals("1") || OperationType.Equals("2"))
+                {
+                    bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = BillNew.ModifyBill(BillNew.omodel.HInterID, ref ClsPub.sExeReturnInfo);
+                }
+                //鎻愮ず
+                if (bResult == true)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = ClsPub.sExeReturnInfo+"鍗曟嵁鍙�:" + mainList[0].HBillNo.Trim();
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                    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("QC_PatrolProcCheckOtherBill/set_SaveValue")]
+        [HttpPost]
+        public object set_SaveValue([FromBody] JObject msg)
+        {
+            ListModels oListModels = new ListModels();
+            try
+            {
+                var _value = msg["msg"].ToString();
+                string msg1 = _value.ToString();
+                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+
+                string Value = sArray[0].ToString(); //妫�楠屽�艰〃鏍�
+                Int64 HInterID = Convert.ToInt64(sArray[1]); //涓籌D
+                Int64 HEntryID = Convert.ToInt64(sArray[2]); //瀛怚D
+                bool bResult;
+
+
+                List<Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid> valueList = new List<Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid>();
+                valueList = oListModels.getObjectByJson_ClsQC_PatrolProcCheckOtherBillSub_ValueGrid(Value);
+
+                DAL.ClsQC_PatrolProcCheckOtherBill BillNew = new DAL.ClsQC_PatrolProcCheckOtherBill();
+
+                for (int i = 0; i < valueList.ToArray().Length; i++)
+                {
+                    if (i >= 0)//HQty
+                    {
+                        Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid oSub_Value = new Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid();
+                        oSub_Value.HInterID = HInterID;
+                        oSub_Value.HEntryID = HEntryID;
+                        oSub_Value.HSEQ = i + 1;
+                        oSub_Value.HInSpectResult = ClsPub.isStrNull(valueList[i].HInSpectResult);
+                        oSub_Value.HInSpectValue = ClsPub.isDoule(valueList[i].HInSpectValue);
+                        oSub_Value.HInSpectValueB = ClsPub.isLong(valueList[i].HInSpectValueB);
+                        oSub_Value.HInSpectValueT = ClsPub.isStrNull(valueList[i].HInSpectValueT);
+
+                        BillNew.DetailColl_Value.Add(oSub_Value);
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳槑缁嗚淇℃伅!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                bResult = BillNew.AddValue(ref ClsPub.sExeReturnInfo, ref HInterID, ref HEntryID);
+
+                if (bResult == true)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨妫�楠屽�兼垚鍔�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                    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("QC_PatrolProcCheckOtherBill/getValueList")]
+        [HttpGet]
+        public object getValueList(Int64 HInterID, Int64 HEntryID, string user)
+        {
+            DataSet ds;
+            try
+            {              
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("select * from QC_PatrolProcCheckOtherBillSub_ValueGrid  where  HInterID=" + HInterID + " and HEntryID="+ HEntryID, "QC_PatrolProcCheckOtherBillSub_ValueGrid");
+
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳娴嬪�兼暟鎹紒";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+
+               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃鍗曞崟 瀹℃牳/鍙嶅鏍�     
+        [Route("QC_PatrolProcCheckOtherBill/AuditQC_PatrolProcCheckOtherBill")]
+        [HttpGet]
+        public object AuditQC_PatrolProcCheckOtherBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_PatrolProcCheckOtherBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_PatrolProcCheckOtherBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃鍗曞崟 鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("QC_PatrolProcCheckOtherBill/CloseQC_PatrolProcCheckOtherBill")]
+        [HttpGet]
+        public object CloseQC_PatrolProcCheckOtherBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_PatrolProcCheckOtherBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_PatrolProcCheckOtherBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃鍗曞崟 浣滃簾/鍙嶄綔搴熷姛鑳�
+        [Route("QC_PatrolProcCheckOtherBill/DropQC_PatrolProcCheckOtherBill")]
+        [HttpGet]
+        public object DropQC_PatrolProcCheckOtherBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_PatrolProcCheckOtherBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_PatrolProcCheckOtherBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
+        #region 宸℃鍗曞垹闄ゅ姛鑳�
+
+        [Route("QC_PatrolProcCheckOtherBill/DeltetQC_PatrolProcCheckOtherBill")]
+        [HttpGet]
+        public object DeltetQC_PatrolProcCheckOtherBill(string HInterID, string user)
+        {
+            string ModRightNameCheck = "QC_PatrolProcCheckOtherBill_Delete";
+            try
+            {
+                //鍒犻櫎鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒犻櫎澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //寮�濮嬩簨鐗�
+                oCN.BeginTran();    
+
+                oCN.RunProc("Delete From QC_PatrolProcCheckOtherBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_PatrolProcCheckOtherBillSub where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_PatrolProcCheckOtherBillSub_ValueGrid where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_PatrolProcCheckOtherBillSub_Result where HInterID = " + HInterID);
+            
+                //鎻愪氦浜嬪姟
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                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("QC_PatrolProcCheckOtherBill/get_StationInBill")]
+        [HttpGet]
+        public object get_StationInBill(string HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {
+                        case "宸ュ簭":
+                            sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ュ簭','" + HInterID + "'";
+                            break;
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'鐗╂枡','" + HInterID + "'";
+                            break;
+                        case "宸ヨ壓璺嚎":
+                            sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ヨ壓璺嚎','" + HInterID + "'";
+                            break;
+                    }
+                   
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
+             
+                //娣诲姞鍒楀悕
+                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 e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 搴撳瓨/宸ュ簭 妫�楠屽崟鏍规嵁婧愬崟绫诲瀷鑾峰彇淇℃伅-婧愬崟涓哄伐搴忔祦杞崱
+        [Route("QC_PatrolProcCheckOtherBill/get_ProcessExchangeBill")]
+        [HttpGet]
+        public object get_ProcessExchangeBill(string HInterID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {
+                        case "宸ュ簭":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'宸ュ簭','" + HInterID + "'";
+                            break;
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'鐗╂枡','" + HInterID + "'";
+                            break;
+                        case "宸ヨ壓璺嚎":
+                            sql = "exec h_p_QC_FirstPiece_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + HInterID + "'";
+                            break;
+                    }
+
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetProcessExchangeBillList");
+
+                //娣诲姞鍒楀悕
+                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 e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃鍗曟牴鎹簮鍗曠被鍨嬭幏鍙栦俊鎭�-婧愬崟涓虹敓浜х姸鎬佷复鏃惰〃锛�3722锛�
+      
+        [Route("QC_PatrolProcCheckOtherBill/get_ICMOBillStatus_Tmp")]
+        [HttpGet]
+        public object get_ICMOBillStatus_Tmp(int HInterID, int HEntryID, string HBillType)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                if (HInterID == 0 || HBillType.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍙傛暟涓嶅叏锛岃幏鍙栨簮鍗曚俊鎭け璐ワ紒HInterID锛�" + HInterID + "锛汬EntryID锛�" + HEntryID + "锛汬BillType锛�" + HBillType + "锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sReturn = "";
+                string sql = "";
+                if (oSystemParameter.ShowBill(ref sReturn))
+                {
+                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                    {                       
+                        case "鐗╂枡":
+                            sql = "exec h_p_QC_GetInfoByICMOStatusBill " + "'鐗╂枡'" + "," + HInterID + "," + HEntryID + "," + HBillType;
+                            break;                        
+                    }
+
+                }
+
+                ds = oCN.RunProcReturn(sql, "h_p_QC_GetInfoByICMOStatusBill");
+
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃煡璇㈠埌鏁版嵁锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    //娣诲姞鍒楀悕
+                    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 = "杩斿洖璁板綍鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    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/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs" "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
index 018df13..6a9b65a 100644
--- "a/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
+++ "b/WebAPI/Controllers/\346\235\241\347\240\201\347\256\241\347\220\206/WEBSController.cs"
@@ -6961,6 +6961,56 @@
             }
         }
         #endregion
+
+        #region 鏈熷垵搴撳瓨鎶ヨ〃
+        /// <summary>
+        /// 浠撳簱鏀跺彂瀛樻姤琛�
+        /// </summary>
+        /// <returns></returns>
+        [Route("WEBSController/GetKf_ICInvBalList")]
+        [HttpGet]
+        public object GetKf_ICInvBalList(string sWhere)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCn.RunProcReturn("select * from h_v_Kf_ICInvBalList ", "h_v_Kf_ICInvBalList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Kf_ICInvBalList where 1 = 1 ";
+                    string sql = sql1 + sWhere;
+                    ds = oCn.RunProcReturn(sql, "h_v_Kf_ICInvBalList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
         #endregion
 
 
diff --git a/WebAPI/ListModels.cs b/WebAPI/ListModels.cs
index f791426..cc9def8 100644
--- a/WebAPI/ListModels.cs
+++ b/WebAPI/ListModels.cs
@@ -4148,7 +4148,7 @@
             List<Model.ClsQC_FirstPieceCheckBillSub_ValueGrid> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillSub_ValueGrid>>(jsonString);
             return list;
         }
-
+        
         ///搴撳瓨妫�楠屽崟 瀛欒〃
         ///ClsQC_StockCheckBillSub_ValueGrid
         public List<Model.ClsQC_StockCheckBillSub_ValueGrid> getObjectByJson_ClsQC_StockCheckBillSub_ValueGrid(string jsonString)
@@ -4158,6 +4158,15 @@
             return list;
         }
 
+        ///宸℃鍗�2 瀛欒〃
+        ///ClsQC_PatrolProcCheckOtherBillSub_ValueGrid
+        public List<Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid> getObjectByJson_ClsQC_PatrolProcCheckOtherBillSub_ValueGrid(string jsonString)
+        {
+            //jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_PatrolProcCheckOtherBillSub_ValueGrid>>(jsonString);
+            return list;
+        }
+
         ///杞﹂棿鑷鍗� 瀛欒〃
         ///ClsQC_WorkSelfCheckBillSub_ValueGrid
         public List<Model.ClsQC_WorkSelfCheckBillSub_ValueGrid> getObjectByJson_ClsQC_WorkSelfCheckBillSub_ValueGrid(string jsonString)
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml b/WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml
new file mode 100644
index 0000000..cb89d73
--- /dev/null
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml
@@ -0,0 +1,17 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+https://go.microsoft.com/fwlink/?LinkID=208121. 
+-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <DeleteExistingFiles>True</DeleteExistingFiles>
+    <ExcludeApp_Data>False</ExcludeApp_Data>
+    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
+    <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
+    <LastUsedPlatform>Any CPU</LastUsedPlatform>
+    <PublishProvider>FileSystem</PublishProvider>
+    <PublishUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</PublishUrl>
+    <WebPublishMethod>FileSystem</WebPublishMethod>
+    <SiteUrlToLaunchAfterPublish />
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml.user b/WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml.user
new file mode 100644
index 0000000..122166f
--- /dev/null
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile10.pubxml.user
@@ -0,0 +1,450 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<!--
+https://go.microsoft.com/fwlink/?LinkID=208121. 
+-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <History>True|2024-06-08T04:38:30.4153773Z;True|2024-06-07T21:22:19.4545597+08:00;True|2024-06-07T21:05:53.1963741+08:00;True|2024-06-07T21:00:57.2568708+08:00;True|2024-06-07T14:39:19.6618679+08:00;True|2024-06-07T14:21:51.5169962+08:00;True|2024-06-07T11:29:08.0690999+08:00;True|2024-06-07T11:26:29.1494329+08:00;True|2024-06-07T11:20:41.2024309+08:00;True|2024-06-07T10:12:26.5905597+08:00;False|2024-06-07T10:11:35.3679434+08:00;</History>
+    <_PublishTargetUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</_PublishTargetUrl>
+  </PropertyGroup>
+  <ItemGroup>
+    <File Include="apiapp.json">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/Antlr3.Runtime.dll">
+      <publishTime>02/22/2013 16:43:40</publishTime>
+    </File>
+    <File Include="bin/Antlr3.Runtime.pdb">
+      <publishTime>02/22/2013 16:43:40</publishTime>
+    </File>
+    <File Include="bin/BLL.dll">
+      <publishTime>06/08/2024 12:38:12</publishTime>
+    </File>
+    <File Include="bin/BLL.pdb">
+      <publishTime>06/08/2024 12:38:12</publishTime>
+    </File>
+    <File Include="bin/BouncyCastle.Crypto.dll">
+      <publishTime>12/18/2020 05:32:28</publishTime>
+    </File>
+    <File Include="bin/DAL.dll">
+      <publishTime>06/08/2024 12:38:10</publishTime>
+    </File>
+    <File Include="bin/DAL.pdb">
+      <publishTime>06/08/2024 12:38:10</publishTime>
+    </File>
+    <File Include="bin/Dapper.dll">
+      <publishTime>07/22/2016 22:52:40</publishTime>
+    </File>
+    <File Include="bin/DBUtility.dll">
+      <publishTime>06/08/2024 12:38:08</publishTime>
+    </File>
+    <File Include="bin/DBUtility.pdb">
+      <publishTime>06/08/2024 12:38:08</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.Api.dll">
+      <publishTime>03/22/2022 13:17:26</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.Api.pdb">
+      <publishTime>03/19/2022 07:39:42</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.dll">
+      <publishTime>03/22/2022 13:17:20</publishTime>
+    </File>
+    <File Include="bin/Grpc.Core.pdb">
+      <publishTime>03/19/2022 07:39:48</publishTime>
+    </File>
+    <File Include="bin/grpc_csharp_ext.x64.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="bin/grpc_csharp_ext.x86.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="bin/ICSharpCode.SharpZipLib.dll">
+      <publishTime>05/09/2021 01:08:30</publishTime>
+    </File>
+    <File Include="bin/ICSharpCode.SharpZipLib.pdb">
+      <publishTime>05/09/2021 01:08:30</publishTime>
+    </File>
+    <File Include="bin/Kingdee.BOS.WebApi.Client.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/libgrpc_csharp_ext.x64.dylib">
+      <publishTime>03/19/2022 07:38:44</publishTime>
+    </File>
+    <File Include="bin/libgrpc_csharp_ext.x64.so">
+      <publishTime>03/19/2022 07:38:42</publishTime>
+    </File>
+    <File Include="bin/Microsoft.Azure.AppService.ApiApps.Service.dll">
+      <publishTime>03/19/2015 01:02:50</publishTime>
+    </File>
+    <File Include="bin/Microsoft.CSharp.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/Microsoft.Web.Infrastructure.dll">
+      <publishTime>07/25/2012 19:48:56</publishTime>
+    </File>
+    <File Include="bin/Model.dll">
+      <publishTime>06/08/2024 12:38:08</publishTime>
+    </File>
+    <File Include="bin/Model.pdb">
+      <publishTime>06/08/2024 12:38:08</publishTime>
+    </File>
+    <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/Newtonsoft.Json.dll">
+      <publishTime>08/04/2014 04:33:56</publishTime>
+    </File>
+    <File Include="bin/NPOI.dll">
+      <publishTime>10/23/2021 09:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OOXML.dll">
+      <publishTime>10/23/2021 09:07:56</publishTime>
+    </File>
+    <File Include="bin/NPOI.OOXML.pdb">
+      <publishTime>10/23/2021 17:07:56</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXml4Net.dll">
+      <publishTime>10/23/2021 09:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXml4Net.pdb">
+      <publishTime>10/23/2021 17:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXmlFormats.dll">
+      <publishTime>10/23/2021 09:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.OpenXmlFormats.pdb">
+      <publishTime>10/23/2021 17:07:54</publishTime>
+    </File>
+    <File Include="bin/NPOI.pdb">
+      <publishTime>10/23/2021 17:07:54</publishTime>
+    </File>
+    <File Include="bin/Pub_Class.dll">
+      <publishTime>06/08/2024 12:38:04</publishTime>
+    </File>
+    <File Include="bin/Pub_Class.pdb">
+      <publishTime>06/08/2024 12:38:04</publishTime>
+    </File>
+    <File Include="bin/Pub_Control.dll">
+      <publishTime>06/08/2024 12:38:06</publishTime>
+    </File>
+    <File Include="bin/Pub_Control.pdb">
+      <publishTime>06/08/2024 12:38:06</publishTime>
+    </File>
+    <File Include="bin/RestSharp.dll">
+      <publishTime>08/31/2012 06:22:50</publishTime>
+    </File>
+    <File Include="bin/SQLHelper.dll">
+      <publishTime>06/08/2024 12:38:07</publishTime>
+    </File>
+    <File Include="bin/SQLHelper.pdb">
+      <publishTime>06/08/2024 12:38:07</publishTime>
+    </File>
+    <File Include="bin/Swashbuckle.Core.dll">
+      <publishTime>02/16/2015 01:57:08</publishTime>
+    </File>
+    <File Include="bin/System.Buffers.dll">
+      <publishTime>07/19/2017 18:01:28</publishTime>
+    </File>
+    <File Include="bin/System.ComponentModel.DataAnnotations.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Configuration.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Data.DataSetExtensions.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Data.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Drawing.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.EnterpriseServices.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.IdentityModel.Tokens.Jwt.dll">
+      <publishTime>08/19/2014 18:03:34</publishTime>
+    </File>
+    <File Include="bin/System.Memory.dll">
+      <publishTime>04/18/2019 00:24:34</publishTime>
+    </File>
+    <File Include="bin/System.Net.Http.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Net.Http.Formatting.dll">
+      <publishTime>11/28/2018 21:00:36</publishTime>
+    </File>
+    <File Include="bin/System.Runtime.CompilerServices.Unsafe.dll">
+      <publishTime>09/19/2018 03:38:10</publishTime>
+    </File>
+    <File Include="bin/System.Runtime.Serialization.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.ApplicationServices.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Cors.dll">
+      <publishTime>11/28/2018 20:58:44</publishTime>
+    </File>
+    <File Include="bin/System.Web.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.DynamicData.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Entity.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Extensions.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.Helpers.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Web.Http.Cors.dll">
+      <publishTime>11/28/2018 21:01:26</publishTime>
+    </File>
+    <File Include="bin/System.Web.Http.dll">
+      <publishTime>11/28/2018 21:01:00</publishTime>
+    </File>
+    <File Include="bin/System.Web.Http.WebHost.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="bin/System.Web.Mvc.dll">
+      <publishTime>01/28/2015 12:02:18</publishTime>
+    </File>
+    <File Include="bin/System.Web.Optimization.dll">
+      <publishTime>02/11/2014 23:26:04</publishTime>
+    </File>
+    <File Include="bin/System.Web.Razor.dll">
+      <publishTime>01/28/2015 12:02:32</publishTime>
+    </File>
+    <File Include="bin/System.Web.Services.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Web.WebPages.Deployment.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Web.WebPages.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Web.WebPages.Razor.dll">
+      <publishTime>01/28/2015 12:04:30</publishTime>
+    </File>
+    <File Include="bin/System.Xml.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/System.Xml.Linq.dll">
+      <publishTime>09/26/2012 03:16:08</publishTime>
+    </File>
+    <File Include="bin/WebActivatorEx.dll">
+      <publishTime>11/24/2014 19:18:48</publishTime>
+    </File>
+    <File Include="bin/WebAPI.dll">
+      <publishTime>06/08/2024 12:38:18</publishTime>
+    </File>
+    <File Include="bin/WebAPI.pdb">
+      <publishTime>06/08/2024 12:38:18</publishTime>
+    </File>
+    <File Include="bin/WebGrease.dll">
+      <publishTime>07/18/2013 01:03:52</publishTime>
+    </File>
+    <File Include="bin/zh-Hans/System.Net.Http.Formatting.resources.dll">
+      <publishTime>11/29/2018 21:26:02</publishTime>
+    </File>
+    <File Include="bin/zh-Hans/System.Web.Http.resources.dll">
+      <publishTime>11/29/2018 21:26:30</publishTime>
+    </File>
+    <File Include="Config/kdapi.config">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Content/bootstrap.css">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Content/bootstrap.min.css">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Content/Site.css">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/BLL.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/DAL.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/DBUtility.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Kingdee.BOS.WebApi.Client.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Model.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Newtonsoft.Json.Net35.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Pub_Class.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/Pub_Control.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="DLL/SQLHelper.dll">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.eot">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.svg">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.ttf">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="fonts/glyphicons-halflings-regular.woff">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Global.asax">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="grpc_csharp_ext.x64.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="grpc_csharp_ext.x86.dll">
+      <publishTime>03/22/2022 13:17:22</publishTime>
+    </File>
+    <File Include="Index.html">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="libgrpc_csharp_ext.x64.dylib">
+      <publishTime>03/19/2022 07:38:44</publishTime>
+    </File>
+    <File Include="libgrpc_csharp_ext.x64.so">
+      <publishTime>03/19/2022 07:38:42</publishTime>
+    </File>
+    <File Include="libman.json">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Metadata/deploymentTemplates/apiappconfig.azureresource.json">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="packages.config">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/bootstrap.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/bootstrap.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery-1.10.2.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery-1.10.2.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery-1.10.2.min.map">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.unobtrusive.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/jquery.validate.unobtrusive.min.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Scripts/modernizr-2.6.2.js">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Shared/Error.cshtml">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/Shared/_Layout.cshtml">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/web.config">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Views/_ViewStart.cshtml">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Customer_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Department_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Employee_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_StockPlace_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Supplier_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsCLD_Warehouse_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_BadReason_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model_View.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Customer_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Department_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Employee_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Group_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Item30JiTai_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Source_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_StockPlace_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Supplier_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsGy_Warehouse_Model.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsKf_ICStockBill_Mould.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/ClsKf_ICStockBill_WMS.datasource">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web References/WebS/Reference.map">
+      <publishTime>05/25/2024 09:46:41</publishTime>
+    </File>
+    <File Include="Web.config">
+      <publishTime>06/08/2024 12:38:29</publishTime>
+    </File>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index cfe43c8..ab9605e 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -523,6 +523,7 @@
     <Compile Include="Controllers\鍝佽川绠$悊\浜х嚎杩斾慨骞冲彴\Sc_SourceLineRepairBillController.cs" />
     <Compile Include="Controllers\鍝佽川绠$悊\瀹㈣瘔澶勭悊鍗昞Crm_CustomerAppealBillController.cs" />
     <Compile Include="Controllers\鍝佽川绠$悊\宸℃鍗昞QC_PatrolProcCheckBillController.cs" />
+    <Compile Include="Controllers\鍝佽川绠$悊\宸℃鍗昞QC_PatrolProcCheckOtherBillController.cs" />
     <Compile Include="Controllers\鍝佽川绠$悊\宸ュ簭妫�楠屽崟\MES_ProcessCheckBill_PDAController.cs" />
     <Compile Include="Controllers\鍝佽川绠$悊\搴撳瓨妫�楠屽崟\QC_StockCheckBillController.cs" />
     <Compile Include="Controllers\鍝佽川绠$悊\璐ㄩ噺鎶ヨ〃\QC_QualityReportsController.cs" />

--
Gitblit v1.9.1