diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java index 74fb8390..f121d8e7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java @@ -80,4 +80,6 @@ public interface IMacToolUseService extends BaseService { * 获取设备所需参数 */ void setSjDataCapture(MesQcProduceRunEntity qcProduceRun, Boolean aTrue); + + List listMacToolUse(Long id, boolean b); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java index b93f6f2a..67f98dac 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java @@ -341,6 +341,11 @@ public class MacToolUseServiceImpl extends BaseServiceImpl listMacToolUse(Long id, boolean b) { + return this.list(Wrappers.lambdaQuery(MacToolUse.class).eq(MacToolUse::getWpId, id).eq(b, MacToolUse::getFinished, 0).orderByAsc(MacToolUse::getMtnCode)); + } + private Double setMaxHeat(Map eUMap, JSONObject jsonObject, Double heat) { if (eUMap.get(heat1) != null) { if (jsonObject.getString(eUMap.get(heat1).getString("attrCode")) != null && Double.valueOf(jsonObject.getString(eUMap.get(heat1).getString("attrCode"))) > heat) { 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 05205b40..17c0c718 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 @@ -1591,6 +1591,53 @@ public class WorkOrderServiceImpl extends BaseServiceImpl mtuLst = macToolUseService.listMacToolUse(frontWorkPlan.getId(), true); + //当前序是下挂的话,解除所有绑定 + if (1045 == workPlan.getPpsId()) { + if (mtuLst != null && !mtuLst.isEmpty()) { + macToolUseService.unMacToolUseBind(mtuLst); + } + } else { + //更改当前序绑定状态为加工中 + workPlan.setBindStatus(WorkPlan.BIND_STATUS_WORK); + //产生同槽号 + String code = null; + if (mtuLst != null && !mtuLst.isEmpty()) { + MacToolUse oldMac = mtuLst.get(0); + if (oldMac.getEquipmentCard() != null) { + code = macToolUseService.nextCode(2); + } else if (oldMac.getBsFeiBaSet() != null) { + code = macToolUseService.nextCode(1); + } else { + code = macToolUseService.nextCode(0); + } + } + //复制上序使用的设备,工装记录 + for (MacToolUse mtu : mtuLst) { + if (mtu != null && "2".equals(mtu.getMtuIndex())) { + MacToolUse newMtu = new MacToolUse(); + newMtu.setWpId(workPlan.getId()); + newMtu.setMtnCode(code); + newMtu.setBsRackSet(mtu.getBsRackSet()); + newMtu.setBsFeiBaSet(mtu.getBsFeiBaSet()); + newMtu.setEquipmentCard(mtu.getEquipmentCard()); + newMtu.setCreateMan(mtu.getCreateMan()); + newMtu.setCreateTime(mtu.getCreateTime()); + newMtu.setFinished(mtu.getFinished()); + macToolUseService.save(newMtu); + //更改绑定记录为结束 + mtu.setFinished(1); + macToolUseService.updateById(mtu); + } + } + } + //更改上序绑定状态为解绑 + frontWorkPlan.setBindStatus(WorkPlan.BIND_STATUS_FREE); + workPlanService.updateById(frontWorkPlan); + } } return true; }