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