Browse Source

预装箱单导出

huxy 2 years ago
parent
commit
dab92fa3b7

+ 9 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/controller/SyPackingListTailoringController.java

@@ -589,27 +589,28 @@ public class SyPackingListTailoringController {
 			 }
 		 }
 		 Result result=new Result();
+		 long startTime = System.currentTimeMillis();
 		 try{
 			// QueryWrapper<SyPackingListTailoring> queryWrapper = QueryGenerator.initQueryWrapper(syPackingListTailoring, request.getParameterMap());
 			 //queryWrapper.eq("del_flag","0");
 			// queryWrapper.orderByDesc(	"create_time");//创建时间倒序
-			 long startTime = System.currentTimeMillis();
 			 List<SyPackingListTailoringVo> syPackingListTailoringVos = syPackingListTailoringService.selectList(page,queryWrapper).getRecords();
-			 long endTime = System.currentTimeMillis();
-			 System.out.println("全程的时间:" + (endTime - startTime) + "ms");
 			 if(syPackingListTailoringVos.size()==0){
 				 result.setResult(null);
 				 result.setMessage("导出失败!没有查询到数据");
 				 result.setSuccess(false);
 				 return result;
 			 }
-			 List<SyPackingListTailoring> temps=new ArrayList<>();
+			 List<String> ids=new ArrayList<>();
 			 for (SyPackingListTailoringVo temp : syPackingListTailoringVos) {
-				 QueryWrapper<SyPreAssembledPackingList> queryWrapper1 = new QueryWrapper<SyPreAssembledPackingList>();
+			 	 ids.add(temp.getId());
+				 /*QueryWrapper<SyPreAssembledPackingList> queryWrapper1 = new QueryWrapper<SyPreAssembledPackingList>();
 				 queryWrapper1.eq("id",temp.getId()).eq("del_flag",0);//预装箱单主表id
 				 SyPackingListTailoring entity=syPackingListTailoringService.queryId(temp.getId());//已筛选删除状态
-				 temps.add(entity);
+				 temps.add(entity);*/
 			 }
+			 String [] mainIds = ids.toArray(new String[ids.size()]);
+			 List<SyPackingListTailoring> temps=syPackingListTailoringService.queryIds(mainIds);//已筛选删除状态
 			 String load="D:\\单证模板\\装箱单成衣2.xlsx";
 			 int count = temps.size();//分几条sheet
 			 File file=new File(load);
@@ -642,6 +643,8 @@ public class SyPackingListTailoringController {
 			 result.setMessage(e.getMessage());
 			 result.setSuccess(false);
 		 }finally {
+			 long endTime = System.currentTimeMillis();
+			 System.out.println("全程的时间:" + (endTime - startTime) + "ms");
 			 return result;
 		 }
 

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/SyPackingListTailoringItemMapper.java

@@ -30,10 +30,14 @@ public interface SyPackingListTailoringItemMapper extends BaseMapper<SyPackingLi
 
 	public List<SyPackingListTailoringItem> queryId(String pId);
 
+	public List<SyPackingListTailoringItem> queryIds(@Param("list")String[] pIds);
+
 	public List<SizeTable>size(String group_id, String id);
 
 	public List<SizeTable> sizes(String id);
 
+	public List<SizeTable> sizeAlls(@Param("list")String[] ids);
+
     List<SyPackingListTailoringItem> getList(String id);
 
 	@InterceptorIgnore(tenantLine = "true")

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/SyPackingListTailoringMapper.java

@@ -25,6 +25,8 @@ public interface SyPackingListTailoringMapper extends BaseMapper<SyPackingListTa
 
     public SyPackingListTailoring getMainId(String id);
 
+    public List<SyPackingListTailoring> getMainIds(@Param("list")String[] ids);
+
     public void deleteByMainId(String id);
 
     public IPage<SyPackingListTailoringVo> selectList2(IPage<SyPackingListTailoringVo> page, @Param("ew") QueryWrapper<SyPackingListTailoringVo> queryWrapper);

+ 72 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringItemMapper.xml

@@ -191,6 +191,65 @@
 	order by starting_Box_Number+0
 	</select>
 
+	<select id="queryIds" resultType="org.jeecg.modules.splt.entity.SyPackingListTailoringItem">
+	SELECT
+		id,
+		sy_packing_list_tailoring_id,
+		sy_pre_assembled_packing_list_id,
+		ac_set_no,
+		garment_factory,
+		hod,
+		style_no,
+		po_no,
+		item_code,
+		distribution_point,
+		prepack_sku,
+		size,
+		starting_box_number,
+		end_case_number,
+		colour,
+		pieces_box,
+		box_number,/*箱数*/
+		SUM(total) total,/*件数*/
+		SUM(plan_Quantity) planQuantity,/*件数*/
+		net_weight,
+		total_net_weight total_net_weight,/*总净重*/
+		gross_weight,
+		total_gross_weight  total_gross_weight,/*总毛重*/
+		outer_box_length,
+		outer_Box_Width,
+		outer_Box_Height,
+		total_volume  total_volume,/*总体积*/
+		net_weight_too net_weight_too,/*净净重*/
+		unit_price,
+		sum(total_price)  total_price,/*总价*/
+		with_code,
+		inventory_name,
+		spur_or_sub_order,
+		factory_unit_price,/*成衣工厂*/
+		order_Number/*销售订单号号*/
+		master_Metering,/*计量单位*/
+		inventory_Code,/*存货编码*/
+		inventory_Ccode,/*区分成衣跟面辅料*/
+		supplier_Code,/*最底层供应商编码*/
+		supplier,/*最底层供应商名称*/
+		ompo_Account,/*采购委外账套号*/
+		ompo_Id,/*采购委外订单主表id*/
+		ompo_Id_Item,/*采购委外订单子表id*/
+		ymoney,/*佣金*/
+		plan_Size,/*计划尺码数量*/
+		remarks,/*备注*/
+		group_id
+	FROM  sy_packing_list_tailoring_item
+	WHERE sy_packing_list_tailoring_id  in
+	<foreach collection="list" item="value" index="index" open="(" separator="," close=")">
+		#{value}
+	</foreach>
+	 AND del_flag = 0
+	GROUP BY group_id
+	order by starting_Box_Number+0
+	</select>
+
 	<select id="size" resultType="org.jeecg.modules.spapl.entity.SizeTable">
        SELECT sy_packing_list_tailoring_item.size,alias,total quantity,box_Number,total/box_Number proportion,
 		sy_packing_list_tailoring_item.id itemId,num
@@ -211,6 +270,19 @@
 		 ORDER BY num
 	</select>
 
+	<select id="sizeAlls" resultType="org.jeecg.modules.spapl.entity.SizeTable">
+		SELECT sy_packing_list_tailoring_item.size,alias,total quantity,box_Number,total/box_Number proportion,
+		sy_packing_list_tailoring_id itemId,num,group_id
+		FROM sy_packing_list_tailoring_item
+		LEFT JOIN sizetable ON sy_packing_list_tailoring_item.`size`=sizetable.`size`
+		OR sy_packing_list_tailoring_item.`size`=sizetable.`alias`
+		 WHERE sy_packing_list_tailoring_id in
+		<foreach collection="list" item="value" index="index" open="(" separator="," close=")">
+			#{value}
+		</foreach>
+		 ORDER BY num
+	</select>
+
 	<select id="getList" parameterType="java.lang.String" resultType="org.jeecg.modules.splt.entity.SyPackingListTailoringItem">
 		SELECT
 		size,

+ 43 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/mapper/xml/syPackingListTailoringMapper.xml

@@ -177,13 +177,53 @@
          a.total_Net_Weight ,
          a.total_Gross_Weight ,
          a.total_Volume ,
-         a.total_Price ,
-        (SELECT english_product_name FROM  sy_declaration_elements WHERE id=a.elements_id) englishProductName ,/*英文文品名*/
-	    (SELECT declaration_name FROM  sy_declaration_elements WHERE id=a.elements_id) productName/*中文品名*/
+         a.total_Price
        from  sy_packing_list_tailoring a
        where id=#{value}
     </select>
 
+    <select id="getMainIds" resultType="org.jeecg.modules.splt.entity.SyPackingListTailoring">
+       select a.id,
+         a.sy_pre_assembled_packing_list_id,
+         a.document_No ,
+         a.pk_org ,
+         a.del_flag ,
+         a.order_number ,
+         a.item_number ,
+         a.size_range ,
+         a.customer ,
+         a.customer_abbreviation ,
+         a.container_code ,
+         a.container_number ,
+         a.export_invoice_no ,
+         a.u8_remarks,
+         a.shipping_order_number ,
+        (SELECT english_product_name FROM  sy_declaration_elements WHERE id=a.elements_id) englishProductName ,/*中文品名*/
+	    (SELECT declaration_name FROM  sy_declaration_elements WHERE id=a.elements_id) productName,/*英文品名*/
+         a.depositary_receipt_no ,
+         a.purchase ,
+         a.order_type ,
+         a.the_factory_price ,
+         a.Push_state ,
+         a.status ,
+         a.cause ,
+         a.whether_cloud_factory_push ,
+         a.accessory ,
+         a.total_Boxes ,
+         a.total ,
+         a.create_by ,
+         a.create_time ,
+         a.total_Net_Weight ,
+         a.total_Gross_Weight ,
+         a.total_Volume ,
+         a.total_Price
+        from  sy_packing_list_tailoring a
+        where id in
+        <foreach collection="list" item="value" index="index" open="(" separator="," close=")">
+            #{value}
+        </foreach>
+    </select>
+
     <select id="querySyShippingOrder" resultType="org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder">
         SELECT * FROM Sy_Shipping_Order
         WHERE ID IN (SELECT sy_Shipping_Order_Item_Id FROM Sy_Shipping_Order_ITEM

+ 8 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/ISyPackingListTailoringService.java

@@ -112,4 +112,12 @@ public interface ISyPackingListTailoringService extends IService<SyPackingListTa
 	public Map<String,Object> getSyShippingOrder(String id);
 
 	public List<SyPackingListTailoring> querySpaplIds(String[] ids);
+
+	/**
+	 * 根据装箱单主表id获取数据
+	 * @param ids
+	 * @return
+	 */
+	public List<SyPackingListTailoring> queryIds(String[] ids);
+
 }

+ 64 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/impl/SyPackingListTailoringServiceImpl.java

@@ -1586,4 +1586,68 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 			syPackingListTailoring.setSyPackingListTailoringItemList(items);
 		}*/
 	}
+
+	@Override
+	public List<SyPackingListTailoring> queryIds(String[] ids) {
+		List<SyPackingListTailoring> syPackingListTailorings=syPackingListTailoringMapper.getMainIds(ids);
+		List<SyPackingListTailoringItem> items=syPackingListTailoringItemMapper.queryIds(ids);
+		List<SizeTable> sizes=syPackingListTailoringItemMapper.sizeAlls(ids);//获取子表所有数据
+		Map<String,List<SyPackingListTailoringItem>> maps=new HashMap<>();
+		Map<String,List<SizeTable>> sizeMains=new HashMap<>();//主表数据
+		Map<String,List<SizeTable>> sizeItems=new HashMap<>();//子表数据
+
+		for (SizeTable sizeTable : sizes){//整理子表数据
+			if(sizeItems.containsKey(sizeTable.getGroupId())){
+				sizeItems.get(sizeTable.getGroupId()).add(sizeTable);
+			}else{
+				List<SizeTable> sizeTables=new ArrayList<>();
+				sizeTables.add(sizeTable);
+				sizeItems.put(sizeTable.getGroupId(),sizeTables);
+			}
+			if(sizeMains.containsKey(sizeTable.getItemId())){
+				List<SizeTable> sizeTables=sizeMains.get(sizeTable.getItemId());
+				boolean bool=true;
+				for (SizeTable sizeTable2 : sizeTables){
+					if(sizeTable.getSize().equals(sizeTable2.getSize())){
+						bool=false;
+						break;
+					}
+				}
+				if(bool){
+					sizeTables.add(sizeTable);
+				}
+				sizeMains.put(sizeTable.getItemId(),sizeTables);
+			}else{
+				List<SizeTable> sizeTables=new ArrayList<>();
+				sizeTables.add(sizeTable);
+				sizeMains.put(sizeTable.getItemId(),sizeTables);
+			}
+		}
+
+		for (SyPackingListTailoringItem item : items){
+			if(sizeItems.containsKey(item.getGroupId())){
+				item.setSizeTables(sizeItems.get(item.getGroupId()));
+			}
+			if(maps.containsKey(item.getSyPackingListTailoringId())){
+				List<SyPackingListTailoringItem> items1=maps.get(item.getSyPackingListTailoringId());
+				items1.add(item);
+				maps.put(item.getSyPackingListTailoringId(),items1);
+			}else{
+				List<SyPackingListTailoringItem> items1=new ArrayList<>();
+				items1.add(item);
+				maps.put(item.getSyPackingListTailoringId(),items1);
+			}
+		}
+		//syPackingListTailoring.setSizeTables(size);//获取id
+		for (SyPackingListTailoring entity : syPackingListTailorings){
+			if(sizeMains.containsKey(entity.getId())){
+				entity.setSizeTables(sizeMains.get(entity.getId()));
+			}
+			if(maps.containsKey(entity.getId())){
+				entity.setSyPackingListTailoringItemList(maps.get(entity.getId()));
+			}
+		}
+		//syPackingListTailoring.setSyPackingListTailoringItemList(items);
+		return syPackingListTailorings;
+	}
 }