|
@@ -16,6 +16,8 @@ import com.rongwei.rwcommon.base.exception.CustomException;
|
|
|
import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
import com.rongwei.rwcommon.utils.StringUtils;
|
|
|
import com.rongwei.safecommon.utils.SaveConstans;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -37,6 +39,8 @@ import java.util.stream.Stream;
|
|
|
@Service
|
|
|
public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsBlankOrderDo> implements ApsBlankOrderService {
|
|
|
|
|
|
+ private static final Logger logger = LoggerFactory.getLogger(ApsBlankOrderServiceImpl.class);
|
|
|
+
|
|
|
@Autowired
|
|
|
private ApsProcessOperationService apsProcessOperationService;
|
|
|
@Autowired
|
|
@@ -52,6 +56,41 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
@Autowired
|
|
|
private ApsProductionOrderService apsProductionOrderService;
|
|
|
|
|
|
+ /**
|
|
|
+ * 取消订单排程
|
|
|
+ * @param apsProductionOrderIds
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void orderApsCancel(List<String> apsProductionOrderIds) throws Exception{
|
|
|
+ if(apsProductionOrderIds != null && apsProductionOrderIds.size()>0){
|
|
|
+ List<ApsBlankOrderDo> blankOrderDos = this.list(new LambdaQueryWrapper<ApsBlankOrderDo>().in(ApsBlankOrderDo::getProductionorderid, apsProductionOrderIds));
|
|
|
+ if(blankOrderDos != null && blankOrderDos.size()>0){
|
|
|
+ List<String> blankids = blankOrderDos.stream().map(ApsBlankOrderDo::getId).collect(Collectors.toList());
|
|
|
+ // 删除已排程的工序作业
|
|
|
+ processOperationProcessEquService.remove(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>().in(ApsProcessOperationProcessEquDo::getBlankid,blankids));
|
|
|
+ // 更新订单的排程状态
|
|
|
+ List<ApsProductionOrderDo> productionOrderDos = new ArrayList<>();
|
|
|
+ for (String apsProductionOrderId : apsProductionOrderIds) {
|
|
|
+ ApsProductionOrderDo productionOrderDo = new ApsProductionOrderDo();
|
|
|
+ productionOrderDo.setId(apsProductionOrderId);
|
|
|
+ productionOrderDo.setSchedulstatus(SaveConstans.SchedulstatusTyep.SCHEDULSTATUS_TOSCHEDULE);
|
|
|
+ productionOrderDos.add(productionOrderDo);
|
|
|
+ }
|
|
|
+ if(productionOrderDos != null && productionOrderDos.size()>0){
|
|
|
+ apsProductionOrderService.updateBatchById(productionOrderDos);
|
|
|
+ }
|
|
|
+ // 更新坯料计划的锁定状态
|
|
|
+ List<ApsBlankOrderDo> updateBlanks = blankids.stream().map(str -> {
|
|
|
+ ApsBlankOrderDo blankOrderDo = new ApsBlankOrderDo();
|
|
|
+ blankOrderDo.setId(str);
|
|
|
+ blankOrderDo.setLockmark(SaveConstans.LockmarkType.LOCKMARK_N);
|
|
|
+ return blankOrderDo;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ this.updateBatchById(updateBlanks);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 锁定、解锁
|
|
|
* @param orderLockVo
|
|
@@ -61,16 +100,24 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
public void orderLock(OrderLockVo orderLockVo) throws Exception {
|
|
|
if(StringUtils.isNotBlank(orderLockVo.getLockMark())){
|
|
|
if(orderLockVo.getBlackOrderId() != null && orderLockVo.getBlackOrderId().size()>0){
|
|
|
+ // 组装待更新坯料计划实体
|
|
|
List<ApsBlankOrderDo> blankOrderDos = new ArrayList<>();
|
|
|
+ List<String> blankids = new ArrayList<>();
|
|
|
for (String id : orderLockVo.getBlackOrderId()) {
|
|
|
ApsBlankOrderDo blankOrderDo = new ApsBlankOrderDo();
|
|
|
blankOrderDo.setId(id);
|
|
|
blankOrderDo.setLockmark(orderLockVo.getLockMark());
|
|
|
blankOrderDos.add(blankOrderDo);
|
|
|
+ blankids.add(id);
|
|
|
}
|
|
|
+ // 坯料计划锁定标识更新
|
|
|
if(blankOrderDos != null && blankOrderDos.size()>0){
|
|
|
this.updateBatchById(blankOrderDos);
|
|
|
}
|
|
|
+ // 工序作业锁定标识更新
|
|
|
+ apsProcessOperationService.update(new LambdaQueryWrapper<ApsProcessOperationDo>().in(ApsProcessOperationDo::getBlankid,blankids));
|
|
|
+ // 工序作业排程计划锁定
|
|
|
+ processOperationProcessEquService.update(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>().in(ApsProcessOperationProcessEquDo::getBlankid,blankids));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -112,6 +159,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 模型转换
|
|
|
ProductionScheduleVo productionScheduleVo = apsPlanModelSet(apsBlankOrders);
|
|
|
System.out.println("排程数据:" + JSONUtil.toJsonStr(productionScheduleVo));
|
|
|
+ logger.info("排程数据:" + JSONUtil.toJsonStr(productionScheduleVo));
|
|
|
// APS平台排程接口调用
|
|
|
ProductionScheduleRetVo productionScheduleRetVo = rwApsServer.productionSchedule(productionScheduleVo);
|
|
|
// 排程结果保存
|
|
@@ -127,6 +175,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
ApsProcessOperationProcessEquDo apsProcessOperationProcessEqu = new ApsProcessOperationProcessEquDo();
|
|
|
apsProcessOperationProcessEqu.setId(SecurityUtil.getUUID());
|
|
|
apsProcessOperationProcessEqu.setProcessid(process.getId());
|
|
|
+ apsProcessOperationProcessEqu.setBlankid(process.getProduceOrder().get(0).getId());
|
|
|
apsProcessOperationProcessEqu.setProcessdeviceid(process.getEquipment().getId());
|
|
|
apsProcessOperationProcessEqu.setProcessdevice(process.getEquipment().getEquipmentName());
|
|
|
apsProcessOperationProcessEqu.setProcessworkshopid(process.getEquipment().getWorkshopid());
|
|
@@ -155,6 +204,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
ApsProcessOperationProcessEquDo apsProcessOperationProcessEqu = new ApsProcessOperationProcessEquDo();
|
|
|
apsProcessOperationProcessEqu.setId(SecurityUtil.getUUID());
|
|
|
apsProcessOperationProcessEqu.setProcessid(k);
|
|
|
+ apsProcessOperationProcessEqu.setBlankid(v.get(0).getBlankid());
|
|
|
apsProcessOperationProcessEqu.setProcessdeviceid(process.getEquipment().getId());
|
|
|
apsProcessOperationProcessEqu.setProcessdevice(process.getEquipment().getEquipmentName());
|
|
|
apsProcessOperationProcessEqu.setPlanstartdate(Date.from(process.getStartTime().atZone(ZoneId.systemDefault()).toInstant()));
|
|
@@ -490,6 +540,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
for (int j=1;j<=sy;j++){
|
|
|
AluminumCoil aluminumCoil = new AluminumCoil();
|
|
|
aluminumCoil.setBsId(processOperationM.getId());
|
|
|
+ aluminumCoil.setBlankid(processOperationM.getBlankid());
|
|
|
aluminumCoil.setVolumeWidth(processOperationM.getProwidth());
|
|
|
aluminumCoil.setVolumeThickness(processOperationM.getThickness());
|
|
|
aluminumCoil.setVolumeWeight(processOperationM.getSinglerollweight());
|
|
@@ -579,6 +630,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
for (int j=1;j<=haslast;j++){
|
|
|
AluminumCoil aluminumCoil = new AluminumCoil();
|
|
|
aluminumCoil.setBsId(processOperationM.getId());
|
|
|
+ aluminumCoil.setBlankid(processOperationM.getBlankid());
|
|
|
aluminumCoil.setVolumeWidth(processOperationM.getProwidth());
|
|
|
aluminumCoil.setVolumeThickness(processOperationM.getThickness());
|
|
|
aluminumCoil.setVolumeWeight(processOperationM.getSinglerollweight());
|