修改bug
This commit is contained in:
1
xinnengyuan/.gitignore
vendored
1
xinnengyuan/.gitignore
vendored
@ -52,3 +52,4 @@ nbdist/
|
|||||||
logs/
|
logs/
|
||||||
docs
|
docs
|
||||||
/file
|
/file
|
||||||
|
.idea/
|
||||||
|
@ -289,4 +289,4 @@ recognizer:
|
|||||||
url: http://192.168.110.5:50070
|
url: http://192.168.110.5:50070
|
||||||
|
|
||||||
qrCode:
|
qrCode:
|
||||||
url: http://192.168.110.151:7788
|
url: http://xny.yj-3d.com:7171
|
||||||
|
@ -287,3 +287,6 @@ id-card:
|
|||||||
encrypt-key: 7ae260d150a14027d2238a1cf80a48ef
|
encrypt-key: 7ae260d150a14027d2238a1cf80a48ef
|
||||||
recognizer:
|
recognizer:
|
||||||
url: http://192.168.110.5:50070
|
url: http://192.168.110.5:50070
|
||||||
|
|
||||||
|
qrCode:
|
||||||
|
url: http://xny.yj-3d.com:7788
|
||||||
|
@ -10,6 +10,7 @@ import java.text.SimpleDateFormat;
|
|||||||
import java.time.*;
|
import java.time.*;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.format.DateTimeParseException;
|
import java.time.format.DateTimeParseException;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@ -209,6 +210,21 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
|||||||
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
|
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算两个日期之间的时间差
|
||||||
|
*
|
||||||
|
* @param date1 第一个日期
|
||||||
|
* @param date2 第二个日期
|
||||||
|
* @param unit 时间单位(支持:ChronoUnit.DAYS, ChronoUnit.HOURS, ChronoUnit.MINUTES, ChronoUnit.SECONDS)
|
||||||
|
* @return 时间差(可能为负数,如果要绝对值可以再 Math.abs)
|
||||||
|
*/
|
||||||
|
public static long difference(Date date1, Date date2, ChronoUnit unit) {
|
||||||
|
// 转换成 Instant 再计算
|
||||||
|
Instant instant1 = date1.toInstant();
|
||||||
|
Instant instant2 = date2.toInstant();
|
||||||
|
return unit.between(instant1, instant2);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算两个日期之间的时间差,并以天、小时和分钟的格式返回
|
* 计算两个日期之间的时间差,并以天、小时和分钟的格式返回
|
||||||
*
|
*
|
||||||
|
@ -1,21 +1,17 @@
|
|||||||
package org.dromara.formalities.domain.bo;
|
package org.dromara.formalities.domain.bo;
|
||||||
|
|
||||||
import org.dromara.formalities.domain.BusFormalitiesAreConsolidated;
|
|
||||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
|
||||||
import org.dromara.common.core.validate.AddGroup;
|
|
||||||
import org.dromara.common.core.validate.EditGroup;
|
|
||||||
import io.github.linpeilie.annotations.AutoMapper;
|
import io.github.linpeilie.annotations.AutoMapper;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import jakarta.validation.constraints.*;
|
import org.dromara.common.core.validate.AddGroup;
|
||||||
|
import org.dromara.common.core.validate.EditGroup;
|
||||||
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||||
|
import org.dromara.formalities.domain.BusFormalitiesAreConsolidated;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合规性手续合账业务对象 bus_formalities_are_consolidated
|
* 合规性手续合账业务对象 bus_formalities_are_consolidated
|
||||||
*
|
*
|
||||||
@ -78,7 +74,7 @@ public class BusFormalitiesAreConsolidatedBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 实际完成时间
|
* 实际完成时间
|
||||||
*/
|
*/
|
||||||
private Date actualCompletionTime;
|
private LocalDate actualCompletionTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 办理状态
|
* 办理状态
|
||||||
@ -86,7 +82,6 @@ public class BusFormalitiesAreConsolidatedBo extends BaseEntity {
|
|||||||
private String processingStatus;
|
private String processingStatus;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
*/
|
*/
|
||||||
|
@ -1,37 +1,35 @@
|
|||||||
package org.dromara.formalities.service.impl;
|
package org.dromara.formalities.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.dromara.formalities.domain.BusFormalitiesAnnex;
|
import org.dromara.formalities.domain.BusFormalitiesAnnex;
|
||||||
|
import org.dromara.formalities.domain.BusFormalitiesAreConsolidated;
|
||||||
import org.dromara.formalities.domain.BusListOfFormalities;
|
import org.dromara.formalities.domain.BusListOfFormalities;
|
||||||
import org.dromara.formalities.domain.bo.AddBusFormalitiesAreConsolidatedBo;
|
import org.dromara.formalities.domain.bo.AddBusFormalitiesAreConsolidatedBo;
|
||||||
import org.dromara.formalities.enums.FormalitiesStatusEnum;
|
|
||||||
import org.dromara.formalities.service.IBusFormalitiesAnnexService;
|
|
||||||
import org.dromara.formalities.service.IBusListOfFormalitiesService;
|
|
||||||
import org.dromara.formalities.utils.TreeUtil;
|
|
||||||
import org.dromara.system.domain.vo.SysOssUploadVo;
|
|
||||||
import org.dromara.system.service.ISysOssService;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.dromara.formalities.domain.bo.BusFormalitiesAreConsolidatedBo;
|
import org.dromara.formalities.domain.bo.BusFormalitiesAreConsolidatedBo;
|
||||||
import org.dromara.formalities.domain.vo.BusFormalitiesAreConsolidatedVo;
|
import org.dromara.formalities.domain.vo.BusFormalitiesAreConsolidatedVo;
|
||||||
import org.dromara.formalities.domain.BusFormalitiesAreConsolidated;
|
import org.dromara.formalities.enums.FormalitiesStatusEnum;
|
||||||
import org.dromara.formalities.mapper.BusFormalitiesAreConsolidatedMapper;
|
import org.dromara.formalities.mapper.BusFormalitiesAreConsolidatedMapper;
|
||||||
|
import org.dromara.formalities.service.IBusFormalitiesAnnexService;
|
||||||
import org.dromara.formalities.service.IBusFormalitiesAreConsolidatedService;
|
import org.dromara.formalities.service.IBusFormalitiesAreConsolidatedService;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.dromara.formalities.service.IBusListOfFormalitiesService;
|
||||||
|
import org.dromara.formalities.utils.TreeUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.LocalTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static org.dromara.common.constant.MinioPathConstant.FormalitiesAnnex;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合规性手续合账Service业务层处理
|
* 合规性手续合账Service业务层处理
|
||||||
*
|
*
|
||||||
|
@ -77,7 +77,7 @@ public class PgsProgressCategoryController extends BaseController {
|
|||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("progress:progressCategory:query")
|
@SaCheckPermission("progress:progressCategory:coordinate")
|
||||||
@GetMapping("/coordinate/{id}")
|
@GetMapping("/coordinate/{id}")
|
||||||
public R<PgsProgressCategoryCoordinateVo> getCoordinate(@NotNull(message = "主键不能为空")
|
public R<PgsProgressCategoryCoordinateVo> getCoordinate(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long id) {
|
@PathVariable Long id) {
|
||||||
@ -89,7 +89,7 @@ public class PgsProgressCategoryController extends BaseController {
|
|||||||
*
|
*
|
||||||
* @param projectId 项目主键
|
* @param projectId 项目主键
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("progress:progressCategory:query")
|
@SaCheckPermission("progress:progressCategory:projectNumber")
|
||||||
@GetMapping("/project/number/{projectId}")
|
@GetMapping("/project/number/{projectId}")
|
||||||
public R<PgsProgressCategoryProjectVo> getProjectNumber(@NotNull(message = "项目主键不能为空")
|
public R<PgsProgressCategoryProjectVo> getProjectNumber(@NotNull(message = "项目主键不能为空")
|
||||||
@PathVariable Long projectId) {
|
@PathVariable Long projectId) {
|
||||||
@ -101,7 +101,7 @@ public class PgsProgressCategoryController extends BaseController {
|
|||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("progress:progressCategory:query")
|
@SaCheckPermission("progress:progressCategory:lastTime")
|
||||||
@GetMapping("/lastTime/{id}")
|
@GetMapping("/lastTime/{id}")
|
||||||
public R<PgsProgressCategoryLastTimeVo> getLastTimeInfo(@NotNull(message = "主键不能为空")
|
public R<PgsProgressCategoryLastTimeVo> getLastTimeInfo(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long id) {
|
@PathVariable Long id) {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package org.dromara.progress.domain.dto.progresscategory;
|
package org.dromara.progress.domain.dto.progresscategory;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@ -14,6 +15,7 @@ public class PgsProgressCategoryCreatePriceReq {
|
|||||||
/**
|
/**
|
||||||
* 类别id
|
* 类别id
|
||||||
*/
|
*/
|
||||||
|
@NotNull(message = "类别id不能为空")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -345,6 +345,19 @@ public class PgsProgressCategoryServiceImpl extends ServiceImpl<PgsProgressCateg
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
// todo 添加校验
|
// todo 添加校验
|
||||||
|
Long count = this.lambdaQuery()
|
||||||
|
.in(PgsProgressCategory::getParentId, ids)
|
||||||
|
.count();
|
||||||
|
if (count > 0) {
|
||||||
|
throw new ServiceException("请先删除子进度类别", HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
List<PgsProgressCategory> categoryList = this.listByIds(ids);
|
||||||
|
for (PgsProgressCategory category : categoryList) {
|
||||||
|
BigDecimal completed = category.getCompleted();
|
||||||
|
if (completed != null && completed.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
throw new ServiceException("该分类已有完成数量,无法删除", HttpStatus.BAD_REQUEST);
|
||||||
|
}
|
||||||
|
}
|
||||||
return this.removeBatchByIds(ids);
|
return this.removeBatchByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ import org.dromara.workflow.common.constant.FlowConstant;
|
|||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -203,6 +204,11 @@ public class FlowHisTaskVo implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String runDuration;
|
private String runDuration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 运行时长数字
|
||||||
|
*/
|
||||||
|
private Long runDurationNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置创建时间并计算任务运行时长
|
* 设置创建时间并计算任务运行时长
|
||||||
*
|
*
|
||||||
@ -230,6 +236,7 @@ public class FlowHisTaskVo implements Serializable {
|
|||||||
// 如果创建时间和更新时间均不为空,计算它们之间的时长
|
// 如果创建时间和更新时间均不为空,计算它们之间的时长
|
||||||
if (this.updateTime != null && this.createTime != null) {
|
if (this.updateTime != null && this.createTime != null) {
|
||||||
this.runDuration = DateUtils.getTimeDifference(this.updateTime, this.createTime);
|
this.runDuration = DateUtils.getTimeDifference(this.updateTime, this.createTime);
|
||||||
|
this.runDurationNum = DateUtils.difference(this.createTime, this.updateTime, ChronoUnit.SECONDS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user