diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrWorkPlan.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrWorkPlan.java index 6e2a2525..c31586fc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrWorkPlan.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrWorkPlan.java @@ -24,61 +24,29 @@ public class PrWorkPlan implements Serializable { @Serial private static final long serialVersionUID = 1L; - -// /** -// * ID主键 -// */ -// @Schema(description = "ID主键") -// private Long id; - - @Schema(description = "工单计划ID") @TableField("WP_ID") private Long wpId; - @Schema(description = "工序计划ID") - @TableField("WPP_ID") - private Long wppId; + @Schema(description = "工单ID") + @TableField("WO_ID") + private Long woId; - @Schema(description = "产品ID") - @TableField("PID") - private Long pid; + @Schema(description = "PPSID") + @TableField("PPS_ID") + private Long ppsId; @Schema(description = "排序") @TableField("ORDERS") private Integer orders; - @Schema(description = "是否需要检验") - @TableField("NEED_CHECK") - private Integer needCheck; - - @Schema(description = "准备工时") - @TableField("PREPARE_HOUR") - private BigDecimal prepareHour; - - @Schema(description = "加工工时") - @TableField("MAKE_HOUR") - private BigDecimal makeHour; - - @Schema(description = "面积数量") - @TableField("AREA_QUANTITY") - private BigDecimal areaQuantity; - @Schema(description = "加工备注") @TableField("MAKE_MEMO") private String makeMemo; - @Schema(description = "报工工时") - @TableField("PS_HOUR") - private BigDecimal psHour; - - @Schema(description = "设备ID") - @TableField("MAC_ID") - private Long macId; - - @Schema(description = "外协标识") - @TableField("OEM") - private String oem; + @Schema(description = "工时定额") + @TableField("HOUR_QUOTA") + private BigDecimal hourQuota; @Schema(description = "计划开始时间") @TableField("START_TIME") @@ -88,155 +56,111 @@ public class PrWorkPlan implements Serializable { @TableField("END_TIME") private Date endTime; - @Schema(description = "实际开始时间") - @TableField("FACT_START_TIME") - private Date factStartTime; - - @Schema(description = "实际结束时间") - @TableField("FACT_END_TIME") - private Date factEndTime; - - @Schema(description = "效率") - @TableField("RATE") - private BigDecimal rate; - - @Schema(description = "当前状态") - @TableField("CUR_STATUS") - private Integer curStatus; - - @Schema(description = "是否锁定") - @TableField("LOCKED") - private Integer locked; - - @Schema(description = "外协工单ID") - @TableField("OT_ID") - private Long otId; + @Schema(description = "加工班组") + @TableField("MAKE_TEAM") + private String makeTeam; - @Schema(description = "报工设备") - @TableField("REC_MAC") - private String recMac; - - @Schema(description = "报工时间") - @TableField("REC_TIME") - private Date recTime; - - @Schema(description = "报工人") - @TableField("REC_MAN") - private String recMan; - - @Schema(description = "报工状态") - @TableField("REC_STATUS") - private Integer recStatus; - - @Schema(description = "报工排序") - @TableField("REC_ORDERS") - private Integer recOrders; - - @Schema(description = "下单时间") - @TableField("ORDER_TIME") - private Date orderTime; - - @Schema(description = "备注") - @TableField("MEMO") - private String memo; - - @Schema(description = "单位工时") - @TableField("UNIT_HOUR") - private BigDecimal unitHour; + @Schema(description = "外协标识") + @TableField("OEM") + private String oem; - @Schema(description = "报工输出") - @TableField("REC_OUT") - private String recOut; + @Schema(description = "OCID") + @TableField("OC_ID") + private Long ocId; - @Schema(description = "预览工单ID") - @TableField("PREVIEW_WP_ID") - private Long previewWpId; + @Schema(description = "上一工单ID") + @TableField("FRONT_WP_ID") + private Long frontWpId; - @Schema(description = "下一个工单ID") + @Schema(description = "下一工单ID") @TableField("NEXT_WP_ID") private Long nextWpId; - @Schema(description = "计划工时") - @TableField("PLAN_TIME") - private BigDecimal planTime; + @Schema(description = "状态") + @TableField("STATUS") + private Integer status; - @Schema(description = "子项物料号") - @TableField("SUB_PI_NO") - private String subPiNo; + @Schema(description = "检验数量") + @TableField("TEST_QTY") + private BigDecimal testQty; - @Schema(description = "外协状态") - @TableField("OEM_STATUS") - private Integer oemStatus; + @Schema(description = "合格数量") + @TableField("QUALIFIED_QTY") + private BigDecimal qualifiedQty; - @Schema(description = "来源") - @TableField("COME_FROM") - private String comeFrom; + @Schema(description = "报废数量") + @TableField("SCRAP_QTY") + private BigDecimal scrapQty; - @Schema(description = "工作中心ID") - @TableField("WC_ID") - private Long wcId; + @Schema(description = "不合格数量") + @TableField("UNQUALIFIED_QTY") + private BigDecimal unqualifiedQty; - @Schema(description = "物料编号") - @TableField("PI_NO") - private String piNo; + @Schema(description = "实际开始时间") + @TableField("FACT_START_TIME") + private Date factStartTime; - @Schema(description = "创建时间") - @TableField("CREATE_TIME") - private Date createTime; + @Schema(description = "实际结束时间") + @TableField("FACT_END_TIME") + private Date factEndTime; + + @Schema(description = "绑定状态") + @TableField("BIND_STATUS") + private Integer bindStatus; - @Schema(description = "更新时间") - @TableField("UPDATE_TIME") - private Date updateTime; + @Schema(description = "加工数量") + @TableField("WORK_QTY") + private BigDecimal workQty; - @Schema(description = "旧状态") - @TableField("OLD_STATUS") - private Integer oldStatus; + @Schema(description = "接收人") + @TableField("RECEIVE_MAN") + private String receiveMan; - @Schema(description = "检验工序") - @TableField("CHECK_PROCESS") - private Integer checkProcess; + @Schema(description = "工时") + @TableField("HOURS") + private BigDecimal hours; - @Schema(description = "超交数量") - @TableField("OVER_QUANTITY") - private BigDecimal overQuantity; + @Schema(description = "CAID") + @TableField("CA_ID") + private Long caId; - @Schema(description = "TOOL库工序计划ID") - @TableField("TOOL_WPP_ID") - private Long toolWppId; + @Schema(description = "打印类型") + @TableField("PRINT_TYPE") + private Integer printType; - @Schema(description = "实际报工工时") - @TableField("ACTURAL_PS_HOUR") - private BigDecimal acturalPsHour; + @Schema(description = "辅助班组") + @TableField("SUBSIDIARY_TEAM") + private String subsidiaryTeam; - @Schema(description = "退回原因") - @TableField("BACK_REASON") - private String backReason; + @Schema(description = "辅助类型") + @TableField("SUB_TYPE") + private String subType; - @Schema(description = "是否跳过") - @TableField("SKIP") - private Integer skip; + @Schema(description = "关键工序") + @TableField("CRUX_PROCESS") + private Integer cruxProcess; - @Schema(description = "待排标识") - @TableField("WAITING_FLAG") - private Integer waitingFlag; + @Schema(description = "损耗数量") + @TableField("LOSS_QTY") + private BigDecimal lossQty; - @Schema(description = "待排操作人") - @TableField("WAITING_FLAG_MAN") - private String waitingFlagMan; + @Schema(description = "工单金额") + @TableField("WP_MONEY") + private BigDecimal wpMoney; - @Schema(description = "调整排产人") - @TableField("ADJUST_SCHEDULE_MAN") - private String adjustScheduleMan; + @Schema(description = "图纸") + @TableField("PAPERS") + private String papers; - @Schema(description = "调整排产时间") - @TableField("ADJUST_SCHEDULE_DATE") - private Date adjustScheduleDate; + @Schema(description = "参考文件") + @TableField("REFERENCE_FILE") + private String referenceFile; - @Schema(description = "自动生产标识") - @TableField("AUTO_PRODUCTION") - private Integer autoProduction; + @Schema(description = "创建时间") + @TableField("CREATE_TIME") + private Date createTime; - @Schema(description = "设备面") - @TableField("MAC_SURFACE") - private String macSurface; + @Schema(description = "维修编号") + @TableField("WX_NO") + private String wxNo; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrYieldOrder.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrYieldOrder.java index 70ee60fa..4bf3fbda 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrYieldOrder.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrYieldOrder.java @@ -154,14 +154,6 @@ public class PrYieldOrder implements Serializable { @TableField("RECSEQNO") private String recseqno; - @Schema(description = "推车ID") - @TableField("CART_ID") - private Long cartId; - - @Schema(description = "工艺ID") - @TableField("CRAFTID") - private Long craftid; - @Schema(description = "工艺ID") @TableField("CRAFT_ID") private Long craftId; 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 00925ccc..af453204 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 @@ -12,6 +12,8 @@ import lombok.extern.slf4j.Slf4j; import org.springblade.common.exception.BusinessException; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.CenterTeam; +import org.springblade.desk.basic.service.ICenterTeamService; import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity; import org.springblade.desk.dashboard.service.IBsWorkCenterService; import org.springblade.desk.logistics.enums.DistinguishRegionsEnum; @@ -115,6 +117,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { * 工位服务:提供工位基础信息查询 */ private final IBsWorkCenterService bsWorkCenterService; + private final ICenterTeamService iCenterTeamService; /** * 任务执行记录服务:处理AGV调度任务的生成与执行 @@ -148,7 +151,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { IStationService stationService, ILocationService locationService, AgvTaskTypeUtil agvTaskTypeUtil, - IBsWorkCenterService bsWorkCenterService, + IBsWorkCenterService bsWorkCenterService, ICenterTeamService iCenterTeamService, ITaskExecuteRecordService taskExecuteRecordService, IWorkOrderService workOrderService, IWorkPlanService workPlanService, IPrWorkPlanService prWorkPlanService, IPrWorkOrderService prWorkOrderService, IStationCenterService stationCenterService, IPrYieldOrderService prYieldOrderService) { this.yieldOrderService = yieldOrderService; this.taskService = taskService; @@ -157,6 +160,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { this.locationService = locationService; this.agvTaskTypeUtil = agvTaskTypeUtil; this.bsWorkCenterService = bsWorkCenterService; + this.iCenterTeamService = iCenterTeamService; this.taskExecuteRecordService = taskExecuteRecordService; this.workOrderService = workOrderService; this.workPlanService = workPlanService; @@ -245,7 +249,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { // 1. 查询空闲状态的站点 - List freeStationList = stationService.getStatusStationList(STATUS_FREE, true,null, CONVEYOR_LINE_RECEIVE_ONLY, false); + List freeStationList = stationService.getStatusStationList(STATUS_FREE, true, null, CONVEYOR_LINE_RECEIVE_ONLY, false); // 2. 构建返回列表(默认添加输送线回库选项) List resultList = new ArrayList<>(); BsWorkCenterVO conveyorVO = new BsWorkCenterVO(); @@ -376,7 +380,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { // 5. 设置结束工位ID并处理不同回库类型 Long endWcId = returnToWarehouseDto.getEndWcId(); task.setWcId(endWcId); - if (returnToWarehouseDto.getStationRegion()!=null) { + if (returnToWarehouseDto.getStationRegion() != null) { task.setStationRegion(returnToWarehouseDto.getStationRegion()); } if (endWcId == 0) { @@ -462,32 +466,32 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { BsWorkCenterEntity workCenter = bsWorkCenterService.getById(wcID); LinkedHashMap map = new LinkedHashMap<>(); - map.put("wcId",wcID); + map.put("wcId", wcID); if (DistinguishRegionsEnum.includeByWcName(workCenter.getWcName())) { 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 { + 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 (list1!=null&&list1.size()!=0) { - useDept= list1.get(0).getUseDept(); + if (list1 != null && list1.size() != 0) { + useDept = list1.get(0).getUseDept(); } } 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 { - List freeStationList = stationService.getStatusStationList(null, false,wcID, STATION_RECEIVE_ONLY, false); - map.put("stationRegion",freeStationList.get(0).getStationRegion()); + if (logisticsAnagementRegion != null) { + map.put("stationRegion", logisticsAnagementRegion); + } else { + List freeStationList = stationService.getStatusStationList(null, false, wcID, STATION_RECEIVE_ONLY, false); + map.put("stationRegion", freeStationList.get(0).getStationRegion()); } - }else { - List statusStationList = stationService.getStatusStationList(null, true,wcID, CONVEYOR_LINE_RECEIVE_ONLY, false); - map.put("stationRegion",statusStationList.get(0).getStationRegion()); + } else { + List statusStationList = stationService.getStatusStationList(null, true, wcID, CONVEYOR_LINE_RECEIVE_ONLY, false); + map.put("stationRegion", statusStationList.get(0).getStationRegion()); } return R.data(map); } @@ -714,20 +718,20 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { // 1. 尝试分配空闲站点 List freeStationList = null; if (agvSend) { - freeStationList = stationService.getStatusStationList(STATUS_FREE, true,task.getWcId(), CONVEYOR_LINE_RECEIVE_ONLY, false); + freeStationList = stationService.getStatusStationList(STATUS_FREE, true, task.getWcId(), CONVEYOR_LINE_RECEIVE_ONLY, false); } else { - freeStationList = stationService.getStatusStationList(STATUS_FREE, true,task.getWcId(), STATION_RECEIVE_ONLY, false); + freeStationList = stationService.getStatusStationList(STATUS_FREE, true, task.getWcId(), STATION_RECEIVE_ONLY, false); } String wcName = bsWorkCenterService.getById(task.getWcId()).getWcName(); - if (freeStationList!=null&&freeStationList.size()!=0) { + if (freeStationList != null && freeStationList.size() != 0) { //判断是不是镀后库作业中心 - if (DistinguishRegionsEnum.includeByWcName(wcName)&&!agvSend) { + if (DistinguishRegionsEnum.includeByWcName(wcName) && !agvSend) { log.info("是读后库"); - freeStationList=freeStationList.stream().filter(s->s.getStationRegion().equals(task.getStationRegion())).toList(); + freeStationList = freeStationList.stream().filter(s -> s.getStationRegion().equals(task.getStationRegion())).toList(); } } - if (freeStationList!=null&&freeStationList.size()!=0) { + if (freeStationList != null && freeStationList.size() != 0) { StationVO station = null; station = freeStationList.get(0); task.setStationId(station.getId()); @@ -893,7 +897,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { // 异常处理:回滚任务 taskService.removeById(task); List stationList = stationService.list(new LambdaQueryWrapper().eq(Station::getId, task.getStationId())); - if (stationList!=null&&stationList.size()!=0) { + if (stationList != null && stationList.size() != 0) { stationList.get(0).setStationStatus(STATUS_FREE); stationService.updateById(stationList.get(0)); } @@ -1068,7 +1072,7 @@ 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) { + if (yieldOrderList != null && yieldOrderList.size() != 0) { String code = DistinguishRegionsEnum.wcNameByCode(workCenter.getWcName()); String logisticsAnagementRegion = DictCache.getValue(code, yieldOrderList.get(0).getUseDept()); if (!logisticsAnagementRegion.isEmpty()) { @@ -1078,7 +1082,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { } List yieldOrderList1 = prYieldOrderService.list(new LambdaQueryWrapper().eq(PrYieldOrder::getCardNo, orderList.get(0).getCardNo())); - if (yieldOrderList1!=null&&yieldOrderList1.size()!=0) { + if (yieldOrderList1 != null && yieldOrderList1.size() != 0) { String code = DistinguishRegionsEnum.wcNameByCode(workCenter.getWcName()); String logisticsAnagementRegion = DictCache.getValue(code, yieldOrderList1.get(0).getUseDept()); if (!logisticsAnagementRegion.isEmpty()) { @@ -1100,7 +1104,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { List stationIdList = stationCenterList.stream().map(s -> s.getStationId()).toList(); List stationList = stationService.list(new LambdaQueryWrapper().in(Station::getId, stationIdList)); List list = stationList.stream().map(s -> s.getStationRegion()).distinct().toList(); - if (list.size()==1) { + if (list.size() == 1) { detailsVO.setStationRegion(stationList.get(0).getStationRegion()); } @@ -1191,9 +1195,9 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { @Override public R getStationRegion() { - List freeStationList = stationService.getStatusStationList(STATUS_FREE,false, null, CONVEYOR_LINE_RECEIVE_ONLY, false); + List freeStationList = stationService.getStatusStationList(STATUS_FREE, false, null, CONVEYOR_LINE_RECEIVE_ONLY, false); - if (freeStationList==null||freeStationList.size()==0) { + if (freeStationList == null || freeStationList.size() == 0) { return R.fail("没有占用区域"); } List stationRegionList = freeStationList.stream().map(StationVO::getStationRegion).distinct().toList(); @@ -1201,7 +1205,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { for (String stationRegion : stationRegionList) { StationRegionVo stationRegionVo = new StationRegionVo(); stationRegionVo.setStationRegion(stationRegion); - List stationList = freeStationList.stream().filter(s -> stationRegion!=null&&s.getStationRegion()!=null&&stationRegion.equals(s.getStationRegion())).map(StationVO::getStationCode).distinct().collect(Collectors.toUnmodifiableList()); + List stationList = freeStationList.stream().filter(s -> stationRegion != null && s.getStationRegion() != null && stationRegion.equals(s.getStationRegion())).map(StationVO::getStationCode).distinct().collect(Collectors.toUnmodifiableList()); stationRegionVo.setStationCodeList(stationList); list.add(stationRegionVo); } @@ -1210,8 +1214,6 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { } - - @Override /** * 箱条码绑定主入口 @@ -1311,15 +1313,16 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { private R checkOrderWorkCenterConsistency(String orderCardNo, Long currentWcId) { // ====================== 处理标准工单 ====================== 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 + "车间订单异常"); @@ -1330,17 +1333,40 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { // 根据工序状态判断使用当前工序还是下一道工序 if (workPlan.getStatus() < 3) { - workCenterId = workPlan.getWorkCenterId(); +// 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 + "车间下一工序订单异常"); } - workCenterId = nextWorkPlanList.get(0).getWorkCenterId(); + 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); @@ -1348,12 +1374,14 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { // ====================== 处理PR工单 ====================== List prWorkOrderList = prWorkOrderService.lambdaQuery() + .select(PrWorkOrder::getWpId) .eq(PrWorkOrder::getCardNo, orderCardNo) .list(); if (prWorkOrderList != null && !prWorkOrderList.isEmpty()) { PrWorkOrder prWorkOrder = prWorkOrderList.get(0); List workPlanList = prWorkPlanService.lambdaQuery() + .select(PrWorkPlan::getStatus, PrWorkPlan::getNextWpId, PrWorkPlan::getWpId, PrWorkPlan::getMakeTeam) .eq(PrWorkPlan::getWpId, prWorkOrder.getWpId()) .list(); @@ -1364,17 +1392,41 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { PrWorkPlan workPlan = workPlanList.get(0); Long workCenterId; - if (workPlan.getCurStatus() < 3) { - workCenterId = workPlan.getWcId(); + if (workPlan.getStatus() < 3) { + 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 = prWorkPlanService.lambdaQuery() + .select(PrWorkPlan::getStatus, PrWorkPlan::getNextWpId, PrWorkPlan::getWpId, PrWorkPlan::getMakeTeam) .eq(PrWorkPlan::getWpId, workPlan.getNextWpId()) .list(); if (nextWorkPlanList == null || nextWorkPlanList.isEmpty()) { return R.fail(orderCardNo + "车间订单异常"); } - workCenterId = nextWorkPlanList.get(0).getWcId(); + workPlan = nextWorkPlanList.get(0); + 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(); + } + } } return validateWorkCenter(orderCardNo, currentWcId, workCenterId); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StationServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StationServiceImpl.java index 47b5af6c..92a1109e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StationServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StationServiceImpl.java @@ -102,6 +102,9 @@ public class StationServiceImpl extends BaseServiceImpl // 合并数据:除wcId和wcName外其他字段相同的记录,wcName用顿号拼接 List mergedList = mergeStationList(stationList); + // 更新 total 为合并后的实际记录数 + page.setTotal(mergedList.size()); + return page.setRecords(mergedList); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml index 324964f1..fded8ab3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkPlanMapper.xml @@ -228,9 +228,14 @@ select * from MES_WORK_ORDER a inner join MES_YIELD_ORDER b on a.yo_id = b.id and a.yo_id = #{yoId} + + + + + +