|
@@ -3,6 +3,7 @@ package org.jeecg.modules.spapl.service.impl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import org.hibernate.engine.jdbc.Size;
|
|
|
import org.jeecg.common.exception.JeecgBootException;
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDepositItem;
|
|
@@ -838,16 +839,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
public List<SyPreAssembledPackingList> queryById2(Map<String, List<String>> ids, List<String> allIds){
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
String [] arraySizes= allIds.toArray(new String[allIds.size()]);
|
|
|
+ Map<String, SyPreAssembledPackingList> bigDecimalMaps=new HashMap<>();
|
|
|
List<SyPreAssembledPackingList> lists=syPreAssembledPackingListMapper.queryById2(arraySizes);
|
|
|
-
|
|
|
List<SyPreAssembledPackingListItem> itemLists= syPreAssembledPackingListItemMapper.selectByMainIds(arraySizes);
|
|
|
List<SizeTable> sizeLists=syPreAssembledPackingListItemMapper.querySize3(arraySizes);//主表尺码
|
|
|
List<SizeTable> sizeLists2=syPreAssembledPackingListItemMapper.queryAllSize(arraySizes);//子表尺码
|
|
|
-
|
|
|
Map<String,List<SyPreAssembledPackingListItem>> maplItems=new HashMap<>();
|
|
|
Map<String,List<SizeTable>> mapMainSizes=new HashMap<>();//主表尺码
|
|
|
Map<String,List<SizeTable>> mapItemSizes=new HashMap<>();//子表尺码
|
|
|
-
|
|
|
for (SizeTable size : sizeLists2){//子表尺码
|
|
|
if(mapItemSizes.containsKey(size.getGroupId())){//有
|
|
|
mapItemSizes.get(size.getGroupId()).add(size);
|
|
@@ -857,19 +856,48 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
mapItemSizes.put(size.getGroupId(),items);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
for (SizeTable size : sizeLists){//主表尺码
|
|
|
if(mapMainSizes.containsKey(size.getGroupName())){//有
|
|
|
- mapMainSizes.get(size.getGroupName()).add(size);
|
|
|
+ List<SizeTable> items=mapMainSizes.get(size.getGroupName());//很多尺码
|
|
|
+ boolean bool=true;
|
|
|
+ for (SizeTable sizeTable : items){
|
|
|
+ if(sizeTable.getSize().equals(size.getSize())){
|
|
|
+ bool=false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(bool){
|
|
|
+ items.add(size);
|
|
|
+ }
|
|
|
+ mapMainSizes.put(size.getGroupName(),items);
|
|
|
}else{
|
|
|
List<SizeTable> items=new ArrayList<>();
|
|
|
items.add(size);
|
|
|
mapMainSizes.put(size.getGroupName(),items);
|
|
|
}
|
|
|
}
|
|
|
- System.out.println("mapMainSizes\n"+mapMainSizes);
|
|
|
-
|
|
|
for (SyPreAssembledPackingListItem item : itemLists){//子表获取尺码
|
|
|
+ if(bigDecimalMaps.containsKey(item.getGroupName())){
|
|
|
+ SyPreAssembledPackingList list=bigDecimalMaps.get(item.getGroupName());
|
|
|
+ list.setTotal(list.getTotal().add(item.getTotal()));
|
|
|
+ list.setPrice(list.getPrice().add(list.getPrice()));
|
|
|
+ list.setTotalNetWeight(list.getTotalNetWeight().add(item.getTotalNetWeight()));
|
|
|
+ list.setTotalGrossWeight(list.getTotalGrossWeight().add(item.getTotalGrossWeight()));
|
|
|
+ list.setTotalPrice(list.getTotalPrice().add(item.getTotalPrice()));
|
|
|
+ list.setTotalBoxes(list.getTotalBoxes().add(item.getBoxNumber()));
|
|
|
+ list.setTotalVolume(list.getTotalVolume().add(item.getTotalVolume()));
|
|
|
+ bigDecimalMaps.put(item.getGroupName(),list);
|
|
|
+ }else{
|
|
|
+ SyPreAssembledPackingList list=new SyPreAssembledPackingList();
|
|
|
+ list.setTotal(item.getTotal());
|
|
|
+ list.setPrice(item.getUnitPrice());
|
|
|
+ list.setTotalVolume(item.getTotalVolume());
|
|
|
+ list.setTotalNetWeight(item.getTotalNetWeight());
|
|
|
+ list.setTotalGrossWeight(item.getTotalGrossWeight());
|
|
|
+ list.setTotalPrice(item.getTotalPrice());
|
|
|
+ list.setTotalBoxes(item.getBoxNumber());
|
|
|
+ bigDecimalMaps.put(item.getGroupName(),list);
|
|
|
+ }
|
|
|
if(mapItemSizes.containsKey(item.getGroupId())){
|
|
|
item.setSizeTables(mapItemSizes.get(item.getGroupId()));
|
|
|
}
|
|
@@ -881,8 +909,15 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
maplItems.put(item.getGroupName(),items);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
for (SyPreAssembledPackingList entity : lists){//主表获取子表数据
|
|
|
+ SyPreAssembledPackingList list=bigDecimalMaps.get(entity.getGroupName());
|
|
|
+ entity.setTotal(list.getTotal());
|
|
|
+ entity.setPrice(list.getPrice());
|
|
|
+ entity.setTotalVolume(list.getTotalVolume());
|
|
|
+ entity.setTotalNetWeight(list.getTotalNetWeight());
|
|
|
+ entity.setTotalGrossWeight(list.getTotalGrossWeight());
|
|
|
+ entity.setTotalPrice(list.getTotalPrice());
|
|
|
+ entity.setTotalBoxes(list.getTotalBoxes());
|
|
|
if(mapMainSizes.containsKey(entity.getGroupName())){
|
|
|
entity.setSizeTables(mapMainSizes.get(entity.getGroupName()));
|
|
|
}
|
|
@@ -890,6 +925,9 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
entity.setSyPreAssembledPackingListItemList(maplItems.get(entity.getGroupName()));
|
|
|
}
|
|
|
}
|
|
|
+ long endTime3 = System.currentTimeMillis();
|
|
|
+ System.out.println("查数据时间运行:" + (endTime3 - startTime) + "ms");
|
|
|
+ return lists;
|
|
|
/*for (SyPreAssembledPackingList entity :lists){
|
|
|
System.out.println("entity.getname\t"+entity.getGroupName());
|
|
|
List<String> idList=ids.get(entity.getGroupName());
|
|
@@ -923,9 +961,6 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
|
|
|
entity.setSyPreAssembledPackingListItemList(itemList);
|
|
|
//lists.add(entity);
|
|
|
}*/
|
|
|
- long endTime3 = System.currentTimeMillis();
|
|
|
- System.out.println("查数据时间运行:" + (endTime3 - startTime) + "ms");
|
|
|
- return lists;
|
|
|
/*for (String key : ids.keySet()){
|
|
|
//List<String> idList=ids.get(key);
|
|
|
//String[] arrasId=idList.toArray(new String[idList.size()]);
|