From de11618a6c41d627acd733a6b5d818d87d291c1e Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周六, 14 12月 2024 13:34:13 +0800 Subject: [PATCH] 222 --- CC/iWareModel/EnumType/WMS/StockStatusEnum.cs | 8 + LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs | 67 ++++++++++++++++ SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDB2ObjForReadComm.cs | 7 + LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue | 43 ++++++++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs | 8 + LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/Dto/WmsCommonnQueryInput.cs | 33 ------- CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs | 16 ++++ CC/iWareCC_ASRS/Connected Services/StationService/item4.xsd | 1 SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDBForReadComm.cs | 6 + LA24030_LuLiPackageLine_Pda/manifest.json | 4 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/Dto/PersonOutboundInput.cs | 19 ++++ SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs | 1 12 files changed, 175 insertions(+), 38 deletions(-) diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs index dc6c507..eda9d72 100644 --- a/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs +++ b/CC/iWareCC_ASRS/Connected Services/StationService/Reference.cs @@ -976,6 +976,9 @@ private bool R_OutboundFinishField; [System.Runtime.Serialization.OptionalFieldAttribute()] + private bool R_OutboundModeField; + + [System.Runtime.Serialization.OptionalFieldAttribute()] private string R_OutboundNumberField; [System.Runtime.Serialization.OptionalFieldAttribute()] @@ -1174,6 +1177,19 @@ } [System.Runtime.Serialization.DataMemberAttribute()] + public bool R_OutboundMode { + get { + return this.R_OutboundModeField; + } + set { + if ((this.R_OutboundModeField.Equals(value) != true)) { + this.R_OutboundModeField = value; + this.RaisePropertyChanged("R_OutboundMode"); + } + } + } + + [System.Runtime.Serialization.DataMemberAttribute()] public string R_OutboundNumber { get { return this.R_OutboundNumberField; diff --git a/CC/iWareCC_ASRS/Connected Services/StationService/item4.xsd b/CC/iWareCC_ASRS/Connected Services/StationService/item4.xsd index 2b6978a..d1140b2 100644 --- a/CC/iWareCC_ASRS/Connected Services/StationService/item4.xsd +++ b/CC/iWareCC_ASRS/Connected Services/StationService/item4.xsd @@ -89,6 +89,7 @@ <xs:element minOccurs="0" name="R_Inbound_TaskID" type="xs:short" /> <xs:element minOccurs="0" name="R_Model" type="xs:short" /> <xs:element minOccurs="0" name="R_OutboundFinish" type="xs:boolean" /> + <xs:element minOccurs="0" name="R_OutboundMode" type="xs:boolean" /> <xs:element minOccurs="0" name="R_OutboundNumber" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="R_Outbound_TaskID" type="xs:short" /> <xs:element minOccurs="0" name="R_PalletizingAck" type="xs:boolean" /> diff --git a/CC/iWareModel/EnumType/WMS/StockStatusEnum.cs b/CC/iWareModel/EnumType/WMS/StockStatusEnum.cs index 1c4b6bb..944d016 100644 --- a/CC/iWareModel/EnumType/WMS/StockStatusEnum.cs +++ b/CC/iWareModel/EnumType/WMS/StockStatusEnum.cs @@ -37,7 +37,13 @@ /// 浜哄伐寮哄埗浠诲姟宸插垱寤� /// </summary> [Description("浜哄伐寮哄埗浠诲姟宸插垱寤�")] - 浜哄伐寮哄埗浠诲姟宸插垱寤� = 5 + 浜哄伐寮哄埗浠诲姟宸插垱寤� = 5, + + /// <summary> + /// 浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤� + /// </summary> + [Description("浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤�")] + 浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤� = 6 } /// <summary> diff --git a/LA24030_LuLiPackageLine_Pda/manifest.json b/LA24030_LuLiPackageLine_Pda/manifest.json index 333361a..1ce6253 100644 --- a/LA24030_LuLiPackageLine_Pda/manifest.json +++ b/LA24030_LuLiPackageLine_Pda/manifest.json @@ -1,8 +1,8 @@ { "name" : "LuLiMuYe_Package_Pda", "appid" : "__UNI__28D87EB", - "description" : "2024.12.12", - "versionName" : "1.0.3", + "description" : "2024.12.14", + "versionName" : "1.0.4", "versionCode" : "100", "transformPx" : false, "app-plus" : { diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue index 1671ea0..e2b6d94 100644 --- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue @@ -87,6 +87,7 @@ <el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button> <el-button icon="ele-Refresh" @click="() => (queryParams = {})"> 閲嶇疆 </el-button> + <el-button icon="ele-Finished" @click="clickOutForQiBao"> 榻愬寘鍑哄簱 </el-button> <el-button icon="ele-Finished" @click="clickOut"> 寮哄埗鍑哄簱 </el-button> <!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button> @@ -103,7 +104,12 @@ <div class="left-table"> <p class="text-xtiny">榻愬寘鍒楄〃</p> - <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" ref="tableRef" row-key="id" @sort-change="sortChange" :summary-method="getExportTitle" border=""> + <el-table :data="tableData" style="width: 100%" v-loading="loading" tooltip-effect="light" + ref="tableRef" row-key="id" + @selection-change="handleSelectionChangeForQiBao" + @sort-change="sortChange" + :summary-method="getExportTitle" border=""> + <el-table-column align="center" width="60" type="selection" /> <el-table-column type="index" label="搴忓彿" width="55" align="center" /> <!-- <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" /> --> <el-table-column label="鍖呰鍙�" prop="packageCode" width="150" align="left" show-overflow-tooltip> @@ -205,6 +211,7 @@ downloadExcelTemplateWmsOrderPurchaseAll, packList, ForceOutbound, + PersonOutbound } from '/@/api/main/WmsOrder/wmsOrderPurchase'; import { handleSlectDataWmsBusinessType } from '/@/utils/selectData'; import { getAPI } from '/@/utils/axios-utils'; @@ -466,6 +473,14 @@ }; //閫変腑鐨勮 +const checkRowsForQiBao = ref<{ id: number }[]>([]); + +// 閫夋嫨 +const handleSelectionChangeForQiBao = (val: any) => { + checkRowsForQiBao.value = val; +}; + +//閫変腑鐨勮 const checkRows = ref<{ id: number }[]>([]); // 閫夋嫨 @@ -473,6 +488,30 @@ checkRows.value = val; }; +const clickOutForQiBao = () => { + var PackageCodeList = checkRowsForQiBao.value.map((x: any) => x.packageCode); + if (PackageCodeList.length == 0) { + ElMessage.error('璇烽�夋嫨闇�瑕侀綈鍖呭嚭搴撶殑璁㈠崟锛�'); + return; + } + ElMessageBox.confirm('鏄惁纭榻愬寘鍑哄簱锛�', '鎻愮ず', { + confirmButtonText: '纭', + cancelButtonText: '鍙栨秷', + type: 'warning', + }) + .then(async () => { + loading.value = true; + var res = await PersonOutbound( + { + "PackageCodeList": PackageCodeList + } + ); + handleQuery(); + ElMessage.success('榻愬寘鍑哄簱璇锋眰鎴愬姛'); + loading.value = false; + }) + .catch(() => ElMessage.info('宸插彇娑�')); +}; const clickOut = () => { var PackageCodeList = checkRows.value.map((x: any) => x.packageCode); if (PackageCodeList.length == 0) { @@ -492,7 +531,7 @@ } ); handleQuery(); - ElMessage.success('寮哄埗鍑哄簱鎴愬姛'); + ElMessage.success('寮哄埗鍑哄簱璇锋眰鎴愬姛'); loading.value = false; }) .catch(() => ElMessage.info('宸插彇娑�')); diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs index 18bd9ef..b688a95 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs @@ -34,7 +34,13 @@ /// 浜哄伐寮哄埗浠诲姟宸插垱寤� /// </summary> [Description("浜哄伐寮哄埗浠诲姟宸插垱寤�")] - 浜哄伐寮哄埗浠诲姟宸插垱寤� = 5 + 浜哄伐寮哄埗浠诲姟宸插垱寤� = 5, + + /// <summary> + /// 浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤� + /// </summary> + [Description("浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤�")] + 浜哄伐榻愬寘鍑哄簱浠诲姟宸插垱寤� = 6 } diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/Dto/WmsCommonnQueryInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/Dto/WmsCommonnQueryInput.cs index 6b4a29c..cd52d53 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/Dto/WmsCommonnQueryInput.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/Dto/WmsCommonnQueryInput.cs @@ -7,43 +7,16 @@ namespace Admin.NET.Application.Service.WmsCommonnQuery.Dto; /// <summary> -/// 搴撳瓨淇℃伅鍒嗛〉鏌ヨ杈撳叆鍙傛暟 +/// 缂撳瓨宀涢綈鍖呮煡璇㈣緭鍏ュ弬鏁� /// </summary> -public class PackListInput : BasePageInput +public class PackListInput { - /// <summary> - /// 鍏抽敭瀛楁煡璇� - /// </summary> - public string? SearchKey { get; set; } /// <summary> - /// 鏄惁榻愬 + /// 鏄惁榻愬寘 /// </summary> public bool? IsPack { get; set; } - /// <summary> - /// 杩涘叆鏃堕棿 - /// </summary> - public DateTime? InTime { get; set; } - - /// <summary> - /// 杩涘叆鏃堕棿鑼冨洿 - /// </summary> - public List<DateTime?> InTimeRange { get; set; } - /// <summary> - /// 閮ㄤ欢鏉$爜 - /// </summary> - public string? Upi { get; set; } - - /// <summary> - /// 閮ㄤ欢鍚嶇О - /// </summary> - public string? DetailName { get; set; } - - /// <summary> - /// 鎵规 - /// </summary> - public string? PlanNo { get; set; } public string PackageCode { get; set; } } diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/Dto/PersonOutboundInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/Dto/PersonOutboundInput.cs new file mode 100644 index 0000000..148467f --- /dev/null +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/Dto/PersonOutboundInput.cs @@ -0,0 +1,19 @@ +锘縰sing Admin.NET.Core; +using System.ComponentModel.DataAnnotations; + +namespace Admin.NET.Application; + +/// <summary> +/// 浜哄伐榻愬寘鍑哄簱杈撳叆鍙傛暟 +/// </summary> +public class PersonOutboundInput +{ + + /// <summary> + /// 鍖呰鍙烽泦鍚� + /// </summary> + public virtual List<string> PackageCodeList { get; set; } + +} + + 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..d61602b 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,7 @@ using Microsoft.CodeAnalysis.Operations; using Admin.NET.Application.Service.WmsTask.WmsRbLineTask.Dto; using Furion.DatabaseAccessor; +using Admin.NET.Application.Service.WmsCommonnQuery.Dto; namespace Admin.NET.Application; /// <summary> @@ -26,6 +27,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 +39,10 @@ , SqlSugarRepository<WmsRecordUpiProcess> wmsRecordUpiProcessRep , SqlSugarRepository<WmsRecordPackageProcess> wmsRecordPackageProcessRep , SqlSugarRepository<WmsRecordUpiNg> wmsRecordUpiNgRep + , WmsCommonnQueryService wmsCommonnQueryService ) { + _wmsCommonnQueryService = wmsCommonnQueryService; _wmsRecordUpiNgRep = wmsRecordUpiNgRep; _sysConfigRep = sysConfigRep; _mesPackageGatherRep = mesPackageGatherRep; @@ -68,14 +72,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()}'锛屼笉鍏佽寮哄埗鍑哄簱"); } //鏇存柊鐘舵�� @@ -93,6 +106,56 @@ } + + /// <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); + } + + await _wmsStockQuanRep.UpdateRangeAsync(updateQuanList); + + } + /// <summary> /// 鍒ゆ柇榻愬 /// </summary> diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDB2ObjForReadComm.cs b/SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDB2ObjForReadComm.cs index d0a21f5..fd04711 100644 --- a/SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDB2ObjForReadComm.cs +++ b/SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDB2ObjForReadComm.cs @@ -155,6 +155,13 @@ /// </summary> [Description("寮哄埗鍑哄簱妯″紡")] public bool R_ForceOutboundMode { get; set; } + + /// <summary> + /// 鍑哄簱妯″紡 + /// </summary> + [Description("鍑哄簱妯″紡")] + public bool R_OutboundMode { get; set; } + /// <summary> /// 鍚堝寘浠诲姟瀹屾垚 /// </summary> diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDBForReadComm.cs b/SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDBForReadComm.cs index e3dd4df..75dc6e0 100644 --- a/SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDBForReadComm.cs +++ b/SDA/iWareSda/Devices/4-Station/StationModel/DB/Items/Read/StationDBForReadComm.cs @@ -98,6 +98,12 @@ public string R_ForceOutboundMode { get; set; } /// <summary> + /// 鍑哄簱妯″紡 + /// </summary> + [Description("鍑哄簱妯″紡")] + public string R_OutboundMode { get; set; } + + /// <summary> /// 鍚堝寘浠诲姟瀹屾垚 /// </summary> [Description("鍚堝寘浠诲姟瀹屾垚")] diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs index 73e615f..7449b15 100644 --- a/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs +++ b/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs @@ -317,6 +317,7 @@ R_Outbound_TaskID = W_DBHeaderWithSeparate_BZ39 + "114.0", R_ForceOutboundMode = W_DBHeaderWithSeparate_BZ39 + "50.3", + R_OutboundMode = W_DBHeaderWithSeparate_BZ39 + "50.5", }); -- Gitblit v1.9.3