Commit 68736cd3 authored by yangyang's avatar yangyang

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

# Conflicts: # amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/DataDockServiceImpl.java
parents e172ebd9 3681f346
...@@ -435,30 +435,17 @@ public class ESEquipmentInfo { ...@@ -435,30 +435,17 @@ public class ESEquipmentInfo {
if (Double.isNaN(value) || Double.isInfinite(value)) { if (Double.isNaN(value) || Double.isInfinite(value)) {
return value; // 保留特殊值原样返回 return value; // 保留特殊值原样返回
} }
// 默认精度处理 // 默认精度处理
int scale = (precision != null) ? int scale = (precision != null) ?
Math.min(precision, 16) : 6; // 最大支持16位小数 Math.min(precision, 16) : 6; // 最大支持16位小数
// 银行家舍入法(HALF_EVEN)减少统计误差 // 银行家舍入法(HALF_EVEN)减少统计误差
BigDecimal bd = BigDecimal.valueOf(value); // 注意:必须用valueOf避免精度丢失 BigDecimal bd = BigDecimal.valueOf(value); // 注意:必须用valueOf避免精度丢失
bd = bd.setScale(scale, RoundingMode.HALF_EVEN); bd = bd.setScale(scale, RoundingMode.HALF_UP);
// 处理科学计数法(避免1.23E-4这样的输出) // 处理科学计数法(避免1.23E-4这样的输出)
return bd.stripTrailingZeros().doubleValue(); return bd.stripTrailingZeros().doubleValue();
} }
private Date convertToDate(Object value) {
if (value instanceof Date) return (Date) value;
if (value instanceof Long) return new Date((Long) value);
if (value instanceof String) {
try {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse((String) value);
} catch (ParseException e) {
throw new IllegalArgumentException("Invalid date format");
}
}
throw new IllegalArgumentException("Unsupported date type");
}
private void resetFields() { private void resetFields() {
this.strValue = null; this.strValue = null;
this.longValue = null; this.longValue = null;
......
...@@ -16,6 +16,7 @@ import org.springframework.transaction.event.TransactionalEventListener; ...@@ -16,6 +16,7 @@ import org.springframework.transaction.event.TransactionalEventListener;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.concurrent.BlockingQueue; import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
...@@ -74,7 +75,7 @@ public class DataRefreshListener { ...@@ -74,7 +75,7 @@ public class DataRefreshListener {
} }
private List<TzsDataRefreshMessage> createMsg(DataRefreshEvent event) { private List<TzsDataRefreshMessage> createMsg(DataRefreshEvent event) {
List<TzsDataRefreshMessage> messages = event.getDataIds().stream().map(dataId -> { List<TzsDataRefreshMessage> messages = event.getDataIds().stream().filter(Objects::nonNull).map(dataId -> {
TzsDataRefreshMessage message = new TzsDataRefreshMessage(); TzsDataRefreshMessage message = new TzsDataRefreshMessage();
message.setDataId(dataId); message.setDataId(dataId);
message.setDataType(event.getDataType()); message.setDataType(event.getDataType());
......
...@@ -121,33 +121,8 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -121,33 +121,8 @@ public class JgMaintenanceContractController extends BaseController {
String.valueOf(map.get("operate")), String.valueOf(map.get("operate")),
String.valueOf(map.get("comment")), String.valueOf(map.get("comment")),
true, true,
String.valueOf(map.get("nextTaskId"))); String.valueOf(map.get("nextTaskId")),
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); map);
if (map.containsKey("formData") && !ObjectUtils.isEmpty(map.get("formData"))) {
JgMaintenanceContract dto = new JgMaintenanceContract();
Map<String, Object> formData = (Map<String, Object>) map.get("formData");
BeanUtil.copyProperties(formData, dto);
JgMaintenanceContract result = new JgMaintenanceContract();
if (!ObjectUtils.isEmpty(dto.getMaintenanceManagerOneId())) {
result.setSequenceNbr(dto.getSequenceNbr());
// 维保人员一
String[] maintenanceManagerOneInfo = dto.getMaintenanceManagerOneId().split("_");
result.setMaintenanceManagerOneId(maintenanceManagerOneInfo[0]);
result.setMaintenanceManagerOneName(maintenanceManagerOneInfo[1]);
result.setMaintenanceManagerOnePhone(dto.getMaintenanceManagerOnePhone());
result.setMaintenanceManagerOneIdNum(dto.getMaintenanceManagerOneIdNum());
// 维保人员二
String[] maintenanceManagerTwoInfo = dto.getMaintenanceManagerTwoId().split("_");
result.setMaintenanceManagerTwoId(maintenanceManagerTwoInfo[0]);
result.setMaintenanceManagerTwoName(maintenanceManagerTwoInfo[1]);
result.setMaintenanceManagerTwoPhone(dto.getMaintenanceManagerTwoPhone());
result.setMaintenanceManagerTwoIdNum(dto.getMaintenanceManagerTwoIdNum());
result.setPromoter(reginParams.getUserModel().getUserId());
}
jgMaintenanceContractServiceImpl.getBaseMapper().updateById(result);
}
return ResponseHelper.buildResponse("ok"); return ResponseHelper.buildResponse("ok");
} }
......
...@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject; ...@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity; import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.module.common.biz.event.CommonPublisher;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.jg.api.common.BizCommonConstant; import com.yeejoin.amos.boot.module.jg.api.common.BizCommonConstant;
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.enums.CylinderTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum;
...@@ -20,6 +22,7 @@ import org.springframework.stereotype.Component; ...@@ -20,6 +22,7 @@ import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -35,6 +38,8 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy ...@@ -35,6 +38,8 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
private final EsUpdateService esUpdateService; private final EsUpdateService esUpdateService;
private final CommonPublisher publisher;
@Override @Override
public HandleResult handle(Map<String, Object> changeData, String record) { public HandleResult handle(Map<String, Object> changeData, String record) {
...@@ -140,6 +145,8 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy ...@@ -140,6 +145,8 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
this.updateOtherEquipInSameCert(useInfoNew, registerInfoNew, registerInfoOld, allChangeColumns); this.updateOtherEquipInSameCert(useInfoNew, registerInfoNew, registerInfoOld, allChangeColumns);
// 设备技术参数入库处理 // 设备技术参数入库处理
commonEquipDataProcessService.updateTechParamInfo(registerInfoOld.getEquList(), record, changeData, allChangeColumns); commonEquipDataProcessService.updateTechParamInfo(registerInfoOld.getEquList(), record, changeData, allChangeColumns);
// 发送数据刷新消息
publisher.publish(new DataRefreshEvent(this, Collections.singletonList(record), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
return HandleResult.builder().fieldChangeMetas(allChangeColumns).build(); return HandleResult.builder().fieldChangeMetas(allChangeColumns).build();
} }
......
...@@ -9,6 +9,8 @@ import com.alibaba.fastjson.JSONArray; ...@@ -9,6 +9,8 @@ import com.alibaba.fastjson.JSONArray;
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.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.module.common.biz.event.CommonPublisher;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.biz.edit.constant.EditConstant; import com.yeejoin.amos.boot.module.jg.biz.edit.constant.EditConstant;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.EsUpdateService; import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.EsUpdateService;
...@@ -45,6 +47,8 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS ...@@ -45,6 +47,8 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
private final EsUpdateService esUpdateService; private final EsUpdateService esUpdateService;
private final CommonPublisher publisher;
@Override @Override
public HandleResult handle(Map<String, Object> changeData, String projectContraptionId) { public HandleResult handle(Map<String, Object> changeData, String projectContraptionId) {
...@@ -116,9 +120,16 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS ...@@ -116,9 +120,16 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
pieLineDataChangeService.updateEs(projectContraptionChangeDataDto); pieLineDataChangeService.updateEs(projectContraptionChangeDataDto);
// 5.更新管道长度,按照装置下的已经入库的全量更新(todo 流程中编辑时数据不体现在这 还是原数据) // 5.更新管道长度,按照装置下的已经入库的全量更新(todo 流程中编辑时数据不体现在这 还是原数据)
pieLineDataChangeService.updatePipelineLength(projectContraptionChangeDataDto.getProjectContraptionId()); pieLineDataChangeService.updatePipelineLength(projectContraptionChangeDataDto.getProjectContraptionId());
this.sendDataRefreshMsgProjectContraption(pmap.values());
return HandleResult.builder().fieldChangeMetas(allChangeColumns).pipelineChangeItemMap(pmap).build(); return HandleResult.builder().fieldChangeMetas(allChangeColumns).pipelineChangeItemMap(pmap).build();
} }
private void sendDataRefreshMsgProjectContraption(Collection<List<PipelineChangeItemDto>> values) {
List<String> records = values.stream().flatMap(Collection::stream).collect(Collectors.toList()).stream().map(TechParamsPipelineChangeFieldDto::getRecord).collect(Collectors.toList());
publisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
private void buildTechParamChangeLog(String record, PipelineChangeItemDto pipelineNew, PipelineChangeItemDto pipelineOld, ProjectContraptionChangeDataDto projectContraptionChangeDataDto, List<FieldChangeMeta> allChangeColumns) { private void buildTechParamChangeLog(String record, PipelineChangeItemDto pipelineNew, PipelineChangeItemDto pipelineOld, ProjectContraptionChangeDataDto projectContraptionChangeDataDto, List<FieldChangeMeta> allChangeColumns) {
TechParamsPipelineChangeFieldDto paramsPipelineChangeFieldNew = new TechParamsPipelineChangeFieldDto(); TechParamsPipelineChangeFieldDto paramsPipelineChangeFieldNew = new TechParamsPipelineChangeFieldDto();
BeanUtil.copyProperties(pipelineNew, paramsPipelineChangeFieldNew, true); BeanUtil.copyProperties(pipelineNew, paramsPipelineChangeFieldNew, true);
......
package com.yeejoin.amos.boot.module.jg.biz.event.listener.service; package com.yeejoin.amos.boot.module.jg.biz.event.listener.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.event.dto.CancelEquipItem; import com.yeejoin.amos.boot.module.jg.biz.event.dto.CancelEquipItem;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher; import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
...@@ -17,8 +19,11 @@ import lombok.extern.slf4j.Slf4j; ...@@ -17,8 +19,11 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors;
@Service @Service
@Slf4j @Slf4j
...@@ -43,6 +48,15 @@ public class ManageStatusDataUpdateService { ...@@ -43,6 +48,15 @@ public class ManageStatusDataUpdateService {
}); });
// 装置评分处理 // 装置评分处理
castEvent2EquipEditEvent(cancelEquipItem.getProjectContraptionIds()); castEvent2EquipEditEvent(cancelEquipItem.getProjectContraptionIds());
// 发送数据刷新消息
sendPipelineRefreshMsg(cancelEquipItem.getProjectContraptionIds());
}
private void sendPipelineRefreshMsg(Set<String> projectContraptionIds) {
if (projectContraptionIds != null && !projectContraptionIds.isEmpty()) {
List<String> records = idxBizJgUseInfoService.list(new LambdaQueryWrapper<IdxBizJgUseInfo>().in(IdxBizJgUseInfo::getProjectContraptionId, projectContraptionIds).select(IdxBizJgUseInfo::getRecord)).stream().map(IdxBizJgUseInfo::getRecord).collect(Collectors.toList());
publisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
} }
/** /**
...@@ -82,6 +96,7 @@ public class ManageStatusDataUpdateService { ...@@ -82,6 +96,7 @@ public class ManageStatusDataUpdateService {
} }
esEquipmentCategoryDao.save(esEquipmentCategoryDto); esEquipmentCategoryDao.save(esEquipmentCategoryDto);
}); });
publisher.publish(new DataRefreshEvent(this, Collections.singletonList(record), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
} catch (Exception e) { } catch (Exception e) {
log.error("设备作废异常:{}", e.getMessage()); log.error("设备作废异常:{}", e.getMessage());
} }
......
...@@ -52,7 +52,7 @@ public class EquipRefreshHandler implements IDataRefreshHandler { ...@@ -52,7 +52,7 @@ public class EquipRefreshHandler implements IDataRefreshHandler {
@Override @Override
public void doRefresh(TzsDataRefreshMessage message) { public void doRefresh(TzsDataRefreshMessage message) {
log.info("3库数据,设备开始刷库:唯一标识:{}", message.getDataId()); log.info("库数据,设备开始刷库:唯一标识:{}", message.getDataId());
switch (DataRefreshEvent.Operation.valueOf(message.getOperation())) { switch (DataRefreshEvent.Operation.valueOf(message.getOperation())) {
case DELETE: case DELETE:
esEquipmentDao.deleteById(message.getDataId()); esEquipmentDao.deleteById(message.getDataId());
......
...@@ -64,8 +64,9 @@ public class UseRegisterReminderAdapter extends DefaultReminder { ...@@ -64,8 +64,9 @@ public class UseRegisterReminderAdapter extends DefaultReminder {
lambda.eq(JgUseRegistrationEq::getEquipTransferId, useRegistration.getSequenceNbr()); lambda.eq(JgUseRegistrationEq::getEquipTransferId, useRegistration.getSequenceNbr());
lambda.select(JgUseRegistrationEq::getEquId); lambda.select(JgUseRegistrationEq::getEquId);
List<String> records = useRegisterReminderParse.getJgRelationEquipMapper().selectList(lambda).stream().map(JgUseRegistrationEq::getEquId).collect(Collectors.toList()); List<String> records = useRegisterReminderParse.getJgRelationEquipMapper().selectList(lambda).stream().map(JgUseRegistrationEq::getEquId).collect(Collectors.toList());
Map<String, Object> historyData = getValuesFromHistory(useRegistration);
List<ReminderItemDto> itemDtoList = useRegisterReminderParse.getJgUseRegistrationMapper().queryForUnitVehiclePageForReminder(records); List<ReminderItemDto> itemDtoList = useRegisterReminderParse.getJgUseRegistrationMapper().queryForUnitVehiclePageForReminder(records);
itemDtoList.forEach(item -> item.setDetailData(this.buildSetUseDataByStatus(useRegistration, item.getEquipId()))); itemDtoList.forEach(item -> item.setDetailData(this.buildSetUseDataByStatus(historyData, item.getEquipId())));
re.addAll(itemDtoList); re.addAll(itemDtoList);
} }
// 台套设备 // 台套设备
...@@ -83,14 +84,14 @@ public class UseRegisterReminderAdapter extends DefaultReminder { ...@@ -83,14 +84,14 @@ public class UseRegisterReminderAdapter extends DefaultReminder {
reminderItemDto.setEquipId(record); reminderItemDto.setEquipId(record);
reminderItemDto.setEquipNo(idxBizJgUseInfo.getUseInnerCode()); reminderItemDto.setEquipNo(idxBizJgUseInfo.getUseInnerCode());
reminderItemDto.setEquipName(registerInfo.getProductName()); reminderItemDto.setEquipName(registerInfo.getProductName());
reminderItemDto.setDetailData(this.buildSetUseDataByStatus(useRegistration, record)); Map<String, Object> historyData = getValuesFromHistory(useRegistration);
reminderItemDto.setDetailData(this.buildSetUseDataByStatus(historyData, record));
re.add(reminderItemDto); re.add(reminderItemDto);
} }
return re; return re;
} }
private Map<String, Object> buildSetUseDataByStatus(JgUseRegistration useRegistration, String record) { private Map<String, Object> buildSetUseDataByStatus(Map<String, Object> re, String record) {
Map<String, Object> re = getValuesFromHistory(useRegistration);
if (re != null) return re; if (re != null) return re;
return useRegisterReminderParse.getEquipDetailByRecord(record); return useRegisterReminderParse.getEquipDetailByRecord(record);
} }
......
...@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; ...@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dao.ExcelImportErrorLogDao; import com.yeejoin.amos.boot.module.common.api.dao.ExcelImportErrorLogDao;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.api.dto.ExcelImportErrorLogDto; import com.yeejoin.amos.boot.module.common.api.dto.ExcelImportErrorLogDto;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.jg.api.common.DataDockTemplateVersion; import com.yeejoin.amos.boot.module.jg.api.common.DataDockTemplateVersion;
import com.yeejoin.amos.boot.module.jg.api.converter.DictParamsConverter; import com.yeejoin.amos.boot.module.jg.api.converter.DictParamsConverter;
import com.yeejoin.amos.boot.module.jg.api.converter.EquCategoryConverter; import com.yeejoin.amos.boot.module.jg.api.converter.EquCategoryConverter;
...@@ -186,6 +187,7 @@ public class DataDockServiceImpl { ...@@ -186,6 +187,7 @@ public class DataDockServiceImpl {
})).toArray(CompletableFuture[]::new) })).toArray(CompletableFuture[]::new)
).join(); ).join();
eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), recordSet, EquipCreateOrEditEvent.EquipType.equip)); eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), recordSet, EquipCreateOrEditEvent.EquipType.equip));
eventPublisher.publish(new DataRefreshEvent(this, new ArrayList<>(recordSet), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.INSERT));
return Boolean.TRUE; return Boolean.TRUE;
} }
...@@ -1776,6 +1778,7 @@ public class DataDockServiceImpl { ...@@ -1776,6 +1778,7 @@ public class DataDockServiceImpl {
} }
} }
} }
eventPublisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.INSERT));
return Boolean.TRUE; return Boolean.TRUE;
} }
...@@ -2448,6 +2451,7 @@ public class DataDockServiceImpl { ...@@ -2448,6 +2451,7 @@ public class DataDockServiceImpl {
})).toArray(CompletableFuture[]::new) })).toArray(CompletableFuture[]::new)
).join(); ).join();
eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), recordSet, EquipCreateOrEditEvent.EquipType.equip)); eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), recordSet, EquipCreateOrEditEvent.EquipType.equip));
eventPublisher.publish(new DataRefreshEvent(this, new ArrayList<>(recordSet), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.INSERT));
return Boolean.TRUE; return Boolean.TRUE;
} }
......
...@@ -1424,6 +1424,7 @@ public class DataHandlerServiceImpl { ...@@ -1424,6 +1424,7 @@ public class DataHandlerServiceImpl {
EsBaseEnterpriseInfo esBaseEnterpriseInfo = new EsBaseEnterpriseInfo(); EsBaseEnterpriseInfo esBaseEnterpriseInfo = new EsBaseEnterpriseInfo();
BeanUtil.copyProperties(enterpriseInfo, esBaseEnterpriseInfo); BeanUtil.copyProperties(enterpriseInfo, esBaseEnterpriseInfo);
esBaseEnterpriseInfo.setSequenceNbr(enterpriseInfo.getSequenceNbr() + ""); esBaseEnterpriseInfo.setSequenceNbr(enterpriseInfo.getSequenceNbr() + "");
esBaseEnterpriseInfo.setContactUser(enterpriseInfo.getUseContact());
esBaseEnterpriseInfo.setEquipCategory(StatisticsDataUpdateService.castStrList2String(enterpriseInfo.getEquipCategory())); esBaseEnterpriseInfo.setEquipCategory(StatisticsDataUpdateService.castStrList2String(enterpriseInfo.getEquipCategory()));
List<TzBaseUnitLicence> unitLicences = licenceMapper.selectList(new LambdaQueryWrapper<TzBaseUnitLicence>() List<TzBaseUnitLicence> unitLicences = licenceMapper.selectList(new LambdaQueryWrapper<TzBaseUnitLicence>()
.eq(TzBaseUnitLicence::getUnitCode, enterpriseInfo.getUseUnitCode()) .eq(TzBaseUnitLicence::getUnitCode, enterpriseInfo.getUseUnitCode())
......
...@@ -4333,6 +4333,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -4333,6 +4333,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
Optional.of(esEquipmentCategoryList).filter(list -> !list.isEmpty()).ifPresent(esEquipmentCategory::saveAll); Optional.of(esEquipmentCategoryList).filter(list -> !list.isEmpty()).ifPresent(esEquipmentCategory::saveAll);
eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), recordSet, EquipCreateOrEditEvent.EquipType.equip)); eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), recordSet, EquipCreateOrEditEvent.EquipType.equip));
eventPublisher.publish(new DataRefreshEvent(this, new ArrayList<>(recordSet), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.INSERT));
return String.format("导入完成,成功导入: %d 条数据!", useInfoList.size()); return String.format("导入完成,成功导入: %d 条数据!", useInfoList.size());
} }
......
...@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
...@@ -23,11 +24,13 @@ import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; ...@@ -23,11 +24,13 @@ import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest; import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext; import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext; import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService; import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis; import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil; import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
...@@ -133,6 +136,9 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -133,6 +136,9 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
@Autowired @Autowired
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqService; private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqService;
@Autowired
private EventPublisher eventPublisher;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class) @GlobalTransactional(rollbackFor = Exception.class)
public List<JgChangeRegistrationName> save2(String submitType, JSONObject requestParam) { public List<JgChangeRegistrationName> save2(String submitType, JSONObject requestParam) {
...@@ -794,12 +800,17 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -794,12 +800,17 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
TaskV2Model taskV2Model = updateTaskModel(jgChangeRegistrationName, operate); TaskV2Model taskV2Model = updateTaskModel(jgChangeRegistrationName, operate);
// 修改业务信息 // 修改业务信息
updateInfoOther(taskV2Model, jgChangeRegistrationName); updateInfoOther(taskV2Model, jgChangeRegistrationName);
this.sendDataRefreshMsg(jgChangeRegistrationName);
} }
// 保存redis最新流程数据 // 保存redis最新流程数据
commonService.saveExecuteFlowData2Redis(jgChangeRegistrationName.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationName)); commonService.saveExecuteFlowData2Redis(jgChangeRegistrationName.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationName));
this.getBaseMapper().updateById(jgChangeRegistrationName); this.getBaseMapper().updateById(jgChangeRegistrationName);
} }
private void sendDataRefreshMsg(JgChangeRegistrationName jgChangeRegistrationName) {
eventPublisher.publish(new DataRefreshEvent(this, Collections.singletonList(jgChangeRegistrationName.getUseUnitCreditCode()), DataRefreshEvent.DataType.enterprise.name(), DataRefreshEvent.Operation.UPDATE));
}
public InstanceRuntimeData buildInstanceRuntimeData(JgChangeRegistrationName jgChangeRegistrationName) { public InstanceRuntimeData buildInstanceRuntimeData(JgChangeRegistrationName jgChangeRegistrationName) {
return InstanceRuntimeData.builder() return InstanceRuntimeData.builder()
.nextExecuteUserIds(jgChangeRegistrationName.getNextExecuteUserIds()) .nextExecuteUserIds(jgChangeRegistrationName.getNextExecuteUserIds())
......
...@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisKey; ...@@ -20,6 +20,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
...@@ -33,6 +34,7 @@ import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext ...@@ -33,6 +34,7 @@ import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext; import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser; import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeRegistrationReform.ChangeRegisterReformBackupManager; import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeRegistrationReform.ChangeRegisterReformBackupManager;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.*; import com.yeejoin.amos.boot.module.jg.biz.service.*;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
...@@ -73,6 +75,7 @@ import javax.servlet.http.HttpServletResponse; ...@@ -73,6 +75,7 @@ import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl.getAuditPassedDate; import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl.getAuditPassedDate;
import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toList;
...@@ -189,6 +192,9 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -189,6 +192,9 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
@Autowired @Autowired
private IdxBizJgTechParamsPipelineServiceImpl idxBizJgTechParamsPipelineServiceImpl; private IdxBizJgTechParamsPipelineServiceImpl idxBizJgTechParamsPipelineServiceImpl;
@Autowired
private EventPublisher eventPublisher;
/*** /***
* @deprecated 根据查询调教获取分页对象 * @deprecated 根据查询调教获取分页对象
* @param dto 查询的dto对象 * @param dto 查询的dto对象
...@@ -631,13 +637,25 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -631,13 +637,25 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
// 3.清除设备及装置的安改维单位信息 // 3.清除设备及装置的安改维单位信息
this.clearUscWithEquipAndCon(jgChangeRegistrationReform); this.clearUscWithEquipAndCon(jgChangeRegistrationReform);
} }
this.sendDataRefreshMsg(jgChangeRegistrationReform);
} }
// redis流程实时数据更新 // redis流程实时数据更新
commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jgChangeRegistrationReform)); commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jgChangeRegistrationReform));
this.getBaseMapper().updateById(jgChangeRegistrationReform); this.getBaseMapper().updateById(jgChangeRegistrationReform);
} }
private void sendDataRefreshMsg(JgChangeRegistrationReform jgChangeRegistrationReform) {
List<String> records = new ArrayList<>();
if(StringUtils.isNotEmpty(jgChangeRegistrationReform.getProjectContraptionId())){
records = idxBizJgUseInfoService.list(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getProjectContraptionId, jgChangeRegistrationReform.getProjectContraptionId()).select(IdxBizJgUseInfo::getRecord)).stream().map(IdxBizJgUseInfo::getRecord).collect(Collectors.toList());
} else {
records = jgChangeRegistrationReformEqMapper.selectList(new LambdaQueryWrapper<JgChangeRegistrationReformEq>()
.eq(JgChangeRegistrationReformEq::getEquipTransferId, jgChangeRegistrationReform.getSequenceNbr())
.select(JgChangeRegistrationReformEq::getEquId)).stream().map(JgChangeRegistrationReformEq::getEquId).collect(Collectors.toList());
}
eventPublisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
/** /**
* 审批通过后删除安改维单位信息 * 审批通过后删除安改维单位信息
* *
...@@ -1480,6 +1498,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -1480,6 +1498,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
this.updateById(jgChangeRegistrationReform); this.updateById(jgChangeRegistrationReform);
// 2.更新关联的业务 // 2.更新关联的业务
this.processElseDataByStatus(oldStatus, jgChangeRegistrationReform); this.processElseDataByStatus(oldStatus, jgChangeRegistrationReform);
// 3.发送数据变更消息
this.sendDataRefreshMsg(jgChangeRegistrationReform);
return jgChangeRegistrationReform; return jgChangeRegistrationReform;
} }
......
...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisKey; ...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.enums.ReginStepEnum; import com.yeejoin.amos.boot.module.common.api.enums.ReginStepEnum;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.jg.api.common.StringUtil; import com.yeejoin.amos.boot.module.jg.api.common.StringUtil;
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.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
...@@ -29,6 +30,7 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest; ...@@ -29,6 +30,7 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext; import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext; import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser; import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.*; import com.yeejoin.amos.boot.module.jg.biz.service.*;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
...@@ -143,6 +145,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -143,6 +145,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
@Autowired @Autowired
private IIdxBizJgOtherInfoService otherInfoService; private IIdxBizJgOtherInfoService otherInfoService;
@Autowired
private EventPublisher eventPublisher;
/** /**
* 新增移装变更登记 * 新增移装变更登记
* *
...@@ -826,15 +831,23 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -826,15 +831,23 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
map.put("relationId", jgChangeRegistrationTransfer.getInstanceId()); map.put("relationId", jgChangeRegistrationTransfer.getInstanceId());
map.put("model", jgChangeRegistrationTransfer); map.put("model", jgChangeRegistrationTransfer);
TaskV2Model taskV2Model = commonService.updateTaskModel(map); TaskV2Model taskV2Model = commonService.updateTaskModel(map);
//新增使用登记证和设备变更记录 // 新增使用登记证和设备变更记录
this.saveChangeRecord(jgChangeRegistrationTransfer, taskV2Model); this.saveChangeRecord(jgChangeRegistrationTransfer, taskV2Model);
// 事务提交后发送数据刷新消息
this.sendDataRefreshMsg(jgChangeRegistrationTransfer);
} }
// redis流程实时数据更新 // redis流程实时数据更新
commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jgChangeRegistrationTransfer)); commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jgChangeRegistrationTransfer));
this.getBaseMapper().updateById(jgChangeRegistrationTransfer); this.getBaseMapper().updateById(jgChangeRegistrationTransfer);
} }
private void sendDataRefreshMsg(JgChangeRegistrationTransfer jgChangeRegistrationTransfer) {
LambdaQueryWrapper<JgChangeRegistrationTransferEq> lambda = new QueryWrapper<JgChangeRegistrationTransferEq>().lambda();
lambda.eq(JgChangeRegistrationTransferEq::getEquipTransferId, jgChangeRegistrationTransfer.getSequenceNbr());
List<String> records = jgChangeRegistrationTransferEqService.getBaseMapper().selectList(lambda).stream().map(JgChangeRegistrationTransferEq::getEquId).collect(Collectors.toList());
eventPublisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
private Map<String, String> create96333Code(JgRegistrationHistory historyData, String record) { private Map<String, String> create96333Code(JgRegistrationHistory historyData, String record) {
Map<String, Object> changeData = JSON.parseObject(historyData.getChangeData(), Map.class); Map<String, Object> changeData = JSON.parseObject(historyData.getChangeData(), Map.class);
List<JSONObject> registrationList = (List<JSONObject>) changeData.get("registrationList"); List<JSONObject> registrationList = (List<JSONObject>) changeData.get("registrationList");
......
...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils; ...@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.*; import com.yeejoin.amos.boot.module.jg.api.enums.*;
...@@ -25,6 +26,7 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationUnitServ ...@@ -25,6 +26,7 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationUnitServ
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext; import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser; import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService; import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService; import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
...@@ -106,13 +108,10 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -106,13 +108,10 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
UseInfoMapper useInfoMapper; UseInfoMapper useInfoMapper;
@Autowired @Autowired
TzsServiceFeignClient tzsServiceFeignClient; TzsServiceFeignClient tzsServiceFeignClient;
@Autowired
SupervisoryCodeInfoMapper supervisoryCodeInfoMapper;
@Autowired @Autowired
CommonServiceImpl commonServiceImpl; CommonServiceImpl commonServiceImpl;
@Autowired
WorkFlowFeignService workFlowFeginService;
@Autowired @Autowired
private JgRegistrationHistoryMapper jgRegistrationHistoryMapper; private JgRegistrationHistoryMapper jgRegistrationHistoryMapper;
...@@ -186,6 +185,9 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -186,6 +185,9 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
@Autowired @Autowired
private IdxBizJgProjectContraptionServiceImplService projectContraptionService; private IdxBizJgProjectContraptionServiceImplService projectContraptionService;
@Autowired
private EventPublisher eventPublisher;
/** /**
* 根据sequenceNbr查询:1、查询单位变更信息,2、查询使用登记证列表 * 根据sequenceNbr查询:1、查询单位变更信息,2、查询使用登记证列表
* *
...@@ -1290,6 +1292,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -1290,6 +1292,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
useRegistrationManageService.updateBatchById(list); useRegistrationManageService.updateBatchById(list);
} }
// 发送数据变更消息
this.sendDataRefreshMsg(registration);
} else { } else {
registration.setNextExecutorIds(String.join(",", roleList)); registration.setNextExecutorIds(String.join(",", roleList));
if (!ObjectUtils.isEmpty(registration.getInstanceStatus())) { if (!ObjectUtils.isEmpty(registration.getInstanceStatus())) {
...@@ -1329,6 +1333,14 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -1329,6 +1333,14 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
} }
private void sendDataRefreshMsg(JgChangeRegistrationUnit registration) {
LambdaQueryWrapper<JgChangeRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId, registration.getSequenceNbr());
queryWrapper.select(JgChangeRegistrationUnitEq::getEquId);
List<String> records = JgChangeRegistrationUnitEqMapper.selectList(queryWrapper).stream().map(JgChangeRegistrationUnitEq::getEquId).filter(Objects::nonNull).collect(Collectors.toList());
eventPublisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
/** /**
* 处理工业管道 * 处理工业管道
* *
......
...@@ -13,6 +13,7 @@ import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; ...@@ -13,6 +13,7 @@ import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
...@@ -25,6 +26,7 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest; ...@@ -25,6 +26,7 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext; import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext; import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser; import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService; import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis; import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
...@@ -118,6 +120,9 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -118,6 +120,9 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
@Autowired @Autowired
private IdxBizJgUseInfoServiceImpl idxBizJgUseInfoServiceImpl; private IdxBizJgUseInfoServiceImpl idxBizJgUseInfoServiceImpl;
@Autowired
private EventPublisher eventPublisher;
public void changeData(JgChangeVehicleRegistrationUnit dto, CompanyBo company) { public void changeData(JgChangeVehicleRegistrationUnit dto, CompanyBo company) {
if (!ObjectUtils.isEmpty(dto.getReceiveCompanyCode())) { if (!ObjectUtils.isEmpty(dto.getReceiveCompanyCode())) {
...@@ -443,13 +448,23 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -443,13 +448,23 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
TaskV2Model taskV2Model = updateAgency(jgChangeVehicleRegistrationUnit); TaskV2Model taskV2Model = updateAgency(jgChangeVehicleRegistrationUnit);
// 修改设备信息、添加证、设备流水信息 // 修改设备信息、添加证、设备流水信息
saveRecord(jgChangeVehicleRegistrationUnit, taskV2Model); saveRecord(jgChangeVehicleRegistrationUnit, taskV2Model);
// 审核通过发送数据变更消息
this.sendDataRefreshMsgEquip(jgChangeVehicleRegistrationUnit);
} }
this.getBaseMapper().updateById(jgChangeVehicleRegistrationUnit); this.getBaseMapper().updateById(jgChangeVehicleRegistrationUnit);
commonServiceImpl.saveExecuteFlowData2Redis(jgChangeVehicleRegistrationUnit.getInstanceId(), this.buildInstanceRuntimeData(jgChangeVehicleRegistrationUnit)); commonServiceImpl.saveExecuteFlowData2Redis(jgChangeVehicleRegistrationUnit.getInstanceId(), this.buildInstanceRuntimeData(jgChangeVehicleRegistrationUnit));
return jgChangeVehicleRegistrationUnit; return jgChangeVehicleRegistrationUnit;
} }
private void sendDataRefreshMsgEquip(JgChangeVehicleRegistrationUnit vehicleRegistrationUnit) {
LambdaQueryWrapper<JgChangeVehicleRegistrationUnitEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgChangeVehicleRegistrationUnitEq::getUnitChangeId, vehicleRegistrationUnit.getSequenceNbr());
queryWrapper.select(JgChangeVehicleRegistrationUnitEq::getEquId);
List<String> records = jgChangeVehicleRegistrationUnitEqService.list(queryWrapper).stream().map(JgChangeVehicleRegistrationUnitEq::getEquId).collect(Collectors.toList());
eventPublisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
public void updateEsData(List<String> ids, JgChangeVehicleRegistrationUnit public void updateEsData(List<String> ids, JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit, String useRegistCode) { jgChangeVehicleRegistrationUnit, String useRegistCode) {
// 更新es // 更新es
......
...@@ -11,6 +11,7 @@ import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; ...@@ -11,6 +11,7 @@ import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.JgEnableDisable; import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisable;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisableEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisableEq;
...@@ -26,6 +27,7 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest; ...@@ -26,6 +27,7 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext; import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext; import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser; import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis; import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
...@@ -111,6 +113,9 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, ...@@ -111,6 +113,9 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
@Autowired @Autowired
private JgUseRegistrationManageServiceImpl useRegistrationManageService; private JgUseRegistrationManageServiceImpl useRegistrationManageService;
@Autowired
private EventPublisher eventPublisher;
/** /**
* 设备状态:启用 * 设备状态:启用
*/ */
...@@ -572,6 +577,8 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, ...@@ -572,6 +577,8 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
// 更新业务数据 // 更新业务数据
updateInfoOther(jgEnableDisable); updateInfoOther(jgEnableDisable);
commonService.updateTaskModel(taskMap); commonService.updateTaskModel(taskMap);
// 完成后发送数据刷新消息
this.sendDataRefreshMsg(jgEnableDisable);
} else { } else {
jgEnableDisable.setNextExecutorIds(workflowResultDto.getNextExecutorRoleIds()); jgEnableDisable.setNextExecutorIds(workflowResultDto.getNextExecutorRoleIds());
if (!ObjectUtils.isEmpty(jgEnableDisable.getExecuteSequence())) { if (!ObjectUtils.isEmpty(jgEnableDisable.getExecuteSequence())) {
...@@ -646,6 +653,14 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, ...@@ -646,6 +653,14 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
} }
} }
private void sendDataRefreshMsg(JgEnableDisable jgEnableDisable) {
LambdaQueryWrapper<JgEnableDisableEq> lambdaEq = new QueryWrapper<JgEnableDisableEq>().lambda();
lambdaEq.eq(JgEnableDisableEq::getEnableDisableApplyId, jgEnableDisable.getSequenceNbr());
lambdaEq.select(JgEnableDisableEq::getEquId);
List<String> records = jgEnableDisableEqMapper.selectList(lambdaEq).stream().map(JgEnableDisableEq::getEquId).collect(Collectors.toList());
eventPublisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
private void updateInfoOther(JgEnableDisable jgEnableDisable) { private void updateInfoOther(JgEnableDisable jgEnableDisable) {
// 1.更新设备的使用信息:启用->停用,停用->启用 // 1.更新设备的使用信息:启用->停用,停用->启用
LambdaQueryWrapper<JgEnableDisableEq> lambdaEq = new QueryWrapper<JgEnableDisableEq>().lambda(); LambdaQueryWrapper<JgEnableDisableEq> lambdaEq = new QueryWrapper<JgEnableDisableEq>().lambda();
......
...@@ -24,6 +24,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; ...@@ -24,6 +24,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
...@@ -189,8 +190,6 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -189,8 +190,6 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
private IdxBizJgProjectContraptionServiceImplService projectContraptionService; private IdxBizJgProjectContraptionServiceImplService projectContraptionService;
@Autowired @Autowired
private ObjectMapper objectMapper;
@Autowired
private IdxBizJgProjectConstructionMapper projectConstructionMapper; private IdxBizJgProjectConstructionMapper projectConstructionMapper;
@Autowired @Autowired
private IdxBizJgProjectContraptionMapper projectContraptionMapper; private IdxBizJgProjectContraptionMapper projectContraptionMapper;
...@@ -1440,7 +1439,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -1440,7 +1439,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
} }
// 更新关联设备表 // 更新关联设备表
jgInstallationNoticeEqService.updateBatchById(jgRelationEquips); jgInstallationNoticeEqService.updateBatchById(jgRelationEquips);
// 发送数据刷新消息
eventPublisher.publish(new DataRefreshEvent(this, jgRelationEquips.stream().map(JgInstallationNoticeEq::getEquId).collect(Collectors.toList()), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
} else { } else {
jgInstallationNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds()); jgInstallationNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
jgInstallationNotice.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); jgInstallationNotice.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
......
...@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; ...@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.JgMaintenanceContract; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq;
...@@ -201,7 +202,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -201,7 +202,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class) @GlobalTransactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update, String nextTaskId, JSONObject map) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
try { try {
...@@ -220,18 +221,43 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -220,18 +221,43 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
dto.setResultCode("approvalStatus"); dto.setResultCode("approvalStatus");
dto.setTaskId(taskId); dto.setTaskId(taskId);
dto.setComment(comment); dto.setComment(comment);
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> variableMap = new HashMap<>();
map.put("approvalStatus", operate); variableMap.put("approvalStatus", operate);
if (WorkFlowStatusEnum.MAIN_SUBMIT.getReject().equals(contract.getStatus()) || WorkFlowStatusEnum.MAIN_SUBMIT.getRollBack().equals(contract.getStatus())) { if (WorkFlowStatusEnum.MAIN_SUBMIT.getReject().equals(contract.getStatus()) || WorkFlowStatusEnum.MAIN_SUBMIT.getRollBack().equals(contract.getStatus())) {
map.put("approvalStatus", "提交"); variableMap.put("approvalStatus", "提交");
} }
dto.setVariable(map); dto.setVariable(variableMap);
// 下一节点执行人单位(下节点接收机构code) // 下一节点执行人单位(下节点接收机构code)
dto.setNextExecuteUserCompanyCode(getNextUserOrgCode(operate, contract)); dto.setNextExecuteUserCompanyCode(getNextUserOrgCode(operate, contract));
ProcessTaskDTO complete = workflowService.completeOrReject(taskId, dto, operate); ProcessTaskDTO complete = workflowService.completeOrReject(taskId, dto, operate);
// 更新下一步执行人、创建待办 // 更新下一步执行人、创建待办
updateExecuteIds(instanceId, id, operate, complete); updateExecuteIds(instanceId, id, operate, complete);
this.delRepeatUseEquipData(contract.getSequenceNbr(), contract.getStatus(), contract.getUseUnitCode()); this.delRepeatUseEquipData(contract.getSequenceNbr(), contract.getStatus(), contract.getUseUnitCode());
// 更新维保信息
if (map.containsKey("formData") && !ObjectUtils.isEmpty(map.get("formData"))) {
JgMaintenanceContract maintenanceContract = new JgMaintenanceContract();
Map<String, Object> formData = (Map<String, Object>) map.get("formData");
BeanUtil.copyProperties(formData, maintenanceContract);
JgMaintenanceContract result = new JgMaintenanceContract();
if (!ObjectUtils.isEmpty(maintenanceContract.getMaintenanceManagerOneId())) {
result.setSequenceNbr(maintenanceContract.getSequenceNbr());
// 维保人员一
String[] maintenanceManagerOneInfo = maintenanceContract.getMaintenanceManagerOneId().split("_");
result.setMaintenanceManagerOneId(maintenanceManagerOneInfo[0]);
result.setMaintenanceManagerOneName(maintenanceManagerOneInfo[1]);
result.setMaintenanceManagerOnePhone(maintenanceContract.getMaintenanceManagerOnePhone());
result.setMaintenanceManagerOneIdNum(maintenanceContract.getMaintenanceManagerOneIdNum());
// 维保人员二
String[] maintenanceManagerTwoInfo = maintenanceContract.getMaintenanceManagerTwoId().split("_");
result.setMaintenanceManagerTwoId(maintenanceManagerTwoInfo[0]);
result.setMaintenanceManagerTwoName(maintenanceManagerTwoInfo[1]);
result.setMaintenanceManagerTwoPhone(maintenanceContract.getMaintenanceManagerTwoPhone());
result.setMaintenanceManagerTwoIdNum(maintenanceContract.getMaintenanceManagerTwoIdNum());
result.setPromoter(RequestContext.getExeUserId());
}
this.getBaseMapper().updateById(result);
}
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
...@@ -257,7 +283,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -257,7 +283,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
} }
} }
private List<String> getEquList(Long id) { private List<String> getRecords(Long id) {
List<JgMaintenanceContractEq> list = jgMaintenanceContractEqService.lambdaQuery().eq(JgMaintenanceContractEq::getEquipTransferId, id).list(); List<JgMaintenanceContractEq> list = jgMaintenanceContractEqService.lambdaQuery().eq(JgMaintenanceContractEq::getEquipTransferId, id).list();
return list.stream().map(JgMaintenanceContractEq::getEquId).collect(Collectors.toList()); return list.stream().map(JgMaintenanceContractEq::getEquId).collect(Collectors.toList());
} }
...@@ -687,6 +713,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -687,6 +713,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
TaskV2Model taskV2Model = updateTaskModel(contract, "0"); TaskV2Model taskV2Model = updateTaskModel(contract, "0");
// 添加设备维保信息 // 添加设备维保信息
updateEquipMessage(contract.getSequenceNbr(), taskV2Model); updateEquipMessage(contract.getSequenceNbr(), taskV2Model);
// 发送数据刷新消息
this.sendDataRefreshMsg(sequenceNbr);
} }
this.getBaseMapper().updateById(contract); this.getBaseMapper().updateById(contract);
...@@ -694,6 +722,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -694,6 +722,10 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(contract)); commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(contract));
} }
private void sendDataRefreshMsg(Long sequenceNbr) {
eventPublisher.publish(new DataRefreshEvent(this,getRecords(sequenceNbr), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
/** /**
* 流程结束后添加设备维保信息 * 流程结束后添加设备维保信息
* *
...@@ -863,7 +895,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -863,7 +895,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override @Override
public void afterCommit() { public void afterCommit() {
eventPublisher.publish(new CancellationEvent(this, getEquList(maintenanceContract.getSequenceNbr()))); eventPublisher.publish(new CancellationEvent(this, getRecords(maintenanceContract.getSequenceNbr())));
} }
}); });
return maintenanceContract; return maintenanceContract;
......
...@@ -21,6 +21,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; ...@@ -21,6 +21,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.JgReformNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgReformNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgReformNoticeEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgReformNoticeEq;
...@@ -140,6 +141,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg ...@@ -140,6 +141,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
private final IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService; private final IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService;
private final IIdxBizJgTechParamsPipelineService iIdxBizJgTechParamsPipelineService; private final IIdxBizJgTechParamsPipelineService iIdxBizJgTechParamsPipelineService;
private final JgUseRegistrationServiceImpl useRegistrationService; private final JgUseRegistrationServiceImpl useRegistrationService;
private final UseInfoMapper useInfoMapper;
@ResultFieldMapping({ @ResultFieldMapping({
...@@ -969,6 +971,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg ...@@ -969,6 +971,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
this.YLGDDataPassHandler(jgReformNotice); this.YLGDDataPassHandler(jgReformNotice);
this.updateLastTodo(jgReformNotice, FlowStatusEnum.TO_BE_FINISHED); this.updateLastTodo(jgReformNotice, FlowStatusEnum.TO_BE_FINISHED);
this.updateById(jgReformNotice); this.updateById(jgReformNotice);
this.sendDataRefreshMsg(jgReformNotice, noticeEqs);
} else { } else {
jgReformNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds()); jgReformNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
if (!ObjectUtils.isEmpty(jgReformNotice.getInstanceStatus())) { if (!ObjectUtils.isEmpty(jgReformNotice.getInstanceStatus())) {
...@@ -1007,6 +1010,16 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg ...@@ -1007,6 +1010,16 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
} }
} }
private void sendDataRefreshMsg(JgReformNotice jgReformNotice, List<JgReformNoticeEq> noticeEqs) {
List<String> records;
if(!StringUtils.isEmpty(jgReformNotice.getProjectContraptionId())){
records = idxBizJgUseInfoService.list(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getProjectContraptionId, jgReformNotice.getProjectContraptionId()).select(IdxBizJgUseInfo::getRecord)).stream().map(IdxBizJgUseInfo::getRecord).collect(Collectors.toList());
} else {
records = noticeEqs.stream().map(JgReformNoticeEq::getEquId).collect(Collectors.toList());
}
eventPublisher.publish(new DataRefreshEvent(this,records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
/** /**
* redis获取用户信息 * redis获取用户信息
**/ **/
......
...@@ -13,6 +13,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils; ...@@ -13,6 +13,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.*; import com.yeejoin.amos.boot.module.jg.api.enums.*;
...@@ -27,6 +28,7 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest; ...@@ -27,6 +28,7 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext; import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext; import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser; import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis; import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.ymt.api.entity.SuperviseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.SuperviseInfo;
...@@ -114,6 +116,9 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -114,6 +116,9 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
@Autowired @Autowired
private SnowflakeIdUtil sequence; private SnowflakeIdUtil sequence;
@Autowired
private EventPublisher eventPublisher;
/** /**
* 移装移装注销/报废注销判断 * 移装移装注销/报废注销判断
* *
...@@ -958,9 +963,18 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc ...@@ -958,9 +963,18 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
TaskV2Model taskV2Model = updateTaskModel(scrapCancelDto, operate); TaskV2Model taskV2Model = updateTaskModel(scrapCancelDto, operate);
// 修改业务信息 // 修改业务信息
updateInfoOther(jgScrapCancel, taskV2Model.getRoutePath()); updateInfoOther(jgScrapCancel, taskV2Model.getRoutePath());
// 发送数据变更消息
this.sendDataRefreshMsg(jgScrapCancel);
} }
this.getBaseMapper().updateById(jgScrapCancel); this.getBaseMapper().updateById(jgScrapCancel);
} }
private void sendDataRefreshMsg(JgScrapCancel jgScrapCancel) {
LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda();
lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, jgScrapCancel.getSequenceNbr());
lambdaEq.select(JgScrapCancelEq::getEquId);
List<String> records = jgScrapCancelEqService.list(lambdaEq).stream().map(JgScrapCancelEq::getEquId).collect(Collectors.toList());
eventPublisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
}
private void updateInfoOther(JgScrapCancel jgScrapCancel, String routePath) { private void updateInfoOther(JgScrapCancel jgScrapCancel, String routePath) {
LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new LambdaQueryWrapper<>(); LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new LambdaQueryWrapper<>();
......
...@@ -31,6 +31,7 @@ import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; ...@@ -31,6 +31,7 @@ import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.api.enums.JYJCResultEnum; import com.yeejoin.amos.boot.module.common.api.enums.JYJCResultEnum;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.*; import com.yeejoin.amos.boot.module.jg.api.enums.*;
...@@ -1297,6 +1298,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1297,6 +1298,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgRegistrationHistory.setChangeData(JSON.toJSONString(mapData)); jgRegistrationHistory.setChangeData(JSON.toJSONString(mapData));
jgRegistrationHistoryService.updateById(jgRegistrationHistory); jgRegistrationHistoryService.updateById(jgRegistrationHistory);
this.publish2CalGrade(jgUseRegistration, records); this.publish2CalGrade(jgUseRegistration, records);
eventPublisher.publish(new DataRefreshEvent(this, records, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
} }
this.getBaseMapper().updateById(jgUseRegistration); this.getBaseMapper().updateById(jgUseRegistration);
commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration)); commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration));
...@@ -1730,6 +1732,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1730,6 +1732,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
certificateChangeRecordEqService.save(changeRecordEq); certificateChangeRecordEqService.save(changeRecordEq);
}); });
eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_USAGE_REGISTRATION.name(), Sets.newHashSet(registerInfo.getRecord()), EquipCreateOrEditEvent.EquipType.equip)); eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_USAGE_REGISTRATION.name(), Sets.newHashSet(registerInfo.getRecord()), EquipCreateOrEditEvent.EquipType.equip));
eventPublisher.publish(new DataRefreshEvent(this, Collections.singletonList(registerInfo.getRecord()), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
} }
this.getBaseMapper().updateById(jgUseRegistration); this.getBaseMapper().updateById(jgUseRegistration);
commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration)); commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration));
...@@ -4360,6 +4363,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -4360,6 +4363,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
} }
eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), Sets.newHashSet(equipId), EquipCreateOrEditEvent.EquipType.equip)); eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), Sets.newHashSet(equipId), EquipCreateOrEditEvent.EquipType.equip));
eventPublisher.publish(new DataRefreshEvent(this, Collections.singletonList(equipId), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.UPDATE));
return this.baseMapper.getDetailById(jgUseRegistration.getSequenceNbr()); return this.baseMapper.getDetailById(jgUseRegistration.getSequenceNbr());
} catch (BadRequest | LocalBadRequest e) { } catch (BadRequest | LocalBadRequest e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
......
...@@ -24,6 +24,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; ...@@ -24,6 +24,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil; import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
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.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.*; import com.yeejoin.amos.boot.module.jg.api.enums.*;
...@@ -1018,6 +1019,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -1018,6 +1019,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
); );
// 车用气瓶评分 // 车用气瓶评分
eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.name(), Sets.newHashSet(equipIdList), EquipCreateOrEditEvent.EquipType.equip)); eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.name(), Sets.newHashSet(equipIdList), EquipCreateOrEditEvent.EquipType.equip));
eventPublisher.publish(new DataRefreshEvent(this, equipIdList, DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.INSERT));
} }
this.getBaseMapper().updateById(jgVehicleInformation); this.getBaseMapper().updateById(jgVehicleInformation);
commonService.saveExecuteFlowData2Redis(jgVehicleInformation.getInstanceId(), this.buildInstanceRuntimeData(jgVehicleInformation)); commonService.saveExecuteFlowData2Redis(jgVehicleInformation.getInstanceId(), this.buildInstanceRuntimeData(jgVehicleInformation));
...@@ -2186,6 +2188,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform ...@@ -2186,6 +2188,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
.map(v -> (String) v.get("record")) .map(v -> (String) v.get("record"))
.collect(Collectors.toSet()); .collect(Collectors.toSet());
eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), recordSet, EquipCreateOrEditEvent.EquipType.equip)); eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), recordSet, EquipCreateOrEditEvent.EquipType.equip));
eventPublisher.publish(new DataRefreshEvent(this, new ArrayList<>(recordSet), DataRefreshEvent.DataType.equipment.name(), DataRefreshEvent.Operation.INSERT));
return Collections.singletonList(vehicleInformation); return Collections.singletonList(vehicleInformation);
} }
......
...@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import java.util.EnumSet;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -46,4 +47,13 @@ public enum DataQualityScoreEnum { ...@@ -46,4 +47,13 @@ public enum DataQualityScoreEnum {
} }
return jsonArray; return jsonArray;
} }
public static String getNameByCode(String code) {
for (DataQualityScoreEnum e : EnumSet.allOf(DataQualityScoreEnum.class)) {
if(e.getCode().equals(code)){
return e.getName();
}
}
return null;
}
} }
...@@ -48,6 +48,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -48,6 +48,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.component.emq.EmqKeeper; import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
...@@ -561,7 +562,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -561,7 +562,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
} else if (!k.equals("paramRange")) { } else if (!k.equals("paramRange")) {
if (v instanceof JSONArray) { if (v instanceof JSONArray) {
if (!((JSONArray) v).contains("all") || ((JSONArray) v).size() != 0) { // 判断是否需要解析参数
Boolean parseParam = getParamAnalysis(v);
if (parseParam) {
String field = k; String field = k;
if (k.equals("unitType")) { if (k.equals("unitType")) {
String finalField = field; String finalField = field;
...@@ -674,7 +677,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -674,7 +677,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
List<JSONObject> list = new LinkedList<>(); List<JSONObject> list = new LinkedList<>();
long totle = 0; long totle = 0;
double pipeLong = 0; // double pipeLong = 0;
try { try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT); SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (SearchHit hit : response.getHits().getHits()) { for (SearchHit hit : response.getHits().getHits()) {
...@@ -682,17 +685,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -682,17 +685,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONObject dto = jsonObject.getJSONObject("sourceAsMap"); JSONObject dto = jsonObject.getJSONObject("sourceAsMap");
dto.put("record", dto.get("SEQUENCE_NBR")); dto.put("record", dto.get("SEQUENCE_NBR"));
dto.put("equipAddress", dto.get("USE_PLACE") + "/" + dto.get("ADDRESS")); dto.put("equipAddress", dto.get("USE_PLACE") + "/" + dto.get("ADDRESS"));
if (dto.get("EQU_LIST_CODE").equals("8000")) { String dataQualityScore = ObjectUtils.isEmpty(dto.get("DATA_QUALITY_SCORE")) ? null : DataQualityScoreEnum.getNameByCode(dto.get("DATA_QUALITY_SCORE").toString());
JSONArray techParams = (JSONArray) dto.get("techParams"); dto.put("DATA_QUALITY_SCORE", dataQualityScore);
if (!ObjectUtils.isEmpty(techParams)) { // if (dto.get("EQU_LIST_CODE").equals("8000")) {
Object obj = techParams.stream().filter(item -> JSONObject.parseObject(JSONObject.toJSONString(item)).get("paramKey").equals("pipeLength")).findFirst().get(); // JSONArray techParams = (JSONArray) dto.get("techParams");
JSONObject jsonParam = JSONObject.parseObject(JSONObject.toJSONString(obj)); // if (!ObjectUtils.isEmpty(techParams)) {
if (jsonParam.containsKey("doubleValue")) { // Object obj = techParams.stream().filter(item -> JSONObject.parseObject(JSONObject.toJSONString(item)).get("paramKey").equals("pipeLength")).findFirst().get();
String pipeLength = JSONObject.parseObject(JSONObject.toJSONString(obj)).get("doubleValue").toString(); // JSONObject jsonParam = JSONObject.parseObject(JSONObject.toJSONString(obj));
pipeLong += Double.parseDouble(pipeLength); // if (jsonParam.containsKey("doubleValue")) {
} // String pipeLength = JSONObject.parseObject(JSONObject.toJSONString(obj)).get("doubleValue").toString();
} // pipeLong += Double.parseDouble(pipeLength);
} // }
// }
// }
list.add(dto); list.add(dto);
} }
totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value; totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value;
...@@ -709,7 +714,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -709,7 +714,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
sum.put("value", totle); sum.put("value", totle);
statics.add(sum); statics.add(sum);
if(ObjectUtils.isEmpty(filterParams) || !filterParams.containsKey("EQU_LIST")){ if (ObjectUtils.isEmpty(filterParams) || !filterParams.containsKey("EQU_LIST")) {
filterParams = new JSONObject(); filterParams = new JSONObject();
JSONArray jsonArray = new JSONArray(); JSONArray jsonArray = new JSONArray();
jsonArray.add("all"); jsonArray.add("all");
...@@ -717,14 +722,18 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -717,14 +722,18 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
JSONArray equList = (JSONArray) filterParams.get("EQU_LIST"); JSONArray equList = (JSONArray) filterParams.get("EQU_LIST");
if (equList.contains("8000") || equList.contains("all")) { if (equList.contains("8000") || equList.contains("all") || ObjectUtils.isEmpty(equList)) {
// 压力管道长度 // 压力管道长度
Map<String, Object> pipeMaps = new HashMap<>();
stCommonService.staticsCenterMapCountDataForPipeline(pipeMaps, orgCode, true, false);
// 获取压力管道长度
// getPipeLength(pipeMaps, boolMust, builder, filterParams);
Map<String, Object> pipeMap = new HashMap<>(); Map<String, Object> pipeMap = new HashMap<>();
pipeMap.put("name", "压力管道(千米)"); pipeMap.put("name", "压力管道(千米)");
pipeMap.put("value", pipeLong); pipeMap.put("value", pipeMaps.get("pressurePipelines"));
statics.add(pipeMap); statics.add(pipeMap);
} }
if (equList.contains("2000") || equList.contains("all")) { if (equList.contains("2000") || equList.contains("all") || ObjectUtils.isEmpty(equList)) {
// 气瓶数量 // 气瓶数量
Map<String, Object> gasMap = new HashMap<>(); Map<String, Object> gasMap = new HashMap<>();
gasMap.put("name", "气瓶(个)"); gasMap.put("name", "气瓶(个)");
...@@ -740,6 +749,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -740,6 +749,19 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
private Boolean getParamAnalysis(Object v) {
Boolean result = false;
if (v instanceof JSONArray) {
JSONArray jsonArray = (JSONArray) v;
result = jsonArray.size() != 0 && !jsonArray.get(0).equals("all");
} else if (v instanceof String) {
if ("null".equals(v) || "".equals(v) || null == v) {
result = true;
}
}
return result;
}
private void getParamQuery(String paramKey, String condition, Object value, String fieldType, Boolean isCustom, BoolQueryBuilder boolMust, EnhancedDynamicQueryBuilder builder, String andOr) { private void getParamQuery(String paramKey, String condition, Object value, String fieldType, Boolean isCustom, BoolQueryBuilder boolMust, EnhancedDynamicQueryBuilder builder, String andOr) {
String path = "techParams"; String path = "techParams";
String nestedFieldKey = path + ".paramKey"; String nestedFieldKey = path + ".paramKey";
...@@ -943,11 +965,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -943,11 +965,12 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
private void addTechParam(JSONObject techParam, JSONObject paramRange, EnhancedDynamicQueryBuilder builder) { private void addTechParam(JSONObject techParam, JSONObject paramRange, EnhancedDynamicQueryBuilder builder) {
String field = techParam.getString("value"); JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(techParam));
String field = jsonObject.getString("value");
String fieldType = jsonObject.getString("fieldType");
String itemCondition = paramRange.getString("itemCondition"); String itemCondition = paramRange.getString("itemCondition");
Object value = paramRange.get("value"); Object value = paramRange.get("value");
String andOr = paramRange.getString("andOr"); String andOr = paramRange.getString("andOr");
String fieldType = paramRange.getString("fieldType");
getParamQuery(field, itemCondition, value, fieldType, true, null, builder, andOr); getParamQuery(field, itemCondition, value, fieldType, true, null, builder, andOr);
} }
...@@ -1698,6 +1721,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1698,6 +1721,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
public JSONArray queryTechParam(String type) { public JSONArray queryTechParam(String type) {
if(ValidationUtil.isEmpty(type)){
throw new BadRequest("需要先选择设备品种,才能选择技术参数");
}
List<TechParamItem> paramMetaList = TechParamUtil.getParamMetaList(type); List<TechParamItem> paramMetaList = TechParamUtil.getParamMetaList(type);
JSONArray list = new JSONArray(); JSONArray list = new JSONArray();
for (int i = 0; i < paramMetaList.size(); i++) { for (int i = 0; i < paramMetaList.size(); i++) {
......
...@@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component @Component
...@@ -46,8 +47,13 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler { ...@@ -46,8 +47,13 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler {
@Override @Override
public void doRefresh(TzsDataRefreshMessage message) { public void doRefresh(TzsDataRefreshMessage message) {
log.info("3库数据,企业开始刷库:唯一标识:{}", message.getDataId()); log.info("三库数据,企业开始刷库:唯一标识:{}", message.getDataId());
TzBaseEnterpriseInfo enterpriseInfo = tzBaseEnterpriseInfoMapper.selectById(message.getDataId()); TzBaseEnterpriseInfo enterpriseInfo = Optional.ofNullable(tzBaseEnterpriseInfoMapper.selectById(message.getDataId())).orElse(
tzBaseEnterpriseInfoMapper.selectOne(new LambdaQueryWrapper<TzBaseEnterpriseInfo>().eq(TzBaseEnterpriseInfo::getUseUnitCode, message.getDataId()))
);
if (enterpriseInfo == null) {
throw new RuntimeException(String.format("刷企业信息es时,企业:%s,未找到", message.getDataId()));
}
switch (DataRefreshEvent.Operation.valueOf(message.getOperation())) { switch (DataRefreshEvent.Operation.valueOf(message.getOperation())) {
case DELETE: case DELETE:
enterpriseInfoDao.deleteById(message.getDataId()); enterpriseInfoDao.deleteById(message.getDataId());
...@@ -59,6 +65,7 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler { ...@@ -59,6 +65,7 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler {
EsBaseEnterpriseInfo esBaseEnterpriseInfo = new EsBaseEnterpriseInfo(); EsBaseEnterpriseInfo esBaseEnterpriseInfo = new EsBaseEnterpriseInfo();
BeanUtil.copyProperties(enterpriseInfo, esBaseEnterpriseInfo); BeanUtil.copyProperties(enterpriseInfo, esBaseEnterpriseInfo);
esBaseEnterpriseInfo.setSequenceNbr(enterpriseInfo.getSequenceNbr() + ""); esBaseEnterpriseInfo.setSequenceNbr(enterpriseInfo.getSequenceNbr() + "");
esBaseEnterpriseInfo.setContactUser(enterpriseInfo.getUseContact());
esBaseEnterpriseInfo.setEquipCategory(RefreshDataUtils.castStrList2String(enterpriseInfo.getEquipCategory())); esBaseEnterpriseInfo.setEquipCategory(RefreshDataUtils.castStrList2String(enterpriseInfo.getEquipCategory()));
List<TzBaseUnitLicence> unitLicences = licenceMapper.selectList(new LambdaQueryWrapper<TzBaseUnitLicence>().eq(TzBaseUnitLicence::getUnitCode, enterpriseInfo.getUseUnitCode()).eq(TzBaseUnitLicence::getIsDelete, false)); List<TzBaseUnitLicence> unitLicences = licenceMapper.selectList(new LambdaQueryWrapper<TzBaseUnitLicence>().eq(TzBaseUnitLicence::getUnitCode, enterpriseInfo.getUseUnitCode()).eq(TzBaseUnitLicence::getIsDelete, false));
List<EsBaseEnterpriseInfo.License> licenses = unitLicences.stream().map(lis -> { List<EsBaseEnterpriseInfo.License> licenses = unitLicences.stream().map(lis -> {
......
...@@ -39,7 +39,7 @@ public class UserRefreshHandler implements IDataRefreshHandler { ...@@ -39,7 +39,7 @@ public class UserRefreshHandler implements IDataRefreshHandler {
@Override @Override
public void doRefresh(TzsDataRefreshMessage message) { public void doRefresh(TzsDataRefreshMessage message) {
log.info("3库数据,人员开始刷库:唯一标识:{}", message.getDataId()); log.info("库数据,人员开始刷库:唯一标识:{}", message.getDataId());
switch (DataRefreshEvent.Operation.valueOf(message.getOperation())) { switch (DataRefreshEvent.Operation.valueOf(message.getOperation())) {
case DELETE: case DELETE:
esUserInfoDao.deleteById(message.getDataId()); esUserInfoDao.deleteById(message.getDataId());
......
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