|  | @@ -1398,175 +1398,9 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	//@Override
 | 
	
		
			
				|  |  | -	//@Transactional
 | 
	
		
			
				|  |  | -	//@Scheduled(fixedRate=1000*60*3)
 | 
	
		
			
				|  |  | -	public void getU8Data2(){
 | 
	
		
			
				|  |  | -		try {
 | 
	
		
			
				|  |  | -			SimpleDateFormat sf = new SimpleDateFormat("yyMMdd");
 | 
	
		
			
				|  |  | -			String[] arrs = syPackingListFabricItemMapper.getu8Data();//获取发运明细已提交的辅料
 | 
	
		
			
				|  |  | -			Map<String, List<String>> maps = new HashMap<>();
 | 
	
		
			
				|  |  | -			Map<String, List<String>> maps2 = new HashMap<>();//获取主表符号
 | 
	
		
			
				|  |  | -			Map<String, String> maps3 = new HashMap<>();//获取主表符号
 | 
	
		
			
				|  |  | -			for (String arr : arrs) {
 | 
	
		
			
				|  |  | -				String account = arr.substring(0, 3);
 | 
	
		
			
				|  |  | -				String id = arr.substring(3);
 | 
	
		
			
				|  |  | -				if (maps.containsKey(account)) {
 | 
	
		
			
				|  |  | -					maps.get(account).add(id);
 | 
	
		
			
				|  |  | -				} else {
 | 
	
		
			
				|  |  | -					maps.put(account, new ArrayList<>());
 | 
	
		
			
				|  |  | -					maps.get(account).add(id);
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -			for (String account : maps.keySet()) {
 | 
	
		
			
				|  |  | -				String sql2 = "select " +
 | 
	
		
			
				|  |  | -						"b.AutoID as u8id ,\n" +
 | 
	
		
			
				|  |  | -						"b.id as u8pid,\n" +
 | 
	
		
			
				|  |  | -						"b.id as syPackingListFabricId,\n" +
 | 
	
		
			
				|  |  | -						//"left(b.csocode,ISNULL(NULLIF(CHARINDEX('-',b.csocode)-1,-1),len(b.csocode))) as planLotNumber,\n" +
 | 
	
		
			
				|  |  | -						"b.csocode as orderNumber,\n" +
 | 
	
		
			
				|  |  | -						account + " as account,\n" +
 | 
	
		
			
				|  |  | -						"0  as delflag,\n" +
 | 
	
		
			
				|  |  | -						"f.AutoID  as isosid,\n" +
 | 
	
		
			
				|  |  | -						"b.iQuantity  as inventoryQuantity,\n" +
 | 
	
		
			
				|  |  | -						"b.cbMemo as remarks,\n" +
 | 
	
		
			
				|  |  | -						"b.cbMemo as memo,\n" +
 | 
	
		
			
				|  |  | -						"f.iTaxUnitPrice as price,\n" +
 | 
	
		
			
				|  |  | -						"d.cPersonName as salesman,\n" +
 | 
	
		
			
				|  |  | -						"b.cDefine22 as itemNumber,\n" +
 | 
	
		
			
				|  |  | -						"b.cFree6 as gramWeight,\n" +
 | 
	
		
			
				|  |  | -						"b.cFree1 as colour,\n" +
 | 
	
		
			
				|  |  | -						"b.cInvCode as inventoryCode,\n" +
 | 
	
		
			
				|  |  | -						"c.cInvName as inventoryName,\n" +
 | 
	
		
			
				|  |  | -						"c.cInvName as composition,\n" +
 | 
	
		
			
				|  |  | -						"b.cFree2 as size ,\n" +
 | 
	
		
			
				|  |  | -						"f.cDefine35 as rolls,\n" +
 | 
	
		
			
				|  |  | -						"e.cComUnitName as masterMetering,\n" +
 | 
	
		
			
				|  |  | -						"b.cFree4 as width,\n" +
 | 
	
		
			
				|  |  | -						"c.cInvStd  as specificationAndModel\n" +
 | 
	
		
			
				|  |  | -						"from rdrecord32 a \n" +
 | 
	
		
			
				|  |  | -						"left JOIN rdrecords32 b\n" +
 | 
	
		
			
				|  |  | -						"on a.id=b.id \n" +
 | 
	
		
			
				|  |  | -						"left join Inventory c\n" +
 | 
	
		
			
				|  |  | -						"on b.cInvCode=c.cInvCode\n" +
 | 
	
		
			
				|  |  | -						"LEFT JOIN Person  d\n" +
 | 
	
		
			
				|  |  | -						"ON d.cPersonCode = a.cPersonCode\n" +
 | 
	
		
			
				|  |  | -						"left join ComputationUnit e\n" +
 | 
	
		
			
				|  |  | -						"on c.cComunitCode=e.cComunitCode\n" +
 | 
	
		
			
				|  |  | -						"left join SO_SODetails f\n" +
 | 
	
		
			
				|  |  | -						"on b.iorderdid=f.iSOsID\n" +
 | 
	
		
			
				|  |  | -						"where " +
 | 
	
		
			
				|  |  | -						"cInvCCode not like '01%'\n" +
 | 
	
		
			
				|  |  | -					"and cInvCCode not like '02%'\n" +
 | 
	
		
			
				|  |  | -					"and cInvCCode not like '03%'\n" +
 | 
	
		
			
				|  |  | -					"and cInvCCode not like '04%'\n" +
 | 
	
		
			
				|  |  | -					"and cInvCCode not like '19%'\n" +
 | 
	
		
			
				|  |  | -					"and cCusCode='T020001' and\n" +
 | 
	
		
			
				|  |  | -						" f.ID  in (" + maps.get(account).toString().substring(1, maps.get(account).toString().length() - 1) + ") ";//查询主表全部拉取
 | 
	
		
			
				|  |  | -				List<Map<String, Object>> list = new ArrayList<>();
 | 
	
		
			
				|  |  | -				if (account.equals("903")) {
 | 
	
		
			
				|  |  | -					list = senYuDataSourceThree.queryForList(sql2);//903
 | 
	
		
			
				|  |  | -				} else {
 | 
	
		
			
				|  |  | -					list = senYuDataSourceTwo.queryForList(sql2);//902
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(list);
 | 
	
		
			
				|  |  | -				System.out.println("jianSon的长度\t" + jianSon.size());
 | 
	
		
			
				|  |  | -				for (JSONObject json1 : jianSon) {
 | 
	
		
			
				|  |  | -					SyPackingListFabricItem sy1 = JSONObject.toJavaObject(json1, SyPackingListFabricItem.class);
 | 
	
		
			
				|  |  | -					sy1.setU8Id(account + sy1.getU8Id());//获取账套号+id
 | 
	
		
			
				|  |  | -					sy1.setSyPackingListFabricId(account + sy1.getSyPackingListFabricId());//账套号+主表id
 | 
	
		
			
				|  |  | -					sy1.setId(sy1.getU8Id());
 | 
	
		
			
				|  |  | -					sy1.setIsosid(sy1.getAccount() + sy1.getIsosid());//账套号+销售订单id
 | 
	
		
			
				|  |  | -					sy1.setActualDeclaredQuantity(sy1.getInventoryQuantity());//给报关数量赋值
 | 
	
		
			
				|  |  | -					sy1.setGroupId(sy1.getOrderNumber() + "-" + sy1.getInventoryCode() + "-" + sy1.getSize());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -					QueryWrapper<SyShippingDetailsItem> queryWrapper2 = new QueryWrapper<>();
 | 
	
		
			
				|  |  | -					queryWrapper2.eq("sy_order_data_item_id", sy1.getIsosid());
 | 
	
		
			
				|  |  | -					queryWrapper2.last("limit 1");
 | 
	
		
			
				|  |  | -					SyShippingDetailsItem syShippingDetailsItem = syShippingDetailsItemMapper.selectOne(queryWrapper2);
 | 
	
		
			
				|  |  | -					if (syShippingDetailsItem != null) {
 | 
	
		
			
				|  |  | -						String elementsId = syShippingDetailsItem.getElementsId();//申报要素id
 | 
	
		
			
				|  |  | -						if (oConvertUtils.isNotEmpty(elementsId)) {
 | 
	
		
			
				|  |  | -							SyDeclarationElements syDeclarationElements = syDeclarationElementsMapper.selectById(elementsId);
 | 
	
		
			
				|  |  | -							if (syDeclarationElements != null) {
 | 
	
		
			
				|  |  | -								sy1.setDeclarationName(syDeclarationElements.getDeclarationName());//获取报关品名
 | 
	
		
			
				|  |  | -							}
 | 
	
		
			
				|  |  | -						}
 | 
	
		
			
				|  |  | -						//sy1.setPrice(syShippingDetailsItem.getSalesUnitPrice());//销售单价
 | 
	
		
			
				|  |  | -						sy1.setSupplierCodePrintingPlant(syShippingDetailsItem.getSupplierCode());//染厂供应商编码
 | 
	
		
			
				|  |  | -						sy1.setSupplierPrintingPlant(syShippingDetailsItem.getSupplierCode());//染厂供应商
 | 
	
		
			
				|  |  | -						sy1.setSupplier(syShippingDetailsItem.getSupplier());//供应商编码
 | 
	
		
			
				|  |  | -						sy1.setSupplierCode(syShippingDetailsItem.getSupplierCode());//供应商
 | 
	
		
			
				|  |  | -						sy1.setSyShippingDetailsId(syShippingDetailsItem.getShippingDetailsId());//出运明细主表id
 | 
	
		
			
				|  |  | -						sy1.setSyShippingDetailsItemId(syShippingDetailsItem.getId());//出运明细子表id
 | 
	
		
			
				|  |  | -						sy1.setManualYarnUnitPrice(syShippingDetailsItem.getManualYarnUnitPrice());//手册纱单价
 | 
	
		
			
				|  |  | -						sy1.setManualYarnFlag(syShippingDetailsItem.getManualYarnFlag());//是否手册纱
 | 
	
		
			
				|  |  | -						sy1.setManualYarnProportion(syShippingDetailsItem.getManualYarnProportion());//手册纱占比
 | 
	
		
			
				|  |  | -						maps3.put(sy1.getSyPackingListFabricId(), syShippingDetailsItem.getGarmentFactory());//成衣工厂
 | 
	
		
			
				|  |  | -					}
 | 
	
		
			
				|  |  | -					if(sy1.getPrice()!=null&&sy1.getActualDeclaredQuantity()!=null){
 | 
	
		
			
				|  |  | -						sy1.setTotalPrice(sy1.getActualDeclaredQuantity().multiply(sy1.getPrice()));//实际报关数量*单价
 | 
	
		
			
				|  |  | -					}
 | 
	
		
			
				|  |  | -					if (maps2.containsKey(account)) {
 | 
	
		
			
				|  |  | -						maps2.get(account).add(sy1.getU8Pid());//获取主表id
 | 
	
		
			
				|  |  | -					} else {
 | 
	
		
			
				|  |  | -						maps2.put(account, new ArrayList<>());//初始化
 | 
	
		
			
				|  |  | -						maps2.get(account).add(sy1.getU8Pid());//获取主表id
 | 
	
		
			
				|  |  | -					}
 | 
	
		
			
				|  |  | -					syPackingListFabricItemMapper.insert(sy1);//插入新数据
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -			for (String account : maps2.keySet()) {
 | 
	
		
			
				|  |  | -				//先插主表数据,然后根据主表id查询子表数据再添加
 | 
	
		
			
				|  |  | -				String sql ="select     \n" +
 | 
	
		
			
				|  |  | -							"a.id u8Id,       \n" +
 | 
	
		
			
				|  |  | -							"'1' as is_U8_Data,    \n" +
 | 
	
		
			
				|  |  | -							"a.cMemo memo,    \n" +
 | 
	
		
			
				|  |  | -							"0 as delflag,    \n" +
 | 
	
		
			
				|  |  | -							"0 as status,     \n" +
 | 
	
		
			
				|  |  | -							"a.cMaker createby,    \n" +
 | 
	
		
			
				|  |  | -							"a.cMaker preparedBy,  \n" +
 | 
	
		
			
				|  |  | -							"a.cDefine10  exportInvoiceNo,  \n" +
 | 
	
		
			
				|  |  | -							"a.dnmaketime  preparedDate     \n" +
 | 
	
		
			
				|  |  | -							"from rdrecord32 a     \n" +
 | 
	
		
			
				|  |  | -							"where id in (" + maps2.get(account).toString().
 | 
	
		
			
				|  |  | -							substring(1, maps2.get(account).toString().length() - 1) + ")";//获取所有id
 | 
	
		
			
				|  |  | -				List<Map<String, Object>> listMain = new ArrayList<>();
 | 
	
		
			
				|  |  | -				if (account.equals("903")) {
 | 
	
		
			
				|  |  | -					listMain = senYuDataSourceThree.queryForList(sql);//903
 | 
	
		
			
				|  |  | -				} else {
 | 
	
		
			
				|  |  | -					listMain = senYuDataSourceTwo.queryForList(sql);//902
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				if (listMain.size() == 0) {
 | 
	
		
			
				|  |  | -					continue;//退出本次循环
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -				List<JSONObject> jsonObjects = JsonChangeUtils.toJSONObject(listMain);
 | 
	
		
			
				|  |  | -				//String time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis());//获取现在时间
 | 
	
		
			
				|  |  | -				for (JSONObject json : jsonObjects) {
 | 
	
		
			
				|  |  | -					SyPackingListFabric sy = JSONObject.toJavaObject(json, SyPackingListFabric.class);
 | 
	
		
			
				|  |  | -					QueryWrapper<SyPackingListFabric> queryWrapperCount = new QueryWrapper<>();
 | 
	
		
			
				|  |  | -					queryWrapperCount.like("create_time", new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis()));//获取今天时间
 | 
	
		
			
				|  |  | -					queryWrapperCount.eq("is_U8_Data", "1");//判断为辅料的数据
 | 
	
		
			
				|  |  | -					queryWrapperCount.select("lpad(count(0)+1,6,0) as id");
 | 
	
		
			
				|  |  | -					String dateNo = "FL" + sf.format(System.currentTimeMillis()) + getOne(queryWrapperCount).getId();//生成单据号
 | 
	
		
			
				|  |  | -					sy.setDocumentNo(dateNo);//单据号
 | 
	
		
			
				|  |  | -					sy.setDataSource("2");//直接从u8拉取的数据
 | 
	
		
			
				|  |  | -					sy.setU8Id(account + sy.getU8Id());
 | 
	
		
			
				|  |  | -					sy.setId(sy.getU8Id());
 | 
	
		
			
				|  |  | -					sy.setGarmentFactory(maps3.get(sy.getId()));//获取成衣工厂
 | 
	
		
			
				|  |  | -					syPackingListFabricMapper.insert(sy);//添加数据
 | 
	
		
			
				|  |  | -				}
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | -		}catch (Exception e){
 | 
	
		
			
				|  |  | -			e.printStackTrace();
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  	//@Override
 | 
	
		
			
				|  |  |  	//@Transactional
 | 
	
		
			
				|  |  | -	@Scheduled(fixedRate=1000*60*30)
 | 
	
		
			
				|  |  | +	@Scheduled(fixedRate=1000*60*3)
 | 
	
		
			
				|  |  |  	public void getU8Data (){
 | 
	
		
			
				|  |  |  		try {
 | 
	
		
			
				|  |  |  			SimpleDateFormat sf = new SimpleDateFormat("yyMMdd");
 | 
	
	
		
			
				|  | @@ -1582,7 +1416,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  					maps.get(account).add(id);
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -			System.out.println("");
 | 
	
		
			
				|  |  | +			System.out.println("maps\n"+maps);
 | 
	
		
			
				|  |  |  			for (String account : maps.keySet()) {//分成两类数据
 | 
	
		
			
				|  |  |  				//先插主表数据,然后根据主表id查询子表数据再添加
 | 
	
		
			
				|  |  |  				String sql ="select     \n" +
 | 
	
	
		
			
				|  | @@ -1687,7 +1521,6 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  |  					List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(list);
 | 
	
		
			
				|  |  |  					List<SyPackingListFabricItem> items=new ArrayList<>();
 | 
	
		
			
				|  |  | -					System.out.println("jianSon的长度\t" + jianSon.size());
 | 
	
		
			
				|  |  |  					for (JSONObject json1 : jianSon) {
 | 
	
		
			
				|  |  |  						SyPackingListFabricItem sy1 = JSONObject.toJavaObject(json1, SyPackingListFabricItem.class);
 | 
	
		
			
				|  |  |  						sy1.setU8Id(account + sy1.getU8Id());//获取账套号+id
 | 
	
	
		
			
				|  | @@ -1712,6 +1545,20 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 | 
	
		
			
				|  |  |  									sy1.setDeclarationName(syDeclarationElements.getDeclarationName());//获取报关品名
 | 
	
		
			
				|  |  |  								}
 | 
	
		
			
				|  |  |  							}
 | 
	
		
			
				|  |  | +							if(syShippingDetailsItem.getInventoryCcode()!=null&&syShippingDetailsItem.getInventoryCcode().indexOf("04")>-1
 | 
	
		
			
				|  |  | +									&&!syShippingDetailsItem.getInventoryCcode().equals("0499")){
 | 
	
		
			
				|  |  | +								//满足条件
 | 
	
		
			
				|  |  | +								sy1.setSupplierCodeDyeingPlant(syShippingDetailsItem.getRSupplierCode());//染厂编码
 | 
	
		
			
				|  |  | +								sy1.setSupplierCodePrintingPlant(syShippingDetailsItem.getSupplierCode());//染厂
 | 
	
		
			
				|  |  | +								sy1.setSupplierCodePrintingPlant(syShippingDetailsItem.getSupplierCode());//印厂编码
 | 
	
		
			
				|  |  | +								sy1.setSupplierPrintingPlant(syShippingDetailsItem.getSupplier());//印厂
 | 
	
		
			
				|  |  | +							}
 | 
	
		
			
				|  |  | +							if(syShippingDetailsItem.getInventoryCcode()!=null&&syShippingDetailsItem.getInventoryCcode().indexOf("03")>-1
 | 
	
		
			
				|  |  | +									&&!syShippingDetailsItem.getInventoryCcode().equals("0399")){
 | 
	
		
			
				|  |  | +								//满足条件
 | 
	
		
			
				|  |  | +								sy1.setSupplierCodeDyeingPlant(syShippingDetailsItem.getSupplierCode());//染厂编码
 | 
	
		
			
				|  |  | +								sy1.setSupplierDyeingPlant(syShippingDetailsItem.getSupplier());//染厂
 | 
	
		
			
				|  |  | +							}
 | 
	
		
			
				|  |  |  							//sy1.setPrice(syShippingDetailsItem.getSalesUnitPrice());//销售单价
 | 
	
		
			
				|  |  |  							//sy1.setSupplierCodePrintingPlant(syShippingDetailsItem.getSupplierCode());//染厂供应商编码
 | 
	
		
			
				|  |  |  							//sy1.setSupplierPrintingPlant(syShippingDetailsItem.getSupplierCode());//染厂供应商
 |