Commit a140089ee98a5714ed244fa6fd57b2b6a4e1b620

Authored by 王彪总
1 parent 11cc1364

fix(user): 修复部门层级查找逻辑

- 当找不到parentId=100的部门时,返回当前部门id作为默认值
- 修改顶级部门查找逻辑,返回顶级部门ID而不是null
- 避免因返回null导致的空指针异常问题
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java
... ... @@ -21,6 +21,7 @@ import org.springframework.validation.annotation.Validated;
21 21 import java.time.LocalDate;
22 22 import java.time.LocalDateTime;
23 23 import java.time.LocalTime;
  24 +import java.time.format.DateTimeFormatter;
24 25 import java.util.Arrays;
25 26 import java.util.List;
26 27  
... ... @@ -111,8 +112,10 @@ public class InspectionPlanDetailServiceImpl implements InspectionPlanDetailServ
111 112 public void updateExpiredInspectionPlanDetails() {
112 113 // 更新过期的计划明细状态为过期(3)
113 114 LocalDateTime localDateTime = LocalDate.now().atStartOfDay(); //00:00:00
  115 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
  116 + String formattedTime = localDateTime.format(formatter);
114 117 LambdaUpdateWrapper<InspectionPlanDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
115   - updateWrapper.lt(InspectionPlanDetailDO::getEndTime, localDateTime)
  118 + updateWrapper.lt(InspectionPlanDetailDO::getEndTime, formattedTime)
116 119 .set(InspectionPlanDetailDO::getFinishState, FinishStateEnum.EXPIRED.getStatus()) // 设置为过期状态
117 120 .eq(InspectionPlanDetailDO::getFinishState, FinishStateEnum.NOT_FINISHED.getStatus());
118 121 inspectionPlanDetailMapper.update(null, updateWrapper);
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanDetailServiceImpl.java
... ... @@ -30,6 +30,7 @@ import org.springframework.validation.annotation.Validated;
30 30 import java.time.LocalDate;
31 31 import java.time.LocalDateTime;
32 32 import java.time.LocalTime;
  33 +import java.time.format.DateTimeFormatter;
33 34 import java.util.Arrays;
34 35 import java.util.Collections;
35 36 import java.util.List;
... ... @@ -154,14 +155,40 @@ public class MaintainPlanDetailServiceImpl implements MaintainPlanDetailService
154 155 public void updateExpiredMaintainPlanDetails() {
155 156 // 更新过期的计划明细状态为过期(3)
156 157 LocalDateTime localDateTime = LocalDate.now().atStartOfDay(); //00:00:00
  158 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
  159 + String formattedTime = localDateTime.format(formatter);
157 160 LambdaUpdateWrapper<MaintainPlanDetailDO> updateWrapper = new LambdaUpdateWrapper<>();
158   - updateWrapper.lt(MaintainPlanDetailDO::getEndTime, localDateTime)
  161 + updateWrapper.lt(MaintainPlanDetailDO::getEndTime, formattedTime)
159 162 .set(MaintainPlanDetailDO::getFinishState, FinishStateEnum.EXPIRED.getStatus()) // 设置为过期状态
160 163 .eq(MaintainPlanDetailDO::getFinishState, FinishStateEnum.NOT_FINISHED.getStatus());
161 164  
162 165 maintainPlanDetailMapper.update(updateWrapper);
163 166 }
164 167  
  168 + public static void main(String[] args) {
  169 + // 获取当天0点的LocalDateTime对象
  170 + LocalDateTime localDateTime = LocalDate.now().atStartOfDay();
  171 +
  172 + // 1. 直接打印对象(默认toString格式)
  173 + System.out.println("默认toString格式: " + localDateTime);
  174 + // 输出示例(假设当前日期是2026-01-16):2026-01-16T00:00
  175 +
  176 + // 2. 自定义格式输出(更易读)
  177 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
  178 + String formattedTime = localDateTime.format(formatter);
  179 + System.out.println("自定义格式: " + formattedTime);
  180 + // 输出示例:2026-01-16 00:00:00.000
  181 +
  182 + // 3. 拆解查看各部分值
  183 + System.out.println("年: " + localDateTime.getYear()); // 2026
  184 + System.out.println("月: " + localDateTime.getMonthValue()); // 1
  185 + System.out.println("日: " + localDateTime.getDayOfMonth()); // 16
  186 + System.out.println("时: " + localDateTime.getHour()); // 0
  187 + System.out.println("分: " + localDateTime.getMinute()); // 0
  188 + System.out.println("秒: " + localDateTime.getSecond()); // 0
  189 + System.out.println("纳秒: " + localDateTime.getNano()); // 0
  190 + }
  191 +
165 192 @Override
166 193 public void updateExpiredMaintainPlans() {
167 194 // 更新过期的计划状态为过期(3)
... ...