From 9f5f3f3309827ce6ad816482d1a60b8cea29761e Mon Sep 17 00:00:00 2001 From: zrg <z18737863051@163.com> Date: 星期一, 01 七月 2024 17:23:14 +0800 Subject: [PATCH] 报工台点击异常跳转获取,物料,代码,数量,规格型号,登录人的上级,不良采集增加批量保存方法 --- WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs | 306 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 295 insertions(+), 11 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs index 66a1b09..dc7028a 100644 --- a/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs +++ b/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs @@ -1,4 +1,6 @@ -锘縰sing DBUtility; +锘縰sing DAL; +using DBUtility; +using DLL; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; @@ -7,8 +9,11 @@ using System.Linq; using System.Net; using System.Net.Http; +using System.Timers; +using System.Threading.Tasks; using System.Web.Http; using WebAPI.Models; +using System.Threading; namespace WebAPI.Controllers.SCGL { @@ -43,7 +48,7 @@ /// <returns></returns> [Route("Sc_MESTransFerWorkBill/SaveGetMESTransFerWorkFrom")] [HttpPost] - public object SaveGetMESTransFerWorkFrom([FromBody] JObject msg) + public object SaveGetMESTransFerWorkFromAsync([FromBody] JObject msg) { var _value = msg["msg"].ToString(); @@ -151,10 +156,19 @@ objJsonResult.data = 1; return objJsonResult; } - + //string[] arrStr = oItem.HSendMan.Split(','); //鍙戦�佷汉 //arrStr = oItem.HReceiveMan.Split(','); //鎺ユ敹浜� - string[] arrStr = oItem.HCopyMan.Split(','); //鎶勯�佷汉 + string[] arrStr; + + if (string.IsNullOrEmpty(oItem.HCopyMan)) + { + arrStr = new string[0]; // 濡傛灉 oItem.HCopyMan 涓虹┖锛屽垯璧嬪�间负绌烘暟缁� + } + else + { + arrStr = oItem.HCopyMan.Split(','); // 鍚﹀垯锛屼娇鐢� Split(',') 鏂规硶鎷嗗垎瀛楃涓� + } List<string> b = new List<string>(arrStr); b.Add(oItem.HSendMan); b.Add(oItem.HReceiveMan); @@ -165,12 +179,13 @@ Models.ClsOA_ErrMsgBackBillSub2 sb = new Models.ClsOA_ErrMsgBackBillSub2(); sb.HEntryID = i; sb.HReceiveMan = arrStr[i - 1]; - if (arrStr[i-1].ToString() == oItem.HSendMan) + if (arrStr[i - 1].ToString() == oItem.HSendMan) { sb.HReadFlag = true; } oBill.DetailColl2.Add(sb); } + oBill.omodel = oItem; } @@ -180,7 +195,7 @@ bool bResult; if (refSav == "Add") { - bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); if (bResult) { objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //杩斿洖涓籌D @@ -196,8 +211,8 @@ { objJsonResult.Verify = "N"; } - } - } + } + } } else @@ -516,14 +531,15 @@ A.HQty,A.HSendType, A.HDeptID,D.HName HDeptName, A.HSendMan, A.HReceiveMan,A.HCopyMan,A.HHasten, - A.HLevel,A.HMaterName,A.HMaterModel, + A.HLevel,A.HMaterNumber,A.HMaterName,A.HMaterModel, B.HReadFlag, A.HMaker,A.HMakeDate,A.HUpDater,A.HUpDateDate,A.HChecker,A.HCheckDate,A.HCloseMan,A.HCloseDate,A.HDeleteMan,A.HDeleteDate, A.HSourceInterID,A.HSourceEntryID,A.HSourceBillNo,A.HSourceBillType, - A.HHandleEmpID,f.HName HHandleEmpName + A.HHandleEmpID,f.HName HHandleEmpName,A.HErrMsgBackTypeID,g.HName HErrMsgBackTypeName from OA_ErrMsgBackBillMain A inner join OA_ErrMsgBackBillSub2 B on A.HInterID=B.HInterID left join Gy_Department D on A.HDeptID=D.HItemID - left join Gy_Employee f on A.HHandleEmpID=f.HItemID + left join Gy_Employee f on A.HHandleEmpID=f.HItemID + left join Gy_ErrMsgBackType g on A.HErrMsgBackTypeID=g.HItemID where A.HInterID='" + HID + "' and b.HEntryID='" + HEntryID + "'"); var dataSet = oCN.RunProcReturn(sql, "OA_ErrMsgBackBillMain"); if (dataSet == null || dataSet.Tables[0].Rows.Count == 0) @@ -1012,6 +1028,7 @@ { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + _ = SendDingDingAsync(oBill.omodel.HSendMan, oBill.omodel.HHandleEmpID,oBill.omodel.HDescription,""); } else if (refSav == "Update") { @@ -1986,6 +2003,7 @@ { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + _ = SendDingDingAsync(oBill.omodel.HSendMan, 1, oBill.omodel.HDescription, oBill.omodel.HReceiveMan); } else if (refSav == "Update") { @@ -2902,6 +2920,7 @@ { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + _ = SendDingDingAsync(oBill.omodel.HSendMan, 1, oBill.omodel.HDescription, oBill.omodel.HReceiveMan); } else if (refSav == "Update") { @@ -3815,6 +3834,7 @@ { bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + _ = SendDingDingAsync(oBill.omodel.HReceiveMan, 0, oBill.omodel.HDescription, oBill.omodel.HCopyMan); } else if (refSav == "Update") { @@ -6590,5 +6610,269 @@ #endregion #endregion + + + #region 寮傚父鍙嶉 鎺ユ敹,澶勭悊,楠屾敹鍗曚繚瀛樺彂閫佹秷鎭� + /// <summary> + /// 寮傚父鍙嶉 鎺ユ敹,澶勭悊,楠屾敹鍗曚繚瀛樺彂閫佹秷鎭� + /// </summary> + /// <param name="HSendMan"></param> + /// <param name="HHandleEmpID"></param> + /// <param name="HDescription"></param> + /// <param name="HCopyMan"></param> + /// <returns></returns> + public async Task<object> SendDingDingAsync(string HSendMan, int HHandleEmpID,string HDescription,string HCopyMan) + { + string concatenatedNames = ""; + Cls_DDMsg msg = new Cls_DDMsg(); + string appKey = "dingrsrzhdyn3mlaof95"; + string appSecret = "RAqH6YtZnPLCpDbuqfaYQkKkVtVdS0wqfC8I26X6qiS-8eoCJCNrzx3fubGND4Sq"; + if (HHandleEmpID==0) //寮傚父鍙嶉楠屾敹鍗曚繚瀛� 灏嗘秷鎭� 鍙戦�佺粰 鎺ユ敹浜猴紝鎸囨淳澶勭悊浜猴紝鍏ㄩ儴鎶勯�佷汉 + { + string HReceiveMan = HSendMan; + string[] names = HCopyMan.Split(','); + string sqlNames = ""; + foreach (string name in names) + { + sqlNames += "'" + name.Trim() + "',"; + } + sqlNames = sqlNames.TrimEnd(','); + //鑾峰彇鎸囨淳澶勭悊浜�,鍙戦�佷汉鐨勯拤閽塱d + string sql1 = "select HDingDingUserID 閽夐拤id from Gy_Czygl where Czymc in ('" + HReceiveMan + "'," + sqlNames + ")"; + ds = oCN.RunProcReturn(sql1, "Gy_Czygl"); + List<string> HNames = new List<string>(); + for (int i = 0; i < ds.Tables[0].Rows.Count; i++) + { + string HName = ds.Tables[0].Rows[i]["閽夐拤id"].ToString(); + HNames.Add(HName); + + } + concatenatedNames = string.Join(",", HNames); + } + else if (HHandleEmpID==1)//寮傚父鍙嶉绛惧埌鍗�,寮傚父鍙嶉澶勭悊鍗� 灏嗘秷鎭� 鍙戦�佺粰 鍙戦�佷汉锛屾帴鏀朵汉 + { + //鑾峰彇鍙戦�佷汉 鎺ユ敹浜� + string HReceiveMan = HCopyMan; + string sql1 = "select HDingDingUserID 閽夐拤id from Gy_Czygl where Czymc in ('" + HSendMan + "','" + HReceiveMan + "')"; + ds = oCN.RunProcReturn(sql1, "Gy_Czygl"); + List<string> HNames = new List<string>(); + for (int i = 0; i < ds.Tables[0].Rows.Count; i++) + { + string HName = ds.Tables[0].Rows[i]["閽夐拤id"].ToString(); + HNames.Add(HName); + + } + concatenatedNames = string.Join(",", HNames); + } + else + { + //鏌ヨ鎸囨淳澶勭悊浜� + string sql = "select HName from Gy_Employee where HItemID='" + HHandleEmpID + "'"; + ds = oCN.RunProcReturn(sql, "Gy_Employee"); + string HHandleEmpName = ds.Tables[0].Rows[0]["HName"].ToString(); + //鑾峰彇鎸囨淳澶勭悊浜�,鍙戦�佷汉鐨勯拤閽塱d + string sql1 = "select HDingDingUserID 閽夐拤id from Gy_Czygl where Czymc in ('" + HSendMan + "','" + HHandleEmpName + "')"; + ds = oCN.RunProcReturn(sql1, "Gy_Czygl"); + List<string> HNames = new List<string>(); + for (int i = 0; i < ds.Tables[0].Rows.Count; i++) + { + string HName = ds.Tables[0].Rows[i]["閽夐拤id"].ToString(); + HNames.Add(HName); + + } + concatenatedNames = string.Join(",", HNames); + } + + //鑾峰彇浼佷笟鐨刟ccess_token鐨勫�� + string response = msg.GetAccessToken(appKey, appSecret); + JObject responseJson = JObject.Parse(response); + // 鑾峰彇access_token鐨勫�� + string accessToken = responseJson["accessToken"].ToString(); + + //璋冪敤鏂规硶鍙戦�佹秷鎭� + string agentId = "3118119317";//閽夐拤鍚庡彴寤虹珛鐨勫皬绋嬪簭id + string userIdList = concatenatedNames;//閽夐拤浜哄憳鐨刬d + string deptIdList = "0"; // 绌哄瓧绗︿覆琛ㄧず涓嶆寚瀹氶儴闂� + string toAllUser = "false"; + string message = HDescription; + response = await msg.SendTextMessage(accessToken, agentId, userIdList, deptIdList, toAllUser, message); + Console.WriteLine(response); + return response; + } + #endregion + + #region 寮傚父鍙嶉鍗曟煡璇紙鎺ユ敹鐨勶紝鍙戦�佺殑锛屾妱閫佺殑锛� + + [Route("Sc_MESTransFerWorkBill/GetSc_MESTransFerWorkBillQuery")] + [HttpGet] + public object GetSc_MESTransFerWorkBillQuery(string user) + { + try + { + List<object> columnNameList = new List<object>(); + + ds = oCN.RunProcReturn("exec h_p_OA_ErrMsgBackSelfQuery " + user, "h_p_OA_ErrMsgBackSelfQuery"); + + if (ds.Tables[0].Rows.Count != 0 || ds != null) + { + //娣诲姞鍒楀悕 + 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; + 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 = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鎶ュ伐鍙拌烦杞紓甯稿弽棣堝崟 寮圭獥鑾峰彇鐢熶骇鐘舵�佷复鏃惰〃鐨� 鐗╂枡 鏁伴噺 淇℃伅 + + [Route("Sc_MESTransFerWorkBill/Get_Sc_ICMOBillStatus")] + [HttpGet] + public object Get_Sc_ICMOBillStatus(string HSourceBill) + { + try + { + List<object> columnNameList = new List<object>(); + + string sql = "select a.HSourceBillNo 娴佽浆鍗″彿,a.HSourceBillType 娴佽浆鍗$被鍨�,a.HSourceInterID 娴佽浆鍗′富鍐呯爜,a.HSourceEntryID 娴佽浆鍗″瓙鍐呯爜,b.HNumber 鐗╂枡浠g爜,b.HName 鐗╂枡鍚嶇О,b.HModel 瑙勬牸鍨嬪彿,a.HPlanQty 璁″垝鏁伴噺 from Sc_ICMOBillStatus_Tmp a left join Gy_Material b on a.HMaterID=b.HItemID where HSourceBillNo='" + HSourceBill + "'"; + ds = oCN.RunProcReturn(sql, "Sc_ICMOBillStatus_Tmp"); + + //娣诲姞鍒楀悕 + 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 ex) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + ex.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鎶ュ伐鍙拌烦杞紓甯稿弽棣堝崟 寮圭獥鑾峰彇 寮傚父绫诲瀷 + + [Route("Sc_MESTransFerWorkBill/Get_ErrMsgBackType")] + [HttpGet] + public object Get_ErrMsgBackType(string TypeName) + { + try + { + List<object> columnNameList = new List<object>(); + + string sql = "select HItemID,HName from Gy_ErrMsgBackType where HName='" + TypeName + "'"; + ds = oCN.RunProcReturn(sql, "Gy_ErrMsgBackType"); + + //娣诲姞鍒楀悕 + 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 ex) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + ex.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鎶ュ伐鍙拌烦杞紓甯稿弽棣堝崟 寮圭獥鑾峰彇 褰撳墠浜虹殑涓婄骇 + + [Route("Sc_MESTransFerWorkBill/Get_UserSuperiors")] + [HttpGet] + public object Get_UserSuperiors(string HName) + { + try + { + List<object> columnNameList = new List<object>(); + //鏍规嵁褰撳墠浜鸿幏鍙栬亴鍔� + string sql = "select a.Czymc 鐢ㄦ埛鍚嶇О,c.GroupName 鑱屽姟 from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserId left join System_UserGroup c on b.GroupId = c.GroupID where a.Czymc = '"+HName+"'"; + ds = oCN.RunProcReturn(sql, "Gy_ErrMsgBackType"); + string Job = ds.Tables[0].Rows[0]["鑱屽姟"].ToString(); + //鏍规嵁鑱屽姟鎵惧埌浠栫殑涓婄骇 + string sql1 = "select * from Gy_Duty where HParentID=(select HParentID from Gy_Duty where HItemID =(select HParentID from Gy_Duty group by HParentID, HName having HName = '"+Job+"' and count(*) = 1))"; + ds = oCN.RunProcReturn(sql1, "Gy_Duty"); + string Job1= ds.Tables[0].Rows[0]["HName"].ToString(); + //鐢ㄤ笂绾х殑鑱屽姟鎵惧埌鐢ㄦ埛 + string sql2 = "select a.Czymc 鐢ㄦ埛鍚嶇О from Gy_Czygl a left join System_UserGroupInfo b on a.Czybm = b.UserId left join System_UserGroup c on b.GroupId = c.GroupID where c.GroupName = '"+Job1+"'"; + ds = oCN.RunProcReturn(sql2, "Gy_Czygl"); + //娣诲姞鍒楀悕 + 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 ex) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + ex.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + } } \ No newline at end of file -- Gitblit v1.9.1