会议管理草稿内容

This commit is contained in:
XaoLi717 2024-12-24 15:01:59 +08:00
parent 057b4398dd
commit 9c4ef5ba48
4 changed files with 69 additions and 1 deletions

View File

@ -94,4 +94,18 @@ public class HyglController {
BeanUtils.toBean(list, HyglRespVO.class)); BeanUtils.toBean(list, HyglRespVO.class));
} }
@PostMapping("/saveDraft")
@Operation(summary = "创建请假为草稿")
@PreAuthorize("@ss.hasPermission('home:hygl:create')")
public CommonResult<Long> saveDraft(@Valid @RequestBody HyglSaveReqVO createReqVO) {
return success(hyglService.saveDraft(getLoginUserId(),createReqVO));
}
@GetMapping("/draft")
@Operation(summary = "获得请假草稿分页")
@PreAuthorize("@ss.hasPermission('home:hygl:query')")
public CommonResult<PageResult<HyglRespVO>> getDraft(@Valid HyglPageReqVO pageReqVO) {
PageResult<HyglDO> pageResult = hyglService.getDraft(pageReqVO);
return success(BeanUtils.toBean(pageResult, HyglRespVO.class));
}
} }

View File

@ -44,6 +44,37 @@ public interface HyglMapper extends BaseMapperX<HyglDO> {
.eqIfPresent(HyglDO::getStatus, reqVO.getStatus()) .eqIfPresent(HyglDO::getStatus, reqVO.getStatus())
.eqIfPresent(HyglDO::getProcessInstanceId, reqVO.getProcessInstanceId()) .eqIfPresent(HyglDO::getProcessInstanceId, reqVO.getProcessInstanceId())
.betweenIfPresent(HyglDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(HyglDO::getCreateTime, reqVO.getCreateTime())
.ne(HyglDO::getStatus, 100) // 排除 status = 100
.orderByDesc(HyglDO::getId));
}
default PageResult<HyglDO> selectPageDraft(HyglPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<HyglDO>()
.eqIfPresent(HyglDO::getTitle, reqVO.getTitle())
.likeIfPresent(HyglDO::getUserName, reqVO.getUserName())
.eqIfPresent(HyglDO::getUserId, reqVO.getUserId())
.likeIfPresent(HyglDO::getDeptName, reqVO.getDeptName())
.eqIfPresent(HyglDO::getDeptId, reqVO.getDeptId())
.betweenIfPresent(HyglDO::getTime, reqVO.getTime())
.eqIfPresent(HyglDO::getDepict, reqVO.getDepict())
.eqIfPresent(HyglDO::getType, reqVO.getType())
.eqIfPresent(HyglDO::getTheme, reqVO.getTheme())
.eqIfPresent(HyglDO::getTarget, reqVO.getTarget())
.betweenIfPresent(HyglDO::getStartDate, reqVO.getStartDate())
.betweenIfPresent(HyglDO::getEndDate, reqVO.getEndDate())
.eqIfPresent(HyglDO::getDuration, reqVO.getDuration())
.eqIfPresent(HyglDO::getRoomId, reqVO.getRoomId())
.likeIfPresent(HyglDO::getRoomName, reqVO.getRoomName())
.eqIfPresent(HyglDO::getRoomAddress, reqVO.getRoomAddress())
.eqIfPresent(HyglDO::getOrganizer, reqVO.getOrganizer())
.eqIfPresent(HyglDO::getSpeaker, reqVO.getSpeaker())
.eqIfPresent(HyglDO::getMeetingTaker, reqVO.getMeetingTaker())
.eqIfPresent(HyglDO::getNumber, reqVO.getNumber())
.eqIfPresent(HyglDO::getEquipmentList, reqVO.getEquipmentList())
.eqIfPresent(HyglDO::getNetwork, reqVO.getNetwork())
.eqIfPresent(HyglDO::getStatus, reqVO.getStatus())
.eqIfPresent(HyglDO::getProcessInstanceId, reqVO.getProcessInstanceId())
.betweenIfPresent(HyglDO::getCreateTime, reqVO.getCreateTime())
.eq(HyglDO::getStatus, 100) // 强制过滤 status = 100
.orderByDesc(HyglDO::getId)); .orderByDesc(HyglDO::getId));
} }

View File

@ -56,4 +56,12 @@ public interface HyglService {
void updateHyglStatus(Long id, Integer status); void updateHyglStatus(Long id, Integer status);
/**
* 草稿
* @param userId
* @param createReqVO
* @return
*/
Long saveDraft(Long userId, HyglSaveReqVO createReqVO);
PageResult<HyglDO> getDraft(HyglPageReqVO pageReqVO);
} }

View File

@ -55,7 +55,12 @@ public class HyglServiceImpl implements HyglService {
// 插入 // 插入
HyglDO hygl = BeanUtils.toBean(createReqVO, HyglDO.class) HyglDO hygl = BeanUtils.toBean(createReqVO, HyglDO.class)
.setUserId(userId).setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); .setUserId(userId).setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
hyglMapper.insert(hygl); if (createReqVO.getCurfullpath().contains("?") ) {
hyglMapper.updateById(hygl);
createReqVO.setCurfullpath( createReqVO.getCurfullpath().replaceAll("\\?id=\\d+", ""));
} else {
hyglMapper.insert(hygl);
}
// 发起 BPM 流程 // 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>(); Map<String, Object> processInstanceVariables = new HashMap<>();
@ -125,5 +130,15 @@ public class HyglServiceImpl implements HyglService {
} }
} }
@Override
public Long saveDraft(Long userId, HyglSaveReqVO createReqVO) {
HyglDO hygl = BeanUtils.toBean(createReqVO, HyglDO.class).setUserId(userId).setStatus(100);
hyglMapper.insert(hygl);
return hygl.getId();
}
@Override
public PageResult<HyglDO> getDraft(HyglPageReqVO pageReqVO) {
return hyglMapper.selectPageDraft(pageReqVO);
}
} }