diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java index 269f3771..76b0871c 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java @@ -66,7 +66,7 @@ public class YieldPlan extends BaseEntity { * 使用部门 */ @TableField(value = "USE_DEPT") - private String useDept; + private Long useDept; /** * 数量 @@ -90,7 +90,7 @@ public class YieldPlan extends BaseEntity { * 计划员 */ @TableField(value = "PLAN_USER") - private String planUser; + private Long planUser; /** * 计划下达时间 diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/PlateGoodsApplySave.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/PlateGoodsApplySave.java index 6b11c0a1..d813b6a1 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/PlateGoodsApplySave.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/PlateGoodsApplySave.java @@ -22,4 +22,10 @@ public class PlateGoodsApplySave { * 化验含量明细 */ private List detailList; + + + /** + * 本次添加相关的需求单ID列表 + */ + private List recordIdList; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/YieldPlanVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/YieldPlanVo.java index 47ac5aae..9d6d297d 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/YieldPlanVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/YieldPlanVo.java @@ -27,4 +27,9 @@ public class YieldPlanVo extends YieldPlan { * 状态名称 */ String statusName; + + /** + * 计划员名称 + */ + String planUserName; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java index 631e2f73..f37e4a7a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java @@ -72,7 +72,8 @@ public class PlateGoodsApplyController extends BladeController { public R save(@Valid @RequestBody PlateGoodsApplySave saveData) { PlateGoodsApply entity = saveData.getAssayContent(); List detailList = saveData.getDetailList(); - plateGoodsApplyService.save(entity, detailList); + List recordIdList = saveData.getRecordIdList(); + plateGoodsApplyService.save(entity, detailList, recordIdList); return R.status(true); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java index 55c79d6c..cbfcfce9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java @@ -225,6 +225,7 @@ public class YieldOrderController extends BladeController { * * @return true:重复 false:不重复 */ + @Deprecated @PostMapping(value = "/receiveOrderFromOldMes") @Operation(summary = "保存旧mes传过来的生产订单", description = "") public R receiveOrderFromOldMes(@RequestBody JSONObject dataObject) { @@ -232,4 +233,17 @@ public class YieldOrderController extends BladeController { yieldOrderService.receiveOrderFromOldMes(dataList); return R.success(); } + + /** + * 保存旧mes传过来的生产订单状态 + * + * @return + */ + @Deprecated + @PostMapping(value = "/receiveOrderStatusFromOldMes") + @Operation(summary = "保存旧mes传过来的生产订单状态数据", description = "") + public R receiveOrderStatusFromOldMes(@RequestBody JSONObject entity) { + yieldOrderService.receiveOrderStatusFromOldMes(entity.getString("cardNo"), entity.getInteger("status")); + return R.success(); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsApplyService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsApplyService.java index 7da55000..4244337c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsApplyService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsApplyService.java @@ -27,9 +27,10 @@ public interface IPlateGoodsApplyService extends BaseService { * * @param entity * @param detailList + * @param recordIdList * @return */ - boolean save(PlateGoodsApply entity, List detailList); + boolean save(PlateGoodsApply entity, List detailList, List recordIdList); /** * 修改 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java index d6c73150..dce29511 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java @@ -151,4 +151,12 @@ public interface IYieldOrderService extends BaseService { * @param dataList */ void receiveOrderFromOldMes(JSONArray dataList); + + /** + * 接收旧mes同步的生产订单状态数据 + * + * @param cardNo + * @param statusCode + */ + void receiveOrderStatusFromOldMes(String cardNo, Integer statusCode); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsApplyServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsApplyServiceImpl.java index 4c5e4ae2..83222e1d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsApplyServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsApplyServiceImpl.java @@ -34,8 +34,11 @@ public class PlateGoodsApplyServiceImpl extends BaseServiceImpl detailList) { + public boolean save(PlateGoodsApply entity, List detailList, List recordIdList) { if (this.save(entity)) { + // 1. 更新化验记录相关数据 + + // 2. 更新需求单的相关数据 for (PlateGoodsApplyDetail detail : detailList) { detail.setPgadId(entity.getId()); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java index 94754cda..dbb44b74 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java @@ -94,8 +94,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl pageMaterialApply(IPage page, Long wcId, Integer materialType, Integer overHalfMon) { YieldOrder entity = new YieldOrder(); entity.setWorkCenterId(wcId); - //TODO 1. 金钾银钾如何区分 - // 2. 允许使用半月以上的数据是以生产订单的什么时间算 + // TODO 1. 金钾银钾如何区分,使用工艺编制中的物料编号,其中只有金钾、银钾的选项 + // TODO 2. 允许使用半月以上的数据是以生产订单的什么时间算,需查看原来的逻辑 List dataList = baseMapper.selectPage(page, entity, null); return page.setRecords(dataList); } @@ -552,6 +552,26 @@ public class YieldOrderServiceImpl extends BaseServiceImpl orderList = baseMapper.selectList(Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getCardNo, cardNo)); + if (orderList.size() > 0) { + YieldOrder yieldOrder = orderList.get(0); + switch (statusCode) { + case 15: + yieldOrder.setStatus(YieldOrderEnum.STATUS_COMPLETED.getCode()); + break; + case 21: + yieldOrder.setStatus(YieldOrderEnum.STATUS_CLOSED.getCode()); + break; + default: + break; + } + this.updateById(yieldOrder); + } + } + /** * 验证零件子件信息 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/YieldPlanWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/YieldPlanWrapper.java index 494f1771..fdd54b10 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/YieldPlanWrapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/YieldPlanWrapper.java @@ -2,9 +2,12 @@ package org.springblade.desk.order.wrapper; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; import org.springblade.desk.order.pojo.entity.YieldPlan; import org.springblade.desk.order.pojo.enums.YieldPlanEnum; import org.springblade.desk.order.pojo.vo.YieldPlanVo; +import org.springblade.system.cache.UserCache; +import org.springblade.system.pojo.entity.User; import java.util.Objects; @@ -23,6 +26,11 @@ public class YieldPlanWrapper extends BaseEntityWrapper public YieldPlanVo entityVO(YieldPlan entity) { YieldPlanVo vo = Objects.requireNonNull(BeanUtil.copyProperties(entity, YieldPlanVo.class)); vo.setStatusName(YieldPlanEnum.getName(entity.getStatus())); + + User user = UserCache.getUser(entity.getPlanUser()); + if (Func.isNotEmpty(user)) { + vo.setPlanUserName(user.getAccount()); + } return vo; } } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java index b03d174d..38458de9 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/WorkOrderController.java @@ -25,6 +25,7 @@ */ package org.springblade.scheduling.scheduling.controller; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -236,10 +237,20 @@ public class WorkOrderController extends BladeController { */ @PostMapping("/exportBoard") @ApiOperationSupport(order = 9) - @Operation(summary = "导出数据", description = "传入WorkOrder") + @Operation(summary = "导出数据", description = "传入WorkOrder") public void exportSchedulingBoard(@RequestBody WorkOrderDto workOrder, HttpServletResponse response) { List list = workOrderService.exportSchedulingBoard(workOrder); ExcelUtil.export(response, "车间订单表数据" + DateUtil.time(), "车间订单表数据表", list, SchedulingBoardExcel.class); } + /** + * 车间订单 更新调度人员 + */ + @PostMapping("/receiveDispatcherFromOldMes") + @Operation(summary = "更新调度人员", description = "") + public R receiveDispatcherFromOldMes(@RequestBody JSONObject entity) { + workOrderService.receiveDispatcherFromOldMes(entity.getLong("id"), entity.getLong("dispatcher")); + return R.success(); + } + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java index ed03df74..3a617742 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IWorkOrderService.java @@ -86,4 +86,13 @@ public interface IWorkOrderService extends BaseService { List selectEquip(); List exportSchedulingBoard(WorkOrderDto workOrder); + + + /** + * 接收旧mes同步的车间订单调度数据 + * + * @param id + * @param userId + */ + void receiveDispatcherFromOldMes(Long id, Long userId); } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java index bea56e1c..4a3609cd 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/WorkOrderServiceImpl.java @@ -298,27 +298,35 @@ public class WorkOrderServiceImpl extends BaseServiceImpl selectEquip() { - return baseMapper.selectEquip(); - } - - @Override - public List exportSchedulingBoard(WorkOrderDto workOrder) { - return baseMapper.exportSchedulingBoard(workOrder); - } - - void calculateCr(List list) { - //查询订单下的工序,计算cr值 - for (YieldOrderEntity entity : list) { - List craftList = yieldOrderCraftService.list(Wrappers.lambdaQuery().eq(YieldOrderCraftEntity::getYoId, entity.getId())); - //定义订单总工时 - BigDecimal total = new BigDecimal(0); - for (YieldOrderCraftEntity craftEntity : craftList) { - total = total.add(craftEntity.getHourQuota()); - } - //换算成天 - total = total.divide(BigDecimal.valueOf(1440), 2, RoundingMode.HALF_UP); + @Override + public List selectEquip() { + return baseMapper.selectEquip(); + } + + @Override + public List exportSchedulingBoard(WorkOrderDto workOrder) { + return baseMapper.exportSchedulingBoard(workOrder); + } + + @Override + public void receiveDispatcherFromOldMes(Long id, Long userId) { + WorkOrderEntity workOrder = new WorkOrderEntity(); + workOrder.setId(id); + workOrder.setDispatcher(userId); + updateById(workOrder); + } + + void calculateCr(List list) { + //查询订单下的工序,计算cr值 + for (YieldOrderEntity entity : list) { + List craftList = yieldOrderCraftService.list(Wrappers.lambdaQuery().eq(YieldOrderCraftEntity::getYoId, entity.getId())); + //定义订单总工时 + BigDecimal total = new BigDecimal(0); + for (YieldOrderCraftEntity craftEntity : craftList) { + total = total.add(craftEntity.getHourQuota()); + } + //换算成天 + total = total.divide(BigDecimal.valueOf(1440), 2, RoundingMode.HALF_UP); if (total.compareTo(new BigDecimal(0)) == 0) { entity.setCrValue(new BigDecimal(0)); continue;