|
|
|
@ -625,35 +625,6 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { |
|
|
|
} else { |
|
|
|
PartData partData = parts.getFirst(); |
|
|
|
detail.setPartNo(partData.getPartNo()); |
|
|
|
/*String hsCode = headerMap.containsKey("HS Code") ? getMergedCellValue(sheet, r, headerMap.get("HS Code")) : ""; |
|
|
|
String hsCodeDesc = headerMap.containsKey("申报品名") ? getMergedCellValue(sheet, r, headerMap.get("申报品名")) : ""; |
|
|
|
String brand = "无"; |
|
|
|
if (headerMap.containsKey("品牌")) { |
|
|
|
brand = getMergedCellValue(sheet, r, headerMap.get("品牌")); |
|
|
|
} else if (headerMap.containsKey("Brand")) { |
|
|
|
brand = getMergedCellValue(sheet, r, headerMap.get("Brand")); |
|
|
|
} |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(hsCode) || StringUtils.isNotBlank(hsCodeDesc) || StringUtils.isNotBlank(brand)) { |
|
|
|
coDelMapper.updatePartHsCode(site, partData.getPartNo(), hsCode, hsCodeDesc, brand); |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(hsCodeDesc)) { |
|
|
|
EcssHsCodeData hsCodeData = new EcssHsCodeData(); |
|
|
|
hsCodeData.setSite(site); |
|
|
|
hsCodeData.setBuNo(data.getBuNo()); |
|
|
|
hsCodeData.setHsCodeDesc(hsCodeDesc); |
|
|
|
hsCodeData.setBrand(brand); |
|
|
|
List<EcssHsCodeData> existHsCodes = coDelMapper.checkHsCodeDescData(hsCodeData); |
|
|
|
if (existHsCodes == null || existHsCodes.isEmpty()) { |
|
|
|
hsCodeData.setHsCode(hsCode); |
|
|
|
hsCodeData.setCreateBy(data.getUsername()); |
|
|
|
//hsCodeData.setUnit(partData.getUmid()); |
|
|
|
// 根据BU赋值不同的codeNo |
|
|
|
hsCodeData.setCodeNo("02-Hardtag".equals(data.getBuNo())?"HT001":"04-MHM".equals(data.getBuNo())?"MHM001":""); |
|
|
|
coDelMapper.insertHsCodeData(hsCodeData); |
|
|
|
} |
|
|
|
} |
|
|
|
}*/ |
|
|
|
} |
|
|
|
if (headerMap.containsKey("名称")) detail.setPartDescription(getMergedCellValue(sheet, r, headerMap.get("名称"))); |
|
|
|
if (headerMap.containsKey("Manufacturer Name")) detail.setManufacturerName(getMergedCellValue(sheet, r, headerMap.get("Manufacturer Name"))); |
|
|
|
@ -688,11 +659,6 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { |
|
|
|
|
|
|
|
// 3. 托盘信息 EcssCoDelPalletHeader |
|
|
|
String palletQtyStr = headerMap.containsKey("托数") ? getMergedCellValue(sheet, r, headerMap.get("托数")) : null; |
|
|
|
if (palletQtyStr != null && !palletQtyStr.isEmpty()) { |
|
|
|
// 判断是否是托盘的第一行 |
|
|
|
if (isFirstRowOfMergedRegion(sheet, r, headerMap.get("托数")) || !isMerged(sheet, r, headerMap.get("托数"))) { |
|
|
|
int palletCount = (int) Double.parseDouble(palletQtyStr); |
|
|
|
String outerSizeStr = headerMap.containsKey("外包尺寸") ? getMergedCellValue(sheet, r, headerMap.get("外包尺寸")) : null; |
|
|
|
BigDecimal volume = BigDecimal.ZERO; |
|
|
|
if (headerMap.containsKey("总体积")) { |
|
|
|
int volumeCol = headerMap.get("总体积"); |
|
|
|
@ -708,9 +674,12 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { |
|
|
|
volume = parseBigDecimal(getMergedCellValue(sheet, r, volumeCol)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (palletQtyStr != null && !palletQtyStr.isEmpty()) { |
|
|
|
// 判断是否是托盘的第一行 |
|
|
|
if (isFirstRowOfMergedRegion(sheet, r, headerMap.get("托数")) || !isMerged(sheet, r, headerMap.get("托数"))) { |
|
|
|
int palletCount = (int) Double.parseDouble(palletQtyStr); |
|
|
|
String outerSizeStr = headerMap.containsKey("外包尺寸") ? getMergedCellValue(sheet, r, headerMap.get("外包尺寸")) : null; |
|
|
|
String palletNo = palletSeqNo + "~" + (palletSeqNo + palletCount - 1); |
|
|
|
|
|
|
|
EcssCoDelPalletHeader palletHeader = new EcssCoDelPalletHeader(); |
|
|
|
palletHeader.setSite(site); |
|
|
|
palletHeader.setBuNo(data.getBuNo()); |
|
|
|
@ -736,6 +705,9 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { |
|
|
|
currentPalletSeqNo = palletSeqNo; |
|
|
|
palletSeqNo += palletCount; |
|
|
|
} |
|
|
|
} else { |
|
|
|
header.setTotalVolume(volume); |
|
|
|
coDelMapper.updateEcssDelHeaderVolume(header); |
|
|
|
} |
|
|
|
|
|
|
|
// 4. 箱信息 EcssCoDelBoxList |
|
|
|
@ -2690,8 +2662,8 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { |
|
|
|
} |
|
|
|
totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP); |
|
|
|
} else { |
|
|
|
// 栈板不存在时,根据装箱明细的物料计算体积 |
|
|
|
totalVolume = calculateVolumeByMaterials(notifyHeader); |
|
|
|
// 栈板不存在时,取发货通知单头表的总箱体积字段(ecss_CoDelNotifyHeader.total_volume),如果为空则默认为0 |
|
|
|
totalVolume = notifyHeader.getTotalVolume() != null ? notifyHeader.getTotalVolume().setScale(2, RoundingMode.HALF_UP) : BigDecimal.ZERO; |
|
|
|
} |
|
|
|
template.addVar("Measurement", totalVolume); |
|
|
|
template.addListVarAll(exportList); |
|
|
|
@ -2936,8 +2908,8 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { |
|
|
|
} |
|
|
|
totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP); |
|
|
|
} else { |
|
|
|
// 栈板不存在时,根据装箱明细的物料计算体积 |
|
|
|
totalVolume = calculateVolumeByMaterials(notifyHeader); |
|
|
|
// 栈板不存在时,取发货通知单头表的总箱体积字段(ecss_CoDelNotifyHeader.total_volume),如果为空则默认为0 |
|
|
|
totalVolume = notifyHeader.getTotalVolume() != null ? notifyHeader.getTotalVolume().setScale(2, RoundingMode.HALF_UP) : BigDecimal.ZERO; |
|
|
|
} |
|
|
|
template.addVar("Measurement", totalVolume); |
|
|
|
template.addListVarAll(exportList); |
|
|
|
@ -3187,8 +3159,8 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { |
|
|
|
} |
|
|
|
totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP); |
|
|
|
} else { |
|
|
|
// 栈板不存在时,根据装箱明细的物料计算体积 |
|
|
|
totalVolume = calculateVolumeByMaterials(notifyHeader); |
|
|
|
// 栈板不存在时,取发货通知单头表的总箱体积字段(ecss_CoDelNotifyHeader.total_volume),如果为空则默认为0 |
|
|
|
totalVolume = notifyHeader.getTotalVolume() != null ? notifyHeader.getTotalVolume().setScale(2, RoundingMode.HALF_UP) : BigDecimal.ZERO; |
|
|
|
} |
|
|
|
template.addVar("Measurement", totalVolume); |
|
|
|
template.addListVarAll(exportList); |
|
|
|
@ -3323,8 +3295,8 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService { |
|
|
|
} |
|
|
|
totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP); |
|
|
|
} else { |
|
|
|
// 栈板不存在时,根据装箱明细的物料计算体积 |
|
|
|
totalVolume = calculateVolumeByMaterials(notifyHeader); |
|
|
|
// 栈板不存在时,取发货通知单头表的总箱体积字段(ecss_CoDelNotifyHeader.total_volume),如果为空则默认为0 |
|
|
|
totalVolume = notifyHeader.getTotalVolume() != null ? notifyHeader.getTotalVolume().setScale(2, RoundingMode.HALF_UP) : BigDecimal.ZERO; |
|
|
|
} |
|
|
|
template.addVar("volume", totalVolume); |
|
|
|
template.addVar("highest", palletHeaderData.isPresent() ?palletHeaderData.get().getVolume():""); |
|
|
|
|