|
|
|
@ -2601,7 +2601,7 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
// 每一个物料加属性对应一个属性,用来下面遍历发货通知单明细时获取具体属性值 |
|
|
|
Map<String, List<PartSubPropertiesValueData>> partNoAndItemNoMap = propertiesValues.stream() |
|
|
|
.collect(Collectors.groupingBy(PartSubPropertiesValue::getPropertiesItemNo)); |
|
|
|
int qty = ((BigDecimal)eorder.get("qty")).setScale(0, RoundingMode.HALF_UP).intValue(); |
|
|
|
BigDecimal qty = ((BigDecimal)eorder.get("qty")).setScale(6, RoundingMode.HALF_UP); |
|
|
|
BigDecimal fscW = fscWeight(partNoAndItemNoMap,partNo, qty, nodifyData.getLossratio()); |
|
|
|
lossratio = (fscW.compareTo(BigDecimal.ZERO)>0?"\n"+"FSC Mix Credit SGSHK-COC-321321":"")+ |
|
|
|
"\n" + (nodifyData.getEhundred()!=null && StringUtils.isNotEmpty(nodifyData.getEhundred()) |
|
|
|
@ -2731,7 +2731,7 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
BigDecimal grossWeight = BigDecimal.valueOf(0.0); |
|
|
|
BigDecimal netWeight = BigDecimal.valueOf(0.0); |
|
|
|
BigDecimal rolls = BigDecimal.valueOf(0.0); |
|
|
|
int totalQty = 0; |
|
|
|
BigDecimal totalQty = BigDecimal.valueOf(0.0); |
|
|
|
List<Map> exportList = new ArrayList<>();//全部需要导出的明细 |
|
|
|
EcssCoDelPalletHeaderData boxData = new EcssCoDelPalletHeaderData(); |
|
|
|
boxData.setSite(data.getSite()); |
|
|
|
@ -2749,10 +2749,10 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
for (int i = 0; i < checkList.size(); i++) { |
|
|
|
Map eorder = checkList.get(i); |
|
|
|
String partNo = (String) eorder.get("part_no"); |
|
|
|
int qty = ((BigDecimal)eorder.get("qty")).setScale(0, RoundingMode.HALF_UP).intValue(); |
|
|
|
totalQty = totalQty + qty; |
|
|
|
BigDecimal qty = ((BigDecimal)eorder.get("qty")).setScale(6, RoundingMode.HALF_UP); |
|
|
|
totalQty = totalQty.add(qty); |
|
|
|
BigDecimal noCartons = list.get(m).get("box_qty")!=null?(BigDecimal) list.get(m).get("box_qty"):BigDecimal.ZERO; |
|
|
|
eorder.put("total_qty", ((BigDecimal)eorder.get("qty")).setScale(0, RoundingMode.HALF_UP).intValue()); |
|
|
|
eorder.put("total_qty", ((BigDecimal)eorder.get("qty")).setScale(6, RoundingMode.HALF_UP)); |
|
|
|
// 合箱时:第一行显示数值,用于合并单元格居中显示 |
|
|
|
boolean isFirstRow = (i == 0); |
|
|
|
eorder.put("noCartons", isFirstRow ? noCartons.setScale(0, RoundingMode.HALF_UP) : ""); |
|
|
|
@ -2845,7 +2845,7 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
template.addVar("total_weight", (grossWeight.add(palletWeight)).setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("total_netweight", netWeight.setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("total_box", totalCartons.setScale(0, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("total_qty", totalQty); |
|
|
|
template.addVar("goods_total_qty", totalQty); |
|
|
|
template.addVar("total_rolls", rolls.setScale(0, RoundingMode.HALF_UP)); |
|
|
|
// 下面是可选的或者手动维护的 |
|
|
|
// RFID需要的 |
|
|
|
@ -3076,7 +3076,7 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
for (int i = 0; i < checkList.size(); i++) { |
|
|
|
Map eorder = checkList.get(i); |
|
|
|
String partNo = (String) eorder.get("part_no"); |
|
|
|
int qty = ((BigDecimal) eorder.get("qty")).setScale(0, RoundingMode.HALF_UP).intValue(); |
|
|
|
BigDecimal qty = ((BigDecimal) eorder.get("qty")).setScale(6, RoundingMode.HALF_UP); |
|
|
|
eorder.put("total_qty", qty); |
|
|
|
//totalQty += qty; |
|
|
|
|
|
|
|
@ -3261,7 +3261,7 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
template.addVar("total_weight", (grossWeight.add(palletWeight)).setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("total_netweight", netWeight.setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("total_box", totalCartons.setScale(0, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("total_qty", totalQty); |
|
|
|
template.addVar("goods_total_qty", totalQty); |
|
|
|
template.addVar("total_rolls", rolls.setScale(0, RoundingMode.HALF_UP)); |
|
|
|
|
|
|
|
// RFID和Label需要的额外信息 |
|
|
|
@ -3321,7 +3321,9 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
} |
|
|
|
// 装箱明细 |
|
|
|
List<Map> palletDetailList = coDelMapper.exportCoDelPalletDetail(notifyHeader); |
|
|
|
int totalQty=palletDetailList.stream().mapToInt(o -> Integer.parseInt(o.get("total_qty").toString())).sum(); |
|
|
|
BigDecimal totalQty = palletDetailList.stream() |
|
|
|
.map(o -> new BigDecimal(o.get("total_qty").toString())) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
Map<Object, Map> palletMap = palletDetailList.stream().collect(Collectors.toMap( o -> o.get("part_no"), o -> o)); |
|
|
|
template.addVar("hs_code_desc", stringInput(nodifyDetailList.get(0).get("hsCodeDescEn")!=null?sbEn.toString():"")); |
|
|
|
String hsCodes = nodifyDetailList.stream() |
|
|
|
@ -3371,7 +3373,7 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
totalPlt+"PLT("+ecHeader.getBoxQty()+"CTN)"):""); |
|
|
|
|
|
|
|
template.addVar("price", ttlAmount.setScale(2, RoundingMode.HALF_UP)); |
|
|
|
template.addVar("total_qty", totalQty); |
|
|
|
template.addVar("goods_total_qty", totalQty); |
|
|
|
// 托盘重量=根据每个pallet的重量*数量累加 |
|
|
|
BigDecimal palletWeight = BigDecimal.ZERO; |
|
|
|
for (EcssCoDelPalletHeaderData palletHeader : palletHeaderDataList) { |
|
|
|
@ -3622,7 +3624,7 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
* 计算FSC纸重量 |
|
|
|
*/ |
|
|
|
private BigDecimal fscWeight(Map<String, List<PartSubPropertiesValueData>> partNoAndItemNoMap, String partNo, |
|
|
|
int totalQty, String lossratio) { |
|
|
|
BigDecimal totalQty, String lossratio) { |
|
|
|
PartSubPropertiesValueData FSC001 = partNoAndItemNoMap.get("FSC001")==null?null:partNoAndItemNoMap.get("FSC001").get(0);//P距 |
|
|
|
PartSubPropertiesValueData FSC002 = partNoAndItemNoMap.get("FSC002")==null?null:partNoAndItemNoMap.get("FSC002").get(0);//排数 |
|
|
|
PartSubPropertiesValueData FSC003 = partNoAndItemNoMap.get("FSC003")==null?null:partNoAndItemNoMap.get("FSC003").get(0);//1米标签面积 |
|
|
|
@ -3661,13 +3663,12 @@ public class CoDelExcelServiceImpl implements CoDelExcelService { |
|
|
|
return fscWeight.add(fscWeight2).setScale(2, RoundingMode.DOWN); |
|
|
|
} |
|
|
|
|
|
|
|
private BigDecimal getFSC(int totalQty, String lossratio, |
|
|
|
private BigDecimal getFSC(BigDecimal totalQty, String lossratio, |
|
|
|
BigDecimal bom, BigDecimal row, BigDecimal area, BigDecimal width, BigDecimal pju) { |
|
|
|
BigDecimal fscWeight; |
|
|
|
BigDecimal qianzhang = ((bom.divide(row,6, RoundingMode.HALF_UP)).multiply(pju)). |
|
|
|
divide(BigDecimal.valueOf(1000),6, RoundingMode.HALF_UP); |
|
|
|
fscWeight = qianzhang.multiply(BigDecimal.valueOf(totalQty). |
|
|
|
divide(BigDecimal.valueOf(1000),6, RoundingMode.HALF_UP)). |
|
|
|
fscWeight = qianzhang.multiply(totalQty.divide(BigDecimal.valueOf(1000),6, RoundingMode.HALF_UP)). |
|
|
|
multiply(width.divide(BigDecimal.valueOf(1000),6, RoundingMode.HALF_UP)). |
|
|
|
multiply(BigDecimal.valueOf(0.16)). |
|
|
|
multiply(area.divide(width.divide(BigDecimal.valueOf(1000),6, RoundingMode.HALF_UP),6, RoundingMode.HALF_UP)). |
|
|
|
|