| 
					
				 | 
			
			
				@@ -41,6 +41,7 @@ import org.jeecg.modules.splfi.entity.SyPackingListFabric; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.splfi.entity.SyPackingListFabricItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.splfi.mapper.SyPackingListFabricItemMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.splfi.mapper.SyPackingListFabricMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.modules.splfi.service.ISyPackingListFabricItemService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.splfi.service.ISyPackingListFabricService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.splfi.vo.SyPackingListFabricPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.splt.entity.SyPackingListTailoring; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -306,67 +307,75 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListFabricMapper.updateById(syPackingListFabric); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//1.先删除子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPackingListFabricItemMapper.deleteByMainId(syPackingListFabric.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//syPackingListFabricItemMapper.deleteByMainId(syPackingListFabric.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<SyPackingListFabricItem> items=syPackingListFabricItemMapper.selectByMainId(syPackingListFabric.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<SyPackingListFabricItem> items2=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,SyPackingListFabricItem> maps=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (SyPackingListFabricItem item : syPackingListFabricItemList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			maps.put(item.getId(),item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//2.子表数据重新插入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for(SyPackingListFabricItem entity:syPackingListFabricItemList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			entity.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//外键设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			entity.setSyPackingListFabricId(syPackingListFabric.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			/*if((entity.getInventoryCcode().indexOf("03")!=-1&&!entity.getInventoryCcode().equals("0399")) || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					(entity.getInventoryCcode().indexOf("02")!=-1&&!entity.getInventoryCcode().equals("0299"))|| 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					(entity.getInventoryCcode().indexOf("04")!=-1&&!entity.getInventoryCcode().equals("0499"))){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(entity.getMeter()!=null){//前端计算米数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					entity.setActualDeclaredQuantity(entity.getMeter());//修改报关数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(entity.getMasterMetering()!=null&&entity.getMasterMetering().equals("KG")){//计算总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(entity.getNetWeight()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					entity.setTotalPrice(entity.getNetWeight().multiply(entity.getPrice()));//净重*单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(entity.getActualDeclaredQuantity()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					entity.setTotalPrice(entity.getActualDeclaredQuantity().multiply(entity.getPrice()));//实际报关数量*单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			entity.setInventoryQuantity(entity.getActualDeclaredQuantity());//入库数量=实际报关数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(entity.getIsAdd()>0){//大于1就是新增数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				entity.setId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				syPackingListFabricItemMapper.insert(entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(entity.getMasterMetering()==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					throw new JeecgBootException("没有单位无法保存"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(entity.getMasterMetering().equals("KG")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//updateQuantity(entity.getNetWeight(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		int i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for(SyPackingListFabricItem entity : items) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(maps.containsKey(entity.getId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//entity.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//外键设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//entity.setSyPackingListFabricId(syPackingListFabric.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				SyPackingListFabricItem entity1=maps.get(entity.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				entity.setInventoryQuantity(entity.getActualDeclaredQuantity());//入库数量=实际报关数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(entity.getIsAdd()>0){//大于1就是新增数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					entity.setId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					syPackingListFabricItemMapper.insert(entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(entity.getMasterMetering()==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						throw new JeecgBootException("没有单位无法保存"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(entity.getMasterMetering().equals("KG")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						updateQuantity(entity.getNetWeight(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						updateQuantity(entity.getActualDeclaredQuantity(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//updateQuantity(entity.getActualDeclaredQuantity(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(entity.getMasterMetering().equals("KG")){//根据净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						/*QueryWrapper queryWrapper=new QueryWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						queryWrapper.eq("id", entity.getId());//子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						queryWrapper.select("net_Weight as netWeight");//获取实际报关数量合计*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						BigDecimal netWeight=new BigDecimal("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						if(entity.getNetWeight()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							netWeight=entity.getNetWeight(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						netWeight=netWeight.subtract(entity1.getNetWeight()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						//syPackingListFabricItemMapper.updateById(entity1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						if(netWeight.doubleValue()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							System.out.println("第"+i+"次修改出运明细"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							updateQuantity(netWeight.negate(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}else{//根据实际报关数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						BigDecimal actualDeclaredQuantity=new BigDecimal("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						if(entity.getActualDeclaredQuantity()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							actualDeclaredQuantity=entity.getActualDeclaredQuantity(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						actualDeclaredQuantity=actualDeclaredQuantity.subtract(entity1.getActualDeclaredQuantity()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						//syPackingListFabricItemMapper.updateById(entity1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						if(actualDeclaredQuantity.doubleValue()!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							System.out.println("第"+i+"次修改出运明细"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							updateQuantity(actualDeclaredQuantity.negate(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					items2.add(entity1);//获取所有子表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(entity.getMasterMetering().equals("KG")){//根据净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					QueryWrapper queryWrapper=new QueryWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					queryWrapper.eq("id", entity.getId());//子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					queryWrapper.select("net_Weight as netWeight");//获取实际报关数量合计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					BigDecimal netWeight=syPackingListFabricItemMapper.selectOne(queryWrapper).getNetWeight(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					netWeight=netWeight.subtract(entity.getNetWeight()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					syPackingListFabricItemMapper.updateById(entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//updateQuantity(netWeight.negate(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}else{//根据实际报关数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					QueryWrapper queryWrapper=new QueryWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					queryWrapper.eq("id", entity.getId());//子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					queryWrapper.select("actual_Declared_Quantity as actualDeclaredQuantity");//获取实际报关数量合计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					BigDecimal actualDeclaredQuantity=syPackingListFabricItemMapper.selectOne(queryWrapper).getActualDeclaredQuantity(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					actualDeclaredQuantity=actualDeclaredQuantity.subtract(entity.getActualDeclaredQuantity()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					syPackingListFabricItemMapper.updateById(entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//updateQuantity(actualDeclaredQuantity.negate(),entity.getSyShippingDetailsItemId(),entity.getMasterMetering()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				syPackingListFabricItemMapper.deleteById(entity.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListFabricItemService.updateBatchById(items2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPackingListFabric; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private ISyPackingListFabricItemService syPackingListFabricItemService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * 删除 将del_flag改为1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @param id 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -483,7 +492,10 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public SyPackingListFabric selectById(String id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		SyPackingListFabric syPackingListFabric= syPackingListFabricMapper.selectById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		long startTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPackingListFabricItem> items=syPackingListFabricItemMapper.selectByMainId2(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		long endTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("查询子表的时间:" + (endTime - startTime) + "ms"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (SyPackingListFabricItem page : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(page!=null&&page.getComposition()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if(page.getComposition().indexOf(" ")>0){ 
			 |