|
|
@@ -0,0 +1,49 @@
|
|
|
+package com.common.workflow.service.activiti.contractDailyEvaluationListener;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.common.workflow.service.client.FeignClient;
|
|
|
+import com.common.workflow.service.dto.ApproveInfoDTO;
|
|
|
+import com.common.workflow.service.dto.ApproveParamsDTO;
|
|
|
+import com.common.workflow.service.util.HttpRequest;
|
|
|
+import com.fasterxml.jackson.databind.util.JSONPObject;
|
|
|
+import feign.Feign;
|
|
|
+import feign.jackson.JacksonDecoder;
|
|
|
+import feign.jackson.JacksonEncoder;
|
|
|
+import org.activiti.engine.ActivitiException;
|
|
|
+import org.activiti.engine.delegate.DelegateTask;
|
|
|
+import org.activiti.engine.delegate.TaskListener;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.Arrays;
|
|
|
+
|
|
|
+@Component("evaluatePreThirdTrialService")
|
|
|
+public class EvaluatePreThirdTrialService implements TaskListener {
|
|
|
+ // 业务处室接收分办
|
|
|
+ @Override
|
|
|
+ public void notify(DelegateTask delegateTask) {
|
|
|
+ String callbackUrl = delegateTask.getVariable("callbackUrl").toString();
|
|
|
+ String businessKey = delegateTask.getVariable("businessKey").toString();
|
|
|
+ ApproveParamsDTO approveParams = new ApproveParamsDTO();
|
|
|
+ approveParams.setBusinessKey(businessKey);
|
|
|
+ ApproveInfoDTO approveInfo = null;
|
|
|
+ String approveInfoJson = "";
|
|
|
+ if (callbackUrl.length() > 0) {
|
|
|
+ FeignClient client = Feign.builder()
|
|
|
+ .decoder(new JacksonDecoder())
|
|
|
+ .encoder(new JacksonEncoder())
|
|
|
+ .target(FeignClient.class, callbackUrl);
|
|
|
+ approveInfo = client.getEvaluatePreThirdTrail(approveParams);
|
|
|
+ // approveInfoJson = HttpRequest.sendGet(approveUrl, "businessKey=" + businessKey);
|
|
|
+ // approveInfo = (ApproveInfoDTO) JSONObject.parse(approveInfoJson);
|
|
|
+ } else {
|
|
|
+ throw new ActivitiException("无回调地址,请联系管理员!");
|
|
|
+ }
|
|
|
+ if (approveInfo.getUsers().length() <= 0) {
|
|
|
+ throw new ActivitiException("未找到审核用户,请联系管理员!");
|
|
|
+ }
|
|
|
+ System.out.println("合同日常评审 获取业务处室接收分办审批人: " + approveInfo.getUsers());
|
|
|
+ delegateTask.setVariable("users", approveInfo.getUsers());
|
|
|
+ delegateTask.setVariableLocal("users", approveInfo.getUsers());
|
|
|
+ delegateTask.addCandidateUsers(Arrays.asList(approveInfo.getUsers().split(",")));
|
|
|
+ }
|
|
|
+}
|