From ceb2a28cf4560060a12e89f74893bd60e1de757b Mon Sep 17 00:00:00 2001 From: "CJYXTX\\27961" <971623072tx> Date: Mon, 18 Mar 2024 17:14:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E5=8C=BA=E5=94=AF=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jnpf/service/HousingEstateService.java | 4 + .../EnterpriserecyclestationServiceImpl.java | 17 ++ .../impl/HousingEstateServiceImpl.java | 214 ++++++++++++++++++ .../controller/HousingEstateController.java | 34 +++ .../java/jnpf/entity/HousingEstateEntity.java | 7 +- .../housingestate/HousingEstateForm.java | 9 +- .../HousingEstatePagination.java | 4 + .../views/enterpriserecyclestation/form.vue | 7 +- .../jnpf-web/src/views/housingestate/form.vue | 79 ++++++- .../views/publicPopup/housingEstateBox.vue | 2 +- 10 files changed, 363 insertions(+), 14 deletions(-) diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/HousingEstateService.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/HousingEstateService.java index 7e561de..f0f2983 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/HousingEstateService.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/HousingEstateService.java @@ -18,6 +18,10 @@ public interface HousingEstateService extends IService { List getTypeList(HousingEstatePagination housingEstatePagination,String dataType); + List getHousingList(HousingEstatePagination housingEstatePagination); + + List getHousingTypeList(HousingEstatePagination housingEstatePagination,String dataType); + HousingEstateEntity getInfo(String id); void delete(HousingEstateEntity entity); diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/EnterpriserecyclestationServiceImpl.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/EnterpriserecyclestationServiceImpl.java index d6e7eca..1cb847b 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/EnterpriserecyclestationServiceImpl.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/EnterpriserecyclestationServiceImpl.java @@ -50,6 +50,8 @@ public class EnterpriserecyclestationServiceImpl extends ServiceImpl getList(EnterpriserecyclestationPagination enterpriserecyclestationPagination){ return getTypeList(enterpriserecyclestationPagination,enterpriserecyclestationPagination.getDataType()); @@ -613,15 +615,30 @@ public class EnterpriserecyclestationServiceImpl extends ServiceImpl tableField119 = JsonUtil.getJsonToList(enterpriserecyclestationForm.getRecyclestationhousingestateList(),RecyclestationhousingestateEntity.class); for(RecyclestationhousingestateEntity entitys : tableField119){ entitys.setId(RandomUtil.uuId()); entitys.setStationId(entity.getId()); + + //修改存储新的回收站id + QueryWrapper queryWrapper =new QueryWrapper<>(); + queryWrapper.lambda().eq(HousingEstateEntity::getId, entitys.getHousingEstateId()); + List housingEstateEntityList = housingEstateService.list(queryWrapper); + if (housingEstateEntityList.size()>0){ + for (HousingEstateEntity housingEstateEntity: housingEstateEntityList) { + housingEstateEntity.setStationId(entity.getId()); + } + } + housingEstateService.updateBatchById(housingEstateEntityList); + if(isSave){ }else{ } recyclestationhousingestateService.saveOrUpdate(entitys); + + } } } diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/HousingEstateServiceImpl.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/HousingEstateServiceImpl.java index 35c2f46..7a407dc 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/HousingEstateServiceImpl.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/HousingEstateServiceImpl.java @@ -253,6 +253,220 @@ public class HousingEstateServiceImpl extends ServiceImpl getHousingList(HousingEstatePagination housingEstatePagination){ + return getHousingTypeList(housingEstatePagination,housingEstatePagination.getDataType()); + } + /** 列表查询 */ + @Override + public List getHousingTypeList(HousingEstatePagination housingEstatePagination,String dataType){ + String userId=userProvider.get().getUserId(); + List AllIdList =new ArrayList(); + List> intersectionList =new ArrayList<>(); + boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc"); + String columnData = !isPc ? HousingEstateConstant.getAppColumnData() : HousingEstateConstant.getColumnData(); + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class); + String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList()); + + int total=0; + int housingEstateNum =0; + QueryWrapper housingEstateQueryWrapper=new QueryWrapper<>(); + List allSuperIDlist = new ArrayList<>(); + String superOp =""; + if (ObjectUtil.isNotEmpty(housingEstatePagination.getSuperQueryJson())){ + List allSuperList = new ArrayList<>(); + List> intersectionSuperList = new ArrayList<>(); + String queryJson = housingEstatePagination.getSuperQueryJson(); + SuperJsonModel superJsonModel = JsonUtil.getJsonToBean(queryJson, SuperJsonModel.class); + int superNum = 0; + QueryWrapper housingEstateSuperWrapper = new QueryWrapper<>(); + housingEstateSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(housingEstateSuperWrapper,HousingEstateEntity.class,queryJson,"0")); + int housingEstateNum1 = housingEstateSuperWrapper.getExpression().getNormal().size(); + if (housingEstateNum1>0){ + List housingEstateList =this.list(housingEstateSuperWrapper).stream().map(HousingEstateEntity::getId).collect(Collectors.toList()); + allSuperList.addAll(housingEstateList); + intersectionSuperList.add(housingEstateList); + superNum++; + } + superOp = superNum > 0 ? superJsonModel.getMatchLogic() : ""; + //and or + if(superOp.equalsIgnoreCase("and")){ + allSuperIDlist = generaterSwapUtil.getIntersection(intersectionSuperList); + }else{ + allSuperIDlist = allSuperList; + } + } + List allRuleIDlist = new ArrayList<>(); + String ruleOp =""; + if (ObjectUtil.isNotEmpty(ruleJson)){ + List allRuleList = new ArrayList<>(); + List> intersectionRuleList = new ArrayList<>(); + SuperJsonModel ruleJsonModel = JsonUtil.getJsonToBean(ruleJson, SuperJsonModel.class); + int ruleNum = 0; + QueryWrapper housingEstateSuperWrapper = new QueryWrapper<>(); + housingEstateSuperWrapper = generaterSwapUtil.getCondition(new QueryModel(housingEstateSuperWrapper,HousingEstateEntity.class,ruleJson,"0")); + int housingEstateNum1 = housingEstateSuperWrapper.getExpression().getNormal().size(); + if (housingEstateNum1>0){ + List housingEstateList =this.list(housingEstateSuperWrapper).stream().map(HousingEstateEntity::getId).collect(Collectors.toList()); + allRuleList.addAll(housingEstateList); + intersectionRuleList.add(housingEstateList); + ruleNum++; + } + ruleOp = ruleNum > 0 ? ruleJsonModel.getMatchLogic() : ""; + //and or + if(ruleOp.equalsIgnoreCase("and")){ + allRuleIDlist = generaterSwapUtil.getIntersection(intersectionRuleList); + }else{ + allRuleIDlist = allRuleList; + } + } + boolean pcPermission = false; + boolean appPermission = false; + if(isPc && pcPermission){ + if (!userProvider.get().getIsAdministrator()){ + Object housingEstateObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(housingEstateQueryWrapper,HousingEstateEntity.class,housingEstatePagination.getMenuId(),"0")); + if (ObjectUtil.isEmpty(housingEstateObj)){ + return new ArrayList<>(); + } else { + housingEstateQueryWrapper = (QueryWrapper)housingEstateObj; + if( housingEstateQueryWrapper.getExpression().getNormal().size()>0){ + housingEstateNum++; + } + } + } + } + if(!isPc && appPermission){ + if (!userProvider.get().getIsAdministrator()){ + Object housingEstateObj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(housingEstateQueryWrapper,HousingEstateEntity.class,housingEstatePagination.getMenuId(),"0")); + if (ObjectUtil.isEmpty(housingEstateObj)){ + return new ArrayList<>(); + } else { + housingEstateQueryWrapper = (QueryWrapper)housingEstateObj; + if( housingEstateQueryWrapper.getExpression().getNormal().size()>0){ + housingEstateNum++; + } + } + + + } + } + if(isPc){ + if(ObjectUtil.isNotEmpty(housingEstatePagination.getName())){ + housingEstateNum++; + + String value = housingEstatePagination.getName() instanceof List ? + JsonUtil.getObjectToString(housingEstatePagination.getName()) : + String.valueOf(housingEstatePagination.getName()); + housingEstateQueryWrapper.lambda().like(HousingEstateEntity::getName,value); + + } + + if(housingEstatePagination.getExcludeIdList() != null && housingEstatePagination.getExcludeIdList().size() > 0){ + housingEstateNum++; + housingEstateQueryWrapper.lambda().notIn(HousingEstateEntity::getId,housingEstatePagination.getExcludeIdList()); + } + +// if(housingEstatePagination.getStationId() != null){ +// housingEstateNum++; +// housingEstateQueryWrapper.lambda().notIn(HousingEstateEntity::getId,housingEstatePagination.getStationId()); +// } + + + if(ObjectUtil.isNotEmpty(housingEstatePagination.getSourceType())){ + housingEstateNum++; + + List idList = new ArrayList<>(); + try { + String[][] sourceType = JsonUtil.getJsonToBean(housingEstatePagination.getSourceType(),String[][].class); + for(int i=0;i0){ + idList.add(JsonUtil.getObjectToString(Arrays.asList(sourceType[i]))); + } + } + }catch (Exception e1){ + try { + List sourceType = JsonUtil.getJsonToList(housingEstatePagination.getSourceType(),String.class); + if(sourceType.size()>0){ + idList.addAll(sourceType); + } + }catch (Exception e2){ + idList.add(String.valueOf(housingEstatePagination.getSourceType())); + } + } + housingEstateQueryWrapper.lambda().and(t->{ + idList.forEach(tt->{ + t.like(HousingEstateEntity::getSourceType, tt).or(); + }); + }); + + } + + if(ObjectUtil.isNotEmpty(housingEstatePagination.getAddress())){ + housingEstateNum++; + + String value = housingEstatePagination.getAddress() instanceof List ? + JsonUtil.getObjectToString(housingEstatePagination.getAddress()) : + String.valueOf(housingEstatePagination.getAddress()); + housingEstateQueryWrapper.lambda().like(HousingEstateEntity::getAddress,value); + + } + + } + List intersection = generaterSwapUtil.getIntersection(intersectionList); + if (total>0){ + if (intersection.size()==0){ + intersection.add("jnpfNullList"); + } + housingEstateQueryWrapper.lambda().in(HousingEstateEntity::getId, intersection); + } + //是否有高级查询 + if (StringUtil.isNotEmpty(superOp)){ + if (allSuperIDlist.size()==0){ + allSuperIDlist.add("jnpfNullList"); + } + List finalAllSuperIDlist = allSuperIDlist; + housingEstateQueryWrapper.lambda().and(t->t.in(HousingEstateEntity::getId, finalAllSuperIDlist)); + } + //是否有数据过滤查询 + if (StringUtil.isNotEmpty(ruleOp)){ + if (allRuleIDlist.size()==0){ + allRuleIDlist.add("jnpfNullList"); + } + List finalAllRuleIDlist = allRuleIDlist; + housingEstateQueryWrapper.lambda().and(t->t.in(HousingEstateEntity::getId, finalAllRuleIDlist)); + } + + //排序 + if(StringUtil.isEmpty(housingEstatePagination.getSidx())){ + housingEstateQueryWrapper.lambda().orderByDesc(HousingEstateEntity::getId); + }else{ + try { + String sidx = housingEstatePagination.getSidx(); + String[] strs= sidx.split("_name"); + HousingEstateEntity housingEstateEntity = new HousingEstateEntity(); + Field declaredField = housingEstateEntity.getClass().getDeclaredField(strs[0]); + declaredField.setAccessible(true); + String value = declaredField.getAnnotation(TableField.class).value(); + housingEstateQueryWrapper="asc".equals(housingEstatePagination.getSort().toLowerCase())?housingEstateQueryWrapper.orderByAsc(value):housingEstateQueryWrapper.orderByDesc(value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } + + if("0".equals(dataType)){ + if((total>0 && AllIdList.size()>0) || total==0){ + Page page=new Page<>(housingEstatePagination.getCurrentPage(), housingEstatePagination.getPageSize()); + IPage userIPage=this.page(page, housingEstateQueryWrapper); + return housingEstatePagination.setData(userIPage.getRecords(),userIPage.getTotal()); + }else{ + List list = new ArrayList(); + return housingEstatePagination.setData(list, list.size()); + } + }else{ + return this.list(housingEstateQueryWrapper); + } + } @Override public HousingEstateEntity getInfo(String id){ QueryWrapper queryWrapper=new QueryWrapper<>(); diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/HousingEstateController.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/HousingEstateController.java index 0824c42..e3591bc 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/HousingEstateController.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-controller/src/main/java/jnpf/controller/HousingEstateController.java @@ -81,6 +81,40 @@ public class HousingEstateController { vo.setPagination(page); return ActionResult.success(vo); } + + /** + * 列表 + * + * @param housingEstatePagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getHousingList") + public ActionResult housinglist(@RequestBody HousingEstatePagination housingEstatePagination)throws IOException{ + List list= housingEstateService.getHousingList(housingEstatePagination); + List> realList=new ArrayList<>(); + for (HousingEstateEntity entity : list) { + if (entity.getStationId()==null){ + Map housingEstateMap=JsonUtil.entityToMap(entity); + housingEstateMap.put("id", housingEstateMap.get("id")); + //副表数据 + //子表数据 + realList.add(housingEstateMap); + }else if (entity.getStationId()!=null){ + + } + + } + //数据转换 + realList = generaterSwapUtil.swapDataList(realList, HousingEstateConstant.getFormData(), HousingEstateConstant.getColumnData(), housingEstatePagination.getModuleId(),false); + + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(housingEstatePagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } /** * 创建 * diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/HousingEstateEntity.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/HousingEstateEntity.java index a0f99d6..363384a 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/HousingEstateEntity.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/HousingEstateEntity.java @@ -21,9 +21,9 @@ public class HousingEstateEntity { @TableField(value = "ADDRESS" , updateStrategy = FieldStrategy.IGNORED) private String address; @TableField(value = "LONGITUDE" , updateStrategy = FieldStrategy.IGNORED) - private Double longitude; + private String longitude; @TableField(value = "LATITUDE" , updateStrategy = FieldStrategy.IGNORED) - private Double latitude; + private String latitude; @TableField(value = "HAS_SCHEDULE" , updateStrategy = FieldStrategy.IGNORED) private Integer hasSchedule; @TableField(value = "RECYCLE_ADDRESS" , updateStrategy = FieldStrategy.IGNORED) @@ -66,4 +66,7 @@ public class HousingEstateEntity { @TableField(value = "ENTERPRISE_ID" , updateStrategy = FieldStrategy.IGNORED) private String enterpriseId; + + @TableField(value = "STATION_ID" , updateStrategy = FieldStrategy.IGNORED) + private String stationId; } diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/housingestate/HousingEstateForm.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/housingestate/HousingEstateForm.java index 86586a8..e36a233 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/housingestate/HousingEstateForm.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/housingestate/HousingEstateForm.java @@ -1,5 +1,7 @@ package jnpf.model.housingestate; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.util.List; import java.math.BigDecimal; @@ -28,10 +30,10 @@ public class HousingEstateForm { private Integer enabledMark; /** 纬度 **/ @JsonProperty("latitude") - private BigDecimal latitude; + private String latitude; /** 经度 **/ @JsonProperty("longitude") - private BigDecimal longitude; + private String longitude; /** 定时定点回收 **/ @JsonProperty("hasSchedule") private Integer hasSchedule; @@ -51,4 +53,7 @@ public class HousingEstateForm { /** 企业 **/ @JsonProperty("enterpriseId") private Object enterpriseId; + /** 回收站id **/ + @JsonProperty("stationId") + private String stationId; } diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/housingestate/HousingEstatePagination.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/housingestate/HousingEstatePagination.java index cfcbb9d..3264c2c 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/housingestate/HousingEstatePagination.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/housingestate/HousingEstatePagination.java @@ -39,4 +39,8 @@ public class HousingEstatePagination extends Pagination { @JsonProperty("excludeIdList") private List excludeIdList; + + /** 回收站id **/ + @JsonProperty("stationId") + private String stationId; } diff --git a/jnpf-java-boot/jnpf-web/src/views/enterpriserecyclestation/form.vue b/jnpf-java-boot/jnpf-web/src/views/enterpriserecyclestation/form.vue index 9241085..f843f2a 100644 --- a/jnpf-java-boot/jnpf-web/src/views/enterpriserecyclestation/form.vue +++ b/jnpf-java-boot/jnpf-web/src/views/enterpriserecyclestation/form.vue @@ -268,12 +268,7 @@ - + - + + + + + + + 选择地址 + + + + + {