diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java index 2ace4e865..745d8dbc7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java @@ -1,5 +1,7 @@ package com.cf.imes.module.executor.controller.admin.plan; +import com.cf.imes.framework.es.core.valid.CreateGroup; +import com.cf.imes.framework.es.core.valid.UpdateGroup; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -10,6 +12,7 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; import javax.validation.*; import javax.servlet.http.*; +import javax.validation.constraints.NotEmpty; import java.util.*; import java.io.IOException; import com.cf.imes.framework.common.pojo.PageParam; @@ -35,14 +38,14 @@ public class PlanController { @PostMapping("/create") @Operation(summary = "创建排单") @PreAuthorize("@ss.hasPermission('executor:plan:create')") - public CommonResult createPlan(@Valid @RequestBody PlanSaveReqVO createReqVO) { + public CommonResult createPlan(@Validated(CreateGroup.class) @RequestBody PlanSaveReqVO createReqVO) { return success(planService.createPlan(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新排单") @PreAuthorize("@ss.hasPermission('executor:plan:update')") - public CommonResult updatePlan(@Valid @RequestBody PlanSaveReqVO updateReqVO) { + public CommonResult updatePlan(@Validated(UpdateGroup.class) @RequestBody PlanSaveReqVO updateReqVO) { planService.updatePlan(updateReqVO); return success(true); } @@ -63,6 +66,7 @@ public class PlanController { return success(planService.cancellation(id)); } + @GetMapping("/get") @Operation(summary = "获得排单") @Parameter(name = "id", description = "排单id", required = true, example = "1024") @@ -94,6 +98,13 @@ public class PlanController { return success(BeanUtils.toBean(pageResult, PlanRespVO.class)); } + @PostMapping("/setSort") + @Operation(summary = "设置排单优先级") + @PreAuthorize("@ss.hasPermission('executor:plan:query')") + public CommonResult setSort(@Valid @NotEmpty(message = "参数不能空") @RequestBody List list) { + return success(planService.setSort(list)); + } + @GetMapping("getNotPlanOrderListPage") @Operation(summary = "获取未排单的板材生产单板材分页列表") @PreAuthorize("@ss.hasPermission('executor:plan:query')") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanSaveReqVO.java index dae8ff720..f8e876ff1 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanSaveReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanSaveReqVO.java @@ -1,5 +1,6 @@ package com.cf.imes.module.executor.controller.admin.plan.vo; +import com.cf.imes.framework.es.core.valid.CreateGroup; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -18,19 +19,19 @@ public class PlanSaveReqVO { private String planNo; @Schema(description = "排序优先级", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "排序优先级不能为空") - private Integer sort; + //@NotNull(groups = CreateGroup.class,message = "排序优先级不能为空") + private Long sort; @Schema(description = "排单类型:1 混单排单,2 生产单排单", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "排单类型:1 混单排单,2 生产单排单不能为空") + @NotNull(message = "排单类型:1 混单排单,2 生产单排单不能为空", groups = CreateGroup.class) private Integer type; @Schema(description = "排单状态:0 新单,1 板材已申请,2 开料中,3 已开料", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "排单状态:0 新单,1 板材已申请,2 开料中,3 已开料不能为空") + @NotNull(message = "排单状态:0 新单,1 板材已申请,2 开料中,3 已开料不能为空", groups = CreateGroup.class) private Integer status; @Schema(description = "是否支付:0 否,1 是", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "是否支付:0 否,1 是不能为空") + //@NotNull(message = "是否支付:0 否,1 是不能为空") private Boolean isPay; @Schema(description = "机台 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16707") @@ -38,7 +39,7 @@ public class PlanSaveReqVO { private Long machineId; @Schema(description = "计划时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "计划时间不能为空") + @NotNull(message = "计划时间不能为空", groups = CreateGroup.class) private LocalDateTime planTime; /*@Schema(description = "生产单id列表", requiredMode = Schema.RequiredMode.REQUIRED) @@ -51,10 +52,10 @@ public class PlanSaveReqVO { private String remark; @Schema(description = "生产操作人", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "生产操作人不能为空") + @NotEmpty(message = "生产操作人不能为空", groups = CreateGroup.class) private String operator; @Schema(description = "生产时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "生产时间不能为空") + @NotNull(message = "生产时间不能为空", groups = CreateGroup.class) private LocalDateTime produceTime; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java new file mode 100644 index 000000000..2f328dbb3 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java @@ -0,0 +1,23 @@ +package com.cf.imes.module.executor.controller.admin.plan.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; + +/** + * @author Beal + */ +@Data +@Valid +public class SortVO { + @Schema(description = "排单id") + @NotNull(message = "排单id 不能空") + private Long planId; + + @Schema(description = "排序") + @NotNull(message = "排序不能空") + private Long sort; + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plan/PlanDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plan/PlanDO.java index 9093bed1a..90875b261 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plan/PlanDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plan/PlanDO.java @@ -36,7 +36,7 @@ public class PlanDO extends BaseDO { /** * 排序优先级 */ - private Integer sort; + private Long sort; /** * 排单类型:1 混单排单,2 生产单排单 */ diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java index 6fed4c162..6246c0034 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java @@ -66,4 +66,6 @@ public interface PlanService { PageResult getOrderByPlanId(PlanOrderPageReqVO pageReqVO); PageResult getNotPlanGoodsListPageByOrderId( NotPlanGoodsListPageVO pageVO); + + Boolean setSort(List list); } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index 0e2a506f1..a7b180e1d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -88,7 +88,10 @@ public class PlanServiceImpl implements PlanService { @Transactional(rollbackFor = Exception.class) public Long createPlan(PlanSaveReqVO createReqVO) { // 插入 + long sort = System.currentTimeMillis(); PlanDO plan = BeanUtils.toBean(createReqVO, PlanDO.class); + plan.setIsPay(Boolean.FALSE); + plan.setSort(sort); planMapper.insert(plan); Long planId = plan.getId(); /* List orderIds = createReqVO.getOrderIds(); @@ -124,11 +127,11 @@ public class PlanServiceImpl implements PlanService { validatePlanExists(updateReqVO.getId()); // 更新 PlanDO plan = BeanUtils.toBean(updateReqVO, PlanDO.class); + plan.setIsPay(Boolean.FALSE); planMapper.updateById(plan); Long planId = plan.getId(); /*planOrderMapper.delete(new LambdaQueryWrapperX().eq(PlanOrderDO::getPlanId, planId));*/ - planItemMapper.delete(new LambdaQueryWrapperX().eq(PlanItemDO::getPlanId, planId)); /* List orderIds = updateReqVO.getOrderIds(); if (CollectionUtil.isNotEmpty(orderIds)) { @@ -141,6 +144,7 @@ public class PlanServiceImpl implements PlanService { } planOrderMapper.insertBatch(planOrderDOS); }*/ + /* planItemMapper.delete(new LambdaQueryWrapperX().eq(PlanItemDO::getPlanId, planId)); List plateIds = updateReqVO.getPlateIds(); if (CollectionUtil.isNotEmpty(plateIds)) { ArrayList planItemDOS = new ArrayList<>(); @@ -151,7 +155,7 @@ public class PlanServiceImpl implements PlanService { .build()); } planItemMapper.insertBatch(planItemDOS); - } + }*/ } @@ -399,4 +403,18 @@ public class PlanServiceImpl implements PlanService { ); } + @Override + public Boolean setSort(List list) { + ArrayList planDOS = new ArrayList<>(); + list.forEach(e->{ + planDOS.add(PlanDO.builder() + .id(e.getPlanId()) + .sort(e.getSort()) + .build()); + + }); + planMapper.updateBatch(planDOS); + return Boolean.TRUE; + } + } \ No newline at end of file