Commit 6940b0f2 authored by suhuiguang's avatar suhuiguang

fix(大编辑):bug修复

1.车用气瓶判断使用登记证是否在使用,未校验空bug修改
parent 3a019bfc
......@@ -155,6 +155,8 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
String isRegistrationNumberUsedByOtherUnits(@Param("useRegistrationCode") String useRegistrationCode, @Param("companyCode") String companyCode);
List<String> isRegistrationNumberUsedByOtherUnits2(@Param("useRegistrationCode") String useRegistrationCode, @Param("companyCode") String companyCode);
/**
* 查询维保超期的设备
*/
......
......@@ -1006,7 +1006,21 @@
AND joi.CLAIM_STATUS = '已认领'
</where>
</select>
<select id="isRegistrationNumberUsedByOtherUnits2" resultType="java.lang.String">
SELECT jui."USE_UNIT_NAME"
FROM idx_biz_jg_register_info jri
LEFT JOIN idx_biz_jg_other_info joi ON joi."RECORD" = jri."RECORD"
LEFT JOIN idx_biz_jg_use_info jui ON jui."RECORD" = jri."RECORD"
<where>
<if test="useRegistrationCode != null and useRegistrationCode != ''">
jri."USE_ORG_CODE" = #{useRegistrationCode}
</if>
<if test="companyCode != null and companyCode != ''">
AND jui."USE_UNIT_CREDIT_CODE" <![CDATA[ <> ]]> #{companyCode}
</if>
AND joi.CLAIM_STATUS = '已认领'
</where>
</select>
<select id="isRegistrationNumberUsedByOtherUnits" resultType="java.lang.String">
SELECT jui."USE_UNIT_NAME"
FROM idx_biz_jg_register_info jri
......
......@@ -80,7 +80,7 @@ public class PieLineDataChangeServiceImpl {
equipChangeDataUpdateServiceImpl.updateRegisterEsDataPieLine(projectContraptionChangeDataDto);
}
public void deletePieLineBatch(List<PipelineChangeItemDto> deletedPieLines, List<FieldChangeMeta> allChangeColumns, String applyNo) {
public void deletePieLineBatch(List<PipelineChangeItemDto> deletedPieLines, List<FieldChangeMeta> allChangeColumns, String projectContraptionId) {
// todo 构建日志 allChangeColumns afterData = null
// todo 数据库管道删除
// todo es管道删除
......
......@@ -14,7 +14,6 @@ import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.*;
......@@ -177,7 +176,7 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
// 产权单位信息
if (StringUtils.isNotEmpty(useInfoNew.getEstateUnitCreditCode())) {
CompanyBo companyBo = commonEquipDataProcessService.getCommonMapper().queryCompanyByCode(useInfoNew.getEstateUnitCreditCode());
Optional.ofNullable(companyBo).ifPresent(item ->useInfoNew.setEstateUnitName(companyBo.getCompanyName()));
Optional.ofNullable(companyBo).ifPresent(item -> useInfoNew.setEstateUnitName(companyBo.getCompanyName()));
}
}
......@@ -192,13 +191,13 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
}
}
} else { // 气瓶逻辑,使用单位下不能重复
if (StringUtils.isNotEmpty(useInfoOld.getUseUnitCreditCode())) {
if (StringUtils.isNotEmpty(useInfoOld.getUseUnitCreditCode()) && StringUtils.isNotEmpty(registerInfoNew.getUseOrgCode())) {
// 需求 35094 历史设备(有使用登记证)需按证录入。录入时先录入使用登记证编号。
// 需验证录入的使用登记证编号平台是否跟当前用户(使用单位类型)一致,如跟当前用户不一致,系统给出提示“该使用登记证编号”已被“单位名称“使用”,请确认后再录入”。
// 历史设备不限制使用登记证编号在一个单位重复录入,但需验证使用登记证编号+单位内编号唯一。(下面方法checkFactoryNumUniqueWithGasCylinder中已经校验)
String occupiedUseUnitName = commonEquipDataProcessService.getCommonService().isRegistrationNumberUsedByOtherUnits(registerInfoNew.getUseOrgCode(), useInfoOld.getUseUnitCreditCode());
if (!ValidationUtil.isEmpty(occupiedUseUnitName)) {
throw new BadRequest("该使用登记证编号已被【" + occupiedUseUnitName + "】使用,请确认后再录入!");
List<String> occupiedUseUnitNames = commonEquipDataProcessService.getCommonService().isRegistrationNumberUsedByOtherUnits(registerInfoNew.getUseOrgCode(), useInfoOld.getUseUnitCreditCode());
if (!occupiedUseUnitNames.isEmpty()) {
throw new BadRequest("该使用登记证编号已被【" + String.join(",", occupiedUseUnitNames) + "】使用,请确认后再录入!");
}
}
}
......
......@@ -33,11 +33,11 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
@Override
public List<FieldChangeMeta> handle(Map<String, Object> changeData, String defaultChangeId) {
public List<FieldChangeMeta> handle(Map<String, Object> changeData, String projectContraptionId) {
JSONObject data = (JSONObject) changeData;
// 新增编辑的管道------------------tableData
JSONArray insertOrEditPieLines = data.getJSONArray(RequestChangeData.multiDataKey);
// 删除的管道---------------------deleteData
// 删除的管道----------------------deleteData
JSONArray deletedPieLines = data.getJSONArray(RequestChangeData.deletedDataKey);
List<FieldChangeMeta> allChangeColumns = new ArrayList<>();
List<PipelineChangeItemDto> items = insertOrEditPieLines.toJavaList(PipelineChangeItemDto.class);
......@@ -47,7 +47,7 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
}
if (deletedPieLines != null && !deletedPieLines.isEmpty()) {
List<PipelineChangeItemDto> deletedPieLinesJavaList = deletedPieLines.toJavaList(PipelineChangeItemDto.class);
pieLineDataChangeService.deletePieLineBatch(deletedPieLinesJavaList, allChangeColumns, defaultChangeId);
pieLineDataChangeService.deletePieLineBatch(deletedPieLinesJavaList, allChangeColumns, projectContraptionId);
}
// 2.装置基本信息校验、保存(前端返回的装置信息为大写 需注意)
ProjectContraptionChangeDataDto projectContraptionChangeDataDto = CommonEquipDataProcessService.castMap2Bean(changeData, ProjectContraptionChangeDataDto.class);
......@@ -58,7 +58,7 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
items.forEach(item -> {
String record = item.getRecord();
if (record == null) { // 新增的管道逻辑
pieLineDataChangeService.newPieLine(projectContraptionChangeDataDto.getProjectContraptionId(), item, allChangeColumns, defaultChangeId);
pieLineDataChangeService.newPieLine(projectContraptionChangeDataDto.getProjectContraptionId(), item, allChangeColumns, projectContraptionId);
} else { // 更新逻辑
// 设计信息更新
pieLineDataChangeService.saveDesignForPieLine(record, allChangeColumns, item);
......
......@@ -3039,9 +3039,9 @@ public class CommonServiceImpl implements ICommonService {
* @param companyCode 使用登记证所在单位编码
* @return 使用的单位
*/
public String isRegistrationNumberUsedByOtherUnits(String useRegistrationCode, String companyCode) {
public List<String> isRegistrationNumberUsedByOtherUnits(String useRegistrationCode, String companyCode) {
String companyCodeReal = companyCode.contains("_") ? companyCode.split("_")[1] : companyCode;
return commonMapper.isRegistrationNumberUsedByOtherUnits(useRegistrationCode, companyCodeReal);
return commonMapper.isRegistrationNumberUsedByOtherUnits2(useRegistrationCode, companyCodeReal);
}
/**
......
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