diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomPageReqVO.java index 04df645c..de254754 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomPageReqVO.java @@ -49,4 +49,16 @@ public class ProcessBomPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; -} \ No newline at end of file + @Schema(description = "生产计划单号") + private String planCode; + + @Schema(description = "项目编号") + private String projectCode; + + @Schema(description = "客户名称") + private String customerName; + + @Schema(description = "项目名称") + private String projectName; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomRespVO.java index e1f8a525..7dec5645 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processbom/vo/ProcessBomRespVO.java @@ -64,4 +64,16 @@ public class ProcessBomRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; -} \ No newline at end of file + @Schema(description = "计划单号") + private String planCode; + + @Schema(description = "项目编号") + private String projectCode; + + @Schema(description = "客户名称") + private String customerName; + + @Schema(description = "项目名称") + private String projectName; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDO.java index d1c92d59..fe100250 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processbom/ProcessBomDO.java @@ -43,14 +43,6 @@ public class ProcessBomDO extends BaseDO { * 子项目id */ private Long projectSubId; - /** - * 子项目名称 - */ - private String projectSubName; - /** - * 子项目编号 - */ - private String projectSubCode; /** * bom版本号 */ @@ -69,5 +61,21 @@ public class ProcessBomDO extends BaseDO { * 状态,1表示正常,2表示禁用 */ private Integer status; + /** + * 子项目名称 + */ + @TableField(exist = false) + private String projectSubName; + + @TableField(exist = false) + private String planCode; + + @TableField(exist = false) + private String projectCode; + + @TableField(exist = false) + private String customerName; -} \ No newline at end of file + @TableField(exist = false) + private String projectName; +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomMapper.java index 0ae86dc7..98aece90 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processbom/ProcessBomMapper.java @@ -1,13 +1,16 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.processbom; -import java.util.*; - import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.ProcessBomPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; -import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.*; +import org.springframework.util.StringUtils; /** * 工艺bom Mapper @@ -18,19 +21,28 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.processbom.vo.*; public interface ProcessBomMapper extends BaseMapperX { default PageResult selectPage(ProcessBomPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(ProcessBomDO::getCode, reqVO.getCode()) - .eqIfPresent(ProcessBomDO::getPlanId, reqVO.getPlanId()) - .eqIfPresent(ProcessBomDO::getProjectId, reqVO.getProjectId()) - .eqIfPresent(ProcessBomDO::getProjectSubId, reqVO.getProjectSubId()) - .likeIfPresent(ProcessBomDO::getProjectSubName, reqVO.getProjectSubName()) - .eqIfPresent(ProcessBomDO::getProjectSubCode, reqVO.getProjectSubCode()) - .eqIfPresent(ProcessBomDO::getVersion, reqVO.getVersion()) - .eqIfPresent(ProcessBomDO::getBomStatus, reqVO.getBomStatus()) - .eqIfPresent(ProcessBomDO::getRemark, reqVO.getRemark()) - .eqIfPresent(ProcessBomDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(ProcessBomDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(ProcessBomDO::getId)); + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(ProcessBomDO.class) + .select("a.plan_no as planCode", "b.code as projectCode", "c.name as customerName", "b.project_name as projectName") + .select("d.name as projectSubName") + .leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessBomDO::getPlanId) + .leftJoin(ProjectOrderDO.class, "b", ProjectOrderDO::getId, ProcessBomDO::getProjectId) + .leftJoin(CustomerDO.class, "c", CustomerDO::getId, ProjectOrderDO::getCustomerId) + .leftJoin(ProjectOrderSubDO.class, "d", ProjectOrderSubDO::getId, ProcessBomDO::getProjectSubId) + .orderByDesc(ProcessBomDO::getId) + .disableSubLogicDel() + ; + + query.like(!StringUtils.isEmpty(reqVO.getCode()), ProcessBomDO::getCode, reqVO.getCode()) + .like(!StringUtils.isEmpty(reqVO.getPlanCode()), PlanDO::getPlanNo, reqVO.getPlanCode()) + .like(!StringUtils.isEmpty(reqVO.getProjectCode()), ProjectOrderDO::getCode, reqVO.getProjectCode()) + .like(!StringUtils.isEmpty(reqVO.getCustomerName()), CustomerDO::getName, reqVO.getCustomerName()) + .like(!StringUtils.isEmpty(reqVO.getProjectName()), ProjectOrderDO::getProjectName, reqVO.getProjectName()) + .like(!StringUtils.isEmpty(reqVO.getProjectSubName()), ProjectOrderSubDO::getName, reqVO.getProjectSubName()) + .eq(reqVO.getBomStatus() != null, ProcessBomDO::getBomStatus, reqVO.getBomStatus()) + ; + + return selectPage(reqVO, query); } -} \ No newline at end of file +} diff --git a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts index ba43d316..6215a8bb 100644 --- a/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts +++ b/mes-ui/mes-ui-admin-vue3/src/utils/dict.ts @@ -243,4 +243,5 @@ export enum DICT_TYPE { HELI_PROJECT_PLAN_STATUS = 'heli_project_plan_status',//生产计划状态 HELI_CRAFT = 'heli_craft',//工艺流程 HELI_PROJECT_MATERIAL_PLAN_STATUS = 'heli_project_material_plan_status',//物料需求计划状态 + HELI_BOM_STATUS = 'heli_bom_status', //bom状态 } diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/bom.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/bom.vue index d5a9109a..558123cf 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/bom.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/bom.vue @@ -1,202 +1,144 @@ \ No newline at end of file + diff --git a/sql/v1.3.0/1.structure.sql b/sql/v1.3.0/1.structure.sql index cc0ea9ec..94bf8efd 100644 --- a/sql/v1.3.0/1.structure.sql +++ b/sql/v1.3.0/1.structure.sql @@ -197,8 +197,6 @@ CREATE TABLE `pro_process_bom` ( `plan_id` BIGINT(20) NOT NULL COMMENT '生产计划id', `project_id` BIGINT(20) NOT NULL COMMENT '项目id', `project_sub_id` bigint(20) NOT NULL COMMENT '子项目id', - `project_sub_name` varchar(128) NOT NULL comment '子项目名称', - `project_sub_code` varchar(128) NOT NULL comment '子项目编号', `version` int(11) not null DEFAULT '0' COMMENT 'bom版本号', `bom_status` TINYINT(1) not null comment 'bom状态 已保存|已提交 1|2', `remark` varchar(255) DEFAULT NULL COMMENT '备注',