Browse Source

栈板不存在时,取发货通知单头表的总箱体积字段(ecss_CoDelNotifyHeader.total_volume),如果为空则默认为0

master
han\hanst 2 weeks ago
parent
commit
b126bda02d
  1. 3
      src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java
  2. 60
      src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java
  3. 4
      src/main/resources/mapper/ecss/CoDelMapper.xml

3
src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java

@ -58,6 +58,9 @@ public interface CoDelMapper {
List<PartData> getPartInfo(@Param("site") String site, @Param("partNo") String partNo); List<PartData> getPartInfo(@Param("site") String site, @Param("partNo") String partNo);
void updateEcssDelHeader(EcssCoDelNotifyHeaderData data); void updateEcssDelHeader(EcssCoDelNotifyHeaderData data);
void updateEcssDelHeaderVolume(EcssCoDelNotifyHeader data);
void updateEcssDelHeaderForModify(EcssCoDelNotifyHeaderData data); void updateEcssDelHeaderForModify(EcssCoDelNotifyHeaderData data);
// 专门更新客户信息 // 专门更新客户信息

60
src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java

@ -625,35 +625,6 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService {
} else { } else {
PartData partData = parts.getFirst(); PartData partData = parts.getFirst();
detail.setPartNo(partData.getPartNo()); 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("名称")) detail.setPartDescription(getMergedCellValue(sheet, r, headerMap.get("名称")));
if (headerMap.containsKey("Manufacturer Name")) detail.setManufacturerName(getMergedCellValue(sheet, r, headerMap.get("Manufacturer Name"))); 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 // 3. 托盘信息 EcssCoDelPalletHeader
String palletQtyStr = headerMap.containsKey("托数") ? getMergedCellValue(sheet, r, headerMap.get("托数")) : null; 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; BigDecimal volume = BigDecimal.ZERO;
if (headerMap.containsKey("总体积")) { if (headerMap.containsKey("总体积")) {
int volumeCol = headerMap.get("总体积"); int volumeCol = headerMap.get("总体积");
@ -708,9 +674,12 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService {
volume = parseBigDecimal(getMergedCellValue(sheet, r, volumeCol)); 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); String palletNo = palletSeqNo + "~" + (palletSeqNo + palletCount - 1);
EcssCoDelPalletHeader palletHeader = new EcssCoDelPalletHeader(); EcssCoDelPalletHeader palletHeader = new EcssCoDelPalletHeader();
palletHeader.setSite(site); palletHeader.setSite(site);
palletHeader.setBuNo(data.getBuNo()); palletHeader.setBuNo(data.getBuNo());
@ -736,6 +705,9 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService {
currentPalletSeqNo = palletSeqNo; currentPalletSeqNo = palletSeqNo;
palletSeqNo += palletCount; palletSeqNo += palletCount;
} }
} else {
header.setTotalVolume(volume);
coDelMapper.updateEcssDelHeaderVolume(header);
} }
// 4. 箱信息 EcssCoDelBoxList // 4. 箱信息 EcssCoDelBoxList
@ -2690,8 +2662,8 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService {
} }
totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP); totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP);
} else { } 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.addVar("Measurement", totalVolume);
template.addListVarAll(exportList); template.addListVarAll(exportList);
@ -2936,8 +2908,8 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService {
} }
totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP); totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP);
} else { } 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.addVar("Measurement", totalVolume);
template.addListVarAll(exportList); template.addListVarAll(exportList);
@ -3187,8 +3159,8 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService {
} }
totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP); totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP);
} else { } 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.addVar("Measurement", totalVolume);
template.addListVarAll(exportList); template.addListVarAll(exportList);
@ -3323,8 +3295,8 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService {
} }
totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP); totalVolume = totalVolume.setScale(2, RoundingMode.HALF_UP);
} else { } 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("volume", totalVolume);
template.addVar("highest", palletHeaderData.isPresent() ?palletHeaderData.get().getVolume():""); template.addVar("highest", palletHeaderData.isPresent() ?palletHeaderData.get().getVolume():"");

4
src/main/resources/mapper/ecss/CoDelMapper.xml

@ -237,6 +237,10 @@
where site=#{site} and delNo=#{delNo} where site=#{site} and delNo=#{delNo}
</update> </update>
<update id="updateEcssDelHeaderVolume" >
update ecss_CoDelNotifyHeader set totalVolume=#{totalVolume,jdbcType=DECIMAL} where site=#{site} and delNo=#{delNo}
</update>
<!-- 专门更新客户信息的方法 --> <!-- 专门更新客户信息的方法 -->
<update id="updateCustomerInfo"> <update id="updateCustomerInfo">
update ecss_CoDelNotifyHeader update ecss_CoDelNotifyHeader

Loading…
Cancel
Save