| 
					
				 | 
			
			
				@@ -1,12 +1,16 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package org.jeecg.modules.spapl.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.conditions.Wrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.SyLetterDeposit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDepositItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.letterDeposit.mapper.SyLetterDepositItemMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.modules.documents.letterDeposit.mapper.SyLetterDepositMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.shippingDetails.entity.VO.SyShippingDetailsVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.jeecg.modules.documents.shippingDetails.mapper.SyShippingDetailsItemMapper; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,6 +57,8 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private SyShippingDetailsItemMapper syShippingDetailsItemMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private SyLetterDepositItemMapper syLetterDepositItemMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private SyLetterDepositMapper syLetterDepositMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	BigDecimal add(List<SyPreAssembledPackingListItem> items,String pid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		BigDecimal box=new BigDecimal(0);//获取总箱数 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -87,13 +93,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//获取发育明细数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				SyShippingDetailsItem syItem=syShippingDetailsItemMapper.selectById(item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setOmpoIdItem(syItem.getOmpoIdItem());//获取委外/采购订单子表Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setOrderNumber(syItem.getOrderNumber());//获取订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setSyOrderDataItemId(syItem.getSyOrderDataItemId());//获取到订单子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//原剩余数量-预装箱单装箱数量=新剩余数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syItem.setSurplusQuantity(syItem.getSurplusQuantity().subtract(item1.getTotal())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//超发数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syItem.setExcessQuantity(syItem.getSurplusQuantity().subtract(syItem.getShipmentQuantity())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				syItem.setIsReference(1);//标识已被参照 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//syItem.setIsReference(1);//标识已被参照 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syShippingDetailsItemMapper.updateById(syItem);//修改发运明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -135,6 +142,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				SyShippingDetailsItem syItem=syShippingDetailsItemMapper.selectById(item1.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//获取委外/采购订单子表Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setOmpoIdItem(syItem.getOmpoIdItem()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setOrderNumber(syItem.getOrderNumber());//获取订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//获取订单子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setSyOrderDataItemId(syItem.getSyOrderDataItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if(item.getIsAdd()>0){//如果为0就添加数据 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -155,7 +163,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//预装箱单数量-发货=超发数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syItem.setExcessQuantity(total.subtract(syItem.getShipmentQuantity())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//标识已被参照 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				syItem.setIsReference(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//syItem.setIsReference(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syShippingDetailsItemMapper.updateById(syItem);//修改发运明细发货数量和超出数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				typeConversion(item1);//修改预托书数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -173,14 +181,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public SyPreAssembledPackingList saveMain2(SyPreAssembledPackingList syPreAssembledPackingList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPreAssembledPackingListItem> items=syPreAssembledPackingList.getSyPreAssembledPackingListItemList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setDocumentNo(oConvertUtils.id());//随机单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//syPreAssembledPackingList.setDocumentNo(oConvertUtils.id());//随机单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		SimpleDateFormat sf= new SimpleDateFormat("yyyyMMdd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		QueryWrapper<SyPreAssembledPackingList> queryWrapperCount=new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		queryWrapperCount.like("create_time", new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		queryWrapperCount.select("lpad(count(0)+1,6,0) as id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		String dateNo ="YCY"+sf.format(System.currentTimeMillis())+getOne(queryWrapperCount).getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setOrderNumber(dateNo);//订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPreAssembledPackingList.setDocumentNo(dateNo);//订单号-->单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingList.setDelFlag("0");//删除状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingList.setPushStatus("0");//推送状态默认为0 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -261,6 +269,27 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syItem.setExcessQuantity(syItem.getSurplusQuantity().subtract(syItem.getShipmentQuantity())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syShippingDetailsItemMapper.updateById(syItem);//修改数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		QueryWrapper queryWrapper=new QueryWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		queryWrapper.eq("sy_pre_assembled_packing_list_id",id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<SyLetterDepositItem> syLetterDepositItem=syLetterDepositItemMapper.selectList(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("syLetterDepositItem的长度为"+syLetterDepositItem.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(syLetterDepositItem.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			UpdateWrapper wrapper=new UpdateWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			wrapper.eq("sy_pre_assembled_packing_list_id",id);//修改主表有关数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			wrapper.set("del_flag","1");//修改为已删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syLetterDepositItemMapper.update(null,wrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String letId=syLetterDepositItem.get(0).getSyLetterDepositId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			queryWrapper=new QueryWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			queryWrapper.eq("sy_letter_deposit_id",letId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			queryWrapper.eq("del_flag","0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syLetterDepositItem =syLetterDepositItemMapper.selectList(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(syLetterDepositItem.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				UpdateWrapper wrapper1=new UpdateWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				wrapper1.eq("id",letId);//修改主表有关数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				wrapper1.set("del_flag","1");//修改为已删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				syLetterDepositMapper.update(null,wrapper1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -367,12 +396,12 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPreAssembledPackingListItem> items=syPreAssembledPackingListItemMapper.selectList(queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		SyShippingDetailsItem syItem=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		SyPreAssembledPackingList main=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		System.out.println("items的长度为:\t"+items.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for(SyPreAssembledPackingListItem item:items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syItem=syShippingDetailsItemMapper.selectById(item.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(syItem!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				main=syPreAssembledPackingListMapper.selectById(item.getSyPreAssembledPackingListId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				main.setCustomerAbbreviation(syItem.getCustomerAbbreviation()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				main.setOrderNumber(syItem.getOrderNumber());//修改订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syPreAssembledPackingListMapper.updateById(main); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 |