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 10d7b8f4b..3714ab615 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,8 @@ package com.cf.imes.module.executor.controller.admin.plan; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPageReqVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO; +import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.service.order.OrderInputProcessor; import com.cf.imes.module.executor.util.RandomUtils; import com.cf.imes.module.executor.util.deviseData.Detail; @@ -85,12 +88,18 @@ public class PlanController { @GetMapping("getPlateByPlanId") @Operation(summary = "根据排单id获取板材列表") - @Parameter(name = "id", description = "排单id", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('executor:plan:query')") public CommonResult> getPlateByPlanId(@Valid GetPlateByPlanIdVO vo) { return success(planService.getPlateByPlanId(vo)); } + @GetMapping("getOrderByPlan") + @Operation(summary = "根据排单获取生产单分页") + @PreAuthorize("@ss.hasPermission('executor:plan:query')") + public CommonResult> getOrderByPlanId(@Valid PlanOrderPageReqVO pageReqVO) { + return success(planService.getOrderByPlanId(pageReqVO)); + } + @GetMapping("/page") @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/PlanOrderPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderPageReqVO.java new file mode 100644 index 000000000..83c67fad6 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderPageReqVO.java @@ -0,0 +1,66 @@ +package com.cf.imes.module.executor.controller.admin.plan.vo; + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; +import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * @author Beal + */ +@Data +public class PlanOrderPageReqVO extends PageParam { + + @Schema(description = "排单id") + @NotNull(message = "排单id不能空") + private Long planId; + + /*@Schema(description = "交付日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] deliveryDate; + + @Schema(description = "生产单类型,1主单 2子单", example = "1") + private Boolean type; + + @Schema(description = "生产单排序号") + private Integer sort; + + @Schema(description = "CAD数据类型,1CAD 2WebCAD 3Excel", example = "1") + private Integer dataType; + + @Schema(description = "订单状态,0未排单1已排单2生产中3加工完成4打包完成5入库完成6出库完成", example = "1") + private Integer status; + + @Schema(description = "自定义单号") + private String customOrderNo; + + @Schema(description = "客户") + private String customer; + + @Schema(description = "客户地址") + private String address; + + @Schema(description = "客户电话") + private String phoneNumber; + + @Schema(description = "经销商") + private String dealer; + + @Schema(description = "经销商电话") + private String dealerPhoneNumber; + + @Schema(description = "业务员") + private String salesman; + + @Schema(description = "拆单员") + private String splitter; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime;*/ + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanPageReqVO.java index 119c2f016..b120e40de 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanPageReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanPageReqVO.java @@ -40,6 +40,9 @@ public class PlanPageReqVO extends PageParam { @Schema(description = "生产单号") private String orderNos; + @Schema(description = "生产单客户") + private String customer; + @Schema(description = "备注", example = "你说的对") private String remark; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanRespVO.java index 3636b3435..1211947a0 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanRespVO.java @@ -60,6 +60,10 @@ public class PlanRespVO { @ExcelProperty("备注") private String remark; + @Schema(description = "创建人") + @ExcelProperty("创建人") + private String creator; + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateInfoVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateInfoVO.java index f20c42a65..36f3ceab7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateInfoVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateInfoVO.java @@ -34,6 +34,9 @@ public class PlateInfoVO { @Schema(description = "面积") private BigDecimal area; + @Schema(description = "颜色") + private String color; + @Schema(description = "数量") private Integer count; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plan/PlanMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plan/PlanMapper.java index 035463c15..91efe22f7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plan/PlanMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plan/PlanMapper.java @@ -2,10 +2,15 @@ package com.cf.imes.module.executor.dal.mysql.plan; import java.util.*; +import cn.hutool.core.util.StrUtil; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; +import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; +import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO; +import com.cf.imes.module.executor.dal.dataobject.planitem.PlanItemDO; import org.apache.ibatis.annotations.Mapper; import com.cf.imes.module.executor.controller.admin.plan.vo.*; @@ -18,6 +23,29 @@ import com.cf.imes.module.executor.controller.admin.plan.vo.*; public interface PlanMapper extends BaseMapperX { default PageResult selectPage(PlanPageReqVO reqVO) { + if(StrUtil.isNotBlank(reqVO.getCustomer())) { + return selectJoinPage(reqVO, PlanDO.class, new MPJLambdaWrapperX() + .eqIfPresent(PlanDO::getPlanNo, reqVO.getPlanNo()) + .eqIfPresent(PlanDO::getSort, reqVO.getSort()) + .eqIfPresent(PlanDO::getType, reqVO.getType()) + .eqIfPresent(PlanDO::getStatus, reqVO.getStatus()) + .eqIfPresent(PlanDO::getIsPay, reqVO.getIsPay()) + .eqIfPresent(PlanDO::getMachineId, reqVO.getMachineId()) + .betweenIfPresent(PlanDO::getPlanTime, reqVO.getPlanTime()) + .eqIfPresent(PlanDO::getOrderNos, reqVO.getOrderNos()) + .eqIfPresent(PlanDO::getRemark, reqVO.getRemark()) + .betweenIfPresent(PlanDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(PlanDO::getOperator, reqVO.getOperator()) + .betweenIfPresent(PlanDO::getProduceTime, reqVO.getProduceTime()) + .leftJoin(PlanItemDO.class, PlanItemDO::getPlanId, PlanDO::getId) + .leftJoin(OrderItemDO.class, OrderItemDO::getId, PlanItemDO::getItemId) + .leftJoin(OrderDO.class, OrderDO::getId, OrderItemDO::getOrderId) + .like(OrderDO::getCustomer, reqVO.getCustomer()) + .orderByAsc(PlanDO::getSort) + .orderByDesc(PlanDO::getId) + ); + } + return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(PlanDO::getPlanNo, reqVO.getPlanNo()) .eqIfPresent(PlanDO::getSort, reqVO.getSort()) 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 3725bd9bc..eb6089ce7 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 @@ -2,8 +2,11 @@ package com.cf.imes.module.executor.service.plan; import java.util.*; import javax.validation.*; + +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO; import com.cf.imes.module.executor.controller.admin.plan.vo.*; import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; /** * 生产单开料排单 Service 接口 @@ -59,4 +62,6 @@ public interface PlanService { Boolean cancellation(Long id); List getPlateByPlanId(GetPlateByPlanIdVO vo); + + PageResult getOrderByPlanId(PlanOrderPageReqVO pageReqVO); } \ 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 8500a5376..9fc720b68 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 @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; import com.cf.imes.framework.mybatis.core.query.QueryWrapperX; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO; import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; @@ -225,6 +226,7 @@ public class PlanServiceImpl implements PlanService { .width(p.getWidth()) .height(p.getHeight()) .thickness(p.getThickness()) + .color(p.getColor()) .area(p.getHeight().multiply(p.getWidth()).setScale(2, RoundingMode.HALF_UP)) .count(plateDOS.stream().filter(f -> Objects.equals(f.getGoodsId(), p.getGoodsId())).collect(Collectors.toSet()).size()) .build()) @@ -338,7 +340,7 @@ public class PlanServiceImpl implements PlanService { List list = plateMapper.selectPlateByPlanId(queryWrapperX); Set bodyIds = list.stream().map(PlateResList::getBodyId).collect(Collectors.toSet()); Set roomIds = list.stream().map(PlateResList::getRoomId).collect(Collectors.toSet()); - if(CollectionUtil.isNotEmpty(bodyIds)) { + if (CollectionUtil.isNotEmpty(bodyIds)) { List orderBodyDOS = orderBodyMapper.selectBatchIds(bodyIds); for (PlateResList resList : list) { resList.setBodyName(orderBodyDOS.stream().filter(e -> Objects.equals(e.getId(), resList.getBodyId())).map(OrderBodyDO::getName).findAny().orElse(null)); @@ -356,4 +358,15 @@ public class PlanServiceImpl implements PlanService { return list; } + @Override + public PageResult getOrderByPlanId(PlanOrderPageReqVO pageReqVO) { + MPJLambdaWrapperX lambdaWrapperX = new MPJLambdaWrapperX<>(); + lambdaWrapperX.leftJoin(OrderItemDO.class, OrderItemDO::getOrderId, OrderDO::getId) + .leftJoin(PlanItemDO.class, PlanItemDO::getItemId, OrderItemDO::getId) + .eq(PlanItemDO::getPlanId, pageReqVO.getPlanId()); + + PageResult pageResult = orderMapper.selectJoinPage(pageReqVO, OrderDO.class, lambdaWrapperX); + return BeanUtils.toBean(pageResult, OrderRespVO.class); + } + } \ No newline at end of file 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 0976190b9..b92678619 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 @@ -7,7 +7,8 @@ c.goods_name, c.material, c.color, c.goods_id from order_plate a LEFT JOIN order_plan_item p on a.id = p.item_id - LEFT JOIN `order` b on a.order_id = b.id + LEFT JOIN order_item oi on p.item_id = oi.id + LEFT JOIN `order` b on oi.order_id = b.id LEFT JOIN order_goods c on a.order_id = c.order_id p.id is null diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/user/vo/user/UserSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/user/vo/user/UserSaveReqVO.java index aaf1d4de1..0ffb03ddc 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/user/vo/user/UserSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/user/vo/user/UserSaveReqVO.java @@ -64,6 +64,10 @@ public class UserSaveReqVO { || (ObjectUtil.isAllNotEmpty(password)); // 新增时,必须都传递 password } + @Schema(description = "帐号状态(0正常 1停用)") + @NotNull(message = "账号状态不能空") + private Integer status; + private Long organId; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java index 99d648298..b0efa93ee 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/user/AdminUserServiceImpl.java @@ -107,7 +107,7 @@ public class AdminUserServiceImpl implements AdminUserService { // 插入用户 AdminUserDO user = BeanUtils.toBean(createReqVO, AdminUserDO.class); user.setOrganId(createReqVO.getOrganId()); - user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启 + //user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启 user.setPassword(encodePassword(createReqVO.getPassword())); // 加密密码 String pinyinFull = PinYinUtils.convertToPinyin(user.getNickname());