feat(hrm): 添加资金调配申请状态同步功能
- 在BizStatusSyncHelper中新增HrmAppropriationReq相关依赖注入 - 实现资金调配申请的审批状态更新逻辑(approved/pending/rejected) - 在HrmFlowTaskServiceImpl中添加资金调配业务的数据查询支持 - 在IHrmAppropriationReqService接口中定义updateStatus方法 - 在HrmAppropriationReqServiceImpl中实现状态更新的具体逻辑
This commit is contained in:
@@ -26,6 +26,11 @@ public interface IHrmAppropriationReqService {
|
||||
Boolean updateByBo(HrmAppropriationReqBo bo);
|
||||
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
*状态更新(draft/running/approved/rejected/canceled)
|
||||
*/
|
||||
Boolean updateStatus(Long bizId, String status);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -4,10 +4,12 @@ import com.ruoyi.hrm.domain.HrmLeaveReq;
|
||||
import com.ruoyi.hrm.domain.HrmReimburseReq;
|
||||
import com.ruoyi.hrm.domain.HrmTravelReq;
|
||||
import com.ruoyi.hrm.domain.HrmSealReq;
|
||||
import com.ruoyi.hrm.domain.HrmAppropriationReq;
|
||||
import com.ruoyi.hrm.mapper.HrmLeaveReqMapper;
|
||||
import com.ruoyi.hrm.mapper.HrmReimburseReqMapper;
|
||||
import com.ruoyi.hrm.mapper.HrmTravelReqMapper;
|
||||
import com.ruoyi.hrm.mapper.HrmSealReqMapper;
|
||||
import com.ruoyi.hrm.mapper.HrmAppropriationReqMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -23,6 +25,7 @@ public class BizStatusSyncHelper {
|
||||
private final HrmTravelReqMapper travelReqMapper;
|
||||
private final HrmSealReqMapper sealReqMapper;
|
||||
private final HrmReimburseReqMapper reimburseReqMapper;
|
||||
private final HrmAppropriationReqMapper appropriationReqMapper;
|
||||
|
||||
public void setBizApproved(String bizType, Long bizId) {
|
||||
if (bizType == null || bizId == null) return;
|
||||
@@ -46,6 +49,11 @@ public class BizStatusSyncHelper {
|
||||
u.setBizId(bizId);
|
||||
u.setStatus("approved");
|
||||
reimburseReqMapper.updateById(u);
|
||||
} else if ("appropriation".equalsIgnoreCase(bizType)) {
|
||||
HrmAppropriationReq u = new HrmAppropriationReq();
|
||||
u.setBizId(bizId);
|
||||
u.setStatus("approved");
|
||||
appropriationReqMapper.updateById(u);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,6 +79,11 @@ public class BizStatusSyncHelper {
|
||||
u.setBizId(bizId);
|
||||
u.setStatus("pending");
|
||||
reimburseReqMapper.updateById(u);
|
||||
} else if ("appropriation".equalsIgnoreCase(bizType)) {
|
||||
HrmAppropriationReq u = new HrmAppropriationReq();
|
||||
u.setBizId(bizId);
|
||||
u.setStatus("pending");
|
||||
appropriationReqMapper.updateById(u);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,6 +109,11 @@ public class BizStatusSyncHelper {
|
||||
u.setBizId(bizId);
|
||||
u.setStatus("rejected");
|
||||
reimburseReqMapper.updateById(u);
|
||||
} else if ("appropriation".equalsIgnoreCase(bizType)) {
|
||||
HrmAppropriationReq u = new HrmAppropriationReq();
|
||||
u.setBizId(bizId);
|
||||
u.setStatus("rejected");
|
||||
appropriationReqMapper.updateById(u);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,6 +116,15 @@ public class HrmAppropriationReqServiceImpl implements IHrmAppropriationReqServi
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateStatus(Long bizId, String status) {
|
||||
HrmAppropriationReq req = new HrmAppropriationReq();
|
||||
req.setBizId(bizId);
|
||||
req.setStatus(status);
|
||||
return baseMapper.updateById(req) > 0;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private LambdaQueryWrapper<HrmAppropriationReq> buildQueryWrapper(HrmAppropriationReqBo bo) {
|
||||
LambdaQueryWrapper<HrmAppropriationReq> lqw = Wrappers.lambdaQuery();
|
||||
|
||||
@@ -37,11 +37,12 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
||||
private final FlowAssigneeHelper assigneeHelper;
|
||||
private final BizStatusSyncHelper bizStatusSyncHelper;
|
||||
|
||||
// 注入四个业务Mapper
|
||||
// 注入五个业务Mapper
|
||||
private final HrmLeaveReqMapper leaveReqMapper;
|
||||
private final HrmTravelReqMapper travelReqMapper;
|
||||
private final HrmSealReqMapper sealReqMapper;
|
||||
private final HrmReimburseReqMapper reimburseReqMapper;
|
||||
private final HrmAppropriationReqMapper appropriationReqMapper;
|
||||
private final ObjectMapper objectMapper; // Spring Boot 默认提供
|
||||
private final UserService userService;
|
||||
|
||||
@@ -98,6 +99,9 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
||||
case "reimburse":
|
||||
reimburseReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("reimburse_" + d.getBizId(), d));
|
||||
break;
|
||||
case "appropriation":
|
||||
appropriationReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("appropriation_" + d.getBizId(), d));
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user