diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailPageReqVO.java index cbd4794b..960113f2 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailPageReqVO.java @@ -1,6 +1,8 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo; import lombok.*; + +import java.math.BigDecimal; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import com.chanko.yunxi.mes.framework.common.pojo.PageParam; @@ -28,7 +30,7 @@ public class MaterialPlanDetailPageReqVO extends PageParam { private Long projectSubId; @Schema(description = "需求数量") - private Long requireAmount; + private BigDecimal requireAmount; @Schema(description = "需求到货日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailRespVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailRespVO.java index a95fcb32..03c1bb86 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailRespVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailRespVO.java @@ -2,6 +2,8 @@ package com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; + +import java.math.BigDecimal; import java.util.*; import java.util.*; import org.springframework.format.annotation.DateTimeFormat; @@ -31,7 +33,7 @@ public class MaterialPlanDetailRespVO { @Schema(description = "需求数量") @ExcelProperty("需求数量") - private Long requireAmount; + private BigDecimal requireAmount; @Schema(description = "需求到货日期") @ExcelProperty("需求到货日期") @@ -45,4 +47,28 @@ public class MaterialPlanDetailRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; + @Schema(description = "物料id", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("物料id") + private Long matId; + + @Schema(description = "备注") + @ExcelProperty("物料名称") + private String matName; + + @Schema(description = "备注") + @ExcelProperty("物料编码") + private String matCode; + + @Schema(description = "备注") + @ExcelProperty("物料规格型号") + private String matSpec; + + @Schema(description = "备注") + @ExcelProperty("物料单位") + private String matUnit; + + @Schema(description = "备注") + @ExcelProperty("物料类型") + private String matType; + } \ 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/controller/admin/materialplandetail/vo/MaterialPlanDetailSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailSaveReqVO.java index 53459f82..2579ec54 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/materialplandetail/vo/MaterialPlanDetailSaveReqVO.java @@ -1,38 +1,40 @@ -package com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; - -@Schema(description = "管理后台 - 物料需求计划物料详情新增/修改 Request VO") -@Data -public class MaterialPlanDetailSaveReqVO { - - @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED) - private Long id; - - @Schema(description = "物料需求采购计划id", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物料需求采购计划id不能为空") - private Long projectMaterialPlanId; - - @Schema(description = "物料id", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "物料id不能为空") - private Long materialId; - - @Schema(description = "子项目编号") - private Long projectSubId; - - @Schema(description = "需求数量") - private Long requireAmount; - - @Schema(description = "需求到货日期") - private LocalDateTime requireArriveTime; - - @Schema(description = "备注") - private String description; - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.math.BigDecimal; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 物料需求计划物料详情新增/修改 Request VO") +@Data +public class MaterialPlanDetailSaveReqVO { + + @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + @Schema(description = "物料需求采购计划id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物料需求采购计划id不能为空") + private Long projectMaterialPlanId; + + @Schema(description = "物料id", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "物料id不能为空") + private Long materialId; + + @Schema(description = "子项目编号") + private Long projectSubId; + + @Schema(description = "需求数量") + private BigDecimal requireAmount; + + @Schema(description = "需求到货日期") + private LocalDateTime requireArriveTime; + + @Schema(description = "备注") + private String description; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/materialplandetail/MaterialPlanDetailDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/materialplandetail/MaterialPlanDetailDO.java index 008ce135..ec4a9050 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/materialplandetail/MaterialPlanDetailDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/materialplandetail/MaterialPlanDetailDO.java @@ -1,6 +1,8 @@ package com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail; import lombok.*; + +import java.math.BigDecimal; import java.util.*; import java.time.LocalDateTime; import java.time.LocalDateTime; @@ -43,7 +45,7 @@ public class MaterialPlanDetailDO extends BaseDO { /** * 需求数量 */ - private Long requireAmount; + private BigDecimal requireAmount; /** * 需求到货日期 */ @@ -53,4 +55,17 @@ public class MaterialPlanDetailDO extends BaseDO { */ private String description; + @TableField(exist = false) + private Long matId; + @TableField(exist = false) + private String matName; + @TableField(exist = false) + private String matCode; + @TableField(exist = false) + private String matSpec; + @TableField(exist = false) + private String matUnit; + @TableField(exist = false) + private String matType; + } \ 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/mysql/materialplandetail/MaterialPlanDetailMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplandetail/MaterialPlanDetailMapper.java index a66c374d..2dced6a3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplandetail/MaterialPlanDetailMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/materialplandetail/MaterialPlanDetailMapper.java @@ -5,9 +5,16 @@ 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.materialplan.vo.MaterialPlanPageReqVO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplan.MaterialPlanDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail.MaterialPlanDetailDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.plan.PlanDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo.*; +import org.springframework.util.StringUtils; /** * 物料需求计划物料详情 Mapper @@ -18,16 +25,28 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.materialplandetail.vo.* public interface MaterialPlanDetailMapper extends BaseMapperX { default PageResult selectPage(MaterialPlanDetailPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MaterialPlanDetailDO::getId, reqVO.getId()) - .eqIfPresent(MaterialPlanDetailDO::getProjectMaterialPlanId, reqVO.getProjectMaterialPlanId()) - .eqIfPresent(MaterialPlanDetailDO::getMaterialId, reqVO.getMaterialId()) - .eqIfPresent(MaterialPlanDetailDO::getProjectSubId, reqVO.getProjectSubId()) - .eqIfPresent(MaterialPlanDetailDO::getRequireAmount, reqVO.getRequireAmount()) - .betweenIfPresent(MaterialPlanDetailDO::getRequireArriveTime, reqVO.getRequireArriveTime()) - .eqIfPresent(MaterialPlanDetailDO::getDescription, reqVO.getDescription()) - .betweenIfPresent(MaterialPlanDetailDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(MaterialPlanDetailDO::getId)); + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + + query.selectAll(MaterialPlanDetailDO.class) + .select("mat.id as matId","mat.name as matName","mat.code as matCode","mat.spec as matSpec","mat.unit as matUnit","mat.material_type as matType") + .leftJoin(MaterialDO.class, "mat", MaterialDO::getId, MaterialPlanDetailDO::getMaterialId) + .disableSubLogicDel() + .orderByDesc(MaterialPlanDetailDO::getCreateTime); + query.eq(reqVO.getProjectMaterialPlanId()!=null,MaterialPlanDetailDO::getProjectMaterialPlanId, reqVO.getProjectMaterialPlanId()).orderByAsc(MaterialPlanDetailDO::getCreateTime); + + return selectPage(reqVO, query); } +// default PageResult selectPage(MaterialPlanDetailPageReqVO reqVO) { +// return selectPage(reqVO, new LambdaQueryWrapperX() +// .eqIfPresent(MaterialPlanDetailDO::getId, reqVO.getId()) +// .eqIfPresent(MaterialPlanDetailDO::getProjectMaterialPlanId, reqVO.getProjectMaterialPlanId()) +// .eqIfPresent(MaterialPlanDetailDO::getMaterialId, reqVO.getMaterialId()) +// .eqIfPresent(MaterialPlanDetailDO::getProjectSubId, reqVO.getProjectSubId()) +// .eqIfPresent(MaterialPlanDetailDO::getRequireAmount, reqVO.getRequireAmount()) +// .betweenIfPresent(MaterialPlanDetailDO::getRequireArriveTime, reqVO.getRequireArriveTime()) +// .eqIfPresent(MaterialPlanDetailDO::getDescription, reqVO.getDescription()) +// .betweenIfPresent(MaterialPlanDetailDO::getCreateTime, reqVO.getCreateTime()) +// .orderByDesc(MaterialPlanDetailDO::getId)); +// } } \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/edit.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/edit.vue new file mode 100644 index 00000000..0263385d --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/materialplan/edit.vue @@ -0,0 +1,566 @@ + + \ 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 475f6a50..f2b3c4d0 100644 --- a/sql/v1.3.0/1.structure.sql +++ b/sql/v1.3.0/1.structure.sql @@ -155,7 +155,7 @@ CREATE TABLE `project_material_plan_detail` ( `project_material_plan_id` bigint(20) NOT NULL COMMENT '物料需求采购计划id', `material_id` bigint(20) NOT NULL COMMENT '物料id', `project_sub_id` bigint(20) DEFAULT NULL COMMENT '子项目编号', - `require_amount` bigint(20) DEFAULT NULL COMMENT '需求数量', + `require_amount` decimal(11,2) DEFAULT NULL COMMENT '需求数量', `require_arrive_time` datetime DEFAULT NULL COMMENT '需求到货日期', `description` varchar(255) DEFAULT NULL COMMENT '备注', `creator` varchar(64) DEFAULT '' COMMENT '创建者', @@ -165,7 +165,7 @@ CREATE TABLE `project_material_plan_detail` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) -) ENGINE=InnoDB COMMENT='物料需求计划物料详情表'; +) ENGINE=InnoDB COMMENT='物料需求计划物料详情表'; CREATE OR REPLACE VIEW v_storage_material_log AS select 0 AS `deleted`,`lg`.`id` AS `id`,`lg`.`creator` AS `creator`,`lg`.`create_time` AS `create_time`,`lg`.`updater` AS `updater`,`lg`.`update_time` AS `update_time`,