From 3e778155459a2d5a2f0214f57ff83c3760ed8381 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 10 二月 2025 14:36:43 +0800
Subject: [PATCH] 添加WMSapi接口调用接口日志记录、添加WMSswagger访问接口账号密码、添加WMS到期时间6-30
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_ProductionLine.cs | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 102 insertions(+), 11 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..4b3d9bb 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,13 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+锘縰sing Magicodes.IE.Core;
+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 +24,106 @@
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);
+ switch (productionlineDTO.traytype)
+ {
+ case 1://鏀剧┖鎵�
+ case 3://鏀剧┖鐩�
+ //case 5://鏀炬弧鐩�
+ {
+ //鏌ユ壘鐗╂枡鎵�鏈夊簱瀛�
+ var stockInfos = _stockService.StockInfoService.Repository.GetStockInfos(productionlineDTO.traytype.ToString());
+ //鏌ユ壘鍏堝叆鐗╂枡璐т綅鏈�鍚庡叆搴撶墿鏂�
+ var stockInfo = stockInfos.Where(x => x.LocationCode == stockInfos.OrderBy(x => x.InDate).FirstOrDefault()?.LocationCode).OrderByDescending(x => x.InDate).FirstOrDefault();
+ if (stockInfo == null) throw new Exception($"鏃犵墿鏂欑紪鍙枫�恵productionlineDTO.traytype}銆戠殑搴撳瓨");
+ var location = _basicService.LocationInfoService.GetLocation(stockInfo.LocationCode);
+ #region 鐢熸垚鍑哄簱浠诲姟
+ Dt_Task dt_Task = new Dt_Task()
+ {
+ CurrentAddress = stockInfo.LocationCode,
+ NextAddress = "SC01",
+ SourceAddress = stockInfo.LocationCode,
+ TargetAddress = productionlineDTO.stationCode,
+ Creater = "System",
+ PalletCode = stockInfo.PalletCode,
+ OrderNo = null,
+ Roadway = "SC01",
+ TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
+ TaskState = OutTaskStatusEnum.OutNew.ObjToInt(),
+ TaskType = productionlineDTO.traytype == 1 ? TaskTypeEnum.PalletOutbound.ObjToInt() : TaskTypeEnum.PalletFillOutbound.ObjToInt(),
+ IsPickPlace = location.MaxQty - location.CurrentQty == 0,
+ CreateDate = DateTime.Now,
+ Dispatchertime = DateTime.Now,
+ };
+ #endregion
+ location.CurrentQty--;
+ location.LocationStatus = LocationStatusEnum.Outbounding.ObjToInt();
+ stockInfo.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt();
+ stockInfo.Details.FirstOrDefault().Status = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt();
+
+ Db.Ado.BeginTran();
+ AddData(dt_Task);
+ _basicService.LocationInfoService.UpdateData(location);
+ _stockService.StockInfoService.Repository.UpdateDataWithDetail(stockInfo);
+ content.OK(data: dt_Task);
+ Db.Ado.CommitTran();
+ }
+ break;
+ case 2://鍙栫┖鎵�
+ case 4://鍙栨弧鐩�
+ case 6://鍙栫┖鐩�
+ {
+ Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(productionlineDTO.Barcode);
+ if (stockInfo != null) throw new Exception($"鎵樼洏銆恵productionlineDTO.Barcode}銆戝凡瀛樺湪搴撳瓨淇℃伅");
+ productionlineDTO.QtySum = Array.ConvertAll(productionlineDTO.productQty.Split(","), s => decimal.Parse(s)).Sum();//鍏ュ簱鎬绘暟
+ stockInfo = new Dt_StockInfo();
+ stockInfo.Details = new List<Dt_StockInfoDetail>();
+ Dt_InboundOrder inboundOrder = null;
+ #region 鐢熸垚鍏ュ簱浠诲姟
+ Dt_Task dt_Task = new Dt_Task()
+ {
+ CurrentAddress = productionlineDTO.stationCode,
+ NextAddress = "SC01",
+ SourceAddress = productionlineDTO.stationCode,
+ TargetAddress = "SC01",
+ Creater = "System",
+ PalletCode = productionlineDTO.Barcode,
+ Roadway = "SC01",
+ TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
+ TaskState = InTaskStatusEnum.InNew.ObjToInt(),
+ TaskType = productionlineDTO.traytype == 2 ? TaskTypeEnum.PalletInbound.ObjToInt() : TaskTypeEnum.PalletReturnInbound.ObjToInt(),
+ CreateDate = DateTime.Now,
+ Dispatchertime = DateTime.Now,
+ };
+ #endregion
+ if (productionlineDTO.traytype == 4)
+ {
+ var OrderNo = productionlineDTO.batchNo.Split('T')[0];
+ inboundOrder = _inboundService.InbounOrderService.GetInboundOrder(OrderNo);
+ if (inboundOrder == null) throw new Exception($"鏈壘鍒板叆搴撳崟銆恵OrderNo}銆�");
+ Dt_InboundOrderDetail inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.BatchNo == productionlineDTO.batchNo);
+ if (inboundOrderDetail == null) throw new Exception($"鏈壘鍒版壒鍙枫�恵productionlineDTO.batchNo}銆戠殑鍏ュ簱璇︽儏");
+ if (inboundOrderDetail.OrderQuantity - inboundOrderDetail.ReceiptQuantity < 1) throw new Exception($"鎵瑰彿銆恵productionlineDTO.batchNo}銆戠粍鐩樻暟閲忚秴鍑�");
+
+ dt_Task.OrderNo = OrderNo;
+ dt_Task.TaskType = TaskTypeEnum.Inbound.ObjToInt();
+ }
+ content = _stockService.StockInfoService.AddStockInfo(ref stockInfo, ref inboundOrder, productionlineDTO);
+ if (!content.Status) throw new Exception(content.Message);
+ Db.Ado.BeginTran();
+ if (inboundOrder != null) _inboundService.InbounOrderService.UpdateDataWithDetail(inboundOrder);
+ _stockService.StockInfoService.AddMaterielGroup(stockInfo);
+ AddData(dt_Task);
+ content.OK(data: dt_Task);
+ Db.Ado.CommitTran();
+ }
+ break;
+ default:
+ throw new Exception("鏈畾涔夋墭鐩樼被鍨�");
+ }
}
catch (Exception ex)
{
+ Db.Ado.RollbackTran();
content.Error(ex.Message);
}
return content;
--
Gitblit v1.9.3