Browse Source

延期时间校验

ops-management-platform-backend-dev
gjh 4 weeks ago
parent
commit
c03400dc8c
  1. 31
      ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java

31
ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java

@ -1136,6 +1136,8 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService {
@Override
public void delayOrder(WorkOrderInfoBo bo) {
checkDelayTime(bo);
// 延期说明
String delayDescription = bo.getDelayDescription();
Long responseTime = bo.getResponseTime();
@ -1206,6 +1208,26 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService {
}
private void checkDelayTime(WorkOrderInfoBo bo) {
// 获取延期时间
Date delayTime = bo.getDelayTime();
// 判空处理
if (delayTime == null) {
throw new ServiceException("延期时间不能为空");
}
// 使用系统默认时区进行比较(或根据业务需要换成 ZoneId.of("UTC"))
LocalDateTime now = LocalDateTime.now();
LocalDateTime delayDateTime = delayTime.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
if (now.isAfter(delayDateTime)) {
throw new ServiceException("延期时间不能早于当前时间");
}
}
@Override
public void delaySubmit(WorkOrderDelayBo bo) {
String workOrderId = bo.getId();
@ -1586,8 +1608,17 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService {
reviewInfoQueryWrapper.last("LIMIT 1");
WorkReviewInfo lastReviewInfo = workReviewInfoMapper.selectOne(reviewInfoQueryWrapper);
if (lastReviewInfo != null){
if (lastReviewInfo.getOtherCost() != null) {
record.setOtherCost(Double.valueOf(lastReviewInfo.getOtherCost()));
} else {
record.setOtherCost(0.0); // 或者 0.0,根据业务需求决定默认值
}
if (lastReviewInfo.getOtherCostReason() != null) {
record.setOtherCostReason(lastReviewInfo.getOtherCostReason());
} else {
record.setOtherCostReason("无"); // 或者 ""
}
}
// 6.工单审核中的初审建议

Loading…
Cancel
Save