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 @@ - + 新增 - + - + - +