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, 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; } /// /// 同步条码主数据 /// /// 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(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; } /// /// 根据条码获取条码入库主数据 /// /// 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(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; } /// /// 原材料上架接口,入库回传 /// /// 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(response); if(res!=null&&res.MSGTX=="S") { content = WebResponseContent.Instance.OK("上架回传成功!"); } } } catch (Exception ex) { content = WebResponseContent.Instance.Error(ex.Message); } return content; } /// /// 余料回库结果回传 /// /// 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(response); if (res != null && res.MSGTX == "S") { content = WebResponseContent.Instance.OK("余料回库回传成功!"); } } } catch (Exception ex) { content = WebResponseContent.Instance.Error(ex.Message); } return content; } /// /// 比亚迪WMS出库单指令获取 /// /// 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(response); if (res != null && res.MSGTY == "S"&&!string.IsNullOrEmpty(res.DATA)) { string data = stringToJson(res.DATA); string newdata = data.Replace("},\"", "},").Replace("\" ", "\""); List outStoreList = JsonConvert.DeserializeObject>(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; } /// /// 出库完成信息接口,出库回传 /// /// 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(response); if (res != null && res.MSGTX == "S") { content = WebResponseContent.Instance.OK("出库回传成功!"); } } } catch (Exception ex) { content = WebResponseContent.Instance.Error(ex.Message); } return content; } /// /// 立库退回信息接口,供上游系统调用,立库生成退货任务 /// /// public ReturnInventoryResponse returnInventory(ReturnInventoryRequest inventoryRequest) { ReturnInventoryResponse returnInventoryResponse = new ReturnInventoryResponse(); try { //todo:WMS生成退货任务 } catch (Exception) { } return returnInventoryResponse; } /// /// 立库WMS库存信息接口,供上游系统调用 /// /// /// public InventoryQueryResponse InventoryQuery(InventoryQueryRequest inventoryQueryRequest) { InventoryQueryResponse inventoryQueryResponse = new InventoryQueryResponse(); try { //todo:WMS查询实时库存 } catch (Exception) { } return inventoryQueryResponse; } /// /// 立库WMS冻结/解冻信息接口,供上游系统调用 /// /// /// 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; } } }