二级库导出问题修改

This commit is contained in:
wcy 2024-09-28 13:23:04 +08:00
parent 2b9ea77516
commit 30a1540d74
2 changed files with 25 additions and 20 deletions

View File

@ -120,28 +120,32 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
*/ */
@Override @Override
public List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo) { public List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo) {
List<PurchaseCheckInfo> purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoList(purchaseCheckInfo); try {
Map<Long, PurchaseCheckInfo> taskIdInfoMap = new HashMap<>(); // 缓存查询结果避免重复查询 List<PurchaseCheckInfo> purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoList(purchaseCheckInfo);
for (PurchaseCheckInfo checkInfo : purchaseCheckInfos) { Map<Long, PurchaseCheckInfo> taskIdInfoMap = new HashMap<>(); // 缓存查询结果避免重复查询
// 判断是否已经查询过该taskId的结果如果没有进行查询并缓存 for (PurchaseCheckInfo checkInfo : purchaseCheckInfos) {
if (!taskIdInfoMap.containsKey(checkInfo.getTaskId())) { // 判断是否已经查询过该taskId的结果如果没有进行查询并缓存
List<PurchaseCheckInfo> taskInfoList = purchaseCheckInfoMapper.selectTypeNameAndManageTypeByTaskId(checkInfo.getTaskId()); if (!taskIdInfoMap.containsKey(checkInfo.getTaskId())) {
if (!taskInfoList.isEmpty()) { List<PurchaseCheckInfo> taskInfoList = purchaseCheckInfoMapper.selectTypeNameAndManageTypeByTaskId(checkInfo.getTaskId());
taskIdInfoMap.put(checkInfo.getTaskId(), taskInfoList.get(0)); if (!taskInfoList.isEmpty()) {
taskIdInfoMap.put(checkInfo.getTaskId(), taskInfoList.get(0));
}
}
// 获取缓存中的查询结果进行处理
Optional<PurchaseCheckInfo> optionalInfo = Optional.ofNullable(taskIdInfoMap.get(checkInfo.getTaskId()));
if (optionalInfo.isPresent()) {
PurchaseCheckInfo taskInfo = optionalInfo.get();
String typeName = taskInfo.getPurchasingTypeName();
String manageType = taskInfo.getManageType().contains("0") ? "0" : "1";
checkInfo.setPurchasingTypeName(typeName);
checkInfo.setManageType(manageType);
} }
} }
return purchaseCheckInfos;
// 获取缓存中的查询结果进行处理 } catch (Exception e) {
Optional<PurchaseCheckInfo> optionalInfo = Optional.ofNullable(taskIdInfoMap.get(checkInfo.getTaskId())); throw new RuntimeException("显示出错,请联系管理员处理!");
if (optionalInfo.isPresent()) {
PurchaseCheckInfo taskInfo = optionalInfo.get();
String typeName = taskInfo.getPurchasingTypeName();
String manageType = taskInfo.getManageType().contains("0") ? "0" : "1";
checkInfo.setPurchasingTypeName(typeName);
checkInfo.setManageType(manageType);
}
} }
return purchaseCheckInfos;
} }
/** /**

View File

@ -54,7 +54,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND (pci.purchase_time BETWEEN #{startTime} AND #{endTime} AND (pci.purchase_time BETWEEN #{startTime} AND #{endTime}
or pci.arrival_time BETWEEN #{startTime} AND #{endTime}) or pci.arrival_time BETWEEN #{startTime} AND #{endTime})
</if> </if>
GROUP BY pcd.task_id GROUP BY pci.id, pci.task_id, pci.purchase_time, pci.arrival_time, pci.purchaser, pci.create_by, pci.create_time,
pci.update_by, pci.update_time, pci.remark, pci.company_id, dict.id, dict.name, tk.code, su.nick_name, tk.task_status
order by pci.create_time desc order by pci.create_time desc
</select> </select>