diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckInfoServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckInfoServiceImpl.java index 13e4609..6128db8 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/PurchaseCheckInfoServiceImpl.java @@ -120,28 +120,32 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { */ @Override public List selectPurchaseCheckInfoList(PurchaseCheckInfo purchaseCheckInfo) { - List purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoList(purchaseCheckInfo); - Map taskIdInfoMap = new HashMap<>(); // 缓存查询结果,避免重复查询 - for (PurchaseCheckInfo checkInfo : purchaseCheckInfos) { - // 判断是否已经查询过该taskId的结果,如果没有,进行查询并缓存 - if (!taskIdInfoMap.containsKey(checkInfo.getTaskId())) { - List taskInfoList = purchaseCheckInfoMapper.selectTypeNameAndManageTypeByTaskId(checkInfo.getTaskId()); - if (!taskInfoList.isEmpty()) { - taskIdInfoMap.put(checkInfo.getTaskId(), taskInfoList.get(0)); + try { + List purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoList(purchaseCheckInfo); + Map taskIdInfoMap = new HashMap<>(); // 缓存查询结果,避免重复查询 + for (PurchaseCheckInfo checkInfo : purchaseCheckInfos) { + // 判断是否已经查询过该taskId的结果,如果没有,进行查询并缓存 + if (!taskIdInfoMap.containsKey(checkInfo.getTaskId())) { + List taskInfoList = purchaseCheckInfoMapper.selectTypeNameAndManageTypeByTaskId(checkInfo.getTaskId()); + if (!taskInfoList.isEmpty()) { + taskIdInfoMap.put(checkInfo.getTaskId(), taskInfoList.get(0)); + } + } + + // 获取缓存中的查询结果,进行处理 + Optional 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 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; } /** diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckInfoMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckInfoMapper.xml index ab6b015..df1f1c8 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckInfoMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/PurchaseCheckInfoMapper.xml @@ -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}) - 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