Commit fed31821 authored by 刘林's avatar 刘林

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

parents 82e10571 fddc283a
package com.yeejoin.amos.boot.biz.common.annotation;
import com.baomidou.mybatisplus.annotation.TableField;
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
......@@ -20,6 +22,20 @@ public @interface TechnicalParameter {
String unit() default "";
/**
* 设备类别code
* @return 设备类别
*/
String[] equCategory() default {};
/**
* 设备品种code,设备品种配置空时代表,全部都有
* @return 设备品种
*/
String[] equDefine() default {};
enum ParamType {
STRING, INTEGER, FLOAT, BIG_DECIMAL, BOOLEAN, OBJECT, DATE
}
......
package com.yeejoin.amos.boot.module.common.biz.refresh.commonUpdate;
import com.yeejoin.amos.boot.module.common.api.entity.EsBaseEnterpriseInfo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.thymeleaf.util.ListUtils;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@Component
@Slf4j
@RequiredArgsConstructor
public class BaseEnterpriseUpdate {
public final String jyjcjg = "检验检测机构";
public final String jydw = "检验单位";
public final String jcdw = "检测单位";
public final String jyjgCode = "1233-1";
public final String jcjgCode = "1233-2";
public String updateJyjcUnitType(String oldUnitType, List<EsBaseEnterpriseInfo.License> unitLicences) {
// 如果单位类型中包含检验检测机构、检测单位、检验单位,且有资质信息,则更新单位类型
if ((oldUnitType.contains(jyjcjg) || oldUnitType.contains(jydw) || oldUnitType.contains(jcdw)) && !ListUtils.isEmpty(unitLicences)) {
long jydwCount = unitLicences.stream().filter(e -> jyjgCode.equals(e.getCertTypeCode()) || jydw.equals(e.getCertType())).count();
long jcdwCount = unitLicences.stream().filter(e -> jcjgCode.equals(e.getCertTypeCode()) || jcdw.equals(e.getCertType())).count();
// 如果资质中不含有检验和检测资质,则不更新单位类型
if (jydwCount == 0 && jcdwCount == 0) {
return oldUnitType;
}
// 处理旧的单位类型
Set<String> units = Arrays.stream(oldUnitType.split("#")).collect(Collectors.toSet());
units.remove(jyjcjg);
units.remove(jydw);
units.remove(jcdw);
if (jydwCount > 0) {
units.add(jydw);
}
if (jcdwCount > 0) {
units.add(jcdw);
}
return String.join("#", units);
} else {
return oldUnitType;
}
}
}
......@@ -4,13 +4,11 @@ import com.yeejoin.amos.boot.biz.common.annotation.Group;
import com.yeejoin.amos.boot.biz.common.annotation.TechnicalParameter;
import com.yeejoin.amos.boot.module.common.api.dto.ITechParamDefine;
import com.yeejoin.amos.boot.module.common.api.dto.TechParamItem;
import org.apache.commons.lang3.StringUtils;
import org.reflections.Reflections;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
public class TechParamUtil {
......@@ -33,6 +31,16 @@ public class TechParamUtil {
if (group != null && equListCode.equals(group.value())) {
for (Field field : fields) {
field.setAccessible(true);
TechParamItem techParamItem = getTechParamItem(equListCode, field);
techParamItems.add(techParamItem);
}
}
}
return techParamItems;
});
}
private static TechParamItem getTechParamItem(String equListCode, Field field) {
TechnicalParameter technicalParameter = field.getAnnotation(TechnicalParameter.class);
TechParamItem techParamItem = new TechParamItem();
techParamItem.setParamKey(technicalParameter.key());
......@@ -41,10 +49,30 @@ public class TechParamUtil {
techParamItem.setParamType(technicalParameter.type());
techParamItem.setDictCode(technicalParameter.dictCode());
techParamItem.setUnit(technicalParameter.unit());
return techParamItem;
}
public static List<TechParamItem> getParamMetaList(String equListCode, String equCategoryCode, String equDefineCode) {
return techParamsMetaMap.computeIfAbsent(equListCode, (key) -> {
List<TechParamItem> techParamItems = new ArrayList<>();
for (Class<? extends ITechParamDefine> subClass : subClasses) {
Field[] fields = subClass.getDeclaredFields();
Group group = subClass.getAnnotation(Group.class);
if (group != null && equListCode.equals(group.value())) {
for (Field field : fields) {
field.setAccessible(true);
TechnicalParameter technicalParameter = field.getAnnotation(TechnicalParameter.class);
// 设备类别配置空时代表,全部都有
boolean equCategoryMatch = technicalParameter.equCategory().length == 0 || StringUtils.isEmpty(equCategoryCode) || Arrays.asList(technicalParameter.equCategory()).contains(equCategoryCode);
// 设备品种配置空时代表,全部都有
boolean equDefineMatch = technicalParameter.equDefine().length == 0 || StringUtils.isEmpty(equDefineCode) || Arrays.asList(technicalParameter.equDefine()).contains(equDefineCode);
if(equCategoryMatch && equDefineMatch) {
TechParamItem techParamItem = getTechParamItem(equListCode, field);
techParamItems.add(techParamItem);
}
}
}
}
return techParamItems;
});
}
......
......@@ -46,4 +46,11 @@ public class EquipClaimController extends BaseController {
return ResponseHelper.buildResponse(equipClaimService.pipeEquipPage(new JSONObject(map)));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/pipeEquip/claim")
@ApiOperation(value = "认领-管道设备", httpMethod = "POST")
public ResponseModel<Object> pipeEquipClaim(@RequestBody Map<String, Object> map) {
return ResponseHelper.buildResponse(equipClaimService.pipeEquipClaim(new JSONObject(map)));
}
}
......@@ -30,6 +30,7 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
......@@ -147,8 +148,8 @@ public class JgUseRegistrationController extends BaseController {
list.getRecords().forEach(x -> {
x.put("companyType", info.getCompany().getCompanyType());
x.put("regType", "1".equals(x.get("regType")) ? "历史登记": "2".equals(x.get("regType")) ? "特殊历史登记": "新增登记");
if ("8000".equals(String.valueOf(x.get("equListCode"))) && !ValidationUtil.isEmpty(x.get("projectContraptionId"))){
x.put("canVoided", jgProjectContraptionMapper.countContraptionInUseTimesForDeleteByIntoManagement(Long.parseLong((String) x.get("projectContraptionId"))) == 0);
if ("8000".equals(String.valueOf(x.get("equListCode"))) && !ValidationUtil.isEmpty(x.get("projectContraptionId"))) {
x.put("canVoided", jgProjectContraptionMapper.countContraptionInUseTimesForDeleteByIntoManagement(Objects.toString(x.get("projectContraptionId"))) == 0);
} else {
x.put("canVoided", Optional.ofNullable(x.get("useRegistrationCode")).map(jgUseRegistrationServiceImpl::countUseTimesForInvalid)
.orElse(true));
......
......@@ -18,4 +18,6 @@ public interface IIdxBizJgConstructionInfoService extends IService<IdxBizJgConst
boolean saveOrUpdateBatch(List<IdxBizJgConstructionInfo> constructionInfoList);
IdxBizJgConstructionInfo queryNewestDetailByRecord(String record);
void updateBatchByRecord(List<IdxBizJgConstructionInfo> toUpdateConstructionInfoList);
}
......@@ -18,4 +18,6 @@ public interface IIdxBizJgDesignInfoService {
boolean saveOrUpdateBatch(List<IdxBizJgDesignInfo> designInfoList);
IdxBizJgDesignInfo getOneData(String record);
void updateBatchByRecord(List<IdxBizJgDesignInfo> toUpdateDesignInfoList);
}
......@@ -18,4 +18,6 @@ public interface IIdxBizJgFactoryInfoService {
IdxBizJgFactoryInfo getOneData(String record);
boolean saveOrUpdateBatch(List<IdxBizJgFactoryInfo> factoryInfoList);
void updateBatchByRecord(List<IdxBizJgFactoryInfo> toUpdateFactoryInfoList);
}
package com.yeejoin.amos.boot.module.jg.biz.service;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgInspectionDetectionInfo;
import java.util.List;
/**
* 安全追溯-检验检测信息表接口类
......@@ -27,4 +28,5 @@ public interface IIdxBizJgInspectionDetectionInfoService {
*/
List<IdxBizJgInspectionDetectionInfo> queryLastedGroupByInspectType(String record);
void updateBatchByRecord(List<IdxBizJgInspectionDetectionInfo> toUpdateInspectionDetectionInfoList);
}
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo;
import java.util.List;
/**
......@@ -19,4 +20,6 @@ public interface IIdxBizJgOtherInfoService {
void saveBatch(List<IdxBizJgOtherInfo> otherInfoList);
boolean saveOrUpdateBatch(List<IdxBizJgOtherInfo> otherInfoList);
void updateBatchByRecord(List<IdxBizJgOtherInfo> toUpdateOtherInfoList);
}
......@@ -19,4 +19,6 @@ public interface IIdxBizJgSupervisionInfoService extends IService<IdxBizJgSuperv
IdxBizJgSupervisionInfo getOneData(String record);
boolean saveOrUpdateBatch(List<IdxBizJgSupervisionInfo> supervisionInfoList);
void updateBatchByRecord(List<IdxBizJgSupervisionInfo> toUpdateSupervisionInfoList);
}
......@@ -4,6 +4,8 @@ package com.yeejoin.amos.boot.module.jg.biz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgTechParamsPipeline;
import java.util.List;
/**
* 安全追溯-压力管道接口类
*
......@@ -15,4 +17,6 @@ public interface IIdxBizJgTechParamsPipelineService extends IService<IdxBizJgTec
void saveOrUpdateData(IdxBizJgTechParamsPipeline pipeline);
IdxBizJgTechParamsPipeline getOneData(String record);
void updateBatchByRecord(List<IdxBizJgTechParamsPipeline> toUpdateParamsPipelineList);
}
......@@ -23,4 +23,6 @@ public interface IIdxBizJgUseInfoService extends IService<IdxBizJgUseInfo> {
boolean saveBatch(List<IdxBizJgUseInfo> useInfoList);
boolean saveOrUpdateBatch(List<IdxBizJgUseInfo> useInfoList);
void updateBatchByRecord(List<IdxBizJgUseInfo> toUpdateUseInfoList);
}
......@@ -29,6 +29,7 @@ import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo;
import com.yeejoin.amos.boot.module.common.api.entity.EsBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo;
import com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission;
import com.yeejoin.amos.boot.module.common.biz.refresh.commonUpdate.BaseEnterpriseUpdate;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeEqDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.dto.PieLineEquipContraptionDto;
......@@ -39,8 +40,8 @@ import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.handler.strategy.ProblemHandleStrategy;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionInfoService;
import com.yeejoin.amos.boot.module.jg.biz.refresh.StatisticsDataUpdateService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionInfoService;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipWaitRefreshDataQualityScore;
import com.yeejoin.amos.boot.module.ymt.api.dto.ProjectWaitRefreshDataQualityScore;
import com.yeejoin.amos.boot.module.ymt.api.dto.RefreshDataDto;
......@@ -141,6 +142,8 @@ public class DataHandlerServiceImpl {
private final IdxBizJgRegisterInfoMapper registerInfoMapper;
private final BaseEnterpriseUpdate baseEnterpriseUpdate;
/**
* 安装告知压力管道历史数据修复-详情中的设备列表修改为汇总表格式
......@@ -1437,6 +1440,11 @@ public class DataHandlerServiceImpl {
return esLicense;
}).collect(Collectors.toList());
esBaseEnterpriseInfo.setLicenses(licenses);
try {
esBaseEnterpriseInfo.setUnitType(baseEnterpriseUpdate.updateJyjcUnitType(enterpriseInfo.getUnitType(), licenses));
} catch (Exception e) {
log.error("单位类型转换失败:{}", enterpriseInfo, e);
}
return esBaseEnterpriseInfo;
}).collect(Collectors.toList());
enterpriseInfoDao.saveAll(esBaseEnterpriseInfos);
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.module.jg.biz.core.BaseService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgConstructionInfoService;
import com.yeejoin.amos.boot.module.ymt.api.dto.IdxBizJgConstructionInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgConstructionInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgConstructionInfoMapper;
import org.springframework.beans.BeanUtils;
......@@ -43,6 +43,11 @@ public class IdxBizJgConstructionInfoServiceImpl extends BaseService<IdxBizJgCon
return result;
}
@Override
public void updateBatchByRecord(List<IdxBizJgConstructionInfo> toUpdateConstructionInfoList) {
toUpdateConstructionInfoList.forEach(info -> super.update(info, new LambdaUpdateWrapper<IdxBizJgConstructionInfo>().eq(IdxBizJgConstructionInfo::getRecord, info.getRecord())));
}
/**
* 查询最新的一条施工信息主键
* @param record 设备唯一标识
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.module.jg.biz.core.BaseService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgDesignInfoService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgDesignInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgDesignInfoMapper;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
......@@ -36,6 +38,11 @@ public class IdxBizJgDesignInfoServiceImpl extends BaseService<IdxBizJgDesignInf
return this.getOne(new QueryWrapper<IdxBizJgDesignInfo>().eq("RECORD", record));
}
@Override
public void updateBatchByRecord(List<IdxBizJgDesignInfo> toUpdateDesignInfoList) {
toUpdateDesignInfoList.forEach(info -> super.update(info, new LambdaUpdateWrapper<IdxBizJgDesignInfo>().eq(IdxBizJgDesignInfo::getRecord, info.getRecord())));
}
public List<IdxBizJgDesignInfo> checkOverDesignRegNum(List<String> records) {
if (records == null || records.isEmpty()) {
return Collections.emptyList();
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.module.jg.biz.core.BaseService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgFactoryInfoService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgFactoryInfo;
......@@ -31,4 +32,9 @@ public class IdxBizJgFactoryInfoServiceImpl extends BaseService<IdxBizJgFactoryI
public boolean saveOrUpdateBatch(List<IdxBizJgFactoryInfo> factoryInfoList) {
return super.saveOrUpdateBatch(factoryInfoList);
}
@Override
public void updateBatchByRecord(List<IdxBizJgFactoryInfo> toUpdateFactoryInfoList) {
toUpdateFactoryInfoList.forEach(info -> super.update(info, new LambdaUpdateWrapper<IdxBizJgFactoryInfo>().eq(IdxBizJgFactoryInfo::getRecord, info.getRecord())));
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.module.jg.biz.core.BaseService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionInfoService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgInspectionDetectionInfo;
......@@ -11,7 +11,6 @@ import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
......@@ -79,4 +78,9 @@ public class IdxBizJgInspectionDetectionInfoServiceImpl extends BaseService<IdxB
public List<IdxBizJgInspectionDetectionInfo> queryLastedGroupByInspectType(String record) {
return this.getBaseMapper().selectLastedGroupByInspectType(record);
}
@Override
public void updateBatchByRecord(List<IdxBizJgInspectionDetectionInfo> toUpdateInspectionDetectionInfoList) {
toUpdateInspectionDetectionInfoList.forEach(info -> super.update(info, new LambdaUpdateWrapper<IdxBizJgInspectionDetectionInfo>().eq(IdxBizJgInspectionDetectionInfo::getRecord, info.getRecord())));
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.module.jg.biz.core.BaseService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgOtherInfoService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo;
......@@ -36,4 +37,9 @@ public class IdxBizJgOtherInfoServiceImpl extends BaseService<IdxBizJgOtherInfoM
public boolean saveOrUpdateBatch(List<IdxBizJgOtherInfo> otherInfoList) {
return super.saveOrUpdateBatch(otherInfoList);
}
@Override
public void updateBatchByRecord(List<IdxBizJgOtherInfo> toUpdateOtherInfoList) {
toUpdateOtherInfoList.forEach(info -> super.update(info, new LambdaUpdateWrapper<IdxBizJgOtherInfo>().eq(IdxBizJgOtherInfo::getRecord, info.getRecord())));
}
}
\ No newline at end of file
......@@ -14,6 +14,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
......@@ -826,34 +827,8 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
String dataSource = (String) equipmentInfoForm.get(DATA_SOURCE);
if (dataSource.contains("his")) {
String useRegistrationCode = Optional.ofNullable(equipmentInfoForm.get("useRegistrationCode"))
.map(String::valueOf)
.map(String::trim)
.orElse(null);
if (useRegistrationCode == null) {
throw new BadRequest("请填写使用登记证编号后进行暂存!");
}
String equipId = String.valueOf(equipmentInfoForm.get("RECORD"));
// 校验使用登记证编号的唯一性
if (!CylinderTypeEnum.CYLINDER.getCode().equals(equipmentInfoForm.get("EQU_CATEGORY")) && commonService.useRegistrationCertificateAccountUnique(useRegistrationCode, equipId)) {
throw new BadRequest("使用登记证编号已存在!");
} else {
if (CylinderTypeEnum.CYLINDER.getCode().equals(equipmentInfoForm.get("EQU_CATEGORY"))) {
// 需求 35094 历史设备(有使用登记证)需按证录入。录入时先录入使用登记证编号。
// 需验证录入的使用登记证编号平台是否跟当前用户(使用单位类型)一致,如跟当前用户不一致,系统给出提示“该使用登记证编号”已被“单位名称“使用”,请确认后再录入”。
// 历史设备不限制使用登记证编号在一个单位重复录入,但需验证使用登记证编号+单位内编号唯一。(下面方法checkFactoryNumUniqueWithGasCylinder中已经校验)
String occupiedUseUnitName = commonService.isRegistrationNumberUsedByOtherUnits(useRegistrationCode);
if (!ValidationUtil.isEmpty(occupiedUseUnitName)) {
throw new BadRequest("该使用登记证编号已被【" + occupiedUseUnitName + "】使用,请确认后再录入!");
}
}
}
String regType = Optional.ofNullable(equipmentInfoForm.get("EQU_LIST"))
.filter(code -> CylinderTypeEnum.CYLINDER.getCode().equals(code))
.map(code -> "1".equals(equipmentInfoForm.get("WHETHER_VEHICLE_CYLINDER")) ? "vehicle" : "cylinder")
.orElse("set");
// 判断是否使用未来系统生成编号
idxBizJgRegisterInfoService.checkUseRegistrationCode(useRegistrationCode, regType);
// 使用登记证编号校验
this.checkUseRegistrationCode(equipmentInfoForm);
}
try {
......@@ -896,7 +871,40 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
return ResponseHelper.buildResponse(record);
}
/**
* 使用登记证编号相关校验
* @param equipmentInfoForm
*/
public void checkUseRegistrationCode(LinkedHashMap equipmentInfoForm) {
String useRegistrationCode = Optional.ofNullable(equipmentInfoForm.get("useRegistrationCode"))
.map(String::valueOf)
.map(String::trim)
.orElse(null);
if (useRegistrationCode == null) {
throw new BadRequest("请填写使用登记证编号后进行暂存!");
}
String equipId = String.valueOf(equipmentInfoForm.get("RECORD"));
// 校验使用登记证编号的唯一性
if (!CylinderTypeEnum.CYLINDER.getCode().equals(equipmentInfoForm.get("EQU_CATEGORY")) && commonService.useRegistrationCertificateAccountUnique(useRegistrationCode, equipId)) {
throw new BadRequest("使用登记证编号已存在!");
} else {
if (CylinderTypeEnum.CYLINDER.getCode().equals(equipmentInfoForm.get("EQU_CATEGORY"))) {
// 需求 35094 历史设备(有使用登记证)需按证录入。录入时先录入使用登记证编号。
// 需验证录入的使用登记证编号平台是否跟当前用户(使用单位类型)一致,如跟当前用户不一致,系统给出提示“该使用登记证编号”已被“单位名称“使用”,请确认后再录入”。
// 历史设备不限制使用登记证编号在一个单位重复录入,但需验证使用登记证编号+单位内编号唯一。(下面方法checkFactoryNumUniqueWithGasCylinder中已经校验)
String occupiedUseUnitName = commonService.isRegistrationNumberUsedByOtherUnits(useRegistrationCode);
if (!ValidationUtil.isEmpty(occupiedUseUnitName)) {
throw new BadRequest("该使用登记证编号已被【" + occupiedUseUnitName + "】使用,请确认后再录入!");
}
}
}
String regType = Optional.ofNullable(equipmentInfoForm.get("EQU_LIST"))
.filter(code -> CylinderTypeEnum.CYLINDER.getCode().equals(code))
.map(code -> "1".equals(equipmentInfoForm.get("WHETHER_VEHICLE_CYLINDER")) ? "vehicle" : "cylinder")
.orElse("set");
// 判断是否使用未来系统生成编号
idxBizJgRegisterInfoService.checkUseRegistrationCode(useRegistrationCode, regType);
}
private Object checkAndCast(Object obj) {
......@@ -5232,4 +5240,8 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
}
return result;
}
public void updateBatchByRecord(List<IdxBizJgRegisterInfo> toUpdateRegisterInfoList) {
toUpdateRegisterInfoList.forEach(info -> super.update(info, new LambdaUpdateWrapper<IdxBizJgRegisterInfo>().eq(IdxBizJgRegisterInfo::getRecord, info.getRecord())));
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.module.jg.biz.core.BaseService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgSupervisionInfoService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgSupervisionInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgSupervisionInfoMapper;
import org.springframework.stereotype.Service;
import java.util.List;
/**
......@@ -30,4 +32,9 @@ public class IdxBizJgSupervisionInfoServiceImpl extends BaseService<IdxBizJgSupe
public boolean saveOrUpdateBatch(List<IdxBizJgSupervisionInfo> supervisionInfoList) {
return super.saveOrUpdateBatch(supervisionInfoList);
}
@Override
public void updateBatchByRecord(List<IdxBizJgSupervisionInfo> toUpdateSupervisionInfoList) {
toUpdateSupervisionInfoList.forEach(info -> super.update(info, new LambdaUpdateWrapper<IdxBizJgSupervisionInfo>().eq(IdxBizJgSupervisionInfo::getRecord, info.getRecord())));
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.module.jg.biz.core.BaseService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgTechParamsPipelineService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgTechParamsPipeline;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgTechParamsPipelineMapper;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 安全追溯-压力管道服务实现类
*
......@@ -23,4 +26,9 @@ public class IdxBizJgTechParamsPipelineServiceImpl extends BaseService<IdxBizJgT
public IdxBizJgTechParamsPipeline getOneData(String record) {
return this.getOne(new QueryWrapper<IdxBizJgTechParamsPipeline>().eq("RECORD", record));
}
@Override
public void updateBatchByRecord(List<IdxBizJgTechParamsPipeline> toUpdateParamsPipelineList) {
toUpdateParamsPipelineList.forEach(info -> super.update(info, new LambdaUpdateWrapper<IdxBizJgTechParamsPipeline>().eq(IdxBizJgTechParamsPipeline::getRecord, info.getRecord())));
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.module.jg.biz.core.BaseService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService;
import com.yeejoin.amos.boot.module.ymt.api.dto.IdxBizJgUseInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgUseInfoMapper;
import org.springframework.stereotype.Service;
......@@ -44,4 +44,9 @@ public class IdxBizJgUseInfoServiceImpl extends BaseService<IdxBizJgUseInfoMappe
public boolean saveOrUpdateBatch(List<IdxBizJgUseInfo> useInfoList) {
return super.saveOrUpdateBatch(useInfoList);
}
@Override
public void updateBatchByRecord(List<IdxBizJgUseInfo> toUpdateUseInfoList) {
toUpdateUseInfoList.forEach(useInfo -> super.update(useInfo, new LambdaUpdateWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getRecord, useInfo.getRecord())));
}
}
\ No newline at end of file
......@@ -602,6 +602,13 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
jgCertificateChangeRecordEq.setProductCode(Objects.toString(object.get("factoryNum"),""));
jgCertificateChangeRecordEqs.add(jgCertificateChangeRecordEq);
});
// 新车牌号写入
LambdaUpdateWrapper<IdxBizJgRegisterInfo> updateWrapper = new LambdaUpdateWrapper<IdxBizJgRegisterInfo>();
updateWrapper.in(IdxBizJgRegisterInfo::getRecord, collect);
updateWrapper.set(IdxBizJgRegisterInfo::getCarNumber, jgChangeVehicleRegistrationUnit.getNewCarNumber() != null ? jgChangeVehicleRegistrationUnit.getNewCarNumber() : jgChangeVehicleRegistrationUnit.getCarNumber());
idxBizJgRegisterInfoService.update(updateWrapper);
// 保存设备流水信息
jgCertificateChangeRecordEqService.saveBatch(jgCertificateChangeRecordEqs);
......
......@@ -396,7 +396,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
});
// 压力管道添加作废标识:不在流程中即可作废
if (EquipmentClassifityEnum.YLGD.getCode().equals(notice.get("equListCode")) && !ValidationUtil.isEmpty(notice.get("projectContraptionId"))) {
notice.put("canVoided", idxBizJgProjectContraptionMapper.countContraptionInUseTimesForDeleteByIntoManagement(Long.parseLong(String.valueOf(notice.get("projectContraptionId")))) == 0);
notice.put("canVoided", idxBizJgProjectContraptionMapper.countContraptionInUseTimesForDeleteByIntoManagement(String.valueOf(notice.get("projectContraptionId"))) == 0);
}
}).collect(Collectors.toList());
......
......@@ -1005,14 +1005,6 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgUseRegistrationManageService.updateBatchById(jgUseRegistrationManageList);
}
} else {
SuperviseInfo superviseInfo = new SuperviseInfo();
superviseInfo.setOrgBranchCode("");
superviseInfo.setOrgBranchName("");
LambdaQueryWrapper<SuperviseInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SuperviseInfo::getRecord, equipIds);
superviseInfoMapper.update(superviseInfo, wrapper);
map1.put("ORG_BRANCH_CODE", "");
map1.put("ORG_BRANCH_NAME", "");
map1.put("EQU_STATE", String.valueOf(EquimentEnum.ZHUXIAO.getCode()));
idxBizJgUseInfoMapper.batchUpdateUseInfo(equipIds, EquimentEnum.ZHUXIAO.getCode());
// 修改证管理表中的证的状态
......
......@@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
......@@ -20,7 +21,7 @@ import java.util.List;
*/
@Data
@ApiModel(value = "JyjcInspectionResultDataModel", description = "检验检测结果数据接收")
public class JyjcInspectionResultDataModel {
public class JyjcInspectionResultDataModel implements Serializable {
private static final long serialVersionUID = 1L;
......
package com.yeejoin.amos.boot.module.statistcs.biz.utils;
import com.yeejoin.amos.boot.biz.common.annotation.TechnicalParameter;
import com.yeejoin.amos.boot.module.common.api.dto.ITechParamDefine;
import org.reflections.Reflections;
import java.lang.reflect.Field;
import java.util.AbstractMap;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
public class TechParamUtil {
private static final Set<Class<? extends ITechParamDefine>> subClasses;
private static final ConcurrentHashMap<String, String> allTechParamsMap = new ConcurrentHashMap<>();
static {
//▼ 指定扫描包路径(根据实际项目调整)
Reflections reflections = new Reflections("com.yeejoin.amos.boot.module.common.api.dto");
//▼ 获取所有继承ITechParamsMeta的类
subClasses = reflections.getSubTypesOf(ITechParamDefine.class);
for (Class<? extends ITechParamDefine> subClass : subClasses) {
Field[] fields = subClass.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
TechnicalParameter technicalParameter = field.getAnnotation(TechnicalParameter.class);
allTechParamsMap.put(technicalParameter.key(), technicalParameter.label());
}
}
}
/**
* 获取所有设备类型的技术参数
*
* @return result
*/
public static AbstractMap<String, String> getAllTechParams() {
return allTechParamsMap;
}
}
......@@ -10,6 +10,7 @@ import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo;
import com.yeejoin.amos.boot.module.common.api.entity.TzsDataRefreshMessage;
import com.yeejoin.amos.boot.module.common.api.service.IDataRefreshHandler;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.common.biz.refresh.commonUpdate.BaseEnterpriseUpdate;
import com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseUnitLicence;
......@@ -40,6 +41,8 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler {
private final EsUserInfoDao esUserInfoDao;
private final BaseEnterpriseUpdate baseEnterpriseUpdate;
@Override
public String supportType() {
return "enterprise";
......@@ -74,6 +77,11 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler {
return esLicense;
}).collect(Collectors.toList());
esBaseEnterpriseInfo.setLicenses(licenses);
try {
esBaseEnterpriseInfo.setUnitType(baseEnterpriseUpdate.updateJyjcUnitType(enterpriseInfo.getUnitType(), licenses));
} catch (Exception e) {
log.error("单位类型转换失败:{}", enterpriseInfo, e);
}
enterpriseInfoDao.save(esBaseEnterpriseInfo);
// 人员更新冗余的单位信息
List<TzsUserInfo> userOfOneUnit = userInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>().eq(TzsUserInfo::getUnitCode, enterpriseInfo.getUseUnitCode()).eq(BaseEntity::getIsDelete, false).select(BaseEntity::getSequenceNbr));
......
......@@ -57,7 +57,7 @@ public interface IdxBizJgProjectContraptionMapper extends BaseMapper<IdxBizJgPro
* @param projectContraptionId 设备唯一标识
* @return 被引用次数 > 0 则设备不可删除
*/
Integer countContraptionInUseTimesForDeleteByIntoManagement(@Param("projectContraptionId") Long projectContraptionId);
Integer countContraptionInUseTimesForDeleteByIntoManagement(@Param("projectContraptionId") String projectContraptionId);
List<IdxBizJgProjectContraption> selectErrorManagementProject();
......
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