diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/TeamSetController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/TeamSetController.java index af588857..b227319d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/TeamSetController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/TeamSetController.java @@ -194,6 +194,9 @@ public class TeamSetController extends BladeController { String result = null; String team = null; if(null != teamIds && teamIds.size() > 0){ + QueryWrapper qwuser = new QueryWrapper<>(); + qwuser.eq("TEAM_SET_ID", detail.getId()); + relTeamSetUserService.remove(qwuser); for(Long teamId:teamIds){ RelTeamSetUser relTeamSetUser = new RelTeamSetUser(); relTeamSetUser.setTeamSetId(detail.getId()); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java index 930cb363..678f496e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java @@ -287,6 +287,10 @@ public class WorkCenterController extends BladeController { String team = null; if(null != teamIds && teamIds.size() > 0){ + QueryWrapper qwcenteam = new QueryWrapper<>(); + qwcenteam.eq("WC_ID",detail.getId()); + teamCenterService.remove(qwcenteam); + for(Long teamId:teamIds){ CenterTeam centerteam = new CenterTeam(); centerteam.setWcId(detail.getId()); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java index ee607a8f..4b081dc1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java @@ -97,10 +97,14 @@ public class WorkTankController extends BladeController { // } if(null != one.getUpdateUser() && !"".equals(one.getUpdateUser())){ R userplan= iUserClient.userInfoById(one.getUpdateUser()); - one.setOpUserRealName(userplan.getData().getRealName()); + if(null != userplan && null != userplan.getData() && null != userplan.getData().getRealName()){ + one.setOpUserRealName(userplan.getData().getRealName()); + } }else{ R userplan= iUserClient.userInfoById(one.getCreateUser()); - one.setOpUserRealName(userplan.getData().getRealName()); + if(null != userplan && null != userplan.getData() && null != userplan.getData().getRealName()){ + one.setOpUserRealName(userplan.getData().getRealName()); + } } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/PipelineController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/PipelineController.java index 3381cd89..d35326e2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/PipelineController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/PipelineController.java @@ -85,7 +85,6 @@ public class PipelineController extends BladeController { returnToWarehouseDto.setBoxBarcode(boxBarcode); R wcIdR = iOrderBoxService.getWcId(boxBarcode); LinkedHashMap map = (LinkedHashMap) wcIdR.getData(); - System.out.println("wcIdR = " + wcIdR); if (map==null) { return R.fail("未查询到该箱条码的作业中心"); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java index af453204..6fa0f9de 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java @@ -264,7 +264,6 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { .distinct() .collect(Collectors.toList()); List wcVOList = bsWorkCenterService.getByIds(wcIdList, freeStationList); - System.out.println("wcVOList = " + wcVOList); if (!CollectionUtils.isEmpty(wcVOList)) { resultList.addAll(wcVOList); log.info("【回库工位查询】查询到{}个空闲工位", wcVOList.size()); @@ -468,19 +467,21 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { LinkedHashMap map = new LinkedHashMap<>(); map.put("wcId", wcID); if (DistinguishRegionsEnum.includeByWcName(workCenter.getWcName())) { - List list = yieldOrderService.list(new LambdaQueryWrapper().eq(YieldOrder::getCardNo, orderBindList.get(0).getCardNo())); + //todo:删除读取车间订单代码 +// List list = yieldOrderService.list(new LambdaQueryWrapper().eq(YieldOrder::getCardNo, orderBindList.get(0).getCardNo())); String useDept = ""; - if (list != null && list.size() != 0) { - useDept = list.get(0).getUseDept(); - } else { - List list1 = prYieldOrderService.list(new LambdaQueryWrapper().eq(PrYieldOrder::getCardNo, orderBindList.get(0).getCardNo())); +// if (list != null && list.size() != 0) { +// useDept = list.get(0).getUseDept(); +// } else { + List list1 = prYieldOrderService.list(new LambdaQueryWrapper().select(PrYieldOrder::getUseDept).eq(PrYieldOrder::getCardNo, orderBindList.get(0).getCardNo())); if (list1 != null && list1.size() != 0) { useDept = list1.get(0).getUseDept(); + }else { + return R.fail("班次获取异常"); } - } +// } String code = DistinguishRegionsEnum.wcNameByCode(workCenter.getWcName()); String logisticsAnagementRegion = DictCache.getValue(code, useDept); - System.out.println("logisticsAnagementRegion = " + logisticsAnagementRegion); if (logisticsAnagementRegion != null) { map.put("stationRegion", logisticsAnagementRegion); } else { @@ -588,12 +589,15 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { List orderList = yieldOrderService.list( new LambdaQueryWrapper().in(YieldOrder::getCardNo, cardNoList) ); + if (orderList==null||orderList.size()==0) { + return new BigDecimal(0.1); + } log.info("【订单重量计算】查询到订单列表:{}", orderList); return orderList.stream() .map(YieldOrder::getActualWeighing) .filter(Objects::nonNull) - .reduce(BigDecimal.ZERO, BigDecimal::add); + .reduce(new BigDecimal(0.1), BigDecimal::add); } /** @@ -1071,17 +1075,18 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { } //判断是否是镀后库作业中心 if (DistinguishRegionsEnum.includeByWcName(workCenter.getWcName())) { - List yieldOrderList = yieldOrderService.list(new LambdaQueryWrapper().eq(YieldOrder::getCardNo, orderList.get(0).getCardNo())); - if (yieldOrderList != null && yieldOrderList.size() != 0) { - String code = DistinguishRegionsEnum.wcNameByCode(workCenter.getWcName()); - String logisticsAnagementRegion = DictCache.getValue(code, yieldOrderList.get(0).getUseDept()); - if (!logisticsAnagementRegion.isEmpty()) { - detailsVO.setStationRegion(logisticsAnagementRegion); - return R.data(detailsVO); - } - - } - List yieldOrderList1 = prYieldOrderService.list(new LambdaQueryWrapper().eq(PrYieldOrder::getCardNo, orderList.get(0).getCardNo())); + //todo:删除读取车间订单代码 +// List yieldOrderList = yieldOrderService.list(new LambdaQueryWrapper().eq(YieldOrder::getCardNo, orderList.get(0).getCardNo())); +// if (yieldOrderList != null && yieldOrderList.size() != 0) { +// String code = DistinguishRegionsEnum.wcNameByCode(workCenter.getWcName()); +// String logisticsAnagementRegion = DictCache.getValue(code, yieldOrderList.get(0).getUseDept()); +// if (!logisticsAnagementRegion.isEmpty()) { +// detailsVO.setStationRegion(logisticsAnagementRegion); +// return R.data(detailsVO); +// } +// +// } + List yieldOrderList1 = prYieldOrderService.list(new LambdaQueryWrapper().select(PrYieldOrder::getUseDept).eq(PrYieldOrder::getCardNo, orderList.get(0).getCardNo())); if (yieldOrderList1 != null && yieldOrderList1.size() != 0) { String code = DistinguishRegionsEnum.wcNameByCode(workCenter.getWcName()); String logisticsAnagementRegion = DictCache.getValue(code, yieldOrderList1.get(0).getUseDept()); @@ -1120,35 +1125,39 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { * @return 合并后的YieldOrder列表 */ private List queryYieldOrders(List cardNoList) { - // 1. 查询YieldOrder - List yieldOrderList = yieldOrderService.list( - Wrappers.lambdaQuery(YieldOrder.class) - .in(YieldOrder::getCardNo, cardNoList) - ); - - // 2. 找到未查询到的cardNo - Set foundCardNos = yieldOrderList.stream() - .map(YieldOrder::getCardNo) - .collect(Collectors.toSet()); - List missingCardNos = cardNoList.stream() - .filter(cardNo -> !foundCardNos.contains(cardNo)) - .collect(Collectors.toList()); - - // 3. 如果有缺失的,查询PrYieldOrder并转换 - if (!missingCardNos.isEmpty()) { - List prYieldOrderList = prYieldOrderService.list( - Wrappers.lambdaQuery(PrYieldOrder.class) - .in(PrYieldOrder::getCardNo, missingCardNos) - ); - - // 转换为YieldOrder + //todo:删除读取车间订单代码 +// // 1. 查询YieldOrder +// List yieldOrderList = yieldOrderService.list( +// Wrappers.lambdaQuery(YieldOrder.class) +// .in(YieldOrder::getCardNo, cardNoList) +// ); +// +// // 2. 找到未查询到的cardNo +// Set foundCardNos = yieldOrderList.stream() +// .map(YieldOrder::getCardNo) +// .collect(Collectors.toSet()); +// List missingCardNos = cardNoList.stream() +// .filter(cardNo -> !foundCardNos.contains(cardNo)) +// .collect(Collectors.toList()); +// +// // 3. 如果有缺失的,查询PrYieldOrder并转换 +// if (!missingCardNos.isEmpty()) { +// List prYieldOrderList = prYieldOrderService.list( +// Wrappers.lambdaQuery(PrYieldOrder.class) +// .in(PrYieldOrder::getCardNo, missingCardNos) +// ); + List yieldOrderList =new ArrayList<>(); + List prYieldOrderList = prYieldOrderService.list(new LambdaQueryWrapper() + .select(PrYieldOrder::getCardNo, PrYieldOrder::getYoCode, PrYieldOrder::getPartCode, PrYieldOrder::getPartName) + .in(PrYieldOrder::getCardNo, cardNoList)); + // 转换为YieldOrder List convertedList = prYieldOrderList.stream() .map(this::convertToYieldOrder) .collect(Collectors.toList()); // 4. 合并结果 yieldOrderList.addAll(convertedList); - } +// } return yieldOrderList; } @@ -1166,7 +1175,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { yieldOrder.setYoCode(prYieldOrder.getYoCode()); yieldOrder.setPartCode(prYieldOrder.getPartCode()); yieldOrder.setPartName(prYieldOrder.getPartName()); - yieldOrder.setActualWeighing(new BigDecimal(0)); + yieldOrder.setActualWeighing(new BigDecimal(0.1)); // 其他字段保持默认null return yieldOrder; } @@ -1258,11 +1267,16 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { } //判断是不是镀后库作业中心 if (DistinguishRegionsEnum.includeByWcName(bsWorkCenterService.getById(wcId).getWcName())) { - List deptList = yieldOrderService.list(new LambdaQueryWrapper().in(YieldOrder::getCardNo, orderBindList)).stream().map(s -> s.getUseDept()).toList(); + //todo:删除读取车间订单代码 +// List deptList = yieldOrderService.list(new LambdaQueryWrapper().in(YieldOrder::getCardNo, orderBindList)).stream().map(s -> s.getUseDept()).toList(); + List yieldOrderList = prYieldOrderService.list(new LambdaQueryWrapper().select(PrYieldOrder::getUseDept).in(PrYieldOrder::getCardNo, orderBindList)); + if (yieldOrderList==null||yieldOrderList.size()==0) { + return R.fail("车间订单异常"); + } String code = DistinguishRegionsEnum.wcNameByCode(bsWorkCenterService.getById(wcId).getWcName()); String stationRegion = ""; - for (String s : deptList) { - String logisticsAnagementRegion = DictCache.getValue(code, s); + for (PrYieldOrder s : yieldOrderList) { + String logisticsAnagementRegion = DictCache.getValue(code, s.getUseDept()); if (logisticsAnagementRegion == null) { return R.fail("站点区域异常"); } else if (stationRegion == null) { @@ -1311,66 +1325,67 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { * 校验单个订单的作业中心与箱绑定作业中心是否一致(核心逻辑抽离) */ private R checkOrderWorkCenterConsistency(String orderCardNo, Long currentWcId) { + //todo:删除读取车间订单代码 // ====================== 处理标准工单 ====================== - List workOrderList = workOrderService.lambdaQuery() - .select(WorkOrder::getId) - .eq(WorkOrder::getCardNo, orderCardNo) - .list(); - - if (workOrderList != null && !workOrderList.isEmpty()) { - WorkOrder workOrder = workOrderList.get(0); - List workPlanList = workPlanService.lambdaQuery() - .select(WorkPlan::getStatus, WorkPlan::getNextWpId, WorkPlan::getWoId, WorkPlan::getMakeTeam) - .eq(WorkPlan::getWoId, workOrder.getId()) - .list(); - if (workPlanList == null || workPlanList.isEmpty()) { - log.info("workPlanList"); - return R.fail(orderCardNo + "车间订单异常"); - } - - WorkPlan workPlan = workPlanList.get(0); - Long workCenterId; - - // 根据工序状态判断使用当前工序还是下一道工序 - if (workPlan.getStatus() < 3) { -// workCenterId = workPlan.getWorkCenterId(); - if (workPlan.getMakeTeam() == null) { - return R.fail(orderCardNo + "车间订单班次异常"); - } else { - List list = iCenterTeamService.list(new LambdaQueryWrapper() - .select(CenterTeam::getWcId, CenterTeam::getTsId) - .eq(CenterTeam::getTsId, (workPlan.getMakeTeam()))); - if (list == null || list.size() == 0) { - return R.fail(orderCardNo + "车间订单班次查询作业中心异常"); - } else { - workCenterId = list.get(0).getWcId(); - } - } - } else { - - List nextWorkPlanList = workPlanService.lambdaQuery() - .select(WorkPlan::getStatus, WorkPlan::getNextWpId, WorkPlan::getWoId, WorkPlan::getMakeTeam) - .eq(WorkPlan::getId, workPlan.getNextWpId()) - .list(); - - if (nextWorkPlanList == null || nextWorkPlanList.isEmpty()) { - return R.fail(orderCardNo + "车间下一工序订单异常"); - } - if (nextWorkPlanList.get(0).getMakeTeam() == null) { - return R.fail(orderCardNo + "车间订单班次异常"); - } - List list = iCenterTeamService.list(new LambdaQueryWrapper() - .select(CenterTeam::getWcId, CenterTeam::getTsId) - .eq(CenterTeam::getTsId, (workPlan.getMakeTeam()))); - if (list == null || list.size() == 0) { - return R.fail(orderCardNo + "车间订单班次查询作业中心异常"); - } else { - workCenterId = list.get(0).getWcId(); - } - } - - return validateWorkCenter(orderCardNo, currentWcId, workCenterId); - } +// List workOrderList = workOrderService.lambdaQuery() +// .select(WorkOrder::getId) +// .eq(WorkOrder::getCardNo, orderCardNo) +// .list(); +// +// if (workOrderList != null && !workOrderList.isEmpty()) { +// WorkOrder workOrder = workOrderList.get(0); +// List workPlanList = workPlanService.lambdaQuery() +// .select(WorkPlan::getStatus, WorkPlan::getNextWpId, WorkPlan::getWoId, WorkPlan::getMakeTeam) +// .eq(WorkPlan::getWoId, workOrder.getId()) +// .list(); +// if (workPlanList == null || workPlanList.isEmpty()) { +// log.info("workPlanList"); +// return R.fail(orderCardNo + "车间订单异常"); +// } +// +// WorkPlan workPlan = workPlanList.get(0); +// Long workCenterId; +// +// // 根据工序状态判断使用当前工序还是下一道工序 +// if (workPlan.getStatus() < 3) { +//// workCenterId = workPlan.getWorkCenterId(); +// if (workPlan.getMakeTeam() == null) { +// return R.fail(orderCardNo + "车间订单班次异常"); +// } else { +// List list = iCenterTeamService.list(new LambdaQueryWrapper() +// .select(CenterTeam::getWcId, CenterTeam::getTsId) +// .eq(CenterTeam::getTsId, (workPlan.getMakeTeam()))); +// if (list == null || list.size() == 0) { +// return R.fail(orderCardNo + "车间订单班次查询作业中心异常"); +// } else { +// workCenterId = list.get(0).getWcId(); +// } +// } +// } else { +// +// List nextWorkPlanList = workPlanService.lambdaQuery() +// .select(WorkPlan::getStatus, WorkPlan::getNextWpId, WorkPlan::getWoId, WorkPlan::getMakeTeam) +// .eq(WorkPlan::getId, workPlan.getNextWpId()) +// .list(); +// +// if (nextWorkPlanList == null || nextWorkPlanList.isEmpty()) { +// return R.fail(orderCardNo + "车间下一工序订单异常"); +// } +// if (nextWorkPlanList.get(0).getMakeTeam() == null) { +// return R.fail(orderCardNo + "车间订单班次异常"); +// } +// List list = iCenterTeamService.list(new LambdaQueryWrapper() +// .select(CenterTeam::getWcId, CenterTeam::getTsId) +// .eq(CenterTeam::getTsId, (workPlan.getMakeTeam()))); +// if (list == null || list.size() == 0) { +// return R.fail(orderCardNo + "车间订单班次查询作业中心异常"); +// } else { +// workCenterId = list.get(0).getWcId(); +// } +// } +// +// return validateWorkCenter(orderCardNo, currentWcId, workCenterId); +// } // ====================== 处理PR工单 ====================== List prWorkOrderList = prWorkOrderService.lambdaQuery() diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java index e5cbecf3..e21f0560 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java @@ -58,6 +58,7 @@ import org.springblade.system.cache.DictCache; import org.springblade.system.cache.UserCache; import org.springblade.system.pojo.entity.User; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -88,6 +89,13 @@ public class WorkOrderServiceImpl extends BaseServiceImpl list = prWorkPlanItemService.listByWpId(wp.getWpId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("WP_ID", wp.getId()); + List list = wpItemService.list(queryWrapper); + if (list != null && list.size() > 0) { + wp.setWorkQty(wo.getMakeQty()); + } + wp.setTestQty(wp.getTestQty() + testQty); + wp.setLossQty(wp.getLossQty() + lossQty); + wp.setScrapQty(wp.getScrapQty() + scrapQty); + } + } + + private JSONObject glassCake(Long woId) { JSONObject obj = new JSONObject(); // 子件订单信息