Commit 183fa6b5 authored by tianbo's avatar tianbo

Merge remote-tracking branch 'origin/develop_tzs_bugfix' into develop_tzs_register

# Conflicts: # amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/flc/biz/service/impl/RegUnitInfoServiceImpl.java
parents d7c00b74 6a28c37e
...@@ -33,8 +33,8 @@ public class ElevatorTechParamDefine implements ITechParamDefine { ...@@ -33,8 +33,8 @@ public class ElevatorTechParamDefine implements ITechParamDefine {
private BigDecimal liftingHeight; private BigDecimal liftingHeight;
@TechnicalParameter(key = "deviceLevel", label = "层数", equCategory = {"3100", "3200", "3400"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "层") @TechnicalParameter(key = "storey", label = "层数", equCategory = {"3100", "3200", "3400"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "层")
private BigDecimal deviceLevel; private BigDecimal storey;
@TechnicalParameter(key = "stand", label = "站数", equCategory = {"3100", "3200", "3400"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "站") @TechnicalParameter(key = "stand", label = "站数", equCategory = {"3100", "3200", "3400"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "站")
...@@ -60,9 +60,9 @@ public class ElevatorTechParamDefine implements ITechParamDefine { ...@@ -60,9 +60,9 @@ public class ElevatorTechParamDefine implements ITechParamDefine {
@TechnicalParameter(key = "explosionproofGrade", label = "区域防爆等级", equCategory = {"3400"}, equDefine = {"3410"}, type = TechnicalParameter.ParamType.STRING, dictCode = "FBDJ") @TechnicalParameter(key = "explosionproofGrade", label = "区域防爆等级", equCategory = {"3400"}, equDefine = {"3410"}, type = TechnicalParameter.ParamType.STRING, dictCode = "FBDJ")
private String explosionproofGrade; private String explosionproofGrade;
// 附件上传类型的参数,无法参与查询,暂时注释掉
@TechnicalParameter(key = "explosionproofSignComplete", label = "整机防爆标志", equCategory = {"3400"}, equDefine = {"3410"}, type = TechnicalParameter.ParamType.STRING) // @TechnicalParameter(key = "explosionproofSignComplete", label = "整机防爆标志", equCategory = {"3400"}, equDefine = {"3410"}, type = TechnicalParameter.ParamType.STRING)
private String explosionproofSignComplete; // private String explosionproofSignComplete;
@TechnicalParameter(key = "nominalSpeed", label = "名义速度", equCategory = {"3300"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m/s") @TechnicalParameter(key = "nominalSpeed", label = "名义速度", equCategory = {"3300"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m/s")
......
...@@ -122,13 +122,13 @@ public class LiftingTechParamDefine implements ITechParamDefine { ...@@ -122,13 +122,13 @@ public class LiftingTechParamDefine implements ITechParamDefine {
@TechnicalParameter(key = "explosiveSubstance", label = "燃爆物质", equCategory = {"4100", "4200", "4400", "4800", "4900", "4A00"}, equDefine = {"4110", "4130", "4140", "4150", "4190", "4210", "4220", "4230", "4240", "4250", "4260", "4270", "4280", "4290", "4410", "4420", "4440", "4450", "4870", "4170"}, type = TechnicalParameter.ParamType.STRING) @TechnicalParameter(key = "explosiveSubstance", label = "燃爆物质", equCategory = {"4100", "4200", "4400", "4800", "4900", "4A00"}, equDefine = {"4110", "4130", "4140", "4150", "4190", "4210", "4220", "4230", "4240", "4250", "4260", "4270", "4280", "4290", "4410", "4420", "4440", "4450", "4870", "4170"}, type = TechnicalParameter.ParamType.STRING)
private String explosiveSubstance; private String explosiveSubstance;
// 附件上传类型的参数,无法参与查询,暂时注释掉
// @TechnicalParameter(key = "explosionproofSignComplete", label = "整机防爆标志", equCategory = {"4100", "4200", "4400", "4800", "4900", "4A00"}, equDefine = {"4110", "4130", "4140", "4150", "4190", "4210", "4220", "4230", "4240", "4250", "4260", "4270", "4280", "4290", "4410", "4420", "4440", "4450", "4870", "4170"}, type = TechnicalParameter.ParamType.STRING)
// private String explosionproofSignComplete;
@TechnicalParameter(key = "explosionproofSignComplete", label = "整机防爆标志", equCategory = {"4100", "4200", "4400", "4800", "4900", "4A00"}, equDefine = {"4110", "4130", "4140", "4150", "4190", "4210", "4220", "4230", "4240", "4250", "4260", "4270", "4280", "4290", "4410", "4420", "4440", "4450", "4870", "4170"}, type = TechnicalParameter.ParamType.STRING)
private String explosionproofSignComplete;
@TechnicalParameter(key = "checkFinishedHeight", label = "监检结束高度", equCategory = {"4300", "4800"}, ignoreCategoryConf = {"4800"}, equDefine = {"4310", "4320", "4860"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
@TechnicalParameter(key = "ratedSpeedUp", label = "监检结束高度", equCategory = {"4300", "4800"}, ignoreCategoryConf = {"4800"}, equDefine = {"4310", "4320", "4860"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m") private BigDecimal checkFinishedHeight;
private BigDecimal ratedSpeedUp;
@TechnicalParameter(key = "parkingVehicleHeight", label = "适停车辆尺寸高", equCategory = {"4D00"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m") @TechnicalParameter(key = "parkingVehicleHeight", label = "适停车辆尺寸高", equCategory = {"4D00"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
......
...@@ -25,7 +25,7 @@ public class PipelineTechParamDefine implements ITechParamDefine { ...@@ -25,7 +25,7 @@ public class PipelineTechParamDefine implements ITechParamDefine {
private String pipelineNumber; private String pipelineNumber;
@TechnicalParameter(key = "deviceLevel", label = "管道级别", type = TechnicalParameter.ParamType.STRING) @TechnicalParameter(key = "deviceLevel", label = "管道级别", type = TechnicalParameter.ParamType.STRING, dictCode = "8100,8200,8300")
private String deviceLevel; private String deviceLevel;
......
...@@ -29,16 +29,16 @@ public class RidesTechParamDefine implements ITechParamDefine { ...@@ -29,16 +29,16 @@ public class RidesTechParamDefine implements ITechParamDefine {
private BigDecimal numberOfPassengers; private BigDecimal numberOfPassengers;
@TechnicalParameter(key = "slideLength", label = "滑索(道)长度", equCategory = {"6B00", "6E00"}, equDefine = {"6E20"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m") @TechnicalParameter(key = "slideLength", label = "滑索(道)/蹦极绳长度", equCategory = {"6B00", "6E00"}, equDefine = {"6E20","6E10"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
private BigDecimal slideLength; private BigDecimal slideLength;
@TechnicalParameter(key = "operatingHeight", label = "运行高度", equCategory = {"6500", "6E00", "6D00", "6D00"}, equDefine = {"6D10", "6D20", "6E10", "6E40"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m") @TechnicalParameter(key = "operatingHeight", label = "运行高度", equCategory = {"6500", "6E00", "6D00", "6D00"}, equDefine = {"6D10", "6D20", "6E10", "6E40"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
private BigDecimal operatingHeight; private BigDecimal operatingHeight;
//字段值与滑索(道)长度重复,业务显隐使用
@TechnicalParameter(key = "slideHeight", label = "蹦极绳长度", equCategory = {"6E00"}, equDefine = {"6E10"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m") // @TechnicalParameter(key = "slideHeight", label = "蹦极绳长度", equCategory = {"6E00"}, equDefine = {"6E10"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
private BigDecimal slideHeight; // private BigDecimal slideHeight;
@TechnicalParameter(key = "rotaryDiameter", label = "回转直径", equCategory = {"6100", "6700", "6500", "6600", "6400", "6E00"}, equDefine = {"6E30"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m") @TechnicalParameter(key = "rotaryDiameter", label = "回转直径", equCategory = {"6100", "6700", "6500", "6600", "6400", "6E00"}, equDefine = {"6E30"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
......
...@@ -100,6 +100,7 @@ public class PieLineDataChangeServiceImpl { ...@@ -100,6 +100,7 @@ public class PieLineDataChangeServiceImpl {
updateWrapper.set(IdxBizJgProjectContraption::getOrgName, projectContraptionChangeDataDtoNew.getOrgName()); updateWrapper.set(IdxBizJgProjectContraption::getOrgName, projectContraptionChangeDataDtoNew.getOrgName());
updateWrapper.set(IdxBizJgProjectContraption::getUseRegistrationCode, projectContraptionChangeDataDtoNew.getUseRegistrationCode()); updateWrapper.set(IdxBizJgProjectContraption::getUseRegistrationCode, projectContraptionChangeDataDtoNew.getUseRegistrationCode());
updateWrapper.set(IdxBizJgProjectContraption::getProductQualificationCertificate, projectContraptionChangeDataDtoNew.getProductQualificationCertificate()); updateWrapper.set(IdxBizJgProjectContraption::getProductQualificationCertificate, projectContraptionChangeDataDtoNew.getProductQualificationCertificate());
updateWrapper.set(IdxBizJgProjectContraption::getUseDate, projectContraptionChangeDataDtoNew.getUseDate());
updateWrapper.set(BaseEntity::getRecDate, new Date()); updateWrapper.set(BaseEntity::getRecDate, new Date());
updateWrapper.eq(BaseEntity::getSequenceNbr, projectContraptionChangeDataDtoNew.getProjectContraptionId()); updateWrapper.eq(BaseEntity::getSequenceNbr, projectContraptionChangeDataDtoNew.getProjectContraptionId());
idxBizJgProjectContraptionServiceImpl.update(null, updateWrapper); idxBizJgProjectContraptionServiceImpl.update(null, updateWrapper);
......
...@@ -10,8 +10,6 @@ import com.alibaba.fastjson.JSONObject; ...@@ -10,8 +10,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.module.common.biz.event.CommonPublisher;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.jg.api.dto.*; import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.biz.edit.constant.EditConstant; import com.yeejoin.amos.boot.module.jg.biz.edit.constant.EditConstant;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.EsUpdateService; import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.EsUpdateService;
...@@ -230,6 +228,7 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS ...@@ -230,6 +228,7 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
IdxBizJgUseInfo useInfoNew = new IdxBizJgUseInfo(); IdxBizJgUseInfo useInfoNew = new IdxBizJgUseInfo();
BeanUtil.copyProperties(useInfoOld, useInfoNew, true); BeanUtil.copyProperties(useInfoOld, useInfoNew, true);
BeanUtil.copyProperties(updatePieLine, useInfoNew, true); BeanUtil.copyProperties(updatePieLine, useInfoNew, true);
useInfoNew.setUseDate(projectContraptionChangeDataDto.getUseDate());
useInfoNew.setSequenceNbr(useInfoOld.getSequenceNbr()); useInfoNew.setSequenceNbr(useInfoOld.getSequenceNbr());
setNewUseAddressInfo(projectContraptionChangeDataDto, useInfoNew); setNewUseAddressInfo(projectContraptionChangeDataDto, useInfoNew);
// 冗余的字典名称字段更新 // 冗余的字典名称字段更新
......
...@@ -6,6 +6,7 @@ import com.yeejoin.amos.boot.module.jg.biz.handler.strategy.ToBeSubmitDetailStra ...@@ -6,6 +6,7 @@ import com.yeejoin.amos.boot.module.jg.biz.handler.strategy.ToBeSubmitDetailStra
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgReformNoticeServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgReformNoticeServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -13,6 +14,7 @@ import java.util.Map; ...@@ -13,6 +14,7 @@ import java.util.Map;
@Component @Component
public class ReformNoticeStrategyHandler implements ToBeSubmitDetailStrategy { public class ReformNoticeStrategyHandler implements ToBeSubmitDetailStrategy {
@Lazy
@Autowired @Autowired
private JgReformNoticeServiceImpl jgReformNoticeService; private JgReformNoticeServiceImpl jgReformNoticeService;
......
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
"name": "注销", "name": "注销",
"code": "BF_YZ", "code": "BF_YZ",
"image": "upload/tzs/common/image/移装报废.png", "image": "upload/tzs/common/image/移装报废.png",
"tips": "特种设备仅进行移装变更时需先进行“注销”,其他变更类业务通过“新增设备登记”直接办理,不需注销!" "tips": "电梯/起重机械/锅炉/压力容器/大型游乐设施/客运索道设备在做《跨区移装变更》业务前需先进行“注销”,其他变更类业务不需注销!"
}, },
{ {
"name": "报废", "name": "报废",
......
...@@ -24,7 +24,7 @@ public enum CompanyAdvanceSearchEnum { ...@@ -24,7 +24,7 @@ public enum CompanyAdvanceSearchEnum {
REGULATORY_LABELS("监管标签", "regulatoryLabels", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "QYBQ", null, FieldType.Text), REGULATORY_LABELS("监管标签", "regulatoryLabels", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "QYBQ", null, FieldType.Text),
INDUSTRY_SUPERVISOR("行业主管部门", "industrySupervisor", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "HYZGBM", null, FieldType.Text), INDUSTRY_SUPERVISOR("行业主管部门", "industrySupervisor", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "HYZGBM", null, FieldType.Text),
ITEM_CODE("许可项目", "itemCode", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryXK", null, null, FieldType.Text), ITEM_CODE("许可项目", "itemCode", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryXK", null, null, FieldType.Text),
SUB_ITEM_CODE("许可子项目", "subItemCode", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryXK?type={type}", null, "itemCode", FieldType.Text), SUB_ITEM_CODE("许可子项目", "subItemCode", null, "/statistics/comprehensiveStatisticalAnalysis/select/querySubXK?type={type}", null, "itemCode", FieldType.Text),
OPERATING_STATUS("经营状态", "operatingStatus", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicDataNew?type={type}", "jyzt", null, FieldType.Text), OPERATING_STATUS("经营状态", "operatingStatus", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicDataNew?type={type}", "jyzt", null, FieldType.Text),
EQUIP_CATEGORY("设备类型", "equipCategory", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryEquipList", null, null, FieldType.Text), EQUIP_CATEGORY("设备类型", "equipCategory", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryEquipList", null, null, FieldType.Text),
PERMIT_STATUS("许可状态", "permitStatus", null, "/statistics/comprehensiveStatisticalAnalysis/select/permitStatus", null, null, FieldType.Auto), PERMIT_STATUS("许可状态", "permitStatus", null, "/statistics/comprehensiveStatisticalAnalysis/select/permitStatus", null, null, FieldType.Auto),
...@@ -55,7 +55,7 @@ public enum CompanyAdvanceSearchEnum { ...@@ -55,7 +55,7 @@ public enum CompanyAdvanceSearchEnum {
} else if (TechnicalParameter.ParamType.STRING.equals(item.paramType)) { } else if (TechnicalParameter.ParamType.STRING.equals(item.paramType)) {
jsonObject.put("type", "input"); jsonObject.put("type", "input");
} else if (TechnicalParameter.ParamType.DATE.equals(item.paramType)) { } else if (TechnicalParameter.ParamType.DATE.equals(item.paramType)) {
jsonObject.put("type", FieldType.Date); jsonObject.put("type", "date");
} else { } else {
jsonObject.put("type", "select"); jsonObject.put("type", "select");
} }
......
...@@ -20,13 +20,13 @@ public enum ConditionEnum { ...@@ -20,13 +20,13 @@ public enum ConditionEnum {
numberEq("等于", "eq", TechnicalParameter.ParamType.BIG_DECIMAL), numberEq("等于", "eq", TechnicalParameter.ParamType.BIG_DECIMAL),
numberGt("大于", "gt", TechnicalParameter.ParamType.BIG_DECIMAL), numberGt("大于", "gt", TechnicalParameter.ParamType.BIG_DECIMAL),
numberLt("小于", "lt", TechnicalParameter.ParamType.BIG_DECIMAL), numberLt("小于", "lt", TechnicalParameter.ParamType.BIG_DECIMAL),
numberGe("大于等于", "ge", TechnicalParameter.ParamType.BIG_DECIMAL), numberGe("大于等于", "gte", TechnicalParameter.ParamType.BIG_DECIMAL),
numberLe("小于等于", "le", TechnicalParameter.ParamType.BIG_DECIMAL), numberLe("小于等于", "lte", TechnicalParameter.ParamType.BIG_DECIMAL),
dateEq("等于", "eq", TechnicalParameter.ParamType.DATE), dateEq("等于", "eq", TechnicalParameter.ParamType.DATE),
dateGt("大于", "gt", TechnicalParameter.ParamType.DATE), dateGt("大于", "gt", TechnicalParameter.ParamType.DATE),
dateLt("小于", "lt", TechnicalParameter.ParamType.DATE), dateLt("小于", "lt", TechnicalParameter.ParamType.DATE),
dateGe("大于等于", "ge", TechnicalParameter.ParamType.DATE), dateGe("大于等于", "gte", TechnicalParameter.ParamType.DATE),
dateLe("小于等于", "le", TechnicalParameter.ParamType.DATE), dateLe("小于等于", "lte", TechnicalParameter.ParamType.DATE),
in("包含","in", null), in("包含","in", null),
notIn("不包含","notIn", null), notIn("不包含","notIn", null),
eq("等于","eq", null), eq("等于","eq", null),
......
package com.yeejoin.amos.boot.module.statistics.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.*;
@AllArgsConstructor
@Getter
public enum CylinderCategoryEnum {
/**
* 气瓶分类枚举
*/
yhsyqp("0", "液化石油气瓶"),
gyqp("1", "工业气瓶"),
qt("2", "其他");
private String code;
private String name;
public static String getName(String code) {
Optional<String> op = Arrays.stream(CylinderCategoryEnum.values()).filter(e -> e.getCode().equals(code)).map(CylinderCategoryEnum::getName).findFirst();
return op.orElse("");
}
public static List<Map<String, Object>> getEnumList() {
List<Map<String, Object>> list = new ArrayList<>();
for (CylinderCategoryEnum testEnum : EnumSet.allOf(CylinderCategoryEnum.class)) {
HashMap<String, Object> map = new HashMap<>();
map.put("name", testEnum.name);
map.put("code", testEnum.code);
list.add(map);
}
return list;
}
}
...@@ -41,7 +41,7 @@ public enum DataQualityScoreEnum { ...@@ -41,7 +41,7 @@ public enum DataQualityScoreEnum {
for (DataQualityScoreEnum e : DataQualityScoreEnum.values()) { for (DataQualityScoreEnum e : DataQualityScoreEnum.values()) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("label",e.name); jsonObject.put("label",e.name);
jsonObject.put("value",e.name); jsonObject.put("value",e.code);
jsonObject.put("key",e.code); jsonObject.put("key",e.code);
jsonArray.add(jsonObject); jsonArray.add(jsonObject);
} }
......
...@@ -24,7 +24,7 @@ public enum EquipAdvanceSearchEnum { ...@@ -24,7 +24,7 @@ public enum EquipAdvanceSearchEnum {
PRODUCT_NAME("设备名称", "PRODUCT_NAME", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword), PRODUCT_NAME("设备名称", "PRODUCT_NAME", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
TECH_PARAM("技术参数", "techParam", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryTechParam", null, "EQU_LIST_CODE,EQU_CATEGORY_CODE,EQU_DEFINE_CODE,WHETHER_VEHICLE_CYLINDER,QZ_OR_TANK", FieldType.Auto), TECH_PARAM("技术参数", "techParam", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryTechParam", null, "EQU_LIST_CODE,EQU_CATEGORY_CODE,EQU_DEFINE_CODE,WHETHER_VEHICLE_CYLINDER,QZ_OR_TANK", FieldType.Auto),
PARAM_RANGE("参数范围", "paramRange", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Auto), PARAM_RANGE("参数范围", "paramRange", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Auto),
NEXT_INSPECT_DATE("检验有效期", "NEXT_INSPECT_DATE", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), NEXT_INSPECT_DATE("检验有效期", "NEXT_INSPECT_DATE", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryInspectionDate", null, null, FieldType.Date),
EQU_STATE("设备状态", "EQU_STATE", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryEquState", null, null, FieldType.Integer), EQU_STATE("设备状态", "EQU_STATE", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryEquState", null, null, FieldType.Integer),
WHETHER_VEHICLE_CYLINDER("是否车用气瓶", "WHETHER_VEHICLE_CYLINDER", null, "/statistics/comprehensiveStatisticalAnalysis/select/vehicleCylinder", null, null, FieldType.Keyword), WHETHER_VEHICLE_CYLINDER("是否车用气瓶", "WHETHER_VEHICLE_CYLINDER", null, "/statistics/comprehensiveStatisticalAnalysis/select/vehicleCylinder", null, null, FieldType.Keyword),
QZ_OR_TANK("是否撬装球罐", "QZ_OR_TANK", null, "/statistics/comprehensiveStatisticalAnalysis/select/qzOrTank", null, null, FieldType.Auto), QZ_OR_TANK("是否撬装球罐", "QZ_OR_TANK", null, "/statistics/comprehensiveStatisticalAnalysis/select/qzOrTank", null, null, FieldType.Auto),
...@@ -37,13 +37,13 @@ public enum EquipAdvanceSearchEnum { ...@@ -37,13 +37,13 @@ public enum EquipAdvanceSearchEnum {
PRODUCE_UNIT_NAME("制造单位名称", "PRODUCE_UNIT_NAME", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword), PRODUCE_UNIT_NAME("制造单位名称", "PRODUCE_UNIT_NAME", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
DESIGN_UNIT_NAME("设计单位名称", "designUnitName", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Text), DESIGN_UNIT_NAME("设计单位名称", "designUnitName", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Text),
ME_UNIT_NAME("维保单位名称", "MAINTAIN_UNIT_NAME", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword), ME_UNIT_NAME("维保单位名称", "MAINTAIN_UNIT_NAME", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
AZUSC_UNIT_NAME("安改维单位名称", "USC_UNIT_NAME", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Text), AZUSC_UNIT_NAME("安装改造维修单位名称", "USC_UNIT_NAME", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Text),
CODE96333("96333识别码", "CODE96333", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword), CODE96333("96333识别码", "CODE96333", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
SUPERVISORY_CODE("监管码", "SUPERVISORY_CODE", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword), SUPERVISORY_CODE("监管码", "SUPERVISORY_CODE", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
EQU_TYPE("设备型号", "EQU_TYPE", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Text), EQU_TYPE("设备型号", "EQU_TYPE", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Text),
PRODUCE_DATE("制造日期", "PRODUCE_DATE", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), PRODUCE_DATE("制造日期", "PRODUCE_DATE", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
designDate("设计日期", "designDate", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), designDate("设计日期", "designDate", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
use_date("投用如期", "USE_DATE", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), use_date("投用日期", "use_date", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
ISSUE_DATE("使用登记证日期", "issueDate", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), ISSUE_DATE("使用登记证日期", "issueDate", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
JDJY("监督检验日期", "JDJY", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), JDJY("监督检验日期", "JDJY", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
DQJY("定期检验日期", "DQJY", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), DQJY("定期检验日期", "DQJY", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
...@@ -51,8 +51,8 @@ public enum EquipAdvanceSearchEnum { ...@@ -51,8 +51,8 @@ public enum EquipAdvanceSearchEnum {
DTJY("电梯检测日期", "DTJY", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), DTJY("电梯检测日期", "DTJY", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
nextInspectDate("下次检验日期", "nextInspectDate", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), nextInspectDate("下次检验日期", "nextInspectDate", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
// PRODUCE_DATE("是否进口", "PRODUCE_DATE", TechnicalParameter.ParamType.DATE,""), // PRODUCE_DATE("是否进口", "PRODUCE_DATE", TechnicalParameter.ParamType.DATE,""),
USE_PLACE_CODE("使用地点", "USE_PLACE_CODE", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword), USE_PLACE_CODE("使用地点", "USE_PLACE", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
USE_PLACE("使用场所", "USE_PLACE", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "ADDRESS", null, FieldType.Keyword), USE_PLACE("使用场所", "USE_SITE_CODE", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "ADDRESS", null, FieldType.Keyword),
; ;
......
...@@ -17,20 +17,19 @@ public enum PersonAdvanceSearchEnum { ...@@ -17,20 +17,19 @@ public enum PersonAdvanceSearchEnum {
/** /**
* 高级搜索枚举 * 高级搜索枚举
*/ */
NAME("姓名", "name", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Text), NAME("姓名", "name", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
NEWPOST("人员类型", "newPost", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryRYLX", null, null, FieldType.Keyword), NEWPOST("人员类型", "newPost", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryRYLX", null, null, FieldType.Keyword),
SUBPOST("子类型", "subPost", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryRYLX?type={type}", null, "newPost", FieldType.Keyword), SUBPOST("子类型", "subPost", null, "/statistics/comprehensiveStatisticalAnalysis/select/querySubRYLX?type={type}", null, "newPost", FieldType.Keyword),
CERT_NO("有无资质", "certNo", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryCertNo", null, null, FieldType.Keyword), CERT_NO("有无资质", "certNo", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryCertNo", null, null, FieldType.Keyword),
EXPIRY_DATE("资质状态", "expiryDate", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryExpiryDate", null, null, FieldType.Date), EXPIRY_DATE("资质状态", "expiryDate", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryExpiryDate", null, null, FieldType.Date),
CERT_TYPE("证书类型", "certType", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryCertType", null, null, FieldType.Keyword), CERT_TYPE("证书类型", "certType", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryCertType", null, null, FieldType.Keyword),
PERMISSION_LEVEL("证书级别", "permissionLevel", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryPermissionLevel", null, null, FieldType.Keyword), PERMISSION_LEVEL("证书级别", "permissionLevel", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryPermissionLevel", null, null, FieldType.Keyword),
JOB_ITEM("作业项目", "jobItem", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryZYXM?type={type}", null, "certType", FieldType.Keyword), JOB_ITEM("作业项目", "jobItem", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryTypeZYXM?type={type}", null, "certType", FieldType.Keyword),
PERMISSION_ITEM("项目", "permissionItem", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryZYXM?type={type}", null, "permissionLevel", FieldType.Keyword), PERMISSION_ITEM("项目", "permissionItem", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryLevelZYXM?type={type}", null, "permissionLevel", FieldType.Keyword),
ISSUE_DATE("发证日期", "issueDate", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date), ISSUE_DATE("发证日期", "issueDate", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
EDUCATION("学历", "education", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "QYRYXL", null, FieldType.Keyword), EDUCATION("学历", "education", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "QYRYXL", null, FieldType.Keyword),
ADDRESS("住址", "address", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword), ADDRESS("住址", "address", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
UNITCODE("所属单位", "unitName", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword), UNITCODE("所属单位", "unitName", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
SUPERVISEORGCODE("管辖机构", "superviseOrgCode", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryUnitByOrgCode?type={type}", null, "orgTreeId", FieldType.Keyword),
EQUIP_TYPE("设备类型", "equipType", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryEquipList", null, null, FieldType.Keyword), EQUIP_TYPE("设备类型", "equipType", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryEquipList", null, null, FieldType.Keyword),
; ;
......
...@@ -123,6 +123,18 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController { ...@@ -123,6 +123,18 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryXK(type)); return ResponseHelper.buildResponse(statisticalAnalysisService.queryXK(type));
} }
/**
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/querySubXK")
@ApiOperation(httpMethod = "GET", value = "高级筛选查询许可子项目", notes = "高级筛选查询许可子项目")
public ResponseModel<JSONArray> querySubXK(@RequestParam(required = false) String type) {
return ResponseHelper.buildResponse(statisticalAnalysisService.querySubXK(type));
}
/** /**
* @param * @param
* @return * @return
...@@ -145,6 +157,18 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController { ...@@ -145,6 +157,18 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryRYLX(type)); return ResponseHelper.buildResponse(statisticalAnalysisService.queryRYLX(type));
} }
/**
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/querySubRYLX")
@ApiOperation(httpMethod = "GET", value = "高级筛选查询人员子类型", notes = "高级筛选查询人员子类型")
public ResponseModel<JSONArray> querySubRYLX(@RequestParam(required = false) String type) {
return ResponseHelper.buildResponse(statisticalAnalysisService.querySubRYLX(type));
}
/** /**
* @param * @param
* @return * @return
...@@ -156,6 +180,28 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController { ...@@ -156,6 +180,28 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryZYXM(type)); return ResponseHelper.buildResponse(statisticalAnalysisService.queryZYXM(type));
} }
/**
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/queryTypeZYXM")
@ApiOperation(httpMethod = "GET", value = "高级筛选查询作业项目", notes = "高级筛选查询作业项目")
public ResponseModel<JSONArray> queryTypeZYXM(@RequestParam String type) {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryTypeZYXM(type));
}
/**
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/queryLevelZYXM")
@ApiOperation(httpMethod = "GET", value = "高级沙筛选查询项目", notes = "高级沙筛选查询项目")
public ResponseModel<JSONArray> queryLevelZYXM(@RequestParam String type) {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryLevelZYXM(type));
}
/** /**
* @param * @param
...@@ -439,4 +485,15 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController { ...@@ -439,4 +485,15 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
public ResponseModel<JSONArray> queryExpiryDate() { public ResponseModel<JSONArray> queryExpiryDate() {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryExpiryDate()); return ResponseHelper.buildResponse(statisticalAnalysisService.queryExpiryDate());
} }
/**
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/queryInspectionDate")
@ApiOperation(httpMethod = "GET", value = "高级搜索检验有效期", notes = "高级搜索检验有效期")
public ResponseModel<JSONArray> queryInspectionDate() {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryInspectionDate());
}
} }
...@@ -101,13 +101,15 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -101,13 +101,15 @@ public class AQZSDPStatisticsServiceImpl {
private StCommonServiceImpl stCommonService; private StCommonServiceImpl stCommonService;
private JGDPStatisticsServiceImpl jgDPStatisticsService;
private DataDictionaryMapper dataDictionaryMapper; private DataDictionaryMapper dataDictionaryMapper;
@Autowired @Autowired
private ComprehensiveStatisticalAnalysisServiceImpl statisticalAnalysisService; private ComprehensiveStatisticalAnalysisServiceImpl statisticalAnalysisService;
public AQZSDPStatisticsServiceImpl(RestHighLevelClient restHighLevelClient, AQZSDPStatisticsMapper statisticsMapper, TzBaseEnterpriseInfoMapper enterpriseInfoMapper, TzsUserInfoMapper userInfoMapper, CylinderStatisticsMapper cylinderStatisticsMapper, StCommonServiceImpl stCommonService, DataDictionaryMapper dataDictionaryMapper) { public AQZSDPStatisticsServiceImpl(RestHighLevelClient restHighLevelClient, AQZSDPStatisticsMapper statisticsMapper, TzBaseEnterpriseInfoMapper enterpriseInfoMapper, TzsUserInfoMapper userInfoMapper, CylinderStatisticsMapper cylinderStatisticsMapper, StCommonServiceImpl stCommonService, DataDictionaryMapper dataDictionaryMapper, JGDPStatisticsServiceImpl jgDPStatisticsService) {
this.restHighLevelClient = restHighLevelClient; this.restHighLevelClient = restHighLevelClient;
this.statisticsMapper = statisticsMapper; this.statisticsMapper = statisticsMapper;
this.enterpriseInfoMapper = enterpriseInfoMapper; this.enterpriseInfoMapper = enterpriseInfoMapper;
...@@ -115,6 +117,7 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -115,6 +117,7 @@ public class AQZSDPStatisticsServiceImpl {
this.cylinderStatisticsMapper = cylinderStatisticsMapper; this.cylinderStatisticsMapper = cylinderStatisticsMapper;
this.stCommonService = stCommonService; this.stCommonService = stCommonService;
this.dataDictionaryMapper = dataDictionaryMapper; this.dataDictionaryMapper = dataDictionaryMapper;
this.jgDPStatisticsService = jgDPStatisticsService;
} }
...@@ -906,7 +909,8 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -906,7 +909,8 @@ public class AQZSDPStatisticsServiceImpl {
long hasSupervisoryCodeEquipCount = stCommonService.queryHasSupervisoryCodeEquipCount(orgCode, false); long hasSupervisoryCodeEquipCount = stCommonService.queryHasSupervisoryCodeEquipCount(orgCode, false);
result.put("total", hasSupervisoryCodeEquipCount); result.put("total", hasSupervisoryCodeEquipCount);
//2.压力管道长度统计 //2.压力管道长度统计
stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false); // stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false);
jgDPStatisticsService.staticsCenterMapCountPipLine(result, orgCode);
//3.单位数量统计 //3.单位数量统计
// 单位统计修改为查询es // 单位统计修改为查询es
// this.staticsCenterMapCountDataForCompany(result, orgCode, dpFilterParamDto.getCityCode()); // this.staticsCenterMapCountDataForCompany(result, orgCode, dpFilterParamDto.getCityCode());
...@@ -1019,7 +1023,8 @@ public class AQZSDPStatisticsServiceImpl { ...@@ -1019,7 +1023,8 @@ public class AQZSDPStatisticsServiceImpl {
// 1. 8大类设备数量统计,压力容器里包括气瓶所以需要特殊处理,在统计压力容器时去掉气瓶的数量 // 1. 8大类设备数量统计,压力容器里包括气瓶所以需要特殊处理,在统计压力容器时去掉气瓶的数量
stCommonService.staticsCenterMapCountDataForEquip(result, cylinderNum, orgCode,true,true, false); stCommonService.staticsCenterMapCountDataForEquip(result, cylinderNum, orgCode,true,true, false);
// 2. 压力管道长度统计 // 2. 压力管道长度统计
stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false); // stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false);
jgDPStatisticsService.staticsCenterMapCountPipLine(result, orgCode);
//3.单位数量统计 //3.单位数量统计
// 单位统计修改为查询es // 单位统计修改为查询es
// this.staticsCenterMapCountDataForCompany(result, orgCode, dpFilterParamDto.getCityCode()); // this.staticsCenterMapCountDataForCompany(result, orgCode, dpFilterParamDto.getCityCode());
......
...@@ -5,10 +5,12 @@ import cn.hutool.core.bean.copier.CopyOptions; ...@@ -5,10 +5,12 @@ import cn.hutool.core.bean.copier.CopyOptions;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.yeejoin.amos.boot.biz.common.annotation.TechnicalParameter; import com.yeejoin.amos.boot.biz.common.annotation.TechnicalParameter;
import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil; import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
...@@ -104,6 +106,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -104,6 +106,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private final TzsCustomFilterMapper tzsCustomFilterMapper; private final TzsCustomFilterMapper tzsCustomFilterMapper;
private final DataDictionaryServiceImpl dataDictionaryService; private final DataDictionaryServiceImpl dataDictionaryService;
private final DataDictionaryMapper dataDictionaryMapper;
private final EmqKeeper emqKeeper; private final EmqKeeper emqKeeper;
private final RestHighLevelClient restHighLevelClient; private final RestHighLevelClient restHighLevelClient;
...@@ -116,8 +119,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -116,8 +119,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
// 大屏统计图片路径后缀 // 大屏统计图片路径后缀
private final String dpEquipPhotoSuffix = ".png"; private final String dpEquipPhotoSuffix = ".png";
private final List<String> equipHandleOtherFields = Arrays.asList("techParam", "paramRange", "JDJY", "DQJY", "SCJY", "DTJY", "QZ_OR_TANK"); private final List<String> equipHandleOtherFields = Arrays.asList("techParam", "paramRange", "JDJY", "DQJY", "SCJY", "DTJY", "QZ_OR_TANK", "EQU_STATE", "NEXT_INSPECT_DATE", "registerStatus");
private final List<String> companyHandleOtherFields = Arrays.asList("itemCode", "subItemCode", "permitStatus", "equipCategory", "regulatoryLabels", "unitType"); private final List<String> companyHandleOtherFields = Arrays.asList("itemCode", "subItemCode", "permitStatus", "equipCategory", "regulatoryLabels", "unitType", "expiryDate");
private final List<String> personHandleOtherFields = Arrays.asList("newPost", "subPost", "certNo", "expiryDate", "certType", "permissionLevel", "jobItem", "permissionItem", "issueDate", "equipType"); private final List<String> personHandleOtherFields = Arrays.asList("newPost", "subPost", "certNo", "expiryDate", "certType", "permissionLevel", "jobItem", "permissionItem", "issueDate", "equipType");
private final String or = "or"; private final String or = "or";
...@@ -217,14 +220,32 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -217,14 +220,32 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
public JSONArray getData(String dictCode) { public JSONArray getData(String dictCode) {
JSONArray jsonArray = new JSONArray(); JSONArray jsonArray = new JSONArray();
//根据dictCode查询数据字典 //根据dictCode查询数据字典
List<DataDictionary> dictionaries = dataDictionaryService.getByType(dictCode); if (dictCode.contains(",")) {
for (DataDictionary dictionary : dictionaries) { for (String code : dictCode.split(",")) {
JSONObject object = new JSONObject(); LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper();
object.put("label", dictionary.getName()); queryWrapper.eq(DataDictionary::getType, code);
object.put("value", dictionary.getCode()); queryWrapper.eq(DataDictionary::getIsDelete, Boolean.FALSE);
object.put("key", dictionary.getCode()); queryWrapper.isNotNull(DataDictionary::getParent);
jsonArray.add(object); List<DataDictionary> dictionaries = dataDictionaryMapper.selectList(queryWrapper);
for (DataDictionary dictionary : dictionaries) {
JSONObject object = new JSONObject();
object.put("label", dictionary.getName());
object.put("value", dictionary.getCode());
object.put("key", dictionary.getCode());
jsonArray.add(object);
}
}
} else {
List<DataDictionary> dictionaries = dataDictionaryService.getByType(dictCode);
for (DataDictionary dictionary : dictionaries) {
JSONObject object = new JSONObject();
object.put("label", dictionary.getName());
object.put("value", dictionary.getCode());
object.put("key", dictionary.getCode());
jsonArray.add(object);
}
} }
return jsonArray; return jsonArray;
} }
...@@ -301,9 +322,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -301,9 +322,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONObject filterParams = null; JSONObject filterParams = null;
String licensesStatusStr = ""; String licensesStatusStr = "";
String filterType = filter.getString("filterType");
if (!ObjectUtils.isEmpty(filter.get("filterParams"))) { if (!ObjectUtils.isEmpty(filter.get("filterParams"))) {
filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = filter.getString("filterType");
// 组装人员过滤条件 // 组装人员过滤条件
this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType); this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType);
// 资质判断 // 资质判断
...@@ -317,6 +339,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -317,6 +339,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
} }
} }
if ("custom".equals(filterType)) {
JSONArray leftGroup = filterParams.getJSONArray("group1");
JSONArray rightGroup = filterParams.getJSONArray("group2");
licensesStatusStr = getFilterPermitStatusOrLicensesStatus(leftGroup, rightGroup, StatisticalAnalysisEnum.person.getCode());
}
// 组装人员排序条件 // 组装人员排序条件
this.getPersonBoolQuerySort(filter, builder); this.getPersonBoolQuerySort(filter, builder);
...@@ -373,7 +401,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -373,7 +401,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String expiryDate = json.getString("expiryDate"); String expiryDate = json.getString("expiryDate");
if (!ObjectUtils.isEmpty(expiryDate)) { if (!ObjectUtils.isEmpty(expiryDate)) {
long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(expiryDate, formatter)); long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(expiryDate, formatter));
if (daysBetween <= 0) { if (daysBetween < 0) {
permissionStatusList.add(overdueStr); permissionStatusList.add(overdueStr);
} else if (daysBetween <= 30) { } else if (daysBetween <= 30) {
permissionStatusList.add(nearStr); permissionStatusList.add(nearStr);
...@@ -401,7 +429,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -401,7 +429,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
licensesStatus = licensesStatusMap.get(noLicense); licensesStatus = licensesStatusMap.get(noLicense);
} }
} else { } else {
licensesStatus = licensesStatusMap.get(noLicenseReq); licensesStatus = !"".equals(licensesStatusStr) ? licensesStatusMap.get(licensesStatusStr) : licensesStatusMap.get(noLicenseReq);
} }
} }
dto.put("licensesStatus", licensesStatus); dto.put("licensesStatus", licensesStatus);
...@@ -462,11 +490,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -462,11 +490,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust.must(termsQuery); boolMust.must(termsQuery);
} else if (k.equals("certNo") || k.equals("expiryDate") || k.equals("permissionLevel") || k.equals("certType") || k.equals("jobItem") || k.equals("permissionItem")) { } else if (k.equals("certNo") || k.equals("expiryDate") || k.equals("permissionLevel") || k.equals("certType") || k.equals("jobItem") || k.equals("permissionItem")) {
String path = "licenses"; String path = "licenses";
EnhancedDynamicQueryBuilder licencesQueryBuilder = new EnhancedDynamicQueryBuilder();
((JSONArray) v).forEach(item -> { ((JSONArray) v).forEach(item -> {
String nestedField = path + "." + k; String nestedField = path + "." + k;
// 根据证书编号判断有无资质 // 根据证书编号判断有无资质
if (k.equals("certNo")) { if (k.equals("certNo")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
...@@ -477,62 +504,57 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -477,62 +504,57 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
// 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763 // 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765 // 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
if (item.equals("1")) { if (item.equals("1")) {
boolMust.must(nestedQuery); licencesQueryBuilder.add(nestedQuery, or);
} else if (item.equals("0")) { } else if (item.equals("0")) {
// 无资质 // 无资质
BoolQueryBuilder queryBuilder = this.getNotLicencesBuilderWithPerson(); DynamicQueryBuilder queryBuilder = new DynamicQueryBuilder();
boolMust.must(queryBuilder); queryBuilder.and(this.getNotLicencesBuilderWithPerson());
boolMust.mustNot(nestedQuery); queryBuilder.and(QueryBuilders.boolQuery().mustNot(nestedQuery));
licencesQueryBuilder.add(queryBuilder.build(), or);
} else { } else {
// 无资质要求 // 无资质要求
BoolQueryBuilder queryBuilder = this.getNotNeedLicencesBuilderWithPerson(); licencesQueryBuilder.add(this.getNotNeedLicencesBuilderWithPerson(), or);
boolMust.must(queryBuilder);
} }
} else if (k.equals("expiryDate")) { } else if (k.equals("expiryDate")) {
// 不需要资质的人员查询构造条件 // 不需要资质的人员查询构造条件
BoolQueryBuilder notNeedLicensesQueryBuilder = this.getNotLicencesBuilderWithPerson(); BoolQueryBuilder notNeedLicensesQueryBuilder = this.getNotLicencesBuilderWithPerson();
boolMust.must(notNeedLicensesQueryBuilder); boolMust.must(notNeedLicensesQueryBuilder);
EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
if (item.equals(overdue)) { if (item.equals(overdue)) {
// 超期:小于当前日期 // 超期:小于当前日期
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))), QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter)),
ScoreMode.None ScoreMode.None
); );
enhancedDynamicQueryBuilder.add(nestedQuery, or); boolMust.must(nestedQuery);
boolMust.must(enhancedDynamicQueryBuilder.build());
} else if (item.equals(near)) { } else if (item.equals(near)) {
// 临期:小于等于当前日期加上30天 // 临期:小于等于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter))), QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter)),
ScoreMode.None ScoreMode.None
); );
enhancedDynamicQueryBuilder.add(nestedQuery, or); boolMust.must(nestedQuery);
boolMust.must(enhancedDynamicQueryBuilder.build());
} else if (item.equals(normal)) { } else if (item.equals(normal)) {
// 正常:大于当前日期加上30天 // 正常:大于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))), QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter)),
ScoreMode.None ScoreMode.None
); );
enhancedDynamicQueryBuilder.add(nestedQuery, or); boolMust.must(nestedQuery);
boolMust.must(enhancedDynamicQueryBuilder.build());
} else if (item.equals(none)) { } else if (item.equals(none)) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().mustNot(existsQuery(nestedField)), QueryBuilders.boolQuery().mustNot(existsQuery(nestedField)),
ScoreMode.None ScoreMode.None
); );
enhancedDynamicQueryBuilder.add(nestedQuery, or); boolMust.must(nestedQuery);
boolMust.must(enhancedDynamicQueryBuilder.build());
} }
} else if (k.equals("certType") || k.equals("permissionLevel")) { } else if (k.equals("certType") || k.equals("permissionLevel")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(QueryBuilders.termsQuery(nestedField, (JSONArray) v)), QueryBuilders.termsQuery(nestedField, (JSONArray) v),
ScoreMode.None ScoreMode.None
); );
boolMust.must(nestedQuery); boolMust.must(nestedQuery);
...@@ -542,9 +564,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -542,9 +564,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders.boolQuery().must(QueryBuilders.wildcardQuery(nestedField, "*" + item + "*")), QueryBuilders.boolQuery().must(QueryBuilders.wildcardQuery(nestedField, "*" + item + "*")),
ScoreMode.None ScoreMode.None
); );
boolMust.should(nestedQuery); boolMust.must(nestedQuery);
} }
}); });
boolMust.must(licencesQueryBuilder.build());
} else if (k.equals("issueDate")) { } else if (k.equals("issueDate")) {
JSONArray issueDates = (JSONArray) v; JSONArray issueDates = (JSONArray) v;
String startDate = DateUtils.convertDateToString(issueDates.getDate(0), DateUtils.DATE_PATTERN); String startDate = DateUtils.convertDateToString(issueDates.getDate(0), DateUtils.DATE_PATTERN);
...@@ -623,8 +646,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -623,8 +646,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode)); boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode));
JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = filter.getString("filterType");
if (!ObjectUtils.isEmpty(filter.get("filterParams"))) { if (!ObjectUtils.isEmpty(filter.get("filterParams"))) {
String filterType = filter.getString("filterType");
getCompanyBoolQueryBuilder(filterParams, filterType, boolMust); getCompanyBoolQueryBuilder(filterParams, filterType, boolMust);
} }
...@@ -639,6 +663,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -639,6 +663,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
} }
if ("custom".equals(filterType)) {
JSONArray leftGroup = filterParams.getJSONArray("group1");
JSONArray rightGroup = filterParams.getJSONArray("group2");
permitStatusStr = getFilterPermitStatusOrLicensesStatus(leftGroup, rightGroup, StatisticalAnalysisEnum.company.getCode());
}
// 排序 // 排序
if (!ObjectUtils.isEmpty(filter.get("sort"))) { if (!ObjectUtils.isEmpty(filter.get("sort"))) {
JSONObject sort = JSONObject.parseObject(JSONObject.toJSONString(filter.get("sort"))); JSONObject sort = JSONObject.parseObject(JSONObject.toJSONString(filter.get("sort")));
...@@ -701,6 +731,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -701,6 +731,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} else if (zc > 0) { } else if (zc > 0) {
permissionStatus = normalStr; permissionStatus = normalStr;
} }
} else {
permissionStatus = noneStr;
} }
} }
} else if (!dto.containsKey("licenses") && (dto.get("unitType").toString().contains("检测单位") || } else if (!dto.containsKey("licenses") && (dto.get("unitType").toString().contains("检测单位") ||
...@@ -872,6 +904,30 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -872,6 +904,30 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
} }
private String getFilterPermitStatusOrLicensesStatus(JSONArray leftGroup, JSONArray rightGroup, String code) {
String filed = code.equals(StatisticalAnalysisEnum.company.getCode()) ? "permitStatus" : "expiryDate";
List<Object> leftPermitList = leftGroup.stream().filter(e -> filed.equals(((JSONObject) e).getString("field")) && ((JSONObject) e).containsKey("value") && ((JSONObject) e).containsKey("itemCondition") && !((JSONObject) e).getString("itemCondition").equals("notIn")).collect(Collectors.toList());
List<Object> rightPermitList = rightGroup.stream().filter(e -> filed.equals(((JSONObject) e).getString("field")) && ((JSONObject) e).containsKey("value") && ((JSONObject) e).containsKey("itemCondition") && !((JSONObject) e).getString("itemCondition").equals("notIn")).collect(Collectors.toList());
int count = 0;
Boolean isLeft = false;
Boolean isRight = false;
if (!ObjectUtils.isEmpty(leftPermitList) && leftPermitList.size() == 1) {
count += 1;
isLeft = true;
}
if (!ObjectUtils.isEmpty(rightPermitList) && rightPermitList.size() == 1) {
count += 1;
isRight = true;
}
String statusStr = "";
if (count == 1 && isLeft) {
statusStr = ((JSONObject) leftPermitList.get(0)).getString("value");
} else if (count == 1 && isRight) {
statusStr = ((JSONObject) rightPermitList.get(0)).getString("value");
}
return statusStr;
}
private void deleteUnitCategory(JSONObject filterParams) { private void deleteUnitCategory(JSONObject filterParams) {
if (filterParams.containsKey("unitType") && !filterParams.getString("unitType").contains("all") && !filterParams.getString("unitType").contains("[]")) { if (filterParams.containsKey("unitType") && !filterParams.getString("unitType").contains("all") && !filterParams.getString("unitType").contains("[]")) {
filterParams.remove("unitCategory"); filterParams.remove("unitCategory");
...@@ -918,6 +974,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -918,6 +974,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
field = "ORG_BRANCH_CODE"; field = "ORG_BRANCH_CODE";
} else if (field.equals("USE_UNIT_NAME")) { } else if (field.equals("USE_UNIT_NAME")) {
field = "USE_UNIT_CREDIT_CODE"; field = "USE_UNIT_CREDIT_CODE";
} else if (field.equals("inspectStatus")) {
field = "NEXT_INSPECT_DATE";
} }
builder.sort(field, sort.getString("order").equals("desc") ? SortOrder.DESC : SortOrder.ASC); builder.sort(field, sort.getString("order").equals("desc") ? SortOrder.DESC : SortOrder.ASC);
} }
...@@ -949,7 +1007,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -949,7 +1007,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String nextInspectDate = dto.getString("NEXT_INSPECT_DATE"); String nextInspectDate = dto.getString("NEXT_INSPECT_DATE");
if (!ObjectUtils.isEmpty(nextInspectDate) && !"".equals(nextInspectDate)) { if (!ObjectUtils.isEmpty(nextInspectDate) && !"".equals(nextInspectDate)) {
long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(nextInspectDate, formatter)); long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(nextInspectDate, formatter));
if (daysBetween <= 0) { if (daysBetween < 0) {
inspectStatus = inspectionStatusMap.get(overdue); inspectStatus = inspectionStatusMap.get(overdue);
} else if (daysBetween <= 30) { } else if (daysBetween <= 30) {
inspectStatus = inspectionStatusMap.get(near); inspectStatus = inspectionStatusMap.get(near);
...@@ -958,6 +1016,22 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -958,6 +1016,22 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
} }
} }
if (!ValidationUtil.isEmpty(dto.getString("INFORMATION_SITUATION"))) {
String informationSituation = dto.getString("INFORMATION_SITUATION");
boolean integer = isInteger(informationSituation);
if (integer) {
informationSituation = InformationManageTypeEnum.getName(informationSituation);
}
dto.put("INFORMATION_SITUATION", informationSituation);
}
if (!ValidationUtil.isEmpty(dto.getString("CYLINDER_CATEGORY"))) {
String cylinderCategory = dto.getString("CYLINDER_CATEGORY");
boolean integer = isInteger(cylinderCategory);
if (integer) {
cylinderCategory = CylinderCategoryEnum.getName(cylinderCategory);
}
dto.put("CYLINDER_CATEGORY", cylinderCategory);
}
dto.put("inspectStatus", inspectStatus); dto.put("inspectStatus", inspectStatus);
list.add(dto); list.add(dto);
} }
...@@ -1020,6 +1094,17 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1020,6 +1094,17 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
private static boolean isInteger(String s) {
try {
Integer.parseInt(s);
return true;
} catch (NumberFormatException e) {
return false;
}
}
private void handleOrgCode(BoolQueryBuilder boolMust, String orgCode) { private void handleOrgCode(BoolQueryBuilder boolMust, String orgCode) {
if (orgCode.equals("50")) { if (orgCode.equals("50")) {
DynamicQueryBuilder dynamicQueryBuilder = new DynamicQueryBuilder(); DynamicQueryBuilder dynamicQueryBuilder = new DynamicQueryBuilder();
...@@ -1401,7 +1486,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1401,7 +1486,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
case "gt": case "gt":
NestedQueryBuilder gtQuery = QueryBuilders.nestedQuery( NestedQueryBuilder gtQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).filter(QueryBuilders.rangeQuery(path + tail).gt(value.toString())), QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.rangeQuery(path + tail).gt(value.toString())),
ScoreMode.None ScoreMode.None
); );
if (isCustom) { if (isCustom) {
...@@ -1460,17 +1545,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1460,17 +1545,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
break; break;
case "in": case "in":
JSONArray inValues = new JSONArray(); BoolQueryBuilder boolQuery = QueryBuilders.boolQuery().must(termsQueryBuilder);
if (value instanceof JSONArray) { if (value instanceof String) {
inValues = (JSONArray) value; boolQuery.must(QueryBuilders.termQuery(path + tail, value));
} } else {
if (value instanceof List) { JSONArray inValues = new JSONArray();
// value转化为jsONArray if (value instanceof JSONArray) {
inValues.addAll((List) value); inValues = (JSONArray) value;
}
if (value instanceof List) {
// value转化为jsONArray
inValues.addAll((List) value);
}
boolQuery.must(QueryBuilders.termsQuery(path + tail, inValues));
} }
NestedQueryBuilder inQuery = QueryBuilders.nestedQuery( NestedQueryBuilder inQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, inValues)), boolQuery,
ScoreMode.None ScoreMode.None
); );
if (isCustom) { if (isCustom) {
...@@ -1480,16 +1571,29 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1480,16 +1571,29 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
break; break;
case "notIn": case "notIn":
JSONArray notInValues = (JSONArray) value; BoolQueryBuilder notInBoolQuery = QueryBuilders.boolQuery().must(termsQueryBuilder);
if (value instanceof String) {
notInBoolQuery.mustNot(QueryBuilders.termQuery(path + tail, value));
} else {
JSONArray inValues = new JSONArray();
if (value instanceof JSONArray) {
inValues = (JSONArray) value;
}
if (value instanceof List) {
// value转化为jsONArray
inValues.addAll((List) value);
}
notInBoolQuery.mustNot(QueryBuilders.termsQuery(path + tail, inValues));
}
NestedQueryBuilder notInQuery = QueryBuilders.nestedQuery( NestedQueryBuilder notInQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, notInValues)), notInBoolQuery,
ScoreMode.None ScoreMode.None
); );
if (isCustom) { if (isCustom) {
builder.add(QueryBuilders.boolQuery().mustNot(notInQuery), andOr); builder.add(QueryBuilders.boolQuery().mustNot(notInQuery), andOr);
} else { } else {
boolMust.mustNot(notInQuery); boolMust.must(notInQuery);
} }
break; break;
} }
...@@ -1552,8 +1656,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1552,8 +1656,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private void addTechParam(JSONObject techParam, JSONObject paramRange, EnhancedDynamicQueryBuilder builder) { private void addTechParam(JSONObject techParam, JSONObject paramRange, EnhancedDynamicQueryBuilder builder) {
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(techParam)); JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(techParam));
String field = jsonObject.getString("value"); JSONObject js = (JSONObject) jsonObject.get("value");
String fieldType = jsonObject.getString("fieldType"); String field = js.getString("value");
String fieldType = js.getString("fieldType");
String itemCondition = paramRange.getString("itemCondition"); String itemCondition = paramRange.getString("itemCondition");
Object value = paramRange.get("value"); Object value = paramRange.get("value");
String andOr = paramRange.getString("andOr"); String andOr = paramRange.getString("andOr");
...@@ -1593,11 +1698,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1593,11 +1698,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private void getItemQuery(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder, String type) { private void getItemQuery(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder, String type) {
// 如果包含需要特殊处理的字段,则调用对应的处理方法,否则调用通用处理方法 // 如果包含需要特殊处理的字段,则调用对应的处理方法,否则调用通用处理方法
if (equipHandleOtherFields.contains(field) || companyHandleOtherFields.contains(field) || personHandleOtherFields.contains(field)) { if (equipHandleOtherFields.contains(field) || companyHandleOtherFields.contains(field) || personHandleOtherFields.contains(field)) {
handleOtherField(field, itemCondition, value, isOr, builder); handleOtherField(field, itemCondition, value, isOr, builder, type);
} else { } else {
field = field.equals("nextInspectDate") ? "NEXT_INSPECT_DATE" : field; field = field.equals("nextInspectDate") ? "NEXT_INSPECT_DATE" : field.equals("use_date") ? "USE_DATE" : field;
String finalField = field; String finalField = field;
if (itemCondition.contains("like")) { if (!itemCondition.contains("gt") && !itemCondition.contains("lt") && !itemCondition.equals("between")) {
FieldType esType; FieldType esType;
if (StatisticalAnalysisEnum.equip.getCode().equals(type)) { if (StatisticalAnalysisEnum.equip.getCode().equals(type)) {
esType = EquipAdvanceSearchEnum.getEsType.get(field); esType = EquipAdvanceSearchEnum.getEsType.get(field);
...@@ -1648,12 +1753,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1648,12 +1753,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
// 特殊处理字段 // 特殊处理字段
private void handleOtherField(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder) { private void handleOtherField(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder, String type) {
if (equipHandleOtherFields.contains(field)) { if (equipHandleOtherFields.contains(field) && StatisticalAnalysisEnum.equip.getCode().equals(type)) {
equipFieldHandle(field, itemCondition, value, isOr, builder); equipFieldHandle(field, itemCondition, value, isOr, builder);
} else if (companyHandleOtherFields.contains(field)) { } else if (companyHandleOtherFields.contains(field) && StatisticalAnalysisEnum.company.getCode().equals(type)) {
companyFieldHandle(field, itemCondition, value, isOr, builder); companyFieldHandle(field, itemCondition, value, isOr, builder);
} else if (personHandleOtherFields.contains(field)) { } else if ((personHandleOtherFields.contains(field) && StatisticalAnalysisEnum.person.getCode().equals(type))) {
personFieldHandle(field, itemCondition, value, isOr, builder); personFieldHandle(field, itemCondition, value, isOr, builder);
} }
} }
...@@ -1711,66 +1816,109 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1711,66 +1816,109 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
} }
} else if (field.equals("expiryDate")) { } else if (field.equals("expiryDate")) {
// 无资质到期日期
NestedQueryBuilder noneQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().mustNot(existsQuery(nestedField)),
ScoreMode.None
);
// 有资质到期日期
NestedQueryBuilder existsQuery = QueryBuilders.nestedQuery(
path,
existsQuery(nestedField),
ScoreMode.None
);
// 正常资质到期日期
NestedQueryBuilder normalNestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.None
);
// 超期资质到期日期
NestedQueryBuilder overdueNestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))),
ScoreMode.None
);
// 临期资质到期日期
NestedQueryBuilder nearNestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter))),
ScoreMode.None
);
if (value.equals(overdue)) { if (value.equals(overdue)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( builder.add(QueryBuilders.boolQuery().must(overdueNestedQuery), isOr);
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))),
ScoreMode.None
);
builder.add(nestedQuery, isOr);
} else { } else {
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gte(LocalDate.now().format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gte(LocalDate.now().format(formatter))),
ScoreMode.None ScoreMode.None
); );
builder.add(nestedQuery, isOr); builders.add(QueryBuilders.boolQuery().must(nestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(overdueNestedQuery), and);
builder.add(builders.build(), isOr);
} }
} else if (value.equals(near)) { } else if (value.equals(near)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( builder.add(QueryBuilders.boolQuery().must(nearNestedQuery), isOr);
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter)).gte(LocalDate.now().format(formatter))),
ScoreMode.None
);
builder.add(nestedQuery, isOr);
} else { } else {
NestedQueryBuilder overdueNestedQuery = QueryBuilders.nestedQuery( EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
path, builders.add(QueryBuilders.boolQuery().must(overdueNestedQuery), or);
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))), builders.add(QueryBuilders.boolQuery().must(normalNestedQuery), or);
ScoreMode.None builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
); builders.add(QueryBuilders.boolQuery().mustNot(nearNestedQuery), and);
NestedQueryBuilder normalNestedQuery = QueryBuilders.nestedQuery( builder.add(builders.build(), isOr);
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.None
);
builder.add(overdueNestedQuery, or);
builder.add(normalNestedQuery, or);
} }
} else if (value.equals(normal)) { } else if (value.equals(normal)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( builder.add(normalNestedQuery, isOr);
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.None
);
builder.add(nestedQuery, isOr);
} else { } else {
NestedQueryBuilder elseNestedQuery = QueryBuilders.nestedQuery( EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter))), QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.None ScoreMode.None
); );
NestedQueryBuilder noLicensesNestedQuery = QueryBuilders.nestedQuery( builders.add(QueryBuilders.boolQuery().must(nestedQuery), or);
path, builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
existsQuery(nestedField), builders.add(QueryBuilders.boolQuery().mustNot(normalNestedQuery), and);
ScoreMode.None builder.add(builders.build(), isOr);
); }
builder.add(elseNestedQuery, or); } else if (value.equals(none)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(noneQuery, and);
} else {
builder.add(existsQuery, and);
} }
} }
} else if (field.equals("issueDate")) {
BoolQueryBuilder query = QueryBuilders.boolQuery();
switch (itemCondition) {
case "eq":
query.must(QueryBuilders.termQuery(nestedField, value));
break;
case "lt":
query.must(QueryBuilders.rangeQuery(nestedField).lt(value));
break;
case "lte":
query.must(QueryBuilders.rangeQuery(nestedField).lte(value));
break;
case "gt":
query.must(QueryBuilders.rangeQuery(nestedField).gt(value));
break;
case "gte":
query.must(QueryBuilders.rangeQuery(nestedField).gte(value));
break;
}
NestedQueryBuilder dateQuery = QueryBuilders.nestedQuery(
path,
query,
ScoreMode.None
);
builder.add(dateQuery, isOr);
} else { } else {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path, path,
...@@ -1833,9 +1981,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1833,9 +1981,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
private void companyFieldHandle(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder) { private void companyFieldHandle(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder) {
if (field.equals("itemCode") || field.equals("subItemCode") || field.equals("permitStatus")) { if (field.equals("itemCode") || field.equals("subItemCode") || field.equals("permitStatus") || field.equals("expiryDate")) {
String path = "licenses"; String path = "licenses";
String nestedField = path + "." + (field.equals("permitStatus") ? "expiryDate" : field + ".keyword"); String nestedField = path + "." + (field.equals("permitStatus") || field.equals("expiryDate") ? "expiryDate" : field + ".keyword");
if (field.equals("permitStatus")) { if (field.equals("permitStatus")) {
// 无许可到期日期 // 无许可到期日期
NestedQueryBuilder noneQuery = QueryBuilders.nestedQuery( NestedQueryBuilder noneQuery = QueryBuilders.nestedQuery(
...@@ -1843,10 +1991,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1843,10 +1991,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders.boolQuery().mustNot(existsQuery(nestedField)), QueryBuilders.boolQuery().mustNot(existsQuery(nestedField)),
ScoreMode.None ScoreMode.None
); );
// 有许可到期日期 // 有许可到期日期
NestedQueryBuilder existsQuery = QueryBuilders.nestedQuery( NestedQueryBuilder existsQuery = QueryBuilders.nestedQuery(
path, path,
QueryBuilders.boolQuery().must(existsQuery(nestedField)), existsQuery(nestedField),
ScoreMode.None ScoreMode.None
); );
// 正常许可到期日期 // 正常许可到期日期
...@@ -1879,6 +2027,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1879,6 +2027,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
); );
builders.add(QueryBuilders.boolQuery().must(nestedQuery), or); builders.add(QueryBuilders.boolQuery().must(nestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or); builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(overdueNestedQuery), and);
builder.add(builders.build(), isOr); builder.add(builders.build(), isOr);
} }
} else if (value.equals(near)) { } else if (value.equals(near)) {
...@@ -1889,6 +2038,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1889,6 +2038,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
builders.add(QueryBuilders.boolQuery().must(overdueNestedQuery), or); builders.add(QueryBuilders.boolQuery().must(overdueNestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(normalNestedQuery), or); builders.add(QueryBuilders.boolQuery().must(normalNestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or); builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(nearNestedQuery), and);
builder.add(builders.build(), isOr); builder.add(builders.build(), isOr);
} }
} else if (value.equals(normal)) { } else if (value.equals(normal)) {
...@@ -1903,15 +2053,41 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1903,15 +2053,41 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
); );
builders.add(QueryBuilders.boolQuery().must(nestedQuery), or); builders.add(QueryBuilders.boolQuery().must(nestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or); builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(normalNestedQuery), and);
builder.add(builders.build(), isOr); builder.add(builders.build(), isOr);
} }
} else if (value.equals(none)) { } else if (value.equals(none)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(QueryBuilders.boolQuery().must(existsQuery), or); builder.add(noneQuery, and);
} else { } else {
builder.add(QueryBuilders.boolQuery().must(noneQuery), or); builder.add(existsQuery, and);
} }
} }
} else if (field.equals("expiryDate")) {
BoolQueryBuilder query = QueryBuilders.boolQuery();
switch (itemCondition) {
case "eq":
query.must(QueryBuilders.termQuery(nestedField, value));
break;
case "lt":
query.must(QueryBuilders.rangeQuery(nestedField).lt(value));
break;
case "lte":
query.must(QueryBuilders.rangeQuery(nestedField).lte(value));
break;
case "gt":
query.must(QueryBuilders.rangeQuery(nestedField).gt(value));
break;
case "gte":
query.must(QueryBuilders.rangeQuery(nestedField).gte(value));
break;
}
NestedQueryBuilder dateQuery = QueryBuilders.nestedQuery(
path,
query,
ScoreMode.None
);
builder.add(dateQuery, isOr);
} else { } else {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
// 创建嵌套查询 // 创建嵌套查询
...@@ -1943,27 +2119,39 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1943,27 +2119,39 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private void equipFieldHandle(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder) { private void equipFieldHandle(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder) {
if (field.equals("NEXT_INSPECT_DATE")) { if (field.equals("NEXT_INSPECT_DATE")) {
if (value.equals(overdue)) { BoolQueryBuilder overdueQuery = QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).lt(LocalDate.now().format(formatter)));
// 超期:小于当前日期 BoolQueryBuilder nearQuery = QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gte(LocalDate.now().format(formatter)).lte(LocalDate.now().plusDays(30).format(formatter)));
if (itemCondition.equals("eq") || itemCondition.equals("in")) { BoolQueryBuilder normalQuery = QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gt(LocalDate.now().plusDays(30).format(formatter)));
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).lt(LocalDate.now().format(formatter))), isOr); BoolQueryBuilder noneQuery = QueryBuilders.boolQuery().mustNot(existsQuery(field));
} else { DynamicQueryBuilder builders = new DynamicQueryBuilder();
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gt(LocalDate.now().format(formatter))), isOr); if (itemCondition.equals("eq") || itemCondition.equals("in")) {
} if (value.equals(overdue)) {
} else if (value.equals(near)) { builder.add(overdueQuery, isOr);
// 临期:小于等于当前日期加上30天 } else if (value.equals(near)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { builder.add(nearQuery, isOr);
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gte(LocalDate.now().format(formatter)).lte(LocalDate.now().plusDays(30).format(formatter))), isOr); } else if (value.equals(normal)) {
builder.add(normalQuery, isOr);
} else { } else {
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).lt(LocalDate.now().format(formatter))), or); builder.add(noneQuery, isOr);
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gt(LocalDate.now().plusDays(30).format(formatter))), or);
} }
} else { } else {
// 正常:大于当前日期加上30天 if (value.equals(overdue)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { builders.or(nearQuery);
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gt(LocalDate.now().plusDays(30).format(formatter))), isOr); builders.or(normalQuery);
builders.or(noneQuery);
builder.add(builders.build(), isOr);
} else if (value.equals(near)) {
builders.or(overdueQuery);
builders.or(normalQuery);
builders.or(noneQuery);
builder.add(builders.build(), isOr);
} else if (value.equals(normal)) {
builders.or(overdueQuery);
builders.or(nearQuery);
builders.or(noneQuery);
builder.add(builders.build(), isOr);
} else { } else {
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).lt(LocalDate.now().plusDays(30).format(formatter))), isOr); builder.add(QueryBuilders.boolQuery().must(existsQuery(field)), isOr);
} }
} }
} else if (field.equals("USE_DATE")) { } else if (field.equals("USE_DATE")) {
...@@ -2008,12 +2196,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2008,12 +2196,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} else { } else {
queryBuilder.must(QueryBuilders.termsQuery(typeField, field)); queryBuilder.must(QueryBuilders.termsQuery(typeField, field));
} }
EnhancedDynamicQueryBuilder queryBuilders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder fieldQuery = QueryBuilders.nestedQuery( NestedQueryBuilder fieldQuery = QueryBuilders.nestedQuery(
path, path,
queryBuilder, queryBuilder,
ScoreMode.None ScoreMode.None
); );
builder.add(fieldQuery, and); queryBuilders.add(fieldQuery, and);
BoolQueryBuilder query = QueryBuilders.boolQuery(); BoolQueryBuilder query = QueryBuilders.boolQuery();
switch (itemCondition) { switch (itemCondition) {
case "lt": case "lt":
...@@ -2034,7 +2223,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2034,7 +2223,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
query, query,
ScoreMode.None ScoreMode.None
); );
builder.add(dateQuery, isOr); queryBuilders.add(dateQuery, and);
builder.add(queryBuilders.build(), isOr);
} else if (field.equals("QZ_OR_TANK")) { } else if (field.equals("QZ_OR_TANK")) {
if (!"".equals(value) && value != null) { if (!"".equals(value) && value != null) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
...@@ -2045,10 +2235,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2045,10 +2235,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
} else if (field.equals("registerStatus")) { } else if (field.equals("registerStatus")) {
BoolQueryBuilder registerQuery = QueryBuilders.boolQuery().must(QueryBuilders.termsQuery("IS_INTO_MANAGEMENT", Boolean.TRUE)) BoolQueryBuilder registerQuery = QueryBuilders.boolQuery().must(QueryBuilders.termsQuery("IS_INTO_MANAGEMENT", Boolean.TRUE))
.must(existsQuery("USE_ORG_CODE")); .must(existsQuery("USE_ORG_CODE"))
BoolQueryBuilder noRegisterQuery = QueryBuilders.boolQuery().should(QueryBuilders.boolQuery().mustNot(existsQuery("IS_INTO_MANAGEMENT"))) .mustNot(QueryBuilders.termQuery("USE_ORG_CODE", ""));
.should(QueryBuilders.matchQuery("IS_INTO_MANAGEMENT", Boolean.FALSE)) BoolQueryBuilder noRegisterQuery = QueryBuilders.boolQuery()
.should(QueryBuilders.boolQuery().mustNot(existsQuery("IS_INTO_MANAGEMENT")))
.should(QueryBuilders.termQuery("IS_INTO_MANAGEMENT", Boolean.FALSE))
.should(QueryBuilders.boolQuery().mustNot(existsQuery("USE_ORG_CODE"))) .should(QueryBuilders.boolQuery().mustNot(existsQuery("USE_ORG_CODE")))
.should(QueryBuilders.termQuery("USE_ORG_CODE", ""))
.minimumShouldMatch(1); .minimumShouldMatch(1);
if (itemCondition.equals("eq") || itemCondition.equals("in")) { if (itemCondition.equals("eq") || itemCondition.equals("in")) {
if (value.equals("1")) { if (value.equals("1")) {
...@@ -2063,6 +2256,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2063,6 +2256,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
builder.add(registerQuery, isOr); builder.add(registerQuery, isOr);
} }
} }
} else if (field.equals("EQU_STATE")) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
if (!value.equals("99")) {
builder.add(QueryBuilders.termQuery(field, value), isOr);
} else {
builder.add(QueryBuilders.boolQuery().mustNot(existsQuery(field)), isOr);
}
} else {
if (!value.equals("99")) {
DynamicQueryBuilder dynamicQueryBuilder = new DynamicQueryBuilder();
dynamicQueryBuilder.or(QueryBuilders.boolQuery().mustNot(QueryBuilders.termQuery(field, value)));
dynamicQueryBuilder.or(QueryBuilders.boolQuery().mustNot(existsQuery(field)));
builder.add(dynamicQueryBuilder.build(), isOr);
} else {
builder.add(QueryBuilders.boolQuery().must(existsQuery(field)), isOr);
}
}
} }
} }
...@@ -2259,6 +2469,22 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2259,6 +2469,22 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
public JSONArray querySubXK(String type) {
JSONArray result = new JSONArray();
List<DataDictionary> childrenxkxm = new ArrayList<>();
if (ValidationUtil.isEmpty(type)) {
// childrenxkxm = dataDictionaryService.lambdaQuery()
// .likeRight(DataDictionary::getCode, "XK")
// .isNotNull(DataDictionary::getTypeDesc)
// .eq(BaseEntity::getIsDelete, false).list();
throw new BaseException("请先选择许可项目,才能选择子许可项目", "200", "请先选择许可项目,才能选择子许可项目");
} else {
childrenxkxm = dataDictionaryService.lambdaQuery().eq(DataDictionary::getTypeDesc, type).eq(BaseEntity::getIsDelete, false).list();
}
result = deployDictionary(childrenxkxm);
return result;
}
public JSONArray queryRYLX(JSONObject params) { public JSONArray queryRYLX(JSONObject params) {
JSONArray result = new JSONArray(); JSONArray result = new JSONArray();
...@@ -2347,6 +2573,21 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2347,6 +2573,21 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
public JSONArray querySubRYLX(String type) {
JSONArray result = new JSONArray();
if (ValidationUtil.isEmpty(type)) {
throw new BaseException("请先选择人员类型,才能选择子类型", "200", "请先选择人员类型,才能选择子类型");
} else {
List<DataDictionary> childrenrylx = dataDictionaryService.lambdaQuery()
.in(DataDictionary::getParent, type)
.like(DataDictionary::getType, "QYRYGW")
.orderByAsc(DataDictionary::getSortNum)
.list();
result = deployDictionary(childrenrylx);
}
return result;
}
/** /**
* 开始下载 发送消息 * 开始下载 发送消息
*/ */
...@@ -2565,6 +2806,43 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2565,6 +2806,43 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
public JSONArray queryTypeZYXM(String type) {
JSONArray result = new JSONArray();
if ("特种设备安全管理和作业人员证".equals(type)) {
List<DictionarieValueModel> certType = Systemctl.dictionarieClient.dictValues("JOB_ITEM").getResult();
for (DictionarieValueModel certTypeModel : certType) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("key", certTypeModel.getDictDataKey());
jsonObject.put("value", certTypeModel.getDictDataKey());
jsonObject.put("label", certTypeModel.getDictDataValue());
result.add(jsonObject);
}
} else {
throw new BaseException("请先选择证书类型,才能选择作业项目", "200", "请先选择证书类型,才能选择作业项目");
}
return result;
}
public JSONArray queryLevelZYXM(String type) {
JSONArray result = new JSONArray();
if (!ObjectUtils.isEmpty(type)) {
List<DictionarieValueModel> certType = Systemctl.dictionarieClient.dictValues("JOB_ITEM").getResult();
for (DictionarieValueModel certTypeModel : certType) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("key", certTypeModel.getDictDataKey());
jsonObject.put("value", certTypeModel.getDictDataKey());
jsonObject.put("label", certTypeModel.getDictDataValue());
result.add(jsonObject);
}
} else {
throw new BaseException("请先选择证书级别,才能选择项目", "200", "请先选择证书级别,才能选择项目");
}
return result;
}
public JSONArray queryUnitByOrgCode(String orgCode) { public JSONArray queryUnitByOrgCode(String orgCode) {
SearchRequest searchRequest = new SearchRequest("idx_biz_enterprise_info"); SearchRequest searchRequest = new SearchRequest("idx_biz_enterprise_info");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
...@@ -2651,7 +2929,22 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2651,7 +2929,22 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
object.put("key", paramMetaList.get(i).getParamKey()); object.put("key", paramMetaList.get(i).getParamKey());
object.put("value", paramMetaList.get(i).getParamKey()); object.put("value", paramMetaList.get(i).getParamKey());
object.put("label", paramMetaList.get(i).getParamLabel()); object.put("label", paramMetaList.get(i).getParamLabel());
object.put("fieldType", paramMetaList.get(i).getParamType()); object.put("unit", paramMetaList.get(i).getUnit());
JSONObject skillConfig = new JSONObject();
skillConfig.put("conditions", getConditionList(paramMetaList.get(i).getParamType(), paramMetaList.get(i).getDictCode()));
if (!ValidationUtil.isEmpty(paramMetaList.get(i).getDictCode())) {
skillConfig.put("type", "select");
skillConfig.put("data", getData(paramMetaList.get(i).getDictCode()));
} else if (TechnicalParameter.ParamType.BIG_DECIMAL.equals(paramMetaList.get(i).getParamType())) {
skillConfig.put("type", "inputNumber");
} else if (TechnicalParameter.ParamType.STRING.equals(paramMetaList.get(i).getParamType())) {
skillConfig.put("type", "input");
} else if (TechnicalParameter.ParamType.DATE.equals(paramMetaList.get(i).getParamType())) {
skillConfig.put("type", "date");
}
skillConfig.put("fieldType", paramMetaList.get(i).getParamType());
skillConfig.put("isMulti", false);
object.put("skillConfig", skillConfig);
list.add(object); list.add(object);
} }
return list; return list;
...@@ -2742,6 +3035,34 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -2742,6 +3035,34 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return permissionStatus; return permissionStatus;
} }
public JSONArray queryInspectionDate() {
//资质状态
JSONArray permissionStatus = new JSONArray();
for (int i = 0; i < 4; i++) {
JSONObject object = new JSONObject();
if (0 == i) {
object.put("key", normal);
object.put("value", normal);
object.put("label", inspectionStatusMap.get(normal));
} else if (1 == i) {
object.put("key", near);
object.put("value", near);
object.put("label", inspectionStatusMap.get(near));
} else if (2 == i) {
object.put("key", overdue);
object.put("value", overdue);
object.put("label", inspectionStatusMap.get(overdue));
} else {
object.put("key", none);
object.put("value", none);
object.put("label", inspectionStatusMap.get(none));
}
permissionStatus.add(object);
}
return permissionStatus;
}
public JSONArray queryVehicleCylinder() { public JSONArray queryVehicleCylinder() {
//是否车用气瓶 //是否车用气瓶
JSONArray vehicleCylinder = new JSONArray(); JSONArray vehicleCylinder = new JSONArray();
......
...@@ -24,6 +24,7 @@ import org.springframework.http.MediaType; ...@@ -24,6 +24,7 @@ import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
...@@ -723,11 +724,13 @@ public class DPSubServiceImpl { ...@@ -723,11 +724,13 @@ public class DPSubServiceImpl {
SimpleDateFormat sdf = new SimpleDateFormat(f); SimpleDateFormat sdf = new SimpleDateFormat(f);
Date date = null; Date date = null;
try { try {
date = sdf.parse(ValidationUtil.validateString(value)); if(!ObjectUtils.isEmpty(value) && !value.equals("null") && !value.equals("undefined")){
date = sdf.parse(ValidationUtil.validateString(value));
}
} catch (ParseException e) { } catch (ParseException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
jsonObject.put("value",sdf.format(date)); jsonObject.put("value", null == date ? "" : sdf.format(date));
} }
} else if ("checkbox".equals(xObj.getString("componentKey"))) { } else if ("checkbox".equals(xObj.getString("componentKey"))) {
......
...@@ -475,7 +475,7 @@ public class JGDPStatisticsServiceImpl { ...@@ -475,7 +475,7 @@ public class JGDPStatisticsServiceImpl {
} }
private void staticsCenterMapCountPipLine(Map<String, Object> result, String orgCode) { public void staticsCenterMapCountPipLine(Map<String, Object> result, String orgCode) {
SearchRequest request = new SearchRequest(); SearchRequest request = new SearchRequest();
SearchSourceBuilder builder = new SearchSourceBuilder(); SearchSourceBuilder builder = new SearchSourceBuilder();
request.indices(StatisticalAnalysisEnum.equip.getKey()); request.indices(StatisticalAnalysisEnum.equip.getKey());
...@@ -1804,7 +1804,8 @@ public class JGDPStatisticsServiceImpl { ...@@ -1804,7 +1804,8 @@ public class JGDPStatisticsServiceImpl {
long hasSupervisoryCodeEquipCount = stCommonService.queryHasSupervisoryCodeEquipCount(orgCode, false); long hasSupervisoryCodeEquipCount = stCommonService.queryHasSupervisoryCodeEquipCount(orgCode, false);
result.put("total", hasSupervisoryCodeEquipCount); result.put("total", hasSupervisoryCodeEquipCount);
// 2.压力管道长度统计 // 2.压力管道长度统计
stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode, true, false); // stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode, true, false);
this.staticsCenterMapCountPipLine(result, orgCode);
// 3.已纳管设备总数 // 3.已纳管设备总数
this.staticsCenterMapCountDataForEquipIsManage(result); this.staticsCenterMapCountDataForEquipIsManage(result);
// 4.登记证总数 // 4.登记证总数
......
...@@ -107,13 +107,15 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -107,13 +107,15 @@ public class JYJCDPStatisticsServiceImpl {
private SafetyProblemTracingMapper safetyProblemTracingMapper; private SafetyProblemTracingMapper safetyProblemTracingMapper;
private JGDPStatisticsServiceImpl jgDPStatisticsService;
/** /**
* 法定检验机构名单 * 法定检验机构名单
*/ */
@Value("${jyjc.legal.companyCode:12610100750228848W,12610300MB2943942F,12610400435630992M,12610200435252143F,126105007326878566,12610600MB29845683,126108004366752362,12610700MB296441XY,12610900353680128G,126110004363154256,126100004352004822}") @Value("${jyjc.legal.companyCode:12610100750228848W,12610300MB2943942F,12610400435630992M,12610200435252143F,126105007326878566,12610600MB29845683,126108004366752362,12610700MB296441XY,12610900353680128G,126110004363154256,126100004352004822}")
private String legalCompanyCodes; private String legalCompanyCodes;
public JYJCDPStatisticsServiceImpl(JyjcInspectionApplicationEquipMapper inspectionApplicationEquipMapper, JyjcInspectionApplicationMapper inspectionApplicationMapper, TzsUserInfoMapper tzsUserInfoMapper, JyjcInspectionResultMapper inspectionResultMapper, JyjcOpeningApplicationMapper openingApplicationMapper, RestHighLevelClient restHighLevelClient, StCommonServiceImpl stCommonService, JYJCStatisticsMapper jyjcStatisticsMapper, SafetyProblemTracingMapper safetyProblemTracingMapper) { public JYJCDPStatisticsServiceImpl(JyjcInspectionApplicationEquipMapper inspectionApplicationEquipMapper, JyjcInspectionApplicationMapper inspectionApplicationMapper, TzsUserInfoMapper tzsUserInfoMapper, JyjcInspectionResultMapper inspectionResultMapper, JyjcOpeningApplicationMapper openingApplicationMapper, RestHighLevelClient restHighLevelClient, StCommonServiceImpl stCommonService, JYJCStatisticsMapper jyjcStatisticsMapper, SafetyProblemTracingMapper safetyProblemTracingMapper, JGDPStatisticsServiceImpl jgDPStatisticsService) {
this.inspectionApplicationEquipMapper = inspectionApplicationEquipMapper; this.inspectionApplicationEquipMapper = inspectionApplicationEquipMapper;
this.inspectionApplicationMapper = inspectionApplicationMapper; this.inspectionApplicationMapper = inspectionApplicationMapper;
this.tzsUserInfoMapper = tzsUserInfoMapper; this.tzsUserInfoMapper = tzsUserInfoMapper;
...@@ -123,6 +125,7 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -123,6 +125,7 @@ public class JYJCDPStatisticsServiceImpl {
this.stCommonService = stCommonService; this.stCommonService = stCommonService;
this.jyjcStatisticsMapper = jyjcStatisticsMapper; this.jyjcStatisticsMapper = jyjcStatisticsMapper;
this.safetyProblemTracingMapper = safetyProblemTracingMapper; this.safetyProblemTracingMapper = safetyProblemTracingMapper;
this.jgDPStatisticsService = jgDPStatisticsService;
} }
...@@ -544,7 +547,8 @@ public class JYJCDPStatisticsServiceImpl { ...@@ -544,7 +547,8 @@ public class JYJCDPStatisticsServiceImpl {
long hasSupervisoryCodeEquipCount = stCommonService.queryHasSupervisoryCodeEquipCount(orgCode, false); long hasSupervisoryCodeEquipCount = stCommonService.queryHasSupervisoryCodeEquipCount(orgCode, false);
result.put("total", hasSupervisoryCodeEquipCount); result.put("total", hasSupervisoryCodeEquipCount);
// 3.压力管道统计 // 3.压力管道统计
stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false); // stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false);
jgDPStatisticsService.staticsCenterMapCountPipLine(result, orgCode);
// 4.报检数量统计 // 4.报检数量统计
this.staticsCenterMapCountDataReporting(result, dpFilterParamDto); this.staticsCenterMapCountDataReporting(result, dpFilterParamDto);
// 5.检验检测临期设备数数量统计 // 5.检验检测临期设备数数量统计
......
...@@ -34,7 +34,7 @@ public class GenerateCodeServiceImpl implements IGenerateCodeService { ...@@ -34,7 +34,7 @@ public class GenerateCodeServiceImpl implements IGenerateCodeService {
private static final String LOCK_KEY_ELEVATOR = "sequence_lock_elevator"; private static final String LOCK_KEY_ELEVATOR = "sequence_lock_elevator";
private static final String LOCK_KEY_SUPERVISORY = "sequence_lock_supervisory"; private static final String LOCK_KEY_SUPERVISORY = "sequence_lock_supervisory";
private static final String SEQUENCE_TYPE_UR = "%05d"; private static final String SEQUENCE_TYPE_UR = "%05d";
private static final String SEQUENCE_TYPE = "%07d"; private static final String SEQUENCE_TYPE = "%08d";
private final RedisTemplate<String, String> redisTemplate; private final RedisTemplate<String, String> redisTemplate;
private final StringRedisTemplate stringRedisTemplate; private final StringRedisTemplate stringRedisTemplate;
private final CategoryOtherInfoMapper categoryOtherInfoMapper; private final CategoryOtherInfoMapper categoryOtherInfoMapper;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment