From 55147bfbd81791858cc550517638b8cfa352b5ee Mon Sep 17 00:00:00 2001 From: YY <1272464982@qq.com> Date: Thu, 3 Jul 2025 15:26:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BF=A1=E6=81=AF=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CoscoAnnualreviewTaskSupplierMapper.java | 7 +++ .../impl/AnnualScheduledTasksServiceImpl.java | 63 ++++++++++--------- .../CoscoAnnualreviewTaskSupplierMapper.xml | 9 +++ 3 files changed, 50 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/dao/CoscoAnnualreviewTaskSupplierMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/dao/CoscoAnnualreviewTaskSupplierMapper.java index 2d4d1ce..e208eb1 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/dao/CoscoAnnualreviewTaskSupplierMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/dao/CoscoAnnualreviewTaskSupplierMapper.java @@ -98,4 +98,11 @@ public interface CoscoAnnualreviewTaskSupplierMapper { * @return */ List getSupplierAnnualReviewStatisticsList(SupplierAnnualReviewStatisticsVo vo); + + /** + * 根据id列表查询查询 + * @param ids + * @return + */ + List selectByIds(List ids); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/AnnualScheduledTasksServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/AnnualScheduledTasksServiceImpl.java index 54e52a1..8160276 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/AnnualScheduledTasksServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/AnnualScheduledTasksServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Service public class AnnualScheduledTasksServiceImpl implements AnnualScheduledTasksService { @@ -52,37 +53,41 @@ public class AnnualScheduledTasksServiceImpl implements AnnualScheduledTasksServ @Transactional(rollbackFor = Exception.class) public void closeTask() { //查询所有需要关闭的项目 - List coscoAnnualreviewTasks = - coscoAnnualreviewTaskMapper.selectCloseTask(); - for (CoscoAnnualreviewTask coscoAnnualreviewTask : coscoAnnualreviewTasks) { - //获取年审任务全部信息 - CoscoAnnualreviewTaskSupplier coscoAnnualreviewTaskSupplier = new CoscoAnnualreviewTaskSupplier(); - coscoAnnualreviewTaskSupplier.setAnnualreviewTaskId(coscoAnnualreviewTask.getId()); - List coscoAnnualreviewTaskSuppliers = - coscoAnnualreviewTaskSupplierMapper.selectCoscoAnnualreviewTaskSupplierList(coscoAnnualreviewTaskSupplier); - //根据人员技术分数 - coscoAnnualreviewTaskSuppliers.forEach(supplier -> { - AuditQuantityVo selectVo = new AuditQuantityVo(); - selectVo.setSupplierId(supplier.getSupplierId()); - selectVo.setAnnualreviewTaskId(coscoAnnualreviewTask.getId()); - //获取合格结果 - AuditQuantityVo vo = coscoAnnualreviewScoringMapper.selectAuditQuantity(selectVo); - if (vo != null && vo.getTotalNumber() > 0) { - if (vo.getErrorNumber() > 0) { - supplier.setReviewResult(AnnualreviewTaskConstant.APPROVE_FAIL); - } else { - supplier.setReviewResult(AnnualreviewTaskConstant.APPROVE_SUCCESS); + List coscoAnnualreviewTasks = coscoAnnualreviewTaskMapper.selectCloseTask(); + if(!coscoAnnualreviewTasks.isEmpty()){ + List ids = coscoAnnualreviewTasks.stream().map(CoscoAnnualreviewTask::getId).collect(Collectors.toList()); + List coscoAnnualreviewTaskSuppliers =coscoAnnualreviewTaskSupplierMapper. + selectByIds(ids); + for (CoscoAnnualreviewTask coscoAnnualreviewTask : coscoAnnualreviewTasks) { + //获取年审任务全部信息 + CoscoAnnualreviewTaskSupplier coscoAnnualreviewTaskSupplier = new CoscoAnnualreviewTaskSupplier(); + coscoAnnualreviewTaskSupplier.setAnnualreviewTaskId(coscoAnnualreviewTask.getId()); + List collect = coscoAnnualreviewTaskSuppliers.stream().filter(supplier -> supplier.getAnnualreviewTaskId().equals(coscoAnnualreviewTask.getId())).collect(Collectors.toList()); + //根据人员技术分数 + collect.forEach(supplier -> { + AuditQuantityVo selectVo = new AuditQuantityVo(); + selectVo.setSupplierId(supplier.getSupplierId()); + selectVo.setAnnualreviewTaskId(coscoAnnualreviewTask.getId()); + //获取合格结果 + AuditQuantityVo vo = coscoAnnualreviewScoringMapper.selectAuditQuantity(selectVo); + if (vo != null && vo.getTotalNumber() > 0) { + if (vo.getErrorNumber() > 0) { + supplier.setReviewResult(AnnualreviewTaskConstant.APPROVE_FAIL); + } else { + supplier.setReviewResult(AnnualreviewTaskConstant.APPROVE_SUCCESS); + } + //修改供应商状态 + coscoAnnualreviewTaskSupplierMapper.updateCoscoAnnualreviewTaskSupplier(supplier); } - //修改供应商状态 - coscoAnnualreviewTaskSupplierMapper.updateCoscoAnnualreviewTaskSupplier(supplier); - } - }); - //修改任务状态 - coscoAnnualreviewTask.setStatus(AnnualreviewTaskConstant.COMPLETED); - coscoAnnualreviewTask.setUpdateBy(SupplierUserConstant.USER_NAME); - coscoAnnualreviewTask.setUpdateTime(new Date()); - coscoAnnualreviewTaskMapper.updateCoscoAnnualreviewTask(coscoAnnualreviewTask); + }); + //修改任务状态 + coscoAnnualreviewTask.setStatus(AnnualreviewTaskConstant.COMPLETED); + coscoAnnualreviewTask.setUpdateBy(SupplierUserConstant.USER_NAME); + coscoAnnualreviewTask.setUpdateTime(new Date()); + coscoAnnualreviewTaskMapper.updateCoscoAnnualreviewTask(coscoAnnualreviewTask); + } } + } } diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskSupplierMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskSupplierMapper.xml index 4123075..02797bf 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskSupplierMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskSupplierMapper.xml @@ -68,6 +68,15 @@ order by cat.create_time desc +