Commit fbc67007 authored by hezhuozhi's avatar hezhuozhi

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

# Conflicts: # amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/mapper/IdxBizJgProjectContraptionMapper.java # amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/resources/mapper/IdxBizJgProjectContraptionMapper.xml
parents e5fabbee 7561c92e
......@@ -267,4 +267,11 @@ public class JgUseRegistration extends BaseEntity {
*/
@TableField("project_contraption_id")
private String projectContraptionId;
/**
* 原始需合并工程装置id集合
*/
@TableField("origin_project_contraption_ids")
private String originProjectContraptionIds;
}
......@@ -40,4 +40,9 @@ public class JgUseRegistrationEq extends BaseEntity {
@TableField("is_invalid")
private Boolean isInvalid =false;
/**
* 原始需合并工程装置id
*/
@TableField("origin_project_contraption_id")
private String originProjectContraptionId;
}
......@@ -346,7 +346,13 @@ public class JgUseRegistrationController extends BaseController {
return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.updateCylinderCategoryByEquCodeBatch(cylinderCategory, equCodeList));
}
/**
* 查询无使用登记证,不在流程中的,已纳管的,装置父ID为空的数据
* @param useUnitCreditCode 使用登记证编号
* @param current 当前页
* @param size 每页数
* @return page
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/jgProjectContraptionPage")
@ApiOperation(value = "查询指定使用单位下的可用装置,已纳管且使用登记证编号为空或者null", notes = "不包括流程中的")
......@@ -360,11 +366,30 @@ public class JgUseRegistrationController extends BaseController {
return ResponseHelper.buildResponse(re);
}
/**
* 查询有使用登记证,新增的,没有流程引用的数据
* @param useUnitCreditCode 使用登记证编号
* @param current 当前页
* @param size 每页数
* @return page
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/jgProjectContraptionPageMaster")
@ApiOperation(value = "查询指定使用单位下的可用总装置,已纳管且使用登记证编号不为空或者首次合并为true", notes = "不包括流程中的")
public ResponseModel<IPage<IdxBizJgProjectContraption>> jgProjectContraptionPageMaster(@RequestParam String useUnitCreditCode,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page<IdxBizJgProjectContraption> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
IPage<IdxBizJgProjectContraption> re = jgUseRegistrationServiceImpl.jgProjectContraptionPageMaster(useUnitCreditCode, page);
return ResponseHelper.buildResponse(re);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "查询工程装置下的所有做过安装告知但是为做使用登记的管道", notes = "查询工程装置下的所有做过安装告知但是为做使用登记的管道")
@GetMapping(value = "/getDeviceListByProjectContraptionSeq")
public ResponseModel<Object> getDeviceListByProjectContraption(@RequestParam("record") String projectContraptionSeq) {
return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.getDeviceListByProjectContraption(projectContraptionSeq));
}
}
......@@ -167,6 +167,7 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
.like(!ValidationUtil.isEmpty(projectContraptionNo), IdxBizJgProjectContraption::getProjectContraptionNo, projectContraptionNo)
.isNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.TRUE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode)
.isNotNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.FALSE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode)
.isNull(IdxBizJgProjectContraption::getProjectContraptionParentId)
.orderByDesc(IdxBizJgProjectContraption::getRecDate)
.page(page);
pageList.getRecords().forEach(record -> {
......
......@@ -439,6 +439,11 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
throw new IllegalArgumentException("参数类型错误,期望 LinkedHashMap 类型: " + obj);
}
// 通用方法初始化 List
private <T> List<T> initializeList() {
return new ArrayList<>(15);
}
private Long batchSubmitOrUpdatePipeline(LinkedHashMap equipmentInfoForm, String submitType) {
Date date = new Date();
String operateType = ValidationUtil.isEmpty(equipmentInfoForm.get(SEQUENCE_NBR)) ? OPERATESAVE : OPERATEEDIT;
......@@ -505,18 +510,19 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
projectContraption.setUscUnitName(companyInfoMap.get("companyName").toString());
projectContraption.setUscUnitCreditCode(companyInfoMap.get("creditCode").toString());
projectContraption.setIsFirstMerge(false);
idxBizJgProjectContraptionService.saveOrUpdateData(projectContraption);
List<IdxBizJgUseInfo> useInfoList = new ArrayList<>(10);
List<IdxBizJgDesignInfo> designInfoList = new ArrayList<>(10);
List<IdxBizJgFactoryInfo> factoryInfoList = new ArrayList<>(10);
List<IdxBizJgConstructionInfo> constructionInfoList = new ArrayList<>(10);
List<IdxBizJgRegisterInfo> registerInfoList = new ArrayList<>(10);
List<IdxBizJgSupervisionInfo> supervisionInfoList = new ArrayList<>(10);
List<IdxBizJgOtherInfo> otherInfoList = new ArrayList<>(10);
List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfoList = new ArrayList<>(10);
List<IdxBizJgTechParamsPipeline> paramsPipelineList = new ArrayList<>(10);
List<ESEquipmentCategoryDto> esEquipmentCategoryList = new ArrayList<>(10);
List<IdxBizJgUseInfo> useInfoList = initializeList();
List<IdxBizJgDesignInfo> designInfoList = initializeList();
List<IdxBizJgFactoryInfo> factoryInfoList = initializeList();
List<IdxBizJgConstructionInfo> constructionInfoList = initializeList();
List<IdxBizJgRegisterInfo> registerInfoList = initializeList();
List<IdxBizJgSupervisionInfo> supervisionInfoList = initializeList();
List<IdxBizJgOtherInfo> otherInfoList = initializeList();
List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfoList = initializeList();
List<IdxBizJgTechParamsPipeline> paramsPipelineList = initializeList();
List<ESEquipmentCategoryDto> esEquipmentCategoryList = initializeList();
//设备信息
for (Map<String, Object> pipeline : pipelineList) {
......
......@@ -3841,15 +3841,42 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
Set<String> proIds = flowIngPros.stream().map(JgUseRegistration::getProjectContraptionId).collect(toSet());
proIds.remove(null);
proIds.remove("");
// 查询已纳管且使用登记证编号为空或者null且非流程中的装置
// 查询已纳管且使用登记证编号不为空且非流程中的装置
LambdaQueryWrapper<IdxBizJgProjectContraption> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IdxBizJgProjectContraption::getUseUnitCreditCode,useUnitCreditCode);
wrapper.eq(IdxBizJgProjectContraption::getIsIntoManagement, true);
wrapper.notIn(!proIds.isEmpty(), BaseEntity::getSequenceNbr, proIds);
wrapper.isNull(IdxBizJgProjectContraption::getProjectContraptionParentId);
wrapper.last("and (length(use_registration_code) = 0 or use_registration_code is null)");
return jgProjectContraptionService.page(page, wrapper);
}
public IPage<IdxBizJgProjectContraption> jgProjectContraptionPageMaster(String useUnitCreditCode, Page<IdxBizJgProjectContraption> page) {
// 兼容个人业务
if(useUnitCreditCode.contains("_")){
useUnitCreditCode = useUnitCreditCode.split("_")[1];
}
// 查询流程中的装置
List<JgUseRegistration> flowIngPros = this.list(
new LambdaQueryWrapper<JgUseRegistration>()
.notIn(JgUseRegistration::getStatus, NOT_FLOWING_STATE)
.select(BaseEntity::getSequenceNbr, JgUseRegistration::getProjectContraptionId)
);
Set<String> proIds = flowIngPros.stream()
.map(JgUseRegistration::getProjectContraptionId)
.filter(id -> id != null && !id.isEmpty()) // 过滤 null 和空字符串
.collect(toSet());
// 查询已纳管且使用登记证编号为空或 null,非流程中的装置,或首次合并为 true
LambdaQueryWrapper<IdxBizJgProjectContraption> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IdxBizJgProjectContraption::getUseUnitCreditCode, useUnitCreditCode)
.eq(IdxBizJgProjectContraption::getIsIntoManagement, true)
.notIn(!proIds.isEmpty(), BaseEntity::getSequenceNbr, proIds)
.and(w -> w.isNull(IdxBizJgProjectContraption::getUseRegistrationCode)
.or().eq(IdxBizJgProjectContraption::getUseRegistrationCode, "")
.or().eq(IdxBizJgProjectContraption::getIsFirstMerge, true));
return jgProjectContraptionService.page(page, wrapper);
}
public Map<String, Object> getDeviceListByProjectContraption(String projectContraptionSeq) {
IdxBizJgProjectContraption projectContraption = jgProjectContraptionService.getById(projectContraptionSeq);
Map<String, Object> re = new HashMap<>();
......
......@@ -229,4 +229,10 @@ public class JyjcInspectionApplication extends BaseEntity {
*/
@TableField(value = "is_must_accept")
private Boolean isMustAccept;
/**
* 装置id
*/
@TableField("project_contraption_id")
private String projectContraptionId;
}
......@@ -222,4 +222,10 @@ public class JyjcInspectionResult extends BaseEntity {
*/
@TableField(value = "plan_create_date")
private Date planCreateDate;
/**
* 管理方式: single-单台(套)报检;batch-批量报检
*/
@TableField(value = "manage_type")
private String manageType;
}
......@@ -26,8 +26,7 @@ import java.util.Set;
public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspectionApplication> {
public Page<JyjcInspectionApplicationModel> queryForDataList(Page<JyjcInspectionApplication> page, String applicationNo, String inspectionClassify, String applicationUnitCode, String applicationUnitName, String equipClassify, String inspectionUnitCode, String inspectionUnitName, String applicationDate, String acceptDate, String inspectionChargePerson, String status, String bizType);
// public Page<JyjcInspectionApplicationModel> queryForDataList( Page<JyjcInspectionApplication> page, String applicationNo, String inspectionClassify, String applicationUnitCode,String applicationUnitName, String equipClassify, String inspectionUnitCode,String inspectionUnitName, String applicationDate, String acceptDate, String inspectionChargePerson, String status , String bizType, List<String> roleIds);
Page<JyjcInspectionApplicationModel> queryForDataList(Page<JyjcInspectionApplication> page, String applicationNo, String inspectionClassify, String applicationUnitCode, String applicationUnitName, String equipClassify, String inspectionUnitCode, String inspectionUnitName, String applicationDate, String acceptDate, String inspectionChargePerson, String status, String bizType);
Page<JyjcInspectionApplicationEquipModel> listByCategory(Page<JyjcInspectionApplicationEquipModel> page, @Param("equipClassify") String equipClassify);
......@@ -44,6 +43,7 @@ public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspecti
*/
Set<String> queryRecordInFlowing();
/**
* 查询待受理流流程状态的设备
* @param equips 需要判断的设备
......@@ -110,6 +110,20 @@ public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspecti
Long queryAllFinishedCountForDetail(@Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
List<JyjcInspectionApplicationVo> queryExportInIds(@Param("ids") List<String> ids);
/**
* 查询指定装置下的管道,样式为汇总表样式
* @param projectContraptionSeq 装置id
* @return List<Map<String, Object>>
*/
List<Map<String, Object>> selectPieLineListByProjectId(@Param("projectContraptionSeq") String projectContraptionSeq);
/**
* 查询指定管道的信息,样式为汇总表样式
* @param records 管道ids
* @return List<Map<String, Object>>
*/
List<Map<String, Object>> selectPieLineListOfInspect(@Param("records") List<String> records);
}
......@@ -108,6 +108,13 @@ public class JyjcInspectionApplicationEquipDto {
private String produceUnitName;
@ApiModelProperty(value = "制造日期")
private String produceDate;
@ApiModelProperty(value = "设备唯一标识")
private String record;
@ApiModelProperty(value = "管道编号")
private String pipelineNumber;
// @ApiModelProperty(value = "使用年限")
// private String use;
}
......@@ -113,4 +113,7 @@ public class JyjcInspectionApplicationEquipModel extends BaseModel {
private String produceUnitName;
private String produceDate;
@ApiModelProperty(value = "装置id")
private String projectContraptionId;
}
package com.yeejoin.amos.boot.module.jyjc.api.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -174,6 +175,9 @@ public class JyjcInspectionApplicationModel extends BaseModel {
*/
private Boolean isMustAccept;
@ApiModelProperty(value = "装置id")
private String projectContraptionId;
public String getProcessInstanceId() {
return this.instanceId != null ? this.instanceId : this.processInstanceId;
}
......
package com.yeejoin.amos.boot.module.jyjc.api.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -179,4 +180,11 @@ public class JyjcInspectionResultModel extends BaseModel {
* 安全等级
*/
private String safetyLevel;
/**
* 管理方式: single-单台(套)报检;batch-批量报检
*/
private String manageType;
}
......@@ -635,4 +635,69 @@
</where>
order by tzjia.application_no desc
</select>
<sql id="page-list-pipeline">
SELECT
ui."USE_UNIT_NAME" useUnitName,
ui."USE_UNIT_CREDIT_CODE" useUnitCreditCode,
ui."PROJECT_CONTRAPTION_ID" as projectContraptionId,
to_char(ui."USE_DATE", 'YYYY-MM') useDate,
(SELECT DESIGN_UNIT_NAME from idx_biz_jg_design_info where "RECORD" = ui."RECORD") designUnitName,
(SELECT USC_UNIT_NAME from idx_biz_jg_construction_info where "RECORD" = ui."RECORD" ORDER BY USC_DATE DESC limit 1) uscUnitName,
to_char((SELECT USC_DATE from idx_biz_jg_construction_info where "RECORD" = ui."RECORD" ORDER BY USC_DATE DESC limit 1), 'YYYY-MM') uscDate,
ui."RECORD" record,
ui.IS_INTO_MANAGEMENT as isIntoManagement,
ri."EQU_CODE" equCode,
ri."EQU_LIST" equList,
(select name from tz_equipment_category where code = ri."EQU_LIST") equListName,
ri."EQU_CATEGORY" equCategory,
(select name from tz_equipment_category where code = ri."EQU_CATEGORY") equCategoryName,
ri."EQU_DEFINE" equDefine,
(select name from tz_equipment_category where code = ri."EQU_DEFINE") equDefineName,
-- 历史遗留问题 故 as
pp."PIPE_NAME" as productName,
ri."BRAND_NAME" brandName,
ri."EQU_TYPE" equType,
ri."EQU_CODE_TYPE" equCodeType,
ri."WHETHER_VEHICLE_CYLINDER" whetherVehicleCylinder,
ri."USE_ORG_CODE" useOrgCode,
pp."DEVICE_NAME" deviceName,
(select name from cb_data_dictionary where code = pp."DEVICE_LEVEL" and type = 'GBI') deviceLevel,
pp."PIPE_NAME" pipeName,
pp."PIPELINE_NUMBER" pipelineNumber,
pp."NOMINAL_DIAMETER" nominalDiameter,
pp."WALL_THICKNESS" wallThickness,
pp."PIPE_LENGTH" pipeLength,
pp."PRESSURE" pressure,
pp."TEMPERATURE" temperature,
pp."MEDIUM" medium,
pp."REMARKS" remarks,
pp."WORK_PRESSURE" AS workPressure,
pp."WORK_TEMPERATURE" AS workTemperature,
pp."WORK_MEDIUM" AS workMedium,
(select INSPECT_ORG_NAME from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectOrgName,
(select name from cb_data_dictionary where type = 'JYJL' and code = (select INSPECT_CONCLUSION from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1)) inspectConclusion,
to_char((select NEXT_INSPECT_DATE from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE DESC limit 1), 'YYYY-MM-DD') nextInspectDate
FROM
idx_biz_jg_use_info ui
LEFT JOIN idx_biz_jg_register_info ri on ri."RECORD" = ui."RECORD"
LEFT JOIN idx_biz_jg_tech_params_pipeline pp ON pp."RECORD" = ui."RECORD"
</sql>
<select id="selectPieLineListByProjectId" resultType="java.util.Map">
select * from (
<include refid="page-list-pipeline"/>
WHERE
ri."EQU_CATEGORY" = '8300'
and ui."PROJECT_CONTRAPTION_ID" = #{projectContraptionSeq}
ORDER BY ui.REC_DATE DESC
)
</select>
<select id="selectPieLineListOfInspect" resultType="java.util.Map">
<include refid="page-list-pipeline"/>
WHERE
ui.record in
<foreach collection="records" item="record" open="(" close=")" separator=",">
#{record}
</foreach>
ORDER BY ui.REC_DATE DESC
</select>
</mapper>
......@@ -106,11 +106,105 @@
LEFT JOIN idx_biz_jg_register_info ibjri ON ibjui.record = ibjri.record
LEFT JOIN idx_biz_jg_other_info ot ON ot.record = ibjri.record
</sql>
<sql id="page-list2">
SELECT
res.sequence_nbr,
res.inspection_unit_code,
res.application_no,
res.application_unit_code,
res.equip_unicode,
res.result_status,
res.license_number,
res.result_no,
res.inspector,
res.inner_person_code,
res.inspection_conclusion,
res.inspection_date,
res.next_inspection_date,
res.inspection_start_date,
res.inspection_end_date,
res.inspection_result_summary,
res.non_conformance,
res.remark,
res.rec_user_id,
res.rec_date,
res.biz_type,
res.equ_category,
res.inspection_type,
res.inspection_type_name,
res.application_date,
res.inspection_unit_name,
res.application_unit_name,
res.inspection_type_name,
ibjui.use_unit_name,
ibjui.use_unit_credit_code,
ibjri.equ_code,
ibjui.use_inner_code,
ibjri.equ_list,
(SELECT NAME FROM tz_equipment_category WHERE code = res.equ_list) AS equ_list_name,
ibjri.use_org_code,
res.equ_define,
res.result_type,
ot.supervisory_code,
concat(ibjui.province_name, ibjui.city_name,ibjui.county_name, ibjui.street_name,ibjui.ADDRESS ) as equUseAddress
FROM
tz_jyjc_inspection_result res
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjui.record = res.equip_unicode
LEFT JOIN idx_biz_jg_register_info ibjri ON ibjui.record = ibjri.record
LEFT JOIN idx_biz_jg_other_info ot ON ot.record = ibjri.record
</sql>
<sql id="page-list3">
SELECT
res.sequence_nbr,
res.inspection_unit_code,
res.application_no,
res.application_unit_code,
res.equip_unicode,
res.result_status,
res.license_number,
res.result_no,
res.inspector,
res.inner_person_code,
res.inspection_conclusion,
res.inspection_date,
res.next_inspection_date,
res.inspection_start_date,
res.inspection_end_date,
res.inspection_result_summary,
res.non_conformance,
res.remark,
res.rec_user_id,
res.rec_date,
res.biz_type,
res.equ_category,
res.inspection_type,
res.inspection_type_name,
res.application_date,
res.inspection_unit_name,
res.application_unit_name,
res.inspection_type_name,
pc.use_unit_name,
pc.use_unit_credit_code,
pc.equ_code,
'' as use_inner_code,
res.equ_list,
(SELECT NAME FROM tz_equipment_category WHERE code = res.equ_list) AS equ_list_name,
pc.use_registration_code as use_org_code,
res.equ_define,
res.result_type,
pc.supervisory_code,
concat_ws('', pc.province_name, pc.city_name,pc.county_name, pc.street_name,pc.address ) as equUseAddress
FROM
tz_jyjc_inspection_result res
LEFT JOIN idx_biz_jg_project_contraption pc ON pc.sequence_nbr = res.equip_unicode
</sql>
<select id="selectForPage"
resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel">
<include refid="page-list"/>
select * from (
<include refid="page-list2"/>
<where>
res.equ_list != '8000'
<if test="jyjcInspectionResultModel.applicationNo != '' and jyjcInspectionResultModel.applicationNo != null">
and res.application_no like concat('%',#{jyjcInspectionResultModel.applicationNo},'%')
</if>
......@@ -156,7 +250,48 @@
</otherwise>
</choose>
</where>
ORDER BY res.sequence_nbr DESC
union all
<include refid="page-list3"/>
<where>
res.equ_list = '8000'
<if test="jyjcInspectionResultModel.applicationNo != '' and jyjcInspectionResultModel.applicationNo != null">
and res.application_no like concat('%',#{jyjcInspectionResultModel.applicationNo},'%')
</if>
<if test="jyjcInspectionResultModel.applicationDate!=null">
AND res.application_date = #{jyjcInspectionResultModel.applicationDate}
</if>
<if test="jyjcInspectionResultModel.inspectionType != '' and jyjcInspectionResultModel.inspectionType != null">
and res.inspection_type = #{jyjcInspectionResultModel.inspectionType}
</if>
<if test="jyjcInspectionResultModel.applicationUnitName != '' and jyjcInspectionResultModel.applicationUnitName != null">
and res.application_unit_name like concat('%',#{jyjcInspectionResultModel.applicationUnitName},'%')
</if>
<if test="jyjcInspectionResultModel.equList != '' and jyjcInspectionResultModel.equList != null">
and res.equ_list = #{jyjcInspectionResultModel.equList}
</if>
<if test="jyjcInspectionResultModel.useOrgCode != '' and jyjcInspectionResultModel.useOrgCode != null">
and pc.use_registration_code like concat('%',#{jyjcInspectionResultModel.useOrgCode},'%')
</if>
<if test="jyjcInspectionResultModel.inspectionUnitName != '' and jyjcInspectionResultModel.inspectionUnitName != null">
and res.inspection_unit_name like concat('%',#{jyjcInspectionResultModel.inspectionUnitName},'%')
</if>
<choose>
<when test="identity == 'apply'">
and res.application_unit_code = #{jyjcInspectionResultModel.companyCode}
</when>
<when test="identity == 'receive'">
and res.inspection_unit_code = #{jyjcInspectionResultModel.companyCode}
</when>
<when test="identity == 'all'">
and (res.application_unit_code = #{jyjcInspectionResultModel.companyCode} or res.inspection_unit_code = #{jyjcInspectionResultModel.companyCode})
</when>
<otherwise>
1 = 2
</otherwise>
</choose>
</where>
)
ORDER BY sequence_nbr DESC
</select>
<select id="queryInspectionTimelinessTopXX" resultType="com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionTimelinesDto">
select
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jyjc.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
......@@ -13,6 +14,7 @@ import com.yeejoin.amos.boot.module.jyjc.biz.event.InspectionApplicationPushEven
import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption;
import com.yeejoin.amos.feign.systemctl.model.DictionarieModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -289,4 +291,27 @@ public class JyjcInspectionApplicationController extends BaseController {
Assert.hasText(ids,"未选择导出数据");
jyjcInspectionApplicationServiceImpl.export(bizType,response, Arrays.asList(ids.split(",")));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/projectContraptionPage")
@ApiOperation(value = "按照检验类型查询可进行检验的装置", notes = "不包括流程中的")
public ResponseModel<IPage<IdxBizJgProjectContraption>> getJgProjectContraptionPage(@RequestParam String inspectionType,
@RequestParam String equCategory,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
ReginParams selectedOrgInfo = getSelectedOrgInfo();
Page<IdxBizJgProjectContraption> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
IPage<IdxBizJgProjectContraption> re = jyjcInspectionApplicationServiceImpl.getJgProjectContraptionPage(inspectionType, page, selectedOrgInfo.getCompany().getCompanyCode(), equCategory);
return ResponseHelper.buildResponse(re);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "查询指定工程装置下的管道及安装信息", notes = "查询指定工程装置下的管道及安装信息")
@GetMapping(value = "/getDeviceListByProjectContraptionSeq")
public ResponseModel<Object> getDeviceListByProjectContraption(@RequestParam("record") String projectContraptionSeq) {
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.getDeviceListByProjectContraption(projectContraptionSeq));
}
}
......@@ -10,6 +10,7 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
......@@ -35,12 +36,11 @@ public class JyjcInspectionApplicationEquipServiceImpl extends BaseService<JyjcI
return this.queryForList("" , false);
}
public List listApplicationEquipByApplicationSeq(Long applicationSeq) {
// this.queryForList 尽量不要重载方法
List<JyjcInspectionApplicationEquip> entitys = this.lambdaQuery().eq(JyjcInspectionApplicationEquip::getApplicationSeq, applicationSeq).list();
if (ValidationUtil.isEmpty(entitys)) {
return Collections.EMPTY_LIST;
public List<JyjcInspectionApplicationEquipModel> listApplicationEquipByApplicationSeq(Long applicationSeq) {
List<JyjcInspectionApplicationEquip> entity = this.lambdaQuery().eq(JyjcInspectionApplicationEquip::getApplicationSeq, applicationSeq).list();
if (ValidationUtil.isEmpty(entity)) {
return new ArrayList<>();
}
return Bean.toModels(entitys, JyjcInspectionApplicationEquipModel.class);
return Bean.toModels(entity, JyjcInspectionApplicationEquipModel.class);
}
}
\ No newline at end of file
......@@ -8,6 +8,7 @@ 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.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
......@@ -17,6 +18,7 @@ import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
......@@ -36,10 +38,14 @@ import com.yeejoin.amos.boot.module.jyjc.biz.feign.JgFeignClient;
import com.yeejoin.amos.boot.module.jyjc.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jyjc.biz.service.TaskModelServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectConstruction;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgUseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgProjectConstructionMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgProjectContraptionMapper;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.model.DictionarieModel;
......@@ -67,7 +73,6 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -76,9 +81,12 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
......@@ -132,14 +140,10 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
@Autowired
DataDictionaryServiceImpl dataDictionaryService;
@Autowired
JyjcOpeningApplicationServiceImpl openingApplicationService;
@Autowired
RedissonClient redissonClient;
@Autowired
JyjcBaseMapper jyjcBaseMapper;
@Autowired
IdxBizJgUseInfoMapper jgUseInfoMapper;
@Autowired
JyjcInspectionApplicationNoAcceptLogServiceImpl noAcceptLogService;
@Autowired
RestHighLevelClient restHighLevelClient;
......@@ -147,19 +151,27 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
private JyjcInspectionResultServiceImpl inspectionResultService;
@Autowired
private JyjcInspectionApplicationEquipServiceImpl applicationEquipService;
@Value("classpath:/json/bizTypeInfo.json")
private Resource bizTypeInfo;
@Autowired
private JyjcInspectionApplicationEquipMapper jyjcInspectionApplicationEquipMapper;
@Autowired
private RedisUtils redisUtils;
@Autowired
private ESEquipmentCategory esEquipmentCategory;
/**
* 省特检院等特殊公司code
*/
@Value("${shanxi.tjy.code:126100004352004822}")
private String shanxiCompanyCode;
@Autowired
private IdxBizJgProjectContraptionMapper idxBizJgProjectContraptionMapper;
@Autowired
private IdxBizJgProjectConstructionMapper idxBizJgProjectConstructionMapper;
@Autowired
private JyjcInspectionResultParamServiceImpl jyjcInspectionResultParamServiceImpl;
@Resource
private SnowflakeIdUtil sequence;
@NotNull
public static List<DictionarieModel> getDictionarieModels(String bizType) {
......@@ -260,6 +272,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
equipInfo.setEquipUnicode(equip.getSequenceNbr());
equipInfo.setEquCategory(equip.getEquCategoryCode());
equipInfo.setSupervisoryCode(equip.getSupervisoryCode());
this.setEquipCategoryIfPieLine(model, equipInfo, equip);
equipInfos.add(equipInfo);
}
model.setEquList(null2String(model.getEquip().get(0).get("EQU_LIST")));
......@@ -340,7 +353,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
this.setNameAndIsMustAccept(model);
//更新报检装备监管码
jyjcInspectionApplicationEquipService.getBaseMapper().deleteByApplicationSeq(model.getSequenceNbr());
if (model.getEquip().size() > 0) {
if (!model.getEquip().isEmpty()) {
List<JyjcInspectionApplicationEquipDto> equips = JSONObject.parseArray(JSON.toJSONString(model.getEquip()), JyjcInspectionApplicationEquipDto.class);
int num = equips.size();
model.setNumberOfEquip(num);
......@@ -351,6 +364,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
equipInfo.setEquipUnicode(equip.getSequenceNbr());
equipInfo.setEquCategory(equip.getEquCategoryCode());
equipInfo.setApplicationSeq(model.getSequenceNbr());
this.setEquipCategoryIfPieLine(model, equipInfo, equip);
jyjcInspectionApplicationEquipService.save(equipInfo);
}
model.setEquList(null2String(model.getEquip().get(0).get("EQU_LIST")));
......@@ -416,6 +430,17 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
return this.buildRedundancyField(model);
}
private void setEquipCategoryIfPieLine(JyjcInspectionApplicationModel model, JyjcInspectionApplicationEquip equipInfo, JyjcInspectionApplicationEquipDto equipDto) {
if(model.getEquipClassify().equals(EquipmentClassifityEnum.YLGD.getCode())){
equipInfo.setEquipUnicode(model.getProjectContraptionId());
equipInfo.setEquList(equipDto.getEquList());
equipInfo.setEquCategory(equipDto.getEquCategory());
equipInfo.setEquDefine(equipDto.getEquDefine());
equipInfo.setEquipUnicode(equipDto.getRecord());
equipInfo.setSupervisoryCode(equipDto.getPipelineNumber());
}
}
private String buildTaskContent(JyjcInspectionApplicationModel model){
......@@ -578,16 +603,21 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
Map<String, Object> map = BeanUtil.beanToMap(model);
// 附件
Map<String, Object> attMap = getAttachmentMap(sequenceNbr);
// 设备
List<Map<String, Object>> arrayList = getEquipInfoList(sequenceNbr);
if(model.getEquipClassify().equals(EquipmentClassifityEnum.YLGD.getCode())){
// 压力管道
map.putAll(getDeviceListByProjectContraption2(model));
} else {
// 其他设备
List<Map<String, Object>> arrayList = getEquipInfoList(sequenceNbr, model);
map.put("equip", arrayList);
}
map.putAll(attMap);
map.put("companyType", companyType);
this.setPlanData(sequenceNbr, map);
return map;
}
private List<Map<String, Object>> getEquipInfoList(Long sequenceNbr) {
private List<Map<String, Object>> getEquipInfoList(Long sequenceNbr, JyjcInspectionApplicationModel model) {
Iterable<ESEquipmentCategoryDto> equips = getEsEquipmentCategoryDtos(sequenceNbr);
return getEquipListMaps(equips);
}
......@@ -690,9 +720,50 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
TaskV2Model taskV2Model = updateTaskModel(model);
List<JyjcInspectionApplicationEquipModel> applicationEquipModels = applicationEquipService.listApplicationEquipByApplicationSeq(sequenceNbr);
List<JyjcInspectionResult> resultModels = new ArrayList<>();
List<String> codes = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.JG.getCode(), applicationEquipModels.size()).getResult();
List<JgResumeInfoDto> jgResumeInfoDtoList = new ArrayList<>();
Date now = DateUtil.date();
if(model.getEquipClassify().equals(EquipmentClassifityEnum.YLGD.getCode())){
List<String> codes = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.JG.getCode(), 1).getResult();
JyjcInspectionResult resultModel = new JyjcInspectionResult();
resultModel.setInspectionUnitCode(model.getInspectionUnitCode());
resultModel.setInspectionUnitName(model.getInspectionUnitName());
resultModel.setApplicationNo(model.getApplicationNo());
resultModel.setApplicationUnitCode(model.getApplicationUnitCode());
resultModel.setApplicationUnitName(model.getApplicationUnitName());
resultModel.setResultStatus(ResultStatusEnum.NO_RESULT.getCode());
resultModel.setApplicationDate(model.getApplicationDate());
resultModel.setRecDate(now);
resultModel.setInspectionType(model.getInspectionType());
resultModel.setInspectionTypeName(this.getDictNameByCode(model.getInspectionType()));
// 解析设备
resultModel.setBizType(model.getBizType());
resultModel.setResultNo(codes.get(0));
// 装置信息查询
resultModel.setEquipUnicode(model.getProjectContraptionId());
IdxBizJgProjectContraption projectContraption = idxBizJgProjectContraptionMapper.selectById(model.getProjectContraptionId());
if(projectContraption != null){
resultModel.setEquipUnicode(projectContraption.getSequenceNbr() + "");
resultModel.setSupervisoryCode(projectContraption.getSupervisoryCode());
resultModel.setEquCategory(projectContraption.getEquCategory());
resultModel.setEquList(projectContraption.getEquList());
resultModel.setEquDefine(projectContraption.getEquDefine());
}
Long resultSeq = sequence.nextId();
resultModel.setSequenceNbr(resultSeq);
resultModel.setIsExistNc(false);
resultModel.setManageType("batch");
this.setResultTypeByBizType(resultModel, model.getBizType());
resultModels.add(resultModel);
// TODO 以管道汇总样式表暂存json,在结果录入后,将数据更新技术参数,考虑老数据
Map<String, Object> paramDetail = getDeviceListByProjectContraption2(model);
JyjcInspectionResultParam resultParam = new JyjcInspectionResultParam();
resultParam.setResultSeq(resultModel.getSequenceNbr());
resultParam.setParamJson(JSON.toJSONString(paramDetail));
resultParam.setParamType("IdxBizJgTechParamsPipeline");
resultParam.setRecDate(new Date());
jyjcInspectionResultParamServiceImpl.save(resultParam);
} else {
List<String> codes = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.JG.getCode(), applicationEquipModels.size()).getResult();
for (int i = 0; i < applicationEquipModels.size(); i++) {
JyjcInspectionResult resultModel = new JyjcInspectionResult();
resultModel.setInspectionUnitCode(model.getInspectionUnitCode());
......@@ -716,13 +787,17 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
resultModel.setEquList(applicationEquipModels.get(i).getEquList());
resultModel.setIsExistNc(false);
this.setResultTypeByBizType(resultModel, model.getBizType());
Long resultSeq = sequence.nextId();
resultModel.setSequenceNbr(resultSeq);
resultModels.add(resultModel);
// TODO 暂存json,在结果录入后,将数据更新技术参数-检验详情使用 考虑兼容老数据
// 新增设备履历信息
jgResumeInfoDtoList.add(JgResumeInfoDto.builder().applyNo(entity.getApplicationNo()).businessType(resultModel.getInspectionTypeName()).businessId(String.valueOf(entity.getSequenceNbr())).equId(applicationEquipModels.get(i).getEquipUnicode()).approvalUnit(model.getInspectionUnitName()).approvalUnitCode(model.getInspectionUnitCode()).status("正常").routePath(taskV2Model.getRoutePath()).build());
}
}
inspectionResultService.saveOrUpdateBatch(resultModels);
// 报检信息推送
this.pushInspectionApplication(model);
// 报检信息推送 TODO
// this.pushInspectionApplication(model);
this.saveBatchResume(jgResumeInfoDtoList);
// 更新流程中的流程数据
commonService.saveExecuteFlowData2Redis(model.getProcessInstanceId(), this.buildInstanceRuntimeData(entity));
......@@ -1313,4 +1388,80 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
public List<DictionarieModel> inspectTypeListByBizType(String bizType) {
return getDictionarieModels(bizType);
}
public IPage<IdxBizJgProjectContraption> getJgProjectContraptionPage(String inspectionType, Page<IdxBizJgProjectContraption> page, String companyCode, String equCategory) {
// 兼容个人业务
if(companyCode.contains("_")){
companyCode = companyCode.split("_")[1];
}
// 定期检验,查询当前使用单位,工业管道: 查询当前使用单位下已纳管且有使用登记证的装置,且非流程中的 ;公用管道、长输管道:已纳管且做过检验的,且非流程中的
return idxBizJgProjectContraptionMapper.queryJgProjectContraptionPage(page, inspectionType, companyCode, equCategory);
}
/**
* 查询指定装置下的装置基本信息、施工信息、管道信息(前缀装置列表已进行过滤,故不进行状态的过滤)
* @param projectContraptionSeq 装置id
* @return 装置的详情
*/
public Map<String, Object> getDeviceListByProjectContraption(String projectContraptionSeq) {
IdxBizJgProjectContraption projectContraption = idxBizJgProjectContraptionMapper.selectById(projectContraptionSeq);
Map<String, Object> re = new HashMap<>();
List<Map<String, Object>> equList = this.getBaseMapper().selectPieLineListByProjectId(projectContraptionSeq);
re.put("equip", equList);
re.put("projectContraption", projectContraption.getProjectContraption());
re.put("projectContraptionId", projectContraptionSeq);
re.put("projectContraptionNo", projectContraption.getProjectContraptionNo());
re.put("pipelineLength", projectContraption.getPipelineLength());
this.setConstructionInfo(projectContraptionSeq, re);
return re;
}
/**
* 查询指定报检单据下的装置管道信息
* @param applicationModel 报检单据信息
* @return 装置的详情
*/
public Map<String, Object> getDeviceListByProjectContraption2(JyjcInspectionApplicationModel applicationModel) {
IdxBizJgProjectContraption projectContraption = idxBizJgProjectContraptionMapper.selectById(applicationModel.getProjectContraptionId());
List<JyjcInspectionApplicationEquipModel> applicationEquipModels = applicationEquipService.listApplicationEquipByApplicationSeq(applicationModel.getSequenceNbr());
List<String> records = applicationEquipModels.stream().map(JyjcInspectionApplicationEquipModel::getEquipUnicode).collect(Collectors.toList());
Map<String, Object> re = new HashMap<>();
List<Map<String, Object>> equList = this.getBaseMapper().selectPieLineListOfInspect(records);
re.put("equip", equList);
re.put("projectContraption", projectContraption.getProjectContraption());
re.put("projectContraptionId", applicationModel.getProjectContraptionId());
re.put("projectContraptionNo", projectContraption.getProjectContraptionNo());
re.put("pipelineLength", calTotalLength(equList));
this.setConstructionInfo(applicationModel.getProjectContraptionId(), re);
return re;
}
private String calTotalLength(List<Map<String, Object>> equList){
double pipeLengthSum = equList.stream().map(r->r.get("pipeLength")).filter(Objects::nonNull).mapToDouble(l->Double.parseDouble(String.valueOf(l))).sum();
BigDecimal pipeLengthSumBig = new BigDecimal(String.valueOf(pipeLengthSum)).setScale(3, RoundingMode.HALF_UP);
return pipeLengthSumBig.toPlainString();
}
private void setConstructionInfo(String projectContraptionSeq, Map<String, Object> re) {
LambdaQueryWrapper<IdxBizJgProjectConstruction> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IdxBizJgProjectConstruction::getProjectContraptionId, projectContraptionSeq)
.orderByDesc(IdxBizJgProjectConstruction::getUscDate).last("limit 1");
IdxBizJgProjectConstruction construction = idxBizJgProjectConstructionMapper.selectOne(queryWrapper);
if(construction != null){
re.put("installAddress", getDetailAddress(construction));
}
}
private String trimIfNull(String str){
if(StringUtils.isBlank(str)){
return "";
}
return str.trim();
}
private String getDetailAddress(IdxBizJgProjectConstruction construction){
return trimIfNull(construction.getProvinceName()) + trimIfNull(construction.getCityName()) + trimIfNull(construction.getCountyName()) + trimIfNull(construction.getStreetName());
}
}
\ No newline at end of file
......@@ -23,6 +23,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResultParam;
import com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.EquipCategoryEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.ResultStatusEnum;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationMapper;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionResultMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultDataModel;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel;
......@@ -35,6 +36,7 @@ import com.yeejoin.amos.boot.module.jyjc.biz.event.UseInfoSaveToDbEvent;
import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.BizEmqPublisher;
import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jyjc.biz.util.JsonUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption;
import com.yeejoin.amos.boot.module.ymt.api.entity.InspectionDetectionInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
......@@ -74,6 +76,8 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
private static final String JYJC_SUBMIT_FILE_PREFIX = "JYJC_";
private static final String JYJC_SUBMIT_FILE_JYBG = "JYBG";
private static final String JYJC_SUBMIT_KEY = "inspectResult";
private static final String JYJC_PIELINE = "pieLine";
private static final String JYJC_RESULT_STATUS = "2";
@Autowired
......@@ -82,9 +86,6 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
@Autowired
private IJyjcInspectionResultParamService iJyjcInspectionResultParamService;
@Autowired
EquipmentCategoryMapper equipmentCategoryMapper;
@Value("classpath:/json/equipCategory.json")
private Resource equipCategory;
......@@ -99,8 +100,6 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
private RedisUtils redisUtils;
@Autowired
UseInfoMapper useInfoMapper;
@Autowired
CategoryOtherInfoMapper categoryOtherInfoMapper;
@Autowired
InspectionDetectionInfoMapper inspectionDetectionInfoMapper;
......@@ -109,9 +108,6 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
private SnowflakeIdUtil sequence;
@Autowired
TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
@Autowired
CommonServiceImpl commonService;
@Autowired
......@@ -126,6 +122,12 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
@Autowired
private ESEquipmentCategory esEquipmentCategory;
@Autowired
JyjcInspectionApplicationMapper inspectionApplicationMapper;
@Autowired
private IdxBizJgProjectContraptionMapper idxBizJgProjectContraptionMapper;
/**
* 检验检测单位分页查询
*/
......@@ -369,7 +371,6 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
}).collect(Collectors.toMap(JyjcInspectionResultAttachment::getAttachmentType, JyjcInspectionResultAttachment::getAttachmentUrlList));
map.putAll(attachmentMap);
}
// 获取技术参数
List<JyjcInspectionResultParam> paramList = iJyjcInspectionResultParamService.getParamByResultSeq(sequenceNbr);
if (!CollectionUtils.isEmpty(paramList)) {
......
......@@ -262,4 +262,16 @@ public class IdxBizJgProjectContraption extends BaseEntity {
*/
@TableField("use_date")
private String useDate;
/**
* 工程装置父级ID(合并用)
*/
@TableField("project_contraption_parent_id")
private String projectContraptionParentId;
/**
* 是否首次合并新增
*/
@TableField("is_first_merge")
private Boolean isFirstMerge;
}
package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectConstruction;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 管道工程装置表 Mapper 接口
......@@ -37,6 +41,17 @@ public interface IdxBizJgProjectContraptionMapper extends BaseMapper<IdxBizJgPro
List<IdxBizJgProjectContraption> selectErrorManagementProject();
/**
* 查询检验的装置
* @param page 分页
* @param inspectionType 检验类型
* @param companyCode 公司code
* @param equCategory 设备类别
* @return 分页
*/
IPage<IdxBizJgProjectContraption> queryJgProjectContraptionPage(Page<IdxBizJgProjectContraption> page, @Param("inspectionType") String inspectionType, @Param("companyCode") String companyCode, @Param("equCategory") String equCategory);
/**
* 获取管道信息分页
* @param sequenceNbr
......
......@@ -182,4 +182,35 @@
WHERE ibjui.project_contraption_id = #{sequenceNbr}
ORDER BY ibjtpp.REC_DATE ASC
</select>
<select id="queryJgProjectContraptionPage"
resultType="com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption">
select
*
from
idx_biz_jg_project_contraption pc
where
1=1
<choose>
<when test="inspectionType == 'AZJDJY'">
and pc.usc_unit_credit_code=#{companyCode}
and pc.is_into_management = true
and (pc.use_registration_code is null or pc.use_registration_code = '' )
</when>
<otherwise>
<choose>
<when test="equCategory == '8300'">
and pc.use_unit_credit_code=#{companyCode}
and pc.is_into_management = true
and pc.use_registration_code <![CDATA[<>]]> ''
</when>
<otherwise>
and pc.use_unit_credit_code=#{companyCode}
and pc.is_into_management = true
and exists (select 1 from idx_biz_jg_project_inspection pi where pi."PROJECT_CONTRAPTION_ID" = pc.sequence_nbr)
</otherwise>
</choose>
</otherwise>
</choose>
and not EXISTS (SELECt 1 FROM tz_jyjc_inspection_application a where a.status='6611' and a.application_unit_code=#{companyCode} and a.project_contraption_id = pc.sequence_nbr)
</select>
</mapper>
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