| 
					
				 | 
			
			
				@@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.annotation.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.Serializable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.text.SimpleDateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.Collection; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44,11 +45,17 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private SyShippingDetailsMapper syShippingDetailsMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	List<SyPreAssembledPackingListItem> add(List<SyPreAssembledPackingListItem> items,String pid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	BigDecimal add(List<SyPreAssembledPackingListItem> items,String pid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		BigDecimal box=new BigDecimal(0);//获取总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (SyPreAssembledPackingListItem item : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			item.setSyPreAssembledPackingListId(pid);//获取主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			BigDecimal boxNumber1=item.getBoxNumber();//获取箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			item.setActualPackingQty(item.getTotal());//计划装箱数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(oConvertUtils.isEmpty(item.getGroupId())){//分组id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setGroupId(oConvertUtils.id()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			box=box.add(boxNumber1);//合计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			item.setDelFlag("0");//默认为未删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			for (SizeTable size : sizes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				SyPreAssembledPackingListItem item1=item; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57,14 +64,14 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setSize(size.getSize());//获取尺码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价-->件数*单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //				item1.setBoxNumber(boxNumber);//获取箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重		净重*箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 	箱数*毛重/箱 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				//item1.setTotalNetWeight(boxNumber.multiply(new BigDecimal(size.getProportion())));//获取净净重 不知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				BigDecimal volume=boxNumber.multiply(item1.getOuterBoxHeight()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				volume=volume.multiply(item1.getOuterBoxLength()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				volume=volume.multiply(item1.getOuterBoxWidth()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				item1.setTotalVolume(volume);//获取总体积						长*宽*高*箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				boxNumber=boxNumber.divide(item.getPiecesBox(),6,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重		净重*箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 	箱数*毛重/箱 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//item1.setTotalNetWeight(boxNumber.multiply(new BigDecimal(size.getProportion())));//获取净净重 不知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				BigDecimal volume=boxNumber.multiply(item1.getOuterBoxHeight()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				volume=volume.multiply(item1.getOuterBoxLength()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				volume=volume.multiply(item1.getOuterBoxWidth()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setTotalVolume(volume);//获取总体积						长*宽*高*箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setSort(size.getNum());//获取序号 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -72,13 +79,19 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return items; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	List<SyPreAssembledPackingListItem> update(List<SyPreAssembledPackingListItem> items,String pid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	BigDecimal update(List<SyPreAssembledPackingListItem> items,String pid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		BigDecimal box=new BigDecimal(0);//获取总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (SyPreAssembledPackingListItem item : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			BigDecimal boxNumber1=item.getBoxNumber();//获取箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			item.setActualPackingQty(item.getTotal());//计划装箱数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(oConvertUtils.isEmpty(item.getGroupId())){//分组id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item.setGroupId(oConvertUtils.id()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			box=box.add(boxNumber1);//合计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			item.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			for (SizeTable size : sizes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				SyPreAssembledPackingListItem item1=item; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -87,14 +100,15 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setTotal(boxNumber);//该尺码件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价-->件数*单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//item1.setBoxNumber(boxNumber);//获取箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				boxNumber=boxNumber.divide(item.getPiecesBox(),6,BigDecimal.ROUND_HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重		净重*箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 	箱数*毛重/箱 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				//item1.setTotalNetWeight(boxNumber.multiply(new BigDecimal(size.getProportion())));//获取净净重 不知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				BigDecimal volume=boxNumber.multiply(item1.getOuterBoxHeight());//获取体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				volume=volume.multiply(item1.getOuterBoxLength()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				volume=volume.multiply(item1.getOuterBoxWidth()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//				item1.setTotalVolume(volume);//获取总体积	长*宽*高*箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setTotalNetWeight(boxNumber.multiply(item1.getNetWeight()));//获取总净重		净重*箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setTotalGrossWeight(boxNumber.multiply(item1.getGrossWeight()));//获取总毛重 	箱数*毛重/箱 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//item1.setTotalNetWeight(boxNumber.multiply(new BigDecimal(size.getProportion())));//获取净净重 不知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				BigDecimal volume=boxNumber.multiply(item1.getOuterBoxHeight());//获取体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				volume=volume.multiply(item1.getOuterBoxLength()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				volume=volume.multiply(item1.getOuterBoxWidth()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setTotalVolume(volume);//获取总体积	长*宽*高*箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				//item.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				item1.setId(size.getItemId());//从尺码表中获取到id 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -108,7 +122,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return items; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -122,15 +136,22 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public SyPreAssembledPackingList saveMain2(SyPreAssembledPackingList syPreAssembledPackingList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPreAssembledPackingListItem> items=syPreAssembledPackingList.getSyPreAssembledPackingListItemList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingList.setDocumentNo(oConvertUtils.id());//随机单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(oConvertUtils.isEmpty(syPreAssembledPackingList.getOrderNumber())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			syPreAssembledPackingList.setOrderNumber(oConvertUtils.id());//随机订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SimpleDateFormat sf= new SimpleDateFormat("yyyyMMdd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		QueryWrapper<SyPreAssembledPackingList> queryWrapperCount=new QueryWrapper<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		queryWrapperCount.like("create_time", new SimpleDateFormat("yy-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.setDelFlag("0");//删除状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingList.setPushStatus("0");//推送状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingList.setStatus("0");//单据状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//往主表添加数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(syPreAssembledPackingList.getSyPreAssembledPackingListItemList()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			add(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			BigDecimal box=add(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syPreAssembledPackingList.setTotalBoxes(box); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPreAssembledPackingList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -150,7 +171,9 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);//修改主表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListItemMapper.deleteByMainId(syPreAssembledPackingList.getId());//将子表的删除状态都变成1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(syPreAssembledPackingList.getSyPreAssembledPackingListItemList()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			update(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			BigDecimal box= update(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syPreAssembledPackingList.setTotalBoxes(box); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPreAssembledPackingList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -197,8 +220,8 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		sizes=syPreAssembledPackingListItemMapper.querySizes(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(sizes.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPreAssembledPackingList.setSizeTables(sizes);//获取所有尺码信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			syPreAssembledPackingList.setSyPreAssembledPackingListItemList(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPreAssembledPackingList.setSyPreAssembledPackingListItemList(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPreAssembledPackingList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |