From 723d38375c45d24737bfef6f33a9686254abf99b Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 17 十月 2024 13:42:27 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/resources/mapper/smartor/PatArchiveImportMapper.xml | 336 +++++++++++++++-------------- ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java | 2 smartor/src/main/java/com/smartor/domain/PhoneCallReqYQVO.java | 30 ++ smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 132 +++++++++-- ruoyi-admin/src/main/resources/application-druid.yml | 45 ++- smartor/src/main/java/com/smartor/domain/PullTaskVO.java | 4 smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java | 3 smartor/src/main/java/com/smartor/domain/PatArchiveImport.java | 4 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveImportController.java | 42 +-- smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java | 19 + smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java | 1 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 7 12 files changed, 379 insertions(+), 246 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java index 3ede9ae..e0ab472 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java @@ -6,6 +6,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration; +import org.springframework.scheduling.annotation.EnableAsync; /** * 鍚姩绋嬪簭 @@ -14,6 +15,7 @@ */ //@SpringBootApplication(scanBasePackages="com.smartor",exclude = { DataSourceAutoConfiguration.class }) @SpringBootApplication(scanBasePackages = {"com.ruoyi", "com.smartor"}, exclude = {DataSourceAutoConfiguration.class, MultipartAutoConfiguration.class}) +@EnableAsync @MapperScan(value = "com.smartor.mapper") public class RuoYiApplication { public static void main(String[] args) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveImportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveImportController.java index 98a636d..c7c282c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveImportController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveImportController.java @@ -1,37 +1,23 @@ package com.ruoyi.web.controller.smartor; -import java.util.List; - -import com.ruoyi.common.config.RuoYiConfig; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.common.utils.file.FileUtils; -import com.smartor.domain.SvyLibScriptRes; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.springframework.http.MediaType; -import org.springframework.security.access.prepost.PreAuthorize; -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.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.file.FileUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.PatArchiveImport; import com.smartor.service.IPatArchiveImportService; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.common.core.page.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * Excel瀵煎叆鎮h�呮。妗圕ontroller @@ -106,7 +92,7 @@ * @param response */ @ApiOperation("鑾峰彇瀵煎叆鎮h�呮ā鏉�") - @GetMapping("/getImportPatTemplate") + @PostMapping("/getImportPatTemplate") public void getImportPatTemplate(HttpServletResponse response) { ExcelUtil<PatArchiveImport> util = new ExcelUtil<PatArchiveImport>(PatArchiveImport.class); util.importTemplateExcel(response, "瀵煎叆鎮h��"); @@ -128,7 +114,7 @@ @ApiOperation("瀵煎叆Excel鎮h�呬俊鎭�") //@PreAuthorize("@ss.hasPermi('smartor:import:list')") @PostMapping("/importPatInfo") - public TableDataInfo importPatInfo(MultipartFile multipartFile) { - return getDataTable(patArchiveImportService.importPatInfo(multipartFile)); + public TableDataInfo importPatInfo(MultipartFile file) { + return getDataTable(patArchiveImportService.importPatInfo(file)); } } diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index ef8d07c..c588888 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -11,28 +11,26 @@ # username: root # password: 123456 # 鍏徃 -# url: jdbc:mysql://450scrp46939.vicp.fun:59876/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 -# url: jdbc:mysql://192.168.1.16:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - url: jdbc:mysql://192.168.191.181:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + ## url: jdbc:mysql://450scrp46939.vicp.fun:59876/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://192.168.2.9:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + # url: jdbc:mysql://192.168.191.181:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: smartor password: Smartor.2023 driverClassName: com.mysql.cj.jdbc.Driver # 浠庡簱鏁版嵁婧� slave: # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴(鍏徃) - enabled: true - url: jdbc:sqlserver://116.62.18.175:6001;DatabaseName=iv-ywey;encrypt=false;SelectMethod=cursor - username: sa - password: Hxerp2000 - driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver - - + # enabled: true + # url: jdbc:sqlserver://116.62.18.175:6001;DatabaseName=iv-ywey;encrypt=false;SelectMethod=cursor + # username: sa + # password: Hxerp2000 + # driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴(涔変箤浜岄櫌) - # enabled: true - # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=IntelligentVoice;encrypt=false;SelectMethod=cursor - # username: sa - # password: sfxt#2023 - # driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver + enabled: true + url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=IntelligentVoice;encrypt=false;SelectMethod=cursor + username: sa + password: sfxt#2023 + driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver # 鍒濆杩炴帴鏁� initialSize: 5 # 鏈�灏忚繛鎺ユ睜鏁伴噺 @@ -138,16 +136,21 @@ #浜岀淮鐮佽矾寰� qrpath: D:\qrcode -##鍏徃鍐呭閾捐姹侷P鍜岀鍙e彿 -#req_path: 8096 -#localIP: 192.168.1.10 +#鍏徃鍐呭閾捐姹侷P鍜岀鍙e彿 +req_path: 8095 +localIP: 192.168.2.10 -#鏂板崕鍖婚櫌澶栭摼璇锋眰IP鍜岀鍙e彿 -req_path: 8093 -localIP: 218.108.11.22 +##鏂板崕鍖婚櫌澶栭摼璇锋眰IP鍜岀鍙e彿 +#req_path: 8093 +#localIP: 218.108.11.22 #鑾峰彇鎮h�呬俊鎭疷RL(鍗庡崜鎻愪緵) hosp_info_url: http://esb-core-rest.wowjoy.cn/esb/exchange # 0浠h〃璧伴粯璁ょ殑涓婁紶 1 浠g爜璧版柊鍗庡尰闄㈢殑涓婁紶 uploadSwitch: 1 + +# 鎸囧畾asr鍥炶皟鐨剈rl璺緞 +ASRCallBackPath: http://192.168.2.10:8095/smartor/serviceSubtask/phoneCallBackYQ +#鎸傛柇IP +hangup: http://192.168.2.10:8091/hangup diff --git a/smartor/src/main/java/com/smartor/domain/PatArchiveImport.java b/smartor/src/main/java/com/smartor/domain/PatArchiveImport.java index 2e4d0a2..8c9203f 100644 --- a/smartor/src/main/java/com/smartor/domain/PatArchiveImport.java +++ b/smartor/src/main/java/com/smartor/domain/PatArchiveImport.java @@ -35,7 +35,7 @@ * 璇佷欢鍙风爜 */ @ApiModelProperty("璇佷欢鍙风爜") - @Excel(name = "璇佷欢鍙风爜(蹇呭~)",cellType = Excel.ColumnType.NUMERIC) + @Excel(name = "璇佷欢鍙风爜(蹇呭~)",cellType = Excel.ColumnType.STRING) private String idcardno; /** @@ -49,7 +49,7 @@ * 鎵规鍚嶇О */ @ApiModelProperty("鎵规鍚嶇О") - @Excel(name = "鎵规鍚嶇О锛堝繀濉級",cellType = Excel.ColumnType.STRING) + @Excel(name = "鎵规鍚嶇О",cellType = Excel.ColumnType.STRING) private String batchName; diff --git a/smartor/src/main/java/com/smartor/domain/PhoneCallReqYQVO.java b/smartor/src/main/java/com/smartor/domain/PhoneCallReqYQVO.java index f1fab10..12da5cb 100644 --- a/smartor/src/main/java/com/smartor/domain/PhoneCallReqYQVO.java +++ b/smartor/src/main/java/com/smartor/domain/PhoneCallReqYQVO.java @@ -128,4 +128,34 @@ @ApiModelProperty(value = "褰撳墠鍙ュ瓙鐨勫綍闊虫枃浠惰矾寰勶紝鍙ュ瓙鏈粨鏉熸椂涓虹┖") private String recordpath; + /** + * 鏀鹃煶鐨勮矾寰� + */ + @ApiModelProperty(value = "鏀鹃煶鐨勮矾寰�") + private String path; + + /** + * 鏀鹃煶浜嬩欢鍚嶇О锛孭LAYBACK_START 鎴� PLAYBACK_STOP + */ + @ApiModelProperty(value = "鏀鹃煶浜嬩欢鍚嶇О锛孭LAYBACK_START 鎴� PLAYBACK_STOP") + private String evName; + + /** + * 鎾斁寮�濮� + */ + @ApiModelProperty(value = "鎾斁寮�濮�") + private Boolean playstart; + + /** + * 鎾斁缁撴潫 + */ + @ApiModelProperty(value = "鎾斁缁撴潫") + private Boolean playstop = false; + + /** + * 鏀鹃煶鐨勫師濮嬫枃鏈唴瀹� + */ + @ApiModelProperty(value = "鏀鹃煶鐨勫師濮嬫枃鏈唴瀹�") + private String origin; + } diff --git a/smartor/src/main/java/com/smartor/domain/PullTaskVO.java b/smartor/src/main/java/com/smartor/domain/PullTaskVO.java index 59b642b..a26068b 100644 --- a/smartor/src/main/java/com/smartor/domain/PullTaskVO.java +++ b/smartor/src/main/java/com/smartor/domain/PullTaskVO.java @@ -18,7 +18,7 @@ * @date 2024-08-07 */ @Data -@ApiModel(value = "PullTaskVO" , description = "闆ㄧ划鐢佃瘽浠诲姟鎷夊彇") +@ApiModel(value = "PullTaskVO", description = "闆ㄧ划鐢佃瘽浠诲姟鎷夊彇") public class PullTaskVO { /** @@ -67,5 +67,5 @@ * 鎸囧畾asr鐨剈rl璺緞锛堣繖涓矾寰勯渶瑕佹垜浠繖杈规彁渚涳紝鍏ュ弬鍙互鍙傝�冩枃妗o級 */ @ApiModelProperty(value = " 鎸囧畾asr鐨剈rl璺緞锛堣繖涓矾寰勯渶瑕佹垜浠繖杈规彁渚涳紝鍏ュ弬鍙互鍙傝�冩枃妗o級") - private String asrcallback = "http://192.168.2.2:8095/smartor/serviceSubtask/phoneCallBackYQ"; + private String asrcallback; } diff --git a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java index a244e8d..4641b5f 100644 --- a/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java +++ b/smartor/src/main/java/com/smartor/service/IServiceSubtaskService.java @@ -100,6 +100,7 @@ */ public List<PullTaskVO> taskPull(); + public Integer saveQuestionAnswerPhone(ServiceSubTaskDetailReq serviceSubTaskDetailReq); /** 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 c5ea8c6..a40ee8c 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java @@ -6,6 +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; @@ -15,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -103,11 +105,14 @@ public List<PatArchiveImport> importPatInfo(MultipartFile multipartFile) { //鐢ㄤ簬杩斿洖 List<PatArchiveImport> patArchiveImports = new ArrayList<>(); + + //鍘婚噸 + List<String> qc = new ArrayList<>(); try { Workbook workbook = new XSSFWorkbook(multipartFile.getInputStream()); Sheet sheet = workbook.getSheetAt(0); - for (int i = sheet.getFirstRowNum() + 1; i < sheet.getLastRowNum(); i++) { + for (int i = sheet.getFirstRowNum() + 1; i <= sheet.getLastRowNum(); i++) { //瀵煎叆鎮h�呭璞� PatArchiveImport patArchiveImport = new PatArchiveImport(); Row row = sheet.getRow(i); @@ -123,10 +128,16 @@ } if (ObjectUtils.isNotEmpty(row.getCell(1))) { patArchiveImport.setIdcardno(row.getCell(1).toString()); + boolean contains = qc.contains(row.getCell(1).toString()); + if (contains) continue; } if (ObjectUtils.isNotEmpty(row.getCell(2))) { - patArchiveImport.setTelcode(row.getCell(2).toString()); + Cell cell = row.getCell(2); + double numericCellValue = cell.getNumericCellValue(); + DecimalFormat decimalFormat = new DecimalFormat("#"); + String formattedValue = decimalFormat.format(numericCellValue); + patArchiveImport.setTelcode(formattedValue); } if (ObjectUtils.isNotEmpty(row.getCell(3))) { patArchiveImport.setBatchName(row.getCell(3).toString()); @@ -145,13 +156,13 @@ patArchiveImport.setAge(Long.valueOf(row.getCell(7).toString())); } - patArchiveImports.add(patArchiveImport); - patArchiveImport.setCreateTime(new Date()); patArchiveImport.setUpdateTime(new Date()); //鎵归噺鍙凤紙褰撳墠鏃堕棿锛� patArchiveImport.setBatchNo(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); insertPatArchiveImport(patArchiveImport); + + patArchiveImports.add(patArchiveImport); } } catch (Exception e) { 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 fa93511..100d45c 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java @@ -7,10 +7,8 @@ import com.google.gson.Gson; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.common.utils.DtoConversionUtils; -import com.ruoyi.common.utils.RSAPublicKeyExample; -import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.*; +import com.ruoyi.common.utils.http.HttpUtils; import com.smartor.config.PhoneUtils; import com.smartor.domain.*; import com.smartor.mapper.*; @@ -24,6 +22,7 @@ import org.apache.commons.lang3.StringUtils; 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.Transactional; @@ -76,6 +75,12 @@ @Value("${pri_key}") private String pri_key; + + @Value("${ASRCallBackPath}") + private String ASRCallBackPath; + + @Value("${hangup}") + private String hangup; /** @@ -200,8 +205,8 @@ public List<ServiceSubtask> patItem(ServiceSubtaskVO serviceSubtaskVO) { List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskVO); //鏍规嵁鍑洪櫌 鏃堕棿鍊掑簭 - List<ServiceSubtask> sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getEndtime).reversed()).collect(Collectors.toList()); - return sortedServiceSubtaskList; +// List<ServiceSubtask> sortedServiceSubtaskList = selectServiceSubtaskList.stream().sorted(Comparator.comparing(ServiceSubtask::getEndtime).reversed()).collect(Collectors.toList()); + return selectServiceSubtaskList; } @Override @@ -642,12 +647,43 @@ public PhoneCallBackYQVO phoneCallBackYQ(PhoneCallReqYQVO phoneCallReqYQVO) { //瀹氫箟涓�涓垎鏁扮殑鍙橀噺 Boolean aBoolean1 = redisCache.hasKey(phoneCallReqYQVO.getUuid() + "SCORE"); - if (!aBoolean1) redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", 0); + if (!aBoolean1) redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "SCORE", 0.0, 120, TimeUnit.MINUTES); PhoneCallBackYQVO phoneCallBackYQVO = new PhoneCallBackYQVO(); //channel_create 閫氶亾鍒涘缓鐨勬椂鍊欙紝鍙互鎵ц涓�浜涘叾瀹冩搷浣滐紝璀鍙戜釜鐭俊涔嬬被鐨�; 鎴戜滑鐨勪笟鍔″彲浠ヤ笉鐢ㄧ PlayEventCallback 杩欎釜鏄挱鏀捐闊崇殑,鏆傛椂鐢ㄤ笉鍒� End_time()= -1鎴杗ull琛ㄧず褰撳墠鐨刟srtext涓嶆槸涓�鍙ュ畬鏁寸殑璇� - if (phoneCallReqYQVO.getOperate().equals("channel_create") || phoneCallReqYQVO.getOperate().equals("PlayEventCallback") || phoneCallReqYQVO.getEnd_time() == null || phoneCallReqYQVO.getEnd_time() == -1) { + if (phoneCallReqYQVO.getOperate().equals("channel_create")) { return phoneCallBackYQVO; } + //PlayEventCallback 杩欎釜鏄挱鏀捐闊崇殑 playstart锛氭斁闊冲紑濮嬶紙闂鎾姤寮�濮嬶級 playstop锛� 鏀鹃煶缁撴潫锛堥棶棰樻挱鎶ョ粨鏉燂級 + if (phoneCallReqYQVO.getOperate().equals("PlayEventCallback")) { + String cacheJSY = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "- jsy"); + if (phoneCallReqYQVO.getOperate().equals("PlayEventCallback") && phoneCallReqYQVO.getPlaystop() == false) { + //鍒ゆ柇redis涓槸鍚︽湁缁撴潫璇� + if (StringUtils.isEmpty(cacheJSY)) { + redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop", false, 120, TimeUnit.MINUTES); + log.error("PlayEventCallbackPlaystop鐨勫�间负-------锛歿}", false); + } + } else { + //濡傛灉缁撴潫璇笉涓虹┖锛屽垯瑕佹寕鐢佃瘽浜� + if (StringUtils.isNotEmpty(cacheJSY)) { + Map<String, String> req = new HashMap<>(); + req.put("uuid", phoneCallReqYQVO.getUuid()); + req.put("caller", phoneCallReqYQVO.getPhone()); + HttpUtils.sendPost(hangup, new Gson().toJson(req)); + //鍒犻櫎缁撴潫璇殑鎮e瓨 + redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "- jsy"); + } else { + redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop", true, 120, TimeUnit.MINUTES); + log.error("-------PlayEventCallbackPlaystop鐨勫�间负锛歿}", true); + } + } + return phoneCallBackYQVO; + } + //鑾峰彇鏀鹃煶鏄惁缁撴潫 + boolean isPlayEventOver = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); + if (!isPlayEventOver) { + return phoneCallBackYQVO; + } + //閫氳繃瀛愪换鍔D鑾峰彇鍒版ā鏉夸俊鎭� ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(Long.valueOf(phoneCallReqYQVO.getTaskid())); IvrTaskTemplate ivrTaskTemplate = ivrTaskTemplateService.selectIvrTaskTemplateByID(serviceSubtask.getTemplateid()); @@ -678,14 +714,16 @@ phoneCallBackYQVO.setType("text"); phoneCallBackYQVO.setSilent_interval(ivrTaskTemplate.getSilencetime().intValue()); String scriptContent = ivrTaskTemplateScriptVO.getScriptContent(); + log.error("SilentCallback鐨勯棶棰樺唴瀹箂criptContent锛歿}", scriptContent); phoneCallBackYQVO.setValue(getObject(serviceSubtask, scriptContent)); //灏嗛潤榛樻鏁板姞1 Integer noVoiceNum = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "noVoice"); redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "noVoice", noVoiceNum + 1, 120, TimeUnit.MINUTES); + return phoneCallBackYQVO; } else { log.error("闈欓粯娆℃暟杈惧埌,鎸傛帀鐢佃瘽锛歿}", num); //澶т笌绛変簬鐨勮瘽,鐩存帴鎸傛柇 - phoneCallBackYQVO.setType("hangup"); + phoneCallBackYQVO.setType("text"); phoneCallBackYQVO.setSilent_interval(ivrTaskTemplate.getSilencetime().intValue()); phoneCallBackYQVO.setValue(ivrTaskTemplate.getRevisitAfter()); //灏嗙粨鏋滃啓鍒癲etail涓� @@ -705,9 +743,28 @@ redisCache.setCacheObject(map.get("cacheName"), map.get("val")); redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone()); redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE"); + redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); + //鍦╮edis涓繚瀛樹竴涓嬬粨鏉熻锛屽湪璋冪敤鎸傜數璇濈殑鏂规硶鏃跺垹闄� + redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", ivrTaskTemplate.getRevisitAfter(), 120, TimeUnit.MINUTES); } return phoneCallBackYQVO; - } else if ("AsrCallback".equals(phoneCallReqYQVO.getOperate())) { + } else if ("AsrCallback".equals(phoneCallReqYQVO.getOperate()) && phoneCallReqYQVO.getEnd_time() != null && phoneCallReqYQVO.getEnd_time() != -1) { + //鎾姤绗竴棰� + Integer integer = redisCache.getCacheObject(phoneCallReqYQVO.getTaskid().trim() + "-" + phoneCallReqYQVO.getPhone().trim() + "-firstSort"); +// if(integer==0){ +// //integer==0,琛ㄧず寮�鍦虹櫧鍒氭挱鎶ュ畬锛岄渶瑕佸仠椤夸竴涓嬶紝绛夋偅鑰呰璇� +// redisCache.setCacheObject(phoneCallReqYQVO.getTaskid().trim() + "-" + phoneCallReqYQVO.getPhone().trim() + "-firstSort", 1, 120, TimeUnit.MINUTES); +// return phoneCallBackYQVO; +// } + if (ivrTaskTemplateScriptVO.getSort() == 1 && integer == 1) { + phoneCallBackYQVO.setType("text"); + phoneCallBackYQVO.setSilent_interval(ivrTaskTemplate.getSilencetime().intValue()); + String scriptContent = ivrTaskTemplateScriptVO.getScriptContent(); + phoneCallBackYQVO.setValue(getObject(serviceSubtask, scriptContent)); + redisCache.setCacheObject(phoneCallReqYQVO.getTaskid().trim() + "-" + phoneCallReqYQVO.getPhone().trim() + "-firstSort", 2, 120, TimeUnit.MINUTES); + return phoneCallBackYQVO; + } + //濡傛灉鏄枃鏈洖璋� //鏍规嵁闂ID鑾峰彇璇ラ棶棰樼殑绫诲瀷 if (ivrTaskTemplateScriptVO.getScriptType().equals("1")) { @@ -742,9 +799,11 @@ serviceSubtaskDetailList.add(getServiceSubtaskDetail(phoneCallReqYQVO, ivrTaskTemplateScriptVO, serviceSubtask, ivrTaskTemplate)); serviceSubTaskDetailReq.setServiceSubtaskDetailList(serviceSubtaskDetailList); saveQuestionAnswerPhone(serviceSubTaskDetailReq); -// + //灏嗗綋鍓嶅墠鐨勬挱鎶ョ姸鎬佸垹闄わ紝缁欎笅涓�棰樿浣� + redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); // //鑾峰彇涓嬩竴棰� - if (ivrTaskTemplateScriptVO.getBranchFlag().equals("1") || ivrTaskTemplateScriptVO.getBranchFlag().equals("0") && ivrTaskTemplateScriptVO.getNextScriptno() != 0) { + log.error("鑾峰彇涓嬩竴棰樼殑淇℃伅锛歿}", ivrTaskTemplateScriptVO); + if (ivrTaskTemplateScriptVO.getBranchFlag().equals("1") || ivrTaskTemplateScriptVO.getBranchFlag().equals("0") && ivrTaskTemplateScriptVO.getNextScriptno() != null && ivrTaskTemplateScriptVO.getNextScriptno() != 0) { Long nextQuestion = null; if (ivrTaskTemplateScriptVO.getBranchFlag().equals("1")) { nextQuestion = ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList().get(j).getNextQuestion(); @@ -755,7 +814,8 @@ } else { nextQuestion = ivrTaskTemplateScriptVO.getNextScriptno(); //鏇存柊鍒嗘暟 - double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); + 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); } @@ -765,6 +825,7 @@ phoneCallBackYQVO.setType("text"); phoneCallBackYQVO.setSilent_interval(ivrTaskTemplate.getSilencetime().intValue()); String scriptContent = script.getScriptContent(); + log.error("涓嬩竴棰橀棶棰橈細{}", scriptContent); phoneCallBackYQVO.setValue(getObject(serviceSubtask, scriptContent)); //灏嗚鎮h�呯殑Redis涓殑棰樼洰ID锛岃繘琛屼慨鏀� redisCache.setCacheObject(phoneCallReqYQVO.getTaskid().trim() + "-" + phoneCallReqYQVO.getPhone().trim(), script.getId().toString(), 120, TimeUnit.MINUTES); @@ -773,8 +834,8 @@ } } } else if (ivrTaskTemplateScriptVO.getBranchFlag().equals("0")) { - if (ivrTaskTemplateScriptVO.getNextScriptno() == 0 || ivrTaskTemplateScriptVO.getNextScriptno() == null) { - phoneCallBackYQVO.setType("hangup"); + if (ivrTaskTemplateScriptVO.getNextScriptno() == null || ivrTaskTemplateScriptVO.getNextScriptno() == 0) { + phoneCallBackYQVO.setType("text"); phoneCallBackYQVO.setSilent_interval(ivrTaskTemplate.getSilencetime().intValue()); //鏇存柊涓�涓嬪垎鏁� double score = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "SCORE"); @@ -789,6 +850,9 @@ redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone()); redisCache.deleteObject(phoneCallReqYQVO.getTaskid().trim() + "&&" + "mate" + "&&" + phoneCallReqYQVO.getUuid()); redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE"); + redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop"); + //鍦╮edis涓繚瀛樹竴涓嬬粨鏉熻锛屽湪璋冪敤鎸傜數璇濈殑鏂规硶鏃跺垹闄� + redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", ivrTaskTemplate.getRevisitAfter(), 120, TimeUnit.MINUTES); // return phoneCallBackYQVO; } } @@ -803,7 +867,7 @@ //濡傛灉count宸茬粡澶т簬鎴栫瓑浜庢病鏈夊尮閰嶆鏁� if (ivrTaskTemplateScriptVO.getBranchFlag().equals("0") && ivrTaskTemplateScriptVO.getNextScriptno() == null || ivrTaskTemplateScriptVO.getBranchFlag().equals("0") && ivrTaskTemplateScriptVO.getNextScriptno() == 0 || ivrTaskTemplateScriptVO.getBranchFlag().equals("1") && ivrTaskTemplateScriptVO.getNextScriptno() == null || ivrTaskTemplateScriptVO.getBranchFlag().equals("1") && ivrTaskTemplateScriptVO.getNextScriptno() == 0) { //濡傛灉鏄渶鍚庝竴閬撻锛屾垨鑰呮病鏈変笅涓�棰樹簡锛屽氨鐩存帴鎸傛満 - phoneCallBackYQVO.setType("hangup"); + phoneCallBackYQVO.setType("text"); phoneCallBackYQVO.setSilent_interval(ivrTaskTemplate.getSilencetime().intValue()); if (StringUtils.isNotEmpty(phoneCallBackYQVO.getValue())) phoneCallBackYQVO.setValue(phoneCallBackYQVO.getValue() + ivrTaskTemplate.getRevisitAfter()); @@ -815,6 +879,8 @@ serviceSubtask.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); + //鍦╮edis涓繚瀛樹竴涓嬬粨鏉熻锛屽湪璋冪敤鎸傜數璇濈殑鏂规硶鏃跺垹闄� + redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", ivrTaskTemplate.getRevisitAfter(), 120, TimeUnit.MINUTES); //鍘籸edis涓紝鎶婅瀛愪换鍔D鍒犻櫎 Long id = serviceSubtask.getId(); Map<String, String> map = delRedisValue(null, id.toString()); @@ -863,7 +929,7 @@ //濡傛灉閫夐」鍒嗘敮涓�1鐨勮瘽锛屽垯闇�瑕佹牴鎹棶棰樹笂鐨刵extScriptno杩涜璺宠浆 //闂瓟棰樻病鏈夎烦杞� - if (ivrTaskTemplateScriptVO.getNextScriptno() != null || ivrTaskTemplateScriptVO.getNextScriptno() != 0) { + if (ivrTaskTemplateScriptVO.getNextScriptno() != null && ivrTaskTemplateScriptVO.getNextScriptno() != 0) { for (IvrTaskTemplateScript ivrTaskTemplateScript1 : ivrTaskTemplateScripts) { if (ivrTaskTemplateScriptVO.getNextScriptno().intValue() == ivrTaskTemplateScript1.getSort()) { phoneCallBackYQVO.setType("text"); @@ -881,9 +947,9 @@ // return phoneCallBackYQVO; } } - } else if (ivrTaskTemplateScriptVO.getNextScriptno() == null) { + } else if (ivrTaskTemplateScriptVO.getNextScriptno() == null || ivrTaskTemplateScriptVO.getNextScriptno() == 0) { //娌℃湁涓嬩竴棰樹簡锛屽氨缁撴潫浜� - phoneCallBackYQVO.setType("hangup"); + phoneCallBackYQVO.setType("text"); phoneCallBackYQVO.setSilent_interval(ivrTaskTemplate.getSilencetime().intValue()); phoneCallBackYQVO.setValue(ivrTaskTemplate.getRevisitAfter()); @@ -897,16 +963,18 @@ Long id = serviceSubtask.getId(); Map<String, String> map = delRedisValue(null, id.toString()); redisCache.setCacheObject(map.get("cacheName"), map.get("val")); + //鍦╮edis涓繚瀛樹竴涓嬬粨鏉熻锛屽湪璋冪敤鎸傜數璇濈殑鏂规硶鏃跺垹闄� + redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", ivrTaskTemplate.getRevisitAfter(), 120, TimeUnit.MINUTES); redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone()); redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE"); } //閫夐」鍖归厤瀹屾垚鍚庯紝闇�瑕佸啀鍘婚�氳繃搴撳啀杩涜鍖归厤涓�娆� String extemplateID = ivrTaskTemplate.getSubmoduleID(); - String[] split = extemplateID.split(","); - List<String> list = Arrays.asList(split); - List<Long> list1 = new ArrayList<>(); if (StringUtils.isNotEmpty(extemplateID)) { + String[] split = extemplateID.split(","); + List<String> list = Arrays.asList(split); + List<Long> list1 = new ArrayList<>(); for (String str : list) { list1.add(Long.valueOf(str)); } @@ -934,6 +1002,7 @@ } return phoneCallBackYQVO; } + private String getObject(ServiceSubtask serviceSubtask, String scriptContent) { Map<String, Map<String, String>> param = getParam(serviceSubtask.getTaskid()); @@ -1014,9 +1083,11 @@ if (!StringUtils.isEmpty(value0)) { pullTaskVOList = getPullTaskList(value0, "cache-0"); //灏哻ache-0鐨勬暟鎹紝杞Щ涓嶅鍔瞔ache-00涓� + redisCache.deleteObject("cache-00"); String cache00 = redisCache.getCacheObject("cache-00"); - if (!StringUtils.isEmpty(cache00)) redisCache.setCacheObject("cache-00", cache00 + "," + value0); - else redisCache.setCacheObject("cache-00", value0); + if (!StringUtils.isEmpty(cache00)) + redisCache.setCacheObject("cache-00", cache00 + "," + value0, 120, TimeUnit.MINUTES); + else redisCache.setCacheObject("cache-00", value0, 120, TimeUnit.MINUTES); redisCache.deleteObject("cache-0"); } else { for (int i = 1; i < 6; i++) { @@ -1034,7 +1105,12 @@ redisCache.deleteObject("cache-" + i); } } - + if (CollectionUtils.isNotEmpty(pullTaskVOList)) { + //缁欏洖璋冨弬鏁拌祴鍊� + for (PullTaskVO pullTaskVO : pullTaskVOList) { + pullTaskVO.setAsrcallback(ASRCallBackPath); + } + } return pullTaskVOList; } @@ -1068,8 +1144,9 @@ //濡傛灉ivrTaskTemplateScript涓虹┖锛屼篃灏辨病鏈夊線涓嬫墽琛岀殑蹇呰浜� if (ObjectUtils.isEmpty(ivrTaskTemplateScript)) return null; //鑾峰彇閫氶厤绗﹀尮閰嶈繃鍚庣殑闂 - String scrContent = getObject(serviceSubtask, ivrTaskTemplateScript.getScriptContent()); - String kcb = ivrTaskTemplate.getRevisitBefore() + "," + scrContent; +// String scrContent = getObject(serviceSubtask, ivrTaskTemplateScript.getScriptContent()); +// String kcb = ivrTaskTemplate.getRevisitBefore() + "," + scrContent; + String kcb = ivrTaskTemplate.getRevisitBefore(); //灏佽杩斿洖鏁版嵁 //taskId = 瀛愪换鍔D + 闂ID +闂搴忓彿 @@ -1081,6 +1158,7 @@ pullTaskVO.setDisplayNo("85129866"); pullTaskVOList.add(pullTaskVO); redisCache.setCacheObject(subId.trim() + "-" + serviceSubtask.getPhone().trim(), ivrTaskTemplateScript.getId().toString()); + redisCache.setCacheObject(subId.trim() + "-" + serviceSubtask.getPhone().trim() + "-firstSort", 1, 120, TimeUnit.MINUTES); } else { if (StringUtils.isEmpty(newValue0)) { newValue0 = "," + split[i].trim() + ","; diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java index ce70d11..0773844 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java @@ -4,16 +4,19 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.Gson; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; +import com.ruoyi.common.utils.http.HttpUtils; import org.apache.commons.lang3.StringUtils; import com.smartor.domain.*; import com.smartor.mapper.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import com.smartor.service.IServiceTaskService; import org.springframework.transaction.annotation.Transactional; diff --git a/smartor/src/main/resources/mapper/smartor/PatArchiveImportMapper.xml b/smartor/src/main/resources/mapper/smartor/PatArchiveImportMapper.xml index 4acaa9c..df9a877 100644 --- a/smartor/src/main/resources/mapper/smartor/PatArchiveImportMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/PatArchiveImportMapper.xml @@ -5,26 +5,41 @@ <mapper namespace="com.smartor.mapper.PatArchiveImportMapper"> <resultMap type="com.smartor.domain.PatArchiveImport" id="PatArchiveImportResult"> - <result property="id" column="id"/> - <result property="patientno" column="patientno"/> - <result property="pattype" column="pattype"/> - <result property="name" column="name"/> - <result property="sex" column="sex"/> - <result property="idcardno" column="idcardno"/> - <result property="age" column="age"/> - <result property="telcode" column="telcode"/> - <result property="openid" column="openid"/> - <result property="delFlag" column="del_flag"/> - <result property="updateBy" column="update_by"/> - <result property="updateTime" column="update_time"/> - <result property="createBy" column="create_by"/> - <result property="createTime" column="create_time"/> - <result property="batchName" column="batch_name"/> - <result property="batchNo" column="batch_no"/> + <result property="id" column="id"/> + <result property="patientno" column="patientno"/> + <result property="pattype" column="pattype"/> + <result property="name" column="name"/> + <result property="sex" column="sex"/> + <result property="idcardno" column="idcardno"/> + <result property="age" column="age"/> + <result property="telcode" column="telcode"/> + <result property="openid" column="openid"/> + <result property="delFlag" column="del_flag"/> + <result property="updateBy" column="update_by"/> + <result property="updateTime" column="update_time"/> + <result property="createBy" column="create_by"/> + <result property="createTime" column="create_time"/> + <result property="batchName" column="batch_name"/> + <result property="batchNo" column="batch_no"/> </resultMap> <sql id="selectPatArchiveImportVo"> - select id, patientno, pattype, name, sex, idcardno, age, telcode, openid, del_flag, update_by, update_time, create_by, create_time, batch_name, batch_no + select id, + patientno, + pattype, + name, + sex, + idcardno, + age, + telcode, + openid, + del_flag, + update_by, + update_time, + create_by, + create_time, + batch_name, + batch_no from pat_archive_import </sql> @@ -32,175 +47,176 @@ resultMap="PatArchiveImportResult"> <include refid="selectPatArchiveImportVo"/> <where> - <if test="patientno != null and patientno != ''"> - and patientno = #{patientno} - </if> - <if test="pattype != null and pattype != ''"> - and pattype = #{pattype} - </if> - <if test="name != null and name != ''"> - and name like concat('%', #{name}, '%') - </if> - <if test="sex != null "> - and sex = #{sex} - </if> - <if test="idcardno != null and idcardno != ''"> - and idcardno = #{idcardno} - </if> - <if test="age != null "> - and age = #{age} - </if> - <if test="telcode != null and telcode != ''"> - and telcode = #{telcode} - </if> - <if test="openid != null and openid != ''"> - and openid = #{openid} - </if> - <if test="batchName != null and batchName != ''"> - and batch_name like concat('%', #{batchName}, '%') - </if> - <if test="batchNo != null and batchNo != ''"> - and batch_no = #{batchNo} - </if> + <if test="patientno != null and patientno != ''"> + and patientno = #{patientno} + </if> + <if test="pattype != null and pattype != ''"> + and pattype = #{pattype} + </if> + <if test="name != null and name != ''"> + and name like concat('%', #{name}, '%') + </if> + <if test="sex != null "> + and sex = #{sex} + </if> + <if test="idcardno != null and idcardno != ''"> + and idcardno = #{idcardno} + </if> + <if test="age != null "> + and age = #{age} + </if> + <if test="telcode != null and telcode != ''"> + and telcode = #{telcode} + </if> + <if test="openid != null and openid != ''"> + and openid = #{openid} + </if> + <if test="batchName != null and batchName != ''"> + and batch_name like concat('%', #{batchName}, '%') + </if> + <if test="batchNo != null and batchNo != ''"> + and batch_no = #{batchNo} + </if> </where> </select> <select id="selectPatArchiveImportById" parameterType="Long" resultMap="PatArchiveImportResult"> - <include refid="selectPatArchiveImportVo"/> - where id = #{id} + <include refid="selectPatArchiveImportVo"/> + where id = #{id} </select> - <insert id="insertPatArchiveImport" parameterType="com.smartor.domain.PatArchiveImport" useGeneratedKeys="true" keyProperty="id"> + <insert id="insertPatArchiveImport" parameterType="com.smartor.domain.PatArchiveImport" useGeneratedKeys="true" + keyProperty="id"> insert into pat_archive_import <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="patientno != null">patientno, - </if> - <if test="pattype != null">pattype, - </if> - <if test="name != null">name, - </if> - <if test="sex != null">sex, - </if> - <if test="idcardno != null">idcardno, - </if> - <if test="age != null">age, - </if> - <if test="telcode != null">telcode, - </if> - <if test="openid != null">openid, - </if> - <if test="delFlag != null">del_flag, - </if> - <if test="updateBy != null">update_by, - </if> - <if test="updateTime != null">update_time, - </if> - <if test="createBy != null">create_by, - </if> - <if test="createTime != null">create_time, - </if> - <if test="batchName != null">batch_name, - </if> - <if test="batchNo != null">batch_no, - </if> + <if test="patientno != null">patientno, + </if> + <if test="pattype != null">pattype, + </if> + <if test="name != null">name, + </if> + <if test="sex != null">sex, + </if> + <if test="idcardno != null">idcardno, + </if> + <if test="age != null">age, + </if> + <if test="telcode != null">telcode, + </if> + <if test="openid != null">openid, + </if> + <if test="delFlag != null">del_flag, + </if> + <if test="updateBy != null">update_by, + </if> + <if test="updateTime != null">update_time, + </if> + <if test="createBy != null">create_by, + </if> + <if test="createTime != null">create_time, + </if> + <if test="batchName != null">batch_name, + </if> + <if test="batchNo != null">batch_no, + </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="patientno != null">#{patientno}, - </if> - <if test="pattype != null">#{pattype}, - </if> - <if test="name != null">#{name}, - </if> - <if test="sex != null">#{sex}, - </if> - <if test="idcardno != null">#{idcardno}, - </if> - <if test="age != null">#{age}, - </if> - <if test="telcode != null">#{telcode}, - </if> - <if test="openid != null">#{openid}, - </if> - <if test="delFlag != null">#{delFlag}, - </if> - <if test="updateBy != null">#{updateBy}, - </if> - <if test="updateTime != null">#{updateTime}, - </if> - <if test="createBy != null">#{createBy}, - </if> - <if test="createTime != null">#{createTime}, - </if> - <if test="batchName != null">#{batchName}, - </if> - <if test="batchNo != null">#{batchNo}, - </if> + <if test="patientno != null">#{patientno}, + </if> + <if test="pattype != null">#{pattype}, + </if> + <if test="name != null">#{name}, + </if> + <if test="sex != null">#{sex}, + </if> + <if test="idcardno != null">#{idcardno}, + </if> + <if test="age != null">#{age}, + </if> + <if test="telcode != null">#{telcode}, + </if> + <if test="openid != null">#{openid}, + </if> + <if test="delFlag != null">#{delFlag}, + </if> + <if test="updateBy != null">#{updateBy}, + </if> + <if test="updateTime != null">#{updateTime}, + </if> + <if test="createBy != null">#{createBy}, + </if> + <if test="createTime != null">#{createTime}, + </if> + <if test="batchName != null">#{batchName}, + </if> + <if test="batchNo != null">#{batchNo}, + </if> </trim> </insert> <update id="updatePatArchiveImport" parameterType="com.smartor.domain.PatArchiveImport"> update pat_archive_import <trim prefix="SET" suffixOverrides=","> - <if test="patientno != null">patientno = - #{patientno}, - </if> - <if test="pattype != null">pattype = - #{pattype}, - </if> - <if test="name != null">name = - #{name}, - </if> - <if test="sex != null">sex = - #{sex}, - </if> - <if test="idcardno != null">idcardno = - #{idcardno}, - </if> - <if test="age != null">age = - #{age}, - </if> - <if test="telcode != null">telcode = - #{telcode}, - </if> - <if test="openid != null">openid = - #{openid}, - </if> - <if test="delFlag != null">del_flag = - #{delFlag}, - </if> - <if test="updateBy != null">update_by = - #{updateBy}, - </if> - <if test="updateTime != null">update_time = - #{updateTime}, - </if> - <if test="createBy != null">create_by = - #{createBy}, - </if> - <if test="createTime != null">create_time = - #{createTime}, - </if> - <if test="batchName != null">batch_name = - #{batchName}, - </if> - <if test="batchNo != null">batch_no = - #{batchNo}, - </if> + <if test="patientno != null">patientno = + #{patientno}, + </if> + <if test="pattype != null">pattype = + #{pattype}, + </if> + <if test="name != null">name = + #{name}, + </if> + <if test="sex != null">sex = + #{sex}, + </if> + <if test="idcardno != null">idcardno = + #{idcardno}, + </if> + <if test="age != null">age = + #{age}, + </if> + <if test="telcode != null">telcode = + #{telcode}, + </if> + <if test="openid != null">openid = + #{openid}, + </if> + <if test="delFlag != null">del_flag = + #{delFlag}, + </if> + <if test="updateBy != null">update_by = + #{updateBy}, + </if> + <if test="updateTime != null">update_time = + #{updateTime}, + </if> + <if test="createBy != null">create_by = + #{createBy}, + </if> + <if test="createTime != null">create_time = + #{createTime}, + </if> + <if test="batchName != null">batch_name = + #{batchName}, + </if> + <if test="batchNo != null">batch_no = + #{batchNo}, + </if> </trim> where id = #{id} </update> - <update id="deletePatArchiveImportById" parameterType="Long"> + <update id="deletePatArchiveImportById" parameterType="Long"> update pat_archive_import <trim prefix="SET" suffixOverrides=","> del_flag =1 </trim> - where id = #{id} + where id = #{id} </update> - <update id="deletePatArchiveImportByIds" parameterType="String"> - update pat_archive_import + <update id="deletePatArchiveImportByIds" parameterType="String"> + update pat_archive_import <trim prefix="SET" suffixOverrides=","> del_flag =1 </trim> @@ -209,8 +225,6 @@ #{id} </foreach> </update> - - </mapper> diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml index 0019030..ba421b1 100644 --- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml @@ -238,7 +238,12 @@ <if test="remark != null">and remark = #{remark}</if> <if test="suggest != null">and suggest = #{suggest}</if> </where> - order by update_time desc,id desc + <if test="serviceType != null and serviceType != ''and serviceType != '2'and serviceType != '3'">order by + long_send_time desc + </if> + <if test="serviceType != null and serviceType != ''and serviceType == '2'">order by endtime desc</if> + <if test="serviceType != null and serviceType != ''and serviceType == '3'">order by admindate desc</if> + -- order by update_time desc,id desc </select> <select id="selectServiceSubtaskById" parameterType="Long" resultMap="ServiceSubtaskResult"> -- Gitblit v1.9.3