From b63766325fc24613d481de3f35544fb22b5565ad Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期五, 11 七月 2025 16:10:32 +0800 Subject: [PATCH] 携客云改善报告,新增,审核,刷新供应商回复数据代码提交 --- StandardPda/MES.Service/service/QC/LljService.cs | 647 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 642 insertions(+), 5 deletions(-) diff --git a/StandardPda/MES.Service/service/QC/LljService.cs b/StandardPda/MES.Service/service/QC/LljService.cs index ab97fe2..5b2ad6e 100644 --- a/StandardPda/MES.Service/service/QC/LljService.cs +++ b/StandardPda/MES.Service/service/QC/LljService.cs @@ -1,6 +1,4 @@ -锘縰sing System.Data; -using System.Security.Cryptography; -using System.Text; +锘縰sing Dm.Config; using Masuit.Tools; using MES.Service.DB; using MES.Service.Dto.service; @@ -8,6 +6,10 @@ using MES.Service.util; using Newtonsoft.Json; using SqlSugar; +using System.Data; +using System.Security.Cryptography; +using System.Text; +using System.Text.Json.Serialization; using DbType = System.Data.DbType; @@ -666,6 +668,345 @@ //msg[0] = "1"; //msg[1] = responseBody; return msg; + } + /// <summary> + /// 鍙戝竷鎼哄浜戞敼鍠勬姤鍛� + /// </summary> + /// <param name="id"></param> + /// <returns></returns> + public async Task<string[]> SaveXkyImproveReport(string id) + { + var msg = new string[2]; + try + { + //琛ㄥご鏁版嵁 + string MianSql= "select " + + "B.SUPP_NO," + + "CASE WHEN REPORTTYPE = '鍑嗗叆璇勪及鏀瑰杽' THEN '1' WHEN REPORTTYPE = '鐗╂枡鍑嗗叆鏀瑰杽' THEN '2' WHEN REPORTTYPE = '缁╂晥鏀瑰杽' THEN '3' WHEN REPORTTYPE = '杩濈害浜嬮」鏀瑰杽' THEN '4' ELSE '3' END AS DEFECT_LEVEL," + + "(REQUIRED_DATE - TO_DATE('1970-01-01 08:00:00', 'yyyy-mm-dd hh24:mi:ss')) * 86400000 AS timestamp from MES_IQC_ABNORMAL_FEEDBACK A left join MES_SUPPLIER B on A.SUPPLIER_ID=B.ID " + + "where A.id = '"+id+"'"; + //琛ㄨ韩鏁版嵁 + string DetailSql = "select " + + "DEFECT_ANALYSIS," + + "CASE WHEN DEFECT_LEVEL = '杞诲井缂洪櫡' THEN 0 WHEN DEFECT_LEVEL = '涓ラ噸缂洪櫡' THEN 1 WHEN DEFECT_LEVEL = '鑷村懡缂洪櫡' THEN 2 ELSE 0 END AS DEFECT_LEVEL from MES_IQC_ABNORMAL_FEEDBACK_DETS " + + "where FID='"+id+"' order by id asc"; + OracleSQLHelper SQLHelper = new(); + + DataTable MianDB= SQLHelper.ExecuteQuery(MianSql); + DataTable DetailDB = SQLHelper.ExecuteQuery(DetailSql); + + var requestData = XkyinnerVendorParam.GetInit(); + + requestData.body = new BodyImproveReport + { + erpCode = "C003", + innerVendorCode = MianDB.Rows[0]["SUPP_NO"].ToString(), + reportType= int.Parse(MianDB.Rows[0]["DEFECT_LEVEL"].ToString()), + completionDate= Convert.ToInt64(MianDB.Rows[0]["timestamp"]) , + lineList= new List<LineItem>(), + isPublish=1 + }; + for (int i = 0; i < DetailDB.Rows.Count; i++) + { + requestData.body.lineList.Add(new LineItem + { + questionDesc = DetailDB.Rows[i]["DEFECT_ANALYSIS"].ToString(), + questionGrade = Convert.ToInt32(DetailDB.Rows[i]["DEFECT_LEVEL"]) + }); + } + // 搴忓垪鍖栦负JSON + var json = JsonConvert.SerializeObject(requestData); + + using (var client = new HttpClient()) + { + // 璁剧疆璇锋眰鍐呭 + var content = new StringContent(json, Encoding.UTF8, + "application/json"); + // 鍙戦�丳OST璇锋眰 + var response = await client.PostAsync( + "https://openapi.xiekeyun.com/improveReport/save.json", + content); + // 澶勭悊鍝嶅簲 + if (response.IsSuccessStatusCode) + { + var responseBody = + await response.Content.ReadAsStringAsync(); + var result = + JsonConvert.DeserializeObject<XKYApiResponse>( + responseBody); + //鎴愬姛鍚庤繑鍥炵粨鏋滐紝鍓嶅彴鍝嶅簲 + if (result.Result == 1) + { + string updateSql = "update MES_IQC_ABNORMAL_FEEDBACK set SRM_IMPROVE_NO='"+ result.Data.irXkNo + "',REPORT_RELEASE=1 where ID='"+id+"'"; + SQLHelper.ExecuteQuery(updateSql); + // 瀹氫箟杈撳嚭鍙傛暟 + msg[0] = "0"; + msg[1] = $"鍙戝竷鎴愬姛锛�"; + + } + else + { + // 瀹氫箟杈撳嚭鍙傛暟 + msg[0] = "1"; + msg[1] = $"鍙戝竷澶辫触锛亄result.ErrorMsg}"; + } + } + else + { + msg[0] = "1"; + msg[1] = $"{id}鍙戝竷澶辫触锛岃姹傚け璐ワ紝鐘舵�佺爜锛歿response.StatusCode}"; + } + } + } + catch (Exception ex) + { + msg[0] = "1"; + msg[1] = $"璇锋眰澶辫触锛岀姸鎬佺爜锛歿ex.Message}"; + } + + return msg; + } + + + + /// <summary> + /// 鍒锋柊鎼哄浜戞敼鍠勬姤鍛婏紝鏇存柊渚涘簲鍟嗗洖澶嶄俊鎭� + /// </summary> + /// <param name="id"></param> + /// <returns></returns> + public async Task<string[]> FlushedXkyImproveReport(string id) + { + var msg = new string[2]; + try + { + string MianSql = ""; + if (id!=null &&id!="") + { + //鏌ヨ娌℃湁渚涘簲鍟嗗洖澶嶇殑鏀瑰杽鎶ュ憡 + MianSql = "select SRM_IMPROVE_NO from MES_IQC_ABNORMAL_FEEDBACK where REPORT_RELEASE=1 and SRM_IMPROVE_NO is not null and SUPPLIER_REPLY_RELEASE=0 and SRM_IMPROVE_NO="+id+""; + } + else + { + //鏌ヨ娌℃湁渚涘簲鍟嗗洖澶嶇殑鏀瑰杽鎶ュ憡 + MianSql = "select SRM_IMPROVE_NO from MES_IQC_ABNORMAL_FEEDBACK where REPORT_RELEASE=1 and SRM_IMPROVE_NO is not null and SUPPLIER_REPLY_RELEASE=0"; + } + + + OracleSQLHelper SQLHelper = new(); + + DataTable MianDB = SQLHelper.ExecuteQuery(MianSql); + // 瀹氫箟杈撳嚭鍙傛暟 + msg[0] = "0"; + msg[1] = $"鍒锋柊鎴愬姛锛�"; + for (int i = 0; i < MianDB.Rows.Count; i++) + { + var requestData = XkyFlushedrVendorParam.GetInit(); + + requestData.body = new BodyFlushedImproveReport + { + erpCode = "C003", + irXkNo = MianDB.Rows[i]["SRM_IMPROVE_NO"].ToString() + }; + + // 搴忓垪鍖栦负JSON + var json = JsonConvert.SerializeObject(requestData); + + using (var client = new HttpClient()) + { + // 璁剧疆璇锋眰鍐呭 + var content = new StringContent(json, Encoding.UTF8, + "application/json"); + // 鍙戦�丳OST璇锋眰 + var response = await client.PostAsync( + "https://openapi.xiekeyun.com/improveReport/details.json", + content); + // 澶勭悊鍝嶅簲 + if (response.IsSuccessStatusCode) + { + var responseBody = + await response.Content.ReadAsStringAsync(); + var result = + JsonConvert.DeserializeObject<XKYApiResponse>( + responseBody); + //鎴愬姛鍚庤繑鍥炵粨鏋滐紝鍓嶅彴鍝嶅簲 + int resultCode = 0; + if (result.Result == 1) + { + //鏌ヨmes绯荤粺瀵瑰簲鎼哄浜戞敼鍠勬姤鍛婄殑ID + string xkyIDSql = "select B.id from MES_IQC_ABNORMAL_FEEDBACK A left join MES_IQC_ABNORMAL_FEEDBACK_DETS B on A.id = B.FID where SRM_IMPROVE_NO = '"+ MianDB.Rows[i]["SRM_IMPROVE_NO"].ToString() + "' order by B.id asc"; + string updateSql = ""; + DataTable xkyIDDB = SQLHelper.ExecuteQuery(xkyIDSql); + for (int j = 0; j < result.Data.lineList.Count; j++) + { + if (result.Data.lineList[j].reasonAnalyze!=null && result.Data.lineList[j].reasonAnalyze != "") + { + + if (resultCode==0) + { + //鏀逛緵搴斿晢鍥炲鐘舵�� + updateSql = "update MES_IQC_ABNORMAL_FEEDBACK set SUPPLIER_REPLY_RELEASE=1 where SRM_IMPROVE_NO='"+ MianDB.Rows[i]["SRM_IMPROVE_NO"].ToString() + "'"; + resultCode++; + SQLHelper.ExecuteQuery(updateSql); + } + + //鏀规槑缁� + updateSql = "update MES_IQC_ABNORMAL_FEEDBACK_DETS set " + + "ROOT_CAUSE_ANALYSIS='"+ result.Data.lineList[j].reasonAnalyze + "'," + + "IMPROVEMENT_ACTION='"+ result.Data.lineList[j].correctPreventMeasure + "'," + + "ESTIMATED_DATE=to_date('" + ParseUnixTimestamp(result.Data.lineList[j].expectedFinishTime) + "','MM/DD/YYYY HH24:MI:SS') where id='" + xkyIDDB.Rows[j]["id"].ToString() + "'"; + SQLHelper.ExecuteQuery(updateSql); + } + } + + // 瀹氫箟杈撳嚭鍙傛暟 + msg[0] = "0"; + msg[1] = $"鍒锋柊鎴愬姛锛�"; + + } + else + { + // 瀹氫箟杈撳嚭鍙傛暟 + msg[0] = "1"; + msg[1] = $"鍒锋柊澶辫触锛亄result.ErrorMsg}"; + } + } + else + { + msg[0] = "1"; + msg[1] = $"{id}鍒锋柊澶辫触锛岃姹傚け璐ワ紝鐘舵�佺爜锛歿response.StatusCode}"; + } + } + } + + + } + catch (Exception ex) + { + msg[0] = "1"; + msg[1] = $"璇锋眰澶辫触锛岀姸鎬佺爜锛歿ex.Message}"; + } + + return msg; + } + + + + /// <summary> + /// 瀹℃牳鎼哄浜戞敼鍠勬姤鍛� + /// </summary> + /// <param name="id"></param> + /// <returns></returns> + public async Task<string[]> AuditXkyImproveReport(string id) + { + var msg = new string[2]; + try + { + string MianSql = ""; + MianSql = "select SRM_IMPROVE_NO,CASE WHEN JUDGMENT_RESULT = '宸查��鍥�' THEN 4 WHEN JUDGMENT_RESULT = '涓嶅悎鏍�' THEN 5 WHEN JUDGMENT_RESULT = '缁撴' THEN 6 END AS status from MES_IQC_ABNORMAL_FEEDBACK where SRM_IMPROVE_NO=" + id + ""; + //琛ㄨ韩鏁版嵁 + string DetailSql = "select VERIFICATION_DESC, CASE WHEN VERIFICATION_RESULT = '鍚堟牸' THEN 0 WHEN VERIFICATION_RESULT = '涓嶅悎鏍�' THEN 1 END AS DEFECT_LEVEL from MES_IQC_ABNORMAL_FEEDBACK A left join MES_IQC_ABNORMAL_FEEDBACK_DETS b on A.id=B.FID where SRM_IMPROVE_NO= '" + id+"'"; + OracleSQLHelper SQLHelper = new(); + + DataTable MianDB = SQLHelper.ExecuteQuery(MianSql); + DataTable DetailDB = SQLHelper.ExecuteQuery(DetailSql); + var requestData = XkyAuditVendorParam.GetInit(); + + requestData.body = new BodyAuditImproveReport + { + erpCode = "C003", + irXkNo = MianDB.Rows[0]["SRM_IMPROVE_NO"].ToString(), + status= Convert.ToInt32(MianDB.Rows[0]["status"]), + lineList=new List<AuditLineItem>() + }; + for (int i = 0; i < DetailDB.Rows.Count; i++) + { + requestData.body.lineList.Add(new AuditLineItem + { + lineNo = i+1, + checkStatus = Convert.ToInt32(DetailDB.Rows[i]["DEFECT_LEVEL"]), + checkPeopleNumber = "031", + checkExplain = DetailDB.Rows[i]["VERIFICATION_DESC"].ToString() + + }); + } + + // 搴忓垪鍖栦负JSON + var json = JsonConvert.SerializeObject(requestData); + + using (var client = new HttpClient()) + { + // 璁剧疆璇锋眰鍐呭 + var content = new StringContent(json, Encoding.UTF8, + "application/json"); + // 鍙戦�丳OST璇锋眰 + var response = await client.PostAsync( + "https://openapi.xiekeyun.com/improveReport/audit.json", + content); + // 澶勭悊鍝嶅簲 + if (response.IsSuccessStatusCode) + { + var responseBody = + await response.Content.ReadAsStringAsync(); + var result = + JsonConvert.DeserializeObject<XKYApiResponse>( + responseBody); + //鎴愬姛鍚庤繑鍥炵粨鏋滐紝鍓嶅彴鍝嶅簲 + int resultCode = 0; + if (result.Result == 1) + { + + + //鏀圭姸鎬�,鏀逛负瀹岀粨鐘舵�� + string updateSql = "update MES_IQC_ABNORMAL_FEEDBACK set CLOSURE_STATUS=1,CLOSED_DATE=sysdate where SRM_IMPROVE_NO='" + id + "'"; + SQLHelper.ExecuteQuery(updateSql); + + // 瀹氫箟杈撳嚭鍙傛暟 + msg[0] = "0"; + msg[1] = $"瀹℃牳鎴愬姛锛�"; + + } + else + { + // 瀹氫箟杈撳嚭鍙傛暟 + msg[0] = "1"; + msg[1] = $"瀹℃牳澶辫触锛亄result.ErrorMsg}"; + } + } + else + { + msg[0] = "1"; + msg[1] = $"{id}瀹℃牳澶辫触锛岃姹傚け璐ワ紝鐘舵�佺爜锛歿response.StatusCode}"; + } + } + + } + catch (Exception ex) + { + msg[0] = "1"; + msg[1] = $"璇锋眰澶辫触锛岀姸鎬佺爜锛歿ex.Message}"; + } + + return msg; + } + + + + static DateTime ParseUnixTimestamp(string timestampStr) + { + // 灏濊瘯瑙f瀽涓洪暱鏁村瀷 + if (long.TryParse(timestampStr, out long timestamp)) + { + // 鏍规嵁浣嶆暟鍒ゆ柇鍗曚綅锛堢鎴栨绉掞級 + if (timestampStr.Length <= 10) // 绉掔骇 (10浣嶆垨鏇村皯) + { + return DateTimeOffset.FromUnixTimeSeconds(timestamp).UtcDateTime; + } + else // 姣绾� + { + return DateTimeOffset.FromUnixTimeMilliseconds(timestamp).UtcDateTime; + } + } + throw new FormatException("鏃犳晥鐨勬椂闂存埑鏍煎紡"); } private string ExtractSubstring(string input, char startChar, char endChar) @@ -1348,7 +1689,9 @@ } } - + /// <summary> + /// 鎼哄浜戝瘑閽� + /// </summary> public class DataAcquisitionConfiguration { //娴嬭瘯鐜 @@ -1397,7 +1740,100 @@ public string erpCode { get; set; } public string dnXkNo { get; set; } } + [Serializable] + public class BodyFlushedImproveReport + { + public string erpCode { get; set; } + public string irXkNo { get; set; } + } + [Serializable] + public class BodyAuditImproveReport + { + public string erpCode { get; set; } + public string irXkNo { get; set; } + public int status { get; set; } + /// <summary> + /// 鍗曡韩鍒楄〃 + /// </summary> + public List<AuditLineItem> lineList { get; set; } + } + public class AuditLineItem + { + /// <summary> + /// 椤规 + /// </summary> + public int lineNo { get; set; } + /// <summary> + /// 妫�鏍哥粨鏋� 0:鍚堟牸,1:涓嶅悎鏍� + /// </summary> + public int checkStatus { get; set; } + /// <summary> + /// 妫�鏍镐汉宸ュ彿 + /// </summary> + public string checkExplain { get; set; } + /// <summary> + /// 妫�鏍歌鏄� + /// </summary> + public string checkPeopleNumber { get; set; } + } + + [Serializable] + public class BodyImproveReport + { + /// <summary> + /// 璇锋眰鑰呯敤鎴稥RP甯愬彿 + /// </summary> + public string erpCode { get; set; } + /// <summary> + /// 鍐呴儴渚涘簲鍟嗙紪鐮� + /// </summary> + public string innerVendorCode { get; set; } + /// <summary> + /// 鎶ュ憡绫诲瀷:1 鍑嗗叆璇勪及鏀瑰杽,2 鐗╂枡鍑嗗叆鏀瑰杽,3 缁╂晥鏀瑰杽,4 杩濈害浜嬮」鏀瑰杽 + /// </summary> + public int reportType { get; set; } // 鏍规嵁JSON鍊间娇鐢╥nt + /// <summary> + /// 瀹屾垚鏃ユ湡(姣鏃堕棿鎴�) + /// </summary> + public long completionDate { get; set; } + + // 鏃ユ湡鎵╁睍瀛楁锛堝瓧绗︿覆鏍煎紡锛� + public string platformExtendN01 { get; set; } + + public string platformExtendN02 { get; set; } + + public string platformExtendN03 { get; set; } + /// <summary> + /// 鏄惁鑷姩鍙戝竷 0:鍚� 1:鏄� 榛樿锛氬惁 + /// </summary> + public int isPublish { get; set; } // 鏍规嵁JSON鍊间娇鐢╥nt + /// <summary> + /// 鍒╂鼎涓績/宸ュ巶缂栫爜 + /// </summary> + public string profitCenterCode { get; set; } + /// <summary> + /// 鍒╂鼎涓績/宸ュ巶鍚嶇О + /// </summary> + public string profitCenterName { get; set; } + /// <summary> + /// 鍗曡韩鍒楄〃 + /// </summary> + public List<LineItem> lineList { get; set; } + } + + [Serializable] + public class LineItem + { + /// <summary> + /// 闂鎻忚堪 + /// </summary> + public string questionDesc { get; set; } + /// <summary> + /// 闂绛夌骇 0:娆¤,1:閲嶈,2:鑷村懡 + /// </summary> + public int questionGrade { get; set; } // 鏍规嵁JSON鍊间娇鐢╥nt + } public class XkyCommonParam { public ApiCommonParam commonParam { get; set; } @@ -1465,6 +1901,154 @@ } } + public class XkyinnerVendorParam + { + public ApiCommonParam commonParam { get; set; } + public BodyImproveReport body { get; set; } + + public static XkyinnerVendorParam GetInit() + { + var apiParam = new ApiCommonParam + { + //// 鍙戞惡瀹簯鎻愪緵鐨刟ppKey + //appKey = DataAcquisitionConfiguration.APP_KEY, + //// 鎺ュ彛鐗堟湰 + //version = "1.0", + //// 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮� + //operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, + //// 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃 + //ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, + //// 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級 + //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + + // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey + appKey = DataAcquisitionConfiguration.TEST_APP_KEY, + // 鎺ュ彛鐗堟湰 + version = "1.0", + // 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮� + operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE, + // 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃 + ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE, + // 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級 + timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + }; + + + // var appSecret = DataAcquisitionConfiguration.APP_SECRET; + var appSecret = DataAcquisitionConfiguration.TEST_APP_SECRET; + + // 鐢熸垚绛惧悕 + var sign = BuildCurrentSign( + JsonConvert.SerializeObject(apiParam), + appSecret); + apiParam.sign = sign; + + return new XkyinnerVendorParam + { + commonParam = apiParam + }; + } + + } + public class XkyFlushedrVendorParam + { + public ApiCommonParam commonParam { get; set; } + public BodyFlushedImproveReport body { get; set; } + + public static XkyFlushedrVendorParam GetInit() + { + var apiParam = new ApiCommonParam + { + //// 鍙戞惡瀹簯鎻愪緵鐨刟ppKey + //appKey = DataAcquisitionConfiguration.APP_KEY, + //// 鎺ュ彛鐗堟湰 + //version = "1.0", + //// 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮� + //operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, + //// 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃 + //ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, + //// 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級 + //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + + // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey + appKey = DataAcquisitionConfiguration.TEST_APP_KEY, + // 鎺ュ彛鐗堟湰 + version = "1.0", + // 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮� + operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE, + // 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃 + ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE, + // 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級 + timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + }; + + + // var appSecret = DataAcquisitionConfiguration.APP_SECRET; + var appSecret = DataAcquisitionConfiguration.TEST_APP_SECRET; + + // 鐢熸垚绛惧悕 + var sign = BuildCurrentSign( + JsonConvert.SerializeObject(apiParam), + appSecret); + apiParam.sign = sign; + + return new XkyFlushedrVendorParam + { + commonParam = apiParam + }; + } + + } + public class XkyAuditVendorParam + { + public ApiCommonParam commonParam { get; set; } + public BodyAuditImproveReport body { get; set; } + + public static XkyAuditVendorParam GetInit() + { + var apiParam = new ApiCommonParam + { + //// 鍙戞惡瀹簯鎻愪緵鐨刟ppKey + //appKey = DataAcquisitionConfiguration.APP_KEY, + //// 鎺ュ彛鐗堟湰 + //version = "1.0", + //// 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮� + //operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, + //// 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃 + //ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, + //// 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級 + //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + + // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey + appKey = DataAcquisitionConfiguration.TEST_APP_KEY, + // 鎺ュ彛鐗堟湰 + version = "1.0", + // 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮� + operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE, + // 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃 + ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE, + // 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級 + timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + }; + + + // var appSecret = DataAcquisitionConfiguration.APP_SECRET; + var appSecret = DataAcquisitionConfiguration.TEST_APP_SECRET; + + // 鐢熸垚绛惧悕 + var sign = BuildCurrentSign( + JsonConvert.SerializeObject(apiParam), + appSecret); + apiParam.sign = sign; + + return new XkyAuditVendorParam + { + commonParam = apiParam + }; + } + + } + /// <summary> /// 涓�鑷存�ч」鐩� /// </summary> @@ -1503,7 +2087,7 @@ [JsonProperty("result")] public int Result { get; set; } - [JsonProperty("data")] public object Data { get; set; } + [JsonProperty("data")] public Root Data { get; set; } [JsonProperty("curServerTime")] public long CurServerTime { get; set; } @@ -1511,4 +2095,57 @@ public DateTime ServerTime => DateTimeOffset .FromUnixTimeMilliseconds(CurServerTime).DateTime; } + public class Root + { + /// <summary> + /// + /// </summary> + public string irXkNo { get; set; } + + public List<LineListItem> lineList { get; set; } + + } + public class LineListItem + { + /// <summary> + /// 椤规鍙� + /// </summary> + public int lineNo { get; set; } + /// <summary> + /// 闂鎻忚堪 + /// </summary> + public string questionDesc { get; set; } + /// <summary> + /// 闂绛夌骇 0:娆¤,1:閲嶈,2:鑷村懡 + /// </summary> + public int questionGrade { get; set; } + /// <summary> + /// 鍘熷洜鍒嗘瀽 + /// </summary> + public string reasonAnalyze { get; set; } + /// <summary> + /// 绾犳棰勯槻鎺柦 + /// </summary> + public string correctPreventMeasure { get; set; } + /// <summary> + /// 璐熻矗浜� + /// </summary> + public string principal { get; set; } + /// <summary> + /// 棰勮瀹屾垚鏃堕棿瀵瑰簲鐨勬椂闂存埑 + /// </summary> + public string expectedFinishTime { get; set; } + /// <summary> + /// 妫�鏍歌鏄� + /// </summary> + public string checkExplain { get; set; } + /// <summary> + /// 妫�鏍镐汉濮撳悕 + /// </summary> + public string checkPeopleName { get; set; } + /// <summary> + /// 妫�鏍哥粨鏋� 0:鍚堟牸,1:涓嶅悎鏍� + /// </summary> + public string checkStatus { get; set; } + } } \ No newline at end of file -- Gitblit v1.9.3