|  | @@ -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);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 |