From 71f18458d6a8dbab2addff3da02d76e373a278d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E6=88=90?= <2847920761@qq.com> Date: Thu, 7 Aug 2025 13:09:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BE=9D=E8=B5=96=E5=86=B2?= =?UTF-8?q?=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusCailiaoshebeiController.java | 48 ++++--------------- .../BusCailiaoshebeiPiciController.java | 2 +- .../BusMaterialbatchdemandplanController.java | 13 ++--- .../BusMaterialsorderController.java | 29 +++++++++++ .../domain/bo/BusCailiaoshebeiPiciBo.java | 5 ++ .../domain/bo/ModifyTheOrderFormGYSReq.java | 21 ++++++++ .../dto/ModifyTheOrderFormGYSTwoDto.java | 37 ++++++++++++++ .../domain/vo/BusCailiaoshebeiVo.java | 4 +- .../service/IBusCailiaoshebeiPiciService.java | 3 +- .../impl/BusCailiaoshebeiPiciServiceImpl.java | 40 +++++++++++++++- .../impl/BusCailiaoshebeiServiceImpl.java | 46 +++++++++++++++++- ...BusMaterialbatchdemandplanServiceImpl.java | 23 ++++++++- .../impl/BusMaterialsorderServiceImpl.java | 12 ++++- 13 files changed, 228 insertions(+), 55 deletions(-) create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/ModifyTheOrderFormGYSReq.java create mode 100644 xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/ModifyTheOrderFormGYSTwoDto.java diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusCailiaoshebeiController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusCailiaoshebeiController.java index d74109e5..e106db23 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusCailiaoshebeiController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusCailiaoshebeiController.java @@ -67,6 +67,7 @@ public class BusCailiaoshebeiController extends BaseController { @GetMapping("/pcList") public TableDataInfo pcList(BusCailiaoshebeiPiciPcListReq bo, PageQuery pageQuery) { BusCailiaoshebeiPiciBo busCailiaoshebeiPiciBo = BeanUtil.copyProperties(bo, BusCailiaoshebeiPiciBo.class); +// busCailiaoshebeiPiciBo.setCxsj("1"); //作为查询数据-设计 busCailiaoshebeiPiciBo.setBatchType("1"); return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery); } @@ -79,7 +80,7 @@ public class BusCailiaoshebeiController extends BaseController { @DeleteMapping("/pcDelete/{ids}") public R pcDelete(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { - return toAjax(busCailiaoshebeiPiciService.deleteWithValidByIds(List.of(ids), true)); + return toAjax(busCailiaoshebeiPiciService.deleteWithValidByIds(List.of(ids), true, "1")); } /** @@ -139,17 +140,7 @@ public class BusCailiaoshebeiController extends BaseController { return toAjax(busCailiaoshebeiService.deleteWithValidByIds(List.of(ids), true)); } - /** - * 设计-提交审批按钮 - * - */ - @SaCheckPermission("cailiaoshebei:cailiaoshebei:SubmitForApprovalButton") - @Log(title = "设计-提交审批按钮", businessType = BusinessType.DELETE) - @PostMapping("/SubmitForApprovalButton") - public R submitForApprovalButton() { - return null; - } // /** @@ -172,6 +163,7 @@ public class BusCailiaoshebeiController extends BaseController { @GetMapping("/pcPlanList") public TableDataInfo pcPlanList(BusCailiaoshebeiPiciPcListReq bo, PageQuery pageQuery) { BusCailiaoshebeiPiciBo busCailiaoshebeiPiciBo = BeanUtil.copyProperties(bo, BusCailiaoshebeiPiciBo.class); + busCailiaoshebeiPiciBo.setCxsj("1"); //设计完成,才能展示计划 busCailiaoshebeiPiciBo.setBatchType("1"); return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery); } @@ -185,37 +177,17 @@ public class BusCailiaoshebeiController extends BaseController { return busCailiaoshebeiService.queryPageListPlan(bo, pageQuery); } - /** - * 计划-删除批次号 - */ - @SaCheckPermission("cailiaoshebei:cailiaoshebei:deletePlan") - @Log(title = "计划-删除批次号", businessType = BusinessType.DELETE) - @DeleteMapping("/deletePlan/{ids}") - public R deletePlan(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(busCailiaoshebeiPiciService.deleteWithValidByIds(List.of(ids), true)); - } - - // /** -// * 计划-材料设备清单子列表 +// * 计划-删除批次号 // */ -// @SaCheckPermission("cailiaoshebei:cailiaoshebei:listPlanSon") -// @GetMapping("/listPlanSon") -// public TableDataInfo listPlanSon(BusSuppliespriceBo bo, PageQuery pageQuery) { -// return busSuppliespriceService.queryPageList(bo, pageQuery); +// @SaCheckPermission("cailiaoshebei:cailiaoshebei:deletePlan") +// @Log(title = "计划-删除批次号", businessType = BusinessType.DELETE) +// @DeleteMapping("/deletePlan/{ids}") +// public R deletePlan(@NotEmpty(message = "主键不能为空") +// @PathVariable Long[] ids) { +// return toAjax(busCailiaoshebeiPiciService.deleteWithValidByIds(List.of(ids), true, "2")); // } -// /** -// * 计划-新增材料设备清单子数据 -// */ -// @SaCheckPermission("cailiaoshebei:cailiaoshebei:addPlanSon") -// @Log(title = "物资-物资清单", businessType = BusinessType.INSERT) -// @RepeatSubmit() -// @PostMapping("/addPlanSon") -// public R addPlanSon(@Validated(AddGroup.class) @RequestBody BusSuppliespriceBo bo) { -// return toAjax(busSuppliespriceService.insertByBo(bo)); -// } /** * 计划-获取物资清单详细信息 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusCailiaoshebeiPiciController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusCailiaoshebeiPiciController.java index 1f608109..99469e8a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusCailiaoshebeiPiciController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusCailiaoshebeiPiciController.java @@ -100,6 +100,6 @@ public class BusCailiaoshebeiPiciController extends BaseController { @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { - return toAjax(busCailiaoshebeiPiciService.deleteWithValidByIds(List.of(ids), true)); + return toAjax(busCailiaoshebeiPiciService.deleteWithValidByIds(List.of(ids), true, "0")); } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusMaterialbatchdemandplanController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusMaterialbatchdemandplanController.java index b8adced3..787e33e0 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusMaterialbatchdemandplanController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusMaterialbatchdemandplanController.java @@ -46,10 +46,10 @@ public class BusMaterialbatchdemandplanController extends BaseController { private final IBusCailiaoshebeiService busCailiaoshebeiService; /** - * 设计-新增批次号 + * 需求-新增批次号 */ @SaCheckPermission("cailiaoshebei:materialbatchdemandplan:pcAdd") - @Log(title = "物资-批次号", businessType = BusinessType.INSERT) + @Log(title = "需求-新增批次号", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping("/pcAdd") public R pcAdd(@Validated(AddGroup.class) @RequestBody BusCailiaoshebeiPiciAddReq bo) { @@ -61,25 +61,26 @@ public class BusMaterialbatchdemandplanController extends BaseController { } /** - * 设计-批次号列表 + * 批次号列表 */ @SaCheckPermission("cailiaoshebei:materialbatchdemandplan:pcList") @GetMapping("/pcList") public TableDataInfo pcList(BusCailiaoshebeiPiciPcListReq bo, PageQuery pageQuery) { BusCailiaoshebeiPiciBo busCailiaoshebeiPiciBo = BeanUtil.copyProperties(bo, BusCailiaoshebeiPiciBo.class); + busCailiaoshebeiPiciBo.setCxsj("2"); //计划完成,才能展示需求 busCailiaoshebeiPiciBo.setBatchType("2"); return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery); } /** - * 设计-删除物资批次号 + * 需求-删除物资批次号 */ @SaCheckPermission("cailiaoshebei:materialbatchdemandplan:pcDelete") - @Log(title = "设计-删除批次号", businessType = BusinessType.DELETE) + @Log(title = "需求-删除批次号", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { - return toAjax(busCailiaoshebeiPiciService.deleteWithValidByIds(List.of(ids), true)); + return toAjax(busCailiaoshebeiPiciService.deleteWithValidByIds(List.of(ids), true, "3")); } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusMaterialsorderController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusMaterialsorderController.java index 07daf4ca..f68f6b58 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusMaterialsorderController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusMaterialsorderController.java @@ -8,10 +8,13 @@ import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici; +import org.dromara.cailiaoshebei.domain.BusMaterialbatchdemandplan; import org.dromara.cailiaoshebei.domain.BusMaterialsorder; import org.dromara.cailiaoshebei.domain.bo.*; +import org.dromara.cailiaoshebei.domain.dto.ModifyTheOrderFormGYSTwoDto; import org.dromara.cailiaoshebei.domain.vo.BusCailiaoshebeiPiciVo; import org.dromara.cailiaoshebei.service.IBusCailiaoshebeiPiciService; +import org.dromara.common.core.exception.ServiceException; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -90,6 +93,32 @@ public class BusMaterialsorderController extends BaseController { return busMaterialsorderService.queryPageList(bo, pageQuery); } + /** + * 订货-修改订货信息(供货商修改版) + */ + @SaCheckPermission("cailiaoshebei:materialsorder:modifyTheOrderFormGYS") + @Log(title = "订货-修改订货信息(供货商修改版)", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping("/modifyTheOrderFormGYS") + public R modifyTheOrderFormGYS(@Validated(EditGroup.class) @RequestBody ModifyTheOrderFormGYSReq req) { + List upEntity = BeanUtil.copyToList(req.getList(), BusMaterialsorder.class); + if (upEntity.isEmpty()){ + throw new ServiceException("请选择要修改的行"); + } + return toAjax(busMaterialsorderService.updateBatchById(upEntity)); + } + + /** + * 订货-查询物资设备订货列表(供货商修改版) + */ + @SaCheckPermission("cailiaoshebei:materialsorder:listGYS") + @GetMapping("/listGYS") + public TableDataInfo listGYS(BusMaterialsorderListReq req, PageQuery pageQuery) { + BusMaterialsorderBo bo = BeanUtil.copyProperties(req, BusMaterialsorderBo.class); + return busMaterialsorderService.queryPageList(bo, pageQuery); + } + + //================================物资设备批次需求计划执行跟踪================================ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiPiciBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiPiciBo.java index df8755b2..5fc29810 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiPiciBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiPiciBo.java @@ -64,4 +64,9 @@ public class BusCailiaoshebeiPiciBo extends BaseEntity { private String remark; + /** + * 查询数据判断 + */ + private String cxsj; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/ModifyTheOrderFormGYSReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/ModifyTheOrderFormGYSReq.java new file mode 100644 index 00000000..8cbe6c03 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/ModifyTheOrderFormGYSReq.java @@ -0,0 +1,21 @@ +package org.dromara.cailiaoshebei.domain.bo; + +import lombok.Data; +import org.dromara.cailiaoshebei.domain.dto.ModifyTheOrderFormGYSTwoDto; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author 铁憨憨 + * @Date 2025/8/7 11:10 + * @Version 1.0 + */ + +@Data +public class ModifyTheOrderFormGYSReq implements Serializable { + /** + * 订货-主体数据 + */ + private List list; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/ModifyTheOrderFormGYSTwoDto.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/ModifyTheOrderFormGYSTwoDto.java new file mode 100644 index 00000000..ff825a7b --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/dto/ModifyTheOrderFormGYSTwoDto.java @@ -0,0 +1,37 @@ +package org.dromara.cailiaoshebei.domain.dto; + +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDate; + +/** + * @Author 铁憨憨 + * @Date 2025/8/7 11:11 + * @Version 1.0 + */ + +@Data +public class ModifyTheOrderFormGYSTwoDto implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "id") + private Long id; + + /** + * 预计到货时间 + */ + private LocalDate expectedArrival; + + /** + * 预计生产完成时间 + */ + private LocalDate productionTime; + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusCailiaoshebeiVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusCailiaoshebeiVo.java index 87c4a094..dc8a9043 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusCailiaoshebeiVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusCailiaoshebeiVo.java @@ -37,10 +37,10 @@ public class BusCailiaoshebeiVo implements Serializable { private Long id; /** - * 批次ID + * 批次号 */ @ExcelProperty(value = "批次ID") - private String batchId; + private String batchNumber; /** * 供货商ID diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusCailiaoshebeiPiciService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusCailiaoshebeiPiciService.java index efc7cb61..f6b964f8 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusCailiaoshebeiPiciService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusCailiaoshebeiPiciService.java @@ -64,7 +64,8 @@ public interface IBusCailiaoshebeiPiciService extends IService ids, Boolean isValid); + Boolean deleteWithValidByIds(Collection ids, Boolean isValid ,String type); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusCailiaoshebeiPiciServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusCailiaoshebeiPiciServiceImpl.java index 748a88c8..b2060a8b 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusCailiaoshebeiPiciServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusCailiaoshebeiPiciServiceImpl.java @@ -1,6 +1,7 @@ package org.dromara.cailiaoshebei.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -53,6 +54,17 @@ public class BusCailiaoshebeiPiciServiceImpl extends ServiceImpl queryPageList(BusCailiaoshebeiPiciBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); + //查询设计为已经完成的数据 + if (StringUtils.isNotBlank(bo.getCxsj())) { + if ("1".equals(bo.getCxsj())){ //设计 + lqw.eq(BusCailiaoshebeiPici::getApprovalDesign, "finish"); + }else if ("2".equals(bo.getCxsj())){ //计划 + lqw.eq(BusCailiaoshebeiPici::getApprovalPlan, "finish"); + }else if ("3".equals(bo.getCxsj())){ //需求 + lqw.eq(BusCailiaoshebeiPici::getApprovalPlan, "finish"); + } + + } Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -127,9 +139,35 @@ public class BusCailiaoshebeiPiciServiceImpl extends ServiceImpl ids, Boolean isValid) { + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid, String type) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 + //如果不为草稿状态,不允许删除 + List list = baseMapper.selectBatchIds(ids); + for (BusCailiaoshebeiPici busCailiaoshebeiPici : list) { + switch (type){ + case "1": //设计 + if (!"draft".equals(busCailiaoshebeiPici.getApprovalDesign())){ + throw new ServiceException("非草稿状态不允许删除"); + } + break; + case "2": //计划 + if (!"finish".equals(busCailiaoshebeiPici.getApprovalPlan())){ + throw new ServiceException("非草稿状态不允许删除"); + } + break; + case "3": //需求 + if (!"sc".equals(busCailiaoshebeiPici.getApprovalProject())){ + throw new ServiceException("非草稿状态不允许删除"); + } + break; + case "4": //订货 + if (!"sc".equals(busCailiaoshebeiPici.getApprovalOrder())){ + throw new ServiceException("非草稿状态不允许删除"); + } + break; + } + } } return baseMapper.deleteByIds(ids) > 0; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusCailiaoshebeiServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusCailiaoshebeiServiceImpl.java index 26a501b1..32a5e6f4 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusCailiaoshebeiServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusCailiaoshebeiServiceImpl.java @@ -19,6 +19,7 @@ import org.dromara.common.core.domain.event.ProcessDeleteEvent; import org.dromara.common.core.domain.event.ProcessEvent; import org.dromara.common.core.domain.event.ProcessTaskEvent; import org.dromara.common.core.enums.BusinessStatusEnum; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -163,9 +164,26 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl() + .eq(BusCailiaoshebeiPici::getBatchNumber, busCailiaoshebeiVo.getBatchNumber()) + ); + if (one == null){ + throw new ServiceException("批次号不存在"); + } + if (!"draft".equals(one.getApprovalPlan())){ + throw new ServiceException("非草稿状态不允许新增或修改"); + } + + //1、计划部更新主体数据的计划时间和完成时间 BusCailiaoshebei entity = MapstructUtils.convert(bo, BusCailiaoshebei.class); - validEntityBeforeSave(entity); if (baseMapper.updateById(entity)==0){ return false; } @@ -221,6 +239,17 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl() + .eq(BusCailiaoshebeiPici::getBatchNumber, entity.getBatchNumber()) + ); + if (one == null){ + throw new ServiceException("批次号不存在"); + } + if (!"draft".equals(one.getApprovalDesign())){ + throw new ServiceException("非草稿状态不允许新增或修改"); + } } /** @@ -233,7 +262,20 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl ids, Boolean isValid) { if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + //判断当前批次号是否是草稿状态,如果不是不允许删除 + List list = baseMapper.selectBatchIds(ids); + for (BusCailiaoshebei busCailiaoshebei : list) { + BusCailiaoshebeiPici one = busCailiaoshebeiPiciService.getOne( + new LambdaQueryWrapper() + .eq(BusCailiaoshebeiPici::getBatchNumber, busCailiaoshebei.getBatchNumber()) + ); + if (one == null){ + throw new ServiceException("批次号不存在"); + } + if (!"draft".equals(one.getApprovalDesign())){ + throw new ServiceException("非草稿状态不允许删除"); + } + } } return baseMapper.deleteByIds(ids) > 0; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMaterialbatchdemandplanServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMaterialbatchdemandplanServiceImpl.java index 9ea5aaa1..d0f6f4e5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMaterialbatchdemandplanServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMaterialbatchdemandplanServiceImpl.java @@ -10,6 +10,7 @@ import org.dromara.cailiaoshebei.service.IBusMaterialsorderService; import org.dromara.common.core.domain.event.ProcessDeleteEvent; import org.dromara.common.core.domain.event.ProcessEvent; import org.dromara.common.core.domain.event.ProcessTaskEvent; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -18,6 +19,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 lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo; @@ -42,11 +45,16 @@ import java.util.Collection; @Slf4j public class BusMaterialbatchdemandplanServiceImpl extends ServiceImpl implements IBusMaterialbatchdemandplanService { + private final BusMaterialbatchdemandplanMapper baseMapper; - private final IBusCailiaoshebeiPiciService busCailiaoshebeiPiciService; + @Lazy + @Autowired + private IBusCailiaoshebeiPiciService busCailiaoshebeiPiciService; - private final IBusMaterialsorderService busMaterialsorderService; + @Lazy + @Autowired + private IBusMaterialsorderService busMaterialsorderService; /** * 查询物资-批次需求计划 @@ -159,6 +167,17 @@ public class BusMaterialbatchdemandplanServiceImpl extends ServiceImpl() + .eq(BusCailiaoshebeiPici::getBatchNumber, bo.getBatchNumber()) + ); + if (one == null){ + throw new ServiceException("批次号不存在"); + } + if (!"draft".equals(one.getApprovalProject())){ + throw new ServiceException("非草稿状态不允许新增或修改"); + } //1、删除数据 LambdaQueryWrapper eq = new LambdaQueryWrapper() .eq(BusMaterialbatchdemandplan::getBatchNumber, bo.getBatchNumber()); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMaterialsorderServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMaterialsorderServiceImpl.java index 48fc4886..eebc123d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMaterialsorderServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMaterialsorderServiceImpl.java @@ -26,6 +26,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.utils.BatchNumberGenerator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.context.event.EventListener; import org.springframework.stereotype.Service; import org.dromara.cailiaoshebei.domain.bo.BusMaterialsorderBo; @@ -50,8 +52,14 @@ import java.util.*; public class BusMaterialsorderServiceImpl extends ServiceImpl implements IBusMaterialsorderService { private final BusMaterialsorderMapper baseMapper; - private final IBusCailiaoshebeiPiciService busCailiaoshebeiPiciService; - private final IBusMaterialbatchdemandplanService busMaterialbatchdemandplanService; + + @Lazy + @Autowired + private IBusCailiaoshebeiPiciService busCailiaoshebeiPiciService; + + @Lazy + @Autowired + private IBusMaterialbatchdemandplanService busMaterialbatchdemandplanService; /**