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 updateByBo(HrmAppropriationReqBo bo);
|
||||||
|
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
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.HrmReimburseReq;
|
||||||
import com.ruoyi.hrm.domain.HrmTravelReq;
|
import com.ruoyi.hrm.domain.HrmTravelReq;
|
||||||
import com.ruoyi.hrm.domain.HrmSealReq;
|
import com.ruoyi.hrm.domain.HrmSealReq;
|
||||||
|
import com.ruoyi.hrm.domain.HrmAppropriationReq;
|
||||||
import com.ruoyi.hrm.mapper.HrmLeaveReqMapper;
|
import com.ruoyi.hrm.mapper.HrmLeaveReqMapper;
|
||||||
import com.ruoyi.hrm.mapper.HrmReimburseReqMapper;
|
import com.ruoyi.hrm.mapper.HrmReimburseReqMapper;
|
||||||
import com.ruoyi.hrm.mapper.HrmTravelReqMapper;
|
import com.ruoyi.hrm.mapper.HrmTravelReqMapper;
|
||||||
import com.ruoyi.hrm.mapper.HrmSealReqMapper;
|
import com.ruoyi.hrm.mapper.HrmSealReqMapper;
|
||||||
|
import com.ruoyi.hrm.mapper.HrmAppropriationReqMapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@@ -23,6 +25,7 @@ public class BizStatusSyncHelper {
|
|||||||
private final HrmTravelReqMapper travelReqMapper;
|
private final HrmTravelReqMapper travelReqMapper;
|
||||||
private final HrmSealReqMapper sealReqMapper;
|
private final HrmSealReqMapper sealReqMapper;
|
||||||
private final HrmReimburseReqMapper reimburseReqMapper;
|
private final HrmReimburseReqMapper reimburseReqMapper;
|
||||||
|
private final HrmAppropriationReqMapper appropriationReqMapper;
|
||||||
|
|
||||||
public void setBizApproved(String bizType, Long bizId) {
|
public void setBizApproved(String bizType, Long bizId) {
|
||||||
if (bizType == null || bizId == null) return;
|
if (bizType == null || bizId == null) return;
|
||||||
@@ -46,6 +49,11 @@ public class BizStatusSyncHelper {
|
|||||||
u.setBizId(bizId);
|
u.setBizId(bizId);
|
||||||
u.setStatus("approved");
|
u.setStatus("approved");
|
||||||
reimburseReqMapper.updateById(u);
|
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.setBizId(bizId);
|
||||||
u.setStatus("pending");
|
u.setStatus("pending");
|
||||||
reimburseReqMapper.updateById(u);
|
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.setBizId(bizId);
|
||||||
u.setStatus("rejected");
|
u.setStatus("rejected");
|
||||||
reimburseReqMapper.updateById(u);
|
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;
|
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")
|
@SuppressWarnings("unused")
|
||||||
private LambdaQueryWrapper<HrmAppropriationReq> buildQueryWrapper(HrmAppropriationReqBo bo) {
|
private LambdaQueryWrapper<HrmAppropriationReq> buildQueryWrapper(HrmAppropriationReqBo bo) {
|
||||||
LambdaQueryWrapper<HrmAppropriationReq> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<HrmAppropriationReq> lqw = Wrappers.lambdaQuery();
|
||||||
|
|||||||
@@ -37,11 +37,12 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
private final FlowAssigneeHelper assigneeHelper;
|
private final FlowAssigneeHelper assigneeHelper;
|
||||||
private final BizStatusSyncHelper bizStatusSyncHelper;
|
private final BizStatusSyncHelper bizStatusSyncHelper;
|
||||||
|
|
||||||
// 注入四个业务Mapper
|
// 注入五个业务Mapper
|
||||||
private final HrmLeaveReqMapper leaveReqMapper;
|
private final HrmLeaveReqMapper leaveReqMapper;
|
||||||
private final HrmTravelReqMapper travelReqMapper;
|
private final HrmTravelReqMapper travelReqMapper;
|
||||||
private final HrmSealReqMapper sealReqMapper;
|
private final HrmSealReqMapper sealReqMapper;
|
||||||
private final HrmReimburseReqMapper reimburseReqMapper;
|
private final HrmReimburseReqMapper reimburseReqMapper;
|
||||||
|
private final HrmAppropriationReqMapper appropriationReqMapper;
|
||||||
private final ObjectMapper objectMapper; // Spring Boot 默认提供
|
private final ObjectMapper objectMapper; // Spring Boot 默认提供
|
||||||
private final UserService userService;
|
private final UserService userService;
|
||||||
|
|
||||||
@@ -98,6 +99,9 @@ public class HrmFlowTaskServiceImpl implements IHrmFlowTaskService {
|
|||||||
case "reimburse":
|
case "reimburse":
|
||||||
reimburseReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("reimburse_" + d.getBizId(), d));
|
reimburseReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("reimburse_" + d.getBizId(), d));
|
||||||
break;
|
break;
|
||||||
|
case "appropriation":
|
||||||
|
appropriationReqMapper.selectBatchIds(bizIds).forEach(d -> bizDataMap.put("appropriation_" + d.getBizId(), d));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user