From af396db5b1e6dcbb53879af52bd682b4a7e82664 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 21 十月 2024 15:46:44 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/domain/ServiceSubtask.java                    |    2 
 smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java                     |    7 
 smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml                 |   20 +
 smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java             |    7 
 smartor/src/main/java/com/smartor/domain/IvrLibaScript.java                     |    9 
 smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java           |    7 
 smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml               |   18 +
 smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml       |    6 
 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java           |    9 
 smartor/src/main/java/com/smartor/domain/ServiceTask.java                       |    7 
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java   |    7 
 smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml       |   18 +
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java          |  285 +++++++++++++++++++++++--------
 smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java                   |    9 
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskRecord.java              |   16 +
 smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java |   27 ++
 smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java             |    9 
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskRecordMapper.xml        |    6 
 smartor/src/main/java/com/smartor/domain/IvrLibScript.java                      |   50 +++--
 19 files changed, 387 insertions(+), 132 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index 45edd51..9312c1f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -19,6 +19,7 @@
 import com.smartor.mapper.SvyTaskSingleMapper;
 import com.smartor.service.*;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.connection.Message;
@@ -162,72 +163,116 @@
         if (StringUtils.isNotEmpty(commonTaskcallMQ.getPreachform())) {
             //濡備綍浠诲姟鍙戦�佹柟寮忎笉涓虹┖
             String[] split = commonTaskcallMQ.getPreachform().split(",");
-            System.out.println("split鐨勫�间负锛�" + split);
+            log.error("split鐨勫�间负锛歿}", split);
+
+            //瀹氫箟涓�涓泦鍚堬紝鐢ㄤ笌瀛樻病鏈夋墽琛岀殑瀛愪换鍔D
+            List<Long> subIds = new ArrayList<>();
+            //涓存椂瀛樻病鏈夋墽琛岀殑瀛愪换鍔D
+            List<Long> lssubIds = new ArrayList<>();
+            //鏄惁灏嗗叏閮ㄦ偅鑰呰�呭彂閫佸畬
+            Boolean isSend = false;
+
+            aa:
             for (String serviceFrom : split) {
                 String descByCode = ServiceFromEnum.getDescByCode(Integer.valueOf(serviceFrom));
-                //杩欓噷鍙互鑰冭檻鐢ㄧ瓥鐣ユā寮忎紭鍖栦竴涓嬶紝涓嶇劧澶毦鐪嬩簡
-
-//                //閫氳繃妯℃澘ID鑾峰彇妯℃澘闂
-//                IvrTaskTemplateVO ivrTaskTemplateVO = new IvrTaskTemplateVO();
-//                ivrTaskTemplateVO.setId(Long.valueOf(commonTaskcallMQ.getTemplateid()));
-//                IvrTaskTemplateVO ivrTaskTemplateVO1 = ivrTaskTemplateService.selectInfoByCondition(ivrTaskTemplateVO);
+                if (isSend == true) {
+                    break aa;
+                }
 
                 //閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭�
                 ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO();
                 ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid());
+                ivrTaskcall.setSendstate(1L);
                 List<ServiceSubtask> selectServiceSubtaskList = ivrTaskcallMapper.selectServiceSubtaskList(ivrTaskcall);
                 if (descByCode.equals("鐢佃瘽")) {
                     for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
-                        ServiceTask ivrTask = ivrTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
-                        if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) {
-                            //濡備綍浠诲姟琚�滄殏鍋溾�濇垨鈥滅粓姝⑩��
-                            break;
-                        }
-                        //鑾峰彇鍒皏alue鍊兼渶灏戠殑key
-                        String key = getKey();
-                        if (commonTaskcallMQ.getSendType().equals("2")) {
-                            //璇存槑鏄珛鍗冲彂閫�
-                            String value = redisCache.getCacheObject("cache-0");
-                            ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
-                            serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
-                            List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1);
-                            for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
-                                if (StringUtils.isEmpty(value)) {
-                                    value = "," + serviceSubtask2.getId().toString() + ",";
-                                } else {
-                                    if (!value.contains("," + serviceSubtask2.getId().toString()))
-                                        value = value + "," + serviceSubtask2.getId().toString() + ",";
-                                }
-                            }
-                            redisCache.setCacheObject("cache-0", value);
-                        } else {
-                            //闈炵珛鍗冲彂閫�
-                            String value = redisCache.getCacheObject(key);
-                            ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
-                            serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
-                            List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1);
-                            for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
-                                if (StringUtils.isEmpty(value)) {
-                                    value = "," + serviceSubtask2.getId().toString() + ",";
-                                } else {
-                                    value = value + "," + serviceSubtask2.getId().toString() + ",";
-                                }
-                            }
-                            redisCache.setCacheObject(key, value);
+                        //鍏堝垽鏂竴涓嬶紝subIds鏄惁涓虹┖锛屽鏋滀笉涓虹┖锛屽彧鎵цsubIds閲岀殑鎮h��
+                        if (CollectionUtils.isNotEmpty(subIds)) {
+                            boolean contains = subIds.contains(serviceSubtask.getId());
+                            //濡傛灉contains涓嶄负true,璇存槑褰撳墠鐨勬偅鑰呭凡缁忓彂閫佹垚鍔燂紝鐩存帴寰幆涓嬩竴涓汉灏辫
+                            if (!contains) continue;
                         }
 
-                        //浠诲姟鍙戦�佽褰曪紙杩欎釜浠g爜搴旇鍐欏湪phoneTask涓紝鍏堝啓鍦ㄨ繖锛屽悗闈㈠啀鏀癸級
+                        try {
+                            ServiceTask ivrTask = ivrTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+                            if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) {
+                                //濡備綍浠诲姟琚�滄殏鍋溾�濇垨鈥滅粓姝⑩��
+                                break;
+                            }
+                            //鑾峰彇鍒皏alue鍊兼渶灏戠殑key
+                            String key = getKey();
+                            if (commonTaskcallMQ.getSendType().equals("2")) {
+                                //璇存槑鏄珛鍗冲彂閫�
+                                String value = redisCache.getCacheObject("cache-0");
+                                ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
+                                serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
+                                List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1);
+                                for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
+                                    if (StringUtils.isEmpty(value)) {
+                                        value = "," + serviceSubtask2.getId().toString() + ",";
+                                    } else {
+                                        if (!value.contains("," + serviceSubtask2.getId().toString()))
+                                            value = value + "," + serviceSubtask2.getId().toString() + ",";
+                                    }
+                                }
+                                redisCache.setCacheObject("cache-0", value);
+                            } else {
+                                //闈炵珛鍗冲彂閫�
+                                String value = redisCache.getCacheObject(key);
+                                ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
+                                serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
+                                List<ServiceSubtask> selectServiceSubtaskList1 = ivrTaskcallMapper.selectServiceSubtaskList(serviceSubtask1);
+                                for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
+                                    if (StringUtils.isEmpty(value)) {
+                                        value = "," + serviceSubtask2.getId().toString() + ",";
+                                    } else {
+                                        value = value + "," + serviceSubtask2.getId().toString() + ",";
+                                    }
+                                }
+                                redisCache.setCacheObject(key, value);
+                            }
+                        } catch (Exception exception) {
+                            ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+                            serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+                            serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
+                            serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+                            serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+                            serviceSubtaskRecord.setPreachform("3");
+                            serviceSubtaskRecord.setResult("fail");
+                            serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+                            serviceSubtaskRecord.setRemark("鐢佃瘽鍙戦�佸け璐�");
+                            log.error("鐢佃瘽鍙戦�佸け璐ワ細{}", exception.getMessage());
+                            lssubIds.add(serviceSubtask.getId());
+                            serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+                            continue;
+                        }
+                        //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+                        String uuid = UUID.randomUUID().toString();
+                        serviceSubtask.setResult("success");
+                        serviceSubtask.setRemark("鐢佃瘽鍙戦�佹垚鍔�");
+                        serviceSubtask.setGuid(uuid);
+                        serviceSubtask.setSendstate(6L);
+                        serviceSubtask.setFinishtime(new Date());
+                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+
+                        //浠诲姟鍙戦�佽褰�
                         ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
                         serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
-                        serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+                        serviceSubtaskRecord.setUuid(uuid);
                         serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
                         serviceSubtaskRecord.setPreachform("3");
                         serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+                        serviceSubtaskRecord.setRemark("鐢佃瘽鍙戦�佹垚鍔�");
                         serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
-
-//                        //閫氳繃澶氱嚎绋嬬殑鏂瑰紡鍘绘墦鐢佃瘽
-//                        executorService.submit(new PhoneTask(serviceSubtask, ivrTaskTemplateVO1, redisCache, sendService, phonePath, robotPhoneUtils));
                     }
+                    if (CollectionUtils.isEmpty(lssubIds)) {
+                        //濡傛灉鈥滀复鏃跺瓙浠诲姟鈥濅负绌猴紝璇存槑鍏ㄥ彂閫佸畬浜�
+                        isSend = true;
+                    }
+                    //灏嗗瓙浠诲姟ID娓呯┖锛屽皢鈥滀复鏃跺瓙浠诲姟鈥濇暟鎹� 鏀惧埌 鈥滃瓙浠诲姟鈥� 涓�
+                    subIds.clear();
+                    subIds.addAll(lssubIds);
+                    lssubIds.clear();
                 } else if (descByCode.equals("澶氬獟浣�")) {
                     //澶氬獟浣�
                     continue;
@@ -242,6 +287,13 @@
                     String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
 
                     for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
+                        //鍏堝垽鏂竴涓嬶紝subIds鏄惁涓虹┖锛屽鏋滀笉涓虹┖锛屽彧鎵цsubIds閲岀殑鎮h��
+                        if (CollectionUtils.isNotEmpty(subIds)) {
+                            boolean contains = subIds.contains(serviceSubtask.getId());
+                            //濡傛灉contains涓嶄负true,璇存槑褰撳墠鐨勬偅鑰呭凡缁忓彂閫佹垚鍔燂紝鐩存帴寰幆涓嬩竴涓汉灏辫
+                            if (!contains) continue;
+                        }
+
                         try {
                             String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
                             SendMagParam sendMagParam = new SendMagParam();
@@ -255,27 +307,64 @@
                             }
                             Boolean aBoolean = sendService.sendMsg(sendMagParam);
 
-                            //浠诲姟鍙戦�佽褰�
+                            if (!aBoolean) {
+                                ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+                                serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+                                serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
+                                serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+                                serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+                                serviceSubtaskRecord.setPreachform("4");
+                                serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+                                serviceSubtaskRecord.setRemark("鐭俊鍙戦�佸け璐�");
+                                lssubIds.add(serviceSubtask.getId());
+                                serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+                                continue;
+                            }
+                        } catch (Exception e) {
                             ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
                             serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+                            serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
                             serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
                             serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
                             serviceSubtaskRecord.setPreachform("4");
+                            serviceSubtaskRecord.setResult("fail");
                             serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
-                            serviceSubtaskRecord.setResult(aBoolean == true ? "success" : "error");
-                            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+                            serviceSubtaskRecord.setRemark("鐭俊鍙戦�佸け璐�");
+                            log.error("鐭俊鍙戦�佸け璐ワ細{}", e.getMessage());
+                            lssubIds.add(serviceSubtask.getId());
                             serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
-                        } catch (UnsupportedEncodingException e) {
-                            String guid = UUID.randomUUID().toString();
-                            log.error("鐭俊浠诲姟锛屽彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
-                            serviceSubtask.setResult("error");
-                            serviceSubtask.setRemark("绯荤粺閿欒锛堜换鍔★級");
-                            serviceSubtask.setGuid(guid);
-                            serviceSubtask.setSendstate(4L);
-                            serviceSubtask.setFinishtime(new Date());
-                            serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
+                            continue;
                         }
+
+                        //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+                        String uuid = UUID.randomUUID().toString();
+                        serviceSubtask.setResult("success");
+                        serviceSubtask.setRemark("鐭俊鍙戦�佹垚鍔�");
+                        serviceSubtask.setGuid(uuid);
+                        serviceSubtask.setSendstate(3L);
+                        serviceSubtask.setFinishtime(new Date());
+                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+
+                        //浠诲姟鍙戦�佽褰�
+                        ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+                        serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+                        serviceSubtaskRecord.setUuid(uuid);
+                        serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+                        serviceSubtaskRecord.setPreachform("5");
+                        serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+                        serviceSubtaskRecord.setResult("success");
+                        serviceSubtaskRecord.setRemark("鐭俊鍙戦�佹垚鍔�");
+                        serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+
                     }
+                    if (CollectionUtils.isEmpty(lssubIds)) {
+                        //濡傛灉鈥滀复鏃跺瓙浠诲姟鈥濅负绌猴紝璇存槑鍏ㄥ彂閫佸畬浜�
+                        isSend = true;
+                    }
+                    //灏嗗瓙浠诲姟ID娓呯┖锛屽皢鈥滀复鏃跺瓙浠诲姟鈥濇暟鎹� 鏀惧埌 鈥滃瓙浠诲姟鈥� 涓�
+                    subIds.clear();
+                    subIds.addAll(lssubIds);
+                    lssubIds.clear();
                 } else if (descByCode.equals("鍏紬鍙�")) {
                     //鍏紬鍙�
                     RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
@@ -310,39 +399,79 @@
                                 serviceSubtask.setResult("success");
                                 serviceSubtask.setSendstate(3L);
                                 if ((Boolean) map.get("succ") == false) {
-                                    serviceSubtask.setResult("error");
-                                    serviceSubtask.setRemark(map.get("msg").toString());
-                                    serviceSubtask.setSendstate(5L);
+                                    ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+                                    serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+                                    serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
+                                    serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
+                                    serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+                                    serviceSubtaskRecord.setPreachform("5");
+                                    serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+                                    serviceSubtaskRecord.setRemark(map.get("msg").toString());
+                                    lssubIds.add(serviceSubtask.getId());
+                                    serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+                                    continue;
                                 }
                             }
-                            //浠诲姟鍙戦�佽褰�
+                        } catch (Exception e) {
                             ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
                             serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+                            serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
                             serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
                             serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
                             serviceSubtaskRecord.setPreachform("5");
+                            serviceSubtaskRecord.setResult("fail");
                             serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
-                            serviceSubtaskRecord.setResult("success");
-                            if ((Boolean) map.get("succ") == false) {
-                                serviceSubtaskRecord.setResult("error");
-                            }
-                            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+                            serviceSubtaskRecord.setRemark("鍏紬鍙峰彂閫佸け璐�");
+                            log.error("鍏紬鍙峰彂閫佸け璐ワ細{}", e.getMessage());
+                            lssubIds.add(serviceSubtask.getId());
                             serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
-                        } catch (Exception e) {
-                            String guid = UUID.randomUUID().toString();
-                            log.error("鍏紬鍙蜂换鍔★紝鍙戦�佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
-                            serviceSubtask.setResult("error");
-                            serviceSubtask.setRemark("绯荤粺閿欒锛堜换鍔★級");
-                            serviceSubtask.setGuid(guid);
-                            serviceSubtask.setSendstate(5L);
-                            serviceSubtask.setFinishtime(new Date());
-                            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+                            continue;
                         }
+                        //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+                        String uuid = UUID.randomUUID().toString();
+                        serviceSubtask.setResult("success");
+                        serviceSubtask.setRemark("鍏紬鍙峰彂閫佹垚鍔�");
+                        serviceSubtask.setGuid(uuid);
+                        serviceSubtask.setSendstate(3L);
+                        serviceSubtask.setFinishtime(new Date());
+                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+
+                        //浠诲姟鍙戦�佽褰�
+                        ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+                        serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+                        serviceSubtaskRecord.setUuid(uuid);
+                        serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+                        serviceSubtaskRecord.setPreachform("5");
+                        serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+                        serviceSubtaskRecord.setResult("success");
+                        serviceSubtaskRecord.setRemark("鍏紬鍙峰彂閫佹垚鍔�");
+                        serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
                     }
+                    if (CollectionUtils.isEmpty(lssubIds)) {
+                        //濡傛灉鈥滀复鏃跺瓙浠诲姟鈥濅负绌猴紝璇存槑鍏ㄥ彂閫佸畬浜�
+                        isSend = true;
+                    }
+                    //灏嗗瓙浠诲姟ID娓呯┖锛屽皢鈥滀复鏃跺瓙浠诲姟鈥濇暟鎹� 鏀惧埌 鈥滃瓙浠诲姟鈥� 涓�
+                    subIds.clear();
+                    subIds.addAll(lssubIds);
+                    lssubIds.clear();
                 }
                 //閫氱煡 MQ 娑堟伅宸茶鎺ユ敹,鍙互ACK(浠庨槦鍒椾腑鍒犻櫎)浜�   锛堣繖涓渶瑕佹牴鎹笟鍔″啀鍘诲鐞咥CK锛�
             }
+            if (CollectionUtils.isNotEmpty(subIds)) {
+                //濡傛灉鍏ㄩ儴鐨勫彂閫佹柟寮忛兘鍙戝畬浜嗭紝杩樻湁鏄湭鍙戦�佺殑,闇�瑕佸幓subTask琛ㄤ腑锛岃褰曚竴涓嬶紝鍙戦�佸け璐�
+                for (Long id : subIds) {
+                    ServiceSubtask serviceSubtask = new ServiceSubtask();
+                    serviceSubtask.setResult("error");
+                    serviceSubtask.setRemark("鍙戦�佸け璐�");
+                    serviceSubtask.setSendstate(5L);
+                    serviceSubtask.setId(id);
+                    serviceSubtask.setFinishtime(new Date());
+                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+                }
+            }
         }
+
     }
 
     //    /**
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibScript.java b/smartor/src/main/java/com/smartor/domain/IvrLibScript.java
index 01752f3..7972a22 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibScript.java
@@ -9,7 +9,7 @@
 
 /**
  * AI璇濇湳搴撳璞� ivr_lib_script
- * 
+ *
  * @author smartor
  * @date 2023-03-06
  */
@@ -55,107 +55,111 @@
     @Excel(name = " 涓婁紶鏍囪 ")
     private Long isupload;
 
+    /**  鐢佃瘽璇煶鏂囨湰  */
+    @Excel(name = " 鐢佃瘽璇煶鏂囨湰 ")
+    private String ivrtext;
+
     /**  涓婁紶鏃堕棿  */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
     private Date uploadTime;
 
-    public void setScriptid(Long scriptid) 
+    public void setScriptid(Long scriptid)
     {
         this.scriptid = scriptid;
     }
 
-    public Long getScriptid() 
+    public Long getScriptid()
     {
         return scriptid;
     }
-    public void setOrgid(String orgid) 
+    public void setOrgid(String orgid)
     {
         this.orgid = orgid;
     }
 
-    public String getOrgid() 
+    public String getOrgid()
     {
         return orgid;
     }
-    public void setCategoryid(Long categoryid) 
+    public void setCategoryid(Long categoryid)
     {
         this.categoryid = categoryid;
     }
 
-    public Long getCategoryid() 
+    public Long getCategoryid()
     {
         return categoryid;
     }
-    public void setCategoryname(String categoryname) 
+    public void setCategoryname(String categoryname)
     {
         this.categoryname = categoryname;
     }
 
-    public String getCategoryname() 
+    public String getCategoryname()
     {
         return categoryname;
     }
-    public void setSpeakbody(String speakbody) 
+    public void setSpeakbody(String speakbody)
     {
         this.speakbody = speakbody;
     }
 
-    public String getSpeakbody() 
+    public String getSpeakbody()
     {
         return speakbody;
     }
-    public void setSpeakfilepath(String speakfilepath) 
+    public void setSpeakfilepath(String speakfilepath)
     {
         this.speakfilepath = speakfilepath;
     }
 
-    public String getSpeakfilepath() 
+    public String getSpeakfilepath()
     {
         return speakfilepath;
     }
-    public void setIsall(Long isall) 
+    public void setIsall(Long isall)
     {
         this.isall = isall;
     }
 
-    public Long getIsall() 
+    public Long getIsall()
     {
         return isall;
     }
-    public void setSpeakname(String speakname) 
+    public void setSpeakname(String speakname)
     {
         this.speakname = speakname;
     }
 
-    public String getSpeakname() 
+    public String getSpeakname()
     {
         return speakname;
     }
-    public void setDelFlag(String delFlag) 
+    public void setDelFlag(String delFlag)
     {
         this.delFlag = delFlag;
     }
 
-    public String getDelFlag() 
+    public String getDelFlag()
     {
         return delFlag;
     }
-    public void setIsupload(Long isupload) 
+    public void setIsupload(Long isupload)
     {
         this.isupload = isupload;
     }
 
-    public Long getIsupload() 
+    public Long getIsupload()
     {
         return isupload;
     }
-    public void setUploadTime(Date uploadTime) 
+    public void setUploadTime(Date uploadTime)
     {
         this.uploadTime = uploadTime;
     }
 
-    public Date getUploadTime() 
+    public Date getUploadTime()
     {
         return uploadTime;
     }
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaScript.java b/smartor/src/main/java/com/smartor/domain/IvrLibaScript.java
index f8fab37..4e0c997 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaScript.java
@@ -61,7 +61,7 @@
      */
     @ApiModelProperty("璇濇湳璇煶")
     @Excel(name = "璇濇湳璇煶")
-    private String scriptVoice;
+    private String ivrVoice;
 
     /**
      * 鏃犲尮閰嶈瘽鏈�
@@ -324,6 +324,13 @@
     private String tag;
 
     /**
+     * 璇濇湳璇煶鏂囨湰
+     */
+    @Excel(name = "璇濇湳璇煶鏂囨湰")
+    @ApiModelProperty(value = "璇濇湳璇煶鏂囨湰")
+    private String ivrtext;
+
+    /**
      * pageNum
      */
     @ApiModelProperty(value = "pageNum")
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java b/smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java
index edb5dae..7578319 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaScriptVO.java
@@ -69,7 +69,14 @@
      */
     @ApiModelProperty("璇濇湳璇煶")
     @Excel(name = "璇濇湳璇煶")
-    private String scriptVoice;
+    private String ivrVoice;
+
+    /**
+     * 璇濇湳璇煶鏂囨湰
+     */
+    @ApiModelProperty("璇濇湳璇煶鏂囨湰")
+    @Excel(name = "璇濇湳璇煶鏂囨湰")
+    private String ivrtext;
 
     /**
      * 鏃犲尮閰嶈瘽鏈�
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
index 8fe714b..68086bf 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScript.java
@@ -103,7 +103,14 @@
      */
     @Excel(name = "璇濇湳璇煶")
     @ApiModelProperty(value = "璇濇湳璇煶")
-    private String scriptVoice;
+    private String ivrVoice;
+
+    /**
+     * 璇濇湳璇煶鏂囨湰
+     */
+    @Excel(name = "璇濇湳璇煶鏂囨湰")
+    @ApiModelProperty(value = "璇濇湳璇煶鏂囨湰")
+    private String ivrtext;
 
     /**
      * 鏃犲尮閰嶈瘽鏈�
diff --git a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
index e75e9aa..72aa452 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrLibaTemplateScriptVO.java
@@ -81,7 +81,14 @@
      */
     @Excel(name = "璇濇湳璇煶")
     @ApiModelProperty(value = "璇濇湳璇煶")
-    private String scriptVoice;
+    private String ivrVoice;
+
+    /**
+     * 璇濇湳璇煶鏂囨湰
+     */
+    @Excel(name = "璇濇湳璇煶鏂囨湰")
+    @ApiModelProperty(value = "璇濇湳璇煶鏂囨湰")
+    private String ivrtext;
 
     /**
      * 闂缁撴灉
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
index 37d584f..e115f46 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScript.java
@@ -277,6 +277,13 @@
     private String branchNextscriptno;
 
     /**
+     * 璇濇湳璇煶鏂囨湰
+     */
+    @Excel(name = "璇濇湳璇煶鏂囨湰")
+    @ApiModelProperty(value = "璇濇湳璇煶鏂囨湰")
+    private String ivrtext;
+
+    /**
      * 閫夐」鍒嗘敮鐨勪笅涓�涓瘽鏈紪鍙�
      */
     @Excel(name = "閫夐」鍒嗘敮鐨勪笅涓�涓瘽鏈紪鍙�")
diff --git a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
index 17f9ef4..af9ce72 100644
--- a/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
+++ b/smartor/src/main/java/com/smartor/domain/IvrTaskTemplateScriptVO.java
@@ -165,6 +165,13 @@
     private String targetOptions;
 
     /**
+     * 璇濇湳璇煶鏂囨湰
+     */
+    @Excel(name = "璇濇湳璇煶鏂囨湰")
+    @ApiModelProperty(value = "璇濇湳璇煶鏂囨湰")
+    private String ivrtext;
+
+    /**
      * 璇█
      */
     @Excel(name = "璇█")
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
index 50cc485..3cd80c8 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -407,7 +407,7 @@
      * 灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌锛�
      */
     @Excel(name = "  灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌锛�")
-    @ApiModelProperty(value = "灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌 3.涓撶梾锛�")
+    @ApiModelProperty(value = "灏辫瘖绫诲瀷锛�1闂ㄨ瘖  2鍑洪櫌 3.涓撶梾 4.澶栭儴瀵煎叆锛�")
     private String hospType;
 
 
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskRecord.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskRecord.java
index 9b062ae..fa5104e 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskRecord.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskRecord.java
@@ -29,9 +29,16 @@
     /**
      * 瀛愪换鍔D
      */
+    @Excel(name = "浠诲姟ID")
+    @ApiModelProperty(value = "浠诲姟ID")
+    private String taskid;
+
+    /**
+     * 瀛愪换鍔D
+     */
     @Excel(name = "瀛愪换鍔D")
     @ApiModelProperty(value = "瀛愪换鍔D")
-    private String taskid;
+    private Long subtaskId;
 
     /**
      * 浠诲姟UUID
@@ -124,5 +131,12 @@
     @ApiModelProperty(value = "GUID")
     private String guid;
 
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞")
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
 
 }
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTask.java b/smartor/src/main/java/com/smartor/domain/ServiceTask.java
index 983608a..a297103 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceTask.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTask.java
@@ -379,6 +379,13 @@
     @Excel(name = " 鍑洪櫌鐥呭尯鍚嶇О ")
     private String leavehospitaldistrictname;
 
+    /**
+     * 琛ュ伩鏃堕棿锛堟湭棰嗗彇 锛屽彂璧疯ˉ鍋匡細浠庝换鍔″彂閫佹垚鍔熷紑濮嬶紝compensate_date鍒嗛挓鍚庯紝鎮h�呬粛鏈鍙栵級鍗曚綅锛氬垎閽�
+     */
+    @ApiModelProperty(value = "琛ュ伩鏃堕棿锛堟湭棰嗗彇 锛屽彂璧疯ˉ鍋匡細浠庝换鍔″彂閫佹垚鍔熷紑濮嬶紝compensate_date鍒嗛挓鍚庯紝鎮h�呬粛鏈鍙栵級鍗曚綅锛氬垎閽� ")
+    @Excel(name = " 琛ュ伩鏃堕棿锛堟湭棰嗗彇 锛屽彂璧疯ˉ鍋匡細浠庝换鍔″彂閫佹垚鍔熷紑濮嬶紝compensate_date鍒嗛挓鍚庯紝鎮h�呬粛鏈鍙栵級鍗曚綅锛氬垎閽� ")
+    private String compensateDate;
+
 
     /**
      * 寮�濮嬪嚭闄㈡棩鏈�
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java b/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
index a578951..451d9f8 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
@@ -332,4 +332,11 @@
     @ApiModelProperty(value = "鍑洪櫌鐥呭尯鍚嶇О")
     @Excel(name = " 鍑洪櫌鐥呭尯鍚嶇О ")
     private String leavehospitaldistrictname;
+
+    /**
+     * 琛ュ伩鏃堕棿锛堟湭棰嗗彇 锛屽彂璧疯ˉ鍋匡細浠庝换鍔″彂閫佹垚鍔熷紑濮嬶紝compensate_date鍒嗛挓鍚庯紝鎮h�呬粛鏈鍙栵級鍗曚綅锛氬垎閽�
+     */
+    @ApiModelProperty(value = "琛ュ伩鏃堕棿锛堟湭棰嗗彇 锛屽彂璧疯ˉ鍋匡細浠庝换鍔″彂閫佹垚鍔熷紑濮嬶紝compensate_date鍒嗛挓鍚庯紝鎮h�呬粛鏈鍙栵級鍗曚綅锛氬垎閽� ")
+    @Excel(name = " 琛ュ伩鏃堕棿锛堟湭棰嗗彇 锛屽彂璧疯ˉ鍋匡細浠庝换鍔″彂閫佹垚鍔熷紑濮嬶紝compensate_date鍒嗛挓鍚庯紝鎮h�呬粛鏈鍙栵級鍗曚綅锛氬垎閽� ")
+    private String compensateDate;
 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
index a40ee8c..dbe3da2 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java
@@ -6,10 +6,7 @@
 import com.smartor.mapper.PatArchiveImportMapper;
 import com.smartor.service.IPatArchiveImportService;
 import org.apache.commons.lang3.ObjectUtils;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -21,6 +18,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.regex.Pattern;
 
 /**
  * Excel瀵煎叆鎮h�呮。妗圫ervice涓氬姟灞傚鐞�
@@ -123,11 +121,28 @@
                 //鍒ゆ柇鏁版嵁鏄惁鏈夐棶棰�
 
 
-                if (ObjectUtils.isNotEmpty(row.getCell(0).toString())) {
+                if (ObjectUtils.isNotEmpty(row.getCell(0))) {
                     patArchiveImport.setName(row.getCell(0).toString());
+                } else {
+                    continue;
                 }
                 if (ObjectUtils.isNotEmpty(row.getCell(1))) {
-                    patArchiveImport.setIdcardno(row.getCell(1).toString());
+                    Cell cell = row.getCell(1);
+                    if (row.getCell(1).toString().contains("X") || row.getCell(1).toString().contains("x")) {
+                        patArchiveImport.setIdcardno(row.getCell(1).toString());
+                    } else {
+                        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
+                        boolean matches = pattern.matcher(row.getCell(1).toString()).matches();
+                        if (matches) {
+                            patArchiveImport.setIdcardno(row.getCell(1).toString());
+                        } else {
+                            double numericCellValue = cell.getNumericCellValue();
+                            DecimalFormat decimalFormat = new DecimalFormat("#");
+                            String formattedValue = decimalFormat.format(numericCellValue);
+                            patArchiveImport.setIdcardno(formattedValue);
+                        }
+                    }
+
                     boolean contains = qc.contains(row.getCell(1).toString());
                     if (contains) continue;
                 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 100d45c..1a0cf5b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -27,6 +27,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.sql.Time;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalTime;
@@ -817,7 +818,7 @@
                                 Object obj = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE");
                                 Double score = (obj == null ? new Double(0.00) : new Double(((Double) obj).doubleValue()));
                                 score = BigDecimal.valueOf(score).add(ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getScore()).doubleValue();
-                                redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score);
+                                redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score,120,TimeUnit.MINUTES);
                             }
 
                             for (IvrTaskTemplateScript script : ivrTaskTemplateScripts) {
@@ -903,7 +904,7 @@
                                     double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE");
                                     score = BigDecimal.valueOf(score).add(script.getScore()).doubleValue();
 
-                                    redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score);
+                                    redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score,120, TimeUnit.MINUTES);
                                 }
                             }
                         }
@@ -942,7 +943,7 @@
                             //鏇存柊涓�涓嬪垎鏁�
                             double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE");
                             score = BigDecimal.valueOf(score).add(ivrTaskTemplateScriptVO.getScore()).doubleValue();
-                            redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score);
+                            redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", score,120, TimeUnit.MINUTES);
 
 //                            return phoneCallBackYQVO;
                         }
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml
index 08bb74d..db40df2 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaScriptMapper.xml
@@ -8,7 +8,8 @@
         <result property="id" column="id"/>
         <result property="scriptTopic" column="script_topic"/>
         <result property="scriptContent" column="script_content"/>
-        <result property="scriptVoice" column="script_voice"/>
+        <result property="ivrVoice" column="ivr_voice"/>
+        <result property="ivrtext" column="ivrtext"/>
         <result property="scriptDesc" column="script_desc"/>
         <result property="noMatchText" column="nomatchtext"/>
         <result property="nomatchvoice" column="nomatchvoice"/>
@@ -66,7 +67,8 @@
                isAvailable,
                script_content,
                script_desc,
-               script_voice,
+               ivr_voice,
+               ivrtext,
                nomatchtext,
                nomatchvoice,
                sliencetext,
@@ -101,7 +103,8 @@
             <if test="valueType != null ">and value_type = #{valueType}</if>
             <if test="scriptContent != null  and scriptContent != ''">and script_content = #{scriptContent}</if>
             <if test="scriptDesc != null  and scriptDesc != ''">and script_desc = #{scriptDesc}</if>
-            <if test="scriptVoice != null  and scriptVoice != ''">and script_voice = #{scriptVoice}</if>
+            <if test="ivrVoice != null  and ivrVoice != ''">and ivr_voice = #{ivrVoice}</if>
+            <if test="ivrtext != null  and ivrtext != ''">and ivrtext = #{ivrtext}</if>
             <if test="noMatchText != null  and noMatchText != ''">and nomatchtext = #{noMatchText}</if>
             <if test="nomatchvoice != null  and nomatchvoice != ''">and nomatchvoice = #{nomatchvoice}</if>
             <if test="slienceText != null  and slienceText != ''">and sliencetext = #{slienceText}</if>
@@ -150,7 +153,8 @@
             <if test="reply != null">reply,</if>
             <if test="scriptContent != null">script_content,</if>
             <if test="scriptDesc != null">script_desc,</if>
-            <if test="scriptVoice != null">script_voice,</if>
+            <if test="ivrVoice != null">ivr_voice,</if>
+            <if test="ivrtext != null">ivrtext,</if>
             <if test="noMatchText != null">nomatchtext,</if>
             <if test="nomatchvoice != null">nomatchvoice,</if>
             <if test="slienceText != null">sliencetext,</if>
@@ -198,7 +202,8 @@
             <if test="reply != null">#{reply},</if>
             <if test="scriptContent != null">#{scriptContent},</if>
             <if test="scriptDesc != null">#{scriptDesc},</if>
-            <if test="scriptVoice != null">#{scriptVoice},</if>
+            <if test="ivrVoice != null">#{ivrVoice},</if>
+            <if test="ivrtext != null">#{ivrtext},</if>
             <if test="noMatchText != null">#{noMatchText},</if>
             <if test="nomatchvoice != null">#{nomatchvoice},</if>
             <if test="slienceText != null">#{slienceText},</if>
@@ -247,7 +252,8 @@
             <if test="reply != null">reply = #{reply},</if>
             <if test="scriptContent != null">script_content = #{scriptContent},</if>
             <if test="scriptDesc != null">script_desc = #{scriptDesc},</if>
-            <if test="scriptVoice != null">script_voice = #{scriptVoice},</if>
+            <if test="ivrVoice != null">ivr_voice = #{ivrVoice},</if>
+            <if test="ivrtext != null">ivrtext = #{ivrtext},</if>
             <if test="noMatchText != null">nomatchtext = #{noMatchText},</if>
             <if test="nomatchvoice != null">nomatchvoice = #{nomatchvoice},</if>
             <if test="slienceText != null">sliencetext = #{slienceText},</if>
diff --git a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
index 5c6101a..50c8b1e 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrLibaTemplateScriptMapper.xml
@@ -12,7 +12,8 @@
         <result property="scriptPoint" column="script_point"/>
         <result property="scriptContent" column="script_content"/>
         <result property="scriptDesc" column="script_content"/>
-        <result property="scriptVoice" column="script_voice"/>
+        <result property="ivrVoice" column="ivr_voice"/>
+        <result property="ivrtext" column="ivrtext"/>
         <result property="noMatchText" column="noMatchText"/>
         <result property="noMatchVoice" column="noMatchVoice"/>
         <result property="slienceText" column="slienceText"/>
@@ -57,10 +58,11 @@
                templateid,
                script_type,
                scriptid,
+               ivrtext,
                script_point,
                script_content,
                script_desc,
-               script_voice,
+               ivr_voice,
                noMatchText,
                noMatchVoice,
                slienceText,
@@ -102,7 +104,8 @@
             <if test="templateid != null ">and templateid = #{templateid}</if>
             <if test="scriptPoint != null  and scriptPoint != ''">and script_point = #{scriptPoint}</if>
             <if test="scriptContent != null  and scriptContent != ''">and script_content = #{scriptContent}</if>
-            <if test="scriptVoice != null  and scriptVoice != ''">and script_voice = #{scriptVoice}</if>
+            <if test="ivrVoice != null  and ivrVoice != ''">and ivr_voice = #{ivrVoice}</if>
+            <if test="ivrtext != null  and ivrtext != ''">and ivrtext = #{ivrtext}</if>
             <if test="noMatchText != null  and noMatchText != ''">and noMatchText = #{noMatchText}</if>
             <if test="noMatchVoice != null  and noMatchVoice != ''">and noMatchVoice = #{noMatchVoice}</if>
             <if test="slienceText != null  and slienceText != ''">and slienceText = #{slienceText}</if>
@@ -154,7 +157,7 @@
             <if test="scriptid != null">scriptid,</if>
             <if test=" scriptPoint != null and  scriptPoint != ''">script_point,</if>
             <if test="scriptContent != null">script_content,</if>
-            <if test="scriptVoice != null">script_voice,</if>
+            <if test="ivrVoice != null">ivr_voice,</if>
             <if test="noMatchText != null">noMatchText,</if>
             <if test="noMatchVoice != null">noMatchVoice,</if>
             <if test="slienceText != null">slienceText,</if>
@@ -188,6 +191,7 @@
             <if test="branchNextscriptno != null  and branchNextscriptno != ''">branch_nextscriptno,</if>
             <if test="sort != null ">sort,</if>
             <if test="score != null ">score,</if>
+            <if test="ivrtext != null ">ivrtext,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="scriptno != null">#{scriptno},</if>
@@ -195,7 +199,7 @@
             <if test="scriptid != null">#{scriptid},</if>
             <if test="scriptPoint != null and scriptPoint != ''">#{scriptPoint},</if>
             <if test="scriptContent != null">#{scriptContent},</if>
-            <if test="scriptVoice != null">#{scriptVoice},</if>
+            <if test="ivrVoice != null">#{ivrVoice},</if>
             <if test="noMatchText != null">#{noMatchText},</if>
             <if test="noMatchVoice != null">#{noMatchVoice},</if>
             <if test="slienceText != null">#{slienceText},</if>
@@ -229,6 +233,7 @@
             <if test="branchNextscriptno != null  and branchNextscriptno != ''">#{branchNextscriptno},</if>
             <if test="sort != null ">#{sort},</if>
             <if test="score != null ">#{score},</if>
+            <if test="ivrtext != null ">#{ivrtext},</if>
         </trim>
     </insert>
 
@@ -240,7 +245,7 @@
             <if test="scriptid != null">scriptid = #{scriptid},</if>
             <if test="scriptPoint != null and scriptPoint != ''">script_point = #{scriptPoint},</if>
             <if test="scriptContent != null">script_content = #{scriptContent},</if>
-            <if test="scriptVoice != null">script_voice = #{scriptVoice},</if>
+            <if test="ivrVoice != null">ivr_voice = #{ivrVoice},</if>
             <if test="noMatchText != null">noMatchText = #{noMatchText},</if>
             <if test="noMatchVoice != null">noMatchVoice = #{noMatchVoice},</if>
             <if test="slienceText != null">slienceText = #{slienceText},</if>
@@ -270,6 +275,7 @@
             <if test="scriptDesc != null ">script_desc = #{scriptDesc},</if>
             <if test="scriptType != null ">script_type = #{scriptType},</if>
             <if test="sort != null ">sort = #{sort},</if>
+            <if test="ivrtext != null ">ivrtext = #{ivrtext},</if>
             <if test="branchFlag != null  and branchFlag != ''">branch_flag = #{branchFlag},</if>
             <if test="score != null ">score = #{score},</if>
             <if test="branchNextscriptno != null  and branchNextscriptno != ''">branch_nextscriptno =
diff --git a/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml b/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
index 482ccb9..eb07f5d 100644
--- a/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/IvrTaskTemplateScriptMapper.xml
@@ -45,12 +45,14 @@
         <result property="scriptContent" column="script_content"/>
         <result property="sort" column="sort"/>
         <result property="score" column="score"/>
+        <result property="ivrtext" column="ivrtext"/>
     </resultMap>
 
     <sql id="selectIvrTaskTemplateScriptVo">
         select id,
                taskid,
                sort,
+               ivrtext,
                script_type,
                score,
                branch_flag,
@@ -78,6 +80,7 @@
         <where>
             <if test="taskid != null ">and taskid = #{taskid}</if>
             <if test="score != null ">and score = #{score}</if>
+            <if test="ivrtext != null ">and ivrtext = #{ivrtext}</if>
             <if test="sort != null ">and sort = #{sort}</if>
             <if test="templateID != null ">and templateID = #{templateID}</if>
             <if test="questionPoint != null  and questionPoint != ''">and questionPoint = #{questionPoint}</if>
@@ -165,6 +168,7 @@
             <if test="sort != null ">sort,</if>
             <if test="nextScriptno != null  and nextScriptno != ''">next_scriptno,</if>
             <if test="score != null ">score,</if>
+            <if test="ivrtext != null ">ivrtext,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="taskid != null">#{taskid},</if>
@@ -206,6 +210,7 @@
             <if test="sort != null">#{sort},</if>
             <if test="nextScriptno != null  and nextScriptno != ''">#{nextScriptno},</if>
             <if test="score != null ">#{score},</if>
+            <if test="ivrtext != null ">#{ivrtext},</if>
         </trim>
     </insert>
 
@@ -253,6 +258,7 @@
             <if test="sort != null">sort = #{sort},</if>
             <if test="nextScriptno != null  and nextScriptno != ''">next_scriptno = #{nextScriptno},</if>
             <if test="score != null">score = #{score},</if>
+            <if test="ivrtext != null">ivrtext = #{ivrtext},</if>
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskRecordMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskRecordMapper.xml
index 383dac3..3e6fd1f 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskRecordMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskRecordMapper.xml
@@ -24,6 +24,7 @@
         <result property="orgid" column="orgid"/>
         <result property="pid" column="pid"/>
         <result property="guid" column="guid"/>
+        <result property="remark" column="remark"/>
     </resultMap>
 
     <sql id="selectServiceSubtaskRecordVo">
@@ -45,6 +46,7 @@
                upload_time,
                orgid,
                pid,
+               remark,
                guid
         from service_subtask_record
     </sql>
@@ -66,6 +68,7 @@
             <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
             <if test="pid != null ">and pid = #{pid}</if>
             <if test="guid != null  and guid != ''">and guid = #{guid}</if>
+            <if test="remark != null  and remark != ''">and remark = #{remark}</if>
         </where>
     </select>
 
@@ -96,6 +99,7 @@
             <if test="orgid != null">orgid,</if>
             <if test="pid != null">pid,</if>
             <if test="guid != null">guid,</if>
+            <if test="remark != null">remark,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -117,6 +121,7 @@
             <if test="orgid != null">#{orgid},</if>
             <if test="pid != null">#{pid},</if>
             <if test="guid != null">#{guid},</if>
+            <if test="remark != null">#{remark},</if>
         </trim>
     </insert>
 
@@ -141,6 +146,7 @@
             <if test="orgid != null">orgid = #{orgid},</if>
             <if test="pid != null">pid = #{pid},</if>
             <if test="guid != null">guid = #{guid},</if>
+            <if test="remark != null">remark = #{remark},</if>
         </trim>
         where id = #{id}
     </update>
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
index f9e35c8..46be163 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceTaskMapper.xml
@@ -49,6 +49,7 @@
         <result property="longTask" column="long_task"/>
         <result property="kcb" column="kcb"/>
         <result property="jsy" column="jsy"/>
+        <result property="compensateDate" column="compensate_date"/>
         <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/>
         <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/>
     </resultMap>
@@ -58,6 +59,7 @@
                task_name,
                long_task,
                show_date,
+               compensate_date,
                show_time_morn,
                show_time_noon,
                show_time_night,
@@ -139,13 +141,18 @@
             <if test="isupload != null ">and isupload = #{isupload}</if>
             <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
             <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
+            <if test="compensateDate != null  and compensateDate != ''">and compensate_date = #{compensateDate}</if>
             <if test="hospType != null  and hospType != ''">and hosp_type = #{hospType}</if>
             <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
             <if test="libtemplatename != null  and libtemplatename != ''">and libtemplatename = #{libtemplatename}</if>
             <if test="createBy != null  and createBy != ''">and create_by = #{createBy}</if>
             <if test="sendState != null  ">and send_state = #{sendState}</if>
-            <if test="leavehospitaldistrictname != null  ">and leavehospitaldistrictname = #{leavehospitaldistrictname}</if>
-            <if test="leavehospitaldistrictcode != null  ">and leavehospitaldistrictcode = #{leavehospitaldistrictcode}</if>
+            <if test="leavehospitaldistrictname != null  ">and leavehospitaldistrictname =
+                #{leavehospitaldistrictname}
+            </if>
+            <if test="leavehospitaldistrictcode != null  ">and leavehospitaldistrictcode =
+                #{leavehospitaldistrictcode}
+            </if>
 
             <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0">
                 AND leavehospitaldistrictcode IN
@@ -221,6 +228,7 @@
             <if test="jsy != null  and jsy != ''">jsy,</if>
             <if test="leavehospitaldistrictname != null  ">leavehospitaldistrictname,</if>
             <if test="leavehospitaldistrictcode != null  ">leavehospitaldistrictcode,</if>
+            <if test="compensateDate != null  and compensateDate != ''">compensate_date</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="taskName != null">#{taskName},</if>
@@ -268,6 +276,7 @@
             <if test="jsy != null  and jsy != ''">#{jsy},</if>
             <if test="leavehospitaldistrictname != null  ">#{leavehospitaldistrictname},</if>
             <if test="leavehospitaldistrictcode != null  ">#{leavehospitaldistrictcode},</if>
+            <if test="compensateDate != null  and compensateDate != ''">#{compensateDate}</if>
         </trim>
     </insert>
 
@@ -317,8 +326,11 @@
             <if test="longTask != null  and longTask != ''">long_task = #{longTask},</if>
             <if test="kcb != null  and kcb != ''">kcb = #{kcb},</if>
             <if test="jsy != null  and jsy != ''">jsy = #{jsy},</if>
-            <if test="leavehospitaldistrictname != null  ">leavehospitaldistrictname = #{leavehospitaldistrictname},</if>
-            <if test="leavehospitaldistrictcode != null  ">leavehospitaldistrictcode = #{leavehospitaldistrictcode},</if>
+            <if test="leavehospitaldistrictname != null  ">leavehospitaldistrictname = #{leavehospitaldistrictname},
+            </if>
+            <if test="leavehospitaldistrictcode != null  ">leavehospitaldistrictcode = #{leavehospitaldistrictcode},
+            </if>
+            <if test="compensateDate != null  and compensateDate != ''">compensate_date = #{compensateDate}</if>
         </trim>
         where taskid = #{taskid}
     </update>

--
Gitblit v1.9.3