From 074d5e787a810a47541a154f7a5fc78935867f05 Mon Sep 17 00:00:00 2001 From: zengchenxi Date: Fri, 19 Jan 2024 09:19:07 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E3=80=91=E5=AE=8C=E5=96=84=E9=A1=B9=E7=9B=AE=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/ProjectOrderPageReqVO.java | 6 ++ .../projectorder/vo/ProjectOrderRespVO.java | 15 +++- .../projectorder/ProjectOrderDO.java | 17 ++++- .../projectorder/ProjectOrderMapper.java | 52 +++++-------- .../projectorder/ProjectOrderServiceImpl.java | 2 + .../src/views/heli/projectorder/detail.vue | 76 +++++++++++++++---- .../src/views/heli/projectorder/index.vue | 36 ++++++--- 7 files changed, 143 insertions(+), 61 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java index 4c1e3046..17bcb7e8 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderPageReqVO.java @@ -104,4 +104,10 @@ public class ProjectOrderPageReqVO extends PageParam { @Schema(description = "业务员") private Long businessMan; + @Schema(description = "客户名称") + private String customerName; + + @Schema(description = "客户名称") + private String businessManName; + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderRespVO.java index f67965f9..84ed2ae3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/projectorder/vo/ProjectOrderRespVO.java @@ -35,13 +35,19 @@ public class ProjectOrderRespVO { private Integer deliveryStatus; @Schema(description = "提出部门id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9959") - @ExcelProperty("提出部门id") private Long businessDeptId; + @Schema(description = "提出部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "9959") + @ExcelProperty("提出部门") + private String businessDeptName; + @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27214") - @ExcelProperty("客户id") private Long customerId; + @Schema(description = "客户", requiredMode = Schema.RequiredMode.REQUIRED, example = "27214") + @ExcelProperty("客户") + private String customerName; + @Schema(description = "模具名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @ExcelProperty("模具名称") private String mouldName; @@ -135,9 +141,12 @@ public class ProjectOrderRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; + @Schema(description = "业务员id", requiredMode = Schema.RequiredMode.REQUIRED) + private Long businessMan; + @Schema(description = "业务员", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("业务员") - private Long businessMan; + private String businessManName; @Schema(description = "合同编号") @ExcelProperty("合同编号") diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java index 2e494e19..657218ce 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/projectorder/ProjectOrderDO.java @@ -165,6 +165,15 @@ public class ProjectOrderDO extends BaseDO { */ private String contractNo; + @TableField(exist = false) + private String businessDeptName; + + @TableField(exist = false) + private String customerName; + + @TableField(exist = false) + private String businessManName; + public boolean canSave(){ return this.orderStatus.intValue() <= ProjectOrderStatusEnum.SAVE.getCode(); } @@ -194,7 +203,7 @@ public class ProjectOrderDO extends BaseDO { return this.orderStatus.intValue() == ProjectOrderStatusEnum.SAVE.getCode() && this.hasAlter.intValue() == YesOrNoEnum.NO.getCode(); } - public boolean canOperate(final OperateTypeEnum operateTypeEnum){ + public boolean canOperate(OperateTypeEnum operateTypeEnum){ switch (operateTypeEnum){ case SAVE: return canSave(); @@ -208,9 +217,15 @@ public class ProjectOrderDO extends BaseDO { return canRepulse(); case TERMINATE: return canTerminate(); + case ALTER: + return canAlter(); default: return false; } } + private boolean canAlter() { + return this.orderStatus.intValue() == ProjectOrderStatusEnum.APPROVE.getCode(); + } + } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java index 07dfcc63..67dfc33b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/projectorder/ProjectOrderMapper.java @@ -2,10 +2,14 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; -import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.module.heli.controller.admin.projectorder.vo.ProjectOrderPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; +import org.springframework.util.StringUtils; /** * 项目订单 Mapper @@ -16,36 +20,22 @@ import org.apache.ibatis.annotations.Mapper; public interface ProjectOrderMapper extends BaseMapperX { default PageResult selectPage(ProjectOrderPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(ProjectOrderDO::getCode, reqVO.getCode()) - .eqIfPresent(ProjectOrderDO::getOrderStatus, reqVO.getOrderStatus()) - .eqIfPresent(ProjectOrderDO::getDeliveryStatus, reqVO.getDeliveryStatus()) - .eqIfPresent(ProjectOrderDO::getBusinessDeptId, reqVO.getBusinessDeptId()) - .eqIfPresent(ProjectOrderDO::getCustomerId, reqVO.getCustomerId()) - .likeIfPresent(ProjectOrderDO::getMouldName, reqVO.getMouldName()) - .eqIfPresent(ProjectOrderDO::getBusinessLine, reqVO.getBusinessLine()) - .eqIfPresent(ProjectOrderDO::getBlueprintNo, reqVO.getBlueprintNo()) - .eqIfPresent(ProjectOrderDO::getHasPrice, reqVO.getHasPrice()) - .eqIfPresent(ProjectOrderDO::getPrice, reqVO.getPrice()) - .eqIfPresent(ProjectOrderDO::getCurrency, reqVO.getCurrency()) - .betweenIfPresent(ProjectOrderDO::getProjectStartTime, reqVO.getProjectStartTime()) - .betweenIfPresent(ProjectOrderDO::getProjectEndTime, reqVO.getProjectEndTime()) - .eqIfPresent(ProjectOrderDO::getIsUrgency, reqVO.getIsUrgency()) - .eqIfPresent(ProjectOrderDO::getProperty, reqVO.getProperty()) - .eqIfPresent(ProjectOrderDO::getReferenceTechnology, reqVO.getReferenceTechnology()) - .eqIfPresent(ProjectOrderDO::getHasAlter, reqVO.getHasAlter()) - .betweenIfPresent(ProjectOrderDO::getLastAlterTime, reqVO.getLastAlterTime()) - .eqIfPresent(ProjectOrderDO::getQualityRequirement, reqVO.getQualityRequirement()) - .eqIfPresent(ProjectOrderDO::getRemark, reqVO.getRemark()) - .eqIfPresent(ProjectOrderDO::getHasContract, reqVO.getHasContract()) - .eqIfPresent(ProjectOrderDO::getHasTechnologyProtocol, reqVO.getHasTechnologyProtocol()) - .eqIfPresent(ProjectOrderDO::getHasBlueprint, reqVO.getHasBlueprint()) - .eqIfPresent(ProjectOrderDO::getBlueprintRemark, reqVO.getBlueprintRemark()) - .eqIfPresent(ProjectOrderDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(ProjectOrderDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(ProjectOrderDO::getBusinessMan, reqVO.getBusinessMan()) - .eqIfPresent(ProjectOrderDO::getContractNo, reqVO.getContractNo()) - .orderByDesc(ProjectOrderDO::getId)); + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(ProjectOrderDO.class) + .select("u.nickname as businessManName", "d.name as businessDeptName", "e.name as customerName") + .leftJoin(AdminUserDO.class, "u", AdminUserDO::getId, ProjectOrderDO::getBusinessMan) + .leftJoin(DeptDO.class, "d", DeptDO::getId, ProjectOrderDO::getBusinessDeptId) + .leftJoin(CustomerDO.class, "e", CustomerDO::getId, ProjectOrderDO::getCustomerId) + .disableSubLogicDel() + .orderByDesc(ProjectOrderDO::getId); + query.like(!StringUtils.isEmpty(reqVO.getCode()), ProjectOrderDO::getCode, reqVO.getCode()) + .like(!StringUtils.isEmpty(reqVO.getCustomerName()), "e.name", reqVO.getCustomerName()) + .like(!StringUtils.isEmpty(reqVO.getBusinessManName()), "u.nickname", reqVO.getBusinessManName()) + .like(!StringUtils.isEmpty(reqVO.getMouldName()), ProjectOrderDO::getMouldName, reqVO.getMouldName()) + .eq(reqVO.getHasPrice() != null, ProjectOrderDO::getHasPrice, reqVO.getHasPrice()) + .eq(reqVO.getOrderStatus() != null, ProjectOrderDO::getOrderStatus, reqVO.getOrderStatus()) + .eq(reqVO.getDeliveryStatus() != null, ProjectOrderDO::getDeliveryStatus, reqVO.getDeliveryStatus()); + return selectPage(reqVO, query); } } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java index 563844b0..5be8ba0b 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/projectorder/ProjectOrderServiceImpl.java @@ -13,6 +13,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumber import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.projectorder.ProjectOrderSubMapper; import com.chanko.yunxi.mes.module.heli.enums.BusinesTypeEnum; +import com.chanko.yunxi.mes.module.heli.enums.ProjectOrderStatusEnum; import com.chanko.yunxi.mes.module.heli.service.customer.CustomerService; import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import org.springframework.stereotype.Service; @@ -82,6 +83,7 @@ public class ProjectOrderServiceImpl implements ProjectOrderService { } // 更新 ProjectOrderDO updateObj = BeanUtils.toBean(updateReqVO, ProjectOrderDO.class); + updateObj.setOrderStatus(ProjectOrderStatusEnum.valueOf(updateReqVO.getActive()).getCode()); projectOrderMapper.updateById(updateObj); // 更新子表 diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/detail.vue index 7e7eaff6..9375a4e1 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/projectorder/detail.vue @@ -34,6 +34,7 @@ node-key="id" clearable placeholder="请选择提出部门" + :disabled="alterDisabled" /> @@ -41,7 +42,9 @@ - + @@ -99,6 +103,7 @@ reserve-keyword filterable :loading="userSelectLoading" + :disabled="alterDisabled" > - + @@ -150,6 +155,7 @@ reserve-keyword filterable :loading="customerSelectLoading" + :disabled="alterDisabled" > - + - + - + @@ -327,7 +333,7 @@ - + 新增 - + - + - +