From 8e4eee5ad4d74e1a4e6ab4de3a9c28000700dce0 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 03 十一月 2026 13:49:04 +0800
Subject: [PATCH] 修复采购退货页面 ERP 模块已禁用报错
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++------
1 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java
index eee7b86..ea97b01 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java
@@ -2,8 +2,10 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemBatchConfigDO;
@@ -174,16 +176,12 @@
@Override
public PageResult<MesProWorkOrderDO> getWorkOrderPage(MesProWorkOrderPageReqVO pageReqVO) {
- // 鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑瀹㈡埛 ID 鍒楄〃
- List<Long> permittedClientIds = customerApi.getPermittedCustomerIds();
- return workOrderMapper.selectPage(pageReqVO, permittedClientIds);
+ return workOrderMapper.selectPage(pageReqVO, (List<Long>) null);
}
@Override
public PageResult<MesProWorkOrderDO> getWorkOrderSchedulePage(MesProWorkOrderPageReqVO pageReqVO) {
- // 鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑瀹㈡埛 ID 鍒楄〃
- List<Long> permittedClientIds = customerApi.getPermittedCustomerIds();
- return workOrderMapper.selectSchedulePage(pageReqVO, permittedClientIds);
+ return workOrderMapper.selectSchedulePage(pageReqVO, (List<Long>) null);
}
@Override
@@ -218,6 +216,39 @@
}
@Override
+ public void startWorkOrder(Long id) {
+ // 1. 鏍¢獙瀛樺湪 + 鍙湁宸茬‘璁ょ姸鎬佹墠鑳藉紑宸�
+ MesProWorkOrderDO workOrder = validateWorkOrderExists(id);
+ if (ObjUtil.notEqual(workOrder.getStatus(), MesProWorkOrderStatusEnum.CONFIRMED.getStatus())) {
+ throw exception(PRO_WORK_ORDER_NOT_CONFIRMED);
+ }
+ // 2. 宸插紑宸ョ殑涓嶅厑璁搁噸澶嶅惎鍔紝閬垮厤寮�宸ユ椂闂磋瑕嗙洊
+ if (workOrder.getActualStartTime() != null) {
+ throw exception(PRO_WORK_ORDER_ALREADY_STARTED);
+ }
+ // 3. 鍐欏叆寮�宸ユ椂闂翠笌寮�宸ヤ汉锛屽伐鍗曠敱姝よ繘鍏ャ�岀敓浜т腑銆�
+ workOrderMapper.updateById(new MesProWorkOrderDO().setId(id)
+ .setActualStartTime(LocalDateTime.now())
+ .setStartUserId(SecurityFrameworkUtils.getLoginUserId()));
+ }
+
+ @Override
+ public void updateWorkOrderBatch(Long id, String batchCode) {
+ // 1. 鏍¢獙瀛樺湪
+ MesProWorkOrderDO workOrder = validateWorkOrderExists(id);
+ // 2. 宸插畬鎴�/宸插彇娑堢殑宸ュ崟涓嶅厑璁稿啀鏀规壒娆�
+ if (MesProWorkOrderStatusEnum.FINISHED.getStatus().equals(workOrder.getStatus())
+ || MesProWorkOrderStatusEnum.CANCELED.getStatus().equals(workOrder.getStatus())) {
+ throw new ServiceException(PRO_WORK_ORDER_BATCH_NOT_EDITABLE.getCode(),
+ String.format("宸ュ崟[%s]褰撳墠鐘舵�佷负[%s]锛屽彧鏈夋湭瀹屽伐鐨勫伐鍗曞彲浠ョ鐞嗘壒娆°�傝纭宸ュ崟鐘舵�佸悗閲嶈瘯銆�",
+ workOrder.getCode(),
+ MesProWorkOrderStatusEnum.FINISHED.getStatus().equals(workOrder.getStatus()) ? "宸插畬鎴�" : "宸插彇娑�"));
+ }
+ // 3. 鏇存柊鎵规鍙�
+ workOrderMapper.updateById(new MesProWorkOrderDO().setId(id).setBatchCode(batchCode));
+ }
+
+ @Override
@Transactional(rollbackFor = Exception.class)
public void finishWorkOrder(Long id) {
// 1. 鏍¢獙瀛樺湪 + 鍙湁宸茬‘璁ょ姸鎬佹墠鑳藉畬鎴�
--
Gitblit v1.9.3