| 
					
				 | 
			
			
				@@ -61,6 +61,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	BigDecimal add(List<SyPreAssembledPackingListItem> items,String pid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		BigDecimal box=new BigDecimal(0);//获取总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,BigDecimal> maps=new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (SyPreAssembledPackingListItem item : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			item.setSyPreAssembledPackingListId(pid);//获取主表id 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -114,9 +115,20 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//syItem.setExcessQuantity(syItem.getSurplusQuantity().subtract(item1.getTotal()).negate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//syItem.setIsReference(1);//标识已被参照 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//syShippingDetailsItemMapper.updateById(syItem);//修改发运明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				updateQuantity(item1.getTotal(),item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(item1.getTotal().doubleValue()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(maps.containsKey(item.getSyDeclarationElementsItemId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						maps.put(item1.getSyDeclarationElementsItemId(),maps.get(item1.getSyDeclarationElementsItemId()).add(item1.getTotal())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						maps.put(item1.getSyDeclarationElementsItemId(),item1.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//updateQuantity(item1.getTotal(),item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (String key : maps.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//updateQuantity(maps.get(key),key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -176,7 +188,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					item1.setSyPreAssembledPackingListId(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					item1.setId(oConvertUtils.id());//获取到随机id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					syPreAssembledPackingListItemMapper.insert(item1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					updateQuantity(item1.getTotal(),item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//updateQuantity(item1.getTotal(),item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					QueryWrapper queryWrapper=new QueryWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					queryWrapper.eq("id", item1.getId());//子表id 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -184,7 +196,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					BigDecimal total=syPreAssembledPackingListItemMapper.selectOne(queryWrapper).getTotal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					total=total.subtract(item.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					syPreAssembledPackingListItemMapper.updateById(item1);//如果没修改成功就是新增数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					updateQuantity(total.negate(),item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//updateQuantity(total.negate(),item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//这个构造器用来获取预装箱单里所有参照了改发运明细数量的合计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				/*QueryWrapper<SyPreAssembledPackingListItem> queryWrapperCount =new QueryWrapper<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -294,12 +306,29 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public Integer delMain(String id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		long startTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPreAssembledPackingListItem> items2=syPreAssembledPackingListItemMapper.selectAll(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,BigDecimal> maps=new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (SyPreAssembledPackingListItem item : items2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(item.getTotal()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				updateQuantity(item.getTotal().negate(),item.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(item.getTotal().doubleValue()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(maps.containsKey(item.getSyDeclarationElementsItemId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						maps.put(item.getSyDeclarationElementsItemId(),maps.get(item.getSyDeclarationElementsItemId()).add(item.getTotal())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						maps.put(item.getSyDeclarationElementsItemId(),item.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					//updateQuantity(item1.getTotal(),item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (String key : maps.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//updateQuantity(maps.get(key).negate(),key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		/*for (SyPreAssembledPackingListItem item : items2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(item.getTotal()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				updateQuantity(item.getTotal().negate(),item.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		QueryWrapper<SyPreAssembledPackingListItem> queryWrapperCount =new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		queryWrapperCount.select("id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		queryWrapperCount.ne("del_Flag","0"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -307,22 +336,6 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<Object> objs=syPreAssembledPackingListItemMapper.selectObjs(queryWrapperCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListItemMapper.deleteByMainId(id);//将删除状态更改为1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		int row=syPreAssembledPackingListMapper.deleteId(id);//将删除状态更改为1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//根据主表id获取所有的子表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//问题:这样会查询到上次就已经删除的数据,数据会乱 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//思路:让上次被删除的数据避免被重用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		/*for(SyPreAssembledPackingListItem item : items2){//要根据这个去改变对应发运明细的剩余数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(objs.indexOf(item.getId())!=-1){//如果这条数据已经被删除的数据就执行下条数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//获取发育明细数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			SyShippingDetailsItem syItem=syShippingDetailsItemMapper.selectById(item.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//预装箱单装箱数量-x=剩余数量+x 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			syItem.setSurplusQuantity(syItem.getSurplusQuantity().add(item.getTotal())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//超发数量=剩余数量-本次删除次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			syItem.setExcessQuantity(syItem.getSurplusQuantity().subtract(item.getTotal())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			syShippingDetailsItemMapper.updateById(syItem);//修改数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		QueryWrapper queryWrapper=new QueryWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		queryWrapper.eq("sy_pre_assembled_packing_list_id",id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyLetterDepositItem> syLetterDepositItem=syLetterDepositItemMapper.selectList(queryWrapper); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -343,6 +356,8 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syLetterDepositMapper.update(null,wrapper1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		long endTime2 = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("删除时间:" + (endTime2 - startTime) + "ms"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -545,6 +560,28 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		boolean bool=false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPreAssembledPackingList> lists=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPreAssembledPackingListItem> listItems=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<SyPreAssembledPackingList> lists2=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//Map<String,> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<String> ids=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		long startTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (SyPreAssembledPackingList item : items1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<SyPreAssembledPackingListItem> listItems2=item.getSyPreAssembledPackingListItemList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (SyPreAssembledPackingListItem listItem : listItems2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				for (SizeTable sizeTable : listItem.getSizeTables()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					ids.add(sizeTable.getItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		QueryWrapper queryWrapper=new QueryWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		queryWrapper.in("id",ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<SyShippingDetailsItem> syItems=syShippingDetailsItemMapper.selectList(queryWrapper);//获取数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,SyShippingDetailsItem> mapItems=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (SyShippingDetailsItem item : syItems){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mapItems.put(item.getId(),item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		long endTime2 = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("批量查询时间:" + (endTime2 - startTime) + "ms"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			for(SyPreAssembledPackingList syPreAssembledPackingList : items1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				SimpleDateFormat sf = new SimpleDateFormat("yyMMddHHmmssSSS"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -562,7 +599,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syPreAssembledPackingList.setId(oConvertUtils.id()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//往主表添加数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				List<SyPreAssembledPackingListItem> items=syPreAssembledPackingList.getSyPreAssembledPackingListItemList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				Map<String,BigDecimal> maps=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//Map<String,BigDecimal> maps=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//System.out.println("items的长度\t"+items.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				for (SyPreAssembledPackingListItem item : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//	System.out.println("净重\t"+item.getTotalNetWeight()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -592,7 +629,8 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						item1.setId(oConvertUtils.id());//获取到随机id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						//item1.setRemainingQuantity(boxNumber);//剩余数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						//获取发育明细数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						SyShippingDetailsItem syItem=syShippingDetailsItemMapper.selectById(item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						//SyShippingDetailsItem syItem=syShippingDetailsItemMapper.selectById(item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						SyShippingDetailsItem syItem=mapItems.get(size.getItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if(syItem!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							item1.setPackId(syItem.getPackId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							item1.setUnitPrice(syItem.getSalesUnitPrice());//获取销售单价 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -626,14 +664,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							syItem.setExcessQuantity(item1.getTotal().subtract(syItem.getSurplusQuantity())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							//syItem.setIsReference(1);//标识已被参照 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							syShippingDetailsItemMapper.updateById(syItem);//修改发运明细*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							if(item1.getTotal().doubleValue()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							/*if(item1.getTotal().doubleValue()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								if(maps.containsKey(item.getSyDeclarationElementsItemId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 									maps.put(item1.getSyDeclarationElementsItemId(),maps.get(item1.getSyDeclarationElementsItemId()).add(item1.getTotal())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 									maps.put(item1.getSyDeclarationElementsItemId(),item1.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 								//updateQuantity(item1.getTotal(),item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						syPreAssembledPackingList.setTotalPrice(syPreAssembledPackingList.getTotalPrice().add(item1.getTotalPrice()));//获取总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if(size.getProportion()==0){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -641,13 +679,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						SyPreAssembledPackingListItem item2=new SyPreAssembledPackingListItem(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						BeanUtils.copyProperties(item1,item2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						item2.setPackId("测试文件"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						listItems.add(item2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						//syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				for (String key : maps.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			/*	for (String key : maps.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					//updateQuantity(maps.get(key),key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				SyShippingDetails syShippingDetails=syShippingDetailsMapper.selectById(syPreAssembledPackingList.getSyDeclarationElementsId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if(syShippingDetails!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					syPreAssembledPackingList.setCustomer(syShippingDetails.getCustomer()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -663,7 +702,6 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			bool=false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		long startTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListItemMapper.insertBatch(listItems); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		long endTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		System.out.println("批量插入时间:" + (endTime - startTime) + "ms"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -685,7 +723,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			String name=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			String ids=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			for (SyPreAssembledPackingListItem item :main.getSyPreAssembledPackingListItemList()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("size\t"+item.getSizeTables()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//System.out.println("size\t"+item.getSizeTables()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				total3=total3.add(item.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				int num2=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				for (SizeTable size : item.getSizeTables()){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -722,9 +760,6 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					//throw new JeecgBootException("该单据已被参照,请勿重复提交"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			System.out.println("本次数量\t"+total3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			System.out.println("现有数量\t"+total2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			System.out.println("原单据数量\t"+total1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			total4=total4.add(total2).add(total3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(total4.doubleValue()>total1.doubleValue()*1.9){//(本次数量+现有数量)>1.9*发货数量就报错 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				throw new JeecgBootException("本次导入数量+装箱单现有数量大于发货订单数量*1.9,请勿重复导入"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -802,9 +837,60 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public List<SyPreAssembledPackingList>  queryById2(Map<String, List<String>> ids, List<String> allIds){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		long startTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		System.out.println("idsmaps\t"+ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<SyPreAssembledPackingList> lists=syPreAssembledPackingListMapper.queryById2(allIds.toArray(new String[allIds.size()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for (SyPreAssembledPackingList entity :lists){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String [] arraySizes= allIds.toArray(new String[allIds.size()]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				List<SizeTable> items=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				items.add(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapItemSizes.put(size.getGroupId(),items); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (SizeTable size : sizeLists){//主表尺码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(mapMainSizes.containsKey(size.getGroupName())){//有 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapMainSizes.get(size.getGroupName()).add(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}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(mapItemSizes.containsKey(item.getGroupId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setSizeTables(mapItemSizes.get(item.getGroupId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(maplItems.containsKey(item.getGroupName())){//有 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				maplItems.get(item.getGroupName()).add(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				List<SyPreAssembledPackingListItem> items=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				items.add(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				maplItems.put(item.getGroupName(),items); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (SyPreAssembledPackingList entity : lists){//主表获取子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(mapMainSizes.containsKey(entity.getGroupName())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				entity.setSizeTables(mapMainSizes.get(entity.getGroupName())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(maplItems.containsKey(entity.getGroupName())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				entity.setSyPreAssembledPackingListItemList(maplItems.get(entity.getGroupName())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		/*for (SyPreAssembledPackingList entity :lists){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			System.out.println("entity.getname\t"+entity.getGroupName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<String> idList=ids.get(entity.getGroupName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			String[] arrasId=idList.toArray(new String[idList.size()]); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -836,7 +922,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			entity.setSyPreAssembledPackingListItemList(itemList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//lists.add(entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		long endTime3 = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		System.out.println("查数据时间运行:" + (endTime3 - startTime) + "ms"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return lists; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -876,6 +962,11 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return lists;*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public List<SyPreAssembledPackingList> selectPage3(QueryWrapper<SyPreAssembledPackingListVo> queryWrapper) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return syPreAssembledPackingListMapper.selectPage3(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public List<SizeTable> sort(List<SizeTable> sizes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		int i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for(SizeTable size : sizes){ 
			 |