Browse Source

预装箱单导出

huxy 2 years ago
parent
commit
520d452ae7

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java

@@ -985,6 +985,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
         Page<SyPreAssembledPackingListVo> page = new Page<SyPreAssembledPackingListVo>(1, 10000);
         Result result=new Result();
         try{
+            long startTime = System.currentTimeMillis();
             List<SyPreAssembledPackingListVo> pageLists = syPreAssembledPackingListService.selectPage2( queryWrapper);
             if(pageLists.size()==0){
                 result.setResult(null);
@@ -1010,10 +1011,7 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
                     ids.put(vo.getSmallPo()+vo.getPreDeliveryDate()+vo.getPrice()+vo.getMaterialComposition(),list);
                 }
             }
-            long startTime = System.currentTimeMillis();
             List<SyPreAssembledPackingList> temps=syPreAssembledPackingListService.queryById2(ids,allIds);
-            long endTime = System.currentTimeMillis();
-            System.out.println("查数据时间:" + (endTime - startTime) + "ms");
             String load="D:\\单证模板\\预装箱单列表导出test.xlsx";//事件
             int count = temps.size();//分几条sheet
             File file=new File(load);
@@ -1037,6 +1035,8 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
             result.setCode(200);
             result.setMessage("导出成功!");
             result.setSuccess(true);
+            long endTime = System.currentTimeMillis();
+            System.out.println("导出的时间:" + (endTime - startTime) + "ms");
         }catch (Exception e){
             e.printStackTrace();
             result.setMessage(e.getMessage());

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/SyPreAssembledPackingListMapper.java

@@ -43,4 +43,5 @@ public interface SyPreAssembledPackingListMapper extends BaseMapper<SyPreAssembl
    int selectByTailoring(String id);
 
    List<SyPreAssembledPackingList>  queryById2(@Param("list")String[] ids);
+
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListItemMapper.xml

@@ -251,7 +251,7 @@
 			#{value}
 		</foreach>
 		and b.del_flag=0  /*b.small_po,b.hod,b.unit_price,d.material_composition*/
-		group by b.size,b.small_po,b.hod,b.unit_price,d.material_composition
+		/*group by b.small_po,b.hod,b.unit_price,d.material_composition*/
 		order by itemId
 	</select>
 

+ 2 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/mapper/xml/SyPreAssembledPackingListMapper.xml

@@ -312,8 +312,8 @@
         SUM(a.total_Boxes) total_Boxes,/*件数*/
         SUM(a.total_net_weight) totalnetweight,/*总净重*/
         SUM(a.total_gross_weight) totalgrossweight,/*总毛重*/
-        SUM( a.total_volume) totalvolume,/*总体积*/
-        SUM( a.total_price) totalprice,/*总价*/
+        SUM(a.total_volume) totalvolume,/*总体积*/
+        SUM(a.total_price) totalprice,
         a.item_Number item_Number,
         b.small_Po order_Number,
         SUBSTRING(b.hod,1,10)  hod,
@@ -334,7 +334,6 @@
             #{value}
         </foreach>
         group by b.small_po,b.hod,b.unit_price,d.material_composition
-
 	</select>
 
 </mapper>

+ 46 - 11
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/impl/SyPreAssembledPackingListServiceImpl.java

@@ -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()]);