Commit fb650b13 authored by lisong's avatar lisong

一码通通用详情接口重构

parent 6ffa2994
......@@ -102,6 +102,7 @@ public class ControllerAop {
urls.add("^/tcm/flc-unit-info/verifyTelCode/[A-Za-z0-9]+/[A-Za-z0-9]+");
urls.add("^/tcm/flc-unit-info/hasExistUser/[A-Za-z0-9_-]+");
urls.add("/tcm/reg-unit-info/save");
urls.add("/ymt/equipment-category/getFormRecordById");
// 获取请求路径
for (String uri : urls) {
Pattern p = Pattern.compile(uri);
......
package com.yeejoin.amos.boot.module.ymt.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum EquipmentTypeEnum {
/**
* 设备类型对应表单key
*/
DT("电梯", "3000", "1627903393253056514", "1627897116087050241", "1627903532906602497", "1636347672031948801", "1636347684057018369", "1636282043618848769", "1637431088563384322", "idx_biz_jg_tech_params_elevator"),
QZJ("起重机械", "4000", "1627903393253056514", "1627897116087050241", "1627903532906602497", "1636347672031948801", "", "1636282043618848769", "1635115308320583681", "idx_biz_jg_tech_params_lifting"),
CS("厂车", "5000", "1627903393253056514", "1627897116087050241", "1627903532906602497", "1636347672031948801", "", "1636282043618848769", "1631125079347720193", "idx_biz_jg_tech_params_vehicle"),
GL("锅炉", "1000", "1627903393253056514", "1627897116087050241", "1627903532906602497", "1636347672031948801", "", "1636282043618848769", "1631125178945662977", "idx_biz_jg_tech_params_boiler"),
YL_GD("压力管道", "8000", "1627903393253056514", "1627897116087050241", "1627903532906602497", "1636347672031948801", "", "1636282043618848769", "1631125206695178241", "idx_biz_jg_tech_params_pipeline"),
YL_RQ("压力容器", "2000", "1627903393253056514", "1627897116087050241", "1627903532906602497", "1636347672031948801", "", "1636282043618848769", "1631125198260432897", "idx_biz_jg_tech_params_vessel"),
YL_SS("游乐设施", "6000", "1627903393253056514", "1627897116087050241", "1627903532906602497", "1636347672031948801", "", "1636282043618848769", "1631125167914643457", "idx_biz_jg_tech_params_rides"),
SD("索道", "9000", "1627903393253056514", "1627897116087050241", "1627903532906602497", "1636347672031948801", "", "1636282043618848769", "1631125158229995521", "idx_biz_jg_tech_params_ropeway");
/**
* 名称
*/
private final String name;
/**
* 类型编码
*/
private final String code;
/**
* 使用信息
*/
private final String useInfo;
/**
* 设计信息
*/
private final String desInfo;
/**
* 监督管理信息
*/
private final String supInfo;
/**
* 施工信息
*/
private final String comInfo;
/**
* 维保信息
*/
private final String mainInfo;
/**
* 检验检测信息
*/
private final String insInfo;
/**
* 注册信息
*/
private final String jriInfo;
/**
* 注册信息参数对应表
*/
private final String tableName;
public static EquipmentTypeEnum getEnumByCode(String code) {
for (EquipmentTypeEnum value : EquipmentTypeEnum.values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
}
......@@ -54,5 +54,23 @@ public interface EquipmentCategoryMapper extends BaseMapper<EquipmentCategory> {
Page<EquipExportVo> exportImageZip (@Param("page")Page<EquipExportVo> page, @Param("dto") EquipExportDto dto);
void updateIsNotEs(String supervisoryCode);
Map<String, Object> selectTzsUseInfo(@Param("record")String record);
Map<String, Object> selectTzsDesInfo(@Param("record")String record);
Map<String, Object> selectTzsqzjJriInfo(@Param("record")String record, @Param("tableName")String tableName);
List<Map<String, Object>> selectTzslbjJriInfo(@Param("record")String record);
List<Map<String, Object>> selectTzsaqfjJriInfo(@Param("record")String record);
Map<String, Object> selectTzsSupInfo(@Param("record")String record);
List<Map<String, Object>> selectTzsMainInfo(@Param("record")String record);
List<Map<String, Object>> selectTzsConInfo(@Param("record")String record);
List<Map<String, Object>> selectTzsInsInfo(@Param("record")String record);
}
......@@ -424,4 +424,146 @@
WHERE
RECORD = ( SELECT ibjoi."RECORD" FROM idx_biz_jg_other_info ibjoi WHERE ibjoi."SUPERVISORY_CODE" = #{supervisoryCode} )
</update>
<select id="selectTzsUseInfo" resultType="java.util.Map">
select ADDRESS,
AGENT,
CHANGES,
CITY,
CITY_NAME,
COUNTY,
COUNTY_NAME,
EQU_STATE,
ESTATE_UNIT_CREDIT_CODE,
ESTATE_UNIT_NAME,
FACTORY_USE_SITE_STREET,
LONGITUDE_LATITUDE,
-- ifnull(LONGITUDE_LATITUDE :: json->> 'latitude', null) AS latitude,
-- ifnull(LONGITUDE_LATITUDE :: json->> 'longitude', null) AS longitude,
PHONE,
PROVINCE,
PROVINCE_NAME,
SAFETY_MANAGER,
SAFETY_MANAGE_DT,
USE_DATE,
USE_INNER_CODE,
USE_PLACE,
USE_STATE_CHANGE_DATE,
USE_UNIT_CREDIT_CODE,
USE_UNIT_NAME,
RECORD as id,
RECORD as sequenceNbr
from idx_biz_jg_use_info
where RECORD = #{record}
</select>
<select id="selectTzsDesInfo" resultType="java.util.Map">
SELECT jdi.APPRAISAL_DATE,
jdi.APPRAISAL_UNIT,
jdi.DESIGN_DATE,
jdi.DESIGN_DOC,
jdi.DESIGN_LICENSE_NUM,
jdi.DESIGN_STANDARD,
jdi.DESIGN_UNIT_CREDIT_CODE,
jdi.DESIGN_UNIT_NAME,
jdi.DESIGN_USE_DATE,
jdi.DRAWING_DO,
jdi.RECORD as sequenceNbr,
jdi.RECORD as id,
jfi.FACTORY_NUM,
jfi.FACTORY_STANDARD,
jfi.IMPORTED,
jfi.INS_USE_MAINTAIN_EXPLAIN,
jfi.PRODUCE_COUNTRY,
jfi.PRODUCE_DATE,
jfi.PRODUCE_LICENSE_NUM,
jfi.PRODUCE_UNIT_CREDIT_CODE,
jfi.PRODUCE_UNIT_NAME,
jfi.PRODUCT_QUALITY_YIELD_PROVE,
jfi.SUPERVISION_AGENCY_CREDENTIAL,
jfi.TYPE_TEST_CREDENTIAL
from idx_biz_jg_design_info jdi
LEFT JOIN idx_biz_jg_factory_info jfi on jdi."RECORD" = jfi."RECORD"
WHERE jfi.RECORD = #{record}
</select>
<select id="selectTzsConInfo" resultType="java.util.Map">
select *
from idx_biz_jg_construction_info
WHERE RECORD = #{record}
</select>
<select id="selectTzsMainInfo" resultType="java.util.Map">
select *
from idx_biz_jg_maintenance_record_info
WHERE RECORD = #{record}
</select>
<select id="selectTzsInsInfo" resultType="java.util.Map">
select *
from idx_biz_jg_inspection_detection_info
WHERE RECORD = #{record}
</select>
<select id="selectTzsSupInfo" resultType="java.util.Map">
SELECT joi.ALIAS,
joi.CLAIM_STATUS,
joi.CODE96333,
jsi.DENSELY_POPULATED_AREAS,
joi.EXPIRY_DATE,
jsi.IMPORTANT_PLACES,
joi.INSURANCE_ORG,
joi.IOT_ORG,
joi.IOT_SIGN,
joi.IS_MONITOR,
jsi.ORG_BRANCH_CODE,
jsi.ORG_BRANCH_NAME,
joi.SUPERVISORY_CODE,
jsi.RECORD as id,
jsi.SEQUENCE_NBR as sequenceNbr
from idx_biz_jg_supervision_info jsi
LEFT JOIN idx_biz_jg_other_info joi on jsi."RECORD" = joi."RECORD"
WHERE jsi.RECORD = #{record}
</select>
<select id="selectTzsqzjJriInfo" resultType="java.util.Map">
select jri.REC_DATE,
jri.REC_USER_ID,
jri.INSTANCE_ID,
jri.STATUS,
jri.ORGANIZATION_CODE,
jri.ORGANIZATION_NAME,
jri.USE_ORG_CODE,
jri.REGISTER_STATE,
jri.EQU_CODE,
jri.EQU_LIST,
jri.EQU_CATEGORY,
jri.EQU_DEFINE,
jri.PRODUCT_NAME,
jri.BRAND_NAME,
jri.EQU_TYPE,
jri.EQU_PRICE,
jri.USE_REGISTRATION_CERTIFICATE,
jri.USE_SIGN,
jri.PRODUCT_PHOTO,
jri.CAR_NUMBER,
jri.FRAME_NUMBER,
jri.ENGINE_NUMBER,
jri.MOTOR_NUMBER,
jri.RECORD as id,
jri.RECORD as sequenceNbr,
t.*
from idx_biz_jg_register_info jri
LEFT JOIN ${tableName} t on jri.RECORD = t.RECORD
where jri.RECORD = #{record}
</select>
<select id="selectTzslbjJriInfo" resultType="java.util.Map">
select *
from idx_biz_jg_main_parts
where RECORD = #{record}
</select>
<select id="selectTzsaqfjJriInfo" resultType="java.util.Map">
select *
from idx_biz_jg_main_parts
where RECORD = #{record}
</select>
</mapper>
package com.yeejoin.amos.boot.module.ymt.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -15,6 +16,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.boot.module.ymt.api.service.IEquipmentCategoryService;
import com.yeejoin.amos.boot.module.ymt.api.vo.EquipExportVo;
......@@ -41,7 +43,6 @@ import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
import org.springframework.http.HttpStatus;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.scheduling.annotation.Async;
......@@ -633,17 +634,223 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
@Override
public Map<String, Map<String, Object>> getFormRecordById(Map<String, Object> map) {
ResponseModel<Map<String, Map<String, Object>>> responseModel = idxFeignService.getFormRecordById(map);
Map<String, Map<String, Object>> result = responseModel.getResult();
// ResponseModel<Map<String, Map<String, Object>>> responseModel = idxFeignService.getFormRecordById(map);
// Map<String, Map<String, Object>> result = responseModel.getResult();
String alias = String.valueOf(map.get("alias"));
if (ObjectUtils.isEmpty(alias)) {
return null;
}
EquipmentTypeEnum equipmentMessage = EquipmentTypeEnum.getEnumByCode(alias);
HashMap<String, Map<String, Object>> result = new HashMap<>();
// 使用信息
Map<String, Object> useInfo = getUseInfo(map);
result.put(equipmentMessage.getUseInfo(), useInfo);
// 设计信息
Map<String, Object> desInfo = getDesInfo(map);
result.put(equipmentMessage.getDesInfo(), desInfo);
// 监督管理信息
Map<String, Object> supInfo = getSupInfo(map);
result.put(equipmentMessage.getSupInfo(), supInfo);
// 施工信息
Map<String, Object> comInfo = getComInfo(map);
result.put(equipmentMessage.getComInfo(), comInfo);
// 维保信息(只有电梯有)
if (!ObjectUtils.isEmpty(map) && EquipmentTypeEnum.DT.getCode().equals(alias)) {
Map<String, Object> mainInfo = getMainInfo(map);
result.put(equipmentMessage.getMainInfo(), mainInfo);
}
// 检验检测信息
Map<String, Object> insInfo = getInsInfo(map);
result.put(equipmentMessage.getInsInfo(), insInfo);
// 注册信息
Map<String, Object> jriInfo = getJriInfo(map, equipmentMessage);
result.put(equipmentMessage.getJriInfo(), jriInfo);
if (!ObjectUtils.isEmpty(map.get(COPY_KEY))) {
result.get(supervision_form_id).remove("CLAIM_STATUS");
result.get(supervision_form_id).remove("CODE96333");
result.get(supervision_form_id).remove("SUPERVISORY_CODE");
result.get(EquipmentTypeEnum.DT.getSupInfo()).remove("CLAIM_STATUS");
result.get(EquipmentTypeEnum.DT.getSupInfo()).remove("CODE96333");
result.get(EquipmentTypeEnum.DT.getSupInfo()).remove("SUPERVISORY_CODE");
}
return result;
}
/**
* 使用信息
*
* @param map
* @return
*/
private Map<String, Object> getUseInfo(Map<String, Object> map) {
Map<String, Object> useInfo = equipmentCategoryMapper.selectTzsUseInfo(String.valueOf(map.get("id")));
useInfo.put("LONGITUDE_LATITUDE", JSON.parse(String.valueOf(useInfo.get("LONGITUDE_LATITUDE"))));
return useInfo;
}
/**
* 监督管理信息
*
* @param map
* @return
*/
private Map<String, Object> getSupInfo(Map<String, Object> map) {
Map<String, Object> supInfo = equipmentCategoryMapper.selectTzsSupInfo(String.valueOf(map.get("id")));
return supInfo;
}
/**
* 注册信息
*
* @param map
* @return
*/
private Map<String, Object> getJriInfo(Map<String, Object> map, EquipmentTypeEnum equipmentMessage) {
Map<String, Object> result;
switch (equipmentMessage.getCode()) {
case "3000":
// 电梯
result = equipmentCategoryMapper.selectTzsqzjJriInfo(String.valueOf(map.get("id")), equipmentMessage.getTableName());
result.put("EXPLOSIONPROOF_SIGN_COMPLETE", JSON.parseArray(String.valueOf(result.get("EXPLOSIONPROOF_SIGN_COMPLETE"))));
break;
case "4000":
// 起重机械
result = equipmentCategoryMapper.selectTzsqzjJriInfo(String.valueOf(map.get("id")), equipmentMessage.getTableName());
List<Map<String, Object>> lbjJriInfo = equipmentCategoryMapper.selectTzslbjJriInfo(String.valueOf(map.get("id")));
List<Map<String, Object>> aqfjJriInfo = equipmentCategoryMapper.selectTzsaqfjJriInfo(String.valueOf(map.get("id")));
result.put("subForm_bqirdyvztt", lbjJriInfo);
result.put("subForm_29yy3pdzhl", aqfjJriInfo);
result.put("subForm_h5h4x0zhur", aqfjJriInfo);
break;
case "5000":
// 厂车
result = equipmentCategoryMapper.selectTzsqzjJriInfo(String.valueOf(map.get("id")), equipmentMessage.getTableName());
List<Map<String, Object>> celbjJriInfo = equipmentCategoryMapper.selectTzslbjJriInfo(String.valueOf(map.get("id")));
result.put("subForm_sey164b51a", celbjJriInfo);
result.put("subForm_tef7yf5fbr", celbjJriInfo);
break;
case "1000":
// 锅炉
result = equipmentCategoryMapper.selectTzsqzjJriInfo(String.valueOf(map.get("id")), equipmentMessage.getTableName());
List<Map<String, Object>> glaqfjJriInfo = equipmentCategoryMapper.selectTzsaqfjJriInfo(String.valueOf(map.get("id")));
result.put("subForm_1hh88r4m69", glaqfjJriInfo);
break;
case "2000":
// 压力容器
result = equipmentCategoryMapper.selectTzsqzjJriInfo(String.valueOf(map.get("id")), equipmentMessage.getTableName());
List<Map<String, Object>> ylrqaqfjJriInfo = equipmentCategoryMapper.selectTzsaqfjJriInfo(String.valueOf(map.get("id")));
List<Map<String, Object>> ylrqjJriInfo = equipmentCategoryMapper.selectTzslbjJriInfo(String.valueOf(map.get("id")));
result.put("subForm_fie04854f2", ylrqjJriInfo);
result.put("subForm_d4xdzhsgdj", ylrqaqfjJriInfo);
break;
case "8000":
// 压力容器
result = equipmentCategoryMapper.selectTzsqzjJriInfo(String.valueOf(map.get("id")), equipmentMessage.getTableName());
List<Map<String, Object>> ylgdjJriInfo = equipmentCategoryMapper.selectTzslbjJriInfo(String.valueOf(map.get("id")));
result.put("subForm_9n7nu55z8r", ylgdjJriInfo);
break;
case "6000":
// 游乐设施
result = equipmentCategoryMapper.selectTzsqzjJriInfo(String.valueOf(map.get("id")), equipmentMessage.getTableName());
break;
case "9000":
// 游乐设施
result = equipmentCategoryMapper.selectTzsqzjJriInfo(String.valueOf(map.get("id")), equipmentMessage.getTableName());
List<Map<String, Object>> sdJriLbjInfo = equipmentCategoryMapper.selectTzslbjJriInfo(String.valueOf(map.get("id")));
result.put("subForm_5fi0jewuyh", sdJriLbjInfo);
break;
default:
result = new HashMap<>();
}
result.put("PRODUCT_PHOTO", JSON.parseArray(String.valueOf(result.get("PRODUCT_PHOTO"))));
result.put("USE_REGISTRATION_CERTIFICATE", JSON.parseArray(String.valueOf(result.get("USE_REGISTRATION_CERTIFICATE"))));
result.put("USE_SIGN", JSON.parseArray(String.valueOf(result.get("USE_SIGN"))));
return result;
}
/**
* 检验检测信息
*
* @param map
* @return
*/
private Map<String, Object> getInsInfo(Map<String, Object> map) {
List<Map<String, Object>> InsInfo = equipmentCategoryMapper.selectTzsInsInfo(String.valueOf(map.get("id")));
HashMap<String, Object> insInfoMap = new HashMap<>();
InsInfo.forEach(item -> {
item.put("INSPECT_REPORT", JSON.parseArray(String.valueOf(item.get("INSPECT_REPORT"))));
if (!insInfoMap.containsKey("id")) {
insInfoMap.put("id", item.get("RECORD"));
}
if (!insInfoMap.containsKey("sequenceNbr")) {
insInfoMap.put("sequenceNbr", item.get("RECORD"));
}
item.put("Symbol_key", item.get("SEQUENCE_NBR"));
});
insInfoMap.put("subForm_pbim1pfid8", InsInfo);
return insInfoMap;
}
/**
* 维保信息
*
* @param map
* @return
*/
private Map<String, Object> getMainInfo(Map<String, Object> map) {
List<Map<String, Object>> mainInfo = equipmentCategoryMapper.selectTzsMainInfo(String.valueOf(map.get("id")));
HashMap<String, Object> mainInfoMap = new HashMap<>();
mainInfo.forEach(item -> {
item.put("REPAIR_INFORM", JSON.parseArray(String.valueOf(item.get("REPAIR_INFORM"))));
if (!mainInfoMap.containsKey("id")) {
mainInfoMap.put("id", item.get("RECORD"));
}
if (!mainInfoMap.containsKey("sequenceNbr")) {
mainInfoMap.put("sequenceNbr", item.get("RECORD"));
}
item.put("Symbol_key", item.get("SEQUENCE_NBR"));
});
mainInfoMap.put("subForm_6i16fox27e", mainInfo);
return mainInfoMap;
}
/**
* 施工信息
*
* @param map
* @return
*/
private Map<String, Object> getComInfo(Map<String, Object> map) {
List<Map<String, Object>> comList = equipmentCategoryMapper.selectTzsConInfo(String.valueOf(map.get("id")));
HashMap<String, Object> comMap = new HashMap<>();
comList.forEach(item -> {
if (!comMap.containsKey("id")) {
comMap.put("id", item.get("RECORD"));
}
if (!comMap.containsKey("sequenceNbr")) {
comMap.put("sequenceNbr", item.get("RECORD"));
}
item.put("Symbol_key", item.get("SEQUENCE_NBR"));
});
comMap.put("subForm_b2x2wmcy2s", comList);
return comMap;
}
/**
* 设计信息
*
* @param map
* @return
*/
private Map<String, Object> getDesInfo(Map<String, Object> map) {
Map<String, Object> desInfo = equipmentCategoryMapper.selectTzsDesInfo(String.valueOf(map.get("id")));
desInfo.put("DESIGN_DOC", JSON.parseArray(String.valueOf(desInfo.get("DESIGN_DOC"))));
desInfo.put("SUPERVISION_AGENCY_CREDENTIAL", JSON.parseArray(String.valueOf(desInfo.get("SUPERVISION_AGENCY_CREDENTIAL"))));
desInfo.put("INS_USE_MAINTAIN_EXPLAIN", JSON.parseArray(String.valueOf(desInfo.get("INS_USE_MAINTAIN_EXPLAIN"))));
desInfo.put("TYPE_TEST_CREDENTIAL", JSON.parseArray(String.valueOf(desInfo.get("TYPE_TEST_CREDENTIAL"))));
desInfo.put("FACTORY_STANDARD", JSON.parseArray(String.valueOf(desInfo.get("FACTORY_STANDARD"))));
desInfo.put("DESIGN_STANDARD", JSON.parseArray(String.valueOf(desInfo.get("DESIGN_STANDARD"))));
desInfo.put("PRODUCT_QUALITY_YIELD_PROVE", JSON.parseArray(String.valueOf(desInfo.get("PRODUCT_QUALITY_YIELD_PROVE"))));
return desInfo;
}
/**
* 分页查询数据
*/
public Page<Map<String, Object>> getPage(Map<String, Object> map) {
......
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