From 9e8e9eea6b0c4017c47b1774d5de139a8ae0e9bb Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Fri, 10 Sep 2021 14:43:45 +0800 Subject: [PATCH 01/17] feat: There is no way the --- pom.xml | 23 ++ .../business_oa/common/WebServiceConf.java | 66 ++++ .../business_oa/config/OkHttpConfig.java | 69 ++++ .../exception/CommonException.java | 12 + .../wkflow/business_oa/utils/OkHttpUtil.java | 322 ++++++++++++++++++ .../controller/WebServiceOAController.java | 69 ++++ .../service/WebServiceOAService.java | 10 + .../service/impl/WebServiceOAServiceImpl.java | 94 +++++ .../webService/todoContent/HEAD.java | 19 ++ .../webService/todoContent/JsonSend.java | 19 ++ .../todoContent/NotifyTodoSendContext.java | 67 ++++ .../todoResult/NotifyTodoAppResult.java | 22 ++ .../ydw/bat/wkflow/config/SwaggerConfig.java | 7 + 13 files changed, 799 insertions(+) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/common/WebServiceConf.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/config/OkHttpConfig.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/exception/CommonException.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/HEAD.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/JsonSend.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java diff --git a/pom.xml b/pom.xml index a2a262c2..72a353b2 100644 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,29 @@ org.springframework.boot spring-boot-starter-web + + + org.apache.cxf + cxf-spring-boot-starter-jaxws + 3.3.0 + + + org.apache.cxf + cxf-rt-transports-http + 3.3.0 + + + org.apache.cxf + cxf-rt-features-logging + 3.3.0 + test + + + + com.squareup.okhttp3 + okhttp + 3.6.0 + org.projectlombok diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/common/WebServiceConf.java b/src/main/java/com/ydw/bat/wkflow/business_oa/common/WebServiceConf.java new file mode 100644 index 00000000..a3f179e8 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/common/WebServiceConf.java @@ -0,0 +1,66 @@ +package com.ydw.bat.wkflow.business_oa.common; + +import com.ydw.bat.wkflow.business_oa.exception.CommonException; +import org.apache.commons.lang3.StringUtils; +import org.apache.cxf.endpoint.Client; +import org.apache.cxf.frontend.ClientProxy; +import org.apache.cxf.interceptor.LoggingInInterceptor; +import org.apache.cxf.interceptor.LoggingOutInterceptor; +import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; +import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; +import org.apache.cxf.transport.http.HTTPConduit; +import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; +import org.springframework.stereotype.Service; + +import java.util.ResourceBundle; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 14:40 + */ + +@Service +public class WebServiceConf { + + /** + * 调用webservice 接口 + * + * @param method 调用方法名 + * @param params 接口传入参数 + * @return + */ + public static synchronized Object[] invoke(String wsdlUrl, String method, Object[] params) throws Exception { + Object[] objectArr = null; + //创建动态客户端 + JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory + .newInstance(); + Client client = dcf.createClient(wsdlUrl); + try { + //如果返回的address不是远程服务地址,重新制定地址 + //添加发送请求拦截器 + if (StringUtils.isEmpty(method)) { + throw new CommonException("cxf 调用webservice 执行方法名缺失:method 未传入"); + } + + + // cxf 调用webservice method paramsStr + HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); // 策略 + httpClientPolicy.setConnectionTimeout(36000); //连接超时 + httpClientPolicy.setAllowChunking(false); + httpClientPolicy.setReceiveTimeout(10000); //接收超时 + HTTPConduit http = (HTTPConduit) client.getConduit(); + http.setClient(httpClientPolicy); + + + objectArr = client.invoke(method, params); + + } catch (Exception e) { + throw new CommonException("cxf 调用webservice 执行错误:" + e.toString()); + }finally { + client.close(); + } + + return objectArr; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/config/OkHttpConfig.java b/src/main/java/com/ydw/bat/wkflow/business_oa/config/OkHttpConfig.java new file mode 100644 index 00000000..cd3db618 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/config/OkHttpConfig.java @@ -0,0 +1,69 @@ +package com.ydw.bat.wkflow.business_oa.config; + +import okhttp3.ConnectionPool; +import okhttp3.OkHttpClient; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.concurrent.TimeUnit; + +@Configuration +public class OkHttpConfig { + + @Bean + public X509TrustManager x509TrustManager() { + return new X509TrustManager() { + @Override + public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { + } + @Override + public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { + } + @Override + public X509Certificate[] getAcceptedIssuers() { + return new X509Certificate[0]; + } + }; + } + @Bean + public SSLSocketFactory sslSocketFactory() { + try { + //信任任何链接 + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(null, new TrustManager[]{x509TrustManager()}, new SecureRandom()); + return sslContext.getSocketFactory(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (KeyManagementException e) { + e.printStackTrace(); + } + return null; + } + /** + * Create a new connection pool with tuning parameters appropriate for a single-user application. + * The tuning parameters in this pool are subject to change in future OkHttp releases. Currently + */ + @Bean + public ConnectionPool pool() { + return new ConnectionPool(200, 5, TimeUnit.MINUTES); + } + @Bean + public OkHttpClient okHttpClient() { + return new OkHttpClient.Builder() + .sslSocketFactory(sslSocketFactory(), x509TrustManager()) + .retryOnConnectionFailure(false)//是否开启缓存 + .connectionPool(pool())//连接池 + .connectTimeout(10L, TimeUnit.SECONDS) + .readTimeout(10L, TimeUnit.SECONDS) + .build(); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/exception/CommonException.java b/src/main/java/com/ydw/bat/wkflow/business_oa/exception/CommonException.java new file mode 100644 index 00000000..f159a030 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/exception/CommonException.java @@ -0,0 +1,12 @@ +package com.ydw.bat.wkflow.business_oa.exception; + +/** + * 自定义简单异常 + * + */ +public class CommonException extends RuntimeException { + + public CommonException(String message) { + super(message); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java new file mode 100644 index 00000000..219cd67b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java @@ -0,0 +1,322 @@ +package com.ydw.bat.wkflow.business_oa.utils; + +import okhttp3.*; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.File; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +@Component +public class OkHttpUtil { + private static final Logger logger = LoggerFactory.getLogger(OkHttpUtil.class); + + @Autowired + private OkHttpClient okHttpClient; + /** + * get + * + * @param url 请求的url + * @param queries 请求的参数,在浏览器?后面的数据,没有可以传null + * @return + */ + public String get(String url, Map queries, Map headerParams) { + String responseBody = ""; + StringBuffer sb = new StringBuffer(url); + if (queries != null && queries.keySet().size() > 0) { + boolean firstFlag = true; + Iterator iterator = queries.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry entry = (Map.Entry) iterator.next(); + if (firstFlag) { + sb.append("?" + entry.getKey() + "=" + entry.getValue()); + firstFlag = false; + } else { + sb.append("&" + entry.getKey() + "=" + entry.getValue()); + } + } + } + + Request.Builder requestBuilder = new Request.Builder().url(url); + + if(headerParams != null){ + for(Map.Entry entry : headerParams.entrySet()) { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + } + + + Request request = requestBuilder.url(sb.toString()) + .build(); + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + int status = response.code(); + if (status == 200) { + return response.body().string(); + } + } catch (Exception e) { + logger.error("okhttp put error >> ex = {}", ExceptionUtils.getStackTrace(e)); + } finally { + if (response != null) { + response.close(); + } + } + return responseBody; + } + /** + * post + * + * @param url 请求的url + * @param params post form 提交的参数 + * @return + */ + public String post(String url, Map params, Map headerParams) { + String responseBody = ""; + FormBody.Builder builder = new FormBody.Builder(); + //添加参数 + if (params != null && params.keySet().size() > 0) { + for (String key : params.keySet()) { + builder.add(key, params.get(key)); + } + } + + Request.Builder requestBuilder = new Request.Builder().url(url); + + for(Map.Entry entry : headerParams.entrySet()) { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + + Request request = requestBuilder.post(builder.build()).build(); + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + int status = response.code(); + if (status == 200) { + return response.body().string(); + } + } catch (Exception e) { + logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e)); + } finally { + if (response != null) { + response.close(); + } + } + return responseBody; + } + + /** + 47 + * 同步GET请求 带Authorization认证 + 48 + */ + + public String getAuthorization(String get_url, String json, String[] auth_base){ + + + final String credential = Credentials.basic(auth_base[0], auth_base[1]); + String result = ""; + String data_url = get_url + "?" + json; + Request request = new Request.Builder() + .url(data_url) + .header("Authorization", credential) + .get() + .build(); + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + int status = response.code(); + if (status == 200) { + return response.body().string(); + } + } catch (Exception e) { + logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e)); + } finally { + if (response != null) { + response.close(); + } + } + return result; + + } + + /** + * Post请求 带Authorization认证 + * */ + public String postAuthorization(String get_url, HashMap getData, String[] authBase){ + + String result = ""; + + final String credential = Credentials.basic(authBase[0], authBase[1]); + + RequestBody fromBody = generateParametersForPost(getData).build(); + + Request request = new Request.Builder() + .url(get_url) + .header("Authorization", credential) + .post(fromBody) + .build(); + + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + int status = response.code(); + if (status == 200) { + return response.body().string(); + } + } catch (Exception e) { + logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e)); + } finally { + if (response != null) { + response.close(); + } + } + return result; + + } + + //拼接参数 + private static String generateParameters(HashMap parameters) { + + String urlAttachment = ""; + + if(parameters.size()>0){ + + urlAttachment = "?"; + + Object[] keys = parameters.keySet().toArray(); + + for(Object key : keys) + + urlAttachment += key.toString() + "=" + parameters.get(key).toString() + "&"; + + urlAttachment = urlAttachment.substring(0,urlAttachment.length()-1); + } + + return urlAttachment; + } + + //拼接参数用于POST请求 + + private static FormBody.Builder generateParametersForPost(HashMap parameters) { + + FormBody.Builder builder = new FormBody.Builder(); + + if(parameters.size()>0){ + Object[] keys = parameters.keySet().toArray(); + + for(Object key : keys){ + Object ff = parameters.get(key); + String aa = parameters.get(key).toString(); + + builder.add(key.toString(),parameters.get(key).toString()); + } + } + + return builder; + } + + /** + * 发送私密API请求 + * + * @paramget_url请求地址 + * @paramget_data 请求参数列表 + * @return 返回JSON数据 + */ + private String auth_get(){ + String result = ""; + String api_key = "apikey"; + String api_secret = "apisecret"; + //认证信息 + String[] baseAuth = {api_key,api_secret}; + //请求的URL的参数 + HashMap get_data = new HashMap<>(); + get_data.put("page","1"); //page参数 + get_data.put("name","test"); //name参数 +// result = getAuthorization("http://www.superl.org/page-about.html", get_data, baseAuth); + return result; + } + + /** + * post + * + * @param url 请求的url + * @param headerParams post form 提交的参数 + * @return + */ + public String postForJson(String url, String json, Map headerParams) { + RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), json); + String responseBody = ""; + Request.Builder requestBuilder = new Request.Builder().url(url); + for(Map.Entry entry : headerParams.entrySet()) { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + Request request = requestBuilder.post(requestBody).build(); + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + int status = response.code(); + if (status == 200) { + return response.body().string(); + } + } catch (Exception e) { + logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e)); + } finally { + if (response != null) { + response.close(); + } + } + return responseBody; + } + + /** + * post 上传文件 + * + * @param url + * @param params + * @param fileType + * @return + */ + public String postFile(String url, Map params, String fileType, Map headerParams) { + String responseBody = ""; + MultipartBody.Builder builder = new MultipartBody.Builder(); + //添加参数 + if (params != null && params.keySet().size() > 0) { + for (String key : params.keySet()) { + if (params.get(key) instanceof File) { + File file = (File) params.get(key); + builder.addFormDataPart(key, file.getName(), RequestBody.create(MediaType.parse(fileType), file)); + continue; + } + builder.addFormDataPart(key, params.get(key).toString()); + } + } + + Request.Builder requestBuilder = new Request.Builder(); + for(Map.Entry entry : headerParams.entrySet()) { + requestBuilder.addHeader(entry.getKey(), entry.getValue()); + } + + Request request = requestBuilder.url(url).post(builder.build()).build(); + Response response = null; + try { + response = okHttpClient.newCall(request).execute(); + int status = response.code(); + if (status == 200) { + return response.body().string(); + } + } catch (Exception e) { + logger.error("okhttp postFile error >> ex = {}", ExceptionUtils.getStackTrace(e)); + } finally { + if (response != null) { + response.close(); + } + } + return responseBody; + } +} \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java new file mode 100644 index 00000000..cdffd907 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java @@ -0,0 +1,69 @@ +package com.ydw.bat.wkflow.business_oa.webService.controller; + +import java.text.SimpleDateFormat; +import java.util.*; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.tmsps.fk.common.util.JsonUtil; +import com.ydw.bat.wkflow.business_activiti.dto.*; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; +import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto; +import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService; +import org.activiti.engine.*; +import org.activiti.engine.history.*; +import org.activiti.engine.repository.ProcessDefinition; +import org.activiti.engine.runtime.ProcessInstance; +import org.activiti.engine.runtime.ProcessInstanceQuery; +import org.activiti.engine.task.NativeTaskQuery; +import org.activiti.engine.task.Task; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import com.tmsps.fk.common.base.action.BaseAction; +import com.tmsps.fk.common.util.ChkUtil; +import com.tmsps.fk.common.wrapper.WrapMapper; +import com.tmsps.fk.common.wrapper.Wrapper; +import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; +import com.ydw.bat.wkflow.util.activiti.ActivitiTools; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; + +@Api(description = "WebService管理") +@RestController +public class WebServiceOAController extends BaseAction { + + @Autowired + private WebServiceOAService webServiceOAService; + + @ApiOperation(value = "发送待办接口(") + @PostMapping("/sendTodo") + public NotifyTodoAppResult sendTodo(){ + return webServiceOAService.sendTodo(new NotifyTodoSendContext()); + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java new file mode 100644 index 00000000..a465bdb6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java @@ -0,0 +1,10 @@ +package com.ydw.bat.wkflow.business_oa.webService.service; + +import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; + +public interface WebServiceOAService { + + NotifyTodoAppResult sendTodo(NotifyTodoSendContext notifyTodoSendContext); + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java new file mode 100644 index 00000000..4896c4c2 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -0,0 +1,94 @@ +package com.ydw.bat.wkflow.business_oa.webService.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.ydw.bat.wkflow.business_oa.common.WebServiceConf; +import com.ydw.bat.wkflow.business_oa.utils.OkHttpUtil; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.business_oa.webService.todoContent.HEAD; +import com.ydw.bat.wkflow.business_oa.webService.todoContent.JsonSend; +import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; +import net.sf.json.JSONArray; +import okhttp3.Credentials; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; + +import static java.awt.SystemColor.info; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 15:02 + */ +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class WebServiceOAServiceImpl implements WebServiceOAService { + private static final Logger log = LoggerFactory.getLogger(WebServiceOAServiceImpl.class); + + private String sonar = "sonar"; + private String info = "info:{},{}"; + private String errMes = "异常信息:"; + + private String api_key = "OA"; + private String api_secret = "TEST_oa201611241710"; + //认证信息 + private String[] baseAuth = {api_key,api_secret}; + private String credentials = ""; + + @Autowired + private OkHttpUtil okHttpUtil; + + public WebServiceOAServiceImpl(){ + credentials = Credentials.basic(api_key,api_secret); + } + + @Override + public NotifyTodoAppResult sendTodo(NotifyTodoSendContext notifyTodoSendContext){ + NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult(); + String result = ""; + SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + try { + HashMap map = new HashMap<>(); + JsonSend jsonSend = new JsonSend(); + HEAD head = new HEAD(); + head.setACCOUNT("OA"); + head.setBIZTRANSACTIONID("SYC_161320210206133219"); + head.setCONSUMER("PCMS"); + head.setCOUNT("1"); + head.setPASSWORD("TEST_oa201611241710"); + head.setSRVLEVEL("1"); + List list = new ArrayList<>(); + list.add(notifyTodoSendContext); + jsonSend.setHEAD(head); + jsonSend.setLIST(list); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); + Map mapCtr = new TreeMap<>(); + mapCtr.put("Authorization",credentials); + log.info("处理完文件数据,开始请求发送待办接口数据:【"+sdf.format(new Date())+"】"); + result = okHttpUtil.postForJson("http://172.24.12.64:85/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1019_SendTodo_PS",json.toString(),mapCtr); + log.info("请求发送待办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); + JSONObject jsonObject = JSONObject.parseObject(result); + if(!result.contains("请求成功")){ + log.error("请求出现异常:"+result); + notifyTodoAppResult.setReturnSate(jsonObject.getString("SIGN")); + notifyTodoAppResult.setMessage(jsonObject.getString("MASSAGE")); + }else { + log.info("okHttp请求成功结果:"+result); + notifyTodoAppResult.setReturnSate(jsonObject.getString("SIGN")); + notifyTodoAppResult.setMessage(jsonObject.getString("MASSAGE")); + } + + } catch (Exception e) { + log.error(errMes, e.getMessage()); + } + + return notifyTodoAppResult; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/HEAD.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/HEAD.java new file mode 100644 index 00000000..6ca06af6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/HEAD.java @@ -0,0 +1,19 @@ +package com.ydw.bat.wkflow.business_oa.webService.todoContent; + +import lombok.Data; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 17:12 + */ +@Data +public class HEAD { + + private String ACCOUNT; + private String BIZTRANSACTIONID; + private String CONSUMER; + private String COUNT; + private String PASSWORD; + private String SRVLEVEL; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/JsonSend.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/JsonSend.java new file mode 100644 index 00000000..cf83450c --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/JsonSend.java @@ -0,0 +1,19 @@ +package com.ydw.bat.wkflow.business_oa.webService.todoContent; + +import lombok.Data; + +import java.util.List; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 17:11 + */ +@Data +public class JsonSend { + + private HEAD HEAD; + + private List LIST; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java new file mode 100644 index 00000000..d30365a0 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java @@ -0,0 +1,67 @@ +package com.ydw.bat.wkflow.business_oa.webService.todoContent; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 15:05 + */ +@Data +public class NotifyTodoSendContext { + + @ApiModelProperty(value = "标识待办来源的系统") + private String appName; + + @ApiModelProperty(value = "标识待办来源的模块") + private String modelName; + + @ApiModelProperty(value = "标识待办在原系统唯一标识") + private String modelId; + + @ApiModelProperty(value = "待办标题") + private String subject; + + @ApiModelProperty(value = "对应待办的链接地址(全路径)") + private String link; + + @ApiModelProperty(value = "1:表示审批类待办 2:表示为通知类待办") + private String type; + + //用于区分同一文档下不同类型待办, 如:会议文档的抄送待办和与会人参加待办属于同一文档的不同类型的待办 + @ApiModelProperty(value = "待办关键字") + private String key; + + //待办附加标识 功能同"关键字",辅助区分不同类型的待办 + @ApiModelProperty(value = "参数1") + private String param1; + + //待办附加标识功能同"关键字",辅助区分不同类型的待办 + @ApiModelProperty(value = "参数2") + private String param2; + + //数据格式为JSON,格式描述请查看组织架构 + @ApiModelProperty(value = "待办对应接收人") + private String targets; + + @ApiModelProperty(value = "创建时间") + private String createTime; + + //数据格式为JSON,格式描述请查看组织架构 + @ApiModelProperty(value = "待办的创建者") + private String docCreator; + + @ApiModelProperty(value = "待办优先级。如:按紧急(1)、急(2)、一般(3)") + private String level; + + //数据格式为JSON,格式描述请查看组织架构 + @ApiModelProperty(value = "消息内容扩展") + private String extendContent; + + //备用参数,方便以后参数的扩展。数据格式为JSON,格式如:{ke + //y1:value1,key2:value2}。 + @ApiModelProperty(value = "扩展参数") + private String others; + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java new file mode 100644 index 00000000..5f15dc80 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java @@ -0,0 +1,22 @@ +package com.ydw.bat.wkflow.business_oa.webService.todoResult; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: TODO + * @author: super_liu + * @date: 2021年09月08日 15:23 + */ +@Data +public class NotifyTodoAppResult { + + @ApiModelProperty(value = "返回状态 0:表示未操作 1:表示操作失败 2:表示操作成功") + private String returnSate; + + @ApiModelProperty(value = "返回信息 " + + "返回状态值为0时,该值返回空 " + + "返回状态值为1时,该值错误信息 " + + "返回状态值为2时,该值返回空") + private String message; +} diff --git a/src/main/java/com/ydw/bat/wkflow/config/SwaggerConfig.java b/src/main/java/com/ydw/bat/wkflow/config/SwaggerConfig.java index 881d7ddd..cfd3d6ce 100644 --- a/src/main/java/com/ydw/bat/wkflow/config/SwaggerConfig.java +++ b/src/main/java/com/ydw/bat/wkflow/config/SwaggerConfig.java @@ -47,6 +47,13 @@ public class SwaggerConfig { .build().groupName("表单接口"); } + @Bean + public Docket webServiceApi() { + return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select() + .apis(RequestHandlerSelectors.basePackage("com.ydw.bat.wkflow.business_oa")).paths(allowPaths()) + .build().groupName("webService接口"); + } + private ApiInfo apiInfo() { Contact contact = new Contact("工作流系统", "http://localhost:17211/foton-bat-wkflow", null); return new ApiInfoBuilder().contact(contact).title("工作流系统 API").description("activiti接口及工作流相关业务接口") From 3566ae5a18dc7eabcf90775a207c01693fb413f9 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 12 Sep 2021 19:10:10 +0800 Subject: [PATCH 02/17] feat: There is no way the --- .../task/TodoTaskController.java | 60 +++++++++++++ .../controller/WebServiceOAController.java | 2 +- .../service/WebServiceOAService.java | 5 +- .../service/impl/WebServiceOAServiceImpl.java | 84 +++++++++++++++++-- .../todoContent/NotifyTodoSendContext.java | 5 ++ .../todoResult/NotifyTodoAppResult.java | 4 +- .../standardLibrary/ApplyApplicantAfter.java | 5 ++ .../standardLibrary/CountersignAfter.java | 5 ++ .../standardLibrary/SLApplicantAfter.java | 4 + 9 files changed, 161 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index cac015a5..15e5ae05 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -22,8 +22,13 @@ import com.alibaba.fastjson.JSONObject; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto; import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService; +import org.activiti.bpmn.model.BpmnModel; +import org.activiti.bpmn.model.FlowNode; import org.activiti.engine.*; import org.activiti.engine.history.*; import org.activiti.engine.repository.ProcessDefinition; @@ -83,6 +88,9 @@ public class TodoTaskController extends BaseAction { @Autowired private LawsUserInfoService lawsUserInfoService; + @Autowired + private WebServiceOAService webServiceOAService; + @ApiOperation(value = "我的待办任务列表") @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), @ApiImplicitParam(name = "current", value = "当前页"), @@ -308,6 +316,7 @@ public class TodoTaskController extends BaseAction { public Wrapper completeTaskByUserId(@RequestBody BusMes busMes) { logger.info("!!!!!!!!!!!!!TaskId!!!!!!!!!!!!!!!"+busMes.getTaskId()); logger.info("!!!!!!!!!!!!!!TaskIds!!!!!!!!!!!!!!"+busMes.getTaskIds()); + if (busMes.getTaskId() != null && !busMes.getTaskId().equals("")) { if (busMes.getTaskId().indexOf(",") > -1) { String taskIdsrc = busMes.getTaskId().substring(0, busMes.getTaskId().length() - 1); @@ -327,6 +336,9 @@ public class TodoTaskController extends BaseAction { formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); + //发送OA已办 + completeOA(task); + taskService.complete(busMes.getTaskId()); } return WrapMapper.ok(task.getProcessInstanceId()); @@ -347,11 +359,59 @@ public class TodoTaskController extends BaseAction { formSubmitDto.setForm(busMes.getJson()); formSubmitDto.setTask_id(taskId); formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); + //发送OA已办 + completeOA(task); + taskService.complete(taskId); } } return WrapMapper.ok(prcid); } +// +// if(notifyTodoAppResult != null){ +// if(notifyTodoAppResult.getSIGN().equals("0") && notifyTodoAppResult.getMASSAGE().equals("操作成功")){ +// +// }else { +// logger.error("SIGN: "+notifyTodoAppResult.getSIGN()+",MASSAGE: "+notifyTodoAppResult.getMASSAGE()); +// return WrapMapper.error("ESP 发送待办任务异常 :" +notifyTodoAppResult.getMASSAGE()); +// } +// }else { +// logger.error("--------------------ESP 发送待办任务异常----------------------"); +// } +// return WrapMapper.error("ESP 发送待办任务异常"); + } + + private void completeOA(Task task){ + logger.info("--------------------------ESP 发送已办任务----------------------------"); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + notifyTodoSendContext.setAppName("FOTON"); + notifyTodoSendContext.setCreateTime(sdf.format(new Date())); + + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("P_ID",task.getProcessInstanceId()); + queryWrapper1.eq("TASK_ID",task.getId()); + List list = iBusProcessNewService.list(queryWrapper1); + if(!list.isEmpty()){ + notifyTodoSendContext.setModelId(list.get(0).getId()); + notifyTodoSendContext.setModelName(task.getName()); + notifyTodoSendContext.setOptType("1"); + Map map = new HashMap<>(); + ResponseMessage byId = lawsUserInfoService.getById(task.getAssignee()); + map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); + JSONObject jsonLoginName = new JSONObject(map); + notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); + NotifyTodoAppResult notifyTodoAppResult = webServiceOAService.setTodoDone(notifyTodoSendContext); + if(notifyTodoAppResult != null){ + if(notifyTodoAppResult.getSIGN().equals("0") && notifyTodoAppResult.getMASSAGE().equals("操作成功")){ + logger.info("--------------------------成功发送 ESP 已办任务----------------------------"); + }else { + logger.error("ESP 发送待办任务异常 :" + "SIGN: "+notifyTodoAppResult.getSIGN()+",MASSAGE: "+notifyTodoAppResult.getMASSAGE()); + } + }else { + logger.error("--------------------ESP 发送待办任务异常----------------------"); + } + } } @ApiOperation(value = "查询流程编号", notes = "根据流程实例ID查询流程编号") diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java index cdffd907..82fdeb15 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java @@ -64,6 +64,6 @@ public class WebServiceOAController extends BaseAction { @ApiOperation(value = "发送待办接口(") @PostMapping("/sendTodo") public NotifyTodoAppResult sendTodo(){ - return webServiceOAService.sendTodo(new NotifyTodoSendContext()); + return webServiceOAService.sendTodo(new BusProcessNew()); } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java index a465bdb6..6972e3a3 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java @@ -1,10 +1,13 @@ package com.ydw.bat.wkflow.business_oa.webService.service; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; public interface WebServiceOAService { - NotifyTodoAppResult sendTodo(NotifyTodoSendContext notifyTodoSendContext); + NotifyTodoAppResult sendTodo(BusProcessNew busProcessNew); + + NotifyTodoAppResult setTodoDone(NotifyTodoSendContext notifyTodoSendContext); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java index 4896c4c2..ab97cc37 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -1,6 +1,10 @@ package com.ydw.bat.wkflow.business_oa.webService.service.impl; import com.alibaba.fastjson.JSONObject; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage; +import com.ydw.bat.wkflow.business_main.datas.entity.UserVO; import com.ydw.bat.wkflow.business_oa.common.WebServiceConf; import com.ydw.bat.wkflow.business_oa.utils.OkHttpUtil; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; @@ -13,6 +17,7 @@ import okhttp3.Credentials; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -45,17 +50,20 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { @Autowired private OkHttpUtil okHttpUtil; + @Autowired + private LawsUserInfoService lawsUserInfoService; + public WebServiceOAServiceImpl(){ credentials = Credentials.basic(api_key,api_secret); } @Override - public NotifyTodoAppResult sendTodo(NotifyTodoSendContext notifyTodoSendContext){ + @Async + public NotifyTodoAppResult setTodoDone(NotifyTodoSendContext notifyTodoSendContext){ NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult(); String result = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); try { - HashMap map = new HashMap<>(); JsonSend jsonSend = new JsonSend(); HEAD head = new HEAD(); head.setACCOUNT("OA"); @@ -71,18 +79,76 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); Map mapCtr = new TreeMap<>(); mapCtr.put("Authorization",credentials); + log.info("处理完文件数据,开始请求发送已办接口数据:【"+sdf.format(new Date())+"】"); + result = okHttpUtil.postForJson("http://172.24.12.64:85/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1021_SendNotifyTodo_PS",json.toString(),mapCtr); + log.info("请求发送已办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); + notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); +// JSONObject jsonObject = JSONObject.parseObject(result); + if(!result.contains("请求成功")){ + log.error("请求发送已办接口出现异常:"+result); + }else { + log.info("okHttp请求发送已办接口成功结果:"+result); + } + + } catch (Exception e) { + log.error(errMes, e.getMessage()); + } + + return notifyTodoAppResult; + } + + @Override + @Async + public NotifyTodoAppResult sendTodo(BusProcessNew busProcessNew){ + NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult(); + String result = ""; + SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + try { + JsonSend jsonSend = new JsonSend(); + HEAD head = new HEAD(); + head.setACCOUNT("OA"); + head.setBIZTRANSACTIONID("SYC_161320210206133219"); + head.setCONSUMER("PCMS"); + head.setCOUNT("1"); + head.setPASSWORD("TEST_oa201611241710"); + head.setSRVLEVEL("1"); + List list = new ArrayList<>(); + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + // 待办来源的系统 + notifyTodoSendContext.setAppName("FOTON"); + //创建时间 + notifyTodoSendContext.setCreateTime(sdf.format(new Date())); + // 待办在原系统唯一标识 + notifyTodoSendContext.setModelId(busProcessNew.getId()); + //模块名称 + notifyTodoSendContext.setModelName(busProcessNew.getTaskInfo()); + //标题 + notifyTodoSendContext.setSubject(busProcessNew.getPrcName()); + //地址 + notifyTodoSendContext.setLink("http://"); + //待办类型 + notifyTodoSendContext.setType("1"); + + Map map = new HashMap<>(); + ResponseMessage byId = lawsUserInfoService.getById(busProcessNew.getUserId()); + map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); + JSONObject jsonLoginName = new JSONObject(map); + notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); + list.add(notifyTodoSendContext); + jsonSend.setHEAD(head); + jsonSend.setLIST(list); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); + Map mapCtr = new TreeMap<>(); + mapCtr.put("Authorization",credentials); log.info("处理完文件数据,开始请求发送待办接口数据:【"+sdf.format(new Date())+"】"); result = okHttpUtil.postForJson("http://172.24.12.64:85/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1019_SendTodo_PS",json.toString(),mapCtr); log.info("请求发送待办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); - JSONObject jsonObject = JSONObject.parseObject(result); + notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); +// JSONObject jsonObject = JSONObject.parseObject(result); if(!result.contains("请求成功")){ - log.error("请求出现异常:"+result); - notifyTodoAppResult.setReturnSate(jsonObject.getString("SIGN")); - notifyTodoAppResult.setMessage(jsonObject.getString("MASSAGE")); + log.error("请求发送待办接口出现异常:"+result); }else { - log.info("okHttp请求成功结果:"+result); - notifyTodoAppResult.setReturnSate(jsonObject.getString("SIGN")); - notifyTodoAppResult.setMessage(jsonObject.getString("MASSAGE")); + log.info("okHttp请求发送待办接口成功结果:"+result); } } catch (Exception e) { diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java index d30365a0..f14d435e 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java @@ -64,4 +64,9 @@ public class NotifyTodoSendContext { @ApiModelProperty(value = "扩展参数") private String others; + // 1:表示设待办为已办操作 + //2:表示设置目标待办所属人为已办操作 + @ApiModelProperty(value = "操作类型") + private String optType; + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java index 5f15dc80..4f74362e 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java @@ -12,11 +12,11 @@ import lombok.Data; public class NotifyTodoAppResult { @ApiModelProperty(value = "返回状态 0:表示未操作 1:表示操作失败 2:表示操作成功") - private String returnSate; + private String SIGN; @ApiModelProperty(value = "返回信息 " + "返回状态值为0时,该值返回空 " + "返回状态值为1时,该值错误信息 " + "返回状态值为2时,该值返回空") - private String message; + private String MASSAGE; } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java index b934658d..3ecd3613 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java @@ -8,6 +8,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; @@ -27,6 +28,7 @@ public class ApplyApplicantAfter implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); @@ -101,6 +103,9 @@ public class ApplyApplicantAfter implements TaskListener{ busProcessNew.setUserId(nextUser); busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); + + // 发送 oa 待办 + oaService.sendTodo(busProcessNew); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java index f2452bba..048aff5f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java @@ -8,6 +8,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; @@ -26,6 +27,7 @@ public class CountersignAfter implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); + WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); @@ -100,6 +102,9 @@ public class CountersignAfter implements TaskListener{ busProcessNew.setUserId(nextUser); busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); + + // 发送 oa 待办 + oaService.sendTodo(busProcessNew); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java index f8f109db..c8662442 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java @@ -8,6 +8,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateTask; @@ -29,6 +30,7 @@ public class SLApplicantAfter implements TaskListener{ public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -125,6 +127,8 @@ public class SLApplicantAfter implements TaskListener{ busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); + // 发送 oa 待办 + oaService.sendTodo(busProcessNewNext); } } } From ca6bdcbee81bdbbef93424b34b53f979284d29f8 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Wed, 15 Sep 2021 16:50:35 +0800 Subject: [PATCH 03/17] feat: There is no way the --- .../task/TodoTaskController.java | 1 + .../datas/entity/BusProcessNew.java | 4 +++ .../service/impl/WebServiceOAServiceImpl.java | 26 +++++++++++++++---- .../standardLibrary/ApplyApplicantAfter.java | 4 --- .../standardLibrary/ApplyApplicantBefore.java | 7 +++++ .../standardLibrary/CountersignAfter.java | 4 --- .../standardLibrary/CountersignBefore.java | 6 +++++ .../standardLibrary/ManagerApproveBefore.java | 9 +++++++ .../standardLibrary/SLApplicantAfter.java | 4 +-- src/main/resources/application.yml | 9 ++++--- 10 files changed, 55 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index 15e5ae05..9da3cd72 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -404,6 +404,7 @@ public class TodoTaskController extends BaseAction { NotifyTodoAppResult notifyTodoAppResult = webServiceOAService.setTodoDone(notifyTodoSendContext); if(notifyTodoAppResult != null){ if(notifyTodoAppResult.getSIGN().equals("0") && notifyTodoAppResult.getMASSAGE().equals("操作成功")){ + logger.info("--------------------------成功发送 ESP 已办 模块ID"+list.get(0).getId()+"----------------------------"); logger.info("--------------------------成功发送 ESP 已办任务----------------------------"); }else { logger.error("ESP 发送待办任务异常 :" + "SIGN: "+notifyTodoAppResult.getSIGN()+",MASSAGE: "+notifyTodoAppResult.getMASSAGE()); diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java index b9470655..56d384b3 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java @@ -88,4 +88,8 @@ public class BusProcessNew implements Serializable { @ApiModelProperty(value = "流程名称") @TableField("PRC_NAME") private String prcName; + + @TableField( exist = false) + @ApiModelProperty(value = "OA link") + private String link; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java index ab97cc37..c7813c49 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -1,10 +1,13 @@ package com.ydw.bat.wkflow.business_oa.webService.service.impl; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage; import com.ydw.bat.wkflow.business_main.datas.entity.UserVO; +import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_oa.common.WebServiceConf; import com.ydw.bat.wkflow.business_oa.utils.OkHttpUtil; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; @@ -17,6 +20,7 @@ import okhttp3.Credentials; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -43,6 +47,9 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { private String api_key = "OA"; private String api_secret = "TEST_oa201611241710"; + + @Value("${webUrl}") + private String webUrl; //认证信息 private String[] baseAuth = {api_key,api_secret}; private String credentials = ""; @@ -53,6 +60,9 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { @Autowired private LawsUserInfoService lawsUserInfoService; + @Autowired + private IBusProcessNameService iBusProcessNameService; + public WebServiceOAServiceImpl(){ credentials = Credentials.basic(api_key,api_secret); } @@ -68,7 +78,7 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { HEAD head = new HEAD(); head.setACCOUNT("OA"); head.setBIZTRANSACTIONID("SYC_161320210206133219"); - head.setCONSUMER("PCMS"); + head.setCONSUMER("FOTON"); head.setCOUNT("1"); head.setPASSWORD("TEST_oa201611241710"); head.setSRVLEVEL("1"); @@ -84,9 +94,10 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { log.info("请求发送已办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); // JSONObject jsonObject = JSONObject.parseObject(result); - if(!result.contains("请求成功")){ + if(!result.contains("操作成功")){ log.error("请求发送已办接口出现异常:"+result); }else { + log.info("--------------------------成功发送 ESP 已办 模块ID"+notifyTodoSendContext.getModelId()+"----------------------------"); log.info("okHttp请求发送已办接口成功结果:"+result); } @@ -108,7 +119,7 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { HEAD head = new HEAD(); head.setACCOUNT("OA"); head.setBIZTRANSACTIONID("SYC_161320210206133219"); - head.setCONSUMER("PCMS"); + head.setCONSUMER("FOTON"); head.setCOUNT("1"); head.setPASSWORD("TEST_oa201611241710"); head.setSRVLEVEL("1"); @@ -125,7 +136,11 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { //标题 notifyTodoSendContext.setSubject(busProcessNew.getPrcName()); //地址 - notifyTodoSendContext.setLink("http://"); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("PRC_ID", busProcessNew.getPId()); + BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper); + String linkParam = "&taskIds="+busProcessNew.getTaskId()+"&prcId="+busProcessNew.getPId()+"&prcNum="+busProcessName.getPrcNum()+"&prcName="+busProcessNew.getPrcName(); + notifyTodoSendContext.setLink(webUrl+busProcessNew.getLink()+linkParam); //待办类型 notifyTodoSendContext.setType("1"); @@ -145,9 +160,10 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { log.info("请求发送待办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); // JSONObject jsonObject = JSONObject.parseObject(result); - if(!result.contains("请求成功")){ + if(!result.contains("操作成功")){ log.error("请求发送待办接口出现异常:"+result); }else { + log.info("--------------------------成功发送 ESP 待办 模块ID"+notifyTodoSendContext.getModelId()+"----------------------------"); log.info("okHttp请求发送待办接口成功结果:"+result); } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java index 3ecd3613..5ab74711 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantAfter.java @@ -28,7 +28,6 @@ public class ApplyApplicantAfter implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); - WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); @@ -103,9 +102,6 @@ public class ApplyApplicantAfter implements TaskListener{ busProcessNew.setUserId(nextUser); busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); - - // 发送 oa 待办 - oaService.sendTodo(busProcessNew); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java index 5bf9421f..f7c0932b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java @@ -6,6 +6,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -19,6 +20,8 @@ public class ApplyApplicantBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -28,6 +31,10 @@ public class ApplyApplicantBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep4?prcType=1"); + oaService.sendTodo(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java index 048aff5f..1d3a29e9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignAfter.java @@ -27,7 +27,6 @@ public class CountersignAfter implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); - WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); @@ -102,9 +101,6 @@ public class CountersignAfter implements TaskListener{ busProcessNew.setUserId(nextUser); busProcessNew.setPrcName(prcName); busBean.save(busProcessNew); - - // 发送 oa 待办 - oaService.sendTodo(busProcessNew); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java index 3647ebae..e0c06f65 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardLibrary; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -16,6 +17,7 @@ public class CountersignBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -25,6 +27,10 @@ public class CountersignBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep3?prcType=1"); + oaService.sendTodo(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java index 172e1521..2ca5a3a7 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java @@ -6,9 +6,12 @@ import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.util.SpringContextUtil; +import org.activiti.engine.TaskService; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; +import org.activiti.engine.task.Task; import java.util.List; @@ -19,6 +22,8 @@ public class ManagerApproveBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -27,7 +32,11 @@ public class ManagerApproveBefore implements TaskListener{ if(!list.isEmpty()){ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); + one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzrkStep2?prcType=1"); + oaService.sendTodo(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java index c8662442..1a92707a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/SLApplicantAfter.java @@ -30,7 +30,6 @@ public class SLApplicantAfter implements TaskListener{ public void notify(DelegateTask delegateTask) { IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); IBusProcessNameService busProcessNameService = SpringContextUtil.getBean(IBusProcessNameService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -127,11 +126,10 @@ public class SLApplicantAfter implements TaskListener{ busProcessNewNext.setUserId(nextUser); busProcessNewNext.setPrcName(prcName); busBean.save(busProcessNewNext); - // 发送 oa 待办 - oaService.sendTodo(busProcessNewNext); } } } + private String verifyObj(String str){ return (str == null || str.equals("")) ? "" : str; } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 0af6d7e4..c536fd6a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -15,10 +15,10 @@ logging: eureka: client: serviceUrl: - defaultZone: http://192.168.10.47:8761/eureka/ + defaultZone: http://127.0.0.1:8761/eureka/ spring: application: - name: shan3 + name: bat-wkflow http: encoding: charset: UTF-8 @@ -31,7 +31,7 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://192.168.10.47:3306/foton-bat-wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 + url: jdbc:mysql://127.0.0.1:3306/foton-bat-wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 username: root password: root activiti: @@ -47,3 +47,6 @@ mybatis-plus: ribbon: ReadTimeout: 60000 ConnectTimeout: 60000 + +# 配置前端服务全路径地址 如下 /#/ +webUrl: http://127.0.0.1:10088/#/ From 22812a7f6e62ad4ebb2a2270bcca3ed9c893e3ae Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Wed, 15 Sep 2021 17:07:08 +0800 Subject: [PATCH 04/17] feat: There is no way the --- .../bat/wkflow/business_activiti/task/TodoTaskController.java | 1 - .../webService/service/impl/WebServiceOAServiceImpl.java | 1 - 2 files changed, 2 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index 9da3cd72..15e5ae05 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -404,7 +404,6 @@ public class TodoTaskController extends BaseAction { NotifyTodoAppResult notifyTodoAppResult = webServiceOAService.setTodoDone(notifyTodoSendContext); if(notifyTodoAppResult != null){ if(notifyTodoAppResult.getSIGN().equals("0") && notifyTodoAppResult.getMASSAGE().equals("操作成功")){ - logger.info("--------------------------成功发送 ESP 已办 模块ID"+list.get(0).getId()+"----------------------------"); logger.info("--------------------------成功发送 ESP 已办任务----------------------------"); }else { logger.error("ESP 发送待办任务异常 :" + "SIGN: "+notifyTodoAppResult.getSIGN()+",MASSAGE: "+notifyTodoAppResult.getMASSAGE()); diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java index c7813c49..31dadf34 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -163,7 +163,6 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { if(!result.contains("操作成功")){ log.error("请求发送待办接口出现异常:"+result); }else { - log.info("--------------------------成功发送 ESP 待办 模块ID"+notifyTodoSendContext.getModelId()+"----------------------------"); log.info("okHttp请求发送待办接口成功结果:"+result); } From 897cb7f88504e4f9fd5adf563e4a39181a2ce481 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Fri, 17 Sep 2021 18:02:00 +0800 Subject: [PATCH 05/17] feat: There is no way the --- pom.xml | 9 ++ .../business_mq/service/CreateMQService.java | 38 +++++++ .../business_mq/service/SendMQService.java | 105 ++++++++++++++++++ .../controller/SendTodoLogController.java | 21 ++++ .../sendTodoLog/entity/SendTodoLog.java | 83 ++++++++++++++ .../sendTodoLog/mapper/SendTodoLogMapper.java | 16 +++ .../service/ISendTodoLogService.java | 16 +++ .../service/impl/SendTodoLogServiceImpl.java | 20 ++++ .../standardLibrary/CountersignBefore.java | 5 +- src/main/resources/application.yml | 18 +++ .../mapper/sendTodoLog/SendTodoLogMapper.xml | 5 + 11 files changed, 334 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/controller/SendTodoLogController.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/ISendTodoLogService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java create mode 100644 src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml diff --git a/pom.xml b/pom.xml index 72a353b2..a6c58dae 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,15 @@ spring-cloud-starter-netflix-eureka-client 2.0.0.RELEASE + + + org.springframework + spring-context-support + + + org.springframework.boot + spring-boot-starter-amqp + org.springframework.cloud diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java new file mode 100644 index 00000000..ad6b7359 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java @@ -0,0 +1,38 @@ +package com.ydw.bat.wkflow.business_mq.service; + +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import org.apache.commons.lang3.StringUtils; +import org.springframework.amqp.core.AmqpTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +@Component +public class CreateMQService { + @Autowired + private AmqpTemplate rabbitTemplate; + + /** + * @author: super_liu + * @date: 2021年09月17日 14:40 + **/ + public void setTodoDoneMq(BusProcessNew object) throws Exception{ + + //发送消息队列 + this.rabbitTemplate.convertAndSend("sendDone-exchange_MQ_GSAR", "sendDone-key_MQ_GSAR", object); + } + + /** + * @author: super_liu + * @date: 2021年09月17日 14:40 + **/ + public void sendTodoMq(BusProcessNew object){ + + //发送消息队列 + this.rabbitTemplate.convertAndSend("send-exchange_MQ_GSAR", "send-key_MQ_GSAR", object); + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java new file mode 100644 index 00000000..8530a921 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java @@ -0,0 +1,105 @@ +package com.ydw.bat.wkflow.business_mq.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.rabbitmq.client.Channel; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.ISendTodoLogService; +import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.impl.SendTodoLogServiceImpl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.support.AmqpHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +public class SendMQService { + + private static final Logger logger = LoggerFactory.getLogger(SendMQService.class); + + @Autowired + private CreateMQService convertMq; + + @Autowired + private ISendTodoLogService iSendTodoLogService; + + + @RabbitListener(bindings = @QueueBinding( + value = @Queue(value = "createMQ_SQ_GSAR", durable = "true"), + exchange = @Exchange(value = "send-exchange_MQ_GSAR", ignoreDeclarationExceptions = "true"), + key = "send-key_MQ_GSAR")) + public void createMQ(BusProcessNew object, Message message, Channel channel) throws Exception{ + try{ + try{ + Thread.sleep(5000); + insertOrUpdateInfo(object); + }catch(InterruptedException e){ + logger.error(e.toString()); + Thread.currentThread().interrupt(); + } + } catch (Exception e) { + logger.error("消息队列进入添加数据方法前失败!"); + logger.error(e.getMessage(),e); + }finally { + Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); + channel.basicAck(tag,false); + logger.debug("消息确认成功!!!!!!!!!"); + } + + } + + public void insertOrUpdateInfo(BusProcessNew object) throws Exception { + try { + + }catch (Exception e){ + logger.error(e.getMessage(),e); + this.restartSendMq(object); + } + } + + public void restartSendMq(BusProcessNew object) throws Exception{ + SendTodoLog sendTodoLog = new SendTodoLog(); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",object.getId()); + List list = iSendTodoLogService.list(wrapper); + if(!list.isEmpty()){ + sendTodoLog = list.get(0); + } + if(sendTodoLog != null){ + int againNumNew = Integer.valueOf(sendTodoLog.getErrNum()); + if(againNumNew >= 9){ + // 发送待办 或 发送给管理员邮箱 + logger.info("发送失败9次,发送给管理员邮箱"); + + }else { + // 发送失败连续持续3次, 如果在失败等待1个小时后重试3次 + if(againNumNew == 3 || againNumNew == 6){ + Thread.sleep(3600000); + logger.info("发送失败连续持续3次,等待1个小时后重试3次!!!!!!!!!"); + + }else { + logger.info("发送失败连续持续"+againNumNew+"次!!"); + } + sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1); + iSendTodoLogService.save(sendTodoLog); + convertMq.sendTodoMq(object); + logger.info("已重新加入转换"); + } + }else { + sendTodoLog.setMsgType("0"); + sendTodoLog.setTodoId(object.getId()); + sendTodoLog.setUserId(object.getUserId()); +// sendTodoLog.set + } + + + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/controller/SendTodoLogController.java b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/controller/SendTodoLogController.java new file mode 100644 index 00000000..234745f6 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/controller/SendTodoLogController.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.business_oa.sendTodoLog.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * OA日志表 前端控制器 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@RestController +@RequestMapping("/sendTodoLog") +public class SendTodoLogController { + +} + diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java new file mode 100644 index 00000000..89a62f57 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java @@ -0,0 +1,83 @@ +package com.ydw.bat.wkflow.business_oa.sendTodoLog.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * OA日志表 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="SendTodoLog对象", description="OA日志表") +public class SendTodoLog implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "类型 0 待办, 1已办, 2 取消, 3 删除") + @TableField("MSG_TYPE") + private String msgType; + + @ApiModelProperty(value = "待办ID") + @TableField("TODO_ID") + private String todoId; + + @ApiModelProperty(value = "待办用户ID") + @TableField("USER_ID") + private String userId; + + @ApiModelProperty(value = "邮箱用户ID") + @TableField("EMAIL_USER_ID") + private String emailUserId; + + @ApiModelProperty(value = "待办对象JSON") + @TableField("MESG") + private String mesg; + + @ApiModelProperty(value = "状态 1 待发送 2 成功 3 失败 4 无需发送") + @TableField("MSG_STATUS") + private String msgStatus; + + @ApiModelProperty(value = "失败次数") + @TableField("ERR_NUM") + private int errNum; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String createTime; + + @ApiModelProperty(value = "更新时间") + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private String updateTime; + + @ApiModelProperty(value = "参数1") + @TableField("PARAM1") + private String param1; + + @ApiModelProperty(value = "参数2") + @TableField("PARAM2") + private String param2; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java new file mode 100644 index 00000000..6629bea1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java @@ -0,0 +1,16 @@ +package com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper; + +import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * OA日志表 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +public interface SendTodoLogMapper extends BaseMapper { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/ISendTodoLogService.java b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/ISendTodoLogService.java new file mode 100644 index 00000000..f61dbb39 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/ISendTodoLogService.java @@ -0,0 +1,16 @@ +package com.ydw.bat.wkflow.business_oa.sendTodoLog.service; + +import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * OA日志表 服务类 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +public interface ISendTodoLogService extends IService { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java new file mode 100644 index 00000000..94a939aa --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java @@ -0,0 +1,20 @@ +package com.ydw.bat.wkflow.business_oa.sendTodoLog.service.impl; + +import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.ISendTodoLogService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * OA日志表 服务实现类 + *

+ * + * @author super_liu + * @since 2021-09-17 + */ +@Service +public class SendTodoLogServiceImpl extends ServiceImpl implements ISendTodoLogService { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java index e0c06f65..d50835c5 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardLibrary; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; @@ -17,7 +18,7 @@ public class CountersignBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -30,7 +31,7 @@ public class CountersignBefore implements TaskListener{ // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzrkStep3?prcType=1"); - oaService.sendTodo(one1); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c536fd6a..ff43a3ab 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -40,6 +40,23 @@ spring: check-process-definitions: false profiles: active: dev + # 相关服务配置同业务系统 + rabbitmq: + host: 127.0.0.1 + port: 5672 + username: guest + password: guest + listener: + simple: + acknowledge-mode: manual + #消费失败消息干掉 + default-requeue-rejected: true + retry: + #5秒 + initial-interval: 5000 + enabled: true + #最大重试9次 + max-attempts: 9 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl @@ -50,3 +67,4 @@ ribbon: # 配置前端服务全路径地址 如下 /#/ webUrl: http://127.0.0.1:10088/#/ + diff --git a/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml b/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml new file mode 100644 index 00000000..1a6763b3 --- /dev/null +++ b/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml @@ -0,0 +1,5 @@ + + + + + From 7fcda70b9b1882bfd3d716f14d8ee2fefe1c8beb Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sat, 18 Sep 2021 17:58:40 +0800 Subject: [PATCH 06/17] feat: There is no way the --- pom.xml | 5 - .../ydw/bat/wkflow/BatWkflowApplication.java | 1 + .../task/TodoTaskController.java | 34 ++-- .../business_mq/service/CreateMQService.java | 3 +- .../service/SendDoneMQService.java | 142 +++++++++++++++ .../business_mq/service/SendMQService.java | 83 ++++++--- .../sendTodoLog/entity/SendTodoLog.java | 3 +- .../sendTodoLog/mapper/SendTodoLogMapper.java | 2 + .../service/impl/SendTodoLogServiceImpl.java | 4 + .../controller/WebServiceOAController.java | 2 +- .../service/WebServiceOAService.java | 4 +- .../service/impl/WebServiceOAServiceImpl.java | 168 +++++++++--------- .../todoContent/NotifyTodoSendContext.java | 3 + .../todoResult/NotifyTodoAppResult.java | 12 +- .../standardLibrary/ApplyApplicantBefore.java | 5 +- .../standardLibrary/ManagerApproveBefore.java | 5 +- 16 files changed, 334 insertions(+), 142 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java diff --git a/pom.xml b/pom.xml index a6c58dae..377df6dd 100644 --- a/pom.xml +++ b/pom.xml @@ -35,11 +35,6 @@ spring-cloud-starter-netflix-eureka-client 2.0.0.RELEASE
- - - org.springframework - spring-context-support - org.springframework.boot spring-boot-starter-amqp diff --git a/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java b/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java index 5ae2a9eb..55fc0520 100644 --- a/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java +++ b/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java @@ -24,6 +24,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class, org.activiti.spring.boot.SecurityAutoConfiguration.class }) @MapperScan("com.ydw.bat.wkflow.business.*.mapper") +@MapperScan("com.ydw.bat.wkflow.business_oa.*") @EnableScheduling public class BatWkflowApplication { diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index 15e5ae05..e3a7049e 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -22,11 +22,13 @@ import com.alibaba.fastjson.JSONObject; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; import com.ydw.bat.wkflow.business_wkflow.form.dto.FormSubmitDto; import com.ydw.bat.wkflow.business_wkflow.form.service.FormValsService; +import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.bpmn.model.BpmnModel; import org.activiti.bpmn.model.FlowNode; import org.activiti.engine.*; @@ -39,6 +41,7 @@ import org.activiti.engine.task.Task; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -89,7 +92,7 @@ public class TodoTaskController extends BaseAction { private LawsUserInfoService lawsUserInfoService; @Autowired - private WebServiceOAService webServiceOAService; + private CreateMQService mqService; @ApiOperation(value = "我的待办任务列表") @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), @@ -337,8 +340,12 @@ public class TodoTaskController extends BaseAction { formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); //发送OA已办 - completeOA(task); - + try { + //发送OA已办 + completeOA(task); + }catch (Exception e){ + logger.error(e.toString()); + } taskService.complete(busMes.getTaskId()); } return WrapMapper.ok(task.getProcessInstanceId()); @@ -359,9 +366,13 @@ public class TodoTaskController extends BaseAction { formSubmitDto.setForm(busMes.getJson()); formSubmitDto.setTask_id(taskId); formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); - //发送OA已办 - completeOA(task); + try { + //发送OA已办 + completeOA(task); + }catch (Exception e){ + logger.error(e.toString()); + } taskService.complete(taskId); } } @@ -382,6 +393,7 @@ public class TodoTaskController extends BaseAction { } private void completeOA(Task task){ + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); logger.info("--------------------------ESP 发送已办任务----------------------------"); SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); @@ -401,16 +413,8 @@ public class TodoTaskController extends BaseAction { map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); JSONObject jsonLoginName = new JSONObject(map); notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); - NotifyTodoAppResult notifyTodoAppResult = webServiceOAService.setTodoDone(notifyTodoSendContext); - if(notifyTodoAppResult != null){ - if(notifyTodoAppResult.getSIGN().equals("0") && notifyTodoAppResult.getMASSAGE().equals("操作成功")){ - logger.info("--------------------------成功发送 ESP 已办任务----------------------------"); - }else { - logger.error("ESP 发送待办任务异常 :" + "SIGN: "+notifyTodoAppResult.getSIGN()+",MASSAGE: "+notifyTodoAppResult.getMASSAGE()); - } - }else { - logger.error("--------------------ESP 发送待办任务异常----------------------"); - } + notifyTodoSendContext.setUserId(task.getAssignee()); + oaService.setTodoDoneMq(notifyTodoSendContext); } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java index ad6b7359..c97ffbe7 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java @@ -1,6 +1,7 @@ package com.ydw.bat.wkflow.business_mq.service; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; import org.apache.commons.lang3.StringUtils; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; @@ -19,7 +20,7 @@ public class CreateMQService { * @author: super_liu * @date: 2021年09月17日 14:40 **/ - public void setTodoDoneMq(BusProcessNew object) throws Exception{ + public void setTodoDoneMq(NotifyTodoSendContext object){ //发送消息队列 this.rabbitTemplate.convertAndSend("sendDone-exchange_MQ_GSAR", "sendDone-key_MQ_GSAR", object); diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java new file mode 100644 index 00000000..6d153160 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java @@ -0,0 +1,142 @@ +package com.ydw.bat.wkflow.business_mq.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.rabbitmq.client.Channel; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.ISendTodoLogService; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; +import net.sf.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.amqp.support.AmqpHeaders; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.Message; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +@Component +public class SendDoneMQService { + + private static final Logger logger = LoggerFactory.getLogger(SendDoneMQService.class); + + @Autowired + private CreateMQService convertMq; + + @Autowired + private WebServiceOAService webServiceOAService; + + @Autowired + private SendTodoLogMapper sendTodoLogMapper; + + @RabbitListener(bindings = @QueueBinding( + value = @Queue(value = "createMQDone_SQ_GSAR", durable = "true"), + exchange = @Exchange(value = "sendDone-exchange_MQ_GSAR", ignoreDeclarationExceptions = "true"), + key = "sendDone-key_MQ_GSAR")) + public void createMQ(NotifyTodoSendContext object, Message message, Channel channel) throws Exception{ + try{ + try{ + insertOrUpdateInfo(object); + }catch(InterruptedException e){ + logger.error(e.toString()); + Thread.currentThread().interrupt(); + } + } catch (Exception e) { + logger.error("消息队列进入添加数据方法前失败!"); + logger.error(e.getMessage(),e); + }finally { + Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); + channel.basicAck(tag,false); + logger.debug("消息确认成功!!!!!!!!!"); + } + + } + + public void insertOrUpdateInfo(NotifyTodoSendContext object) throws Exception { + try { + NotifyTodoAppResult todoAppResult = webServiceOAService.setTodoDone(object); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + + if(todoAppResult.getSIGN().equals("0") && todoAppResult.getMASSAGE().equals("操作成功")){ + logger.info("--------------------------成功发送 ESP 已办任务----------------------------"); + sendTodoSave(object, sdf, "2"); + }else { + logger.error("ESP 发送待办任务异常 :" + "SIGN: "+todoAppResult.getSIGN()+",MASSAGE: "+todoAppResult.getMASSAGE()); + // 重试发送待办 + logger.info("重试发送待办"); + this.restartSendMq(object); + } + }catch (Exception e){ + logger.error(e.getMessage(),e); + this.restartSendMq(object); + } + } + + public void restartSendMq(NotifyTodoSendContext object) throws Exception{ + SendTodoLog sendTodoLog = new SendTodoLog(); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",object.getModelId()); + wrapper.eq("MSG_TYPE","1"); + List list = sendTodoLogMapper.selectList(wrapper); + if(!list.isEmpty()){ + sendTodoLog = list.get(0); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + if(sendTodoLog != null){ + int againNumNew = Integer.valueOf(sendTodoLog.getErrNum()); + if(againNumNew >= 6){ + // 发送待办 或 发送给管理员邮箱 + logger.info("发送失败9次,发送给管理员邮箱"); + + }else { + restSendDoneTodo(object, sdf, sendTodoLog, againNumNew); + } + }else { + sendTodoSave(object, sdf, "3"); + } + } + + private void restSendDoneTodo(NotifyTodoSendContext object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew) throws Exception{ + // 发送失败连续持续3次, 如果在失败等待1个小时后重试3次 + if(againNumNew < 6){ + Thread.sleep(3000); + logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!"); + + }else { + logger.info("发送失败连续持续"+againNumNew+"次!!"); + } + sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.updateById(sendTodoLog); + convertMq.setTodoDoneMq(object); + logger.info("已重新加入延迟队列"); + } + + private void sendTodoSave(NotifyTodoSendContext object, SimpleDateFormat sdf, String s) { + SendTodoLog sendTodoLog = new SendTodoLog(); + sendTodoLog.setMsgType("1"); + JSONObject json = JSONObject.fromObject(object); + sendTodoLog.setTodoId(object.getModelId()); + sendTodoLog.setMesg(json.toString()); + sendTodoLog.setMsgStatus(s); + sendTodoLog.setErrNum(1); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLog.setUserId(object.getUserId()); + sendTodoLogMapper.insert(sendTodoLog); + convertMq.setTodoDoneMq(object); + logger.info("已重新加入延迟队列"); + } + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java index 8530a921..07398b1d 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java @@ -4,8 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.rabbitmq.client.Channel; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper.SendTodoLogMapper; import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.ISendTodoLogService; import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.impl.SendTodoLogServiceImpl; +import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; +import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; +import net.sf.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.annotation.Exchange; @@ -15,8 +19,11 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.support.AmqpHeaders; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; @Component @@ -28,8 +35,10 @@ public class SendMQService { private CreateMQService convertMq; @Autowired - private ISendTodoLogService iSendTodoLogService; + private WebServiceOAService webServiceOAService; + @Autowired + private SendTodoLogMapper sendTodoLogMapper; @RabbitListener(bindings = @QueueBinding( value = @Queue(value = "createMQ_SQ_GSAR", durable = "true"), @@ -38,7 +47,6 @@ public class SendMQService { public void createMQ(BusProcessNew object, Message message, Channel channel) throws Exception{ try{ try{ - Thread.sleep(5000); insertOrUpdateInfo(object); }catch(InterruptedException e){ logger.error(e.toString()); @@ -57,6 +65,16 @@ public class SendMQService { public void insertOrUpdateInfo(BusProcessNew object) throws Exception { try { + NotifyTodoAppResult todoAppResult = webServiceOAService.sendTodo(object); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + + if(todoAppResult.getSIGN().equals("1")){ + // 重试发送待办 + logger.info("重试发送待办"); + this.restartSendMq(object); + }else { + sendTodoSave(object, sdf, "2"); + } }catch (Exception e){ logger.error(e.getMessage(),e); @@ -65,41 +83,54 @@ public class SendMQService { } public void restartSendMq(BusProcessNew object) throws Exception{ - SendTodoLog sendTodoLog = new SendTodoLog(); QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("TODO_ID",object.getId()); - List list = iSendTodoLogService.list(wrapper); + wrapper.eq("MSG_TYPE","0"); + List list = sendTodoLogMapper.selectList(wrapper); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); if(!list.isEmpty()){ - sendTodoLog = list.get(0); - } - if(sendTodoLog != null){ + SendTodoLog sendTodoLog = list.get(0); int againNumNew = Integer.valueOf(sendTodoLog.getErrNum()); - if(againNumNew >= 9){ + if(againNumNew >= 6){ // 发送待办 或 发送给管理员邮箱 - logger.info("发送失败9次,发送给管理员邮箱"); - + logger.info("发送失败6次,发送给管理员邮箱"); }else { - // 发送失败连续持续3次, 如果在失败等待1个小时后重试3次 - if(againNumNew == 3 || againNumNew == 6){ - Thread.sleep(3600000); - logger.info("发送失败连续持续3次,等待1个小时后重试3次!!!!!!!!!"); - - }else { - logger.info("发送失败连续持续"+againNumNew+"次!!"); - } - sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1); - iSendTodoLogService.save(sendTodoLog); - convertMq.sendTodoMq(object); - logger.info("已重新加入转换"); + restSendTodo(object, sdf, sendTodoLog, againNumNew); } }else { - sendTodoLog.setMsgType("0"); - sendTodoLog.setTodoId(object.getId()); - sendTodoLog.setUserId(object.getUserId()); -// sendTodoLog.set + sendTodoSave(object, sdf, "3"); } + } + private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew) throws Exception{ + // 失败次数小于6次,放入失败队列延迟消费 + if((againNumNew < 6)){ + Thread.sleep(3000); + logger.info("发送失败连续持续"+againNumNew+"次,存入延迟重试队列!!!!!!!!!"); + }else { + logger.info("发送失败连续持续"+againNumNew+"次!!"); + } + sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.updateById(sendTodoLog); + convertMq.sendTodoMq(object); + logger.info("已重新加入延迟队列"); + } + private void sendTodoSave(BusProcessNew object, SimpleDateFormat sdf, String s) { + SendTodoLog sendTodoLog = new SendTodoLog(); + sendTodoLog.setMsgType("0"); + sendTodoLog.setTodoId(object.getId()); + sendTodoLog.setUserId(object.getUserId()); + JSONObject json = JSONObject.fromObject(object); + sendTodoLog.setMesg(json.toString()); + sendTodoLog.setMsgStatus(s); + sendTodoLog.setErrNum(1); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.insert(sendTodoLog); + convertMq.sendTodoMq(object); + logger.info("已重新加入延迟队列"); } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java index 89a62f57..83ec9622 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java @@ -1,5 +1,6 @@ package com.ydw.bat.wkflow.business_oa.sendTodoLog.entity; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; @@ -30,7 +31,7 @@ public class SendTodoLog implements Serializable { private static final long serialVersionUID=1L; @ApiModelProperty(value = "主键") - @TableId("ID") + @TableId(value = "ID", type = IdType.UUID) private String id; @ApiModelProperty(value = "类型 0 待办, 1已办, 2 取消, 3 删除") diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java index 6629bea1..e72f815b 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java @@ -2,6 +2,7 @@ package com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper; import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; /** *

@@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @author super_liu * @since 2021-09-17 */ +@Repository public interface SendTodoLogMapper extends BaseMapper { } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java index 94a939aa..f37385f4 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java @@ -4,6 +4,7 @@ import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; import com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper.SendTodoLogMapper; import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.ISendTodoLogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -17,4 +18,7 @@ import org.springframework.stereotype.Service; @Service public class SendTodoLogServiceImpl extends ServiceImpl implements ISendTodoLogService { + @Autowired + private SendTodoLogMapper sendTodoLogMapper; + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java index 82fdeb15..c4a5a7f4 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/controller/WebServiceOAController.java @@ -63,7 +63,7 @@ public class WebServiceOAController extends BaseAction { @ApiOperation(value = "发送待办接口(") @PostMapping("/sendTodo") - public NotifyTodoAppResult sendTodo(){ + public NotifyTodoAppResult sendTodo() throws Exception{ return webServiceOAService.sendTodo(new BusProcessNew()); } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java index 6972e3a3..2c2bc19b 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/WebServiceOAService.java @@ -6,8 +6,8 @@ import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; public interface WebServiceOAService { - NotifyTodoAppResult sendTodo(BusProcessNew busProcessNew); + NotifyTodoAppResult sendTodo(BusProcessNew busProcessNew) throws Exception; - NotifyTodoAppResult setTodoDone(NotifyTodoSendContext notifyTodoSendContext); + NotifyTodoAppResult setTodoDone(NotifyTodoSendContext notifyTodoSendContext) throws Exception; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java index 31dadf34..a5966656 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -69,106 +69,108 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { @Override @Async - public NotifyTodoAppResult setTodoDone(NotifyTodoSendContext notifyTodoSendContext){ + public NotifyTodoAppResult setTodoDone(NotifyTodoSendContext notifyTodoSendContext) throws Exception{ NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult(); String result = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); - try { - JsonSend jsonSend = new JsonSend(); - HEAD head = new HEAD(); - head.setACCOUNT("OA"); - head.setBIZTRANSACTIONID("SYC_161320210206133219"); - head.setCONSUMER("FOTON"); - head.setCOUNT("1"); - head.setPASSWORD("TEST_oa201611241710"); - head.setSRVLEVEL("1"); - List list = new ArrayList<>(); - list.add(notifyTodoSendContext); - jsonSend.setHEAD(head); - jsonSend.setLIST(list); - net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); - Map mapCtr = new TreeMap<>(); - mapCtr.put("Authorization",credentials); - log.info("处理完文件数据,开始请求发送已办接口数据:【"+sdf.format(new Date())+"】"); - result = okHttpUtil.postForJson("http://172.24.12.64:85/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1021_SendNotifyTodo_PS",json.toString(),mapCtr); - log.info("请求发送已办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); - notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); -// JSONObject jsonObject = JSONObject.parseObject(result); - if(!result.contains("操作成功")){ - log.error("请求发送已办接口出现异常:"+result); - }else { - log.info("--------------------------成功发送 ESP 已办 模块ID"+notifyTodoSendContext.getModelId()+"----------------------------"); - log.info("okHttp请求发送已办接口成功结果:"+result); - } - } catch (Exception e) { - log.error(errMes, e.getMessage()); + JsonSend jsonSend = new JsonSend(); + HEAD head = new HEAD(); + head.setACCOUNT("OA"); + head.setBIZTRANSACTIONID("SYC_161320210206133219"); + head.setCONSUMER("FOTON"); + head.setCOUNT("1"); + head.setPASSWORD("TEST_oa201611241710"); + head.setSRVLEVEL("1"); + List list = new ArrayList<>(); + list.add(notifyTodoSendContext); + jsonSend.setHEAD(head); + jsonSend.setLIST(list); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); + Map mapCtr = new TreeMap<>(); + mapCtr.put("Authorization",credentials); + log.info("处理完文件数据,开始请求发送已办接口数据:【"+sdf.format(new Date())+"】"); + result = okHttpUtil.postForJson("http://172.24.12.64:85/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1021_SendNotifyTodo_PS",json.toString(),mapCtr); + log.info("请求发送已办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); + notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); +// JSONObject jsonObject = JSONObject.parseObject(result); + if(!result.contains("操作成功")){ + log.error("请求发送已办接口出现异常:"+result); + }else { + log.info("--------------------------成功发送 ESP 已办 模块ID"+notifyTodoSendContext.getModelId()+"----------------------------"); + log.info("okHttp请求发送已办接口成功结果:"+result); } +// try { +// +// } catch (Exception e) { +// log.error(errMes, e.getMessage()); +// } return notifyTodoAppResult; } @Override @Async - public NotifyTodoAppResult sendTodo(BusProcessNew busProcessNew){ + public NotifyTodoAppResult sendTodo(BusProcessNew busProcessNew) throws Exception{ NotifyTodoAppResult notifyTodoAppResult = new NotifyTodoAppResult(); String result = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); - try { - JsonSend jsonSend = new JsonSend(); - HEAD head = new HEAD(); - head.setACCOUNT("OA"); - head.setBIZTRANSACTIONID("SYC_161320210206133219"); - head.setCONSUMER("FOTON"); - head.setCOUNT("1"); - head.setPASSWORD("TEST_oa201611241710"); - head.setSRVLEVEL("1"); - List list = new ArrayList<>(); - NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); - // 待办来源的系统 - notifyTodoSendContext.setAppName("FOTON"); - //创建时间 - notifyTodoSendContext.setCreateTime(sdf.format(new Date())); - // 待办在原系统唯一标识 - notifyTodoSendContext.setModelId(busProcessNew.getId()); - //模块名称 - notifyTodoSendContext.setModelName(busProcessNew.getTaskInfo()); - //标题 - notifyTodoSendContext.setSubject(busProcessNew.getPrcName()); - //地址 - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PRC_ID", busProcessNew.getPId()); - BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper); - String linkParam = "&taskIds="+busProcessNew.getTaskId()+"&prcId="+busProcessNew.getPId()+"&prcNum="+busProcessName.getPrcNum()+"&prcName="+busProcessNew.getPrcName(); - notifyTodoSendContext.setLink(webUrl+busProcessNew.getLink()+linkParam); - //待办类型 - notifyTodoSendContext.setType("1"); + JsonSend jsonSend = new JsonSend(); + HEAD head = new HEAD(); + head.setACCOUNT("OA"); + head.setBIZTRANSACTIONID("SYC_161320210206133219"); + head.setCONSUMER("FOTON"); + head.setCOUNT("1"); + head.setPASSWORD("TEST_oa201611241710"); + head.setSRVLEVEL("1"); + List list = new ArrayList<>(); + NotifyTodoSendContext notifyTodoSendContext = new NotifyTodoSendContext(); + // 待办来源的系统 + notifyTodoSendContext.setAppName("FOTON"); + //创建时间 + notifyTodoSendContext.setCreateTime(sdf.format(new Date())); + // 待办在原系统唯一标识 + notifyTodoSendContext.setModelId(busProcessNew.getId()); + //模块名称 + notifyTodoSendContext.setModelName(busProcessNew.getTaskInfo()); + //标题 + notifyTodoSendContext.setSubject(busProcessNew.getPrcName()); + //地址 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("PRC_ID", busProcessNew.getPId()); + BusProcessName busProcessName = iBusProcessNameService.getOne(queryWrapper); + String linkParam = "&taskIds="+busProcessNew.getTaskId()+"&prcId="+busProcessNew.getPId()+"&prcNum="+busProcessName.getPrcNum()+"&prcName="+busProcessNew.getPrcName(); + notifyTodoSendContext.setLink(webUrl+busProcessNew.getLink()+linkParam); + //待办类型 + notifyTodoSendContext.setType("1"); - Map map = new HashMap<>(); - ResponseMessage byId = lawsUserInfoService.getById(busProcessNew.getUserId()); - map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); - JSONObject jsonLoginName = new JSONObject(map); - notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); - list.add(notifyTodoSendContext); - jsonSend.setHEAD(head); - jsonSend.setLIST(list); - net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); - Map mapCtr = new TreeMap<>(); - mapCtr.put("Authorization",credentials); - log.info("处理完文件数据,开始请求发送待办接口数据:【"+sdf.format(new Date())+"】"); - result = okHttpUtil.postForJson("http://172.24.12.64:85/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1019_SendTodo_PS",json.toString(),mapCtr); - log.info("请求发送待办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); - notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); + Map map = new HashMap<>(); + ResponseMessage byId = lawsUserInfoService.getById(busProcessNew.getUserId()); + map.put("LoginName",byId == null ? "" : byId.getData().getAccount()); + JSONObject jsonLoginName = new JSONObject(map); + notifyTodoSendContext.setTargets(jsonLoginName.toJSONString()); + list.add(notifyTodoSendContext); + jsonSend.setHEAD(head); + jsonSend.setLIST(list); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(jsonSend); + Map mapCtr = new TreeMap<>(); + mapCtr.put("Authorization",credentials); + log.info("处理完文件数据,开始请求发送待办接口数据:【"+sdf.format(new Date())+"】"); + result = okHttpUtil.postForJson("http://172.24.12.64:85/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1019_SendTodo_PS",json.toString(),mapCtr); + log.info("请求发送待办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); + notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); // JSONObject jsonObject = JSONObject.parseObject(result); - if(!result.contains("操作成功")){ - log.error("请求发送待办接口出现异常:"+result); - }else { - log.info("okHttp请求发送待办接口成功结果:"+result); - } - - } catch (Exception e) { - log.error(errMes, e.getMessage()); + if(!result.contains("操作成功")){ + log.error("请求发送待办接口出现异常:"+result); + }else { + log.info("okHttp请求发送待办接口成功结果:"+result); } +// try { +// +// +// } catch (Exception e) { +// log.error(errMes, e.getMessage()); +// } return notifyTodoAppResult; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java index f14d435e..25005d4e 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java @@ -69,4 +69,7 @@ public class NotifyTodoSendContext { @ApiModelProperty(value = "操作类型") private String optType; + @ApiModelProperty(value = "用户ID") + private String userId; + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java index 4f74362e..d1f46618 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoResult/NotifyTodoAppResult.java @@ -11,12 +11,16 @@ import lombok.Data; @Data public class NotifyTodoAppResult { - @ApiModelProperty(value = "返回状态 0:表示未操作 1:表示操作失败 2:表示操作成功") +// @ApiModelProperty(value = "返回状态 0:表示未操作 1:表示操作失败 2:表示操作成功") + @ApiModelProperty(value = "返回状态 0:表示操作成功 1:表示操作失败") private String SIGN; +// @ApiModelProperty(value = "返回信息 " + +// "返回状态值为0时,该值返回空 " + +// "返回状态值为1时,该值错误信息 " + +// "返回状态值为2时,该值返回空") @ApiModelProperty(value = "返回信息 " + - "返回状态值为0时,该值返回空 " + - "返回状态值为1时,该值错误信息 " + - "返回状态值为2时,该值返回空") + "返回状态值为0时,表示操作成功 " + + "返回状态值为1时,该值错误信息 ") private String MASSAGE; } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java index f7c0932b..5aeb8006 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java @@ -6,6 +6,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; @@ -20,7 +21,7 @@ public class ApplyApplicantBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -34,7 +35,7 @@ public class ApplyApplicantBefore implements TaskListener{ // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzrkStep4?prcType=1"); - oaService.sendTodo(one1); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java index 2ca5a3a7..136a93ea 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java @@ -6,6 +6,7 @@ import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.TaskService; @@ -22,7 +23,7 @@ public class ManagerApproveBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - WebServiceOAService oaService = SpringContextUtil.getBean(WebServiceOAService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -36,7 +37,7 @@ public class ManagerApproveBefore implements TaskListener{ busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzrkStep2?prcType=1"); - oaService.sendTodo(one1); + oaService.sendTodoMq(one1); } } } From 96d9b8401833c4bfa47cc08c3509428087d421e0 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 19 Sep 2021 15:58:26 +0800 Subject: [PATCH 07/17] feat: There is no way the MQ conf --- pom.xml | 5 +++++ .../business_mq/service/SendDoneMQService.java | 12 +++++------- .../todoContent/NotifyTodoSendContext.java | 4 +++- src/main/resources/application.yml | 12 +++++++----- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index 377df6dd..4504c8b0 100644 --- a/pom.xml +++ b/pom.xml @@ -39,6 +39,11 @@ org.springframework.boot spring-boot-starter-amqp + + org.springframework.amqp + spring-rabbit-test + test + org.springframework.cloud diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java index 6d153160..e35f2bbd 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java @@ -44,7 +44,7 @@ public class SendDoneMQService { value = @Queue(value = "createMQDone_SQ_GSAR", durable = "true"), exchange = @Exchange(value = "sendDone-exchange_MQ_GSAR", ignoreDeclarationExceptions = "true"), key = "sendDone-key_MQ_GSAR")) - public void createMQ(NotifyTodoSendContext object, Message message, Channel channel) throws Exception{ + public void createMQDone(NotifyTodoSendContext object, Message message, Channel channel) throws Exception{ try{ try{ insertOrUpdateInfo(object); @@ -84,24 +84,22 @@ public class SendDoneMQService { } public void restartSendMq(NotifyTodoSendContext object) throws Exception{ - SendTodoLog sendTodoLog = new SendTodoLog(); QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("TODO_ID",object.getModelId()); wrapper.eq("MSG_TYPE","1"); List list = sendTodoLogMapper.selectList(wrapper); - if(!list.isEmpty()){ - sendTodoLog = list.get(0); - } SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); - if(sendTodoLog != null){ + if(!list.isEmpty()){ + SendTodoLog sendTodoLog = list.get(0); int againNumNew = Integer.valueOf(sendTodoLog.getErrNum()); if(againNumNew >= 6){ // 发送待办 或 发送给管理员邮箱 - logger.info("发送失败9次,发送给管理员邮箱"); + logger.info("发送失败6次,发送给管理员邮箱"); }else { restSendDoneTodo(object, sdf, sendTodoLog, againNumNew); } + }else { sendTodoSave(object, sdf, "3"); } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java index 25005d4e..ac0b8be0 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/todoContent/NotifyTodoSendContext.java @@ -3,13 +3,15 @@ package com.ydw.bat.wkflow.business_oa.webService.todoContent; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.io.Serializable; + /** * @Description: TODO * @author: super_liu * @date: 2021年09月08日 15:05 */ @Data -public class NotifyTodoSendContext { +public class NotifyTodoSendContext implements Serializable { @ApiModelProperty(value = "标识待办来源的系统") private String appName; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ff43a3ab..eebfe46d 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -15,7 +15,7 @@ logging: eureka: client: serviceUrl: - defaultZone: http://127.0.0.1:8761/eureka/ + defaultZone: http://62.234.136.153:8761/eureka/ spring: application: name: bat-wkflow @@ -31,7 +31,7 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/foton-bat-wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 + url: jdbc:mysql://39.100.23.127:3306/foton-bat-wkflow?nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 username: root password: root activiti: @@ -42,12 +42,14 @@ spring: active: dev # 相关服务配置同业务系统 rabbitmq: - host: 127.0.0.1 + host: 62.234.136.153 port: 5672 username: guest password: guest listener: simple: + concurrency: 5 + max-concurrency: 10 acknowledge-mode: manual #消费失败消息干掉 default-requeue-rejected: true @@ -56,7 +58,7 @@ spring: initial-interval: 5000 enabled: true #最大重试9次 - max-attempts: 9 + max-attempts: 6 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl @@ -66,5 +68,5 @@ ribbon: ConnectTimeout: 60000 # 配置前端服务全路径地址 如下 /#/ -webUrl: http://127.0.0.1:10088/#/ +webUrl: http://62.234.136.153:8038/#/ From 965f518666f89bcf42ae0c367b90fb72bd37b913 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 19 Sep 2021 17:37:39 +0800 Subject: [PATCH 08/17] feat: There is no way the MQ conf --- .../ydw/bat/wkflow/BatWkflowApplication.java | 1 - .../controller/SendTodoLogController.java | 2 +- .../datas}/entity/SendTodoLog.java | 6 ++- .../datas}/mapper/SendTodoLogMapper.java | 4 +- .../datas}/service/ISendTodoLogService.java | 4 +- .../service/impl/SendTodoLogServiceImpl.java | 8 +-- .../service/SendDoneMQService.java | 50 ++++++++++++------ .../business_mq/service/SendMQService.java | 51 ++++++++++++------- .../wkflow/business_oa/utils/OkHttpUtil.java | 3 +- .../service/impl/WebServiceOAServiceImpl.java | 10 ++-- .../mapper/sendTodoLog/SendTodoLogMapper.xml | 2 +- 11 files changed, 91 insertions(+), 50 deletions(-) rename src/main/java/com/ydw/bat/wkflow/{business_oa/sendTodoLog => business_main/datas}/controller/SendTodoLogController.java (83%) rename src/main/java/com/ydw/bat/wkflow/{business_oa/sendTodoLog => business_main/datas}/entity/SendTodoLog.java (93%) rename src/main/java/com/ydw/bat/wkflow/{business_oa/sendTodoLog => business_main/datas}/mapper/SendTodoLogMapper.java (69%) rename src/main/java/com/ydw/bat/wkflow/{business_oa/sendTodoLog => business_main/datas}/service/ISendTodoLogService.java (63%) rename src/main/java/com/ydw/bat/wkflow/{business_oa/sendTodoLog => business_main/datas}/service/impl/SendTodoLogServiceImpl.java (62%) diff --git a/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java b/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java index 55fc0520..5ae2a9eb 100644 --- a/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java +++ b/src/main/java/com/ydw/bat/wkflow/BatWkflowApplication.java @@ -24,7 +24,6 @@ import org.springframework.scheduling.annotation.EnableScheduling; org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class, org.activiti.spring.boot.SecurityAutoConfiguration.class }) @MapperScan("com.ydw.bat.wkflow.business.*.mapper") -@MapperScan("com.ydw.bat.wkflow.business_oa.*") @EnableScheduling public class BatWkflowApplication { diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/controller/SendTodoLogController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/SendTodoLogController.java similarity index 83% rename from src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/controller/SendTodoLogController.java rename to src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/SendTodoLogController.java index 234745f6..2fed7a97 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/controller/SendTodoLogController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/SendTodoLogController.java @@ -1,4 +1,4 @@ -package com.ydw.bat.wkflow.business_oa.sendTodoLog.controller; +package com.ydw.bat.wkflow.business_main.datas.controller; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SendTodoLog.java similarity index 93% rename from src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java rename to src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SendTodoLog.java index 83ec9622..0cdb1b53 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/entity/SendTodoLog.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/SendTodoLog.java @@ -1,4 +1,4 @@ -package com.ydw.bat.wkflow.business_oa.sendTodoLog.entity; +package com.ydw.bat.wkflow.business_main.datas.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; @@ -62,6 +62,10 @@ public class SendTodoLog implements Serializable { @TableField("ERR_NUM") private int errNum; + @ApiModelProperty(value = "操作信息") + @TableField("OPER_MESG") + private String operMesg; + @ApiModelProperty(value = "创建时间") @TableField("CREATE_TIME") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/SendTodoLogMapper.java similarity index 69% rename from src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java rename to src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/SendTodoLogMapper.java index e72f815b..fb6d03b2 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/mapper/SendTodoLogMapper.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/SendTodoLogMapper.java @@ -1,6 +1,6 @@ -package com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper; +package com.ydw.bat.wkflow.business_main.datas.mapper; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/ISendTodoLogService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/ISendTodoLogService.java similarity index 63% rename from src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/ISendTodoLogService.java rename to src/main/java/com/ydw/bat/wkflow/business_main/datas/service/ISendTodoLogService.java index f61dbb39..46c0fed2 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/ISendTodoLogService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/ISendTodoLogService.java @@ -1,6 +1,6 @@ -package com.ydw.bat.wkflow.business_oa.sendTodoLog.service; +package com.ydw.bat.wkflow.business_main.datas.service; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/SendTodoLogServiceImpl.java similarity index 62% rename from src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java rename to src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/SendTodoLogServiceImpl.java index f37385f4..2e01d0ae 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/sendTodoLog/service/impl/SendTodoLogServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/SendTodoLogServiceImpl.java @@ -1,8 +1,8 @@ -package com.ydw.bat.wkflow.business_oa.sendTodoLog.service.impl; +package com.ydw.bat.wkflow.business_main.datas.service.impl; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper.SendTodoLogMapper; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.ISendTodoLogService; +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_main.datas.service.ISendTodoLogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java index e35f2bbd..d6951968 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java @@ -2,14 +2,13 @@ package com.ydw.bat.wkflow.business_mq.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.rabbitmq.client.Channel; -import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper.SendTodoLogMapper; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.ISendTodoLogService; +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; import net.sf.json.JSONObject; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.annotation.Exchange; @@ -19,7 +18,6 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.support.AmqpHeaders; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; @@ -68,22 +66,35 @@ public class SendDoneMQService { NotifyTodoAppResult todoAppResult = webServiceOAService.setTodoDone(object); SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); - if(todoAppResult.getSIGN().equals("0") && todoAppResult.getMASSAGE().equals("操作成功")){ + if(todoAppResult.getSIGN().equals("0") || todoAppResult.getMASSAGE().equals("操作成功")){ logger.info("--------------------------成功发送 ESP 已办任务----------------------------"); - sendTodoSave(object, sdf, "2"); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",object.getModelId()); + wrapper.eq("MSG_TYPE","1"); + List list = sendTodoLogMapper.selectList(wrapper); + if(!list.isEmpty()) { + SendTodoLog sendTodoLog = list.get(0); + sendTodoLog.setOperMesg(todoAppResult.getMASSAGE()); + sendTodoLog.setMsgStatus("2"); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.updateById(sendTodoLog); + }else { + sendTodoSave(object, sdf, "2",todoAppResult.getMASSAGE()); + } }else { logger.error("ESP 发送待办任务异常 :" + "SIGN: "+todoAppResult.getSIGN()+",MASSAGE: "+todoAppResult.getMASSAGE()); // 重试发送待办 logger.info("重试发送待办"); - this.restartSendMq(object); + this.restartSendMq(object,todoAppResult.getMASSAGE()); } }catch (Exception e){ logger.error(e.getMessage(),e); - this.restartSendMq(object); + this.restartSendMq(object, e.getMessage()); } } - public void restartSendMq(NotifyTodoSendContext object) throws Exception{ + public void restartSendMq(NotifyTodoSendContext object,String operMesg) throws Exception{ QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("TODO_ID",object.getModelId()); wrapper.eq("MSG_TYPE","1"); @@ -97,15 +108,15 @@ public class SendDoneMQService { logger.info("发送失败6次,发送给管理员邮箱"); }else { - restSendDoneTodo(object, sdf, sendTodoLog, againNumNew); + restSendDoneTodo(object, sdf, sendTodoLog, againNumNew,operMesg); } }else { - sendTodoSave(object, sdf, "3"); + sendTodoSave(object, sdf, "3",operMesg); } } - private void restSendDoneTodo(NotifyTodoSendContext object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew) throws Exception{ + private void restSendDoneTodo(NotifyTodoSendContext object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{ // 发送失败连续持续3次, 如果在失败等待1个小时后重试3次 if(againNumNew < 6){ Thread.sleep(3000); @@ -116,12 +127,13 @@ public class SendDoneMQService { } sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1); sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLog.setOperMesg(operMesg); sendTodoLogMapper.updateById(sendTodoLog); convertMq.setTodoDoneMq(object); logger.info("已重新加入延迟队列"); } - private void sendTodoSave(NotifyTodoSendContext object, SimpleDateFormat sdf, String s) { + private void sendTodoSave(NotifyTodoSendContext object, SimpleDateFormat sdf, String s,String operMesg) { SendTodoLog sendTodoLog = new SendTodoLog(); sendTodoLog.setMsgType("1"); JSONObject json = JSONObject.fromObject(object); @@ -129,12 +141,18 @@ public class SendDoneMQService { sendTodoLog.setMesg(json.toString()); sendTodoLog.setMsgStatus(s); sendTodoLog.setErrNum(1); + sendTodoLog.setOperMesg(operMesg); sendTodoLog.setCreateTime(sdf.format(new Date())); sendTodoLog.setUpdateTime(sdf.format(new Date())); sendTodoLog.setUserId(object.getUserId()); sendTodoLogMapper.insert(sendTodoLog); - convertMq.setTodoDoneMq(object); - logger.info("已重新加入延迟队列"); + if(s.equals("2")){ + logger.info("发送成功,存入OA日志"); + }else{ + convertMq.setTodoDoneMq(object); + logger.info("已重新加入延迟队列"); + } + } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java index 07398b1d..a67d0454 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java @@ -3,13 +3,12 @@ package com.ydw.bat.wkflow.business_mq.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.rabbitmq.client.Channel; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.entity.SendTodoLog; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.mapper.SendTodoLogMapper; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.ISendTodoLogService; -import com.ydw.bat.wkflow.business_oa.sendTodoLog.service.impl.SendTodoLogServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; import net.sf.json.JSONObject; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.annotation.Exchange; @@ -19,7 +18,6 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.support.AmqpHeaders; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; @@ -68,21 +66,34 @@ public class SendMQService { NotifyTodoAppResult todoAppResult = webServiceOAService.sendTodo(object); SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); - if(todoAppResult.getSIGN().equals("1")){ + if(todoAppResult.getSIGN().equals("0") || todoAppResult.getMASSAGE().equals("操作成功")){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",object.getId()); + wrapper.eq("MSG_TYPE","0"); + List list = sendTodoLogMapper.selectList(wrapper); + if(!list.isEmpty()) { + SendTodoLog sendTodoLog = list.get(0); + sendTodoLog.setMsgStatus("2"); + sendTodoLog.setOperMesg(todoAppResult.getMASSAGE()); + sendTodoLog.setCreateTime(sdf.format(new Date())); + sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLogMapper.updateById(sendTodoLog); + }else { + sendTodoSave(object, sdf, "2",todoAppResult.getMASSAGE()); + } + }else { // 重试发送待办 logger.info("重试发送待办"); - this.restartSendMq(object); - }else { - sendTodoSave(object, sdf, "2"); + this.restartSendMq(object,todoAppResult.getMASSAGE()); } }catch (Exception e){ logger.error(e.getMessage(),e); - this.restartSendMq(object); + this.restartSendMq(object, e.getMessage()); } } - public void restartSendMq(BusProcessNew object) throws Exception{ + public void restartSendMq(BusProcessNew object,String operMesg) throws Exception{ QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("TODO_ID",object.getId()); wrapper.eq("MSG_TYPE","0"); @@ -95,14 +106,14 @@ public class SendMQService { // 发送待办 或 发送给管理员邮箱 logger.info("发送失败6次,发送给管理员邮箱"); }else { - restSendTodo(object, sdf, sendTodoLog, againNumNew); + restSendTodo(object, sdf, sendTodoLog, againNumNew,operMesg); } }else { - sendTodoSave(object, sdf, "3"); + sendTodoSave(object, sdf, "3",operMesg); } } - private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew) throws Exception{ + private void restSendTodo(BusProcessNew object, SimpleDateFormat sdf, SendTodoLog sendTodoLog, int againNumNew,String operMesg) throws Exception{ // 失败次数小于6次,放入失败队列延迟消费 if((againNumNew < 6)){ Thread.sleep(3000); @@ -112,12 +123,13 @@ public class SendMQService { } sendTodoLog.setErrNum(sendTodoLog.getErrNum()+1); sendTodoLog.setUpdateTime(sdf.format(new Date())); + sendTodoLog.setOperMesg(operMesg); sendTodoLogMapper.updateById(sendTodoLog); convertMq.sendTodoMq(object); logger.info("已重新加入延迟队列"); } - private void sendTodoSave(BusProcessNew object, SimpleDateFormat sdf, String s) { + private void sendTodoSave(BusProcessNew object, SimpleDateFormat sdf, String s,String operMesg) { SendTodoLog sendTodoLog = new SendTodoLog(); sendTodoLog.setMsgType("0"); sendTodoLog.setTodoId(object.getId()); @@ -126,11 +138,16 @@ public class SendMQService { sendTodoLog.setMesg(json.toString()); sendTodoLog.setMsgStatus(s); sendTodoLog.setErrNum(1); + sendTodoLog.setOperMesg(operMesg); sendTodoLog.setCreateTime(sdf.format(new Date())); sendTodoLog.setUpdateTime(sdf.format(new Date())); sendTodoLogMapper.insert(sendTodoLog); - convertMq.sendTodoMq(object); - logger.info("已重新加入延迟队列"); + if(s.equals("2")){ + logger.info("发送成功,存入OA日志"); + }else{ + convertMq.sendTodoMq(object); + logger.info("已重新加入延迟队列"); + } } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java index 219cd67b..3789a964 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/OkHttpUtil.java @@ -249,7 +249,7 @@ public class OkHttpUtil { * @param headerParams post form 提交的参数 * @return */ - public String postForJson(String url, String json, Map headerParams) { + public String postForJson(String url, String json, Map headerParams){ RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), json); String responseBody = ""; Request.Builder requestBuilder = new Request.Builder().url(url); @@ -266,6 +266,7 @@ public class OkHttpUtil { } } catch (Exception e) { logger.error("okhttp post error >> ex = {}", ExceptionUtils.getStackTrace(e)); + return "okhttp post error >> ex = {} "+ e.getMessage(); } finally { if (response != null) { response.close(); diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java index a5966656..6b8515ad 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/webService/service/impl/WebServiceOAServiceImpl.java @@ -29,8 +29,6 @@ import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.*; -import static java.awt.SystemColor.info; - /** * @Description: TODO * @author: super_liu @@ -92,13 +90,15 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { log.info("处理完文件数据,开始请求发送已办接口数据:【"+sdf.format(new Date())+"】"); result = okHttpUtil.postForJson("http://172.24.12.64:85/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1021_SendNotifyTodo_PS",json.toString(),mapCtr); log.info("请求发送已办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); - notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); // JSONObject jsonObject = JSONObject.parseObject(result); if(!result.contains("操作成功")){ log.error("请求发送已办接口出现异常:"+result); + notifyTodoAppResult.setSIGN("1"); + notifyTodoAppResult.setMASSAGE(result); }else { log.info("--------------------------成功发送 ESP 已办 模块ID"+notifyTodoSendContext.getModelId()+"----------------------------"); log.info("okHttp请求发送已办接口成功结果:"+result); + notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); } // try { // @@ -158,12 +158,14 @@ public class WebServiceOAServiceImpl implements WebServiceOAService { log.info("处理完文件数据,开始请求发送待办接口数据:【"+sdf.format(new Date())+"】"); result = okHttpUtil.postForJson("http://172.24.12.64:85/WP_FOTON_FSOA/APP_DOC_SERVICES/Proxy_Services/TA_OA/DOC_SYC_1019_SendTodo_PS",json.toString(),mapCtr); log.info("请求发送待办接口完毕,返回响应状态:【"+sdf.format(new Date())+"】"); - notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); // JSONObject jsonObject = JSONObject.parseObject(result); if(!result.contains("操作成功")){ log.error("请求发送待办接口出现异常:"+result); + notifyTodoAppResult.setSIGN("1"); + notifyTodoAppResult.setMASSAGE(result); }else { log.info("okHttp请求发送待办接口成功结果:"+result); + notifyTodoAppResult = (NotifyTodoAppResult) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(result), NotifyTodoAppResult.class); } // try { // diff --git a/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml b/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml index 1a6763b3..b86489d1 100644 --- a/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml +++ b/src/main/resources/mapper/sendTodoLog/SendTodoLogMapper.xml @@ -1,5 +1,5 @@ - + From d2d509c7c8e8bc117ac5279dcf83aa9e1fe589f2 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 23 Sep 2021 16:19:19 +0800 Subject: [PATCH 09/17] feat: There is no way the MQ conf --- pom.xml | 4 + .../service/SendDoneMQService.java | 20 + .../business_mq/service/SendMQService.java | 20 + .../wkflow/business_oa/utils/EmailUtils.java | 342 ++++++++++++++++++ src/main/resources/application.yml | 26 ++ 5 files changed, 412 insertions(+) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_oa/utils/EmailUtils.java diff --git a/pom.xml b/pom.xml index 4504c8b0..7585a56d 100644 --- a/pom.xml +++ b/pom.xml @@ -29,6 +29,10 @@ fk-util 1.0.0 + + org.springframework.boot + spring-boot-starter-mail + org.springframework.cloud diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java index d6951968..7abeec3d 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java @@ -2,8 +2,12 @@ package com.ydw.bat.wkflow.business_mq.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.rabbitmq.client.Channel; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; +import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage; import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.entity.UserVO; import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_oa.utils.EmailUtils; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; @@ -21,6 +25,7 @@ import org.springframework.messaging.Message; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -32,12 +37,18 @@ public class SendDoneMQService { @Autowired private CreateMQService convertMq; + @Autowired + private EmailUtils emailUtils; + @Autowired private WebServiceOAService webServiceOAService; @Autowired private SendTodoLogMapper sendTodoLogMapper; + @Autowired + private LawsUserInfoService lawsUserInfoService; + @RabbitListener(bindings = @QueueBinding( value = @Queue(value = "createMQDone_SQ_GSAR", durable = "true"), exchange = @Exchange(value = "sendDone-exchange_MQ_GSAR", ignoreDeclarationExceptions = "true"), @@ -106,6 +117,15 @@ public class SendDoneMQService { if(againNumNew >= 6){ // 发送待办 或 发送给管理员邮箱 logger.info("发送失败6次,发送给管理员邮箱"); + List emailList = new ArrayList<>(); + ResponseMessage byId = lawsUserInfoService.getById("WY8J26MH23"); + // 占时指定admin用户邮箱 + emailList.add(byId == null ? "" : (byId.getData().getEmail() != null ? byId.getData().getEmail() : "")); + String[] arr = emailList.toArray(new String[emailList.size()]); + String title = "OA请求发送失败6次"; + String countText = "

您好:

" + + ""+"OA请求发送失败6次,请线下协调处理"+"
"; + emailUtils.sendMsgFeign(arr,title,countText); }else { restSendDoneTodo(object, sdf, sendTodoLog, againNumNew,operMesg); diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java index a67d0454..7ce1db14 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java @@ -2,9 +2,13 @@ package com.ydw.bat.wkflow.business_mq.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.rabbitmq.client.Channel; +import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage; import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; +import com.ydw.bat.wkflow.business_main.datas.entity.UserVO; import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_oa.utils.EmailUtils; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; import net.sf.json.JSONObject; @@ -21,6 +25,7 @@ import org.springframework.messaging.Message; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -32,12 +37,18 @@ public class SendMQService { @Autowired private CreateMQService convertMq; + @Autowired + private EmailUtils emailUtils; + @Autowired private WebServiceOAService webServiceOAService; @Autowired private SendTodoLogMapper sendTodoLogMapper; + @Autowired + private LawsUserInfoService lawsUserInfoService; + @RabbitListener(bindings = @QueueBinding( value = @Queue(value = "createMQ_SQ_GSAR", durable = "true"), exchange = @Exchange(value = "send-exchange_MQ_GSAR", ignoreDeclarationExceptions = "true"), @@ -103,7 +114,16 @@ public class SendMQService { SendTodoLog sendTodoLog = list.get(0); int againNumNew = Integer.valueOf(sendTodoLog.getErrNum()); if(againNumNew >= 6){ + ResponseMessage byId = lawsUserInfoService.getById("WY8J26MH23"); // 发送待办 或 发送给管理员邮箱 + List emailList = new ArrayList<>(); + // 占时指定admin用户邮箱 + emailList.add(byId == null ? "" : (byId.getData().getEmail() == null ? "" : byId.getData().getEmail())); + String[] arr = emailList.toArray(new String[emailList.size()]); + String title = "OA请求发送失败6次"; + String countText = "

您好:

" + + ""+"OA请求发送失败6次,请线下协调处理"+"
"; + emailUtils.sendMsgFeign(arr,title,countText); logger.info("发送失败6次,发送给管理员邮箱"); }else { restSendTodo(object, sdf, sendTodoLog, againNumNew,operMesg); diff --git a/src/main/java/com/ydw/bat/wkflow/business_oa/utils/EmailUtils.java b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/EmailUtils.java new file mode 100644 index 00000000..f14be1d7 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_oa/utils/EmailUtils.java @@ -0,0 +1,342 @@ +package com.ydw.bat.wkflow.business_oa.utils; + +import org.apache.avalon.framework.service.ServiceException; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.mail.MailException; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.mail.javamail.JavaMailSenderImpl; +import org.springframework.mail.javamail.MimeMessageHelper; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +import javax.mail.MessagingException; +import javax.mail.internet.MimeMessage; +import java.io.File; +import java.io.UnsupportedEncodingException; + +@Component +public class EmailUtils { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + /** + * The Mail sender. + */ + @Autowired + JavaMailSenderImpl mailSender; + + @Value("${mail.valid}") + private boolean mailValid; + + @Value("${spring.mail.username}") + private String userName; + + @Value("${spring.mail.password}") + private String mailPwd; + + /** + * Send simple email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param subject the subject + * @param content the content + * @throws ServiceException the service exception + */ + public void sendSimpleEmail(String deliver,String personName, String receiver, String subject, String content) throws ServiceException { + if(mailValid){ + String[] receivers = {receiver}; + sendSimpleEmail(deliver,personName, receivers, null, subject, content); + } + } + + + + /** + * Send simple email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param carbonCopy the carbon copy + * @param subject the subject + * @param content the content + * @throws ServiceException the service exception + */ + public void sendSimpleEmail(String deliver,String personName, String[] receiver, String[] carbonCopy, String subject, String content) throws ServiceException { + + long startTimestamp = System.currentTimeMillis(); + logger.info("Start send mail ... "); + + try { + SimpleMailMessage message = new SimpleMailMessage(); + personName=javax.mail.internet.MimeUtility.encodeText(personName); + message.setFrom(personName + "<"+deliver+">"); + message.setTo(receiver); + if(carbonCopy!=null && carbonCopy.length>0){ + message.setCc(carbonCopy); + } + message.setSubject(subject); + message.setText(content); + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp); + } catch (MailException e) { + logger.error("Send mail failed, error message is : {} \n", e.getMessage()); + logger.error(e.getMessage(),e); + throw new ServiceException(e.getMessage()); + } catch (UnsupportedEncodingException e) { + logger.error("Send mail failed, error message is : {} \n", e.getMessage()); + logger.error(e.getMessage(),e); + throw new ServiceException(e.getMessage()); + } + } + + + + /** + * Send html email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param subject the subject + * @param content the content + * @throws ServiceException the service exception + */ + public void sendHtmlEmail(String deliver, String receiver, String subject, String content) throws ServiceException { + String[] receivers = {receiver}; + sendHtmlEmail(deliver, receivers, null, subject, content, true); + } + + /** + * Send html email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param carbonCopy the carbon copy + * @param subject the subject + * @param content the content + * @param isHtml the is html + * @throws ServiceException the service exception + */ + public void sendHtmlEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String content, boolean isHtml) throws ServiceException { + long startTimestamp = System.currentTimeMillis(); + logger.info("Start send email ..."); + + try { + MimeMessage message = mailSender.createMimeMessage(); + MimeMessageHelper messageHelper = new MimeMessageHelper(message); + + messageHelper.setFrom(deliver); + messageHelper.setTo(receiver); + if (null != carbonCopy) { + messageHelper.setCc(carbonCopy); + } + messageHelper.setSubject(subject); + messageHelper.setText(content, isHtml); + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + logger.info("Send email success, cost {} million seconds", System.currentTimeMillis() - startTimestamp); + } catch (MessagingException e) { + logger.error("Send email failed, error message is {} \n", e.getMessage()); + logger.error(e.getMessage(),e); + throw new ServiceException(e.getMessage()); + } + } + + /** + * Send attachment file email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param subject the subject + * @param content the content + * @param fileName the file name + * @param file the file + * @throws ServiceException the service exception + */ + public void sendAttachmentFileEmail(String deliver, String receiver, String subject, String content, String fileName, File file) throws ServiceException { + String[] receivers = {receiver}; + sendAttachmentFileEmail(deliver, receivers, null, subject, content, true, fileName, file); + } + + /** + * Send attachment file mail. + * + * @param deliver the deliver + * @param receiver the receiver + * @param carbonCopy the carbon copy + * @param subject the subject + * @param content the content + * @param isHtml the is html + * @param fileName the file name + * @param file the file + * @throws ServiceException the service exception + */ + public void sendAttachmentFileEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String content, boolean isHtml, String fileName, File file) throws ServiceException { + long startTimestamp = System.currentTimeMillis(); + logger.info("Start send mail ..."); + + try { + MimeMessage message = mailSender.createMimeMessage(); + MimeMessageHelper messageHelper = new MimeMessageHelper(message, true); + + messageHelper.setFrom(deliver); + messageHelper.setTo(receiver); + messageHelper.setCc(carbonCopy); + messageHelper.setSubject(subject); + messageHelper.setText(content, isHtml); + messageHelper.addAttachment(fileName, file); + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp); + } catch (MessagingException e) { + logger.error("Send mail failed, error message is {}\n", e.getMessage()); + logger.error(e.getMessage(),e); + throw new ServiceException(e.getMessage()); + } + } + + /* *//** + * Send template email. + * + * @param deliver the deliver + * @param receiver the receiver + * @param subject the subject + * @param template the template + * @param context the context + * @throws ServiceException the service exception + *//* + public void sendTemplateEmail(String deliver, String receiver, String subject, String template, Context context) throws ServiceException { + String[] receivers = {receiver}; + sendTemplateEmail(deliver, receivers, null, subject, template, context); + }*/ + + /* *//** + * Send template mail. + * @throws ServiceException the service exception + *//* + public void sendTemplateEmail(String deliver, String[] receiver, String[] carbonCopy, String subject, String template, Context context) throws ServiceException { + long startTimestamp = System.currentTimeMillis(); + logger.info("Start send mail ..."); + + try { + MimeMessage message = mailSender.createMimeMessage(); + MimeMessageHelper messageHelper = new MimeMessageHelper(message); + + String content = templateEngine.process(template, context); + messageHelper.setFrom(deliver); + messageHelper.setTo(receiver); + messageHelper.setCc(carbonCopy); + messageHelper.setSubject(subject); + messageHelper.setText(content, true); + + mailSender.send(message); + logger.info("Send mail success, cost {} million seconds", System.currentTimeMillis() - startTimestamp); + } catch (MessagingException e) { + logger.error("Send mail failed, error message is {} \n", e.getMessage()); + e.printStackTrace(); + throw new ServiceException(e.getMessage()); + } + }*/ + + @Async + public void sendMsg(String[] tos,String msg){ + //创建简单邮件消息 + SimpleMailMessage message = new SimpleMailMessage(); + //谁发的 + message.setFrom(userName); + //谁要接收 + message.setTo(tos); + //邮件标题 + message.setSubject(msg); + //邮件内容 + message.setText(msg); + try { + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + } catch (MailException e) { + logger.error(e.getMessage(),e); + } + } + + @Async + public void sendMsgNew(String[] tos,String msg,String title){ + //创建简单邮件消息 + SimpleMailMessage message = new SimpleMailMessage(); + //谁发的 + message.setFrom(userName); + //谁要接收 + message.setTo(tos); + //邮件标题 + message.setSubject(title); + //邮件内容 + message.setText(msg); + try { + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + } catch (MailException e) { + logger.error(e.getMessage(),e); + } + } + + @Async + public void sendMsgFeign(String[] tos,String title, String msg){ + //创建简单邮件消息 + SimpleMailMessage message = new SimpleMailMessage(); + //谁发的 + message.setFrom(userName); + //谁要接收 + message.setTo(tos); + //邮件标题 + message.setSubject(title); + //邮件内容 + message.setText(msg); + try { + if (null != tos){ + for (String to :tos){ + sendHtmlEmail( userName, to, title, msg); + } + } + + } catch (ServiceException e) { + e.printStackTrace(); + } + } + + @Async + public void sendMsgWithCC(String[] tos,String[] cc,String msg){ + //创建简单邮件消息 + SimpleMailMessage message = new SimpleMailMessage(); + //谁发的 + message.setFrom(userName); + //谁要接收 + message.setTo(tos); + //抄送 + message.setCc(cc); + //邮件标题 + message.setSubject(msg); + //邮件内容 + message.setText(msg); + try { + if(StringUtils.isBlank(mailPwd)){ + mailSender.setPassword(null); + } + mailSender.send(message); + } catch (MailException e) { + logger.error(e.getMessage(),e); + } + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index eebfe46d..0d6128d0 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -59,6 +59,32 @@ spring: enabled: true #最大重试9次 max-attempts: 6 + +# ============================================================================= +# 邮箱配置-1 +# ============================================================================= + mail: + host: smtp.163.com + protocol: smtp + username: foton_admin@163.com + password: QDQMXXMCKFARNDEI + properties: + smtp: + auth: true + starttls: + enable: true + required: true + mail: + smtp: + ssl: + enable: true + port: 465 +# ============================================================================= +# 邮箱配置-2 +# ============================================================================= +mail: + valid: true + mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl From 86397d169d366a3e2c4ddd088b50fb5011ae04f9 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 23 Sep 2021 17:59:52 +0800 Subject: [PATCH 10/17] feat: There is no way the --- .../ydw/bat/wkflow/business_mq/service/SendDoneMQService.java | 1 + .../com/ydw/bat/wkflow/business_mq/service/SendMQService.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java index 7abeec3d..aa16152b 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendDoneMQService.java @@ -56,6 +56,7 @@ public class SendDoneMQService { public void createMQDone(NotifyTodoSendContext object, Message message, Channel channel) throws Exception{ try{ try{ + Thread.sleep(5000); insertOrUpdateInfo(object); }catch(InterruptedException e){ logger.error(e.toString()); diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java index 7ce1db14..a949bb18 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java @@ -56,6 +56,7 @@ public class SendMQService { public void createMQ(BusProcessNew object, Message message, Channel channel) throws Exception{ try{ try{ + Thread.sleep(5000); insertOrUpdateInfo(object); }catch(InterruptedException e){ logger.error(e.toString()); From 5bbe5f42c07be4603cdc54a190bf1a45d4f7bdea Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sat, 25 Sep 2021 11:43:43 +0800 Subject: [PATCH 11/17] feat: There is no way the task exec --- .../controller/OaTaskExecController.java | 21 +++++ .../datas/entity/BusProcessNew.java | 15 ++++ .../datas/entity/OaTaskExec.java | 85 +++++++++++++++++++ .../datas/mapper/OaTaskExecMapper.java | 16 ++++ .../datas/service/IOaTaskExecService.java | 16 ++++ .../service/impl/OaTaskExecServiceImpl.java | 20 +++++ .../business_mq/service/SendMQService.java | 36 ++++++-- .../mapper/oaTaskExec/OaTaskExecMapper.xml | 5 ++ 8 files changed, 209 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/OaTaskExecMapper.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java create mode 100644 src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java create mode 100644 src/main/resources/mapper/oaTaskExec/OaTaskExecMapper.xml diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java new file mode 100644 index 00000000..2c2a1c0b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java @@ -0,0 +1,21 @@ +package com.ydw.bat.wkflow.business_main.datas.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * OA 干活任务执行表 前端控制器 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +@RestController +@RequestMapping("/oaTaskExec") +public class OaTaskExecController { + +} + diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java index 56d384b3..6af6dc34 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; + +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -92,4 +94,17 @@ public class BusProcessNew implements Serializable { @TableField( exist = false) @ApiModelProperty(value = "OA link") private String link; + + @TableField( exist = false) + @ApiModelProperty(value = "干活任务截止时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String endTime; + + @TableField( exist = false) + @ApiModelProperty(value = "任务状态 1 审批任务 2 干活任务") + private int taskStatus; + + @TableField( exist = false) + @ApiModelProperty(value = "维度 1 3天内 2 3天外") + private int execType; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java new file mode 100644 index 00000000..60a3e524 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java @@ -0,0 +1,85 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * OA 干活任务执行表 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="OaTaskExec对象", description="OA 干活任务执行表") +public class OaTaskExec implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "执行维度 1 3天内 2 3天外") + @TableField("EXEC_TYPE") + private int execType; + + @ApiModelProperty(value = "待办ID") + @TableField("TODO_ID") + private String todoId; + + @ApiModelProperty(value = "待办用户ID") + @TableField("USER_ID") + private String userId; + + @ApiModelProperty(value = "待办对象JSON") + @TableField("MESG") + private String mesg; + + @ApiModelProperty(value = "执行状态 0 未启动 1 已启动 2 已完成") + @TableField("EXEC_STATUS") + private int execStatus; + + @ApiModelProperty(value = "执行时间") + @TableField("EXEC_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String execTime; + + @ApiModelProperty(value = "截止时间") + @TableField("END_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String endTime; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String createTime; + + @ApiModelProperty(value = "更新时间") + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private String updateTime; + + @ApiModelProperty(value = "参数1") + @TableField("PARAM1") + private int param1; + + @ApiModelProperty(value = "参数2") + @TableField("PARAM2") + private String param2; + + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/OaTaskExecMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/OaTaskExecMapper.java new file mode 100644 index 00000000..10f7b6e4 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/OaTaskExecMapper.java @@ -0,0 +1,16 @@ +package com.ydw.bat.wkflow.business_main.datas.mapper; + +import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * OA 干活任务执行表 Mapper 接口 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +public interface OaTaskExecMapper extends BaseMapper { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java new file mode 100644 index 00000000..25c9cf2a --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java @@ -0,0 +1,16 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * OA 干活任务执行表 服务类 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +public interface IOaTaskExecService extends IService { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java new file mode 100644 index 00000000..8415b2b1 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java @@ -0,0 +1,20 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec; +import com.ydw.bat.wkflow.business_main.datas.mapper.OaTaskExecMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * OA 干活任务执行表 服务实现类 + *

+ * + * @author Super_liu + * @since 2021-09-24 + */ +@Service +public class OaTaskExecServiceImpl extends ServiceImpl implements IOaTaskExecService { + +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java index a949bb18..b4bbefef 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java @@ -3,15 +3,14 @@ package com.ydw.bat.wkflow.business_mq.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.rabbitmq.client.Channel; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; -import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; -import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage; -import com.ydw.bat.wkflow.business_main.datas.entity.SendTodoLog; -import com.ydw.bat.wkflow.business_main.datas.entity.UserVO; +import com.ydw.bat.wkflow.business_main.datas.entity.*; import com.ydw.bat.wkflow.business_main.datas.mapper.SendTodoLogMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; import com.ydw.bat.wkflow.business_oa.utils.EmailUtils; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; import net.sf.json.JSONObject; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,6 +24,9 @@ import org.springframework.messaging.Message; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -46,6 +48,9 @@ public class SendMQService { @Autowired private SendTodoLogMapper sendTodoLogMapper; + @Autowired + private IOaTaskExecService oaTaskExecService; + @Autowired private LawsUserInfoService lawsUserInfoService; @@ -57,7 +62,28 @@ public class SendMQService { try{ try{ Thread.sleep(5000); - insertOrUpdateInfo(object); + if(object.getTaskStatus() == 2 && object.getEndTime() != null && StringUtils.isNotBlank(object.getEndTime())){ + DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + LocalDate startDate = LocalDate.parse(new SimpleDateFormat("yyyy-MM-dd").format(new Date()),fmt); + LocalDate endDate = LocalDate.parse(object.getEndTime(),fmt); + int days = (int) startDate.until(endDate, ChronoUnit.DAYS); + // 3 天 外 + if(days > 3){ + // 待 + OaTaskExec oaTaskExec = new OaTaskExec(); + oaTaskExec.setExecType(2); + oaTaskExec.setCreateTime(sdf.format(new Date())); + oaTaskExec.setUpdateTime(sdf.format(new Date())); + oaTaskExecService.save(oaTaskExec); + }else { + // 3 天 内 发送 OA 待办 + insertOrUpdateInfo(object); + } + }else { + // 正常逻辑发送 OA 待办 + insertOrUpdateInfo(object); + } }catch(InterruptedException e){ logger.error(e.toString()); Thread.currentThread().interrupt(); diff --git a/src/main/resources/mapper/oaTaskExec/OaTaskExecMapper.xml b/src/main/resources/mapper/oaTaskExec/OaTaskExecMapper.xml new file mode 100644 index 00000000..530e7eb0 --- /dev/null +++ b/src/main/resources/mapper/oaTaskExec/OaTaskExecMapper.xml @@ -0,0 +1,5 @@ + + + + + From 66b5b35ab32ac486c403fbfe34a377ca7c6acc55 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 26 Sep 2021 17:08:02 +0800 Subject: [PATCH 12/17] feat: There is no way the All process before add oa --- .../wkflow/business_activiti/task/TaskController.java | 9 +++++++-- .../DockingApprovalBefore.java | 6 ++++++ .../SelectDockUserBefore.java | 6 ++++++ .../SelectResponUserBefore.java | 6 ++++++ .../NonConformanceRectification/UploadCommentBefore.java | 6 ++++++ .../PCAComplianceAssessmentBefore.java | 6 ++++++ .../PCAbzManagerApproveBefore.java | 6 ++++++ .../PCAbzfgManagerApproveBefore.java | 6 ++++++ .../ProjectComplianceAssessment/PCAdlApproveBefore.java | 7 +++++++ .../PCAffLiableApproveBefore.java | 6 ++++++ .../PCAffLiableDistirbuteBefore.java | 6 ++++++ .../PCAgcManagerApproveBefore.java | 6 ++++++ .../PCAgcManagerDeliverBefore.java | 6 ++++++ .../PCAjgManagerApproveBefore.java | 6 ++++++ .../PCAjgManagerDistributeBefore.java | 6 ++++++ .../ProjectComplianceAssessment/PCAsumBefore.java | 6 ++++++ .../StandardCommentProcess/DirectorSignBefore.java | 7 +++++++ .../StandardCommentProcess/DockingApprovalBefore.java | 8 ++++++-- .../MinisterAndDockerSignBefore.java | 7 +++++++ .../StandardCommentProcess/PresidentSignBefore.java | 7 +++++++ .../StandardCommentProcess/ResponUserSignBefore.java | 7 +++++++ .../SelectResponsibleUserBefore.java | 7 +++++++ .../StandardCommentProcess/SummarySurveyBefore.java | 7 +++++++ .../UploadResearchResultBefore.java | 7 +++++++ .../listener/StandardSurvey/DirectorSignBefore.java | 7 +++++++ .../listener/StandardSurvey/DockingApprovalBefore.java | 8 ++++++-- .../StandardSurvey/MinisterAndDockerSignBefore.java | 7 +++++++ .../listener/StandardSurvey/PresidentSignBefore.java | 7 +++++++ .../listener/StandardSurvey/ResponUserSignBefore.java | 7 +++++++ .../StandardSurvey/SelectResponsibleUserBefore.java | 7 +++++++ .../listener/StandardSurvey/SummarySurveyBefore.java | 7 +++++++ .../StandardSurvey/UploadResearchResultBefore.java | 7 +++++++ .../itemlistvalidationprocess/confirmBefore.java | 6 ++++++ .../itemlistvalidationprocessStartBefore.java | 6 ++++++ .../projectEvaluationProcess/PEPDepartLeaderBefore.java | 7 +++++++ .../listener/projectEvaluationProcess/PEPSumBefore.java | 7 +++++++ .../projectEvaluationProcess/PEPffresPersonBefore.java | 7 +++++++ .../PEPmanagerApproveBefore.java | 7 +++++++ .../projectEvaluationProcess/PEPtaskEstimateBefore.java | 7 +++++++ .../projectEvaluationProcess/PEPtaskLssueBefore.java | 7 +++++++ .../wkflow/listener/standardRead/DeptApplayBefore.java | 7 +++++++ .../bat/wkflow/listener/standardRead/DeptZrBefore.java | 7 +++++++ .../listener/standardRead/EngineerApplayBefore.java | 7 +++++++ .../bat/wkflow/listener/standardRead/ExpainBefore.java | 7 +++++++ .../bat/wkflow/listener/standardRead/ZrApplayBefore.java | 7 +++++++ .../standardRegulatoryProcess/CountersignSRPBefore.java | 6 ++++++ .../SRPApplyApplicantBefore.java | 6 ++++++ .../SRPManagerApproveBefore.java | 6 ++++++ 48 files changed, 315 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java index 1736f065..e3613742 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java @@ -53,8 +53,13 @@ public class TaskController { queryWrapper.eq("TASK_ID",taskId); queryWrapper.eq("P_ID",pId); queryWrapper.eq("COMMIT_FLAG","0"); - long count = iBusProcessNewService.count(queryWrapper); - return count; + long count1 = iBusProcessNewService.count(queryWrapper); + QueryWrapper queryWrapper1 = new QueryWrapper(); + queryWrapper1.eq("TASK_ID",taskId); + queryWrapper1.eq("P_ID",pId); + queryWrapper1.eq("FINISH_FLAG","0"); + long count2 = iBusProcessNewService.count(queryWrapper1); + return count1 + count2; } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java index ac629b9f..5fd41f6d 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.NonConformanceRectification; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -25,6 +26,11 @@ public class DockingApprovalBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("wfhxzgStep5?prcType=8"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java index b53d97bd..5a0492ae 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.NonConformanceRectification; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class SelectDockUserBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("wfhxzgStep2?prcType=8"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java index 8148210b..93b79541 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.NonConformanceRectification; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class SelectResponUserBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("wfhxzgStep3?prcType=8"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java index a8c2261d..715fce38 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -28,6 +29,11 @@ public class UploadCommentBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("wfhxzgStep4?prcType=8"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java index c503ae99..9c257e56 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAComplianceAssessmentBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step6?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java index 58caa3f7..5a265d82 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAbzManagerApproveBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step2?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java index 6bf7936a..b9183953 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAbzfgManagerApproveBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step10?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java index f1cd3111..78e28ebc 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,12 @@ public class PCAdlApproveBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step12?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java index 5c0254bb..22bded3b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAffLiableApproveBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step7?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java index 71620af9..96bd7fa2 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAffLiableDistirbuteBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step5?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java index c52f1423..7510bea3 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAgcManagerApproveBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step9?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java index 7d1d9f43..f24739c9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAgcManagerDeliverBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step3?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java index 160097ba..904d905e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAjgManagerApproveBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step8?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java index db335dfe..10ba52d4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAjgManagerDistributeBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step4?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java index 2a60662b..8fff819b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.ProjectComplianceAssessment; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -23,6 +24,11 @@ public class PCAsumBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpg2Step11?prcType=6"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java index 01adbf30..afe09f2e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class DirectorSignBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -21,6 +24,10 @@ public class DirectorSignBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep8?prcType=3"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java index 5428dfbd..68156355 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,8 +14,7 @@ public class DockingApprovalBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - - + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); @@ -26,6 +26,10 @@ public class DockingApprovalBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep4?prcType=3"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java index ba08d01c..29ab2f64 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class MinisterAndDockerSignBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class MinisterAndDockerSignBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo("标准法规部部长 "+"责任部门对接人 审批"); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep7?prcType=3"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java index 6f4922eb..14dcf37b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class PresidentSignBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -22,6 +25,10 @@ public class PresidentSignBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep9?prcType=3"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java index 16092615..91f62544 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class ResponUserSignBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -22,6 +25,10 @@ public class ResponUserSignBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep6?prcType=3"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java index fcef7d89..f29e494f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class SelectResponsibleUserBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class SelectResponsibleUserBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep2?prcType=3"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java index 4de8b221..b2748fb5 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -16,6 +17,8 @@ public class SummarySurveyBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -59,6 +62,10 @@ public class SummarySurveyBefore implements TaskListener { one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep5?prcType=3"); + oaService.sendTodoMq(one1); + /*JSONObject obj= JSON.parseObject(one1.getMesg()); //看全局变量里有没有存Summary,有的话就直接走,没的话就就初始化 diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java index 5c3aa4c0..71588556 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class UploadResearchResultBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class UploadResearchResultBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzzqyjStep3?prcType=3"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java index f4efa7ea..dfdb1b6d 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardSurvey; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class DirectorSignBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -21,6 +24,10 @@ public class DirectorSignBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep8?prcType=2"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java index 76357406..bc94aa14 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardSurvey; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,8 +14,7 @@ public class DockingApprovalBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); - - + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); @@ -26,6 +26,10 @@ public class DockingApprovalBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep4?prcType=2"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java index c1c91d0e..669665cf 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardSurvey; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class MinisterAndDockerSignBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class MinisterAndDockerSignBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep7?prcType=2"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java index a59df568..60e5237b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardSurvey; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class PresidentSignBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -22,6 +25,10 @@ public class PresidentSignBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep9?prcType=2"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java index 64ed8384..c2353deb 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardSurvey; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class ResponUserSignBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -22,6 +25,10 @@ public class ResponUserSignBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep6?prcType=2"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java index 08b82aaf..df89ab82 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardSurvey; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class SelectResponsibleUserBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class SelectResponsibleUserBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep2?prcType=2"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java index 0a037972..813bce4a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -16,6 +17,8 @@ public class SummarySurveyBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -29,6 +32,10 @@ public class SummarySurveyBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep5?prcType=2"); + oaService.sendTodoMq(one1); } } } \ No newline at end of file diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java index 6956a52f..738f1213 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.StandardSurvey; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -13,6 +14,8 @@ public class UploadResearchResultBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class UploadResearchResultBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzdyStep3?prcType=2"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmBefore.java index 4b8ae8dc..d012a31a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -22,6 +23,11 @@ public class confirmBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep2?prcType=10"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java index 48cb9bf4..567fa8ac 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -22,6 +23,11 @@ public class itemlistvalidationprocessStartBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep3?prcType=10"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java index cb2ec63b..dbfdaad2 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.projectEvaluationProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -14,6 +15,7 @@ public class PEPDepartLeaderBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +25,11 @@ public class PEPDepartLeaderBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep7?prcType=5"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java index e3da581c..2d00907c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.projectEvaluationProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -14,6 +15,8 @@ public class PEPSumBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class PEPSumBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep6?prcType=5"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java index d27e8329..4763ebba 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.projectEvaluationProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -14,6 +15,8 @@ public class PEPffresPersonBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class PEPffresPersonBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep5?prcType=5"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java index 0a84956b..0e7f2b13 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.projectEvaluationProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -14,6 +15,8 @@ public class PEPmanagerApproveBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.isNull("TASK_ID"); @@ -22,6 +25,10 @@ public class PEPmanagerApproveBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep2?prcType=5"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java index e80a780e..d862f3e2 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.projectEvaluationProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -14,6 +15,8 @@ public class PEPtaskEstimateBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class PEPtaskEstimateBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep4?prcType=5"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java index ddd70bd7..0df65fd2 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.projectEvaluationProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -14,6 +15,8 @@ public class PEPtaskLssueBefore implements TaskListener { @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); queryWrapper1.eq("USER_ID",delegateTask.getAssignee()); @@ -23,6 +26,10 @@ public class PEPtaskLssueBefore implements TaskListener { BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmpgStep3?prcType=5"); + oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java index b108f4b4..b8c9649a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardRead; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -15,6 +16,8 @@ public class DeptApplayBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -24,6 +27,10 @@ public class DeptApplayBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep6?prcType=9"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java index 3b23b0bf..39d5f832 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardRead; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -15,6 +16,8 @@ public class DeptZrBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -24,6 +27,10 @@ public class DeptZrBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep2?prcType=9"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java index 4a1c5d62..7f37725f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardRead; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -15,6 +16,8 @@ public class EngineerApplayBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -24,6 +27,10 @@ public class EngineerApplayBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep5?prcType=9"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java index c7949076..b630aadd 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardRead; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -15,6 +16,8 @@ public class ExpainBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -24,6 +27,10 @@ public class ExpainBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep3?prcType=9"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java index 5eea3a73..6303419c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardRead; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -15,6 +16,8 @@ public class ZrApplayBefore implements TaskListener{ @Override public void notify(DelegateTask delegateTask) { IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + QueryWrapper queryWrapper1 = new QueryWrapper(); queryWrapper1.isNull("TASK_ID"); queryWrapper1.eq("P_ID",delegateTask.getProcessInstanceId()); @@ -24,6 +27,10 @@ public class ZrApplayBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzjdStep4?prcType=9"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java index 3588a4f1..952913fc 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -25,6 +26,11 @@ public class CountersignSRPBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzqdfbStep2?prcType=4"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java index 3af9efd5..a1186406 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -25,6 +26,11 @@ public class SRPApplyApplicantBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzqdfbStep3?prcType=4"); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java index 765022d2..89cb411b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.standardRegulatoryProcess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -25,6 +26,11 @@ public class SRPManagerApproveBefore implements TaskListener{ BusProcessNew one1 = list.get(0); one1.setTaskId(delegateTask.getId()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("bzqdfbStep4?prcType=4"); + oaService.sendTodoMq(one1); } } } From 5080f65dfc2d22e3448326dec8d949530e59d8e6 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Mon, 27 Sep 2021 12:25:11 +0800 Subject: [PATCH 13/17] feat: There is no way the --- .../NonConformanceRectification/DockingApprovalBefore.java | 1 + .../NonConformanceRectification/SelectDockUserBefore.java | 1 + .../SelectResponUserBefore.java | 1 + .../NonConformanceRectification/UploadCommentBefore.java | 1 + .../PCAComplianceAssessmentBefore.java | 1 + .../PCAbzManagerApproveBefore.java | 1 + .../PCAbzfgManagerApproveBefore.java | 1 + .../ProjectComplianceAssessment/PCAdlApproveBefore.java | 1 + .../PCAffLiableApproveBefore.java | 1 + .../PCAffLiableDistirbuteBefore.java | 1 + .../PCAgcManagerApproveBefore.java | 1 + .../PCAgcManagerDeliverBefore.java | 1 + .../PCAjgManagerApproveBefore.java | 1 + .../PCAjgManagerDistributeBefore.java | 1 + .../listener/ProjectComplianceAssessment/PCAsumBefore.java | 1 + .../StandardCommentProcess/DirectorSignBefore.java | 1 + .../StandardCommentProcess/DockingApprovalBefore.java | 1 + .../MinisterAndDockerSignBefore.java | 1 + .../StandardCommentProcess/PresidentSignBefore.java | 1 + .../StandardCommentProcess/ResponUserSignBefore.java | 1 + .../SelectResponsibleUserBefore.java | 1 + .../StandardCommentProcess/SummarySurveyBefore.java | 1 + .../StandardCommentProcess/UploadResearchResultBefore.java | 1 + .../wkflow/listener/StandardSurvey/DirectorSignBefore.java | 1 + .../listener/StandardSurvey/DockingApprovalBefore.java | 1 + .../StandardSurvey/MinisterAndDockerSignBefore.java | 1 + .../listener/StandardSurvey/PresidentSignBefore.java | 1 + .../listener/StandardSurvey/ResponUserSignBefore.java | 1 + .../StandardSurvey/SelectResponsibleUserBefore.java | 1 + .../listener/StandardSurvey/SummarySurveyBefore.java | 1 + .../StandardSurvey/UploadResearchResultBefore.java | 1 + .../itemlistvalidationprocess/bzApproveBefore.java | 7 +++++++ .../listener/itemlistvalidationprocess/confirmBefore.java | 1 + .../itemlistvalidationprocessStartBefore.java | 1 + .../projectEvaluationProcess/PEPDepartLeaderBefore.java | 1 + .../listener/projectEvaluationProcess/PEPSumBefore.java | 1 + .../projectEvaluationProcess/PEPffresPersonBefore.java | 1 + .../projectEvaluationProcess/PEPmanagerApproveBefore.java | 1 + .../projectEvaluationProcess/PEPtaskEstimateBefore.java | 1 + .../projectEvaluationProcess/PEPtaskLssueBefore.java | 1 + .../listener/standardLibrary/ApplyApplicantBefore.java | 1 + .../wkflow/listener/standardLibrary/CountersignBefore.java | 1 + .../listener/standardLibrary/ManagerApproveBefore.java | 1 + .../bat/wkflow/listener/standardRead/DeptApplayBefore.java | 1 + .../ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java | 1 + .../wkflow/listener/standardRead/EngineerApplayBefore.java | 1 + .../ydw/bat/wkflow/listener/standardRead/ExpainBefore.java | 1 + .../bat/wkflow/listener/standardRead/ZrApplayBefore.java | 1 + .../standardRegulatoryProcess/CountersignSRPBefore.java | 1 + .../standardRegulatoryProcess/SRPApplyApplicantBefore.java | 1 + .../standardRegulatoryProcess/SRPManagerApproveBefore.java | 1 + 51 files changed, 57 insertions(+) diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java index 5fd41f6d..421201f7 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/DockingApprovalBefore.java @@ -30,6 +30,7 @@ public class DockingApprovalBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("wfhxzgStep5?prcType=8"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java index 5a0492ae..f63b8961 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectDockUserBefore.java @@ -28,6 +28,7 @@ public class SelectDockUserBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("wfhxzgStep2?prcType=8"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java index 93b79541..c94e1221 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/SelectResponUserBefore.java @@ -28,6 +28,7 @@ public class SelectResponUserBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("wfhxzgStep3?prcType=8"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java index 715fce38..123b5cc0 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/NonConformanceRectification/UploadCommentBefore.java @@ -33,6 +33,7 @@ public class UploadCommentBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("wfhxzgStep4?prcType=8"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java index 9c257e56..2e642281 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAComplianceAssessmentBefore.java @@ -28,6 +28,7 @@ public class PCAComplianceAssessmentBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step6?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java index 5a265d82..e729637a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzManagerApproveBefore.java @@ -28,6 +28,7 @@ public class PCAbzManagerApproveBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step2?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java index b9183953..d0677577 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAbzfgManagerApproveBefore.java @@ -28,6 +28,7 @@ public class PCAbzfgManagerApproveBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step10?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java index 78e28ebc..71db3141 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAdlApproveBefore.java @@ -29,6 +29,7 @@ public class PCAdlApproveBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step12?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java index 22bded3b..0f8fbd88 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableApproveBefore.java @@ -28,6 +28,7 @@ public class PCAffLiableApproveBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step7?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java index 96bd7fa2..20ea5e83 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAffLiableDistirbuteBefore.java @@ -28,6 +28,7 @@ public class PCAffLiableDistirbuteBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step5?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java index 7510bea3..236ddf84 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerApproveBefore.java @@ -28,6 +28,7 @@ public class PCAgcManagerApproveBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step9?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java index f24739c9..c5e87173 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAgcManagerDeliverBefore.java @@ -28,6 +28,7 @@ public class PCAgcManagerDeliverBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step3?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java index 904d905e..f431edd5 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerApproveBefore.java @@ -28,6 +28,7 @@ public class PCAjgManagerApproveBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step8?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java index 10ba52d4..8b3e7c7e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAjgManagerDistributeBefore.java @@ -28,6 +28,7 @@ public class PCAjgManagerDistributeBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step4?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java index 8fff819b..d90cc0fa 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/ProjectComplianceAssessment/PCAsumBefore.java @@ -28,6 +28,7 @@ public class PCAsumBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpg2Step11?prcType=6"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java index afe09f2e..62f8b047 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DirectorSignBefore.java @@ -27,6 +27,7 @@ public class DirectorSignBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzzqyjStep8?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java index 68156355..1bc586af 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/DockingApprovalBefore.java @@ -29,6 +29,7 @@ public class DockingApprovalBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzzqyjStep4?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java index 29ab2f64..798bfdf9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/MinisterAndDockerSignBefore.java @@ -29,6 +29,7 @@ public class MinisterAndDockerSignBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzzqyjStep7?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java index 14dcf37b..74ac1c46 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/PresidentSignBefore.java @@ -28,6 +28,7 @@ public class PresidentSignBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzzqyjStep9?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java index 91f62544..f242e70e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/ResponUserSignBefore.java @@ -28,6 +28,7 @@ public class ResponUserSignBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzzqyjStep6?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java index f29e494f..0a1a8cac 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SelectResponsibleUserBefore.java @@ -29,6 +29,7 @@ public class SelectResponsibleUserBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzzqyjStep2?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java index b2748fb5..e86be5fa 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/SummarySurveyBefore.java @@ -64,6 +64,7 @@ public class SummarySurveyBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzzqyjStep5?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); /*JSONObject obj= JSON.parseObject(one1.getMesg()); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java index 71588556..91789b06 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java @@ -29,6 +29,7 @@ public class UploadResearchResultBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzzqyjStep3?prcType=3"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java index dfdb1b6d..6956966c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DirectorSignBefore.java @@ -27,6 +27,7 @@ public class DirectorSignBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzdyStep8?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java index bc94aa14..8a4cea37 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/DockingApprovalBefore.java @@ -29,6 +29,7 @@ public class DockingApprovalBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzdyStep4?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java index 669665cf..da89356b 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/MinisterAndDockerSignBefore.java @@ -29,6 +29,7 @@ public class MinisterAndDockerSignBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzdyStep7?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java index 60e5237b..98c80a37 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/PresidentSignBefore.java @@ -28,6 +28,7 @@ public class PresidentSignBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzdyStep9?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java index c2353deb..696e1fd4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/ResponUserSignBefore.java @@ -28,6 +28,7 @@ public class ResponUserSignBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzdyStep6?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java index df89ab82..cf835b04 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SelectResponsibleUserBefore.java @@ -29,6 +29,7 @@ public class SelectResponsibleUserBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzdyStep2?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java index 813bce4a..25822115 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/SummarySurveyBefore.java @@ -35,6 +35,7 @@ public class SummarySurveyBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzdyStep5?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java index 738f1213..bdad4e0c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardSurvey/UploadResearchResultBefore.java @@ -29,6 +29,7 @@ public class UploadResearchResultBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzdyStep3?prcType=2"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveBefore.java index 77c6f799..63b3811c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/bzApproveBefore.java @@ -3,6 +3,7 @@ package com.ydw.bat.wkflow.listener.itemlistvalidationprocess; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -22,6 +23,12 @@ public class bzApproveBefore implements TaskListener { one1.setTaskId(delegateTask.getId()); one1.setTaskInfo(delegateTask.getName()); busBean.saveOrUpdate(one1); + + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + one1.setLink("xmqdqrStep3?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); + oaService.sendTodoMq(one1); } } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmBefore.java index d012a31a..3e18d53e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/confirmBefore.java @@ -27,6 +27,7 @@ public class confirmBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmqdqrStep2?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java index 567fa8ac..f8bb5b73 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/itemlistvalidationprocess/itemlistvalidationprocessStartBefore.java @@ -27,6 +27,7 @@ public class itemlistvalidationprocessStartBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmqdqrStep3?prcType=10"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java index dbfdaad2..ffe27d04 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPDepartLeaderBefore.java @@ -29,6 +29,7 @@ public class PEPDepartLeaderBefore implements TaskListener { CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpgStep7?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java index 2d00907c..e3a178c3 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPSumBefore.java @@ -29,6 +29,7 @@ public class PEPSumBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpgStep6?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java index 4763ebba..8c2321c9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPffresPersonBefore.java @@ -29,6 +29,7 @@ public class PEPffresPersonBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpgStep5?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java index 0e7f2b13..ec6d142e 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPmanagerApproveBefore.java @@ -28,6 +28,7 @@ public class PEPmanagerApproveBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpgStep2?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java index d862f3e2..ff7ee0a1 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskEstimateBefore.java @@ -29,6 +29,7 @@ public class PEPtaskEstimateBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpgStep4?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java index 0df65fd2..bf2e5b14 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java @@ -29,6 +29,7 @@ public class PEPtaskLssueBefore implements TaskListener { // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("xmpgStep3?prcType=5"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java index 5aeb8006..ff89c931 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ApplyApplicantBefore.java @@ -35,6 +35,7 @@ public class ApplyApplicantBefore implements TaskListener{ // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzrkStep4?prcType=1"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java index d50835c5..2dde4173 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/CountersignBefore.java @@ -31,6 +31,7 @@ public class CountersignBefore implements TaskListener{ // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzrkStep3?prcType=1"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java index 136a93ea..db725dbb 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardLibrary/ManagerApproveBefore.java @@ -37,6 +37,7 @@ public class ManagerApproveBefore implements TaskListener{ busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzrkStep2?prcType=1"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java index b8c9649a..ec1ad023 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptApplayBefore.java @@ -30,6 +30,7 @@ public class DeptApplayBefore implements TaskListener{ // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzjdStep6?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java index 39d5f832..f03a2469 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/DeptZrBefore.java @@ -30,6 +30,7 @@ public class DeptZrBefore implements TaskListener{ // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzjdStep2?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java index 7f37725f..6dae30e3 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/EngineerApplayBefore.java @@ -30,6 +30,7 @@ public class EngineerApplayBefore implements TaskListener{ // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzjdStep5?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java index b630aadd..42f401cb 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ExpainBefore.java @@ -30,6 +30,7 @@ public class ExpainBefore implements TaskListener{ // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzjdStep3?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java index 6303419c..de63ff7f 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRead/ZrApplayBefore.java @@ -30,6 +30,7 @@ public class ZrApplayBefore implements TaskListener{ // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzjdStep4?prcType=9"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java index 952913fc..fd68e267 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/CountersignSRPBefore.java @@ -30,6 +30,7 @@ public class CountersignSRPBefore implements TaskListener{ CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzqdfbStep2?prcType=4"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java index a1186406..b4cef66c 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPApplyApplicantBefore.java @@ -30,6 +30,7 @@ public class SRPApplyApplicantBefore implements TaskListener{ CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzqdfbStep3?prcType=4"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java index 89cb411b..8cb88fe6 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/standardRegulatoryProcess/SRPManagerApproveBefore.java @@ -30,6 +30,7 @@ public class SRPManagerApproveBefore implements TaskListener{ CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 one1.setLink("bzqdfbStep4?prcType=4"); + one1.setTaskInfo(delegateTask.getName()); oaService.sendTodoMq(one1); } } From f583e7983b173c72971156097348b9197a7d7a04 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Mon, 27 Sep 2021 15:39:08 +0800 Subject: [PATCH 14/17] feat: There is no way the --- .../task/TaskController.java | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java index e3613742..78a40e18 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java @@ -48,18 +48,14 @@ public class TaskController { @ApiOperation(value = "流程实例明细验证是否完成") @GetMapping("/get_verify_by_instance") public long get_verify_by_instance(String taskId,String pId) { - Map map = new TreeMap<>(); - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("TASK_ID",taskId); - queryWrapper.eq("P_ID",pId); - queryWrapper.eq("COMMIT_FLAG","0"); - long count1 = iBusProcessNewService.count(queryWrapper); - QueryWrapper queryWrapper1 = new QueryWrapper(); - queryWrapper1.eq("TASK_ID",taskId); - queryWrapper1.eq("P_ID",pId); - queryWrapper1.eq("FINISH_FLAG","0"); - long count2 = iBusProcessNewService.count(queryWrapper1); - return count1 + count2; + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(pId).taskId(taskId).finished(); + List list = historicTaskInstanceQuery.list(); + long count = 0; + if(!list.isEmpty()){ + count = list.size(); + } + return count; } From e79d6b735ecebc131057096adae0fc590201750f Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Wed, 29 Sep 2021 18:00:54 +0800 Subject: [PATCH 15/17] feat: There is no way the task exec --- .../task/TaskController.java | 35 +++++++++-- .../task/TodoTaskController.java | 10 ++++ .../controller/OaTaskExecController.java | 16 +++++ .../datas/entity/BusProcessNew.java | 6 +- .../datas/entity/OaTaskExec.java | 5 +- .../datas/service/IOaTaskExecService.java | 4 ++ .../service/impl/OaTaskExecServiceImpl.java | 60 +++++++++++++++++++ .../business_mq/service/CreateMQService.java | 17 ++++-- .../business_mq/service/SendMQService.java | 22 +++++-- .../UploadResearchResultBefore.java | 6 ++ .../PEPtaskLssueBefore.java | 6 ++ .../java/com/ydw/bat/wkflow/util/Utils.java | 56 +++++++++++++++-- 12 files changed, 219 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java index 78a40e18..14a56d6b 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TaskController.java @@ -7,9 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_auth.LawsUserInfoService; import com.ydw.bat.wkflow.business_main.datas.entity.*; -import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService; -import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; -import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.*; import org.activiti.engine.HistoryService; import org.activiti.engine.history.HistoricTaskInstance; import org.activiti.engine.history.HistoricTaskInstanceQuery; @@ -42,20 +40,45 @@ public class TaskController { private IBusProcessNameService iBusProcessNameService; @Autowired private IBusProcessNewService iBusProcessNewService; + @Autowired + private IOaTaskExecService oaTaskExecService; + @Autowired + private ISendTodoLogService sendTodoLogService; @Autowired private IBusProcessEntrustService iBusProcessEntrustService; @ApiOperation(value = "流程实例明细验证是否完成") @GetMapping("/get_verify_by_instance") - public long get_verify_by_instance(String taskId,String pId) { - HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() + public Map get_verify_by_instance(String taskId,String pId) { + Map map = new TreeMap<>(); + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() .processInstanceId(pId).taskId(taskId).finished(); List list = historicTaskInstanceQuery.list(); long count = 0; if(!list.isEmpty()){ count = list.size(); } - return count; + map.put("hisCount",count); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("TASK_ID",taskId); + queryWrapper.eq("P_ID",pId); + List list1 = iBusProcessNewService.list(queryWrapper); + long count1 = 0; + if(!list1.isEmpty()){ + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",list1.get(0).getId()); + wrapper.eq("EXEC_TYPE",2); + wrapper.eq("EXEC_STATUS",0); + count1 = oaTaskExecService.count(wrapper); + } + map.put("commitStatus",count1); + // OA 流程 是否置为 已办 (用于干活流程 接收逻辑) + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",list1.get(0).getId()); + wrapper.eq("MSG_TYPE","1"); + long count2 = sendTodoLogService.count(wrapper); + map.put("isNotFinished",count2); + return map; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index e3a7049e..e34fef18 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -22,6 +22,7 @@ import com.alibaba.fastjson.JSONObject; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessEntrustService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNameService; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendContext; @@ -91,6 +92,9 @@ public class TodoTaskController extends BaseAction { @Autowired private LawsUserInfoService lawsUserInfoService; + @Autowired + private IOaTaskExecService oaTaskExecService; + @Autowired private CreateMQService mqService; @@ -562,6 +566,12 @@ public class TodoTaskController extends BaseAction { JSONArray arr2 = new JSONArray(); object3.put("taskBreak", arr2); processNew.setMesg(object3.toJSONString()); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",processNew.getId()); + wrapper.eq("EXEC_TYPE",2); + wrapper.eq("EXEC_STATUS",0); + long count = oaTaskExecService.count(wrapper); + processNew.setCommitStatus(count); return processNew; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java index 2c2a1c0b..f8cc82a4 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/controller/OaTaskExecController.java @@ -1,10 +1,16 @@ package com.ydw.bat.wkflow.business_main.datas.controller; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Map; + /** *

* OA 干活任务执行表 前端控制器 @@ -17,5 +23,15 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/oaTaskExec") public class OaTaskExecController { + @Autowired + private IOaTaskExecService oaTaskExecService; + + @ApiOperation(value = "接受任务") + @GetMapping("/execTask") + public Map execTask(String todoId) { + Map map = oaTaskExecService.execTask(todoId); + return map; + } + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java index 6af6dc34..134d9db7 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/BusProcessNew.java @@ -101,10 +101,10 @@ public class BusProcessNew implements Serializable { private String endTime; @TableField( exist = false) - @ApiModelProperty(value = "任务状态 1 审批任务 2 干活任务") + @ApiModelProperty(value = "任务状态 0 默认 1 审批任务 2 干活任务") private int taskStatus; @TableField( exist = false) - @ApiModelProperty(value = "维度 1 3天内 2 3天外") - private int execType; + @ApiModelProperty(value = "提交状态 0 提交 其它 接受 ") + private long commitStatus; } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java index 60a3e524..d0d3ac29 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/OaTaskExec.java @@ -1,5 +1,6 @@ package com.ydw.bat.wkflow.business_main.datas.entity; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; @@ -30,10 +31,10 @@ public class OaTaskExec implements Serializable { private static final long serialVersionUID=1L; @ApiModelProperty(value = "主键") - @TableId("ID") + @TableId(value = "ID", type = IdType.UUID) private String id; - @ApiModelProperty(value = "执行维度 1 3天内 2 3天外") + @ApiModelProperty(value = "执行维度 1 3天内 2 3天外 3 超时") @TableField("EXEC_TYPE") private int execType; diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java index 25c9cf2a..1e22b933 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IOaTaskExecService.java @@ -3,6 +3,8 @@ package com.ydw.bat.wkflow.business_main.datas.service; import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.Map; + /** *

* OA 干活任务执行表 服务类 @@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IOaTaskExecService extends IService { + Map execTask(String todoId); + } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java index 8415b2b1..282bdb88 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java @@ -1,11 +1,21 @@ package com.ydw.bat.wkflow.business_main.datas.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec; import com.ydw.bat.wkflow.business_main.datas.mapper.OaTaskExecMapper; import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.Utils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + /** *

* OA 干活任务执行表 服务实现类 @@ -17,4 +27,54 @@ import org.springframework.stereotype.Service; @Service public class OaTaskExecServiceImpl extends ServiceImpl implements IOaTaskExecService { + @Autowired + private IOaTaskExecService oaTaskExecService; + + @Autowired + private CreateMQService oaService; + + @Override + public Map execTask(String todoId){ + Map map = new TreeMap<>(); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",todoId); + wrapper.eq("EXEC_TYPE",2); + List taskExecs = oaTaskExecService.list(wrapper); + if(!taskExecs.isEmpty()){ + OaTaskExec oaTaskExec = taskExecs.get(0); + BusProcessNew object = (BusProcessNew) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(oaTaskExec.getMesg()), BusProcessNew.class); + + int days = Utils.subDayNum(oaTaskExec.getEndTime()); + if(days > 3){ + // 3天外处理 更改执行状态 1 进入定时任务 不发送OA待办 + // ????? 待 + updateOaTaskExec(taskExecs,1,2); + }else { + if(days < 0){ + // 超时处理 + updateOaTaskExec(taskExecs,0,3); + // 直接发送OA待办 重置任务状态 0 + object.setTaskStatus(0); + oaService.sendTodoMq(object); + }else { + // 3天内处理 + updateOaTaskExec(taskExecs,0,1); + // 直接发送OA待办 重置任务状态 0 + object.setTaskStatus(0); + oaService.sendTodoMq(object); + } + } + + } + return map; + } + + private void updateOaTaskExec(List taskExecs, int execStatus, int execType){ + taskExecs.forEach(taskExec -> { + // 任务修改为 启动状态 + taskExec.setExecStatus(execStatus); + taskExec.setExecType(execType); + }); + oaTaskExecService.updateBatchById(taskExecs); + } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java index c97ffbe7..f5df0403 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/CreateMQService.java @@ -5,6 +5,7 @@ import com.ydw.bat.wkflow.business_oa.webService.todoContent.NotifyTodoSendConte import org.apache.commons.lang3.StringUtils; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.util.Date; @@ -16,14 +17,20 @@ public class CreateMQService { @Autowired private AmqpTemplate rabbitTemplate; + @Value("${oa.flag}") + private Boolean oaFlag; + /** * @author: super_liu * @date: 2021年09月17日 14:40 **/ public void setTodoDoneMq(NotifyTodoSendContext object){ - //发送消息队列 - this.rabbitTemplate.convertAndSend("sendDone-exchange_MQ_GSAR", "sendDone-key_MQ_GSAR", object); + if(oaFlag){ + //发送消息队列 + this.rabbitTemplate.convertAndSend("sendDone-exchange_MQ_GSAR", "sendDone-key_MQ_GSAR", object); + + } } /** @@ -32,8 +39,10 @@ public class CreateMQService { **/ public void sendTodoMq(BusProcessNew object){ - //发送消息队列 - this.rabbitTemplate.convertAndSend("send-exchange_MQ_GSAR", "send-key_MQ_GSAR", object); + if(oaFlag) { + //发送消息队列 + this.rabbitTemplate.convertAndSend("send-exchange_MQ_GSAR", "send-key_MQ_GSAR", object); + } } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java index b4bbefef..33ea749a 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java @@ -9,6 +9,7 @@ import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; import com.ydw.bat.wkflow.business_oa.utils.EmailUtils; import com.ydw.bat.wkflow.business_oa.webService.service.WebServiceOAService; import com.ydw.bat.wkflow.business_oa.webService.todoResult.NotifyTodoAppResult; +import com.ydw.bat.wkflow.util.Utils; import net.sf.json.JSONObject; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; @@ -63,19 +64,30 @@ public class SendMQService { try{ Thread.sleep(5000); if(object.getTaskStatus() == 2 && object.getEndTime() != null && StringUtils.isNotBlank(object.getEndTime())){ - DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); - LocalDate startDate = LocalDate.parse(new SimpleDateFormat("yyyy-MM-dd").format(new Date()),fmt); - LocalDate endDate = LocalDate.parse(object.getEndTime(),fmt); - int days = (int) startDate.until(endDate, ChronoUnit.DAYS); + int days = Utils.subDayNum(object.getEndTime()); // 3 天 外 if(days > 3){ - // 待 + // 执行日期 + String execTime = Utils.subDay(object.getEndTime(),3); + net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(object); + + // 执行任务对象 默认存储 OaTaskExec oaTaskExec = new OaTaskExec(); oaTaskExec.setExecType(2); + oaTaskExec.setTodoId(object.getId()); + oaTaskExec.setUserId(object.getUserId()); + oaTaskExec.setMesg(json.toString()); oaTaskExec.setCreateTime(sdf.format(new Date())); oaTaskExec.setUpdateTime(sdf.format(new Date())); + oaTaskExec.setExecTime(execTime); + oaTaskExec.setEndTime(object.getEndTime()); + oaTaskExec.setExecStatus(0); oaTaskExecService.save(oaTaskExec); + object.setPrcName(object.getPrcName()+",请接受任务!"); + + // 3 天 外 发送 OA 接受待办 + insertOrUpdateInfo(object); }else { // 3 天 内 发送 OA 待办 insertOrUpdateInfo(object); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java index 91789b06..2ab1b25a 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/StandardCommentProcess/UploadResearchResultBefore.java @@ -1,10 +1,12 @@ package com.ydw.bat.wkflow.listener.StandardCommentProcess; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -28,8 +30,12 @@ public class UploadResearchResultBefore implements TaskListener { busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + JSONObject object = JSONObject.parseObject(one1.getMesg()); one1.setLink("bzzqyjStep3?prcType=3"); one1.setTaskInfo(delegateTask.getName()); + // 干活节点流程 + one1.setTaskStatus(2); + one1.setEndTime(Utils.interceptTime(object.getString("endTime"))); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java index bf2e5b14..b3621ba4 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/projectEvaluationProcess/PEPtaskLssueBefore.java @@ -1,10 +1,12 @@ package com.ydw.bat.wkflow.listener.projectEvaluationProcess; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_mq.service.CreateMQService; import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; @@ -28,8 +30,12 @@ public class PEPtaskLssueBefore implements TaskListener { busBean.saveOrUpdate(one1); // 发送 oa 待办 设置 跳转页面 router ? 后面流程类型 + JSONObject object = JSONObject.parseObject(one1.getMesg()); one1.setLink("xmpgStep3?prcType=5"); one1.setTaskInfo(delegateTask.getName()); + // 干活节点流程 + one1.setTaskStatus(2); + one1.setEndTime(Utils.interceptTime(object.getString("endTime"))); oaService.sendTodoMq(one1); } } diff --git a/src/main/java/com/ydw/bat/wkflow/util/Utils.java b/src/main/java/com/ydw/bat/wkflow/util/Utils.java index 17f9c111..45acb6c9 100644 --- a/src/main/java/com/ydw/bat/wkflow/util/Utils.java +++ b/src/main/java/com/ydw/bat/wkflow/util/Utils.java @@ -2,11 +2,16 @@ package com.ydw.bat.wkflow.util; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang3.StringUtils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.*; /** * @Description: TODO @@ -15,6 +20,49 @@ import java.util.Map; */ public class Utils { + public static int subDayNum(String endTime){ + DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate startDate = LocalDate.parse(new SimpleDateFormat("yyyy-MM-dd").format(new Date()),fmt); + LocalDate endDate = LocalDate.parse(endTime,fmt); + int days = (int) startDate.until(endDate, ChronoUnit.DAYS); + return days; + } + + public static String interceptTime(String timeStr) { + if (StringUtils.isNotBlank(timeStr)) { + System.out.println(timeStr.length()); + if (timeStr.contains("T")) { + DateTimeFormatter df20 = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH); + DateTimeFormatter df24 = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH); + LocalDateTime ldt = LocalDateTime.parse(timeStr, timeStr.length() > 20 ? df24:df20); + ZoneId currentZone = ZoneId.of("UTC"); + ZoneId newZone = ZoneId.of("Asia/Shanghai"); + timeStr = ldt.atZone(currentZone).withZoneSameInstant(newZone).toLocalDateTime().toString(); + } + if (timeStr.length() >= 10) { + return timeStr.substring(0, 10); + } + } + return timeStr; + } + + public static String subDay(String date, Integer dayInt) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date today = null; + try { + today = sdf.parse(date); + } catch (ParseException e) { + } + String endDate = sdf.format(today);//当前日期 + Calendar theCa = Calendar.getInstance(); + theCa.setTime(today); + theCa.add(theCa.DATE, -dayInt);//最后一个数字30可改,30天的意思 + Date start = theCa.getTime(); + String startDate = sdf.format(start);//三十天之前日期 + + return startDate; + } + public static Map jsonArrGroup(JSONArray arr, String groupName, String sGroupName) { Map map = new HashMap<>(); String tempIdStr = ""; From f96f8f4faa9a8f2efdc30ae7ffc3081c56d130d2 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Wed, 29 Sep 2021 18:02:27 +0800 Subject: [PATCH 16/17] feat: There is no way the oa conf --- src/main/resources/application.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 0d6128d0..797e912e 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -27,7 +27,7 @@ spring: servlet: multipart: maxFileSize: "100MB" - maxRequestSize: "100MB" + maxRequestSize: "100MB" datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver @@ -93,6 +93,10 @@ ribbon: ReadTimeout: 60000 ConnectTimeout: 60000 +# 配置 是否 启用 OA +oa: + flag: false + # 配置前端服务全路径地址 如下 /#/ webUrl: http://62.234.136.153:8038/#/ From 9ed1637677b992449c7c1a60d1643939d68afe58 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Thu, 30 Sep 2021 15:25:44 +0800 Subject: [PATCH 17/17] feat: There is no way the schedule --- pom.xml | 5 ++ .../service/impl/OaTaskExecServiceImpl.java | 24 +++-- .../business_mq/service/SendMQService.java | 2 +- .../ydw/bat/wkflow/config/ScheduledJob.java | 88 +++++++++++++++++++ src/main/resources/application.yml | 13 ++- 5 files changed, 121 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/ydw/bat/wkflow/config/ScheduledJob.java diff --git a/pom.xml b/pom.xml index 7585a56d..57beee38 100644 --- a/pom.xml +++ b/pom.xml @@ -33,6 +33,11 @@ org.springframework.boot spring-boot-starter-mail + + + org.springframework + spring-context-support + org.springframework.cloud diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java index 282bdb88..f0ffc21f 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/OaTaskExecServiceImpl.java @@ -12,9 +12,8 @@ import com.ydw.bat.wkflow.util.Utils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; +import java.text.SimpleDateFormat; +import java.util.*; /** *

@@ -43,12 +42,11 @@ public class OaTaskExecServiceImpl extends ServiceImpl 3){ // 3天外处理 更改执行状态 1 进入定时任务 不发送OA待办 - // ????? 待 updateOaTaskExec(taskExecs,1,2); + getSuccess(map, "0", "操作成功"); }else { if(days < 0){ // 超时处理 @@ -56,12 +54,14 @@ public class OaTaskExecServiceImpl extends ServiceImpl map, String sign, String message) { + map.put("sign",sign); + map.put("message",message); + } + private void updateOaTaskExec(List taskExecs, int execStatus, int execType){ - taskExecs.forEach(taskExec -> { + List updateList = new ArrayList<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + updateList.addAll(taskExecs); + updateList.forEach(taskExec -> { // 任务修改为 启动状态 taskExec.setExecStatus(execStatus); taskExec.setExecType(execType); + taskExec.setUpdateTime(sdf.format(new Date())); }); - oaTaskExecService.updateBatchById(taskExecs); + oaTaskExecService.updateBatchById(updateList); } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java index 33ea749a..46eaff1b 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_mq/service/SendMQService.java @@ -64,7 +64,7 @@ public class SendMQService { try{ Thread.sleep(5000); if(object.getTaskStatus() == 2 && object.getEndTime() != null && StringUtils.isNotBlank(object.getEndTime())){ - SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); int days = Utils.subDayNum(object.getEndTime()); // 3 天 外 if(days > 3){ diff --git a/src/main/java/com/ydw/bat/wkflow/config/ScheduledJob.java b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJob.java new file mode 100644 index 00000000..86bd1047 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/config/ScheduledJob.java @@ -0,0 +1,88 @@ +package com.ydw.bat.wkflow.config; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; +import com.ydw.bat.wkflow.business_main.datas.entity.OaTaskExec; +import com.ydw.bat.wkflow.business_main.datas.service.IOaTaskExecService; +import com.ydw.bat.wkflow.business_mq.service.CreateMQService; +import com.ydw.bat.wkflow.util.SpringContextUtil; +import com.ydw.bat.wkflow.util.Utils; +import lombok.extern.slf4j.Slf4j; +import org.activiti.engine.HistoryService; +import org.activiti.engine.history.HistoricTaskInstance; +import org.activiti.engine.history.HistoricTaskInstanceQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + + +@EnableScheduling +@Component +@Slf4j +public class ScheduledJob { + + /** + * 根据配置文件设置是否开启定时器 + */ + + @Value("${isNotScheduled}") + private boolean isNotScheduled; //是否开启定时器 + + @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行 +// @Scheduled(cron="*/5 * * * * ?") + @Async + public void SchedulingTask() { + if(isNotScheduled){ + HistoryService historyService = SpringContextUtil.getBean(HistoryService.class); + IOaTaskExecService execService = SpringContextUtil.getBean(IOaTaskExecService.class); + CreateMQService oaService = SpringContextUtil.getBean(CreateMQService.class); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("EXEC_TYPE",2); + wrapper.eq("EXEC_STATUS",1); + wrapper.eq("EXEC_TIME",sdf.format(new Date())); + List taskExecs = execService.list(wrapper); + if(!taskExecs.isEmpty()){ + taskExecs.forEach(taskExec -> { + BusProcessNew object = (BusProcessNew) net.sf.json.JSONObject.toBean(net.sf.json.JSONObject.fromObject(taskExec.getMesg()), BusProcessNew.class); + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery() + .processInstanceId(object.getPId()).taskId(object.getTaskId()).finished(); + List list = historicTaskInstanceQuery.list(); + // 判断定时任务的流程节点是否已完成 + if(!list.isEmpty()){ + // 业务系统流程节点已完成 则不再发送 OA 待办 + updateTask(execService, sdf, taskExec); + }else { + // 业务系统流程节点未完成 再发送 OA 待办 + // 任务状态 置为 已完成 业务流程 干活流程节点 均显示 提交 + updateTask(execService, sdf, taskExec); + // 直接发送OA待办 重置任务状态 0 + object.setTaskStatus(0); + oaService.sendTodoMq(object); + } + }); + + } + + + } + } + + private void updateTask(IOaTaskExecService execService, SimpleDateFormat sdf, OaTaskExec taskExec) { + OaTaskExec exec = new OaTaskExec(); + exec.setId(taskExec.getId()); + exec.setExecStatus(2); + exec.setUpdateTime(sdf.format(new Date())); + execService.updateById(exec); + } + + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 797e912e..da455323 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -47,6 +47,9 @@ spring: username: guest password: guest listener: + direct: + # 默认加载 发版 需改为 true + auto-startup: false simple: concurrency: 5 max-concurrency: 10 @@ -59,10 +62,12 @@ spring: enabled: true #最大重试9次 max-attempts: 6 + # 消费者默认加载 发版 需改为 true + auto-startup: false -# ============================================================================= -# 邮箱配置-1 -# ============================================================================= + # ============================================================================= + # 邮箱配置-1 + # ============================================================================= mail: host: smtp.163.com protocol: smtp @@ -100,3 +105,5 @@ oa: # 配置前端服务全路径地址 如下 /#/ webUrl: http://62.234.136.153:8038/#/ +isNotScheduled: true +