|
@@ -202,101 +202,13 @@ public class ApsServiceImpl implements ApsService {
|
|
|
processes.setProduceOrder(Arrays.asList(new ProduceOrder[]{produceOrder}));
|
|
|
// 判断是否合并生产工序,加工方式是“合并加工”
|
|
|
String productprocess = operationDo.getProcessway();
|
|
|
- // 设备列表
|
|
|
- List<String> optionalEquipments = new ArrayList<>();
|
|
|
- if (StringUtils.isNotBlank(operationDo.getCanchoosedeviceid())) {
|
|
|
- String[] sbIds = operationDo.getCanchoosedeviceid().split(",");
|
|
|
- for (String equIds : sbIds) {
|
|
|
- AspCheckItemsDo checkItemsD = eqMaps.get(equIds);
|
|
|
- if (checkItemsD != null) {
|
|
|
- optionalEquipments.add(equIds);
|
|
|
- List<Equipment> eqpts = equipmentList.stream().filter(v -> v.getId().equals(equIds)).collect(Collectors.toList());
|
|
|
- // 设备集合里不存在时新增
|
|
|
- if (eqpts == null || eqpts.size() == 0) {
|
|
|
- Equipment equipment = new Equipment();
|
|
|
- equipment.setBsEquipmentId(equIds);
|
|
|
- equipment.setId(equIds);
|
|
|
- equipment.setEquipmentName(checkItemsD.getCheckitemname());
|
|
|
- equipment.setWorkshopid(checkItemsD.getUsedeptid());
|
|
|
- equipment.setWorkshopname(checkItemsD.getUsedeptname());
|
|
|
- equipment.setFactoryid(checkItemsD.getTenantid());
|
|
|
- equipment.setFactory(checkItemsD.getOwnedfactory());
|
|
|
- equipment.setEquassociated(checkItemsD.getEquassociated());
|
|
|
- // 查询设备锁定的已排程的时间段
|
|
|
- List<ApsProcessOperationProcessEquDo> processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
- .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
|
|
|
- .ge(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
|
|
|
- .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
- );
|
|
|
- // 查询当前设备最后一个生产任务、连续生产需要考虑使用
|
|
|
- List<ApsProcessOperationProcessEquDo> lastpros = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
- .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
|
|
|
- .gt(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
|
|
|
- .orderByDesc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
- );
|
|
|
- if (lastpros != null && lastpros.size() > 0) {
|
|
|
- ApsProcessOperationProcessEquDo lastpro = lastpros.get(0);
|
|
|
- ApsProcessOperationDo lastop = apsProcessOperationService.getById(lastpro.getProcessid());
|
|
|
- equipment.setLastProcessType(lastop.getProcess());
|
|
|
- equipment.setLastProcessEndTime(lastpro.getPlanenddate());
|
|
|
- equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
|
|
|
- // 合金+输入物料+宽度
|
|
|
- equipment.setLastSeriesProduceMark(lastop.getMetal() + "^_^" + lastop.getPlaninput() + "^_^" + lastop.getProwidth());
|
|
|
- equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
|
|
|
- }
|
|
|
- // 查询相关工序作业
|
|
|
- Set<String> processIds = new HashSet<>();
|
|
|
- if (processEqus != null && processEqus.size() > 0) {
|
|
|
- for (ApsProcessOperationProcessEquDo equs : processEqus) {
|
|
|
- processIds.add(equs.getProcessid());
|
|
|
- }
|
|
|
- List<ApsProcessOperationDo> processOperationDos = null;
|
|
|
- if (processIds.size() > 0) {
|
|
|
- processOperationDos = apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
|
|
|
- .in(ApsProcessOperationDo::getId, processIds));
|
|
|
- }
|
|
|
-
|
|
|
- List<EquipmentRunTime> equipmentRunTimes = new ArrayList<>();
|
|
|
- for (ApsProcessOperationProcessEquDo equs : processEqus) {
|
|
|
- EquipmentRunTime er = new EquipmentRunTime();
|
|
|
- er.setStartRunTime(equs.getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
- er.setEndRunTime(equs.getPlanenddate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
- // 设备占用时间设置连续生产标识,参与排程
|
|
|
- if (processOperationDos != null) {
|
|
|
- List<ApsProcessOperationDo> pos = processOperationDos.stream().filter(v -> v.getId().equals(equs.getProcessid())).collect(Collectors.toList());
|
|
|
- if (pos != null && pos.size() > 0) {
|
|
|
- ApsProcessOperationDo processesDo = pos.get(0);
|
|
|
- er.setProcessType(processesDo.getProcess());
|
|
|
- // 合金+输入物料+宽度
|
|
|
- er.setSeriesProduceMark(operationDo.getMetal() + "^_^" + operationDo.getPlaninput() + "^_^" + operationDo.getProwidth());
|
|
|
- er.setPrepressworkmin(processesDo.getPrepressworkmin() == null ? null : processesDo.getPrepressworkmin().intValue());
|
|
|
- er.setCutfinishmin(processesDo.getCutfinishmin() == null ? null : processesDo.getCutfinishmin().intValue());
|
|
|
- }
|
|
|
- }
|
|
|
- equipmentRunTimes.add(er);
|
|
|
- }
|
|
|
- // 设备日历不可用时间段
|
|
|
- List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
|
|
|
- new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdstarttime, productionScheduleVo.getApsPlanStartDate())
|
|
|
- .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
|
|
|
- if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
|
|
|
- for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
|
|
|
- EquipmentRunTime er = new EquipmentRunTime();
|
|
|
- er.setStartRunTime(equipmentCalendarDo.getSdstarttime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
- er.setEndRunTime(equipmentCalendarDo.getSdendtime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
- equipmentRunTimes.add(er);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- equipment.setEquipmentRunTimes(equipmentRunTimes);
|
|
|
- }
|
|
|
- equipmentList.add(equipment);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ // 根节点判断
|
|
|
+ if(StringUtils.isBlank(operationDo.getPreviousprocessid())){
|
|
|
+ rootOperationDo = operationDo;
|
|
|
}
|
|
|
+ operationMaps.put(operationDo.getId(),operationDo);
|
|
|
+ // 设备列表初始化
|
|
|
+ List<String> optionalEquipments = equipmentListInit(operationDo,equipmentList,eqMaps,blankids,productionScheduleVo);
|
|
|
// 工序作业相关数据初始化
|
|
|
productionProcessesInit(operationDo,produceOrder,optionalEquipments,processesList,operationProductionProcesses);
|
|
|
}
|
|
@@ -313,6 +225,117 @@ public class ApsServiceImpl implements ApsService {
|
|
|
return productionScheduleVo;
|
|
|
}
|
|
|
|
|
|
+ private List<String> equipmentListInit(ApsProcessOperationDo operationDo,List<Equipment> equipmentList,Map<String, AspCheckItemsDo> eqMaps
|
|
|
+ ,List<String> blankids,ProductionScheduleVo productionScheduleVo){
|
|
|
+ // 设备列表
|
|
|
+ List<String> optionalEquipments = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotBlank(operationDo.getCanchoosedeviceid())) {
|
|
|
+ String[] sbIds = operationDo.getCanchoosedeviceid().split(",");
|
|
|
+ for (String equIds : sbIds) {
|
|
|
+ AspCheckItemsDo checkItemsD = eqMaps.get(equIds);
|
|
|
+ if (checkItemsD != null) {
|
|
|
+ optionalEquipments.add(equIds);
|
|
|
+ List<Equipment> eqpts = equipmentList.stream().filter(v -> v.getId().equals(equIds)).collect(Collectors.toList());
|
|
|
+ // 设备集合里不存在时新增
|
|
|
+ if (eqpts == null || eqpts.size() == 0) {
|
|
|
+ Equipment equipment = new Equipment();
|
|
|
+ equipment.setBsEquipmentId(equIds);
|
|
|
+ equipment.setId(equIds);
|
|
|
+ equipment.setEquipmentName(checkItemsD.getCheckitemname());
|
|
|
+ equipment.setWorkshopid(checkItemsD.getUsedeptid());
|
|
|
+ equipment.setWorkshopname(checkItemsD.getUsedeptname());
|
|
|
+ equipment.setFactoryid(checkItemsD.getTenantid());
|
|
|
+ equipment.setFactory(checkItemsD.getOwnedfactory());
|
|
|
+ equipment.setEquassociated(checkItemsD.getEquassociated());
|
|
|
+ // 设备参数
|
|
|
+ EquipmentParameter ep = new EquipmentParameter();
|
|
|
+ ep.setEquipmentWidth(checkItemsD.getEquipmentwidth());
|
|
|
+ ep.setEquipmentBearing(checkItemsD.getEquipmentbearing());
|
|
|
+ equipment.setEquipmentParameter(ep);
|
|
|
+ // 查询设备锁定的已排程的时间段
|
|
|
+ List<ApsProcessOperationProcessEquDo> processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
+ .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
|
|
|
+ .ge(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
|
|
|
+ .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
+ );
|
|
|
+ // 查询当前设备最后一个生产任务、连续生产需要考虑使用
|
|
|
+ List<ApsProcessOperationProcessEquDo> lastpros = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
+ .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
+ .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
|
|
|
+ .gt(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
|
|
|
+ .orderByDesc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
+ );
|
|
|
+ if (lastpros != null && lastpros.size() > 0) {
|
|
|
+ ApsProcessOperationProcessEquDo lastpro = lastpros.get(0);
|
|
|
+ ApsProcessOperationDo lastop = apsProcessOperationService.getById(lastpro.getProcessid());
|
|
|
+ equipment.setLastProcessType(lastop.getProcess());
|
|
|
+ equipment.setLastProcessEndTime(lastpro.getPlanenddate());
|
|
|
+ equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
|
|
|
+ // 合金+输入物料+宽度
|
|
|
+ equipment.setLastSeriesProduceMark(lastop.getMetal() + "^_^" + lastop.getPlaninput() + "^_^" + lastop.getProwidth());
|
|
|
+ equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
|
|
|
+ }
|
|
|
+ // 查询相关工序作业
|
|
|
+ Set<String> processIds = new HashSet<>();
|
|
|
+ if (processEqus != null && processEqus.size() > 0) {
|
|
|
+ for (ApsProcessOperationProcessEquDo equs : processEqus) {
|
|
|
+ processIds.add(equs.getProcessid());
|
|
|
+ }
|
|
|
+ List<ApsProcessOperationDo> processOperationDos = null;
|
|
|
+ if (processIds.size() > 0) {
|
|
|
+ processOperationDos = apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
|
|
|
+ .in(ApsProcessOperationDo::getId, processIds));
|
|
|
+ }
|
|
|
+
|
|
|
+ List<EquipmentRunTime> equipmentRunTimes = new ArrayList<>();
|
|
|
+ for (ApsProcessOperationProcessEquDo equs : processEqus) {
|
|
|
+ EquipmentRunTime er = new EquipmentRunTime();
|
|
|
+ er.setStartRunTime(equs.getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ er.setEndRunTime(equs.getPlanenddate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ er.setOccupyType("process");
|
|
|
+ // 设备占用时间设置连续生产标识,参与排程
|
|
|
+ if (processOperationDos != null) {
|
|
|
+ List<ApsProcessOperationDo> pos = processOperationDos.stream().filter(v -> v.getId().equals(equs.getProcessid())).collect(Collectors.toList());
|
|
|
+ if (pos != null && pos.size() > 0) {
|
|
|
+ ApsProcessOperationDo processesDo = pos.get(0);
|
|
|
+ er.setProcessType(processesDo.getProcess());
|
|
|
+ // 合金+输入物料+宽度
|
|
|
+ er.setSeriesProduceMark(operationDo.getMetal() + "^_^" + operationDo.getPlaninput() + "^_^" + operationDo.getProwidth());
|
|
|
+ er.setPrepressworkmin(processesDo.getPrepressworkmin() == null ? null : processesDo.getPrepressworkmin().intValue());
|
|
|
+ er.setCutfinishmin(processesDo.getCutfinishmin() == null ? null : processesDo.getCutfinishmin().intValue());
|
|
|
+ // 单卷宽度、重量数据赋值
|
|
|
+ er.setTotalVolumeWidth(processesDo.getProwidth());
|
|
|
+ er.setTotalSinglerollweight(processesDo.getSinglerollweight());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ equipmentRunTimes.add(er);
|
|
|
+ }
|
|
|
+ // 设备日历不可用时间段
|
|
|
+ List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
|
|
|
+ new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdstarttime, productionScheduleVo.getApsPlanStartDate())
|
|
|
+ .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
|
|
|
+ if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
|
|
|
+ for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
|
|
|
+ EquipmentRunTime er = new EquipmentRunTime();
|
|
|
+ er.setStartRunTime(equipmentCalendarDo.getSdstarttime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ er.setEndRunTime(equipmentCalendarDo.getSdendtime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
|
+ er.setOccupyType("maintenance");
|
|
|
+ equipmentRunTimes.add(er);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ equipment.setEquipmentRunTimes(equipmentRunTimes);
|
|
|
+ }
|
|
|
+ equipmentList.add(equipment);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return optionalEquipments;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 前后道工序作业关联关系初始化
|
|
@@ -323,62 +346,66 @@ public class ApsServiceImpl implements ApsService {
|
|
|
*/
|
|
|
private void processesRelationInit(ApsProcessOperationDo rootOperationDo,Map<String,List<ProductionProcesses>> operationProductionProcesses
|
|
|
,Map<String,ApsProcessOperationDo> operationMaps,ApsBlankOrderVo apsBlankOrderVo){
|
|
|
- String[] nextids = rootOperationDo.getNextprocessid().split(",");
|
|
|
- // 前后道工序关联关系处理
|
|
|
- if(rootOperationDo == null){
|
|
|
- throw new CustomException("数据异常,ID为:"+apsBlankOrderVo.getId()+"的坯料计划没有根节点");
|
|
|
- }else{
|
|
|
- boolean isEnd = true;
|
|
|
- // 当前作业计划加工卷数
|
|
|
- Integer planPres = rootOperationDo.getPlanprocessrall();
|
|
|
- // 下道工序按物料类型分组
|
|
|
- Map<String, List<ProductionProcesses>> wlPros = new HashMap<>();
|
|
|
- if(nextids != null && nextids.length>0){
|
|
|
- for (String nextid : nextids) {
|
|
|
- List<ProductionProcesses> productionProcesses = operationProductionProcesses.get(nextid);
|
|
|
- if(productionProcesses != null && productionProcesses.size()>0 && operationMaps.get(nextid) != null){
|
|
|
- if(wlPros.containsKey(operationMaps.get(operationMaps.get(nextid).getPlaninput()))){
|
|
|
- wlPros.get(operationMaps.get(operationMaps.get(nextid).getPlaninput())).addAll(productionProcesses);
|
|
|
- }else{
|
|
|
- wlPros.put(operationMaps.get(nextid).getPlaninput(),productionProcesses);
|
|
|
+ if(StringUtils.isNotBlank(rootOperationDo.getNextprocessid())){
|
|
|
+ String[] nextids = rootOperationDo.getNextprocessid().split(",");
|
|
|
+ // 前后道工序关联关系处理
|
|
|
+ if(rootOperationDo == null){
|
|
|
+ throw new CustomException("数据异常,ID为:"+apsBlankOrderVo.getId()+"的坯料计划作业模型初始化,作业为空");
|
|
|
+ }else{
|
|
|
+ boolean isEnd = true;
|
|
|
+ // 当前作业计划加工卷数
|
|
|
+ Integer planPres = rootOperationDo.getPlanprocessrall();
|
|
|
+ // 下道工序按物料类型分组
|
|
|
+ Map<String, List<ProductionProcesses>> wlPros = new HashMap<>();
|
|
|
+ if(nextids != null && nextids.length>0){
|
|
|
+ for (String nextid : nextids) {
|
|
|
+ List<ProductionProcesses> productionProcesses = operationProductionProcesses.get(nextid);
|
|
|
+ if(productionProcesses != null && productionProcesses.size()>0 && operationMaps.get(nextid) != null){
|
|
|
+ if(wlPros.containsKey(operationMaps.get(operationMaps.get(nextid).getPlaninput()))){
|
|
|
+ wlPros.get(operationMaps.get(operationMaps.get(nextid).getPlaninput())).addAll(productionProcesses);
|
|
|
+ }else{
|
|
|
+ wlPros.put(operationMaps.get(nextid).getPlaninput(),productionProcesses);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- // 当前作业和下道工序建立关联关系
|
|
|
- wlPros.forEach((k,v)->{
|
|
|
- boolean isConnect = true;
|
|
|
- int vi = 0;
|
|
|
- List<ProductionProcesses> productionProcesses = operationProductionProcesses.get(rootOperationDo.getId());
|
|
|
- while (vi<v.size()){
|
|
|
- for(int i = 0;i <planPres;i++){
|
|
|
- vi++;
|
|
|
- if(vi>=v.size()){
|
|
|
- break;
|
|
|
- }
|
|
|
- if(productionProcesses.get(i).getNextProcessesIds() == null){
|
|
|
- List<String> ids = new ArrayList<>();
|
|
|
- ids.add(v.get(i).getId());
|
|
|
- productionProcesses.get(i).setNextProcessesIds(ids);
|
|
|
- }else{
|
|
|
- productionProcesses.get(i).getNextProcessesIds().add(v.get(i).getId());
|
|
|
- }
|
|
|
- if(v.get(vi).getPreviousProcessesIds() == null){
|
|
|
- List<String> ids = new ArrayList<>();
|
|
|
- ids.add(productionProcesses.get(i).getId());
|
|
|
- v.get(vi).setPreviousProcessesIds(ids);
|
|
|
- }else{
|
|
|
- v.get(vi).getPreviousProcessesIds().add(productionProcesses.get(i).getId());
|
|
|
+ // 当前作业和下道工序建立关联关系
|
|
|
+ if(wlPros.size()>0){
|
|
|
+ wlPros.forEach((k,v)->{
|
|
|
+ boolean isConnect = true;
|
|
|
+ int vi = 0;
|
|
|
+ List<ProductionProcesses> productionProcesses = operationProductionProcesses.get(rootOperationDo.getId());
|
|
|
+ while (vi<v.size()){
|
|
|
+ for(int i = 0;i <planPres;i++){
|
|
|
+ if(vi>=v.size()){
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if(productionProcesses.get(i).getNextProcessesIds() == null){
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ ids.add(v.get(i).getId());
|
|
|
+ productionProcesses.get(i).setNextProcessesIds(ids);
|
|
|
+ }else{
|
|
|
+ productionProcesses.get(i).getNextProcessesIds().add(v.get(i).getId());
|
|
|
+ }
|
|
|
+ if(v.get(vi).getPreviousProcessesIds() == null){
|
|
|
+ List<String> ids = new ArrayList<>();
|
|
|
+ ids.add(productionProcesses.get(i).getId());
|
|
|
+ v.get(vi).setPreviousProcessesIds(ids);
|
|
|
+ }else{
|
|
|
+ v.get(vi).getPreviousProcessesIds().add(productionProcesses.get(i).getId());
|
|
|
+ }
|
|
|
+ vi++;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 递归处理下道工序数据
|
|
|
+ if(nextids != null && nextids.length>0){
|
|
|
+ for (String nextid : nextids) {
|
|
|
+ ApsProcessOperationDo apsProcessOperationDo = operationMaps.get(nextid);
|
|
|
+ processesRelationInit(apsProcessOperationDo,operationProductionProcesses,operationMaps,apsBlankOrderVo);
|
|
|
}
|
|
|
- });
|
|
|
- }
|
|
|
- // 递归处理下道工序数据
|
|
|
- if(nextids != null && nextids.length>0){
|
|
|
- for (String nextid : nextids) {
|
|
|
- ApsProcessOperationDo apsProcessOperationDo = operationMaps.get(nextid);
|
|
|
- processesRelationInit(apsProcessOperationDo,operationProductionProcesses,operationMaps,apsBlankOrderVo);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -400,7 +427,7 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 工序所属订单
|
|
|
processes.setProduceOrder(Arrays.asList(new ProduceOrder[]{produceOrder}));
|
|
|
// 模型ID
|
|
|
- processes.setId(operationDo.getId());
|
|
|
+ processes.setId(SecurityUtil.getUUID());
|
|
|
// 业务表主键ID
|
|
|
List<String> bss = new ArrayList<>();
|
|
|
bss.add(operationDo.getId());
|
|
@@ -413,6 +440,9 @@ public class ApsServiceImpl implements ApsService {
|
|
|
// 单次加工时长
|
|
|
processes.setUnitProduceTime(operationDo.getOnceprocessmin().intValue());
|
|
|
processes.setProduceTime(operationDo.getOnceprocessmin().intValue());
|
|
|
+ // 单卷宽度和重量
|
|
|
+ processes.setVolumeWidth(operationDo.getProwidth());
|
|
|
+ processes.setSinglerollweight(operationDo.getSinglerollweight());
|
|
|
if (operationDo.getMinflowwaitmin() != null) {
|
|
|
processes.setMinWaitTime(operationDo.getMinflowwaitmin().intValue());
|
|
|
}
|