From 5b6d9876d89219f34a2fda2820b1de752d28d77e Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期二, 08 四月 2025 11:05:24 +0800
Subject: [PATCH] 物料:增加 制单人

---
 WebAPI/Controllers/CJGL/Cj_SingleStationController.cs | 2153 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2,131 insertions(+), 22 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs b/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
index e0d8611..d744e43 100644
--- a/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
@@ -15,6 +15,7 @@
     {
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
         DataSet ds;
 
         #region 宸ュ簭鍗曞搧涓嶈壇閲囬泦  鐢ㄦ埛鏌ヨ鍏宠仈瀛楁
@@ -29,16 +30,16 @@
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.Message = "[0000-1-038]Sucess锛�";
                     objJsonResult.data = new DataTable();
                     return objJsonResult;
                 }
 
-                ds = oCN.RunProcReturn("select * from h_v_Cj_UserAssociationList where 1=1 "+sWhere, "h_v_Cj_UserAssociationList");
+                ds = oCN.RunProcReturn("select * from h_v_Cj_UserAssociationList WITH(NOLOCK) where 1=1 " + sWhere, "h_v_Cj_UserAssociationList");
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
             }
@@ -46,7 +47,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -60,8 +61,21 @@
         {
             try
             {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
 
-                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange where 鏉$爜='" + HBarCode + "'", "h_v_Gy_BarCodeBillHICOMProcessExchange");
+                ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl");
+                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
+
+                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange WITH(NOLOCK) where 鏉$爜='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange");
+
                 if (ds.Tables[0].Rows.Count == 0)
                 {
                     objJsonResult.code = "0";
@@ -70,14 +84,38 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                else
+
+                int num = 0;
+                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                 {
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "";
-                    objJsonResult.data = ds.Tables[0];
+                    if (ds.Tables[0].Rows[i]["HProcID"].ToString() == HProcID)
+                    {
+                        num = 1;
+                    }
+                }
+                if (num == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "褰撳墠鏉$爜涓庡綋鍓嶅伐搴忎笉鍖归厤!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
                 }
 
+                if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "姝e父")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "褰撳墠鏉$爜鐘舵�佷负" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
             }
             catch (Exception e)
@@ -103,6 +141,17 @@
             string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
             string HResult = sArray[1].ToString();
             string user = sArray[2].ToString();
+            string linterid = sArray[3].ToString();
+
+            //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+            if (!DBUtility.ClsPub.Security_Log("Sc_QualityReportBill_Edit", 1, false, user))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犵紪杈戞潈闄�!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
 
             try
             {
@@ -118,8 +167,11 @@
                 long HGroupID = mainList[0].HGroupID;//鐝粍
                 long HDeptID = mainList[0].HDeptID;//杞﹂棿
                 string HMaker = user;//鍒跺崟浜�
+                long HMainSourceInterID = mainList[0].HICMOInterID;
+                long HMainSourceEntryID = mainList[0].HICMOEntryID;
+                string HMainSourceBillNo = mainList[0].HICMOBillNo;
 
-                ds = oCN.RunProcReturn("select * from Sc_QualityReportBillMain where HInterID=" + HInterID + " and HBillNo='" + HBillNo + "'", "Sc_QualityReportBillMain");
+                ds = oCN.RunProcReturn("select * from Sc_QualityReportBillMain WITH(NOLOCK) where HInterID=" + HInterID + " and HBillNo='" + HBillNo + "'", "Sc_QualityReportBillMain");
                 if (ds.Tables[0].Rows.Count != 0) {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -132,19 +184,74 @@
 
                 if (ds.Tables[0].Rows.Count == 0)//鏂板
                 {
-                    //涓昏〃
-                    oCN.RunProc(@"Insert Into Sc_QualityReportBillMain   
-(HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate
-,HYear,HPeriod,HRemark,HMaker,HMakeDate
-,HEmpID,HGroupID,HDeptID)
+                    if (HResult== "寰憰鍝�")
+                    {
+                        //涓昏〃
+                        oCN.RunProc(@"Insert Into Sc_QualityReportBillMain   
+                    (HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate
+                    ,HYear,HPeriod,HRemark,HMaker,HMakeDate
+                    ,HEmpID,HGroupID,HDeptID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo)
+                        values('3717','3717-1',1," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
+                        "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + HRemark + "','" + HMaker + "',getdate()" +
+                        ",'" + HEmpID + "'," + HGroupID + "," + HDeptID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "') ");
+                        //閲嶆柊缁橦Result璧嬪��
+                        HResult = "";
+                    }
+                    else
+                    {
+                        //涓昏〃
+                        oCN.RunProc(@"Insert Into Sc_QualityReportBillMain   
+                    (HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate
+                    ,HYear,HPeriod,HRemark,HMaker,HMakeDate
+                    ,HEmpID,HGroupID,HDeptID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo)
                         values('3717','3717',1," + HInterID + ",'" + HBillNo + "','" + HDate + "'" +
-                    "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + HRemark + "','" + HMaker + "',getdate()" +
-                    ",'" + HEmpID + "'," + HGroupID + "," + HDeptID + ") ");
+                        "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + HRemark + "','" + HMaker + "',getdate()" +
+                        ",'" + HEmpID + "'," + HGroupID + "," + HDeptID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "') ");
+                    }
+                    
 
                 }
                
                 //淇濆瓨瀛愯〃
-                objJsonResult = AddBillSub_NoTable(msg3, HInterID, HResult);
+                objJsonResult = AddBillSub_NoTable(msg3, HInterID, HResult, linterid);
+
+                //澧炲姞浜х嚎缁勮杩芥函鍗�
+
+                Int64 HInterID1 = DBUtility.ClsPub.CreateBillID("3727", ref DBUtility.ClsPub.sExeReturnInfo);
+                string HBillNo1 = DBUtility.ClsPub.CreateBillCode("3727", ref DBUtility.ClsPub.sExeReturnInfo, true);
+
+                ds = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + mainList[0].HProcExchBillNo + "'," + mainList[0].HProcID, "h_p_Gy_BarCodeBillBomList");
+
+                if (ds.Tables[0].Rows.Count > 0) {
+
+                    string jsonstr = JsonConvert.SerializeObject(ds.Tables[0]);
+
+                    //淇濆瓨鐢熶骇缁勮鍗曚富琛�
+                    string sql = $@"Insert Into Sc_AssemblyBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate
+,HBillNo,HBillStatus,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo
+,HICMOInterID,HICMOBillNo,HBarCode_P,HMaterID,HUnitID,HAssemblyStatus,HProdOrgID)
+values('{DateTime.Now.Year}','{DateTime.Now.Month}','3727','3727',{HInterID1},getdate()
+,'{HBillNo1}','1','{user}',getdate(),{mainList[0].HProcExchInterID.ToString()},{mainList[0].HProcExchEntryID.ToString()},'{mainList[0].HProcExchBillNo.ToString()}'
+,{mainList[0].HICMOInterID.ToString()},'{mainList[0].HICMOBillNo.ToString()}','{mainList[0].HBarCode.ToString()}',{mainList[0].HMaterID},0,'姹囨姤',{mainList[0].HProdOrgID})";
+                    oCN.RunProc(sql);
+
+                    List<Model.ClsSc_AssemblyBillSub> sub = new List<Model.ClsSc_AssemblyBillSub>();
+                    sub = JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillSub>>(jsonstr);
+
+                    for (int i = 0; i < sub.Count; i++)
+                    {
+                        //瀛愯〃瀛樺偍
+                        string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo
+                ,HSourceBillType,HMaterID,HSourceID,HEquipID,HUnitID,HQty
+                ,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P,HSNNumber)
+                values({HInterID1},'{HBillNo1}',{(i + 1)},0,0,''
+                ,'',{sub[i].HMaterID},0,0,0,{sub[i].HQty}
+                ,0,0,getdate(),'{sub[i].HBarCode}','{mainList[0].HBarCode}','') ";
+                        oCN.RunProc(sq2);
+                    }
+
+                }
+
 
                 if (objJsonResult.code == "0")
                 {
@@ -174,7 +281,7 @@
             }
         }
 
-        public json AddBillSub_NoTable(string msg3, long HInterID, string HResult)
+        public json AddBillSub_NoTable(string msg3, long HInterID, string HResult,string linterid)
         {
            Model.ClsSc_QualityReportBillSub oSub = Newtonsoft.Json.JsonConvert.DeserializeObject<Model.ClsSc_QualityReportBillSub>(msg3);
 
@@ -191,11 +298,37 @@
 (HInterID,HENTRYID,HBillNo_bak,HEmpID,HBarCode,HBadReasonID,HAddr,HMaker,HMakeDate
 ,HMaterID,HUnitID,HRemark,HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HReportType
 ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney
-,HQty,HResult,HProcExchInterID,HProcExchEntryID,HProcExchBillNo) 
+,HQty,HResult,HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HProcID) 
 values({HInterID},1,'{oSub.HBillNo_bak}',{oSub.HEmpID},'{oSub.HBarCode}',{oSub.HBadReasonID},'','{oSub.HMaker}','{oSub.HMakeDate}'
 ,{oSub.HMaterID},{oSub.HUnitID},'{oSub.HRemark}',{oSub.HSourceID},{oSub.HICMOInterID},{oSub.HICMOEntryID},'{oSub.HICMOBillNo}',{oSub.HReportType}
 ,0,0,'','',0,0
-,0,'{HResult}',{oSub.HProcExchInterID},{oSub.HProcExchEntryID},'{oSub.HProcExchBillNo}')");
+,1,'{HResult}',{oSub.HProcExchInterID},{oSub.HProcExchEntryID},'{oSub.HProcExchBillNo}',{oSub.HProcID})");
+
+            //淇敼鏉$爜琛ㄧ殑鐘舵��
+            oCN.RunProc("update Gy_BarCodeBill set HStatus='"+ HResult + "' where HBarCode='"+ oSub.HBarCode + "'");
+
+            //淇敼鍑虹珯鍗曠殑 涓嶈壇 鎶ュ簾鏁伴噺
+            if (HResult == "涓嶈壇")
+            {
+                LogService.Write("绫诲瀷:" + oSub.HBadTypeID);
+                //宸ュ簾
+                if (oSub.HBadTypeID == 3)
+                {
+                    oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1,HWasterQty_Work+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
+                }//鏂欏簾
+                else if (oSub.HBadTypeID == 4)
+                {
+                    oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1,HWasterQty_Mater+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
+                }//杩斿伐
+                else if (oSub.HBadTypeID == 6)
+                {
+                    oCN.RunProc("update Sc_StationOutBillMain set HBadCount+=1,HBackWorkQty+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
+                }
+            }
+            else if (HResult == "鎶ュ簾")
+            {
+                oCN.RunProc("update Sc_StationOutBillMain  set HWasterQty+=1  where HProcExchBillNo='" + oSub.HProcExchBillNo + "' and HProcID=" + oSub.HProcID + " and HInterID=" + linterid);
+            }
 
             objJsonResult.code = "1";
             objJsonResult.count = 1;
@@ -204,5 +337,1981 @@
             return objJsonResult;
         }
         #endregion
+
+        #region  宸ュ簭鍗曞搧杩囩珯 娴佽浆鍗℃煡璇㈠叧閿欢娓呭崟
+        [Route("Cj_SingleStation/HBardCodeBomList")]
+        [HttpGet]
+        public object HBardCodeBomList(string HBarCode, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-068]鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                string HProcID = "0";
+                ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
+                }
+
+
+
+                //瀹㈡埛鍒跺畾
+                string sErr = "";
+                if (oSystemParameter.ShowBill(ref sErr))
+                {
+                    if (oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�")
+                    {
+                        //鍒ゆ柇褰撳墠娴佽浆鍗℃槸鍚︽槸寮�宸�
+                        ds = oCN.RunProcReturn("select  * from Sc_ICMOBillStatus_Tmp where HSourceBillNo='" + HBarCode + "' and HICMOStatus<>'0'", "Sc_ICMOBillStatus_Tmp");
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "[3791-2-018]鍗″彿:" + HBarCode + ",娴佽浆鍗℃湭寮�宸�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+
+                ds = oCN.RunProcReturn(@"exec h_p_Gy_BarCodeBillBomList '" + HBarCode + "'," + HProcID, "h_p_Gy_BarCodeBillBomList");
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    DataSet dataSet = oCN.RunProcReturn(@"exec h_p_Sc_ProcessExchangeBillList '" + HBarCode + "'," + HProcID, "h_p_Sc_ProcessExchangeBillList");
+
+                    if (dataSet.Tables[0].Rows.Count > 0)
+                    {
+                        objJsonResult.code = "2";
+                        objJsonResult.count = 2;
+                        objJsonResult.Message = "[0000-1-037]";
+                        objJsonResult.data = dataSet.Tables[0];
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[3791-2-019]閰嶄欢娓呭崟鏌ユ棤鏁版嵁锛�,鍙兘鏄綋鍓嶇敤鎴峰伐搴忎笉姝g‘鎴栬�呮祦杞崱杈撳叆閿欒!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "[0000-1-037]";
+                    objJsonResult.data = ds.Tables[0];
+                }
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩囩珯 鎵祦杞崱淇濆瓨鍏抽敭浠舵竻鍗�
+        [Route("Cj_SingleStation/AddBomTempList")]
+        [HttpPost]
+        public object AddBomTempList([FromBody] JObject sMainSub)
+        {
+            try
+            {
+                var _value = sMainSub["sMainSub"].ToString();
+                string msg = _value.ToString();
+                string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+                string msg1 = sArray[0].ToString();
+                string HInterID = sArray[1].ToString();
+                string HBillNo = sArray[2].ToString();
+                string user = sArray[3].ToString();
+                string HBillType = sArray[4].ToString();
+                string HOrgID = sArray[5].ToString();
+
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-038]鏃犱繚瀛樻潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                List<Model.Sc_AssemblyBill_BindSourceTemp> tempList = new List<Model.Sc_AssemblyBill_BindSourceTemp>();
+                tempList = JsonConvert.DeserializeObject<List<Model.Sc_AssemblyBill_BindSourceTemp>>(msg1);
+
+                if (tempList.Count == 0) {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[3791-2-026]鏃犻厤浠舵暟鎹�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl");
+                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
+
+                oCN.RunProc("delete from  Sc_AssemblyBill_BindSourceTemp where HInterID =" + HInterID + "  and HBillNo_bak='" + HBillNo + "'");
+                oCN.RunProc("delete from  Sc_AssemblyBill_BindBarCodeTemp where HInterID =" + HInterID + "  and HBillNo_bak='" + HBillNo + "'");
+                for (int i = 0; i < tempList.Count; i++)
+                {
+                    //涓存椂婧愬崟琛�
+                    oCN.RunProc("Insert Into Sc_AssemblyBill_BindSourceTemp   " +
+                    "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HSourceEntryID,HMaterID" +
+                    ",HQtyMust,HProdOrgID,HSourceBillType,HAuxPropID,HProcID,HQty,HBatchNo,HMTONo,HPlanMode) " +
+                    " values(" + HInterID + "," + (i + 1) + ",'" + HBillNo + "','" + tempList[i].HProcExchBillNo + "',"+ tempList[i].HProcExchInterID + "," + tempList[i].HProcExchEntryID +","+ tempList[i].HMaterID+
+                    ",'0','" + HOrgID + "','',0,"+ HProcID + ","+ tempList[i].HQty + ",'" + tempList[i].HBatchNo + "','','') ");
+
+                    //涓存椂閰嶄欢琛�
+                    oCN.RunProc("Insert Into Sc_AssemblyBill_BindBarCodeTemp   " +
+                    "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HSourceEntryID,HMaterID" +
+                    ",HProdOrgID,HSourceBillType,HAuxPropID,HProcID,HQty,HBatchNo,HBarCode,HMTONo,HPlanMode) " +
+                    " values(" + HInterID + "," + (i + 1) + ",'" + HBillNo + "','" + tempList[i].HProcExchBillNo + "'," + tempList[i].HProcExchInterID + "," + tempList[i].HProcExchEntryID + "," + tempList[i].HMaterID +
+                    ",'" + HOrgID + "','',0," + HProcID + "," + tempList[i].HQty + ",'"+ tempList[i].HBatchNo + "','" + tempList[i].HBarCode + "','','') ");
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-050]淇濆瓨鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-051]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩囩珯 鎵玈N鐮佷繚瀛樺埌缁勮杩芥函鍗�
+        [Route("Cj_SingleStation/AddAssemblyBillList")]
+        [HttpPost]
+        public object AddAssemblyBill([FromBody] JObject sMainSub)
+        {
+            try
+            {
+                var _value = sMainSub["sMainSub"].ToString();
+                string msg = _value.ToString();
+                string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+                string sMainStr = sArray[0].ToString();
+                string sSubStr = sArray[1].ToString();
+                string user = sArray[2].ToString();
+
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-038]鏃犱繚瀛樻潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+                string sExeReturnInfo = "";
+
+                ClsSc_AssemblyBillMain omodel = new ClsSc_AssemblyBillMain();
+                omodel = JsonConvert.DeserializeObject<ClsSc_AssemblyBillMain>(sMainStr);
+
+                List<Model.ClsSc_AssemblyBillSub> sub = new List<Model.ClsSc_AssemblyBillSub>();
+                sub = JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillSub>>(sSubStr);
+
+
+                ds = oCN.RunProcReturn("exec h_p_Sc_SNBarcodeProcCtrl_S '" + omodel.HBarCode_P + "'," + omodel.HProcID, "h_v_Gy_QualifiedRecordsList");
+                if (ClsPub.isInt(ds.Tables[0].Rows.Count) == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-045]鏌ユ棤鏁版嵁!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (ds.Tables[0].Rows[0]["HBack"].ToString() == "2")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-051]" + ds.Tables[0].Rows[0]["HBackRemark"].ToString() + "锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select  * from h_v_Gy_QualifiedRecordsList WITH(NOLOCK) where 浜у搧鏉$爜='" + omodel.HBarCode_P + "' and HProcExchInterID="+ omodel .HProcExchInterID+ " and HProcExchEntryID="+ omodel.HProcExchEntryID + " and HProcID="+ omodel.HProcID, "h_v_Gy_QualifiedRecordsList");
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-039]鏉$爜:" + omodel.HBarCode_P + ",宸插瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //澧炲姞浜х嚎缁勮杩芥函鍗�
+                DataSet ds1 = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + omodel.HProcExchBillNo + "'," + omodel.HProcID, "h_p_Gy_BarCodeBillBomList");
+                if (ds1.Tables[0].Rows.Count > 0)
+                {
+                    //鍒ら厤浠舵暟閲忔槸鍚︾瓑浜�0
+                    for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
+                    {
+                        double SYHQty = double.Parse(ds1.Tables[0].Rows[i]["閰嶄欢鏁伴噺"].ToString());
+                        string HMaterNamePJ = ds1.Tables[0].Rows[i]["閰嶄欢浠g爜"].ToString();
+                        if (SYHQty == 0)
+                        {
+                            oCN.RollBack();
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "[3791-2-020]閰嶄欢浠g爜:" + HMaterNamePJ + ",鏁伴噺涓�0!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
+
+                    ds1 = oCN.RunProcReturn("select * from Sc_AssemblyBillMain WITH(NOLOCK) where HMainSourceInterID =" + omodel.HProcExchInterID + " and HMainSourceEntryID =" + omodel.HProcExchEntryID + " and HBarCode_P = '" + omodel.HBarCode_P + "'", "Sc_AssemblyBillMain");
+
+                    if (ds1.Tables[0].Rows.Count == 0)
+                    {
+                        Int64 HInterID1 = DBUtility.ClsPub.CreateBillID("3727", ref DBUtility.ClsPub.sExeReturnInfo);
+                        string HBillNo1 = DBUtility.ClsPub.CreateBillCode("3727", ref DBUtility.ClsPub.sExeReturnInfo, true);
+                        //淇濆瓨鐢熶骇缁勮鍗曚富琛�
+                        string sql = $@"Insert Into Sc_AssemblyBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate
+,HBillNo,HBillStatus,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo
+,HICMOInterID,HICMOBillNo,HBarCode_P,HMaterID,HUnitID,HAssemblyStatus,HProdOrgID)
+values('{DateTime.Now.Year}','{DateTime.Now.Month}','3727','3727',{HInterID1},getdate()
+,'{HBillNo1}','1','{user}',getdate(),{omodel.HProcExchInterID.ToString()},{omodel.HProcExchEntryID.ToString()},'{omodel.HProcExchBillNo.ToString()}'
+,{omodel.HICMOInterID.ToString()},'{omodel.HICMOBillNo.ToString()}','{omodel.HBarCode_P.ToString()}',{omodel.HMaterID},0,'姹囨姤',{omodel.HProdOrgID})";
+                        oCN.RunProc(sql);
+
+                        for (int i = 0; i < sub.Count; i++)
+                        {
+                            //瀛愯〃瀛樺偍
+                            string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo
+,HSourceBillType,HMaterID,HSourceID,HEquipID,HUnitID,HQty
+,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P,HSNNumber)
+values({HInterID1},'{HBillNo1}',{(i + 1)},0,0,''
+,'',{sub[i].HMaterID},0,0,0,1
+,0,0,getdate(),'{sub[i].HBarCode}','{omodel.HBarCode_P}','') ";
+                            oCN.RunProc(sq2);
+                        }
+                    }
+
+                }
+
+                sMainStr = "[" + sMainStr + "]";
+                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(sMainStr);
+
+                ds = oCN.RunProcReturn("select HCenterID from Sc_ProcessExchangeBillSub WITH(NOLOCK) where HInterID=" + list[0].HProcExchInterID + " and HEntryID=" + list[0].HProcExchEntryID, "Sc_ProcessExchangeBillSub");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    list[0].HCenterID = long.Parse(ds.Tables[0].Rows[0]["HCenterID"].ToString());
+                }
+
+                long HMainInterID = 0;
+                string BillType = "3791";
+                string HBillSubType = "3791";
+                long HInterID = list[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                string HBillNo = list[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                int HBillStatus = 1;
+                string HMaker = user;//鍒跺崟浜�
+                string HMouldNum = list[0].HMouldNum;//妯$┐鍙�
+                int HYear = DateTime.Now.Year;
+                double HPeriod = DateTime.Now.Month;
+                string HRemark = list[0].HRemark;//澶囨敞
+                string HSourceName = list[0].HSourceName;//鐢熶骇璧勬簮鍚嶇О
+                double HPieceQty = list[0].HPieceQty;//杩涚珯PCS鏁�
+                double HWasterQty = 0;//鎶ュ簾鏁伴噺
+                double HPlanPieceQty = 0;//杩涚珯PNL鏁�
+                double HBadPNL = 0;//鎶ュ簾PNL鏁�
+                long HICMOInterID = list[0].HICMOInterID;//浠诲姟鍗旾D
+                long HICMOEntryID = list[0].HICMOEntryID;//浠诲姟鍗旾D
+                string HICMOBillNo = list[0].HICMOBillNo;//浠诲姟鍗�
+                int HProcPlanInterID = 0;
+                int HProcPlanEntryID = 0;
+                string HProcPlanBillNo = "";
+                long HProcExchInterID = list[0].HProcExchInterID;
+                long HProcExchEntryID = list[0].HProcExchEntryID;
+                string HProcExchBillNo = list[0].HProcExchBillNo;//娴佽浆鍗�
+                long HMaterID = list[0].HMaterID;//浜у搧ID
+                long HProcID = list[0].HProcID;//褰撳墠宸ュ簭ID
+                double HICMOQty = list[0].HICMOQty;//浠诲姟鍗曟暟閲�
+                double HPlanQty = list[0].HICMOQty;//绉讳氦PNL鏁�
+                DateTime HStationOutTime = DateTime.Now;//姹囨姤鏃堕棿
+                long HSourceID = list[0].HSourceID;//鐢熶骇璧勬簮ID
+                long HPayProcID = 0;//鏍哥畻宸ュ簭ID
+                long HGroupID = list[0].HGroupID;//鐝粍ID
+                long HDeptID = list[0].HDeptID;
+                long HEmpID = list[0].HEmpID;//鎿嶄綔鍛業D
+                long HEmpID2 = list[0].HEmpID2;////鎿嶄綔鍛�2ID
+                string HBarCode = list[0].HProcExchBillNo;//鏉″舰鐮�
+                string HAddr = "";
+                string HBarCodeMaker = "";
+                long HSourceID2 = 0;//鐢熶骇璧勬簮2ID
+                long HSourceID3 = 0;//鐢熶骇璧勬簮3ID
+                long HSourceID4 = 0;//鐢熶骇璧勬簮4ID
+                long HSourceID5 = 0;//鐢熶骇璧勬簮5ID
+                long HSupID = 0;
+                double HQty = list[0].HQty;//鍚堟牸鏁伴噺
+                double HPrice = 0;
+                double HMoney = 0;
+                double HBadCount = list[0].HBadCount;//涓嶈壇鏁伴噺
+                long HCenterID = list[0].HCenterID;//宸ヤ綔涓績ID
+                string HProcNo = list[0].HProcNo;//娴佹按鍙�
+                string HOrderProcNO = list[0].HOrderProcNO;//璁㈠崟璺熻釜鍙�
+                string HSourceNameList = list[0].HSourceNameList;//璁惧娓呭崟
+                long HMainSourceInterID = list[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                string HMainSourceBillNo = list[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                string HMainSourceBillType = "3790";
+                bool HLastSubProc = list[0].HLastSubProc;//杞笅宸ュ簭
+                long HEmpID3 = 0;//鎿嶄綔鍛�3ID
+                long HEmpID4 = 0;//鎿嶄綔鍛�4ID
+                long HEmpID5 = 0;//鎿嶄綔鍛�5ID
+                double HDSQty = 0;//鎶樺集鍒�鏁�
+                double HChongQty = 0;//NCT鍐叉鏁�
+                double HPriceRate = 0;//绯绘暟
+                double HWorkTimes = 0;//宸ユ椂
+                long HQCCheckID = list[0].HEmpID;//妫�楠屽憳ID
+                long HPRDOrgID = omodel.HProdOrgID;//缁勭粐ID
+                double HmaterOutqty = 0;//鐧藉澂鍙戝竷
+                double HProcPriceRate = 0;//宸ヤ环绯绘暟
+                int HTemporaryAreaID = 0;//鏆傛斁鍖�
+                int HShiftsID = 0;
+
+                DataSet set = oCN.RunProcReturn("exec h_p_Gy_GetWorkShiftInfo " + HDeptID + "," + HCenterID, "h_p_Gy_GetWorkShiftInfo");
+                if (set.Tables[0].Rows.Count > 0)
+                {
+                    HShiftsID = int.Parse(set.Tables[0].Rows[0]["HInterID"].ToString());
+                }
+                ds = oCN.RunProcReturn("select  * from Sc_StationOutBillMain a WITH(NOLOCK) left join  Sc_StationOutBillSub_SN sn WITH(NOLOCK) on a.HInterID=sn.HInterID where a.HInterID=" + HInterID + " and HBillNo='" + HBillNo + "' and CONVERT(varchar(10),HDate,20) ='" + DateTime.Now.ToString("yyyy-MM-dd") + "' ", "Sc_StationOutBillMain");
+
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    HInterID = DBUtility.ClsPub.CreateBillID("3791", ref sExeReturnInfo);//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                    HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3791", ref sExeReturnInfo, true);//閫掑叆type寰楀埌鐨勫崟鎹彿
+
+                    oCN.RunProc("Insert Into Sc_StationOutBillMain" +
+                    "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate,HMouldNum" +
+                    ",HYear,HPeriod,HRemark,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" +
+                    ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
+                    ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID,HPayProcID" +
+                    ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSourceID2,HSourceID3,HSourceID4,HSourceID5" +
+                    ",HSupID,HQty,HPrice,HMoney,HBadCount,HCenterID,HProcNo,HOrderProcNO,HSourceNameList" +
+                    ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HLastSubProc" +
+                    ",HEmpID2,HEmpID3,HEmpID4,HEmpID5,HDSQty,HChongQty,HPriceRate,HWorkTimes,HQCCheckID,HMainInterID,HPRDOrgID" +
+                        ",HmaterOutqty,HProcPriceRate,HTemporaryAreaID,HShiftsID" +
+                    ") " +
+                    " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate(),'" + HMouldNum + "'" +
+                    "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL +
+                    "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
+                    ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + "," + HPayProcID +
+                    "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSourceID2 + "," + HSourceID3 + "," + HSourceID4 + "," + HSourceID5 +
+                    "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HBadCount + "," + HCenterID + "," + HProcNo + ",'" + HOrderProcNO + "'" + ",'" + HSourceNameList + "'" +
+                    "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + Convert.ToString(HLastSubProc ? 1 : 0) +
+                    "," + HEmpID2 + "," + HEmpID3 + "," + HEmpID4 + "," + HEmpID5 + "," + HDSQty + "," + HChongQty + "," + HPriceRate + "," + HWorkTimes + "," + HQCCheckID + "," + HMainInterID + "," + HPRDOrgID +
+                  "," + HmaterOutqty + "," + HProcPriceRate + "," + HTemporaryAreaID + "," + HShiftsID + ") ");
+                }
+
+              
+
+                ds = oCN.RunProcReturn("select  * from Sc_StationOutBillSub_SN WITH(NOLOCK) where HInterID='" + omodel.HInterID + "' order by HEntryID desc", "Sc_StationOutBillSub_SN");
+
+                oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney)
+values({HInterID}, '{HBillNo}', {(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)}, '{omodel.HBarCode_P}', 1, GETDATE(), '', " + HProcExchInterID + ","+ HProcExchEntryID + ", '"+ HProcExchBillNo + "', '', 0, 0)");
+
+                //鎶婃潯鐮佸啓鍏ユ棩蹇楅噷闈�
+                LogService.CustomWriteLog("鏉$爜:" + omodel.HBarCode_P + ",宸ュ簭:"+ HProcID + ",鍑虹珯鏃堕棿:" + DateTime.Now, "TM" + DateTime.Now.ToString("yyyy-MM-dd"));
+
+                //鍙嶅啓宸ュ簭鍑虹珯鍗曠殑鍚堟牸鏁伴噺
+                oCN.RunProc("update Sc_StationOutBillMain set HQty+=1  where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID=" + HProcExchEntryID+ " and HInterID=" + HInterID);
+
+
+                ds = oCN.RunProcReturn($@"select (b.HQty -sum(isnull(ou.HQty,0))-sum(isnull(ou.HBadCount,0))) HQty from Sc_ProcessExchangeBillSub b WITH(NOLOCK)
+left join Sc_StationOutBillMain ou WITH(NOLOCK) on b.HInterID=ou.HProcExchInterID and b.HEntryID=ou.HProcExchEntryID
+where b.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID}
+group by b.HInterID,b.HEntryID,b.HQty", "Sc_ProcessExchangeBill_Out");
+
+                if (double.Parse(ds.Tables[0].Rows[0][0].ToString()) < 0) {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[3791-2-028]鍑虹珯鏁伴噺瓒呰繃娴佽浆鍗℃暟閲�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-050]淇濆瓨鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-051]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩囩珯 SN鐮佹煡璇�  鏉$爜瑙f瀽
+        [Route("Cj_SingleStation/SNHBardCodeList")]
+        [HttpGet]
+        public object SNHBardCodeList(string HBarCode, string HProcExchBillNo, string user, int HOrgID)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill");
+
+                //鍒ゆ柇鏉$爜鏄惁瀛樺湪鏉$爜妗f
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    string HSourceBillNo = ds.Tables[0].Rows[0]["HSourceBillNo"].ToString();
+                    DataSet dataTable = oCN.RunProcReturn(@"select * from Sc_ProcessExchangeBillMain where HBillNo='" + HSourceBillNo + "'", "Sc_ProcessExchangeBillMain");
+                    //鍒ゆ柇鏉$爜鐨勬簮鍗� 娴佽浆鍗℃槸鍚﹁鍒犻櫎
+                    if (dataTable.Tables[0].Rows.Count == 0)
+                    {
+                        //濡傛灉婧愬崟宸茬粡鍒犻櫎  鍒欐潯鐮佷篃鍒犻櫎閲嶆柊鐢熸垚
+                        oCN.RunProc("delete from Gy_BarCodeBill where HBarCode='" + HBarCode + "'");
+
+                        //閲嶆柊鏌ヨ鏉$爜妗f 杩涘叆鏂板鏂规硶
+                        ds = oCN.RunProcReturn(@"select * from Gy_BarCodeBill where HBarCode='" + HBarCode + "'", "Gy_BarCodeBill");
+                    }
+                }
+
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    //鍒ゆ柇闀垮害鏄惁涓�29浣� 鏃犲皹杞﹂棿
+                    if (HBarCode.Length == 29)
+                    {
+                        string str1 = HBarCode.Substring(18, 8);
+
+                        DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 鐗╂枡浠g爜,o.HNumber 缁勭粐浠g爜 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
+left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
+left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID 
+where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
+
+                        if (dataSet.Tables[0].Rows.Count == 0)
+                        {
+                            str1 = HBarCode.Substring(23, 3);
+
+                            dataSet = oCN.RunProcReturn(@"select  m.HNumber 鐗╂枡浠g爜,o.HNumber 缁勭粐浠g爜 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
+left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
+left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID 
+where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
+
+                            if (dataSet.Tables[0].Rows.Count == 0)
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "[3791-2-016]鏉$爜涓庢祦杞崱涓嶅瓨鍦ㄥ搴斿叧绯�!";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            else
+                            {
+                                ClsPub.CurUserName = user;
+                                //鏉$爜鐢熸垚
+                                return get_HBardBillSave(HProcExchBillNo, HBarCode);
+                            }
+                        }
+                        else
+                        {
+                            ClsPub.CurUserName = user;
+                            //鏉$爜鐢熸垚
+                            return get_HBardBillSave(HProcExchBillNo, HBarCode);
+                        }
+                    }
+                    //鍒ゆ柇闀垮害鏄惁涓�50浣�  15杞﹂棿
+                    else if (HBarCode.Length == 50)
+                    {
+                        string str1 = HBarCode.Substring(42, 8);
+
+                        DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 鐗╂枡浠g爜,o.HNumber 缁勭粐浠g爜 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
+left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
+left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID 
+where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
+
+                        if (dataSet.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "[3791-2-016]鏉$爜涓庢祦杞崱涓嶅瓨鍦ㄥ搴斿叧绯�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            ClsPub.CurUserName = user;
+                            //鏉$爜鐢熸垚
+                            return get_HBardBillSave(HProcExchBillNo, HBarCode);
+                        }
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-2-036]鏉$爜鏍煎紡涓嶆纭�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else {
+                    //鍒ゆ柇闀垮害鏄惁涓�29浣� 鏃犲皹杞﹂棿
+                    if (HBarCode.Length == 29)
+                    {
+                        string str1 = HBarCode.Substring(18, 8);
+
+                        DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 鐗╂枡浠g爜,o.HNumber 缁勭粐浠g爜 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
+left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
+left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID 
+where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
+
+                        if (dataSet.Tables[0].Rows.Count == 0)
+                        {
+                            str1 = HBarCode.Substring(23, 3);
+
+                            dataSet = oCN.RunProcReturn(@"select  m.HNumber 鐗╂枡浠g爜,o.HNumber 缁勭粐浠g爜 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
+left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
+left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID 
+where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
+
+                            if (dataSet.Tables[0].Rows.Count == 0)
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "[3791-2-016]鏉$爜涓庢祦杞崱涓嶅瓨鍦ㄥ搴斿叧绯�!";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+                    //鍒ゆ柇闀垮害鏄惁涓�50浣�  15杞﹂棿
+                    else if (HBarCode.Length == 50)
+                    {
+                        string str1 = HBarCode.Substring(42, 8);
+
+                        DataSet dataSet = oCN.RunProcReturn(@"select  m.HNumber 鐗╂枡浠g爜,o.HNumber 缁勭粐浠g爜 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
+left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
+left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID 
+where HBillNo='" + HProcExchBillNo + "' and HProjectNum like'" + str1 + "%' and HPRDORGID=" + HOrgID, "Sc_ProcessExchangeBillMain");
+
+                        if (dataSet.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "[3791-2-016]鏉$爜涓庢祦杞崱涓嶅瓨鍦ㄥ搴斿叧绯�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[0000-2-037]褰撳墠鏉$爜鐨勭姸鎬佷负:" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        public  object get_HBardBillSave(string HProcExchBillNo,string HBarCode) {
+            try
+            {
+                //鏌ヨ娴佽浆鍗℃暟鎹�
+                DataSet dataSet = oCN.RunProcReturn(@"select  a.HPRDORGID, m.HModel 鐗╂枡瑙勬牸,m.HName 鍚嶇墿鏂欑О,a.HBillNo,a.HInterID,a.HMaterID,m.HNumber 鐗╂枡浠g爜,o.HNumber 缁勭粐浠g爜,a.HUnitID,u.HNumber 鍗曚綅浠g爜 from Sc_ProcessExchangeBillMain a WITH(NOLOCK)
+left join Gy_Material m WITH(NOLOCK) on a.HMaterID=m.HItemID
+left join Xt_ORGANIZATIONS o WITH(NOLOCK) on a.HPRDORGID=o.HItemID
+left join Gy_Unit u WITH(NOLOCK) on a.HUnitID=u.HItemID 
+where HBillNo='" + HProcExchBillNo + "'", "Sc_ProcessExchangeBillMain");
+
+                string HMaterNumber = dataSet.Tables[0].Rows[0]["鐗╂枡浠g爜"].ToString();
+                string HOrgNumber = dataSet.Tables[0].Rows[0]["缁勭粐浠g爜"].ToString();
+              
+                if (HBarCode.Trim() == "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-019]鏉″舰鐮佷笉鑳戒负绌猴紝涓嶈兘鐢熸垚鏉$爜锛�";
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+                //鏃ユ湡鑾峰彇鏂瑰紡
+                string sDate = DateTime.Now.ToString();
+                string HWei = "0";      //灏炬暟
+                string HBarCodeType = "鍞竴鏉$爜";
+                Int64 HMaterID =int.Parse(dataSet.Tables[0].Rows[0]["HMaterID"].ToString());
+                Int64 HAuxPropID = 0;
+                Int64 HUnitID = int.Parse(dataSet.Tables[0].Rows[0]["HUnitID"].ToString());
+                double HQty2 = 1;
+                string HBatchNo2 = "";
+                Int64 HSupID = 0;
+                Int64 HGroupID = 0;
+                int HPrintQty = 0;
+                Int64 HSourceInterID = int.Parse(dataSet.Tables[0].Rows[0]["HInterID"].ToString());
+                Int64 HSourceEntryID = 1;
+                string HSourceBillNo = dataSet.Tables[0].Rows[0]["HBillNo"].ToString();
+                string HSourceBillType = "3772";
+                Int64 HBarcodeNo = 0;       //鎵樺彿
+                Int64 HBarcodeQtys = 0;     //鎬绘墭鏁�
+                Int64 HDeptID = 0;
+                Int64 HWhID = 0;
+                Int64 HSPID = 0;
+                string HRemark = "";
+                string HMaterName = dataSet.Tables[0].Rows[0]["鍚嶇墿鏂欑О"].ToString();
+                string HMaterModel = dataSet.Tables[0].Rows[0]["鐗╂枡瑙勬牸"].ToString();
+                string HPinfan = "";
+                string HMTONo = "";
+                Int64 HCusID = 0;
+                string HCusType = "";
+                DateTime HEndDate=DateTime.Now;
+                string HWorkLineName = "";
+                string HSeOrderBillNo = "";
+                string HInnerBillNo = "";
+                bool HGiveAwayFlag = false;
+                Int64 HEntryID = 1;
+                Int64 HInterID = DBUtility.ClsPub.CreateBillID_Prod("85", ref DBUtility.ClsPub.sExeReturnInfo);
+                int HOrgID= int.Parse(dataSet.Tables[0].Rows[0]["HPRDORGID"].ToString());
+                string HCoilNO2 = "";
+                string HFurnaceNO2 = "";
+                string HFactory2 = "";
+                decimal HAuxQty2 = 0;
+                string HheatNO2 = "";
+
+
+                oCN.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
+                                   ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
+                                   ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
+                                   ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
+                                   ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate " +
+                                   ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HEntryID " +
+                                   ",HGiveAwayFlag " +
+                                   ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo" +
+                                   ",HProduceDate,HExpiryDate " +
+                                   ") values ("
+                                   + "'" + HBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString()
+                                   + ",'" + HBatchNo2 + "'," + HSupID.ToString() + "," + HGroupID.ToString() + ",'" + ClsPub.CurUserName + "',getdate()," + HPrintQty.ToString() + "," + HQty2.ToString()
+                                   + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HWei + "'"
+                                   + ", " + HBarcodeQtys.ToString() + "," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + "," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HRemark + "'"
+                                   + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HEndDate.ToShortDateString() + "','" + HWorkLineName + "','" + sDate + "'"
+                                   + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HInterID.ToString() + "," + HEntryID.ToString() + ""
+                                   + ", " + DBUtility.ClsPub.BoolToString(HGiveAwayFlag)
+                                   + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "','','')");
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩囩珯 閰嶄欢鐮佹煡璇�
+        [Route("Cj_SingleStation/HBardCodeAccessoryList")]
+        [HttpGet]
+        public object HBardCodeAccessoryList(string HBarCode, string HProcExchBillNo, string user,string HBillType)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-068]鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBill WITH(NOLOCK) where HBarCode='" + HBarCode + "'", "h_v_Gy_BarCodeBill");
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[3791-2-023]SN鐮佹煡鏃犳暟鎹紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HStatus"].ToString() !="")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-037]褰撳墠鏉$爜鐨勭姸鎬佷负:" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DataSet dataSet  = oCN.RunProcReturn(@"exec h_p_CJ_SNBarCodeBillMouldBathSelect '" + HBarCode + "','" + HProcExchBillNo + "','"+ HBillType + "'", "h_p_CJ_SNBarCodeBillMouldBathSelect");
+
+                if (dataSet.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[3791-2-024]閰嶄欢鏉$爜鍒ゆ柇澶辫触锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (ClsPub.isStrNull(dataSet.Tables[0].Rows[0]["HBack"]) == "2")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-010]" + DBUtility.ClsPub.isStrNull(dataSet.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩囩珯 鎵玈N鐮佹煡璇�
+        [Route("Cj_SingleStation/HBardCodeSNList")]
+        [HttpGet]
+        public object HBardCodeSNList(string HBarCode, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-068]鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl");
+                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
+
+                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange WITH(NOLOCK) where 鏉$爜='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange");
+
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-045]鏉$爜鏌ユ棤鏁版嵁锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                int num = 0;
+                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+                {
+                    if (ds.Tables[0].Rows[i]["HProcID"].ToString() == HProcID)
+                    {
+                        num = 1;
+                    }
+                }
+                if (num == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[3791-2-017]褰撳墠鏉$爜涓庡綋鍓嶅伐搴忎笉鍖归厤!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "姝e父") {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-037]褰撳墠鏉$爜鐘舵�佷负" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩囩珯 鏌ヨ涓嶈壇璁板綍
+        [Route("Cj_SingleStation/BadRecordsList")]
+        [HttpGet]
+        public object BadRecordsList(string HProcExchInterID, string HProcExchEntryID, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-068]鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn(@"exec h_p_Gy_BadRecordsList " + HProcExchInterID + "," + HProcExchEntryID, "h_p_Gy_BadRecordsList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]";
+                objJsonResult.data = ds;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩囩珯 鏌ヨ鍚堟牸璁板綍
+        [Route("Cj_SingleStation/HGRecordsList")]
+        [HttpGet]
+        public object HGRecordsList(string sWhere, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-068]鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn(@"select * from h_v_Gy_QualifiedRecordsList WITH(NOLOCK) where 1=1" + sWhere, "h_v_Gy_QualifiedRecordsList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 鍒犻櫎涓嶈壇璁板綍
+        [Route("Cj_SingleStation/DelBadRecords")]
+        [HttpGet]
+        public object DelBadRecords(int HInterID, int HEntryID, string user,int HProcID)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-058]鏃犲垹闄ゆ潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_BadRecordsList WITH(NOLOCK) where HInterID = " + HInterID, "h_v_Gy_BadRecordsList");
+
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-045]鏌ユ棤鏁版嵁锛�";
+                    objJsonResult.data = null;
+                }
+                string HProcExchInterID = ds.Tables[0].Rows[0]["HProcExchInterID"].ToString();
+                string HProcExchEntryID = ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString();
+                string HBarCode = ds.Tables[0].Rows[0]["HBarCode"].ToString();
+                string HDate = ds.Tables[0].Rows[0]["鏃ユ湡"].ToString();
+
+                oCN.BeginTran();
+
+                string sql = "";
+                sql = "delete from Sc_QualityReportBillMain where HInterID = " + HInterID;
+                oCN.RunProc(sql);
+                sql = "delete from Sc_QualityReportBillSub where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
+                oCN.RunProc(sql);
+                //鍒犻櫎缁勮杩芥函鍗�
+                sql = "delete from Sc_AssemblyBillSub where HInterID in(select HInterID from Sc_AssemblyBillMain where HMainSourceInterID=" + HProcExchInterID + " and HMainSourceEntryID=" + HProcExchEntryID + " and HBarCode_P='" + HBarCode + "' )";
+                oCN.RunProc(sql);
+                sql = "delete from Sc_AssemblyBillMain where HMainSourceInterID=" + HProcExchInterID + " and HMainSourceEntryID=" + HProcExchEntryID + " and HBarCode_P='" + HBarCode + "' ";
+                oCN.RunProc(sql);
+
+                //鍙嶅啓宸ュ簭鍑虹珯鍗曠殑涓嶈壇鏁伴噺
+                oCN.RunProc(@"update Sc_StationOutBillMain  set HBadCount-=1 where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID='" + HProcExchEntryID + "' " +
+                    "and HBillNo = (select HBillNo from Sc_StationOutBillMain WITH(NOLOCK) " +
+                    "where HProcExchInterID = '" + HProcExchInterID + "' and HProcExchEntryID = '" + HProcExchEntryID + "'  and convert(varchar(10), HDate, 20) = '" + DateTime.Parse(HDate).ToString("yyyy-MM-dd") + "' and HBadCount > 0)");
+                //鍙嶅啓娴佽浆鍗$姸鎬�
+                oCN.RunProc("update Gy_BarCodeBill set HStatus=''  where HBarCode='" + HBarCode + "'");
+
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 鍒犻櫎鍚堟牸璁板綍
+        [Route("Cj_SingleStation/DelQualifiedRecords")]
+        [HttpGet]
+        public object DelQualifiedRecords(int HInterID, int HEntryID, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-058]鏃犲垹闄ゆ潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_QualifiedRecordsList WITH(NOLOCK) where hmainid = " + HInterID, "h_v_Gy_QualifiedRecordsList");
+
+                string HProcExchInterID = ds.Tables[0].Rows[0]["HProcExchInterID"].ToString();
+                string HProcExchEntryID = ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString();
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-045]鏌ユ棤鏁版嵁锛�";
+                    objJsonResult.data = null;
+                }
+
+                oCN.BeginTran();
+
+                string sql = "";
+                if (ds.Tables[0].Rows.Count == 1) {
+                    sql = "delete from Sc_StationOutBillMain where HInterID = " + HInterID;
+                    oCN.RunProc(sql);
+                }
+                ds = oCN.RunProcReturn("select * from Sc_StationOutBillSub_SN where HInterID = " + HInterID + " and HEntryID = " + HEntryID, "Sc_StationOutBillSub_SN");
+                string HBarCode = ds.Tables[0].Rows[0]["HBarCode"].ToString();
+                string HBillNo_bak = ds.Tables[0].Rows[0]["HBillNo_bak"].ToString();
+
+                //鍒犻櫎缁勮杩芥函鍗�
+                oCN.RunProc("delete from Sc_AssemblyBillSub where HInterID in(select HInterID from Sc_AssemblyBillMain where HMainSourceInterID=" + HProcExchInterID + " and HMainSourceEntryID=" + HProcExchEntryID + " and HBarCode_P='" + HBarCode + "')");
+                oCN.RunProc("delete from   Sc_AssemblyBillMain where HMainSourceInterID=" + HProcExchInterID + " and HMainSourceEntryID=" + HProcExchEntryID + " and HBarCode_P='" + HBarCode + "'");
+
+                sql = "delete from Sc_StationOutBillSub_SN where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
+                oCN.RunProc(sql);
+                //鍙嶅啓宸ュ簭鍑虹珯鍗曠殑鍚堟牸鏁伴噺
+                oCN.RunProc("update Sc_StationOutBillMain WITH (TABLOCKX) set HQty-=1  where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID=" + HProcExchEntryID+ " and HBillNo='"+ HBillNo_bak + "'");
+
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩斾慨鍙� 鎵爜鏌ヨ
+        [Route("Cj_SingleStation/HFBardCodeList")]
+        [HttpGet]
+        public object HFBardCodeList(string HBarCode, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-068]鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from gy_czygl WITH(NOLOCK) where czymc='" + user + "'", "gy_czygl");
+                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
+
+                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BarCodeBillHICOMProcessExchange WITH(NOLOCK) where 鏉$爜='" + HBarCode + "' ", "h_v_Gy_BarCodeBillHICOMProcessExchange");
+
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-020]鏉$爜鏌ユ棤鏁版嵁锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                int num = 0;
+                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+                {
+                    if (ds.Tables[0].Rows[i]["HProcID"].ToString() == HProcID)
+                    {
+                        num = 1;
+                    }
+                }
+                if (num == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[3791-2-017]褰撳墠鏉$爜涓庡綋鍓嶅伐搴忎笉鍖归厤!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "涓嶈壇")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-037]褰撳墠鏉$爜鐘舵�佷负" + ds.Tables[0].Rows[0]["HStatus"].ToString() + "!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩斾慨鍙� 鏌ヨ鍏抽敭浠舵竻鍗�
+        [Route("Cj_SingleStation/AssemHBardCodeBomList")]
+        [HttpGet]
+        public object AssemHBardCodeBomList(int HProcExchInterID, int HProcExchEntryID, string HMaterSN, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn(@"exec h_p_Gy_AssemCodeBillBomList " + HProcExchInterID + "," + HProcExchEntryID + ",'" + HMaterSN + "'", "h_p_Gy_AssemCodeBillBomList");
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "閰嶄欢娓呭崟鏌ユ棤鏁版嵁锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    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("Cj_SingleStation/ProcessItemRepair")]
+        [HttpGet]
+        public object ProcessItemRepair( string sWhere, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-068]鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"select * from h_v_Cj_BarCodeProcessItemRepair WITH(NOLOCK)  where  1=1 " + sWhere + " order by 鏃ユ湡 desc, HInterID desc, HEntryID desc";
+                ds = oCN.RunProcReturn(sql, "h_v_Cj_BarCodeProcessItemRepair");
+
+                //娣诲姞鍒楀悕
+                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 = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩斾慨鍙� 淇濆瓨
+        [Route("Cj_SingleStation/HFXAddRepairBill")]
+        [HttpPost]
+        public object HFXAddRepairBill([FromBody] JObject sMainSub)
+        {
+            try
+            {
+                var _value = sMainSub["sMainSub"].ToString();
+                string msg = _value.ToString();
+                string[] sArray = msg.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+                string sMainStr = sArray[0].ToString();
+                string sSubStr = sArray[1].ToString();
+                string user = sArray[2].ToString();
+                string HResult = sArray[3].ToString();
+
+                //鍒ゆ柇鏄惁鏈夋潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-038]鏃犱繚瀛樻潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+                if (HResult == "閰嶄欢")
+                {
+                    Model.ClsSc_SourceLineRepairBillMain model = new Model.ClsSc_SourceLineRepairBillMain();
+                    model = JsonConvert.DeserializeObject<Model.ClsSc_SourceLineRepairBillMain>(sMainStr);
+
+                    Model.Sc_AssemblyBill_BindSourceTemp temp = new Model.Sc_AssemblyBill_BindSourceTemp();
+                    temp = JsonConvert.DeserializeObject<Model.Sc_AssemblyBill_BindSourceTemp>(sSubStr);
+
+                    ds = oCN.RunProcReturn("select * from Sc_SourceLineRepairBillSub_Mater where HInterID=" + model.HInterID+ " order by HEntryID  desc", "Sc_SourceLineRepairBillSub_Mater");
+
+                    oCN.RunProc($@"insert into Sc_SourceLineRepairBillSub_Mater
+(HInterID,HEntryID,HBillNo_bak,HRemark,HSourceInterID
+,HSourceEntryID,HSourceBillNo,HSourceBillType,HMaterID
+,HUnitID,HBarCode,HBatchNo )values
+({model.HInterID},{(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)},'{model.HBillNo}','',{temp.HProcExchInterID}
+,{temp.HProcExchEntryID},'{temp.HProcExchBillNo}','',{temp.HMaterID},0,'{temp.HBarCode}','{temp.HBatchNo}')");
+
+                    //淇敼浜х嚎杩芥函鍗曠粦瀹氱殑鏉$爜鎵瑰彿
+                    oCN.RunProc("update Sc_AssemblyBillSub set HBarCode='" + temp.HBarCode + "' where HInterID=" + temp.HInterID + " and HEntryID=" + temp.HEntryID);
+                    //oCN.RunProc("exec h_p_AssemblyBill_Temp '" + temp.HProcExchBillNo + "'," + model.HProcess + "," + temp.HMaterID + ",'" + temp.HBatchNo + "'");
+                }
+                else if (HResult == "NG"|| HResult == "OK") {
+                    Model.ClsSc_SourceLineRepairBillMain model = new Model.ClsSc_SourceLineRepairBillMain();
+                    model = JsonConvert.DeserializeObject<Model.ClsSc_SourceLineRepairBillMain>(sMainStr);
+
+                    oCN.RunProc($@"insert into Sc_SourceLineRepairBillMain(HYear, HPeriod, HBillType, HBillSubType, HInterID,
+HDate, HBillNo, HBillStatus, HRemark, HEmpID, HDeptID, HSourceID, HProdOrgID, HMaterID, HWorkStationID,
+HProcess, HIPAddr, HMacAddr, HProdMac, HBarCode,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo)
+values('{DateTime.Now.Year}','{DateTime.Now.Month}','3748','3748',{model.HInterID}
+,getdate(),'{model.HBillNo}','1','{HResult}',{model.HEmpID},{model.HDeptID},{model.HSourceID},{model.HProdOrgID},{model.HMaterID},0
+,{model.HProcess},'','','','{model.HBarCode}','{user}',getdate(),{model.HICMOInterID},{model.HICMOEntryID},'{model.HICMOBillNo}')");
+
+                    List<Model.ClsSc_SourceLineRepairBillSub> subLsit = new List<Model.ClsSc_SourceLineRepairBillSub>();
+                    sMainStr = "[" + sMainStr + "]";
+                    subLsit = JsonConvert.DeserializeObject<List<Model.ClsSc_SourceLineRepairBillSub>>(sMainStr);
+
+                    oCN.RunProc($@"insert into Sc_SourceLineRepairBillSub
+(HInterID,HEntryID,HBillNo_bak,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+,HBadReasonID,HBadTypeID,HBadResultID,HBadProcID,HRepairResult,HCreator,HCreateDate)
+values({model.HInterID},1,'{model.HBillNo}','',{subLsit[0].HProcExchInterID},{subLsit[0].HProcExchEntryID},'{subLsit[0].HProcExchBillNo}',''
+,{subLsit[0].HBadReasonID},{subLsit[0].HBadTypeID},{subLsit[0].HBadResultID},{model.HBadProcID},'{HResult}','{subLsit[0].HCreator}',getdate())");
+
+                    if (HResult == "OK")
+                    {
+//                        ds = oCN.RunProcReturn("select  * from Sc_SourceLineRepairBillSub where HInterID=" + model.HInterID, "Sc_SourceLineRepairBillSub");
+
+//                        if (ds.Tables[0].Rows[0]["HRepairResult"].ToString() == "OK")
+//                        {
+
+//                            //鐢熶骇宸ュ簭鍑虹珯SN鏁版嵁
+//                            ds = oCN.RunProcReturn("select top 1  HInterID,HBillNo from Sc_StationOutBillMain where HProcExchInterID=" + model.HProcExchInterID + " and HProcExchEntryID=" + model.HProcExchEntryID + " and HBadCount<>0  order by  HInterID desc", "Sc_StationOutBillMain");
+
+//                            string HInterIDSN = ds.Tables[0].Rows[0]["HInterID"].ToString();
+//                            string HBillNoSN = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+
+//                            ds = oCN.RunProcReturn("select *  from Sc_StationOutBillSub_SN where HInterID=" + HInterIDSN, "Sc_StationOutBillSub_SN");
+
+//                            oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney)
+//values({HInterIDSN}, '{HBillNoSN}', {ds.Tables[0].Rows.Count + 1}, '{model.HBarCode}', 1, GETDATE(), '', " + model.HProcExchInterID + "," + model.HProcExchEntryID + ", '" + model.HProcExchBillNo + "', '', 0, 0)");
+//                            //鍙嶅啓宸ュ簭鍑虹珯鍗� 涓昏〃 涓嶈壇鏁伴噺 鍜� 鍚堟牸鏁伴噺
+//                            oCN.RunProc("update Sc_StationOutBillMain set HQty+=1,HBadCount-=1  where HInterID='" + HInterIDSN + "'");
+//                        }
+
+                        oCN.RunProc("update Gy_BarCodeBill set HStatus='' where HBarCode='" + model.HBarCode + "'");
+
+                        DataSet dataSet = oCN.RunProcReturn($"select top 1 HInterID  from Sc_StationOutBillMain where HProcExchInterID={subLsit[0].HProcExchInterID} and HProcExchEntryID={subLsit[0].HProcExchEntryID} and HBadCount>0", "Sc_StationOutBillMain");
+
+                        if (dataSet.Tables[0].Rows.Count > 0)
+                        {
+                            string HOutInterID = dataSet.Tables[0].Rows[0][0].ToString();
+                            //鏂帿灏旂殑鎯呭喌 鍒� 宸ュ簾鏂欏簾 杩斿伐
+                            //宸ュ簾
+                            if (subLsit[0].HBadTypeID == 3)
+                            {
+                                oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1,HWasterQty_Work-=1  where HInterID='" + HOutInterID + "'");
+                            }//鏂欏簾
+                            else if (subLsit[0].HBadTypeID == 4)
+                            {
+                                oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1,HWasterQty_Mater-=1 where HInterID='" + HOutInterID + "'");
+                            }//杩斿伐
+                            else if (subLsit[0].HBadTypeID == 6)
+                            {
+                                oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1,HBackWorkQty-=1 where HInterID='" + HOutInterID + "'");
+                            }
+                        }
+                        else
+                        {
+                            oCN.RollBack();
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "[3748-2-005]淇濆瓨澶辫触,褰撳墠娴佽浆鍗″綋鍓嶅伐搴忕殑鍑虹珯鍗曟病鏈変笉鑹暟閲�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-051]淇濆瓨澶辫触,鏃犵粨鏋滐紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-050]Sucess锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-051]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩斾慨鍙� 鍒犻櫎杩斾慨鍗�
+        [Route("Cj_SingleStation/ProcessItemRepairDel")]
+        [HttpGet]
+        public object ProcessItemRepairDel(int HInterID,int HEntryID,string user,string HBill)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-058]鏃犲垹闄ゆ潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from Sc_SourceLineRepairBillMain  where HInterID = " + HInterID, "Sc_SourceLineRepairBillMain");
+
+                if (ds.Tables[0].Rows.Count == 0) {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-045]鏌ユ棤鏁版嵁锛�";
+                    objJsonResult.data = null;
+                }
+
+                oCN.BeginTran();
+
+                string sql = "";
+                if (HBill == "ZB")
+                {
+                    sql = "delete from Sc_SourceLineRepairBillMain where HInterID = " + HInterID;
+                    oCN.RunProc(sql);
+                    sql = "delete from Sc_SourceLineRepairBillSub where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
+                    oCN.RunProc(sql);
+                }
+
+                if (HBill == "PJ")
+                {
+                    sql = "delete from Sc_SourceLineRepairBillSub_Mater where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
+                    oCN.RunProc(sql);
+                }
+                else
+                {
+                    sql = "delete from Sc_SourceLineRepairBillSub_Mater where HInterID = " + HInterID;
+                    oCN.RunProc(sql);
+                }
+             
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data =null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region  宸ュ簭鍗曞搧杩斾慨鍙� 鍒犻櫎鍏抽敭浠舵竻鍗�
+        [Route("Cj_SingleStation/DelBomTempList")]
+        [HttpGet]
+        public object DelBomTempList(int HInterID, int HEntryID, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from Sc_AssemblyBillSub  where HInterID = " + HInterID, "Sc_AssemblyBillMain");
+
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ユ棤鏁版嵁锛�";
+                    objJsonResult.data = null;
+                }
+
+                oCN.BeginTran();
+
+                string sql = "delete from Sc_AssemblyBillSub where HInterID = " + HInterID + " and HEntryID=" + HEntryID;
+                oCN.RunProc(sql);
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                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("Cj_SingleStation/Sc_SourceLineRepairBillSub_MaterList")]
+        [HttpGet]
+        public object Sc_SourceLineRepairBillSub_MaterList(string sWhere, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_SourceLineRepairBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-068]鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql = @"select * from h_v_Sc_SourceLineRepairBillList  where  1=1 " + sWhere + " order by   HInterID desc";
+                ds = oCN.RunProcReturn(sql, "h_v_Sc_SourceLineRepairBillList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 鍚堟牸杩芥函鏌ヨ鎶ヨ〃
+        [Route("Cj_SingleStation/RetrospectiveQueryReport")]
+        [HttpGet]
+        public object RetrospectiveQueryReport(string HBardCode, string HProcExchBillNo, string HICMOBillNo, string sWhere, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec  h_p_RetrospectiveQueryReport '" + sWhere + "', '" + HBardCode + "', '" + HProcExchBillNo + "','" + HICMOBillNo + "' ";
+                ds = oCN.RunProcReturn(sql, "h_p_RetrospectiveQueryReport");
+
+                //娣诲姞鍒楀悕
+                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)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 杩涘嚭绔欒褰曟煡璇�
+        [Route("Cj_SingleStation/EntryAndExitRecords")]
+        [HttpGet]
+        public object EntryAndExitRecords(string HBardCode, string HProcExchBillNo, string HICMOBillNo, string sWhere, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec  h_p_RetrospectiveQueryReport '" + sWhere + "', '" + HBardCode + "', '" + HProcExchBillNo + "','" + HICMOBillNo + "' ";
+                ds = oCN.RunProcReturn(sql, "h_p_RetrospectiveQueryReport");
+
+                //娣诲姞鍒楀悕
+                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 = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 璐ㄩ噺杩芥函鏌ヨ鎶ヨ〃 涓嶈壇鍝佹煡璇�
+        [Route("Cj_SingleStation/BadQueryReport")]
+        [HttpGet]
+        public object BadQueryReport(string HBardCode, string HProcExchBillNo, string HICMOBillNo, string sWhere, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec  h_p_BadQueryReport '" + sWhere + "', '" + HBardCode + "', '" + HProcExchBillNo + "','" + HICMOBillNo + "' ";
+                ds = oCN.RunProcReturn(sql, "h_p_BadQueryReport");
+
+                //娣诲姞鍒楀悕
+                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 = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 杩芥函鎶ヨ〃 宸ヨ壓鍙傛暟鍒楄〃
+        [Route("Cj_SingleStation/ProcessParameters")]
+        [HttpGet]
+        public object ProcessParameters(string sWhere, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"select * from h_v_sc_StationOutBill_TechParamList where 1=1" + sWhere;
+                ds = oCN.RunProcReturn(sql, "h_v_sc_StationOutBill_TechParamList");
+
+                //娣诲姞鍒楀悕
+                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 = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 杩芥函鎶ヨ〃 閰嶄欢娓呭崟鏌ヨ
+        [Route("Sc_AssemblyBill/AssemblyBillAndStationInBillList_SN")]
+        [HttpGet]
+        public object AssemblyBillAndStationInBillList_SN(string sWhere)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sql1 = "exec h_p_Sc_AssemblyBillAndStationInBillList_SN ";
+                string sql = sql1 + sWhere;
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_AssemblyBillAndStationInBillList_SN");
+
+                //娣诲姞鍒楀悕
+                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 = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 閫嗗悜杩芥函鎶ヨ〃 娴佽浆鍗℃煡璇�
+        [Route("Cj_SingleStation/Sc_ProcessExchangeBillMainList")]
+        [HttpGet]
+        public object Sc_ProcessExchangeBillMainList(string HMaterNumber,string HBatchNo, string sWhere, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec h_p_GZ_ProcessExchangeBillMainList '"+ HMaterNumber + "','"+ HBatchNo + "','"+ sWhere + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_GZ_ProcessExchangeBillMainList");
+
+                //娣诲姞鍒楀悕
+                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 = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 閫嗗悜杩芥函鎶ヨ〃 浜у搧鏉$爜缁戝畾
+        [Route("Cj_SingleStation/HBardcodeList")]
+        [HttpGet]
+        public object HBardcodeList(string HMaterNumber, string HBatchNo, string sWhere, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec h_p_GZ_BarCodeBillList '" + HMaterNumber + "','" + HBatchNo + "','" + sWhere + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_GZ_BarCodeBillList");
+
+                //娣诲姞鍒楀悕
+                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 = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 閫嗗悜杩芥函鎶ヨ〃 鏉$爜鍑哄叆搴撹褰�
+        [Route("Cj_SingleStation/BardCodeOutInList")]
+        [HttpGet]
+        public object BardCodeOutInList(string HMaterNumber, string HBatchNo, string sWhere, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec h_p_CG_BarCodeOutInList '" + HMaterNumber + "','" + HBatchNo + "','" + sWhere + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_CG_BarCodeOutInList");
+
+                //娣诲姞鍒楀悕
+                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 = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 鍗曞搧杩囩珯鏌ヨ
+        [Route("Cj_SingleStation/SingleItemTransitList")]
+        [HttpGet]
+        public object SingleItemTransitList(string HProcExchBillNo, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec h_p_SingleItemTransitList '" + HProcExchBillNo + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_SingleItemTransitList");
+
+                //娣诲姞鍒楀悕
+                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)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭鍗曞搧杩囩珯 鍗曞搧杩囩珯鏌ヨ 鏌ヨ鍏蜂綋鏉$爜
+        [Route("Cj_SingleStation/SingleItemTransit_SN_List")]
+        [HttpGet]
+        public object SingleItemTransit_SN_List(string sWhere, string TableName)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec h_p_SingleItemTransit_SN_List '" + sWhere + "','"+ TableName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_SingleItemTransit_SN_List");
+
+                //娣诲姞鍒楀悕
+                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)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1