| 
					
				 | 
			
			
				@@ -243,6 +243,11 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPackingListTailoring; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 添加方式1 批量参照 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param syPackingListTailorings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param ids 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public void saveMain3(List<SyPackingListTailoring> syPackingListTailorings,String[] ids) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -336,7 +341,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * 云工厂测试用-接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 云工厂测试用-接口 添加方式2 云工厂添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @param syPackingListTailoring 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -362,6 +367,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setBusinessTypeValue(syPreAssembledPackingList.getBusinessTypeValue());//业务类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setSalesman(syPreAssembledPackingList.getSalesman());//业务员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setSalesDepartment(syPreAssembledPackingList.getSalesDepartment());//业务部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		syPackingListTailoring.setIsTc(syPreAssembledPackingList.getIsTc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setCustomer(syPreAssembledPackingList.getCustomer());//客户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoring.setCustomerAbbreviation(syPreAssembledPackingList.getCustomerAbbreviation());//客户简称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPackingListTailoringMapper.insert(syPackingListTailoring);//往主表添加数据 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -732,7 +738,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * excel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * @param mains 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param mains 添加方式3 通过excel文档导入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -774,7 +780,6 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		UpdateWrapper updateWrapper=new UpdateWrapper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateWrapper.set("is_Reference","2");//已被装箱单参照,预装箱单不能取消提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		System.out.println("mainIds\t"+mainIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		updateWrapper.in("id",mainIds);//预装箱单主表id做为修改条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		syPreAssembledPackingListMapper.update(null,updateWrapper);//修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -852,7 +857,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							item1.setOmpoId(syPreItem.getOmpoId());//主表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							item1.setOmpoIdItem(syPreItem.getOmpoIdItem());//子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							item1.setOmpoAccount(syPreItem.getOmpoAccount());//子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							item1.setPacks(syPreItem.getPacks());//包数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							item1.setPackBox(syPreItem.getPackBox());//包数/箱 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							item1.setTotalPack(syPreItem.getTotalPack());//件数/包 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							item1.setSyOrderDataId(syPreItem.getSyOrderDataId());//订单数据子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							item1.setSyOrderDataItemId(syPreItem.getSyOrderDataItemId());//订单数据子表id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							/*item1.setSupplier(syPreItem.getSupplier()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -872,6 +879,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				SyPreAssembledPackingList syPreAssembledPackingList=syPreAssembledPackingListMapper.selectById(syPackingListTailoring.getSyPreAssembledPackingListId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if(syPreAssembledPackingList!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					syPackingListTailoring.setCustomer(syPreAssembledPackingList.getCustomer()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					syPackingListTailoring.setIsTc(syPreAssembledPackingList.getIsTc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					syPackingListTailoring.setElementsId(syPreAssembledPackingList.getElementsId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					syPackingListTailoring.setOrderNumber(syPreAssembledPackingList.getOrderNumber()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1100,6 +1108,15 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		System.out.println("maptererere\t"+mapt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (main!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (main.getIsTc()!=null&&main.getIsTc().equals("1")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(main.getMemo()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					main.setMemo(main.getMemo()+"TC证书"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					main.setMemo("TC证书"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			Map<String,String> mapSort=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			String createBy="进出口平台管理员"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//String createDate=main.getCreateTime().toString(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1120,6 +1137,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map3.put("BRETURNFLAG","0");//退货标识(1:退货,0:发货) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map3.put("CMAKER",createBy);//制单人名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map3.put("CVERIFIER",createBy);//审核人名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map3.put("CMEMO",main.getMemo());//备注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			JSONObject map4=new JSONObject();//销售出库单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map4.put("CVOUCHCODE",org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("ccode","rdrecord32","dnmaketime")));//单据号 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1127,6 +1145,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map4.put("CHANDLER",createBy);//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map4.put("CRDCODE","26");//出库类别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map4.put("CMAKER",createBy);//制单人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map4.put("CMEMO",main.getMemo());//备注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			JSONObject map5=new JSONObject();//采购发票 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map5.put("CVOUCHCODE",org.jeecg.modules.system.util.oConvertUtils.addOne(purchaseWarehousingMapper.getMaxCode("cpbvcode ","PurBillVouch","cmaketime")));//发票号 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1134,6 +1153,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map5.put("CTYPE","专用");//发票类型(01:专用 02:普票) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map5.put("CMAKER",createBy);//制单人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map5.put("CHANDLER",createBy);//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map5.put("CMEMO",main.getMemo());//备注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			JSONObject map6=new JSONObject();//销售发票 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1142,6 +1162,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map6.put("CTYPE","普通");//发票类型(普通,专用) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map6.put("CMAKER",createBy);//制单人名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map6.put("CVERIFIER",createBy);//制单人名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			map6.put("CMEMO",main.getMemo());//备注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map.put("CDEFINE4",main.getTheFinalShippingDate().substring(0,10));//最终船期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			map.put("CDEFINE6",main.getTheFinalShippingDate2().substring(0,10));//合同日期 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1786,9 +1807,9 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SyPackingListTailoringItem> itemLists=syPackingListTailoringItemMapper.querySpaplItemIds(ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		System.out.println("itemLists.size\t"+itemLists.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//System.out.println("itemLists.size\t"+itemLists.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<SizeTable> sizeLists2=syPreAssembledPackingListItemMapper.queryAllSize(ids);//子表尺码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		System.out.println("sizeLists2.size\t"+sizeLists2.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//System.out.println("sizeLists2.size\t"+sizeLists2.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String,List<SyPackingListTailoringItem>> maplItems=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String,List<SizeTable>> mapItemSizes=new HashMap<>();//子表尺码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (SizeTable size : sizeLists2){//子表尺码 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1912,53 +1933,65 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPackingListTailoringMapper.getIvouchrowno(params1,params2,params3,params4,params5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@DS("multi-two") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public String pushInvoice1(List<SyPackingListTailoring> listTailorings) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 采购委外入库单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param listTailorings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param maps 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String pushInvoices(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		long startTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		String message=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//List<SyPackingListFabricItem> listFabricItems=syPackingListFabricItemMapper.queryByList(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//List<SyPackingListFabric> listFabrics=syPackingListFabricMapper.queryByList(id);//获取托书下所有的主表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		List<String> codes=getList(listTailorings);//获取出库单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		System.out.println("成衣查看出库单号\t"+codes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<String> codes=getList(listTailorings,maps.get("account").toString());//获取出库单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("成衣查看入库单号\t"+codes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if(codes.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return "推送失败,未查询到对应的出库单号!"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return "无可推送数据!"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String,List<String>> customers=getSuppliers(codes);//key:供应商编码,value:出库单id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String,List<SyPackingListTailoringItem>> listTailoringItemMaps=getListTailoringItemMaps(customers,listTailorings);//key:供应商编码,value:对应子表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String,List<SyPackingListTailoring>> listTailoringMaps=getListTailoringMaps(customers,listTailorings);//key:供应商编码,value:对应主表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,List<SyPackingListTailoring>> codeMaps=new HashMap<>();//key:传入销售发票单id,value:主表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		JSONArray jsonArrays1=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		String code=purchaseWarehousingMapper.getMaxCode("cpbvcode ","PurBillVouch","cmaketime");//发票号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String account=maps.get("account").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (String customer : customers.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			SyPackingListTailoring syPackingListTailoring=listTailoringMaps.get(customer).get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Map<String, Object> orderData=syPackingListTailoringMapper.getOmOrPo("po_pomain", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					"cpoid=(select  top 1 cOrderCode from rdrecord01 where ccode='"+syPackingListTailoring.getRdrecord32Code()+"')","poid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Map<String, Object> orderData=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(account.equals("103")||account.equals("101")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				orderData=syPackingListTailoringMapper.getOmOrPo("om_momain", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				"cCode=(select  top 1 cOrderCode from rdrecord01 where ccode='"+syPackingListTailoring.getRdrecord32Code()+"')","MOID"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				orderData=syPackingListTailoringMapper.getOmOrPo("po_pomain", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				"cpoid=(select  top 1 cOrderCode from rdrecord01 where ccode='"+syPackingListTailoring.getRdrecord32Code()+"')","poid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			System.out.println("orderData\t"+orderData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			String cvenName=syPackingListTailoringMapper.getCvenName(syPackingListTailoring.getSupplierCode());//供应商编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//List<SyPackingListFabricItem> listFabricItems=syPackingListFabric.getSyPackingListFabricItem();//需要进行分组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			List<SyPackingListTailoringItem> listTailoringItems=listTailoringItemMaps.get(customer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//System.out.println("codes.size\t"+codes.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			System.out.println("codes\t"+codes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			List<Map<String,Object>> invoices=getInvoices(customers.get(customer)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<Map<String,Object>> invoices=getInvoices1(customers.get(customer)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			JSONObject  jsonObject1=new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			code=org.jeecg.modules.system.util.oConvertUtils.addOne(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			codeMaps.put(code,listTailoringMaps.get(customer)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonObject1.put("CVOUCHCODE",code);//发票号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonObject1.put("CMAKER","进出口平台管理员");//制单人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			jsonObject1.put("CVERIFIER","进出口平台管理员");//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			jsonObject1.put("CACCID","102");//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CHANDLER","进出口平台管理员");//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CACCID",account);//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonObject1.put("CTYPE","专用");//发票类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonObject1.put("CGLTYPE","入库单");//上游单据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			System.out.println("syPackingListTailoring.getLatestDateOfShipment2()\t"+syPackingListTailoring.getLatestDateOfShipment2()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonObject1.put("DDATE",syPackingListTailoring.getLatestDateOfShipment2().substring(0,10));//装运期限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			jsonObject1.put("CDEFINE4",syPackingListTailoring.getTheFinalShippingDate());//最终船期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			jsonObject1.put("CDEFINE6",syPackingListTailoring.getTheFinalShippingDate2());//合同日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CDEFINE4",syPackingListTailoring.getTheFinalShippingDate().substring(0,10));//最终船期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CDEFINE6",syPackingListTailoring.getTheFinalShippingDate2().substring(0,10));//合同日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonObject1.put("CDEFINE10",syPackingListTailoring.getShippingOrderNumber());//托书号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonObject1.put("CDEFINE12",cvenName);//供应商全称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonObject1.put("CPAYCODE",orderData.get("cPayCode"));//付款条件编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			jsonObject1.put("IEXCHRATE",orderData.get("cexchname"));//汇率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			jsonObject1.put("CEXCH_NAME",orderData.get("nflat"));//币种名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("IEXCHRATE",orderData.get("nflat"));//汇率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CEXCH_NAME",orderData.get("cexchname"));//币种名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(!orderData.get("cexchname").equals("人民币")){//不为人民币 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				SimpleDateFormat sf1 = new SimpleDateFormat("yyyy-M-dd"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1975,34 +2008,22 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonObject.put("CINVCODE",item.getInventoryCode());//存货编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonObject.put("CDEFINE28",item.getSmallPo());//小po 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonObject.put("DISAUTOIDCOL","DISAUTOIDCOL");//对应类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				boolean bool=true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				for (Map<String,Object> map : invoices){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					if(Double.parseDouble(map.get("iQuantity").toString())==Double.parseDouble(jsonObject.get("IQUANTITY").toString())&& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode())&&map.get("cFree2").equals(item.getSize())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					   map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode())&&map.get("cFree2").equals(item.getSize())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						jsonObject.put("AUTOID_PO",map.get("AutoID")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						jsonObject.put("IORITAXCOST",syPackingListTailoringItemMapper.getiTaxPrice(map.get("AutoID").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						//System.out.println("map\t"+map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						getcFree(jsonObject,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						//invoices.remove(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						bool=false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if(bool){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//System.out.println("tid\t"+item.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					//System.out.println("tpid\t"+item.getSyPackingListFabricId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonObject.put("CDEFINE23",syPackingListTailoringMapper.getUnit(item.getInventoryCode()));//报关单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonObject.put("CDEFINE33",item.getDeclarationName());//存货名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//jsonObject.put("iTaxRate",syPackingListFabricItemMapper.getItaxRate(item.getOmpoIdItem()));//税率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//jsonObject.put("CWHCODE",syPackingListFabricItemMapper.getVencode(item.getSupplier()));//获取仓库编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				jsonArrays.add(jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//getcFree(jsonObject,jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//System.out.println("jsonObject\n"+jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonObject1.put("DETAILList",jsonArrays); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			jsonArrays1.add(jsonObject1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			Map<String,List<String>> maps=new HashMap<>();//key:客户编码-字符,value:主表id-数组 用于区分维度完成分组条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//Map<String,List<String>> maps=new HashMap<>();//key:客户编码-字符,value:主表id-数组 用于区分维度完成分组条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			System.out.println("jsonObject\n"+jsonObject1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//System.out.println("jsonArrays.size\t"+jsonArrays.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			//System.out.println("listFabrics.size\t"+listFabrics.size()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2011,16 +2032,197 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		System.out.println("jsonArrays1\n"+jsonArrays1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"saleinvoice_import");//采购发票单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		//Map<String,String> codeMaps2 = result(resturnJsonArrays); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		text(jsonArrays1,"测试合并推送成衣采购发票"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"purinvoice_import");//采购发票单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,String> codeMaps2 = result(resturnJsonArrays,"销售发票",account); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (String code1 : codeMaps.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<SyPackingListTailoring> listTailoringList=codeMaps.get(code1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//List<String> ids=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (SyPackingListTailoring tailoring : listTailoringList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//ids.add(fabric.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (codeMaps2.get(code1).indexOf("失败")>-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tailoring.setSaleInvoiceError(codeMaps2.get(code1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(tailoring.getSaleInvoiceCode()==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tailoring.setSaleInvoiceCode(codeMaps2.get(code1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tailoring.setSaleInvoiceCode(tailoring.getSaleInvoiceCode()+";"+codeMaps2.get(code1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tailoring.setSaleInvoiceError(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return "推送成功"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public Map<String,String> result(JSONArray jsonArray){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String pushInvoices2(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		long startTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String message=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<String> codes=getList2(listTailorings,maps.get("account").toString());//获取出库单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("成衣查看出库单号\t"+codes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if(codes.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return "无可推送数据!"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,List<String>> customers=getCustomers(codes);//key:供应商编码,value:出库单id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,List<SyPackingListTailoringItem>> listTailoringItemMaps=getListTailoringItemMaps(customers,listTailorings);//key:供应商编码,value:子表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,List<SyPackingListTailoring>> listTailoringMaps=getListTailoringMaps(customers,listTailorings);//key:供应商编码,value:主表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,List<SyPackingListTailoring>> codeMaps=new HashMap<>();//key:传入销售发票单id,value:主表数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray jsonArrays1=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String code=purchaseWarehousingMapper.getMaxCode("cSBVCode","SaleBillVouch where cvouchtype=27","cSBVCode");//发票号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String account=maps.get("account").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (String customer : customers.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			SyPackingListTailoring syPackingListTailoring=listTailoringMaps.get(customer).get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<SyPackingListTailoringItem> listFabricItems=listTailoringItemMaps.get(customer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			System.out.println("codes\t"+codes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<Map<String,Object>> invoices=getInvoices(customers.get(customer)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONObject  jsonObject1=new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			code=org.jeecg.modules.system.util.oConvertUtils.addOne(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			codeMaps.put(code,listTailoringMaps.get(customer)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CVOUCHCODE",code);//发票号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CMAKER","进出口平台管理员");//制单人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CVERIFIER","进出口平台管理员");//审核人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CACCID",account);//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CTYPE","普通");//发票类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CGLTYPE","销售出库单");//上游单据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CDEFINE11",syPackingListTailoring.getEndCustomer());//最终客户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Map<String,Object> order=syPackingListTailoringMapper.getSoMainCode(syPackingListTailoring.getRdrecord32Code());//随便哪一个做主表信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			System.out.println("成衣销售order\t"+order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(order.get("cCusCode").equals("T020001")&&!account.equals("101")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//maps.put("account","101");//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}else if(order.get("cCusCode").equals("0001")&&!account.equals("102")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject1.put("CTYPE","专用");//发票类型(普通,专用) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//maps.put("account","102");//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//maps.put("account","104");//账套号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("DDATE",syPackingListTailoring.getLatestDateOfShipment2().substring(0,10));//日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CDEFINE4",syPackingListTailoring.getTheFinalShippingDate());//最终船期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CDEFINE6",syPackingListTailoring.getTheFinalShippingDate2());//合同日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CDEFINE10",syPackingListTailoring.getShippingOrderNumber());//托书号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//{cBusType=普通销售, cPayCode=null, cDepCode=TSM01, cSOCode=SYE511-马菲羊-面料, cPersonCode=T0148, cCusCode=T020001, cSTCode=02, cexch_name=美元, iExchRate=6.7428} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			System.out.println("syPackingListFabric.getSupplierCode()\t"+syPackingListTailoring.getSupplierCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(syPackingListTailoring.getSupplierCode()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				String	venName=syPackingListTailoringMapper.getCvenName(syPackingListTailoring.getSupplierCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject1.put("CDEFINE12",venName);//供应商全称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CBUSTYPE",order.get("cBusType"));//业务类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CCUSCODE",order.get("cCusCode"));//客户编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CDEPCODE",order.get("cDepCode"));//部门编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("SALETPYECODE",order.get("cSTCode"));//销售类型编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("IEXCHRATE",order.get("iExchRate"));//汇率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("CEXCH_NAME",order.get("cexch_name"));//币种名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(!order.get("cexch_name").equals("人民币")){//不为人民币 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				SimpleDateFormat sf1 = new SimpleDateFormat("yyyy-M-dd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				String dd = sf1.format(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				String rateSplit[] = dd.split("-"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Map<String, Object> rate= syShippingOrderMapper.queryU8Rate(rateSplit[0], rateSplit[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject1.put("IEXCHRATE",rate.get("nflat").toString());//汇率(如果传空,接口默认1)cPayCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONArray jsonArrays=new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (SyPackingListTailoringItem item : listFabricItems){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				JSONObject  jsonObject=new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject.put("IQUANTITY",item.getTotal());//净重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject.put("size",item.getSize()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject.put("CINVCODE",item.getInventoryCode());//存货编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject.put("DISAUTOIDCOL","DISAUTOIDCOL");//对应类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				for (Map<String,Object> map : invoices){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(Double.parseDouble(map.get("iQuantity").toString())==Double.parseDouble(jsonObject.get("IQUANTITY").toString())&& 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							map.get("cInvCode").toString().equalsIgnoreCase(item.getInventoryCode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						jsonObject.put("AUTOID_DIS",map.get("AutoID")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						getcFree(jsonObject,map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject.put("CDEFINE23",syPackingListTailoringMapper.getUnit(item.getInventoryCode()));//报关单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject.put("CDEFINE31",item.getDeclarationName());//存货名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				String iTaxRate=syPackingListFabricItemMapper.getItaxRate(item.getOmpoIdItem()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(iTaxRate!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					jsonObject.put("iTaxRate",iTaxRate);//税率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					jsonObject1.put("iTaxRate",iTaxRate);//税率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonObject.put("CWHCODE",syPackingListFabricItemMapper.getVencode(item.getSupplier()));//获取仓库编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				jsonArrays.add(jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonObject1.put("DETAILList",jsonArrays); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			jsonArrays1.add(jsonObject1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//Map<String,List<String>> maps=new HashMap<>();//key:客户编码-字符,value:主表id-数组 用于区分维度完成分组条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//			System.out.println("jsonObject\n"+jsonArrays.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			long endTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			System.out.println("互相插入数据时用的时间:" + (endTime - startTime) + "ms"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		text(jsonArrays1,"测试合并推送成衣销售发票"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		//System.out.println("jsonArrays1\t"+jsonArrays1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray resturnJsonArrays = InterfaceConnUtils.doPost(jsonArrays1,"saleinvoice_import");//销售发票单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Map<String,String> codeMaps2 = result(resturnJsonArrays,"销售发票",account); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (String code1 : codeMaps.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			List<SyPackingListTailoring> listTailoringList=codeMaps.get(code1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(!codeMaps2.containsKey(code1)){//循环中没有就退出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (SyPackingListTailoring tailoring : listTailoringList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (codeMaps2.get(code1).indexOf("失败")>-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tailoring.setSaleInvoiceError(codeMaps2.get(code1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(tailoring.getSaleInvoiceCode()==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tailoring.setSaleInvoiceCode(codeMaps2.get(code1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tailoring.setSaleInvoiceCode(tailoring.getSaleInvoiceCode()+";"+codeMaps2.get(code1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						tailoring.setSaleInvoiceError(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return "推送成功"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DS("multi-one") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String pushInvoice1(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return pushInvoices(listTailorings,maps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DS("multi-two") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String pushInvoice2(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return pushInvoices(listTailorings,maps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DS("multi-three") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String pushInvoice3(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return pushInvoices(listTailorings,maps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DS("multi-one") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String pushInvoice4(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return pushInvoices2(listTailorings,maps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DS("multi-two") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String pushInvoice5(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return pushInvoices2(listTailorings,maps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DS("multi-three") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public String pushInvoice6(List<SyPackingListTailoring> listTailorings,Map<String,Object> maps) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return pushInvoices2(listTailorings,maps); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public Map<String,String> result(JSONArray jsonArray,String pushName,String account){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String,String> codeMaps=new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (int i=0;i<jsonArray.size();i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			JSONObject jsonObject=jsonArray.getJSONObject(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			codeMaps.put(jsonObject.get("ReceiptNo").toString(),jsonObject.get("U8ReceiptNo").toString());//key:传入的单号,value:生成的单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(jsonObject.get("Result").equals("F")){//获取发货单是否成功添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				//throw new JeecgBootException("账套"+account+"接口"+tableName+",原因"+ jsonObject.get("Description")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				codeMaps.put(jsonObject.get("ReceiptNo").toString(),pushName+"接口推送失败原因:"+jsonObject.get("Description").toString());//key:传入的单号,value:失败的信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				codeMaps.put(jsonObject.get("ReceiptNo").toString(),account+pushName+"接口"+jsonObject.get("U8ReceiptNo").toString());//key:传入的单号,value:生成的单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return codeMaps;//账套号-序号-生成的单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2030,18 +2232,26 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return syPackingListTailoringMapper.queryByList(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private SyPackingListFabricMapper syPackingListFabricMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private SyPackingListFabricItemMapper syPackingListFabricItemMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public List<Map<String,Object>> getInvoices(List<String> codes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public List<Map<String,Object>> getInvoices1(List<String> codes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<Map<String,Object>> invoices=syPackingListTailoringItemMapper.getInvoice1(codes.toArray(new String[codes.size()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		System.out.println("invoices.size\t"+invoices.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		System.out.println("invoices\t"+invoices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return invoices; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public List<Map<String,Object>> getInvoices(List<String> codes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<Map<String,Object>> invoices=syPackingListFabricItemMapper.getInvoice(codes.toArray(new String[codes.size()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("invoices.size\t"+invoices.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		System.out.println("invoices\t"+invoices); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return invoices; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public Map<String,List<String>> getCustomers(List<String> codes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<Map<String,Object>> customers=syPackingListFabricMapper.getCustomers(codes.toArray(new String[codes.size()])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Map<String,List<String>> mapLists=new HashMap<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2107,13 +2317,29 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return mapLists; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public List<String> getList(List<SyPackingListTailoring> listFabrics){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public List<String> getList(List<SyPackingListTailoring> listFabrics,String account){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<String> ids=new ArrayList<>();//获取出库单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (SyPackingListTailoring syPackingListFabric : listFabrics){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if(syPackingListFabric.getRecordingCode()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				String [] strs=syPackingListFabric.getRecordingCode().split(";"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				for (String str : strs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(str.indexOf(account)>-1&&str.indexOf("入库单")>-1&&(syPackingListFabric.getSaleInvoiceCode()==null||syPackingListFabric.getSaleInvoiceCode().indexOf(account+"采购发票")==-1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						ids.add(str.split(":")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						syPackingListFabric.setRdrecord32Code(str.split(":")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return ids; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public List<String> getList2(List<SyPackingListTailoring> listFabrics,String account){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		List<String> ids=new ArrayList<>();//获取出库单号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		for (SyPackingListTailoring syPackingListFabric : listFabrics){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if(syPackingListFabric.getRecordingCode()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				String [] strs=syPackingListFabric.getRecordingCode().split(";"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				for (String str : strs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					if(str.indexOf("102账套采购入库单")>-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(str.indexOf(account+"账套销售出库单")>-1&&(syPackingListFabric.getSaleInvoiceCode()==null||syPackingListFabric.getSaleInvoiceCode().indexOf(account+"采购发票")==-1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						ids.add(str.split(":")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						syPackingListFabric.setRdrecord32Code(str.split(":")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} 
			 |