Commit 5073faf2 authored by suhuiguang's avatar suhuiguang

feat(使用登记大编辑):

1.使用登记台套类编辑开发
parent 53a509b5
......@@ -5,7 +5,7 @@ import lombok.Data;
import java.io.Serializable;
@Data
public class BaseChangeDataDto implements Serializable {
public class BaseChangeDataDto implements Serializable, IBaseChangeData {
private String changeId;
}
......@@ -2,13 +2,12 @@ package com.yeejoin.amos.boot.module.jg.api.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@ApiModel(value = "变化的数据")
public class ChangeDataDto implements Serializable {
public class FieldChangeMeta implements Serializable {
/**
* 必须字段-字段key
......
package com.yeejoin.amos.boot.module.jg.api.dto;
import cn.hutool.json.JSON;
import com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine;
import com.yeejoin.amos.boot.biz.common.annotation.Group;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
@Group(value = "biz_use_registration")
public class UseRegisterChangeDataDto extends BaseChangeDataDto {
@FieldDisplayDefine(value = "单据编号", isExist = false)
private String applyNo;
@FieldDisplayDefine(value = "使用地点市编码")
private String city;
@FieldDisplayDefine(value = "使用地点区县编码")
private String county;
@FieldDisplayDefine(value = "使用地点街道(镇)编码")
private String factoryUseSiteStreet;
@FieldDisplayDefine(value = "详细使用地点")
private String address;
@FieldDisplayDefine(value = "是否西咸")
private String isXixian;
@FieldDisplayDefine(value = "使用登记证编号")
private String useRegistrationCode;
@FieldDisplayDefine(value = "接收机构")
private String receiveCompanyCode;
@FieldDisplayDefine(value = "使用场所")
private String usePlace;
@FieldDisplayDefine(value = "单位内部编号")
private String useInnerCode;
@FieldDisplayDefine(value = "安全管理员,格式:id_name")
private String safetyManager;
@FieldDisplayDefine(value = "产权单位,格式:code_name")
private String estateUnitName;
@FieldDisplayDefine(value = "原登记机关")
private String oRegUnit;
@FieldDisplayDefine(value = "原登记日期")
private String oRegDate;
@FieldDisplayDefine(value = "投用日期")
private String useDate;
@FieldDisplayDefine(value = "是否增补-气瓶")
private String isAddEquip;
@FieldDisplayDefine(value = "气瓶分类")
private String cylinderCategory;
@FieldDisplayDefine(value = "使用登记表附件", type = JSON.class)
private String useRegistrationFormFile;
@FieldDisplayDefine(value = "经纬度", type = JSON.class)
private String longitudeLatitude;
@FieldDisplayDefine(value = "地图起始标点", type = JSON.class)
private String startLatitudeLongitude;
@FieldDisplayDefine(value = "地图结束标点", type = JSON.class)
private String endLatitudeLongitude;
@FieldDisplayDefine(value = "其他附件", type = JSON.class)
private String otherAccessories;
@FieldDisplayDefine(value = "原使用登记证附件", type = JSON.class)
private String oldUseRegistrationTable;
@FieldDisplayDefine(value = "原使用登记证附件", type = JSON.class)
private String oldUseRegistrationCertificate;
}
\ No newline at end of file
......@@ -45,6 +45,9 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
String getOrgCodeByCompanyCode(String companyCode);
String geCompanyCodeByOrgCode(@Param("orgCode") String orgCode);
String getCompanyNameByOrgCode(String orgCode);
String selectBusinessData(String tableName, String instanceId);
......
......@@ -92,6 +92,9 @@
<select id="getCompanyNameByOrgCode" resultType="java.lang.String">
select company_name from privilege_company where org_code = #{orgCode} limit 1
</select>
<select id="geCompanyCodeByOrgCode" resultType="java.lang.String">
select company_code from privilege_company where org_code = #{orgCode} limit 1
</select>
<select id="selectBusinessData" resultType="java.lang.String">
......
package com.yeejoin.amos.boot.module.jg.biz.edit.event;
import com.yeejoin.amos.boot.module.jg.api.dto.BizRelationDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.EventPublisherMapping;
import lombok.Getter;
import org.springframework.context.ApplicationEvent;
......@@ -16,7 +16,7 @@ import java.util.List;
@EventPublisherMapping
public class BaseBizDataChangeEvent extends ApplicationEvent {
private List<ChangeDataDto> data;
private List<FieldChangeMeta> data;
private RequestContextModel requestContext;
......@@ -26,7 +26,7 @@ public class BaseBizDataChangeEvent extends ApplicationEvent {
private BizRelationDataDto bizRelationData;
public BaseBizDataChangeEvent(Object source, BizRelationDataDto bizRelationData, List<ChangeDataDto> data, RequestContextModel requestContext) {
public BaseBizDataChangeEvent(Object source, BizRelationDataDto bizRelationData, List<FieldChangeMeta> data, RequestContextModel requestContext) {
super(source);
this.data = data;
this.bizRelationData = bizRelationData;
......
......@@ -9,7 +9,7 @@ import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterUpdateService;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.useRegister.UseRegisterUpdateService;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
......
package com.yeejoin.amos.boot.module.jg.biz.edit.listener;
package com.yeejoin.amos.boot.module.jg.biz.edit.event.listener;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog;
import com.yeejoin.amos.boot.module.jg.biz.dao.ESDataChangeLogDao;
......@@ -44,7 +44,7 @@ public class ChangeLogInsertListener {
bizTypeTableMap.put("singleManageEquipEdit", "idx_biz_jg_use_info");
}
@Value("${change.data.deal.thread.number:1}")
@Value("${change.log.deal.thread.number:1}")
private int threadNumber;
private final ESDataChangeLogDao esDataChangeLogDao;
......@@ -58,7 +58,7 @@ public class ChangeLogInsertListener {
@TransactionalEventListener(value = BaseBizDataChangeEvent.class)
@Async
public void handleTransactionalEvent(BaseBizDataChangeEvent event) {
log.info("收到用户变更业务数据消息:{}", JSONObject.toJSONString(event));
log.info("日志处理器,收到变更业务数据消息:{}", JSONObject.toJSONString(event));
queue.add(event);
}
......@@ -80,18 +80,18 @@ public class ChangeLogInsertListener {
}
private void processEvent(BaseBizDataChangeEvent event) {
List<ChangeDataDto> changeDataDtos = event.getData();
List<FieldChangeMeta> fieldChangeMetas = event.getData();
RequestContextModel requestContextModel = event.getRequestContext();
Date date = new Date();
// 1.主表保存
JgBizChangeLog changeLog = saveLog(event);
// 2.子表字段保存
List<ESDataChangeLogDto> logs = saveColumnsChange2Es(changeDataDtos, requestContextModel, date, changeLog);
List<ESDataChangeLogDto> logs = saveColumnsChange2Es(fieldChangeMetas, requestContextModel, date, changeLog);
log.info("es 操作日志数据入库成功:{}条", logs.size());
}
private List<ESDataChangeLogDto> saveColumnsChange2Es(List<ChangeDataDto> changeDataDtos, RequestContextModel requestContextModel, Date date, JgBizChangeLog changeLog) {
List<ESDataChangeLogDto> logs = changeDataDtos.parallelStream().map(changeDataDto -> {
private List<ESDataChangeLogDto> saveColumnsChange2Es(List<FieldChangeMeta> fieldChangeMetas, RequestContextModel requestContextModel, Date date, JgBizChangeLog changeLog) {
List<ESDataChangeLogDto> logs = fieldChangeMetas.parallelStream().map(changeDataDto -> {
ESDataChangeLogDto changeLogDto = new ESDataChangeLogDto();
changeLogDto.setColumnKey(changeDataDto.getColumnKey());
changeLogDto.setColumnKeyLabel(changeDataDto.getColumnLabel());
......
package com.yeejoin.amos.boot.module.jg.biz.edit.listener;
package com.yeejoin.amos.boot.module.jg.biz.edit.event.listener;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
......@@ -38,7 +38,7 @@ public class RelationBizApplyUpdateListener {
@TransactionalEventListener(value = BaseBizDataChangeEvent.class)
@Async
public void handleTransactionalEvent(BaseBizDataChangeEvent event) {
log.info("收到用户变更业务数据消息:{}", JSONObject.toJSONString(event));
log.info("业务处理器,收到变更业务数据消息:{}", JSONObject.toJSONString(event));
queue.add(event);
}
......
package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz;
import com.yeejoin.amos.boot.module.jg.api.dto.BizRelationDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipDataProcessStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.IEventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
......@@ -25,15 +25,19 @@ public abstract class DefaultBizDataChangeHandler<U extends BaseBizDataChangeEve
public final void doSave(String applyNo, ModelType model, Map<String, Object> changeData) {
if (beforeCheck(applyNo, model, changeData)) {
IEquipChangeDataProcessStrategy dataProcessor = EquipDataProcessStrategyContext.getStrategy(model);
List<ChangeDataDto> allChangeColumns = dataProcessor.handle(changeData, applyNo);
List<ChangeDataDto> bizEditColumns = bizDataSave(applyNo, model, changeData);
List<FieldChangeMeta> allChangeColumns = dataProcessor.handle(changeData, applyNo);
List<FieldChangeMeta> bizEditColumns = updBizData(applyNo, model, changeData);
allChangeColumns.addAll(bizEditColumns);
// 发送数据变更实践
if(bizIsFinished(applyNo, model, changeData)){
List<FieldChangeMeta> equipColumns = updEqDataIfBizFin(applyNo, model, changeData);
allChangeColumns.addAll(equipColumns);
}
// 发送数据变更消息
publish2OtherBiz(allChangeColumns, applyNo);
}
}
private void publish2OtherBiz(List<ChangeDataDto> allChangeColumns, String applyNo) {
private void publish2OtherBiz(List<FieldChangeMeta> allChangeColumns, String applyNo) {
BizRelationDataDto bizRelationDataDto = new BizRelationDataDto();
bizRelationDataDto.setBizId(applyNo);
bizRelationDataDto.setBizType(canHandleBizType());
......
package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz;
package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.installNotice;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler;
import org.springframework.stereotype.Component;
import java.util.Collections;
......@@ -27,7 +28,7 @@ public class InstallNoticeDataChangeHandler extends DefaultBizDataChangeHandler<
}
@Override
public List<ChangeDataDto> bizDataSave(String applyNo, ModelType model, Map<String, Object> changeData) {
public List<FieldChangeMeta> updBizData(String applyNo, ModelType model, Map<String, Object> changeData) {
return Collections.emptyList();
}
......@@ -40,4 +41,14 @@ public class InstallNoticeDataChangeHandler extends DefaultBizDataChangeHandler<
public Set<String> getEqs(String applyNo) {
return Collections.emptySet();
}
@Override
public List<FieldChangeMeta> updEqDataIfBizFin(String applyNo, ModelType model, Map<String, Object> changeData) {
return Collections.emptyList();
}
@Override
public Boolean bizIsFinished(String applyNo, ModelType model, Map<String, Object> changeData) {
return null;
}
}
package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import java.util.List;
import java.util.Map;
......@@ -31,7 +31,7 @@ public interface IBizDataChangeHandleStrategy {
* @param model @see ModelType
* @param changeData 变更数据
*/
List<ChangeDataDto> bizDataSave(String applyNo, ModelType model, Map<String, Object> changeData);
List<FieldChangeMeta> updBizData(String applyNo, ModelType model, Map<String, Object> changeData);
/**
......@@ -64,4 +64,22 @@ public interface IBizDataChangeHandleStrategy {
* @return 设备record或者证数组
*/
Set<String> getEqs(String applyNo);
/**
* 在业务单位状态为已完成时进行设备/装置信息的更新
* @param applyNo 单据编号
* @param model 类型
* @param changeData 数据
* @return 更新的字段
*/
List<FieldChangeMeta> updEqDataIfBizFin(String applyNo, ModelType model, Map<String, Object> changeData);
/**
* 单据是否已经审核完成
* @param applyNo 单据编号
* @param model 类型
* @param changeData 数据
* @return true-完成;false-未完成
*/
Boolean bizIsFinished(String applyNo, ModelType model, Map<String, Object> changeData);
}
package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz;
package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.useRegister;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.UseRegisterChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
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.equip.CommonEquipDataProcessService;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterUpdateService;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import org.springframework.stereotype.Service;
import java.util.*;
......@@ -19,6 +22,7 @@ public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<Ba
private final UseRegisterUpdateService useRegisterUpdateService;
protected UseRegisterDataChangeHandler(RouterEventPublisher routerEventPublisher, UseRegisterUpdateService useRegisterUpdateService) {
super(routerEventPublisher);
this.useRegisterUpdateService = useRegisterUpdateService;
......@@ -39,21 +43,36 @@ public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<Ba
* @param changeData 前端不支持分组-目前为平铺数据结构
*/
@Override
public List<ChangeDataDto> bizDataSave(String applyNo, ModelType model, Map<String, Object> changeData) {
List<ChangeDataDto> bizEditColumns = new ArrayList<ChangeDataDto>();
public List<FieldChangeMeta> updBizData(String applyNo, ModelType model, Map<String, Object> changeData) {
List<FieldChangeMeta> bizEditColumns = new ArrayList<>();
// 单据信息的保存、与设备相关、证相关字段的更新
// 1.根据任务状态进行单据数据的处理
// 1.1 流程中,更新业务相关字段、更新设备
// 1.2 已完成,更新业务相关字段、证相关、批量方式的设备公共字段信息
// 选择是台套、还是单位办理的方式,进行分类数据的解析
// 更新历史的JSON的数据
JgUseRegistration useRegistration = useRegisterUpdateService.getJgUseRegistrationService().getOne(new LambdaQueryWrapper<JgUseRegistration>().eq(JgUseRegistration::getApplyNo, applyNo));
// 1.构建单据字段级变化流水
buildBizFieldChangeLogs(changeData, useRegistration, bizEditColumns);
// 2.更新单据及根据单据状态构建设备字段级变化流水
this.updateBizInfo(changeData);
// 3.更新历史的JSON的数据
this.updateHistoryJson(applyNo);
return bizEditColumns;
}
private void updateBizInfo(Map<String, Object> changeData) {
useRegisterUpdateService.updateBizInfo(changeData);
}
private void buildBizFieldChangeLogs(Map<String, Object> changeData, JgUseRegistration useRegistration, List<FieldChangeMeta> bizEditColumns) {
UseRegisterChangeDataDto newChangeData = CommonEquipDataProcessService.castMap2Bean(changeData, UseRegisterChangeDataDto.class);
newChangeData.setApplyNo(useRegistration.getApplyNo());
Map<String, Object> oldData = useRegisterUpdateService.getJgUseRegistrationService().getDetail(null, useRegistration.getSequenceNbr(), null);
UseRegisterChangeDataDto oldChangeData = CommonEquipDataProcessService.castMap2Bean(oldData, UseRegisterChangeDataDto.class);
List<FieldChangeMeta> oldFields = CommonEquipDataProcessService.convertBeanField2Column2(newChangeData, useRegistration.getApplyNo());
List<FieldChangeMeta> newFields = CommonEquipDataProcessService.convertBeanField2Column2(oldChangeData, useRegistration.getApplyNo());
bizEditColumns.addAll(CommonEquipDataProcessService.mergeChangeFields(newFields, oldFields));
}
@Override
public Boolean beforeCheck(String applyNo, ModelType model, Map<String, Object> changeData) {
return true;
return useRegisterUpdateService.beforeCheck(changeData, applyNo);
}
@Override
......@@ -61,6 +80,18 @@ public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<Ba
return Collections.emptySet();
}
@Override
public List<FieldChangeMeta> updEqDataIfBizFin(String applyNo, ModelType model, Map<String, Object> changeData) {
// 更新设备/装置的使用信息
return useRegisterUpdateService.updEqData(applyNo, new JSONObject(changeData));
}
@Override
public Boolean bizIsFinished(String applyNo, ModelType model, Map<String, Object> changeData) {
JgUseRegistration useRegistration = useRegisterUpdateService.getJgUseRegistrationService().getOne(new LambdaQueryWrapper<JgUseRegistration>().eq(JgUseRegistration::getApplyNo, applyNo));
return useRegistration.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName());
}
private void updateHistoryJson(String applyNo) {
useRegisterUpdateService.updateHisData(applyNo);
}
......@@ -69,10 +100,11 @@ public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<Ba
@Override
public Map<String, ?> getDetail(String applyNo, String bizId) {
Map<String, Object> detail = new HashMap<>();
JgUseRegistration useRegistration = useRegisterUpdateService.getUseRegistrationService().getOne(new LambdaQueryWrapper<JgUseRegistration>().eq(JgUseRegistration::getApplyNo, applyNo));
JgUseRegistration useRegistration = useRegisterUpdateService.getJgUseRegistrationService().getOne(new LambdaQueryWrapper<JgUseRegistration>().eq(JgUseRegistration::getApplyNo, applyNo));
JSONObject lastDetailDataForEdit = useRegisterUpdateService.getLastDetailDataForEdit(useRegistration);
BeanUtil.copyProperties(lastDetailDataForEdit, detail);
BeanUtil.copyProperties(useRegistration, detail);
detail.put("equipId", lastDetailDataForEdit.getString("equipId"));
// 转化 附件 字段
useRegisterUpdateService.convertStringToJsonObject(detail, JgUseRegistrationServiceImpl.jsonFields);
return detail;
......
......@@ -28,10 +28,10 @@ public class BatchCylinderEquipChangeProcess implements IEquipChangeDataProcessS
@Override
public List<ChangeDataDto> handle(Map<String, Object> changeData, String defaultChangeId) {
public List<FieldChangeMeta> handle(Map<String, Object> changeData, String defaultChangeId) {
JSONObject data = (JSONObject) changeData;
JSONArray equips = data.getJSONArray(RequestChangeData.multiDataKey);
List<ChangeDataDto> allChangeColumns = new ArrayList<>();
List<FieldChangeMeta> allChangeColumns = new ArrayList<>();
List<MultiChangeItemData> items = equips.toJavaList(MultiChangeItemData.class);
// 校验
items.forEach(item -> {
......
......@@ -17,21 +17,21 @@ import java.util.Map;
* 批量维护设备-策略实现类
*/
@Component
public class BatchEquipDataEquipChangeProcess implements IEquipChangeDataProcessStrategy {
public class BatchEquipDataChangeProcess implements IEquipChangeDataProcessStrategy {
private final CommonEquipDataProcessService commonEquipDataProcessService;
public BatchEquipDataEquipChangeProcess(CommonEquipDataProcessService commonEquipDataProcessService) {
public BatchEquipDataChangeProcess(CommonEquipDataProcessService commonEquipDataProcessService) {
this.commonEquipDataProcessService = commonEquipDataProcessService;
}
@Override
public List<ChangeDataDto> handle(Map<String, Object> changeData, String defaultChangeId) {
public List<FieldChangeMeta> handle(Map<String, Object> changeData, String defaultChangeId) {
JSONObject data = (JSONObject) changeData;
JSONArray equips = data.getJSONArray(RequestChangeData.multiDataKey);
List<ChangeDataDto> allChangeColumns = new ArrayList<>();
List<FieldChangeMeta> allChangeColumns = new ArrayList<>();
List<MultiChangeItemData> items = equips.toJavaList(MultiChangeItemData.class);
// 校验
items.forEach(item -> {
......
......@@ -29,10 +29,10 @@ public class BatchProjectEquipChangeProcess implements IEquipChangeDataProcessSt
@Override
public List<ChangeDataDto> handle(Map<String, Object> changeData, String defaultChangeId) {
public List<FieldChangeMeta> handle(Map<String, Object> changeData, String defaultChangeId) {
JSONObject data = (JSONObject) changeData;
JSONArray projectContraptions = data.getJSONArray(RequestChangeData.multiDataKey);
List<ChangeDataDto> allChangeColumns = new ArrayList<>();
List<FieldChangeMeta> allChangeColumns = new ArrayList<>();
// 装置列表
List<ProjectContraptionChangeItem> projectContraptionsJavaList = projectContraptions.toJavaList(ProjectContraptionChangeItem.class);
// 入库前校验
......
......@@ -167,8 +167,8 @@ public class EquipChangeDataUpdateServiceImpl {
}
public void updateTechParamByRecord(String tableName, String record, List<ChangeDataDto> changeDataDtos) {
List<DynamicColumnDto> columns = changeDataDtos.stream().map(c -> {
public void updateTechParamByRecord(String tableName, String record, List<FieldChangeMeta> fieldChangeMetas) {
List<DynamicColumnDto> columns = fieldChangeMetas.stream().map(c -> {
DynamicColumnDto columnDto = new DynamicColumnDto();
columnDto.setColumnName(String.format("\"%s\"", StrUtil.toUnderlineCase(c.getColumnKey()).toUpperCase()));
columnDto.setColumnValue(c.getColumnNewValue());
......
......@@ -3,7 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.equip;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PieLineDesignChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ProjectContraptionChangeDataDto;
......@@ -28,12 +28,12 @@ public class PieLineDataChangeServiceImpl {
this.equipChangeDataUpdateServiceImpl = equipChangeDataUpdateServiceImpl;
}
public void update(ProjectContraptionChangeDataDto projectContraptionChangeDataDtoNew, List<ChangeDataDto> allChangeColumns) {
public void update(ProjectContraptionChangeDataDto projectContraptionChangeDataDtoNew, List<FieldChangeMeta> allChangeColumns) {
// 原有对象行转列
ProjectContraptionChangeDataDto projectContraptionChangeDataDtoOld = getOldProjectContraptionData(projectContraptionChangeDataDtoNew);
List<ChangeDataDto> newProjectContraptionChangeData = commonEquipDataProcessService.convertBeanField2Column2(projectContraptionChangeDataDtoNew, projectContraptionChangeDataDtoNew.getProjectContraptionId());
List<FieldChangeMeta> newProjectContraptionChangeData = commonEquipDataProcessService.convertBeanField2Column2(projectContraptionChangeDataDtoNew, projectContraptionChangeDataDtoNew.getProjectContraptionId());
// 新对象构造行转列
List<ChangeDataDto> oldProjectContraptionChangeData = commonEquipDataProcessService.convertBeanField2Column2(projectContraptionChangeDataDtoOld, projectContraptionChangeDataDtoNew.getProjectContraptionId());
List<FieldChangeMeta> oldProjectContraptionChangeData = commonEquipDataProcessService.convertBeanField2Column2(projectContraptionChangeDataDtoOld, projectContraptionChangeDataDtoNew.getProjectContraptionId());
// 数据比对记录变化字段列表
allChangeColumns.addAll(commonEquipDataProcessService.mergeChangeFields(newProjectContraptionChangeData, oldProjectContraptionChangeData));
// 数据入库
......@@ -53,13 +53,13 @@ public class PieLineDataChangeServiceImpl {
return BeanUtil.copyProperties(projectContraption, ProjectContraptionChangeDataDto.class);
}
public void saveDesignForPieLine(String record, List<ChangeDataDto> allChangeColumns, PipelineChangeItemDto pipelineChangeItemDto) {
public void saveDesignForPieLine(String record, List<FieldChangeMeta> allChangeColumns, PipelineChangeItemDto pipelineChangeItemDto) {
// 1.记录变化的数据对象
PieLineDesignChangeDataDto pieLineDesignChangeDataDto = BeanUtil.copyProperties(pipelineChangeItemDto, PieLineDesignChangeDataDto.class);
// 构造新对象行转列
List<ChangeDataDto> designInfoNew = commonEquipDataProcessService.convertBeanField2Column2(pieLineDesignChangeDataDto, record);
List<FieldChangeMeta> designInfoNew = commonEquipDataProcessService.convertBeanField2Column2(pieLineDesignChangeDataDto, record);
// 老数据查询行转列
List<ChangeDataDto> designInfoOld = commonEquipDataProcessService.buildDesignInfoOld(record);
List<FieldChangeMeta> designInfoOld = commonEquipDataProcessService.buildDesignInfoOld(record);
allChangeColumns.addAll(commonEquipDataProcessService.mergeChangeFields(designInfoNew, designInfoOld));
// 2.更新管道的设计单位名称
equipChangeDataUpdateServiceImpl.updatePieLineDesignData(record, pieLineDesignChangeDataDto);
......@@ -69,13 +69,13 @@ public class PieLineDataChangeServiceImpl {
equipChangeDataUpdateServiceImpl.updateRegisterEsDataPieLine(projectContraptionChangeDataDto);
}
public void deletePieLineBatch(List<PipelineChangeItemDto> deletedPieLines, List<ChangeDataDto> allChangeColumns, String applyNo) {
public void deletePieLineBatch(List<PipelineChangeItemDto> deletedPieLines, List<FieldChangeMeta> allChangeColumns, String applyNo) {
// todo 构建日志 allChangeColumns afterData = null
// todo 数据库管道删除
// todo es管道删除
}
void newPieLine(String projectContraptionId, PipelineChangeItemDto it, List<ChangeDataDto> allChangeColumns, String applyNo) {
void newPieLine(String projectContraptionId, PipelineChangeItemDto it, List<FieldChangeMeta> allChangeColumns, String applyNo) {
// todo 创建管道的设备几张表
// todo 创建道的es
// todo 构建变更流水 beforeData = null
......
......@@ -39,9 +39,9 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
@Override
public List<ChangeDataDto> handle(Map<String, Object> changeData, String defaultChangeId) {
public List<FieldChangeMeta> handle(Map<String, Object> changeData, String defaultChangeId) {
String record = this.getRecord(defaultChangeId);
List<ChangeDataDto> allChangeColumns = new ArrayList<>();
List<FieldChangeMeta> allChangeColumns = new ArrayList<>();
// 新数据解析
EquipRegisterChangeDataDto registerChangeDataDto = commonEquipDataProcessService.castMap2Bean(changeData, EquipRegisterChangeDataDto.class);
EquipFactoryChangeDataDto factoryChangeDataDto = commonEquipDataProcessService.castMap2Bean(changeData, EquipFactoryChangeDataDto.class);
......
......@@ -4,7 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
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.ProjectContraptionChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.TechParamsPipelineChangeFieldDto;
......@@ -34,13 +34,13 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
@Override
public List<ChangeDataDto> handle(Map<String, Object> changeData, String defaultChangeId) {
public List<FieldChangeMeta> handle(Map<String, Object> changeData, String defaultChangeId) {
JSONObject data = (JSONObject) changeData;
// 新增编辑的管道------------------tableData
JSONArray insertOrEditPieLines = data.getJSONArray(RequestChangeData.multiDataKey);
// 删除的管道---------------------deleteData
JSONArray deletedPieLines = data.getJSONArray(RequestChangeData.deletedDataKey);
List<ChangeDataDto> allChangeColumns = new ArrayList<>();
List<FieldChangeMeta> allChangeColumns = new ArrayList<>();
List<PipelineChangeItemDto> items = insertOrEditPieLines.toJavaList(PipelineChangeItemDto.class);
// 1.设备技术参数入库前校验,约束:同一个装置下的管道编号不能重复
if (items.size() != items.stream().map(TechParamsPipelineChangeFieldDto::getPipelineNumber).distinct().count()) {
......
package com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy;
import com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy;
import java.util.List;
......@@ -14,7 +14,7 @@ public interface IEquipChangeDataProcessStrategy {
/**
* 处理
*/
List<ChangeDataDto> handle(Map<String, Object> changeData, String defaultChangeId);
List<FieldChangeMeta> handle(Map<String, Object> changeData, String defaultChangeId);
/**
* 可处理类型
......
package com.yeejoin.amos.boot.module.jg.biz.edit.utils;
import java.lang.reflect.Field;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
public class ReflectiveFieldAccessor {
private static final Map<Class<?>, List<Field>> fieldCache = new ConcurrentHashMap<>();
public static List<Field> getAllFields(Class<?> clazz) {
return fieldCache.computeIfAbsent(clazz, k -> {
Class<?> clazz1 = clazz;
List<Field> fields = new ArrayList<>();
while (clazz1 != null && clazz1 != Object.class) {
fields.addAll(Arrays.asList(clazz1.getDeclaredFields()));
clazz1 = clazz1.getSuperclass(); // 递归向上获取父类
}
return Collections.unmodifiableList(fields);
});
}
}
......@@ -63,6 +63,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
......@@ -121,6 +122,7 @@ import static java.util.stream.Collectors.toSet;
*/
@Service
@Slf4j
@Getter
public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationDto, JgUseRegistration, JgUseRegistrationMapper> implements IJgUseRegistrationService, ICompensateFlowDataOfRedis<JgUseRegistration>, ApplicationContextAware {
private static final String DEFINITION_KEY = "useRegistration";
......@@ -139,7 +141,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
TzsServiceFeignClient tzsServiceFeignClient;
@Autowired
JgRegistrationHistoryServiceImpl jgRegistrationHistoryService;
private JgRegistrationHistoryServiceImpl jgRegistrationHistoryService;
@Autowired
IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
@Autowired
......@@ -149,7 +151,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
ICommonService commonService;
@Autowired
CommonServiceImpl commonServiceImpl;
private CommonServiceImpl commonServiceImpl;
@Autowired
CmWorkflowServiceImpl cmWorkflowService;
@Autowired
......@@ -186,7 +188,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService;
@Autowired
private IdxBizJgUseInfoServiceImpl idxBizJgUseInfoService;
protected IdxBizJgUseInfoServiceImpl idxBizJgUseInfoService;
@Autowired
private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService;
@Autowired
......@@ -242,6 +244,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
private CommonMapper commonMapper;
@Autowired
private IdxBizJgInspectionDetectionInfoServiceImpl inspectionDetectionInfoService;
/**
* @param auditPassDate 通过时间
......@@ -419,7 +424,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
}
private void updateOrCreateInspectionDetection(Map<String, Object> equipment, JgUseRegistration jgUseRegistration, IdxBizJgRegisterInfo registerInfo) {
public void updateOrCreateInspectionDetection(Map<String, Object> equipment, JgUseRegistration jgUseRegistration, IdxBizJgRegisterInfo registerInfo) {
InspectionDetectionInfo inspectionDetectionInfo = new InspectionDetectionInfo();
BeanUtil.copyProperties(equipment, inspectionDetectionInfo);
if("unit".equals(jgUseRegistration.getManageType())){
......@@ -1377,7 +1382,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
*
* @param sequenceNbr 使用登记业务表seq
*/
private void updateRegistrationManage(Long sequenceNbr) {
public void updateRegistrationManage(Long sequenceNbr) {
JgUseRegistration jgUseRegistration = this.baseMapper.selectById(sequenceNbr);
LambdaQueryWrapper<JgUseRegistrationManage> queryWrapper = new LambdaQueryWrapper<JgUseRegistrationManage>()
......@@ -3834,7 +3839,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
designInfo.setOtherAccessoriesDes(ObjectUtils.isEmpty(map.get("otherAccessoriesDes")) ? null : JSONObject.toJSONString(map.get("otherAccessoriesDes")));
idxBizJgDesignInfoMapper.updateById(designInfo);
// 制造信息
LambdaQueryWrapper<IdxBizJgFactoryInfo> factoryInfoWrapper = new LambdaQueryWrapper<>();
factoryInfoWrapper.eq(IdxBizJgFactoryInfo::getRecord, jgRelationEquip.getEquId());
......@@ -3950,9 +3954,37 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
/**
* 历史设备登记-》更新安装信息
*/
private void historyEquUpdateInstallInfo(JSONObject map) {
IdxBizJgConstructionInfo constructionInfo = idxBizJgConstructionInfoService.queryNewestDetailByRecord(String.valueOf(map.get("equipId")));
if (!ValidationUtil.isEmpty(constructionInfo.getSequenceNbr())) {
constructionInfo.setUscUnitName(ValidationUtil.isEmpty(map.get("uscUnitName")) ? null : String.valueOf(map.get("uscUnitName")));
constructionInfo.setConstructionLeaderName(ValidationUtil.isEmpty(map.get("installLeaderId")) ? null : String.valueOf(map.get("installLeaderId")));
constructionInfo.setConstructionLeaderPhone(ValidationUtil.isEmpty(map.get("installLeaderPhone")) ? null : String.valueOf(map.get("installLeaderPhone")));
constructionInfo.setProxyStatementAttachment(ValidationUtil.isEmpty(map.get("proxyStatementAttachmentList")) ? null : JSONObject.toJSONString(map.get("proxyStatementAttachmentList")));
constructionInfo.setConstructionContractAttachment(ValidationUtil.isEmpty(map.get("installContractAttachment")) ? null : JSONObject.toJSONString(map.get("installContractAttachment")));
constructionInfo.setConstructionOtherAccessories(ValidationUtil.isEmpty(map.get("insOtherAccessories")) ? null : JSONObject.toJSONString(map.get("insOtherAccessories")));
try {
constructionInfo.setUscDate(ValidationUtil.isEmpty(map.get("installStartDate")) ? null : DateUtils.dateParse((String) map.get("installStartDate"),DateUtils.DATE_PATTERN));
} catch (ParseException e) {
log.error(e.getMessage(),e);
throw new BadRequest("安装日期时间转化错误");
}
idxBizJgConstructionInfoService.getBaseMapper().updateById(constructionInfo);
}
}
/**
* 历史设备登记-》更新维保信息
*/
private void historyEquUpdateMaintenanceInfo(JSONObject map) {
public void historyEquUpdateMaintenanceInfo(JSONObject map) {
IdxBizJgMaintenanceRecordInfo info = buildIdxBizJgMaintenanceRecordInfo(map);
idxBizJgMaintenanceRecordInfoService.save(info);
}
public IdxBizJgMaintenanceRecordInfo buildIdxBizJgMaintenanceRecordInfo(JSONObject map) {
IdxBizJgMaintenanceRecordInfo info = new IdxBizJgMaintenanceRecordInfo();
info.setRecord(String.valueOf(map.get("equipId")));
String meUnitName = String.valueOf(map.get("meUnitName"));
......@@ -3974,30 +4006,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
log.info("date转化失败");
}
info.setRepairInform(ValidationUtil.isEmpty(map.get("maintenanceContract")) ? null : JSONObject.toJSONString(map.get("maintenanceContract")));
idxBizJgMaintenanceRecordInfoService.save(info);
}
/**
* 历史设备登记-》更新安装信息
*/
private void historyEquUpdateInstallInfo(JSONObject map) {
IdxBizJgConstructionInfo constructionInfo = idxBizJgConstructionInfoService.queryNewestDetailByRecord(String.valueOf(map.get("equipId")));
if (!ValidationUtil.isEmpty(constructionInfo.getSequenceNbr())) {
constructionInfo.setUscUnitName(ValidationUtil.isEmpty(map.get("uscUnitName")) ? null : String.valueOf(map.get("uscUnitName")));
constructionInfo.setConstructionLeaderName(ValidationUtil.isEmpty(map.get("installLeaderId")) ? null : String.valueOf(map.get("installLeaderId")));
constructionInfo.setConstructionLeaderPhone(ValidationUtil.isEmpty(map.get("installLeaderPhone")) ? null : String.valueOf(map.get("installLeaderPhone")));
constructionInfo.setProxyStatementAttachment(ValidationUtil.isEmpty(map.get("proxyStatementAttachmentList")) ? null : JSONObject.toJSONString(map.get("proxyStatementAttachmentList")));
constructionInfo.setConstructionContractAttachment(ValidationUtil.isEmpty(map.get("installContractAttachment")) ? null : JSONObject.toJSONString(map.get("installContractAttachment")));
constructionInfo.setConstructionOtherAccessories(ValidationUtil.isEmpty(map.get("insOtherAccessories")) ? null : JSONObject.toJSONString(map.get("insOtherAccessories")));
try {
constructionInfo.setUscDate(ValidationUtil.isEmpty(map.get("installStartDate")) ? null : DateUtils.dateParse((String) map.get("installStartDate"),DateUtils.DATE_PATTERN));
} catch (ParseException e) {
log.error(e.getMessage(),e);
throw new BadRequest("安装日期时间转化错误");
}
idxBizJgConstructionInfoService.getBaseMapper().updateById(constructionInfo);
}
return info;
}
private void historyEquGenManageRelated(JSONObject map, JgUseRegistration jgUseRegistration, IdxBizJgRegisterInfo registerInfo, IdxBizJgFactoryInfo idxBizJgFactoryInfo) {
......
......@@ -49,7 +49,7 @@ public class SingleManageEquipEditHandleImpl {
@Transactional(rollbackFor = Exception.class)
public void doSave(String record, Map<String, Object> changeData) {
List<ChangeDataDto> allChangeColumns = this.update(record, changeData);
List<FieldChangeMeta> allChangeColumns = this.update(record, changeData);
// 记录流水
if (!allChangeColumns.isEmpty()) {
// 更新历史的JSON的数据
......@@ -59,7 +59,7 @@ public class SingleManageEquipEditHandleImpl {
}
}
private void publishEvent2Logger(String record, List<ChangeDataDto> allChangeColumns) {
private void publishEvent2Logger(String record, List<FieldChangeMeta> allChangeColumns) {
BizRelationDataDto relationDataDto = new BizRelationDataDto();
relationDataDto.setBizId(record);
relationDataDto.setBizType(BIZ_TYPE);
......@@ -68,8 +68,8 @@ public class SingleManageEquipEditHandleImpl {
}
private List<ChangeDataDto> update(String record, Map<String, Object> changeData) {
List<ChangeDataDto> allChangeColumns = new ArrayList<>();
private List<FieldChangeMeta> update(String record, Map<String, Object> changeData) {
List<FieldChangeMeta> allChangeColumns = new ArrayList<>();
// 新数据解析
EquipRegisterChangeDataDto registerChangeDataDto = commonEquipDataProcessService.castMap2Bean(changeData, EquipRegisterChangeDataDto.class);
EquipFactoryChangeDataDto factoryChangeDataDto = commonEquipDataProcessService.castMap2Bean(changeData, EquipFactoryChangeDataDto.class);
......@@ -89,7 +89,7 @@ public class SingleManageEquipEditHandleImpl {
}
private void buildLogData(List<ChangeDataDto> allChangeColumns) {
private void buildLogData(List<FieldChangeMeta> allChangeColumns) {
allChangeColumns.forEach(column -> {
column.setBizType("监管端编辑设备信息");
});
......
......@@ -2,11 +2,11 @@ package com.yeejoin.amos.boot.module.ymt.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
......@@ -21,54 +21,53 @@ import java.util.Date;
@TableName("idx_biz_jg_construction_info")
public class IdxBizJgConstructionInfo extends TzsBaseEntity {
/**
*
*/
@TableField("\"RECORD\"")
@TableField("\"RECORD\"")
private String record;
/**
*
*/
@TableField("\"INSTANCE_ID\"")
@TableField("\"INSTANCE_ID\"")
private String instanceId;
/**
*
*/
@TableField("\"STATUS\"")
@TableField("\"STATUS\"")
private String status;
/**
*
*/
@TableField("\"CONSTRUCTION_TYPE\"")
@TableField("\"CONSTRUCTION_TYPE\"")
private String constructionType;
/**
*
*/
@TableField("\"USC_UNIT_CREDIT_CODE\"")
@TableField("\"USC_UNIT_CREDIT_CODE\"")
private String uscUnitCreditCode;
/**
* 施工单位名称
*/
@TableField("\"USC_UNIT_NAME\"")
@TableField("\"USC_UNIT_NAME\"")
private String uscUnitName;
/**
* 施工时间
*/
@TableField("\"USC_DATE\"")
@TableField("\"USC_DATE\"")
private Date uscDate;
/**
*
*/
@TableField("\"SEQUENCE_CODE\"")
@TableField("\"SEQUENCE_CODE\"")
private String sequenceCode;
@TableField(exist = false)
......
......@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
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.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import lombok.Data;
......@@ -19,6 +21,7 @@ import java.util.Date;
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("idx_biz_jg_inspection_detection_info")
@Group("idx_biz_jg_inspection_detection_info")
public class IdxBizJgInspectionDetectionInfo extends TzsBaseEntity {
......@@ -99,6 +102,7 @@ public class IdxBizJgInspectionDetectionInfo extends TzsBaseEntity {
*
*/
@TableField("\"NEXT_INSPECT_DATE\"")
@FieldDisplayDefine(value = "下次检验日期")
private Date nextInspectDate;
/**
......
......@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
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.entity.TzsBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -17,6 +19,7 @@ import lombok.experimental.Accessors;
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("idx_biz_jg_register_info")
@Group(value = "idx_biz_jg_register_info")
public class IdxBizJgRegisterInfo extends TzsBaseEntity {
......@@ -57,6 +60,7 @@ public class IdxBizJgRegisterInfo extends TzsBaseEntity {
*
*/
@TableField("\"USE_ORG_CODE\"")
@FieldDisplayDefine(value = "使用登记证编号")
private String useOrgCode;
/**
......@@ -207,6 +211,7 @@ public class IdxBizJgRegisterInfo extends TzsBaseEntity {
* 2:其他
*/
@TableField("\"CYLINDER_CATEGORY\"")
@FieldDisplayDefine(value = "气瓶类别")
private String cylinderCategory;
......
......@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.ymt.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
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.entity.TzsBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -17,6 +19,7 @@ import lombok.experimental.Accessors;
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("idx_biz_jg_supervision_info")
@Group("idx_biz_jg_supervision_info")
public class IdxBizJgSupervisionInfo extends TzsBaseEntity {
......@@ -44,6 +47,7 @@ public class IdxBizJgSupervisionInfo extends TzsBaseEntity {
/**
*
*/
@FieldDisplayDefine(value = "管辖分局组织机构代码")
@TableField("\"ORG_BRANCH_CODE\"")
private String orgBranchCode;
/**
......@@ -51,12 +55,14 @@ public class IdxBizJgSupervisionInfo extends TzsBaseEntity {
* */
@TableField(value ="\"COMPANY_ORG_BRANCH_CODE\"")
@FieldDisplayDefine(value = "公司/组织机构代码")
private String companyOrgBranchCode;
/**
*
*/
@TableField("\"ORG_BRANCH_NAME\"")
@FieldDisplayDefine(value = "管辖分局名称")
private String orgBranchName;
/**
......
package com.yeejoin.amos.boot.module.ymt.api.entity;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
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.entity.TzsBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.elasticsearch.common.recycler.Recycler;
import java.util.Date;
......@@ -19,6 +23,7 @@ import java.util.Date;
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("idx_biz_jg_use_info")
@Group(value = "idx_biz_jg_use_info")
public class IdxBizJgUseInfo extends TzsBaseEntity {
......@@ -44,24 +49,28 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
*
*/
@TableField("\"USE_UNIT_CREDIT_CODE\"")
@FieldDisplayDefine(value = "使用单位统一信用代码")
private String useUnitCreditCode;
/**
*
*/
@TableField("\"USE_UNIT_NAME\"")
@FieldDisplayDefine(value = "使用单位名称")
private String useUnitName;
/**
*
*/
@TableField("\"ESTATE_UNIT_CREDIT_CODE\"")
@FieldDisplayDefine(value = "产权单位统一信用代码")
private String estateUnitCreditCode;
/**
*
*/
@TableField("\"ESTATE_UNIT_NAME\"")
@FieldDisplayDefine(value = "产权单位名称")
private String estateUnitName;
/**
......@@ -80,12 +89,14 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
*
*/
@TableField("\"USE_INNER_CODE\"")
@FieldDisplayDefine(value = "使用内部编号")
private String useInnerCode;
/**
*
*/
@TableField("\"USE_DATE\"")
@FieldDisplayDefine(value = "投用日期")
private String useDate;
/**
......@@ -98,42 +109,49 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
*
*/
@TableField("\"PROVINCE\"")
@FieldDisplayDefine(value = "省份行政区划")
private String province;
/**
*
*/
@TableField("\"CITY\"")
@FieldDisplayDefine(value = "地市行政区划")
private String city;
/**
*
*/
@TableField("\"COUNTY\"")
@FieldDisplayDefine(value = "区县行政区划")
private String county;
/**
*
*/
@TableField("\"FACTORY_USE_SITE_STREET\"")
@FieldDisplayDefine(value = "街道行政区划")
private String factoryUseSiteStreet;
/**
*
*/
@TableField("\"ADDRESS\"")
@FieldDisplayDefine(value = "详细地址")
private String address;
/**
*
*/
@TableField("\"LONGITUDE_LATITUDE\"")
@FieldDisplayDefine(value = "经纬度", type = JSON.class)
private String longitudeLatitude;
/**
*
*/
@TableField("\"USE_PLACE\"")
@FieldDisplayDefine(value = "使用场所")
private String usePlace;
/**
......@@ -151,12 +169,14 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
/**
*
*/
@FieldDisplayDefine(value = "安管理员名称")
@TableField("\"SAFETY_MANAGER\"")
private String safetyManager;
/**
*
*/
@FieldDisplayDefine(value = "安管理员电话")
@TableField("\"PHONE\"")
private String phone;
......@@ -220,6 +240,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 是否西咸
*/
@TableField("\"IS_NOT_XIXIAN\"")
@FieldDisplayDefine(value = "是否西咸")
private String isNotXiXian;
......@@ -230,6 +251,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
*
*/
@TableField("\"SAFETY_MANAGER_ID\"")
@FieldDisplayDefine(value = "安全管理员id")
private String safetyManagerId;
......@@ -237,6 +259,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 是否是否纳管:true - 已纳管 false-未纳管
*/
@TableField("\"IS_INTO_MANAGEMENT\"")
@FieldDisplayDefine(value = "是否已纳管")
private Boolean isIntoManagement;
......@@ -244,6 +267,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 工程装置名称(工业管道使用)
*/
@TableField("\"PROJECT_CONTRAPTION\"")
@FieldDisplayDefine(value = "工程装置名称(工业管道使用)")
private String projectContraption;
......@@ -251,6 +275,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 历史设备-原使用登记证附件
*/
@TableField("\"OLD_USE_REGISTRATION_CERTIFICATE\"")
@FieldDisplayDefine(value = "原使用登记证附件")
private String oldUseRegistrationCertificate;
......@@ -258,6 +283,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 历史设备-原使用登记表附件
*/
@TableField("\"OLD_USE_REGISTRATION_TABLE\"")
@FieldDisplayDefine(value = "原使用登记表附件")
private String oldUseRegistrationTable;
......@@ -265,6 +291,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 历史设备-原登记机关
*/
@TableField("\"O_REG_UNIT\"")
@FieldDisplayDefine(value = "原登记机关")
private String oRegUnit;
......@@ -272,6 +299,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 历史设备-原登记日期
*/
@TableField("\"O_REG_DATE\"")
@FieldDisplayDefine(value = "原登记日期")
private String oRegDate;
......@@ -279,11 +307,13 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 工程装置ID
*/
@TableField("\"PROJECT_CONTRAPTION_ID\"")
@FieldDisplayDefine(value = "工程装置ID")
private String projectContraptionId;
/**
* 备注
*/
@TableField("\"REMARK\"")
@FieldDisplayDefine(value = "备注")
private String remark;
}
package com.yeejoin.amos.boot.module.ymt.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.module.ymt.api.dto.InspectionDetectionInfoModel;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgInspectionDetectionInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.InspectionDetectionInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.InspectionDetectionInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.service.InspectionDetectionInfoService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
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.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
/**
* 安全追溯-检验检测信息表
......@@ -33,4 +42,16 @@ public class InspectionDetectionInfoServiceImpl extends BaseService<InspectionDe
inspectionDetectionInfoDto.setSuperviseCode(superviseCode);
return inspectionDetectionInfoDto;
}
public Map<String, Object> getNewInspectionDetailByRecord(String record) {
IdxBizJgInspectionDetectionInfo info = this.getBaseMapper().queryNewestDetailByRecord(record);
if (info == null) return Collections.emptyMap();
Map<String, Object> result = new HashMap<>(Bean.BeantoMap(info));
result.put("inspectReport", JSON.parseArray(info.getInspectReport()));
result.put("inspectConclusionCode", info.getInspectConclusion());
result.put("inspectConclusion", Optional.ofNullable(dataDictionaryServiceImpl.getByCode(info.getInspectConclusion(), "JYJL"))
.map(DataDictionary::getName).orElse(""));
result.put("jySeq", info.getSequenceNbr());
return result;
}
}
\ No newline at end of file
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