From 5bee62e95d6cd1d5306e99c0e4b6349b663ca0ce Mon Sep 17 00:00:00 2001 From: yusijie <ysj@hz-kingdee.com> Date: 星期四, 09 一月 2025 09:15:49 +0800 Subject: [PATCH] 工艺路线孙表新增;排产锁定工单(添康反写排产完成日期到金蝶);批改小时产能;批改上班工时;不良原因添加班组过滤 --- WebAPI/Controllers/CJGL/Cj_StationInBillController.cs | 2011 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 1,802 insertions(+), 209 deletions(-) diff --git a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs index f034796..bf8fc1a 100644 --- a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs +++ b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs @@ -1,11 +1,15 @@ -锘縰sing Newtonsoft.Json.Linq; +锘縰sing Newtonsoft.Json; +using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; +using System.IO; +using System.Web; using System.Web.Http; +using System.Windows.Forms; using WebAPI.Models; namespace WebAPI.Controllers @@ -15,44 +19,114 @@ { 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(); + public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill(); + string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"]; DataSet ds; DataSet ds1; - - /// <summary> - /// test - ///鍙傛暟锛歴tring sql銆� - ///杩斿洖鍊硷細object銆� - /// </summary> + #region 鏂板鍗曟嵁-淇濆瓨鎸夐挳 [Route("Cj_StationInBill/AddBill")] [HttpPost] public object AddBill([FromBody] JObject oMain) { 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(); + string OperationType = sArray[2].ToString(); + string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О + + if (OperationType == "5") + { + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鏃犵紪杈戞潈闄�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + else { + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_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); + long HMainInterID = 0; + HMainInterID = list[0].HMainInterID; + long HProcExchInterID = list[0].lngBillKey;//娴佽浆鍗′富鍐呯爜 + + + + if (HProcExchInterID <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "閿欒鐨勬祦杞崱鍐呯爜锛�"; + objJsonResult.data = null; + return objJsonResult; + } + long HProcExchEntryID = list[0].lngBillSubKey;//娴佽浆鍗″瓙鍐呯爜 + if (HProcExchEntryID <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娴佹按鍙锋病鏈夐�夋嫨锛佽杈撳叆娴佹按鍙峰悗鍥炶溅锛�"; + objJsonResult.data = null; + return objJsonResult; + } + string HProcNo = list[0].HProcNo;//娴佹按鍙� + if (HProcNo == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娴佹按鍙锋病鏈夐�夋嫨锛�"; + objJsonResult.data = null; + return objJsonResult; + } + string HProcExchBillNo = list[0].HProcExchBillNo;//娴佽浆鍗� + if (HProcExchBillNo == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娴佽浆鍗″彿娌℃湁閫夋嫨锛�"; + objJsonResult.data = null; + return objJsonResult; + } + string eventType = list[0].eventType; string BillType = "3790"; long HInterID = list[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D string HBillNo = list[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿 int HBillStatus = 0; - string HMaker = list[0].HMaker;//鍒跺崟浜� - int HYear = 2021; - double HPeriod = 1; + string HMaker = user;//鍒跺崟浜� + 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;//浠诲姟鍗� - int HProcPlanInterID = 0; - int HProcPlanEntryID = 0; + long HProcPlanInterID = 0; + long HProcPlanEntryID = 0; string HProcPlanBillNo = ""; - int HProcExchInterID = 0; - int HProcExchEntryID = 0; - string HProcExchBillNo = list[0].HProcExchBillNo;//娴佽浆鍗� long HMaterID = list[0].HMaterID;//浜у搧ID long HProcID = list[0].HProcID;//褰撳墠宸ュ簭 double HICMOQty = list[0].HICMOQty;//浠诲姟鍗曟暟閲� @@ -71,56 +145,311 @@ double HPieceQty = list[0].HPieceQty;//鎺ユ敹浠舵暟 string HSourceName = list[0].HSourceName;//鐢熶骇璧勬簮鍚嶇О long HCenterID = list[0].HCenterID;//宸ヤ綔涓績ID - long HProcNo = list[0].HProcNo;//娴佹按鍙� string HOrderProcNO = list[0].HOrderProcNO;//璁㈠崟璺熻釜鍙� - - ListModels oListModels = new ListModels(); - - DAL.ClsSc_StationInBill BillNew = new DAL.ClsSc_StationInBill(); - - BillNew.omodel.HInterID = HInterID; - BillNew.omodel.HYear = 2011; - BillNew.omodel.HPeriod = 1; - BillNew.omodel.HBillNo = HBillNo; - BillNew.omodel.HICMOBillNo = HICMOBillNo; - BillNew.omodel.HICMOInterID = HICMOInterID; - BillNew.omodel.HProcExchInterID = HProcExchInterID; - BillNew.omodel.HProcExchEntryID = HProcExchEntryID; - BillNew.omodel.HProcExchBillNo = HProcExchBillNo; - BillNew.omodel.HProcID = HProcID; - BillNew.omodel.HMaterID = HMaterID; - BillNew.omodel.HStationInTime = DateTime.Now; - BillNew.omodel.HEmpID = HEmpID; - BillNew.omodel.HSourceID = HSourceID; - BillNew.omodel.HGroupID = HGroupID; - BillNew.omodel.HICMOQty = HICMOQty; - BillNew.omodel.HPlanQty = HPlanQty; - BillNew.omodel.HQty = HQty; - BillNew.omodel.HPieceQty = HPieceQty; - BillNew.omodel.HSourceName = HSourceName; - BillNew.omodel.HCenterID = HCenterID; - - BillNew.omodel.HProcNo = HProcNo; - BillNew.omodel.HOrderProcNO = HOrderProcNO; - bool bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo); - - //鎻愮ず - if (bResult == true) - { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "鍗曟嵁瀛樼洏瀹屾瘯!鍗曟嵁鍙�:" + HBillNo.Trim() + ClsPub.sExeReturnInfo; - objJsonResult.data = ds.Tables[0]; - return objJsonResult; - } - else + 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) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.Message = "浜у搧娌℃湁閫夋嫨锛�"; objJsonResult.data = null; return objJsonResult; } + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn) == true) + { + if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�") //绯荤粺鍙傛暟 鍒ゆ柇瀹㈡埛 + { + //鍒ゆ柇鐢熶骇璧勬簮 + if (HSourceID <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鐢熶骇璧勬簮娌℃湁閫夋嫨锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + } + + if (HCenterID <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "宸ヤ綔涓績娌℃湁閫夋嫨锛�"; + objJsonResult.data = null; + return objJsonResult; + } + if (HProcID <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "褰撳墠宸ュ簭娌℃湁閫夋嫨锛�"; + objJsonResult.data = null; + return objJsonResult; + } + if (HQty <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎺ユ敹涓暟涓嶈兘涓�0锛�"; + objJsonResult.data = null; + return objJsonResult; + } + ds = oCN.RunProcReturn("select HInterID from Sc_ProcessExchangeBillSub Where hinterid=" + HProcExchInterID + " and hprocno<" + HProcNo + " order by hprocno", "Sc_ProcessExchangeBillSub"); + if (ds == null) + { + + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒ゆ柇棣栭亾宸ュ簭澶辫触锛屼笉鍏佽淇濆瓨锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + //淇濆瓨鍓嶆帶鍒�========================================= + string HBillNote = ""; + ds = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_BeforeSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_StationInBill_BeforeSaveCtrl "); + if (ds == null) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + + //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙� + oCN.BeginTran(); + + if ("Add".Equals(eventType)) + { + if (!AllowbillNo(HBillNo)) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒"; + objJsonResult.data = null; + return objJsonResult; + } + //鎻掑叆涓昏〃 + 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,HPieceQty,HSourceName,HCenterID" + + ",HProcNo,HOrderProcNO,HMainInterID,HPRDOrgID" + + ",HmaterOutqty" + + ") " + + " values('" + BillType + "','" + (OperationType=="5"?"SUB":BillType) + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + + "," + HYear + "," + HPeriod + ",'" + HRemark + "'" + + "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID + + ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + + "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + + "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HPieceQty + ",'" + HSourceName + "'," + HCenterID + + ",'" + 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); + } + else if ("Modify".Equals(eventType)) + { + oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + HProcExchInterID + ",-1"); + //鏇存柊涓昏〃 + oCN.RunProc("UpDate Sc_StationInBillMain set " + + " HBillNo='" + HBillNo + "'" + + ",HYear='" + HYear + "'" + + ",HPeriod='" + HPeriod + "'" + + ",HBillStatus='" + HBillStatus + "'" + + ",HRemark='" + HRemark + "'" + + ",HUpDater='" + HMaker + "'" + + ",HUpDateDate=getdate()" + + ",HSupID=" + HSupID + + ",HQty=" + HQty + + ",HPieceQty=" + HPieceQty + + ",HSourceName='" + HSourceName + "'" + + ",HICMOInterID=" + HICMOInterID + + ",HICMOBillNo='" + HICMOBillNo + "'" + + ",HProcPlanInterID=" + HProcPlanInterID + + ",HProcPlanEntryID=" + HProcPlanEntryID + + ",HProcPlanBillNo='" + HProcPlanBillNo + "'" + + ",HProcExchInterID=" + HProcExchInterID + + ",HProcExchEntryID=" + HProcExchEntryID + + ",HProcExchBillNo='" + HProcExchBillNo + "'" + + ",HMaterID=" + HMaterID + + ",HProcID=" + HProcID + + ",HmaterOutqty=" + HmaterOutqty + + ",HICMOQty=" + HICMOQty + + ",HPlanQty=" + HPlanQty + + ",HStationInTime=getdate()" + + ",HSourceID=" + HSourceID + + ",HGroupID=" + HGroupID + + ",HDeptID=" + HDeptID + + ",HEmpID=" + HEmpID + + ",HBarCode='" + HBarCode + "'" + + ",HSaveBillFlag=0 " + + ",HAddr='" + HAddr + "'" + + ",HBarCodeMaker='" + HBarCodeMaker + "'" + + ",HProcNo='" + HProcNo + "'" + + ",HOrderProcNO='" + HOrderProcNO + "'" + + " where HInterID=" + HInterID); + + 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); + } + else + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎿嶄綔绫诲瀷鏃犳晥锛�"; + 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 " + + " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " + + " Where a.HInterID=" + HProcExchInterID + " and b.HEntryID=" + HProcExchEntryID + " ", "Sc_ProcessExchangeBillMain"); + if (ds1 == null || ds1.Tables[0].Rows.Count == 0) + { + + } + else if (ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�") + { + + } + + //=========================淇濆瓨鍚庢帶鍒� + DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',1 ", "h_p_Sc_StationInBill_AfterSaveCtrl"); + if (ds2 == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + + } + if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0") + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //============================ + + oCN.Commit(); + + if (oSystemParameter.ShowBill(ref sReturn) == true) + { + if (oSystemParameter.omodel.MES_StationInBill_SaveAutoAddnew == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 + { + objJsonResult.Verify = "Y"; + } + else + { + objJsonResult.Verify = "N"; + } + } + + //娴嬭瘯璇彞=========================================================================================================== + string msg_str = ""; + string sql_str = "select a.HQty HQty_Main,b.HQty HQty_Sub " + + "from Sc_ProcessExchangeBillMain as a " + + "inner join Sc_ProcessExchangeBillSub as b on a.HInterID = b.HInterID " + + "where a.HInterID = " + HProcExchInterID; + DataSet ds_str = oCN.RunProcReturn(sql_str, "Sc_ProcessExchangeBillMain"); + if (ds_str.Tables[0].Rows.Count > 0) + { + msg_str = "HQty_Main:" + ds_str.Tables[0].Rows[0]["HQty_Main"].ToString() + ";HQty_Sub:"; + for (int j = 0; j < ds_str.Tables[0].Rows.Count; j++) + { + msg_str += ds_str.Tables[0].Rows[j]["HQty_Sub"].ToString() + ","; + } + } + + oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ュ簭杩涚珯鍗曟嵁锛�" + HBillNo + "[宸ュ簭娴佽浆鍗″彿锛�" + HProcExchBillNo + "]" + msg_str + "','LMES-宸ュ簭鍑虹珯妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鎴栦慨鏀瑰崟鎹�'", ref DBUtility.ClsPub.sExeReturnInfo); + //============================================================================================================== + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; } catch (Exception e) { @@ -132,144 +461,79 @@ return objJsonResult; } } + private bool AllowbillNo(string HBillNo) + { + ds = oCN.RunProcReturn("select HBillNo from Sc_StationInBillMain where HBillNo = '" + HBillNo + "'", "Sc_StationInBillMain"); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + return true; + } + return false; + } + #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; + } - /// <summary> - /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳 - ///鍙傛暟锛歴tring sql銆� - ///杩斿洖鍊硷細object銆� - /// </summary> - //[Route("Cj_StationInBill/AddBill")] - //[HttpPost] - //public object AddBill([FromBody] JObject oMain) - //{ - // var _value = oMain["oMain"].ToString(); - // string msg1 = _value.ToString(); - // try - // { - // //濮斿宸ュ簭鍙戝嚭鍙嶅簭鍒楀寲 - // msg1 = "[" + msg1.ToString() + "]"; - // List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg1); - // string BillType = "3790"; - // long HInterID = list[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D - // string HBillNo = list[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿 - // int HBillStatus = 0; - // string HMaker = list[0].HMaker;//鍒跺崟浜� - // int HYear = 2021; - // double HPeriod = 1; - // string HRemark = list[0].HRemark;//澶囨敞 - // long HICMOInterID = list[0].HICMOInterID;//浠诲姟鍗旾D - // string HICMOBillNo = list[0].HICMOBillNo;//浠诲姟鍗� - // int HProcPlanInterID = 0; - // int HProcPlanEntryID = 0; - // string HProcPlanBillNo = ""; - // int HProcExchInterID = 0; - // int HProcExchEntryID = 0; - // string HProcExchBillNo = list[0].HProcExchBillNo;//娴佽浆鍗� - // long HMaterID = list[0].HMaterID;//浜у搧ID - // long HProcID = list[0].HProcID;//褰撳墠宸ュ簭 - // double HICMOQty = list[0].HICMOQty;//浠诲姟鍗曟暟閲� - // double HPlanQty = list[0].HPlanQty;//娴佽浆鍗℃暟閲� - // long HSourceID = list[0].HSourceID;//鐢熶骇璧勬簮ID - // long HGroupID = list[0].HGroupID;//鐝粍ID - // long HDeptID = 0; - // long HEmpID = list[0].HEmpID;//鎺ユ敹浜篒D - // string HBarCode = list[0].HBarCode;//鏉″舰鐮� - // string HAddr = ""; - // string HBarCodeMaker = ""; - // long HSupID = 0; - // double HQty = list[0].HQty;//鎺ユ敹鏁伴噺 - // double HPrice = 0; - // double HMoney = 0; - // double HPieceQty = list[0].HPieceQty;//鎺ユ敹浠舵暟 - // string HSourceName = list[0].HSourceName;//鐢熶骇璧勬簮鍚嶇О - // long HCenterID = list[0].HCenterID;//宸ヤ綔涓績ID - // string HProcNo = list[0].HProcNo;//娴佹按鍙� - // string HOrderProcNO = list[0].HOrderProcNO;//璁㈠崟璺熻釜鍙� - // //鑻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,HPieceQty,HSourceName,HCenterID" + - // ",HProcNo,HOrderProcNO" + - // ") " + - // " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + - // "," + HYear + "," + HPeriod + ",'" + HRemark + "'" + - // "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID + - // ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID + - // "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" + - // "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HPieceQty + ",'" + HSourceName + "'," + HCenterID + - // ",'" + HProcNo + "','" + HOrderProcNO + "'" + - // ") "); - // 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 " + - // " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " + - // " Where a.HInterID=" + HProcExchInterID + " and b.HEntryID=" + HProcExchEntryID + " ", "Sc_ProcessExchangeBillMain"); - // if (ds1 == null || ds1.Tables[0].Rows.Count == 0) - // { - - // } - // else if (ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�") - // { + //鑾峰彇绯荤粺鍙傛暟 + 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; - // } - // oCN.Commit(); - // objJsonResult.code = "1"; - // objJsonResult.count = 1; - // objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�"; - // objJsonResult.data = ds.Tables[0]; - // return objJsonResult; - // } - // catch (Exception e) - // { - // oCN.RollBack(); - // objJsonResult.code = "0"; - // objJsonResult.count = 0; - // objJsonResult.Message = "Exception锛�" + e.ToString(); - // objJsonResult.data = null; - // return objJsonResult; - // } - //} + 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"); - /// <summary> - /// 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅 - ///鍙傛暟锛歴tring sql銆� - ///杩斿洖鍊硷細object銆� - /// </summary> + 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] public object txtHProcNo_KeyDown(string sBillNo,string sProcNo) @@ -312,33 +576,354 @@ return objJsonResult; } } + #endregion - /// <summary> - /// 杩斿洖濮斿宸ュ簭鎺ユ敹鍗曞垪琛� - ///鍙傛暟锛歴tring sql銆� - ///杩斿洖鍊硷細object銆� - /// </summary> - [Route("Cj_StationInBill/list")] + #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅 绯荤粺鍙傛暟鍒ゆ柇鏄惁缁戝畾閰嶄欢娓呭崟 + [Route("Cj_StationInBill/MES_StationInBillSubBindSource")] [HttpGet] - public object list(string sWhere) + public object MES_StationInBillSubBindSource(string HInterID, string HProcExchInterID,string HProcExchEntryID) { try { - if (sWhere == null || sWhere.Equals("")) + //濡傛灉绯荤粺鍙傛暟鍚敤浜� 杩涚珯鍗曠粦瀹氶厤浠舵竻鍗曞垯 浠庣敓浜х敤鏂欐竻鍗曚腑鑾峰彇宸ュ簭BOM鍐欏叆 涓存椂琛紝骞跺姞杞借〃鏍� + Pub_Class.ClsXt_SystemParameter oParam = new ClsXt_SystemParameter(); + string sIsBingLine = oParam.GetSingleSystemParameter("MES_StationInBill_LineBindCtl", ref DBUtility.ClsPub.sExeReturnInfo); + if (sIsBingLine.Trim() == "Y") { - ds = oCN.RunProcReturn("select * from h_v_MES_StationInBillList " + sWhere, "h_v_MES_StationInBillList"); + 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,isnull(c.HItemID,0) HProcID +from Sc_PPBomBillMain a with(nolock) +inner join Sc_PPBomBillSub b with(nolock) on a.HInterID=b.HInterID +left join Gy_Process c on b.HProcName = c.HName +)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 + else { + objJsonResult.Message = "涓嶉渶瑕佺粦瀹氶厤浠讹紒"; + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.data =null; + 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/txtHProcNo_KeyDown_qiaoyi")] + [HttpGet] + public object txtHProcNo_KeyDown_qiaoyi(string sBillNo, string sProcNo) + { + try + { + if (sBillNo.Equals("") || sProcNo.Equals("")) { - string sql1 = "select * from h_v_MES_StationInBillList where 1 = 1 "; - string sql = sql1 + sWhere; - ds = oCN.RunProcReturn(sql, "h_v_MES_StationInBillList"); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏉″舰鐮佷笉鑳戒负绌猴紒"; + objJsonResult.data = null; + return objJsonResult; } + + //寰楀埌淇℃伅锛堝澶栨爣璁颁负0鏃讹紝娴佽浆鏍囪涓�1鏃讹級 + ds = oCN.RunProcReturn("select top 2 * from h_v_Sc_ProcessExchangeBillList where 鍗曟嵁鍙�= '" + sBillNo + "' and 涓嬮亾娴佽浆宸ュ簭<>'杞�' and 濮斿鏍囪=0 and 娴佽浆鏍囪=1 and cast(宸ュ簭鍙� as int)<='" + sProcNo + "' order by cast(宸ュ簭鍙� as int) desc", "h_v_Sc_ProcessExchangeBillList"); + //Ds = oCn.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 鍗曟嵁鍙�= '" + sBillNo + "' and 宸ュ簭鍙�='" + sProcNo + "' and 濮斿鏍囪=0 and 娴佽浆鏍囪=1 ", "h_v_Sc_ProcessExchangeBillList"); + //鍐欏叆淇℃伅 if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "false锛�"; + 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; + } + } + #endregion + + #region 宸ュ簭杩涚珯鎺ユ敹鍗曟牴鎹亴鍛樹唬鐮佹ā绯婂洖杞︽煡璇� + [Route("Cj_StationInBill/GetMessageByEmpNumber")] + [HttpGet] + public object GetMessageByEmpNumber(string HEmpNumber) + { + try + { + //寰楀埌淇℃伅 + ds = oCN.RunProcReturn("select top 1 * from gy_employee where hnumber like '%" + HEmpNumber + "%'", "gy_employee"); + //鍐欏叆淇℃伅 + 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 = "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/GetMessageByMaterNumber")] + [HttpGet] + public object GetMessageByMaterNumber(string HMaterNumber) + { + try + { + //寰楀埌淇℃伅 + ds = oCN.RunProcReturn("select top 1 * from gy_material where hnumber like '%" + HMaterNumber + "%'", "gy_material"); + //鍐欏叆淇℃伅 + 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 = "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/get_Display")] + [HttpGet] + public object get_Display(string sWhere,string user,string HBillSubType) + { + try + { + List<object> columnNameList = new List<object>(); + + if (HBillSubType == "SUB") + { + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鏃犳煡璇㈡潈闄�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + else { + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曟棤鏌ヨ鏉冮檺!"; + objJsonResult.data = null; + return objJsonResult; + } + } + + + if (sWhere == null || sWhere.Equals("")) + { + ds = oCN.RunProcReturn("select * from h_v_MES_StationInBillList order by hmainid desc", "h_v_MES_StationInBillList"); + } + else + { + string sql1 = "select * from h_v_MES_StationInBillList where 1 = 1 "; + string sql = sql1 + sWhere+ " order by hmainid desc"; + ds = oCN.RunProcReturn(sql, "h_v_MES_StationInBillList"); + } + + //娣诲姞鍒楀悕 + 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.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + 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 + + #region 杩斿洖宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛�-鍒嗛〉 + [Route("Cj_StationInBill/get_Display_ByPage")] + [HttpGet] + public object get_Display_ByPage(string sWhere, string user, string Organization, int page, int size, string HBillSubType) + { + try + { + List<object> columnNameList = new List<object>(); + + if (HBillSubType == "SUB") + { + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鏃犳煡璇㈡潈闄�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曟棤鏌ヨ鏉冮檺!"; + objJsonResult.data = null; + return objJsonResult; + } + } + + sWhere = sWhere.Replace("'", "''"); + + if (sWhere == null || sWhere.Equals("")) + { + ds = oCN.RunProcReturn("exec h_p_MES_StationInBillList " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_MES_StationInBillList"); + } + else + { + ds = oCN.RunProcReturn("exec h_p_MES_StationInBillList " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_MES_StationInBillList"); + } + + //娣诲姞鍒楀悕 + 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 = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); + objJsonResult.Message = "Sucess锛�"; + objJsonResult.list = columnNameList; + 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_StationInBill/set_ShowBillJudge")] + [HttpGet] + public object set_ShowBillJudge(string HBillNo) + { + try + { + ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_DelCtrl '" + HBillNo + "'", "h_p_MES_StationInBill_DelCtrl"); + if (ds == null || 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.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; } @@ -360,8 +945,1016 @@ return objJsonResult; } } + #endregion + + #region 缂栬緫椤甸潰鏍规嵁id鑾峰彇宸ュ簭杩涚珯鎺ユ敹鍗曚俊鎭� + [Route("Cj_StationInBill/GetStationInBill")] + [HttpGet] + public object GetStationOutBill(int HInterID) + { + try + { + ds = oCN.RunProcReturn("select * from h_v_GetStationInBill where HInterID = " + HInterID, "h_v_GetStationInBill"); + if (ds == null || 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 = "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/set_CheckBill")] + [HttpGet] + public object set_CheckBill(int HInterID,string CurUserName,string HBillSubType) + { + try + { + string ModRightNameCheck = ""; + + if (HBillSubType == "SUB") + { + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + else { + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曞鏍稿け璐ワ紒鏃犳潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + } + + if (HInterID == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉鏍革紒"; + objJsonResult.data = null; + return objJsonResult; + } + DAL.ClsSc_StationInBill oBill = new DAL.ClsSc_StationInBill(); + //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾 + if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + if (oBill.omodel.HChecker.Trim() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳"; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + 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, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳鎴愬姛!"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + + //瀹℃牳 + public bool Cj_StationInBillCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn) + { + try + { + string HChecker = CurUserName; + string HCheckDate = DBUtility.ClsPub.GetServerDate(-1); + oCN.BeginTran(); + ds = oCN.RunProcReturn("Select * from Sc_StationInBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_StationInBillMain"); + if (ds.Tables[0].Rows.Count == 0) + { + sReturn = "鍗曟嵁鏈壘鍒帮紒"; + return false; + } + oCN.RunProc(" Update Sc_StationInBillMain set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString()); + oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_In " + lngBillKey.ToString() + ",1"); + //鍒ゆ柇鏄惁鏄� 棣栭亾宸ュ簭 + DataSet ds1; + ds1 = oCN.RunProcReturn("select HLastProc,HFstProc " + + " from Sc_ProcessExchangeBillMain a " + + " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " + + " Where a.HInterID=(Select HProcExchInterID from Sc_StationInBillMain Where HInterID="+ lngBillKey + ") " + + " and b.HEntryID=(Select HProcExchEntryID from Sc_StationInBillMain Where HInterID="+ lngBillKey + ")", "Sc_ProcessExchangeBillMain"); + if (ds1 == null || ds1.Tables[0].Rows.Count == 0) + { + } + 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; + } + catch (Exception e) + { + sReturn = e.Message; + oCN.RollBack(); + return false; ; + } + } + #endregion + + #region 鍙嶅鏍� + [Route("Cj_StationInBill/set_AbandonCheck")] + [HttpGet] + public object set_AbandonCheck(int HInterID, string CurUserName, string HBillSubType) + { + try + { + if (HBillSubType == "SUB") + { + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鍙嶅鏍稿け璐ワ紒鏃犳潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Check", 1, false, CurUserName)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曞弽瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + + + + if (HInterID == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉弽瀹℃牳锛�"; + objJsonResult.data = null; + return objJsonResult; + } + DAL.ClsSc_StationInBill oBill = new DAL.ClsSc_StationInBill(); + //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾 + if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + if (oBill.omodel.HChecker.Trim() == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!"; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + 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, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶅鏍告垚鍔�!"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐ワ紒" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + + //鍙嶅鏍� + public bool Cj_StationInBillAbandonCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn) + { + if (Cj_StationInBillisUse(lngBillKey, ref sReturn)) + { + return false; + } + try + { + string HChecker = CurUserName; + string HCheckDate = DBUtility.ClsPub.GetServerDate(-1); + oCN.BeginTran(); + ds = oCN.RunProcReturn("Select * from Sc_StationInBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_StationInBillMain"); + if (ds.Tables[0].Rows.Count == 0) + { + sReturn = "鍗曟嵁鏈壘鍒帮紒"; + return false; + } + + oCN.RunProc(" Update Sc_StationInBillMain set HChecker='',HCheckDate=null Where HInterID=" + lngBillKey.ToString()); + oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_In " + lngBillKey.ToString() + ",-1"); + //鍒ゆ柇鏄惁鏄� 棣栭亾宸ュ簭 + DataSet ds1; + ds1 = oCN.RunProcReturn("select HLastProc,HFstProc " + + " from Sc_ProcessExchangeBillMain a " + + " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " + + " Where a.HInterID=(Select HProcExchInterID from Sc_StationInBillMain Where HInterID="+ lngBillKey + ") " + + " and b.HEntryID=(Select HProcExchEntryID from Sc_StationInBillMain Where HInterID="+ lngBillKey + ")", "Sc_ProcessExchangeBillMain"); + if (ds1 == null || ds1.Tables[0].Rows.Count == 0) + { + } + 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; + } + catch (Exception e) + { + sReturn = e.Message; + oCN.RollBack(); + return false; ; + } + } + + //鏄惁琚叧鑱� + public bool Cj_StationInBillisUse(Int64 lngBillKey, ref string sReturn) + { + try + { + //鏌ヨ涓昏〃 + DataSet Ds; + //Ds = oCN.RunProcReturn("Select HinterID from " + MvarItemKeySub + " Where HInterID=" + lngBillKey.ToString() + " and isnull(HRelationQty,0)<>0 ", MvarItemKey); + //if (Ds.Tables[0].Rows.Count != 0) + //{ + // sReturn = "鍗曟嵁宸茶鍏宠仈,涓嶈兘鎿嶄綔锛�"; + // return true; + //} + sReturn = ""; + return false; + } + catch (Exception e) + { + sReturn = e.Message; + throw (e); + } + } + #endregion + + #region 宸ュ簭杩涚珯鍏抽棴/鍙嶅叧闂姛鑳� + [Route("Cj_StationInBill/CloseCj_StationInBill")] + [HttpGet] + public object CloseSc_StationInBill(string HInterID, int Type, string user,string HBillSubType) + { + try + { + if (HBillSubType == "SUB") + { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Close", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鏃犳潈闄愬叧闂�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + else { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Close", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鍗曟棤鏉冮檺鍏抽棴!"; + objJsonResult.data = null; + return objJsonResult; + } + } + + + if (string.IsNullOrWhiteSpace(HInterID)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "HInterID涓虹┖锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + ClsPub.CurUserName = user; + BillOld.MvarItemKey = "Sc_StationInBillMain"; + oCN.BeginTran();//寮�濮嬩簨鍔� + + //Type 1 鍏抽棴 2 鍙嶅叧闂� + if (Type == 1) + { + //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴 + DataSet ds; + string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; + ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); + if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + { + if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!"; + objJsonResult.data = null; + return objJsonResult; + } + } + //鍏抽棴鍗曟嵁 + if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂� + DataSet ds; + string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; + ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); + if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + { + if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + //鍙嶅叧闂崟鎹� + if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + + oCN.Commit();//鎻愪氦浜嬪姟 + + objJsonResult.code = "0"; + objJsonResult.count = 1; + 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 + + //鎵归噺杩涚珯 + #region 鎵归噺杩涚珯妯″潡杩斿洖鏄庣粏淇℃伅鍒楄〃 + [Route("Cj_StationInBill/get_BarCodeDetail")] + [HttpGet] + public object get_BarCodeDetail(string HMainInterID) + { + try + { + ds = oCN.RunProcReturn( + "select a.HBillNo,a.HInterID,a.HQty,a.HProcExchBillNo,a.HICMOBillNo" + + ",b.HNumber HMaterNumber,b.HName HMaterName,b.HModel HMaterModel,c.HName HSourceName,d.HName HGroupName" + + ",e.HName HEmpName,a.HMaker,a.HMakeDate " + + " from Sc_StationInBillMain a " + + " left join Gy_Material b on a.HMaterID = b.HItemID " + + " left join Gy_Source c on a.HSourceID = c.HItemID " + + " left join Gy_Group d on a.HGroupID = d.HItemID " + + " left join Gy_Employee e on a.HEmpID = e.HItemID " + + " where HMainInterID = " + HMainInterID + " order by a.HMakeDate desc", "Sc_StationInBillMain"); + if (ds == null || 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 鏍规嵁id鍒犻櫎杩涚珯鍗� + [Route("Cj_StationInBill/del_StationInBill")] + [HttpGet] + public object del_StationInBill(long HInterID,string HDeleteMan,string HBillSubType) + { + try + { + string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О + if (HBillSubType == "SUB") + { + //缂栬緫鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Drop", 1, false, HDeleteMan)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "寮�宸ュ崟鏃犳潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + } + else { + //缂栬緫鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Drop", 1, false, HDeleteMan)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "杩涚珯鎺ユ敹鍗曟棤鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + + DAL.ClsSc_StationInBill oBill = new DAL.ClsSc_StationInBill(); + if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn)) + { + if (oSystemParameter.omodel.MES_StationInBill_DeleteCtl == "Y") + { + if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin")) + { + 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; + } + if (oBill.omodel.HChecker != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + ds = oCn.RunProcReturn($"exec h_p_DelOutInBill {HInterID},'MES_StationInBill_DeleteRelationCtl'", "h_p_DelOutInBill"); + + if (ds.Tables[0].Rows[0][0].ToString() == "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绯荤粺鍙傛暟鎺у埗,宸叉湁涓嬮亾宸ュ簭,涓嶈兘鍒犻櫎锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + //鍒犻櫎鍓嶆帶鍒�========================================= + 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; + objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + //鍐欏叆鍒犻櫎鏃ュ織 + LogService.Write("鐢ㄦ埛:" + HDeleteMan + ",鏃ユ湡:" + DateTime.Now + ",鍒犻櫎宸ュ簭杩涚珯鍗曟嵁:" + oBill.omodel.HBillNo); + oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + HDeleteMan + "','" + HComputerName + "','" + "鍒犻櫎宸ュ簭杩涚珯鍗曟嵁锛�" + oBill.omodel.HBillNo + "','LMES-宸ュ簭杩涚珯妯″潡','" + DBUtility.ClsPub.IPAddress + "','鍒犻櫎鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); + + 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 + + #region 鏌ョ湅宸ュ簭娴佽浆鍗″叧鑱旀暟閲忓垪琛ㄥ姞杞� + [Route("Cj_StationInBill/GetStationQtyList")] + [HttpGet] + public object GetStationQtyList(string HInterID) + { + try + { + ds = oCN.RunProcReturn("execute h_p_Sc_ProcExchBilltransRelationQty @HInterID=" + HInterID, "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; + } + else + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + } + catch (Exception ex) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 杩斿洖鐢ㄦ埛鑾峰彇榛樿鍊煎垪琛� + [Route("Cj_StationInBill/GetDefValByUser")] + [HttpGet] + public object GetDefValByUser(string Czybm, string Czymc) + { + try + { + ////鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + //if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user)) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "鏃犳煡璇㈡潈闄�!"; + // objJsonResult.data = null; + // return objJsonResult; + //} + + if (Czymc == null || Czymc.Equals("")) + { + ds = oCN.RunProcReturn("select * from h_v_Cj_GetDefValByUser", "h_v_Cj_GetDefValByUser"); + } + else + { + string sql1 = "select * from h_v_Cj_GetDefValByUser where 1 = 1 "; + string sql = sql1 + " and 鐢ㄦ埛缂栫爜 ='" + Czybm + "' and 鐢ㄦ埛鍚嶇О ='" + Czymc + "'"; + ds = oCN.RunProcReturn(sql, "h_v_Cj_GetDefValByUser"); + } + + if (ds.Tables[0].Rows.Count != 0 || ds != null) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + 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 + + #region 宸ュ簭杩涚珯姹囨姤鍗曟枃浠朵笂浼犲鐞� + + [Route("Cj_StationInBill/UploadFile1")] + [HttpPost] + public object UploadFile1() + { + + string HBillNo = HttpContext.Current.Request.Params["HBillNo"]; //鍗曟嵁鍙� + string HRemark = HttpContext.Current.Request.Params["HRemark"]; //澶囨敞 + string HUserName = HttpContext.Current.Request.Params["HUserName"]; //鍒涘缓浜� + HttpPostedFile files = HttpContext.Current.Request.Files["file"]; + string path = HttpContext.Current.Server.MapPath("~/../Files/Cj_StationInBill/" + HBillNo); + //string path = @"D:\\Files\\"+ HBillNo; + dynamic dyResult = UpLoadFile(files, path, HBillNo, HRemark, HUserName); + if (dyResult != null && dyResult.result == 1) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "涓婁紶鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = dyResult.returnval; + objJsonResult.data = null; + return objJsonResult; + } + + } + + public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName) + { + dynamic Result_Ob = new { result = 1, returnval = "涓婁紶鎴愬姛锛�" }; + string filePath = Path.GetFullPath(files.FileName);//鏂囦欢涓婁紶璺緞 + string fileExtension = Path.GetExtension(files.FileName);// 鏂囦欢鎵╁睍鍚� + string filename = files.FileName;//鏂囦欢鍚� + string fileSavePath = path;// 涓婁紶淇濆瓨璺緞 + int filesize = files.ContentLength;//鑾峰彇涓婁紶鏂囦欢鐨勫ぇ灏忓崟浣嶄负瀛楄妭byte + int Maxsize = 40000 * 1024;//瀹氫箟涓婁紶鏂囦欢鐨勬渶澶х┖闂村ぇ灏忎负40M + try + { + if (files == null || files.ContentLength <= 0) + { + Result_Ob = new { result = 0, returnval = "鏂囦欢涓嶈兘涓虹┖!" }; + return Result_Ob; + } + if (filesize >= Maxsize) + { + Result_Ob = new { result = 0, returnval = "涓婁紶鏂囦欢瓒呰繃40M锛屼笉鑳戒笂浼狅紒" }; + return Result_Ob; + } + + string fileurl = Path.Combine(fileSavePath, filename); + if (Directory.Exists(fileurl) == true) //濡傛灉瀛樺湪閲嶅悕鏂囦欢灏辨彁绀� + { + Result_Ob = new { result = 0, returnval = "瀛樺湪鍚屽悕鏂囦欢锛�" }; + return Result_Ob; + } + //鍒犻櫎鏁版嵁琛ㄦ暟鎹� + ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList"); + if (Directory.Exists(path)) + { + File.Delete(fileurl); //鍒犻櫎鎸囧畾鏂囦欢 + files.SaveAs(fileurl); + string StrPath = "/files/Cj_StationInBill/" + HBillNo + "/" + filename; + if (File.Exists(fileurl)) + { + //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱 + //鍐欏叆鏁版嵁琛� + oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" + + ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" + + ",HFileClsID,HSourceBillNo" + + ") values('" + + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + + ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize + + "','" + 0 + "','" + HBillNo + + "') "); + } + else + { + Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" }; + } + } + else + { + Directory.CreateDirectory(fileSavePath); //娣诲姞鏂囦欢澶� + files.SaveAs(fileurl); + string StrPath = "/files/Cj_StationInBill/" + HBillNo + "/" + filename; + if (File.Exists(fileurl)) + { + //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱 + //鍐欏叆鏁版嵁琛� + oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" + + ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" + + ",HFileClsID,HSourceBillNo" + + ") values('" + + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" + + ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize + + "','" + 0 + "','" + HBillNo + + "') "); + } + else + { + Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" }; + } + } + + } + catch (Exception e) + { + Result_Ob = new { result = 0, returnval = e.Message }; + } + return Result_Ob; + } + + + /// <summary> + /// 鏍规嵁鍗曟嵁鍙锋煡鎵句笂浼犳枃浠跺垪琛� + /// </summary> + /// <param name="sWhere"></param> + /// <returns></returns> + [Route("Cj_StationInBill/Filelist")] + [HttpGet] + public object Filelist(string HBillNo) + { + var url = fileip + "/files/Cj_StationInBill/" + HBillNo + "/"; + //@"C:\\files\\" + try + { + ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList"); + 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; + } + } + + /// <summary> + /// 鏍规嵁ID,鍗曟嵁鍙�,鏂囦欢鍚� 鍒犻櫎鏂囦欢 + /// </summary> + /// <param name="sWhere"></param> + /// <returns></returns> + [Route("Cj_StationInBill/DeleteFilelist")] + [HttpGet] + public object DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName) + { + try + { + + oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID); + string fileurl = Path.Combine(HttpContext.Current.Server.MapPath("~/../Files/Cj_StationInBill/" + HSourceBillNo), HFileName); + File.Delete(fileurl); //鍒犻櫎鎸囧畾鏂囦欢 + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍒犻櫎鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; + } + catch (Exception e) + { + 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