Merge branch 'dev' of http://47.97.8.94:19527/yj/zn-cloud into dev
This commit is contained in:
commit
5812c374e2
@ -188,7 +188,7 @@ public interface ErrorCodeConstants {
|
||||
|
||||
ErrorCode LOG_USE_NOT_EXISTS = new ErrorCode(1_009_010_005, "模板不存在");
|
||||
|
||||
ErrorCode LOG_TYPE_EXISTS = new ErrorCode(1_009_010_006, "已提交过({}),请勿重复提交");
|
||||
ErrorCode LOG_TYPE_EXISTS = new ErrorCode(1_009_010_006, "当前日期的日志已提交过,请勿重复提交");
|
||||
|
||||
ErrorCode LOG_NOT_DATE = new ErrorCode(1_009_010_007, "只能修改当天提交的日志");
|
||||
|
||||
|
@ -120,7 +120,7 @@ public class LogInstanceController {
|
||||
@PreAuthorize("@ss.hasPermission('system:view-log:query')")
|
||||
public CommonResult<LogInstanceRespVO> getUpLog(@RequestParam("formId") Long formId) {
|
||||
|
||||
LogInstanceRespVO logInstanceRespVO = LogInstanceConvert.INSTANCE.convert(logInstanceService.getUpLog(formId, null));
|
||||
LogInstanceRespVO logInstanceRespVO = LogInstanceConvert.INSTANCE.convert(logInstanceService.getUpLog(formId));
|
||||
logInstanceRespVO = logInstanceService.setContentFun(logInstanceRespVO);
|
||||
|
||||
return success(logInstanceRespVO);
|
||||
|
@ -23,15 +23,22 @@ import java.util.List;
|
||||
public interface LogInstanceMapper extends BaseMapperX<LogInstanceDO> {
|
||||
|
||||
|
||||
default List<LogInstanceDO> getUpLog(Long userId, Long formId, Integer type){
|
||||
default List<LogInstanceDO> getUpLog(Long userId, Long formId) {
|
||||
|
||||
return selectList(new LambdaQueryWrapperX<LogInstanceDO>()
|
||||
.eq(LogInstanceDO::getStartUserId, userId)
|
||||
.eqIfPresent(LogInstanceDO::getFormId, formId)
|
||||
.eqIfPresent(LogInstanceDO::getType, type)
|
||||
.orderByDesc(LogInstanceDO::getCreateTime));
|
||||
}
|
||||
|
||||
default Long getLogByType(Integer type, Long userId, List<String> dateList) {
|
||||
|
||||
return selectCount(new LambdaQueryWrapperX<LogInstanceDO>()
|
||||
.eq(LogInstanceDO::getType, type)
|
||||
.eq(LogInstanceDO::getStartUserId, userId)
|
||||
.in(LogInstanceDO::getTime, dateList));
|
||||
}
|
||||
|
||||
IPage<LogInstanceRespVO> selectPageResult(@Param("page")Page<LogInstanceRespVO> page, @Param("reqVO")LogInstancePageReqVO reqVO,
|
||||
@Param("userId")Long userId, @Param("pagingType") Integer pagingType, @Param("logId")Long logId);
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package cn.iocoder.yudao.module.system.service.worklog;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstancePageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.worklog.vo.loginstance.LogInstanceRespVO;
|
||||
@ -9,8 +8,8 @@ import cn.iocoder.yudao.module.system.dal.dataobject.worklog.LogInstanceDO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 日志实例的拓展 Service 接口
|
||||
@ -89,7 +88,16 @@ public interface LogInstanceService {
|
||||
// * @return
|
||||
// */
|
||||
// List<LogInstanceDO> getNeedWriteLogInstanceByTimeRange(Long fromId, List<String> time, Long userId);
|
||||
LogInstanceDO getUpLog(Long formId, Integer type);
|
||||
|
||||
/**
|
||||
* 获取用户发送的上一篇日志详情
|
||||
* @param formId 日志模板编号
|
||||
* @return 日志详情
|
||||
*/
|
||||
LogInstanceDO getUpLog(Long formId);
|
||||
|
||||
/**
|
||||
* 设置日志详情 模板内容和时间
|
||||
*/
|
||||
LogInstanceRespVO setContentFun(LogInstanceRespVO logInstanceRespVO);
|
||||
}
|
@ -31,7 +31,6 @@ import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.WeekFields;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -95,6 +94,7 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
AdminUserDO adminUserDO = adminUserService.getUser(userId);
|
||||
//获取规则信息
|
||||
LogRuleDO logRuleDO = logRuleService.getLogRule(logFormDo.getRuleId());
|
||||
|
||||
//设置发起人用户编号
|
||||
logInstance.setStartUserId(userId);
|
||||
//设置发起人部门编号
|
||||
@ -107,8 +107,6 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
logInstance.setType(logRuleDO.getType());
|
||||
//设置日志名称
|
||||
logInstance.setName(adminUserDO.getNickname() + "的" + logFormDo.getName());
|
||||
//设置日志日期
|
||||
logInstance.setTime(createReqVO.getTime());
|
||||
|
||||
// 插入提交状态
|
||||
Date endTime = null;
|
||||
@ -134,6 +132,7 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
);
|
||||
//创建日志时,查询可以查看发起人日志的用户组 用线程控制
|
||||
new Thread(() -> {
|
||||
|
||||
List<LogReadUserRespDTO> respDTOS = logInstanceMapper.selectRaedUser(adminUserDO.getDeptId());
|
||||
logReadService.createLogRule(respDTOS, logInstance.getId(), logInstance.getStartUserId());
|
||||
}).start();
|
||||
@ -147,50 +146,22 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
*/
|
||||
private void validateLogInstanceByType(LogInstanceSaveReqVO createReqVO) {
|
||||
|
||||
LogInstanceDO logInstanceDO = getUpLog(null, createReqVO.getType());
|
||||
if (logInstanceDO == null) {
|
||||
return;
|
||||
List<String> dateList = new ArrayList<>();
|
||||
if (createReqVO.getType() == 1) {
|
||||
|
||||
dateList.add(createReqVO.getTime());
|
||||
}else {
|
||||
|
||||
String[] times = createReqVO.getTime().split(",");
|
||||
dateList = DateUtils.betweenDayStrList(times[0], times[1]);
|
||||
|
||||
createReqVO.setTime(times[1]);
|
||||
}
|
||||
|
||||
LocalDate oldTime = LocalDate.parse(logInstanceDO.getTime());
|
||||
LocalDate nowTime = LocalDate.now();
|
||||
Long count = logInstanceMapper.getLogByType(createReqVO.getType(), getLoginUserId(), dateList);
|
||||
if (count > 0L) {
|
||||
|
||||
//根据日志类型判断
|
||||
switch (createReqVO.getType()) {
|
||||
|
||||
//日志类型为日报
|
||||
case 1:
|
||||
if (oldTime.equals(nowTime)) {
|
||||
|
||||
throw exception(ErrorCodeConstants.LOG_TYPE_EXISTS, "日报");
|
||||
}
|
||||
//日志类型为周报
|
||||
case 2:
|
||||
WeekFields weekFields = WeekFields.of(Locale.getDefault());
|
||||
|
||||
// 获取两个日期所属的周数和年份
|
||||
int oldWeek = oldTime.get(weekFields.weekOfWeekBasedYear());
|
||||
int oldYear = oldTime.get(weekFields.weekBasedYear());
|
||||
|
||||
int nowWeek = nowTime.get(weekFields.weekOfWeekBasedYear());
|
||||
int nowYear = nowTime.get(weekFields.weekBasedYear());
|
||||
|
||||
if (oldWeek == nowWeek && oldYear == nowYear) {
|
||||
|
||||
throw exception(ErrorCodeConstants.LOG_TYPE_EXISTS, "周报");
|
||||
}
|
||||
//日志类型为月报
|
||||
case 3:
|
||||
if (oldTime.getYear() == nowTime.getYear() && oldTime.getMonth() == nowTime.getMonth()) {
|
||||
|
||||
throw exception(ErrorCodeConstants.LOG_TYPE_EXISTS, "月报");
|
||||
}
|
||||
//日志类型为年报
|
||||
case 4:
|
||||
if (oldTime.getYear() == nowTime.getYear()) {
|
||||
|
||||
throw exception(ErrorCodeConstants.LOG_TYPE_EXISTS, "年报");
|
||||
}
|
||||
throw exception(ErrorCodeConstants.LOG_TYPE_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@ -311,9 +282,9 @@ public class LogInstanceServiceImpl implements LogInstanceService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public LogInstanceDO getUpLog(Long formId, Integer type) {
|
||||
public LogInstanceDO getUpLog(Long formId) {
|
||||
|
||||
List<LogInstanceDO> logInstanceDOS = logInstanceMapper.getUpLog(getLoginUserId(), formId, type);
|
||||
List<LogInstanceDO> logInstanceDOS = logInstanceMapper.getUpLog(getLoginUserId(), formId);
|
||||
if (!logInstanceDOS.isEmpty()) {
|
||||
|
||||
return logInstanceDOS.get(0);
|
||||
|
Loading…
Reference in New Issue
Block a user