diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java index 35772e5da..33014edc6 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java @@ -69,13 +69,13 @@ public class FactoryXxlJob { @XxlJob("factoryJobHandler") public ReturnT factoryJobHandler(String param) throws Exception { // 获取当前时间 - LocalDate date ; + LocalDate date; List ls = stationlinenumService.lambdaQuery().eq(StationlinenumEntity::getIsDeleted, 0).eq(StationlinenumEntity::getStatus, LogpmDataStatusEnum.OPEN.getValue()).list(); if (!ObjectUtils.isEmpty(ls)) { - if(StringUtils.isNotBlank(param)){ + if (StringUtils.isNotBlank(param)) { date = LocalDate.parse(param); - }else{ + } else { date = LocalDate.now(); } //查询配置站点 @@ -101,11 +101,10 @@ public class FactoryXxlJob { // 查询所有的数据库内容 只包含客户单号 List allDataList = stationOrderService.lambdaQuery().select(StationOrderEntity::getTcWlb008).list(); XxlJobLogger.log("allDataList{}", allDataList.size()); - - List newList = new ArrayList<>(); - if(allDataList.size()!=0){ - newList.addAll(allDataList.stream().map(StationOrderEntity::getTcWlb008).collect(Collectors.toList())) ; + List newList = new ArrayList<>(); + if (allDataList.size() != 0) { + newList.addAll(allDataList.stream().map(StationOrderEntity::getTcWlb008).collect(Collectors.toList())); XxlJobLogger.log("newList{}", newList.size()); } @@ -115,7 +114,7 @@ public class FactoryXxlJob { //XxlJobLogger.log("日志对象 {}", orderLogEntity); Map map = orderService.dataRelative(orderLogEntity); List dataList = map.get(StationOrderEntity.class.getName()); - if(dataList.size()==0){ + if (dataList.size() == 0) { //XxlJobLogger.log("本次解析操作没有数据"); //更新数据库请求日志状态 orderLogEntity.setStatus(0); @@ -168,7 +167,7 @@ public class FactoryXxlJob { @Transactional(rollbackFor = Exception.class) public Boolean resoveFactoryData() { - Map> map = new HashMap<>(); + Map> map = new HashMap<>(); //TODO 调用Service 获取需要处理的数据 //查询要处理的订单信息 List stationOrderList = stationOrderService.list(Wrappers.query().lambda() @@ -178,33 +177,33 @@ public class FactoryXxlJob { //TODO 获取老系统中存在的数据 与当前需要处理的数据进行判断是否存在重复 AdvanceDTO advanceDTO = new AdvanceDTO(); List queryData = iAdvanceClient.getQueryData(advanceDTO); - if(queryData.size() > 0){ - queryData.forEach( it ->{ + if (queryData.size() > 0) { + queryData.forEach(it -> { StationOrderEntity stationOrderEntity = collect.get(it.getOrderSelfNum()); - if(ObjectUtil.isNotNull(stationOrderEntity)){ + if (ObjectUtil.isNotNull(stationOrderEntity)) { collect.remove(it.getOrderSelfNum()); } }); } Map longIntegerMap = new HashMap<>(); //订单ID List list = new ArrayList<>(); // 服务号 自编码 - if(collect.size() > 0){ - collect.forEach((k,v) ->{ + if (collect.size() > 0) { + collect.forEach((k, v) -> { List staorderPackagesList = staorderPackagesService.list(Wrappers.query().lambda() .eq(StaorderPackagesEntity::getIdentification, "2") - .eq(StaorderPackagesEntity::getOrderId,k) + .eq(StaorderPackagesEntity::getOrderId, k) ); - if(staorderPackagesList.size() > 0){ - map.put(k,staorderPackagesList); + if (staorderPackagesList.size() > 0) { + map.put(k, staorderPackagesList); } //查询基地名称 StationlinenumEntity stationlinenumEntity = stationlinenumService.selectNameByNumber(v.getTcWlb006()); String siteName = Objects.isNull(stationlinenumEntity) ? null : stationlinenumEntity.getLogisticsLineName(); Integer warehouseId = warehouseClient.selectIdByName(siteName); - logger.info("###########resoveFactoryData: warehouseId={}",warehouseId); + logger.info("###########resoveFactoryData: warehouseId={}", warehouseId); //添加订单信息 - AdvanceEntity advanceEntity = new AdvanceEntity(); + AdvanceEntity advanceEntity = new AdvanceEntity(); advanceEntity.setOrderSelfNum(v.getTcWlb008()); //订单自编号 advanceEntity.setSiteName(siteName); // 基地 advanceEntity.setArea(""); // 区域 @@ -241,79 +240,79 @@ public class FactoryXxlJob { advanceEntity.setCarsNum(v.getTcWla001()); //派车单--snm 可以为空 advanceEntity.setDeleteTime(0); // 删除时间 advanceEntity.setWaybillNo("");//运单号 可以为空 - advanceEntity.setWarehouseId(Objects.isNull(warehouseId)?0:warehouseId); //导入人仓库id + advanceEntity.setWarehouseId(Objects.isNull(warehouseId) ? 0 : warehouseId); //导入人仓库id advanceEntity.setWaybillStatus(Byte.parseByte("1"));//开单状态:1=未开单,2=已开单 advanceEntity.setOldId(0);// advanceEntity.setFreeze(Byte.parseByte("1"));//冻结状态:1=正常,2=冻结 advanceEntity.setDeleteReason("");//删除原因 advanceEntity.setDeleteAdministratorsId(0);//删除用户 Integer integer = iAdvanceClient.addAdvanceClient(advanceEntity); - if (integer > 0){ + if (integer > 0) { //订单id - longIntegerMap.put(k,integer); + longIntegerMap.put(k, integer); // longIntegerMap.put(k,advanceEntity.getId()); } }); //TODO 插入到老系统的的数据库 - map.forEach((k,v) ->{ - StationOrderEntity stationOrderEntity = collect.get(k); // 订单 - Integer aLong = longIntegerMap.get(k);//订单ID - - //查询基地名称 - StationlinenumEntity stationlinenumEntity = stationlinenumService.selectNameByNumber(stationOrderEntity.getTcWlb006()); - - List groupByPackages = staorderPackagesService.selectGroupByLxAndPackNumByOrderId(k); - groupByPackages.forEach(gpd->{ - //添加订单明细 - AdvanceDetailEntity advanceDetailEntity = new AdvanceDetailEntity(); - advanceDetailEntity.setAdvanceId(aLong);//预仓id - advanceDetailEntity.setIsPay(Byte.parseByte("0"));// - advanceDetailEntity.setLineID("");//线下订单明细标时 可以为空 - advanceDetailEntity.setSerialKey("");//序列号 可以为空 - advanceDetailEntity.setArea("");//区域 - advanceDetailEntity.setOrderSelfNum(stationOrderEntity.getTcWlb008());//订单自编号 - advanceDetailEntity.setType("诗尼曼");//订单来源 - advanceDetailEntity.setSystemType("线上");//订单类型 - advanceDetailEntity.setOrderNum("");//MSCS单号 可以为空 - advanceDetailEntity.setIsOpai(0);//是否干仓配:1=是,0=否 - advanceDetailEntity.setMtdsNo("");//MTDS单号 可以为空 - advanceDetailEntity.setFirstPackName(PackagesTypeEnum.getMes(gpd.getLx()));//一级品类 - advanceDetailEntity.setFirstPackCode("");//二级品类 - advanceDetailEntity.setSiteName(Objects.isNull(stationlinenumEntity)?null:stationlinenumEntity.getLogisticsLineName());//基地名称 - advanceDetailEntity.setSiteCode("");//基地编码 - advanceDetailEntity.setProductCode("");//货品名称 可以为空 - advanceDetailEntity.setSecondPackName(PackagesTypeEnum.getMes(gpd.getLx()));//二级品类名称 - advanceDetailEntity.setSecondPackCode("");//二级品类 - advanceDetailEntity.setThirdPackName(PackagesTypeEnum.getMes(gpd.getLx()));//三级品类名称 - advanceDetailEntity.setThirdPackCode(gpd.getLx());//三级品类 - advanceDetailEntity.setGoodName("");//v产品类型 可以为空 - advanceDetailEntity.setIsAddin("Y");//例放:N=正常,Y=例放 - advanceDetailEntity.setIsThirdAddin("N");//三级例放:N=正常,Y=例放 - advanceDetailEntity.setIsSuppin("N");//补进:N=正常,Y=例放 - advanceDetailEntity.setMscsNum(gpd.getTotal().toString());//发货数量 - advanceDetailEntity.setMtdsNum(0);//销售数量 - advanceDetailEntity.setVolume("");//体积 - advanceDetailEntity.setUnitNo(gpd.getPackagenum());//包条码 - advanceDetailEntity.setMctsTruck(stationOrderEntity.getTcWla001());//车次号 - advanceDetailEntity.setMctsTruckNo("");//车牌号 - advanceDetailEntity.setDate100(CommonUtil.stringToLocalDate(stationOrderEntity.getTcWla002()));//基地发货日期 - advanceDetailEntity.setDate2("");//预约到厂时间 - advanceDetailEntity.setDate3("");//实际到厂时间 - advanceDetailEntity.setDate4("");//开始装车时间 - advanceDetailEntity.setDate5("");//完成装车时间 - advanceDetailEntity.setDate6("");//车辆离厂时间 - advanceDetailEntity.setCreateTime(LocalDate.now());//创建时间 - advanceDetailEntity.setDeleteTime(0);//删除时间 - advanceDetailEntity.setServiceNum(stationOrderEntity.getTcWlb008());//服务号 - advanceDetailEntity.setAdmin("");// - advanceDetailEntity.setAdministratorsId(0);//导入人 + map.forEach((k, v) -> { + StationOrderEntity stationOrderEntity = collect.get(k); // 订单 + Integer aLong = longIntegerMap.get(k);//订单ID + + //查询基地名称 + StationlinenumEntity stationlinenumEntity = stationlinenumService.selectNameByNumber(stationOrderEntity.getTcWlb006()); + + List groupByPackages = staorderPackagesService.selectGroupByLxAndPackNumByOrderId(k); + groupByPackages.forEach(gpd -> { + //添加订单明细 + AdvanceDetailEntity advanceDetailEntity = new AdvanceDetailEntity(); + advanceDetailEntity.setAdvanceId(aLong);//预仓id + advanceDetailEntity.setIsPay(Byte.parseByte("0"));// + advanceDetailEntity.setLineID("");//线下订单明细标时 可以为空 + advanceDetailEntity.setSerialKey("");//序列号 可以为空 + advanceDetailEntity.setArea("");//区域 + advanceDetailEntity.setOrderSelfNum(stationOrderEntity.getTcWlb008());//订单自编号 + advanceDetailEntity.setType("诗尼曼");//订单来源 + advanceDetailEntity.setSystemType("线上");//订单类型 + advanceDetailEntity.setOrderNum("");//MSCS单号 可以为空 + advanceDetailEntity.setIsOpai(0);//是否干仓配:1=是,0=否 + advanceDetailEntity.setMtdsNo("");//MTDS单号 可以为空 + advanceDetailEntity.setFirstPackName(PackagesTypeEnum.getMes(gpd.getLx()));//一级品类 + advanceDetailEntity.setFirstPackCode("");//二级品类 + advanceDetailEntity.setSiteName(Objects.isNull(stationlinenumEntity) ? null : stationlinenumEntity.getLogisticsLineName());//基地名称 + advanceDetailEntity.setSiteCode("");//基地编码 + advanceDetailEntity.setProductCode("");//货品名称 可以为空 + advanceDetailEntity.setSecondPackName(PackagesTypeEnum.getMes(gpd.getLx()));//二级品类名称 + advanceDetailEntity.setSecondPackCode("");//二级品类 + advanceDetailEntity.setThirdPackName(PackagesTypeEnum.getMes(gpd.getLx()));//三级品类名称 + advanceDetailEntity.setThirdPackCode(gpd.getLx());//三级品类 + advanceDetailEntity.setGoodName("");//v产品类型 可以为空 + advanceDetailEntity.setIsAddin("Y");//例放:N=正常,Y=例放 + advanceDetailEntity.setIsThirdAddin("N");//三级例放:N=正常,Y=例放 + advanceDetailEntity.setIsSuppin("N");//补进:N=正常,Y=例放 + advanceDetailEntity.setMscsNum(gpd.getTotal().toString());//发货数量 + advanceDetailEntity.setMtdsNum(0);//销售数量 + advanceDetailEntity.setVolume("");//体积 + advanceDetailEntity.setUnitNo(gpd.getPackagenum());//包条码 + advanceDetailEntity.setMctsTruck(stationOrderEntity.getTcWla001());//车次号 + advanceDetailEntity.setMctsTruckNo("");//车牌号 + advanceDetailEntity.setDate100(CommonUtil.stringToLocalDate(stationOrderEntity.getTcWla002()));//基地发货日期 + advanceDetailEntity.setDate2("");//预约到厂时间 + advanceDetailEntity.setDate3("");//实际到厂时间 + advanceDetailEntity.setDate4("");//开始装车时间 + advanceDetailEntity.setDate5("");//完成装车时间 + advanceDetailEntity.setDate6("");//车辆离厂时间 + advanceDetailEntity.setCreateTime(LocalDate.now());//创建时间 + advanceDetailEntity.setDeleteTime(0);//删除时间 + advanceDetailEntity.setServiceNum(stationOrderEntity.getTcWlb008());//服务号 + advanceDetailEntity.setAdmin("");// + advanceDetailEntity.setAdministratorsId(0);//导入人 // advanceDetailEntity.setDueDate(0);//交期 - advanceDetailEntity.setRemark("");//备注 - advanceDetailEntity.setOldId(0);// - boolean b = advanceDetailClient.addAdvanceDetail(advanceDetailEntity); - //XxlJobLogger.log("addAdvanceDetail 添加状态 {}", b); - }); - // 添加包件信息 + advanceDetailEntity.setRemark("");//备注 + advanceDetailEntity.setOldId(0);// + boolean b = advanceDetailClient.addAdvanceDetail(advanceDetailEntity); + //XxlJobLogger.log("addAdvanceDetail 添加状态 {}", b); + }); + // 添加包件信息 // DetailProductEntity detailProductEntity = new DetailProductEntity(); @@ -331,33 +330,32 @@ public class FactoryXxlJob { // //XxlJobLogger.log("addDetailProduct 添加状态 {}", aBoolean11); - - ServiceNumEntity serviceNum = new ServiceNumEntity(); - serviceNum.setServiceNum(stationOrderEntity.getTcWlb007()); //服务号 - serviceNum.setTotal(stationOrderEntity.getTcWlb009().toString()); //订单数量 - serviceNum.setDetailTotal(stationOrderEntity.getTcWlb009().toString()); // 包数量 - serviceNum.setStoreName(stationOrderEntity.getOcc02()); //商场名 - serviceNum.setStoreNo(""); // 商场编号 - serviceNum.setCustomerName(stationOrderEntity.getTcWlb010()); //顾客姓名 - serviceNum.setCustomerPhone(stationOrderEntity.getTcWlb011()); //顾客电话 - serviceNum.setCustomerRoad(""); //顾客地址 - serviceNum.setIsOpai(1); //是否干仓配 - serviceNum.setCompleteSet("V"); //齐套标识:Y=齐套,N=未齐套,V=未知 + ServiceNumEntity serviceNum = new ServiceNumEntity(); + serviceNum.setServiceNum(stationOrderEntity.getTcWlb007()); //服务号 + serviceNum.setTotal(stationOrderEntity.getTcWlb009().toString()); //订单数量 + serviceNum.setDetailTotal(stationOrderEntity.getTcWlb009().toString()); // 包数量 + serviceNum.setStoreName(stationOrderEntity.getOcc02()); //商场名 + serviceNum.setStoreNo(""); // 商场编号 + serviceNum.setCustomerName(stationOrderEntity.getTcWlb010()); //顾客姓名 + serviceNum.setCustomerPhone(stationOrderEntity.getTcWlb011()); //顾客电话 + serviceNum.setCustomerRoad(""); //顾客地址 + serviceNum.setIsOpai(1); //是否干仓配 + serviceNum.setCompleteSet("V"); //齐套标识:Y=齐套,N=未齐套,V=未知 // serviceNum.setCreateTime(LocalDate.now()); - serviceNum.setDeleteTime(0); - list.add(serviceNum); - v.forEach(it ->{ - it.setIdentification("1"); - staorderPackagesService.updateById(it); - }); + serviceNum.setDeleteTime(0); + list.add(serviceNum); + v.forEach(it -> { + it.setIdentification("1"); + staorderPackagesService.updateById(it); + }); - }); - //添加服务号和订单自编号表 + }); + //添加服务号和订单自编号表 Boolean aBoolean123 = serviceNumClient.addServiceNum(list); //XxlJobLogger.log("addServiceNum添加状态 {}", aBoolean123); //修改提交状态 - stationOrderList.forEach(it ->{ + stationOrderList.forEach(it -> { it.setIdentification("1"); stationOrderService.updateById(it); }); @@ -367,15 +365,20 @@ public class FactoryXxlJob { } private List checkDataExit(List dataList, List allDataList) { - //XxlJobLogger.log("allDataList {}", allDataList.toArray()); - for (int i = 0; i < dataList.size(); i++) { - //XxlJobLogger.log("dataList.get(i).getTcWlb008() {}", dataList.get(i).getTcWlb008()); - if (allDataList.contains(dataList.get(i).getTcWlb008())) { - // 如果存在 需要移除 - //XxlJobLogger.log("移除对象 {}", dataList.get(i).getTcWlb008()); - dataList.remove(i); + + + allDataList.forEach(t -> { + for (int i = 0; i < dataList.size(); i++) { + if (dataList.get(i).getTcWlb008().equals(t)) { + dataList.remove(i); + } } - } + }); +// for (int i = 0; i < dataList.size(); i++) { +// if (allDataList.contains(dataList.get(i).getTcWlb008())) { +// dataList.remove(i); +// } +// } return dataList; }