From b39f01141a3ec0dfff105647a485033f7cf27dc7 Mon Sep 17 00:00:00 2001
From: duyongjia <adu_555@163.com>
Date: 星期五, 28 二月 2025 09:02:26 +0800
Subject: [PATCH] 增加数据脚本

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs |  143 +++++++++++++++++++++++++++--------------------
 1 files changed, 82 insertions(+), 61 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs"
index 3d4527a..67ee1f5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Service/InboundOrderService.cs"
@@ -1,4 +1,6 @@
 锘縰sing AutoMapper;
+using LogLibrary.Log;
+using Newtonsoft.Json;
 using SqlSugar;
 using System;
 using System.Collections.Generic;
@@ -18,10 +20,12 @@
 using WIDESEA_IBasicService;
 using WIDESEA_IInboundRepository;
 using WIDESEA_IInboundService;
+using WIDESEA_InboundRepository;
 using WIDESEA_IStockService;
 using WIDESEA_ITaskInfoRepository;
 using WIDESEA_Model;
 using WIDESEA_Model.Models;
+using WIDESEA_Model.Models.Inbound;
 using WIDESEA_Model.Models.System.Request;
 
 namespace WIDESEA_InboundService
@@ -139,12 +143,11 @@
         /// </summary>
         /// <param name="materielGroupDTO"></param>
         /// <returns></returns>
-        public WebResponseContent ReturnMaterielGroup(MaterielGroupDTO materielGroupDTO)
+        public WebResponseContent ReturnMaterielGroup(MaterielGroupDTO materielGroupDTO, ReturnInventoryRequest inventoryRequest)
         {
             WebResponseContent content = new WebResponseContent();
             try
             {
-                materielGroupDTO.OrderNo = GetOrderNo();
                 Dt_StockInfo? stockInfo = _stockService.StockInfoService.GetStockByPalletCode(materielGroupDTO.PalletCode);
                 (bool, string, object?) result = CheckMaterielGroupParam(materielGroupDTO, stockInfo);
                 if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2);
@@ -153,68 +156,32 @@
                     stockInfo = new Dt_StockInfo();
                     stockInfo.PalletCode = materielGroupDTO.PalletCode;
                     stockInfo.StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt();
-                    stockInfo.Creater = "绔嬪簱WMS";
+                    stockInfo.Creater = "WMS";
                     stockInfo.Details = new List<Dt_StockInfoDetail>();
 
                 }
                 List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>();
-                List<Dt_LabelMaster> notExistLabels = new List<Dt_LabelMaster>();
-                foreach (var lablel in materielGroupDTO.SerialNumbers)
-                {
-                    Dt_LabelMaster labmaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == lablel);
-                    if (labmaster == null)
-                    {
-                        //閫氳繃鏉$爜鎺ュ彛鍚屾鏉$爜涓绘暟鎹�
-                        var res = _sys_JobService.GetLabMaster(lablel);
-                        if (res != null && res.Status)
-                        {
-                            labmaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == lablel);
-                            if (labmaster == null)
-                            {
-                                notExistLabels.Add(labmaster);
-                            }
-                        }
-                        else
-                        {
-                            return content = WebResponseContent.Instance.Error("缁勭洏鏉$爜鍦ㄤ笂娓竁MS绯荤粺涓笉瀛樺湪!");
-                        }
-                    }
-                    if (labmaster != null)
-                    {
-                        //涓绘暟鎹潯鐮佺姸鎬佸厑璁哥粍鐩橈細01宸叉敹鏂欏緟璐ㄦ锛�02宸叉敹鏂欐棤闇�璐ㄦ锛�03寰呰繘浠撳凡璐ㄦ锛�09宸蹭笅鏋讹紱
-                        //涓绘暟鎹潯鐮佺姸鎬佷笉鍏佽缁勭洏锛�00鍒涘缓锛�04宸茶川妫�寰呴��璐э紝05鏀舵枡鎴块��璐э紝06搴撴埧閫�璐э紝07宸茶繘浠擄紝08宸蹭笂鏋讹紝10宸插嚭搴擄紝11宸插喕缁擄紝12宸查攣瀹氾紝20鍏抽棴鐨勶紱
-                        if (labmaster.LABEL_STATUS == "00" || labmaster.LABEL_STATUS == "04" || labmaster.LABEL_STATUS == "05" || labmaster.LABEL_STATUS == "06" || labmaster.LABEL_STATUS == "07" || labmaster.LABEL_STATUS == "08" || labmaster.LABEL_STATUS == "10" || labmaster.LABEL_STATUS == "11" || labmaster.LABEL_STATUS == "12" || labmaster.LABEL_STATUS == "20")
-                        {
-                            return content = WebResponseContent.Instance.Error("涓绘暟鎹潯鐮佺姸鎬佷笉鍏佽缁勭洏!鏉$爜鐘舵�侊細" + labmaster.LABEL_STATUS);
-                        }
-                    }
-                }
-                if (notExistLabels.Count == 0)
-                {
-                    foreach (var item in materielGroupDTO.SerialNumbers)
-                    {
-                        Dt_LabelMaster labmaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == item);
-                        Dt_StockInfoDetail dt_StockInfoDetail = new Dt_StockInfoDetail();
-                        dt_StockInfoDetail.Status = 0;
-                        dt_StockInfoDetail.OrderNo = materielGroupDTO.OrderNo;
-                        dt_StockInfoDetail.StockId = stockInfo.Id != 0 ? stockInfo.Id : 0;
-                        dt_StockInfoDetail.MaterielCode = labmaster.MATNR;
-                        dt_StockInfoDetail.MaterielName = labmaster.MAKTX;
-                        dt_StockInfoDetail.BatchNo = labmaster.BATCH;
-                        dt_StockInfoDetail.SerialNumber = labmaster.LABEL_NO;
-                        dt_StockInfoDetail.StockQuantity = int.Parse(labmaster.BOX_QTY);
-                        dt_StockInfoDetail.OutboundQuantity = 0;
-                        dt_StockInfoDetail.Creater = "System";
-                        stockInfoDetails.Add(dt_StockInfoDetail);
-                        stockInfo.Details.AddRange(stockInfoDetails);
-                    }
-                    content = MaterielGroupUpdateData(stockInfo);
 
-                }
-                else
+                foreach (var item in inventoryRequest.DATA)
                 {
-                    content = WebResponseContent.Instance.Error("缁勭洏鏉$爜鍦ㄤ笂娓竁MS绯荤粺涓笉瀛樺湪!");
+                  
+                    Dt_StockInfoDetail dt_StockInfoDetail = new Dt_StockInfoDetail();
+                    dt_StockInfoDetail.Status = 0;
+                    dt_StockInfoDetail.OrderNo = materielGroupDTO.OrderNo;
+                    dt_StockInfoDetail.StockId = stockInfo.Id != 0 ? stockInfo.Id : 0;
+                    dt_StockInfoDetail.MaterielCode = item.MATNR;
+                    dt_StockInfoDetail.MaterielName = "";
+                    dt_StockInfoDetail.BatchNo = "";
+                    dt_StockInfoDetail.SerialNumber = item.LABEL_NO;
+                    dt_StockInfoDetail.StockQuantity = int.Parse(item.QTY);
+                    dt_StockInfoDetail.OutboundQuantity = 0;
+                    dt_StockInfoDetail.Creater = "WMS";
+                    stockInfoDetails.Add(dt_StockInfoDetail);
+                    stockInfo.Details.AddRange(stockInfoDetails);
                 }
+                content = MaterielGroupUpdateData(stockInfo);
+
+
 
             }
             catch (Exception ex)
@@ -233,18 +200,72 @@
         /// </summary>
         /// <param name="inventoryRequest"></param>
         /// <returns></returns>
-        public ReturnInventoryResponse returnInventory(ReturnInventoryRequest inventoryRequest)
+        public ReturnInventoryResponse returnInventory(string inventoryRequeststr)
         {
+
+            new LogFactory().GetLog("WMS鎺ュ彛").InfoFormat(true, "returnInventory", "浣欐枡閫�鍥炰俊鎭�", $"{inventoryRequeststr}");
+            ReturnInventoryRequest inventoryRequest = JsonConvert.DeserializeObject<ReturnInventoryRequest>(inventoryRequeststr);
             ReturnInventoryResponse response= new ReturnInventoryResponse();
             MaterielGroupDTO materielGroupDTO = new MaterielGroupDTO();
             materielGroupDTO.PalletCode = inventoryRequest.TPNUM;
             materielGroupDTO.OrderNo = inventoryRequest.IZLID; //閫�璐у叆搴撴寚浠�
             List<string> SerialNumbers = new List<string>();
-            foreach (ReturnInventory item in inventoryRequest.DATA)
+            Dt_MainReturnInventory dt_MainReturnInventoryOld =  _mainReturnInventoryRepository.QueryFirst(x => x.RETURN_NO == inventoryRequest.RETURN_NO && x.RETURN_ITEM_NO == inventoryRequest.RETURN_ITEM_NO);
+            if (dt_MainReturnInventoryOld == null)
             {
-                SerialNumbers.Add(item.LABEL_NO);
+                //淇濆瓨鍥為��鏁版嵁鍒版湰鍦�
+                Dt_MainReturnInventory dt_MainReturnInventory = new Dt_MainReturnInventory();
+                dt_MainReturnInventory.WH_NUMBER = inventoryRequest.WH_NUMBER;
+                dt_MainReturnInventory.BUSINESS_CODE = inventoryRequest.BUSINESS_CODE;
+                dt_MainReturnInventory.BUSINESS_NAME = inventoryRequest.BUSINESS_NAME;
+                dt_MainReturnInventory.WERKS = inventoryRequest.WERKS;
+                dt_MainReturnInventory.LGORT = inventoryRequest.LGORT;
+                dt_MainReturnInventory.TOTAL_RETURN_QTY = inventoryRequest.TOTAL_RETURN_QTY;
+                dt_MainReturnInventory.RETURN_NO = inventoryRequest.RETURN_NO;
+                dt_MainReturnInventory.RETURN_ITEM_NO = inventoryRequest.RETURN_ITEM_NO;
+                dt_MainReturnInventory.TPNUM = inventoryRequest.TPNUM;
+                dt_MainReturnInventory.YLZD1 = inventoryRequest.YLZD1;
+                dt_MainReturnInventory.YLZD2 = inventoryRequest.YLZD2;
+                dt_MainReturnInventory.YLZD3 = inventoryRequest.YLZD3;
+                dt_MainReturnInventory.YLZD4 = inventoryRequest.YLZD4;
+                dt_MainReturnInventory.YLZD5 = inventoryRequest.YLZD5;
+                dt_MainReturnInventory.IZLID = inventoryRequest.IZLID;
+                dt_MainReturnInventory.SYSNOD = inventoryRequest.SYSNOD;
+                dt_MainReturnInventory.MO_NO = inventoryRequest.MO_NO;
+                foreach (ReturnInventory item in inventoryRequest.DATA)
+                {
+                    Dt_ReturnInventoryDetail dt_ReturnInventoryDetail = new Dt_ReturnInventoryDetail();
+                    dt_ReturnInventoryDetail.LABEL_NO = item.LABEL_NO;
+                    dt_ReturnInventoryDetail.SOBKZ = item.SOBKZ;
+                    dt_ReturnInventoryDetail.UNIT = item.UNIT;
+                    dt_ReturnInventoryDetail.LGORT = item.LGORT;
+                    dt_ReturnInventoryDetail.QTY = item.QTY;
+                    dt_ReturnInventoryDetail.LIFNR = item.LIFNR;
+                    dt_ReturnInventoryDetail.F_LGORT = item.F_LGORT;
+                    dt_ReturnInventoryDetail.MATNR = item.MATNR;
+                    _ReturnInventoryDetailRepository.AddData(dt_ReturnInventoryDetail);
+                    SerialNumbers.Add(item.LABEL_NO);
+                }
+                materielGroupDTO.SerialNumbers = SerialNumbers;
+                _mainReturnInventoryRepository.AddData(dt_MainReturnInventory);
+                WebResponseContent content = ReturnMaterielGroup(materielGroupDTO, inventoryRequest);
+                if (content.Status)
+                {
+                    response.MSGTY = "S";
+                    response.MSGTX = "";
+                }
+                else
+                {
+                    response.MSGTY = "E";
+                    response.MSGTX = content.Message;
+                }
             }
-            ReturnMaterielGroup(materielGroupDTO);
+            else
+            {
+                response.MSGTY = "E";
+                response.MSGTX = "涓嶈兘閲嶅鐢宠锛�";
+
+            }
             return response;
         }
         /// <summary>

--
Gitblit v1.9.3