using LikuServiceReference;
|
using Newtonsoft.Json;
|
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
|
using OfficeOpenXml.FormulaParsing.Excel.Functions.Information;
|
using Org.BouncyCastle.Tls;
|
using StackExchange.Profiling.Internal;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Linq;
|
using System.Linq.Expressions;
|
using System.Net.NetworkInformation;
|
using System.Reflection;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Core;
|
using WIDESEA_Core.BaseRepository;
|
using WIDESEA_Core.BaseServices;
|
using WIDESEA_Core.Caches;
|
using WIDESEA_Core.DB;
|
using WIDESEA_Core.Enums;
|
using WIDESEA_Core.Helper;
|
using WIDESEA_Core.Log;
|
using WIDESEA_DTO.System;
|
using WIDESEA_IBasicRepository;
|
using WIDESEA_ISystemRepository;
|
using WIDESEA_ISystemService;
|
using WIDESEA_Model;
|
using WIDESEA_Model.Models;
|
using WIDESEA_Model.Models.System.Reponse;
|
using WIDESEA_Model.Models.System.Request;
|
using static System.Collections.Specialized.BitVector32;
|
|
namespace WIDESEA_SystemService
|
{
|
public class Sys_JobService : ServiceBase<Sys_Job, ISys_JobRepository>, ISys_JobService
|
{
|
private readonly IUnitOfWorkManage _unitOfWorkManage;
|
private readonly ICacheService _cacheService;
|
private readonly ILabelMasterRepository _labelMasterRepository;
|
private readonly IOutBoundOrderBYDRepository _outBoundOrderBYDRepository;
|
private readonly IOutboundOrderDetailBYDRepository _outboundOrderDetailByDRepository;
|
private readonly IOutboundOrderDetail_LabelsBYDRepository _outboundOrderDetailLabelsByDRepository;
|
|
|
public Sys_JobService(ISys_JobRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService,ILabelMasterRepository labelMasterRepository, IOutBoundOrderBYDRepository outBoundOrderBYDRepository, IOutboundOrderDetailBYDRepository outboundOrderDetailByDRepository, IOutboundOrderDetail_LabelsBYDRepository outboundOrderDetailLabelsByDRepository) : base(BaseDal)
|
{
|
_unitOfWorkManage = unitOfWorkManage;
|
_cacheService = cacheService;
|
_labelMasterRepository = labelMasterRepository;
|
_outBoundOrderBYDRepository = outBoundOrderBYDRepository;
|
_outboundOrderDetailByDRepository = outboundOrderDetailByDRepository;
|
_outboundOrderDetailLabelsByDRepository = outboundOrderDetailLabelsByDRepository;
|
}
|
|
/// <summary>
|
/// 同步条码主数据
|
/// </summary>
|
/// <returns></returns>
|
public WebResponseContent SyncLabMaster()
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
LabelServiceReference.LabelWebServiceClient lableClient = new LabelServiceReference.LabelWebServiceClient();
|
getLabelMasterRequest lab = new getLabelMasterRequest();
|
lab.WERKS = AppSettings.Configuration["WERKS"];
|
lab.SYSNO = AppSettings.Configuration["SYSNO"];
|
lab.BATCH = "";
|
lab.LABEL_NO = "";
|
string inparam = "[" + JsonConvert.SerializeObject(lab) + "]";
|
//string response = lableClient.getLabelMaster(inparam);
|
string response = "{\r\n \"msg\": \"传输成功!\",\r\n \"data\": [\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020914\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n },\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020913\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n },\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020912\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n },\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020911\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n },\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020910\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n },\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020909\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n },\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020908\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n },\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020907\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n },\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020906\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n },\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020905\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n }\r\n ],\r\n \"success\": true\r\n}";
|
if (response != null)
|
{
|
getLabelMasterReponse responsetest = JsonConvert.DeserializeObject<getLabelMasterReponse>(response);
|
if (responsetest != null && responsetest.data.Count() > 0)
|
{
|
foreach (var item in responsetest.data)
|
{
|
//查询本地是否存在
|
Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x=>x.LABEL_NO == item.LABEL_NO);
|
if (labMaster != null)//更新状态
|
{
|
labMaster.LABEL_STATUS = item.LABEL_STATUS;
|
_labelMasterRepository.UpdateData(labMaster);
|
}
|
else
|
{
|
_labelMasterRepository.AddData(item);
|
}
|
}
|
|
content = WebResponseContent.Instance.OK("同步条码主数据成功");
|
}
|
}
|
|
}
|
catch (Exception ex)
|
{
|
content = WebResponseContent.Instance.Error(ex.Message);
|
}
|
return content;
|
}
|
|
|
/// <summary>
|
/// 根据条码获取条码入库主数据
|
/// </summary>
|
/// <returns></returns>
|
public WebResponseContent GetLabMaster(string barcode)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
LabelServiceReference.LabelWebServiceClient lableClient = new LabelServiceReference.LabelWebServiceClient();
|
getLabelMasterRequest lab = new getLabelMasterRequest();
|
lab.WERKS = AppSettings.Configuration["WERKS"];
|
lab.SYSNO = AppSettings.Configuration["SYSNO"];
|
lab.BATCH = "";
|
lab.LABEL_NO = barcode;
|
string inparam = "[" + JsonConvert.SerializeObject(lab) + "]";
|
//string response = lableClient.getLabelMaster(inparam);
|
string response = "{\r\n \"msg\": \"传输成功!\",\r\n \"data\": [\r\n {\r\n \"WH_NUMBER\": \"GX25\",\r\n \"WERKS\": \"GX25\",\r\n \"PSTYP\": \"0\",\r\n \"PO_NO\": \"5907427563\",\r\n \"PRODUCT_DATE\": \"2024-12-16\",\r\n \"EFFECT_DATE\": \"2025-06-17\",\r\n \"LABEL_NO\": \"XAGX25001020914\",\r\n \"EDIT_DATE\": \"2024-12-16 15:11:27\",\r\n \"BATCH\": \"2412160004\",\r\n \"BSART\": \"QH00\",\r\n \"RECEIPT_NO\": \"XASHGX25001000923\",\r\n \"RECEIPT_ITEM_NO\": \"1\",\r\n \"MATNR\": \"12825222-00\",\r\n \"LABEL_LEVEL\": \"1\",\r\n \"MAKTX\": \"胶袋_1000×110×0.02mm_HDPE_短边开口_透明_防静电_无印刷\",\r\n \"LIKTX\": \"深圳市龙共实业有限公司\",\r\n \"UNIT\": \"PCS\",\r\n \"SOBKZ\": \"Z\",\r\n \"LABEL_STATUS\": \"01\",\r\n \"QC_PEOPLE\": \"\",\r\n \"BOX_QTY\": 10,\r\n \"INSPECTION_ITEM_NO\": \"1\",\r\n \"CREATE_DATE\": \"2024-12-16 15:10:16\",\r\n \"QC_DATE\": \"\",\r\n \"RECEIPT_DATE\": \"2024-12-16 15:11:27\",\r\n \"LIFNR\": \"106247\",\r\n \"PO_ITEM_NO\": \"00010\",\r\n \"INSPECTION_NO\": \"XASJGX25001000720\"\r\n }\r\n ],\r\n \"success\": true\r\n}";
|
if (response != null)
|
{
|
getLabelMasterReponse responsetest = JsonConvert.DeserializeObject<getLabelMasterReponse>(response);
|
if (responsetest != null && responsetest.data.Count() > 0)
|
{
|
foreach (var item in responsetest.data)
|
{
|
//查询本地是否存在
|
Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == item.LABEL_NO);
|
if (labMaster != null)//更新状态
|
{
|
labMaster.LABEL_STATUS = item.LABEL_STATUS;
|
_labelMasterRepository.UpdateData(labMaster);
|
}
|
else
|
{
|
_labelMasterRepository.AddData(item);
|
|
}
|
content = WebResponseContent.Instance.OK("获取条码主数据成功", item);
|
}
|
|
|
}
|
}
|
|
}
|
catch (Exception ex)
|
{
|
content = WebResponseContent.Instance.Error(ex.Message);
|
}
|
return content;
|
}
|
|
/// <summary>
|
/// 原材料上架接口,入库回传
|
/// </summary>
|
/// <returns></returns>
|
public WebResponseContent CallPutAway(PutAwayRequest putAway)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
LikuServiceReference.WmsStereoWhServiceClient likuClient = new LikuServiceReference.WmsStereoWhServiceClient();
|
|
string inparam = JsonConvert.SerializeObject(putAway);
|
string response = likuClient.putaway(inparam);
|
if (response != null)
|
{
|
PutAwayResponse res = JsonConvert.DeserializeObject<PutAwayResponse>(response);
|
if(res!=null&&res.MSGTX=="S")
|
{
|
content = WebResponseContent.Instance.OK("上架回传成功!");
|
}
|
}
|
|
}
|
catch (Exception ex)
|
{
|
content = WebResponseContent.Instance.Error(ex.Message);
|
}
|
return content;
|
|
}
|
|
|
|
/// <summary>
|
/// 余料回库结果回传
|
/// </summary>
|
/// <returns></returns>
|
public WebResponseContent CallPutAwayReturn(PutAwayReturnRequest putAwayReturn)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
LikuServiceReference.WmsStereoWhServiceClient likuClient = new LikuServiceReference.WmsStereoWhServiceClient();
|
|
string inparam = JsonConvert.SerializeObject(putAwayReturn);
|
string response = likuClient.putAwayReturn(inparam);
|
if (response != null)
|
{
|
PutAwayReturnResponse res = JsonConvert.DeserializeObject<PutAwayReturnResponse>(response);
|
if (res != null && res.MSGTX == "S")
|
{
|
content = WebResponseContent.Instance.OK("余料回库回传成功!");
|
}
|
}
|
|
}
|
catch (Exception ex)
|
{
|
content = WebResponseContent.Instance.Error(ex.Message);
|
}
|
return content;
|
|
}
|
|
/// <summary>
|
/// 比亚迪WMS出库单指令获取
|
/// </summary>
|
/// <returns></returns>
|
public WebResponseContent SelectOutStoreOrder()
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
StereoServiceReference.WhStereoWebServiceClient client = new StereoServiceReference.WhStereoWebServiceClient();
|
SelectOutStoreOrderRequest outStoreOrder = new SelectOutStoreOrderRequest();
|
outStoreOrder.WERKS = AppSettings.Configuration["WERKS"];
|
outStoreOrder.WH_NUMBER = AppSettings.Configuration["SYSNO"];
|
string inparam = JsonConvert.SerializeObject(outStoreOrder);
|
//string response = client.selectOutStoreOrder(inparam);
|
string response = "{\r\n \"MSGTY\": \"S\",\r\n \"DATA\": \"[{REQUIREMENT_NO=XAXQGX25012005354, WERKS=GX25, WH_NUMBER=null, SYSNOD=G30, BUSINESS_CODE=00, BUSINESS_NAME=47, LGORT=0030, STATION=null, MO_NO=null, SAP_OUT_NO=null, RECEIVE_LGORT=W001, OVERSTEP_REQ_FLAG=0, SPLIT=null, STATUS=01, CREATE_PERSON=66694:宋子超, CREATE_DATE=2024-12-18 11:36:17, ITEMS=[{REQUIREMENT_ITEM_NO=1, MATNR=12825222-00, BATCH=null, QTY=10.0, GEAR=null, PI_NO=null, LABELS=[]}]}, {REQUIREMENT_NO=XAXQGX25012005353, WERKS=GX25, WH_NUMBER=null, SYSNOD=G30, BUSINESS_CODE=00, BUSINESS_NAME=47, LGORT=0030, STATION=null, MO_NO=null, SAP_OUT_NO=null, RECEIVE_LGORT=W001, OVERSTEP_REQ_FLAG=0, SPLIT=null, STATUS=01, CREATE_PERSON=66694:宋子超, CREATE_DATE=2024-12-18 11:35:22, ITEMS=[{REQUIREMENT_ITEM_NO=1, MATNR=12825222-00, BATCH=null, QTY=10.0, GEAR=null, PI_NO=null, LABELS=[]}]}]\",\r\n \"MSGTX\": \"success\"\r\n}";
|
if (response != null)
|
{
|
SelectOutStoreOrderResponse res = JsonConvert.DeserializeObject<SelectOutStoreOrderResponse>(response);
|
if (res != null && res.MSGTY == "S"&&!string.IsNullOrEmpty(res.DATA))
|
{
|
string data = stringToJson(res.DATA);
|
string newdata = data.Replace("},\"", "},").Replace("\" ", "\"");
|
List<OutStoreData> outStoreList = JsonConvert.DeserializeObject<List<OutStoreData>>(newdata);
|
foreach (var item in outStoreList)
|
{
|
Dt_OutBoundOrderBYD outBoundOrderBYD = new Dt_OutBoundOrderBYD();
|
outBoundOrderBYD.REQUIREMENT_NO = item.REQUIREMENT_NO;
|
outBoundOrderBYD.WRKS = item.WERKS;
|
outBoundOrderBYD.WH_NUMBER = item.WH_NUMBER;
|
outBoundOrderBYD.SYSNOD = item.SYSNOD;
|
outBoundOrderBYD.BUSINESS_CODE = item.BUSINESS_CODE;
|
outBoundOrderBYD.BUSINESS_NAME = item.BUSINESS_NAME;
|
outBoundOrderBYD.LGORT=item.LGORT;
|
outBoundOrderBYD.STATION=item.STATION;
|
outBoundOrderBYD.MO_NO = item.MO_NO;
|
outBoundOrderBYD.SAP_OUT_NO = item.SAP_OUT_NO;
|
outBoundOrderBYD.RECEIVE_LGORT = item.RECEIVE_LGORT;
|
outBoundOrderBYD.OVERSTEP_REQ_FLAG = item.OVERSTEP_REQ_FLAG;
|
outBoundOrderBYD.SPLIT=item.SPLIT;
|
outBoundOrderBYD.STATUS=item.STATUS;
|
outBoundOrderBYD.CREATE_PERSON=item.CREATE_PERSON;
|
outBoundOrderBYD.CREATE_DATE=item.CREATE_DATE;
|
_outBoundOrderBYDRepository.AddData(outBoundOrderBYD);
|
foreach (var detail in item.ITEMS)
|
{
|
Dt_OutboundOrderDetailBYD outboundOrderDetailBYD = new Dt_OutboundOrderDetailBYD();
|
outboundOrderDetailBYD.REQUIREMENT_NO = outBoundOrderBYD.REQUIREMENT_NO;
|
outboundOrderDetailBYD.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO;
|
outboundOrderDetailBYD.MATNR=detail.MATNR;
|
outboundOrderDetailBYD.BATCH=detail.BATCH;
|
outboundOrderDetailBYD.QTY=detail.QTY;
|
outboundOrderDetailBYD.GEAR=detail.GEAR;
|
outboundOrderDetailBYD.PI_NO=detail.PI_NO;
|
_outboundOrderDetailByDRepository.AddData(outboundOrderDetailBYD);
|
foreach (var label in detail.LABELS)
|
{
|
if (label != null)
|
{
|
Dt_OutboundOrderDetail_LabelsBYD outboundOrderDetail_LabelsBYD = new Dt_OutboundOrderDetail_LabelsBYD();
|
outboundOrderDetail_LabelsBYD.LABEL_NO = label.LABLEL_NO;
|
outboundOrderDetail_LabelsBYD.CONTENT_LABEL_NO = label.CONTENT_LABLEL_NO;
|
outboundOrderDetail_LabelsBYD.REQUIREMENT_NO = item.REQUIREMENT_NO;
|
outboundOrderDetail_LabelsBYD.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO;
|
_outboundOrderDetailLabelsByDRepository.AddData(outboundOrderDetail_LabelsBYD);
|
}
|
}
|
}
|
}
|
content = WebResponseContent.Instance.OK();
|
}
|
}
|
|
}
|
catch (Exception ex)
|
{
|
content = WebResponseContent.Instance.Error(ex.Message);
|
}
|
return content;
|
|
}
|
|
|
/// <summary>
|
/// 出库完成信息接口,出库回传
|
/// </summary>
|
/// <returns></returns>
|
public WebResponseContent CallPickAndPost(PickAndPostRequest pickAndPost)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
StereoServiceReference.WhStereoWebServiceClient client = new StereoServiceReference.WhStereoWebServiceClient();
|
|
string inparam = JsonConvert.SerializeObject(pickAndPost);
|
string response = client.pickAndPost(inparam);
|
if (response != null)
|
{
|
PickAndPostResponse res = JsonConvert.DeserializeObject<PickAndPostResponse>(response);
|
if (res != null && res.MSGTX == "S")
|
{
|
content = WebResponseContent.Instance.OK("出库回传成功!");
|
}
|
}
|
|
}
|
catch (Exception ex)
|
{
|
content = WebResponseContent.Instance.Error(ex.Message);
|
}
|
return content;
|
|
}
|
|
|
|
/// <summary>
|
/// 立库退回信息接口,供上游系统调用,立库生成退货任务
|
/// </summary>
|
/// <returns></returns>
|
public ReturnInventoryResponse returnInventory(ReturnInventoryRequest inventoryRequest)
|
{
|
ReturnInventoryResponse returnInventoryResponse = new ReturnInventoryResponse();
|
try
|
{
|
//todo:WMS生成退货任务
|
|
}
|
catch (Exception)
|
{
|
|
|
}
|
return returnInventoryResponse;
|
|
}
|
|
/// <summary>
|
/// 立库WMS库存信息接口,供上游系统调用
|
/// </summary>
|
/// <param name="inventoryQueryRequest"></param>
|
/// <returns></returns>
|
public InventoryQueryResponse InventoryQuery(InventoryQueryRequest inventoryQueryRequest)
|
{
|
InventoryQueryResponse inventoryQueryResponse = new InventoryQueryResponse();
|
try
|
{
|
//todo:WMS查询实时库存
|
|
}
|
catch (Exception)
|
{
|
|
|
}
|
return inventoryQueryResponse;
|
|
}
|
|
/// <summary>
|
/// 立库WMS冻结/解冻信息接口,供上游系统调用
|
/// </summary>
|
/// <param name="freezeByCustomerResponse"></param>
|
/// <returns></returns>
|
public freezeByCustomerResponse freezeByCustomer(freezeByCustomerRequest freezeRequest)
|
{
|
freezeByCustomerResponse freezeResponse = new freezeByCustomerResponse();
|
try
|
{
|
//todo:WMS查询冻结解冻信息
|
|
}
|
catch (Exception)
|
{
|
|
|
}
|
return freezeResponse;
|
|
}
|
|
|
|
|
public String stringToJson(String message)
|
{
|
String result = "";
|
//替换=为":"
|
if (message.Contains("="))
|
{
|
message = message.Replace("=", "\":\"");
|
}
|
//替换{为{"
|
if (message.Contains("{"))
|
{
|
message = message.Replace("{", "{\"");
|
}
|
//替换}为"}
|
if (message.Contains("}"))
|
{
|
message = message.Replace("}", "\"}");
|
}
|
//替换[为["
|
if (message.Contains("["))
|
{
|
message = message.Replace("[", "[\"");
|
}
|
//替换]为"]
|
if (message.Contains("]"))
|
{
|
message = message.Replace("]", "\"]");
|
}
|
//替换,为","
|
if (message.Contains(","))
|
{
|
message = message.Replace(",", "\",\"");
|
}
|
//替换"[为[
|
if (message.Contains("\"["))
|
{
|
message = message.Replace("\"[", "[");
|
}
|
//替换]"为]
|
if (message.Contains("]\""))
|
{
|
message = message.Replace("]\"", "]");
|
}
|
//替换"{为{
|
if (message.Contains("\"{"))
|
{
|
message = message.Replace("\"{", "{");
|
}
|
//替换}"为}
|
if (message.Contains("}\""))
|
{
|
message = message.Replace("}\"", "}");
|
}
|
result = message;
|
return result;
|
}
|
|
}
|
}
|