From 4ca8ab6ae136d3a99211240aab3867a7962ab9ef Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 05 八月 2024 15:03:52 +0800
Subject: [PATCH] 采购订单多级审核添加
---
WebAPI/Controllers/CJGL/Cj_StationInBillController.cs | 319 +++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 283 insertions(+), 36 deletions(-)
diff --git a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
index 89276bf..779867e 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
@@ -115,10 +115,11 @@
string HBillNo = list[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
int HBillStatus = 0;
string HMaker = user;//鍒跺崟浜�
- int HYear = 2021;
- double HPeriod = 1;
+ int HYear = DateTime.Now.Year;
+ double HPeriod = DateTime.Now.Month;
string HRemark = list[0].HRemark;//澶囨敞
long HICMOInterID = list[0].HICMOInterID;//浠诲姟鍗旾D
+ long HICMOEntryID = list[0].HICMOEntryID;//浠诲姟鍗曞瓙ID
string HICMOBillNo = list[0].HICMOBillNo;//浠诲姟鍗�
long HProcPlanInterID = 0;
long HProcPlanEntryID = 0;
@@ -144,6 +145,8 @@
string HOrderProcNO = list[0].HOrderProcNO;//璁㈠崟璺熻釜鍙�
long HPRDOrgID = list[0].HPRDOrgID;//缁勭粐ID
double HmaterOutqty = list[0].HmaterOutqty;//鐧藉澂鍙戝竷
+ long HMaterToSourceInterID = list[0].HMaterToSourceInterID;//涓婃枡闃查敊鍗旾D
+ string HMaterToSourceBillNo = list[0].HMaterToSourceBillNo;//涓婃枡闃查敊鍗曞崟鎹彿
//鍗曟嵁瀹屾暣鎬у垽鏂�
if (HMaterID <= 0)
{
@@ -260,6 +263,29 @@
",'" + HProcNo + "','" + HOrderProcNO + "','" + HMainInterID + "'," + HPRDOrgID +
","+ HmaterOutqty + ") ");
+ if(HMaterToSourceInterID!=0)
+ {
+ //鐢熸垚涓婃枡闃查敊鍗�
+ //鎻掑叆瀛愯〃
+ oCN.RunProc("EXEC h_p_Sc_MaterToSourceBillSub_Insert " + HMaterToSourceInterID.ToString() + ",'" + HMaterToSourceBillNo + "'");
+ //鎻掑叆涓昏〃
+ oCN.RunProc("Insert Into Sc_MaterToSourceBillMain " +
+ "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
+ ",HYear,HPeriod,HRemark,HMaker,HMakeDate,HChecker,HCheckDate" +
+ ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" +
+ ",HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" +
+ ",HSourceID,HProcID,HMaterID,HSourceBarCode,HEquipID,HWorkerID,HWorkerBarCode" +
+ ",HGroupID,HProcNo,HStockOrgID" +
+ ") " +
+ " values('3786','3790'," + HMaterToSourceInterID.ToString() + ",'" + HMaterToSourceBillNo + "',convert(varchar(10),getdate(),120)" +
+ ",year(getdate()),month(getdate()),'宸ュ簭杩涚珯缁戝畾鐢熸垚','" + HMaker + "',getdate(),'" + HMaker + "',getdate()" +
+ "," + HInterID.ToString() + ",0,'" + HBillNo + "','3790'" +
+ "," + HProcExchInterID.ToString() + "," + HProcExchEntryID.ToString() + ",'" + HProcExchBillNo + "'," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "'" +
+ "," + HSourceID.ToString() + "," + HProcID.ToString() + "," + HMaterID.ToString() + ",'',0,0,''" +
+ "," + HGroupID.ToString() + "," + HProcNo.ToString() + "," + HPRDOrgID.ToString() +
+ ") ");
+ }
+ //鍐欏叆鏃ュ織
LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ュ簭杩涚珯鍗曟嵁:" + HBillNo);
oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板宸ュ簭杩涚珯鍗曟嵁锛�" + HBillNo + "','LMES-宸ュ簭杩涚珯妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
}
@@ -318,34 +344,34 @@
return objJsonResult;
}
- ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_QtyCtrl " + HInterID + "", "h_p_MES_StationInBill_QtyCtrl");
- if (ds == null)
- {
- oCN.RollBack();
- objJsonResult.code = "0";
- objJsonResult.count = 0;
- objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�";
- objJsonResult.data = null;
- return objJsonResult;
- }
- if (ds.Tables[0].Rows.Count == 0)
- {
- oCN.RollBack();
- objJsonResult.code = "0";
- objJsonResult.count = 0;
- objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�";
- objJsonResult.data = null;
- return objJsonResult;
- }
- if (ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2")
- {
- oCN.RollBack();
- objJsonResult.code = "0";
- objJsonResult.count = 0;
- objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
- objJsonResult.data = null;
- return objJsonResult;
- }
+ //ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_QtyCtrl " + HInterID + "", "h_p_MES_StationInBill_QtyCtrl");
+ //if (ds == null)
+ //{
+ // oCN.RollBack();
+ // objJsonResult.code = "0";
+ // objJsonResult.count = 0;
+ // objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�";
+ // objJsonResult.data = null;
+ // return objJsonResult;
+ //}
+ //if (ds.Tables[0].Rows.Count == 0)
+ //{
+ // oCN.RollBack();
+ // objJsonResult.code = "0";
+ // objJsonResult.count = 0;
+ // objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�";
+ // objJsonResult.data = null;
+ // return objJsonResult;
+ //}
+ //if (ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2")
+ //{
+ // oCN.RollBack();
+ // objJsonResult.code = "0";
+ // objJsonResult.count = 0;
+ // objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+ // objJsonResult.data = null;
+ // return objJsonResult;
+ //}
oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + HInterID + ",1");
//鍒ゆ柇鏄惁鏄� 棣栭亾宸ュ簭
ds1 = oCN.RunProcReturn(" select HLastProc,HFstProc from Sc_ProcessExchangeBillMain a " +
@@ -423,6 +449,67 @@
}
#endregion
+ #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅锛屽苟鏍规嵁绯荤粺鍙傛暟鍒ゆ柇杩涚珯鍗曟槸鍚︾粦瀹氶厤浠舵竻鍗� 20240621
+ [Route("Cj_StationInBill/HProcNo_KeyDown")]
+ [HttpGet]
+ public object HProcNo_KeyDown(string HBillNo, string HProcExchBillNo, Int64 HProcNo, string HMaker)
+ {
+ try
+ {
+ if (HProcExchBillNo.Equals(""))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "娴佽浆鍗℃病鏈夋壂鎻忥紝鎴栬�呮病鏈夋寜鍥炶溅閿紝璇锋壂鎻忔祦杞崱鎴栧湪娴佽浆鍗℃枃鏈涓寜鍥炶溅閿紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ //鑾峰彇绯荤粺鍙傛暟
+ string sErrMsg = "";
+ if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+ {
+ string MES_StationInBill_LineBindCtl = "N"; //杩涚珯鎺ユ敹鏃舵槸鍚︾粦瀹氳宸ュ簭鐨勯厤浠舵竻鍗曪紙Y鏄渶瑕佺粦瀹氾紝N涓嶉渶瑕佺粦瀹氾級
+ string MES_StationInBill_DefQty = "4"; //宸ュ簭杩涚珯鏃堕粯璁ゅ甫鍏ユ暟閲忥紙1.娴佽浆鍗℃暟锛�2.涓婇亾鍚堟牸鏁伴噺锛�3.鐗╂枡鏈�灏忓寘瑁呮暟閲忥紝4.涓嶅甫鍏ワ級
+ MES_StationInBill_LineBindCtl = oSystemParameter.omodel.MES_StationInBill_LineBindCtl;
+ MES_StationInBill_DefQty = oSystemParameter.omodel.MES_StationInBill_DefQty;
+
+ ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_HProcNo_KeyDown '" + HBillNo + "','" + HProcExchBillNo + "'," + HProcNo.ToString() + ",'" + MES_StationInBill_LineBindCtl + "','" + MES_StationInBill_DefQty + "','" + HMaker + "'", "h_p_MES_StationInBill_HProcNo_KeyDown");
+
+ if (ds == null || ds.Tables[0].Rows.Count == 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "宸ュ簭鍙烽敊璇垨鑰呭綋鍓嶅伐搴忓彿涓嶅厑璁歌繘绔欙紝璇烽噸鏂拌緭鍏ワ紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ objJsonResult.code = "0";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鎴愬姛锛�";
+ objJsonResult.data = ds.Tables[0];
+ return objJsonResult;
+ }
+ else
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鑾峰彇淇℃伅澶辫触锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ #endregion
+
#region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅
[Route("Cj_StationInBill/txtHProcNo_KeyDown")]
[HttpGet]
@@ -455,6 +542,63 @@
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;
+ }
+ }
+ #endregion
+
+ #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅 绯荤粺鍙傛暟鍒ゆ柇鏄惁缁戝畾閰嶄欢娓呭崟
+ [Route("Cj_StationInBill/MES_StationInBillSubBindSource")]
+ [HttpGet]
+ public object MES_StationInBillSubBindSource(string HInterID, string HProcExchInterID,string HProcExchEntryID)
+ {
+ try
+ {
+ //濡傛灉绯荤粺鍙傛暟鍚敤浜� 杩涚珯鍗曠粦瀹氶厤浠舵竻鍗曞垯 浠庣敓浜х敤鏂欐竻鍗曚腑鑾峰彇宸ュ簭BOM鍐欏叆 涓存椂琛紝骞跺姞杞借〃鏍�
+ Pub_Class.ClsXt_SystemParameter oParam = new ClsXt_SystemParameter();
+ string sIsBingLine = oParam.GetSingleSystemParameter("MES_StationInBill_LineBindCtl", ref DBUtility.ClsPub.sExeReturnInfo);
+ if (sIsBingLine.Trim() == "Y")
+ {
+ oCN.RunProc("exec h_p_MES_StationInBillSubBindSource_Insert " + HProcExchInterID.ToString() + " , " + HProcExchEntryID.ToString() + "," + HInterID.ToString() + " ");
+
+ ds = oCN.RunProcReturn($@"select * from
+(
+ select
+a.HICMOInterID,a.HICMOEntryID,b.HProcID
+from Sc_ProcessExchangeBillMain a with(nolock)
+inner join Sc_ProcessExchangeBillSub b with(nolock) on a.HInterID=b.HinterID
+Where a.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID}
+) a
+inner join (
+select a.HICMOInterID,a.HICMOEntryID, b.HProcID
+from Sc_PPBomBillMain a with(nolock)
+inner join Sc_PPBomBillSub b with(nolock) on a.HInterID=b.HInterID
+Where b.HKeyMaterID_Line<>0
+)b on a.HICMOInterID=b.HICMOInterID and a.HICMOEntryID=b.HICMOEntryID and a.HProcID=b.HProcID", "Sc_ProcessExchangeBillMain");
+
+ if (ds.Tables[0].Rows.Count > 0) {
+ objJsonResult.Message = "闇�瑕佺粦瀹氶厤浠讹紒";
+ }
+ else
+ {
+ objJsonResult.Message = "涓嶉渶瑕佺粦瀹氶厤浠讹紒";
+ }
+ }
+ else {
+ objJsonResult.Message = "涓嶉渶瑕佺粦瀹氶厤浠讹紒";
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.data =null;
return objJsonResult;
}
catch (Exception e)
@@ -815,8 +959,31 @@
objJsonResult.data = null;
return objJsonResult;
}
+
+ //瀹℃牳鍓嶆帶鍒�
+ string HBillNo = oBill.omodel.HBillNo;
+ string sql = "exec h_p_Sc_StationInBill_BeforeCheckCtrl " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'";
+ ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_BeforeCheckCtrl");
+ if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+ objJsonResult.data = null;
+ return objJsonResult;
+
+ }
+ if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
//瀹℃牳
- if (Cj_StationInBillCheckBill(HInterID,CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+ if (Cj_StationInBillCheckBill(HInterID, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
{
objJsonResult.code = "1";
objJsonResult.count = 1;
@@ -845,7 +1012,7 @@
}
//瀹℃牳
- public bool Cj_StationInBillCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn)
+ public bool Cj_StationInBillCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn)
{
try
{
@@ -873,6 +1040,23 @@
else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�")
{
}
+
+ //瀹℃牳鍚庢帶鍒�
+ string sql = "exec h_p_Sc_StationInBill_AfterCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
+ ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_AfterCheckCtrl");
+ if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+ {
+ sReturn = "瀹℃牳杩囩▼涓嚭閿欙紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+ oCN.RollBack();
+ return false;
+ }
+ if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+ {
+ sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
+ oCN.RollBack();
+ return false;
+ }
+
sReturn = sReturn + " 瀹℃牳鍔熻兘锛�";
oCN.Commit();
return true;
@@ -949,8 +1133,31 @@
objJsonResult.data = null;
return objJsonResult;
}
+
+ //鍙嶅鏍稿墠鎺у埗
+ string HBillNo = oBill.omodel.HBillNo;
+ string sql = "exec h_p_Sc_StationInBill_BeforeUnCheckCtrl " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'";
+ ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_BeforeUnCheckCtrl");
+ if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+ objJsonResult.data = null;
+ return objJsonResult;
+
+ }
+ if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
//鍙嶅鏍�
- if (Cj_StationInBillAbandonCheckBill(HInterID, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+ if (Cj_StationInBillAbandonCheckBill(HInterID, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
{
objJsonResult.code = "1";
objJsonResult.count = 1;
@@ -978,7 +1185,7 @@
}
//鍙嶅鏍�
- public bool Cj_StationInBillAbandonCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn)
+ public bool Cj_StationInBillAbandonCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn)
{
if (Cj_StationInBillisUse(lngBillKey, ref sReturn))
{
@@ -1011,6 +1218,23 @@
else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�")
{
}
+
+ //鍙嶅鏍稿悗鎺у埗
+ string sql = "exec h_p_Sc_StationInBill_AfterUnCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
+ ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_AfterUnCheckCtrl");
+ if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+ {
+ sReturn = "鍙嶅鏍歌繃绋嬩腑鍑洪敊锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+ oCN.RollBack();
+ return false;
+ }
+ if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+ {
+ sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
+ oCN.RollBack();
+ return false;
+ }
+
sReturn = sReturn + "鍙嶅鏍稿姛鑳斤紒";
oCN.Commit();
return true;
@@ -1306,8 +1530,31 @@
return objJsonResult;
}
-
- if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, ref DBUtility.ClsPub.sExeReturnInfo))
+ //鍒犻櫎鍓嶆帶鍒�=========================================
+ string HBillNo = oBill.omodel.HBillNo;
+ string sql1 = "exec h_p_Sc_StationInBill_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + HDeleteMan + "'";
+ ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_BeforeDelCtrl");
+ if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ //==================================================================================
+
+
+ if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, HBillNo, "h_p_Sc_StationInBill_AfterDelCtrl", HDeleteMan, ref DBUtility.ClsPub.sExeReturnInfo))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
--
Gitblit v1.9.1