| | |
| | | //msg[1] = responseBody; |
| | | return msg; |
| | | } |
| | | public async Task<string[]> SignDelivery2(string id,string c_user) |
| | | { |
| | | var msg = new string[2]; |
| | | //发起请求,签收送货单 |
| | | |
| | | try |
| | | { |
| | | var requestData = XkyCommonParam.GetInit(); |
| | | requestData.body = new BodyParam |
| | | { |
| | | erpCode = "Z106", |
| | | dnXkNo = id |
| | | }; |
| | | |
| | | // 序列化为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/delivery/updateDeliveryStatus.json", |
| | | content); |
| | | // 处理响应 |
| | | if (response.IsSuccessStatusCode) |
| | | { |
| | | var responseBody = |
| | | await response.Content.ReadAsStringAsync(); |
| | | var result = |
| | | JsonConvert.DeserializeObject<XKYApiResponse>( |
| | | responseBody); |
| | | //成功后手动下推到货单 |
| | | if (result.Result == 1) |
| | | { |
| | | // 定义输出参数 |
| | | |
| | | var outputMessage = new SugarParameter("C_RESULT", null, |
| | | DbType.String, |
| | | ParameterDirection.Output, 4000); |
| | | |
| | | // 定义输入参数 |
| | | var parameters = new List<SugarParameter> |
| | | { |
| | | new("C_IN_STR", "送货单签收[BTNOK["+c_user+"[" + id, |
| | | DbType.String, ParameterDirection.Input), |
| | | outputMessage |
| | | }; |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | // 使用 SqlSugar 执行存储过程 |
| | | db.Ado.ExecuteCommand( |
| | | "BEGIN PRC_RF_PDA_RECEIPT_BTN(:C_IN_STR,:C_RESULT); END;", |
| | | parameters.ToArray()); |
| | | |
| | | |
| | | // 获取输出参数的值 |
| | | |
| | | var messageValue = outputMessage.Value?.ToString(); |
| | | |
| | | msg[0] = "0"; |
| | | msg[1] = messageValue; |
| | | } |
| | | else |
| | | { |
| | | if (result.ErrorMsg == "出货单据不是已送货状态!") |
| | | { |
| | | // 定义输出参数 |
| | | |
| | | var outputMessage = new SugarParameter("C_RESULT", |
| | | null, |
| | | DbType.String, |
| | | ParameterDirection.Output, 4000); |
| | | |
| | | // 定义输入参数 |
| | | var parameters = new List<SugarParameter> |
| | | { |
| | | new("C_IN_STR", "送货单签收[BTNOK["+c_user+"[" + id, |
| | | DbType.String, ParameterDirection.Input), |
| | | outputMessage |
| | | }; |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | // 使用 SqlSugar 执行存储过程 |
| | | db.Ado.ExecuteCommand( |
| | | "BEGIN PRC_RF_PDA_RECEIPT_BTN(:C_IN_STR,:C_RESULT); END;", |
| | | parameters.ToArray()); |
| | | |
| | | |
| | | // 获取输出参数的值 |
| | | |
| | | var messageValue = outputMessage.Value?.ToString(); |
| | | |
| | | msg[0] = "0"; |
| | | msg[1] = messageValue; |
| | | } |
| | | else |
| | | { |
| | | msg[0] = "1"; |
| | | msg[1] = "002[" + id + "签收失败," + result.ErrorMsg; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | msg[0] = "1"; |
| | | msg[1] = $"002[{id}签收失败,请求失败,状态码:{response.StatusCode}"; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg[0] = "1"; |
| | | msg[1] = $"002[请求失败,状态码:{ex.Message}"; |
| | | } |
| | | |
| | | |
| | | //msg[0] = "1"; |
| | | //msg[1] = responseBody; |
| | | return msg; |
| | | } |
| | | public async Task<string[]> getTestXKYSign() |
| | | { |
| | | var msg = new string[2]; |
| | | //发起请求,签收送货单 |
| | | |
| | | try |
| | | { |
| | | var requestData = XkyCommonParam.GetTestInit(); |
| | | |
| | | msg[0] = "0"; |
| | | msg[1] = requestData.ToJsonString(); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg[0] = "1"; |
| | | msg[1] = $"002[请求失败,状态码:{ex.Message}"; |
| | | } |
| | | |
| | | |
| | | //msg[0] = "1"; |
| | | //msg[1] = responseBody; |
| | | return msg; |
| | | } |
| | | |
| | | private string ExtractSubstring(string input, char startChar, char endChar) |
| | | { |
| | |
| | | public List<MesQaItemsDetectDetail5> GetItems(string? releaseNo, |
| | | decimal? id) |
| | | { |
| | | |
| | | OracleSQLHelper SQLHelper = new(); |
| | | var sql = |
| | | @"update MES_QA_ITEMS_DETECT_01 set FCHECK_BEGIN_DATE=sysdate where RELEASE_NO='"+ releaseNo + "' and FCHECK_BEGIN_DATE is null"; |
| | | SQLHelper.ExecuteQuery(sql); |
| | | |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | return db |
| | |
| | | var sql = string.Format( |
| | | @"select b.ID,b.LOT_NO,b.RELEASE_NO,b.FSUBMIT from MES_INV_ITEM_BARCODES A |
| | | left join MES_QA_ITEMS_DETECT_01 B on A.BILL_NO=b.LOT_NO and A.ITEM_ID=b.ITEM_ID |
| | | where ITEM_BARCODE='" + BarCode + "'"); |
| | | where ITEM_BARCODE='" + BarCode + "'and b.ID is not null"); |
| | | return SQLHelper.ExecuteQuery(sql); |
| | | } |
| | | public int getFromMJCount(string BarCode) |
| | | { |
| | | OracleSQLHelper SQLHelper = new(); |
| | | var sql = string.Format( |
| | | @"select count(*) count from MES_INV_ITEM_BARCODES A |
| | | left join MES_INV_ITEM_ARN_DETAIL B on A.BILL_NO=b.CBILL_NO and A.ITEM_ID=b.ITEM_ID |
| | | where ITEM_BARCODE='"+ BarCode + "' and CHECK_STATES='免检'"); |
| | | return Convert.ToInt32(SQLHelper.ExecuteQuery(sql).Rows[0]["count"]); |
| | | } |
| | | |
| | | public DataTable getImgBDlist(string id) |
| | |
| | | commonParam = apiParam |
| | | }; |
| | | } |
| | | public static XkyCommonParam GetTestInit() |
| | | { |
| | | var apiParam = new ApiCommonParam |
| | | { |
| | | // 发携客云提供的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.TEST_APP_SECRET; |
| | | |
| | | // 生成签名 |
| | | var sign = BuildCurrentSign( |
| | | JsonConvert.SerializeObject(apiParam), |
| | | appSecret); |
| | | apiParam.sign = sign; |
| | | |
| | | return new XkyCommonParam |
| | | { |
| | | commonParam = apiParam |
| | | }; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |