Forráskód Böngészése

u8拉取数据获取申报要素id

huxy 2 éve
szülő
commit
027ac7783d

+ 5 - 171
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java

@@ -127,6 +127,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			entity.setOrderNumber(detailsItem.getOrderNumber());//获取订单号
 			entity.setSmallPo(detailsItem.getSmallPo());//小po
 			entity.setOmpoAccount(detailsItem.getOmpoAccount());
+			entity.setAccount(detailsItem.getAccount());
 			entity.setOmpoIdItem(detailsItem.getOmpoIdItem());
 			entity.setSyOrderDataItemId(detailsItem.getSyOrderDataItemId());
 			entity.setSyOrderDataId(detailsItem.getSyOrderDataId());
@@ -288,176 +289,6 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		return syPackingListFabricMapper.queryMain(page,queryWrapper);
 	}
 
-	/**
-	 * 每3分钟拉取一次数据
-	 */
-	//@Override
-	//@Scheduled(fixedRate=1000*60*300)
-	//@Transactional
-	public void getU8Data3() {
-		SimpleDateFormat sf= new SimpleDateFormat("yyMMdd");
-		try{
-			QueryWrapper<DxpDataPlan> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("code", "senYu_accessory_data");
-			DxpDataPlan dxpDataPlan=dxpDataPlanService.getOne(queryWrapper);
-			String time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis());//获取现在时间
-			String lastTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dxpDataPlan.getLastTime());
-			System.out.println("time:\t"+time);
-			System.out.println("lastTime:\t"+lastTime);
-			String [] pks=dxpDataPlan.getPkOrg().split(",");
-			for (String pk : pks){
-				String account=pk.split(":")[1];//获取账套号
-				//先插主表数据,然后根据主表id查询子表数据再添加
-				String sql="select \n" +
-						"a.id u8Id,\n" +
-						account+" as account , \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 " +
-						"cCusCode='T020001' and\n" +
-						" (select count(1) from \n" +
-						"rdrecords32 left join Inventory\n" +
-						"on rdrecords32.cInvCode=Inventory.cInvCode \n" +
-						"where rdrecords32.id=a.id\n" +
-						"and 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" +
-						" )>0 and a.dnverifytime>'"+lastTime+"'";//根据最后一次拉去时间
-				List<Map<String, Object>> listMain = new ArrayList<>();
-				System.out.println("sql:\t"+sql);
-				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);
-				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.setU8Id(account+sy.getU8Id());
-					sy.setId(sy.getU8Id());
-					String pname="";
-					syPackingListFabricMapper.insert(sy);//添加数据
-					String sql2="select " +
-							"b.AutoID as u8id ,\n" +
-							"b.id as u8pid,\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'\n" +
-							"and a.id='"+sy.getU8Id().substring(3)+"'";
-					List<Map<String, Object>> list = new ArrayList<>();
-					//String groupId=oConvertUtils.getId();//获取id
-					if(account.equals("903")){
-						list = senYuDataSourceThree.queryForList(sql2);//903
-					}else{
-						list = senYuDataSourceTwo.queryForList(sql2);//902
-					}
-					List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(list);
-					for (JSONObject json1 :  jianSon){
-						SyPackingListFabricItem sy1 = JSONObject.toJavaObject(json1, SyPackingListFabricItem.class);
-						sy1.setU8Id(account+sy1.getU8Id());//获取账套号+id
-						sy1.setId(sy1.getU8Id());
-						sy1.setIsosid(sy1.getAccount()+sy1.getIsosid());//账套号+销售订单id
-						sy1.setActualDeclaredQuantity(sy1.getInventoryQuantity());//给报关数量赋值
-						sy1.setGroupId(sy1.getOrderNumber()+"-"+sy1.getInventoryCode()+"-"+sy1.getSize());
-						sy1.setSyPackingListFabricId(sy.getId());//获取主表id
-						if(sy1.getMasterMetering().equals("KG")){//当单位为KG时
-							sy1.setTotalPrice(sy1.getNetWeight().multiply(sy1.getPrice()));//净重*单价
-						}else{
-							sy1.setTotalPrice(sy1.getActualDeclaredQuantity().multiply(sy1.getPrice()));//实际报关数量*单价
-						}
-						sy1.setU8Pid(sy.getU8Id());
-						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){
-							pname=syShippingDetailsItem.getGarmentFactory();//成衣工厂
-							String elementsId=syShippingDetailsItem.getElementsId();//申报要素id
-							if(oConvertUtils.isNotEmpty(elementsId)){
-								SyDeclarationElements syDeclarationElements=syDeclarationElementsMapper.selectById(elementsId);
-								if(syDeclarationElements!=null){
-									sy1.setDeclarationName(syDeclarationElements.getDeclarationName());//获取报关品名
-								}
-							}
-							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());//手册纱占比
-						}
-						syPackingListFabricItemMapper.insert(sy1);//插入新数据
-					}
-					if(oConvertUtils.isNotEmpty(pname)){//不为空就进行添加修改
-						sy.setGarmentFactory(pname);//成衣工厂
-						syPackingListFabricMapper.updateById(sy);//添加成衣工厂
-					}
-				}
-			}
-			dxpDataPlanService.updateLastTime2(time,"senYu_accessory_data");//修改最后抓取时间
-		}catch (Exception e){
-			System.out.println("辅料更新失败:"+e.getMessage());
-			log.error(e.getMessage());
-		}
-		//return sys;
-	}
-
 	@Override
 	@Transactional
 	public boolean submitBatch(String[] ids) {
@@ -545,6 +376,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					s1.setMasterMetering(item.getMasterMetering());//单位
 					syPackingListFabric.setSyDeclarationElementsId(item.getShippingDetailsId());//出运明细主表id
 					s1.setSpecificationAndModel(item.getSpecificationAndModel());//规格型号
+					s1.setAccount(item.getAccount());
 					if(s1.getActualDeclaredQuantity()!=null){
 						s1.setTotalPrice(s1.getActualDeclaredQuantity().multiply(s1.getPrice()));//实际报关数量*单价
 					}
@@ -646,7 +478,8 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					item.setInventoryCode(syShippingDetailsItem.getInventoryCode());//物料编码
 					item.setOmpoId(syShippingDetailsItem.getOmpoId());
 					item.setOmpoIdItem(syShippingDetailsItem.getOmpoIdItem());
-					item.setOmpoAccount(syShippingDetailsItem.getAccount());
+					item.setOmpoAccount(syShippingDetailsItem.getOmpoAccount());
+					item.setAccount(syShippingDetailsItem.getAccount());
 
 					item.setSyOrderDataItemId(syShippingDetailsItem.getSyOrderDataItemId());
 					item.setSyOrderDataId(syShippingDetailsItem.getSyOrderDataId());
@@ -1570,6 +1403,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 								sy1.setSupplierDyeingPlant(syShippingDetailsItem.getSupplier());//染厂
 							}
 							sy1.setSupplier(syShippingDetailsItem.getSupplier());//供应商编码
+							sy1.setElementsId(elementsId);//申报要素id
 							sy1.setSupplierCode(syShippingDetailsItem.getSupplierCode());//供应商
 							sy1.setSyShippingDetailsId(syShippingDetailsItem.getShippingDetailsId());//出运明细主表id
 							sy1.setSyShippingDetailsItemId(syShippingDetailsItem.getId());//出运明细子表id