From 115d4e2f27f2ee0c0e11c4a46a85dfde4d347d59 Mon Sep 17 00:00:00 2001 From: yangsb Date: Sun, 28 Apr 2024 10:50:58 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E6=8E=92=E5=8D=95id=E8=8E=B7=E5=8F=96=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E5=8D=95=E5=88=86=E9=A1=B5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/plan/PlanController.java | 11 +++- .../admin/plan/vo/PlanOrderPageReqVO.java | 66 +++++++++++++++++++ .../executor/service/plan/PlanService.java | 5 ++ .../service/plan/PlanServiceImpl.java | 14 +++- 4 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlanOrderPageReqVO.java 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/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..11daeb1ba 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; @@ -338,7 +339,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 +357,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 From 29ef237a0baea874ee2da5d43dd1c0d7cfc3424a Mon Sep 17 00:00:00 2001 From: yangsb Date: Sun, 28 Apr 2024 10:55:35 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=8E=92=E5=8D=95=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=95=86=E5=93=81=E9=A2=9C=E8=89=B2=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/executor/controller/admin/plan/vo/PlateInfoVO.java | 3 +++ .../cf/imes/module/executor/service/plan/PlanServiceImpl.java | 1 + 2 files changed, 4 insertions(+) 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/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 11daeb1ba..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 @@ -226,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()) From dc3f2c854f6c4abfed155c40d75c6f66fd7fde0f Mon Sep 17 00:00:00 2001 From: yangsb Date: Sun, 28 Apr 2024 11:38:22 +0800 Subject: [PATCH 3/5] =?UTF-8?q?sql=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/plate/PlateMapper.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 From 6abbf2c990ee674ed5f13883c6567d4720ad8828 Mon Sep 17 00:00:00 2001 From: yangsb Date: Sun, 28 Apr 2024 14:19:13 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=A4=84=E7=90=86=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=81=E4=BF=AE=E6=94=B9=E5=AF=B9=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/admin/user/vo/user/UserSaveReqVO.java | 4 ++++ .../imes/module/system/service/user/AdminUserServiceImpl.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) 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()); From ee378e653325f326a46eb152604e5eb78b7b1775 Mon Sep 17 00:00:00 2001 From: yangsb Date: Sun, 28 Apr 2024 14:53:43 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=8E=92=E5=8D=95=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/plan/vo/PlanPageReqVO.java | 3 ++ .../controller/admin/plan/vo/PlanRespVO.java | 4 +++ .../executor/dal/mysql/plan/PlanMapper.java | 28 +++++++++++++++++++ 3 files changed, 35 insertions(+) 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/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())