代码注释
This commit is contained in:
parent
7c64608a60
commit
747a1c116e
@ -118,22 +118,30 @@ public class XjglServiceImpl implements XjglService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean backDay(Long id) {
|
public Boolean backDay(Long id) {
|
||||||
|
//通过id 获取销假数据
|
||||||
XjglDO xjglDO = xjglMapper.selectById(id);
|
XjglDO xjglDO = xjglMapper.selectById(id);
|
||||||
|
|
||||||
|
// 通过销假数据 设置年假 pagevo 来找到想要修改的年假数据
|
||||||
NjglPageReqVO njglPageReqVO = buildXjglReqVo(xjglDO);
|
NjglPageReqVO njglPageReqVO = buildXjglReqVo(xjglDO);
|
||||||
|
|
||||||
|
// 使用njglMapper获取年假do并返回 do
|
||||||
NjglDO njglDO = getNjglPage(njglPageReqVO);
|
NjglDO njglDO = getNjglPage(njglPageReqVO);
|
||||||
|
// 判断do不为空
|
||||||
if (njglDO == null) {
|
if (njglDO == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 把年假do转换为 njglRespVo类型
|
||||||
NjglRespVO njglRespVO = BeanUtils.toBean(njglDO, NjglRespVO.class);
|
NjglRespVO njglRespVO = BeanUtils.toBean(njglDO, NjglRespVO.class);
|
||||||
//这里后面判断一下是不是年假 是年假在更改数据
|
//这里后面判断一下是不是年假类型,是年假类型才更改数据
|
||||||
|
// 这里是和请假逻辑最不一样的地方 主要是对数据的处理 ,
|
||||||
|
// 这里是销假所以 减少使用天数 增加 剩余天数
|
||||||
|
// 请假相反 并且还要处理数据状态
|
||||||
upDataRespVo2(njglRespVO,xjglDO);
|
upDataRespVo2(njglRespVO,xjglDO);
|
||||||
// if ((njglRespVO.getUsedDays().compareTo(BigDecimal.ZERO) < 0)&&(njglRespVO.getRemainingDays().compareTo(BigDecimal.valueOf(10)) > 0)) {
|
// if ((njglRespVO.getUsedDays().compareTo(BigDecimal.ZERO) < 0)&&(njglRespVO.getRemainingDays().compareTo(BigDecimal.valueOf(10)) > 0)) {
|
||||||
// return false;
|
// return false;
|
||||||
// }
|
// }
|
||||||
// 更新
|
// 更新数据 返回true
|
||||||
NjglDO updateObj = BeanUtils.toBean(njglRespVO, NjglDO.class);
|
NjglDO updateObj = BeanUtils.toBean(njglRespVO, NjglDO.class);
|
||||||
njglMapper.updateById(updateObj);
|
njglMapper.updateById(updateObj);
|
||||||
return true;
|
return true;
|
||||||
@ -142,6 +150,7 @@ public class XjglServiceImpl implements XjglService {
|
|||||||
|
|
||||||
private NjglPageReqVO buildXjglReqVo(XjglDO xjglDO) {
|
private NjglPageReqVO buildXjglReqVo(XjglDO xjglDO) {
|
||||||
NjglPageReqVO njglPageReqVO = new NjglPageReqVO();
|
NjglPageReqVO njglPageReqVO = new NjglPageReqVO();
|
||||||
|
// 根据传递的XjglDo 设置 njglPagevo的值 来获取想要的年假数据
|
||||||
njglPageReqVO.setUserId(xjglDO.getUserId());
|
njglPageReqVO.setUserId(xjglDO.getUserId());
|
||||||
njglPageReqVO.setUserName(xjglDO.getUserName());
|
njglPageReqVO.setUserName(xjglDO.getUserName());
|
||||||
njglPageReqVO.setDeptId(xjglDO.getDeptId());
|
njglPageReqVO.setDeptId(xjglDO.getDeptId());
|
||||||
@ -151,6 +160,7 @@ public class XjglServiceImpl implements XjglService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private NjglDO getNjglPage(NjglPageReqVO njglPageReqVO) {
|
private NjglDO getNjglPage(NjglPageReqVO njglPageReqVO) {
|
||||||
|
// 通过的设置好的 njglvo 获取到对应的值 做下判断不为空 传递回去
|
||||||
PageResult<NjglDO> pageResult = njglMapper.selectPage(njglPageReqVO);
|
PageResult<NjglDO> pageResult = njglMapper.selectPage(njglPageReqVO);
|
||||||
if (pageResult.getList().isEmpty()) {
|
if (pageResult.getList().isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
@ -158,6 +168,7 @@ public class XjglServiceImpl implements XjglService {
|
|||||||
return pageResult.getList().get(0);
|
return pageResult.getList().get(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 和请假管理主要是这里不同 不同的处理数据的逻辑
|
||||||
private void upDataRespVo2(NjglRespVO njglRespVO, XjglDO xjglDO) {
|
private void upDataRespVo2(NjglRespVO njglRespVO, XjglDO xjglDO) {
|
||||||
njglRespVO.setRemainingDays(njglRespVO.getRemainingDays().add(xjglDO.getDay()));
|
njglRespVO.setRemainingDays(njglRespVO.getRemainingDays().add(xjglDO.getDay()));
|
||||||
njglRespVO.setUsedDays(njglRespVO.getUsedDays().subtract(xjglDO.getDay()));
|
njglRespVO.setUsedDays(njglRespVO.getUsedDays().subtract(xjglDO.getDay()));
|
||||||
@ -165,6 +176,9 @@ public class XjglServiceImpl implements XjglService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean XjglHistoryService(Long id, String processId) {
|
public Boolean XjglHistoryService(Long id, String processId) {
|
||||||
|
// 流程监听器是一起运行的所以需要判断,
|
||||||
|
// 判断id是否找得到数据,然后再判断这个节点的实例id和获取到的数据内出储存的实例id是否为同一个
|
||||||
|
// 这样就可以判断想要处理,是不是对应的流程处理
|
||||||
XjglDO xjglDO = xjglMapper.selectById(id);
|
XjglDO xjglDO = xjglMapper.selectById(id);
|
||||||
if (xjglDO == null) {
|
if (xjglDO == null) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -11,21 +11,25 @@ import static cn.iocoder.yudao.module.home.enums.ErrorCodeConstants.NJGL_BACK_DA
|
|||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class XjglEndListener implements ExecutionListener {
|
public class XjglEndListener implements ExecutionListener {
|
||||||
|
//继承 ExecutionListener 类 可接受FlowAble 流程数据
|
||||||
@Override
|
@Override
|
||||||
public void notify(DelegateExecution delegateExecution) {
|
public void notify(DelegateExecution delegateExecution) {
|
||||||
|
// 流程监听 判断是不是流程 结束节点
|
||||||
if (delegateExecution.getEventName().equals("end")) {
|
if (delegateExecution.getEventName().equals("end")) {
|
||||||
|
|
||||||
|
// 通过 delegateExecution 类 获取想要的数据
|
||||||
String key = delegateExecution.getProcessInstanceBusinessKey();
|
String key = delegateExecution.getProcessInstanceBusinessKey();
|
||||||
Long XjId = Long.parseLong(key);
|
Long XjId = Long.parseLong(key);
|
||||||
String processId = delegateExecution.getProcessInstanceId();
|
String processId = delegateExecution.getProcessInstanceId();
|
||||||
|
|
||||||
|
// 通过 ApplicationContextHandler 注入XjglServiceBean对象
|
||||||
XjglService xjglService = ApplicationContextHandler.getBean(XjglService.class);
|
XjglService xjglService = ApplicationContextHandler.getBean(XjglService.class);
|
||||||
|
// 判断流程是否是销假流程
|
||||||
if (!xjglService.XjglHistoryService(XjId,processId)) {
|
if (!xjglService.XjglHistoryService(XjId,processId)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 执行销假方法, 并判断是否正确执行
|
||||||
Boolean err = xjglService.backDay(XjId);
|
Boolean err = xjglService.backDay(XjId);
|
||||||
if (!err) {
|
if (!err) {
|
||||||
throw exception(NJGL_BACK_DAY);
|
throw exception(NJGL_BACK_DAY);
|
||||||
|
Loading…
Reference in New Issue
Block a user