From 8c65f898ed6e5b0c7a94c792c4562f6ec831dccd Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 07 十一月 2026 08:50:53 +0800
Subject: [PATCH] feat: 完善质检、生产、销售、财务与人事模块并接入审批流程
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 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 c824d07..44f9538 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
@@ -13,6 +13,7 @@
import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum;
import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemBatchConfigService;
import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
+import cn.iocoder.yudao.module.mes.service.common.bpm.MesBpmProcessService;
import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderProgressRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO;
@@ -48,6 +49,11 @@
public class MesProWorkOrderServiceImpl implements MesProWorkOrderService {
@Resource
+ private MesBpmProcessService mesBpmProcessService;
+
+ private static final String BPM_PROCESS_DEFINITION_CATEGORY_CODE = "mes_pro_feedback_audit";
+
+ @Resource
private MesProWorkOrderMapper workOrderMapper;
@Resource
@@ -68,6 +74,8 @@
private MesMdWorkstationService workstationService;
@Resource
private CrmCustomerApi customerApi;
+ @Resource
+ private MesProWorkOrderTechnicalFileService technicalFileService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -83,6 +91,7 @@
MesProWorkOrderDO workOrder = BeanUtils.toBean(createReqVO, MesProWorkOrderDO.class);
workOrder.setStatus(MesProWorkOrderStatusEnum.PREPARE.getStatus());
workOrderMapper.insert(workOrder);
+ technicalFileService.snapshot(workOrder.getId(), workOrder.getProductId());
// 3. 鑷姩鐢熸垚 BOM锛氭牴鎹骇鍝� BOM 鐢熸垚宸ュ崟 BOM
workOrderBomService.generateWorkOrderBom(workOrder.getId(), createReqVO, false);
@@ -116,7 +125,10 @@
// 3. 鏇存柊
MesProWorkOrderDO updateObj = BeanUtils.toBean(updateReqVO, MesProWorkOrderDO.class);
+ // 宸ュ崟鐩樺彿娌跨敤鍒涘缓鏃剁殑鏉ユ簮蹇収锛岄伩鍏嶄笌璁″垝鍜屽凡鐢熸垚鐨勪笅娓歌褰曚笉涓�鑷淬��
+ updateObj.setReelNo(null);
workOrderMapper.updateById(updateObj);
+ if (productChanged) technicalFileService.replace(updateReqVO.getId(), updateReqVO.getProductId());
}
@Override
@@ -150,6 +162,13 @@
}
@Override
+ public List<Map<String, Object>> getWorkOrderApproveProcessDefinitionList() {
+ return mesBpmProcessService.getApproveProcessDefinitionList(BPM_PROCESS_DEFINITION_CATEGORY_CODE);
+ }
+
+
+
+ @Override
public MesProWorkOrderDO getWorkOrder(Long id) {
return workOrderMapper.selectById(id);
}
@@ -161,9 +180,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) {
+ return workOrderMapper.selectSchedulePage(pageReqVO, (List<Long>) null);
}
@Override
@@ -293,7 +315,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
public boolean checkAndAutoFinishWorkOrder(Long id) {
- MesProWorkOrderDO workOrder = getWorkOrder(id);
+ MesProWorkOrderDO workOrder = workOrderMapper.selectByIdForUpdate(id);
if (workOrder == null) {
return false;
}
--
Gitblit v1.9.3