From 5ab19c977cfb0551a88b3885b0648183fbfff672 Mon Sep 17 00:00:00 2001
From: libo <Administrator@DESKTOP-1A6QMNS>
Date: 星期一, 31 三月 2025 10:10:12 +0800
Subject: [PATCH] 调整wms出入库、返库逻辑,调整与比亚迪接口对接的类型和方法,调整配置参数,写入服务器上数据库密码

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs |  359 +++++++++++++++++++++++++++++++----------------------------
 1 files changed, 188 insertions(+), 171 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 9fbff0a..1c6c22a 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"
@@ -22,6 +22,7 @@
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
 using WIDESEA_Core.Log;
+using WIDESEA_Core.LogHelper;
 using WIDESEA_DTO.Inbound;
 using WIDESEA_DTO.System;
 using WIDESEA_IBasicRepository;
@@ -94,11 +95,14 @@
                            Dt_LabelMaster labMaster =  _labelMasterRepository.QueryFirst(x=>x.LABEL_NO == item.LABEL_NO);
                             if (labMaster != null)//鏇存柊鐘舵��
                             {
+                                labMaster.RECEIPT_NO = item.RECEIPT_NO;
+                                labMaster.QC_RESULT_CODE = item.QC_RESULT_CODE;
                                 labMaster.LABEL_STATUS = item.LABEL_STATUS;
                                 _labelMasterRepository.UpdateData(labMaster);
                             }
                             else
                             {
+                                item.WH_NUMBER = AppSettings.Configuration["SYSNO"];
                                 _labelMasterRepository.AddData(item);
                             }
                         }
@@ -183,12 +187,14 @@
                 
                 string inparam = JsonConvert.SerializeObject(putAway);
                 new LogFactory().GetLog("BYD_WMS鎺ュ彛").InfoFormat(true, "CallPutAway", "璇锋眰", $"{inparam}");
+                //Logger.Write_Log("System/test_in", "", "inparam =  " + inparam);
                 string response = likuClient.putaway(inparam);
+                //Logger.Write_Log("System/test_in", "", "response =  " + response);
                 new LogFactory().GetLog("BYD_WMS鎺ュ彛").InfoFormat(true, "CallPutAway", "鍝嶅簲", $"{response}");
                 if (response != null)
                 {
                     PutAwayResponse res = JsonConvert.DeserializeObject<PutAwayResponse>(response);
-                    if (res != null && res.MSGTX == "S")
+                    if (res != null && res.MSGTY == "S")
                     {
                         content = WebResponseContent.Instance.OK("涓婃灦鍥炰紶鎴愬姛");
                         new LogFactory().GetLog("BYD_WMS鎺ュ彛").InfoFormat(true, "CallPutAway", "鍝嶅簲", $"涓婃灦鍥炰紶鎴愬姛锛�");
@@ -227,11 +233,13 @@
 
                 string inparam = JsonConvert.SerializeObject(putAwayReturn);
                 new LogFactory().GetLog("BYD_WMS鎺ュ彛").InfoFormat(true, "CallPutAwayReturn", "璇锋眰", $"{inparam}");
+                //Logger.Write_Log("System/test_re", "", "inparam = "+ inparam);
                 string response = likuClient.putAwayReturn(inparam);
+                //Logger.Write_Log("System/test_re", "", "response = " + response);
                 if (response != null)
                 {
                     PutAwayReturnResponse res = JsonConvert.DeserializeObject<PutAwayReturnResponse>(response);
-                    if (res != null && res.MSGTX == "S")
+                    if (res != null && res.MSGTY == "S")
                     {
                         content = WebResponseContent.Instance.OK("涓婃灦鍥炰紶鎴愬姛锛�");
                         new LogFactory().GetLog("BYD_WMS鎺ュ彛").InfoFormat(true, "CallPutAwayReturn", "鍝嶅簲", $"涓婃灦鍥炰紶鎴愬姛锛�");
@@ -267,155 +275,191 @@
                 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}";
+                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))
+                    if (res != null && res.MSGTY == "S")
                     {
-                        string data = stringToJson(res.DATA);
-                        string newdata = data.Replace("},\"", "},").Replace("\" ", "\"");
-                        List<OutStoreData> outStoreList = JsonConvert.DeserializeObject<List<OutStoreData>>(newdata);
-                        foreach (var item in outStoreList)
+                        if (string.IsNullOrEmpty(res.DATA) || res.DATA == "[]")
                         {
-                            Dt_OutBoundOrderBYD bydOrder = _outBoundOrderBYDRepository.QueryFirst(x => x.REQUIREMENT_NO == item.REQUIREMENT_NO);
-                            if (bydOrder != null)//鏇存柊
-                            {
-
-                                bydOrder.REQUIREMENT_NO = item.REQUIREMENT_NO;
-                                bydOrder.WRKS = item.WERKS;
-                                bydOrder.WH_NUMBER = item.WH_NUMBER;
-                                bydOrder.SYSNOD = item.SYSNOD;
-                                bydOrder.BUSINESS_CODE = item.BUSINESS_CODE;
-                                bydOrder.BUSINESS_NAME = item.BUSINESS_NAME;
-                                bydOrder.LGORT = item.LGORT;
-                                bydOrder.STATION = item.STATION;
-                                bydOrder.MO_NO = item.MO_NO;
-                                bydOrder.SAP_OUT_NO = item.SAP_OUT_NO;
-                                bydOrder.RECEIVE_LGORT = item.RECEIVE_LGORT;
-                                bydOrder.OVERSTEP_REQ_FLAG = item.OVERSTEP_REQ_FLAG;
-                                bydOrder.SPLIT = item.SPLIT;
-                                bydOrder.STATUS = item.STATUS;
-                                bydOrder.CREATE_PERSON = item.CREATE_PERSON;
-                                bydOrder.CREATE_DATE = item.CREATE_DATE;
-                                _outBoundOrderBYDRepository.UpdateData(bydOrder);
-                                foreach (var detail in item.ITEMS)
-                                {
-                                    Dt_OutboundOrderDetailBYD byddetail = _outboundOrderDetailByDRepository.QueryFirst(x => x.REQUIREMENT_NO == item.REQUIREMENT_NO && x.REQUIREMENT_ITEM_NO == detail.REQUIREMENT_ITEM_NO);
-                                    if (byddetail != null)
-                                    {
-                                        byddetail.REQUIREMENT_NO = item.REQUIREMENT_NO;
-                                        byddetail.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO;
-                                        byddetail.MATNR = detail.MATNR;
-                                        byddetail.BATCH = detail.BATCH;
-                                        byddetail.BATCH = detail.BATCH;
-                                        byddetail.QTY = detail.QTY;
-                                        byddetail.GEAR = detail.GEAR;
-                                        byddetail.PI_NO = detail.PI_NO;
-                                        _outboundOrderDetailByDRepository.UpdateData(byddetail);
-                                    }
-                                    else
-                                    {
-                                        Dt_OutboundOrderDetailBYD newdetail = new Dt_OutboundOrderDetailBYD();
-                                        newdetail.REQUIREMENT_NO = item.REQUIREMENT_NO;
-                                        newdetail.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO;
-                                        newdetail.MATNR = detail.MATNR;
-                                        newdetail.BATCH = detail.BATCH;
-                                        newdetail.BATCH = detail.BATCH;
-                                        newdetail.QTY = detail.QTY;
-                                        newdetail.GEAR = detail.GEAR;
-                                        newdetail.PI_NO = detail.PI_NO;
-                                        _outboundOrderDetailByDRepository.AddData(newdetail);
-                                    }
-
-                                }
-                               
-
-                            }
-                            else
-                            {
-                                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.Error("鍑哄簱鍗曟暟鎹负绌�");
                         }
-
-                        //鍚屾鍒癢MS鍑哄簱鍗曚腑
-                        foreach(var item in outStoreList)
+                        else
                         {
-                            if (item != null)
+                            string data = stringToJson(res.DATA);
+                            string newdata = data.Replace("},\"", "},").Replace("\" ", "\"");
+                            List<OutStoreData> outStoreList = JsonConvert.DeserializeObject<List<OutStoreData>>(newdata);
+                            foreach (var item in outStoreList)
                             {
-                                Dt_OutboundOrder outOrder =_outboundOrderRepository.QueryFirst(x=>x.OrderNo==item.REQUIREMENT_NO);
-                                if (outOrder != null)
+                                Dt_OutBoundOrderBYD bydOrder = _outBoundOrderBYDRepository.QueryFirst(x => x.REQUIREMENT_NO == item.REQUIREMENT_NO);
+                                if (bydOrder != null)//鏇存柊
                                 {
-                                    outOrder.OrderNo = item.REQUIREMENT_NO;
-                                    outOrder.UpperOrderNo = "";
-                                    outOrder.OrderType = (int)OutOrderTypeEnum.Issue;
-                                    outOrder.OrderStatus = (int)OutboundStatusEnum.鏈紑濮�;
-                                    outOrder.CreateType = (int)CreateType.UpperSystemPush;
-                                    outOrder.Creater = "System";
-                                    
-                                    _outboundOrderRepository.UpdateData(outOrder);
-                                    foreach (var orderdetail in item.ITEMS)
+
+                                    bydOrder.REQUIREMENT_NO = item.REQUIREMENT_NO;
+                                    bydOrder.WRKS = item.WERKS;
+                                    bydOrder.WH_NUMBER = item.WH_NUMBER;
+                                    bydOrder.SYSNOD = item.SYSNOD;
+                                    bydOrder.BUSINESS_CODE = item.BUSINESS_CODE;
+                                    bydOrder.BUSINESS_NAME = item.BUSINESS_NAME;
+                                    bydOrder.LGORT = item.LGORT;
+                                    bydOrder.STATION = item.STATION;
+                                    bydOrder.MO_NO = item.MO_NO;
+                                    bydOrder.SAP_OUT_NO = item.SAP_OUT_NO;
+                                    bydOrder.RECEIVE_LGORT = item.RECEIVE_LGORT;
+                                    bydOrder.OVERSTEP_REQ_FLAG = item.OVERSTEP_REQ_FLAG;
+                                    bydOrder.SPLIT = item.SPLIT;
+                                    bydOrder.STATUS = item.STATUS;
+                                    bydOrder.CREATE_PERSON = item.CREATE_PERSON;
+                                    bydOrder.CREATE_DATE = item.CREATE_DATE;
+                                    _outBoundOrderBYDRepository.UpdateData(bydOrder);
+                                    foreach (var detail in item.ITEMS)
                                     {
-                                        Dt_OutboundOrderDetail detail = _outboundOrderDetailRepository.QueryFirst(x => x.OrderId == outOrder.Id && x.Remark == orderdetail.REQUIREMENT_ITEM_NO);
-                                        if (detail != null)
+                                        Dt_OutboundOrderDetailBYD byddetail = _outboundOrderDetailByDRepository.QueryFirst(x => x.REQUIREMENT_NO == item.REQUIREMENT_NO && x.REQUIREMENT_ITEM_NO == detail.REQUIREMENT_ITEM_NO);
+                                        if (byddetail != null)
                                         {
-                                            detail.OrderId = outOrder.Id;
-                                            detail.MaterielCode = orderdetail.MATNR;
-                                            detail.BatchNo = orderdetail.BATCH;
-                                            detail.OrderQuantity = Convert.ToDecimal(orderdetail.QTY);
-                                            detail.LockQuantity = 0;
-                                            detail.OverOutQuantity = 0;
-                                            detail.OrderDetailStatus = (int)OrderDetailStatusEnum.New;
-                                            detail.Creater = "System";
-                                            detail.Remark = orderdetail.REQUIREMENT_ITEM_NO;
-                                            _outboundOrderDetailRepository.UpdateData(detail);
+                                            byddetail.REQUIREMENT_NO = item.REQUIREMENT_NO;
+                                            byddetail.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO;
+                                            byddetail.MATNR = detail.MATNR;
+                                            byddetail.BATCH = detail.BATCH;
+                                            byddetail.BATCH = detail.BATCH;
+                                            byddetail.QTY = detail.QTY;
+                                            byddetail.GEAR = detail.GEAR;
+                                            byddetail.PI_NO = detail.PI_NO;
+                                            _outboundOrderDetailByDRepository.UpdateData(byddetail);
                                         }
                                         else
                                         {
+                                            Dt_OutboundOrderDetailBYD newdetail = new Dt_OutboundOrderDetailBYD();
+                                            newdetail.REQUIREMENT_NO = item.REQUIREMENT_NO;
+                                            newdetail.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO;
+                                            newdetail.MATNR = detail.MATNR;
+                                            newdetail.BATCH = detail.BATCH;
+                                            newdetail.BATCH = detail.BATCH;
+                                            newdetail.QTY = detail.QTY;
+                                            newdetail.GEAR = detail.GEAR;
+                                            newdetail.PI_NO = detail.PI_NO;
+                                            _outboundOrderDetailByDRepository.AddData(newdetail);
+                                        }
+
+                                    }
+
+
+                                }
+                                else
+                                {
+                                    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);
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+
+                            //鍚屾鍒癢MS鍑哄簱鍗曚腑
+                            foreach (var item in outStoreList)
+                            {
+                                if (item != null)
+                                {
+                                    Dt_OutboundOrder outOrder = _outboundOrderRepository.QueryFirst(x => x.OrderNo == item.REQUIREMENT_NO);
+                                    if (outOrder != null)
+                                    {
+                                        outOrder.OrderNo = item.REQUIREMENT_NO;
+                                        outOrder.UpperOrderNo = "";
+                                        outOrder.OrderType = (int)OutOrderTypeEnum.Issue;
+                                        outOrder.OrderStatus = (int)OutboundStatusEnum.鏈紑濮�;
+                                        outOrder.CreateType = (int)CreateType.UpperSystemPush;
+                                        outOrder.Creater = "System";
+
+                                        _outboundOrderRepository.UpdateData(outOrder);
+                                        foreach (var orderdetail in item.ITEMS)
+                                        {
+                                            Dt_OutboundOrderDetail detail = _outboundOrderDetailRepository.QueryFirst(x => x.OrderId == outOrder.Id && x.Remark == orderdetail.REQUIREMENT_ITEM_NO);
+                                            if (detail != null)
+                                            {
+                                                detail.OrderId = outOrder.Id;
+                                                detail.MaterielCode = orderdetail.MATNR;
+                                                detail.BatchNo = orderdetail.BATCH;
+                                                detail.OrderQuantity = Convert.ToDecimal(orderdetail.QTY);
+                                                detail.LockQuantity = 0;
+                                                detail.OverOutQuantity = 0;
+                                                detail.OrderDetailStatus = (int)OrderDetailStatusEnum.New;
+                                                detail.Creater = "System";
+                                                detail.Remark = orderdetail.REQUIREMENT_ITEM_NO;
+                                                _outboundOrderDetailRepository.UpdateData(detail);
+                                            }
+                                            else
+                                            {
+                                                Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail();
+                                                outboundOrderDetail.OrderId = outOrder.Id;
+                                                outboundOrderDetail.MaterielCode = orderdetail.MATNR;
+                                                outboundOrderDetail.BatchNo = orderdetail.BATCH;
+                                                outboundOrderDetail.OrderQuantity = Convert.ToDecimal(orderdetail.QTY);
+                                                outboundOrderDetail.LockQuantity = 0;
+                                                outboundOrderDetail.OverOutQuantity = 0;
+                                                outboundOrderDetail.OrderDetailStatus = (int)OrderDetailStatusEnum.New;
+                                                outboundOrderDetail.Creater = "System";
+                                                outboundOrderDetail.Remark = orderdetail.REQUIREMENT_ITEM_NO;
+                                                _outboundOrderDetailRepository.AddData(outboundOrderDetail);
+
+                                            }
+                                        }
+
+                                    }
+                                    else
+                                    {
+
+                                        Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder();
+                                        outboundOrder.OrderNo = item.REQUIREMENT_NO;
+                                        outboundOrder.UpperOrderNo = "";
+                                        outboundOrder.OrderType = (int)OutOrderTypeEnum.Issue;
+                                        outboundOrder.OrderStatus = (int)OutboundStatusEnum.鏈紑濮�;
+                                        outboundOrder.CreateType = (int)CreateType.UpperSystemPush;
+                                        outboundOrder.Creater = "System";
+                                        _outboundOrderRepository.AddData(outboundOrder);
+                                        Dt_OutboundOrder outOrdertemp = _outboundOrderRepository.QueryFirst(x => x.OrderNo == item.REQUIREMENT_NO);
+                                        foreach (var orderdetail in item.ITEMS)
+                                        {
                                             Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail();
-                                            outboundOrderDetail.OrderId = outOrder.Id;
+                                            outboundOrderDetail.OrderId = outOrdertemp.Id;
                                             outboundOrderDetail.MaterielCode = orderdetail.MATNR;
                                             outboundOrderDetail.BatchNo = orderdetail.BATCH;
                                             outboundOrderDetail.OrderQuantity = Convert.ToDecimal(orderdetail.QTY);
@@ -427,45 +471,16 @@
                                             _outboundOrderDetailRepository.AddData(outboundOrderDetail);
 
                                         }
-                                    }
-
-                                }
-                                else
-                                {
-                                   
-                                    Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder();
-                                    outboundOrder.OrderNo = item.REQUIREMENT_NO;
-                                    outboundOrder.UpperOrderNo = "";
-                                    outboundOrder.OrderType = (int)OutOrderTypeEnum.Issue;
-                                    outboundOrder.OrderStatus = (int)OutboundStatusEnum.鏈紑濮�;
-                                    outboundOrder.CreateType = (int)CreateType.UpperSystemPush;
-                                    outboundOrder.Creater = "System";
-                                    _outboundOrderRepository.AddData(outboundOrder);
-                                    Dt_OutboundOrder outOrdertemp = _outboundOrderRepository.QueryFirst(x => x.OrderNo == item.REQUIREMENT_NO);
-                                    foreach (var orderdetail in item.ITEMS)
-                                    {
-                                        Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail();
-                                        outboundOrderDetail.OrderId = outOrdertemp.Id;
-                                        outboundOrderDetail.MaterielCode = orderdetail.MATNR;
-                                        outboundOrderDetail.BatchNo = orderdetail.BATCH;
-                                        outboundOrderDetail.OrderQuantity =Convert.ToDecimal(orderdetail.QTY);
-                                        outboundOrderDetail.LockQuantity = 0;
-                                        outboundOrderDetail.OverOutQuantity = 0;
-                                        outboundOrderDetail.OrderDetailStatus = (int)OrderDetailStatusEnum.New;
-                                        outboundOrderDetail.Creater="System";
-                                        outboundOrderDetail.Remark = orderdetail.REQUIREMENT_ITEM_NO;
-                                        _outboundOrderDetailRepository.AddData(outboundOrderDetail);
 
                                     }
-                                   
                                 }
                             }
+
+                            content = WebResponseContent.Instance.OK();
                         }
 
-                        content = WebResponseContent.Instance.OK();
-                    }
 
-                    
+                    }
                 }
 
             }
@@ -487,16 +502,18 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-                StereoServiceReference.WhStereoWebServiceClient client = new StereoServiceReference.WhStereoWebServiceClient();
+                LikuServiceReference.WmsStereoWhServiceClient likuClient = new LikuServiceReference.WmsStereoWhServiceClient();
 
                 string inparam = JsonConvert.SerializeObject(pickAndPost);
+                //Logger.Write_Log("System/test_out", "", "inparam= "+ inparam);
                 new LogFactory().GetLog("BYD_WMS鎺ュ彛").InfoFormat(true, "CallPickAndPost", "璇锋眰", $"{inparam}");
-                string response = client.pickAndPost(inparam);
+                string response = likuClient.pickAndPost(inparam);
                 new LogFactory().GetLog("BYD_WMS鎺ュ彛").InfoFormat(true, "CallPickAndPost", "鍝嶅簲", $"{response}");
+                //Logger.Write_Log("System/test_out", "", "response= " + response);
                 if (response != null)
                 {
                     PickAndPostResponse res = JsonConvert.DeserializeObject<PickAndPostResponse>(response);
-                    if (res != null && res.MSGTX == "S")
+                    if (res != null && res.MSGTY == "S")
                     {
                         content = WebResponseContent.Instance.OK("鍑哄簱鍥炰紶鎴愬姛锛�");
                         new LogFactory().GetLog("BYD_WMS鎺ュ彛").InfoFormat(true, "CallPickAndPost", "鍝嶅簲", $"鍑哄簱鍥炰紶鎴愬姛锛�");

--
Gitblit v1.9.3