From d3473e15fd14ea84a1378f3d3841bcad16c2d9f3 Mon Sep 17 00:00:00 2001 From: yxj <yxj@hz-kingdee.com> Date: 星期二, 18 六月 2024 15:32:04 +0800 Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API --- WebAPI/Controllers/CJGL/Cj_SingleStationController.cs | 181 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 168 insertions(+), 13 deletions(-) diff --git a/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs b/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs index df4c63c..94b9d8a 100644 --- a/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs +++ b/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs @@ -414,14 +414,22 @@ 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(); @@ -479,10 +487,29 @@ 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 = "鏌ユ棤鏁版嵁!"; + objJsonResult.data = null; + return objJsonResult; + } + else if (ds.Tables[0].Rows[0]["HBack"].ToString() == "2") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = 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 = "鏉$爜:" + omodel.HBarCode_P + ",宸插瓨鍦�!"; @@ -490,31 +517,66 @@ return objJsonResult; } - 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 + //澧炲姞浜х嚎缁勮杩芥函鍗� + 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 = "閰嶄欢浠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); + oCN.RunProc(sql); - for (int i = 0; i < sub.Count; i++) - { - //瀛愯〃瀛樺偍 - string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo + 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); + 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"; @@ -620,8 +682,26 @@ 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); + 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 = "鍑虹珯鏁伴噺瓒呰繃娴佽浆鍗℃暟閲�!"; + objJsonResult.data = null; + return objJsonResult; + } oCN.Commit(); @@ -687,6 +767,23 @@ } } else { + + string str1 = HBarCode.Substring(23, 3); + + 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 = "鏉$爜涓庢祦杞崱涓嶅瓨鍦ㄥ搴斿叧绯�!"; + objJsonResult.data = null; + return objJsonResult; + } + if (ds.Tables[0].Rows[0]["HStatus"].ToString() != "") { objJsonResult.code = "0"; @@ -1399,7 +1496,7 @@ (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.HProcess},'{HResult}','{subLsit[0].HCreator}',getdate())"); +,{subLsit[0].HBadReasonID},{subLsit[0].HBadTypeID},{subLsit[0].HBadResultID},{model.HBadProcID},'{HResult}','{subLsit[0].HCreator}',getdate())"); if (HResult == "OK") { @@ -1423,9 +1520,28 @@ // } 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(); + + oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1 where HInterID='" + HOutInterID + "'"); + } + else + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触,褰撳墠娴佽浆鍗″綋鍓嶅伐搴忕殑鍑虹珯鍗曟病鏈変笉鑹暟閲�!"; + objJsonResult.data = null; + return objJsonResult; + } } } else { + oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "淇濆瓨澶辫触,鏃犵粨鏋滐紒"; @@ -1772,6 +1888,45 @@ } #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 = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + #region 宸ュ簭鍗曞搧杩囩珯 閫嗗悜杩芥函鎶ヨ〃 娴佽浆鍗℃煡璇� [Route("Cj_SingleStation/Sc_ProcessExchangeBillMainList")] [HttpGet] -- Gitblit v1.9.1