Commit 028d6814 authored by 刘林's avatar 刘林

fix(jg):证书下载,企业管理导出功能bug修改

parent e9f90d0d
......@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.ymt.api.vo.XianElevatorVo;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
......@@ -52,6 +53,7 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
......@@ -814,6 +816,21 @@ public class JgTableDataExportServiceImpl implements IJgTableDataExportService {
}
return idsList;
}
public static <T, R> List<R> batchQuery(List<T> list, int batchSize, Function<List<T>, List<R>> function) {
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
List<R> result = new ArrayList<>();
for (int i = 0; i < list.size(); i += batchSize) {
int end = Math.min(i + batchSize, list.size());
List<T> subList = list.subList(i, end);
List<R> batch = function.apply(subList);
if (CollectionUtils.isNotEmpty(batch)) {
result.addAll(batch);
}
}
return result;
}
/**
* 基础设置-企业信息列表数据导出
......@@ -824,7 +841,8 @@ public class JgTableDataExportServiceImpl implements IJgTableDataExportService {
public void enterpriseInformationExport(String uuid, String ids, Map<String, Object> map) {
ObjectMapper objectMapper = new ObjectMapper();
List<String> enterSeqs = getEnterSeqs(ids, map);
List<Map<String, String>> enterInfoWithExport = tzBaseEnterpriseInfoMapper.getEnterInfoWithExport(enterSeqs);
List<Map<String, String>> enterInfoWithExport =
batchQuery(enterSeqs, 500, sequenceNbrs -> tzBaseEnterpriseInfoMapper.getEnterInfoWithExport(sequenceNbrs));
List<BaseEnterpriseVo> exportData = JSON.parseArray(JSON.toJSONString(enterInfoWithExport), BaseEnterpriseVo.class);
exportData.forEach(item -> {
String categoryJson = item.getEquipCategory();
......
......@@ -64,6 +64,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
......@@ -757,6 +758,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
}
public void exportUseRegistrationCertificate(JgUseRegistrationManage manage, HttpServletResponse response, String printType) {
try {
if (ValidationUtil.isEmpty(manage)) {
throw new BadRequest("使用登记信息为空,导出失败!");
}
......@@ -789,6 +791,26 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
throw new BadRequest("无效的打印类型!");
}
manage.setCertificatePrintTag(JSONObject.toJSONString(tagJson));
} catch (BadRequest e) {
writeErrorResponse(response, e.getMessage());
}
}
private void writeErrorResponse(HttpServletResponse response, String message) {
try {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=UTF-8");
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
ResponseModel<Object> result = new ResponseModel<>();
result.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
result.setMessage(message);
result.setTraceId(RequestContext.getTraceId());
response.getWriter().write(JSONObject.toJSONString(result));
response.getWriter().flush();
} catch (Exception ex) {
log.error("写错误响应失败", ex);
}
}
private Map<String, Object> buildExportParams(JgUseRegistrationManage manage, List<JSONObject> deviceList) {
......
......@@ -916,6 +916,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
.list();
records = useInfoRecords.stream().map(IdxBizJgUseInfo::getRecord).collect(toList());
}
log.info("status db={}, data={}", useRegistrationDb.getStatus(), data.getStatus());
EquipUsedCheckStrategyContext.getUsedStrategy(DEFINITION_KEY)
.delDataForCheckEquipRepeatUsed(records, data.getUseUnitCreditCode());
}
......
......@@ -514,6 +514,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
* 删除 redis校验重复引用设备的数据
*/
private void delRepeatUseEquipData(JgVehicleInformation notice) {
log.info("status = {}", notice.getStatus());
if (NOT_FLOWING_STATE.contains(notice.getStatus())) {
LambdaQueryWrapper<JgVehicleInformationEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgVehicleInformationEq::getVehicleId, notice.getSequenceNbr());
......
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