Commit 5b7ec4a0 authored by Lambertliu's avatar Lambertliu

fix(jg):管道添加功能开发

parent 82b91c9f
...@@ -122,7 +122,7 @@ public class IdxBizJgProjectContraptionController extends BaseController { ...@@ -122,7 +122,7 @@ public class IdxBizJgProjectContraptionController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/details") @GetMapping(value = "/details")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个管道工程装置表", notes = "根据sequenceNbr查询单个管道工程装置表") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个管道工程装置表", notes = "根据sequenceNbr查询单个管道工程装置表")
public ResponseModel<Map<String, Object>> selectOne(@RequestParam("sequenceNbr") Long sequenceNbr) { public ResponseModel<Map<String, Map<String, Object>>> selectOne(@RequestParam("sequenceNbr") String sequenceNbr) {
return ResponseHelper.buildResponse(idxBizJgProjectContraptionServiceImpl.details(sequenceNbr)); return ResponseHelper.buildResponse(idxBizJgProjectContraptionServiceImpl.details(sequenceNbr));
} }
......
...@@ -6,20 +6,21 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -6,20 +6,21 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgProjectContraptionService; import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgProjectContraptionService;
import com.yeejoin.amos.boot.module.ymt.api.dto.IdxBizJgProjectContraptionDto; import com.yeejoin.amos.boot.module.ymt.api.dto.IdxBizJgProjectContraptionDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgProjectContraptionMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgProjectContraptionMapper;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -31,6 +32,8 @@ import java.util.stream.Collectors; ...@@ -31,6 +32,8 @@ import java.util.stream.Collectors;
@Service @Service
public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgProjectContraptionDto, IdxBizJgProjectContraption, IdxBizJgProjectContraptionMapper> implements IIdxBizJgProjectContraptionService { public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgProjectContraptionDto, IdxBizJgProjectContraption, IdxBizJgProjectContraptionMapper> implements IIdxBizJgProjectContraptionService {
public static final String[] jsonFields = {"PRODUCT_PHOTO", "OTHER_ACCESSORIES", "PRODUCT_QUALIFICATION_CERTIFICATE", "START_LATITUDE_LONGITUDE",
"END_LATITUDE_LONGITUDE"};
public static final String IS_INTO_MANAGEMENT = "isIntoManagement"; public static final String IS_INTO_MANAGEMENT = "isIntoManagement";
public static final String USE_REGISTRATION_CODE = "useRegistrationCode"; public static final String USE_REGISTRATION_CODE = "useRegistrationCode";
public static final String REG_CODE_IS_NULL = "regCodeIsNull"; public static final String REG_CODE_IS_NULL = "regCodeIsNull";
...@@ -38,11 +41,14 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -38,11 +41,14 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
public static final String EQU_CATEGORY = "equCategory"; public static final String EQU_CATEGORY = "equCategory";
public static final String EQU_DEFINE = "equDefine"; public static final String EQU_DEFINE = "equDefine";
public static final String PROJECT_CONTRAPTION_NO = "projectContraptionNo"; public static final String PROJECT_CONTRAPTION_NO = "projectContraptionNo";
// 设备基本信息表单id
private static final String EQUIP_INFO_FORM_ID = "equipInfo";
@Resource @Resource
private IdxBizJgUseInfoServiceImpl useInfoService; private IdxBizJgUseInfoServiceImpl useInfoService;
@Resource @Resource
private IdxBizJgRegisterInfoServiceImpl registerInfoService; private IdxBizJgRegisterInfoServiceImpl registerInfoService;
@Autowired
private CommonServiceImpl commonServiceImpl;
@Override @Override
public boolean saveOrUpdateData(IdxBizJgProjectContraption projectContraption) { public boolean saveOrUpdateData(IdxBizJgProjectContraption projectContraption) {
...@@ -97,8 +103,7 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -97,8 +103,7 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
String equCategory = params.get(EQU_CATEGORY); String equCategory = params.get(EQU_CATEGORY);
// 设备类品种code // 设备类品种code
String equDefine = params.get(EQU_DEFINE); String equDefine = params.get(EQU_DEFINE);
IPage<IdxBizJgProjectContraption> pageList = lambdaQuery()
return lambdaQuery()
.eq(CompanyTypeEnum.CONSTRUCTION.getName().equals(companyType), IdxBizJgProjectContraption::getUscUnitCreditCode, companyCode) .eq(CompanyTypeEnum.CONSTRUCTION.getName().equals(companyType), IdxBizJgProjectContraption::getUscUnitCreditCode, companyCode)
.eq(CompanyTypeEnum.USE.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode) .eq(CompanyTypeEnum.USE.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode)
.eq(CompanyTypeEnum.INDIVIDUAL.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode.split("_").length > 1 ? companyCode.split("_")[1] : companyCode) .eq(CompanyTypeEnum.INDIVIDUAL.getName().equals(companyType), IdxBizJgProjectContraption::getUseUnitCreditCode, companyCode.split("_").length > 1 ? companyCode.split("_")[1] : companyCode)
...@@ -111,6 +116,23 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -111,6 +116,23 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
.isNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.TRUE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode) .isNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.TRUE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode)
.isNotNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.FALSE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode) .isNotNull(!ValidationUtil.isEmpty(regCodeIsNull) && Boolean.FALSE.equals(Boolean.valueOf(regCodeIsNull)), IdxBizJgProjectContraption::getUseRegistrationCode)
.page(page); .page(page);
pageList.getRecords().forEach(record -> {
record.setDataSourceName(EquipSourceEnum.getDataSourceName(record.getDataSource()));
record.setFullAddress(record.getProvinceName()+record.getCityName()+record.getCountyName()+record.getStreetName()+record.getAddress());
record.setCan_edit(this.checkContraptionIsCanEdit(record.getSequenceNbr()));
record.setCan_delete(this.checkContraptionIsCanDelete(record.getSequenceNbr()));
});
return pageList;
}
private Boolean checkContraptionIsCanEdit(Long projectContraptionId) {
Integer inUseTime = this.baseMapper.countContraptionInUseTimesForEdit(projectContraptionId);
return inUseTime <= 0;
}
private Boolean checkContraptionIsCanDelete(Long projectContraptionId) {
Integer inUseTime = this.baseMapper.countContraptionInUseTimesForDelete(projectContraptionId);
return inUseTime <= 0;
} }
@Override @Override
...@@ -150,18 +172,22 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP ...@@ -150,18 +172,22 @@ public class IdxBizJgProjectContraptionServiceImpl extends BaseService<IdxBizJgP
return this.queryForList("", false); return this.queryForList("", false);
} }
public Map<String, Object> details(Long sequenceNbr) { public Map<String, Map<String, Object>> details(String sequenceNbr) {
JSONObject result = new JSONObject(); Map<String, Map<String, Object>> resultMap = new HashMap<>();
if (!ObjectUtils.isEmpty(sequenceNbr)) { if (ObjectUtils.isEmpty(sequenceNbr)) {
Map<String, Object> projectContraptionMap = this.getBaseMapper().getDetail(sequenceNbr); resultMap.put(EQUIP_INFO_FORM_ID, Collections.emptyMap());
if (projectContraptionMap != null) { return resultMap;
List<Map<String, Object>> detailList = this.getBaseMapper().selectEquipList((Long) projectContraptionMap.get("sequenceNbr"));
result.putAll(projectContraptionMap);
result.put("detailList", detailList);
new DefaultUseRegisterResult(result).getData();
new FillingEditPermForCurrentUser(result).getData();
} }
} var baseMapper = this.getBaseMapper();
return result; Map<String, Object> projectContraptionMap = Optional.ofNullable(baseMapper.getDetail(sequenceNbr))
.map(map -> {
commonServiceImpl.convertStringToJsonobject(map, jsonFields);
map.put("pipelineList", baseMapper.selectEquipList((String) map.get("SEQUENCE_NBR")));
return map;
})
.orElse(Collections.emptyMap());
resultMap.put(EQUIP_INFO_FORM_ID, projectContraptionMap);
return resultMap;
} }
} }
\ No newline at end of file
...@@ -224,4 +224,28 @@ public class IdxBizJgProjectContraption extends BaseEntity { ...@@ -224,4 +224,28 @@ public class IdxBizJgProjectContraption extends BaseEntity {
*/ */
@TableField("data_source") @TableField("data_source")
private String dataSource; private String dataSource;
/**
* 数据来源名字
*/
@TableField(exist = false)
private String dataSourceName;
/**
* 是否可编辑
*/
@TableField(exist = false)
private Boolean can_edit;
/**
* 是否可删除
*/
@TableField(exist = false)
private Boolean can_delete;
/**
* 使用地址
*/
@TableField(exist = false)
private String fullAddress;
} }
...@@ -111,19 +111,19 @@ public class IdxBizJgTechParamsPipeline extends TzsBaseEntity { ...@@ -111,19 +111,19 @@ public class IdxBizJgTechParamsPipeline extends TzsBaseEntity {
private String endPosition; private String endPosition;
/** /**
* * 设计-介质
*/ */
@TableField("\"PRESSURE\"") @TableField("\"PRESSURE\"")
private String pressure; private String pressure;
/** /**
* * 设计-介质
*/ */
@TableField("\"TEMPERATURE\"") @TableField("\"TEMPERATURE\"")
private String temperature; private String temperature;
/** /**
* * 设计-介质
*/ */
@TableField("\"MEDIUM\"") @TableField("\"MEDIUM\"")
private String medium; private String medium;
......
...@@ -14,7 +14,22 @@ import java.util.Map; ...@@ -14,7 +14,22 @@ import java.util.Map;
*/ */
public interface IdxBizJgProjectContraptionMapper extends BaseMapper<IdxBizJgProjectContraption> { public interface IdxBizJgProjectContraptionMapper extends BaseMapper<IdxBizJgProjectContraption> {
Map<String, Object> getDetail(@Param("sequenceNbr")Long sequenceNbr); Map<String, Object> getDetail(@Param("sequenceNbr") String sequenceNbr);
List<Map<String, Object>> selectEquipList(@Param("sequenceNbr")Long sequenceNbr); List<Map<String, Object>> selectEquipList(@Param("sequenceNbr") String sequenceNbr);
/**
* 统计工程装置的引用次数(非待提交、非已撤回、非已驳回)
*
* @param projectContraptionId 工程装置唯一标识
* @return 被引用次数 > 0 则设备不可编辑
*/
Integer countContraptionInUseTimesForEdit(@Param("projectContraptionId") Long projectContraptionId);
/**
* 统计设备被引用的次数(只有存在就算引用-作废除外)
* @param projectContraptionId 设备唯一标识
* @return 被引用次数 > 0 则设备不可删除
*/
Integer countContraptionInUseTimesForDelete(@Param("projectContraptionId") Long projectContraptionId);
} }
...@@ -6,7 +6,12 @@ ...@@ -6,7 +6,12 @@
SELECT SELECT
SEQUENCE_NBR, SEQUENCE_NBR,
USE_UNIT_CREDIT_CODE, USE_UNIT_CREDIT_CODE,
EQU_LIST,
EQU_CATEGORY,
EQU_DEFINE, EQU_DEFINE,
EQU_LIST_NAME,
EQU_CATEGORY_NAME,
EQU_DEFINE_NAME,
CITY, CITY,
COUNTY, COUNTY,
PRODUCT_QUALIFICATION_CERTIFICATE, PRODUCT_QUALIFICATION_CERTIFICATE,
...@@ -34,14 +39,11 @@ ...@@ -34,14 +39,11 @@
END_LATITUDE_LONGITUDE, END_LATITUDE_LONGITUDE,
IS_INTO_MANAGEMENT, IS_INTO_MANAGEMENT,
REC_DATE, REC_DATE,
EQU_CATEGORY,
PROJECT_CONTRAPTION_NO, PROJECT_CONTRAPTION_NO,
USC_UNIT_NAME, USC_UNIT_NAME,
SUPERVISORY_CODE, SUPERVISORY_CODE,
EQU_LIST,
PROVINCE_NAME, PROVINCE_NAME,
DATA_SOURCE, DATA_SOURCE,
EQU_DEFINE_NAME,
USE_UNIT_NAME USE_UNIT_NAME
FROM FROM
IDX_BIZ_JG_PROJECT_CONTRAPTION ibjpc IDX_BIZ_JG_PROJECT_CONTRAPTION ibjpc
...@@ -51,7 +53,7 @@ ...@@ -51,7 +53,7 @@
<select id="selectEquipList" resultType="java.util.Map"> <select id="selectEquipList" resultType="java.util.Map">
SELECT SELECT
ibjtpp."PIPE_NAME" as productName, ibjtpp."PIPE_NAME" as pipeName,
ibjtpp."PIPELINE_NUMBER" as pipelineNumber, ibjtpp."PIPELINE_NUMBER" as pipelineNumber,
ibjtpp."DEVICE_LEVEL" as deviceLevel, ibjtpp."DEVICE_LEVEL" as deviceLevel,
ibjtpp."NOMINAL_DIAMETER" as nominalDiameter, ibjtpp."NOMINAL_DIAMETER" as nominalDiameter,
...@@ -60,6 +62,9 @@ ...@@ -60,6 +62,9 @@
ibjtpp."PRESSURE" as pressure, ibjtpp."PRESSURE" as pressure,
ibjtpp."TEMPERATURE" as temperature, ibjtpp."TEMPERATURE" as temperature,
ibjtpp."MEDIUM" as medium, ibjtpp."MEDIUM" as medium,
ibjtpp."WORK_PRESSURE" as workPressure,
ibjtpp."WORK_TEMPERATURE" as workTemperature,
ibjtpp."WORK_MEDIUM" as workMedium,
ibjtpp."REMARKS" as remarks, ibjtpp."REMARKS" as remarks,
ibjidi."INSPECT_ORG_NAME" as inspectOrgName, ibjidi."INSPECT_ORG_NAME" as inspectOrgName,
ibjidi."INSPECT_CONCLUSION" as inspectConclusion, ibjidi."INSPECT_CONCLUSION" as inspectConclusion,
...@@ -67,7 +72,8 @@ ...@@ -67,7 +72,8 @@
ibjdi."DESIGN_UNIT_NAME" as designUnitName, ibjdi."DESIGN_UNIT_NAME" as designUnitName,
ibjci."USC_UNIT_NAME" as uscUnitName, ibjci."USC_UNIT_NAME" as uscUnitName,
ibjci."USC_DATE" as uscDate, ibjci."USC_DATE" as uscDate,
ibjui."USE_DATE" as useDate ibjui."USE_DATE" as useDate,
ibjui."RECORD" as record
FROM FROM
idx_biz_jg_use_info ibjui idx_biz_jg_use_info ibjui
LEFT JOIN idx_biz_jg_supervision_info ibjsi ON ibjui.RECORD = ibjsi.RECORD LEFT JOIN idx_biz_jg_supervision_info ibjsi ON ibjui.RECORD = ibjsi.RECORD
...@@ -80,4 +86,46 @@ ...@@ -80,4 +86,46 @@
WHERE WHERE
ibjui.project_contraption_id = #{sequenceNbr} ibjui.project_contraption_id = #{sequenceNbr}
</select> </select>
<select id="countContraptionInUseTimesForEdit" resultType="java.lang.Integer">
SELECT
SUM(inUseNumber)
FROM (
SELECT
COUNT(1) as inUseNumber
FROM
tzs_jg_use_registration a
WHERE a.project_contraption_id = #{projectContraptionId}
AND a.is_delete = 0
AND (a.status <![CDATA[ <> ]]> '使用单位待提交' and a.status <![CDATA[ <> ]]> '一级受理已驳回' and a.status <![CDATA[ <> ]]> '使用单位已撤回' and a.status <![CDATA[ <> ]]> '已作废')
UNION
SELECT
COUNT(1) as inUseNumber
FROM
tzs_jg_installation_notice a
WHERE a.project_contraption_id = #{projectContraptionId}
AND (a.notice_status <![CDATA[ <> ]]> '6614' and a.notice_status <![CDATA[ <> ]]> '6615' and a.notice_status <![CDATA[ <> ]]> '6610' and a.notice_status <![CDATA[ <> ]]> '6617')
)
</select>
<select id="countContraptionInUseTimesForDelete" resultType="java.lang.Integer">
SELECT
SUM(inUseNumber)
FROM (
SELECT
COUNT(1) AS inUseNumber
FROM
tzs_jg_use_registration a
WHERE a.project_contraption_id = #{projectContraptionId}
AND a.is_delete = 0
AND ( a.status <![CDATA[ <> ]]> '已作废')
UNION
SELECT
COUNT(1) AS inUseNumber
FROM
tzs_jg_installation_notice a
WHERE a.project_contraption_id = #{projectContraptionId}
AND (a.notice_status <![CDATA[ <> ]]> '6617')
)
</select>
</mapper> </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