Commit 7ec9d511 authored by tianbo's avatar tianbo

feat(jg): 添加接收单位代码字段并优化数据处理逻辑

- 在 ChangeEquipImpactCertListener 中增加对 receiveCompanyCode 字段的处理 - 更新 ChangeFieldWatchConstants 中 USE_CERT_MONITORED_FIELDS 和 USE_FLAG_MONITORED_FIELDS 监控字段集合 - 在 CommonCustomConverter 中新增 ReceiveCompanyCodeConverter 用于解析接收单位名称 - 修改 CommonEquipDataProcessService 获取已登记设备对应的接收单位代码 - 删除废弃的 CylinderFieldValidationExample 示例文件 - 在 IdxBizJgUseInfo 实体中添加 receiveCompanyCode 字段定义 - 调整 JgUseRegistrationMapper.xml 查询语句以兼容 is_delete为空的情况 -优化 JsonColumnDiffHandler 和 StringColumnDiffHandler 处理逻辑避免设置不存在的字段 - 完善 NewEquipDataChangeHandler 对 receiveCompanyCode 和 oRegDate 的变更处理 - 注入 UseRegisterUpdateService 并移除无用导入及实体引用
parent a15956e1
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 通用气瓶字段校验枚举示例
* 支持多种气瓶类型,每种类型可以有不同的必填和唯一性要求
*/
public class CylinderFieldValidationExample {
/**
* 字段校验接口
*/
public interface FieldValidation {
boolean isRequired();
boolean isUnique();
String getFieldName();
}
/**
* 通用气瓶字段枚举
*/
public enum CylinderField implements FieldValidation {
// 通用字段
SEQUENCE_CODE("sequenceCode", true, true),
CREDIT_CODE("creditCode", true, false),
FILLING_UNIT_NAME("fillingUnitName", true, false),
INSPECTOR_USER("inspectorUser", true, false),
INSPECTION_DATE("inspectionDate", true, false),
IS_VALID("isValid", false, false),
IS_SAME("same", false, false),
IS_REGULATIONS("isRegulations", false, false),
IS_COMPLIANCE_WITH_GBT("isComplianceWithGBT", false, false),
HAVE_STILL_PRESSURE("haveStillPressure", false, false),
IS_COMPLETE("isComplete", false, false),
HAVE_SECURITY_DOCUMENTS("haveSecurityDocuments", false, false),
FILL_BEFORE_ITEM("fillBeforeItem", false, false),
CHECK_RESULTS("checkResults", false, false),
NONCONFORMANCES("nonconformances", false, false),
SYNC_DATE("syncDate", false, false),
SYNC_STATE("syncState", false, false);
private final String fieldName;
private final boolean required;
private final boolean unique;
CylinderField(String fieldName, boolean required, boolean unique) {
this.fieldName = fieldName;
this.required = required;
this.unique = unique;
}
@Override
public boolean isRequired() {
return required;
}
@Override
public boolean isUnique() {
return unique;
}
@Override
public String getFieldName() {
return fieldName;
}
public static List<String> getRequiredFields() {
return Arrays.stream(values())
.filter(FieldValidation::isRequired)
.map(FieldValidation::getFieldName)
.collect(Collectors.toList());
}
public static List<String> getUniqueFields() {
return Arrays.stream(values())
.filter(FieldValidation::isUnique)
.map(FieldValidation::getFieldName)
.collect(Collectors.toList());
}
}
/**
* 气瓶类型枚举
*/
public enum CylinderType {
INDUSTRIAL_GAS_CYLINDER("工业气瓶"),
LIQUEFIED_GAS_CYLINDER("液化石油气瓶"),
OTHER_CYLINDER("其他气瓶");
private final String description;
CylinderType(String description) {
this.description = description;
}
public String getDescription() {
return description;
}
}
/**
* 特定气瓶类型的字段校验枚举
* 通过组合模式支持不同类型气瓶的特殊要求
*/
public enum CylinderTypeFieldValidation {
// 工业气瓶特殊要求
INDUSTRIAL_CYLINDER_UNIQUE_FIELD(CylinderType.INDUSTRIAL_GAS_CYLINDER, "manufactureDate", false, true),
INDUSTRIAL_CYLINDER_REQUIRED_FIELD(CylinderType.INDUSTRIAL_GAS_CYLINDER, "materialType", true, false),
// 液化石油气瓶特殊要求
LIQUEFIED_GAS_CYLINDER_UNIQUE_FIELD(CylinderType.LIQUEFIED_GAS_CYLINDER, "volume", false, true),
LIQUEFIED_GAS_CYLINDER_REQUIRED_FIELD(CylinderType.LIQUEFIED_GAS_CYLINDER, "wallThickness", true, false),
// 其他气瓶特殊要求
OTHER_CYLINDER_UNIQUE_FIELD(CylinderType.OTHER_CYLINDER, "customId", false, true),
OTHER_CYLINDER_REQUIRED_FIELD(CylinderType.OTHER_CYLINDER, "specification", true, false);
private final CylinderType cylinderType;
private final String fieldName;
private final boolean required;
private final boolean unique;
CylinderTypeFieldValidation(CylinderType cylinderType, String fieldName, boolean required, boolean unique) {
this.cylinderType = cylinderType;
this.fieldName = fieldName;
this.required = required;
this.unique = unique;
}
public CylinderType getCylinderType() {
return cylinderType;
}
public String getFieldName() {
return fieldName;
}
public boolean isRequired() {
return required;
}
public boolean isUnique() {
return unique;
}
/**
* 获取指定气瓶类型的所有必填字段
* @param type 气瓶类型
* @return 必填字段列表
*/
public static List<String> getRequiredFieldsForType(CylinderType type) {
// 先获取通用必填字段
List<String> requiredFields = CylinderField.getRequiredFields();
// 再添加特定类型必填字段
requiredFields.addAll(Arrays.stream(values())
.filter(validation -> validation.cylinderType == type)
.filter(CylinderTypeFieldValidation::isRequired)
.map(CylinderTypeFieldValidation::getFieldName)
.collect(Collectors.toList()));
return requiredFields;
}
/**
* 获取指定气瓶类型的所有唯一字段
* @param type 气瓶类型
* @return 唯一字段列表
*/
public static List<String> getUniqueFieldsForType(CylinderType type) {
// 先获取通用唯一字段
List<String> uniqueFields = CylinderField.getUniqueFields();
// 再添加特定类型唯一字段
uniqueFields.addAll(Arrays.stream(values())
.filter(validation -> validation.cylinderType == type)
.filter(CylinderTypeFieldValidation::isUnique)
.map(CylinderTypeFieldValidation::getFieldName)
.collect(Collectors.toList()));
return uniqueFields;
}
}
public static void main(String[] args) {
System.out.println("=== 通用气瓶字段校验 ===");
System.out.println("通用必填字段: " + CylinderField.getRequiredFields());
System.out.println("通用唯一字段: " + CylinderField.getUniqueFields());
System.out.println("\n=== 工业气瓶字段校验 ===");
System.out.println("必填字段: " + CylinderTypeFieldValidation.getRequiredFieldsForType(CylinderType.INDUSTRIAL_GAS_CYLINDER));
System.out.println("唯一字段: " + CylinderTypeFieldValidation.getUniqueFieldsForType(CylinderType.INDUSTRIAL_GAS_CYLINDER));
System.out.println("\n=== 液化石油气瓶字段校验 ===");
System.out.println("必填字段: " + CylinderTypeFieldValidation.getRequiredFieldsForType(CylinderType.LIQUEFIED_GAS_CYLINDER));
System.out.println("唯一字段: " + CylinderTypeFieldValidation.getUniqueFieldsForType(CylinderType.LIQUEFIED_GAS_CYLINDER));
System.out.println("\n=== 其他气瓶字段校验 ===");
System.out.println("必填字段: " + CylinderTypeFieldValidation.getRequiredFieldsForType(CylinderType.OTHER_CYLINDER));
System.out.println("唯一字段: " + CylinderTypeFieldValidation.getUniqueFieldsForType(CylinderType.OTHER_CYLINDER));
}
}
\ No newline at end of file
...@@ -5,10 +5,16 @@ import com.alibaba.excel.enums.CellDataTypeEnum; ...@@ -5,10 +5,16 @@ import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData; import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty; import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/** /**
* 通用的自定义字段转换器 * 通用的自定义字段转换器
...@@ -17,6 +23,12 @@ import java.util.Date; ...@@ -17,6 +23,12 @@ import java.util.Date;
@Component @Component
public class CommonCustomConverter { public class CommonCustomConverter {
private static RedisUtils redisUtils;
public CommonCustomConverter(RedisUtils redisUtils) {
CommonCustomConverter.redisUtils = redisUtils;
}
/** /**
* 年月日格式转换器 * 年月日格式转换器
*/ */
...@@ -47,4 +59,68 @@ public class CommonCustomConverter { ...@@ -47,4 +59,68 @@ public class CommonCustomConverter {
} }
} }
public static class ReceiveCompanyCodeConverter implements Converter<String> {
public static Map<String, String> receiveCompanyCodeMap = new ConcurrentHashMap<>();
public static List<LinkedHashMap<String, Object>> result = Lists.newArrayList();
// 使用静态初始化块加载数据字典
static {
refreshCache();
}
/**
* 刷新数据缓存
*/
@SuppressWarnings("unchecked")
public static void refreshCache() {
result = (List<LinkedHashMap<String, Object>>) redisUtils.get("REGULATOR_UNIT_TREE");
}
@SuppressWarnings("unchecked")
private static LinkedHashMap<String, Object> findCompanyByCode(List<LinkedHashMap<String, Object>> tree, String companyCode) {
for (LinkedHashMap<String, Object> node : tree) {
if (companyCode.equals(node.get("companyCode"))) {
return node;
}
if (node.containsKey("children") && node.get("children") instanceof List) {
LinkedHashMap<String, Object> foundNode = findCompanyByCode((List<LinkedHashMap<String, Object>>) node.get("children"), companyCode);
if (foundNode != null) {
return foundNode;
}
}
}
return null;
}
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
return null;
}
@Override
public CellData convertToExcelData(String value, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
return null;
}
public static String getNameByCode(String code) {
LinkedHashMap<String, Object> company = findCompanyByCode(result, code);
if (company == null) {
return "";
}
return company.get("companyName").toString();
}
}
} }
...@@ -1013,12 +1013,13 @@ ...@@ -1013,12 +1013,13 @@
SELECT tjur."status" as UseRegistratStatus, SELECT tjur."status" as UseRegistratStatus,
tjur."sequence_nbr" as UseRegistratSequenceNbr, tjur."sequence_nbr" as UseRegistratSequenceNbr,
tjur."supervisory_code" as UseRegistratSupervisoryCode, tjur."supervisory_code" as UseRegistratSupervisoryCode,
tjur."receive_company_code" as receiveCompanyCode,
tjur."receive_org_name" as UseRegistratReceiveOrgName tjur."receive_org_name" as UseRegistratReceiveOrgName
FROM "tzs_jg_use_registration_eq" AS tjure FROM "tzs_jg_use_registration_eq" AS tjure
LEFT JOIN "tzs_jg_use_registration" AS tjur ON tjure."equip_transfer_id" = tjur."sequence_nbr" LEFT JOIN "tzs_jg_use_registration" AS tjur ON tjure."equip_transfer_id" = tjur."sequence_nbr"
WHERE tjure."equ_id" = #{id} WHERE tjure."equ_id" = #{id}
AND tjur."status" = '已完成' AND tjur."status" = '已完成'
AND tjure.is_delete = 0 AND (tjure.is_delete = 0 or tjure.is_delete is null)
ORDER BY tjure."rec_date" desc ORDER BY tjure."rec_date" desc
LIMIT 1 LIMIT 1
</select> </select>
......
...@@ -10,7 +10,8 @@ public class ChangeFieldWatchConstants { ...@@ -10,7 +10,8 @@ public class ChangeFieldWatchConstants {
public static final Set<String> USE_CERT_MONITORED_FIELDS = public static final Set<String> USE_CERT_MONITORED_FIELDS =
Collections.unmodifiableSet(new HashSet<>(Arrays.asList( Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
"equDefine", "equCode", "useInnerCode", "factoryNum", "equDefine", "equCode", "useInnerCode", "factoryNum",
"province", "city", "county", "street", "address", "useOrgCode", "carNumber", "useRegistrationCode" "province", "city", "county", "street", "address", "useOrgCode", "carNumber", "useRegistrationCode",
"receiveCompanyCode"
))); )));
/** /**
...@@ -19,7 +20,7 @@ public class ChangeFieldWatchConstants { ...@@ -19,7 +20,7 @@ public class ChangeFieldWatchConstants {
public static final Set<String> USE_FLAG_MONITORED_FIELDS = public static final Set<String> USE_FLAG_MONITORED_FIELDS =
Collections.unmodifiableSet(new HashSet<>(Arrays.asList( Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
"equDefine", "equCode", "useInnerCode", "inspectOrgName", "nextInspectDate", "equDefine", "equCode", "useInnerCode", "inspectOrgName", "nextInspectDate",
"emergencyTel", "maintenanceUnitName", "useOrgCode", "useRegistrationCode" "emergencyTel", "maintenanceUnitName", "useOrgCode", "useRegistrationCode", "receiveCompanyCode"
))); )));
/** /**
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.event.listener; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.event.listener;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.common.api.converter.CommonCustomConverter;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yeejoin.amos.boot.module.jg.api.converter.EquDefineConverter; import com.yeejoin.amos.boot.module.jg.api.converter.EquDefineConverter;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
...@@ -159,6 +160,10 @@ public class ChangeEquipImpactCertListener { ...@@ -159,6 +160,10 @@ public class ChangeEquipImpactCertListener {
updateEquUseAddressByChangeId(manage, meta.getChangeId()); updateEquUseAddressByChangeId(manage, meta.getChangeId());
} }
break; break;
case "receiveCompanyCode":
manage.setReceiveCompanyCode(afterValue);
manage.setReceiveOrgName(CommonCustomConverter.ReceiveCompanyCodeConverter.getNameByCode(afterValue));
break;
default: default:
log.warn("未处理的USE_CERT字段:[{}]", columnKey); log.warn("未处理的USE_CERT字段:[{}]", columnKey);
break; break;
......
...@@ -29,7 +29,9 @@ public class JsonColumnDiffHandler implements ColumnDiff { ...@@ -29,7 +29,9 @@ public class JsonColumnDiffHandler implements ColumnDiff {
public <T> FieldChangeMeta handleWithWrapper(FieldDisplayDefine displayDefine, Object oldVal, Object newVal, Field field, Group group, String changeId, TableField tableField, UpdateWrapper<T> wrapper) { public <T> FieldChangeMeta handleWithWrapper(FieldDisplayDefine displayDefine, Object oldVal, Object newVal, Field field, Group group, String changeId, TableField tableField, UpdateWrapper<T> wrapper) {
if (!JsonDiffUtil.jsonEqualsIgnoreType((String) oldVal, (String) newVal)) { if (!JsonDiffUtil.jsonEqualsIgnoreType((String) oldVal, (String) newVal)) {
String columnName = tableField.value(); String columnName = tableField.value();
if (tableField.exist()) {
wrapper.set(columnName, newVal); wrapper.set(columnName, newVal);
}
String fieldName = displayDefine.value(); String fieldName = displayDefine.value();
FieldChangeMeta fieldChangeMeta = new FieldChangeMeta(); FieldChangeMeta fieldChangeMeta = new FieldChangeMeta();
fieldChangeMeta.setColumnKey(field.getName()); fieldChangeMeta.setColumnKey(field.getName());
......
...@@ -29,7 +29,9 @@ public class StringColumnDiffHandler implements ColumnDiff { ...@@ -29,7 +29,9 @@ public class StringColumnDiffHandler implements ColumnDiff {
public <T> FieldChangeMeta handleWithWrapper(FieldDisplayDefine displayDefine, Object oldVal, Object newVal, Field field, Group group, String changeId, TableField tableField, UpdateWrapper<T> wrapper) { public <T> FieldChangeMeta handleWithWrapper(FieldDisplayDefine displayDefine, Object oldVal, Object newVal, Field field, Group group, String changeId, TableField tableField, UpdateWrapper<T> wrapper) {
if (!Objects.equals(oldVal, newVal)) { if (!Objects.equals(oldVal, newVal)) {
String columnName = tableField.value(); String columnName = tableField.value();
if (tableField.exist()) {
wrapper.set(columnName, newVal); wrapper.set(columnName, newVal);
}
String fieldName = displayDefine.value(); String fieldName = displayDefine.value();
FieldChangeMeta fieldChangeMeta = new FieldChangeMeta(); FieldChangeMeta fieldChangeMeta = new FieldChangeMeta();
fieldChangeMeta.setColumnKey(field.getName()); fieldChangeMeta.setColumnKey(field.getName());
......
package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.newEquip; package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.newEquip;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.common.api.converter.CommonCustomConverter;
import com.yeejoin.amos.boot.module.common.biz.event.CommonPublisher; import com.yeejoin.amos.boot.module.common.biz.event.CommonPublisher;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto; import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler; import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.useRegister.UseRegisterUpdateService;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.util.Collections; import java.text.SimpleDateFormat;
import java.util.List; import java.util.*;
import java.util.Map;
import java.util.Set;
/** /**
* 新增设备编辑处理器 * 新增设备编辑处理器
...@@ -20,8 +24,11 @@ import java.util.Set; ...@@ -20,8 +24,11 @@ import java.util.Set;
@Component @Component
public class NewEquipDataChangeHandler extends DefaultBizDataChangeHandler<BaseBizDataChangeEvent> { public class NewEquipDataChangeHandler extends DefaultBizDataChangeHandler<BaseBizDataChangeEvent> {
protected NewEquipDataChangeHandler(CommonPublisher routerEventPublisher, ApplicationContext applicationContext) { private final UseRegisterUpdateService useRegisterUpdateService;
protected NewEquipDataChangeHandler(CommonPublisher routerEventPublisher, ApplicationContext applicationContext, UseRegisterUpdateService useRegisterUpdateService) {
super(routerEventPublisher, applicationContext); super(routerEventPublisher, applicationContext);
this.useRegisterUpdateService = useRegisterUpdateService;
} }
@Override @Override
...@@ -31,6 +38,42 @@ public class NewEquipDataChangeHandler extends DefaultBizDataChangeHandler<BaseB ...@@ -31,6 +38,42 @@ public class NewEquipDataChangeHandler extends DefaultBizDataChangeHandler<BaseB
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
Map<String, Object> useRegistrationMap = useRegisterUpdateService.getJgUseRegistrationService().getJgUseRegistrationMapper().getUseRegistrationDetail(bizId);
JgUseRegistration jgUseRegistration = useRegisterUpdateService.getJgUseRegistrationService().getById(useRegistrationMap.get("UseRegistratSequenceNbr").toString());
JgRegistrationHistory jgRegistrationHistory = useRegisterUpdateService.getJgRegistrationHistoryService().getDteailByRecord(bizId, useRegistrationMap.get("UseRegistratSequenceNbr").toString());
allChangeColumns.forEach(meta -> {
if (!ValidationUtil.isEmpty(jgUseRegistration)) {
if ("receiveCompanyCode".equals(meta.getColumnKey())) {
String receiveCompanyCode = meta.getColumnNewValue();
if (receiveCompanyCode != null) {
jgUseRegistration.setReceiveCompanyCode(receiveCompanyCode);
jgUseRegistration.setReceiveOrgName(CommonCustomConverter.ReceiveCompanyCodeConverter.getNameByCode(receiveCompanyCode));
}
}
if ("oRegDate".equals(meta.getColumnKey())) {
String regDateStr = meta.getColumnNewValue();
if (regDateStr != null) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date regDate = sdf.parse(regDateStr);
jgUseRegistration.setRegDate(regDate);
} catch (Exception e) {
// 如果日期格式不正确,则设置为null
jgUseRegistration.setRegDate(null);
}
}
}
useRegisterUpdateService.getJgUseRegistrationService().updateById(jgUseRegistration);
}
if (!ValidationUtil.isEmpty(jgRegistrationHistory)) {
if ("oRegDate".equals(meta.getColumnKey())) {
JSONObject parsedChangeData = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
parsedChangeData.put("oRegDate", meta.getColumnNewValue());
jgRegistrationHistory.setChangeData(parsedChangeData.toJSONString());
}
useRegisterUpdateService.getJgRegistrationHistoryService().updateById(jgRegistrationHistory);
}
});
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject; ...@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto; import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
...@@ -14,7 +13,7 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.constant.EditConstant; ...@@ -14,7 +13,7 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.constant.EditConstant;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy; import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.PieLineDataChangeServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.PieLineDataChangeServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgUseInfoServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgRegistrationHistoryServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationEqServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationEqServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption;
...@@ -50,6 +49,8 @@ public class UseRegisterUpdateService { ...@@ -50,6 +49,8 @@ public class UseRegisterUpdateService {
private final PieLineDataChangeServiceImpl pieLineDataChangeService; private final PieLineDataChangeServiceImpl pieLineDataChangeService;
private final JgRegistrationHistoryServiceImpl jgRegistrationHistoryService;
public void updateBizInfo(List<FieldChangeMeta> allChangeColumns, String bizId, String applyNo, IBizDataChangeHandleStrategy.ModelType model, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) { public void updateBizInfo(List<FieldChangeMeta> allChangeColumns, String bizId, String applyNo, IBizDataChangeHandleStrategy.ModelType model, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
if (model.equals(IBizDataChangeHandleStrategy.ModelType.singleEquip)) { if (model.equals(IBizDataChangeHandleStrategy.ModelType.singleEquip)) {
JgUseRegistration useRegistration = jgUseRegistrationService.getOne(new LambdaQueryWrapper<JgUseRegistration>().select(BaseEntity::getSequenceNbr, JgUseRegistration::getStatus).eq(JgUseRegistration::getApplyNo, applyNo)); JgUseRegistration useRegistration = jgUseRegistrationService.getOne(new LambdaQueryWrapper<JgUseRegistration>().select(BaseEntity::getSequenceNbr, JgUseRegistration::getStatus).eq(JgUseRegistration::getApplyNo, applyNo));
......
...@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; ...@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine; import com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine;
import com.yeejoin.amos.boot.biz.common.annotation.Group; import com.yeejoin.amos.boot.biz.common.annotation.Group;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
...@@ -24,6 +25,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; ...@@ -24,6 +25,7 @@ import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData; import com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData;
import com.yeejoin.amos.boot.module.jg.api.dto.*; import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.IdxBizJgPipelineOperationHist; import com.yeejoin.amos.boot.module.jg.api.entity.IdxBizJgPipelineOperationHist;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationManage;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper;
import com.yeejoin.amos.boot.module.jg.biz.edit.backup.DefaultEquipBackupManager; import com.yeejoin.amos.boot.module.jg.biz.edit.backup.DefaultEquipBackupManager;
...@@ -140,6 +142,8 @@ public class CommonEquipDataProcessService { ...@@ -140,6 +142,8 @@ public class CommonEquipDataProcessService {
private final ESEquipmentCategory esEquipmentCategory; private final ESEquipmentCategory esEquipmentCategory;
private final JgUseRegistrationManageServiceImpl jgUseRegistrationManageService;
public static final String BASE_COLUMN_REC_DATE = "\"REC_DATE\""; public static final String BASE_COLUMN_REC_DATE = "\"REC_DATE\"";
public static final String BASE_COLUMN_REC_USERID = "\"REC_USER_ID\""; public static final String BASE_COLUMN_REC_USERID = "\"REC_USER_ID\"";
...@@ -810,6 +814,14 @@ public class CommonEquipDataProcessService { ...@@ -810,6 +814,14 @@ public class CommonEquipDataProcessService {
result.put("record", useInfo.getRecord()); result.put("record", useInfo.getRecord());
// 设备来源,前端无法判断,故后端进行判断,分为新设备(new)、历史有证设备(his)、历史无证设备(black) // 设备来源,前端无法判断,故后端进行判断,分为新设备(new)、历史有证设备(his)、历史无证设备(black)
result.put("dataSourceClassify", this.genDataSource(useInfo.getDataSource())); result.put("dataSourceClassify", this.genDataSource(useInfo.getDataSource()));
// 获取已登记设备的等级证对应接收机构
if (registerInfo.getUseOrgCode() != null) {
result.put("receiveCompanyCode", jgUseRegistrationManageService.lambdaQuery()
.eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfo.getUseOrgCode())
.select(JgUseRegistrationManage::getReceiveCompanyCode).one().getReceiveCompanyCode());
}
// 返回是否做过除历史登记外的其他业务
result.put("inOtherBusiness", !jgUseRegistrationService.getJgUseRegistrationMapper().selectListForSelfDiscard(Lists.newArrayList(record)).isEmpty());
result.replaceAll((key, value) -> "null".equals(value) ? null : value); result.replaceAll((key, value) -> "null".equals(value) ? null : value);
return result; return result;
} }
......
...@@ -10,7 +10,6 @@ import com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData; ...@@ -10,7 +10,6 @@ import com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.apache.ibatis.type.JdbcType;
import java.util.Date; import java.util.Date;
...@@ -185,6 +184,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity implements IBaseChangeData { ...@@ -185,6 +184,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity implements IBaseChangeData {
* 设备状态 @see com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum * 设备状态 @see com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum
*/ */
@TableField("\"EQU_STATE\"") @TableField("\"EQU_STATE\"")
@FieldDisplayDefine(value = "设备状态")
private String equState; private String equState;
/** /**
...@@ -347,4 +347,8 @@ public class IdxBizJgUseInfo extends TzsBaseEntity implements IBaseChangeData { ...@@ -347,4 +347,8 @@ public class IdxBizJgUseInfo extends TzsBaseEntity implements IBaseChangeData {
*/ */
@TableField("\"USC_UNIT_NAME\"") @TableField("\"USC_UNIT_NAME\"")
private String USC_UNIT_NAME; private String USC_UNIT_NAME;
@TableField(exist = false)
@FieldDisplayDefine(value = "接收单位code")
private String receiveCompanyCode;
} }
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