| | |
| | | using System.Data; |
| | | using System.Security.Cryptography; |
| | | using System.Text; |
| | | using Dm.Config; |
| | | using Masuit.Tools; |
| | | using MES.Service.DB; |
| | | using MES.Service.Dto.service; |
| | |
| | | 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; |
| | | |
| | | |
| | |
| | | //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"); |
| | | // 发送POST请求 |
| | | 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"); |
| | | // 发送POST请求 |
| | | 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"); |
| | | // 发送POST请求 |
| | | 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) |
| | | { |
| | | // 尝试解析为长整型 |
| | | 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) |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 携客云密钥 |
| | | /// </summary> |
| | | public class DataAcquisitionConfiguration |
| | | { |
| | | //测试环境 |
| | |
| | | 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> |
| | | /// 请求者用户ERP帐号 |
| | | /// </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值使用int |
| | | /// <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值使用int |
| | | /// <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值使用int |
| | | } |
| | | public class XkyCommonParam |
| | | { |
| | | public ApiCommonParam commonParam { get; set; } |
| | |
| | | } |
| | | } |
| | | |
| | | public class XkyinnerVendorParam |
| | | { |
| | | public ApiCommonParam commonParam { get; set; } |
| | | public BodyImproveReport body { get; set; } |
| | | |
| | | public static XkyinnerVendorParam GetInit() |
| | | { |
| | | var apiParam = new ApiCommonParam |
| | | { |
| | | //// 发携客云提供的appKey |
| | | //appKey = DataAcquisitionConfiguration.APP_KEY, |
| | | //// 接口版本 |
| | | //version = "1.0", |
| | | //// 操作者所属公司编码 |
| | | //operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, |
| | | //// 数据所属公司编码,非集团公司默认赋值为操作公司 |
| | | //ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, |
| | | //// 当前时间对应的时间戳(秒数) |
| | | //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds() |
| | | |
| | | // 发携客云提供的appKey |
| | | 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 |
| | | { |
| | | //// 发携客云提供的appKey |
| | | //appKey = DataAcquisitionConfiguration.APP_KEY, |
| | | //// 接口版本 |
| | | //version = "1.0", |
| | | //// 操作者所属公司编码 |
| | | //operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, |
| | | //// 数据所属公司编码,非集团公司默认赋值为操作公司 |
| | | //ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, |
| | | //// 当前时间对应的时间戳(秒数) |
| | | //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds() |
| | | |
| | | // 发携客云提供的appKey |
| | | 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 |
| | | { |
| | | //// 发携客云提供的appKey |
| | | //appKey = DataAcquisitionConfiguration.APP_KEY, |
| | | //// 接口版本 |
| | | //version = "1.0", |
| | | //// 操作者所属公司编码 |
| | | //operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, |
| | | //// 数据所属公司编码,非集团公司默认赋值为操作公司 |
| | | //ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE, |
| | | //// 当前时间对应的时间戳(秒数) |
| | | //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds() |
| | | |
| | | // 发携客云提供的appKey |
| | | 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> |
| | |
| | | |
| | | [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; } |
| | | |
| | |
| | | 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; } |
| | | } |
| | | } |