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..e89f3d5a4 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,17 +98,24 @@ 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')") - public CommonResult> getOrderPage(@Valid OrderPageReqVOCopy pageReqVO) { + public CommonResult> getOrderPage(@Valid OrderPageReqVOCopy pageReqVO) { return success(planService.getOrderPage(pageReqVO)); } @GetMapping("getNotPlanPlateListPage") @Operation(summary = "获取未排单的板材分页列表") @PreAuthorize("@ss.hasPermission('executor:plan:query')") - public CommonResult> getNotPlanPlateListPage(@Valid PlateReqPageVO pageVO) { + public CommonResult> getNotPlanPlateListPage(@Valid PlateReqPageVO pageVO) { return success(planService.getNotPlanPlateListPage(pageVO)); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java index 634a9573d..a8c91b2bc 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java @@ -9,6 +9,7 @@ import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.util.Date; +import java.util.List; import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT; @@ -44,6 +45,10 @@ public class OrderRespVOCopy { private String goodsId; @Schema(description = "商品名称") private String goodsName; + + @Schema(description = "订单对应的板件的信息") + private List platePages; + @Schema(description = "颜色") private String color; @Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板") 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..e5f417c78 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,8 +1,10 @@ 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.*; +import javax.validation.Valid; import javax.validation.constraints.*; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; @@ -14,23 +16,23 @@ public class PlanSaveReqVO { @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12776") private Long id; - @Schema(description = "排单号", requiredMode = Schema.RequiredMode.REQUIRED) - private String planNo; + /*@Schema(description = "排单号", requiredMode = Schema.RequiredMode.REQUIRED) + 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,23 +40,37 @@ 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) private List orderIds;*/ - @Schema(description = "板件id列表") - private List plateIds; + /*@Schema(description = "板件id列表") + private List plateIds;*/ + + @Schema(description = "生产单id与商品id 列表") + private List itemList; @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") 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; + + @Valid + @Data + public static class Item { + @Schema(description = "生产单id") + @NotNull + private Long orderId; + @Schema(description = "商品id") + @NotNull + private Long goodsId; + } } \ 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/controller/admin/plate/PlateController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java index 7bd96c0aa..bef744dbd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java @@ -119,4 +119,11 @@ public class PlateController { return success(plateService.getPlateModelByPlateId(bodyIds)); } + + @GetMapping("/selectPlate") + @Operation(summary = "查看工序对应的板件信息") + public CommonResult > selectPlate(@Valid ProcessPlateReqVO reqVO){ + return success(plateService.selectPlate(reqVO)); + } + } \ 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/plate/vo/ProcessPlateReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/ProcessPlateReqVO.java new file mode 100644 index 000000000..53bb9a30f --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/vo/ProcessPlateReqVO.java @@ -0,0 +1,31 @@ +package com.cf.imes.module.executor.controller.admin.plate.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 查询板件") +@Data +@ToString(callSuper = true) +public class ProcessPlateReqVO { + + + @Schema(description = "工序类型",requiredMode = Schema.RequiredMode.REQUIRED) + private Long processType; + + + @Schema(description = "生产单号",requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderId; + + + @Schema(description = "工序明细ID",requiredMode = Schema.RequiredMode.REQUIRED) + private Long stepItemId; + + + @Schema(description = "柜体ID") + private Long bodyId; + + + +} 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/dal/dataobject/processStepItem/OrderProcessStepItemDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/processStepItem/OrderProcessStepItemDO.java new file mode 100644 index 000000000..a104704fe --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/processStepItem/OrderProcessStepItemDO.java @@ -0,0 +1,44 @@ +package com.cf.imes.module.executor.dal.dataobject.processStepItem; + + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +@TableName(value = "order_process_step_item", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users +@Data +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderProcessStepItemDO { + + @TableId + private Long id; + + // 工序项目名 + private String name; + + // 生产单工序 id + private Long orderProcessId; + + // 工序状态 + private Boolean status; + + // 工序步骤 id + private Long processStepId; + + // 工序组名 + private String groupName; + + + // 柜体 ID + private Long bodyId; + + + // 加工组 ID + private Long groupId; + + + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index ca3a65e4f..10340d19d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -49,7 +49,7 @@ public interface OrderMapper extends BaseMapperX { } - IPage selectOrderPage(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); + List selectOrderPage(/*@Param("page") IPage page,*/ @Param(Constants.WRAPPER) Wrapper wrapper); default List selectOrderCheck(OrderPageReqVO reqVO) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper() diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java index 1b744a428..b5be6e209 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java @@ -1,6 +1,7 @@ package com.cf.imes.module.executor.dal.mysql.orderItem; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; import com.cf.imes.module.executor.dal.dataobject.orderModuleExtra.OrderModuleExtraDO; import org.apache.ibatis.annotations.Mapper; @@ -18,4 +19,11 @@ public interface OrderItemMapper extends BaseMapperX { List selectExtraById(@Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId); + + default List selectByOrderId(Long orderId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderItemDO::getOrderId,orderId)); + + } + } \ 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/dal/mysql/plate/PlateMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java index ce4b887e2..a7ae96153 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java @@ -10,6 +10,7 @@ import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.executor.controller.admin.plan.vo.PlanSaveReqVO; import com.cf.imes.module.executor.controller.admin.plan.vo.PlatePage; import com.cf.imes.module.executor.controller.admin.plan.vo.PlateParam; import com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList; @@ -64,7 +65,8 @@ public interface PlateMapper extends BaseMapperX { .orderByDesc(PlateDO::getId)); } - IPage selectPlatePage(@Param("page") IPage page, @Param("orderId")Long organId, @Param("goodsId") String goodsId); +// IPage selectPlatePage(@Param("page") IPage page, @Param("orderId")Long organId, @Param("goodsId") String goodsId); + List selectPlatePage(/*@Param("page") IPage page,*/ @Param("orderId")Long organId, @Param("goodsId") String goodsId); IPage selectPlateByPlanId(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); @@ -88,4 +90,6 @@ public interface PlateMapper extends BaseMapperX { } IPage selectProductList(@Param("page") IPage page , @Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId); + + Set selectBatchOrderIdsAndGoodsIds(@Param("itemList") List itemList); } \ 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/dal/mysql/processStepItem/ProcessStepItemMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStepItem/ProcessStepItemMapper.java new file mode 100644 index 000000000..70d2c48c2 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStepItem/ProcessStepItemMapper.java @@ -0,0 +1,19 @@ +package com.cf.imes.module.executor.dal.mysql.processStepItem; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.executor.dal.dataobject.processStepItem.OrderProcessStepItemDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface ProcessStepItemMapper extends BaseMapperX { + + default List selectBodyIds(Long stepItemId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessStepItemDO::getId,stepItemId)); + + } +} 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..956bc8b7a 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 @@ -53,9 +53,9 @@ public interface PlanService { */ PageResult getPlanPage(PlanPageReqVO pageReqVO); - PageResult getOrderPage(OrderPageReqVOCopy pageReqVO); + List getOrderPage(OrderPageReqVOCopy pageReqVO); - PageResult getNotPlanPlateListPage(PlateReqPageVO pageVO); + List getNotPlanPlateListPage(PlateReqPageVO pageVO); Boolean addPlate(AddPlateReq req); @@ -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..62259d44e 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 @@ -2,6 +2,7 @@ package com.cf.imes.module.executor.service.plan; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; @@ -84,11 +85,18 @@ public class PlanServiceImpl implements PlanService { @Resource private OrderBodyMapper orderBodyMapper; + @Resource + private IdentifierGenerator identifierGenerator; + @Override @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); + plan.setPlanNo(identifierGenerator.nextId(null).toString()); planMapper.insert(plan); Long planId = plan.getId(); /* List orderIds = createReqVO.getOrderIds(); @@ -102,7 +110,10 @@ public class PlanServiceImpl implements PlanService { } planOrderMapper.insertBatch(planOrderDOS); }*/ - List plateIds = createReqVO.getPlateIds(); + //List plateIds = createReqVO.getPlateIds(); + List itemList = createReqVO.getItemList(); + Set plateIds = plateMapper.selectBatchOrderIdsAndGoodsIds(itemList); + if (CollectionUtil.isNotEmpty(plateIds)) { ArrayList planItemDOS = new ArrayList<>(); for (Long plateId : plateIds) { @@ -124,11 +135,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 +152,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 +163,7 @@ public class PlanServiceImpl implements PlanService { .build()); } planItemMapper.insertBatch(planItemDOS); - } + }*/ } @@ -242,8 +254,8 @@ public class PlanServiceImpl implements PlanService { } @Override - public PageResult getOrderPage(OrderPageReqVOCopy pageReqVO) { - PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + public List getOrderPage(OrderPageReqVOCopy pageReqVO) { +// PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); QueryWrapperX queryWrapperX = new QueryWrapperX<>(); queryWrapperX @@ -273,18 +285,30 @@ public class PlanServiceImpl implements PlanService { queryWrapperX.inIfPresent("op.filter_type", filterTypes); - IPage orderDOPageResult = orderMapper.selectOrderPage(page, queryWrapperX); - if (CollectionUtil.isEmpty(orderDOPageResult.getRecords())) { - return new PageResult<>(); + List orderRespVOCopies = orderMapper.selectOrderPage(queryWrapperX); + + for (OrderRespVOCopy orderRespVOCopy : orderRespVOCopies) { + + List platePages = plateMapper.selectPlatePage(orderRespVOCopy.getOrderId(), orderRespVOCopy.getGoodsId()); + orderRespVOCopy.setPlatePages(platePages); + } - return new PageResult<>(orderDOPageResult.getRecords(), orderDOPageResult.getTotal()); + return orderRespVOCopies; + + +// IPage orderDOPageResult = orderMapper.selectOrderPage(queryWrapperX); + +// if (CollectionUtil.isEmpty(orderDOPageResult.getRecords())) { +// return new PageResult<>(); +// } +// return new PageResult<>(orderDOPageResult.getRecords(), orderDOPageResult.getTotal()); } @Override - public PageResult getNotPlanPlateListPage(PlateReqPageVO pageVO) { - PageDTO page = new PageDTO<>(pageVO.getPageNo(), pageVO.getPageSize()); - IPage pageRes = plateMapper.selectPlatePage(page, pageVO.getOrderId(), pageVO.getGoodsId()); - return new PageResult(pageRes.getRecords(), pageRes.getTotal()); + public List getNotPlanPlateListPage(PlateReqPageVO pageVO) { +// PageDTO page = new PageDTO<>(pageVO.getPageNo(), pageVO.getPageSize()); + List pageRes = plateMapper.selectPlatePage(/*page, */pageVO.getOrderId(), pageVO.getGoodsId()); + return pageRes; } @Override @@ -399,4 +423,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 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateService.java index bf0e4227f..8135a9eb9 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateService.java @@ -90,4 +90,7 @@ public interface PlateService { void updatePlateByRawGoodsId(List createReqVOS); List getPlateModelByPlateId(List bodyIds); + + // 查看工序对应的板件信息 + List selectPlate(ProcessPlateReqVO reqVO); } \ 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/plate/PlateServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java index b17e32e72..2d61ce194 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java @@ -18,7 +18,9 @@ import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsSaveReqVO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO; +import com.cf.imes.module.executor.dal.dataobject.processStepItem.OrderProcessStepItemDO; import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper; +import com.cf.imes.module.executor.dal.mysql.processStepItem.ProcessStepItemMapper; import com.cf.imes.module.executor.util.RandomUtils; import com.cf.imes.module.system.enums.ErrorCodeConstants; import lombok.SneakyThrows; @@ -65,6 +67,9 @@ public class PlateServiceImpl implements PlateService { @Resource private ElasticsearchClient elasticsearchClient; + @Resource + private ProcessStepItemMapper processStepItemMapper; + @Override public Long createPlate(PlateSaveReqVO createReqVO) { // 插入 @@ -189,6 +194,28 @@ public class PlateServiceImpl implements PlateService { } + + // 查看工序对应的板件信息 + @Override + public List selectPlate(ProcessPlateReqVO reqVO) { + + if(reqVO.getProcessType() == 7){ + // 等于 7(组件加工) ,根据明细ID查询对应的柜体ID,再传入方法查询对应的板材信息 + List orderProcessStepItemNDOS = processStepItemMapper.selectBodyIds(reqVO.getStepItemId()); + List bodyIds = orderProcessStepItemNDOS.stream().map(item -> item.getBodyId()).collect(Collectors.toList()); + return getPlateModelByPlateId(bodyIds); + + } + + // 不等于 7(组件加工) ,直接根据订单号查询所有的柜体id,再传入方法查询对应的板材信息 + List orderItemDOS = orderItemMapper.selectByOrderId(reqVO.getOrderId()); + List bodyIds = orderItemDOS.stream().map(item -> item.getBodyId()).collect(Collectors.toList()); + + return getPlateModelByPlateId(bodyIds); + + } + + private List buildRespByPlateIds(Collection plateIds, String index) { List fieldValues = plateIds.stream().map(FieldValue::of).toList(); SearchRequest.Builder builder = new SearchRequest.Builder(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml index b92678619..a3080d307 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml @@ -2,24 +2,43 @@ + + \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml index 406901f01..ddaeabd38 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml @@ -173,15 +173,6 @@ - - org.springframework.cloud - spring-cloud-starter-bootstrap - 3.1.0 - - - com.cf.imes - cf-spring-boot-starter-job - diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/XxlJobParameter.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/XxlJobParameter.java deleted file mode 100644 index a43542c99..000000000 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/XxlJobParameter.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.cf.imes.module.manage.config; - - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -@Data -@Component -@ConfigurationProperties(prefix = "job.parameters") -public class XxlJobParameter { - - - /** - * 是否开启,默认为 true 关闭 - */ - private Boolean enabled; - - /** - * 访问令牌 - */ - private String accessToken; - -/* *//** - * 控制器配置 - *//* - @NotNull(message = "控制器配置不能为空") - private AdminProperties admin; - - *//** - * 执行器配置 - *//* - @NotNull(message = "执行器配置不能为空") - private ExecutorProperties executor;*/ - - @NotEmpty(message = "调度器地址不能为空") - private String addresses; - - /** - * 应用名 - */ - @NotEmpty(message = "应用名不能为空") - private String appName; - /** - * 执行器的 IP - */ - private String ip; - /** - * 执行器的 Port - */ - private Long port; - /** - * 日志地址 - */ - @NotEmpty(message = "日志地址不能为空") - private String logPath; - /** - * 日志保留天数 - */ - private Long logRetentionDays; - - -} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java index 860353347..98ecd8693 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java @@ -14,7 +14,7 @@ import lombok.ToString; public class PackPageReqVO extends PageParam { - @Schema(description = "生产状态(2:生产中,3:生产完成)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @Schema(description = "生产状态(2:生产中,4:打包完成,默认生产中)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") private Long status; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java index b2cb04c45..8703b14cd 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java @@ -7,6 +7,7 @@ import com.cf.imes.module.manage.controller.admin.process.vo.*; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO; +import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO; import com.cf.imes.module.manage.service.process.ProductionProcessService; import com.cf.imes.module.manage.service.query.ProductionStatusService; import io.swagger.v3.oas.annotations.Operation; @@ -36,13 +37,14 @@ public class ProductionProcessController { private ProductionStatusService productionStatusService; -// @GetMapping("/select") -// @Operation(summary = "查看登录用户的工序信息") -// @Parameter(name = "id", description = "用户ID", required = true, example = "1") - //@PreAuthorize("@ss.hasPermission('manage:process:query')") - public CommonResult> getUserPage(@Valid @RequestParam("id") Long id) { - return success(productionProcessService.getProcess(id)); + + @GetMapping("/select") + @Operation(summary = "查看组织的工序信息") + //@PreAuthorize("@ss.hasPermission('manage:process:query')") + public CommonResult> getUserPage() { + + return success(productionProcessService.getProcess()); } @@ -73,12 +75,21 @@ public class ProductionProcessController { + @GetMapping("/selectBodyName") + @Operation(summary = "查询生产单对应的柜体名称") + public CommonResult> selectBodyName(OrderBodyReqVO reqVO){ + return success(productionProcessService.selectBodyName(reqVO)); + + } - @GetMapping("/selectPlateName") - @Operation(summary = "查看板材信息的组合名称") - @Parameter(name = "stepItemId", description = "工序明细ID", required = true, example = "1") - @PreAuthorize("@ss.hasPermission('manage:process:query')") + + + +// @GetMapping("/selectPlateName") +// @Operation(summary = "查看板材信息的组合名称") +// @Parameter(name = "stepItemId", description = "工序明细ID", required = true, example = "1") +// @PreAuthorize("@ss.hasPermission('manage:process:query')") public CommonResult> selectPlateName(@Valid @RequestParam("stepItemId") Long stepItemId){ @@ -88,14 +99,13 @@ public class ProductionProcessController { - - @GetMapping("/pagePlate") - @Operation(summary = "查看板材信息分页") - @PreAuthorize("@ss.hasPermission('manage:process:query')") +// +// @GetMapping("/pagePlate") +// @Operation(summary = "查看板材信息分页") +// @PreAuthorize("@ss.hasPermission('manage:process:query')") public CommonResult> queryPlate(@Valid PlatePageVO pageReqVO){ return success(productionStatusService.getOrderPlatePage(pageReqVO)); } - } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderBodyReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderBodyReqVO.java new file mode 100644 index 000000000..7829e71f1 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderBodyReqVO.java @@ -0,0 +1,23 @@ +package com.cf.imes.module.manage.controller.admin.process.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + + +@Schema(description = "管理后台 - 查询柜体信息") +@Data +@ToString(callSuper = true) +public class OrderBodyReqVO { + + + @Schema(description = "工序类型",requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long processType; + + + @Schema(description = "生产单号",requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long orderId; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderBodyRespVo.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderBodyRespVo.java new file mode 100644 index 000000000..716583bb1 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderBodyRespVo.java @@ -0,0 +1,19 @@ +package com.cf.imes.module.manage.controller.admin.process.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 查看订单柜体信息 Response VO") +@Data +public class OrderBodyRespVo { + + + @Schema(description = "柜体ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "柜体名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + private String name; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java index dd64cffae..4e060dde8 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java @@ -53,6 +53,8 @@ public class ProcessRespVO { @Schema(description = "工序明细ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "123") private Long processStepItemId; + @Schema(description = "工序类型", requiredMode = Schema.RequiredMode.REQUIRED,example = "123") + private Long processType; @Schema(description = "加工项名称", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") private String name; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepStatus.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepStatus.java index 597dcae94..ec2bcb90e 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepStatus.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepStatus.java @@ -3,6 +3,8 @@ package com.cf.imes.module.manage.controller.admin.process.vo; import lombok.Data; +import java.util.List; + @Data public class ProcessStepStatus { @@ -15,4 +17,7 @@ public class ProcessStepStatus { // 工序步骤表的类型 private Long type; + // 柜体id + private List bodyId; + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java index b5d4f37db..3366e5e70 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java @@ -2,8 +2,6 @@ package com.cf.imes.module.manage.controller.admin.test; import com.cf.imes.framework.common.util.json.JsonUtils; import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.framework.quartz.config.XxlJobProperties; -import com.cf.imes.module.manage.config.XxlJobParameter; import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingDetailRespVO; import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlateRespVO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; @@ -120,7 +118,7 @@ public class TestController { } } - private static XxlJobProperties aabb(){ + /* private static XxlJobProperties aabb(){ XxlJobParameter xxlJobParameter = new XxlJobParameter(); @@ -131,7 +129,7 @@ public class TestController { XxlJobProperties bean = BeanUtils.toBean(xxlJobParameter, XxlJobProperties.class); return bean; - } + }*/ } @@ -191,40 +189,10 @@ public class TestController { @TestOnly public static void main(String[] args) { -// // 创建文件路径集合并添加文件路径 -// List filePaths = new ArrayList<>(); -// filePaths.add("E:/BBBBBBB/1.txt"); -// filePaths.add("E:/BBBBBBB/2.txt"); -// filePaths.add("E:/BBBBBBB/4.txt"); - - List filePaths = new ArrayList<>(); - filePaths.add(aacc()); - - System.out.println(filePaths); - -// // 调用 deleteFiles 方法,传入文件路径集合 -// deleteFiles(filePaths); -// System.out.println(JacobTestController.aabb()); -/* PatchingPlateRespVO patchingPlateRespVO = new PatchingPlateRespVO(); - - patchingPlateRespVO.setGroupId(11L); - patchingPlateRespVO.setArea(11.2); - patchingPlateRespVO.setColor("红色"); - patchingPlateRespVO.setHeight(11.2); - - String jsonString = JsonUtils.toJsonString(patchingPlateRespVO); - System.out.println(jsonString);*/ - - // - /*byte[] 测试测试s = JacobTestController.convertTextToSpeech("测试测试");*/ - -// JacobTestController.convertTextToSpeech("测试测试"); - - } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java deleted file mode 100644 index c16a8d2e2..000000000 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.cf.imes.module.manage.dal.dataobject.process; - - -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; -import lombok.*; - -@TableName(value = "order_process") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class OrderProcessNDO extends BaseDO { - - @TableId - private Long id; - - // 生产单号 - private Long orderId; - - // 工序名 - private String name; - - // 工序状态 - private Boolean status; - - // 工序组 id - private Long groupId; - - // 板材大小 - private Float size; - - // 下一工序Id - private Long nextStepId; - - - -} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java index 149b1eb66..aa1de1fe4 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java @@ -36,5 +36,13 @@ public class OrderProcessStepItemNDO { private String groupName; + // 柜体 ID + private Long bodyId; + + + // 加工组 ID + private Long groupId; + + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/ProcessDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/ProcessDO.java new file mode 100644 index 000000000..f60ecd62a --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/ProcessDO.java @@ -0,0 +1,78 @@ +package com.cf.imes.module.manage.dal.dataobject.process; + + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +@TableName("imes_base.process") +@KeySequence("process_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProcessDO extends BaseDO { + + /** + * 工序 ID + */ + @TableId + private Long id; + /** + * 工序名称 + */ + private String name; + /** + * 计件工资 + */ + private Double pieceRate; + /** + * 计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 生产单金额百分比 + */ + private Integer pieceType; + /** + * 工序类型:0 全部加工 1 开料 2 部件加工 3 异形封边 4 分堆 5 打包 6 出库 7 组件加工 8 板材 + */ + private Integer type; + /** + * 是否推送终端客户:0 否 1 是 + */ + private Boolean isCustom; + /** + * 是否推送经销商:0 否 1 是 + */ + private Boolean isDealer; + /** + * 排序优先级 + */ + private Short sort; + /** + * 小时产量 + */ + private Double hourCapacity; + /** + * 单位 + */ + private String unit; + /** + * 是否启用:0 否 1 是 + */ + private Boolean isEnabled; + /** + * 准备时间 + */ + private Double prepareTime; + /** + * 描述 + */ + private String description; + + /** + * 组织id + */ + private Long organId; +} \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java index 47fbf4ecc..c06ec4991 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java @@ -3,6 +3,7 @@ package com.cf.imes.module.manage.dal.mysql.pack; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderBodyRespVo; import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO; import org.apache.ibatis.annotations.Mapper; @@ -11,6 +12,7 @@ import java.util.List; @Mapper public interface OrderBodyMapper extends BaseMapperX { + default List selectGroup(Long orderId) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(OrderBodyDO::getOrderId, orderId) @@ -19,4 +21,10 @@ public interface OrderBodyMapper extends BaseMapperX { + + default List selectListBody(Long orderId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderBodyDO::getOrderId, orderId)); + } + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java deleted file mode 100644 index 23b5c2bfa..000000000 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.cf.imes.module.manage.dal.mysql.process; - - -import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessNDO; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Update; - -import java.util.List; - -/** - * 生产单工序表 order_process_{N} Mapper - * - * @author 晨丰科技 - */ -@Mapper -public interface OrderProcessMapper extends BaseMapperX { - - - - - - -} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessMapper.java new file mode 100644 index 000000000..44ee59802 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessMapper.java @@ -0,0 +1,31 @@ +package com.cf.imes.module.manage.dal.mysql.process; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.controller.admin.process.vo.UserProcessRespVO; +import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +/** + * 生产单工序表 order_process_{N} Mapper + * + * @author 晨丰科技 + */ +@Mapper +public interface ProcessMapper extends BaseMapperX { + + + default List selectProcessList(Long organId) { + return selectList(new LambdaQueryWrapperX() + .orderByDesc(ProcessDO::getId) + .eqIfPresent(ProcessDO::getOrganId, organId) + .eqIfPresent(ProcessDO::getIsEnabled, true)); + } + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java index ce4eff3ae..027425804 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java @@ -5,7 +5,6 @@ import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.manage.controller.admin.process.vo.*; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; -import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessNDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -42,4 +41,11 @@ public interface ProcessStepItemMapper extends BaseMapperX selectBodyIds(Long stepItemId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessStepItemNDO::getId,stepItemId)); + + } } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java index a70404325..d2e051f63 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java @@ -3,6 +3,7 @@ package com.cf.imes.module.manage.dal.mysql.query; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPlateListRespVO; import com.cf.imes.module.manage.controller.admin.pack.vo.DeleteOtherPartsReqVO; import com.cf.imes.module.manage.controller.admin.pack.vo.PackReqVO; @@ -11,6 +12,7 @@ import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRe import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -76,4 +78,13 @@ public interface OrderItemMapper extends BaseMapperX { String selectBodyName(@Param("plateId") Long plateId); + + + + default List selectByOrderId(Long orderId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderItemDO::getOrderId,orderId)); + + } + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java index 62d8f89eb..950e348ab 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java @@ -4,14 +4,16 @@ package com.cf.imes.module.manage.service.process; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.module.manage.controller.admin.process.vo.*; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; +import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO; import java.util.List; public interface ProductionProcessService { - // 查看登录用户的工序信息 - List getProcess(Long id); + // 查看组织的工序信息 + List getProcess(); + // 生产工序单分页查询 PageResult getProcessPage(ProcessPageReqVO pageReqVO); @@ -23,10 +25,10 @@ public interface ProductionProcessService { - // 查看板材信息的组合名称 List selectPlateName(Long stepItemId); - + // 查询生产单对应的柜体名称 + List selectBodyName(OrderBodyReqVO reqVO); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java index 6ec084688..6eec2de12 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java @@ -1,31 +1,46 @@ package com.cf.imes.module.manage.service.process; +import cn.hutool.core.bean.BeanUtil; import com.cf.imes.framework.common.enums.ProcessingStatusEnum; +import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.module.manage.config.VocieParameters; import com.cf.imes.module.manage.controller.admin.process.vo.*; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; +import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; +import com.cf.imes.module.manage.dal.dataobject.process.ProcessDO; +import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO; +import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper; import com.cf.imes.module.manage.dal.mysql.process.ProductionProcessMapper; +import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; import com.cf.imes.module.manage.util.page.PageHelperUtil; import com.cf.imes.module.system.enums.ErrorCodeConstants; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.stream.Collectors; import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update; +import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR; /** @@ -50,14 +65,23 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { private ProcessMapper processMapper; + @Resource + private OrderBodyMapper orderBodyMapper; - // 查看登录用户的工序信息 + + @Resource + private OrderItemMapper orderItemMapper; + + + + // 查看组织的工序信息 @Override - public List getProcess(Long id) { + public List getProcess() { - processMapper.selectProcessByID(id); + // 获取组织id + Long organId = OrganContextHolder.getOrganId(); + return processMapper.selectProcessList(organId); - return null; } @@ -159,6 +183,23 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { + // 查询生产单对应的柜体名称 + @Override + public List selectBodyName(OrderBodyReqVO reqVO) { + + if(reqVO.getProcessType() == 7){ + // 等于 7(组件加工) ,则不返回柜体信息 + return null; + } + + List orderBodyDOS = orderBodyMapper.selectListBody(reqVO.getOrderId()); + + + return BeanUtils.toBean(orderBodyDOS, OrderBodyRespVo.class); + + + } + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java index 976c6aff0..4c81b4f61 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java @@ -5,7 +5,6 @@ import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO; import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; -import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackagePageReqVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.PrintOrderRespVO; @@ -60,8 +59,4 @@ public interface ProductionStatusService { // 导出缺板 PageResult getMissingBoard(OrderPartsReqVO pageReqVO); - - - - } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java index d13200fc4..0b92655ce 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java @@ -27,8 +27,6 @@ import javax.annotation.Resource; import java.util.List; -import static com.sun.xml.bind.WhiteSpaceProcessor.replace; - @Service @Validated public class ProductionStatusServiceImpl implements ProductionStatusService { @@ -211,7 +209,4 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { - - - } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java index 27800668e..f413d260a 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java @@ -1,9 +1,7 @@ package com.cf.imes.module.manage.service.voice; -import com.cf.imes.framework.quartz.config.XxlJobProperties; import com.cf.imes.module.manage.config.VocieParameters; -import com.cf.imes.module.manage.config.XxlJobParameter; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/xxjJob/XxlJobUtil.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/xxjJob/XxlJobUtil.java deleted file mode 100644 index 673af5d4f..000000000 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/xxjJob/XxlJobUtil.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.cf.imes.module.manage.util.xxjJob; - - -import com.cf.imes.framework.quartz.config.XxlJobProperties; -import com.cf.imes.module.manage.config.XxlJobParameter; -import com.xxl.job.core.handler.IJobHandler; -import com.xxl.job.core.handler.annotation.XxlJob; - -import javax.annotation.Resource; - -public class XxlJobUtil extends IJobHandler { - - @Resource - private XxlJobParameter xxlJobParameter; - - - // 定时删除 - public void deleteFile(){ - - XxlJobProperties xxlJobProperties = new XxlJobProperties(); - - xxlJobProperties.setEnabled(xxlJobParameter.getEnabled()); - xxlJobProperties.setAccessToken(xxlJobParameter.getAccessToken()); - xxlJobProperties.getAdmin().setAddresses(xxlJobParameter.getAddresses()); - xxlJobProperties.getExecutor().setAppName(xxlJobParameter.getAppName()); - xxlJobProperties.getExecutor().setPort(xxlJobParameter.getPort().intValue()); - xxlJobProperties.getExecutor().setIp(xxlJobParameter.getIp()); - xxlJobProperties.getExecutor().setLogPath(xxlJobParameter.getLogPath()); - xxlJobProperties.getExecutor().setLogRetentionDays(xxlJobParameter.getLogRetentionDays().intValue()); - - - } - - - @Override - @XxlJob("demoJobHandler") - public void execute() throws Exception { - deleteFile(); - - System.out.println("定时任务测试"); - - } -} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml index a9a530077..01893e6db 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml @@ -26,6 +26,7 @@ + @@ -43,13 +44,14 @@ ops.Name as processName, ops.manager as manager, ops.id as processStepId, - ops.processinfo_id as processID + ops.processinfo_id as processID, + ops.type as processType from order_process_step ops join `order` o on ops.order_id = o.id join order_process_step_item opsi on ops.id = opsi.process_step_id - + and ops.processinfo_id = #{processID}