|
@@ -1,6 +1,7 @@
|
|
package cn.ezhizao.project.business.service.impl;
|
|
package cn.ezhizao.project.business.service.impl;
|
|
|
|
|
|
import cn.ezhizao.project.business.domain.*;
|
|
import cn.ezhizao.project.business.domain.*;
|
|
|
|
+import cn.ezhizao.project.business.mapper.BizDayworkCarrierMapper;
|
|
import cn.ezhizao.project.business.mapper.BizDayworkItemMapper;
|
|
import cn.ezhizao.project.business.mapper.BizDayworkItemMapper;
|
|
import cn.ezhizao.project.business.mapper.BizDayworkMapper;
|
|
import cn.ezhizao.project.business.mapper.BizDayworkMapper;
|
|
import cn.ezhizao.project.business.service.IBizDayworkItemService;
|
|
import cn.ezhizao.project.business.service.IBizDayworkItemService;
|
|
@@ -26,6 +27,9 @@ public class BizDayworkItemServiceImpl extends ServiceImpl<BizDayworkItemMapper,
|
|
private BizDayworkItemMapper bizDayworkItemMapper;
|
|
private BizDayworkItemMapper bizDayworkItemMapper;
|
|
@Resource
|
|
@Resource
|
|
private BizDayworkMapper bizDayworkMapper;
|
|
private BizDayworkMapper bizDayworkMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private BizDayworkCarrierMapper bizDayworkCarrierMapper;
|
|
|
|
+
|
|
@Resource
|
|
@Resource
|
|
private BizOutsourcedOrderDetailProcessServiceImpl bizOutsourcedOrderDetailProcessService;
|
|
private BizOutsourcedOrderDetailProcessServiceImpl bizOutsourcedOrderDetailProcessService;
|
|
|
|
|
|
@@ -393,4 +397,39 @@ public class BizDayworkItemServiceImpl extends ServiceImpl<BizDayworkItemMapper,
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 保存工序结束时当前工序箱数
|
|
|
|
+ * @param dayworkItems
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void saveCarrierNum(List<BizDayworkItem> dayworkItems) {
|
|
|
|
+ /**
|
|
|
|
+ * 1.因为只在工序结束时保存箱数所以在传入的dayworkItem集合中筛选出status=3的数据
|
|
|
|
+ * 2.根据筛选出的数据中的dayworkId查询出当前绑定的箱数,只计算普通蓝箱子和铁箱子,不计算外协箱子,检测箱子
|
|
|
|
+ * 3.将对应的箱数保存到dayworkItem中
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+ //将工序已完成status='3'的数据筛选出来
|
|
|
|
+ List<BizDayworkItem> dayworkItemList=dayworkItems.stream().filter(item -> "3".equals(item.getStatus())).collect(Collectors.toList());
|
|
|
|
+ if(!dayworkItemList.isEmpty()){
|
|
|
|
+ // 提取dayworkId到一个新的集合中
|
|
|
|
+ List<Long> dayworkIds = dayworkItemList.stream()
|
|
|
|
+ .map(BizDayworkItem::getDayworkId) // 提取dayworkId
|
|
|
|
+ .collect(Collectors.toList()); // 收集到新的列表中
|
|
|
|
+
|
|
|
|
+ //根据dayworkId查询绑定信息只查询蓝箱子和铁箱子
|
|
|
|
+ List<BizDayworkCarrier> dayworkCarriers=bizDayworkCarrierMapper.getListBayDayworkId(dayworkIds);
|
|
|
|
+ Map<Long, Integer> countsByDayworkId = dayworkCarriers.stream().collect(Collectors.groupingBy(BizDayworkCarrier::getDayworkId,Collectors.summingInt(carrier -> 1)));
|
|
|
|
+
|
|
|
|
+ //将对应的箱数保存到dayworkItem中
|
|
|
|
+ for (BizDayworkItem dayworkItem:dayworkItemList){
|
|
|
|
+ dayworkItem.setCarrierNum(countsByDayworkId.get(dayworkItem.getDayworkId()));
|
|
|
|
+ }
|
|
|
|
+ super.saveOrUpdateBatch(dayworkItemList);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|