From ac3fdc886f4f5f15f3e0a77c315ba0571beed94a Mon Sep 17 00:00:00 2001 From: yusijie <ysj@hz-kingdee.com> Date: 星期三, 01 三月 2023 10:07:20 +0800 Subject: [PATCH] 用户关联工序;工序进出站自动匹配对应流水号 --- WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs | 351 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 315 insertions(+), 36 deletions(-) diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs index 4c2156c..9f2f099 100644 --- a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs +++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs @@ -1,4 +1,5 @@ -锘縰sing Newtonsoft.Json.Linq; +锘縰sing Newtonsoft.Json; +using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; @@ -14,6 +15,7 @@ public class Cj_StationEntrustInBillController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; + Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); @@ -23,36 +25,58 @@ #region 杩斿洖濮斿宸ュ簭鍙戝嚭鍗曞垪琛� [Route("Cj_StationEntrustInBill/list")] [HttpGet] - public object list(string sWhere) + public object list(string sWhere,string user) { try { - if (sWhere == null || sWhere.Equals("")) - { - ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustInBillList " + sWhere+ " order by 鍙戝嚭鏃堕棿 desc", "h_v_MES_StationEntrustInBillList"); - } - else - { - string sql1 = "select * from h_v_MES_StationEntrustInBillList where 1 = 1 order by 鍙戝嚭鏃堕棿 desc"; - string sql = sql1 + sWhere; - ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustInBillList"); - } - if (ds == null || ds.Tables[0].Rows.Count == 0) + List<object> columnNameList = new List<object>(); + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "false锛�"; + objJsonResult.Message = "鏃犳煡璇㈡潈闄�!"; objJsonResult.data = null; return objJsonResult; } + + if (sWhere == null || sWhere.Equals("")) + { + ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustInBillList", "h_v_MES_StationEntrustInBillList"); + // order by hmainid desc 鎺掑簭涓㈠埌鏁版嵁搴撻噷杩涜澶勭悊 + } else { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "Sucess锛�"; - objJsonResult.data = ds.Tables[0]; - return objJsonResult; + string sql1 = "select * from h_v_MES_StationEntrustInBillList where 1 = 1 "; + string sql = sql1 + sWhere+ " order by hmainid desc"; + ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustInBillList"); } + + //娣诲姞鍒楀悕 + foreach (DataColumn col in ds.Tables[0].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + //if (ds.Tables[0].Rows.Count != 0 || ds != null) + //{ + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.list = columnNameList; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + //} + //else + //{ + //objJsonResult.code = "0"; + //objJsonResult.count = 0; + //objJsonResult.Message = "鏃犳暟鎹�"; + //objJsonResult.data = null; + //return objJsonResult; + //} } catch (Exception e) { @@ -96,7 +120,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "鏈煡璇㈠埌娴佽浆鍗′俊鎭紒"; + objJsonResult.Message = "鏈煡璇㈠埌娴佹按鍙蜂俊鎭紒宸ュ簭鍙烽敊璇垨鑰呭綋鍓嶅伐搴忓彿涓嶅厑璁歌繘绔欙紝璇锋坊鍔狅紒"; objJsonResult.data = null; return objJsonResult; } @@ -117,6 +141,123 @@ } #endregion + #region 鏍规嵁鐧诲綍鐢ㄦ埛鑾峰彇宸ュ簭 + [Route("Sc_StationInBill/autoGetProcNo")] + [HttpGet] + public object autoGetProcNo(string HUserName,string HInterID) + { + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn) == true) + { + //绯荤粺鍙傛暟鏄惁涓鸿嚜鍔ㄥ尮閰嶆祦姘村彿,N涓烘墜鍔ㄨ緭鍏ワ紝Y涓鸿嚜鍔ㄥ尮閰� + if (oSystemParameter.omodel.MES_StationBill_ProcNo == "Y") + { + try + { + if (HUserName == null || HUserName.Equals("")) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒"; + objJsonResult.data = null; + return objJsonResult; + } + //寰楀埌淇℃伅 + ds = oCN.RunProcReturn("select * from h_v_Sc_StationBill_autoGetProcNo where HInterID = '" + HInterID + "' and 鐢ㄦ埛鍚嶇О ='" + HUserName + "'", "h_v_Sc_StationBill_autoGetProcNo"); + //鍐欏叆淇℃伅 + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏈煡璇㈠埌宸ュ簭淇℃伅锛�"; + objJsonResult.data = null; + return objJsonResult; + } + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎵嬪姩杈撳叆妯″紡"; + objJsonResult.data = ""; + return objJsonResult; + } + + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绯荤粺鍙傛暟寮傚父"; + objJsonResult.data = ""; + return objJsonResult; + } + + + } + #endregion + + + #region 鍑虹珯姹囨姤鍗曟樉绀鸿〃浣撴槑缁� + [Route("Cj_StationEntrustInBill/DisBillEntryList")] + [HttpGet] + public object DisBillEntryList(Int64 HProcExchHinteID) + { + try + { + List<object> columnNameList = new List<object>(); + //寰楀埌淇℃伅 + ds = oCN.RunProcReturn("exec h_p_Sc_ProcExchBilltransRelationQty " + HProcExchHinteID + "", "h_p_Sc_ProcExchBilltransRelationQty"); + //鍐欏叆淇℃伅 + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏈煡璇㈠埌鍑虹珯鍗曟槑缁嗕俊鎭紒"; + objJsonResult.data = null; + return objJsonResult; + } + + //娣诲姞鍒楀悕 + 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 = "0"; + 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_StationEntrustInBill/AddBill")] [HttpPost] @@ -124,11 +265,27 @@ { var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); try { //濮斿宸ュ簭鍙戝嚭鍙嶅簭鍒楀寲 - msg1 = "[" + msg1.ToString() + "]"; - List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg1); + string msg2 = "[" + sArray[0].ToString() + "]"; + string user = sArray[1].ToString(); + + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犵紪杈戞潈闄�!"; + objJsonResult.data = null; + return objJsonResult; + } + + List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2); + DBUtility.ClsPub.CurUserName = user; + long HMainInterID = 0; + HMainInterID = list[0].HMainInterID; string eventType = list[0].eventType; long HInterID = list[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D int HYear = 2021; @@ -157,7 +314,7 @@ double HMoney = list[0].HMoney;//閲戦 string HRemark = list[0].HRemark;//澶囨敞 double HTaxRate = list[0].HTaxRate;//绋庣巼 - long HProcNo = list[0].HProcNo;//娴佹按鍙� + string HProcNo = list[0].HProcNo;//娴佹按鍙� string HOrderProcNO = list[0].HOrderProcNO;//璁㈠崟璺熻釜鍙� int HWWWorkOrderInterID = 0;//濮斿宸ュ崟鍙峰瓙鍐呯爜 int HWWWorkOrderEntryID = 0;//濮斿宸ュ崟鍙蜂富鍐呭悧 @@ -170,6 +327,7 @@ string HBarCode = list[0].HBarCode;//鏉″舰鐮� string HAddr = ""; string HBarCodeMaker = ""; + long HPRDOrgID = list[0].HPRDOrgID;//缁勭粐ID if (HProcExchInterID <= 0) { objJsonResult.code = "0"; @@ -186,7 +344,7 @@ objJsonResult.data = null; return objJsonResult; } - if (HProcNo <= 0) + if (HProcNo == "") { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -255,7 +413,7 @@ ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID" + ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" + ",HSupID,HTaxRate,HQty,HPrice,HMoney,HPieceQty" + - ",HProcNo,HOrderProcNO,HWWWorkOrderBillNo,HWWWorkOrderInterID,HWWWorkOrderEntryID" + + ",HProcNo,HOrderProcNO,HWWWorkOrderBillNo,HWWWorkOrderInterID,HWWWorkOrderEntryID,HMainInterID,HPRDOrgID" + ") " + " values('3792','3792'," + HInterID.ToString() + ",'" + HBillNo + "','" + HBillStatus.ToString() + "',getdate(),'" + HMaker + "',getdate()" + ",'" + HYear.ToString() + "','" + HPeriod.ToString() + "','" + HRemark + "','" + HInnerBillNo + "'" + @@ -263,7 +421,7 @@ ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + "," + HSupID + "," + HTaxRate + "," + HQty + "," + HPrice + "," + HMoney + "," + HPieceQty + - ",'" + HProcNo + "','" + HOrderProcNO + "'" + ",'" + HWWWorkOrderBillNo + "'" + "," + HWWWorkOrderInterID + "" + "," + HWWWorkOrderEntryID + "" + + ",'" + HProcNo + "','" + HOrderProcNO + "'" + ",'" + HWWWorkOrderBillNo + "'" + "," + HWWWorkOrderInterID + "" + "," + HWWWorkOrderEntryID + "," + HMainInterID + "," + HPRDOrgID + ") "); } else if ("Modify".Equals(eventType)) @@ -288,6 +446,7 @@ ",HTaxRate=" + HTaxRate + ",HMaterID=" + HMaterID + ",HProcID=" + HProcID + + ",HEmpID=" + HEmpID + ",HProcNo=" + HProcNo + ",HOrderProcNO='" + HOrderProcNO + "'" + " where HInterID=" + HInterID); @@ -332,9 +491,21 @@ oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + HInterID.ToString() + ",1"); oCN.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_In " + HInterID.ToString() + ",1"); oCN.Commit(); + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn) == true) + { + if (oSystemParameter.omodel.MES_StationEntrustInBill_SaveAutoAddnew == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 + { + objJsonResult.Verify = "Y"; + } + else + { + objJsonResult.Verify = "N"; + } + } objJsonResult.code = "1"; objJsonResult.count = 1; - objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�"; + objJsonResult.Message = "鎿嶄綔鍗曟嵁鎴愬姛锛�"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } @@ -466,7 +637,7 @@ //} //鍒ゆ柇鏉冮檺 - if (!ClsPub.Security_Log("MES_StationEntrustInBill_Edit", 1, true, CurUserName)) + if (!ClsPub.Security_Log_second("MES_StationEntrustInBill_Edit", 1, false, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -531,14 +702,15 @@ try { //瀹℃牳鏉冮檺 - //if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Check", 1, true, CurUserName)) - //{ - // objJsonResult.code = "0"; - // objJsonResult.count = 0; - // objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; - // objJsonResult.data = null; - // return objJsonResult; - //} + if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + if (HInterID == 0) { objJsonResult.code = "0"; @@ -634,6 +806,16 @@ { try { + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐ワ紒鏃犳潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (HInterID == 0) { objJsonResult.code = "0"; @@ -720,6 +902,103 @@ } } #endregion + + #region 鏍规嵁id鍒犻櫎濮斿鍙戝嚭鍗� + [Route("Cj_StationEntrustInBill/del_StationEntrustInBill")] + [HttpGet] + public object del_StationEntrustInBill(long HInterID, string HDeleteMan) + { + try + { + + //缂栬緫鏉冮檺 + if (!DBUtility.ClsPub.Security_Log_second("MES_StationEntrustInBill_Delete", 1, false, HDeleteMan)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill(); + if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin")) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (oBill.omodel.HChecker != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�"; + objJsonResult.data = null; + return objJsonResult; + } + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + DataSet ds; + //鍒ゆ柇鏄惁瀛樺湪 鐩稿悓鍗曟嵁鍙� 鐨勯鏂欏崟 鍒ゆ柇鐢熶骇璁㈠崟鏄惁宸茬粨妗堬紝瑕佹眰璁″垝鎵嬪伐鍙嶇粨妗� + ds = oCn.RunProcReturn("exec h_p_MES_StationInBill_DelCtrl '" + oBill.omodel.HBillNo + "'", "h_p_MES_StationInBill_DelCtrl"); + if (ds == null) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒ゆ柇鍏宠仈澶辫触锛�"; + objJsonResult.data = null; + return objJsonResult; + } + if (ds.Tables[0].Rows.Count > 0 && Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 2) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]); + objJsonResult.data = null; + return objJsonResult; + } + + //鍐欏叆鍒犻櫎鏃ュ織 + string WorkList = "鍒犻櫎濮斿鍙戝嚭鍗曪細" + oBill.omodel.HBillNo; + if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍒犻櫎鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鏈壘鍒帮紒"; + objJsonResult.data = null; + return objJsonResult; + } + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮傚父锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion // } } \ No newline at end of file -- Gitblit v1.9.1