From f1d82d4646a78092f04204995a01c381ed77242f Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周六, 14 12月 2024 15:59:37 +0800
Subject: [PATCH] 222
---
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs | 84 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 82 insertions(+), 2 deletions(-)
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
index e698432..831130c 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -8,6 +8,8 @@
using Microsoft.CodeAnalysis.Operations;
using Admin.NET.Application.Service.WmsTask.WmsRbLineTask.Dto;
using Furion.DatabaseAccessor;
+using Admin.NET.Application.Service.WmsCommonnQuery.Dto;
+using Admin.NET.Application.CommonHelper;
namespace Admin.NET.Application;
/// <summary>
@@ -26,6 +28,7 @@
private readonly SqlSugarRepository<WmsRecordPackageProcess> _wmsRecordPackageProcessRep;
private readonly SqlSugarRepository<Mes_Upi_LineQueue> _mes_Upi_LineQueueRep;
private readonly SqlSugarRepository<WmsRecordUpiNg> _wmsRecordUpiNgRep;
+ private readonly WmsCommonnQueryService _wmsCommonnQueryService;
public WmsOperationTaskService(
SqlSugarRepository<Mes_Upi_LineQueue> mes_Upi_LineQueueRep,
@@ -37,8 +40,10 @@
, SqlSugarRepository<WmsRecordUpiProcess> wmsRecordUpiProcessRep
, SqlSugarRepository<WmsRecordPackageProcess> wmsRecordPackageProcessRep
, SqlSugarRepository<WmsRecordUpiNg> wmsRecordUpiNgRep
+ , WmsCommonnQueryService wmsCommonnQueryService
)
{
+ _wmsCommonnQueryService = wmsCommonnQueryService;
_wmsRecordUpiNgRep = wmsRecordUpiNgRep;
_sysConfigRep = sysConfigRep;
_mesPackageGatherRep = mesPackageGatherRep;
@@ -68,14 +73,23 @@
{
throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖");
}
+ //楠岃瘉浼犻�掔殑鍖呮槸鍚﹂兘鍦ㄩ綈鍖呬箣鍐呫��
+ List<WmsPackListOutput> packList = await _wmsCommonnQueryService.PackList(new Service.WmsCommonnQuery.Dto.PackListInput() { IsPack = false });
+
List<WmsStockQuan> updateQuanList = new List<WmsStockQuan>();
foreach (var item in input.PackageCodeList)
{
+ var isExistCount = packList.Where(x => x.PackageCode == item).Count();
+ if (isExistCount == 0)
+ {
+ throw Oops.Oh($"鍖厈item}涓嶆槸缂哄寘鐘舵�侊紝璇锋鏌ワ紒");
+ }
+
var quanList = await _wmsStockQuanRep.AsQueryable().Where(x => x.PackageCode == item).ToListAsync();
- var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.榻愬寘寰呭嚭搴�).Count();
+ var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.榻愬寘寰呭嚭搴� || x.StockStatus == StockStatusEnum.浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤�).Count();
if (isExist > 0)
{
- throw Oops.Oh($"鍖厈item}涓叾涓湁鏉跨姸鎬佹槸'{StockStatusEnum.榻愬寘寰呭嚭搴�.ToString()}'锛屼笉鍏佽寮哄埗鍑哄簱");
+ throw Oops.Oh($"鍖厈item}涓叾涓湁鏉跨姸鎬佹槸'{StockStatusEnum.榻愬寘寰呭嚭搴�.ToString()}' 鎴�'{StockStatusEnum.浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤�.ToString()}'锛屼笉鍏佽寮哄埗鍑哄簱");
}
//鏇存柊鐘舵��
@@ -89,6 +103,72 @@
updateQuanList.AddRange(quanList);
}
+ //妯″紡鍒ゆ柇
+ var client = await WCFServiceHelper.GetWCFService_SAPCC_Client(_sysConfigRep);
+ var res = await client.ValidateModeAsync(1);
+ if (res.result == false)
+ {
+ throw Oops.Oh(res.resMsg);
+ }
+
+ await _wmsStockQuanRep.UpdateRangeAsync(updateQuanList);
+
+ }
+
+
+ /// <summary>
+ /// 浜哄伐榻愬寘鍑哄簱
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [ApiDescriptionSettings(Name = "PersonOutbound")]
+ [Description("WmsOperationTask/PersonOutbound")]
+ [UnitOfWork]
+ public async Task PersonOutbound(PersonOutboundInput input)
+ {
+ if (input == null || input.PackageCodeList?.Count == 0)
+ {
+ throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖");
+ }
+ //楠岃瘉浼犻�掔殑鍖呮槸鍚﹂兘鍦ㄩ綈鍖呬箣鍐呫��
+ List<WmsPackListOutput> packList = await _wmsCommonnQueryService.PackList(new Service.WmsCommonnQuery.Dto.PackListInput() { IsPack = true });
+
+ List<WmsStockQuan> updateQuanList = new List<WmsStockQuan>();
+ foreach (var item in input.PackageCodeList)
+ {
+ var isExistCount = packList.Where(x => x.PackageCode == item).Count();
+ if (isExistCount == 0)
+ {
+ throw Oops.Oh($"鍖厈item}涓嶆槸榻愬寘鐘舵�侊紝璇锋鏌ワ紒");
+ }
+
+ var quanList = await _wmsStockQuanRep.AsQueryable().Where(x => x.PackageCode == item).ToListAsync();
+ var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴� || x.StockStatus == StockStatusEnum.浜哄伐寮哄埗浠诲姟宸插垱寤�).Count();
+ if (isExist > 0)
+ {
+ throw Oops.Oh($"鍖厈item}涓叾涓湁鏉跨姸鎬佹槸'{StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴�.ToString()}'鎴�'{StockStatusEnum.浜哄伐寮哄埗浠诲姟宸插垱寤�.ToString()}'锛屼笉鍏佽浜哄伐榻愬寘鍑哄簱");
+ }
+
+ //鏇存柊鐘舵��
+ foreach (var quan in quanList)
+ {
+ quan.StockStatus = StockStatusEnum.榻愬寘寰呭嚭搴�;
+ quan.StockStatusName = StockStatusEnum.榻愬寘寰呭嚭搴�.ToString();
+ quan.UpdateTime = DateTime.Now;
+ quan.OperReason = "浜哄伐榻愬寘鍑哄簱";
+ }
+ updateQuanList.AddRange(quanList);
+ }
+
+ //妯″紡鍒ゆ柇
+ var client = await WCFServiceHelper.GetWCFService_SAPCC_Client(_sysConfigRep);
+ var res = await client.ValidateModeAsync(2);
+ if (res.result == false)
+ {
+ throw Oops.Oh(res.resMsg);
+ }
+
await _wmsStockQuanRep.UpdateRangeAsync(updateQuanList);
}
--
Gitblit v1.9.3