From 871bc633a7daf1893acc98a84c64c93c9a30aaff Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期二, 10 十二月 2024 15:28:13 +0800 Subject: [PATCH] 器具保养规程、器具点检规程、设备点检规程导出添加 --- WebAPI/Controllers/数据同步/钉钉同步/DD_DataSynchronizationController.cs | 787 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 734 insertions(+), 53 deletions(-) diff --git "a/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\351\222\211\351\222\211\345\220\214\346\255\245/DD_DataSynchronizationController.cs" "b/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\351\222\211\351\222\211\345\220\214\346\255\245/DD_DataSynchronizationController.cs" index 4bb6860..06f4011 100644 --- "a/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\351\222\211\351\222\211\345\220\214\346\255\245/DD_DataSynchronizationController.cs" +++ "b/WebAPI/Controllers/\346\225\260\346\215\256\345\220\214\346\255\245/\351\222\211\351\222\211\345\220\214\346\255\245/DD_DataSynchronizationController.cs" @@ -17,6 +17,8 @@ using DingTalk.Api.Response; using System.Globalization; using System.Linq; +using AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models; +using System.Text.RegularExpressions; namespace WebAPI.Controllers { @@ -75,7 +77,7 @@ private string AppKey = "dingiokapm2dvjrhzl2g"; //宸插垱寤虹殑浼佷笟鍐呴儴搴旂敤鐨凙ppKey銆� private string AppSecret = "dPUD7tN3BGVYAC4lDzhpcBH7O4FWFDdjLJWa6cVRBQj5U7GJ4Gwr7Vohnv0oPBOr"; //宸插垱寤虹殑浼佷笟鍐呴儴搴旂敤鐨凙ppSecret銆� private long AgentID = 3188176952; //搴旂敤鐨凙gentId - private string accessToken = ""; //璋冪敤璇ユ帴鍙g殑璁块棶鍑瘉銆� + public string accessToken = ""; //璋冪敤璇ユ帴鍙g殑璁块棶鍑瘉銆� private string ProcessInstanceId = ""; //瀹℃壒瀹炰緥ID銆� #endregion @@ -85,6 +87,13 @@ public long? TotalCount; public long? PageNumber; public List<string> Data; + } + //oa瀹℃壒杩斿洖绫� + public class OA_GetInstanceIDListResponse + { + public List<string> list;//鑾峰彇鐨刬d鍒楄〃 + public string nextToken; + public bool? success; } #region 鍒嗗眰瀹℃牳绛惧埌琛� @@ -358,8 +367,83 @@ public List<Sc_MouldRepairWorkBillSub> DetailColMouldRepair = new List<Sc_MouldRepairWorkBillSub>(); } - + #endregion + + #region 寮傚父宸ユ椂鐢宠鍗� + + #region 涓昏〃+瀛愯〃 + public class Pay_ErrWorkTimesRequestBill + { + public int HInterID; + public string HBillNo; + public string HDate; + public string HInnerBillNo; + public int HDeptID; + public string HDeptName; + public int HGroupID; + public string HGroupName; + public int HMangerID; + public string HManagerName; + public int HICMOInterID; + public string HICMOBillNo; + public string HExplanation; + public double HSumRequestTimes; + public int HMaterID; + public string HMaterName; + public int HUnitID; + public string HUnitName; + public double HPlanQty; + public string HBatchNo; + public string HRemark; + + public string HMaker; + public string HMakerDate; + public string HUpdater; + public string HUpdaterDate; + public string HChecker; + public string HCheckerDate; + public string HCloseMan; + public string HCloseManDate; + public string HDeleteMan; + public string HDeleteManDate; + public string HBacker; + public string HBackerDate; + public string HBackRemark; + public List<Pay_ErrWorkTimesRequestBillSub> Pay_ErrWorkTimesRequestBillSub = new List<Pay_ErrWorkTimesRequestBillSub>(); + } + #endregion + + #region 瀛愯〃 + public class Pay_ErrWorkTimesRequestBillSub + { + public int HEmpID; + public string HEmpNumber; + public string HEmpName; + public int HWorkTypeID; + public string HWorkTypeNumber; + public string HWorkTypeName; + public double HPayMoney; + public string HBTimes; + public string HETimes; + public double HTimes; + public double HRelTimes; + public double HRelPay; + public string HRemark; + + public int HSourceInterID; + public int HSourceEntryID; + public string HSourceBillNo; + public string HSourceBillType; + public double HRelationQty; + public double HRelationMoney; + public string HCloseMan; + public string HEntryCloseDate; + } + #endregion + + #endregion + #endregion #region 閽夐拤 閫氱敤鎿嶄綔鏂规硶 @@ -452,25 +536,29 @@ #region 鑾峰彇 閽夐拤-鏅鸿兘浜轰簨 鑾峰彇鍦ㄨ亴鍛樺伐ID鍒楄〃 public bool getEmployeeIDList_DingDing(long offset, long size, ref List<string> IDList, ref string msg) { + LogService.Write("鏌ョ湅5-1-1"); OapiSmartworkHrmEmployeeQueryonjobResponse response = new OapiSmartworkHrmEmployeeQueryonjobResponse(); do { if (getEmployeeIDList_Page_DingDing(offset, size, ref response, ref msg) == false) { + LogService.Write("鏌ョ湅5-1-2"); return false; } - + LogService.Write("鏌ョ湅5-1-3"); for (int i = 0; i < response.Result.DataList.Count; i++) { IDList.Add(response.Result.DataList[i]); } - + LogService.Write("鏌ョ湅5-1-4"); if (response.Result.NextCursor != 0) { + LogService.Write("鏌ョ湅5-1-4-1"); offset = response.Result.NextCursor; } else { + LogService.Write("鏌ョ湅5-1-5"); break; } } while (true); @@ -527,9 +615,9 @@ //TaskId = "12", //浠诲姟ID銆� //CreateFromTimeGMT = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd"), //鍒涘缓鏃堕棿璧峰鍊笺�� - //CreateToTimeGMT = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd hh:mm:ss"), //鍒涘缓鏃堕棿缁堟鍊笺�� + //CreateToTimeGMT = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss"), //鍒涘缓鏃堕棿缁堟鍊笺�� ModifiedFromTimeGMT = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"), //淇敼鏃堕棿璧峰鍊笺�� - ModifiedToTimeGMT = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), //淇敼鏃堕棿缁堟鍊笺�� + ModifiedToTimeGMT = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), //淇敼鏃堕棿缁堟鍊笺�� PageSize = pageSize, //鍒嗛〉澶у皬銆� PageNumber = pageNumber, //鍒嗛〉椤电爜 @@ -724,6 +812,145 @@ #endregion #endregion + #region oa 閫氱敤鎿嶄綔鏂规硶 + + #region OA 鑾峰彇瀹℃壒瀹炰緥ID鍒楄〃(鍗曢〉) + public bool getInstanceIDList_Page_OA(string processCode,DateTime startTime, DateTime endTime,long nextToken, int maxResult, List<string> statuses, ref OA_GetInstanceIDListResponse response, ref string msg) + { + AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client client = CreateClient1(); + AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ListProcessInstanceIdsHeaders listProcessInstanceIdsHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ListProcessInstanceIdsHeaders(); + listProcessInstanceIdsHeaders.XAcsDingtalkAccessToken = this.accessToken; + AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ListProcessInstanceIdsRequest listProcessInstanceIdsRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.ListProcessInstanceIdsRequest + { + Statuses = statuses, + StartTime = getTimeMillions(startTime), + EndTime = getTimeMillions(endTime), + ProcessCode = processCode, + NextToken = nextToken, + MaxResults = maxResult, + }; + try + { + ListProcessInstanceIdsResponse listProcessInstanceIdsResponse = client.ListProcessInstanceIdsWithOptions(listProcessInstanceIdsRequest, listProcessInstanceIdsHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); + response.success = listProcessInstanceIdsResponse.Body.Success; + response.list = listProcessInstanceIdsResponse.Body.Result.List; + response.nextToken = listProcessInstanceIdsResponse.Body.Result.NextToken; + return true; + } + catch (TeaException err) + { + if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message)) + { + // err 涓惈鏈� code 鍜� message 灞炴�э紝鍙府鍔╁紑鍙戝畾浣嶉棶棰� + } + msg = "閿欒浠g爜" + err.Code + "锛�" + err.Message; + return false; + } + catch (Exception _err) + { + TeaException err = new TeaException(new Dictionary<string, object> + { + { "message", _err.Message } + }); + if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message)) + { + // err 涓惈鏈� code 鍜� message 灞炴�э紝鍙府鍔╁紑鍙戝畾浣嶉棶棰� + } + msg = "閿欒浠g爜" + err.Code + "锛�" + err.Message; + return false; + } + } + #endregion + + #region 鑾峰彇 OA鎸囧畾鍗曟嵁鐨勫疄渚婭D鍒楄〃(鍏ㄩ儴) + public bool getInstanceIDList_OA(string processCode, DateTime startTime, DateTime endTime, long nextToken, int maxResult, List<string> statuses, ref List<string> IDList, ref string msg) + { + OA_GetInstanceIDListResponse response = new OA_GetInstanceIDListResponse(); + response.nextToken = nextToken.ToString();//璧嬪�煎垵濮嬪�� + do + { + nextToken = long.Parse(response.nextToken); + if (getInstanceIDList_Page_OA(processCode, startTime, endTime, nextToken, maxResult, statuses,ref response, ref msg) == false) + { + return false; + } + + for (int i = 0; i < response.list.Count; i++) + { + IDList.Add(response.list[i]); + } + + } while (response.nextToken!=null); + return true; + } + #endregion + + #region 鑾峰彇 OA 鏍规嵁瀹炰緥ID鑾峰彇瀹炰緥璇︽儏 + public bool getInstanceDetailByInstanceID_OA(string processinstanceID,ref GetProcessInstanceResponse response, ref string msg) + { + AlibabaCloud.SDK.Dingtalkworkflow_1_0.Client client = CreateClient1(); + AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetProcessInstanceHeaders getProcessInstanceHeaders = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetProcessInstanceHeaders(); + getProcessInstanceHeaders.XAcsDingtalkAccessToken = this.accessToken; + AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetProcessInstanceRequest getProcessInstanceRequest = new AlibabaCloud.SDK.Dingtalkworkflow_1_0.Models.GetProcessInstanceRequest + { + ProcessInstanceId = processinstanceID, + }; + try + { + response = client.GetProcessInstanceWithOptions(getProcessInstanceRequest, getProcessInstanceHeaders, new AlibabaCloud.TeaUtil.Models.RuntimeOptions()); + return true; + } + catch (TeaException err) + { + if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message)) + { + // err 涓惈鏈� code 鍜� message 灞炴�э紝鍙府鍔╁紑鍙戝畾浣嶉棶棰� + } + msg = "閿欒浠g爜" + err.Code + "锛�" + err.Message; + return false; + } + catch (Exception _err) + { + TeaException err = new TeaException(new Dictionary<string, object> + { + { "message", _err.Message } + }); + if (!AlibabaCloud.TeaUtil.Common.Empty(err.Code) && !AlibabaCloud.TeaUtil.Common.Empty(err.Message)) + { + // err 涓惈鏈� code 鍜� message 灞炴�э紝鍙府鍔╁紑鍙戝畾浣嶉棶棰� + } + msg = "閿欒浠g爜" + err.Code + "锛�" + err.Message; + return false; + } + } + #endregion + + #region 鑾峰彇 OA 鏍规嵁瀹炰緥ID鍒楄〃鑾峰彇瀹炰緥璇︽儏鍒楄〃 + public bool getInstanceDetailListByInstanceIDList_OA(List<string> processinstanceIDList, ref List<GetProcessInstanceResponse> responseList, ref string msg) + { + GetProcessInstanceResponse getProcessInstanceResponse = new GetProcessInstanceResponse(); + try + { + foreach(string processinstanceID in processinstanceIDList) + { + if(!getInstanceDetailByInstanceID_OA(processinstanceID,ref getProcessInstanceResponse,ref msg)) + { + return false; + } + responseList.Add(getProcessInstanceResponse); + } + return true; + } + catch (Exception e) + { + msg = e.Message; + return false; + } + } + #endregion + + #endregion + #region 鏁版嵁鍚屾鏂规硶 #region 鏁版嵁鍚屾-鍒嗗眰瀹℃牳绛惧埌琛� #region 鑾峰彇 瀹滄惌-鍒嗗眰瀹℃牳绛惧埌琛� 瀹炰緥ID鍒楄〃瀵瑰簲鐨勫疄渚嬭鎯� @@ -875,6 +1102,7 @@ lsmain.Add(oItem); }catch(Exception e) { + LogService.Write("鏌ョ湅1" + e.Message); continue; } } @@ -911,7 +1139,7 @@ string formUuid = "FORM-A01FFB0B63A34F18B7753F695F49190DJEY7"; //绛惧埌琛� int pageNumber = 1; int pageSize = 100; - + LogService.Write("鏌ョ湅1"); //鑾峰彇鍒嗗眰瀹℃牳琛ㄧ殑瀹炰緥ID鍒楄〃 List<string> IDList = new List<string>(); if (getInstanceIDList_YiDa(appType, systemToken, userID, formUuid, pageNumber, pageSize, ref IDList, ref msg) == false) @@ -1118,6 +1346,7 @@ lsmain.Add(oItem); }catch(Exception e) { + LogService.Write("鏌ョ湅2"+e.Message); continue; } } @@ -1149,7 +1378,7 @@ string formUuid = "FORM-E3DFC12364514330A836DD3056C15668UGG7"; int pageNumber = 1; int pageSize = 100; - + LogService.Write("鏌ョ湅2"); //鑾峰彇瀹炰緥ID鍒楄〃 List<string> IDList = new List<string>(); if (getInstanceIDList_YiDa(appType, systemToken, userID, formUuid, pageNumber, pageSize, ref IDList, ref msg) == false) @@ -1387,6 +1616,7 @@ } catch (Exception e) { + LogService.Write("鏌ョ湅3"+e.Message); continue; } } @@ -1418,7 +1648,7 @@ string formUuid = "FORM-K5766HA1CKZB4E1L64Y1KBWCJTQF2HWJ3NDJL4"; int pageNumber = 1; int pageSize = 100; - + LogService.Write("鏌ョ湅3"); //鑾峰彇瀹炰緥ID鍒楄〃 List<string> IDList = new List<string>(); if (getInstanceIDList_YiDa(appType, systemToken, userID, formUuid, pageNumber, pageSize, ref IDList, ref msg) == false) @@ -1690,6 +1920,7 @@ } catch (Exception e) { + LogService.Write("鏌ョ湅4"+e.Message); continue; } } @@ -1721,7 +1952,7 @@ string formUuid = "FORM-65AD77453E7F44EA847166C3AB5A1F04IPSS"; int pageNumber = 1; int pageSize = 100; - + LogService.Write("鏌ョ湅4"); //鑾峰彇瀹炰緥ID鍒楄〃 List<string> IDList = new List<string>(); if (getInstanceIDList_YiDa(appType, systemToken, userID, formUuid, pageNumber, pageSize, ref IDList, ref msg) == false) @@ -1935,6 +2166,7 @@ } catch (Exception e) { + LogService.Write("鏌ョ湅5"+e.Message); continue; } } @@ -1966,14 +2198,16 @@ { long offset = 0; long size = 50; - + LogService.Write("鏌ョ湅5"); + LogService.Write("鏌ョ湅5.1"); //鑾峰彇鑺卞悕鍐岃亴鍛業D鍒楄〃 List<string> IDList = new List<string>(); if (getEmployeeIDList_DingDing(offset, size, ref IDList, ref msg) == false) { + LogService.Write("鏌ョ湅5-1"+ msg); return false; } - + LogService.Write("鏌ョ湅5-2"); //鑾峰彇璇︾粏淇℃伅骞堕檮鍔犲埌鍒楄〃lsmain涓� List<DD_HuaMingCe> lsmain = new List<DD_HuaMingCe>(); if (getEmployeeDetailList_HuaMingCe__DingDing(IDList, ref lsmain, ref msg) == false) @@ -1982,6 +2216,7 @@ } try { + LogService.Write("鏌ョ湅5-3"); oCN.BeginTran(); foreach (DD_HuaMingCe oItem in lsmain) { @@ -2006,12 +2241,14 @@ oCN.RunProc(sql_main); } + LogService.Write("鏌ョ湅5-4"); oCN.Commit(); return true; } catch (Exception e) { msg = e.Message; + LogService.Write("鏌ョ湅5鎶ラ敊:" + e.Message); oCN.RollBack(); return false; } @@ -2071,11 +2308,88 @@ { continue; } + string HStaus = ""; + + switch (getInstanceByIdResponse.Body.InstanceStatus) + { + case "COMPLETED": + HStaus = "缁翠慨缁撴潫"; + break; + case "RUNNING": + HStaus = "缁翠慨杩涜涓�"; + break; + case "TERMINATED": + HStaus = "缁翠慨缁堟"; + break; + } + + LogService.Write("鐘舵��:" + HStaus); if (getInstanceByIdResponse.Body.InstanceStatus != "COMPLETED") { - //continue; + //妯″叿缂栫爜 + if (keys.Contains("selectField_lq3idkvg")) + { + string HDate_Temp = response.Body.Result[i].FormData["selectField_lq3idkvg"].ToString(); + LogService.Write("妯″叿:" + HDate_Temp); + DataSet ds = oCN.RunProcReturn("select * from Gy_MouldFileMain with(nolock) where HMouldNo='" + HDate_Temp + "'", "Gy_MouldFileMain"); + string HMouldID = "0"; + if (ds.Tables[0].Rows.Count > 0) + { + LogService.Write("娴嬭瘯1:" + ds.Tables[0].Rows[0]["HCloseDate"].ToString()); + string HUpdateDate = ds.Tables[0].Rows[0]["HCloseDate"].ToString() == "" ? "1900-01-01 00:00:00" : ds.Tables[0].Rows[0]["HCloseDate"].ToString(); + string HMouldStaus = ds.Tables[0].Rows[0]["HMouldStatus"].ToString(); + LogService.Write("妯″叿:" + HDate_Temp + ",鐘舵��:" + HMouldStaus + ",鏃堕棿:" + HUpdateDate); + HMouldID = ds.Tables[0].Rows[0]["HInterID"].ToString(); + if (HMouldStaus != HStaus && DateTime.Parse(HUpdateDate) <= DateTime.Parse(oItem.HUpdateDate)) { + //淇敼妯″叿鐨勭姸鎬佸拰鏃堕棿 + oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='" + HStaus + "',HCloseDate='" + oItem.HUpdateDate + "' WHERE HInterID =" + HMouldID); + } + } + } + + continue; } + + //妯″叿缂栫爜 + if (keys.Contains("selectField_lq3idkvg")) + { + string HDate_Temp = response.Body.Result[i].FormData["selectField_lq3idkvg"].ToString(); + LogService.Write("妯″叿:" + HDate_Temp); + DataSet ds = oCN.RunProcReturn("select * from Gy_MouldFileMain with(nolock) where HMouldNo='" + HDate_Temp + "'", "Gy_MouldFileMain"); + string HMouldID = "0"; + if (ds.Tables[0].Rows.Count > 0) + { + LogService.Write("娴嬭瘯2:" + ds.Tables[0].Rows[0]["HCloseDate"].ToString()); + HMouldID = ds.Tables[0].Rows[0]["HInterID"].ToString(); + string HUpdateDate = ds.Tables[0].Rows[0]["HCloseDate"].ToString() == "" ? "1900-01-01 00:00:00" : ds.Tables[0].Rows[0]["HCloseDate"].ToString(); + + string HMouldStaus = ds.Tables[0].Rows[0]["HMouldStatus"].ToString(); + + LogService.Write("妯″叿:" + HDate_Temp+ ",鐘舵��:" + HMouldStaus + ",鏃堕棿:" + HUpdateDate); + if (HMouldStaus != HStaus && DateTime.Parse(HUpdateDate) <= DateTime.Parse(oItem.HUpdateDate)) + { + //淇敼妯″叿鐨勭姸鎬佸拰鏃堕棿 + oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='" + HStaus + "',HCloseDate='" + oItem.HUpdateDate + "' WHERE HInterID =" + HMouldID); + } + } + oItem.HMouldID = long.Parse(HMouldID); + oItem.HRemark = HDate_Temp; + //LogService.Write("娴嬭瘯3:" + HMouldID); + + //鏌ヨ淇濆吇璁″垝 + ds = oCN.RunProcReturn(@"select a.HInterID,a.HBillNo from Sc_MouldMaintainPlanBillMain a + inner join Sc_MouldMaintainPlanBillSub b on a.HInterID = b.HInterID + where a.HMouldID =" + oItem.HMouldID+ " order by a.HMakeDate desc", "Sc_MouldMaintainPlanBillMain"); + //LogService.Write("娴嬭瘯4:"); + oItem.HPlanInterID = ""; + if (ds.Tables[0].Rows.Count > 0) + { + oItem.HPlanInterID = ds.Tables[0].Rows[0]["HInterID"].ToString(); + oItem.HPlanNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); + } + } + LogService.Write("妯″叿缂栫爜:" + oItem.HMouldID); //寮�鍗曟棩鏈� if (keys.Contains("dateField_lq0v65sv")) @@ -2083,6 +2397,7 @@ double HDate_Temp = double.Parse(response.Body.Result[i].FormData["dateField_lq0v65sv"].ToString()); oItem.HDate = convertFromMillisecondsToDateString(HDate_Temp, "yyyy-MM-dd HH:mm"); } + LogService.Write("寮�鍗曟棩鏈�:" + oItem.HDate); //妯″叿淇濆吇绾у埆 if (keys.Contains("selectField_m1ip9j31")) @@ -2107,6 +2422,7 @@ oItem.HMaintainLevID = HDate_Temp; } + LogService.Write("妯″叿淇濆吇绾у埆:" + oItem.HMaintainLevID); //淇ā寮�濮嬫椂闂� if (keys.Contains("dateField_lq4gf2ih")) @@ -2114,6 +2430,7 @@ double HDate_Temp = double.Parse(response.Body.Result[i].FormData["dateField_lq4gf2ih"].ToString()); oItem.HRepairBeginDate = DateTime.Parse(convertFromMillisecondsToDateString(HDate_Temp, "yyyy-MM-dd HH:mm")); } + LogService.Write("淇ā寮�濮嬫椂闂�:" + oItem.HRepairBeginDate); //淇ā缁撴潫鏃堕棿 if (keys.Contains("dateField_lq4gf2ii")) @@ -2121,6 +2438,7 @@ double HDate_Temp = double.Parse(response.Body.Result[i].FormData["dateField_lq4gf2ii"].ToString()); oItem.HRepairEndDate = DateTime.Parse(convertFromMillisecondsToDateString(HDate_Temp, "yyyy-MM-dd HH:mm")); } + LogService.Write("淇ā缁撴潫鏃堕棿:" + oItem.HRepairEndDate); //妯″叿鍗曟嵁鍙� if (keys.Contains("serialNumberField_lqaak4ts")) @@ -2128,6 +2446,7 @@ string HDate_Temp = response.Body.Result[i].FormData["serialNumberField_lqaak4ts"].ToString(); oItem.HBillNo = HDate_Temp; } + LogService.Write("妯″叿鍗曟嵁鍙�:" + oItem.HBillNo); //瑕佹眰瀹屾垚鏃ユ湡 if (keys.Contains("dateField_lq3idkvd")) @@ -2135,6 +2454,7 @@ double HDate_Temp = double.Parse(response.Body.Result[i].FormData["dateField_lq3idkvd"].ToString()); oItem.HRequestComDate = DateTime.Parse(convertFromMillisecondsToDateString(HDate_Temp, "yyyy-MM-dd HH:mm:ss")); } + LogService.Write("瑕佹眰瀹屾垚鏃ユ湡:" + oItem.HRequestComDate); //缁翠慨鍙楃悊鏃ユ湡 if (keys.Contains("dateField_lq4gf2ih")) @@ -2142,6 +2462,7 @@ double HDate_Temp = double.Parse(response.Body.Result[i].FormData["dateField_lq4gf2ih"].ToString()); oItem.HRepairAccepDate = DateTime.Parse(convertFromMillisecondsToDateString(HDate_Temp, "yyyy-MM-dd HH:mm:ss")); } + LogService.Write("缁翠慨鍙楃悊鏃ユ湡:" + oItem.HRepairAccepDate); //鏈�杩戜繚鍏绘ā鏁� if (keys.Contains("numberField_lq3idkvi")) @@ -2149,6 +2470,7 @@ string HDate_Temp = response.Body.Result[i].FormData["numberField_lq3idkvi"].ToString(); oItem.HRecentMainModule = double.Parse(HDate_Temp); } + LogService.Write("鏈�杩戜繚鍏绘ā鏁�:" + oItem.HRecentMainModule); //绱妯℃暟 if (keys.Contains("numberField_lq3idkvj")) @@ -2156,6 +2478,7 @@ string HDate_Temp = response.Body.Result[i].FormData["numberField_lq3idkvj"].ToString(); oItem.HCumulativeModule = double.Parse(HDate_Temp); } + LogService.Write("绱妯℃暟:" + oItem.HCumulativeModule); //鏈鐢熶骇妯℃暟 if (keys.Contains("textField_lq4vdvgh")) @@ -2163,32 +2486,7 @@ string HDate_Temp = response.Body.Result[i].FormData["textField_lq4vdvgh"].ToString(); oItem.HProductionModule = double.Parse(HDate_Temp); } - - //妯″叿缂栫爜 - if (keys.Contains("selectField_lq3idkvg")) - { - string HDate_Temp = response.Body.Result[i].FormData["selectField_lq3idkvg"].ToString(); - DataSet ds = oCN.RunProcReturn("select * from Gy_MouldFileMain with(nolock) where HNumber='" + HDate_Temp + "'", "Gy_MouldFileMain"); - string HMouldID = "0"; - if (ds.Tables[0].Rows.Count > 0) - { - HMouldID = ds.Tables[0].Rows[0]["HInterID"].ToString(); - } - oItem.HMouldID = long.Parse(HMouldID); - oItem.HRemark = HDate_Temp; - - - //鏌ヨ淇濆吇璁″垝 - ds = oCN.RunProcReturn(@"select a.HInterID,a.HBillNo from Sc_MouldMaintainPlanBillMain a - inner join Sc_MouldMaintainPlanBillSub b on a.HInterID = b.HInterID - where a.HMouldID =" + oItem.HMouldID + " and a.HMaintainLevID = " + oItem.HMaintainLevID, "Sc_MouldMaintainPlanBillMain"); - - if (ds.Tables[0].Rows.Count > 0) { - oItem.HPlanInterID = ds.Tables[0].Rows[0]["HInterID"].ToString(); - oItem.HPlanNo = ds.Tables[0].Rows[0]["HInterID"].ToString(); - } - } - + LogService.Write("绱妯℃暟:" + oItem.HProductionModule); //缁翠慨閮ㄩ棬 if (keys.Contains("selectField_lq3idkva")) @@ -2202,6 +2500,7 @@ } oItem.HDeptID = long.Parse(HDeptID); } + LogService.Write("缁翠慨閮ㄩ棬:" + oItem.HDeptID); //鏂拌璁″鍛� oItem.HNewDesignLife = 30000; @@ -2218,6 +2517,7 @@ } oItem.HEmpID = long.Parse(HEmpID); } + LogService.Write("缁翠慨浜�:" + oItem.HEmpID); //缁翠慨鏃堕棿 if (keys.Contains("numberField_lq3ixr9j")) @@ -2227,6 +2527,7 @@ oItem.HTimes = long.Parse(HDate_Temp); oItem.HPlanTimes = long.Parse(HDate_Temp); } + LogService.Write("缁翠慨鏃堕棿:" + oItem.HTimes); //瀛愯〃 缁翠慨瑕佹眰 缁翠慨澶囨敞(闂鎻忚堪) if (keys.Contains("tableField_lq3ixr9b")) @@ -2243,15 +2544,19 @@ { oItemSub.HRepairExplanation = dic[ij]["textareaField_lq3ixr9e"].ToString(); } + LogService.Write("缁翠慨瑕佹眰:" + oItemSub.HRepairExplanation); //澶囨敞 if (keys_Sub.Contains("textField_lq3ixr9d")) { oItemSub.HRemark = dic[ij]["textField_lq3ixr9d"].ToString(); } + LogService.Write("澶囨敞:" + oItemSub.HRemark); + oItem.DetailColMouldRepair.Add(oItemSub); } } + string HRemark = ""; //瀛愯〃 淇濆吇澶囨敞(闂鎻忚堪) @@ -2273,9 +2578,10 @@ oItemSub.HClaim = HDate_Temp[ij]; oItemSub.HMaintainResult = HRemark; oItem.DetailColMouldMaintain.Add(oItemSub); + LogService.Write("鍏蜂綋瑕佹眰:" + oItemSub.HClaim); } - } + int startindex = response.Body.Result[i].Title.IndexOf("zh_CN") + 8; oItem.HTitle = startIndex + response.Body.Result[i].Title.Substring(startindex).Replace("\"}", "").Replace("'", ""); @@ -2310,6 +2616,7 @@ } catch (Exception e) { + LogService.Write("鎶ラ敊:" + e.Message); continue; } } @@ -2345,7 +2652,7 @@ string formUuid = "FORM-30C78F46E77E46A9AA8778214CEFE6B5J0AN"; int pageNumber = 1; int pageSize = 100; - + LogService.Write("鏌ョ湅7"); //鑾峰彇妯″叿缁翠慨淇濆吇琛ㄧ殑瀹炰緥ID鍒楄〃 List<string> IDList = new List<string>(); if (getInstanceIDList_YiDa(appType, systemToken, userID, formUuid, pageNumber, pageSize, ref IDList, ref msg) == false) @@ -2404,18 +2711,18 @@ string sql_main = "Insert Into Sc_MouldMaintainBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" + ",HYear,HPeriod,HRemark,HUpDateDate" + - ",HPlanNo,HPlanInterID,HMouldID,HBeginDate" + + ",HMouldID,HBeginDate" + ",HEndDate" + - ",HInnerBillNo,HExplanation,HMouldMaintainRuleInterID,HMaintainLevID,HLastResult" + + ",HInnerBillNo,HExplanation,HMouldMaintainRuleInterID,HLastResult" + ",HRequestComDate,HRecentMainModule,HCumulativeModule,HProductionModule" + ",HPlanInterID,HPlanNo,HMaintainLevID)" + "values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + oItem.HBillNo + "','"+ oItem.HDate + "','" + oItem.HOriginator + "','" + oItem.HMakeDate + "'" + ",'" + DateTime.Now.Year + "','" + DateTime.Now.Month + "','"+ oItem.HRemark + "','" + oItem.HUpdateDate + "'" + - ",'','0','" + oItem.HMouldID + "','" + oItem.HRepairBeginDate + "'" + + ",'" + oItem.HMouldID + "','" + oItem.HRepairBeginDate + "'" + ",'" + oItem.HRepairEndDate + "'" + - ",'" + oItem.HInstanceID + "','',"+ HMouldMaintainRuleInterID + ",0,'OK'" + + ",'" + oItem.HInstanceID + "','',"+ HMouldMaintainRuleInterID + ",'OK'" + ",'"+ oItem.HRequestComDate + "'," + oItem.HRecentMainModule + "," + oItem.HCumulativeModule + "," + oItem.HProductionModule + "" + - "," + oItem.HPlanInterID + "," + oItem.HPlanNo + "," + oItem.HMaintainLevID + ")"; + "," + (oItem.HPlanInterID == "" ? "0" : oItem.HPlanInterID) + ",'" + oItem.HPlanNo + "'," + oItem.HMaintainLevID + ")"; LogService.Write(sql_main); oCN.RunProc(sql_main); int i = 1; @@ -2557,32 +2864,79 @@ continue; } + string HStaus = ""; + + switch (getInstanceByIdResponse.Body.InstanceStatus) + { + case "COMPLETED": + HStaus = "缁翠慨缁撴潫"; + break; + case "RUNNING": + HStaus = "缁翠慨杩涜涓�"; + break; + case "TERMINATED": + HStaus = "缁翠慨缁堟"; + break; + } + LogService.Write("鐘舵��:" + HStaus); if (getInstanceByIdResponse.Body.InstanceStatus != "COMPLETED") { + //璁惧缂栫爜 + if (keys.Contains("textField_lfg9hgys")) + { + string HDate_Temp = response.Body.Result[i].FormData["textField_lfg9hgys"].ToString(); + DataSet ds = oCN.RunProcReturn("select * from Gy_EquipFileBillMain with(nolock) where HEquipFileNo='" + HDate_Temp + "'", "Gy_EquipFileBillMain"); + string HEquipID = "0"; + if (ds.Tables[0].Rows.Count > 0) + { + HEquipID = ds.Tables[0].Rows[0]["HInterID"].ToString(); + oItem.HEquipID = long.Parse(HEquipID); + oItem.HRemark2 = HDate_Temp; + + string HUpdateDate = ds.Tables[0].Rows[0]["HCloseDate"].ToString()==""?"1900-01-01 00:00:00": ds.Tables[0].Rows[0]["HCloseDate"].ToString(); + string HMouldStaus = ds.Tables[0].Rows[0]["HStatus"].ToString(); + LogService.Write("璁惧:" + HDate_Temp + ",鐘舵��:" + HMouldStaus + ",鏃堕棿:" + HUpdateDate); + if (HMouldStaus != HStaus && DateTime.Parse(HUpdateDate) <= DateTime.Parse(oItem.HUpdateDate)) + { + //淇敼璁惧鐨勭姸鎬佸拰鏃堕棿 + oCN.RunProc("update Gy_EquipFileBillMain set HStatus='" + HStaus + "',HCloseDate='" + oItem.HUpdateDate + "' WHERE HInterID =" + HEquipID); + } + } + } continue; } - if (oItem.HInstanceID != "9b6e108c-b7bf-45e4-910d-5629ac30d4aa") { - continue; - } + //if (oItem.HInstanceID != "9b6e108c-b7bf-45e4-910d-5629ac30d4aa") { + // continue; + //} //璁惧缂栫爜 if (keys.Contains("textField_lfg9hgys")) { string HDate_Temp = response.Body.Result[i].FormData["textField_lfg9hgys"].ToString(); DataSet ds = oCN.RunProcReturn("select * from Gy_EquipFileBillMain with(nolock) where HEquipFileNo='" + HDate_Temp + "'", "Gy_EquipFileBillMain"); + LogService.Write("璁惧鏃�:" + HDate_Temp); string HEquipID = "0"; if (ds.Tables[0].Rows.Count > 0) { HEquipID = ds.Tables[0].Rows[0]["HInterID"].ToString(); oItem.HEquipID = long.Parse(HEquipID); oItem.HRemark2 = HDate_Temp; + string HUpdateDate = ds.Tables[0].Rows[0]["HCloseDate"].ToString() == "" ? "1900-01-01 00:00:00" : ds.Tables[0].Rows[0]["HCloseDate"].ToString(); + string HMouldStaus = ds.Tables[0].Rows[0]["HStatus"].ToString(); + LogService.Write("璁惧:" + HDate_Temp + ",鐘舵��:" + HMouldStaus + ",鏃堕棿:" + HUpdateDate); + if (HMouldStaus != HStaus && DateTime.Parse(HUpdateDate) <= DateTime.Parse(oItem.HUpdateDate)) + { + //淇敼璁惧鐨勭姸鎬佸拰鏃堕棿 + oCN.RunProc("update Gy_EquipFileBillMain set HStatus='" + HStaus + "',HCloseDate='" + oItem.HUpdateDate + "' WHERE HInterID =" + HEquipID); + } } else { continue; } } + LogService.Write("璁惧:" + oItem.HEquipID); //缁翠慨閮ㄩ棬 if (keys.Contains("selectField_kzgkw10a")) @@ -2601,6 +2955,7 @@ } } + LogService.Write("缁翠慨閮ㄩ棬:" + oItem.HDeptID); //缁翠慨浜� if (keys.Contains("employeeField_lthwkdh2")) @@ -2619,6 +2974,7 @@ } } + LogService.Write("缁翠慨浜�:" + oItem.HEmpID); //缁翠慨鍐呭 if (keys.Contains("textField_l2r9bvwk")) @@ -2627,6 +2983,7 @@ oItem.HRepairContent = HDate_Temp; } + LogService.Write("缁翠慨鍐呭:" + oItem.HRepairContent); //鎶ヤ慨绫诲埆 if (keys.Contains("multiSelectField_lfg9hgyv")) @@ -2635,7 +2992,7 @@ oItem.HRepairCategory = HDate_Temp[0]; } - + LogService.Write("鎶ヤ慨绫诲埆:" + oItem.HRepairCategory); //绱ф�ョ▼搴� if (keys.Contains("radioField_kzgkw10c")) { @@ -2643,6 +3000,7 @@ oItem.HUrgenLevel = HDate_Temp; } + LogService.Write("绱ф�ョ▼搴�:" + oItem.HUrgenLevel); //鎶ヤ慨浜� if (keys.Contains("employeeField_lkasesrk")) @@ -2651,6 +3009,7 @@ oItem.HRepairer = HDate_Temp[0]; } + LogService.Write("鎶ヤ慨浜�:" + oItem.HRepairer); //鏄惁鏈変骇鑳藉奖鍝� if (keys.Contains("textField_lyjddw0r")) @@ -2659,7 +3018,8 @@ oItem.HIsCapacityImpact = HDate_Temp; } - + LogService.Write("鏄惁鏈変骇鑳藉奖鍝�:" + oItem.HIsCapacityImpact); + //缁翠慨鏃堕棿 if (keys.Contains("textField_l2r95oo2")) { @@ -2675,6 +3035,8 @@ oItem.HTimes = int.Parse(new string(HDate_Temp.Where(char.IsDigit).ToArray())); oItem.HPlanTimes = int.Parse(new string(HDate_Temp.Where(char.IsDigit).ToArray())); } + LogService.Write("缁翠慨鏃堕棿:" + oItem.HTimes); + //瀛愯〃 缁翠慨瑕佹眰 缁翠慨澶囨敞(闂鎻忚堪) @@ -2687,6 +3049,7 @@ oItem.HExplanation = HDate_Temp; sub.HRepairExplanation = HDate_Temp; } + LogService.Write("缁翠慨瑕佹眰:" + oItem.HExplanation); //澶囨敞 if (keys.Contains("textField_l2r95oo0")) @@ -2695,6 +3058,8 @@ sub.HRemark = HDate_Temp; } + LogService.Write("澶囨敞:" + oItem.HRemark); + oItem.DetailColMouldRepair.Add(sub); int startindex = response.Body.Result[i].Title.IndexOf("zh_CN") + 8; @@ -2730,7 +3095,7 @@ } catch (Exception e) { - LogService.Write(e.Message); + LogService.Write("鎶ラ敊:" + e.Message); a = ""; continue; } @@ -2766,7 +3131,7 @@ string formUuid = "FORM-OM566O7177LW0ARJ5IMFF63NTFKA34G9RL2YKN1"; int pageNumber = 1; int pageSize = 100; - + LogService.Write("鏌ョ湅6"); //鑾峰彇璁惧缁翠慨淇濆吇琛ㄧ殑瀹炰緥ID鍒楄〃 List<string> IDList = new List<string>(); if (getInstanceIDList_YiDa(appType, systemToken, userID, formUuid, pageNumber, pageSize, ref IDList, ref msg) == false) @@ -2857,6 +3222,288 @@ #endregion #endregion + #region 鏁版嵁鍚屾-寮傚父宸ユ椂鍗昈A閲岃幏鍙� + + #region 绫诲瀷杞崲鎻愬彇response涓殑value瀵硅薄 + public class StatValue + { + public string Id { get; set; } + public string Label { get; set; } + public string Upper { get; set; } + public string Num { get; set; } + } + + public class ExtValue + { + public List<StatValue> StatValue { get; set; } + public string ComponentName { get; set; } + } + public class RowValue + { + public string Label { get; set; } + public object Value { get; set; } + public string Key { get; set; } + // 娉ㄦ剰锛氳繖閲屼笉瀹氫箟extendValue灞炴�э紝鍥犱负鎴戜滑涓嶉渶瑕佸畠 + // public SomeType ExtendValue { get; set; } // 濡傛灉闇�瑕侊紝鍙互娉ㄩ噴鎺夋垨鍒犻櫎杩欒 + } + public class Row + { + public List<RowValue> RowValue { get; set; } + public string RowNumber { get; set; } + // 娉ㄦ剰锛氳繖閲屽亣璁句綘涓嶉渶瑕乧omponentName锛屽洜涓篔SON绀轰緥涓病鏈夌洿鎺ュ寘鍚畠 + // 浣嗗鏋滀綘鐨勫疄闄匤SON鎴栭渶姹備腑鍖呭惈锛屼綘搴旇娣诲姞杩欎釜灞炴�� + // public string ComponentName { get; set; } + } + #endregion + + + #region OA寮傚父宸ユ椂鐢宠鍗� 瀹炰緥ID鍒楄〃瀵瑰簲鐨勫疄渚嬭鎯� + public bool getInstanceDetailList___ErrWorkTimesRequest_OA(List<string> processinstanceIDList, DateTime startTime, DateTime endTime, ref List<Pay_ErrWorkTimesRequestBill> lsmain,ref string msg) + { + try + { + List<GetProcessInstanceResponse> getProcessInstanceResponses = new List<GetProcessInstanceResponse>(); + //鑾峰彇閽夐拤response + if (getInstanceDetailListByInstanceIDList_OA(processinstanceIDList,ref getProcessInstanceResponses,ref msg)==false) + { + return false; + } + foreach(GetProcessInstanceResponse getProcessInstanceResponse in getProcessInstanceResponses) + { + Pay_ErrWorkTimesRequestBill oItem = new Pay_ErrWorkTimesRequestBill(); + //涓昏〃 + oItem.HDate = getProcessInstanceResponse.Body.Result.FormComponentValues[1].Value;//鍗曟嵁鏃ユ湡璁℃椂鏃堕棿 + DateTime dateTime1 = DateTime.ParseExact(oItem.HDate + " 00:00:00", "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); + if (!(DateTime.Compare(dateTime1, startTime)>=0&& DateTime.Compare(dateTime1, endTime) <= 0))//鎺у埗鏃堕棿 + { + continue; + } + string result = getProcessInstanceResponse.Body.Result.Result.ToString(); + if (result != "agree") + { + continue; + } + string[] deptNameAndGroupName = getProcessInstanceResponse.Body.Result.OriginatorDeptName.Split('-');//鑾峰彇閮ㄩ棬鎷兼帴瀛楃涓叉暟缁� + oItem.HDeptName = deptNameAndGroupName[1]; + oItem.HGroupName = deptNameAndGroupName[deptNameAndGroupName.Length-1]; + //涓荤-璐熻矗浜� + string HManagerValue = getProcessInstanceResponse.Body.Result.FormComponentValues[9].Value;//鑾峰彇鐨勫悕瀛楀惈鍚庣紑鑻辨枃 + string pattern = @"[\u4e00-\u9fff]+"; // 涓枃瀛楃鐨刄nicode鑼冨洿 + + MatchCollection matches = Regex.Matches(HManagerValue, pattern); + + // 鍒涘缓涓�涓猄tringBuilder鏉ユ嫾鎺ユ墍鏈夊尮閰嶇殑涓枃瀛楃 + System.Text.StringBuilder chineseChars = new System.Text.StringBuilder(); + foreach (Match match in matches) + { + chineseChars.Append(match.Value); + } + string HManagerName = chineseChars.ToString(); + DataSet ds = oCN.RunProcReturn("select * from Gy_Employee with(nolock) where HName='" + HManagerName + "'", "Gy_Employee"); + string HMangerID = "0"; + if (ds.Tables[0].Rows.Count > 0) + { + HMangerID = ds.Tables[0].Rows[0]["HItemID"].ToString(); + } + oItem.HMangerID = int.Parse(HMangerID); + //澶勭悊閮ㄩ棬鍜岀彮缁勫悕绉癷d + ds = oCN.RunProcReturn("select * from h_v_GroupList with(nolock) where 鐝粍鍚嶇О='" + oItem.HGroupName + "'", "h_v_GroupList"); + string HDeptID = "0"; + if (ds.Tables[0].Rows.Count > 0) + { + HDeptID = ds.Tables[0].Rows[0]["HDeptID"].ToString(); + } + oItem.HDeptID = int.Parse(HDeptID); + ds = oCN.RunProcReturn("select * from Gy_Group with(nolock) where HName='" + oItem.HGroupName + "'", "Gy_Group"); + string HGroupID = "0"; + if (ds.Tables[0].Rows.Count > 0) + { + HGroupID = ds.Tables[0].Rows[0]["HItemID"].ToString(); + } + oItem.HGroupID = int.Parse(HGroupID); + + //鍙嶅簭鍒楀寲鏄庣粏鍐呭 + string tableFieldValue = getProcessInstanceResponse.Body.Result.FormComponentValues[11].Value; + List<Row> rows = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Row>>(tableFieldValue); + ExtValue extValue = Newtonsoft.Json.JsonConvert.DeserializeObject<ExtValue>(getProcessInstanceResponse.Body.Result.FormComponentValues[11].ExtValue); + oItem.HBatchNo = rows[0].RowValue[1].Value.ToString();//鎵规鍙�-璁㈠崟鍙风爜 + //浠诲姟鎻忚堪-浠诲姟绫诲瀷+宸ヤ綔鍐呭 + oItem.HExplanation = getProcessInstanceResponse.Body.Result.FormComponentValues[2].Value + "-" + rows[0].RowValue[0].Value; + oItem.HSumRequestTimes = double.Parse(extValue.StatValue[1].Num);//鎬绘椂闀� + oItem.HPlanQty = 0;//璁″垝鏁伴噺 + oItem.HRemark = "閽夐拤瀵煎叆" + getProcessInstanceResponse.Body.Result.Title;//澶囨敞 + //寰幆閬嶅巻鑾峰彇鑱屽憳鍚嶇Оid锛屽伐鏃� + for (int i = 0; i < rows.Count; i++) + { + if (rows[i].RowValue.Count<10) + { + continue; + } + string[] nameArray = rows[i].RowValue[4].Value.ToString().Split(',');//鑾峰彇姣忎釜浜虹殑浜哄悕 + oItem.HPlanQty += double.Parse(rows[i].RowValue[2].Value.ToString());//璁″垝鏁伴噺 + for (int j = 0; j < int.Parse(rows[i].RowValue[5].Value.ToString()); j++) + { + if (nameArray.Length < j + 1)//闃叉鍑虹幇浜虹鑱屼簡璁℃椂鍗曠敵璇峰畬浜嗗鑷存妧鏈汉鍛樹笌璁℃椂浜烘暟涓嶄竴鑷寸殑闂 + { + continue; + } + Pay_ErrWorkTimesRequestBillSub pay_ErrWorkTimesRequestBillSub = new Pay_ErrWorkTimesRequestBillSub(); + ds = oCN.RunProcReturn("select * from Gy_Employee with(nolock) where HName='" + nameArray[j] + "'", "Gy_Employee"); + string HEmpID = "0"; + //璁剧疆瀛愯〃鑱屽憳id鍚嶇О + if (ds.Tables[0].Rows.Count > 0) + { + HEmpID = ds.Tables[0].Rows[0]["HItemID"].ToString(); + } + pay_ErrWorkTimesRequestBillSub.HEmpName = nameArray[j]; + pay_ErrWorkTimesRequestBillSub.HEmpID = int.Parse(HEmpID); + pay_ErrWorkTimesRequestBillSub.HRelTimes = double.Parse(rows[i].RowValue[6].Value.ToString()); + pay_ErrWorkTimesRequestBillSub.HTimes = double.Parse(rows[i].RowValue[6].Value.ToString()); + pay_ErrWorkTimesRequestBillSub.HRelPay = double.Parse(rows[i].RowValue[10].Value.ToString()); + pay_ErrWorkTimesRequestBillSub.HPayMoney = pay_ErrWorkTimesRequestBillSub.HRelPay / pay_ErrWorkTimesRequestBillSub.HTimes; + pay_ErrWorkTimesRequestBillSub.HRemark = "閽夐拤瀵煎叆"; + oItem.Pay_ErrWorkTimesRequestBillSub.Add(pay_ErrWorkTimesRequestBillSub); + + } + } + lsmain.Add(oItem); + } + return true; + }catch(Exception e) + { + msg = e.Message; + return false; + } + + } + #endregion + + #region 鏁版嵁鍚屾 + public bool getData_ErrWorkTimesRequest(DateTime startTime, DateTime endTime,ref string msg) + { + string processCode = "PROC-21371550-FEF1-4EDD-A827-639746E22E43"; + long nextToken = 1; + int maxResult = 20;//鏈�澶�20 + List<string> statues = new List<string>{"COMPLETED"}; + this.AppKey = "ding7miekiaqn4rc2ert"; + this.AppSecret = "81qMrC5SvkgjT9t2A3wUyEEENzyl9jJLeXOpjv2SNULc_HSlFZF4NE21YFCXik4K"; + getAccessToken();//璁剧疆accessToken + //鑾峰彇宸ユ椂鐢宠鐨勫疄渚婭D鍒楄〃 + List<string> IDList = new List<string>(); + if (getInstanceIDList_OA(processCode,startTime,endTime,nextToken,maxResult,statues,ref IDList, ref msg) == false) + { + return false; + } + //鑾峰彇璇︾粏淇℃伅骞堕檮鍔犲埌鍒楄〃lsmain涓� + List<Pay_ErrWorkTimesRequestBill> lsmain = new List<Pay_ErrWorkTimesRequestBill>(); + if (getInstanceDetailList___ErrWorkTimesRequest_OA(IDList,startTime,endTime, ref lsmain, ref msg) == false) + { + return false; + } + try + { + oCN.BeginTran(); + //鍒犻櫎鏃堕棿鑼冨洿鍐呯殑瀵煎叆鍗曟嵁 + DataSet dataSet = oCN.RunProcReturn(@"select HInterID from Pay_ErrWorkTimesRequestBillMain a with(nolock) where a.HRemark like '%閽夐拤瀵煎叆%' and a.HIsImport = 1 and HDate >= '" + startTime + "' and HDate<='" + endTime + "'", "Pay_ErrWorkTimesRequestBillMain"); + if(dataSet != null && dataSet.Tables[0].Rows.Count > 0) + { + foreach (DataRow row in dataSet.Tables[0].Rows) + { + int HInterID = row.Field<int>("HInterID"); + oCN.RunProc(@"Delete From Pay_ErrWorkTimesRequestBillMain where HInterID = " + HInterID); + oCN.RunProc(@"Delete From Pay_ErrWorkTimesRequestBillSub where HInterID = " + HInterID); + } + } + //鎻掑叆鏁版嵁 + foreach(Pay_ErrWorkTimesRequestBill oItem in lsmain) + { + if (oItem.Pay_ErrWorkTimesRequestBillSub.Count != 0) + { + string HBillType = "2231"; + long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo); + string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod(HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true); + int HYear = int.Parse(oItem.HDate.Split('-')[0]); + int HPeriod = int.Parse(oItem.HDate.Split('-')[1]); + //涓昏〃 + string sql = "insert into Pay_ErrWorkTimesRequestBillMain" + + "(HYear,HPeriod,HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate,HInnerBillNo,HDeptID,HGroupID,HMangerID,HICMOInterID,HICMOBillNo,HExplanation,HSumRequestTimes,HMaterID,HUnitID,HPlanQty,HBatchNo,HRemark,HMaker,HMakeDate,HChecker,HCheckDate,HIsImport) " + + "values(" + + "" + HYear + + "," + HPeriod + + ",'" + HBillType + + "','" + " " + + "'," + 2 + + "," + HInterID + + ",'" + HBillNo + + "','" + oItem.HDate + + "','" + " " + + "'," + oItem.HDeptID + + "," + oItem.HGroupID + + "," + oItem.HMangerID + + "," + "0" + + ",'" + " " + + "','" + oItem.HExplanation + + "'," + oItem.HSumRequestTimes + + "," + 0 + + "," + 0 + + "," + oItem.HPlanQty + + ",'" + oItem.HBatchNo + + "','" + oItem.HRemark + + "','" + "System" + + "'," + "GETDATE()" + + ",'" + "System" + + "'," + "GETDATE()" + + "," + "1" + + ")"; + //涓昏〃 + LogService.Write(sql); + oCN.RunProc(sql); + int i = 1; + foreach (Pay_ErrWorkTimesRequestBillSub oItem_Detail in oItem.Pay_ErrWorkTimesRequestBillSub) + { + sql = "insert into Pay_ErrWorkTimesRequestBillSub" + + "(HInterID,HEntryID,HEmpID,HWorkTypeID,HPayMoney,HBTimes,HETimes,HTimes,HRelTimes,HRelPay,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo" + + ",HSourceBillType,HRelationQty,HRelationMoney) " + + "values(" + + "" + HInterID + + "," + i + + "," + oItem_Detail.HEmpID + + "," + 0 + + "," + oItem_Detail.HPayMoney + + ",'" + "" + + "','" + "" + + "'," + oItem_Detail.HTimes + + "," + oItem_Detail.HRelTimes + + "," + oItem_Detail.HRelPay + + ",'" + oItem_Detail.HRemark + + "'," + 0 + + "," + 0 + + ",'" + " " + + "','" + " " + + "'," + 0 + + "," + 0 + + ")"; + LogService.Write(sql); + oCN.RunProc(sql); + i += 1; + } + } + } + oCN.Commit(); + return true; + } + catch (Exception e) + { + LogService.Write(e.Message); + msg = e.Message; + oCN.RollBack(); + return false; + } + } + #endregion + + #endregion + #endregion @@ -2932,5 +3579,39 @@ } #endregion + #region 閽夐拤鏁版嵁鍚屾OA + [Route("DD_DataSynchronization/DataSynchronization_DingDing_OA")] + [HttpGet] + public object DataSynchronization_DingDing_OA(DateTime startTime, DateTime endTime, string user) + { + string msg = ""; + try + { + //if (getData_ErrWorkTimesRequest(startTime,endTime,ref msg) == false) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "Exception锛�" + msg; + // objJsonResult.data = null; + // return objJsonResult; + //} + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + 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