From 623b36a0a70924656d0558e8533367372fe3eb04 Mon Sep 17 00:00:00 2001 From: yangzhe123 <2824096059@qq.com> Date: Wed, 17 Dec 2025 13:44:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=B0=91=E9=87=8FBU?= =?UTF-8?q?G?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hsz/common/mapper/StRsvrRMapper.java | 12 ++++++---- .../project/hsz/service/ResBriefRService.java | 23 +++++++++++++++---- .../hsz/system/SysUserLoginLogController.java | 13 ++++++----- 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StRsvrRMapper.java b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StRsvrRMapper.java index 9047ebf..5f24f92 100644 --- a/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StRsvrRMapper.java +++ b/module-common/src/main/java/com/gunshi/project/hsz/common/mapper/StRsvrRMapper.java @@ -24,9 +24,11 @@ public interface StRsvrRMapper extends BaseMapper { * 根据stcd获取8点的rz */ @Select(""" - select rz from public.st_rsvr_r - where stcd = #{stcd} - and tm = date_trunc('day', now()) + interval '8 hours' + select rz from public.st_rsvr_r + where stcd = #{stcd} + and tm <= date_trunc('day', now()) + interval '8 hours' + order by tm desc + limit 1 """) BigDecimal getRz8ByStcd(String stcd); @@ -36,7 +38,9 @@ public interface StRsvrRMapper extends BaseMapper { @Select(""" select rz from public.st_rsvr_r where stcd = #{stcd} - and tm = date_trunc('day', now() - interval '1 day') + interval '8 hours' + and tm <= date_trunc('day', now() - interval '1 day') + interval '8 hours' + order by tm desc + limit 1 """) BigDecimal getRzYesterday8ByStcd(String stcd); } diff --git a/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java b/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java index 56514a4..9517983 100644 --- a/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java +++ b/src/main/java/com/gunshi/project/hsz/service/ResBriefRService.java @@ -57,8 +57,8 @@ public class ResBriefRService extends com.gunshi.project.hsz.model.ResBriefRAuto BigDecimal drp24 = pptnService.getdrp24SumByStcd(stcd); StPptnR drpMax = pptnService.getdrp24MaxByStcd(stcd); pptnVo.setDrp24Sum(drp24); - pptnVo.setDrp24Max(new BigDecimal(drpMax.getDrp())); - pptnVo.setMaxTm(drpMax.getTm()); + pptnVo.setDrp24Max(drpMax == null?null:drpMax.getDrp() == null?null:new BigDecimal(drpMax.getDrp())); + pptnVo.setMaxTm(drpMax == null?null:drpMax.getTm()); }); AttResBase res = resService.list().getFirst(); @@ -66,17 +66,30 @@ public class ResBriefRService extends com.gunshi.project.hsz.model.ResBriefRAuto String stcd = res.getStcd(); BigDecimal rz8 = rsvrService.getRz8ByStcd(stcd); BigDecimal rzYesterday8 = rsvrService.getRzYesterday8ByStcd(stcd); - BigDecimal w = zvarlService.getWFromZvarl(rz8, null); + BigDecimal w = null; + if(rz8 != null){ + w = zvarlService.getWFromZvarl(rz8, null); + } ResBriefVo vo = new ResBriefVo(); vo.setRz8(rz8); vo.setRzYesterday8(rzYesterday8); vo.setW(w); vo.setFlLowLimLev(flLowLimLev); - ResBriefVo.PptnVo pptnDrp24Sum = pptnVos.stream().max(Comparator.comparing(ResBriefVo.PptnVo::getDrp24Sum)).orElse(null); + ResBriefVo.PptnVo pptnDrp24Sum = pptnVos.stream() + .max(Comparator.comparing( + ResBriefVo.PptnVo::getDrp24Sum, + Comparator.nullsLast(Comparator.naturalOrder()) // null 值排在最后 + )) + .orElse(null); vo.setDrp24Sum(pptnDrp24Sum != null ? pptnDrp24Sum.getDrp24Sum() : null); vo.setSumStnm(pptnDrp24Sum != null ? pptnDrp24Sum.getStnm() : null); - ResBriefVo.PptnVo pptnDrp24Max = pptnVos.stream().max(Comparator.comparing(ResBriefVo.PptnVo::getDrp24Max)).orElse(null); + ResBriefVo.PptnVo pptnDrp24Max = pptnVos.stream() + .max(Comparator.comparing( + ResBriefVo.PptnVo::getDrp24Max, + Comparator.nullsLast(Comparator.naturalOrder()) + )) + .orElse(null); vo.setDrp24Max(pptnDrp24Max != null ? pptnDrp24Max.getDrp24Max() : null); vo.setMaxTm(pptnDrp24Max != null ? pptnDrp24Max.getMaxTm() : null); vo.setMaxStnm(pptnDrp24Max != null ? pptnDrp24Max.getStnm() : null); diff --git a/src/main/java/com/gunshi/project/hsz/system/SysUserLoginLogController.java b/src/main/java/com/gunshi/project/hsz/system/SysUserLoginLogController.java index d08db19..524f5bd 100644 --- a/src/main/java/com/gunshi/project/hsz/system/SysUserLoginLogController.java +++ b/src/main/java/com/gunshi/project/hsz/system/SysUserLoginLogController.java @@ -28,10 +28,7 @@ import org.springframework.web.bind.annotation.RestController; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -214,7 +211,9 @@ public class SysUserLoginLogController { dataVo.setCount(o.getValue()); dataVo.setCreateDate(o.getKey()); return dataVo; - }).collect(Collectors.toList()) + }) + .sorted(Comparator.comparing(UserCountVo.UserCountDataVo::getCreateDate)) + .collect(Collectors.toList()) ); vo.setAppList(logs.stream() @@ -226,7 +225,9 @@ public class SysUserLoginLogController { dataVo.setCount(o.getValue()); dataVo.setCreateDate(o.getKey()); return dataVo; - }).collect(Collectors.toList()) + }) + .sorted(Comparator.comparing(UserCountVo.UserCountDataVo::getCreateDate)) + .collect(Collectors.toList()) ); return R.ok(vo); }