From cca119c84311969465c3a007e1aea4949713dab3 Mon Sep 17 00:00:00 2001 From: wws <18630710203@163.com> Date: Thu, 27 Jul 2023 10:09:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E8=AE=A2=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97(=E6=9C=BA=E5=9E=8B=E5=9B=9E?= =?UTF-8?q?=E6=98=BE=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProWetMaterialPlanController.java | 14 ++- .../com/op/mes/domain/ProOrderWorkorder.java | 86 ++++++++++++++++++- .../com/op/mes/domain/ProWetMaterialPlan.java | 28 +++++- .../com/op/mes/mapper/ProOrderMapper.java | 2 +- .../service/IProWetMaterialPlanService.java | 9 ++ .../impl/ProWetMaterialPlanServiceImpl.java | 63 ++++++++++++-- .../mapper/mes/ProWetMaterialPlanMapper.xml | 10 ++- 7 files changed, 199 insertions(+), 13 deletions(-) diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProWetMaterialPlanController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProWetMaterialPlanController.java index eeeae8b4..f9b48f88 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/ProWetMaterialPlanController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/ProWetMaterialPlanController.java @@ -4,6 +4,7 @@ import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.op.mes.domain.ProOrderWorkorder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -35,6 +36,17 @@ public class ProWetMaterialPlanController extends BaseController { @Autowired private IProWetMaterialPlanService proWetMaterialPlanService; + /** + * 提交湿料计划接口 + * + * @param proOrderWorkorderList + * @return + */ + @PostMapping("/addWetPlan") + public AjaxResult addWetPlan(@RequestBody List proOrderWorkorderList) { + return proWetMaterialPlanService.addWetPlan(proOrderWorkorderList); + } + /** * 通过计划日期获取当前已经分配的料罐、物料、班次信息list * @@ -42,7 +54,7 @@ public class ProWetMaterialPlanController extends BaseController { * @return */ @GetMapping("/getBMSList") - public AjaxResult getBMSList(Date planTime){ + public AjaxResult getBMSList(Date planTime) { return proWetMaterialPlanService.getBMSList(planTime); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProOrderWorkorder.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProOrderWorkorder.java index de4637ef..5939263d 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProOrderWorkorder.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProOrderWorkorder.java @@ -119,9 +119,86 @@ public class ProOrderWorkorder extends TreeEntity { @Excel(name = "是否为底层节点") private Integer isEnd; - /** 班次名称 */ + /** 班次名称(数据库无该字段,需自行查询) */ private String shiftDesc; + // 料罐id(湿料计划模块使用) + private Integer bucketId; + + // 料罐编码(湿料计划模块使用) + private String bucketCode; + + // 物料id(湿料计划模块使用) + private Integer materialId; + + // 物料编码(湿料计划模块使用) + private String materialCode; + + // 物料名称(湿料计划模块使用) + private String materialName; + + // 计划日期(湿料计划模块使用) + private Date planTime; + + // 料罐名称(湿料计划模块使用) + private String bucketName; + + public String getBucketName() { + return bucketName; + } + + public void setBucketName(String bucketName) { + this.bucketName = bucketName; + } + + public Integer getBucketId() { + return bucketId; + } + + public void setBucketId(Integer bucketId) { + this.bucketId = bucketId; + } + + public String getBucketCode() { + return bucketCode; + } + + public void setBucketCode(String bucketCode) { + this.bucketCode = bucketCode; + } + + public Integer getMaterialId() { + return materialId; + } + + public void setMaterialId(Integer materialId) { + this.materialId = materialId; + } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public Date getPlanTime() { + return planTime; + } + + public void setPlanTime(Date planTime) { + this.planTime = planTime; + } + public String getShiftDesc() { return shiftDesc; } @@ -365,6 +442,13 @@ public class ProOrderWorkorder extends TreeEntity { .append("batchCodeList",getBatchCodeList()) .append("isEnd",getIsEnd()) .append("shiftDesc",getShiftDesc()) + .append("bucketId",getBucketId()) + .append("bucketCode",getBucketCode()) + .append("materialId",getMaterialId()) + .append("materialCode",getMaterialCode()) + .append("materialName",getMaterialName()) + .append("planTime",getPlanTime()) + .append("bucketName",getBucketName()) .toString(); } } \ No newline at end of file diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProWetMaterialPlan.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProWetMaterialPlan.java index 6f46acae..367ed792 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/ProWetMaterialPlan.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/ProWetMaterialPlan.java @@ -76,6 +76,28 @@ public class ProWetMaterialPlan extends BaseEntity { /** 结束时间 */ private Date endTime; + /** 班次id */ + private Integer shiftId; + + /** 班次简称desc */ + private String shiftDesc; + + public Integer getShiftId() { + return shiftId; + } + + public void setShiftId(Integer shiftId) { + this.shiftId = shiftId; + } + + public String getShiftDesc() { + return shiftDesc; + } + + public void setShiftDesc(String shiftDesc) { + this.shiftDesc = shiftDesc; + } + public Date getEndTime() { return endTime; } @@ -228,8 +250,10 @@ public class ProWetMaterialPlan extends BaseEntity { .append("status", getStatus()) .append("prodType", getProdType()) .append("planCode", getPlanCode()) - .append("startTime",getStartTime()) - .append("endTime",getEndTime()) + .append("startTime",getStartTime()) + .append("endTime",getEndTime()) + .append("shiftId",getShiftId()) + .append("shiftDesc",getShiftDesc()) .toString(); } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderMapper.java index 5ee7944a..eed9b7c9 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/ProOrderMapper.java @@ -101,7 +101,7 @@ public interface ProOrderMapper { * * @return */ - @Select("SELECT equipment_name AS 'prodLineName' FROM base_equipment WHERE equipment_type_code = 'equ_type_cxj' AND equipment_id = #{prodLineName}") + @Select("SELECT equipment_name AS 'prodLineName' FROM base_equipment WHERE equipment_id = #{prodLineCode}") String selectProdLineName(String prodLineCode); /** diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IProWetMaterialPlanService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IProWetMaterialPlanService.java index affc2464..87de2530 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IProWetMaterialPlanService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IProWetMaterialPlanService.java @@ -4,6 +4,7 @@ import java.util.Date; import java.util.List; import com.op.common.core.web.domain.AjaxResult; +import com.op.mes.domain.ProOrderWorkorder; import com.op.mes.domain.ProWetMaterialPlan; /** @@ -90,4 +91,12 @@ public interface IProWetMaterialPlanService { * @return */ AjaxResult getBMSList(Date planTime); + + /** + * 提交湿料计划接口 + * + * @param proOrderWorkorderList + * @return + */ + AjaxResult addWetPlan(List proOrderWorkorderList); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProWetMaterialPlanServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProWetMaterialPlanServiceImpl.java index aea3f369..e64d6ec0 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProWetMaterialPlanServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/ProWetMaterialPlanServiceImpl.java @@ -5,14 +5,12 @@ import java.util.*; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; import com.op.common.core.web.domain.AjaxResult; -import com.op.mes.domain.BMS; -import com.op.mes.domain.ProOrderWorkorder; -import com.op.mes.domain.Product; +import com.op.mes.domain.*; +import com.op.mes.mapper.ProOrderMapper; import com.op.mes.mapper.ProOrderWorkorderMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.mes.mapper.ProWetMaterialPlanMapper; -import com.op.mes.domain.ProWetMaterialPlan; import com.op.mes.service.IProWetMaterialPlanService; import static com.op.common.core.web.domain.AjaxResult.error; @@ -30,6 +28,8 @@ public class ProWetMaterialPlanServiceImpl implements IProWetMaterialPlanService private ProWetMaterialPlanMapper proWetMaterialPlanMapper; @Autowired private ProOrderWorkorderMapper proOrderWorkorderMapper; + @Autowired + private ProOrderMapper proOrderMapper; /** * 查询湿料计划管理 @@ -41,7 +41,7 @@ public class ProWetMaterialPlanServiceImpl implements IProWetMaterialPlanService @DS("#header.poolName") public ProWetMaterialPlan selectProWetMaterialPlanById(String id) { // 参数判空 - if (id == null || id.equals("")){ + if (id == null || id.equals("")) { return null; } return proWetMaterialPlanMapper.selectProWetMaterialPlanById(id); @@ -122,7 +122,7 @@ public class ProWetMaterialPlanServiceImpl implements IProWetMaterialPlanService @DS("#header.poolName") public AjaxResult getWorkOrderByTime(Date productDate) { // 参数判空 - if (productDate == null){ + if (productDate == null) { return error("参数为空!"); } List workorderList = proOrderWorkorderMapper.selectWorkOrderByTime(productDate); @@ -166,9 +166,58 @@ public class ProWetMaterialPlanServiceImpl implements IProWetMaterialPlanService @DS("#header.poolName") public AjaxResult getBMSList(Date planTime) { // 参数判空 - if (planTime == null){ + if (planTime == null) { return error("参数为空!"); } return success(proWetMaterialPlanMapper.selectBMSList(planTime)); } + + /** + * 提交湿料计划接口 + * + * @param proOrderWorkorderList + * @return + */ + @Override + public AjaxResult addWetPlan(List proOrderWorkorderList) { + // 获取料罐信息list + List bucketList = proWetMaterialPlanMapper.selectBucketList(); + // 获取班次信息list + List shiftList = proOrderMapper.selectProShift(); + + // 湿料计划分类 + for (int shift = 0; shift < shiftList.size(); shift++){ + + } + + return null; + } + + public static Map>> classifyWorkOrders(List shifts, List tanks, List workOrders) { + Map>> classifiedWorkOrders = new HashMap<>(); + + for (int i = 0; i < shifts.size(); i++) { + String shift = shifts.get(i); + String tank = tanks.get(i); + String workOrder = workOrders.get(i); + + // 获取当前班次的工单分类 + Map> shiftMap = classifiedWorkOrders.getOrDefault(shift, new HashMap<>()); + + // 获取当前料罐的工单列表 + List tankOrders = shiftMap.getOrDefault(tank, new ArrayList<>()); + + // 添加工单到料罐列表 + tankOrders.add(workOrder); + + // 更新料罐的工单列表 + shiftMap.put(tank, tankOrders); + + // 更新班次的工单分类 + classifiedWorkOrders.put(shift, shiftMap); + } + + return classifiedWorkOrders; + } + } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/ProWetMaterialPlanMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/ProWetMaterialPlanMapper.xml index 1be1c8a3..7323b857 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/ProWetMaterialPlanMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/ProWetMaterialPlanMapper.xml @@ -25,10 +25,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - select id, factory_code, plan_time, sync_flag, create_by, create_time, update_by, update_time, order_type, prod_code, prod_desc, prod_source, quantity, unit, atrr1, atrr2, atrr3, status, prod_type, plan_code from pro_wet_material_plan + select id, factory_code, plan_time, sync_flag, create_by, create_time, update_by, update_time, order_type, prod_code, prod_desc, prod_source, quantity, unit, atrr1, atrr2, atrr3, status, prod_type, plan_code, shift_id, shift_desc from pro_wet_material_plan