From a652949e0c299112797e1ed43a6b9f359d2352dc Mon Sep 17 00:00:00 2001 From: yxj <yxj@hz-kingdee.com> Date: 星期二, 21 五月 2024 16:55:03 +0800 Subject: [PATCH] 器具缓存列表模块所调用方法新增,出站记录新增单据方法修正 --- WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs | 471 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 454 insertions(+), 17 deletions(-) diff --git a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs index 188a2a3..312c52a 100644 --- a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs +++ b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs @@ -1,4 +1,6 @@ -锘縰sing Newtonsoft.Json.Linq; +锘縰sing DBUtility; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; @@ -18,6 +20,7 @@ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); public DLL.ClsGy_EquipFileMain BillNew0 = new DLL.ClsGy_EquipFileMain(); public DLL.ClsGy_EquipFileMain BillOld0 = new DLL.ClsGy_EquipFileMain(); + public DAL.ClsGy_EquipFileMain BillOld = new DAL.ClsGy_EquipFileMain(); #region 璁惧妗f鍒楄〃 @@ -46,22 +49,12 @@ ds = oCN.RunProcReturn(sql, "h_v_Gy_EquipFileMainList"); } - //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) { @@ -101,8 +94,18 @@ return objJsonResult; } DLL.ClsGy_EquipFileMain oBill = new DLL.ClsGy_EquipFileMain(); - if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) + ds = oCN.RunProcReturn("select * from Gy_EquipFileBillMain where HInterID=" + HItemID, "Gy_EquipFileBillMain"); + if (ds.Tables[0].Rows.Count > 0) { + if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵�侊紒"; + objJsonResult.data = null; + return objJsonResult; + } + oCN.RunProc("Delete From Gy_EquipFileBillMain where HInterID=" + lngBillKey); objJsonResult.code = "1"; objJsonResult.count = 1; @@ -208,6 +211,8 @@ string HLogo = list[0].HLogo; //鈭� varchar(50) //鍝佺墝 int HSellSupID = list[0].HSellSupID; // 鈭� int //渚涘簲鍟�(Gy_Supplier) int HMakeSupID = list[0].HMakeSupID; // int //鍒堕�犲晢 (Gy_Supplier) + string HMainSourceFlag = list[0].HMainSourceFlag; //varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�) + string HMacAddress = list[0].HMacAddress; // varchar(50) //鏁伴噰鐗╃悊鍦板潃 string HMaker = msg4; string HMakeDate = DateTime.Now.Date.ToString(); int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID; @@ -228,11 +233,11 @@ oCN.RunProc("Insert into Gy_EquipFileBillMain " + " (hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" + ",HOutComNo,HDeptID,HUseEmpID,HRepairEmpID,HAddress,HSetupDate,HStartupDate,HStatus," + -"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID) " + +"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID,HMainSourceFlag,HMacAddress) " + " Values('" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID + ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HUseEmpID + "," + HRepairEmpID + ",'" + HAddress + "','" + HSetupDate + "','" + HStartupDate + "','" + HStatus + "'," + HEquipFileTypeID + ",'" + HProNum + - "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ")", ref DBUtility.ClsPub.sExeReturnInfo); + "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ",'" + HMainSourceFlag + "','" + HMacAddress + "')", ref DBUtility.ClsPub.sExeReturnInfo); //淇敼涓婄骇涓洪潪鏈骇浠g爜 oCN.Commit(); objJsonResult.code = "1"; @@ -306,6 +311,8 @@ string HLogo = list[0].HLogo; //鈭� varchar(50) //鍝佺墝 int HSellSupID = list[0].HSellSupID; // 鈭� int //渚涘簲鍟�(Gy_Supplier) int HMakeSupID = list[0].HMakeSupID; // int //鍒堕�犲晢 (Gy_Supplier) + string HMainSourceFlag = list[0].HMainSourceFlag; //varchar(10) //鏄惁涓荤敓浜ц澶�(鍚︼紝鏄�) + string HMacAddress = list[0].HMacAddress; // varchar(50) //鏁伴噰鐗╃悊鍦板潃 string HUpDater = msg4; string HUpDateDate = DateTime.Now.Date.ToString(); int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID; @@ -361,11 +368,13 @@ ",HLogo='" + HLogo + "'" + ",HSellSupID=" + HSellSupID + ",HMakeSupID= " + HMakeSupID + - ",HUpDater= '" + HUpDater + "'" + + ",HUpDater= '" + HUpDater + "'" + ",HUpDateDate= '" + HUpDateDate + "'" + ",HEquipDotCheckRuleInterID='" + HEquipDotCheckRuleInterID + "'" + ",HEquipMaintainRuleInterID='" + HEquipMaintainRuleInterID + "'" + ",HSourceID='" + HSourceID + "'" + + ",HMainSourceFlag= '" + HMainSourceFlag + "'" + + ",HMacAddress= '" + HMacAddress + "'" + " Where HInterID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo); //淇敼瀛愰」鐩唬鐮� //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo); @@ -395,7 +404,7 @@ public object Sb_EquipFileBillResumeDate(string HInterID) { - DataTable ds, ds1; + DataTable ds, ds1,ds2; long HInterID1 = long.Parse(HInterID); List<object> list = new List<object>(); try @@ -405,9 +414,11 @@ string sql1 = string.Format($"exec h_p_Gy_EquipRecord {HInterID1}"); ds = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[0]; ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[1]; + ds2 = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[2]; list.Add(ds);//鏃ュ父璁板綍 list.Add(ds1);//缁翠慨璁板綍 + list.Add(ds2);//閰嶄欢鏇存崲娓呭崟 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�"; @@ -496,5 +507,431 @@ return objJsonResult; } #endregion + + #region 璁惧妗f瀹℃牳/鍙嶅鏍稿姛鑳� + [Route("Gy_EquipFileBill/CheckGy_EquipFileBill")] + [HttpGet] + public object CheckGy_EquipFileBill(string HInterID, int Type, string user) + { + try + { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileBill_Check", 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; + oCN.BeginTran();//寮�濮嬩簨鍔� + + //Type 1 瀹℃牳 2 鍙嶅鏍� + if (Type == 1) + { + if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + } + else + { + 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 璁惧妗f鍏抽棴/鍙嶅叧闂姛鑳� + [Route("Gy_EquipFileBill/CloseGy_EquipFileBill")] + [HttpGet] + public object CloseGy_EquipFileBill(string HInterID, int Type, string user) + { + try + { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileBill_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; + + oCN.BeginTran();//寮�濮嬩簨鍔� + + //Type 1 鍏抽棴 2 鍙嶅叧闂� + if (Type == 1) + { + if (!BillOld.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + if (!BillOld.CancelClose(int.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 璁惧妗f鍒楄〃 鏍戠姸鍥� 璁惧鍒嗙被鏌ヨ + public class TreeModel + { + public string id { get; set; } + public string title { get; set; } + public List<TreeModel> children = new List<TreeModel>(); + } + [Route("Gy_EquipFileMain/TreeGetList")] + [HttpGet] + public object TreeGetList(string sWhere, string user) + { + try + { + + ds = oCN.RunProcReturn("select HItemID,HNumber,HName from Gy_EquipFileType", "Gy_EquipFileType"); + + List<TreeModel> treeModels = new List<TreeModel>(); + TreeModel first = new TreeModel(); + first.id = "0"; + first.title = "璁惧鍒嗙被璁剧疆"; + treeModels.Add(first); + + foreach (DataRow row in ds.Tables[0].Rows) + { + var strLen = row["hitemid"].ToString().Split('.'); + if (strLen.Length == 1) + { + TreeModel tree = new TreeModel(); + tree.id = row["HItemID"].ToString(); + tree.title = row["HName"].ToString(); + treeModels[0].children.Add(tree); + } + } + digui(ds.Tables[0], treeModels[0].children, 2); + + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels); + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + /// <summary> + /// 閫掑綊鍑芥暟 + /// </summary> + public void digui(DataTable dt, List<TreeModel> tree, int num) + { + for (int m = 0; m < tree.Count; m++) + { + tree[m].children = new List<TreeModel>(); + for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆� + { + var strLen = dt.Rows[i]["HNumber"].ToString().Split('.'); + if (strLen.Length == num && dt.Rows[i]["HNumber"].ToString().Contains(tree[m].id + ".")) + { + TreeModel tbjson = new TreeModel(); + tbjson.id = dt.Rows[i]["HItemID"].ToString(); + tbjson.title = dt.Rows[i]["HName"].ToString(); + tree[m].children.Add(tbjson); + } + } + var strLens = tree[m].id.Split('.'); + for (int i = 0; i < tree[m].children.Count; i++) + { + digui(dt, tree[m].children, strLens.Length + 2);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦 + } + } + + } + #endregion + + #region 璁惧杩愯鐘舵�佹姤琛� + + [Route("SB_EquipRunningStatus/Report")] + [HttpGet] + public object Report(string sWhere, string user) + { + try + { + List<object> columnNameList = new List<object>(); + //if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileList", 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_Sb_EquipRunningStatusReport " + sWhere + " order by 鎵�灞炴棩鏈� desc", "h_v_Sb_EquipRunningStatusReport"); + } + else + { + string sql1 = "select * from h_v_Sb_EquipRunningStatusReport where 1 = 1 "; + string sql = sql1 + sWhere + " order by 鎵�灞炴棩鏈� desc"; + ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipRunningStatusReport"); + } + + //娣诲姞鍒楀悕 + foreach (DataColumn col in ds.Tables[0].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + + //if (ds.Tables[0].Rows.Count != 0 && ds != null) + //{ + + //} + //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 = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 璁惧杩愯鐘舵�佹姤琛� 鏍戠姸鍥� 閮ㄩ棬鍒嗙被鏌ヨ + public class TreeModel_Report + { + public string id { get; set; } + public string title { get; set; } + public string type { get; set; } + public List<TreeModel_Report> children = new List<TreeModel_Report>(); + } + [Route("SB_EquipRunningStatus/ReportTreeGetList")] + [HttpGet] + public object ReportTreeGetList(string sWhere, string user) + { + try + { + + ds = oCN.RunProcReturn("select HItemID,HNumber,HName from Gy_Department", "Gy_Department"); + + List<TreeModel_Report> treeModels = new List<TreeModel_Report>(); + TreeModel_Report first = new TreeModel_Report(); + + DataSet Ds; + string HCampanyName = ""; + Ds = oCN.RunProcReturn("select HValue from Xt_SystemParameter where HCaption = '瀹㈡埛鍚嶇О'", "Xt_SystemParameter"); + if (Ds.Tables[0].Rows.Count != 0 && Ds != null) + { + HCampanyName = Ds.Tables[0].Rows[0]["HValue"].ToString(); + } + + first.id = "0"; + first.title = HCampanyName; + treeModels.Add(first); + + foreach (DataRow row in ds.Tables[0].Rows) + { + var strLen = row["hitemid"].ToString().Split('.'); + if (strLen.Length == 1) + { + TreeModel_Report tree = new TreeModel_Report(); + tree.id = row["HItemID"].ToString(); + tree.title = row["HName"].ToString(); + tree.type = "Department"; + treeModels[0].children.Add(tree); + } + } + getWorkCenter_Level2(ds.Tables[0], treeModels[0].children); + + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels); + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + /// <summary> + /// 绗簩绾у伐浣滀腑蹇� + /// </summary> + public void getWorkCenter_Level2(DataTable dt, List<TreeModel_Report> tree) + { + for (int i = 0;i < dt.Rows.Count;i++) + { + var HDeptID = dt.Rows[i]["HItemID"].ToString(); + ds = oCN.RunProcReturn("select distinct HItemID,HNumber,HName from Gy_WorkCenter where HDeptID = " + HDeptID, "Gy_WorkCenter"); + if (ds.Tables[0].Rows.Count != 0 && ds != null) + { + for (int j = 0; j < ds.Tables[0].Rows.Count; j++) + { + TreeModel_Report tbjson = new TreeModel_Report(); + tbjson.id = ds.Tables[0].Rows[j]["HItemID"].ToString(); + tbjson.title = ds.Tables[0].Rows[j]["HName"].ToString(); + tbjson.type = "WorkCenter"; + tree[i].children.Add(tbjson); + } + } + //digui_Report(ds.Tables[0], tree[i].children, 2); + } + + } + + /// <summary> + /// 閫掑綊鍑芥暟 + /// </summary> + public void digui_Report(DataTable dt, List<TreeModel_Report> tree, int num) + { + for (int m = 0; m < tree.Count; m++) + { + tree[m].children = new List<TreeModel_Report>(); + for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆� + { + var HWorkCenterNumber = dt.Rows[i]["HNumber"].ToString(); + DataSet Ds; + Ds = oCN.RunProcReturn("select distinct HItemID,HNumber,HName from Gy_WorkCenter where HNumber like '" + HWorkCenterNumber + "%'", "Gy_WorkCenter"); + + if (Ds.Tables[0].Rows.Count != 0 && Ds != null) + { + for (int j = 0;j < Ds.Tables[0].Rows.Count;j++) + { + var strLen = Ds.Tables[0].Rows[j]["HNumber"].ToString().Split('.'); + if (strLen.Length == num && Ds.Tables[0].Rows[j]["HNumber"].ToString().Contains(tree[m].id + ".")) + { + TreeModel_Report tbjson = new TreeModel_Report(); + tbjson.id = Ds.Tables[0].Rows[j]["HItemID"].ToString(); + tbjson.title = Ds.Tables[0].Rows[j]["HName"].ToString(); + tbjson.type = "WorkCenter"; + tree[m].children.Add(tbjson); + } + } + } + } + var strLens = tree[m].id.Split('.'); + for (int i = 0; i < tree[m].children.Count; i++) + { + digui_Report(dt, tree[m].children, strLens.Length + 2);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦 + } + } + + } + #endregion + } } -- Gitblit v1.9.1