| 
					
				 | 
			
			
				@@ -44,39 +44,69 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private SyShippingDetailsMapper syShippingDetailsMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public SyPreAssembledPackingList saveMain(SyPreAssembledPackingList syPreAssembledPackingList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setDelFlag("0");//删除状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setPushStatus("0");//推送状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setStatus("0");//单据装填默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	List<SyPreAssembledPackingListItem> add(List<SyPreAssembledPackingListItem> items,String pid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (SyPreAssembledPackingListItem item : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			item.setSyPreAssembledPackingListId(pid);//获取主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			BigDecimal boxNumber1=item.getBoxNumber().divide(item.getPiecesBox(),2,BigDecimal.ROUND_HALF_UP);//获取箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			item.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (SizeTable size : sizes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				SyPreAssembledPackingListItem item1=item; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				BigDecimal boxNumber=boxNumber1.multiply(new BigDecimal(size.getProportion()));//获取该尺码箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setTotal(boxNumber.multiply(item1.getPiecesBox()));//获取该尺码件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				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);//获取总体积							长*宽*高*箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setSize(size.getSize());//获取尺码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setSort(size.getNum());//获取序号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setId(oConvertUtils.id());//获取到随机id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				int row =syPreAssembledPackingListItemMapper.insert(item1);//添加子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return items; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalBoxes=new BigDecimal(0);//总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalNetWeight=new BigDecimal(0);//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalGrossWeight=new BigDecimal(0);//总毛重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalVolume=new BigDecimal(0);//总体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalPrice=new BigDecimal(0);//总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//添加主表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		/*BigDecimal total;//总件数*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for(SyPreAssembledPackingListItem entity:syPreAssembledPackingList.getSyPreAssembledPackingListItemList()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalBoxes=totalBoxes.add(entity.getBoxNumber());//箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalNetWeight=totalNetWeight.add(entity.getTotalNetWeight());//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalGrossWeight=totalGrossWeight.add(entity.getTotalGrossWeight());//总毛重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalVolume=totalVolume.add(entity.getTotalVolume());//总体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalPrice=totalPrice.add(entity.getTotalPrice());//总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			entity.setDelFlag("0");//默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			entity.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());//获取主表的id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			syPreAssembledPackingListItemMapper.insert(entity);//循环添加子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	List<SyPreAssembledPackingListItem> update(List<SyPreAssembledPackingListItem> items,String pid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (SyPreAssembledPackingListItem item : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			BigDecimal boxNumber1=item.getBoxNumber().divide(item.getPiecesBox(),2,BigDecimal.ROUND_HALF_UP);//获取箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			item.setDelFlag("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (SizeTable size : sizes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				SyPreAssembledPackingListItem item1=item; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				BigDecimal boxNumber=boxNumber1.multiply(new BigDecimal(size.getProportion()));//获取该尺码箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setSize(size.getSize());//获取尺码信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setTotal(boxNumber.multiply(new BigDecimal(size.getProportion())));//该尺码件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				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.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()));//获取总价		箱数*单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//item.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setId(size.getItemId());//从尺码表中获取到id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				// 获取到发运明细子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				String syDeclarationElementsItemId=syPreAssembledPackingListItemMapper.selectById(item1.getId()).getSyDeclarationElementsItemId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				item1.setSyDeclarationElementsItemId(syDeclarationElementsItemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				int row=syPreAssembledPackingListItemMapper.updateById(item1);//如果没修改成功就是新增数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(row==0){//如果为0就添加数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					item1.setSyPreAssembledPackingListId(pid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					syPreAssembledPackingListItemMapper.insert(item1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalBoxes(totalBoxes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalNetWeight(totalNetWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalGrossWeight(totalGrossWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalVolume(totalVolume); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalPrice(totalPrice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return syPreAssembledPackingList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return items; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * 新的添加方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @param syPreAssembledPackingList 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -91,97 +121,9 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingList.setPushStatus("0");//推送状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingList.setStatus("0");//单据装填默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListMapper.insert(syPreAssembledPackingList);//往主表添加数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalBoxes=new BigDecimal(0);//总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalNetWeight=new BigDecimal(0);//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalGrossWeight=new BigDecimal(0);//总毛重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalVolume=new BigDecimal(0);//总体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalPrice=new BigDecimal(0);//总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for (SyPreAssembledPackingListItem item : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalBoxes=totalBoxes.add(item.getBoxNumber());//箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalNetWeight=totalNetWeight.add(item.getTotalNetWeight());//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalGrossWeight=totalGrossWeight.add(item.getTotalGrossWeight());//总毛重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalVolume=totalVolume.add(item.getTotalVolume());//总体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalPrice=totalPrice.add(item.getTotalPrice());//总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			System.out.println("箱数\t"+totalBoxes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			System.out.println("总净重\t"+totalNetWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			System.out.println("总毛重\t"+totalGrossWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			System.out.println("总体积\t"+totalVolume); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			System.out.println("总价\t"+totalPrice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			BigDecimal total=item.getTotal();//总件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			BigDecimal piecesBox=item.getPiecesBox();//箱/件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			item.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());//获取主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			for (SizeTable size : sizes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				BigDecimal quantity=total.divide(piecesBox,4,BigDecimal.ROUND_HALF_UP) ;//总件数除以每箱件数 可以获得 箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				quantity=quantity.multiply(new BigDecimal(size.getProportion()));//乘以比例可获得 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setTotal(quantity);//该尺码件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setSize(size.getSize());//获取尺码信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setDelFlag("0");//默认为未删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setSort(size.getNum());//序号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setId(oConvertUtils.id());//获取到随机id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				int row =syPreAssembledPackingListItemMapper.insert(item);//添加子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("尺码大小:\t"+item.getSize()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("尺码件数:\t"+item.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("尺码比例:\t"+size.getProportion()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("预装箱单主表id\t"+syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("发育明细主表id\t"+item.getSyDeclarationElementsId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("发运明细子表id\t"+size.getItemId()+"\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("预装箱单子表id为"+item.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("插入数据库后返回消息为"+row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(syPreAssembledPackingList.getSyPreAssembledPackingListItemList()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			add(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalBoxes(totalBoxes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalNetWeight(totalNetWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalGrossWeight(totalGrossWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalVolume(totalVolume); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalPrice(totalPrice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return syPreAssembledPackingList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * 编辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * @param syPreAssembledPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public SyPreAssembledPackingList updateMain(SyPreAssembledPackingList syPreAssembledPackingList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(!syPreAssembledPackingListMapper.selectById(syPreAssembledPackingList.getId()).getStatus().equals("0")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			throw new JeecgBootException("单据已提交不能修改!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//1.先删除子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingListItemMapper.deleteByMainId(syPreAssembledPackingList.getId());//将删除状态变成1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalBoxes=new BigDecimal(0);//总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalNetWeight=new BigDecimal(0);//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalGrossWeight=new BigDecimal(0);//总毛重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalVolume=new BigDecimal(0);//总体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalPrice=new BigDecimal(0);//总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//2.子表数据重新插入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for(SyPreAssembledPackingListItem entity:syPreAssembledPackingList.getSyPreAssembledPackingListItemList()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//外键设置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//entity.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalBoxes=totalBoxes.add(entity.getBoxNumber());//箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalNetWeight=totalNetWeight.add(entity.getTotalNetWeight());//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalGrossWeight=totalGrossWeight.add(entity.getTotalGrossWeight());//总毛重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalVolume=totalVolume.add(entity.getTotalVolume());//总体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalPrice=totalPrice.add(entity.getTotalPrice());//总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			entity.setDelFlag("0");//默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			int row=syPreAssembledPackingListItemMapper.updateById(entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if(row==0){//如果为0就添加数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				entity.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				syPreAssembledPackingListItemMapper.insert(entity); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalBoxes(totalBoxes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalNetWeight(totalNetWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalGrossWeight(totalGrossWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalVolume(totalVolume); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalPrice(totalPrice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPreAssembledPackingList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -199,59 +141,9 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPreAssembledPackingListItem> items=syPreAssembledPackingList.getSyPreAssembledPackingListItemList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList);//修改主表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListItemMapper.deleteByMainId(syPreAssembledPackingList.getId());//将子表的删除状态都变成1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalBoxes=new BigDecimal(0);//总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalNetWeight=new BigDecimal(0);//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalGrossWeight=new BigDecimal(0);//总毛重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalVolume=new BigDecimal(0);//总体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		BigDecimal totalPrice=new BigDecimal(0);//总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for (SyPreAssembledPackingListItem item : items){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			List<SizeTable> sizes=item.getSizeTables();//获取尺码表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			BigDecimal total=item.getTotal();//总件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			BigDecimal piecesBox=item.getPiecesBox();//箱/件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalBoxes=totalBoxes.add(item.getBoxNumber());//箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalNetWeight=totalNetWeight.add(item.getTotalNetWeight());//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalGrossWeight=totalGrossWeight.add(item.getTotalGrossWeight());//总毛重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalVolume=totalVolume.add(item.getTotalVolume());//总体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			totalPrice=totalPrice.add(item.getTotalPrice());//总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//item.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId());//获取主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			item.setDelFlag("0");//默认为未删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			int num=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			for (SizeTable size : sizes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				BigDecimal quantity=total.divide(piecesBox,4,BigDecimal.ROUND_HALF_UP) ;//总件数除以箱/件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				quantity=quantity.multiply(new BigDecimal(size.getProportion()));//乘以比例可获得 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setTotal(quantity);//该尺码件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setSize(size.getSize());//获取尺码信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//item.setSyDeclarationElementsItemId(size.getItemId());//获取到发运明细子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setSort(++num);//序号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setId(size.getItemId());//从尺码表中获取到id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				// 获取到子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				String syDeclarationElementsItemId=syPreAssembledPackingListItemMapper.selectById(item.getId()).getSyDeclarationElementsItemId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				item.setSyDeclarationElementsItemId(syDeclarationElementsItemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				int row=syPreAssembledPackingListItemMapper.updateById(item);//如果没修改成功就是新增数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(row==0){//如果为0就添加数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					item.setSyPreAssembledPackingListId(syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					syPreAssembledPackingListItemMapper.insert(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					System.out.println("添加"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					System.out.println("修改"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("尺码大小:\t"+item.getSize()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("尺码件数:\t"+item.getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("尺码比例:\t"+size.getProportion()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("预装箱单主表id\t"+syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("发育明细主表id\t"+item.getSyDeclarationElementsId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("发运明细子表id\t"+item.getSyDeclarationElementsItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("预装箱单子表id为\t"+item.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("原子表id为\t"+size.getItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				System.out.println("返回消息为:"+row+"\t0为新增,1为修改\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(syPreAssembledPackingList.getSyPreAssembledPackingListItemList()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			update(syPreAssembledPackingList.getSyPreAssembledPackingListItemList(),syPreAssembledPackingList.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalBoxes(totalBoxes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalNetWeight(totalNetWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalGrossWeight(totalGrossWeight); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalVolume(totalVolume); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingList.setTotalPrice(totalPrice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPreAssembledPackingListMapper.updateById(syPreAssembledPackingList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPreAssembledPackingList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -297,8 +189,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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |