package com.fjhx.oa.flow; import com.alibaba.fastjson.JSONObject; import com.fjhx.common.enums.CodingRuleEnum; import com.fjhx.common.enums.FlowStatusEnum1; import com.fjhx.common.service.coding.CodingRuleService; import com.fjhx.flow.core.FlowDelegate; import com.fjhx.flow.enums.FlowStatusEnum; import com.fjhx.oa.entity.education.dto.EducationSubsidyDto; import com.fjhx.oa.entity.education.po.EducationSubsidy; import com.fjhx.oa.service.education.EducationSubsidyService; import com.ruoyi.common.core.domain.BasePo; import com.ruoyi.common.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.Date; @Component public class EducationSubsidyFlow extends FlowDelegate { @Autowired private EducationSubsidyService educationSubsidyService; @Autowired private CodingRuleService codingRuleService; @Override public String getFlowKey() { return "education_subsidy_flow"; } @Override public Long start(Long flowId, JSONObject submitData) { EducationSubsidyDto dto = submitData.toJavaObject(EducationSubsidyDto.class); dto.setFlowId(flowId); codingRuleService.createCode(CodingRuleEnum.EDUCATION_SUBSIDY_FLOW.getKey(), null); educationSubsidyService.addOrEdit(dto); return dto.getId(); } @Override public void end(Long flowId, Long businessId, JSONObject submitData) { educationSubsidyService.update(q -> q .eq(EducationSubsidy::getId, businessId) .set(EducationSubsidy::getStatus, FlowStatusEnum1.REJECT.getKey()) .set(BasePo::getUpdateTime, new Date()) .set(BasePo::getUpdateUser, SecurityUtils.getUserId()) ); } @Override public void relaunch(Long flowId, Long businessId, FlowStatusEnum flowStatus, JSONObject submitData) { start(flowId, submitData); } @Override public void reject(Long flowId, Long businessId, FlowStatusEnum flowStatus) { educationSubsidyService.update(q -> q .eq(EducationSubsidy::getId, businessId) .set(EducationSubsidy::getStatus, FlowStatusEnum1.REJECT.getKey()) .set(BasePo::getUpdateTime, new Date()) .set(BasePo::getUpdateUser, SecurityUtils.getUserId()) ); } @Override public void cancellation(Long flowId, Long businessId, FlowStatusEnum flowStatus) { educationSubsidyService.cancellation(businessId); } }