|
@@ -16,10 +16,12 @@ 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.assertj.core.api.Assertions;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDateTime;
|
|
@@ -56,6 +58,15 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
@Autowired
|
|
|
private ApsProductionOrderService apsProductionOrderService;
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void test() {
|
|
|
+ ApsBlankOrderDo a1 = this.getById("19fcf845701746968602e5298f7b9144");
|
|
|
+ this.removeById("19fcf845701746968602e5298f7b9144");
|
|
|
+ ApsBlankOrderDo a2 = this.getById("19fcf845701746968602e5298f7b9144");
|
|
|
+ System.out.println(a1.getMaterialname());
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 取消订单排程
|
|
|
* @param apsProductionOrderIds
|
|
@@ -155,7 +166,12 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
* @param apsBlankOrders
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void blankOrderAps(List<ApsBlankOrderVo> apsBlankOrders){
|
|
|
+ assert apsBlankOrders != null : "排程订单不能为空";
|
|
|
+ // 先删除所有作业的明细
|
|
|
+ List<String> blankids = apsBlankOrders.stream().map(v->v.getId()).collect(Collectors.toList());
|
|
|
+ processOperationProcessEquService.remove(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>().in(ApsProcessOperationProcessEquDo::getBlankid,blankids));
|
|
|
// 模型转换
|
|
|
ProductionScheduleVo productionScheduleVo = apsPlanModelSet(apsBlankOrders);
|
|
|
System.out.println("排程数据:" + JSONUtil.toJsonStr(productionScheduleVo));
|
|
@@ -164,8 +180,6 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
ProductionScheduleRetVo productionScheduleRetVo = rwApsServer.productionSchedule(productionScheduleVo);
|
|
|
// 排程结果保存
|
|
|
List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = new ArrayList<>();
|
|
|
- // 作业ID集合
|
|
|
- List<String> zyIds = new ArrayList<>();
|
|
|
// 最后节点集合
|
|
|
List<ProductionProcesses> lastProcess = new ArrayList<>();
|
|
|
if(productionScheduleRetVo.getProcesses() != null && productionScheduleRetVo.getProcesses().size()>0){
|
|
@@ -185,7 +199,6 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
apsProcessOperationProcessEqu.setPlanenddate(Date.from(process.getEndTime().atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
apsProcessOperationProcessEqu.setPlanprocessrall(process.getProducePcNum());
|
|
|
apsProcessOperationProcessEquDos.add(apsProcessOperationProcessEqu);
|
|
|
- zyIds.addAll(process.getBsProcessesId());
|
|
|
}
|
|
|
// 合并生产工序
|
|
|
else {
|
|
@@ -214,7 +227,6 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
apsProcessOperationProcessEqu.setProcessworkshop(process.getEquipment().getWorkshopname());
|
|
|
apsProcessOperationProcessEqu.setTenantid(process.getEquipment().getFactoryid());
|
|
|
apsProcessOperationProcessEquDos.add(apsProcessOperationProcessEqu);
|
|
|
- zyIds.add(k);
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -225,10 +237,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
}
|
|
|
if(apsProcessOperationProcessEquDos != null && apsProcessOperationProcessEquDos.size()>0){
|
|
|
- // 先删除所有作业的明细
|
|
|
- if (zyIds != null && zyIds.size()>0){
|
|
|
- processOperationProcessEquService.remove(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>().in(ApsProcessOperationProcessEquDo::getProcessid,zyIds));
|
|
|
- }
|
|
|
+
|
|
|
// 再保存新数据
|
|
|
processOperationProcessEquService.saveBatch(apsProcessOperationProcessEquDos);
|
|
|
|
|
@@ -349,7 +358,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
List<ApsProcessOperationProcessEquDo> processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
|
|
|
.eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
|
|
|
.ge(ApsProcessOperationProcessEquDo::getPlanstartdate,productionScheduleVo.getApsPlanStartDate())
|
|
|
- .eq(ApsProcessOperationProcessEquDo::getLockmark,SaveConstans.LockmarkType.LOCKMARK_Y));
|
|
|
+// .eq(ApsProcessOperationProcessEquDo::getLockmark,SaveConstans.LockmarkType.LOCKMARK_Y)
|
|
|
+ );
|
|
|
if(processEqus != null && processEqus.size()>0){
|
|
|
List<EquipmentRunTime> equipmentRunTimes = new ArrayList<>();
|
|
|
for (ApsProcessOperationProcessEquDo equs : processEqus) {
|