From 077dd1267cbe547ca584cb7befc99c238c68b08f Mon Sep 17 00:00:00 2001 From: jingh <jingh@LAPTOP-I53VDLOO> Date: 星期三, 06 十月 2021 09:20:22 +0800 Subject: [PATCH] 控制不良品入库单 --- WebAPI/Service/YqnQbService.cs | 198 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 146 insertions(+), 52 deletions(-) diff --git a/WebAPI/Service/YqnQbService.cs b/WebAPI/Service/YqnQbService.cs index dfaf774..24ed380 100644 --- a/WebAPI/Service/YqnQbService.cs +++ b/WebAPI/Service/YqnQbService.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Data; using System.Linq; +using System.Text; using System.Web; using WebAPI.Dapper; using WebAPI.Models; @@ -18,9 +19,9 @@ /// </summary> /// <returns></returns> public static ApiResult<DocumentsView> GetInterBillNo(string billType) - { - var hInterId= DBUtility.ClsPub.CreateBillID(billType, ref DBUtility.ClsPub.sExeReturnInfo); - var hBillNo= DBUtility.ClsPub.CreateBillCode(billType, ref DBUtility.ClsPub.sExeReturnInfo, true); + { + var hInterId = DBUtility.ClsPub.CreateBillID(billType, ref DBUtility.ClsPub.sExeReturnInfo); + var hBillNo = DBUtility.ClsPub.CreateBillCode(billType, ref DBUtility.ClsPub.sExeReturnInfo, true); if (hInterId == 0 || string.IsNullOrEmpty(hBillNo)) return new ApiResult<DocumentsView> { code = -1, msg = "鑾峰彇澶辫触" }; DocumentsView documentsView = new DocumentsView() @@ -41,14 +42,14 @@ var dataSet = GetBarCodeDb(sBillBarCode); if (dataSet == null || dataSet.Tables[0].Rows.Count == 0) return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄦ祦杞崱鍙�" }; - return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛",data=dataSet }; + return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet }; } /// <summary> /// 娴佽浆鍗″洖杞︽柟娉� /// </summary> public static ApiResult<DataSet> GetProcDetail(string sBillNo, string sProcNo) { - if (string.IsNullOrEmpty(sBillNo)||string.IsNullOrEmpty(sProcNo)) + if (string.IsNullOrEmpty(sBillNo) || string.IsNullOrEmpty(sProcNo)) return new ApiResult<DataSet> { code = -1, msg = "鏉$爜鍜屾祦杞崱涓嶈兘涓虹┖" }; var dataSet = GetProcDb(sBillNo, sProcNo); if (dataSet == null || dataSet.Tables[0].Rows.Count == 0) @@ -95,21 +96,21 @@ return new ApiResult { code = -1, msg = "鏈嶅姟鍣ㄧ箒蹇�" }; try { - if (oMain.HProcID == 0 || oMain.HQty == 0 || oMain.HEmpID == 0||string.IsNullOrEmpty(oMain.HICMOBillNo)||string.IsNullOrEmpty(oMain.HProcExchBillNo)||oMain.HQty==0||oMain.HICMOInterID==0||string.IsNullOrEmpty(oMain.HBillNo)) + if (oMain.HProcID == 0 || oMain.HQty == 0 || string.IsNullOrEmpty(oMain.HProcExchBillNo) || oMain.HQty == 0 || string.IsNullOrEmpty(oMain.HBillNo)) return new ApiResult { code = 1, msg = "鍙傛暟涓嶅叏" }; - var stationInList = YqnDal.GetStationInBillMailList(oMain.HICMOBillNo);//鑾峰緱璇ユ祦杞崱鎵�鏈夎繘绔欏崟 + var stationInList = YqnDal.GetStationInBillMailList(oMain.HProcExchBillNo);//鑾峰緱璇ユ祦杞崱鎵�鏈夎繘绔欏崟 if (stationInList.Count > 0) { - var stationOutList = YqnDal.GetStationOutBillMailList(oMain.HICMOBillNo);//鑾峰緱璇ユ祦杞崱鎵�鏈夊嚭绔欏崟 + var stationOutList = YqnDal.GetStationOutBillMailList(oMain.HProcExchBillNo);//鑾峰緱璇ユ祦杞崱鎵�鏈夊嚭绔欏崟 var stationInModel = stationInList.OrderByDescending(a => a.HDate).First();//鑾峰彇杩涚珯鍗曟渶鏂拌繘绔欏伐搴� - if (stationOutList.Count == 0 && oMain.HEmpID == stationInModel.HEmpID) + if (stationOutList.Count == 0 && oMain.HProcID == stationInModel.HProcID) return new ApiResult { code = -1, msg = "閲嶅鎵弿" }; - if (stationOutList.Count == 0 && oMain.HEmpID != stationInModel.HEmpID) + if (stationOutList.Count == 0 && oMain.HProcID != stationInModel.HProcID) return new ApiResult { code = -1, msg = "姝ゅ崟宸插叧鑱�" }; var stationOutModel = stationOutList.OrderByDescending(a => a.HDate).First();//鑾峰彇鍑虹珯鍗曟渶鏂板嚭绔欏伐搴� - if (stationInModel.HProcID != stationOutModel.HProcID && stationInModel.HEmpID == oMain.HEmpID) + if (stationInModel.HProcID != stationOutModel.HProcID && stationInModel.HProcID == oMain.HProcID) return new ApiResult { code = -1, msg = "閲嶅鎵弿" }; - if (stationInModel.HProcID != stationOutModel.HProcID && stationInModel.HEmpID == oMain.HEmpID) + if (stationInModel.HProcID != stationOutModel.HProcID && stationInModel.HProcID == oMain.HProcID) return new ApiResult { code = -1, msg = "姝ゅ崟宸插叧鑱�" }; if (stationOutList.Exists(a => a.HProcID == oMain.HProcID)) return new ApiResult { code = -1, msg = "璇ュ崟鎹凡瀹屾垚姝ゅ伐鑹�" }; @@ -119,14 +120,13 @@ var result = oWebs.set_SaveStationInBill(oMain, ref sErrMsg);//杩涚珯 if (!result) { - return new ApiResult { code = -1, msg = sErrMsg }; } return new ApiResult { code = 1, msg = "鎿嶄綔鎴愬姛" }; } catch (Exception ex) { - throw; + return new ApiResult { code = -1, msg = "璇锋眰閿欒" + ex.ToString() }; } finally { @@ -158,22 +158,99 @@ return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet }; } /// <summary> + /// 鑾峰彇娴佽浆鍗″垪琛� + /// </summary> + /// <param name="sWhere"></param> + /// <returns></returns> + public static ApiResult<DataSet> GetPorcessMainList(string sWhere) + { + var dataSet = GetProcessMain(sWhere); + if (dataSet == null || dataSet.Tables[0].Rows.Count == 0) + return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌鏁版嵁" }; + return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet }; + } + /// <summary> + /// 鑾峰彇娴佽浆鍗″瓙琛ㄥ垪琛� + /// </summary> + /// <param name="sWhere"></param> + /// <returns></returns> + public static ApiResult<DataSet> GetPorcessSubList(int hInterId) + { + var dataSet = GetProcessSubList(hInterId); + if (dataSet == null || dataSet.Tables[0].Rows.Count == 0) + return new ApiResult<DataSet> { code = -1, msg = "鏈煡璇㈠埌鏁版嵁" }; + return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet }; + } + /// <summary> /// 鍑虹珯鎺ユ敹鍗� /// </summary> public static ApiResult SetStationOutBill(StationOutBillView omodel) { - if (!dicLock.TryAdd(omodel.HBillNo, omodel.HBillNo)) + if (!dicLock.TryAdd(omodel.HICMOBillNo + "cz", omodel.HBillNo))//鍚屼竴鍗曞彿骞跺彂澶勭悊 return new ApiResult { code = -1, msg = "鏈嶅姟鍣ㄧ箒蹇�" }; - var stationInBillModel = YqnDal.GetStationInBillMail(omodel.HProcID, omodel.HICMOBillNo); - if (stationInBillModel == null) - return new ApiResult { code = -1, msg = "璇ュ伐搴忚繘绔欏崟涓嶅瓨鍦�" }; - var stationOutBillModel = YqnDal.GetStationOutBillMail(omodel.HProcID, omodel.HICMOBillNo); - if (stationOutBillModel != null) - return new ApiResult { code = -1, msg = "璇ュ伐搴忓凡瀛樺湪鍑虹珯鍗�" }; - WebS.WebService1 oWebs = new WebS.WebService1(); - string sErrMsg = string.Empty; - var result = SetOutBill(omodel); - return result; + try + { + var stationInBillModel = YqnDal.GetStationInBillMail(omodel.HProcID, omodel.HProcExchBillNo); + if (stationInBillModel == null) + return new ApiResult { code = -1, msg = "璇ュ伐搴忚繘绔欏崟涓嶅瓨鍦�" }; + var stationOutBillModel = YqnDal.GetStationOutBillMail(omodel.HProcID, omodel.HProcExchBillNo); + if (stationOutBillModel != null) + return new ApiResult { code = -1, msg = "璇ュ伐搴忓凡瀛樺湪鍑虹珯鍗�" }; + omodel.HYear = DateTime.Now.Year; + var result = SetOutBill(omodel); + return result; + } + catch (Exception ex) + { + return new ApiResult { code = -1, msg = ex.ToString() }; + } + finally + { + dicLock.TryRemove(omodel.HICMOBillNo + "cz", out string key); + } + + } + /// <summary> + /// 鑾峰彇宸ュ簭璇︽儏 + /// </summary> + /// <param name="hItemId"></param> + /// <returns></returns> + public static ApiResult<Models.M_Process> GetProcessDetail(int hItemId) + { + var processModel = ProcessDal.GetProcessDetail(hItemId); + if (processModel == null) + return new ApiResult<M_Process> { code = -1, msg = "鏌ヨ涓虹┖" }; + processModel.DepartmentModel = ProcessDal.GetDepartmentModel(processModel.HDeptID); + processModel.ProcMulModel = ProcessDal.GetProcMulModel(processModel.HProcMulID); + return new ApiResult<M_Process> { code = 1, msg = "鏌ヨ鎴愬姛", data = processModel }; + } + /// <summary> + /// 鑾峰彇宸ュ簭鍒楄〃 + /// </summary> + /// <param name="hName"></param> + /// <param name="hLevel"></param> + /// <param name="hNumber"></param> + /// <param name="hBillSubType"></param> + /// <returns></returns> + public static ApiResult<List<Models.M_Process>> GetProcessList(string hName, int hLevel, string hNumber, string hBillSubType, int page, int limit) + { + int pageCount = 0; + var list = ProcessDal.GetProcessList(hName, hLevel, hNumber, hBillSubType, page, limit, ref pageCount); + if (list?.Count == 0) + return new ApiResult<List<M_Process>> { code = -1, msg = "鏌ヨ涓虹┖" }; + return new ApiResult<List<M_Process>> { code = 0, msg = "鏌ヨ鎴愬姛", data = list, count = pageCount }; + } + /// <summary> + /// 鍒犻櫎涓�鏉″伐搴� + /// </summary> + /// <param name="hItemID"></param> + /// <returns></returns> + public static ApiResult DeleteProcess(int hItemID) + { + var result = ProcessDal.DeleteProcess(hItemID); + if (result > 0) + return new ApiResult { code = 1, msg = "鍒犻櫎鎴愬姛" }; + return new ApiResult { code = -1, msg = "鍒犻櫎鏁版嵁涓嶅瓨鍦�" }; } #region sql璇彞 public static DataSet GetStationOutBill(string strWhere) @@ -188,6 +265,21 @@ var sql = "Select top 5000 * from h_v_MES_StationInBillList Where 1=1 " + strWhere; SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); var dataSet = oCN.RunProcReturn(sql, "h_v_MES_StationInBillList"); + return dataSet; + } + public static DataSet GetProcessSubList(int hInterId) + { + var sql = "select a.HProcNo 娴佹按鍙�,a.HProcNumber as 宸ュ簭浠g爜,b.HName 宸ュ簭鍚嶇О,c.HName 宸ヤ綔涓績,a.HQty 娴佽浆鍗℃暟閲� from Sc_ProcessExchangeBillSub a left join Gy_Process b on b.HItemID = a.HProcID left join Gy_WorkCenter c on c.HItemID = a.HCenterID where 1=1 and a.HInterID=" + hInterId; + SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); + var dataSet = oCN.RunProcReturn(sql, "Sc_ProcessExchangeBillSub"); + return dataSet; + } + public static DataSet GetProcessMain(string strWhere) + { + var sql = "select a.HBillNo 鍗曟嵁鍙�, a.HDate 鏃ユ湡, HInterID, a.HICMOBillNo 鐢熶骇璁㈠崟, b.HName 浜у搧鍚嶇О, b.HNumber 浜у搧浠g爜, a.HPlanQty 娴佽浆鍗℃暟閲�, c.HName 鍗曚綅, a.HPlanBeginDate 璁″垝寮�宸ユ棩鏈�, a.HPlanEndDate 璁″垝瀹屽伐鏃ユ湡, a.HRemark 澶囨敞" + + " from Sc_ProcessExchangeBillMain a left join Gy_Material b on a.HMaterID = b.HItemID left join Gy_Unit c on c.HItemID = a.HUnitID where 1=1 " + strWhere; + SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); + var dataSet = oCN.RunProcReturn(sql, "Sc_ProcessExchangeBillMain"); return dataSet; } public static DataSet GetBarCodeDb(string billBarCode) @@ -233,61 +325,63 @@ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); omodel.HInterID = DBUtility.ClsPub.CreateBillID("3791", ref DBUtility.ClsPub.sExeReturnInfo); oCN.BeginTran(); - oCN.RunProc("Insert Into Sc_StationOutBillMain " + + var sql = "Insert Into Sc_StationOutBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + ",HYear,HPeriod,HRemark" + ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" + ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID" + ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" + - ",HSupID,HQty,HPrice,HMoney" + + ",HSupID,HQty,HPrice,HMoney,HProcNo" + ") " + " values('3791','3791'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",getdate(),'" + DBUtility.ClsPub.CurUserName + "',getdate()" + "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" + "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HProcPlanInterID.ToString() + "," + omodel.HProcPlanEntryID.ToString() + ",'" + omodel.HProcPlanBillNo + "'," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() + ",'" + omodel.HProcExchBillNo + "'," + omodel.HMaterID.ToString() + "," + omodel.HProcID.ToString() + "," + omodel.HICMOQty.ToString() + "," + omodel.HPlanQty.ToString() + ",getdate()," + omodel.HSourceID.ToString() + "," + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HBarCodeMaker + "',getdate()" + - "," + omodel.HSupID.ToString() + "," + omodel.HQty.ToString() + "," + omodel.HPrice.ToString() + "," + omodel.HMoney.ToString() + - ") "); + "," + omodel.HSupID.ToString() + "," + omodel.HQty.ToString() + "," + omodel.HPrice.ToString() + "," + omodel.HMoney.ToString() + "," + omodel.HProcNo + ") "; + //var result= SqlPools.GetInstance("YqnConn").ExecuteCommand(sql); + oCN.RunProc(sql); oCN.Commit(); return new ApiResult { code = 1, msg = "鏂板鎴愬姛" }; } catch (Exception ex) { - return new ApiResult { code = -1, msg = "淇濆瓨閿欒/"+ex.ToString() }; + return new ApiResult { code = -1, msg = "淇濆瓨閿欒/" + ex.ToString() }; } } public static ApiResult SetInBill(ClsSc_StationInBillMain omodel) { - SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); + //SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); try { + var nowTime = DateTime.Now; + omodel.HBillType = "3790"; + omodel.HYear = nowTime.Year; + omodel.HBillSubType = "3790"; //寰楀埌mainid - omodel.HInterID = DBUtility.ClsPub.CreateBillID("3790", ref DBUtility.ClsPub.sExeReturnInfo); + omodel.HInterID = DBUtility.ClsPub.CreateBillID(omodel.HBillType, ref DBUtility.ClsPub.sExeReturnInfo); + omodel.HDate = nowTime; + omodel.HMakeDate = nowTime.ToString(); + omodel.HStationInTime = nowTime; + omodel.HBarCodeMakeDate = nowTime; + omodel.HPeriod = 1; + var sqlBuilder = new StringBuilder(); + sqlBuilder.Append("Insert Into Sc_StationInBillMain(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate,HYear,HPeriod,HRemark,HICMOInterID,HICMOBillNo"); + sqlBuilder.Append(",HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID"); + sqlBuilder.Append(",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate,HSupID,HQty,HPrice,HMoney,HProcId,HProcNo) values "); + sqlBuilder.Append("(@HBillType,@HBillSubType,@HInterID,@HBillNo,@HBillStatus,@HDate,@HMaker,@HMakeDate,@HYear,@HPeriod,@HRemark,@HICMOInterID,@HICMOBillNo"); + sqlBuilder.Append(",@HProcPlanInterID,@HProcPlanEntryID,@HProcPlanBillNo,@HProcExchInterID,@HProcExchEntryID,@HProcExchBillNo,@HMaterID,@HProcID,@HICMOQty,@HPlanQty,@HStationInTime,@HSourceID"); + sqlBuilder.Append(",@HGroupID,@HDeptID,@HEmpID,@HBarCode,@HAddr,@HBarCodeMaker,@HBarCodeMakeDate,@HSupID,@HQty,@HPrice,@HMoney,@HProcId,@HProcNo)"); //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙� - oCN.BeginTran(); - //涓昏〃 - oCN.RunProc("Insert Into Sc_StationInBillMain " + - "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + - ",HYear,HPeriod,HRemark" + - ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" + - ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID" + - ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" + - ",HSupID,HQty,HPrice,HMoney,HMaker" + - ") " + - " values('3790','3790'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + ",getdate(),'" + DBUtility.ClsPub.CurUserName + "',getdate()" + - "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'" + - "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HProcPlanInterID.ToString() + "," + omodel.HProcPlanEntryID.ToString() + ",'" + omodel.HProcPlanBillNo + "'," + omodel.HProcExchInterID.ToString() + "," + omodel.HProcExchEntryID.ToString() + - ",'" + omodel.HProcExchBillNo + "'," + omodel.HMaterID.ToString() + "," + omodel.HProcID.ToString() + "," + omodel.HICMOQty.ToString() + "," + omodel.HPlanQty.ToString() + ",getdate()," + omodel.HSourceID.ToString() + - "," + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + ",'" + omodel.HBarCode + "','" + omodel.HAddr + "','" + omodel.HBarCodeMaker + "',getdate()" + - "," + omodel.HSupID.ToString() + "," + omodel.HQty.ToString() + "," + omodel.HPrice.ToString() + "," + omodel.HMoney.ToString() + - ",'"+omodel.HMaker+"') "); - - oCN.Commit(); + //oCN.BeginTran(); + var result = SqlPools.GetInstance("YqnConn").ExecuteCommand(sqlBuilder.ToString(), omodel); + //oCN.RunProc(sql); + //oCN.Commit(); return new ApiResult { code = 1, msg = "鏂板鎴愬姛" }; } catch (Exception e) { - oCN.RollBack(); + //oCN.RollBack(); return new ApiResult { code = -1, msg = "淇濆瓨閿欒/" + e.ToString() }; } } -- Gitblit v1.9.1