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 {
private BigDecimal liftingHeight;
@TechnicalParameter(key = "deviceLevel", label = "层数", equCategory = {"3100", "3200", "3400"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "层")
private BigDecimal deviceLevel;
@TechnicalParameter(key = "storey", label = "层数", equCategory = {"3100", "3200", "3400"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "层")
private BigDecimal storey;
@TechnicalParameter(key = "stand", label = "站数", equCategory = {"3100", "3200", "3400"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "站")
......@@ -60,9 +60,9 @@ public class ElevatorTechParamDefine implements ITechParamDefine {
@TechnicalParameter(key = "explosionproofGrade", label = "区域防爆等级", equCategory = {"3400"}, equDefine = {"3410"}, type = TechnicalParameter.ParamType.STRING, dictCode = "FBDJ")
private String explosionproofGrade;
@TechnicalParameter(key = "explosionproofSignComplete", label = "整机防爆标志", equCategory = {"3400"}, equDefine = {"3410"}, type = TechnicalParameter.ParamType.STRING)
private String explosionproofSignComplete;
// 附件上传类型的参数,无法参与查询,暂时注释掉
// @TechnicalParameter(key = "explosionproofSignComplete", label = "整机防爆标志", equCategory = {"3400"}, equDefine = {"3410"}, type = TechnicalParameter.ParamType.STRING)
// private String explosionproofSignComplete;
@TechnicalParameter(key = "nominalSpeed", label = "名义速度", equCategory = {"3300"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m/s")
......
......@@ -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)
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 = "ratedSpeedUp", label = "监检结束高度", equCategory = {"4300", "4800"}, ignoreCategoryConf = {"4800"}, equDefine = {"4310", "4320", "4860"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
private BigDecimal ratedSpeedUp;
@TechnicalParameter(key = "checkFinishedHeight", label = "监检结束高度", equCategory = {"4300", "4800"}, ignoreCategoryConf = {"4800"}, equDefine = {"4310", "4320", "4860"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
private BigDecimal checkFinishedHeight;
@TechnicalParameter(key = "parkingVehicleHeight", label = "适停车辆尺寸高", equCategory = {"4D00"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
......
......@@ -25,7 +25,7 @@ public class PipelineTechParamDefine implements ITechParamDefine {
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;
......
......@@ -29,16 +29,16 @@ public class RidesTechParamDefine implements ITechParamDefine {
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;
@TechnicalParameter(key = "operatingHeight", label = "运行高度", equCategory = {"6500", "6E00", "6D00", "6D00"}, equDefine = {"6D10", "6D20", "6E10", "6E40"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
private BigDecimal operatingHeight;
@TechnicalParameter(key = "slideHeight", label = "蹦极绳长度", equCategory = {"6E00"}, equDefine = {"6E10"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
private BigDecimal slideHeight;
//字段值与滑索(道)长度重复,业务显隐使用
// @TechnicalParameter(key = "slideHeight", label = "蹦极绳长度", equCategory = {"6E00"}, equDefine = {"6E10"}, type = TechnicalParameter.ParamType.BIG_DECIMAL, unit = "m")
// private BigDecimal slideHeight;
@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 {
updateWrapper.set(IdxBizJgProjectContraption::getOrgName, projectContraptionChangeDataDtoNew.getOrgName());
updateWrapper.set(IdxBizJgProjectContraption::getUseRegistrationCode, projectContraptionChangeDataDtoNew.getUseRegistrationCode());
updateWrapper.set(IdxBizJgProjectContraption::getProductQualificationCertificate, projectContraptionChangeDataDtoNew.getProductQualificationCertificate());
updateWrapper.set(IdxBizJgProjectContraption::getUseDate, projectContraptionChangeDataDtoNew.getUseDate());
updateWrapper.set(BaseEntity::getRecDate, new Date());
updateWrapper.eq(BaseEntity::getSequenceNbr, projectContraptionChangeDataDtoNew.getProjectContraptionId());
idxBizJgProjectContraptionServiceImpl.update(null, updateWrapper);
......
......@@ -10,8 +10,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
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.biz.edit.constant.EditConstant;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.EsUpdateService;
......@@ -230,6 +228,7 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
IdxBizJgUseInfo useInfoNew = new IdxBizJgUseInfo();
BeanUtil.copyProperties(useInfoOld, useInfoNew, true);
BeanUtil.copyProperties(updatePieLine, useInfoNew, true);
useInfoNew.setUseDate(projectContraptionChangeDataDto.getUseDate());
useInfoNew.setSequenceNbr(useInfoOld.getSequenceNbr());
setNewUseAddressInfo(projectContraptionChangeDataDto, useInfoNew);
// 冗余的字典名称字段更新
......
......@@ -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.ymt.api.enums.ApplicationFormTypeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
......@@ -13,6 +14,7 @@ import java.util.Map;
@Component
public class ReformNoticeStrategyHandler implements ToBeSubmitDetailStrategy {
@Lazy
@Autowired
private JgReformNoticeServiceImpl jgReformNoticeService;
......
......@@ -86,7 +86,7 @@
"name": "注销",
"code": "BF_YZ",
"image": "upload/tzs/common/image/移装报废.png",
"tips": "特种设备仅进行移装变更时需先进行“注销”,其他变更类业务通过“新增设备登记”直接办理,不需注销!"
"tips": "电梯/起重机械/锅炉/压力容器/大型游乐设施/客运索道设备在做《跨区移装变更》业务前需先进行“注销”,其他变更类业务不需注销!"
},
{
"name": "报废",
......
......@@ -24,7 +24,7 @@ public enum CompanyAdvanceSearchEnum {
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),
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),
EQUIP_CATEGORY("设备类型", "equipCategory", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryEquipList", null, null, FieldType.Text),
PERMIT_STATUS("许可状态", "permitStatus", null, "/statistics/comprehensiveStatisticalAnalysis/select/permitStatus", null, null, FieldType.Auto),
......@@ -55,7 +55,7 @@ public enum CompanyAdvanceSearchEnum {
} else if (TechnicalParameter.ParamType.STRING.equals(item.paramType)) {
jsonObject.put("type", "input");
} else if (TechnicalParameter.ParamType.DATE.equals(item.paramType)) {
jsonObject.put("type", FieldType.Date);
jsonObject.put("type", "date");
} else {
jsonObject.put("type", "select");
}
......
......@@ -20,13 +20,13 @@ public enum ConditionEnum {
numberEq("等于", "eq", TechnicalParameter.ParamType.BIG_DECIMAL),
numberGt("大于", "gt", TechnicalParameter.ParamType.BIG_DECIMAL),
numberLt("小于", "lt", TechnicalParameter.ParamType.BIG_DECIMAL),
numberGe("大于等于", "ge", TechnicalParameter.ParamType.BIG_DECIMAL),
numberLe("小于等于", "le", TechnicalParameter.ParamType.BIG_DECIMAL),
numberGe("大于等于", "gte", TechnicalParameter.ParamType.BIG_DECIMAL),
numberLe("小于等于", "lte", TechnicalParameter.ParamType.BIG_DECIMAL),
dateEq("等于", "eq", TechnicalParameter.ParamType.DATE),
dateGt("大于", "gt", TechnicalParameter.ParamType.DATE),
dateLt("小于", "lt", TechnicalParameter.ParamType.DATE),
dateGe("大于等于", "ge", TechnicalParameter.ParamType.DATE),
dateLe("小于等于", "le", TechnicalParameter.ParamType.DATE),
dateGe("大于等于", "gte", TechnicalParameter.ParamType.DATE),
dateLe("小于等于", "lte", TechnicalParameter.ParamType.DATE),
in("包含","in", null),
notIn("不包含","notIn", 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 {
for (DataQualityScoreEnum e : DataQualityScoreEnum.values()) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("label",e.name);
jsonObject.put("value",e.name);
jsonObject.put("value",e.code);
jsonObject.put("key",e.code);
jsonArray.add(jsonObject);
}
......
......@@ -24,7 +24,7 @@ public enum EquipAdvanceSearchEnum {
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),
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),
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),
......@@ -37,13 +37,13 @@ public enum EquipAdvanceSearchEnum {
PRODUCE_UNIT_NAME("制造单位名称", "PRODUCE_UNIT_NAME", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
DESIGN_UNIT_NAME("设计单位名称", "designUnitName", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Text),
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),
SUPERVISORY_CODE("监管码", "SUPERVISORY_CODE", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
EQU_TYPE("设备型号", "EQU_TYPE", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Text),
PRODUCE_DATE("制造日期", "PRODUCE_DATE", 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),
JDJY("监督检验日期", "JDJY", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
DQJY("定期检验日期", "DQJY", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
......@@ -51,8 +51,8 @@ public enum EquipAdvanceSearchEnum {
DTJY("电梯检测日期", "DTJY", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
nextInspectDate("下次检验日期", "nextInspectDate", TechnicalParameter.ParamType.DATE, "", null, null, FieldType.Date),
// PRODUCE_DATE("是否进口", "PRODUCE_DATE", TechnicalParameter.ParamType.DATE,""),
USE_PLACE_CODE("使用地点", "USE_PLACE_CODE", TechnicalParameter.ParamType.STRING, "", null, null, FieldType.Keyword),
USE_PLACE("使用场所", "USE_PLACE", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "ADDRESS", null, FieldType.Keyword),
USE_PLACE_CODE("使用地点", "USE_PLACE", TechnicalParameter.ParamType.STRING, "", null, 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 {
/**
* 高级搜索枚举
*/
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),
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),
EXPIRY_DATE("资质状态", "expiryDate", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryExpiryDate", null, null, FieldType.Date),
CERT_TYPE("证书类型", "certType", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryCertType", 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),
PERMISSION_ITEM("项目", "permissionItem", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryZYXM?type={type}", null, "permissionLevel", FieldType.Keyword),
JOB_ITEM("作业项目", "jobItem", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryTypeZYXM?type={type}", null, "certType", 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),
EDUCATION("学历", "education", null, "/statistics/comprehensiveStatisticalAnalysis/select/queryDicData?type={type}", "QYRYXL", null, FieldType.Keyword),
ADDRESS("住址", "address", 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),
;
......
......@@ -123,6 +123,18 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
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
* @return
......@@ -145,6 +157,18 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
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
* @return
......@@ -156,6 +180,28 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
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
......@@ -439,4 +485,15 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
public ResponseModel<JSONArray> 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 {
private StCommonServiceImpl stCommonService;
private JGDPStatisticsServiceImpl jgDPStatisticsService;
private DataDictionaryMapper dataDictionaryMapper;
@Autowired
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.statisticsMapper = statisticsMapper;
this.enterpriseInfoMapper = enterpriseInfoMapper;
......@@ -115,6 +117,7 @@ public class AQZSDPStatisticsServiceImpl {
this.cylinderStatisticsMapper = cylinderStatisticsMapper;
this.stCommonService = stCommonService;
this.dataDictionaryMapper = dataDictionaryMapper;
this.jgDPStatisticsService = jgDPStatisticsService;
}
......@@ -906,7 +909,8 @@ public class AQZSDPStatisticsServiceImpl {
long hasSupervisoryCodeEquipCount = stCommonService.queryHasSupervisoryCodeEquipCount(orgCode, false);
result.put("total", hasSupervisoryCodeEquipCount);
//2.压力管道长度统计
stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false);
// stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false);
jgDPStatisticsService.staticsCenterMapCountPipLine(result, orgCode);
//3.单位数量统计
// 单位统计修改为查询es
// this.staticsCenterMapCountDataForCompany(result, orgCode, dpFilterParamDto.getCityCode());
......@@ -1019,7 +1023,8 @@ public class AQZSDPStatisticsServiceImpl {
// 1. 8大类设备数量统计,压力容器里包括气瓶所以需要特殊处理,在统计压力容器时去掉气瓶的数量
stCommonService.staticsCenterMapCountDataForEquip(result, cylinderNum, orgCode,true,true, false);
// 2. 压力管道长度统计
stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false);
// stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false);
jgDPStatisticsService.staticsCenterMapCountPipLine(result, orgCode);
//3.单位数量统计
// 单位统计修改为查询es
// this.staticsCenterMapCountDataForCompany(result, orgCode, dpFilterParamDto.getCityCode());
......
......@@ -5,10 +5,12 @@ import cn.hutool.core.bean.copier.CopyOptions;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
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.DataDictionary;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
......@@ -104,6 +106,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private final TzsCustomFilterMapper tzsCustomFilterMapper;
private final DataDictionaryServiceImpl dataDictionaryService;
private final DataDictionaryMapper dataDictionaryMapper;
private final EmqKeeper emqKeeper;
private final RestHighLevelClient restHighLevelClient;
......@@ -116,8 +119,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
// 大屏统计图片路径后缀
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> companyHandleOtherFields = Arrays.asList("itemCode", "subItemCode", "permitStatus", "equipCategory", "regulatoryLabels", "unitType");
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", "expiryDate");
private final List<String> personHandleOtherFields = Arrays.asList("newPost", "subPost", "certNo", "expiryDate", "certType", "permissionLevel", "jobItem", "permissionItem", "issueDate", "equipType");
private final String or = "or";
......@@ -217,14 +220,32 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
public JSONArray getData(String dictCode) {
JSONArray jsonArray = new JSONArray();
//根据dictCode查询数据字典
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);
if (dictCode.contains(",")) {
for (String code : dictCode.split(",")) {
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(DataDictionary::getType, code);
queryWrapper.eq(DataDictionary::getIsDelete, Boolean.FALSE);
queryWrapper.isNotNull(DataDictionary::getParent);
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;
}
......@@ -301,9 +322,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONObject filterParams = null;
String licensesStatusStr = "";
String filterType = filter.getString("filterType");
if (!ObjectUtils.isEmpty(filter.get("filterParams"))) {
filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = filter.getString("filterType");
// 组装人员过滤条件
this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType);
// 资质判断
......@@ -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);
......@@ -373,7 +401,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String expiryDate = json.getString("expiryDate");
if (!ObjectUtils.isEmpty(expiryDate)) {
long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(expiryDate, formatter));
if (daysBetween <= 0) {
if (daysBetween < 0) {
permissionStatusList.add(overdueStr);
} else if (daysBetween <= 30) {
permissionStatusList.add(nearStr);
......@@ -401,7 +429,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
licensesStatus = licensesStatusMap.get(noLicense);
}
} else {
licensesStatus = licensesStatusMap.get(noLicenseReq);
licensesStatus = !"".equals(licensesStatusStr) ? licensesStatusMap.get(licensesStatusStr) : licensesStatusMap.get(noLicenseReq);
}
}
dto.put("licensesStatus", licensesStatus);
......@@ -462,11 +490,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust.must(termsQuery);
} else if (k.equals("certNo") || k.equals("expiryDate") || k.equals("permissionLevel") || k.equals("certType") || k.equals("jobItem") || k.equals("permissionItem")) {
String path = "licenses";
EnhancedDynamicQueryBuilder licencesQueryBuilder = new EnhancedDynamicQueryBuilder();
((JSONArray) v).forEach(item -> {
String nestedField = path + "." + k;
// 根据证书编号判断有无资质
if (k.equals("certNo")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
......@@ -477,62 +504,57 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
// 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
if (item.equals("1")) {
boolMust.must(nestedQuery);
licencesQueryBuilder.add(nestedQuery, or);
} else if (item.equals("0")) {
// 无资质
BoolQueryBuilder queryBuilder = this.getNotLicencesBuilderWithPerson();
boolMust.must(queryBuilder);
boolMust.mustNot(nestedQuery);
DynamicQueryBuilder queryBuilder = new DynamicQueryBuilder();
queryBuilder.and(this.getNotLicencesBuilderWithPerson());
queryBuilder.and(QueryBuilders.boolQuery().mustNot(nestedQuery));
licencesQueryBuilder.add(queryBuilder.build(), or);
} else {
// 无资质要求
BoolQueryBuilder queryBuilder = this.getNotNeedLicencesBuilderWithPerson();
boolMust.must(queryBuilder);
licencesQueryBuilder.add(this.getNotNeedLicencesBuilderWithPerson(), or);
}
} else if (k.equals("expiryDate")) {
// 不需要资质的人员查询构造条件
BoolQueryBuilder notNeedLicensesQueryBuilder = this.getNotLicencesBuilderWithPerson();
boolMust.must(notNeedLicensesQueryBuilder);
EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
if (item.equals(overdue)) {
// 超期:小于当前日期
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().must(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))),
QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter)),
ScoreMode.None
);
enhancedDynamicQueryBuilder.add(nestedQuery, or);
boolMust.must(enhancedDynamicQueryBuilder.build());
boolMust.must(nestedQuery);
} else if (item.equals(near)) {
// 临期:小于等于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
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
);
enhancedDynamicQueryBuilder.add(nestedQuery, or);
boolMust.must(enhancedDynamicQueryBuilder.build());
boolMust.must(nestedQuery);
} else if (item.equals(normal)) {
// 正常:大于当前日期加上30天
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
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
);
enhancedDynamicQueryBuilder.add(nestedQuery, or);
boolMust.must(enhancedDynamicQueryBuilder.build());
boolMust.must(nestedQuery);
} else if (item.equals(none)) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().mustNot(existsQuery(nestedField)),
ScoreMode.None
);
enhancedDynamicQueryBuilder.add(nestedQuery, or);
boolMust.must(enhancedDynamicQueryBuilder.build());
boolMust.must(nestedQuery);
}
} else if (k.equals("certType") || k.equals("permissionLevel")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().must(QueryBuilders.termsQuery(nestedField, (JSONArray) v)),
QueryBuilders.termsQuery(nestedField, (JSONArray) v),
ScoreMode.None
);
boolMust.must(nestedQuery);
......@@ -542,9 +564,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders.boolQuery().must(QueryBuilders.wildcardQuery(nestedField, "*" + item + "*")),
ScoreMode.None
);
boolMust.should(nestedQuery);
boolMust.must(nestedQuery);
}
});
boolMust.must(licencesQueryBuilder.build());
} else if (k.equals("issueDate")) {
JSONArray issueDates = (JSONArray) v;
String startDate = DateUtils.convertDateToString(issueDates.getDate(0), DateUtils.DATE_PATTERN);
......@@ -623,8 +646,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode));
JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = filter.getString("filterType");
if (!ObjectUtils.isEmpty(filter.get("filterParams"))) {
String filterType = filter.getString("filterType");
getCompanyBoolQueryBuilder(filterParams, filterType, boolMust);
}
......@@ -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"))) {
JSONObject sort = JSONObject.parseObject(JSONObject.toJSONString(filter.get("sort")));
......@@ -701,6 +731,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} else if (zc > 0) {
permissionStatus = normalStr;
}
} else {
permissionStatus = noneStr;
}
}
} else if (!dto.containsKey("licenses") && (dto.get("unitType").toString().contains("检测单位") ||
......@@ -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) {
if (filterParams.containsKey("unitType") && !filterParams.getString("unitType").contains("all") && !filterParams.getString("unitType").contains("[]")) {
filterParams.remove("unitCategory");
......@@ -918,6 +974,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
field = "ORG_BRANCH_CODE";
} else if (field.equals("USE_UNIT_NAME")) {
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);
}
......@@ -949,7 +1007,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String nextInspectDate = dto.getString("NEXT_INSPECT_DATE");
if (!ObjectUtils.isEmpty(nextInspectDate) && !"".equals(nextInspectDate)) {
long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(nextInspectDate, formatter));
if (daysBetween <= 0) {
if (daysBetween < 0) {
inspectStatus = inspectionStatusMap.get(overdue);
} else if (daysBetween <= 30) {
inspectStatus = inspectionStatusMap.get(near);
......@@ -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);
list.add(dto);
}
......@@ -1020,6 +1094,17 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
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) {
if (orgCode.equals("50")) {
DynamicQueryBuilder dynamicQueryBuilder = new DynamicQueryBuilder();
......@@ -1401,7 +1486,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
case "gt":
NestedQueryBuilder gtQuery = QueryBuilders.nestedQuery(
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
);
if (isCustom) {
......@@ -1460,17 +1545,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
break;
case "in":
JSONArray inValues = new JSONArray();
if (value instanceof JSONArray) {
inValues = (JSONArray) value;
}
if (value instanceof List) {
// value转化为jsONArray
inValues.addAll((List) value);
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery().must(termsQueryBuilder);
if (value instanceof String) {
boolQuery.must(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);
}
boolQuery.must(QueryBuilders.termsQuery(path + tail, inValues));
}
NestedQueryBuilder inQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, inValues)),
boolQuery,
ScoreMode.None
);
if (isCustom) {
......@@ -1480,16 +1571,29 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
break;
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(
path,
QueryBuilders.boolQuery().must(termsQueryBuilder).must(QueryBuilders.termsQuery(path + tail, notInValues)),
notInBoolQuery,
ScoreMode.None
);
if (isCustom) {
builder.add(QueryBuilders.boolQuery().mustNot(notInQuery), andOr);
} else {
boolMust.mustNot(notInQuery);
boolMust.must(notInQuery);
}
break;
}
......@@ -1552,8 +1656,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private void addTechParam(JSONObject techParam, JSONObject paramRange, EnhancedDynamicQueryBuilder builder) {
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(techParam));
String field = jsonObject.getString("value");
String fieldType = jsonObject.getString("fieldType");
JSONObject js = (JSONObject) jsonObject.get("value");
String field = js.getString("value");
String fieldType = js.getString("fieldType");
String itemCondition = paramRange.getString("itemCondition");
Object value = paramRange.get("value");
String andOr = paramRange.getString("andOr");
......@@ -1593,11 +1698,11 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
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)) {
handleOtherField(field, itemCondition, value, isOr, builder);
handleOtherField(field, itemCondition, value, isOr, builder, type);
} 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;
if (itemCondition.contains("like")) {
if (!itemCondition.contains("gt") && !itemCondition.contains("lt") && !itemCondition.equals("between")) {
FieldType esType;
if (StatisticalAnalysisEnum.equip.getCode().equals(type)) {
esType = EquipAdvanceSearchEnum.getEsType.get(field);
......@@ -1648,12 +1753,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
// 特殊处理字段
private void handleOtherField(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder) {
if (equipHandleOtherFields.contains(field)) {
private void handleOtherField(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder, String type) {
if (equipHandleOtherFields.contains(field) && StatisticalAnalysisEnum.equip.getCode().equals(type)) {
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);
} else if (personHandleOtherFields.contains(field)) {
} else if ((personHandleOtherFields.contains(field) && StatisticalAnalysisEnum.person.getCode().equals(type))) {
personFieldHandle(field, itemCondition, value, isOr, builder);
}
}
......@@ -1711,66 +1816,109 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
}
} 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 (itemCondition.equals("eq") || itemCondition.equals("in")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))),
ScoreMode.None
);
builder.add(nestedQuery, isOr);
builder.add(QueryBuilders.boolQuery().must(overdueNestedQuery), isOr);
} else {
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gte(LocalDate.now().format(formatter))),
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)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
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);
builder.add(QueryBuilders.boolQuery().must(nearNestedQuery), isOr);
} else {
NestedQueryBuilder overdueNestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lt(LocalDate.now().format(formatter))),
ScoreMode.None
);
NestedQueryBuilder normalNestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.None
);
builder.add(overdueNestedQuery, or);
builder.add(normalNestedQuery, or);
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
builders.add(QueryBuilders.boolQuery().must(overdueNestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(normalNestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(nearNestedQuery), and);
builder.add(builders.build(), isOr);
}
} else if (value.equals(normal)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).gt(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.None
);
builder.add(nestedQuery, isOr);
builder.add(normalNestedQuery, isOr);
} else {
NestedQueryBuilder elseNestedQuery = QueryBuilders.nestedQuery(
EnhancedDynamicQueryBuilder builders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(nestedField).lte(LocalDate.now().plusDays(30).format(formatter))),
ScoreMode.None
);
NestedQueryBuilder noLicensesNestedQuery = QueryBuilders.nestedQuery(
path,
existsQuery(nestedField),
ScoreMode.None
);
builder.add(elseNestedQuery, or);
builders.add(QueryBuilders.boolQuery().must(nestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(normalNestedQuery), and);
builder.add(builders.build(), isOr);
}
} 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 {
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
path,
......@@ -1833,9 +1981,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
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 nestedField = path + "." + (field.equals("permitStatus") ? "expiryDate" : field + ".keyword");
String nestedField = path + "." + (field.equals("permitStatus") || field.equals("expiryDate") ? "expiryDate" : field + ".keyword");
if (field.equals("permitStatus")) {
// 无许可到期日期
NestedQueryBuilder noneQuery = QueryBuilders.nestedQuery(
......@@ -1843,10 +1991,10 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
QueryBuilders.boolQuery().mustNot(existsQuery(nestedField)),
ScoreMode.None
);
// 有许可到期日期
// 有许可到期日期
NestedQueryBuilder existsQuery = QueryBuilders.nestedQuery(
path,
QueryBuilders.boolQuery().must(existsQuery(nestedField)),
existsQuery(nestedField),
ScoreMode.None
);
// 正常许可到期日期
......@@ -1879,6 +2027,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
);
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)) {
......@@ -1889,6 +2038,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
builders.add(QueryBuilders.boolQuery().must(overdueNestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(normalNestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(nearNestedQuery), and);
builder.add(builders.build(), isOr);
}
} else if (value.equals(normal)) {
......@@ -1903,15 +2053,41 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
);
builders.add(QueryBuilders.boolQuery().must(nestedQuery), or);
builders.add(QueryBuilders.boolQuery().must(noneQuery), or);
builders.add(QueryBuilders.boolQuery().mustNot(normalNestedQuery), and);
builder.add(builders.build(), isOr);
}
} else if (value.equals(none)) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(QueryBuilders.boolQuery().must(existsQuery), or);
builder.add(noneQuery, and);
} 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 {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
// 创建嵌套查询
......@@ -1943,27 +2119,39 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private void equipFieldHandle(String field, String itemCondition, Object value, String isOr, EnhancedDynamicQueryBuilder builder) {
if (field.equals("NEXT_INSPECT_DATE")) {
if (value.equals(overdue)) {
// 超期:小于当前日期
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).lt(LocalDate.now().format(formatter))), isOr);
} else {
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gt(LocalDate.now().format(formatter))), isOr);
}
} else if (value.equals(near)) {
// 临期:小于等于当前日期加上30天
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gte(LocalDate.now().format(formatter)).lte(LocalDate.now().plusDays(30).format(formatter))), isOr);
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)));
BoolQueryBuilder normalQuery = QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gt(LocalDate.now().plusDays(30).format(formatter)));
BoolQueryBuilder noneQuery = QueryBuilders.boolQuery().mustNot(existsQuery(field));
DynamicQueryBuilder builders = new DynamicQueryBuilder();
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
if (value.equals(overdue)) {
builder.add(overdueQuery, isOr);
} else if (value.equals(near)) {
builder.add(nearQuery, isOr);
} else if (value.equals(normal)) {
builder.add(normalQuery, isOr);
} else {
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).lt(LocalDate.now().format(formatter))), or);
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gt(LocalDate.now().plusDays(30).format(formatter))), or);
builder.add(noneQuery, isOr);
}
} else {
// 正常:大于当前日期加上30天
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
builder.add(QueryBuilders.boolQuery().filter(QueryBuilders.rangeQuery(field).gt(LocalDate.now().plusDays(30).format(formatter))), isOr);
if (value.equals(overdue)) {
builders.or(nearQuery);
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 {
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")) {
......@@ -2008,12 +2196,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} else {
queryBuilder.must(QueryBuilders.termsQuery(typeField, field));
}
EnhancedDynamicQueryBuilder queryBuilders = new EnhancedDynamicQueryBuilder();
NestedQueryBuilder fieldQuery = QueryBuilders.nestedQuery(
path,
queryBuilder,
ScoreMode.None
);
builder.add(fieldQuery, and);
queryBuilders.add(fieldQuery, and);
BoolQueryBuilder query = QueryBuilders.boolQuery();
switch (itemCondition) {
case "lt":
......@@ -2034,7 +2223,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
query,
ScoreMode.None
);
builder.add(dateQuery, isOr);
queryBuilders.add(dateQuery, and);
builder.add(queryBuilders.build(), isOr);
} else if (field.equals("QZ_OR_TANK")) {
if (!"".equals(value) && value != null) {
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
......@@ -2045,10 +2235,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
} else if (field.equals("registerStatus")) {
BoolQueryBuilder registerQuery = QueryBuilders.boolQuery().must(QueryBuilders.termsQuery("IS_INTO_MANAGEMENT", Boolean.TRUE))
.must(existsQuery("USE_ORG_CODE"));
BoolQueryBuilder noRegisterQuery = QueryBuilders.boolQuery().should(QueryBuilders.boolQuery().mustNot(existsQuery("IS_INTO_MANAGEMENT")))
.should(QueryBuilders.matchQuery("IS_INTO_MANAGEMENT", Boolean.FALSE))
.must(existsQuery("USE_ORG_CODE"))
.mustNot(QueryBuilders.termQuery("USE_ORG_CODE", ""));
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.termQuery("USE_ORG_CODE", ""))
.minimumShouldMatch(1);
if (itemCondition.equals("eq") || itemCondition.equals("in")) {
if (value.equals("1")) {
......@@ -2063,6 +2256,23 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
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 {
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) {
JSONArray result = new JSONArray();
......@@ -2347,6 +2573,21 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
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 {
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) {
SearchRequest searchRequest = new SearchRequest("idx_biz_enterprise_info");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
......@@ -2651,7 +2929,22 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
object.put("key", paramMetaList.get(i).getParamKey());
object.put("value", paramMetaList.get(i).getParamKey());
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);
}
return list;
......@@ -2742,6 +3035,34 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
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() {
//是否车用气瓶
JSONArray vehicleCylinder = new JSONArray();
......
......@@ -24,6 +24,7 @@ import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.client.RestTemplate;
import org.typroject.tyboot.core.foundation.context.RequestContext;
......@@ -723,11 +724,13 @@ public class DPSubServiceImpl {
SimpleDateFormat sdf = new SimpleDateFormat(f);
Date date = null;
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) {
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"))) {
......
......@@ -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();
SearchSourceBuilder builder = new SearchSourceBuilder();
request.indices(StatisticalAnalysisEnum.equip.getKey());
......@@ -1804,7 +1804,8 @@ public class JGDPStatisticsServiceImpl {
long hasSupervisoryCodeEquipCount = stCommonService.queryHasSupervisoryCodeEquipCount(orgCode, false);
result.put("total", hasSupervisoryCodeEquipCount);
// 2.压力管道长度统计
stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode, true, false);
// stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode, true, false);
this.staticsCenterMapCountPipLine(result, orgCode);
// 3.已纳管设备总数
this.staticsCenterMapCountDataForEquipIsManage(result);
// 4.登记证总数
......
......@@ -107,13 +107,15 @@ public class JYJCDPStatisticsServiceImpl {
private SafetyProblemTracingMapper safetyProblemTracingMapper;
private JGDPStatisticsServiceImpl jgDPStatisticsService;
/**
* 法定检验机构名单
*/
@Value("${jyjc.legal.companyCode:12610100750228848W,12610300MB2943942F,12610400435630992M,12610200435252143F,126105007326878566,12610600MB29845683,126108004366752362,12610700MB296441XY,12610900353680128G,126110004363154256,126100004352004822}")
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.inspectionApplicationMapper = inspectionApplicationMapper;
this.tzsUserInfoMapper = tzsUserInfoMapper;
......@@ -123,6 +125,7 @@ public class JYJCDPStatisticsServiceImpl {
this.stCommonService = stCommonService;
this.jyjcStatisticsMapper = jyjcStatisticsMapper;
this.safetyProblemTracingMapper = safetyProblemTracingMapper;
this.jgDPStatisticsService = jgDPStatisticsService;
}
......@@ -544,7 +547,8 @@ public class JYJCDPStatisticsServiceImpl {
long hasSupervisoryCodeEquipCount = stCommonService.queryHasSupervisoryCodeEquipCount(orgCode, false);
result.put("total", hasSupervisoryCodeEquipCount);
// 3.压力管道统计
stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false);
// stCommonService.staticsCenterMapCountDataForPipeline(result, orgCode,true, false);
jgDPStatisticsService.staticsCenterMapCountPipLine(result, orgCode);
// 4.报检数量统计
this.staticsCenterMapCountDataReporting(result, dpFilterParamDto);
// 5.检验检测临期设备数数量统计
......
......@@ -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_SUPERVISORY = "sequence_lock_supervisory";
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 StringRedisTemplate stringRedisTemplate;
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