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 e106db23..053ea536 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 @@ -72,6 +72,17 @@ public class BusCailiaoshebeiController extends BaseController { return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery); } + /** + * 设计-批次号详细信息 + * + * @param batchNumber 主键 + */ + @SaCheckPermission("cailiaoshebei:cailiaoshebei:spQuery") + @GetMapping("/spQuery/{batchNumber}") + public R spQuery(@NotNull(message = "主键不能为空") @PathVariable String batchNumber) { + return R.ok(busCailiaoshebeiPiciService.queryByBatchNumber(batchNumber)); + } + /** * 设计-删除批次号 */ @@ -168,6 +179,17 @@ public class BusCailiaoshebeiController extends BaseController { return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery); } + /** + * 计划-批次号详细信息 + * + * @param batchNumber 主键 + */ + @SaCheckPermission("cailiaoshebei:cailiaoshebei:spQueryPlan") + @GetMapping("/spQueryPlan/{batchNumber}") + public R spQueryPlan(@NotNull(message = "主键不能为空") @PathVariable String batchNumber) { + return R.ok(busCailiaoshebeiPiciService.queryByBatchNumber(batchNumber)); + } + /** * 计划-材料设备清单列表 */ 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 787e33e0..e3a978a9 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 @@ -67,11 +67,22 @@ public class BusMaterialbatchdemandplanController extends BaseController { @GetMapping("/pcList") public TableDataInfo pcList(BusCailiaoshebeiPiciPcListReq bo, PageQuery pageQuery) { BusCailiaoshebeiPiciBo busCailiaoshebeiPiciBo = BeanUtil.copyProperties(bo, BusCailiaoshebeiPiciBo.class); - busCailiaoshebeiPiciBo.setCxsj("2"); //计划完成,才能展示需求 +// busCailiaoshebeiPiciBo.setCxsj("2"); //计划完成,才能展示需求 busCailiaoshebeiPiciBo.setBatchType("2"); return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery); } + /** + * 需求-批次号详细信息 + * + * @param batchNumber 主键 + */ + @SaCheckPermission("cailiaoshebei:materialbatchdemandplan:spQuery") + @GetMapping("/spQuery/{batchNumber}") + public R spQuery(@NotNull(message = "主键不能为空") @PathVariable String batchNumber) { + return R.ok(busCailiaoshebeiPiciService.queryByBatchNumber(batchNumber)); + } + /** * 需求-删除物资批次号 */ 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 f68f6b58..61965894 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 @@ -29,6 +29,7 @@ import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.cailiaoshebei.domain.vo.BusMaterialsorderVo; import org.dromara.cailiaoshebei.service.IBusMaterialsorderService; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; /** * 物资-设备订货 @@ -71,6 +72,17 @@ public class BusMaterialsorderController extends BaseController { return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery); } + /** + * 订货-批次号详细信息 + * + * @param batchNumber 主键 + */ + @SaCheckPermission("cailiaoshebei:materialsorder:spQuery") + @GetMapping("//{batchNumber}") + public R spQuery(@NotNull(message = "主键不能为空") @PathVariable String batchNumber) { + return R.ok(busCailiaoshebeiPiciService.queryByBatchNumber(batchNumber)); + } + /** * 订货-修改订货信息 */ @@ -96,8 +108,8 @@ public class BusMaterialsorderController extends BaseController { /** * 订货-修改订货信息(供货商修改版) */ - @SaCheckPermission("cailiaoshebei:materialsorder:modifyTheOrderFormGYS") - @Log(title = "订货-修改订货信息(供货商修改版)", businessType = BusinessType.UPDATE) +// @SaCheckPermission("cailiaoshebei:materialsorder:modifyTheOrderFormGYS") +// @Log(title = "订货-修改订货信息(供货商修改版)", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping("/modifyTheOrderFormGYS") public R modifyTheOrderFormGYS(@Validated(EditGroup.class) @RequestBody ModifyTheOrderFormGYSReq req) { @@ -111,7 +123,7 @@ public class BusMaterialsorderController extends BaseController { /** * 订货-查询物资设备订货列表(供货商修改版) */ - @SaCheckPermission("cailiaoshebei:materialsorder:listGYS") +// @SaCheckPermission("cailiaoshebei:materialsorder:listGYS") @GetMapping("/listGYS") public TableDataInfo listGYS(BusMaterialsorderListReq req, PageQuery pageQuery) { BusMaterialsorderBo bo = BeanUtil.copyProperties(req, BusMaterialsorderBo.class); @@ -130,6 +142,7 @@ public class BusMaterialsorderController extends BaseController { public TableDataInfo trackPcPlanList(BusCailiaoshebeiPiciPcListReq bo, PageQuery pageQuery) { BusCailiaoshebeiPiciBo busCailiaoshebeiPiciBo = BeanUtil.copyProperties(bo, BusCailiaoshebeiPiciBo.class); busCailiaoshebeiPiciBo.setBatchType("3"); + busCailiaoshebeiPiciBo.setCxsj("4"); return busCailiaoshebeiPiciService.queryPageList(busCailiaoshebeiPiciBo, pageQuery); } @@ -143,6 +156,19 @@ public class BusMaterialsorderController extends BaseController { return busMaterialsorderService.queryPageList(bo, pageQuery); } + /** + * 跟踪-变更物资设备执行状态 + */ + @SaCheckPermission("cailiaoshebei:materialsorder:changeTheStatusOfTheMaterials") + @Log(title = "跟踪-变更物资设备执行状态", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/changeTheStatusOfTheMaterials") + public R changeTheStatusOfTheMaterials(ChangeTheStatusOfTheMaterialsReq bo,@RequestPart("file") MultipartFile file) { + System.out.println("------------"+bo.toString()); + BusMaterialsorderBo busMaterialsorderBo = BeanUtil.copyProperties(bo, BusMaterialsorderBo.class); + return toAjax(busMaterialsorderService.updateByBo(busMaterialsorderBo,file)); + } + // /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusRepertoryDetailsController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusRepertoryDetailsController.java index 2cf68685..cb0fbc5f 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusRepertoryDetailsController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/BusRepertoryDetailsController.java @@ -6,6 +6,8 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.cailiaoshebei.domain.bo.RepertoryDetailsListReq; +import org.dromara.cailiaoshebei.domain.vo.RepertoryDetailsListRes; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -41,7 +43,7 @@ public class BusRepertoryDetailsController extends BaseController { */ @SaCheckPermission("cailiaoshebei:repertoryDetails:list") @GetMapping("/list") - public TableDataInfo list(BusRepertoryDetailsBo bo, PageQuery pageQuery) { + public TableDataInfo list(RepertoryDetailsListReq bo, PageQuery pageQuery) { return busRepertoryDetailsService.queryPageList(bo, pageQuery); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/constant.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/constant.java new file mode 100644 index 00000000..2c4c0cca --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/controller/constant.java @@ -0,0 +1,13 @@ +package org.dromara.cailiaoshebei.controller; + +/** + * @Author 铁憨憨 + * @Date 2025/8/8 11:15 + * @Version 1.0 + */ +public class constant { + public static final String MaterialDesign = "materialDesign"; //设计 + public static final String MaterialsPlans = "materialsPlans"; //计划 + public static final String BatchRequirements = "batchRequirements"; //需求 + public static final String EquipmentOrdering = "equipmentOrdering"; //订货 +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiBo.java index 4fc87e03..3560e9af 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiBo.java @@ -31,12 +31,14 @@ public class BusCailiaoshebeiBo extends BaseEntity { /** * 项目ID */ + @NotNull(message = "项目ID不能为空") private Long projectId; /** * 批次号 */ + @NotBlank(message = "批次号不能为空") private String batchNumber; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiPiciPcListReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiPiciPcListReq.java index 23d71901..e7911d5c 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiPiciPcListReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusCailiaoshebeiPiciPcListReq.java @@ -1,5 +1,7 @@ package org.dromara.cailiaoshebei.domain.bo; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.experimental.Accessors; @@ -17,10 +19,12 @@ public class BusCailiaoshebeiPiciPcListReq implements Serializable { /** * 项目ID */ + @NotNull(message = "项目ID不能为空") private Long projectId; /** * 批次号(模糊查询) */ + @NotBlank(message = "批次号不能为空") private String batchNumber; } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialbatchdemandplanBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialbatchdemandplanBo.java index 69b57b93..1dec475e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialbatchdemandplanBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialbatchdemandplanBo.java @@ -33,6 +33,7 @@ public class BusMaterialbatchdemandplanBo extends BaseEntity { /** * 批次号 */ + @NotBlank(message = "批次号不能为空") private String batchNumber; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialsorderBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialsorderBo.java index 286bab29..08942da3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialsorderBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialsorderBo.java @@ -31,7 +31,7 @@ public class BusMaterialsorderBo extends BaseEntity { private Long id; /** - * 批次ID + * 批次号 */ private String batchNumber; @@ -73,7 +73,7 @@ public class BusMaterialsorderBo extends BaseEntity { /** * 需求数量 */ - private Long demandQuantity; + private int demandQuantity; /** * 计划到场时间 @@ -100,5 +100,73 @@ public class BusMaterialsorderBo extends BaseEntity { */ private String remark; + /** + * 验收数量 + */ + private int acceptanceQuantity; + + /** + * 实际到货时间 + */ + private LocalDate actualArrival; + + /** + * 需求提交时间 + */ + private LocalDate requiredTime; + + /** + * 订货时间 + */ + private LocalDate orderTime; + + /** + * 验收时间 + */ + private LocalDate receptionTime; + + /** + * 物资执行状态(字典) + */ + private String materialStatus; + + /** + * 物资预期类型(字典) + */ + private String overdueType; + + /** + * 逾期原因 + */ + private String cause; + + /** + * 签收单(到货必填,pdf或图片) + */ + private String signatureForm; + + /** + * 退货单(退货必填,pdf或图片) + */ + private String returnedSalesReport; + + + + + + + + + /** + * 操作状态(字典operation_status) + */ + @NotBlank(message = "操作状态不能为空") + private String operationStatus; + /** + * 单据类型(0:无单据 1:签收单,2:退货单 ) + */ + private String billType; + + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialsorderListReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialsorderListReq.java index dd513807..261866bc 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialsorderListReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusMaterialsorderListReq.java @@ -1,5 +1,7 @@ package org.dromara.cailiaoshebei.domain.bo; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.experimental.Accessors; @@ -14,15 +16,16 @@ import java.io.Serializable; @Data @Accessors(chain = true) public class BusMaterialsorderListReq implements Serializable { + /** + * 项目ID + */ + @NotNull(message = "项目ID不能为空") + private Long projectId; /** * 批次号 */ + @NotBlank(message = "批次号不能为空") private String batchNumber; - /** - * 项目ID - */ - private Long projectId; - } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusRepertoryDetailsBo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusRepertoryDetailsBo.java index 48889006..3cd58e8b 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusRepertoryDetailsBo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/BusRepertoryDetailsBo.java @@ -41,7 +41,6 @@ public class BusRepertoryDetailsBo extends BaseEntity { /** * 数据来源ID */ - @NotNull(message = "数据来源ID不能为空") private Long materialsorderId; /** @@ -65,7 +64,7 @@ public class BusRepertoryDetailsBo extends BaseEntity { * 变更数量 */ @NotNull(message = "变更数量不能为空") - private Long changeQuantity; + private int changeQuantity; /** * 最终数量 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/ChangeTheStatusOfTheMaterialsReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/ChangeTheStatusOfTheMaterialsReq.java new file mode 100644 index 00000000..d89fad23 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/ChangeTheStatusOfTheMaterialsReq.java @@ -0,0 +1,82 @@ +package org.dromara.cailiaoshebei.domain.bo; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDate; + +/** + * @Author 铁憨憨 + * @Date 2025/8/7 18:58 + * @Version 1.0 + */ + +@Data +@Accessors(chain = true) +public class ChangeTheStatusOfTheMaterialsReq implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @NotNull(message = "主键不能为空") + private String id; + + /** + * 验收数量 + */ + private int acceptanceQuantity; + + /** + * 实际到货时间 + */ + private LocalDate actualArrival; + + /** + * 需求提交时间 + */ + private LocalDate requiredTime; + + /** + * 订货时间 + */ + private LocalDate orderTime; + + /** + * 验收时间 + */ + private LocalDate receptionTime; + + /** + * 操作状态(字典operation_status) + */ + @NotBlank(message = "操作状态不能为空") + private String operationStatus; + + /** + * 状态 + */ + @NotNull(message = "状态不能为空") + private String materialStatus; + + /** + * 逾期类型 + */ + private String overdueType; + + /** + * 逾期原因 + */ + private String cause; + + /** + * 单据类型(0:无单据 1:签收单,2:退货单) + */ + private String billType; + + + +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/MasterDataListReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/MasterDataListReq.java index c0790705..632303d5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/MasterDataListReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/MasterDataListReq.java @@ -1,5 +1,7 @@ package org.dromara.cailiaoshebei.domain.bo; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.experimental.Accessors; @@ -18,11 +20,13 @@ public class MasterDataListReq implements Serializable { /** * 项目id(必填) */ + @NotNull(message = "项目id不能为空") private Long projectId; /** * 批次号 */ + @NotBlank(message = "批次号不能为空") private String batchNumber; /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/PlanExecutionTrackingListReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/PlanExecutionTrackingListReq.java index e48e76c4..95ab8c08 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/PlanExecutionTrackingListReq.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/PlanExecutionTrackingListReq.java @@ -1,5 +1,6 @@ package org.dromara.cailiaoshebei.domain.bo; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.experimental.Accessors; @@ -14,16 +15,18 @@ import java.io.Serializable; @Data @Accessors(chain = true) public class PlanExecutionTrackingListReq implements Serializable { - /** - * 批次号 - */ - private String batchNumber; - /** * 项目ID */ + @NotBlank(message = "项目ID不能为空") private Long projectId; + /** + * 批次号 + */ + @NotBlank(message = "批次号不能为空") + private String batchNumber; + /** * 设备材料名称 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/RepertoryDetailsListReq.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/RepertoryDetailsListReq.java new file mode 100644 index 00000000..506d592a --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/bo/RepertoryDetailsListReq.java @@ -0,0 +1,34 @@ +package org.dromara.cailiaoshebei.domain.bo; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @Author 铁憨憨 + * @Date 2025/8/8 16:46 + * @Version 1.0 + */ +@Data +@Accessors(chain = true) +public class RepertoryDetailsListReq implements Serializable { + /** + * 库存ID + */ + @NotNull(message = "库存ID不能为空") + private Long repertoryId; + + /** + * 设备材料名称 + */ + private String name; + + + /** + * 物料编码 + */ + @NotNull(message = "物料编码不能为空") + private String materialCode; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusCailiaoshebeiPiciVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusCailiaoshebeiPiciVo.java index 287b9178..7e445932 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusCailiaoshebeiPiciVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusCailiaoshebeiPiciVo.java @@ -52,6 +52,12 @@ public class BusCailiaoshebeiPiciVo implements Serializable { @ExcelProperty(value = "审批计划") private String approvalPlan; + /** + * 审批计划 + */ + @ExcelProperty(value = "订货计划") + private String approvalOrder; + /** * 审批项目 */ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusMaterialsorderVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusMaterialsorderVo.java index 2e447630..b29acdf2 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusMaterialsorderVo.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/BusMaterialsorderVo.java @@ -122,4 +122,54 @@ public class BusMaterialsorderVo implements Serializable { private String remark; + /** + * 验收数量 + */ + private Integer acceptanceQuantity; + + /** + * 实际到货时间 + */ + private LocalDate actualArrival; + + /** + * 需求提交时间 + */ + private LocalDate requiredTime; + + /** + * 订货时间 + */ + private LocalDate orderTime; + + /** + * 验收时间 + */ + private LocalDate receptionTime; + + /** + * 物资执行状态(字典) + */ + private String materialStatus; + + /** + * 物资预期类型(字典) + */ + private String overdueType; + + /** + * 逾期原因 + */ + private String cause; + + /** + * 签收单据 + */ + private String signatureForm; + + /** + * 退货单据 + */ + private String returnedSalesReport; + } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/RepertoryDetailsListRes.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/RepertoryDetailsListRes.java new file mode 100644 index 00000000..a916dd98 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/domain/vo/RepertoryDetailsListRes.java @@ -0,0 +1,98 @@ +package org.dromara.cailiaoshebei.domain.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; + +import java.io.Serializable; + +/** + * @Author 铁憨憨 + * @Date 2025/8/8 16:49 + * @Version 1.0 + */ + +@Data +public class RepertoryDetailsListRes implements Serializable { + + + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Long id; + + /** + * 项目ID + */ + @ExcelProperty(value = "项目ID") + private Long projectId; + + /** + * 库存ID + */ + @ExcelProperty(value = "库存ID") + private Long repertoryId; + + /** + * 设备材料名称 + */ + private String name; + + /** + * 规格型号 + */ + private String specification; + + /** + * 数据来源ID + */ + @ExcelProperty(value = "数据来源ID") + private Long materialsorderId; + + /** + * 物料编码 + */ + @ExcelProperty(value = "物料编码") + private String materialCode; + + /** + * 原始数量 + */ + @ExcelProperty(value = "原始数量") + private Long originalQuantity; + + /** + * 变更原因 + */ + @ExcelProperty(value = "变更原因") + private String changeReasons; + + /** + * 变更数量 + */ + @ExcelProperty(value = "变更数量") + private Long changeQuantity; + + /** + * 操作状态(字典) + */ + @ExcelProperty(value = "操作状态(字典)", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "operation_status") + private String operationStatus; + private String operationStatusName; + + /** + * 操作人 + */ + @ExcelProperty(value = "操作人") + private String operationName; + + /** + * 操作人联系电话 + */ + @ExcelProperty(value = "操作人联系电话") + private String operationPhone; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/mapper/BusRepertoryDetailsMapper.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/mapper/BusRepertoryDetailsMapper.java index 43ad327a..aabd0479 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/mapper/BusRepertoryDetailsMapper.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/mapper/BusRepertoryDetailsMapper.java @@ -1,7 +1,14 @@ package org.dromara.cailiaoshebei.mapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.dromara.cailiaoshebei.domain.BusRepertoryDetails; +import org.dromara.cailiaoshebei.domain.bo.BusRepertoryDetailsBo; +import org.dromara.cailiaoshebei.domain.bo.MasterDataListReq; +import org.dromara.cailiaoshebei.domain.bo.RepertoryDetailsListReq; import org.dromara.cailiaoshebei.domain.vo.BusRepertoryDetailsVo; +import org.dromara.cailiaoshebei.domain.vo.MasterDataListRes; +import org.dromara.cailiaoshebei.domain.vo.RepertoryDetailsListRes; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; /** @@ -11,5 +18,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; * @date 2025-08-04 */ public interface BusRepertoryDetailsMapper extends BaseMapperPlus { - + Page queryPageList(@Param("bo") RepertoryDetailsListReq bo, @Param("page") Page page); } 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 f6b964f8..d38fa34e 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 @@ -25,6 +25,7 @@ public interface IBusCailiaoshebeiPiciService extends IService{ * @param bo 物资-设备订货 * @return 是否修改成功 */ - Boolean updateByBo(BusMaterialsorderBo bo); + Boolean updateByBo(BusMaterialsorderBo bo, MultipartFile file); /** * 校验并批量删除物资-设备订货信息 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusRepertoryDetailsService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusRepertoryDetailsService.java index 093a6501..77c57f4d 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusRepertoryDetailsService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/IBusRepertoryDetailsService.java @@ -1,8 +1,10 @@ package org.dromara.cailiaoshebei.service; +import org.dromara.cailiaoshebei.domain.bo.RepertoryDetailsListReq; import org.dromara.cailiaoshebei.domain.vo.BusRepertoryDetailsVo; import org.dromara.cailiaoshebei.domain.bo.BusRepertoryDetailsBo; import org.dromara.cailiaoshebei.domain.BusRepertoryDetails; +import org.dromara.cailiaoshebei.domain.vo.RepertoryDetailsListRes; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; @@ -33,7 +35,7 @@ public interface IBusRepertoryDetailsService extends IService queryPageList(BusRepertoryDetailsBo bo, PageQuery pageQuery); + TableDataInfo queryPageList(RepertoryDetailsListReq bo, PageQuery pageQuery); /** * 查询符合条件的物资-库存列表 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 b2060a8b..b5276ed3 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 @@ -44,6 +44,13 @@ public class BusCailiaoshebeiPiciServiceImpl extends ServiceImpl lqw = Wrappers.lambdaQuery(); + lqw.eq(BusCailiaoshebeiPici::getBatchNumber, batchNumber); + return baseMapper.selectOne(lqw); + } + /** * 分页查询物资-批次号列表 * @@ -56,14 +63,15 @@ public class BusCailiaoshebeiPiciServiceImpl extends ServiceImpl lqw = buildQueryWrapper(bo); //查询设计为已经完成的数据 if (StringUtils.isNotBlank(bo.getCxsj())) { - if ("1".equals(bo.getCxsj())){ //设计 + if ("1".equals(bo.getCxsj())){ //设计 ok lqw.eq(BusCailiaoshebeiPici::getApprovalDesign, "finish"); - }else if ("2".equals(bo.getCxsj())){ //计划 + }else if ("2".equals(bo.getCxsj())){ //计划 ok lqw.eq(BusCailiaoshebeiPici::getApprovalPlan, "finish"); }else if ("3".equals(bo.getCxsj())){ //需求 - lqw.eq(BusCailiaoshebeiPici::getApprovalPlan, "finish"); + lqw.eq(BusCailiaoshebeiPici::getApprovalProject, "finish"); + }else if ("4".equals(bo.getCxsj())){ //订货 ok + lqw.eq(BusCailiaoshebeiPici::getApprovalOrder, "finish"); } - } Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); 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 32a5e6f4..9c4be2e7 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 @@ -5,6 +5,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.dromara.cailiaoshebei.controller.constant; import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici; import org.dromara.cailiaoshebei.domain.BusSuppliesprice; import org.dromara.cailiaoshebei.domain.bo.*; @@ -309,15 +310,14 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl() + .eq(BusCailiaoshebeiPici::getBatchNumber, batchNumber)); } /** @@ -330,7 +330,7 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl() + .eq(BusCailiaoshebeiPici::getBatchNumber, batchNumber)); } /** @@ -375,7 +374,7 @@ public class BusCailiaoshebeiServiceImpl extends ServiceImpl eq = new LambdaQueryWrapper() + .eq(BusCailiaoshebeiPici::getBatchNumber, batchNumber); //1、根据批次ID改编审核状态 - BusCailiaoshebeiPici busCailiaoshebeiPici = new BusCailiaoshebeiPici(); - busCailiaoshebeiPici.setId(Long.valueOf(businessId)); - busCailiaoshebeiPici.setApprovalProject(processEvent.getStatus()); - busCailiaoshebeiPiciService.updateById(busCailiaoshebeiPici); + BusCailiaoshebeiPici busCailiaoshebeiPici = new BusCailiaoshebeiPici().setApprovalProject(processEvent.getStatus()); + busCailiaoshebeiPiciService.update(busCailiaoshebeiPici, eq); //2、如果状态为已完成 if (processEvent.getStatus().equals("finish")){ //2-1、根据批次ID获取到批次数据 - BusCailiaoshebeiPici req = busCailiaoshebeiPiciService.getById(Long.valueOf(businessId)); + BusCailiaoshebeiPici req = busCailiaoshebeiPiciService.getOne(eq); if (req == null){ return; } @@ -233,7 +234,7 @@ public class BusMaterialbatchdemandplanServiceImpl extends ServiceImpl eq = Wrappers.lambdaQuery(BusRepertory.class) + .eq(BusRepertory::getProjectId, materialsorder.getProjectId()) + .eq(BusRepertory::getName, materialsorder.getName()) + .eq(BusRepertory::getSpecification, materialsorder.getSpecification()); + BusRepertory repertory = busRepertoryService.getOne(eq); + if (repertory == null){ + throw new ServiceException("未查询到对应库存"); + } + //初始数据 + String operationStatus = bo.getOperationStatus(); + BusRepertoryDetailsBo rq = new BusRepertoryDetailsBo(); + rq.setProjectId(bo.getProjectId()); + rq.setRepertoryId(repertory.getId()); + rq.setMaterialsorderId(bo.getId()); + rq.setMaterialCode(bo.getMaterialCode()); + rq.setChangeQuantity(bo.getAcceptanceQuantity()); + rq.setOperationStatus(operationStatus); + rq.setOperationName(loginUser.getUsername()); +// rq.setOperationPhone(loginUser.getNickname()); + if (bo.getBillType().equals("1")){ + SysOssUploadVo wordEntity = ossService.uploadWithNoSave(file, ossService.minioFileName(ContactNoticeTemplate,file)); + bo.setSignatureForm(wordEntity.getUrl()); + } + if (bo.getBillType().equals("2")){ + SysOssUploadVo wordEntity = ossService.uploadWithNoSave(file, ossService.minioFileName(ContactNoticeTemplate,file)); + bo.setReturnedSalesReport(wordEntity.getUrl()); + } + //入库 + if (operationStatus.equals("1")){ //签收 + //增加库存 + rq.setChangeReasons("系统入库"); + busRepertoryDetailsService.insertByBo(rq); + }else if(operationStatus.equals("2")){//退货 + rq.setChangeReasons("系统出库"); + busRepertoryDetailsService.insertByBo(rq); + } return baseMapper.updateById(update) > 0; } @@ -180,8 +236,6 @@ public class BusMaterialsorderServiceImpl extends ServiceImpl list = busMaterialbatchdemandplanService.list( new LambdaQueryWrapper() @@ -227,6 +281,16 @@ public class BusMaterialsorderServiceImpl extends ServiceImpl().eq(BusCailiaoshebeiPici::getBatchNumber, req.getBatchNumber())); + if (bi == null){ + throw new RuntimeException("未获取到订货批次数据"); + } + if (!"0".equals(bi.getApprovalProject())){ + throw new RuntimeException("非草稿状态,不允许修改"); + } + + //判断是否有数据 List list = req.getList(); if (list.isEmpty()){ throw new RuntimeException("未获取到主体数据"); @@ -270,15 +334,14 @@ public class BusMaterialsorderServiceImpl extends ServiceImpl() + .eq(BusCailiaoshebeiPici::getBatchNumber, batchNumber)); } /** @@ -291,7 +354,7 @@ public class BusMaterialsorderServiceImpl extends ServiceImpl queryPageList(BusRepertoryDetailsBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + public TableDataInfo queryPageList(RepertoryDetailsListReq bo, PageQuery pageQuery) { +// LambdaQueryWrapper lqw = buildQueryWrapper(bo); +// Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + Page result = baseMapper.queryPageList(bo, pageQuery.build()); return TableDataInfo.build(result); } @@ -80,7 +84,6 @@ public class BusRepertoryDetailsServiceImpl extends ServiceImpl lwr = new LambdaQueryWrapper<>(); lwr.eq(bo.getRepertoryId() != null, BusRepertoryDetails::getRepertoryId, bo.getRepertoryId()); lwr.orderByDesc(BusRepertoryDetails::getId); + lwr.last("limit 1"); BusRepertoryDetails busRepertoryDetails = baseMapper.selectOne(lwr); //2、为空,直接新增 if (busRepertoryDetails==null){ diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/attendance/AttendanceJob.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/attendance/AttendanceJob.java index ec8ff0f1..9832d7bf 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/attendance/AttendanceJob.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/job/attendance/AttendanceJob.java @@ -49,7 +49,7 @@ public class AttendanceJob { private IBusProjectService projectService; - @Scheduled(cron = "0 0/10 * * * ?") +// @Scheduled(cron = "0 0/10 * * * ?") public void clockInMiss() { log.info("执行定时任务:上班缺卡记录生成"); @@ -141,7 +141,7 @@ public class AttendanceJob { log.info("执行定时任务:上班缺卡记录生成完成"); } - @Scheduled(cron = "0 0/10 * * * ?") +// @Scheduled(cron = "0 0/10 * * * ?") public void clockOutMiss() { log.info("执行定时任务:下班缺卡记录生成"); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/cailiaoshebei/BusRepertoryDetailsMapper.xml b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/cailiaoshebei/BusRepertoryDetailsMapper.xml index b2218b79..19b729c1 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/cailiaoshebei/BusRepertoryDetailsMapper.xml +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/resources/mapper/cailiaoshebei/BusRepertoryDetailsMapper.xml @@ -4,4 +4,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +