From d174e304ad0c38c78eb25f04a2ab97cc471620c5 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期一, 29 十二月 2025 11:02:13 +0800
Subject: [PATCH] 1
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs | 2
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs | 2
项目代码/WIDESEA_WMSClient/src/views/outbound/outPicking.vue | 12 +-
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs | 13 +++
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs | 12 ++
项目代码/WIDESEA_WMSClient/src/extension/outbound/extend/newAllocateOrderDetail.vue | 155 +++-----------------------------------
6 files changed, 45 insertions(+), 151 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/newAllocateOrderDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/newAllocateOrderDetail.vue"
index a4f1a20..98fe105 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/newAllocateOrderDetail.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/newAllocateOrderDetail.vue"
@@ -315,149 +315,20 @@
});
},
outbound() {
- // if (this.selection.length === 0) {
- // return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
- // }
- // const platformOptions = [
- // { label: "绔欏彴2", value: "2-1" },
- // { label: "绔欏彴3", value: "3-1" },
- // ];
- // const mountNode = document.createElement("div");
- // document.body.appendChild(mountNode);
+ if (this.selection.length === 0) {
+ return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
+ }
- // const formData = reactive({
- // selectedPlatform: platformOptions[0].value,
- // });
-
- // const vnode = createVNode(
- // ElDialog,
- // {
- // title: "鍑哄簱鎿嶄綔 - 閫夋嫨鍑哄簱绔欏彴",
- // width: "500px",
- // modelValue: true,
- // appendToBody: true,
- // "onUpdate:modelValue": (isVisible) => {
- // if (!isVisible) {
- // render(null, mountNode);
- // document.body.removeChild(mountNode);
- // }
- // },
- // style: {
- // padding: "20px 0",
- // borderRadius: "8px",
- // },
- // },
- // {
- // default: () =>
- // h(
- // ElForm,
- // {
- // model: formData,
- // rules: {
- // selectedPlatform: [
- // { required: true, message: "璇烽�夋嫨鍑哄簱绔欏彴", trigger: "change" },
- // ],
- // },
- // ref: "outboundForm",
- // labelWidth: "100px",
- // style: {
- // padding: "0 30px",
- // },
- // },
- // [
- // h(ElFormItem, {
- // label: "鍑哄簱绔欏彴",
- // prop: "selectedPlatform",
- // style: {
- // marginBottom: "24px",
- // },
- // }, [
- // h(ElSelect, {
- // placeholder: "璇烽�夋嫨鍑哄簱绔欏彴锛�3-12锛�",
- // modelValue: formData.selectedPlatform,
- // "onUpdate:modelValue": (val) => {
- // formData.selectedPlatform = val;
- // },
- // style: {
- // width: "100%",
- // height: "40px",
- // borderRadius: "4px",
- // borderColor: "#dcdfe6",
- // },
- // }, platformOptions.map((platform) =>
- // h(ElOption, { label: platform.label, value: platform.value })
- // )),
- // ]),
- // h("div", {
- // style: {
- // textAlign: "right",
- // marginTop: "8px",
- // paddingRight: "4px",
- // },
- // }, [
- // h(ElButton, {
- // type: "text",
- // onClick: () => {
- // render(null, mountNode);
- // document.body.removeChild(mountNode);
- // ElMessage.info("鍙栨秷鍑哄簱鎿嶄綔");
- // },
- // style: {
- // marginRight: "8px",
- // color: "#606266",
- // },
- // }, "鍙栨秷"),
- // h(ElButton, {
- // type: "primary",
- // onClick: async () => {
- // const formRef = vnode.component.refs.outboundForm;
- // try {
- // await formRef.validate();
- // } catch (err) {
- // return;
- // }
-
- // const keys = this.selection.map((item) => item.id);
- // const requestParams = {
- // detailIds: keys,
- // outboundTargetLocation: formData.selectedPlatform,
- // outboundQuantity: 1,
- // operator: "",
- // orderNo: this.row.orderNo,
- // };
-
- // this.http
- // .post(
- // "api/Outbound/ProcessPickingOutbound",
- // requestParams,
- // "鏁版嵁澶勭悊涓�"
- // )
- // .then((x) => {
- // if (!x.status) return ElMessage.error(x.message);
- // ElMessage.success("鎿嶄綔鎴愬姛");
- // this.showDetialBox = false;
- // this.$emit("parentCall", ($vue) => {
- // $vue.getData();
- // });
- // render(null, mountNode);
- // document.body.removeChild(mountNode);
- // })
- // // .catch(() => {
- // // ElMessage.error("璇锋眰澶辫触锛岃绋嶅悗閲嶈瘯");
- // // });
- // },
- // style: {
- // borderRadius: "4px",
- // padding: "8px 20px",
- // },
- // }, "纭畾鍑哄簱"),
- // ]),
- // ]),
- // }
- // );
-
- // vnode.appContext = this.$.appContext;
- // render(vnode, mountNode);
+ const keys = this.selection.map((item) => item.id);
+ const requestParams = {
+ detailIds: keys,
+ outboundQuantity: 1,
+ operator: "",
+ orderNo: this.row.orderNo,
+ isBatch: this.isBatch
+ };
+ console.log(requestParams);
+ this.$refs.DirectOutbound.open(requestParams);
},
outboundbatch() {
if (this.selection.length === 0) {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/outbound/outPicking.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/outbound/outPicking.vue"
index 75de823..3ad4a98 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/outbound/outPicking.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/outbound/outPicking.vue"
@@ -40,8 +40,8 @@
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="鎵樼洏鐮�" prop="palletCode">
- <el-input ref="palletInput" v-model="scanForm.palletCode" placeholder="璇锋壂鎻忔墭鐩樼爜"
- size="large" clearable @keyup.enter="handlePalletScan">
+ <el-input ref="palletInput" v-model="scanForm.palletCode" placeholder="璇锋壂鎻忔墭鐩樼爜" size="large"
+ clearable @keyup.enter="handlePalletScan">
<template #prefix>
<i class="el-icon-box"></i>
</template>
@@ -311,8 +311,8 @@
</el-dialog>
<!-- 鏁村嚭纭瀵硅瘽妗� -->
- <el-dialog v-model="wholeOutDialogVisible" title="鏁村嚭鎿嶄綔纭" width="500px"
- :before-close="handleWholeOutDialogClose" custom-class="whole-out-dialog" style="margin-right: 0px;">
+ <el-dialog v-model="wholeOutDialogVisible" title="鏁村嚭鎿嶄綔纭" width="500px" :before-close="handleWholeOutDialogClose"
+ custom-class="whole-out-dialog" style="margin-right: 0px;">
<div class="whole-out-content" v-if="wholeOutInfo">
<!-- 璀﹀憡鎻愮ず -->
<el-alert title="璇ユ墭鐩樺寘鍚渶瑕佹暣鍑虹殑鐗╂枡" type="warning" :closable="false" show-icon class="whole-out-alert">
@@ -361,7 +361,7 @@
<div class="info-item">
<label>鏁村嚭鏁伴噺锛�</label>
<span class="info-value highlight">{{ wholeOutInfo.assignQuantity }} {{ wholeOutInfo.unit
- }}</span>
+ }}</span>
</div>
<div class="info-item">
<label>褰撳墠搴撳瓨锛�</label>
@@ -882,7 +882,7 @@
// 妫�鏌ユ槸鍚﹀寘鍚暣鍑�
hasWholeOut() {
- return this.unpickedData.some(item => item.assignQuantity === item.originalQuantity) && !this.matMixed;
+ return this.unpickedData.some(item => item.assignQuantity === item.originalQuantity) && !this.matMixed
},
// 璁$畻鍓╀綑搴撳瓨
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
index 0a34266..c40c087 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
@@ -184,6 +184,19 @@
return first;
}
}
+
+ public bool QueryLocationCount(int locationType)
+ {
+ try
+ {
+ return BaseDal.QueryData(x => x.LocationType == locationType && x.LocationStatus == (int)LocationStatusEnum.Free && x.EnableStatus == (int)EnableEnum.Enable).Any();
+ }
+ catch (Exception)
+ {
+ return false;
+ }
+
+ }
public Dt_LocationInfo? AssignLocation()
{
lock (_locker)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs"
index 167a158..d228028 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs"
@@ -61,6 +61,8 @@
Dt_LocationInfo? AssignLocation();
+ bool QueryLocationCount(int locationType);
+
List<LocationTypeDto> GetLocationTypes();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
index ddabda4..4458ba2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
@@ -471,7 +471,7 @@
if (!result2.Item1) return content = WebResponseContent.Instance.Error(result2.Item2);
bool code = _locationTypeRepository.Db.Queryable<Dt_LocationType>().Where(x => x.LocationType == materielGroupDTO.WarehouseCode).Any();
- bool statu = _locationInfoRepository.Db.Queryable<Dt_LocationInfo>().Where(x => x.LocationType == materielGroupDTO.WarehouseCode && x.LocationStatus == (int)LocationStatusEnum.Free).Any();
+ bool statu = _locationInfoRepository.Db.Queryable<Dt_LocationInfo>().Where(x => x.LocationType == materielGroupDTO.WarehouseCode && x.LocationStatus == (int)LocationStatusEnum.Free && x.EnableStatus == (int)EnableEnum.Enable).Any();
if (!statu)
{
return content = WebResponseContent.Instance.Error($"璇ュ尯鍩熸棤璐т綅鍙垎閰�");
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs"
index 62387ff..18d4a5f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_InboundService/InboundService.cs"
@@ -24,6 +24,7 @@
using WIDESEA_DTO.Allocate;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.ReturnMES;
+using WIDESEA_IBasicService;
using WIDESEA_IInboundService;
using WIDESEA_IStockService;
using WIDESEA_Model.Models;
@@ -48,7 +49,8 @@
private readonly IRepository<Dt_AllocateMaterialInfo> _allocateMaterialInfo;
private readonly HttpClientHelper _httpClientHelper;
private readonly IRepository<Dt_MesReturnRecord> _mesReturnRecord;
- public InboundService(IUnitOfWorkManage unitOfWorkManage, IInboundOrderDetailService inboundOrderDetailService, IInboundOrderService inbounOrderService, IRepository<Dt_InboundOrder> inboundOrderRepository, IRepository<Dt_WarehouseArea> warehouseAreaRepository, IRepository<Dt_LocationType> locationTypeRepository, IRepository<Dt_StockInfo> stockInfoRepository, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository, IStockService stockService, IRepository<Dt_Task> taskRepository,IRepository<Dt_AllocateMaterialInfo> allocateMaterialInfo, HttpClientHelper httpClientHelper, IRepository<Dt_MesReturnRecord> mesReturnRecord)
+ private readonly ILocationInfoService _locationInfoService;
+ public InboundService(IUnitOfWorkManage unitOfWorkManage, IInboundOrderDetailService inboundOrderDetailService, IInboundOrderService inbounOrderService, IRepository<Dt_InboundOrder> inboundOrderRepository, IRepository<Dt_WarehouseArea> warehouseAreaRepository, IRepository<Dt_LocationType> locationTypeRepository, IRepository<Dt_StockInfo> stockInfoRepository, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository, IStockService stockService, IRepository<Dt_Task> taskRepository,IRepository<Dt_AllocateMaterialInfo> allocateMaterialInfo, HttpClientHelper httpClientHelper, IRepository<Dt_MesReturnRecord> mesReturnRecord,ILocationInfoService locationInfoService)
{
_unitOfWorkManage = unitOfWorkManage;
InboundOrderDetailService = inboundOrderDetailService;
@@ -63,6 +65,7 @@
_allocateMaterialInfo = allocateMaterialInfo;
_httpClientHelper = httpClientHelper;
_mesReturnRecord = mesReturnRecord;
+ _locationInfoService = locationInfoService;
}
public async Task<WebResponseContent> GroupPallet(GroupPalletDto palletDto)
@@ -115,6 +118,11 @@
if (stockInfo != null && stockInfo.Details.Count > 0 && stockInfo.Details.FirstOrDefault()?.WarehouseCode != palletDto.WarehouseType)
{
return content.Error($"璇ユ墭鐩樼粍鐩樹粨搴撲负{stockInfo.Details.FirstOrDefault()?.WarehouseCode}涓庡綋鍓嶄粨搴搟palletDto.WarehouseType}涓嶄竴鑷达紝涓嶅厑璁哥粍鐩�");
+ }
+
+ if (!_locationInfoService.QueryLocationCount(Convert.ToInt32(palletDto.locationType)))
+ {
+ return content.Error($"璇ュ簱鍖簕palletDto.locationType}涓嶅瓨鍦ㄧ┖闂插簱浣�");
}
foreach (var item in details)
@@ -376,7 +384,7 @@
.Where(x => x.OrderId == inboundOrder.Id && x.OrderDetailStatus==(int)OrderDetailStatusEnum.Over && x.ReturnToMESStatus == 0)
.ToList();
- var stocks = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.StockStatus == 6)
+ var stocks = _stockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.StockStatus == (int)StockStatusEmun.鍏ュ簱瀹屾垚)
.Where(it => SqlFunc.Subqueryable<Dt_StockInfoDetail>().Where(s => s.StockId == it.Id && s.OrderNo == inboundOrder.InboundOrderNo).Any())
.ToList();
--
Gitblit v1.9.3