|
|
|
@ -435,6 +435,7 @@ public class PODetailServiceImpl extends ServiceImpl<PODetailMapper, PODetail> i |
|
|
|
throw new RuntimeException("当前用户site为空!"); |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, Integer> ref2Counter = new HashMap<>(); |
|
|
|
// 用于收集错误信息 |
|
|
|
List<String> errorMessages = new ArrayList<>(); |
|
|
|
|
|
|
|
@ -496,6 +497,7 @@ public class PODetailServiceImpl extends ServiceImpl<PODetailMapper, PODetail> i |
|
|
|
// 设置默认值 |
|
|
|
poHeader.setCurrency("USA"); |
|
|
|
poHeader.setCurrencyRate(1.0); |
|
|
|
poHeader.setStatus("已下达"); |
|
|
|
|
|
|
|
// 供应商 |
|
|
|
if (excelDTO.getSupplierName() != null && !excelDTO.getSupplierName().isEmpty()) { |
|
|
|
@ -541,9 +543,21 @@ public class PODetailServiceImpl extends ServiceImpl<PODetailMapper, PODetail> i |
|
|
|
// 关联 |
|
|
|
poDetailVo.setPoHeaderId(savedHeader.getId()); |
|
|
|
|
|
|
|
// 设置 order_ref1 和 order_ref2 |
|
|
|
poDetailVo.setOrderRef1(excelDTO.getPoNo()); |
|
|
|
poDetailVo.setOrderRef2("1"); |
|
|
|
String ref1 = excelDTO.getPoNo(); |
|
|
|
poDetailVo.setOrderRef1(ref1); |
|
|
|
|
|
|
|
Integer currentMax = ref2Counter.get(ref1); |
|
|
|
|
|
|
|
if (currentMax == null) { |
|
|
|
Integer dbMax = baseMapper.getMaxOrderRef2(ref1); |
|
|
|
currentMax = (dbMax == null ? 0 : dbMax); |
|
|
|
} |
|
|
|
|
|
|
|
int next = currentMax + 1; |
|
|
|
|
|
|
|
ref2Counter.put(ref1, next); |
|
|
|
|
|
|
|
poDetailVo.setOrderRef2(String.valueOf(next)); |
|
|
|
|
|
|
|
// 业务字段 - 款号保存到 part_no 字段 |
|
|
|
poDetailVo.setPartNo(excelDTO.getItem()); |
|
|
|
|