| 
					
				 | 
			
			
				@@ -40,6 +40,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.io.Serializable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.text.ParseException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.text.SimpleDateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -199,35 +200,77 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @param syPackingListTailoring 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public synchronized SyPackingListTailoring saveMain(SyPackingListTailoring syPackingListTailoring){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public synchronized SyPackingListTailoring saveMain(SyPackingListTailoring syPackingListTailoring)  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPackingListTailoringItem> items=syPackingListTailoring.getSyPackingListTailoringItemList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setDelFlag("0");//删除状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setPushState("0");//推送状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setStatus("0");//单据状态默认为0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setDocumentNo(randomStr());//获取单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("单据号是\t"+syPackingListTailoring.getDocumentNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setCreateTime(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SyPreAssembledPackingList syPreAssembledPackingList=syPreAssembledPackingListMapper.selectById(syPackingListTailoring.getSyPreAssembledPackingListId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(syPreAssembledPackingList==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			throw new JeecgBootException("数据库找不到对应的预装箱单id"+syPackingListTailoring.getSyPreAssembledPackingListId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setContainerCode(syPreAssembledPackingList.getContainerCode());//集装箱代号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setContainerNumber(syPreAssembledPackingList.getContainerNumber());//集装箱号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//syPackingListTailoring.setExportInvoiceNo(syPreAssembledPackingList);//外销发票号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setDepositaryReceiptNo(syPreAssembledPackingList.getDepositaryReceiptNo());//预托书号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setBusinessTypeValue(syPreAssembledPackingList.getBusinessTypeValue());//业务类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setSalesman(syPreAssembledPackingList.getSalesman());//业务员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setSalesDepartment(syPreAssembledPackingList.getSalesDepartment());//业务部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setCustomer(syPreAssembledPackingList.getCustomer());//客户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setCustomerAbbreviation(syPreAssembledPackingList.getCustomerAbbreviation());//客户简称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoringMapper.insert(syPackingListTailoring);//往主表添加数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String,String> mapId=new HashMap<String, String>();//key为发运明细子表id,value为分组id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPackingListTailoring.setTotal(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		/*syPackingListTailoring.setTotal(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setTotalBoxes(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setTotalVolume(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0"));*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setTotalPrice(new BigDecimal("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for(SyPackingListTailoringItem s1 : items){//调整面辅料云工厂接口,导入添加验证,改面辅料金额计算 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			SyPreAssembledPackingListItem syPreAssembledPackingListItem=syPreAssembledPackingListItemMapper.selectById(s1.getSyPreAssembledPackingListItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(syPreAssembledPackingListItem==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				throw new JeecgBootException("数据库找不到对应的预装箱单子表id"+s1.getSyPreAssembledPackingListItemId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			s1.setId(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			s1.setSyPackingListTailoringId(syPackingListTailoring.getId());//获取主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setSyPackingListTailoringId(syPackingListTailoring.getId());//主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setSyPreAssembledPackingListId(syPackingListTailoring.getSyPreAssembledPackingListId());//预装箱单主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(!mapId.containsKey(s1.getGroupId())){//如果这个发运明细id没有分组id,就生成一个新的分组id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				mapId.put(s1.getGroupId(), org.jeecg.modules.system.util.oConvertUtils.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mapId.put(s1.getGroupId(), org.jeecg.modules.system.util.oConvertUtils.getId());//分组id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				syPackingListTailoring.setTotalBoxes(syPackingListTailoring.getTotalBoxes().add(s1.getBoxNumber()));//总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			s1.setGroupId(mapId.get(s1.getGroupId()));//获取id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			syPackingListTailoring.setTotalBoxes(s1.getBoxNumber());//总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setUnitPrice(syPreAssembledPackingListItem.getUnitPrice());//单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				s1.setHod(new SimpleDateFormat("yyyy-MM-dd").parse(syPreAssembledPackingListItem.getHod()));//字符转化为日期,需要申明异常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setTotalPrice(s1.getTotal().multiply(s1.getUnitPrice()));//计算总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setSalesman(syPreAssembledPackingListItem.getSalesman());//业务员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setSalesDepartment(syPreAssembledPackingListItem.getSalesDepartment());//业务部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setSpurOrSubOrder(syPreAssembledPackingListItem.getSpurOrSubOrder());//采购委外订单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setMasterMetering(syPreAssembledPackingListItem.getMasterMetering());//计量单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setFactoryUnitPrice(syPreAssembledPackingListItem.getFactoryUnitPrice());//工厂单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setInventoryCcode(syPreAssembledPackingListItem.getInventoryCcode());//物料分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setWithCode(syPreAssembledPackingListItem.getWithCode());//配码规则 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setOmpoAccount(syPreAssembledPackingListItem.getOmpoAccount());//采购委外账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setYmoney(syPreAssembledPackingListItem.getYmoney());//佣金 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setElementsId(syPackingListTailoring.getElementsId());//申报要素id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			/*s1.getOmpoId(syPreAssembledPackingListItem.getOmpoId())//采购委外主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			s1.setOmpoIdItem(syPreAssembledPackingListItem.getOmpoIdItem());//采购委外子表id*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			/*syPackingListTailoring.setTotalBoxes(s1.getBoxNumber());//总箱数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPackingListTailoring.setTotal(syPackingListTailoring.getTotal().add(s1.getTotal()));//总件数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPackingListTailoring.setTotalNetWeight(syPackingListTailoring.getTotalNetWeight().add(s1.getTotalNetWeight()));//总净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPackingListTailoring.setTotalGrossWeight(syPackingListTailoring.getTotalGrossWeight().add(s1.getTotalGrossWeight()));//总毛重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			syPackingListTailoring.setTotalVolume(syPackingListTailoring.getTotalVolume().add(s1.getTotalVolume()));//总体积 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syPackingListTailoring.setTotalVolume(syPackingListTailoring.getTotalVolume().add(s1.getTotalVolume()));//总体积*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPackingListTailoring.setTotalPrice(syPackingListTailoring.getTotalPrice().add(s1.getTotalPrice()));//总价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			syPackingListTailoring.setCreateTime(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			syPackingListTailoringItemMapper.insert(s1);//新增子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPackingListTailoring; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -241,7 +284,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public List<SyPackingListTailoring> saveList(List<SyPackingListTailoring> syPackingListTailoring) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (SyPackingListTailoring splt : syPackingListTailoring){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			splt.setWhetherCloudFactoryPush("y");//y代表是云工厂推送的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			splt.setWhetherCloudFactoryPush("1");//1代表是云工厂推送的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			splt.setId(null);//id设置为null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			saveMain(splt);//无sizeTable的新增方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 |