Browse Source

装箱明细导入全部按序号分组

java8
han\hanst 12 months ago
parent
commit
9b7916b077
  1. 15
      src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java
  2. 10
      src/main/resources/mapper/ecss/EcssCommonMapper.xml

15
src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java

@ -577,13 +577,16 @@ public class CoDelServiceImpl implements CoDelService {
EcssCoDelPalletData excelData = new EcssCoDelPalletData();
// 获得该行
XSSFRow row = sheet.getRow(j);
if ((inData.getWalMartOrderFlag()==null || inData.getWalMartOrderFlag().equals("N")) && row.getCell(0) == null) {
throw new RuntimeException("第" + j + "行的序号不能为空!");
}
if (row.getCell(4) == null) {
throw new RuntimeException("第" + j + "行的PN不能为空!");
}
if (row.getCell(5) == null) {
throw new RuntimeException("第" + j + "行的数量不能为空!");
}
excelData.setSeqNo(getIntegerCellValue(row, 0));
excelData.setSeqNo((inData.getWalMartOrderFlag()!=null && inData.getWalMartOrderFlag().equals("Y"))?j:getIntegerCellValue(row, 0));
// 为对象赋值
excelData.setSite(inData.getSite()); // site
excelData.setBuNo(inData.getBuNo()); // bu
@ -614,16 +617,16 @@ public class CoDelServiceImpl implements CoDelService {
}
// 如果是沃尔玛订单按照pn分组同一个pn是一个EcssCoDelPalletHeaderData
// 如果是非沃尔玛订单按照序号分组同一个序号是一个EcssCoDelPalletHeaderData
Map<String, List<EcssCoDelPalletData>> palletListMap = new HashMap<>();
Map<Integer, List<EcssCoDelPalletData>> palletListMap = new HashMap<>();
Map<Integer, List<EcssCoDelPalletData>> palletListMap2 = new HashMap<>();
if (inData.getWalMartOrderFlag()!=null && inData.getWalMartOrderFlag().equals("Y")) {
for (EcssCoDelPalletData itemData : excelList){
if (palletListMap.containsKey(itemData.getPn())) {
palletListMap.get(itemData.getPn()).add(itemData);
if (palletListMap.containsKey(itemData.getSeqNo())) {
palletListMap.get(itemData.getSeqNo()).add(itemData);
} else {
List<EcssCoDelPalletData> palletDataList = new ArrayList<>();
palletDataList.add(itemData);
palletListMap.put(itemData.getPn(),palletDataList);
palletListMap.put(itemData.getSeqNo(),palletDataList);
}
}
} else {
@ -648,7 +651,7 @@ public class CoDelServiceImpl implements CoDelService {
List<EcssCoDelPalletDetailData> detailList = new ArrayList<>();
int seqNo = 0;
// palletListMap里每一个key生成一个EcssCoDelPalletHeaderData每一个value生成一组EcssCoDelPalletDetailData
for (Map.Entry<String, List<EcssCoDelPalletData>> entry : palletListMap.entrySet()) {
for (Map.Entry<Integer, List<EcssCoDelPalletData>> entry : palletListMap.entrySet()) {
seqNo++;
EcssCoDelPalletHeaderData headerData = new EcssCoDelPalletHeaderData();
headerData.setSite(inData.getSite());

10
src/main/resources/mapper/ecss/EcssCommonMapper.xml

@ -23,4 +23,14 @@
</if>
</where>
</select>
<select id="searchEcssCoDelNotifyDetail" resultType="java.util.Map">
select a.*,#{cmcInvoice} as cmcInvoice
from ecss_CoDelNotifydetail a
<where>
And a.site = #{site}
AND a.delNo = #{delNo}
</where>
order by a.item_no
</select>
</mapper>
Loading…
Cancel
Save