|
@@ -2448,11 +2448,18 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
public R scheduling(ChangingScheduleVo req) {
|
|
|
// ApsUtils.checkScheduling(null);
|
|
|
|
|
|
+ SysUserVo currentUser = CXCommonUtils.getCurrentUser();
|
|
|
Date processingTime = req.getProcessingTime();
|
|
|
if (processingTime.before(DateUtil.date())) {
|
|
|
return R.error("开始时间必须大于当前时间");
|
|
|
}
|
|
|
|
|
|
+ String rollerType = "";
|
|
|
+ if (req.getRollerId() != null) {
|
|
|
+ ApsRollerTypeDo rollerTypeDo = apsRollerTypeService.getById(req.getRollerId());
|
|
|
+ rollerType = rollerTypeDo.getRollertype();
|
|
|
+ }
|
|
|
+
|
|
|
//作业明细集合
|
|
|
List<String> processEquIdList = req.getProcessEquIdList();
|
|
|
List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = apsProcessOperationProcessEquService.listByIds(processEquIdList).stream().collect(Collectors.toList());
|
|
@@ -2475,6 +2482,21 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
needUpdate.setId(apsProcessOperationProcessEquDo.getId());
|
|
|
needUpdate.setProcessdeviceid(req.getEquId());
|
|
|
needUpdate.setProcessdevice(req.getEquName());
|
|
|
+ //作业详情
|
|
|
+ ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(apsProcessOperationProcessEquDo.getProcessid());
|
|
|
+ //可选设备
|
|
|
+ String canchoosedeviceid = apsProcessOperationDo.getCanchoosedeviceid();
|
|
|
+ LinkedList<String> canChooseDeviceIdList = new LinkedList<>(Arrays.asList(canchoosedeviceid.split(",")));
|
|
|
+ ApsProcessOperationEquDo needInsert = new ApsProcessOperationEquDo();
|
|
|
+ if (!canChooseDeviceIdList.contains(req.getEquId())) {
|
|
|
+ needInsert.setId(SecurityUtil.getUUID());
|
|
|
+ needInsert.setTenantid(CXCommonUtils.getCurrentUserFactoryId(currentUser));
|
|
|
+ needInsert.setBlankid(apsProcessOperationDo.getBlankid());
|
|
|
+ needInsert.setMainid(apsProcessOperationDo.getId());
|
|
|
+ needInsert.setResourcetype("设备");
|
|
|
+ needInsert.setResourceid(req.getEquId());
|
|
|
+ }
|
|
|
+
|
|
|
if (ObjectUtil.isNotEmpty(req.getIsZhaji()) && ObjectUtil.isNotEmpty(req.getOldDeviceId())) {
|
|
|
//如果是轧机工序类别,并且(加工设备换了,或者加工设备没换并且辊类型不为空),则辊类型=所选辊类型
|
|
|
if (req.getIsZhaji()) {
|
|
@@ -2482,10 +2504,14 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
if (req.getOldDeviceId().equals(req.getEquId())) {
|
|
|
if (ObjectUtil.isNotEmpty(req.getRollerId())) {
|
|
|
needUpdate.setRollerid(req.getRollerId());
|
|
|
+ needInsert.setRollerid(req.getRollerId());
|
|
|
+ needInsert.setRollertype(rollerType);
|
|
|
}
|
|
|
} else {
|
|
|
if (ObjectUtil.isNotEmpty(req.getRollerId())) {
|
|
|
needUpdate.setRollerid(req.getRollerId());
|
|
|
+ needInsert.setRollerid(req.getRollerId());
|
|
|
+ needInsert.setRollertype(rollerType);
|
|
|
} else {
|
|
|
throw new CustomException("换设备后轧机工序必须选择辊类型");
|
|
|
}
|
|
@@ -2500,6 +2526,18 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
|
|
|
nextStartDate = needUpdate.getPlanenddate();
|
|
|
// needUpdateList.add(needUpdate);
|
|
|
apsProcessOperationProcessEquService.updateById(needUpdate);
|
|
|
+ if (StringUtils.isNotBlank(needInsert.getId())) {
|
|
|
+ apsProcessOperationEquService.save(needInsert);
|
|
|
+ ApsProcessOperationDo needUpdateProcess = new ApsProcessOperationDo();
|
|
|
+ needUpdateProcess.setId(apsProcessOperationDo.getId());
|
|
|
+ canChooseDeviceIdList.add(req.getEquId());
|
|
|
+ needUpdateProcess.setCanchoosedeviceid(String.join(",", canChooseDeviceIdList));
|
|
|
+ String chooseEqu = apsProcessOperationDo.getChooseequ();
|
|
|
+ LinkedList<String> chooseEquList = new LinkedList<>(Arrays.asList(chooseEqu.split(",")));
|
|
|
+ chooseEquList.add(req.getEquName());
|
|
|
+ needUpdateProcess.setChooseequ(String.join(",", chooseEquList));
|
|
|
+ apsProcessOperationService.updateById(needUpdateProcess);
|
|
|
+ }
|
|
|
apsProcessOperationProcessEquDo.setProcessdeviceid(needUpdate.getProcessdeviceid());
|
|
|
apsProcessOperationProcessEquDo.setProcessdevice(needUpdate.getProcessdevice());
|
|
|
apsProcessOperationProcessEquDo.setRollerid(needUpdate.getRollerid());
|