|
@@ -668,7 +668,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 回写订单排程交货期
|
|
|
Map<String, Date> orderDeliveryTime = new HashMap<>();
|
|
|
// 查询所有坯料计划信息
|
|
|
- List<ApsBlankOrderDo> apsBlankOrderDos = (List<ApsBlankOrderDo>)apsBlankOrderService.listByIds(blankids);
|
|
|
+ List<ApsBlankOrderDo> apsBlankOrderDos = (List<ApsBlankOrderDo>) apsBlankOrderService.listByIds(blankids);
|
|
|
// 坯料计划ID集合
|
|
|
List<String> blankKeys = new ArrayList<>();
|
|
|
List<ApsBlankOrderDo> blankIds = new ArrayList<>();
|
|
@@ -679,7 +679,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
// 坯料计划信息
|
|
|
List<ApsBlankOrderDo> orders = apsBlankOrderDos.stream().filter(v -> v.getId().equals(order.getId())).collect(Collectors.toList());
|
|
|
ApsBlankOrderDo nowOrder = null;
|
|
|
- if(orders != null && orders.size()>0){
|
|
|
+ if (orders != null && orders.size() > 0) {
|
|
|
nowOrder = orders.get(0);
|
|
|
}
|
|
|
|
|
@@ -689,13 +689,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
ApsBlankOrderDo blankOrderDo = hasblanks.get(0);
|
|
|
if (blankOrderDo.getScheduledatestart().compareTo(endDate) > 0) {
|
|
|
blankOrderDo.setScheduledatestart(endDate);
|
|
|
- if(nowOrder != null && nowOrder.getPromisedatestart() == null){
|
|
|
+ if (nowOrder != null && nowOrder.getPromisedatestart() == null) {
|
|
|
blankOrderDo.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
|
|
|
}
|
|
|
}
|
|
|
if (blankOrderDo.getScheduledateend().compareTo(endDate) < 0) {
|
|
|
blankOrderDo.setScheduledateend(endDate);
|
|
|
- if(nowOrder != null && nowOrder.getPromisedateend() == null){
|
|
|
+ if (nowOrder != null && nowOrder.getPromisedateend() == null) {
|
|
|
blankOrderDo.setPromisedateend(DateUtil.offsetDay(endDate, 2));
|
|
|
}
|
|
|
}
|
|
@@ -706,10 +706,10 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
updateBlank.setSchedulingstatus(TO_BE_PUBLISHED);
|
|
|
updateBlank.setScheduledatestart(endDate);
|
|
|
updateBlank.setScheduledateend(endDate);
|
|
|
- if(nowOrder != null && nowOrder.getPromisedatestart() == null){
|
|
|
+ if (nowOrder != null && nowOrder.getPromisedatestart() == null) {
|
|
|
updateBlank.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
|
|
|
}
|
|
|
- if(nowOrder != null && nowOrder.getPromisedateend() == null){
|
|
|
+ if (nowOrder != null && nowOrder.getPromisedateend() == null) {
|
|
|
updateBlank.setPromisedateend(DateUtil.offsetDay(endDate, 2));
|
|
|
}
|
|
|
// 自动加锁坯料计划
|
|
@@ -1745,28 +1745,31 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
|
|
|
|
|
|
//如果存在订单产品和输出单卷重都相同坯料输出成品,错误提示:以下坯料输出成品重复:{订单产品1}{输出单卷重}{数量单位},{订单产品2}{输出单卷重}{数量单位}
|
|
|
- //组装一下list
|
|
|
- List<String> processOutputDesList = apsProcessOutputProductDoList.stream().map(item -> {
|
|
|
+ //新需求:如果存在关联相同的订单产品,并且输出单卷重都相同坯料输出成品,错误提示:以下坯料输出成品重复:{订单产品1}{输出单卷重}{数量单位},{订单产品2}{输出单卷重}{数量单位}
|
|
|
+ //用于判断是否重复
|
|
|
+ Map<String, String> checkOutputDesMap = new HashMap<>();
|
|
|
+ //有重复数据订单产品的数组
|
|
|
+ List<String> endCheckOutputDesList = new LinkedList<>();
|
|
|
+ for (ApsProcessOutputProductDo apsProcessOutputProductDo : apsProcessOutputProductDoList) {
|
|
|
+ //产品明细的ID
|
|
|
+ String productid = apsProcessOutputProductDo.getProductid();
|
|
|
+
|
|
|
String unit = "吨";
|
|
|
- if (item.getCountunit().equals(SaveConstans.CountUnit.KG)) {
|
|
|
+ if (apsProcessOutputProductDo.getCountunit().equals(SaveConstans.CountUnit.KG)) {
|
|
|
unit = "千克";
|
|
|
}
|
|
|
- return item.getProductname() + item.getOutputonerollweigth() + unit;
|
|
|
- }).collect(Collectors.toList());
|
|
|
+ //拼接字段
|
|
|
+ String s = apsProcessOutputProductDo.getProductname() + apsProcessOutputProductDo.getOutputonerollweigth() + unit;
|
|
|
|
|
|
- //用于判断是否重复
|
|
|
- List<String> checkOutputDesList = new LinkedList<>();
|
|
|
- //有重复数据订单产品的数组
|
|
|
- List<String> endCheckOutputDesList = new LinkedList<>();
|
|
|
- for (String s : processOutputDesList) {
|
|
|
- if (checkOutputDesList.contains(s)) {
|
|
|
+ if (checkOutputDesMap.containsKey(productid) && checkOutputDesMap.get(productid).equals(s)) {
|
|
|
endCheckOutputDesList.add(s);
|
|
|
} else {
|
|
|
- checkOutputDesList.add(s);
|
|
|
+ checkOutputDesMap.put(productid, s);
|
|
|
}
|
|
|
}
|
|
|
- if (endCheckOutputDesList.size() > 0) {
|
|
|
- String join = String.join(",", endCheckOutputDesList);
|
|
|
+ List<String> collect = endCheckOutputDesList.stream().distinct().collect(Collectors.toList());
|
|
|
+ if (!collect.isEmpty()) {
|
|
|
+ String join = String.join(",", collect);
|
|
|
return R.error("以下坯料输出成品重复:" + join);
|
|
|
}
|
|
|
|