Commit 2e894106 authored by 刘林's avatar 刘林

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

parents 9fd8a6da 463a150a
...@@ -12,6 +12,7 @@ import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; ...@@ -12,6 +12,7 @@ import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.api.vo.tableDataExportVo.RegistrationVo; import com.yeejoin.amos.boot.module.jg.api.vo.tableDataExportVo.RegistrationVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
...@@ -124,4 +125,6 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> { ...@@ -124,4 +125,6 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> {
List<JgUseRegistrationDto> getListOfPass(); List<JgUseRegistrationDto> getListOfPass();
List<JgUseRegistrationDto> selectMissingSupOrgCodeUseList(); List<JgUseRegistrationDto> selectMissingSupOrgCodeUseList();
Set<Long> queryListByEqsAndStatus(@Param("records") Set<String> records, @Param("status") String status, @Param("applyNo") String applyNo);
} }
...@@ -1499,4 +1499,20 @@ ...@@ -1499,4 +1499,20 @@
AND u."project_contraption_id" IS NOT NULL ORDER BY u.audit_pass_date AND u."project_contraption_id" IS NOT NULL ORDER BY u.audit_pass_date
</select> </select>
<select id="queryListByEqsAndStatus" resultType="java.lang.Long">
SELECT
distinct ur.sequence_nbr as sequence_nbr
FROM
"tzs_jg_use_registration" ur,
tzs_jg_use_registration_eq re
WHERE
ur.status = #{status}
and ur.is_delete = 0
and re.equip_transfer_id = ur.sequence_nbr
and ur.apply_no !=#{applyNo}
and re.equ_id in
<foreach collection="records" item="record" open="(" close=")" separator=",">
#{record}
</foreach>
</select>
</mapper> </mapper>
...@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.event.handler; ...@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.event.handler;
import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationEvent;
public interface IChangeUpdateHandler<T extends ApplicationEvent> { public interface IChangeEventBizHandler<T extends ApplicationEvent> {
void handle(T event); void handle(T event);
Boolean supports(T event); Boolean supports(T event);
......
...@@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject; ...@@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto; 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.api.entity.JgBizChangeLog;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.api.service.IJgBizChangeLogService;
import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent; import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgInstallationNoticeServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgInstallationNoticeServiceImpl;
...@@ -17,7 +16,6 @@ import lombok.extern.slf4j.Slf4j; ...@@ -17,7 +16,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.Set; import java.util.Set;
...@@ -25,7 +23,7 @@ import java.util.Set; ...@@ -25,7 +23,7 @@ import java.util.Set;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class InstallNoticeUpdateUpdateHandler implements IChangeUpdateHandler<ChangeDataEvent> { public class InstallNoticeChangeEventHandler implements IChangeEventBizHandler<ChangeDataEvent> {
private final JgInstallationNoticeServiceImpl jgInstallationNoticeService; private final JgInstallationNoticeServiceImpl jgInstallationNoticeService;
...@@ -49,6 +47,7 @@ public class InstallNoticeUpdateUpdateHandler implements IChangeUpdateHandler<Ch ...@@ -49,6 +47,7 @@ public class InstallNoticeUpdateUpdateHandler implements IChangeUpdateHandler<Ch
// es记录日志 // es记录日志
this.log2es(beforeData, afterData, installationNotice, event); this.log2es(beforeData, afterData, installationNotice, event);
}); });
log.info("更新安装告知的单据数量:{}", installationNoticeIds.size());
} }
private void log2es(JSONObject beforeData, JSONObject afterData, JgInstallationNotice installationNotice, ChangeDataEvent event) { private void log2es(JSONObject beforeData, JSONObject afterData, JgInstallationNotice installationNotice, ChangeDataEvent event) {
...@@ -62,19 +61,18 @@ public class InstallNoticeUpdateUpdateHandler implements IChangeUpdateHandler<Ch ...@@ -62,19 +61,18 @@ public class InstallNoticeUpdateUpdateHandler implements IChangeUpdateHandler<Ch
changeLog.setOId(event.getRequestContext().getTraceId()); changeLog.setOId(event.getRequestContext().getTraceId());
changeLog.setBizType("installationNotice"); changeLog.setBizType("installationNotice");
changeLog.setRecUserId(event.getRequestContext().getExcutedUserId()); changeLog.setRecUserId(event.getRequestContext().getExcutedUserId());
ESDataChangeLogDto changeLogDto = new ESDataChangeLogDto(); ESDataChangeLogDto esDataChangeLogDto = new ESDataChangeLogDto();
changeLogDto.setColumnKey("changeData"); esDataChangeLogDto.setColumnKey("changeData");
changeLogDto.setColumnKeyLabel("历史json数据"); esDataChangeLogDto.setColumnKeyLabel("历史json数据");
changeLogDto.setBeforeData(beforeData.toJSONString()); esDataChangeLogDto.setBeforeData(beforeData.toJSONString());
changeLogDto.setAfterData(afterData.toJSONString()); esDataChangeLogDto.setAfterData(afterData.toJSONString());
changeLogDto.setUserId(event.getRequestContext().getExcutedUserId()); esDataChangeLogDto.setUserId(event.getRequestContext().getExcutedUserId());
changeLogDto.setCreateDate(date.getTime()); esDataChangeLogDto.setCreateDate(date.getTime());
changeLogDto.setRequestDate(DateUtil.formatDateTime(date)); esDataChangeLogDto.setRequestDate(DateUtil.formatDateTime(date));
changeLogDto.setChangeId(installationNotice.getApplyNo()); esDataChangeLogDto.setChangeId(installationNotice.getApplyNo());
changeLogDto.setColumnFamily("tzs_jg_installation_notice"); esDataChangeLogDto.setColumnFamily("tzs_jg_installation_notice");
changeLogDto.setBizType(changeLog.getBizType()); esDataChangeLogDto.setBizType(changeLog.getBizType());
changeLogDto.setBatchId(changeLog.getSequenceNbr() + ""); jgBizChangeLogService.save2DbAndEs(changeLog, Collections.singletonList(esDataChangeLogDto));
jgBizChangeLogService.save2DbAndEs(changeLog, Collections.singletonList(changeLogDto));
} }
private Set<Long> getRelationInstallNoticeList(ChangeDataEvent event) { private Set<Long> getRelationInstallNoticeList(ChangeDataEvent event) {
...@@ -86,6 +84,7 @@ public class InstallNoticeUpdateUpdateHandler implements IChangeUpdateHandler<Ch ...@@ -86,6 +84,7 @@ public class InstallNoticeUpdateUpdateHandler implements IChangeUpdateHandler<Ch
@Override @Override
public Boolean supports(ChangeDataEvent event) { public Boolean supports(ChangeDataEvent event) {
return event.getBizRelationData().getBizType().equals(UseRegisterDataChangeHandleImpl.BIZ_TYPE); return UseRegisterDataChangeHandleImpl.BIZ_TYPE.equals(event.getBizRelationData().getBizType());
} }
} }
...@@ -4,10 +4,8 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,10 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto; 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.api.entity.JgBizChangeLog;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent; import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl;
...@@ -26,7 +24,7 @@ import java.util.Set; ...@@ -26,7 +24,7 @@ import java.util.Set;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class MaintenanceContractUpdateUpdateHandler implements IChangeUpdateHandler<ChangeDataEvent> { public class MaintenanceContractChangeEventHandler implements IChangeEventBizHandler<ChangeDataEvent> {
private final JgMaintenanceContractServiceImpl jgMaintenanceContractService; private final JgMaintenanceContractServiceImpl jgMaintenanceContractService;
...@@ -51,6 +49,7 @@ public class MaintenanceContractUpdateUpdateHandler implements IChangeUpdateHand ...@@ -51,6 +49,7 @@ public class MaintenanceContractUpdateUpdateHandler implements IChangeUpdateHand
// es记录日志 // es记录日志
this.log2es(beforeData, afterData, maintenanceContract, event); this.log2es(beforeData, afterData, maintenanceContract, event);
}); });
log.info("更新维保备案的单据数量:{}", maintenanceContractList.size());
} }
private Set<Long> getRelationMaintenanceContractList(ChangeDataEvent event) { private Set<Long> getRelationMaintenanceContractList(ChangeDataEvent event) {
...@@ -62,7 +61,7 @@ public class MaintenanceContractUpdateUpdateHandler implements IChangeUpdateHand ...@@ -62,7 +61,7 @@ public class MaintenanceContractUpdateUpdateHandler implements IChangeUpdateHand
@Override @Override
public Boolean supports(ChangeDataEvent event) { public Boolean supports(ChangeDataEvent event) {
return event.getBizRelationData().getBizType().equals(UseRegisterDataChangeHandleImpl.BIZ_TYPE); return UseRegisterDataChangeHandleImpl.BIZ_TYPE.equals(event.getBizRelationData().getBizType());
} }
private void log2es(JSON beforeData, JSON afterData, JgMaintenanceContract maintenanceContract, ChangeDataEvent event) { private void log2es(JSON beforeData, JSON afterData, JgMaintenanceContract maintenanceContract, ChangeDataEvent event) {
...@@ -76,18 +75,17 @@ public class MaintenanceContractUpdateUpdateHandler implements IChangeUpdateHand ...@@ -76,18 +75,17 @@ public class MaintenanceContractUpdateUpdateHandler implements IChangeUpdateHand
changeLog.setOId(event.getRequestContext().getTraceId()); changeLog.setOId(event.getRequestContext().getTraceId());
changeLog.setBizType("maintenanceContract"); changeLog.setBizType("maintenanceContract");
changeLog.setRecUserId(event.getRequestContext().getExcutedUserId()); changeLog.setRecUserId(event.getRequestContext().getExcutedUserId());
ESDataChangeLogDto changeLogDto = new ESDataChangeLogDto(); ESDataChangeLogDto esDataChangeLogDto = new ESDataChangeLogDto();
changeLogDto.setColumnKey("changeData"); esDataChangeLogDto.setColumnKey("changeData");
changeLogDto.setColumnKeyLabel("历史json数据"); esDataChangeLogDto.setColumnKeyLabel("历史json数据");
changeLogDto.setBeforeData(beforeData.toJSONString()); esDataChangeLogDto.setBeforeData(beforeData.toJSONString());
changeLogDto.setAfterData(afterData.toJSONString()); esDataChangeLogDto.setAfterData(afterData.toJSONString());
changeLogDto.setUserId(event.getRequestContext().getExcutedUserId()); esDataChangeLogDto.setUserId(event.getRequestContext().getExcutedUserId());
changeLogDto.setCreateDate(date.getTime()); esDataChangeLogDto.setCreateDate(date.getTime());
changeLogDto.setRequestDate(DateUtil.formatDateTime(date)); esDataChangeLogDto.setRequestDate(DateUtil.formatDateTime(date));
changeLogDto.setChangeId(maintenanceContract.getApplyNo()); esDataChangeLogDto.setChangeId(maintenanceContract.getApplyNo());
changeLogDto.setColumnFamily("tzs_jg_maintenance_contract"); esDataChangeLogDto.setColumnFamily("tzs_jg_maintenance_contract");
changeLogDto.setBizType(changeLog.getBizType()); esDataChangeLogDto.setBizType(changeLog.getBizType());
changeLogDto.setBatchId(changeLog.getSequenceNbr() + ""); jgBizChangeLogService.save2DbAndEs(changeLog, Collections.singletonList(esDataChangeLogDto));
jgBizChangeLogService.save2DbAndEs(changeLog, Collections.singletonList(changeLogDto));
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.event.handler;
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.ESDataChangeLogDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent;
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.UseRegisterDataChangeHandleImpl;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterUpdateService;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.Date;
import java.util.Set;
@Component
@RequiredArgsConstructor
@Slf4j
public class UseRegisterChangeEventHandler implements IChangeEventBizHandler<ChangeDataEvent> {
private final JgUseRegistrationServiceImpl jgUseRegistrationService;
private final JgBizChangeLogServiceImpl jgBizChangeLogService;
private final UseRegisterUpdateService registerUpdateService;
@Override
@Async
public void handle(ChangeDataEvent event) {
log.info("开始更新使用登记json数据:{}", event);
// 查询关联的单据-未删除且已完成状态-不包括原始使用登记的修改
Set<Long> useRegistrationIds = this.getRelationUseRegisterList(event);
// 更新历史json
useRegistrationIds.forEach(seq -> {
// 更新json
JgUseRegistration useRegistration = jgUseRegistrationService.getById(seq);
// 查询之前数据json
JSONObject beforeData = jgUseRegistrationService.getHisData(useRegistration);
registerUpdateService.updateHisData(useRegistration.getApplyNo());
// 查询之后数据json
JSONObject afterData = jgUseRegistrationService.getHisData(useRegistration);
// es记录日志
this.log2es(beforeData, afterData, useRegistration, event);
});
log.info("更新使用登记的单据数量:{}", useRegistrationIds.size());
}
private void log2es(JSONObject beforeData, JSONObject afterData, JgUseRegistration jgUseRegistration, ChangeDataEvent event) {
Date date = DateUtil.date();
JgBizChangeLog changeLog = new JgBizChangeLog();
BeanUtil.copyProperties(event.getBizRelationData(), changeLog);
changeLog.setRecDate(date);
changeLog.setBizId(jgUseRegistration.getApplyNo());
// todo 与原始编辑进行关联
changeLog.setOId(event.getRequestContext().getTraceId());
changeLog.setBizType(changeLog.getBizType());
changeLog.setBizTable("tzs_jg_use_registration");
changeLog.setRecUserId(event.getRequestContext().getExcutedUserId());
ESDataChangeLogDto esDataChangeLogDto = new ESDataChangeLogDto();
esDataChangeLogDto.setColumnKey("changeData");
esDataChangeLogDto.setColumnKeyLabel("历史json数据");
esDataChangeLogDto.setBeforeData(beforeData.toJSONString());
esDataChangeLogDto.setAfterData(afterData.toJSONString());
esDataChangeLogDto.setUserId(event.getRequestContext().getExcutedUserId());
esDataChangeLogDto.setCreateDate(date.getTime());
esDataChangeLogDto.setRequestDate(DateUtil.formatDateTime(date));
esDataChangeLogDto.setChangeId(jgUseRegistration.getApplyNo());
esDataChangeLogDto.setColumnFamily(changeLog.getBizTable());
esDataChangeLogDto.setBizType(changeLog.getBizType());
jgBizChangeLogService.save2DbAndEs(changeLog, Collections.singletonList(esDataChangeLogDto));
}
private Set<Long> getRelationUseRegisterList(ChangeDataEvent event) {
// 变化的设备
Set<String> records = event.getBizRelationData().getRecords();
String applyNo = event.getBizRelationData().getBizId();
// 查询设备关联的已完成状态的单据-来更新其json
return jgUseRegistrationService.getBaseMapper().queryListByEqsAndStatus(records, FlowStatusEnum.TO_BE_FINISHED.getName(), applyNo);
}
@Override
public Boolean supports(ChangeDataEvent event) {
return UseRegisterDataChangeHandleImpl.BIZ_TYPE.equals(event.getBizRelationData().getBizType());
}
}
...@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.event.listener; ...@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.event.listener;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent; import com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent;
import com.yeejoin.amos.boot.module.jg.biz.event.handler.IChangeUpdateHandler; import com.yeejoin.amos.boot.module.jg.biz.event.handler.IChangeEventBizHandler;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -30,7 +30,7 @@ public class RelationBizApplyUpdateListener { ...@@ -30,7 +30,7 @@ public class RelationBizApplyUpdateListener {
@Value("${relation.data.deal.thread.number:1}") @Value("${relation.data.deal.thread.number:1}")
private int threadNumber; private int threadNumber;
private final List<IChangeUpdateHandler<ApplicationEvent>> changeUpdateHandlers; private final List<IChangeEventBizHandler<ApplicationEvent>> changeUpdateHandlers;
private final BlockingQueue<ChangeDataEvent> queue = new LinkedBlockingQueue<>(); private final BlockingQueue<ChangeDataEvent> queue = new LinkedBlockingQueue<>();
......
...@@ -4514,4 +4514,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -4514,4 +4514,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
public Object countUseTimesForInvalid(Object code) { public Object countUseTimesForInvalid(Object code) {
return jgUseRegistrationMapper.countUseTimesForInvalid(code) == 0; return jgUseRegistrationMapper.countUseTimesForInvalid(code) == 0;
} }
public JSONObject getHisData(JgUseRegistration jgUseRegistration){
return commonService.queryHistoryData(jgUseRegistration.getSequenceNbr());
}
} }
\ 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