|
|
|
@ -3189,6 +3189,23 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
List<Map> checkList = coDelMapper.selectPalletDetailList(boxData); |
|
|
|
// 记录当前箱子对应的exportList起始索引 |
|
|
|
int boxStartIndex = exportList.size(); |
|
|
|
|
|
|
|
// 判断当前箱子所有明细的rolls是否全部为空或0 |
|
|
|
boolean allDetailRollsEmptyOrZero = true; |
|
|
|
for (int j = 0; j < checkList.size(); j++) { |
|
|
|
Object rollsObj = checkList.get(j).get("rolls"); |
|
|
|
if (rollsObj != null) { |
|
|
|
BigDecimal rollsValue = (BigDecimal) rollsObj; |
|
|
|
if (rollsValue.compareTo(BigDecimal.ZERO) != 0) { |
|
|
|
allDetailRollsEmptyOrZero = false; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 获取box的rolls |
|
|
|
BigDecimal boxRolls = list.get(m).get("rolls") != null ? |
|
|
|
((BigDecimal) list.get(m).get("rolls")).setScale(0, RoundingMode.HALF_UP) : BigDecimal.ZERO; |
|
|
|
|
|
|
|
for (int i = 0; i < checkList.size(); i++) { |
|
|
|
Map eorder = checkList.get(i); |
|
|
|
String partNo = (String) eorder.get("part_no"); |
|
|
|
@ -3201,9 +3218,21 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
eorder.put("noCartons", isFirstRow ? noCartons.setScale(0, RoundingMode.HALF_UP) : ""); |
|
|
|
eorder.put("gross_weight", isFirstRow ? ((BigDecimal) list.get(m).get("gross_weight")).setScale(2, RoundingMode.HALF_UP) : ""); |
|
|
|
eorder.put("net_weight", isFirstRow ? ((BigDecimal) list.get(m).get("net_weight")).setScale(2, RoundingMode.HALF_UP) : ""); |
|
|
|
BigDecimal cuRolls = eorder.get("rolls") !=null?((BigDecimal)eorder.get("rolls")).setScale(0, RoundingMode.HALF_UP):BigDecimal.valueOf(0.0); |
|
|
|
eorder.put("rolls", cuRolls); |
|
|
|
rolls = rolls.add(cuRolls); |
|
|
|
|
|
|
|
// rolls处理:如果明细的rolls全部为空或0,则取box的rolls;合箱时合并居中显示 |
|
|
|
if (allDetailRollsEmptyOrZero) { |
|
|
|
// 使用box的rolls,合箱时只在第一行显示(用于合并单元格居中) |
|
|
|
eorder.put("rolls", isFirstRow ? boxRolls : ""); |
|
|
|
if (isFirstRow) { |
|
|
|
rolls = rolls.add(boxRolls); |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 使用明细的rolls |
|
|
|
BigDecimal cuRolls = eorder.get("rolls") != null ? |
|
|
|
((BigDecimal) eorder.get("rolls")).setScale(0, RoundingMode.HALF_UP) : BigDecimal.ZERO; |
|
|
|
eorder.put("rolls", cuRolls); |
|
|
|
rolls = rolls.add(cuRolls); |
|
|
|
} |
|
|
|
EcssCoDelNotifyDetailData nodifyData = notifyDetailMap.get(partNo); |
|
|
|
// 只有RFID需要 |
|
|
|
String lossratio=""; |
|
|
|
@ -3238,6 +3267,10 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
template.addMergeRegion(boxStartIndex, boxEndIndex, 6); |
|
|
|
// 合并毛重列(第7列,索引7) |
|
|
|
template.addMergeRegion(boxStartIndex, boxEndIndex, 7); |
|
|
|
// 如果明细rolls全为空/0,使用box的rolls时需要合并居中显示(第5列,索引5) |
|
|
|
if (allDetailRollsEmptyOrZero) { |
|
|
|
template.addMergeRegion(boxStartIndex, boxEndIndex, 8); |
|
|
|
} |
|
|
|
} |
|
|
|
totalCartons = totalCartons.add(list.get(m).get("box_qty") !=null? new BigDecimal(list.get(m).get("box_qty").toString()) : BigDecimal.valueOf(0.0)); |
|
|
|
grossWeight = grossWeight.add(list.get(m).get("gross_weight") !=null?new BigDecimal(list.get(m).get("gross_weight").toString()):BigDecimal.valueOf(0.0)); |
|
|
|
@ -3894,7 +3927,7 @@ public class CoDelServiceImpl implements CoDelService { |
|
|
|
} |
|
|
|
//notifyHeader.setModifyFlag(false); |
|
|
|
coDelMapper.updateEcssDelHeaderForModify(notifyHeader); |
|
|
|
coDelMapper.updateEcssDelDetailForModify(notifyHeader); |
|
|
|
coDelMapper.updateEcssDelDetailSurplusQty(notifyHeader); |
|
|
|
|
|
|
|
// 如果状态为已报关,发送邮件通知创建人 |
|
|
|
if (isCustomsCleared) { |
|
|
|
|