diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorSlotListVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorSlotListVO.java index 87543dc0..d1b3fe0e 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorSlotListVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorSlotListVO.java @@ -51,5 +51,7 @@ public class ProduceMonitorSlotListVO { @Schema(description = "订单类型") private String yieldType;; + @Schema(description = "作业计划ID") + private Long wpId; } \ No newline at end of file diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanLoadVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanLoadVO.java index 2ca49194..b4543705 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanLoadVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/WorkPlanLoadVO.java @@ -121,16 +121,16 @@ public class WorkPlanLoadVO { @Schema(description = "当前工序加工班组") public String currentMakeTeam; - @Schema(description = "上序名称") - public String frontWpTitle; - - @Schema(description = "上序加工班组") - public String frontMakeTeam; - - @Schema(description = "下序名称") - public String nextWpTitle; - - @Schema(description = "下序加工班组") - public String nextMakeTeam; +// @Schema(description = "上序名称") +// public String frontWpTitle; +// +// @Schema(description = "上序加工班组") +// public String frontMakeTeam; +// +// @Schema(description = "下序名称") +// public String nextWpTitle; +// +// @Schema(description = "下序加工班组") +// public String nextMakeTeam; } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml index 45060d28..013bfa67 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml @@ -37,13 +37,13 @@ - + SELECT + d.ROAM_NO_NEXT AS nextRoam, + d.YO_CODE AS yoCode, + d.YP_CODE AS ypCode, + d.PART_CODE AS partCode, + d.PRODUCT_TYPE AS productType, + d.PART_NAME AS partName, + d.PLATE AS plate, + d.PRODUCT_IDENT AS prodIdent, + d.USE_DEPT AS useDept, + d.YP_AREA AS poArea, + d.DEMAND_DATE AS demandDate, + d.PLAN_USER AS planUser, + d.RELEASE_DATE AS releaseDate, + d.PRIMARY_CRAFT AS primaryCraft, + c.CARD_NO AS cardNo, + c.BATCH_NO AS batchNo, + c.WO_CODE AS woCode, + a.QUALIFIED_QTY AS makeQty, + a.QUALIFIED_QTY - a.WORK_QTY - a.SCRAP_QTY AS notWorkQty, + a.WORK_QTY AS workQty, + a.SCRAP_QTY AS scrapQty, + c.PLAN_START_TIME AS planStartTime, + c.PLAN_END_TIME AS planEndTime, + c.INVENTORY_QTY AS inventoryQty, + c.MAKE_QTY - c.INVENTORY_QTY AS notInQty, + c.RUN_STATUS AS runStatus, + a.STATUS AS status, + c.PRIORITY AS priority, + c.PICKING_STATUS AS pickingStatus, + a.ORDERS || '|' || bps.NAME AS currentWpTitle, + bts.TS_NAME AS currentMakeTeam, + a.ID AS wpId, + a.ID AS currentWpId + FROM mes_work_plan a INNER JOIN mes_WORK_ORDER c ON a.wo_id = c.ID INNER JOIN mes_YIELD_ORDER d ON c.yo_id = d.ID LEFT JOIN mes_work_plan b ON a.front_wp_id = b.ID + LEFT JOIN BS_PROCESS_SET bps ON a.PPS_ID = bps.ID + LEFT JOIN BS_TEAM_SET bts ON a.MAKE_TEAM = bts.ID WHERE ((a.front_wp_id IS NULL AND a.status = 1) OR (b.status = 3)) - AND a.make_team IN - + AND ((a.make_team IN + #{tsId} - AND a.subsidiary_team IS NULL AND c.run_status >= 2 AND c.run_status < 15 AND c.id = #{id} - UNION - SELECT a.* FROM mes_work_plan a - INNER JOIN mes_WORK_ORDER c ON a.wo_id = c.ID - INNER JOIN mes_YIELD_ORDER d ON c.yo_id = d.ID - LEFT JOIN mes_work_plan b ON a.front_wp_id = b.ID - WHERE ((a.front_wp_id IS NULL AND a.status = 1) OR (b.status = 3)) - AND a.subsidiary_team IN - + AND a.subsidiary_team IS NULL) OR a.subsidiary_team IN + #{tsId} - AND c.run_status >= 2 AND c.run_status < 15 AND c.id = #{id} + ) AND c.run_status >= 2 AND c.run_status < 15 AND c.id = #{id} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java index b4cee02f..09f41511 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MakeRecServiceImpl.java @@ -30,6 +30,7 @@ import org.springblade.desk.produce.pojo.dto.MakeRecDTO; import org.springblade.desk.produce.pojo.dto.RetrospectDefendDTO; import org.springblade.desk.produce.pojo.dto.WorkPlanDto; import org.springblade.desk.produce.pojo.entity.*; +import org.springblade.desk.produce.pojo.enums.WorkOrderEnum; import org.springblade.desk.produce.pojo.vo.MesMakeRecVO; import org.springblade.desk.produce.pojo.vo.WorkPlanLoadVO; import org.springblade.desk.produce.service.*; @@ -81,15 +82,15 @@ public class MakeRecServiceImpl extends BaseServiceImpl @Override public WorkPlanDto loadCurrentWp(String cardNo) { - WorkOrder wo= workOrderMapper.getWorkOrderByCardNo(cardNo, (short) 0); + WorkOrder wo = workOrderMapper.getWorkOrderByCardNo(cardNo, (short) 0); if (wo == null) { throw new ServiceException("pda.prWorkOrder.absent"); } if (!WorkOrder.RUN_STATUS_RECEIVE.equals(wo.getRunStatus())) { - throw new ServiceException("pda.prWorkOrder.runStatus"+wo.getRunStatus()); + throw new ServiceException("pda.prWorkOrder.runStatus" + wo.getRunStatus()); } //验证当前当前登陆人是否可以填写加工记录 - WorkPlan wp =workPlanMapper.selectById(wo.getWpId()); + WorkPlan wp = workPlanMapper.selectById(wo.getWpId()); if (!WorkPlan.STATUS_START.equals(wp.getStatus())) { throw new ServiceException("product.prWorkPlan.workOk"); @@ -102,12 +103,12 @@ public class MakeRecServiceImpl extends BaseServiceImpl isBinging = true; } YieldOrder yieldOrder = yieldOrderService.getById(wo.getYoId()); - return WorkPlanDto.builder().workPlan(wp).workOrder( wo).yieldOrder(yieldOrder).isBinging(isBinging).build(); + return WorkPlanDto.builder().workPlan(wp).workOrder(wo).yieldOrder(yieldOrder).isBinging(isBinging).build(); } @Override public void saveMakeRec(MakeRecDTO makeRecDTO) { - WorkPlan wp= workPlanMapper.selectById(makeRecDTO.getWpId()); + WorkPlan wp = workPlanMapper.selectById(makeRecDTO.getWpId()); if (!WorkPlan.STATUS_START.equals(wp.getStatus())) { throw new ServiceException("product.prWorkPlan.workOk"); } @@ -121,19 +122,19 @@ public class MakeRecServiceImpl extends BaseServiceImpl throw new ServiceException("product.prWorkPlan.not.bing.bsRackSet"); } // 如果上序是上挂工序、并且本序是主工序,则代表本序是 需要绑定飞靶及设备的工序 或者手动维护生产追溯信息 - }else if(wp.getFrontWpId()!=null&&dsProcess.getProcessName().equals("上挂")&&wp.getCruxProcess().equals("是")){ + } else if (wp.getFrontWpId() != null && dsProcess.getProcessName().equals("上挂") && wp.getCruxProcess().equals("是")) { mtu = macToolUseService.getOne(Wrappers.lambdaQuery().eq(MacToolUse::getWpId, wp.getId()) .isNotNull(MacToolUse::getBsRackSet).isNotNull(MacToolUse::getBsFeiBaSet).isNotNull(MacToolUse::getEquipmentCard)); if (mtu == null) { // 验证是否维护了生产追溯信息 - List mtnCodeList=macToolUseService.listObjs(Wrappers.lambdaQuery().eq(MacToolUse::getWpId, wp.getId()).select(MacToolUse::getMtnCode)); + List mtnCodeList = macToolUseService.listObjs(Wrappers.lambdaQuery().eq(MacToolUse::getWpId, wp.getId()).select(MacToolUse::getMtnCode)); List qcProduceRunList = mesQcProduceRunService.list(Wrappers.lambdaQuery() - .in(MesQcProduceRunEntity::getMtnCode,mtnCodeList)); + .in(MesQcProduceRunEntity::getMtnCode, mtnCodeList)); if (!(qcProduceRunList != null && qcProduceRunList.size() > 0)) { throw new ServiceException("product.prWorkPlan.not.bing"); } } - }else if (dsProcess.getProcessName().contains("镀金")) { + } else if (dsProcess.getProcessName().contains("镀金")) { mtu = macToolUseService.getOne(Wrappers.lambdaQuery().eq(MacToolUse::getWpId, wp.getId()) .isNotNull(MacToolUse::getBsFeiBaSet)); if (mtu == null) { @@ -144,21 +145,21 @@ public class MakeRecServiceImpl extends BaseServiceImpl .isNotNull(MacToolUse::getBsRackSet).isNotNull(MacToolUse::getBsFeiBaSet).isNotNull(MacToolUse::getEquipmentCard)); if (mtu == null) { List produceRunList = null; - List mtnCodeList=macToolUseService.listObjs(Wrappers.lambdaQuery() - .eq(MacToolUse::getWpId, wp.getId()).eq(MacToolUse::getMtuIndex,1).select(MacToolUse::getMtnCode)); + List mtnCodeList = macToolUseService.listObjs(Wrappers.lambdaQuery() + .eq(MacToolUse::getWpId, wp.getId()).eq(MacToolUse::getMtuIndex, 1).select(MacToolUse::getMtnCode)); produceRunList = mesQcProduceRunService.list(Wrappers.lambdaQuery() - .in(MesQcProduceRunEntity::getMtnCode,mtnCodeList).ne(MesQcProduceRunEntity::getWorkSlot, "烘箱")); + .in(MesQcProduceRunEntity::getMtnCode, mtnCodeList).ne(MesQcProduceRunEntity::getWorkSlot, "烘箱")); if (produceRunList == null || produceRunList.size() == 0) { - List mtnCodeList2=macToolUseService.listObjs(Wrappers.lambdaQuery() - .eq(MacToolUse::getWpId, wp.getId()).eq(MacToolUse::getMtuIndex,2).select(MacToolUse::getMtnCode)); + List mtnCodeList2 = macToolUseService.listObjs(Wrappers.lambdaQuery() + .eq(MacToolUse::getWpId, wp.getId()).eq(MacToolUse::getMtuIndex, 2).select(MacToolUse::getMtnCode)); produceRunList = mesQcProduceRunService.list(Wrappers.lambdaQuery() - .in(MesQcProduceRunEntity::getMtnCode,mtnCodeList2).ne(MesQcProduceRunEntity::getWorkSlot, "烘箱")); + .in(MesQcProduceRunEntity::getMtnCode, mtnCodeList2).ne(MesQcProduceRunEntity::getWorkSlot, "烘箱")); } if (!(produceRunList != null && produceRunList.size() > 0)) { throw new ServiceException("未绑定飞跋和设备或未维护生产追溯信息!!!"); } } - }else if (dsProcess.getProcessName().equals("玻璃封接清洗") || dsProcess.getProcessName().equals("玻璃封接退火") || + } else if (dsProcess.getProcessName().equals("玻璃封接清洗") || dsProcess.getProcessName().equals("玻璃封接退火") || dsProcess.getProcessName().equals("玻璃封接预氧化(箱式炉)") || dsProcess.getProcessName().equals("玻璃封接预氧化(链式炉)") || dsProcess.getProcessName().equals("玻璃封接(链式炉)") || dsProcess.getProcessName().equals("玻璃封接(真空炉)") || dsProcess.getProcessName().equals("玻璃封接灌胶") || dsProcess.getProcessName().equals("玻璃饼压制") || @@ -174,10 +175,10 @@ public class MakeRecServiceImpl extends BaseServiceImpl if (mtu == null) { // 验证是否维护了生产追溯信息 List qcProduceRunList = null; - List mtnCodeList=macToolUseService.listObjs(Wrappers.lambdaQuery() + List mtnCodeList = macToolUseService.listObjs(Wrappers.lambdaQuery() .eq(MacToolUse::getWpId, wp.getId()).select(MacToolUse::getMtnCode)); qcProduceRunList = mesQcProduceRunService.list(Wrappers.lambdaQuery() - .in(MesQcProduceRunEntity::getMtnCode,mtnCodeList)); + .in(MesQcProduceRunEntity::getMtnCode, mtnCodeList)); if (!(qcProduceRunList != null && qcProduceRunList.size() > 0)) { throw new ServiceException("product.prWorkPlan.not.bing"); } @@ -188,16 +189,16 @@ public class MakeRecServiceImpl extends BaseServiceImpl if (!aBoolean) { throw new ServiceException("生产记录未填写完整,不允许报工!!!!"); } - MakeRec mr= new MakeRec(); - BeanUtils.copyProperties(makeRecDTO,MakeRec.class); + MakeRec mr = new MakeRec(); + BeanUtils.copyProperties(makeRecDTO, MakeRec.class); mr.setWpId(wp.getId()); mr.setWorker(makeRecDTO.getWorker()); mr.setMakeTime(new Date()); - baseMapper.insertOrUpdate( mr); + baseMapper.insertOrUpdate(mr); if (mr.getScrapQty() > 0) { wp.setScrapQty(wp.getScrapQty() + mr.getScrapQty()); - WorkOrder wo= null;//workOrderService.getById(wp.getWoId()); - wo.setMakeQty(wo.getMakeQty() - mr.getScrapQty()); + WorkOrder wo = null;//workOrderService.getById(wp.getWoId()); + wo.setMakeQty(wo.getMakeQty() - mr.getScrapQty()); } wp.setWorkQty(wp.getWorkQty() + mr.getWorkQty()); if (wp.getQualifiedQty().equals(wp.getScrapQty() + wp.getWorkQty())) { @@ -232,7 +233,7 @@ public class MakeRecServiceImpl extends BaseServiceImpl mesQcProduceRunService.save(qcProduceRun); } // 保存引用文件或版本号 - WorkOrder prWorkOrder =null; //workOrderService.getById(wp.getWoId()); + WorkOrder prWorkOrder = null; //workOrderService.getById(wp.getWoId()); if (prWorkOrder != null && prWorkOrder.getId() != null) { YieldOrder pjYieldOrder = yieldOrderService.getById(prWorkOrder.getYoId()); if (pjYieldOrder != null && pjYieldOrder.getId() != null) { @@ -244,18 +245,18 @@ public class MakeRecServiceImpl extends BaseServiceImpl .eq(AuditFile::getPpsId, procedureSet.getId())); } else { // 如果不是优先判断是否有生产标识 - String prodIdent = pjYieldOrder.getProductIdent() ; + String prodIdent = pjYieldOrder.getProductIdent(); BsTeamSetEntity bsTeamSet = teamSetService.getOne(Wrappers.lambdaQuery() .eq(BsTeamSetEntity::getId, wp.getMakeTeam())); if (!"AH".equals(prodIdent)) { prodIdent = null; } if (bsTeamSet != null && bsTeamSet.getId() != null) { - // BsCenterTeamEntity bsCenterTeam = bsCenterTeamService.getByTsId(bsTeamSet.getTsId()); + // BsCenterTeamEntity bsCenterTeam = bsCenterTeamService.getByTsId(bsTeamSet.getTsId()); DsPartEntity dsPart = partService.getOne(Wrappers.lambdaQuery().eq(DsPartEntity::getPartCode, pjYieldOrder.getPartCode())); String productApparea = null; - if (dsPart!=null && dsPart.getId()!=null){ - productApparea = dsPart.getProductSeries() ; + if (dsPart != null && dsPart.getId() != null) { + productApparea = dsPart.getProductSeries(); } // if (productApparea!=null){ // dsAuditFile = dsAuditFileDao.getDataByPpsIdAndApparea(procedureSet.getPpsId(), bsCenterTeam.getBsWorkCenter().getWcId(),productApparea); @@ -273,7 +274,7 @@ public class MakeRecServiceImpl extends BaseServiceImpl // 2025-07-23 线上迁移修改 MacToolUse macToolUse = macToolUseService.getOne(Wrappers.lambdaQuery() .eq(MacToolUse::getWpId, wp.getId())); - if (macToolUse != null && macToolUse.getRfpId() != null && macToolUse.getFinished()!=1) { + if (macToolUse != null && macToolUse.getRfpId() != null && macToolUse.getFinished() != 1) { macToolUse.setFinished(1); String deviceCode = macToolUse.getEquipmentCard() != null ? macToolUse.getMtnCode() : ""; log.info("修改设备绑定状态:设备编号:{},批次号:{},槽号:{},方法名:addMakeRec(),{}", deviceCode, macToolUse.getHangNum(), macToolUse.getMtnCode(), macToolUse.getFinished()); @@ -290,29 +291,27 @@ public class MakeRecServiceImpl extends BaseServiceImpl @Override public List loadNotReceived(String cardNo) { - List tsIds = relTeamSetUserService.list(Wrappers.lambdaQuery(RelTeamSetUser.class).eq(RelTeamSetUser::getUserId, AuthUtil.getUserId())).stream().map(RelTeamSetUser::getTeamSetId).collect(Collectors.toList()); + List tsIds = relTeamSetUserService.list(Wrappers.lambdaQuery(RelTeamSetUser.class).eq(RelTeamSetUser::getUserId, 1297)).stream().map(RelTeamSetUser::getTeamSetId).collect(Collectors.toList()); List rtnList = new ArrayList<>(); if (CollectionUtils.isEmpty(tsIds)) { return rtnList; } WorkOrder wo = workOrderMapper.getWorkOrderByCardNo(cardNo, (short) 0); Optional.ofNullable(wo).orElseThrow(() -> new ServiceException("车间订单不存在!")); -// List wpList= workPlanMapper.selectList(Wrappers.lambdaQuery().eq(WorkPlan::getWoId, wo.getId()).in(WorkPlan::getMakeTeam, tsIds)); - List wpList= workPlanMapper.loadNotReceived(tsIds,wo.getId()); - if (CollectionUtils.isNotEmpty(wpList)) { - rtnList = wpList.stream().map(wp -> { - WorkPlanLoadVO wpLoad = new WorkPlanLoadVO(); - BeanUtils.copyProperties(wp, wpLoad); - return wpLoad; - }).collect(Collectors.toList()); + List wpList = workPlanMapper.loadNotReceived(tsIds, wo.getId()); + for (WorkPlanLoadVO workPlanLoadVO : wpList) { + workPlanLoadVO.setRunStatusTitle(WorkOrderEnum.getName(workPlanLoadVO.getRunStatus())); + workPlanLoadVO.setPriorityTitle(WorkOrder.priorityMap.get(workPlanLoadVO.getPriority())); + workPlanLoadVO.setPickingStatusTitle(WorkOrder.pickingStatusMap.get(workPlanLoadVO.getPickingStatus())); + workPlanLoadVO.setIsBing(0); } - return rtnList; + return wpList; } @Override public List afterPlaReceive(String cardNo) { WorkOrder wo = workOrderMapper.getWorkOrderByCardNo(cardNo, (short) 0); - List wpList= workPlanMapper.selectList(Wrappers.lambdaQuery() + List wpList = workPlanMapper.selectList(Wrappers.lambdaQuery() .eq(WorkPlan::getWoId, wo.getId())); return wpList; } @@ -330,13 +329,13 @@ public class MakeRecServiceImpl extends BaseServiceImpl prWorkPlan.setPrintType((short) 1); if (prWorkPlan.getStatus().equals(WorkPlan.STATUS_START)) { - throw new ServiceException("流程卡为 " + prWorkPlan.getCaId()+ " 的订单对应的工序不在加工中暂时不可再维护!"); + throw new ServiceException("流程卡为 " + prWorkPlan.getCaId() + " 的订单对应的工序不在加工中暂时不可再维护!"); } // 查询自动生产追溯是否已经开始 - List mtnCodeList=macToolUseService.listObjs(Wrappers.lambdaQuery() - .eq(MacToolUse::getWpId, wpId).eq(MacToolUse::getMtuIndex,2).select(MacToolUse::getMtnCode)); + List mtnCodeList = macToolUseService.listObjs(Wrappers.lambdaQuery() + .eq(MacToolUse::getWpId, wpId).eq(MacToolUse::getMtuIndex, 2).select(MacToolUse::getMtnCode)); produceRunList = mesQcProduceRunService.list(Wrappers.lambdaQuery() - .in(MesQcProduceRunEntity::getMtnCode,mtnCodeList).ne(MesQcProduceRunEntity::getWorkSlot, "烘箱")); + .in(MesQcProduceRunEntity::getMtnCode, mtnCodeList).ne(MesQcProduceRunEntity::getWorkSlot, "烘箱")); // 上线前 没有生产追溯数据 if (retrospectDefendDTO.getLine().equals(Boolean.TRUE)) { if (produceRunList != null && produceRunList.size() > 0) { @@ -348,8 +347,8 @@ public class MakeRecServiceImpl extends BaseServiceImpl throw new ServiceException("流程卡为 " + prWorkPlan.getId() + " 的订单对应的工序还未下线,不可再维护!"); } MacToolUse macToolUse = macToolUseService.getOne(Wrappers.lambdaQuery().eq(MacToolUse::getWpId, wpId) - .eq(MacToolUse::getMtuIndex,2)); - if (macToolUse != null && macToolUse.getRfpId() != null && macToolUse.getFinished()!=1) { + .eq(MacToolUse::getMtuIndex, 2)); + if (macToolUse != null && macToolUse.getRfpId() != null && macToolUse.getFinished() != 1) { macToolUse.setFinished(1); String deviceCode = macToolUse.getEquipmentCard() != null ? macToolUse.getMtnCode() : ""; log.info("修改设备绑定状态:设备编号:{},批次号:{},槽号:{},方法名:saveRetrospectDefend(),{}", deviceCode, macToolUse.getHangNum(), macToolUse.getMtnCode(), macToolUse.getFinished()); @@ -370,7 +369,7 @@ public class MakeRecServiceImpl extends BaseServiceImpl prMacToolUse.setMtnCode(code); prMacToolUse.setMtuIndex(String.valueOf(retrospectDefendDTO.getLine() ? 1 : 3)); macToolUseService.save(prMacToolUse); - String deviceCode = prMacToolUse.getEquipmentCard() != null ? prMacToolUse.getMtnCode(): ""; + String deviceCode = prMacToolUse.getEquipmentCard() != null ? prMacToolUse.getMtnCode() : ""; log.info("修改设备绑定状态:设备编号:{},批次号:{},槽号:{},方法名:saveRetrospectDefend(),{}", deviceCode, prMacToolUse.getHangNum(), prMacToolUse.getMtnCode(), prMacToolUse.getFinished()); } }