From fbfbc83d25477cf191e327e034ed996f0a2239d0 Mon Sep 17 00:00:00 2001 From: duyongjia <adu_555@163.com> Date: 星期四, 19 十二月 2024 18:53:32 +0800 Subject: [PATCH] 上游系统对接提交 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs | 435 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 394 insertions(+), 41 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs" index d5b2a6c..6e8479a 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs" @@ -1,10 +1,15 @@ -锘縰sing Newtonsoft.Json; +锘縰sing 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; @@ -17,10 +22,14 @@ 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_SystemService.Scheduler; +using WIDESEA_Model.Models.System.Reponse; +using WIDESEA_Model.Models.System.Request; +using static System.Collections.Specialized.BitVector32; namespace WIDESEA_SystemService { @@ -28,85 +37,429 @@ { private readonly IUnitOfWorkManage _unitOfWorkManage; private readonly ICacheService _cacheService; - SchedulerCenter scheduler = new SchedulerCenter(); + 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) : base(BaseDal) + + 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 StartServe() + /// <summary> + /// 鍚屾鏉$爜涓绘暟鎹� + /// </summary> + /// <returns></returns> + public WebResponseContent SyncLabMaster() { - WebResponseContent webResponse = new WebResponseContent(); + WebResponseContent content = new WebResponseContent(); try { - if (!scheduler.IsRun()) + 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) { - var startRes = SrartScheduler(); - if (startRes.Status) - { - return webResponse.OK("鏈嶅姟鍚姩鎴愬姛锛�"); - } - else + getLabelMasterReponse responsetest = JsonConvert.DeserializeObject<getLabelMasterReponse>(response); + if (responsetest != null && responsetest.data.Count() > 0) { - //璋冨害鍚姩澶辫触锛屽叧闂叏閮� - WriteLog.Write_Log("鏈嶅姟", "鏈嶅姟", "鍚姩鏈嶅姟\n[璋冨害寮傚父]" + startRes.Message); - return startRes; + 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("鍚屾鏉$爜涓绘暟鎹垚鍔�"); } } - else - { - return webResponse.Error("璇峰嬁閲嶅鍚姩锛�"); - } + } catch (Exception ex) { - WriteLog.Write_Log("鏈嶅姟", "鏈嶅姟", "鍚姩鏈嶅姟\n[寮傚父]" + ex.Message); - return webResponse.Error($"寮傚父锛寋ex.Message}"); + 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> + /// 鍘熸潗鏂欎笂鏋舵帴鍙o紝鍏ュ簱鍥炰紶 + /// </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> - /// 鍚姩璋冨害 + /// 姣斾簹杩猈MS鍑哄簱鍗曟寚浠よ幏鍙� /// </summary> - private WebResponseContent SrartScheduler() + /// <returns></returns> + public WebResponseContent SelectOutStoreOrder() { - WebResponseContent webResponse = new WebResponseContent(); - var jobs = BaseDal.QueryData(); + WebResponseContent content = new WebResponseContent(); try { - foreach (var job in jobs) + 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) { - scheduler.AddJob(job); + 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(); + } } - scheduler.Start(); + } catch (Exception ex) { - return webResponse.Error(ex.Message); + content = WebResponseContent.Instance.Error(ex.Message); } - Console.WriteLine("鏈嶅姟鍚姩鎴愬姛锛�"); - return webResponse.OK(); + return content; + } - public WebResponseContent CloseServe() + + /// <summary> + /// 鍑哄簱瀹屾垚淇℃伅鎺ュ彛锛屽嚭搴撳洖浼� + /// </summary> + /// <returns></returns> + public WebResponseContent CallPickAndPost(PickAndPostRequest pickAndPost) { - WebResponseContent webResponse = new WebResponseContent(); + WebResponseContent content = new WebResponseContent(); try { - - scheduler.Shutdown(); - Console.WriteLine("鏈嶅姟鍏抽棴鎴愬姛锛�"); - WriteLog.Write_Log("鏈嶅姟", "鏈嶅姟", "鏈嶅姟鍏抽棴鎴愬姛!"); + 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) { - WriteLog.Write_Log("鏈嶅姟", "鏈嶅姟", "鍏抽棴鏈嶅姟\n[寮傚父]" + ex.Message); + content = WebResponseContent.Instance.Error(ex.Message); } - return webResponse.OK("鏈嶅姟鍏抽棴鎴愬姛锛�"); + return content; + } + + + + /// <summary> + /// 绔嬪簱閫�鍥炰俊鎭帴鍙o紝渚涗笂娓哥郴缁熻皟鐢紝绔嬪簱鐢熸垚閫�璐т换鍔� + /// </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鍐荤粨/瑙e喕淇℃伅鎺ュ彛锛屼緵涓婃父绯荤粺璋冪敤 + /// </summary> + /// <param name="freezeByCustomerResponse"></param> + /// <returns></returns> + public freezeByCustomerResponse freezeByCustomer(freezeByCustomerRequest freezeRequest) + { + freezeByCustomerResponse freezeResponse = new freezeByCustomerResponse(); + try + { + //todo:WMS鏌ヨ鍐荤粨瑙e喕淇℃伅 + + } + 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; + } + } } -- Gitblit v1.9.3