|
@@ -2684,17 +2684,17 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public JSONObject billetAutoTmpDataSyn(StorageBill storageBill) {
|
|
public JSONObject billetAutoTmpDataSyn(StorageBill storageBill) {
|
|
JSONObject result = new JSONObject();
|
|
JSONObject result = new JSONObject();
|
|
try {
|
|
try {
|
|
- log.info("{}{}", "未知目的地数据同步装运单信息:", JSON.toJSON(storageBill));
|
|
|
|
-
|
|
|
|
|
|
+ log.info("{}{}", "钢坯轧钢外运未知目的地数据同步装运单信息:", JSON.toJSON(storageBill));
|
|
List<RollClubCommon> rollClubCommonList = new ArrayList<>();
|
|
List<RollClubCommon> rollClubCommonList = new ArrayList<>();
|
|
// 根据装运单ID查询钢坯临时表
|
|
// 根据装运单ID查询钢坯临时表
|
|
List<BilletAutoTmp> billetAutoTmpList = billetAutoTmpService.list(new LambdaQueryWrapper<BilletAutoTmp>()
|
|
List<BilletAutoTmp> billetAutoTmpList = billetAutoTmpService.list(new LambdaQueryWrapper<BilletAutoTmp>()
|
|
.eq(BilletAutoTmp::getStorageBillId, storageBill.getId()));
|
|
.eq(BilletAutoTmp::getStorageBillId, storageBill.getId()));
|
|
if (oConvertUtils.listIsEmpty(billetAutoTmpList)){
|
|
if (oConvertUtils.listIsEmpty(billetAutoTmpList)){
|
|
- result.put("fail", "钢坯装运未知目的地明细不存在!");
|
|
|
|
|
|
+ result.put("fail", "钢坯轧钢外运未知目的地明细不存在!");
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
billetAutoTmpList.forEach(x ->{
|
|
billetAutoTmpList.forEach(x ->{
|
|
@@ -2759,42 +2759,42 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
|
|
x.setUpdateTime(new Date());
|
|
x.setUpdateTime(new Date());
|
|
});
|
|
});
|
|
billetBasicInfoService.saveOrUpdateBatch(billetBasicInfoList);
|
|
billetBasicInfoService.saveOrUpdateBatch(billetBasicInfoList);
|
|
-
|
|
|
|
-// // 维护支数、组坯号、
|
|
|
|
-// storageBill.setAmountTotal();
|
|
|
|
-// storageBill.setAssemblyNumber(storageBill.getAssemblyNumber());
|
|
|
|
-// // 更新装运单目的地、发车时间
|
|
|
|
-// storageBill.setUpdateTime(new Date());
|
|
|
|
-// baseMapper.updateById(storageBill);
|
|
|
|
-
|
|
|
|
-// // 发车后,新增储运记录 storage_car_log
|
|
|
|
-// StorageCarLog storageCarLog = new StorageCarLog();
|
|
|
|
-// BeanUtils.copyProperties(storageBill, storageCarLog);
|
|
|
|
-// storageCarLog.setCarNm(storageBill.getLicensePlate());// 车牌号
|
|
|
|
-// storageCarLog.setTypeConfigId(storageBill.getTypeConfigId()); // 钢坯配置类型ID
|
|
|
|
-//
|
|
|
|
-// List<String> sizeList = rollClubCommonList.stream().map(RollClubCommon::getSize).distinct().collect(Collectors.toList());
|
|
|
|
-// List<String> heatNoList = rollClubCommonList.stream().map(RollClubCommon::getHeatNo).distinct().collect(Collectors.toList());
|
|
|
|
-// long count = rollClubCommonList.stream().count();
|
|
|
|
-//
|
|
|
|
-// storageCarLog.setHeatNo(String.join(",", heatNoList));
|
|
|
|
-// storageCarLog.setSize(String.join(",", sizeList));// 定尺
|
|
|
|
-// storageCarLog.setAmount(Integer.valueOf((int) count));// 支数
|
|
|
|
-//
|
|
|
|
-// storageCarLog.setDataTime(new Date());
|
|
|
|
-// storageCarLog.setCreateTime(new Date());
|
|
|
|
-// storageCarLogService.save(storageCarLog);
|
|
|
|
-// log.info("{}{}", "B端钢坯车位发车成功!", storageBill.getLicensePlate());
|
|
|
|
-
|
|
|
|
|
|
+ // 维护总支数
|
|
|
|
+ storageBill.setAmountTotal(storageBill.getAmountTotal() + rollClubCommonList.size());
|
|
|
|
+ // 取最新的第一条钢坯信息
|
|
|
|
+ RollClubCommon rollClubCommon = rollClubCommonList.stream().findFirst().orElse(null);
|
|
|
|
+ if (rollClubCommon != null) {
|
|
|
|
+ storageBill.setSteel(rollClubCommon.getGrade());//钢种
|
|
|
|
+ storageBill.setSpec(rollClubCommon.getSpec());//规格
|
|
|
|
+ storageBill.setHeatNo(rollClubCommon.getHeatNo());// 炉号
|
|
|
|
+ }
|
|
|
|
+ List<Integer> sizeList = rollClubCommonList.stream().map(RollClubCommon::getLength).distinct().collect(Collectors.toList());
|
|
|
|
+ String sizeString = String.join(",", sizeList.stream().map(String::valueOf).collect(Collectors.toList()));
|
|
|
|
+ storageBill.setSize(sizeString);// 定尺
|
|
|
|
+
|
|
|
|
+ List<String> assemblyNumberList = billetBasicInfoList.stream().map(BilletBasicInfo::getAssemblyNumber).filter(assemblyNumber -> oConvertUtils.isNotEmpty(assemblyNumber)).collect(Collectors.toList());
|
|
|
|
+ if(oConvertUtils.listIsNotEmpty(assemblyNumberList)) {
|
|
|
|
+ String distinctAssemblyNumber = billetBasicInfoList.stream()
|
|
|
|
+ .map(BilletBasicInfo::getAssemblyNumber)
|
|
|
|
+ .filter(assemblyNumber -> oConvertUtils.isNotEmpty(assemblyNumber))
|
|
|
|
+ .distinct().collect(Collectors.joining(","));
|
|
|
|
+ String finalAssemblyNumber = Optional.ofNullable(storageBill.getAssemblyNumber())
|
|
|
|
+ .filter(oConvertUtils::isNotEmpty)
|
|
|
|
+ .map(s -> s + "," + distinctAssemblyNumber)
|
|
|
|
+ .orElse(distinctAssemblyNumber);
|
|
|
|
+ storageBill.setAssemblyNumber(finalAssemblyNumber);
|
|
|
|
+ }
|
|
|
|
+ storageBill.setUpdateTime(new Date());
|
|
|
|
+ baseMapper.updateById(storageBill);
|
|
|
|
|
|
// 物理删除钢坯临时表记录
|
|
// 物理删除钢坯临时表记录
|
|
billetAutoTmpService.removeBatchByIds(billetAutoTmpList.stream().map(BilletAutoTmp::getId).collect(Collectors.toList()));
|
|
billetAutoTmpService.removeBatchByIds(billetAutoTmpList.stream().map(BilletAutoTmp::getId).collect(Collectors.toList()));
|
|
- result.put("success", "B端钢坯车位发车成功!");
|
|
|
|
|
|
+ result.put("success", "B端钢坯轧钢外运未知目的地明细同步成功!");
|
|
return result;
|
|
return result;
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
// 记录异常日志
|
|
// 记录异常日志
|
|
- log.error("钢坯车位发车发生异常", e.getMessage());
|
|
|
|
|
|
+ log.error("B端钢坯轧钢外运未知目的地明细同步发生异常", e.getMessage());
|
|
result.put("fail", "系统错误,请稍后再试!");
|
|
result.put("fail", "系统错误,请稍后再试!");
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|