From b108f7e025924e871288ac6286f03f2fdc341a35 Mon Sep 17 00:00:00 2001 From: llj <132905093+newwwwwwtree@users.noreply.github.com> Date: 星期一, 18 八月 2025 12:53:18 +0800 Subject: [PATCH] 不良报表根据需求更改;根据表结构,增加层级列表页面、维护页面。(新增、编辑、删除、审核、禁用、列设置、按钮设置、导出) --- WebAPI/Controllers/华远datamapping/Gy_PNLInfoController.cs | 1039 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 1,038 insertions(+), 1 deletions(-) diff --git "a/WebAPI/Controllers/\345\215\216\350\277\234datamapping/Gy_PNLInfoController.cs" "b/WebAPI/Controllers/\345\215\216\350\277\234datamapping/Gy_PNLInfoController.cs" index 2591593..bf9b150 100644 --- "a/WebAPI/Controllers/\345\215\216\350\277\234datamapping/Gy_PNLInfoController.cs" +++ "b/WebAPI/Controllers/\345\215\216\350\277\234datamapping/Gy_PNLInfoController.cs" @@ -7,6 +7,10 @@ using System.Net.Http; using System.Web.Http; using WebAPI.Models; +using System.Data; +using SyntacticSugar.constant; +using DBUtility; +using System.Text; namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡 { @@ -15,6 +19,7 @@ private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); + DataSet ds; #region 鑾峰彇PNLInfo鍒楄〃 [Route("Gy_PNLInfoController/GetGy_PNLInfoList")] @@ -23,7 +28,79 @@ { try { - return null; + List<object> columnNameList = new List<object>(); + if (!DBUtility.ClsPub.Security_Log("Gy_PNLInfo_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺"; + objJsonResult.data = null; + return objJsonResult; + } + + DataSet ds = oCN.RunProcReturn("select * from h_v_Gy_PNLInfoList where 1=1 " + sWhere + " order by HInterID", "h_v_Gy_PNLInfoList"); + + //娣诲姞鍒楀悕 + 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; + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鑾峰彇PNLInfo鍒楄〃瀛愯〃 + [Route("Gy_PNLInfoController/GetGy_PNLInfoSubList")] + [HttpGet] + public object GetGy_PNLInfoSubList(string sWhere, string user) + { + try + { + List<object> columnNameList = new List<object>(); + if (!DBUtility.ClsPub.Security_Log("Gy_PNLInfo_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺"; + objJsonResult.data = null; + return objJsonResult; + } + + DataSet ds = oCN.RunProcReturn("select * from h_v_Gy_PNLInfoSubList where 1=1 " + sWhere + " order by HInterID", "h_v_Gy_PNLInfoSubList"); + + //娣诲姞鍒楀悕 + 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; + } catch (Exception e) { @@ -37,15 +114,975 @@ #endregion #region 鑾峰彇PNLInfo鍒楄〃 鍒嗛〉 + [Route("Gy_PNLInfoController/GetGy_PNLInfoListPage")] + [HttpGet] + public object GetGy_PNLInfoListPage(string sWhere, string user, string page, string size) + { + try + { + List<object> columnNameList = new List<object>(); + if (!DBUtility.ClsPub.Security_Log("Gy_PNLInfo_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺"; + objJsonResult.data = null; + return objJsonResult; + } + if (string.IsNullOrWhiteSpace(sWhere) == false) + { + sWhere = sWhere.Replace("'", "''"); + } + + string sql = "exec h_p_Gy_PNLInfo_ListPage " + page + "," + size + ",'" + sWhere + "'"; + + DataSet ds = oCN.RunProcReturn(sql, "h_p_Gy_PNLInfo_ListPage"); + + //娣诲姞鍒楀悕 + 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 = CodeConstant.SUCCEED; + objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鑾峰彇PNLInfo鍒楄〃瀛愯〃 鍒嗛〉 + [Route("Gy_PNLInfoController/GetGy_PNLInfoSubListPage")] + [HttpGet] + public object GetGy_PNLInfoSubListPage(string sWhere, string user, string page, string size) + { + try + { + List<object> columnNameList = new List<object>(); + if (!DBUtility.ClsPub.Security_Log("Gy_PNLInfo_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺"; + objJsonResult.data = null; + return objJsonResult; + } + if (string.IsNullOrWhiteSpace(sWhere) == false) + { + sWhere = sWhere.Replace("'", "''"); + } + + string sql = "exec h_p_Gy_PNLInfoSub_ListPage " + page + "," + size + ",'" + sWhere + "'"; + + DataSet ds = oCN.RunProcReturn(sql, "h_p_Gy_PNLInfoSub_ListPage"); + + //娣诲姞鍒楀悕 + 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 = CodeConstant.SUCCEED; + objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } #endregion #region 娣诲姞PNLInfo 娣诲姞瀛愯〃 + [Route("Gy_PNLInfoController/AddBill")] + [HttpPost] + public object AddBill([FromBody] JObject oMain) + { + try + { + var _value = oMain["oMain"].ToString(); + string msg1 = _value.ToString(); + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string msg2 = sArray[0].ToString(); // 琛ㄥ崟淇℃伅 + string msg3 = sArray[1].ToString();// 瀛愯〃淇℃伅 + string msg4 = sArray[2].ToString(); // 鍒跺崟浜轰俊鎭� + //string msg4 = sArray[2].ToString(); + + //鍙嶅簭鍒楀寲 + msg2 = "[" + msg2.ToString() + "]"; + List<ClsGy_PNLInfo> list = JsonConvert.DeserializeObject<List<ClsGy_PNLInfo>>(msg2); + List<ClsGy_PNLInfoSub> lsmain = JsonConvert.DeserializeObject<List<ClsGy_PNLInfoSub>>(msg3); + + + //鍒ゆ柇鏉冮檺 + if (!ClsPub.Security_Log("Gy_PNLInfo_Edit", 1, false, msg4)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁鏂板鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + oCN.BeginTran(); + DataSet ds_editCheck; + //淇濆瓨鍓嶆帶鍒�========================================= + ds_editCheck = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_BeforeSaveCtrl " + msg4 + ",'1'", "h_p_Gy_PNLInfo_BeforeSaveCtrl"); + if (ds_editCheck == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBack"]) != "0") + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + ds_editCheck = oCN.RunProcReturn("select top 1 HInterID from Gy_PNLInfo where HLayOutName=N'" + list[0].HLayOutName + "'", "Gy_PNLInfo"); + if(ds_editCheck.Tables[0].Rows.Count > 0) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "PNL甯冨眬閲嶅锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + string sql1 = "insert into Gy_PNLInfo(HLayOutName,HIcon,HRowCount,HColCount,HMaker,HMakeDate,HPNLPosition_x,HPNLPosition_y) values(" + + "N'" + list[0].HLayOutName + "'," + + "N'" + list[0].HIcon + "'," + + "N'" + list[0].HRowCount + "'," + + "N'" + list[0].HColCount + "'," + + "N'" + list[0].HMaker + "'," + + "N'" + list[0].HMakeDate + "'," + + "N'" + list[0].HPNLPosition_x + "'," + + "N'" + list[0].HPNLPosition_y + "'" + + ")"; + //LogService.Write("鎵цsql璇彞:" + sql1); + DataSet ds = oCN.RunProcReturn(sql1, "Gy_PNLInfo"); + ds = oCN.RunProcReturn("Select TOP 1 HInterID from Gy_PNLInfo where HLayOutName=N'" + list[0].HLayOutName + "'", "Gy_PNLInfo"); + if(ds.Tables[0].Rows.Count < 1) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍐呯爜涓嶅瓨鍦紒"; + objJsonResult.data = null; + return objJsonResult; + } + string currHInterID = ds.Tables[0].Rows[0]["HInterID"].ToString(); + HashSet<string> HSetNoHashSet = new HashSet<string>(); + HashSet<string> HPCSNoHashSet = new HashSet<string>(); + List<string> HUpdateLangList = new List<string>(); + string insertLangTemplet = "insert into Gy_PNLInfoSub(HInterID,HLayOutName,HSetNo,HPCSNo,HPosition_x,HPosition_y" + + ",HSetPosition_y, HSetPosition_x ) values( "; + int batchNum = 100; + StringBuilder updateLangBuilder = new StringBuilder(); + foreach (var lsone in lsmain) + { + + if(HPCSNoHashSet.Contains(lsone.HPCSNo) == true) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "PCS鐮侀噸澶嶏紒"; + objJsonResult.data = null; + return objJsonResult; + } + HSetNoHashSet.Add(lsone.HSetNo); + HPCSNoHashSet.Add(lsone.HPCSNo); + + batchNum--; + updateLangBuilder.Append(insertLangTemplet); + updateLangBuilder.Append("N'" + currHInterID + "',"); + updateLangBuilder.Append("N'" + lsone.HLayOutName + "',"); + updateLangBuilder.Append("N'" + lsone.HSetNo + "',"); + updateLangBuilder.Append("N'" + lsone.HPCSNo + "',"); + updateLangBuilder.Append("N'" + lsone.HPosition_x + "',"); + updateLangBuilder.Append("N'" + lsone.HPosition_y + "',"); + updateLangBuilder.Append("N'" + lsone.HSetPosition_y + "',"); + updateLangBuilder.Append("N'" + lsone.HSetPosition_x + "'"); + updateLangBuilder.Append(");"); + + + if (batchNum == 0) + { + HUpdateLangList.Add(updateLangBuilder.ToString()); + updateLangBuilder.Clear(); + batchNum = 100; + } + } + + HUpdateLangList.Add(updateLangBuilder.ToString()); + updateLangBuilder.Clear(); + + string HSetNoInStr = "(" + string.Join(",", HSetNoHashSet.ToArray<string>()) + ")"; + string HPCSNoInStr = "(" + string.Join(",", HPCSNoHashSet.ToArray<string>()) + ")"; + + // 鍒ゆ柇鏄惁鏈塻et鐮佹垨鑰匬CS鐮侀噸澶嶇殑閮ㄥ垎 + ds = oCN.RunProcReturn("select top 1 HEntryID from Gy_PNLInfoSub where HSetNo in " + HSetNoInStr + + "AND HPCSNo in " + HPCSNoInStr + "AND HInterID = " + currHInterID, "Gy_PNLInfoSub"); + //LogService.Write("鎵ц SQL 璇彞: select top 1 HEntryID from Gy_PNLInfoSub where HSetNo in " + HSetNoInStr + // + "AND HPCSNo in " + HPCSNoInStr); + + if(ds.Tables[0].Rows.Count > 0) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Set鐮佹垨鑰匬CS鐮佹湁閲嶅锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + HUpdateLangList.ForEach(HUpdateLang => + { + //LogService.Write("鎵ц SQL 璇彞: " + HUpdateLang); + ds = oCN.RunProcReturn(HUpdateLang, "Gy_PNLInfoSub"); + }); + + + //淇濆瓨鍚庢帶鍒�========================================= + ds_editCheck = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_AfterSaveCtrl " + msg4 + ",'1'", "h_p_Gy_PNLInfo_AfterSaveCtrl"); + if (ds_editCheck == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + + } + if (DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBack"]) != "0") + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "" + DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + + oCN.Commit(); + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "淇濆瓨鎴愬姛锛�"; + //objJsonResult.data = null; + return objJsonResult; + + + } + catch (Exception e) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.Message; + objJsonResult.data = null; + return objJsonResult; + } + } #endregion #region 鍒犻櫎PNLInfo 鍒犻櫎瀛愯〃 + [Route("Gy_PNLInfoController/DeleteBill")] + [HttpGet] + public object DeleteBill(string HInterID, string user) + { + try + { + //鍒ゆ柇鏉冮檺 + if (!ClsPub.Security_Log("Gy_PNLInfo_Drop", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁鍒犻櫎鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + DataSet ds_editCheck; + oCN.BeginTran(); + //鍒犻櫎鍓嶆帶鍒�========================================= + ds_editCheck = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_BeforeDelCtrl " + HInterID + "," + user, "h_p_Gy_PNLInfo_BeforeDelCtrl"); + if (ds_editCheck == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBack"]) != "0") + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + + ds = oCN.RunProcReturn("delete from Gy_PNLInfo where HInterID = " + HInterID, "Gy_PNLInfo"); + + ds = oCN.RunProcReturn("delete from Gy_PNLInfoSub where HInterID = " + HInterID, "Gy_PNLInfoSub"); // 鍒犻櫎瀛愯〃 + + //鍒犻櫎鍚庢帶鍒�========================================= + ds_editCheck = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_AfterDelCtrl " + HInterID + "," + user, "h_p_Gy_PNLInfo_AfterDelCtrl"); + if (ds_editCheck == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎鍚庡垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + + } + if (DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBack"]) != "0") + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎澶辫触" + DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + + oCN.Commit(); + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍒犻櫎鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; + } + catch (Exception e) + { + //LogService.Write(e); + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.Message; + objJsonResult.data = null; + return objJsonResult; + } + + } #endregion #region 鏇存柊PNLInfo 鏇存柊瀛愯〃 + [Route("Gy_PNLInfoController/EditBill")] + [HttpPost] + public object EditBill([FromBody] JObject oMain) + { + try + { + var _value = oMain["oMain"].ToString(); + string msg1 = _value.ToString(); + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string msg2 = sArray[0].ToString(); // 琛ㄥ崟淇℃伅 + string msg3 = sArray[1].ToString();// 瀛愯〃淇℃伅 + string msg4 = sArray[2].ToString(); // 鍒跺崟浜轰俊鎭� + string msg5 = sArray[3].ToString(); // 鍒犻櫎琛ㄥ崟淇℃伅(HEntryID 鍒楄〃) + + //鍙嶅簭鍒楀寲 + msg2 = "[" + msg2.ToString() + "]"; + List<ClsGy_PNLInfo> list = JsonConvert.DeserializeObject<List<ClsGy_PNLInfo>>(msg2); + List<ClsGy_PNLInfoSub> lsmain = JsonConvert.DeserializeObject<List<ClsGy_PNLInfoSub>>(msg3); + List<int> delEntryIDList = JsonConvert.DeserializeObject<List<int>>(msg5); + + + //鍒ゆ柇鏉冮檺 + if (!ClsPub.Security_Log("Gy_PNLInfo_Edit", 1, false, msg4)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁鏂板鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + oCN.BeginTran(); + DataSet ds_editCheck; + //淇濆瓨鍓嶆帶鍒�========================================= + ds_editCheck = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_BeforeSaveCtrl " + msg4 + ",'2'", "h_p_Gy_PNLInfo_BeforeSaveCtrl"); + if (ds_editCheck == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBack"]) != "0") + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + ds_editCheck = oCN.RunProcReturn("select top 1 HInterID from Gy_PNLInfo where HLayOutName=N'" + list[0].HLayOutName + "'" + + "AND HInterID != N'" + list[0].HInterID + "'", "Gy_PNLInfo"); + if (ds_editCheck.Tables[0].Rows.Count > 0) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "PNL甯冨眬閲嶅锛�"; + objJsonResult.data = null; + return objJsonResult; + } + // 涓昏〃 鏇存柊 + StringBuilder sb = new StringBuilder(); + sb.Append("Update Gy_PNLInfo set "); + sb.Append("HLayOutName=N'"+ list[0].HLayOutName + "',"); + sb.Append("HIcon=N'" + list[0].HIcon + "',"); + sb.Append("HRowCount=N'" + list[0].HRowCount + "',"); + sb.Append("HColCount=N'" + list[0].HColCount + "',"); + sb.Append("HPNLPosition_x=N'" + list[0].HPNLPosition_x + "',"); + sb.Append("HPNLPosition_y=N'" + list[0].HPNLPosition_y + "',"); + sb.Append("HModifyMan=N'" + msg4 + "',"); + sb.Append("HModifyDate=getdate()"); + sb.Append(" where HInterID=N'" + list[0].HInterID + "'"); + string sql1 = sb.ToString(); + oCN.RunProcReturn(sql1, "Gy_PNLInfo"); + + oCN.RunProcReturn("Update Gy_PNLInfoSub set HLayOutName = N'" + list[0].HLayOutName + "'" + + " where HInterID=N'" + list[0].HInterID + "'", "Gy_PNLInfoSub"); + sb.Clear(); + // 鏋勫缓鍒犻櫎 鏇存柊璇彞 + List<string> HUpdateLangList = new List<string>(); + int batchNum = 100; + + HashSet<string> HSetNoHashSet = new HashSet<string>(); + HashSet<string> HPCSNoHashSet = new HashSet<string>(); + + foreach( var lsone in lsmain) + { + + batchNum--; + + if (HPCSNoHashSet.Contains(lsone.HPCSNo) == true) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "PCS鐮侀噸澶嶏紒"; + objJsonResult.data = null; + return objJsonResult; + } + HSetNoHashSet.Add(lsone.HSetNo); + HPCSNoHashSet.Add(lsone.HPCSNo); + if (lsone.HEntryID != 0) + { + delEntryIDList.Add(lsone.HEntryID); + } + sb.Append("insert into Gy_PNLInfoSub(HInterID,"); + sb.Append("HLayOutName, HSetNo, HPCSNo, HPosition_x, HPosition_y" + + ",HSetPosition_y, HSetPosition_x ) values( "); + sb.Append("N'" + lsone.HInterID + "',"); + sb.Append("N'" + lsone.HLayOutName + "',"); + sb.Append("N'" + lsone.HSetNo + "',"); + sb.Append("N'" + lsone.HPCSNo + "',"); + sb.Append("N'" + lsone.HPosition_x + "',"); + sb.Append("N'" + lsone.HPosition_y + "',"); + sb.Append("N'" + lsone.HSetPosition_y + "',"); + sb.Append("N'" + lsone.HSetPosition_x + "'"); + sb.Append(");"); + + + if (batchNum == 0) + { + HUpdateLangList.Add(sb.ToString()); + sb.Clear(); + batchNum = 100; + } + } + + HUpdateLangList.Add(sb.ToString()); + sb.Clear(); + + + // 瀛愯〃鍒犻櫎 + string delWhereStr = "(" + string.Join(",", delEntryIDList.ToArray()) + ")"; + string sql2 = "Delete from Gy_PNLInfoSub where HEntryID in " + delWhereStr; + LogService.Write("鎵цSQL璇彞锛�" + sql2); + oCN.RunProcReturn(sql2, "Gy_PNLInfoSub"); + + + // 澧炲姞鍓嶅垽鏂� 褰撳墠闇�瑕佹柊澧炵殑鏁版嵁涓槸鍚︽湁PCS鐮佸拰SET鐮侀噸澶嶇殑閮ㄥ垎 + string HSetNoInStr = "(" + string.Join(",", HSetNoHashSet.ToArray<string>()) + ")"; + string HPCSNoInStr = "(" + string.Join(",", HPCSNoHashSet.ToArray<string>()) + ")"; + + // 鍒ゆ柇鏄惁鏈塻et鐮佹垨鑰匬CS鐮侀噸澶嶇殑閮ㄥ垎 + ds = oCN.RunProcReturn("select top 1 HEntryID from Gy_PNLInfoSub where HSetNo in " + HSetNoInStr + + " AND HPCSNo in " + HPCSNoInStr + "and HInterID = " + list[0].HInterID , "Gy_PNLInfoSub"); + LogService.Write("鎵ц SQL 璇彞: select top 1 HEntryID from Gy_PNLInfoSub where HSetNo in " + HSetNoInStr + + " AND HPCSNo in " + HPCSNoInStr + "and HInterID = " + list[0].HInterID); + + if (ds.Tables[0].Rows.Count > 0) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "set鐮佸拰PCS鐮佹湁閲嶅锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + // 瀛愯〃 鏂板 + HUpdateLangList.ForEach(HUpdateLang => + { + ds = oCN.RunProcReturn(HUpdateLang, "Gy_PNLInfoSub"); + } + ); + + + //淇濆瓨鍚庢帶鍒�========================================= + ds_editCheck = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_AfterSaveCtrl " + msg4 + ",'2'", "h_p_Gy_PNLInfo_AfterSaveCtrl"); + if (ds_editCheck == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + + } + if (DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBack"]) != "0") + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "" + DBUtility.ClsPub.isStrNull(ds_editCheck.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + + oCN.Commit(); + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "淇濆瓨鎴愬姛锛�"; + //objJsonResult.data = null; + return objJsonResult; + + + } + catch (Exception e) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.Message; + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 瀹℃牳PNL甯冨眬 + [Route("Gy_PNLInfoController/CheckBill")] + [HttpGet] + public object CheckBill(int HInterID, string user, int IsAudit) + { + try + { + //瀹℃牳鏉冮檺 + if (!DBUtility.ClsPub.Security_Log_second("Gy_PNLInfo_Check", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + var ds = oCN.RunProcReturn("select top 1 HCheckMan from Gy_PNLInfo where HInterID=" + HInterID, "Gy_PNLInfo"); + if (ds.Tables[0].Rows.Count > 0) + { + if (IsAudit == 0) //瀹℃牳鍒ゆ柇 + { + if (string.IsNullOrEmpty(ds.Tables[0].Rows[0]["HCheckMan"].ToString()) != true) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + if (IsAudit == 1) //鍙嶅鏍稿垽鏂� + { + if (string.IsNullOrEmpty(ds.Tables[0].Rows[0]["HCheckMan"].ToString()) == true) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!"; + objJsonResult.data = null; + return objJsonResult; + } + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!"; + objJsonResult.data = null; + return objJsonResult; + } + + + + oCN.BeginTran(); + + if (IsAudit == 0) //瀹℃牳鍒ゆ柇 + { + //瀹℃牳鍓嶆帶鍒�========================================= + ds = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_BeforeCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Gy_PNLInfo_BeforeCheckCtrl"); + if (ds == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + 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("update Gy_PNLInfo set HCheckMan='" + user + "',HCheckDate=getdate() where HInterID=" + HInterID); + + //瀹℃牳鍚庢帶鍒�========================================= + DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_AfterCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Gy_PNLInfo_AfterCheckCtrl"); + 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 = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳鎴愬姛"; + objJsonResult.data = null; + } + if (IsAudit == 1) //鍙嶅鏍稿垽鏂� + { + //鍙嶅鏍稿墠鎺у埗========================================= + ds = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_BeforeUnCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Gy_PNLInfo_BeforeUnCheckCtrl"); + if (ds == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + 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("update Gy_PNLInfo set HCheckMan='',HCheckDate=null where HInterID=" + HInterID); + + + //鍙嶅鏍稿悗鎺у埗========================================= + DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_AfterUnCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Gy_PNLInfo_AfterUnCheckCtrl"); + 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 = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶅鏍告垚鍔�"; + objJsonResult.data = null; + } + + + + oCN.Commit(); + + return objJsonResult; + } + catch (Exception e) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + + } + #endregion + + #region 绂佺敤PNL甯冨眬 + [Route("Gy_PNLInfoController/StopBill")] + [HttpGet] + public object StopBill(int HInterID, string user, int IsStop) + { + try + { + //绂佺敤鏉冮檺 + if (!DBUtility.ClsPub.Security_Log_second("Gy_PNLInfo_Stop", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + var ds = oCN.RunProcReturn("select top 1 HStopMan from Gy_PNLInfo where HInterID=" + HInterID, "Gy_PNLInfo"); + if (ds.Tables[0].Rows.Count > 0) + { + if (IsStop == 0) //绂佺敤鍒ゆ柇 + { + if (ds.Tables[0].Rows[0]["HStopMan"].ToString() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸茬鐢�!涓嶈兘鍐嶆绂佺敤锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂� + { + if (ds.Tables[0].Rows[0]["HStopMan"].ToString() == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鏈鐢�!涓嶉渶瑕佸弽绂佺敤!"; + objJsonResult.data = null; + return objJsonResult; + } + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!"; + objJsonResult.data = null; + return objJsonResult; + } + + oCN.BeginTran(); + + if (IsStop == 0) //绂佺敤鍒ゆ柇 + { + //绂佺敤鍓嶆帶鍒�========================================= + ds = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_BeforeStopCtrl " + HInterID + ",'" + user + "'", "h_p_Gy_PNLInfo_BeforeStopCtrl"); + if (ds == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绂佺敤鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + 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("update Gy_PNLInfo set HStopMan='" + user + "',HStopDate=getdate() where HInterID=" + HInterID); + + //绂佺敤鍚庢帶鍒�========================================= + DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_AfterStopCtrl " + HInterID + ",'" + user + "'", "h_p_Gy_PNLInfo_AfterStopCtrl"); + 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 = "绂佺敤澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "绂佺敤鎴愬姛"; + objJsonResult.data = null; + } + if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂� + { + //鍙嶇鐢ㄥ墠鎺у埗========================================= + ds = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_BeforeUnStopCtrl " + HInterID + ",'" + user + "'", "h_p_Gy_PNLInfo_BeforeUnStopCtrl"); + if (ds == null) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绂佺敤鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + 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("update Gy_PNLInfo set HStopMan='',HStopDate=null where HInterID=" + HInterID); + + + //鍙嶇鐢ㄥ悗鎺у埗========================================= + DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PNLInfo_AfterUnStopCtrl " + HInterID + ",'" + user + "'", "h_p_Gy_PNLInfo_AfterUnStopCtrl"); + 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 = "绂佺敤澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶇鐢ㄦ垚鍔�"; + objJsonResult.data = null; + } + oCN.Commit(); + + return objJsonResult; + } + catch (Exception e) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绂佺敤澶辫触鎴栬�呭弽绂佺敤澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } #endregion } } -- Gitblit v1.9.1