二级库导出问题修改

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
public List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo) {
List<PurchaseCheckInfo> purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoList(purchaseCheckInfo);
Map<Long, PurchaseCheckInfo> taskIdInfoMap = new HashMap<>(); // 缓存查询结果避免重复查询
for (PurchaseCheckInfo checkInfo : purchaseCheckInfos) {
// 判断是否已经查询过该taskId的结果如果没有进行查询并缓存
if (!taskIdInfoMap.containsKey(checkInfo.getTaskId())) {
List<PurchaseCheckInfo> taskInfoList = purchaseCheckInfoMapper.selectTypeNameAndManageTypeByTaskId(checkInfo.getTaskId());
if (!taskInfoList.isEmpty()) {
taskIdInfoMap.put(checkInfo.getTaskId(), taskInfoList.get(0));
try {
List<PurchaseCheckInfo> purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoList(purchaseCheckInfo);
Map<Long, PurchaseCheckInfo> taskIdInfoMap = new HashMap<>(); // 缓存查询结果避免重复查询
for (PurchaseCheckInfo checkInfo : purchaseCheckInfos) {
// 判断是否已经查询过该taskId的结果如果没有进行查询并缓存
if (!taskIdInfoMap.containsKey(checkInfo.getTaskId())) {
List<PurchaseCheckInfo> taskInfoList = purchaseCheckInfoMapper.selectTypeNameAndManageTypeByTaskId(checkInfo.getTaskId());
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);
}
}
// 获取缓存中的查询结果进行处理
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) {
throw new RuntimeException("显示出错,请联系管理员处理!");
}
return purchaseCheckInfos;
}
/**

View File

@ -54,7 +54,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND (pci.purchase_time BETWEEN #{startTime} AND #{endTime}
or pci.arrival_time BETWEEN #{startTime} AND #{endTime})
</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
</select>