You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

525 lines
21 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using SlnMesnac.RfidUpload.Common;
using SlnMesnac.RfidUpload.Model.config;
using SlnMesnac.RfidUpload.TouchSocket;
using System;
using System.Collections.Generic;
using SlnMesnac.RfidUpload.Model;
using SlnMesnac.RfidUpload.NLog;
using System.Reflection.Emit;
using System.Security.Cryptography;
using SlnMesnac.RfidUpload.Model.apiParam;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* 版权所有 (c) 2024 WenJY 保留所有权利。
* CLR版本4.0.30319.42000
* 机器名称T14-GEN3-7895
* 命名空间SlnMesnac.RfidUpload.Business
* 唯一标识1326b9fc-9ad1-4bd7-883a-32a01ab38cb1
*
* 创建者WenJY
* 电子邮箱:
* 创建时间2024-12-06 14:21:17
* 版本V1.0.0
* 描述:
*
*--------------------------------------------------------------------
* 修改人:
* 时间:
* 修改说明:
*
* 版本V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.RfidUpload.Business
{
public class CsbHandleBusiness
{
private static readonly Lazy<CsbHandleBusiness> _lazy = new Lazy<CsbHandleBusiness>(() => new CsbHandleBusiness());
public static CsbHandleBusiness Instance
{
get
{
return _lazy.Value;
}
}
private CsbHandleBusiness() { }
private AppConfig appConfig = AppConfig.Instance;
private WebApiClientApp webApiClientApp = WebApiClientApp.Instance;
private LogHelper logHelper = LogHelper.Instance;
private JsonChange jsonChange = JsonChange.Instance;
public static INIFile iNIFile = new INIFile(System.Environment.CurrentDirectory + "/App.InI");
/// <summary>
/// 容器指定封发扫描接口
/// </summary>
public void getScanInfoAppointRfidByCSB(string rqtm)
{
try
{
JObject jsonObject = new JObject
{
["code"] = 101,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["apiName"] = "getScanInfoAppointRfidByCSB",
["paramName"] = "containerRegisterQuery",
["containerRegisterQuery"] = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["opOrgName"] = iNIFile.IniReadValue("ContainerRegisterQuery", "opOrgName"),
["userCode"] = iNIFile.IniReadValue("ContainerRegisterQuery", "userCode"),
["userName"] = iNIFile.IniReadValue("ContainerRegisterQuery", "userName"),
["provice"] = iNIFile.IniReadValue("ContainerRegisterQuery", "provice"),
["rqzlmc"] = iNIFile.IniReadValue("ContainerRegisterQuery", "rqzlmc"),
["zbid"] = appConfig.devicedId,
["destinationOrgName"] = iNIFile.IniReadValue("ContainerRegisterQuery", "destinationOrgName"),
["destinationOrgCode"] = iNIFile.IniReadValue("ContainerRegisterQuery", "destinationOrgCode"),
["rqzl"] = iNIFile.IniReadValue("ContainerRegisterQuery", "rqzl"),
["rqxh"] = iNIFile.IniReadValue("ContainerRegisterQuery", "rqxh"),
["rqxhmc"] = iNIFile.IniReadValue("ContainerRegisterQuery", "rqxhmc"),
["rqtm"] = rqtm,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString, "容器指定封发扫描接口");
CsbResult res = JsonConvert.DeserializeObject<CsbResult>(str);
}
catch (Exception ex)
{
logHelper.Error($"容器指定封发扫描接口处理异常:{ex.Message}", ex);
}
}
/// <summary>
/// 容器入库接口
/// </summary>
public CsbResult scanAnyContainerCodeByCsb(string rqtm)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["userCode"] = iNIFile.IniReadValue("batchOpenQuery", "userCode"),
["userName"] = iNIFile.IniReadValue("batchOpenQuery", "userName"),
["provice"] = iNIFile.IniReadValue("batchOpenQuery", "provice"),
["rqtm"] = rqtm,
["devicedId"] = appConfig.devicedId,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("scanAnyContainerCodeByCsb",
"batchOpenQuery", jsonString, "容器入库");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器入库接口处理异常:{ex.Message}", ex);
res.message= $"新容器入库接口处理异常:{ex.Message}";
return res;
}
}
/// <summary>
/// 新容器入库-调拨单号验证接口
/// </summary>
public CsbResult containerStorageQueryByCsb(string dbbh, string rqtmStart, string rqtmEnd)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["dbbh"] = dbbh,
["devicedId"] = iNIFile.IniReadValue("SystemConfig", "devicedId"),
["rqtmSerialList"] =new JArray(new JObject
{
["rqtmStart"] = rqtmStart,
["rqtmEnd"] = rqtmEnd,
})
,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("containerStorageQueryByCsb", "newContainerStorageQuery",
jsonString, "新容器入库-调拨单号验证接口");
res = JsonConvert.DeserializeObject<CsbResult>(str);
}
catch (Exception ex)
{
logHelper.Error($"新容器入库-调拨单号验证接口处理异常:{ex.Message}", ex);
//res.status = "500";
res.message= $"新容器入库-调拨单号验证接口处理异常:{ex.Message}";
}
return res;
}
/// <summary>
/// 新容器入库-按送货单接收容器接口
/// </summary>
public CsbResult containerStorageBatchQueryByCsb(string trackNo, string batchNo, List<string> rqtmList)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["trackNo"] = trackNo,
["batchNo"] = batchNo,
["devicedId"] = appConfig.devicedId,
["rqtmList"] = JArray.FromObject(rqtmList),
// ["rqtmEnd"] = rqtmEnd,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("containerStorageBatchQueryByCsb",
"newContainerStorageBatchQuery", jsonString, "新容器入库-按送货单接收容器接口");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"新容器入库-按送货单接收容器接口处理异常:{ex.Message}", ex);
return res;
}
}
/// <summary>
/// 6.6.新容器入库-按送货单反馈接收结果接口
/// </summary>
public CsbResult receContainerStorageByCsb(string trackNo, string msgType)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["trackNo"] = trackNo,
["msgType"] = msgType,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("receContainerStorageByCsb", "newContainerStorageQuery",
jsonString, "新容器入库-按送货单反馈接收结果接口");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"新容器入库-按送货单反馈接收结果接口处理异常:{ex.Message}", ex);
return res;
}
}
/// <summary>
/// 容器封发-获取调拨单和封发计划
/// </summary>
public CsbResult transferOrderFfjhByCsb(string jsdw, string beginDate, string endDate)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["devicedId"] = appConfig.devicedId,
["jsdw"] = jsdw,
["beginDate"] = beginDate,
["endDate"] = endDate,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("transferOrderFfjhByCsb", "TdjStockTransferOrderQuery",
jsonString, "容器封发-获取调拨单和封发计划");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器封发-获取调拨单和封发计划接口处理异常:{ex.Message}", ex);
// res.status = "500";
res.message= $"容器封发-获取调拨单和封发计划接口处理异常:{ex.Message}";
return res;
}
}
/// <summary>
/// 容器封发-验证封发计划
/// </summary>
public CsbResult transferOrderFfjhCheckByCsb(string ffjhNo, string ffjhscrq)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["devicedId"] = appConfig.devicedId,
["ffjhNo"] = ffjhNo,
["ffjhscrq"] = ffjhscrq,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("transferOrderFfjhCheckByCsb",
"TdjStockTransferOrderffjhCheckQuery", jsonString, " 容器封发-验证封发计划");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器封发-验证封发计划接口处理异常:{ex.Message}", ex);
// res.code = "500";
res.message= $"容器封发-验证封发计划接口处理异常:{ex.Message}";
return res;
}
}
/// <summary>
/// 容器封发-接收容器条码
/// </summary>
public CsbResult containerScanSealByCsb(string ffjhNo, string opBatch, string ffjhscrq, string batchNo, List<string> rqtmList)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["devicedId"] = appConfig.devicedId,
["shopCode"] = iNIFile.IniReadValue("TdjContainerScanSealQuery", "shopCode"),
["ffjhNo"] = ffjhNo,
["turnFlag"] = 1,
["opBatch"] = opBatch,
["ffjhscrq"] = ffjhscrq,
["batchNo"] = batchNo,
["rqtmList"] = JArray.FromObject(rqtmList),
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("containerScanSealByCsb", "TdjContainerScanSealQuery",
jsonString, "容器封发-接收容器条码");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器封发-接收容器条码接口处理异常:{ex.Message}", ex);
//res.status = "500";
res.message= $"容器封发-接收容器条码接口处理异常:{ex.Message}";
return res;
}
}
/// <summary>
/// 容器封发-反馈接收结果
/// </summary>
public CsbResult containerScanSealResultByCsb(string ffjhNo, string opBatch)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("containerScanSealResultByCsb", "TdjContainerScanSealQuery",
jsonString, "容器封发-反馈接收结果");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器封发-反馈接收结果接口处理异常:{ex.Message}", ex);
res.message= $"容器封发-反馈接收结果接口处理异常:{ex.Message}";
//res.status = "500";
return res;
}
}
/// <summary>
/// 容器直连配发-获取邮路卸交站
/// </summary>
public CsbResult findStationSequenceByCsb(string ffjhNo, string opBatch)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["devicedId"] = appConfig.devicedId,
["shopCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "shopCode"),
["routeCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "routeCode"),
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("findStationSequenceByCsb", "TdjContainerAllotQuery",
jsonString, " 容器直连配发-获取邮路卸交站");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器直连配发-获取邮路卸交站接口处理异常:{ex.Message}", ex);
res.message = $"容器直连配发-获取邮路卸交站接口处理异常:{ex.Message}";
// res.code = "500";
return res;
}
}
/// <summary>
/// 容器直连配发-校验发运计划
/// </summary>
public CsbResult tranPlanCheckByCsb(string ffjhNo, string opBatch, string stationOrgCode, string stationOrgName)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["devicedId"] = appConfig.devicedId,
["shopCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "shopCode"),
["routeCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "routeCode"),
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
["areaCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "areaCode"),
["shopName"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "shopName"),
["stationOrgCode"] = stationOrgCode,
["stationOrgName"] = stationOrgName,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("tranPlanCheckByCsb", "TdjContainerAllotQuery",
jsonString, "容器直连配发-校验发运计划");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器直连配发-校验发运计划接口处理异常:{ex.Message}", ex);
res.message = $"容器直连配发-校验发运计划接口处理异常:{ex.Message}";
// res.code = "500";
return res;
}
}
/// <summary>
/// 容器直连配发-开始配发
/// </summary>
public CsbResult containerAllotByCsb(string ffjhNo, string opBatch)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["devicedId"] = appConfig.devicedId,
["shopCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "shopCode"),
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
["userCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "userCode"),
["userName"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "userName"),
["groupCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "groupCode"),
["groupName"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "groupName"),
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("containerAllotByCsb", "TdjContainerAllotQuery", jsonString, "容器直连配发-开始配发");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器直连配发-开始配发接口处理异常:{ex.Message}", ex);
res.message = $"容器直连配发-开始配发接口处理异常:{ex.Message}";
// res.code = "500";
return res;
}
}
/// <summary>
/// 容器直连配发-反馈接收结果
/// </summary>
public CsbResult containerAllotResultByCsb(string ffjhNo, string opBatch)
{
CsbResult res = new CsbResult();
try
{
var jsonObject = new JObject
{
["opOrgCode"] = appConfig.opOrgCode,
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync("containerAllotResultByCsb", "TdjContainerAllotQuery",
jsonString, "容器直连配发-反馈接收结果");
res = JsonConvert.DeserializeObject<CsbResult>(str);
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器直连配发-反馈接收结果接口处理异常:{ex.Message}", ex);
res.message = $"容器直连配发-反馈接收结果接口处理异常:{ex.Message}";
// res.code = "500";
return res;
}
}
}
}