代码注释

This commit is contained in:
XaoLi717 2024-12-18 14:14:32 +08:00
parent 7c64608a60
commit 747a1c116e
2 changed files with 22 additions and 4 deletions

View File

@ -118,22 +118,30 @@ public class XjglServiceImpl implements XjglService {
@Override
public Boolean backDay(Long id) {
//通过id 获取销假数据
XjglDO xjglDO = xjglMapper.selectById(id);
// 通过销假数据 设置年假 pagevo 来找到想要修改的年假数据
NjglPageReqVO njglPageReqVO = buildXjglReqVo(xjglDO);
// 使用njglMapper获取年假do并返回 do
NjglDO njglDO = getNjglPage(njglPageReqVO);
// 判断do不为空
if (njglDO == null) {
return false;
}
// 把年假do转换为 njglRespVo类型
NjglRespVO njglRespVO = BeanUtils.toBean(njglDO, NjglRespVO.class);
//这里后面判断一下是不是年假 是年假在更改数据
//这里后面判断一下是不是年假类型,是年假类型才更改数据
// 这里是和请假逻辑最不一样的地方 主要是对数据的处理 ,
// 这里是销假所以 减少使用天数 增加 剩余天数
// 请假相反 并且还要处理数据状态
upDataRespVo2(njglRespVO,xjglDO);
// if ((njglRespVO.getUsedDays().compareTo(BigDecimal.ZERO) < 0)&&(njglRespVO.getRemainingDays().compareTo(BigDecimal.valueOf(10)) > 0)) {
// return false;
// }
// 更新
// 更新数据 返回true
NjglDO updateObj = BeanUtils.toBean(njglRespVO, NjglDO.class);
njglMapper.updateById(updateObj);
return true;
@ -142,6 +150,7 @@ public class XjglServiceImpl implements XjglService {
private NjglPageReqVO buildXjglReqVo(XjglDO xjglDO) {
NjglPageReqVO njglPageReqVO = new NjglPageReqVO();
// 根据传递的XjglDo 设置 njglPagevo的值 来获取想要的年假数据
njglPageReqVO.setUserId(xjglDO.getUserId());
njglPageReqVO.setUserName(xjglDO.getUserName());
njglPageReqVO.setDeptId(xjglDO.getDeptId());
@ -151,6 +160,7 @@ public class XjglServiceImpl implements XjglService {
}
private NjglDO getNjglPage(NjglPageReqVO njglPageReqVO) {
// 通过的设置好的 njglvo 获取到对应的值 做下判断不为空 传递回去
PageResult<NjglDO> pageResult = njglMapper.selectPage(njglPageReqVO);
if (pageResult.getList().isEmpty()) {
return null;
@ -158,6 +168,7 @@ public class XjglServiceImpl implements XjglService {
return pageResult.getList().get(0);
}
// 和请假管理主要是这里不同 不同的处理数据的逻辑
private void upDataRespVo2(NjglRespVO njglRespVO, XjglDO xjglDO) {
njglRespVO.setRemainingDays(njglRespVO.getRemainingDays().add(xjglDO.getDay()));
njglRespVO.setUsedDays(njglRespVO.getUsedDays().subtract(xjglDO.getDay()));
@ -165,6 +176,9 @@ public class XjglServiceImpl implements XjglService {
@Override
public Boolean XjglHistoryService(Long id, String processId) {
// 流程监听器是一起运行的所以需要判断,
// 判断id是否找得到数据,然后再判断这个节点的实例id和获取到的数据内出储存的实例id是否为同一个
// 这样就可以判断想要处理,是不是对应的流程处理
XjglDO xjglDO = xjglMapper.selectById(id);
if (xjglDO == null) {
return false;

View File

@ -11,21 +11,25 @@ import static cn.iocoder.yudao.module.home.enums.ErrorCodeConstants.NJGL_BACK_DA
@Component
public class XjglEndListener implements ExecutionListener {
//继承 ExecutionListener 可接受FlowAble 流程数据
@Override
public void notify(DelegateExecution delegateExecution) {
// 流程监听 判断是不是流程 结束节点
if (delegateExecution.getEventName().equals("end")) {
// 通过 delegateExecution 获取想要的数据
String key = delegateExecution.getProcessInstanceBusinessKey();
Long XjId = Long.parseLong(key);
String processId = delegateExecution.getProcessInstanceId();
// 通过 ApplicationContextHandler 注入XjglServiceBean对象
XjglService xjglService = ApplicationContextHandler.getBean(XjglService.class);
// 判断流程是否是销假流程
if (!xjglService.XjglHistoryService(XjId,processId)) {
return;
}
// 执行销假方法, 并判断是否正确执行
Boolean err = xjglService.backDay(XjId);
if (!err) {
throw exception(NJGL_BACK_DAY);