Commit d39b1862 authored by 韩桐桐's avatar 韩桐桐

fix(jg):多条使用登记单时打印汇总表

parent 24f2403e
......@@ -181,7 +181,7 @@ public class JgUseRegistrationController extends BaseController {
public void exportSummaryBasicInfo(HttpServletResponse response,
@RequestParam("sequenceNbr") String sequenceNbr,
@RequestParam("category") String category) {
jgUseRegistrationServiceImpl.exportSummaryBasicInfo(sequenceNbr, response, category);
jgUseRegistrationServiceImpl.exportSummaryBasicInfo(Collections.singletonList(Long.valueOf(sequenceNbr)), response, category);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
......
......@@ -411,10 +411,10 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
}
break;
case "exportSummaryTable":// 工业管道和气瓶 汇总表下载
JgUseRegistration useRegistration = jgUseRegistrationService.getOne(
new LambdaQueryWrapper<JgUseRegistration>()
List<JgUseRegistration> jgUseRegistrations = jgUseRegistrationService.getBaseMapper().selectList(new LambdaQueryWrapper<JgUseRegistration>()
.eq(JgUseRegistration::getUseRegistrationCode, useRegistrationCode));
jgUseRegistrationService.exportSummaryBasicInfo(String.valueOf(useRegistration.getSequenceNbr()), response, equCategoryCode);
List<Long> useRegistrationSeqs = jgUseRegistrations.stream().map(JgUseRegistration::getSequenceNbr).collect(Collectors.toList());
jgUseRegistrationService.exportSummaryBasicInfo(useRegistrationSeqs, response, equCategoryCode);
break;
default:
break;
......
......@@ -1778,18 +1778,23 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
/**
* 导出基本信息汇总表(工业管道/气瓶)
*
* @param sequenceNbr
* @param useRegistrationSeqs
* @param response
*/
public void exportSummaryBasicInfo(String sequenceNbr, HttpServletResponse response, String category) {
public void exportSummaryBasicInfo(List<Long> useRegistrationSeqs, HttpServletResponse response, String category) {
// 总数
double total;
// 每页显示条数,默认 10
int size = 10;
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr);
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambda);
JSONObject jsonObject = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
lambda.in(JgRegistrationHistory::getCurrentDocumentId, useRegistrationSeqs);
List<JgRegistrationHistory> registrationHistoryList = jgRegistrationHistoryService.getBaseMapper().selectList(lambda);
if(!ValidationUtil.isEmpty(registrationHistoryList)){
throw new BadRequest("没有查询到汇总信息!");
}
JSONArray allEquipment = new JSONArray();
registrationHistoryList.forEach(historyList -> {
JSONObject jsonObject = JSONObject.parseObject(historyList.getChangeData());
JSONArray equipmentLists = (JSONArray) jsonObject.get("equipmentLists");
// 填充投用年月
String useDateValue = (String) jsonObject.get("useDate");
......@@ -1797,11 +1802,19 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
JSONObject equipmentItem = equipmentLists.getJSONObject(i);
equipmentItem.put("useDate", timeToMonths(useDateValue));
}
total = equipmentLists.size();
allEquipment.add(equipmentLists);
});
total = allEquipment.size();
AgencyUserModel result = new AgencyUserModel();
JgUseRegistration jgUseRegistration = jgUseRegistrationMapper.selectOne(new QueryWrapper<JgUseRegistration>().lambda()
.eq(JgUseRegistration::getSequenceNbr, sequenceNbr));
jsonObject.put("fullAddress", jgUseRegistration.getUseAddress());
.eq(JgUseRegistration::getSequenceNbr, useRegistrationSeqs.get(0)));
// 暂时拿第一条的 监管部门和安全管理人员
JSONObject jsonObjectFirst = new JSONObject();
if(!ValidationUtil.isEmpty(registrationHistoryList.get(0))){
JgRegistrationHistory jgRegistrationHistory = registrationHistoryList.get(0);
jsonObjectFirst = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
}
if (!ValidationUtil.isEmpty(jgUseRegistration.getCreateUserId())) {
result = Privilege.agencyUserClient.queryByUserId(jgUseRegistration.getCreateUserId()).getResult();
}
......@@ -1815,7 +1828,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 总页数
int page = (int) Math.ceil(total / size);
// 异步获取数据
List<CompletableFuture<byte[]>> futures = pressurePipeDataPreparation(page, jsonObject, size, total, equipmentLists, wordPath, filePrefix, result);
List<CompletableFuture<byte[]>> futures = pressurePipeDataPreparation(page, jsonObjectFirst, size, total, allEquipment, wordPath, filePrefix, result);
// byte[]压缩zip
toZipFile(response, futures, filePrefix, customFileName);
} else if ("2300".equals(category)) {// 气瓶基本信息汇总表
......@@ -1828,7 +1841,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 总页数
int page = (int) Math.ceil(total / size);
// 异步获取数据
List<CompletableFuture<byte[]>> futures = cylinderDataPreparation(page, jsonObject, size, total, equipmentLists, wordPath, filePrefix, result);
List<CompletableFuture<byte[]>> futures = cylinderDataPreparation(page, jsonObjectFirst, size, total, allEquipment, wordPath, filePrefix, result);
// byte[]压缩zip
toZipFile(response, futures, filePrefix, customFileName);
}
......
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