From 16335c0ebdbb00381a7c008ccaa387ceadcfd45b Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 14 九月 2026 17:37:01 +0800
Subject: [PATCH] 【景宁】景宁 定时发送异常信息-景宁
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 42 +++++++
ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java | 7 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/tools/DingTalkController.java | 14 ++
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingAsyncSendMsgReq.java | 18 +++
smartor/src/main/java/com/smartor/service/DingTalkService.java | 15 ++
ruoyi-common/src/main/java/com/ruoyi/common/utils/DingTalkUtils.java | 79 +++++++++++++
smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java | 108 ++++++++++++++++++
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java | 33 ++++
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingAsyncSendMsgResp.java | 11 +
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingTokenResp.java | 11 +
ruoyi-common/src/main/java/com/ruoyi/common/core/service/IDingTalkService.java | 15 ++
11 files changed, 347 insertions(+), 6 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/tools/DingTalkController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/tools/DingTalkController.java
index 5e1689d..5d6f356 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/tools/DingTalkController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/tools/DingTalkController.java
@@ -48,5 +48,19 @@
return aBoolean;
}
+ /**
+ * 鍙戦�侀拤閽夋秷鎭�
+ *
+ * @param dingTalkReqVo 鍙戦�佸唴瀹�
+ * @throws ApiException
+ */
+ @ApiOperation("鍙戦�侀拤閽夋秷鎭�")
+ @PostMapping("/sendDingTalkText")
+ public void sendDingTalkText(@RequestBody DingTalkReqVo dingTalkReqVo) throws Exception {
+// String userid = dingTalkService.getDingTalkUserByMobile(dingTalkReqVo.getNumber());
+ String userid = "214563391024684607";
+ dingTalkService.sendDingTalkText("鏅畞鍙戦�侀拤閽夋秷鎭祴璇�", userid);
+ }
+
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingAsyncSendMsgReq.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingAsyncSendMsgReq.java
new file mode 100644
index 0000000..eda3e96
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingAsyncSendMsgReq.java
@@ -0,0 +1,18 @@
+package com.ruoyi.common.core.domain;
+
+import lombok.Data;
+import java.util.Map;
+
+@Data
+public class DingAsyncSendMsgReq {
+ /** 搴旂敤agentId */
+ private Long agent_id;
+ /** 鎺ユ敹浜簎serid鍒楄〃锛屽涓�楀彿鍒嗛殧锛涗笌dept_id_list浜岄�変竴 */
+ private String userid_list;
+ /** 鎺ユ敹閮ㄩ棬id鍒楄〃锛屽涓�楀彿鍒嗛殧 */
+ private String dept_id_list;
+ /** 鏄惁鍙戦�佺粰鎵�鏈夊憳宸ワ紝true鍒檜serid_list銆乨ept_id_list澶辨晥 */
+ private Boolean to_all_user;
+ /** 娑堟伅浣� */
+ private Map<String, Object> msg;
+}
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingAsyncSendMsgResp.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingAsyncSendMsgResp.java
new file mode 100644
index 0000000..52cc925
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingAsyncSendMsgResp.java
@@ -0,0 +1,11 @@
+package com.ruoyi.common.core.domain;
+
+import lombok.Data;
+
+@Data
+public class DingAsyncSendMsgResp {
+ private Integer errcode;
+ private String errmsg;
+ /** 浠诲姟id锛屽悗缁洖璋冧細甯﹀洖杩欎釜task_id */
+ private Long task_id;
+}
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingTokenResp.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingTokenResp.java
new file mode 100644
index 0000000..fce4bf5
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/DingTokenResp.java
@@ -0,0 +1,11 @@
+package com.ruoyi.common.core.domain;
+
+import lombok.Data;
+
+@Data
+public class DingTokenResp {
+ private Integer errcode;
+ private String errmsg;
+ private String access_token;
+ private Long expires_in;
+}
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/IDingTalkService.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/IDingTalkService.java
index a36cbe4..39c3a82 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/IDingTalkService.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/IDingTalkService.java
@@ -13,4 +13,19 @@
* @return 鏄惁鎴愬姛
*/
Boolean sendNotification(DingTalkReqVo dingTalkReqVo);
+
+ /**
+ * 鍙戦�侀拤閽夋秷鎭�-鏅畞
+ * @param sMessageContent
+ * @throws Exception
+ */
+ void sendDingTalkText(String sMessageContent, String userId) throws Exception;
+
+ /**
+ * 鏍规嵁鐢佃瘽鑾峰彇鐢ㄦ埛
+ * @param mobile
+ * @return
+ * @throws Exception
+ */
+ String getDingTalkUserByMobile(String mobile) throws Exception;
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java b/ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java
index fb3a9f5..fdf267a 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/dx/MessageSend.java
@@ -1,5 +1,9 @@
package com.ruoyi.common.dx;
+import com.dingtalk.api.DefaultDingTalkClient;
+import com.dingtalk.api.DingTalkClient;
+import com.dingtalk.api.request.OapiMessageCorpconversationAsyncsendV2Request;
+import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;
import com.ruoyi.common.utils.uuid.UUID;
import lombok.extern.slf4j.Slf4j;
@@ -31,7 +35,8 @@
result = soap.i5GSend("202508291634227086", "T202508291635259440", UUID.randomUUID().toString(), sMessageContent, sMessageType, sUserNumber, sScheduleTime);
log.info("----鐭俊杩斿洖鐨勬暟鎹负锛歿}, ----sMessageContent 鐨勫�间负:{}", result,UUID.randomUUID().toString());
} else if ("7".equals(sMessageType)) {
- result = soap.i5GSend("202508291634227086", "T202607211306131891", UUID.randomUUID().toString(), sMessageContent, sMessageType, sUserNumber, sScheduleTime);
+ result = soap.i5GSend("202508291634227086", "T202607211306131891",
+ UUID.randomUUID().toString(), sMessageContent, sMessageType, sUserNumber, sScheduleTime);
log.info("----閽夐拤杩斿洖鐨勫師濮嬫暟鎹负锛歿}", result);
} else {
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DingTalkUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DingTalkUtils.java
new file mode 100644
index 0000000..01c6202
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DingTalkUtils.java
@@ -0,0 +1,79 @@
+package com.ruoyi.common.utils;
+
+import com.alibaba.fastjson2.JSON;
+import com.ruoyi.common.core.domain.DingAsyncSendMsgReq;
+import com.ruoyi.common.core.domain.DingAsyncSendMsgResp;
+import com.ruoyi.common.core.domain.DingTokenResp;
+import okhttp3.*;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+public class DingTalkUtils {
+
+ private static final OkHttpClient HTTP_CLIENT = new OkHttpClient.Builder()
+ .connectTimeout(10, TimeUnit.SECONDS)
+ .readTimeout(10, TimeUnit.SECONDS)
+ .build();
+
+ /**
+ * 鑾峰彇浼佷笟access_token
+ * @param corpid 浼佷笟ID
+ * @param corpsecret 搴旂敤鐨勫嚟璇佸瘑閽�
+ * @return DingTokenResp
+ */
+ public static DingTokenResp getAccessToken(String corpid, String corpsecret) throws IOException {
+ String url = "https://oapi.dingtalk.com/gettoken?corpid=" + corpid + "&corpsecret=" + corpsecret;
+ Request request = new Request.Builder()
+ .url(url)
+ .get()
+ .build();
+ try (Response response = HTTP_CLIENT.newCall(request).execute()) {
+ String body = response.body().string();
+ return JSON.parseObject(body, DingTokenResp.class);
+ }
+ }
+
+ /**
+ * 寮傛鍙戦�佷紒涓氫細璇濇秷鎭� asyncsend_v2
+ */
+ public static DingAsyncSendMsgResp asyncSendCorpMsg(String accessToken, DingAsyncSendMsgReq req) throws IOException {
+ String url = "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=" + accessToken;
+
+ String jsonBody = JSON.toJSONString(req);
+ RequestBody body = RequestBody.create(jsonBody, MediaType.get("application/json; charset=utf-8"));
+
+ Request request = new Request.Builder()
+ .url(url)
+ .post(body)
+ .build();
+
+ try (Response response = HTTP_CLIENT.newCall(request).execute()) {
+ String respBody = response.body().string();
+ return JSON.parseObject(respBody, DingAsyncSendMsgResp.class);
+ }
+ }
+
+ // ========== 鏋勫缓娑堟伅绀轰緥锛氭枃鏈秷鎭� ==========
+ public static Map<String, Object> buildTextMsg(String content) {
+ Map<String, Object> msgMap = new HashMap<>();
+ msgMap.put("msgtype", "text");
+ Map<String, Object> text = new HashMap<>();
+ text.put("content", content);
+ msgMap.put("text", text);
+ return msgMap;
+ }
+
+ // ========== 鏋勫缓娑堟伅绀轰緥锛歮arkdown娑堟伅 ==========
+ public static Map<String, Object> buildMarkdownMsg(String title, String text) {
+ Map<String, Object> msgMap = new HashMap<>();
+ msgMap.put("msgtype", "markdown");
+ Map<String, Object> markdown = new HashMap<>();
+ markdown.put("title", title);
+ markdown.put("text", text);
+ msgMap.put("markdown", markdown);
+ return msgMap;
+ }
+}
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 2f047a7..55c1971 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -9,6 +9,7 @@
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.core.service.IDingTalkService;
import com.ruoyi.common.dx.MessageSend;
import com.ruoyi.common.enums.MsgLSEnum;
import com.ruoyi.common.enums.ServiceFromEnum;
@@ -104,6 +105,9 @@
@Autowired
private ISysConfigService configService;
+
+ @Autowired
+ private IDingTalkService dingTalkService;
@Value("${localIP}")
@@ -270,6 +274,44 @@
}
}
+ /**
+ * 瀹氭椂鍙戦�佸紓甯镐俊鎭�-鏅畞
+ */
+ public void sendExceptInfo() throws Exception {
+ //1.鑾峰彇鍙戦�佷汉宸ュ彿
+ ServiceSubtaskDetailTraceVO subtaskDetailTraceVO = new ServiceSubtaskDetailTraceVO();
+ subtaskDetailTraceVO.setHandleFlag("0");
+ List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces =
+ serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTraceVO);
+ // 鎶� dutyDeptPersonCode 鏁寸悊鍒� list 涓紙濡傛灉澶氫釜浜虹敤閫楀彿鍒嗗壊锛屽垯灞曞紑骞跺幓閲嶏級
+ List<String> dutyDeptPersonCodeList = serviceSubtaskDetailTraces.stream()
+ .map(ServiceSubtaskDetailTrace::getDutyDeptPersonCode)
+ .filter(StringUtils::isNotBlank)
+ .flatMap(code -> Arrays.stream(code.split(",")))
+ .map(String::trim)
+ .filter(StringUtils::isNotBlank).distinct() // 鍘婚噸
+ .collect(Collectors.toList());
+ // 鑾峰彇鈥滃紓甯稿唴瀹规彁閱�"
+ SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("send.except.content");
+ String exceptContent = sysConfig.getConfigValue();
+
+ // 鑾峰彇鈥滃唴瀹规彁閱掓祴璇曚汉宸ュ彿鈥�
+ String testPerson = sysConfigMapper.checkConfigKeyUnique("send.test.person").getConfigValue();
+ if (StringUtils.isNotBlank(testPerson)) {
+ String[] split = testPerson.split(",");
+ if (CollectionUtils.isEmpty(dutyDeptPersonCodeList)) dutyDeptPersonCodeList = Arrays.asList(split);
+ else dutyDeptPersonCodeList.addAll(Arrays.asList(split));
+ }
+
+ if (CollectionUtils.isNotEmpty(dutyDeptPersonCodeList)) {
+ for (String dutyDeptPersonCode : dutyDeptPersonCodeList) {
+ log.info("銆恠endExceptInfo銆戝彂閫佷汉宸ュ彿锛歿}", dutyDeptPersonCode);
+ String dutyDeptPerson = dingTalkService.getDingTalkUserByMobile(dutyDeptPersonCode);
+ dingTalkService.sendDingTalkText(exceptContent, dutyDeptPerson);
+ }
+ }
+ }
+
/**
* 瀹氭椂澶勭悊澶栭摼鐨勬暟鎹�
diff --git a/smartor/src/main/java/com/smartor/service/DingTalkService.java b/smartor/src/main/java/com/smartor/service/DingTalkService.java
index cc7313f..56f5759 100644
--- a/smartor/src/main/java/com/smartor/service/DingTalkService.java
+++ b/smartor/src/main/java/com/smartor/service/DingTalkService.java
@@ -21,4 +21,19 @@
* @param dingTalkReqVo
*/
public Boolean sendNotification(DingTalkReqVo dingTalkReqVo);
+
+ /**
+ * 鍙戦�侀拤閽夋秷鎭�-鏅畞
+ * @param sMessageContent
+ * @throws Exception
+ */
+ public void sendDingTalkText(String sMessageContent, String userId) throws Exception;
+
+ /**
+ * 鏍规嵁鐢佃瘽鑾峰彇鐢ㄦ埛
+ * @param mobile
+ * @return
+ * @throws Exception
+ */
+ public String getDingTalkUserByMobile(String mobile) throws Exception;
}
diff --git a/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java
index 7a61278..35761ab 100644
--- a/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java
@@ -12,7 +12,11 @@
import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;
import com.dingtalk.api.response.OapiUserListidResponse;
import com.dingtalk.api.response.OapiV2UserGetbymobileResponse;
+import com.ruoyi.common.core.domain.DingAsyncSendMsgReq;
+import com.ruoyi.common.core.domain.DingAsyncSendMsgResp;
import com.ruoyi.common.core.domain.DingTalkReqVo;
+import com.ruoyi.common.core.domain.DingTokenResp;
+import com.ruoyi.common.utils.DingTalkUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.service.DingTalkService;
import com.taobao.api.ApiException;
@@ -40,6 +44,9 @@
@Value("${dingAppSecret}")
private String dingAppSecret;
+
+ @Value("${dingAppAgentId}")
+ private Long dingAppAgentId;
@Override
public Boolean sendNotification(DingTalkReqVo dingTalkReqVo) {
@@ -158,4 +165,105 @@
OapiGettokenResponse response = client.execute(request);
return response.getAccessToken();
}
+
+ /**
+ * 鑾峰彇post access_token
+ */
+ private String getAccessTokenPost() throws ApiException {
+ DefaultDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.com/v1.0/oauth2/{corpId}/token");
+ OapiGettokenRequest request = new OapiGettokenRequest();
+ //Appkey
+ request.setAppkey(dingAppid);
+ //Appsecret
+ request.setAppsecret(dingAppSecret);
+ /*璇锋眰鏂瑰紡*/
+ request.setHttpMethod("Post");
+ OapiGettokenResponse response = client.execute(request);
+ return response.getAccessToken();
+ }
+
+// /**
+// * 鍙戦�侀拤閽夋秷鎭�-鏅畞
+// * @param sMessageContent
+// * @throws Exception
+// */
+// public void sendDingTalkText(String sMessageContent) throws Exception {
+// String CORP_ID = "浣犵殑浼佷笟corpid";
+// String CORP_SECRET = "浼佷笟搴旂敤鐨刢orpsecret";
+// Long AGENT_ID = 4992829038L; // 浣犵殑搴旂敤agentId
+//
+// try {
+// // 1. 鑾峰彇access_token
+// DingTokenResp tokenResp = DingTalkUtils.getAccessToken(CORP_ID, CORP_SECRET);
+// if (tokenResp.getErrcode() != 0) {
+// System.err.println("鑾峰彇token澶辫触锛�" + tokenResp.getErrmsg());
+// return;
+// }
+// String accessToken = tokenResp.getAccess_token();
+// System.out.println("access_token=" + accessToken);
+//
+// // 2. 缁勮鍙戦�佽姹�
+// DingAsyncSendMsgReq sendReq = new DingAsyncSendMsgReq();
+// sendReq.setAgent_id(AGENT_ID);
+// sendReq.setUserid_list("user01,user02"); // 鎺ユ敹浜洪拤閽塽serId锛屽涓�楀彿
+// sendReq.setTo_all_user(false);
+// // 璁剧疆娑堟伅鍐呭锛岃繖閲岀敤鏂囨湰娑堟伅
+// sendReq.setMsg(DingTalkUtils.buildTextMsg("浣犲ソ锛岃繖鏄紓姝ュ彂閫侀拤閽夋秷鎭祴璇�"));
+//
+// // 3. 璋冪敤寮傛鍙戦�佹帴鍙�
+// DingAsyncSendMsgResp sendResp = DingTalkUtils.asyncSendCorpMsg(accessToken, sendReq);
+// if (sendResp.getErrcode() == 0) {
+// System.out.println("鎻愪氦娑堟伅浠诲姟鎴愬姛锛宼ask_id=" + sendResp.getTask_id());
+// System.out.println("娑堟伅瀹為檯鍙戦�佺粨鏋滐紝闇�瑕佸湪閽夐拤鍚庡彴閰嶇疆鍥炶皟鎺ユ敹");
+// } else {
+// System.err.println("鎻愪氦娑堟伅浠诲姟澶辫触锛歝ode=" + sendResp.getErrcode() + ",msg=" + sendResp.getErrmsg());
+// }
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
+
+ /**
+ * 鍙戦�侀拤閽夋秷鎭�-鏅畞
+ * @param sMessageContent
+ * @throws Exception
+ */
+ @Override
+ public void sendDingTalkText(String sMessageContent, String userId) throws Exception {
+ Long agentId = dingAppAgentId;
+ String accessToken = getAccessToken();
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
+ OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request();
+ request.setAgentId(agentId);
+ request.setUseridList(userId);
+ request.setToAllUser(false);
+
+ OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg();
+ msg.setMsgtype("text");
+ OapiMessageCorpconversationAsyncsendV2Request.Text text = new OapiMessageCorpconversationAsyncsendV2Request.Text();
+ text.setContent(sMessageContent);
+ msg.setText(text);
+ request.setMsg(msg);
+
+ OapiMessageCorpconversationAsyncsendV2Response rsp = client.execute(request, accessToken);
+ System.out.println(rsp.getBody());
+ }
+
+ /**
+ * 鏍规嵁鐢佃瘽鑾峰彇鐢ㄦ埛
+ * @param mobile
+ * @return
+ * @throws Exception
+ */
+ @Override
+ public String getDingTalkUserByMobile(String mobile) throws Exception {
+ String accessToken = getAccessToken();
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/getbymobile");
+ OapiV2UserGetbymobileRequest req = new OapiV2UserGetbymobileRequest();
+ req.setMobile(mobile);
+ OapiV2UserGetbymobileResponse rsp = client.execute(req, accessToken);
+ return rsp.getBody();
+ }
+
}
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
index bd62a45..12c3f7e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -1066,8 +1066,19 @@
}
}
+ String orgid = selectServiceSubtaskList.get(0).getOrgid();
+ //鏅畞-闅忚寮傚父鎻愮ず 鍏朵粬-寮傚父婊℃剰搴︽彁绀�
+ boolean addTrace = false;
+ if(StringUtils.isNotEmpty(orgid) && orgid.equals("47255004333112711A1001")){
+ if (stt != null) {
+ addTrace = Long.valueOf(1L).equals(stt.getIsabnormal());
+ }
+ }else {
+ addTrace = StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getIsMydException());
+ }
//鍒ゆ柇涓�涓嬪綋鍓嶇殑闂鏄笉鏄弧鎰忓害闂锛屽苟涓� dutyDeptCode 鏄惁鏈夊�硷紝骞朵笖閫夐」鏄笉鏄紓甯搁�夐」锛屽鏋滃叏绗﹀悎锛屽垯寰�婊℃剰搴﹂棶棰樺紓甯歌〃鏂板
- if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getDutyDeptCode()) && stt != null && Long.valueOf(1L).equals(stt.getIsabnormal()) || StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getDutyDeptCode()) && StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getIsMydException())) {
+ if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getDutyDeptCode()) && stt != null && Long.valueOf(1L).equals(stt.getIsabnormal()) || StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getDutyDeptCode())
+ && addTrace) {
isabnormalFlag = 1L;
ServiceSubtaskDetailTrace subtaskDetailTrace = new ServiceSubtaskDetailTrace();
subtaskDetailTrace.setDetailId(serviceSubtaskDetail.getId());
@@ -1083,17 +1094,19 @@
//鑾峰彇鎵�鏈夐�夐」
subtaskDetailTrace.setTargetid(stt != null ? stt.getId() : null);
subtaskDetailTrace.setTargetvalue(serviceSubtaskDetailVO.getTargetvalue());
- subtaskDetailTrace.setMatchedtext(stt != null ? stt.getOptioncontent() : svyTaskTemplateScriptVO.getIsMydException());
subtaskDetailTrace.setGuid(svyTaskTemplateScriptVO.getGuid());
subtaskDetailTrace.setValueType(serviceSubtaskDetail.getValueType());
- subtaskDetailTrace.setIsMydException(svyTaskTemplateScriptVO.getIsMydException());
subtaskDetailTrace.setTemplateType(2);
SvyLibScriptCategory svyLibScriptCategory = svyLibScriptCategoryMapper.selectSvyLibScriptCategoryById(svyTaskTemplateScriptVO.getCategoryid());
subtaskDetailTrace.setType(svyLibScriptCategory != null ? svyLibScriptCategory.getType() : null);
subtaskDetailTrace.setScriptid(svyTaskTemplateScriptVO.getId());
+ //闈炴弧鎰忓害鎰忚寮傚父鑷姩濉叆绌�
+ subtaskDetailTrace.setMatchedtext(stt != null ? stt.getOptioncontent() : svyTaskTemplateScriptVO.getIsMydException());
subtaskDetailTrace.setAsrtext(stt != null ? stt.getOptioncontent() : svyTaskTemplateScriptVO.getIsMydException());
+ subtaskDetailTrace.setIsMydException(svyTaskTemplateScriptVO.getIsMydException());
+
subtaskDetailTrace.setRecordpath(null);
subtaskDetailTrace.setPatid(selectServiceSubtaskList.get(0).getPatid());
JSONObject patdescJson1 = new JSONObject();
@@ -1341,9 +1354,19 @@
stt = ivrTaskTemplateTargetoption;
}
-
+ String orgid = selectServiceSubtaskList.get(0).getOrgid();
+ //鏅畞-闅忚寮傚父鎻愮ず 鍏朵粬-寮傚父婊℃剰搴︽彁绀�
+ boolean addTrace = false;
+ if(StringUtils.isNotEmpty(orgid) && orgid.equals("47255004333112711A1001")){
+ if (stt != null) {
+ addTrace = Long.valueOf(1L).equals(stt.getIsabnormal());
+ }
+ }else {
+ addTrace = StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIsMydException());
+ }
//鍒ゆ柇涓�涓嬪綋鍓嶇殑闂鏄笉鏄弧鎰忓害闂锛屽苟涓攄utyDeptCode鏄惁鏈夊�硷紝骞朵笖閫夐」鏄笉鏄紓甯搁�夐」锛屽鏋滃叏绗﹀悎锛屽垯寰�婊℃剰搴﹂棶棰樺紓甯歌〃鏂板
- if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getDutyDeptCode()) && 1 == stt.getIsabnormal() || StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getDutyDeptCode()) && StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getIsMydException())) {
+ if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getDutyDeptCode()) && 1 == stt.getIsabnormal() || StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getDutyDeptCode())
+ && addTrace) {
isabnormalFlag = "1";
ServiceSubtaskDetailTrace subtaskDetailTrace = new ServiceSubtaskDetailTrace();
subtaskDetailTrace.setDetailId(serviceSubtaskDetail.getId());
--
Gitblit v1.9.3