From 0c1b34f472fb904d6cdc16b0a5f3a798e6122649 Mon Sep 17 00:00:00 2001 From: zengchenxi Date: Wed, 21 Feb 2024 17:28:04 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=9C=80=E6=B1=82=E3=80=91=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E5=B7=A5=E8=89=BA=E8=AE=BE=E8=AE=A1=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../heli/enums/ProcessDesignTypeEnum.java | 23 ++ .../vo/ProcessDesignPageReqVO.java | 16 +- .../processdesign/vo/ProcessDesignRespVO.java | 25 +- .../vo/ProcessDesignSaveReqVO.java | 84 +++--- .../processdesign/ProcessDesignDO.java | 78 +++++- .../ProcessDesignProgressDO.java | 4 +- .../processdesign/ProcessDesignMapper.java | 43 ++- .../ProcessDesignServiceImpl.java | 224 ++++++++-------- .../src/api/heli/processdesign/index.ts | 97 +++---- .../heli/processdesign/ProcessDesignForm.vue | 141 ---------- .../components/ProcessDesignProgressForm.vue | 119 --------- .../src/views/heli/processdesign/detail.vue | 249 ++++++++++++++++++ .../src/views/heli/processdesign/index.vue | 174 ++++++------ sql/v1.3.0/1.structure.sql | 10 +- 14 files changed, 695 insertions(+), 592 deletions(-) create mode 100644 mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ProcessDesignTypeEnum.java delete mode 100644 mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/ProcessDesignForm.vue delete mode 100644 mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/components/ProcessDesignProgressForm.vue create mode 100644 mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/detail.vue diff --git a/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ProcessDesignTypeEnum.java b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ProcessDesignTypeEnum.java new file mode 100644 index 00000000..dc183583 --- /dev/null +++ b/mes-module-heli/mes-module-heli-api/src/main/java/com/chanko/yunxi/mes/module/heli/enums/ProcessDesignTypeEnum.java @@ -0,0 +1,23 @@ +package com.chanko.yunxi.mes.module.heli.enums; + +import lombok.Getter; + +/** + * 工艺设计类型枚举 + * @author chenxi + * @date 2024-02-21 01:09 + */ +@Getter +public enum ProcessDesignTypeEnum { + + BLUEPRINT_FOUNDRY_TECHNOLOGY("铸造工艺"), + BLUEPRINT_3D("3D图纸"), + BLUEPRINT_2D("2D图纸"), + BLUEPRINT_WORKBLANK("毛坯图纸"); + + private String description; + + ProcessDesignTypeEnum(String description) { + this.description = description; + } +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignPageReqVO.java index 3e78bfa6..9242c95a 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignPageReqVO.java @@ -18,13 +18,7 @@ public class ProcessDesignPageReqVO extends PageParam { @Schema(description = "生产计划id", example = "87") private Long planId; - @Schema(description = "销售订单id", example = "27757") - private Long saleOrderId; - - @Schema(description = "销售订单子项id", example = "7018") - private Long saleOrderSubId; - - @Schema(description = "设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 FOUNDRY_TECHNOLOGY_BLUEPRINT|3D_BLUEPRINT|2D_BLUEPRINT|WORKBLANK_BLUEPRINT", example = "1") + @Schema(description = "设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 BLUEPRINT_FOUNDRY_TECHNOLOGY|BLUEPRINT_3D|BLUEPRINT_2D|BLUEPRINT_WORKBLANK", example = "1") private String processDesignType; @Schema(description = "备注", example = "随便") @@ -37,4 +31,10 @@ public class ProcessDesignPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; -} \ No newline at end of file + @Schema(description = "项目id", example = "527") + private Long projectId; + + @Schema(description = "子项目id", example = "28809") + private Long projectSubId; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignRespVO.java index e2e62ec5..e7ee0002 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignRespVO.java @@ -7,6 +7,8 @@ import java.util.*; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; +import com.chanko.yunxi.mes.framework.excel.core.annotations.DictFormat; +import com.chanko.yunxi.mes.framework.excel.core.convert.DictConvert; @Schema(description = "管理后台 - 工艺设计 Response VO") @Data @@ -21,16 +23,9 @@ public class ProcessDesignRespVO { @ExcelProperty("生产计划id") private Long planId; - @Schema(description = "销售订单id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27757") - @ExcelProperty("销售订单id") - private Long saleOrderId; - - @Schema(description = "销售订单子项id", example = "7018") - @ExcelProperty("销售订单子项id") - private Long saleOrderSubId; - - @Schema(description = "设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 FOUNDRY_TECHNOLOGY_BLUEPRINT|3D_BLUEPRINT|2D_BLUEPRINT|WORKBLANK_BLUEPRINT", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @ExcelProperty("设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 FOUNDRY_TECHNOLOGY_BLUEPRINT|3D_BLUEPRINT|2D_BLUEPRINT|WORKBLANK_BLUEPRINT") + @Schema(description = "设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 BLUEPRINT_FOUNDRY_TECHNOLOGY|BLUEPRINT_3D|BLUEPRINT_2D|BLUEPRINT_WORKBLANK", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty(value = "设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 BLUEPRINT_FOUNDRY_TECHNOLOGY|BLUEPRINT_3D|BLUEPRINT_2D|BLUEPRINT_WORKBLANK", converter = DictConvert.class) + @DictFormat("heli_process_design_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 private String processDesignType; @Schema(description = "备注", example = "随便") @@ -45,4 +40,12 @@ public class ProcessDesignRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; -} \ No newline at end of file + @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "527") + @ExcelProperty("项目id") + private Long projectId; + + @Schema(description = "子项目id", example = "28809") + @ExcelProperty("子项目id") + private Long projectSubId; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignSaveReqVO.java index 54d58081..a93c1e85 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/processdesign/vo/ProcessDesignSaveReqVO.java @@ -1,42 +1,42 @@ -package com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; -import java.util.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesignprogress.ProcessDesignProgressDO; - -@Schema(description = "管理后台 - 工艺设计新增/修改 Request VO") -@Data -public class ProcessDesignSaveReqVO { - - @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "13152") - private Long id; - - @Schema(description = "生产计划id", requiredMode = Schema.RequiredMode.REQUIRED, example = "87") - @NotNull(message = "生产计划id不能为空") - private Long planId; - - @Schema(description = "销售订单id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27757") - @NotNull(message = "销售订单id不能为空") - private Long saleOrderId; - - @Schema(description = "销售订单子项id", example = "7018") - private Long saleOrderSubId; - - @Schema(description = "设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 FOUNDRY_TECHNOLOGY_BLUEPRINT|3D_BLUEPRINT|2D_BLUEPRINT|WORKBLANK_BLUEPRINT", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotEmpty(message = "设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 FOUNDRY_TECHNOLOGY_BLUEPRINT|3D_BLUEPRINT|2D_BLUEPRINT|WORKBLANK_BLUEPRINT不能为空") - private String processDesignType; - - @Schema(description = "备注", example = "随便") - private String remark; - - @Schema(description = "状态,1表示正常,2表示禁用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotNull(message = "状态,1表示正常,2表示禁用不能为空") - private Integer status; - - @Schema(description = "工艺设计进度列表") - private List processDesignProgresss; - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesignprogress.ProcessDesignProgressDO; + +@Schema(description = "管理后台 - 工艺设计新增/修改 Request VO") +@Data +public class ProcessDesignSaveReqVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "13152") + private Long id; + + @Schema(description = "生产计划id", requiredMode = Schema.RequiredMode.REQUIRED, example = "87") + @NotNull(message = "生产计划id不能为空") + private Long planId; + + @Schema(description = "设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 BLUEPRINT_FOUNDRY_TECHNOLOGY|BLUEPRINT_3D|BLUEPRINT_2D|BLUEPRINT_WORKBLANK", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 BLUEPRINT_FOUNDRY_TECHNOLOGY|BLUEPRINT_3D|BLUEPRINT_2D|BLUEPRINT_WORKBLANK不能为空") + private String processDesignType; + + @Schema(description = "备注", example = "随便") + private String remark; + + @Schema(description = "状态,1表示正常,2表示禁用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "状态,1表示正常,2表示禁用不能为空") + private Integer status; + + @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "527") + @NotNull(message = "项目id不能为空") + private Long projectId; + + @Schema(description = "子项目id", example = "28809") + private Long projectSubId; + + @Schema(description = "工艺设计进度列表") + private List processDesignProgressList; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignDO.java index cb8df2d7..fe2e146e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignDO.java @@ -32,15 +32,9 @@ public class ProcessDesignDO extends BaseDO { */ private Long planId; /** - * 销售订单id - */ - private Long saleOrderId; - /** - * 销售订单子项id - */ - private Long saleOrderSubId; - /** - * 设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 FOUNDRY_TECHNOLOGY_BLUEPRINT|3D_BLUEPRINT|2D_BLUEPRINT|WORKBLANK_BLUEPRINT + * 设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 BLUEPRINT_FOUNDRY_TECHNOLOGY|BLUEPRINT_3D|BLUEPRINT_2D|BLUEPRINT_WORKBLANK + * + * 枚举 {@link TODO heli_process_design_type 对应的类} */ private String processDesignType; /** @@ -51,5 +45,69 @@ public class ProcessDesignDO extends BaseDO { * 状态,1表示正常,2表示禁用 */ private Integer status; + /** + * 项目id + */ + private Long projectId; + /** + * 子项目id + */ + private Long projectSubId; + + @TableField(exist = false) + private String planCode; + + @TableField(exist = false) + private String projectCode; + + @TableField(exist = false) + private String customerName; + + @TableField(exist = false) + private String projectName; + + @TableField(exist = false) + private String projectOwnerName; + + @TableField(exist = false) + private String businessLine; + + @TableField(exist = false) + private Integer property; + + @TableField(exist = false) + private Integer isUrgency; + + @TableField(exist = false) + private Integer hasCraft; + + @TableField(exist = false) + private String craftOwnerName; + + @TableField(exist = false) + private LocalDateTime craftStartDate; + + @TableField(exist = false) + private LocalDateTime craftEndDate; + + @TableField(exist = false) + private LocalDateTime blankDate; + + @TableField(exist = false) + private String blankOwnerName; + + @TableField(exist = false) + private LocalDateTime twoDimDate; + + @TableField(exist = false) + private String twoDimOwnerName; + + @TableField(exist = false) + private LocalDateTime threeDimDate; + + @TableField(exist = false) + private String threeDimOwnerName; + + -} \ No newline at end of file +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignProgressDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignProgressDO.java index 840090c0..78a0085e 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignProgressDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/processdesign/ProcessDesignProgressDO.java @@ -49,4 +49,6 @@ public class ProcessDesignProgressDO extends BaseDO { */ private Integer status; -} \ No newline at end of file + private Boolean deleted; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java index 9ef6257c..03e879d9 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/processdesign/ProcessDesignMapper.java @@ -1,13 +1,18 @@ package com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign; -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.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.ProcessDesignPageReqVO; +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.plansub.PlanSubDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesign.ProcessDesignDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; -import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.*; /** * 工艺设计 Mapper @@ -20,13 +25,37 @@ public interface ProcessDesignMapper extends BaseMapperX { default PageResult selectPage(ProcessDesignPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(ProcessDesignDO::getPlanId, reqVO.getPlanId()) - .eqIfPresent(ProcessDesignDO::getSaleOrderId, reqVO.getSaleOrderId()) - .eqIfPresent(ProcessDesignDO::getSaleOrderSubId, reqVO.getSaleOrderSubId()) .eqIfPresent(ProcessDesignDO::getProcessDesignType, reqVO.getProcessDesignType()) .eqIfPresent(ProcessDesignDO::getRemark, reqVO.getRemark()) .eqIfPresent(ProcessDesignDO::getStatus, reqVO.getStatus()) .betweenIfPresent(ProcessDesignDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(ProcessDesignDO::getProjectId, reqVO.getProjectId()) + .eqIfPresent(ProcessDesignDO::getProjectSubId, reqVO.getProjectSubId()) .orderByDesc(ProcessDesignDO::getId)); } -} \ No newline at end of file + default ProcessDesignDO selectById(Long id) { + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(ProcessDesignDO.class) + .select("a.plan_no as planCode","a.has_craft as hasCraft", "a.craft_start_date as craftStartDate", "a.craft_end_date as craftEndDate", "e.name as customerName") + .select("d.code as projectCode", "d.project_name as projectName", "d.business_line as businessLine", "d.property","d.is_urgency as isUrgency") + .select("u1.nickname as projectOwnerName", "u2.nickname as craftOwnerName") + .select("b.blank_date as blankDate", "b.two_dim_date as twoDimDate", "b.three_dim_date as threeDimDate") + .select("u3.nickname as blankOwnerName", "u4.nickname as twoDimOwnerName", "u5.nickname as threeDimOwnerName") + .leftJoin(PlanDO.class, "a", PlanDO::getId, ProcessDesignDO::getPlanId) + .leftJoin("project_plan_sub b on b.project_plan_id = t.plan_id and b.id = t.project_sub_id") + .leftJoin(ProjectOrderSubDO.class, "c", ProjectOrderSubDO::getId, ProcessDesignDO::getProjectSubId) + .leftJoin(ProjectOrderDO.class, "d", ProjectOrderDO::getId, ProcessDesignDO::getProjectId) + .leftJoin(CustomerDO.class, "e", CustomerDO::getId, ProjectOrderDO::getCustomerId) + .leftJoin(AdminUserDO.class, "u1", AdminUserDO::getId, PlanDO::getProjectOwner) + .leftJoin(AdminUserDO.class, "u2", AdminUserDO::getId, PlanDO::getCraftOwner) + .leftJoin("system_users u3 on u3.id = b.blank_owner") + .leftJoin("system_users u4 on u4.id = b.two_dim_owner") + .leftJoin("system_users u5 on u5.id = b.three_dim_owner") + .eq(ProcessDesignDO::getId, id) + .last("LIMIT 1") + .disableSubLogicDel(); + return selectOne(query); + } + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java index 990abc99..6569984d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/processdesign/ProcessDesignServiceImpl.java @@ -1,112 +1,112 @@ -package com.chanko.yunxi.mes.module.heli.service.processdesign; - -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.*; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesign.ProcessDesignDO; -import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesignprogress.ProcessDesignProgressDO; -import com.chanko.yunxi.mes.framework.common.pojo.PageResult; -import com.chanko.yunxi.mes.framework.common.pojo.PageParam; -import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; - -import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignMapper; -import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesignprogress.ProcessDesignProgressMapper; - -import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; - -/** - * 工艺设计 Service 实现类 - * - * @author 管理员 - */ -@Service -@Validated -public class ProcessDesignServiceImpl implements ProcessDesignService { - - @Resource - private ProcessDesignMapper processDesignMapper; - @Resource - private ProcessDesignProgressMapper processDesignProgressMapper; - - @Override - @Transactional(rollbackFor = Exception.class) - public Long createProcessDesign(ProcessDesignSaveReqVO createReqVO) { - // 插入 - ProcessDesignDO processDesign = BeanUtils.toBean(createReqVO, ProcessDesignDO.class); - processDesignMapper.insert(processDesign); - - // 插入子表 - createProcessDesignProgressList(processDesign.getId(), createReqVO.getProcessDesignProgresss()); - // 返回 - return processDesign.getId(); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void updateProcessDesign(ProcessDesignSaveReqVO updateReqVO) { - // 校验存在 - validateProcessDesignExists(updateReqVO.getId()); - // 更新 - ProcessDesignDO updateObj = BeanUtils.toBean(updateReqVO, ProcessDesignDO.class); - processDesignMapper.updateById(updateObj); - - // 更新子表 - updateProcessDesignProgressList(updateReqVO.getId(), updateReqVO.getProcessDesignProgresss()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteProcessDesign(Long id) { - // 校验存在 - validateProcessDesignExists(id); - // 删除 - processDesignMapper.deleteById(id); - - // 删除子表 - deleteProcessDesignProgressByProcessDesignId(id); - } - - private void validateProcessDesignExists(Long id) { - if (processDesignMapper.selectById(id) == null) { - throw exception(PROCESS_DESIGN_NOT_EXISTS); - } - } - - @Override - public ProcessDesignDO getProcessDesign(Long id) { - return processDesignMapper.selectById(id); - } - - @Override - public PageResult getProcessDesignPage(ProcessDesignPageReqVO pageReqVO) { - return processDesignMapper.selectPage(pageReqVO); - } - - // ==================== 子表(工艺设计进度) ==================== - - @Override - public List getProcessDesignProgressListByProcessDesignId(Long processDesignId) { - return processDesignProgressMapper.selectListByProcessDesignId(processDesignId); - } - - private void createProcessDesignProgressList(Long processDesignId, List list) { - list.forEach(o -> o.setProcessDesignId(processDesignId)); - processDesignProgressMapper.insertBatch(list); - } - - private void updateProcessDesignProgressList(Long processDesignId, List list) { - deleteProcessDesignProgressByProcessDesignId(processDesignId); - list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下:1)id 冲突;2)updateTime 不更新 - createProcessDesignProgressList(processDesignId, list); - } - - private void deleteProcessDesignProgressByProcessDesignId(Long processDesignId) { - processDesignProgressMapper.deleteByProcessDesignId(processDesignId); - } - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.service.processdesign; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import com.chanko.yunxi.mes.module.heli.controller.admin.processdesign.vo.*; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesign.ProcessDesignDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.processdesignprogress.ProcessDesignProgressDO; +import com.chanko.yunxi.mes.framework.common.pojo.PageResult; +import com.chanko.yunxi.mes.framework.common.pojo.PageParam; +import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils; + +import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesign.ProcessDesignMapper; +import com.chanko.yunxi.mes.module.heli.dal.mysql.processdesignprogress.ProcessDesignProgressMapper; + +import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*; + +/** + * 工艺设计 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class ProcessDesignServiceImpl implements ProcessDesignService { + + @Resource + private ProcessDesignMapper processDesignMapper; + @Resource + private ProcessDesignProgressMapper processDesignProgressMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createProcessDesign(ProcessDesignSaveReqVO createReqVO) { + // 插入 + ProcessDesignDO processDesign = BeanUtils.toBean(createReqVO, ProcessDesignDO.class); + processDesignMapper.insert(processDesign); + + // 插入子表 + createProcessDesignProgressList(processDesign.getId(), createReqVO.getProcessDesignProgressList()); + // 返回 + return processDesign.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateProcessDesign(ProcessDesignSaveReqVO updateReqVO) { + // 校验存在 + validateProcessDesignExists(updateReqVO.getId()); + // 更新 + ProcessDesignDO updateObj = BeanUtils.toBean(updateReqVO, ProcessDesignDO.class); + processDesignMapper.updateById(updateObj); + + // 更新子表 + updateProcessDesignProgressList(updateReqVO.getId(), updateReqVO.getProcessDesignProgressList()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteProcessDesign(Long id) { + // 校验存在 + validateProcessDesignExists(id); + // 删除 + processDesignMapper.deleteById(id); + + // 删除子表 + deleteProcessDesignProgressByProcessDesignId(id); + } + + private void validateProcessDesignExists(Long id) { + if (processDesignMapper.selectById(id) == null) { + throw exception(PROCESS_DESIGN_NOT_EXISTS); + } + } + + @Override + public ProcessDesignDO getProcessDesign(Long id) { + return processDesignMapper.selectById(id); + } + + @Override + public PageResult getProcessDesignPage(ProcessDesignPageReqVO pageReqVO) { + return processDesignMapper.selectPage(pageReqVO); + } + + // ==================== 子表(工艺设计进度) ==================== + + @Override + public List getProcessDesignProgressListByProcessDesignId(Long processDesignId) { + return processDesignProgressMapper.selectListByProcessDesignId(processDesignId); + } + + private void createProcessDesignProgressList(Long processDesignId, List list) { + list.forEach(o -> o.setProcessDesignId(processDesignId)); + processDesignProgressMapper.insertBatch(list); + } + + private void updateProcessDesignProgressList(Long processDesignId, List list) { + deleteProcessDesignProgressByProcessDesignId(processDesignId); + list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下:1)id 冲突;2)updateTime 不更新 + createProcessDesignProgressList(processDesignId, list); + } + + private void deleteProcessDesignProgressByProcessDesignId(Long processDesignId) { + processDesignProgressMapper.deleteByProcessDesignId(processDesignId); + } + +} diff --git a/mes-ui/mes-ui-admin-vue3/src/api/heli/processdesign/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/heli/processdesign/index.ts index 5feae98d..fa67546c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/heli/processdesign/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/heli/processdesign/index.ts @@ -1,48 +1,49 @@ -import request from '@/config/axios' - -export interface ProcessDesignVO { - id: number - planId: number - saleOrderId: number - saleOrderSubId: number - processDesignType: string - remark: string - status: number -} - -// 查询工艺设计分页 -export const getProcessDesignPage = async (params) => { - return await request.get({ url: `/heli/process-design/page`, params }) -} - -// 查询工艺设计详情 -export const getProcessDesign = async (id: number) => { - return await request.get({ url: `/heli/process-design/get?id=` + id }) -} - -// 新增工艺设计 -export const createProcessDesign = async (data: ProcessDesignVO) => { - return await request.post({ url: `/heli/process-design/create`, data }) -} - -// 修改工艺设计 -export const updateProcessDesign = async (data: ProcessDesignVO) => { - return await request.put({ url: `/heli/process-design/update`, data }) -} - -// 删除工艺设计 -export const deleteProcessDesign = async (id: number) => { - return await request.delete({ url: `/heli/process-design/delete?id=` + id }) -} - -// 导出工艺设计 Excel -export const exportProcessDesign = async (params) => { - return await request.download({ url: `/heli/process-design/export-excel`, params }) -} - -// ==================== 子表(工艺设计进度) ==================== - -// 获得工艺设计进度列表 -export const getProcessDesignProgressListByProcessDesignId = async (processDesignId) => { - return await request.get({ url: `/heli/process-design/process-design-progress/list-by-process-design-id?processDesignId=` + processDesignId }) -} \ No newline at end of file +import request from '@/config/axios' + +export interface ProcessDesignVO { + id: number + planId: number + processDesignType: string + remark: string + status: number + projectId: number + projectSubId: number + processDesignProgressList: any +} + +// 查询工艺设计分页 +export const getProcessDesignPage = async (params) => { + return await request.get({ url: `/heli/process-design/page`, params }) +} + +// 查询工艺设计详情 +export const getProcessDesign = async (id: number) => { + return await request.get({ url: `/heli/process-design/get?id=` + id }) +} + +// 新增工艺设计 +export const createProcessDesign = async (data: ProcessDesignVO) => { + return await request.post({ url: `/heli/process-design/create`, data }) +} + +// 修改工艺设计 +export const updateProcessDesign = async (data: ProcessDesignVO) => { + return await request.put({ url: `/heli/process-design/update`, data }) +} + +// 删除工艺设计 +export const deleteProcessDesign = async (id: number) => { + return await request.delete({ url: `/heli/process-design/delete?id=` + id }) +} + +// 导出工艺设计 Excel +export const exportProcessDesign = async (params) => { + return await request.download({ url: `/heli/process-design/export-excel`, params }) +} + +// ==================== 子表(工艺设计进度) ==================== + +// 获得工艺设计进度列表 +export const getProcessDesignProgressListByProcessDesignId = async (processDesignId) => { + return await request.get({ url: `/heli/process-design/process-design-progress/list-by-process-design-id?processDesignId=` + processDesignId }) +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/ProcessDesignForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/ProcessDesignForm.vue deleted file mode 100644 index 6290b3ba..00000000 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/ProcessDesignForm.vue +++ /dev/null @@ -1,141 +0,0 @@ - - \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/components/ProcessDesignProgressForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/components/ProcessDesignProgressForm.vue deleted file mode 100644 index 6532f33a..00000000 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/components/ProcessDesignProgressForm.vue +++ /dev/null @@ -1,119 +0,0 @@ - - \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/detail.vue new file mode 100644 index 00000000..0f362ec4 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/detail.vue @@ -0,0 +1,249 @@ + + + diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/index.vue index 0a7d494a..93f53bba 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/processdesign/index.vue @@ -6,95 +6,66 @@ :model="queryParams" ref="queryFormRef" :inline="true" - label-width="68px" + label-width="110px" > - + - + - + - - - - - - + - - - + + + + + + + + - - + 搜索 重置 - - 新增 - - - 导出 - @@ -102,37 +73,48 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -145,21 +127,21 @@ @pagination="getList" /> - - - \ 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 f34a7f84..6f298315 100644 --- a/sql/v1.3.0/1.structure.sql +++ b/sql/v1.3.0/1.structure.sql @@ -36,9 +36,9 @@ DROP TABLE IF EXISTS `pro_process_design`; CREATE TABLE `pro_process_design` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增字段,唯一', `plan_id` BIGINT(20) NOT NULL COMMENT '生产计划id', - `sale_order_id` BIGINT(20) NOT NULL COMMENT '销售订单id', - `sale_order_sub_id` BIGINT(20) COMMENT '销售订单子项id', - `process_design_type` varchar(64) not null COMMENT '设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 FOUNDRY_TECHNOLOGY_BLUEPRINT|3D_BLUEPRINT|2D_BLUEPRINT|WORKBLANK_BLUEPRINT', + `project_id` BIGINT(20) NOT NULL COMMENT '项目id', + `project_sub_id` BIGINT(20) COMMENT '子项目id', + `process_design_type` varchar(64) not null COMMENT '设计类型 铸造工艺|3D图纸|2D图纸|毛坯图纸 BLUEPRINT_FOUNDRY_TECHNOLOGY|BLUEPRINT_3D|BLUEPRINT_2D|BLUEPRINT_WORKBLANK', `remark` varchar(255) DEFAULT NULL COMMENT '备注', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态,1表示正常,2表示禁用', `creator` varchar(64) DEFAULT '' COMMENT '创建者', @@ -47,7 +47,9 @@ CREATE TABLE `pro_process_design` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '租户编号', - PRIMARY KEY (`id`) USING BTREE + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_plan`(`plan_id`) USING BTREE, + INDEX `idx_project`(`project_id`) USING BTREE ) ENGINE=InnoDB COMMENT='工艺设计表'; DROP TABLE IF EXISTS `pro_process_design_progress`;