ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceSubtaskDetailTraceController.java
@@ -12,6 +12,7 @@ import com.smartor.domain.ServiceSubtaskDetailTrace; import com.smartor.domain.VO.DetailTraceDealVO; import com.smartor.domain.VO.SatisfactionExceptConfigQuestionReqVO; import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO; import com.smartor.service.IServiceSubtaskDetailTraceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -45,14 +46,14 @@ //@PreAuthorize("@ss.hasPermi('smartor:ltrace:list')") @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") @PostMapping("/list") public Map<String, Object> list(@RequestBody ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) { Integer offset = PageUtils.getOffset(serviceSubtaskDetailTrace.getPageNum(), serviceSubtaskDetailTrace.getPageSize()); serviceSubtaskDetailTrace.setPageNum(offset); List<ServiceSubtaskDetailTrace> list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace); public Map<String, Object> list(@RequestBody ServiceSubtaskDetailTraceVO serviceSubtaskDetailTraceVO) { Integer offset = PageUtils.getOffset(serviceSubtaskDetailTraceVO.getPageNum(), serviceSubtaskDetailTraceVO.getPageSize()); serviceSubtaskDetailTraceVO.setPageNum(offset); List<ServiceSubtaskDetailTrace> list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTraceVO); serviceSubtaskDetailTrace.setPageNum(null); serviceSubtaskDetailTrace.setPageSize(null); List<ServiceSubtaskDetailTrace> total = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace); serviceSubtaskDetailTraceVO.setPageNum(null); serviceSubtaskDetailTraceVO.setPageSize(null); List<ServiceSubtaskDetailTrace> total = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTraceVO); return getDataTable3(CollectionUtils.isNotEmpty(total) ? total.size() : 0, list); } @@ -71,7 +72,7 @@ detailTraceDealVO.setPageNum(null); detailTraceDealVO.setPageSize(null); Map<String, Object> totalResult = serviceSubtaskDetailTraceService.tracedeallist(detailTraceDealVO); List<?> totalRows = (List<?>) totalResult.get("rows"); List<?> totalRows = (List<?>) totalResult.get("detailTraceDealDTOList"); //å°æ»æ°ä¿¡æ¯æ·»å å°ç»æä¸ result.put("totalException", totalResult.get("totalException")); @@ -99,8 +100,8 @@ //@PreAuthorize("@ss.hasPermi('smartor:ltrace:export')") @Log(title = "é访任å¡å¼å¸¸è®°å½è·è¸ª", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) { List<ServiceSubtaskDetailTrace> list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace); public void export(HttpServletResponse response, ServiceSubtaskDetailTraceVO serviceSubtaskDetailTraceVO) { List<ServiceSubtaskDetailTrace> list = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTraceVO); ExcelUtil<ServiceSubtaskDetailTrace> util = new ExcelUtil<ServiceSubtaskDetailTrace>(ServiceSubtaskDetailTrace.class); util.exportExcel(response, list, "é访任å¡å¼å¸¸è®°å½è·è¸ªæ°æ®"); } @@ -136,6 +137,7 @@ @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") @PostMapping("/edit") public AjaxResult edit(@RequestBody ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) { if (serviceSubtaskDetailTrace.getPatdescJson() != null) serviceSubtaskDetailTrace.setPatdesc(serviceSubtaskDetailTrace.getPatdescJson().toJSONString()); return toAjax(serviceSubtaskDetailTraceService.updateServiceSubtaskDetailTtrace(serviceSubtaskDetailTrace)); } ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -342,19 +342,38 @@ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO); log.debug("ãdealHisDataãçç«åå¾·âå ¥é¢âçµæééæ°æ®ï¼é¢åºï¼{}", cid); // log.debug("ãdealHisDataãçç«åå¾·â鍿¥è¯âå¼å§ééæ°æ®ï¼é¢åºï¼{}", cid); // serviceSLTDInhospReqVO.setStartHeadTime(null); // serviceSLTDInhospReqVO.setStartTailTime(null); // serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime); // serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime); // serviceSLTDInhospReqVO.setStatusList(null); // List<String> list1 = new ArrayList<>(); // list1.add("FH0108.01"); // list1.add("FH0108.03"); // serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1); // log.debug("ãdealHisDataãçç«åå¾·â鍿¥è¯âééæ°æ®å ¥åï¼{}", serviceSLTDInhospReqVO); // serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO); // log.debug("ãdealHisDataãçç«åå¾·â鍿¥è¯âæééæ°æ®ï¼é¢åºï¼{}", cid); // 鍿¥è¯å页ééï¼æ¯é¡µ1000æ¡ï¼ç´å°æ æ°æ®ä¸ºæ¢ log.debug("ãdealHisDataãçç«åå¾·â鍿¥è¯âå¼å§å页ééæ°æ®ï¼é¢åºï¼{}", cid); serviceSLTDInhospReqVO.setStartHeadTime(null); serviceSLTDInhospReqVO.setStartTailTime(null); serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime); serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime); serviceSLTDInhospReqVO.setStatusList(null); List<String> list1 = new ArrayList<>(); list1.add("FH0108.01"); list1.add("FH0108.03"); serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1); long outpPage = 1L; final long OUTP_PAGE_SIZE = 1000L; while (true) { serviceSLTDInhospReqVO.setCurrent(outpPage); serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE); log.debug("ãdealHisDataãçç«åå¾·â鍿¥è¯âéé第{}é¡µæ°æ®ï¼é¢åºï¼{}", outpPage, cid); List<ServiceSLTDInhospResDTO> outpResult = serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO); if (CollectionUtils.isEmpty(outpResult)) { log.debug("ãdealHisDataãçç«åå¾·â鍿¥è¯â第{}é¡µæ æ°æ®ï¼ééç»æï¼é¢åºï¼{}", outpPage, cid); break; } log.debug("ãdealHisDataãçç«åå¾·â鍿¥è¯â第{}页éé{}æ¡ï¼é¢åºï¼{}", outpPage, outpResult.size(), cid); if (outpResult.size() < OUTP_PAGE_SIZE) { break; } outpPage++; } // æ¸ é¤å页忰ï¼é¿å å½±ååç»åºå ¥é¢æ¥è¯¢ serviceSLTDInhospReqVO.setCurrent(null); serviceSLTDInhospReqVO.setSize(null); log.debug("ãdealHisDataãçç«åå¾·â鍿¥è¯âå页éé宿ï¼é¢åºï¼{}", cid); log.debug("ãdealHisDataãçç«åå¾·âåºé¢âå¼å§ééæ°æ®ï¼é¢åºï¼{}", cid); serviceSLTDInhospReqVO.setStartHeadTime(null); smartor/src/main/java/com/smartor/domain/ServiceSubtaskDetailTrace.java
@@ -2,6 +2,7 @@ import java.util.Date; import com.alibaba.fastjson2.JSONObject; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; @@ -205,6 +206,12 @@ */ @ApiModelProperty("å 嫿£è å§åãæ£è çµè¯ãå°±è¯ç§å®¤ç") @Excel(name = "å 嫿£è å§åãæ£è çµè¯ãå°±è¯ç§å®¤ç") private JSONObject patdescJson; /** * å 嫿£è å§åãæ£è çµè¯ãå°±è¯ç§å®¤ç */ @ApiModelProperty("å 嫿£è å§åãæ£è çµè¯ãå°±è¯ç§å®¤ç") @Excel(name = "å 嫿£è å§åãæ£è çµè¯ãå°±è¯ç§å®¤ç") private String patdesc; /** smartor/src/main/java/com/smartor/domain/VO/DetailTraceDealVO.java
@@ -34,6 +34,13 @@ @ApiModelProperty("å¤çç§å®¤åç§°") @Excel(name = "å¤çç§å®¤åç§°") private String todeptname; /** * é®é¢ç±»å:è¯é³ãé®å· */ @ApiModelProperty("é®é¢ç±»å:è¯é³ãé®å·") @Excel(name = "模æ¿ç±»åï¼1.è¯é³ 2.é®å·") private Integer templateType; /** smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskDetailTraceVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ package com.smartor.domain.VO; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; import com.smartor.domain.ServiceSubtaskDetailTrace; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; /** * é访任å¡å¼å¸¸è®°å½è·è¸ªå¯¹è±¡ service_subtask_detail_trace * * @author lihu * @date 2026-03-24 */ @Data @ApiModel("é访任å¡å¼å¸¸è®°å½è·è¸ª") public class ServiceSubtaskDetailTraceVO extends ServiceSubtaskDetailTrace { private static final long serialVersionUID = -6807897351219920003L; /** * é®é¢IDéå */ @ApiModelProperty("é®é¢ID") @Excel(name = "é®é¢IDéå") private List<Long> scriptids; } smartor/src/main/java/com/smartor/mapper/PatMedOuthospMapper.java
@@ -40,6 +40,11 @@ int existsInTable(@Param("tableName") String tableName, @Param("id") Long id); /** * æ serialnum æ¥è¯¢æå®åè¡¨ä¸æ¯å¦å·²åå¨è¯¥è®°å½ï¼ç¨äºæå ¥åå»é */ int countBySerialnum(@Param("tableName") String tableName, @Param("serialnum") String serialnum); /** * æ´æ°å°æå®å表ï¼ç¨äºè·¯ç±å°æ£ç¡®åè¡¨ï¼ */ int updateInTable(@Param("tableName") String tableName, @Param("record") PatMedOuthosp record); smartor/src/main/java/com/smartor/mapper/ServiceSubtaskDetailTraceMapper.java
@@ -3,6 +3,7 @@ import java.util.List; import com.smartor.domain.VO.DetailTraceDealVO; import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO; import org.apache.ibatis.annotations.Mapper; import com.smartor.domain.ServiceSubtaskDetailTrace; @@ -28,7 +29,7 @@ * @param ServiceSubtaskDetailTtrace é访任å¡å¼å¸¸è®°å½è·è¸ª * @return é访任å¡å¼å¸¸è®°å½è·è¸ªéå */ public List<ServiceSubtaskDetailTrace> selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTrace ServiceSubtaskDetailTtrace); public List<ServiceSubtaskDetailTrace> selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTraceVO ServiceSubtaskDetailTtrace); public List<ServiceSubtaskDetailTrace> tracedeallist(DetailTraceDealVO detailTraceDealVO); smartor/src/main/java/com/smartor/service/IServiceSubtaskDetailTraceService.java
@@ -7,6 +7,7 @@ import com.smartor.domain.ServiceSubtaskDetailTrace; import com.smartor.domain.VO.DetailTraceDealVO; import com.smartor.domain.VO.SatisfactionExceptConfigQuestionReqVO; import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO; import org.springframework.web.bind.annotation.RequestBody; /** @@ -28,10 +29,10 @@ /** * æ¥è¯¢é访任å¡å¼å¸¸è®°å½è·è¸ªå表 * * @param serviceSubtaskDetailTtrace é访任å¡å¼å¸¸è®°å½è·è¸ª * @param subtaskDetailTraceVO é访任å¡å¼å¸¸è®°å½è·è¸ª * @return é访任å¡å¼å¸¸è®°å½è·è¸ªéå */ public List<ServiceSubtaskDetailTrace> selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTrace serviceSubtaskDetailTtrace); public List<ServiceSubtaskDetailTrace> selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTraceVO subtaskDetailTraceVO); /** * å¼å¸¸é®é¢å¤çæ 嵿¥è¯¢ smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -1302,15 +1302,24 @@ //䏿¯é¿æä»»å¡ï¼ä¸å¤ç continue; } if (serviceSubtask1.getEndtime().before(patMedInhosp1.getStarttime())) { //妿å½å循ç¯çåä»»å¡çåºé¢æ¶é´å¨âå夿°å¢çåä»»å¡âçåºé¢æ¶é´ä¹åï¼åå°å¾ªç¯çåä»»å¡åæ // log.error("æ£è åå ¥é¢çserviceSubtask1为:{}", serviceSubtask1); serviceSubtask1.setSendstate(4L); serviceSubtask1.setRemark("æ£è åå ¥é¢"); serviceSubtask1.setResult("error"); // serviceSubtask1.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); //æ¯å® åºé¢é¦æ¬¡ï¼7天ï¼é访ä¸å®è¦å boolean firstVisit = false; if (serviceSubtask1.getOrgid().equals("47255004333112711A1001") && serviceSubtask1.getVisitCount() != null && serviceSubtask1.getVisitCount() == 1) { firstVisit = true; } if (!firstVisit) { if (serviceSubtask1.getEndtime().before(patMedInhosp1.getStarttime())) { //妿å½å循ç¯çåä»»å¡çåºé¢æ¶é´å¨âå夿°å¢çåä»»å¡âçåºé¢æ¶é´ä¹åï¼åå°å¾ªç¯çåä»»å¡åæ // log.error("æ£è åå ¥é¢çserviceSubtask1为:{}", serviceSubtask1); serviceSubtask1.setSendstate(4L); serviceSubtask1.setRemark("æ£è åå ¥é¢"); serviceSubtask1.setResult("error"); // serviceSubtask1.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); } } } } //å°æ£å ¥çå ¥é¢æ°æ®è®¾ç½®ä¸ºå·²å¤ç smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
@@ -172,16 +172,24 @@ log.error("鍿¥å°±è¯æ¶é´ä¸è½ä¸ºç©º"); return 0; } // éè¦æå ¥å°åªä¸ªè¡¨ï¼æ ¹æ®å°±è¯æ¶é´çæ¥ææ¥å®ï¼å¦ææ ¹æ®å°±è¯æ¶é´æ¥ç¡®å®ç表ä¸åå¨ï¼ååå¨pat_med_outhospè¡¨ä¸ String targetTable = resolveTargetTable(patMedOuthosp.getAdmitdate()); if (targetTable == null) { return 0; } // æå ¥åæ serialnum æ¥éï¼é²æ¢éå¤éé导è´éå¤å ¥åº if (org.apache.commons.lang3.StringUtils.isNotBlank(patMedOuthosp.getSerialnum())) { int exists = patMedOuthospMapper.countBySerialnum(targetTable, patMedOuthosp.getSerialnum()); if (exists > 0) { log.debug("[insert] serialnum={} å·²åå¨äºè¡¨ {}ï¼è·³è¿æå ¥", patMedOuthosp.getSerialnum(), targetTable); return 0; } } patMedOuthosp.setCreateTime(DateUtils.getNowDate()); patMedOuthosp.setUpdateTime(DateUtils.getNowDate()); patMedOuthosp.setGuid(UUID.randomUUID().toString()); //éè¦æå ¥å°åªä¸ªè¡¨ï¼æ ¹æ®å°±è¯æ¶é´çæ¥ææ¥å®ï¼å¦ææ ¹æ®å°±è¯æ¶é´æ¥ç¡®å®ç表ä¸åå¨ï¼ååå¨pat_med_outhospè¡¨ä¸ String targetTable = resolveTargetTable(patMedOuthosp.getAdmitdate()); if (targetTable != null) { log.info("[insert] è·¯ç±å°å表: {}", targetTable); return patMedOuthospMapper.insertIntoTable(targetTable, patMedOuthosp); } return 0; log.info("[insert] è·¯ç±å°å表: {}", targetTable); return patMedOuthospMapper.insertIntoTable(targetTable, patMedOuthosp); } /** smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -393,6 +393,13 @@ params.put("inpatientArea", null); // params.put("status", reqVO.getStatusList() != null && !reqVO.getStatusList().isEmpty() ? reqVO.getStatusList().get(0) : null); params.put("status", null); // å页忰ï¼é¨æ¥è¯å页ééæ¶ä½¿ç¨ï¼ if (reqVO.getCurrent() != null) { params.put("current", reqVO.getCurrent()); } if (reqVO.getSize() != null) { params.put("size", reqVO.getSize()); } return params; } smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskAnswerServiceImpl.java
@@ -1,6 +1,7 @@ package com.smartor.service.impl; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.core.redis.RedisCache; @@ -10,6 +11,7 @@ import com.ruoyi.common.utils.StringUtils; import com.smartor.domain.*; import com.smartor.domain.DTO.ServiceSubtaskDetailDTO; import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO; import com.smartor.domain.entity.ServiceSubtaskEntity; import com.smartor.mapper.*; import com.smartor.service.IServiceSubtaskAnswerService; @@ -898,7 +900,12 @@ subtaskDetailTrace.setAsrtext(stt.getOptioncontent()); subtaskDetailTrace.setRecordpath(null); subtaskDetailTrace.setPatid(selectServiceSubtaskList.get(0).getPatid()); subtaskDetailTrace.setPatdesc(selectServiceSubtaskList.get(0).getSendname() + "," + selectServiceSubtaskList.get(0).getPhone() + "," + selectServiceSubtaskList.get(0).getDeptname()); JSONObject patdescJson1 = new JSONObject(); patdescJson1.put("sendname", selectServiceSubtaskList.get(0).getSendname()); patdescJson1.put("phone", selectServiceSubtaskList.get(0).getPhone()); patdescJson1.put("sex", selectServiceSubtaskList.get(0).getSex() == null ? selectServiceSubtaskList.get(0).getSex() == 1 ? "ç·" : "女" : null); patdescJson1.put("age", selectServiceSubtaskList.get(0).getAge()); subtaskDetailTrace.setPatdesc(patdescJson1.toJSONString()); subtaskDetailTrace.setTodeptcode(svyTaskTemplateScriptVO.getDutyDeptCode()); subtaskDetailTrace.setTodeptname(svyTaskTemplateScriptVO.getDutyDeptName()); subtaskDetailTrace.setOrgid(selectServiceSubtaskList.get(0).getOrgid()); @@ -909,10 +916,10 @@ traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace); } else if (ObjectUtils.isNotEmpty(stt) && stt.getIsabnormal() == 1L) { //è¿éä¸»è¦æ¯æå»æ¤äººåæå¼å¸¸éé¡¹æ¹æäºéå¼å¸¸çï¼è¿éå°±éè¦æ¥ä¸ä¸è¿æ¡æ°æ®æ¯ä¸æ¯å¨æ»¡æåº¦å¼å¸¸è¡¨ï¼å¦æå¨ï¼åè¦å é¤ ServiceSubtaskDetailTrace subtaskDetailTrace = new ServiceSubtaskDetailTrace(); subtaskDetailTrace.setSubId(serviceSubtaskDetailVO.getSubId()); subtaskDetailTrace.setScriptid(svyTaskTemplateScriptVO.getId()); List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTrace); ServiceSubtaskDetailTraceVO subtaskDetailTraceVO = new ServiceSubtaskDetailTraceVO(); subtaskDetailTraceVO.setSubId(serviceSubtaskDetailVO.getSubId()); subtaskDetailTraceVO.setScriptid(svyTaskTemplateScriptVO.getId()); List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTraceVO); if (CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)) { traceService.deleteServiceSubtaskDetailTtraceById(serviceSubtaskDetailTraces.get(0).getId()); } @@ -1103,7 +1110,7 @@ subtaskDetailTrace.setDetailId(serviceSubtaskDetail.getId()); subtaskDetailTrace.setSubId(serviceSubtaskDetailVO.getSubId()); subtaskDetailTrace.setTaskid(serviceSubtaskDetailVO.getTaskid()); subtaskDetailTrace.setTemplateid(ivrTaskTemplateScriptVO.getTemplateID()!=null ? Long.valueOf(ivrTaskTemplateScriptVO.getTemplateID()) : null); subtaskDetailTrace.setTemplateid(ivrTaskTemplateScriptVO.getTemplateID() != null ? Long.valueOf(ivrTaskTemplateScriptVO.getTemplateID()) : null); subtaskDetailTrace.setTemplatequestionnum(ivrTaskTemplateScriptVO.getSort() == null ? null : Long.valueOf(ivrTaskTemplateScriptVO.getSort())); //è·ååç±»ä¿¡æ¯ @@ -1131,7 +1138,12 @@ subtaskDetailTrace.setAsrtext(ivrTaskTemplateScriptVO.getIvrtext()); subtaskDetailTrace.setRecordpath(null); subtaskDetailTrace.setPatid(selectServiceSubtaskList.get(0).getPatid()); subtaskDetailTrace.setPatdesc(selectServiceSubtaskList.get(0).getSendname() + "," + selectServiceSubtaskList.get(0).getPhone() + "," + selectServiceSubtaskList.get(0).getDeptname()); JSONObject patdescJson2 = new JSONObject(); patdescJson2.put("sendname", selectServiceSubtaskList.get(0).getSendname()); patdescJson2.put("phone", selectServiceSubtaskList.get(0).getPhone()); patdescJson2.put("sex", selectServiceSubtaskList.get(0).getSex() == null ? selectServiceSubtaskList.get(0).getSex() == 1 ? "ç·" : "女" : null); patdescJson2.put("age", selectServiceSubtaskList.get(0).getAge()); subtaskDetailTrace.setPatdesc(patdescJson2.toJSONString()); subtaskDetailTrace.setTodeptcode(ivrTaskTemplateScriptVO.getDutyDeptCode()); subtaskDetailTrace.setTodeptname(ivrTaskTemplateScriptVO.getDutyDeptName()); subtaskDetailTrace.setOrgid(selectServiceSubtaskList.get(0).getOrgid()); @@ -1142,10 +1154,10 @@ traceService.insertServiceSubtaskDetailTtrace(subtaskDetailTrace); } else if (stt.getIsabnormal() != null && stt.getIsabnormal() != 1L) { //è¿éä¸»è¦æ¯æå»æ¤äººåæå¼å¸¸éé¡¹æ¹æäºéå¼å¸¸çï¼è¿éå°±éè¦æ¥ä¸ä¸è¿æ¡æ°æ®æ¯ä¸æ¯å¨æ»¡æåº¦å¼å¸¸è¡¨ï¼å¦æå¨ï¼åè¦å é¤ ServiceSubtaskDetailTrace subtaskDetailTrace = new ServiceSubtaskDetailTrace(); subtaskDetailTrace.setSubId(serviceSubtaskDetailVO.getSubId()); subtaskDetailTrace.setScriptid(ivrTaskTemplateScriptVO.getScriptID() == null ? ivrTaskTemplateScriptVO.getId() : ivrTaskTemplateScriptVO.getScriptID()); List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTrace); ServiceSubtaskDetailTraceVO subtaskDetailTraceVO = new ServiceSubtaskDetailTraceVO(); subtaskDetailTraceVO.setSubId(serviceSubtaskDetailVO.getSubId()); subtaskDetailTraceVO.setScriptid(ivrTaskTemplateScriptVO.getScriptID() == null ? ivrTaskTemplateScriptVO.getId() : ivrTaskTemplateScriptVO.getScriptID()); List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = traceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTraceVO); if (CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)) { traceService.deleteServiceSubtaskDetailTtraceById(serviceSubtaskDetailTraces.get(0).getId()); } smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskDetailTraceServiceImpl.java
@@ -3,6 +3,7 @@ import java.util.*; import java.util.stream.Collectors; import com.alibaba.fastjson2.JSON; import com.github.pagehelper.util.StringUtil; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; @@ -10,6 +11,7 @@ import com.smartor.domain.DTO.DetailTraceDealDTO; import com.smartor.domain.VO.DetailTraceDealVO; import com.smartor.domain.VO.SatisfactionExceptConfigQuestionReqVO; import com.smartor.domain.VO.ServiceSubtaskDetailTraceVO; import com.smartor.mapper.ServiceSubtaskDetailMapper; import com.smartor.mapper.ServiceSubtaskDetailTraceMapper; import com.smartor.mapper.SvyLibScriptCategoryMapper; @@ -62,12 +64,18 @@ /** * æ¥è¯¢é访任å¡å¼å¸¸è®°å½è·è¸ªå表 * * @param serviceSubtaskDetailTrace é访任å¡å¼å¸¸è®°å½è·è¸ª * @param serviceSubtaskDetailTraceVO é访任å¡å¼å¸¸è®°å½è·è¸ª * @return é访任å¡å¼å¸¸è®°å½è·è¸ª */ @Override public List<ServiceSubtaskDetailTrace> selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTrace serviceSubtaskDetailTrace) { return serviceSubtaskDetailTraceMapper.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTrace); public List<ServiceSubtaskDetailTrace> selectServiceSubtaskDetailTtraceList(ServiceSubtaskDetailTraceVO serviceSubtaskDetailTraceVO) { List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = serviceSubtaskDetailTraceMapper.selectServiceSubtaskDetailTtraceList(serviceSubtaskDetailTraceVO); for (ServiceSubtaskDetailTrace serviceSubtaskDetailTrace : serviceSubtaskDetailTraces) { if (StringUtils.isNotEmpty(serviceSubtaskDetailTrace.getPatdesc())) { serviceSubtaskDetailTrace.setPatdescJson(JSON.parseObject(serviceSubtaskDetailTrace.getPatdesc())); } } return serviceSubtaskDetailTraces; } @Override smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -1,6 +1,7 @@ package com.smartor.service.impl; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -576,14 +577,14 @@ if (StringUtils.isNotEmpty(serviceTaskVO.getLibtemplateid())) { serviceTask.setLibtemplateid(serviceTaskVO.getLibtemplateid()); serviceTask.setLibtemplatename(serviceTaskVO.getLibtemplatename()); }else { } else { if (ObjectUtils.isNotEmpty(serviceTaskVO.getSvyTaskTemplateVO())) { serviceTask.setLibtemplateid(""+serviceTaskVO.getSvyTaskTemplateVO().getTemplateid()); serviceTask.setLibtemplatename(""+serviceTaskVO.getLibtemplatename()); serviceTask.setLibtemplateid("" + serviceTaskVO.getSvyTaskTemplateVO().getTemplateid()); serviceTask.setLibtemplatename("" + serviceTaskVO.getLibtemplatename()); } if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) { serviceTask.setLibtemplateid(""+serviceTaskVO.getIvrTaskTemplateVO().getLibtemplateid()); serviceTask.setLibtemplatename(""+serviceTaskVO.getIvrTaskTemplateVO().getLibtemplatename()); serviceTask.setLibtemplateid("" + serviceTaskVO.getIvrTaskTemplateVO().getLibtemplateid()); serviceTask.setLibtemplatename("" + serviceTaskVO.getIvrTaskTemplateVO().getLibtemplatename()); } } if (serviceTaskVO.getTemplateid() != null) { @@ -1591,7 +1592,12 @@ subtaskDetailTrace.setAsrtext(phoneCallReqYQVO.getAsrtext()); subtaskDetailTrace.setRecordpath(phoneCallReqYQVO.getRecordpath()); subtaskDetailTrace.setPatid(serviceSubtask.getPatid()); subtaskDetailTrace.setPatdesc(serviceSubtask.getSendname() + "," + serviceSubtask.getPhone() + "," + serviceSubtask.getDeptname()); JSONObject patdescJson = new JSONObject(); patdescJson.put("sendname", serviceSubtask.getSendname()); patdescJson.put("phone", serviceSubtask.getPhone()); patdescJson.put("age", serviceSubtask.getAge()); patdescJson.put("sex", serviceSubtask.getSex() != null ? serviceSubtask.getSex() == 1 ? "ç·" : "女" : null); subtaskDetailTrace.setPatdesc(patdescJson.toJSONString()); subtaskDetailTrace.setTodeptcode(ivrTaskTemplateScriptVO.getDutyDeptCode()); subtaskDetailTrace.setTodeptname(ivrTaskTemplateScriptVO.getDutyDeptName()); subtaskDetailTrace.setOrgid(serviceSubtask.getOrgid()); @@ -2659,9 +2665,9 @@ if (visitCount != null && visitCount > 1) { serviceSubtaskStatistic = getStatisticAgain(serviceSubtaskList, followUpCountStyle); }else if(visitCount != null && visitCount == 1){ } else if (visitCount != null && visitCount == 1) { serviceSubtaskStatistic = getStatisticFirst(serviceSubtaskList, followUpCountStyle); }else { } else { //æ ¼å¼å为两ä½å°æ°çç¾åæ¯ DecimalFormat percentFormat = new DecimalFormat("##.##%"); serviceSubtaskStatistic.setDeptname(serviceSubtaskList.get(0).getDeptname()); @@ -2921,6 +2927,7 @@ /** * 馿¬¡é访ç»è®¡ * * @param serviceSubtaskList * @param followUpCountStyle * @return @@ -3082,6 +3089,7 @@ /** * 忬¡é访ç»è®¡ * * @param serviceSubtaskList * @param followUpCountStyle * @return smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
@@ -447,6 +447,13 @@ WHERE id = #{id} </select> <!-- æ serialnum æ¥è¯¢æå®åè¡¨ä¸æ¯å¦å·²åå¨è¯¥è®°å½ï¼ç¨äºæå ¥åå»é --> <select id="countBySerialnum" resultType="int"> SELECT COUNT(*) FROM ${tableName} WHERE serialnum = #{serialnum} </select> <update id="updateInTable" parameterType="map"> update ${tableName} <trim prefix="SET" suffixOverrides=","> smartor/src/main/resources/mapper/smartor/ServiceSubtaskDetailTraceMapper.xml
@@ -108,7 +108,7 @@ from service_subtask_detail_trace </sql> <select id="selectServiceSubtaskDetailTtraceList" parameterType="com.smartor.domain.ServiceSubtaskDetailTrace" <select id="selectServiceSubtaskDetailTtraceList" parameterType="com.smartor.domain.VO.ServiceSubtaskDetailTraceVO" resultMap="ServiceSubtaskDetailTtraceResult"> <include refid="selectServiceSubtaskDetailTtraceVo"/> where del_flag=0 @@ -160,8 +160,11 @@ <if test="valueType != null and valueType != ''"> and value_type = #{valueType} </if> <if test="scriptid != null "> and scriptid = #{scriptid} <if test="scriptids != null "> and scriptid in <foreach item="scriptid" collection="scriptids" open="(" separator="," close=")"> #{scriptid} </foreach> </if> <if test="answerps != null and answerps != ''"> and answerps = #{answerps} @@ -268,6 +271,9 @@ <if test="type != null and type != ''"> and type = #{type} </if> <if test="templateType != null"> and template_type = #{templateType} </if> </select>