From 441b6f8d257a01b2998253ef0515a201777d7e68 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 04 七月 2025 14:06:49 +0800
Subject: [PATCH] 修改入库、移库、出库逻辑
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_ProductionLine.cs | 61 ++++++++++++++++++++++++------
1 files changed, 49 insertions(+), 12 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_ProductionLine.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_ProductionLine.cs"
index 13fe744..a8b8f2f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_ProductionLine.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_ProductionLine.cs"
@@ -1,14 +1,14 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+锘縰sing Magicodes.IE.Core;
+using MailKit.Search;
+using System;
using System.Threading.Tasks;
-using WIDESEA_Core.Enums;
using WIDESEA_Core;
+using WIDESEA_Core.Enums;
+using WIDESEA_Core.Helper;
+using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.WCSInfo;
using WIDESEA_Model.Models;
using WIDESEAWCS_DTO.WCSInfo;
-using WIDESEA_Core.Helper;
namespace WIDESEA_TaskInfoService
{
@@ -25,14 +25,51 @@
WebResponseContent content = new WebResponseContent();
try
{
- (bool, string) result = CheckRequestInbound(productionlineDTO.Station, productionlineDTO.TrayBarcode, false);
- if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2);
- var task = BaseDal.QueryFirst(x => x.PalletCode == productionlineDTO.TrayBarcode);
- if (task != null && task.TaskType == TaskTypeEnum.Inbound.ObjToInt())
- return content.OK(data: task);
+ Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(productionlineDTO.Barcode);
+ if (stockInfo != null) throw new Exception($"鎵樼洏銆恵productionlineDTO.Barcode}銆戝凡瀛樺湪搴撳瓨淇℃伅");
+ stockInfo = new Dt_StockInfo();
+ stockInfo.Details = new List<Dt_StockInfoDetail>();
+ #region MyRegion
+ string OrderNo = productionlineDTO.batchNo.Substring(0, 8);// DateTime.Now.ToString("yyMMdd");
+ Dt_InboundOrder? inboundOrder = _inboundService.InbounOrderService.GetInboundOrder(OrderNo);
+ if (inboundOrder == null) throw new Exception($"鏈壘鍒版壒鍙蜂负銆恵OrderNo}銆戠殑鍏ュ簱鍗�");
+ //var BatchNo = string.Join("", productionlineDTO.batchNo.Except(OrderNo));
+ var BatchNo = productionlineDTO.batchNo.Substring(8);
+ Dt_InboundOrderDetail? inboundOrderDetail = inboundOrder.Details.Where(x => x.BatchNo == BatchNo).FirstOrDefault();
+ if (inboundOrderDetail == null) throw new Exception($"鎵瑰彿銆恵OrderNo}銆戠殑鍏ュ簱鍗曟湭鎵惧埌鏌滃彿銆恵BatchNo}銆�");
+ if (inboundOrderDetail.OrderQuantity - inboundOrderDetail.ReceiptQuantity < 1) throw new Exception($"鎵瑰彿銆恵OrderNo}銆戠殑鏌滃彿銆恵BatchNo}銆戝彲缁勭洏鏁伴噺涓嶈冻");
+
+ Dt_Task dt_Task = new Dt_Task()
+ {
+ CurrentAddress = productionlineDTO.stationCode,
+ NextAddress = "SC01",
+ SourceAddress = productionlineDTO.stationCode,
+ TargetAddress = "SC01",
+ Creater = "System",
+ PalletCode = productionlineDTO.Barcode,
+ Roadway = "SC01",
+ OrderNo = productionlineDTO.batchNo,// inboundOrder.OrderNo,
+ TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
+ TaskState = InTaskStatusEnum.InNew.ObjToInt(),
+ TaskType = TaskTypeEnum.Inbound.ObjToInt(),
+ CreateDate = DateTime.Now,
+ Dispatchertime = DateTime.Now,
+ };
+
+ productionlineDTO.batchNo = BatchNo;
+ content = _stockService.StockInfoService.AddStockInfo(ref stockInfo, ref inboundOrder, productionlineDTO);
+ if (!content.Status) throw new Exception(content.Message);
+ Db.Ado.BeginTran();
+ _inboundService.InbounOrderService.UpdateDataWithDetail(inboundOrder);
+ _stockService.StockInfoService.AddMaterielGroup(stockInfo);
+ AddData(dt_Task);
+ content.OK(data: dt_Task);
+ Db.Ado.CommitTran();
+ #endregion
}
catch (Exception ex)
{
+ Db.Ado.RollbackTran();
content.Error(ex.Message);
}
return content;
@@ -67,7 +104,7 @@
PalletCode = lineDTO.Barcode,
OrderNo = StockInfoDetails.Count() == 1 ? StockInfoDetails.First().OrderNo : null,
Roadway = "SC01",
- TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
+ TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
TaskState = InTaskStatusEnum.InNew.ObjToInt(),
TaskType = TaskTypeEnum.Inbound.ObjToInt(),
};
--
Gitblit v1.9.3