PromotionApplyFlow.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package com.fjhx.oa.flow;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.fjhx.common.enums.FlowStatusEnum1;
  5. import com.fjhx.flow.core.FlowDelegate;
  6. import com.fjhx.flow.enums.FlowStatusEnum;
  7. import com.fjhx.oa.entity.promotion.dto.PromotionApplyDto;
  8. import com.fjhx.oa.entity.promotion.po.PromotionApply;
  9. import com.fjhx.oa.entity.user.dto.UserSalaryDto;
  10. import com.fjhx.oa.entity.user.vo.UserSalaryVo;
  11. import com.fjhx.oa.service.promotion.PromotionApplyService;
  12. import com.fjhx.oa.service.user.UserSalaryService;
  13. import com.ruoyi.common.utils.SecurityUtils;
  14. import org.springframework.stereotype.Component;
  15. import javax.annotation.Resource;
  16. @Component
  17. public class PromotionApplyFlow extends FlowDelegate {
  18. @Resource
  19. private PromotionApplyService promotionApplyService;
  20. @Resource
  21. private UserSalaryService userSalaryService;
  22. @Override
  23. public String getFlowKey() {
  24. return "promotion_apply_flow";
  25. }
  26. @Override
  27. public Long start(Long flowId, JSONObject submitData) {
  28. PromotionApplyDto dto = submitData.toJavaObject(PromotionApplyDto.class);
  29. dto.setFlowId(flowId);
  30. dto.setStatus(FlowStatusEnum1.UNDER_REVIEW.getKey());
  31. dto.setUserId(SecurityUtils.getUserId());
  32. //回填用户名
  33. String nickName = SecurityUtils.getLoginUser().getUser().getNickName();
  34. submitData.put("userName", nickName);
  35. promotionApplyService.saveOrUpdate(dto);
  36. return dto.getId();
  37. }
  38. @Override
  39. public void reject(Long flowId, Long businessId, FlowStatusEnum flowStatus) {
  40. promotionApplyService.update(q -> q
  41. .eq(PromotionApply::getId, businessId)
  42. .set(PromotionApply::getStatus, FlowStatusEnum1.REJECT.getKey())
  43. );
  44. }
  45. @Override
  46. public void cancellation(Long flowId, Long businessId, FlowStatusEnum flowStatus) {
  47. promotionApplyService.update(q -> q
  48. .eq(PromotionApply::getId, businessId)
  49. .set(PromotionApply::getStatus, FlowStatusEnum1.CANCELLATION.getKey())
  50. );
  51. }
  52. @Override
  53. public void end(Long flowId, Long businessId, JSONObject submitData) {
  54. PromotionApply byId = promotionApplyService.getById(businessId);
  55. promotionApplyService.update(q -> q
  56. .eq(PromotionApply::getId, businessId)
  57. .set(PromotionApply::getStatus, FlowStatusEnum1.PASS.getKey())
  58. );
  59. //更新用户薪资
  60. UserSalaryVo detail = userSalaryService.detail(byId.getCreateUser());
  61. UserSalaryDto userSalaryManageDto = BeanUtil.copyProperties(detail, UserSalaryDto.class);
  62. userSalaryManageDto.setEmployeeType(byId.getEmployeeType());
  63. userSalaryManageDto.setFullTimeDate(byId.getPromotionDate());
  64. userSalaryManageDto.setEffectiveDate(byId.getPromotionDate());
  65. userSalaryService.edit(userSalaryManageDto);
  66. }
  67. }