Commit ee7cf5161d712532bfb3d9cb7bde65c70a92ac5f

Authored by YunaiV
1 parent 2742bd4f

fix(mes-cal): 计划班组增删前校验排班计划未确认

MesCalPlanTeamServiceImpl 的 create/delete 方法调用
planService.validatePlanPrepare(),确认后的排班计划禁止修改班组

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/cal/plan/MesCalPlanTeamServiceImpl.java
@@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.cal.plan.vo.team.MesCalPlanT @@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.cal.plan.vo.team.MesCalPlanT
5 import cn.iocoder.yudao.module.mes.dal.dataobject.cal.MesCalPlanTeamDO; 5 import cn.iocoder.yudao.module.mes.dal.dataobject.cal.MesCalPlanTeamDO;
6 import cn.iocoder.yudao.module.mes.dal.mysql.cal.plan.MesCalPlanTeamMapper; 6 import cn.iocoder.yudao.module.mes.dal.mysql.cal.plan.MesCalPlanTeamMapper;
7 import jakarta.annotation.Resource; 7 import jakarta.annotation.Resource;
  8 +import org.springframework.context.annotation.Lazy;
8 import org.springframework.stereotype.Service; 9 import org.springframework.stereotype.Service;
9 import org.springframework.validation.annotation.Validated; 10 import org.springframework.validation.annotation.Validated;
10 11
@@ -24,11 +25,15 @@ public class MesCalPlanTeamServiceImpl implements MesCalPlanTeamService { @@ -24,11 +25,15 @@ public class MesCalPlanTeamServiceImpl implements MesCalPlanTeamService {
24 25
25 @Resource 26 @Resource
26 private MesCalPlanTeamMapper planTeamMapper; 27 private MesCalPlanTeamMapper planTeamMapper;
  28 + @Resource
  29 + @Lazy
  30 + private MesCalPlanService planService;
27 31
28 @Override 32 @Override
29 public Long createPlanTeam(MesCalPlanTeamSaveReqVO createReqVO) { 33 public Long createPlanTeam(MesCalPlanTeamSaveReqVO createReqVO) {
30 - // TODO @AI:需要校验下,plan 未确定;(确认后,不允许编辑)  
31 - // 校验排班计划存在 34 + // 校验计划未确认
  35 + planService.validatePlanPrepare(createReqVO.getPlanId());
  36 + // 校验班组不重复
32 validatePlanTeamDuplicate(createReqVO.getPlanId(), createReqVO.getTeamId()); 37 validatePlanTeamDuplicate(createReqVO.getPlanId(), createReqVO.getTeamId());
33 38
34 // 插入 39 // 插入
@@ -39,17 +44,20 @@ public class MesCalPlanTeamServiceImpl implements MesCalPlanTeamService { @@ -39,17 +44,20 @@ public class MesCalPlanTeamServiceImpl implements MesCalPlanTeamService {
39 44
40 @Override 45 @Override
41 public void deletePlanTeam(Long id) { 46 public void deletePlanTeam(Long id) {
42 - // TODO @AI:需要校验下,plan 未确定;(确认后,不允许编辑)  
43 // 校验存在 47 // 校验存在
44 - validatePlanTeamExists(id); 48 + MesCalPlanTeamDO existPlanTeam = validatePlanTeamExists(id);
  49 + // 校验计划未确认
  50 + planService.validatePlanPrepare(existPlanTeam.getPlanId());
45 // 删除 51 // 删除
46 planTeamMapper.deleteById(id); 52 planTeamMapper.deleteById(id);
47 } 53 }
48 54
49 - private void validatePlanTeamExists(Long id) {  
50 - if (planTeamMapper.selectById(id) == null) { 55 + private MesCalPlanTeamDO validatePlanTeamExists(Long id) {
  56 + MesCalPlanTeamDO planTeam = planTeamMapper.selectById(id);
  57 + if (planTeam == null) {
51 throw exception(CAL_PLAN_TEAM_NOT_EXISTS); 58 throw exception(CAL_PLAN_TEAM_NOT_EXISTS);
52 } 59 }
  60 + return planTeam;
53 } 61 }
54 62
55 private void validatePlanTeamDuplicate(Long planId, Long teamId) { 63 private void validatePlanTeamDuplicate(Long planId, Long teamId) {