From 6f415c44d1bdb0ceff279e527aaae078b4d18718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Mon, 11 Aug 2025 16:17:27 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9E=20fix:=20=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E9=9C=80=E8=A6=81=E5=88=A4=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/KLPService/MaterialSelect/index.vue | 2 +- .../src/components/KLPService/Renderer/BomInfo.vue | 4 ++-- .../components/KLPService/Renderer/BomInfoMini.vue | 5 +++-- .../components/KLPService/Renderer/ProductInfo.vue | 6 +++--- .../KLPService/Renderer/RawMaterialInfo.vue | 5 +++-- klp-ui/src/views/wms/ledger/index.vue | 14 ++++++++------ klp-ui/src/views/wms/stockIo/move.vue | 2 +- 7 files changed, 21 insertions(+), 17 deletions(-) diff --git a/klp-ui/src/components/KLPService/MaterialSelect/index.vue b/klp-ui/src/components/KLPService/MaterialSelect/index.vue index 00cd49bd..888c06d6 100644 --- a/klp-ui/src/components/KLPService/MaterialSelect/index.vue +++ b/klp-ui/src/components/KLPService/MaterialSelect/index.vue @@ -48,7 +48,7 @@ }, _itemId: { get() { - return this.itemId; + return this.itemId.toString(); }, set(val) { this.$emit('update:itemId', val); diff --git a/klp-ui/src/components/KLPService/Renderer/BomInfo.vue b/klp-ui/src/components/KLPService/Renderer/BomInfo.vue index 3387f47d..51765133 100644 --- a/klp-ui/src/components/KLPService/Renderer/BomInfo.vue +++ b/klp-ui/src/components/KLPService/Renderer/BomInfo.vue @@ -63,9 +63,9 @@ export default { let bomId = this.bomId; if (!bomId) { if (this.itemType === 'product') { - bomId = this.productMap[this.itemId].bomId; + bomId = this.productMap[this.itemId]?.bomId; } else if (this.itemType === 'raw_material') { - bomId = this.rawMaterialMap[this.itemId].bomId; + bomId = this.rawMaterialMap[this.itemId]?.bomId; } } if (!bomId) { diff --git a/klp-ui/src/components/KLPService/Renderer/BomInfoMini.vue b/klp-ui/src/components/KLPService/Renderer/BomInfoMini.vue index e08552e1..52c24df0 100644 --- a/klp-ui/src/components/KLPService/Renderer/BomInfoMini.vue +++ b/klp-ui/src/components/KLPService/Renderer/BomInfoMini.vue @@ -63,12 +63,13 @@ export default { let bomId = this.bomId; if (!bomId) { if (this.itemType === 'product') { - bomId = this.productMap[this.itemId].bomId; + bomId = this.productMap[this.itemId]?.bomId; } else if (this.itemType === 'raw_material') { - bomId = this.rawMaterialMap[this.itemId].bomId; + bomId = this.rawMaterialMap[this.itemId]?.bomId; } } if (!bomId) { + this.bomInfo = []; return; } if (bomMap[bomId]) { diff --git a/klp-ui/src/components/KLPService/Renderer/ProductInfo.vue b/klp-ui/src/components/KLPService/Renderer/ProductInfo.vue index 0830efb1..6e5580cb 100644 --- a/klp-ui/src/components/KLPService/Renderer/ProductInfo.vue +++ b/klp-ui/src/components/KLPService/Renderer/ProductInfo.vue @@ -62,9 +62,9 @@ export default { watch: { productId: { handler(newVal) { - this.product = this.productMap && this.productMap[this.productId] - ? { ...this.productMap[this.productId] } - : {}; + const res = this.productMap[this.productId] ? this.productMap[this.productId] : {}; + console.log(res) + this.product = res; }, immediate: true } diff --git a/klp-ui/src/components/KLPService/Renderer/RawMaterialInfo.vue b/klp-ui/src/components/KLPService/Renderer/RawMaterialInfo.vue index 79975da6..00f76682 100644 --- a/klp-ui/src/components/KLPService/Renderer/RawMaterialInfo.vue +++ b/klp-ui/src/components/KLPService/Renderer/RawMaterialInfo.vue @@ -3,7 +3,7 @@ - {{ material.rawMaterialName ? material.rawMaterialName : '--' }} + {{ material.rawMaterialName ? material.rawMaterialName : '-' }} + - + diff --git a/klp-ui/src/views/wms/express/components/ExpressStatusEditor.vue b/klp-ui/src/views/wms/express/components/ExpressStatusEditor.vue new file mode 100644 index 00000000..102f2cfd --- /dev/null +++ b/klp-ui/src/views/wms/express/components/ExpressStatusEditor.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/klp-ui/src/views/wms/express/index.vue b/klp-ui/src/views/wms/express/index.vue new file mode 100644 index 00000000..7883d264 --- /dev/null +++ b/klp-ui/src/views/wms/express/index.vue @@ -0,0 +1,771 @@ + + + diff --git a/klp-ui/src/views/wms/expressQuestion/index.vue b/klp-ui/src/views/wms/expressQuestion/index.vue new file mode 100644 index 00000000..cb635733 --- /dev/null +++ b/klp-ui/src/views/wms/expressQuestion/index.vue @@ -0,0 +1,353 @@ + + + diff --git a/klp-ui/src/views/wms/rxgood/detail.vue b/klp-ui/src/views/wms/rxgood/detail.vue new file mode 100644 index 00000000..042b0f94 --- /dev/null +++ b/klp-ui/src/views/wms/rxgood/detail.vue @@ -0,0 +1,595 @@ + + + diff --git a/klp-ui/src/views/wms/rxgood/index.vue b/klp-ui/src/views/wms/rxgood/index.vue new file mode 100644 index 00000000..6f21291d --- /dev/null +++ b/klp-ui/src/views/wms/rxgood/index.vue @@ -0,0 +1,378 @@ + + + diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsStockLogMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsStockLogMapper.java index bf987bff..ebfb3ada 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsStockLogMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsStockLogMapper.java @@ -1,9 +1,7 @@ package com.klp.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.klp.domain.WmsStock; import com.klp.domain.WmsStockLog; import com.klp.domain.vo.WmsStockLogVo; import com.klp.common.core.mapper.BaseMapperPlus; diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsStockLogServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsStockLogServiceImpl.java index 09b255dc..3adffeab 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsStockLogServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsStockLogServiceImpl.java @@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; +import com.klp.domain.WmsWarehouse; +import com.klp.mapper.WmsWarehouseMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.klp.domain.bo.WmsStockLogBo; @@ -16,6 +18,8 @@ import com.klp.domain.WmsStockLog; import com.klp.mapper.WmsStockLogMapper; import com.klp.service.IWmsStockLogService; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Collection; @@ -31,6 +35,8 @@ import java.util.Collection; public class WmsStockLogServiceImpl implements IWmsStockLogService { private final WmsStockLogMapper baseMapper; + @Resource + private WmsWarehouseMapper warehouseMapper; /** * 查询库存流水 @@ -62,7 +68,15 @@ public class WmsStockLogServiceImpl implements IWmsStockLogService { private QueryWrapper buildQueryWrapperPlus(WmsStockLogBo bo) { QueryWrapper lqw = Wrappers.query(); lqw.eq("sl.del_flag", 0); - lqw.eq(bo.getWarehouseId() != null, "sl.warehouse_id", bo.getWarehouseId()); + // 处理仓库ID查询,支持递归查询子节点 + if (bo.getWarehouseId() != null) { + List warehouseIds = getWarehouseIdsWithChildren(bo.getWarehouseId()); + if (warehouseIds.size() == 1) { + lqw.eq("sl.warehouse_id", warehouseIds.get(0)); + } else { + lqw.in("sl.warehouse_id", warehouseIds); + } + } lqw.eq(bo.getItemId() != null, "sl.item_id", bo.getItemId()); lqw.eq(StringUtils.isNotBlank(bo.getItemType()), "sl.item_type", bo.getItemType()); lqw.eq(bo.getChangeQty() != null, "sl.change_qty", bo.getChangeQty()); @@ -83,8 +97,6 @@ public class WmsStockLogServiceImpl implements IWmsStockLogService { lqw.eq(bo.getChangeQty() != null, WmsStockLog::getChangeQty, bo.getChangeQty()); lqw.eq(bo.getAfterQty() != null, WmsStockLog::getAfterQty, bo.getAfterQty()); lqw.eq(StringUtils.isNotBlank(bo.getChangeType()), WmsStockLog::getChangeType, bo.getChangeType()); -// lqw.eq(bo.getChangeTime() != null, WmsStockLog::getChangeTime, bo.getChangeTime()); - // 根据时间区间查询 lqw.ge(bo.getStartTime() != null, WmsStockLog::getChangeTime, bo.getStartTime()); lqw.le(bo.getEndTime() != null, WmsStockLog::getChangeTime, bo.getEndTime()); @@ -132,4 +144,38 @@ public class WmsStockLogServiceImpl implements IWmsStockLogService { } return baseMapper.deleteBatchIds(ids) > 0; } + + /** + * 获取指定仓库ID及其所有子仓库ID + * @param warehouseId 仓库ID + * @return 包含当前仓库ID和所有子仓库ID的列表 + */ + private List getWarehouseIdsWithChildren(Long warehouseId) { + List warehouseIds = new ArrayList<>(); + warehouseIds.add(warehouseId); // 添加当前仓库ID + + // 递归获取所有子仓库ID + getChildWarehouseIds(warehouseId, warehouseIds); + + return warehouseIds; + } + + /** + * 递归获取子仓库ID + * @param parentId 父仓库ID + * @param warehouseIds 仓库ID列表(用于收集结果) + */ + private void getChildWarehouseIds(Long parentId, List warehouseIds) { + // 查询直接子仓库 + List children = warehouseMapper.selectList( + Wrappers.lambdaQuery() + .eq(WmsWarehouse::getParentId, parentId) + .eq(WmsWarehouse::getDelFlag, 0) + ); + // 递归处理每个子仓库 + for (WmsWarehouse child : children) { + warehouseIds.add(child.getWarehouseId()); + getChildWarehouseIds(child.getWarehouseId(), warehouseIds); + } + } } From 8af6e08d05ec0be8e02d5446845148012112188f Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Mon, 11 Aug 2025 17:50:36 +0800 Subject: [PATCH 3/3] =?UTF-8?q?refactor(wms):=20=E6=9B=B4=E6=96=B0=20API?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E5=B9=B6=E8=B0=83=E6=95=B4=E8=A7=86=E5=9B=BE?= =?UTF-8?q?=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将物流预览、快递问题、汇报详情和汇报概述的 API 路径从 '/oa' 或 '/system' 更新为 '/wms' - 修改收货报告列表页面的链接路径 - 移除物流预览页面中未使用的关联项目选择框 --- klp-ui/src/api/wms/express.js | 12 +++--- klp-ui/src/api/wms/expressQuestion.js | 46 +++++++++++----------- klp-ui/src/api/wms/reportDetail.js | 53 +++----------------------- klp-ui/src/api/wms/reportSummary.js | 47 +++-------------------- klp-ui/src/views/wms/express/index.vue | 1 - klp-ui/src/views/wms/rxgood/index.vue | 2 +- 6 files changed, 41 insertions(+), 120 deletions(-) diff --git a/klp-ui/src/api/wms/express.js b/klp-ui/src/api/wms/express.js index 65447073..4f5c4e22 100644 --- a/klp-ui/src/api/wms/express.js +++ b/klp-ui/src/api/wms/express.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询物流预览列表 export function listExpress(query) { return request({ - url: '/oa/express/list', + url: '/wms/express/list', method: 'get', params: query }) @@ -12,14 +12,14 @@ export function listExpress(query) { // 查询物流预览详细 export function getExpress(expressId) { return request({ - url: '/oa/express/' + expressId, + url: '/wms/express/' + expressId, method: 'get' }) } // 查询物流预览详细 export function refreshExpress(expressId) { return request({ - url: '/oa/express/refresh/' + expressId, + url: '/wms/express/refresh/' + expressId, method: 'get' }) } @@ -27,7 +27,7 @@ export function refreshExpress(expressId) { // 新增物流预览 export function addExpress(data) { return request({ - url: '/oa/express', + url: '/wms/express', method: 'post', data: data }) @@ -36,7 +36,7 @@ export function addExpress(data) { // 修改物流预览 export function updateExpress(data) { return request({ - url: '/oa/express', + url: '/wms/express', method: 'put', data: data }) @@ -45,7 +45,7 @@ export function updateExpress(data) { // 删除物流预览 export function delExpress(expressId) { return request({ - url: '/oa/express/' + expressId, + url: '/wms/express/' + expressId, method: 'delete' }) } diff --git a/klp-ui/src/api/wms/expressQuestion.js b/klp-ui/src/api/wms/expressQuestion.js index b20a9937..bacdaf71 100644 --- a/klp-ui/src/api/wms/expressQuestion.js +++ b/klp-ui/src/api/wms/expressQuestion.js @@ -2,43 +2,43 @@ import request from '@/utils/request' // 查询快递问题列表 export function listExpressQuestion(query) { -return request({ -url: '/oa/expressQuestion/list', -method: 'get', -params: query -}) + return request({ + url: '/wms/expressQuestion/list', + method: 'get', + params: query + }) } // 查询快递问题详细 export function getExpressQuestion(questionId) { -return request({ -url: '/oa/expressQuestion/' + questionId, -method: 'get' -}) + return request({ + url: '/wms/expressQuestion/' + questionId, + method: 'get' + }) } // 新增快递问题 export function addExpressQuestion(data) { -return request({ -url: '/oa/expressQuestion', -method: 'post', -data: data -}) + return request({ + url: '/wms/expressQuestion', + method: 'post', + data: data + }) } // 修改快递问题 export function updateExpressQuestion(data) { -return request({ -url: '/oa/expressQuestion', -method: 'put', -data: data -}) + return request({ + url: '/wms/expressQuestion', + method: 'put', + data: data + }) } // 删除快递问题 export function delExpressQuestion(questionId) { -return request({ -url: '/oa/expressQuestion/' + questionId, -method: 'delete' -}) + return request({ + url: '/wms/expressQuestion/' + questionId, + method: 'delete' + }) } diff --git a/klp-ui/src/api/wms/reportDetail.js b/klp-ui/src/api/wms/reportDetail.js index 0099fba6..47d55e75 100644 --- a/klp-ui/src/api/wms/reportDetail.js +++ b/klp-ui/src/api/wms/reportDetail.js @@ -2,49 +2,8 @@ import request from '@/utils/request' // 查询设计项目汇报详情列表 export async function listReportDetail(query) { - // return { - // rows: [ - // { - // reportDetailId: 1, - // deviceCode: 1, - // category: '设备类型2', - // deviceDescription: '设备生产说明', - // reportDetail: '汇报详情', - // ossIds: '1,2', - // images: 'https://api.mtyqx.cn/api/random.php,https://api.mtyqx.cn/xjjapi/random.php' - // }, - // { - // reportDetailId: 2, - // deviceCode: 1, - // category: '设备类型3', - // deviceDescription: '设备生产说明', - // reportDetail: '汇报详情', - // images: 'https://api.mtyqx.cn/api/random.php,https://api.mtyqx.cn/xjjapi/random.php', - // ossIds: 'https://api.mtyqx.cn/api/random.php,https://api.mtyqx.cn/xjjapi/random.php' - // }, - // { - // reportDetailId: 3, - // deviceCode: 1, - // category: '设备类型4', - // deviceDescription: '设备生产说明', - // reportDetail: '汇报详情', - // images: 'https://api.mtyqx.cn/api/random.php,https://api.mtyqx.cn/xjjapi/random.php', - // ossIds: 'https://api.mtyqx.cn/api/random.php,https://api.mtyqx.cn/xjjapi/random.php' - // }, - // { - // reportDetailId: 4, - // deviceCode: 1, - // category: '设备类型5', - // deviceDescription: '设备生产说明', - // reportDetail: '汇报详情', - // images: 'https://api.mtyqx.cn/api/random.php,https://api.mtyqx.cn/xjjapi/random.php', - // ossIds: 'https://api.mtyqx.cn/api/random.php,https://api.mtyqx.cn/xjjapi/random.php' - // }, - // ], - // total: 1 - // } return request({ - url: '/system/reportDetail/list', + url: '/wms/reportDetail/list', method: 'get', params: query }) @@ -53,7 +12,7 @@ export async function listReportDetail(query) { // 查询设计项目汇报详情详细 export function getReportDetail(id) { return request({ - url: '/system/reportDetail/' + id, + url: '/wms/reportDetail/' + id, method: 'get' }) } @@ -61,7 +20,7 @@ export function getReportDetail(id) { // 新增设计项目汇报详情 export function addReportDetail(data) { return request({ - url: '/system/reportDetail', + url: '/wms/reportDetail', method: 'post', data: data }) @@ -70,7 +29,7 @@ export function addReportDetail(data) { // 修改设计项目汇报详情 export function updateReportDetail(data) { return request({ - url: '/system/reportDetail', + url: '/wms/reportDetail', method: 'put', data: data }) @@ -79,7 +38,7 @@ export function updateReportDetail(data) { // 删除设计项目汇报详情 export function delReportDetail(id) { return request({ - url: '/system/reportDetail/' + id, + url: '/wms/reportDetail/' + id, method: 'delete' }) } @@ -87,7 +46,7 @@ export function delReportDetail(id) { export function listReportDetailByProjectId(projectId) { return request({ - url: '/system/reportDetail/project/' + projectId, + url: '/wms/reportDetail/project/' + projectId, method: 'get' }) } diff --git a/klp-ui/src/api/wms/reportSummary.js b/klp-ui/src/api/wms/reportSummary.js index a9193903..ddfdfb8c 100644 --- a/klp-ui/src/api/wms/reportSummary.js +++ b/klp-ui/src/api/wms/reportSummary.js @@ -2,45 +2,8 @@ import request from '@/utils/request' // 查询设计项目汇报概述列表 export async function listReportSummary(query) { - // return { - // rows: [ - // { - // reportSummaryId: 1, - // reportTitle: '汇报标题', - // reportDate: '汇报日期', - // reporter: '汇报人', - // projectName: '设计项目', - // projectId: '1' - // }, - // { - // reportSummaryId: 2, - // reportTitle: '汇报标题', - // reportDate: '汇报日期', - // reporter: '汇报人', - // projectName: '设计项目', - // projectId: '1' - // }, - // { - // reportSummaryId: 3, - // reportTitle: '汇报标题', - // reportDate: '汇报日期', - // reporter: '汇报人', - // projectName: '设计项目', - // projectId: '1' - // }, - // { - // reportSummaryId: 4, - // reportTitle: '汇报标题', - // reportDate: '汇报日期', - // reporter: '汇报人', - // projectName: '设计项目', - // projectId: '1' - // }, - // ], - // total: 1, - // } return request({ - url: '/system/reportSummary/list', + url: '/wms/reportSummary/list', method: 'get', params: query }) @@ -49,7 +12,7 @@ export async function listReportSummary(query) { // 查询设计项目汇报概述详细 export function getReportSummary(id) { return request({ - url: '/system/reportSummary/' + id, + url: '/wms/reportSummary/' + id, method: 'get' }) } @@ -57,7 +20,7 @@ export function getReportSummary(id) { // 新增设计项目汇报概述 export function addReportSummary(data) { return request({ - url: '/system/reportSummary', + url: '/wms/reportSummary', method: 'post', data: data }) @@ -66,7 +29,7 @@ export function addReportSummary(data) { // 修改设计项目汇报概述 export function updateReportSummary(data) { return request({ - url: '/system/reportSummary', + url: '/wms/reportSummary', method: 'put', data: data }) @@ -75,7 +38,7 @@ export function updateReportSummary(data) { // 删除设计项目汇报概述 export function delReportSummary(id) { return request({ - url: '/system/reportSummary/' + id, + url: '/wms/reportSummary/' + id, method: 'delete' }) } diff --git a/klp-ui/src/views/wms/express/index.vue b/klp-ui/src/views/wms/express/index.vue index 7883d264..d4ad8660 100644 --- a/klp-ui/src/views/wms/express/index.vue +++ b/klp-ui/src/views/wms/express/index.vue @@ -276,7 +276,6 @@ -