Quellcode durchsuchen

业绩对标管理修改

hlf vor 1 Jahr
Ursprung
Commit
0c588d6103

+ 4 - 2
ims-service/ims-eval/src/main/java/com/ims/eval/controller/PerformanceBenchmarkingManageController.java

@@ -43,6 +43,7 @@ public class PerformanceBenchmarkingManageController {
 	 * @param checkCycle     周期(NDKP、JDKP、YDKP)
 	 * @param degreeYear     年度
 	 * @param quarterlyMonth 季/月度
+	 * @param indexName      指标名称
 	 * @return 结果
 	 */
 	@GetMapping(value = "/list")
@@ -53,8 +54,9 @@ public class PerformanceBenchmarkingManageController {
 		@RequestParam(value = "manageCategory") String manageCategory,
 		@RequestParam(value = "checkCycle") String checkCycle,
 		@RequestParam(value = "degreeYear") Integer degreeYear,
-		@RequestParam(value = "quarterlyMonth", required = false) Integer quarterlyMonth) {
-		IPage<PerformanceBenchmarkInfo> list = performanceBenchmarkInfoService.listPage(pageNum, pageSize, toolCategory, manageCategory, checkCycle, degreeYear, quarterlyMonth);
+		@RequestParam(value = "quarterlyMonth", required = false) Integer quarterlyMonth,
+		@RequestParam(value = "indexName", required = false) String indexName) {
+		IPage<PerformanceBenchmarkInfo> list = performanceBenchmarkInfoService.listPage(pageNum, pageSize, toolCategory, manageCategory, checkCycle, degreeYear, quarterlyMonth, indexName);
 		return R.ok().data(list);
 	}
 

+ 1 - 0
ims-service/ims-eval/src/main/java/com/ims/eval/dao/PerformanceBenchmarkInfoMapper.java

@@ -20,6 +20,7 @@ public interface PerformanceBenchmarkInfoMapper extends BaseMapper<PerformanceBe
 												   @Param("checkCycle") String checkCycle,
 												   @Param("degreeYear") Integer degreeYear,
 												   @Param("quarterlyMonth") Integer quarterlyMonth,
+												   @Param("indexName") String indexName,
 												   @Param("isBg") Integer isBg,
 												   @Param("isDb") Integer isDb,
 												   @Param("isCb") Integer isCb);

+ 1 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/service/IPerformanceBenchmarkInfoService.java

@@ -14,7 +14,7 @@ import java.io.IOException;
  */
 public interface IPerformanceBenchmarkInfoService extends IService<PerformanceBenchmarkInfo> {
 
-	IPage<PerformanceBenchmarkInfo> listPage(Integer pageNum, Integer pageSize, String toolCategory, String manageCategory, String checkCycle, Integer degreeYear, Integer quarterlyMonth);
+	IPage<PerformanceBenchmarkInfo> listPage(Integer pageNum, Integer pageSize, String toolCategory, String manageCategory, String checkCycle, Integer degreeYear, Integer quarterlyMonth, String indexName);
 
 	void exportExcel(String toolCategory, String manageCategory, String checkCycle, Integer degreeYear, Integer quarterlyMonth, HttpServletResponse response) throws IOException;
 }

+ 27 - 21
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/PerformanceBenchmarkInfoServiceImpl.java

@@ -48,7 +48,7 @@ public class PerformanceBenchmarkInfoServiceImpl extends ServiceImpl<Performance
 	private IOrganizationEvaluationInfoService organizationEvaluationInfoService;
 
 	@Override
-	public IPage<PerformanceBenchmarkInfo> listPage(Integer pageNum, Integer pageSize, String toolCategory, String manageCategory, String checkCycle, Integer degreeYear, Integer quarterlyMonth) {
+	public IPage<PerformanceBenchmarkInfo> listPage(Integer pageNum, Integer pageSize, String toolCategory, String manageCategory, String checkCycle, Integer degreeYear, Integer quarterlyMonth, String indexName) {
 		if (null == pageNum || null == pageSize) {
 			throw new RuntimeException("分页参数为空");
 		}
@@ -71,7 +71,7 @@ public class PerformanceBenchmarkInfoServiceImpl extends ServiceImpl<Performance
 		}
 		//构造分页构造器
 		Page<PerformanceBenchmarkInfo> page = new Page<>(pageNum, pageSize);
-		return baseMapper.selectListPage(page, manageCategory, checkCycle, degreeYear, quarterlyMonth, isBg, isDb, isCb);
+		return baseMapper.selectListPage(page, manageCategory, checkCycle, degreeYear, quarterlyMonth, indexName, isBg, isDb, isCb);
 	}
 
 	@Override
@@ -330,16 +330,19 @@ public class PerformanceBenchmarkInfoServiceImpl extends ServiceImpl<Performance
 		List<BenchmarkingRecord> benchmarkingRecordList = benchmarkingRecordService.selectList(manageCategory, checkCycle, degreeYear, quarterlyMonth, "标杆");
 		if (benchmarkingRecordList.size() == 0) {
 			List<PerformanceBenchmarkInfo> performanceBenchmarkInfoList = baseMapper.selectList(manageCategory, checkCycle, degreeYear, quarterlyMonth);
-			performanceBenchmarkInfoList.forEach(PerformanceBenchmarkInfo -> {
-				if (null != PerformanceBenchmarkInfo.getInstallCapacity() && null != PerformanceBenchmarkInfo.getCompleteValue() && 0 != PerformanceBenchmarkInfo.getCompleteValue()) {
-					PerformanceBenchmarkInfo.setBgVal(PerformanceBenchmarkInfo.getInstallCapacity() / PerformanceBenchmarkInfo.getCompleteValue());
+			Map<String, List<PerformanceBenchmarkInfo>> grouped = performanceBenchmarkInfoList.stream().collect(Collectors.groupingBy(PerformanceBenchmarkInfo::getIndexName));
+			grouped.forEach((indexName, performanceBenchmarkInfos) -> {
+				performanceBenchmarkInfos.forEach(PerformanceBenchmarkInfo -> {
+					if (null != PerformanceBenchmarkInfo.getInstallCapacity() && null != PerformanceBenchmarkInfo.getCompleteValue() && 0 != PerformanceBenchmarkInfo.getCompleteValue()) {
+						PerformanceBenchmarkInfo.setBgVal(PerformanceBenchmarkInfo.getInstallCapacity() / PerformanceBenchmarkInfo.getCompleteValue());
+					}
+				});
+				performanceBenchmarkInfos.sort(Comparator.comparingDouble(PerformanceBenchmarkInfo::getBgVal).reversed());
+				if (!performanceBenchmarkInfos.isEmpty() && performanceBenchmarkInfos.get(0).getBgVal() != 0) {
+					performanceBenchmarkInfos.get(0).setIsBg(1);
 				}
+				super.updateBatchById(performanceBenchmarkInfos);
 			});
-			performanceBenchmarkInfoList.sort(Comparator.comparingDouble(PerformanceBenchmarkInfo::getBgVal).reversed());
-			if (!performanceBenchmarkInfoList.isEmpty() && performanceBenchmarkInfoList.get(0).getBgVal() != 0) {
-				performanceBenchmarkInfoList.get(0).setIsBg(1);
-			}
-			super.updateBatchById(performanceBenchmarkInfoList);
 			if (performanceBenchmarkInfoList.size() > 0) {
 				addRecord(manageCategory, checkCycle, degreeYear, quarterlyMonth, "标杆");
 			}
@@ -389,19 +392,22 @@ public class PerformanceBenchmarkInfoServiceImpl extends ServiceImpl<Performance
 		List<BenchmarkingRecord> benchmarkingRecordList = benchmarkingRecordService.selectList(manageCategory, checkCycle, degreeYear, quarterlyMonth, "超标");
 		if (benchmarkingRecordList.size() == 0) {
 			List<PerformanceBenchmarkInfo> performanceBenchmarkInfoList = baseMapper.selectList(manageCategory, checkCycle, degreeYear, quarterlyMonth);
+			Map<String, List<PerformanceBenchmarkInfo>> grouped = performanceBenchmarkInfoList.stream().collect(Collectors.groupingBy(PerformanceBenchmarkInfo::getIndexName));
 			AtomicBoolean flag = new AtomicBoolean(false);
-			performanceBenchmarkInfoList.stream().filter(p -> p.getIsBg().equals(1)).findFirst().ifPresent(performanceBenchmarkInfo -> performanceBenchmarkInfoList.forEach(PerformanceBenchmarkInfo -> {
-				if (null != PerformanceBenchmarkInfo.getCompleteValue() && null != performanceBenchmarkInfo.getScalingValue()) {
-					if (PerformanceBenchmarkInfo.getCompleteValue() > performanceBenchmarkInfo.getScalingValue()) {
-						PerformanceBenchmarkInfo.setIsCb(1);
-						PerformanceBenchmarkInfo.setCbVal(PerformanceBenchmarkInfo.getCompleteValue() - performanceBenchmarkInfo.getScalingValue());
-						flag.set(true);
+			grouped.forEach((indexName, performanceBenchmarkInfos) -> {
+				performanceBenchmarkInfos.stream().filter(p -> p.getIsBg().equals(1)).findFirst().ifPresent(performanceBenchmarkInfo -> performanceBenchmarkInfos.forEach(PerformanceBenchmarkInfo -> {
+					if (null != PerformanceBenchmarkInfo.getCompleteValue() && null != performanceBenchmarkInfo.getScalingValue()) {
+						if (PerformanceBenchmarkInfo.getCompleteValue() > performanceBenchmarkInfo.getScalingValue()) {
+							PerformanceBenchmarkInfo.setIsCb(1);
+							PerformanceBenchmarkInfo.setCbVal(PerformanceBenchmarkInfo.getCompleteValue() - performanceBenchmarkInfo.getScalingValue());
+							flag.set(true);
+						}
+					} else {
+						flag.set(false);
 					}
-				} else {
-					flag.set(false);
-				}
-			}));
-			super.updateBatchById(performanceBenchmarkInfoList);
+				}));
+				super.updateBatchById(performanceBenchmarkInfos);
+			});
 			if (performanceBenchmarkInfoList.size() > 0 && flag.get()) {
 				addRecord(manageCategory, checkCycle, degreeYear, quarterlyMonth, "超标");
 			}

+ 3 - 0
ims-service/ims-eval/src/main/resources/mappers/PerformanceBenchmarkInfoMapper.xml

@@ -66,6 +66,9 @@
             <if test="quarterlyMonth != null and quarterlyMonth != ''">
                 AND quarterly_month = #{quarterlyMonth}
             </if>
+            <if test="indexName != null and indexName != ''">
+                AND index_name like CONCAT('%',#{indexName},'%')
+            </if>
             <if test="isBg == 1">
                 AND is_bg = 1
             </if>