From dc4df9a530016c4fd24f9aebc6ccf1b95310ff1f Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期三, 02 七月 2025 11:13:06 +0800 Subject: [PATCH] Changes --- smartor/src/main/java/com/smartor/domain/PatArchiveReq.java | 2 smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java | 8 .idea/jarRepositories.xml | 25 -- ruoyi-admin/src/main/resources/application-local.yml | 4 smartor/src/main/java/com/smartor/service/impl/ExternalInfoServiceImpl.java | 229 +++++++++++++--------- ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java | 9 smartor/src/main/java/com/smartor/domain/ExternalOutHospInfo.java | 4 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java | 22 ++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ExternalInfoController.java | 2 ruoyi-admin/src/main/resources/application.yml | 22 ++ smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 11 smartor/src/main/java/com/smartor/domain/PatArchive.java | 13 + smartor/src/main/java/com/smartor/domain/PatReservationRecord.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatReservationRecordController.java | 26 +- smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 23 - ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java | 2 ruoyi-admin/src/main/resources/logback.xml | 93 ++++---- smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java | 84 ++++---- .idea/compiler.xml | 1 19 files changed, 337 insertions(+), 245 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 4d765fa..47c11f7 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -12,7 +12,6 @@ <module name="ruoyi-generator" /> <module name="ruoyi-common" /> <module name="smartor-admin" /> - <module name="smartor-wuxi (1)" /> <module name="ruoyi-quartz" /> </profile> </annotationProcessing> diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index f246c6b..18a3157 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -2,11 +2,6 @@ <project version="4"> <component name="RemoteRepositoriesConfiguration"> <remote-repository> - <option name="id" value="aliyun" /> - <option name="name" value="aliyun" /> - <option name="url" value="https://maven.aliyun.com/repository/public/" /> - </remote-repository> - <remote-repository> <option name="id" value="central" /> <option name="name" value="Central Repository" /> <option name="url" value="https://repo.maven.apache.org/maven2" /> @@ -15,11 +10,6 @@ <option name="id" value="jcenter" /> <option name="name" value="jcenter" /> <option name="url" value="https://maven.aliyun.com/repository/public" /> - </remote-repository> - <remote-repository> - <option name="id" value="central" /> - <option name="name" value="Central Repository" /> - <option name="url" value="https://maven.aliyun.com/repository/public/" /> </remote-repository> <remote-repository> <option name="id" value="releases" /> @@ -72,11 +62,6 @@ <option name="url" value="http://repo2.maven.org/maven2/" /> </remote-repository> <remote-repository> - <option name="id" value="central" /> - <option name="name" value="central" /> - <option name="url" value="https://maven.aliyun.com/repository/public/" /> - </remote-repository> - <remote-repository> <option name="id" value="snapshots" /> <option name="name" value="local private nexus snapshots" /> <option name="url" value="http://122.49.30.5:8981/nexus/content/repositories/snapshots/" /> @@ -85,16 +70,6 @@ <option name="id" value="maven_repos" /> <option name="name" value="maven_repos" /> <option name="url" value="https://nexus.cmread.com:9343/nexus/content/repositories/migu" /> - </remote-repository> - <remote-repository> - <option name="id" value="jcenter" /> - <option name="name" value="jcenter" /> - <option name="url" value="https://maven.aliyun.com/repository/public/" /> - </remote-repository> - <remote-repository> - <option name="id" value="public" /> - <option name="name" value="aliyun nexus" /> - <option name="url" value="https://maven.aliyun.com/repository/public/" /> </remote-repository> <remote-repository> <option name="id" value="jboss.community" /> diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ExternalInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ExternalInfoController.java index 4554ff1..d355035 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ExternalInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ExternalInfoController.java @@ -88,7 +88,7 @@ //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/getExternalLeaveHospPatientInfo30Day") public Boolean getExternalLeaveHospPatientInfo30Day() { - Boolean externalInHospPatientInfoBY250325 = externalInfoService.getExternalInHospPatientInfoBY250325(); +// Boolean externalInHospPatientInfoBY250325 = externalInfoService.getExternalInHospPatientInfoBY250325(); Boolean externalInHospPatientInfo = externalInfoService.getExternalLeaveHospPatientInfo30Day(); return externalInHospPatientInfo; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java index cec33b0..f77ae57 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java @@ -48,7 +48,7 @@ //@PreAuthorize("@ss.hasPermi('smartor:patarchive:list')") @PostMapping("/list") public TableDataInfo list(@RequestBody PatArchive patArchive) { - startPage(); + PageUtils.startPageByPost(patArchive.getPageNum(), patArchive.getPageSize()); List<PatArchive> list = patArchiveService.selectPatArchiveList(patArchive); return getDataTable(list); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java index e407fd3..8b77350 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java @@ -4,6 +4,8 @@ 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.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.PageUtils; @@ -41,6 +43,13 @@ //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:list')") @PostMapping("/selectPatMedInhospList") public TableDataInfo selectPatMedInhosplist(@RequestBody PatMedInhosp patMedInhosp) { + //鑾峰彇褰撳墠鐧婚檰浜� + LoginUser loginUser = getLoginUser(); + SysUser user = loginUser.getUser(); + if (!"admin".equals(user.getUserName()) && CollectionUtils.isEmpty(patMedInhosp.getDeptcodes()) && CollectionUtils.isEmpty(patMedInhosp.getHospitaldistrictcodes())) + //濡傛灉鍦ㄩ櫌鐥呭尯绉戝鍚屾椂闂翠负绌猴紝杩斿洖绌� + return getDataTable2(0, null); + PageUtils.startPageByPost(patMedInhosp.getPageNum(), patMedInhosp.getPageSize()); List<PatMedInhosp> list = patMedInhospService.selectPatMedInhospList(patMedInhosp); long count = PageUtils.count(new ISelect() { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatReservationRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatReservationRecordController.java index 579cba2..47b5eaf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatReservationRecordController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatReservationRecordController.java @@ -17,12 +17,12 @@ import java.util.List; /** - * 銆愯濉啓鍔熻兘鍚嶇О銆慍ontroller + * 鎮h�呴绾﹁褰旵ontroller * * @author lihu * @date 2025-06-24 */ -@Api("銆愯濉啓鍔熻兘鍚嶇О銆�") +@Api("鎮h�呴绾﹁褰�") @RestController @RequestMapping("/smartor/record") public class PatReservationRecordController extends BaseController { @@ -30,9 +30,9 @@ private IPatReservationRecordService patReservationRecordService; /** - * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛� + * 鏌ヨ鎮h�呴绾﹁褰曞垪琛� */ - @ApiOperation("鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�") + @ApiOperation("鏌ヨ鎮h�呴绾﹁褰曞垪琛�") //@PreAuthorize("@ss.hasPermi('smartor:record:list')") @PostMapping("/list") public TableDataInfo list(@RequestBody PatReservationRecord patReservationRecord) { @@ -42,9 +42,9 @@ } /** - * 瀵煎嚭銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛� + * 瀵煎嚭鎮h�呴绾﹁褰曞垪琛� */ - @ApiOperation("瀵煎嚭銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�") + @ApiOperation("瀵煎嚭鎮h�呴绾﹁褰曞垪琛�") //@PreAuthorize("@ss.hasPermi('smartor:record:export')") @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.EXPORT) @PostMapping("/export") @@ -57,7 +57,7 @@ /** * 鑾峰彇銆愯濉啓鍔熻兘鍚嶇О銆戣缁嗕俊鎭� */ - @ApiOperation("鑾峰彇銆愯濉啓鍔熻兘鍚嶇О銆戣缁嗕俊鎭�") + @ApiOperation("鑾峰彇鎮h�呴绾﹁褰曡缁嗕俊鎭�") //@PreAuthorize("@ss.hasPermi('smartor:record:query')") @GetMapping(value = "/getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { @@ -65,9 +65,9 @@ } /** - * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆� + * 鏂板鎮h�呴绾﹁褰� */ - @ApiOperation("鏂板銆愯濉啓鍔熻兘鍚嶇О銆�") + @ApiOperation("鏂板鎮h�呴绾﹁褰�") //@PreAuthorize("@ss.hasPermi('smartor:record:add')") @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -76,9 +76,9 @@ } /** - * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆� + * 淇敼鎮h�呴绾﹁褰� */ - @ApiOperation("淇敼銆愯濉啓鍔熻兘鍚嶇О銆�") + @ApiOperation("淇敼鎮h�呴绾﹁褰�") //@PreAuthorize("@ss.hasPermi('smartor:record:edit')") @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -87,9 +87,9 @@ } /** - * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆� + * 鍒犻櫎鎮h�呴绾﹁褰� */ - @ApiOperation("鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�") + @ApiOperation("鍒犻櫎鎮h�呴绾﹁褰�") //@PreAuthorize("@ss.hasPermi('smartor:record:remove')") @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.DELETE) @GetMapping("/remove/{ids}") diff --git a/ruoyi-admin/src/main/resources/application-local.yml b/ruoyi-admin/src/main/resources/application-local.yml index ce671d2..d934e92 100644 --- a/ruoyi-admin/src/main/resources/application-local.yml +++ b/ruoyi-admin/src/main/resources/application-local.yml @@ -19,7 +19,7 @@ # password: csbsbxt@123 # driver-class-name: org.postgresql.Driver # 鏈湴楂樻柉 - url: jdbc:postgresql://192.168.100.122:5432/postgres + url: jdbc:postgresql://127.0.0.1:5432/postgres username: gaussdb password: Ls@123456 driver-class-name: org.postgresql.Driver @@ -90,7 +90,7 @@ # port: 6020 # 鍦板潃锛堝叕鍙革級 - host: 116.62.18.175 + host: 127.0.0.1 port: 6020 # 鏁版嵁搴撶储寮� database: 0 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 8bdc232..6152ad3 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -37,9 +37,27 @@ logging: # 鏃ュ織璺緞 绀轰緥锛� Windows閰嶇疆D:/ruoyi/logs锛孡inux閰嶇疆 /home/ruoyi/logs,涓嶅~鍚岀骇鐩綍logs锛� path: D:/ruoyi/ls/logs + # 瀛楃缂栫爜 + charset: + console: UTF-8 + file: UTF-8 + # 鏃ュ織鏂囦欢閰嶇疆 + file: + name: ${logging.path}/ruoyi.log + max-size: 100MB + max-history: 30 + # 鏃ュ織绾у埆閰嶇疆 level: - com.ruoyi: debug + com.ruoyi: info + com.smartor: info org.springframework: warn + org.apache.ibatis: warn + # 鎺у埗鍙拌緭鍑虹骇鍒� + root: info + # 鏃ュ織鏍煎紡閰嶇疆 + pattern: + console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" + file: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" # 鐢ㄦ埛閰嶇疆 user: @@ -56,7 +74,7 @@ # 鍥介檯鍖栬祫婧愭枃浠惰矾寰� basename: i18n/messages profiles: - active: local + active: wx # 鏂囦欢涓婁紶 servlet: multipart: diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml index 9dfaf9a..324bbf8 100644 --- a/ruoyi-admin/src/main/resources/logback.xml +++ b/ruoyi-admin/src/main/resources/logback.xml @@ -1,31 +1,35 @@ <?xml version="1.0" encoding="UTF-8"?> <configuration> - <!-- 鏃ュ織瀛樻斁璺緞 --> - <property name="log.path" value="D:/lihu/logs" /> + <!-- 鏃ュ織瀛樻斁璺緞 8095--> + <property name="log.path" value="D:/lihu/logs"/> + <!-- 鏃ュ織瀛樻斁璺緞 8096--> + <!-- <property name="log.path" value="D:/lihu/logs"/>--> + <!-- 涓芥按鏃ュ織瀛樻斁璺緞 --> + <!-- <property name="log.path" value="/home/software/smartor-logs" />--> <!-- 鏃ュ織杈撳嚭鏍煎紡 --> - <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> + <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/> - <!-- 鎺у埗鍙拌緭鍑� --> - <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${log.pattern}</pattern> - </encoder> - </appender> + <!-- 鎺у埗鍙拌緭鍑� --> + <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> + <encoder charset="UTF-8"> + <pattern>${log.pattern}</pattern> + </encoder> + </appender> - <!-- 绯荤粺鏃ュ織杈撳嚭 --> - <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/sys-info.log</file> + <!-- 绯荤粺鏃ュ織杈撳嚭 --> + <appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/sys-info.log</file> <!-- 寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠� --> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 鏃ュ織鏂囦欢鍚嶆牸寮� --> - <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder>l - <pattern>${og.pattern}</pattern> - </encoder> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern> + <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder charset="UTF-8"> + <pattern>${log.pattern}</pattern> + </encoder> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> <!-- 杩囨护鐨勭骇鍒� --> <level>INFO</level> <!-- 鍖归厤鏃剁殑鎿嶄綔锛氭帴鏀讹紙璁板綍锛� --> @@ -33,60 +37,61 @@ <!-- 涓嶅尮閰嶆椂鐨勬搷浣滐細鎷掔粷锛堜笉璁板綍锛� --> <onMismatch>DENY</onMismatch> </filter> - </appender> + </appender> - <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/sys-error.log</file> + <appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${log.path}/sys-error.log</file> <!-- 寰幆鏀跨瓥锛氬熀浜庢椂闂村垱寤烘棩蹇楁枃浠� --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 鏃ュ織鏂囦欢鍚嶆牸寮� --> <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern> - <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> - <maxHistory>60</maxHistory> + <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> + <maxHistory>60</maxHistory> </rollingPolicy> - <encoder> + <encoder charset="UTF-8"> <pattern>${log.pattern}</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <!-- 杩囨护鐨勭骇鍒� --> <level>ERROR</level> - <!-- 鍖归厤鏃剁殑鎿嶄綔锛氭帴鏀讹紙璁板綍锛� --> + <!-- 鍖归厤鏃剁殑鎿嶄綔锛氭帴鏀讹紙璁板綍锛� --> <onMatch>ACCEPT</onMatch> - <!-- 涓嶅尮閰嶆椂鐨勬搷浣滐細鎷掔粷锛堜笉璁板綍锛� --> + <!-- 涓嶅尮閰嶆椂鐨勬搷浣滐細鎷掔粷锛堜笉璁板綍锛� --> <onMismatch>DENY</onMismatch> </filter> </appender> - <!-- 鐢ㄦ埛璁块棶鏃ュ織杈撳嚭 --> + <!-- 鐢ㄦ埛璁块棶鏃ュ織杈撳嚭 --> <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${log.path}/sys-user.log</file> + <file>${log.path}/sys-user.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 鎸夊ぉ鍥炴粴 daily --> <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 鏃ュ織鏈�澶х殑鍘嗗彶 60澶� --> <maxHistory>60</maxHistory> </rollingPolicy> - <encoder> + <encoder charset="UTF-8"> <pattern>${log.pattern}</pattern> </encoder> </appender> - <!-- 绯荤粺妯″潡鏃ュ織绾у埆鎺у埗 --> - <logger name="com.ruoyi" level="info" /> - <!-- Spring鏃ュ織绾у埆鎺у埗 --> - <logger name="org.springframework" level="warn" /> + <!-- 绯荤粺妯″潡鏃ュ織绾у埆鎺у埗 --> + <logger name="com.ruoyi" level="info"/> + <logger name="com.smartor" level="info"/> + <!-- Spring鏃ュ織绾у埆鎺у埗 --> + <logger name="org.springframework" level="warn"/> - <root level="info"> - <appender-ref ref="console" /> - </root> - - <!--绯荤粺鎿嶄綔鏃ュ織--> <root level="info"> - <appender-ref ref="file_info" /> - <appender-ref ref="file_error" /> + <appender-ref ref="console"/> </root> - <!--绯荤粺鐢ㄦ埛鎿嶄綔鏃ュ織--> + <!--绯荤粺鎿嶄綔鏃ュ織--> + <root level="info"> + <appender-ref ref="file_info"/> + <appender-ref ref="file_error"/> + </root> + + <!--绯荤粺鐢ㄦ埛鎿嶄綔鏃ュ織--> <logger name="sys-user" level="info"> <appender-ref ref="sys-user"/> </logger> diff --git a/smartor/src/main/java/com/smartor/domain/ExternalOutHospInfo.java b/smartor/src/main/java/com/smartor/domain/ExternalOutHospInfo.java index 30b1a00..dc4b75d 100644 --- a/smartor/src/main/java/com/smartor/domain/ExternalOutHospInfo.java +++ b/smartor/src/main/java/com/smartor/domain/ExternalOutHospInfo.java @@ -37,13 +37,13 @@ private Long czbz; @ApiModelProperty(value = "灏辫瘖绉戝浠g爜") - private Long ksdm; + private String ksdm; @ApiModelProperty(value = "灏辫瘖绉戝") private String ksmc; @ApiModelProperty(value = "鍖荤敓浠g爜") - private Long ysdm; + private String ysdm; @ApiModelProperty(value = "鍖荤敓") private String ysmc; diff --git a/smartor/src/main/java/com/smartor/domain/PatArchive.java b/smartor/src/main/java/com/smartor/domain/PatArchive.java index 17b3c01..a11633e 100644 --- a/smartor/src/main/java/com/smartor/domain/PatArchive.java +++ b/smartor/src/main/java/com/smartor/domain/PatArchive.java @@ -376,5 +376,18 @@ @ApiModelProperty("涓昏鐓ф姢浜哄勾榫�") @Excel(name = "涓昏鐓ф姢浜哄勾榫�") private String casePersonAge; + /** + * pageNum + */ + @ApiModelProperty(value = "pageNum") + @Excel(name = "pageNum") + private Integer pageNum; + + /** + * pageSize + */ + @ApiModelProperty(value = "pageSize") + @Excel(name = "pageSize") + private Integer pageSize; } diff --git a/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java b/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java index 1feae69..2f5b18e 100644 --- a/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java +++ b/smartor/src/main/java/com/smartor/domain/PatArchiveReq.java @@ -96,7 +96,7 @@ /** * 鏌ョ湅鍏ㄩ儴 0 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 */ - @ApiModelProperty(value = " 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3") + @ApiModelProperty(value = " 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 鏌ョ湅鍑洪櫌 4") private Long allhosp; diff --git a/smartor/src/main/java/com/smartor/domain/PatReservationRecord.java b/smartor/src/main/java/com/smartor/domain/PatReservationRecord.java index 15bca95..df617d8 100644 --- a/smartor/src/main/java/com/smartor/domain/PatReservationRecord.java +++ b/smartor/src/main/java/com/smartor/domain/PatReservationRecord.java @@ -13,7 +13,7 @@ * @date 2025-06-24 */ @Data -@ApiModel("銆愯濉啓鍔熻兘鍚嶇О銆�") +@ApiModel("鎮h�呴绾﹁褰�") public class PatReservationRecord extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java index 2a00dd7..c66753b 100644 --- a/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java +++ b/smartor/src/main/java/com/smartor/domain/SvyTaskTemplateScriptVO.java @@ -191,6 +191,14 @@ @ApiModelProperty(value = "闂缁撴灉 ,缁�=鈥滃�肩被鍨嬧�濇槸鏂囨湰鎴栬�呮暟鍊肩敤鐨�") private String scriptResult; + + /** + * 棰樼洰涓婚 + */ + @Excel(name = "棰樼洰缁撴灉") + @ApiModelProperty("棰樼洰缁撴灉ID(service_subtask_detail閲岀殑涓婚敭)") + private String scriptResultId; + /** * 鍙橀噺鍙傛暟闆嗗悎 */ diff --git a/smartor/src/main/java/com/smartor/service/impl/ExternalInfoServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ExternalInfoServiceImpl.java index e5007ef..ee6a7a5 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ExternalInfoServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ExternalInfoServiceImpl.java @@ -15,6 +15,7 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.Period; @@ -583,105 +584,149 @@ */ @Override public Boolean getExternalLeaveHospPatientInfo30Day() { - String startTime = null; - String endTime = null; - Date date = patMedInhospMapper.selectEndtimeMax(); - if (ObjectUtils.isNotEmpty(date)) { - Date now = new Date(); - // 浣跨敤Calendar璁$畻30澶╁墠 - Calendar cal = Calendar.getInstance(); - cal.setTime(now); - cal.add(Calendar.DAY_OF_MONTH, -30); - Date before30Days = cal.getTime(); - - + try { + // 鍥哄畾寮�濮嬫椂闂� + String fixedStartTime = "2025-03-25"; SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); -// startTime = formatter.format(date); -// startTime = formatter.format(before30Days); - startTime = "2025-03-25"; - endTime = formatter.format(new Date()); - } - List<ExternalLeaveHospPatientInfo> externalLeaveHospPatientInfo = externalInfoMapper.getExternalLeaveHospPatientInfo(startTime, endTime); - for (ExternalLeaveHospPatientInfo externalLeaveHospPatientInfo1 : externalLeaveHospPatientInfo) { - //鍏堝鎮h�呭熀鏈俊鎭繘琛屽鐞� - Long patid = dealPatArchive(externalLeaveHospPatientInfo1.getBrid()); - //鏂板鍑洪櫌鏁版嵁 - //鏍规嵁浣忛櫌鍙锋煡璇㈠叆闄俊鎭� - PatMedInhosp pmi = new PatMedInhosp(); - pmi.setInhospno(externalLeaveHospPatientInfo1.getZybm()); - List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList2(pmi); - log.error("閫氳繃浣忛櫌鍙凤細{}锛屾煡璇㈡偅鑰呭叆闄㈢殑淇℃伅涓�:{}", externalLeaveHospPatientInfo1.getZybm(), patMedInhospList); -// log.error("externalLeaveHospPatientInfo1鐨勭粨鏋滀负锛歿}", externalLeaveHospPatientInfo1); - if (CollectionUtils.isEmpty(patMedInhospList)) { - //濡傛灉涓嶅瓨鍦ㄥ叆闄俊鎭紝鏄笉鏄渶瑕佽幏鍙栦竴涓嬪叆闄俊鎭紝鍒欒繘琛屾柊澧烇紙锛� - List<ExternalInHospPatientInfo> externalInHospPatientInfo1 = externalInfoMapper.getExternalInHospPatientInfo(null, null, externalLeaveHospPatientInfo1.getBrid()); - if (CollectionUtils.isNotEmpty(externalInHospPatientInfo1)) { - //鍏堝鎮h�呭熀鏈俊鎭繘琛屽鐞� - Long pid = dealPatArchive(externalInHospPatientInfo1.get(0).getBrid()); - PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid); - //鏂板鍏ラ櫌鏁版嵁 - PatMedInhosp inhosp = new PatMedInhosp(); - inhosp.setInhospno(externalInHospPatientInfo1.get(0).getZyhm()); - inhosp.setSerialnum(externalInHospPatientInfo1.get(0).getZyhm()); - inhosp.setNurseId(externalInHospPatientInfo1.get(0).getZrhsbm()); - inhosp.setNurseName(externalInHospPatientInfo1.get(0).getZrhs()); - inhosp.setStarttime(externalInHospPatientInfo1.get(0).getRyrq()); - inhosp.setDiagname(externalInHospPatientInfo1.get(0).getRyqk()); - inhosp.setDeptcode(externalLeaveHospPatientInfo1.getCyks()); - inhosp.setDeptname(externalLeaveHospPatientInfo1.getCyksdm()); - inhosp.setDrname(externalLeaveHospPatientInfo1.getZrys()); - inhosp.setDrcode(externalLeaveHospPatientInfo1.getZrysbm()); - inhosp.setHospitaldistrictid("" + externalInHospPatientInfo1.get(0).getBrbqdm()); - inhosp.setBedNo("" + externalInHospPatientInfo1.get(0).getBrch()); - inhosp.setPatid(pid); - inhosp.setPatname(patArchive.getName()); - inhosp.setTelcode(patArchive.getTelcode()); - inhosp.setPatno(patArchive.getPatientno()); - inhosp.setOutWayName(externalLeaveHospPatientInfo1.getCyfs()); - inhosp.setEndtime(externalLeaveHospPatientInfo1.getCysq()); - inhosp.setLeavediagname(externalLeaveHospPatientInfo1.getCyzd()); - inhosp.setLeavehospitaldistrictcode(externalLeaveHospPatientInfo1.getCybqdm()); - inhosp.setLeavehospitaldistrictname(externalLeaveHospPatientInfo1.getCybq()); - inhosp.setLeaveldeptcode(externalLeaveHospPatientInfo1.getCyksdm()); - inhosp.setLeaveldeptname(externalLeaveHospPatientInfo1.getCyks()); + String today = formatter.format(new Date()); - inhosp.setSchemestatus(2L); - inhosp.setInhospstate("1"); - inhosp.setCreateTime(new Date()); -// log.error("鏂板鐨刾atMedInhosp涓猴細{}", inhosp); - int i = patMedInhospMapper.insertPatMedInhosp(inhosp); - log.error("鏂板鐨刾atMedInhosp缁撴灉涓猴細{}", i); + log.info("寮�濮嬪垎鎵规煡璇㈠嚭闄㈡偅鑰呬俊鎭紝鎬绘椂闂磋寖鍥达細{} 鑷� {}", fixedStartTime, today); - } else { - log.error("璇ョ梾浜轰笉瀛樺湪鍏ラ櫌淇℃伅锛岀梾浜篒D锛歿}", externalLeaveHospPatientInfo1.getBrid()); - } + // 璁$畻闇�瑕佹煡璇㈢殑娆℃暟 + Calendar startCal = Calendar.getInstance(); + Calendar endCal = Calendar.getInstance(); + Calendar currentCal = Calendar.getInstance(); - } else if (CollectionUtils.isNotEmpty(patMedInhospList)) { - //濡傛灉瀛樺湪鍏ラ櫌淇℃伅锛屽垯杩涜淇敼 - pmi = patMedInhospList.get(0); - pmi.setOutWayName(externalLeaveHospPatientInfo1.getCyfs()); - pmi.setEndtime(externalLeaveHospPatientInfo1.getCysq()); - pmi.setLeavediagname(externalLeaveHospPatientInfo1.getCyzd()); - pmi.setLeaveldeptcode(externalLeaveHospPatientInfo1.getCyksdm()); - pmi.setLeaveldeptname(externalLeaveHospPatientInfo1.getCyks()); - pmi.setDeptname(externalLeaveHospPatientInfo1.getCyks()); - pmi.setDeptcode(externalLeaveHospPatientInfo1.getCyksdm()); - pmi.setLeavehospitaldistrictcode(externalLeaveHospPatientInfo1.getCybqdm()); - pmi.setLeavehospitaldistrictname(externalLeaveHospPatientInfo1.getCybq()); -// pmi.setSchemestatus(2L); - pmi.setInhospstate("1"); -// pmi.setUpdateTime(new Date()); - pmi.setNurseId(externalLeaveHospPatientInfo1.getZrhsbm()); - pmi.setNurseName(externalLeaveHospPatientInfo1.getZrhs()); - pmi.setDrcode(externalLeaveHospPatientInfo1.getZrysbm()); - pmi.setDrname(externalLeaveHospPatientInfo1.getZrys()); - - log.error("淇敼鐨刾mi缁撴灉涓猴細{}", pmi); - patMedInhospMapper.updatePatMedInhosp(pmi); + try { + startCal.setTime(formatter.parse(fixedStartTime)); + endCal.setTime(formatter.parse(today)); + } catch (ParseException e) { + log.error("鏃ユ湡瑙f瀽澶辫触锛歿}", e.getMessage(), e); + return false; } + int totalDays = (int) ((endCal.getTimeInMillis() - startCal.getTimeInMillis()) / (1000 * 60 * 60 * 24)); + int batchSize = 10; // 姣忔壒10澶� + int totalBatches = (int) Math.ceil((double) totalDays / batchSize); + + log.info("鎬诲叡闇�瑕佹煡璇� {} 澶╋紝鍒嗕负 {} 鎵规锛屾瘡鎵� {} 澶�", totalDays, totalBatches, batchSize); + + int totalSuccessCount = 0; + int totalFailCount = 0; + + // 鍒嗘壒鏌ヨ + for (int batch = 0; batch < totalBatches; batch++) { + // 璁$畻褰撳墠鎵规鐨勫紑濮嬪拰缁撴潫鏃堕棿 + Calendar batchStartCal = (Calendar) startCal.clone(); + batchStartCal.add(Calendar.DAY_OF_MONTH, batch * batchSize); + + Calendar batchEndCal = (Calendar) batchStartCal.clone(); + batchEndCal.add(Calendar.DAY_OF_MONTH, batchSize - 1); + + // 纭繚涓嶈秴杩囦粖澶� + if (batchEndCal.after(endCal)) { + batchEndCal = (Calendar) endCal.clone(); + } + + String batchStartTime = formatter.format(batchStartCal.getTime()); + String batchEndTime = formatter.format(batchEndCal.getTime()); + + log.info("寮�濮嬫煡璇㈢ {} 鎵规锛屾椂闂磋寖鍥达細{} 鑷� {}", batch + 1, batchStartTime, batchEndTime); + + try { + // 鏌ヨ褰撳墠鎵规鐨勫閮ㄥ嚭闄㈡偅鑰呬俊鎭� + List<ExternalOutHospInfo> externalOutHospInfos = externalInfoMapper.getExternalOutHospInfo(batchStartTime, batchEndTime); + log.info("绗� {} 鎵规鏌ヨ鍒板嚭闄㈡偅鑰呬俊鎭暟閲忥細{}", batch + 1, externalOutHospInfos.size()); + + int batchSuccessCount = 0; + int batchFailCount = 0; + + // 澶勭悊褰撳墠鎵规鐨勬暟鎹� + for (ExternalOutHospInfo externalOutHospInfo : externalOutHospInfos) { + try { + // 澶勭悊鎮h�呮。妗� + Long patid = dealPatArchive(externalOutHospInfo.getBrid()); + PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid); + + // 鍒涘缓闂ㄨ瘖璁板綍瀵硅薄 + PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); + + // 璁剧疆鍩烘湰淇℃伅 + patMedOuthosp.setOuthospno(externalOutHospInfo.getJzkh()); + patMedOuthosp.setSerialnum(externalOutHospInfo.getJzkh()); + patMedOuthosp.setPatid(patid); + + // 璁剧疆鎮h�呭鍚� + if (ObjectUtils.isNotEmpty(patArchive)) { + patMedOuthosp.setPatname(patArchive.getName()); + } + + // 璁剧疆璇婃柇淇℃伅 + patMedOuthosp.setIcd10code(externalOutHospInfo.getZddm()); + patMedOuthosp.setDiagname(externalOutHospInfo.getZdmc()); + + // 璁剧疆绉戝淇℃伅 + patMedOuthosp.setDeptcode(String.valueOf(externalOutHospInfo.getKsdm())); + patMedOuthosp.setDeptname(externalOutHospInfo.getKsmc()); + + // 璁剧疆鍖荤敓淇℃伅 + patMedOuthosp.setDrcode(String.valueOf(externalOutHospInfo.getYsdm())); + patMedOuthosp.setDrname(externalOutHospInfo.getYsmc()); + + // 璁剧疆鍏朵粬淇℃伅 + patMedOuthosp.setHpi(externalOutHospInfo.getXbs()); + patMedOuthosp.setMainsuit(externalOutHospInfo.getZs()); + patMedOuthosp.setCategory(externalOutHospInfo.getLb()); + patMedOuthosp.setAdmitdate(externalOutHospInfo.getJzrq()); + + // 璁剧疆鏃堕棿瀛楁 + Date now = new Date(); + patMedOuthosp.setUploadTime(now); + patMedOuthosp.setCreateTime(now); + patMedOuthosp.setUpdateTime(now); + + // 璁剧疆榛樿鍊� + patMedOuthosp.setDelFlag("0"); // 鍒犻櫎鏍囧織 + patMedOuthosp.setIsupload(0L); // 涓婁紶鏍囧織 + + // 鎻掑叆鏁版嵁 + int result = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp); + if (result > 0) { + batchSuccessCount++; + totalSuccessCount++; + } else { + batchFailCount++; + totalFailCount++; + } + + } catch (Exception e) { + batchFailCount++; + totalFailCount++; + log.error("澶勭悊鎮h�呴棬璇婅褰曟椂鍙戠敓寮傚父锛屾偅鑰匢D锛歿}锛岄棬璇婂彿锛歿}锛屽紓甯镐俊鎭細{}", + externalOutHospInfo.getBrid(), externalOutHospInfo.getJzkh(), e.getMessage(), e); + } + } + + log.info("绗� {} 鎵规澶勭悊瀹屾垚锛屾垚鍔燂細{}锛屽け璐ワ細{}", batch + 1, batchSuccessCount, batchFailCount); + + // 姣忔壒娆″鐞嗗畬鍚庣◢浣滃欢杩燂紝閬垮厤瀵规暟鎹簱閫犳垚杩囧ぇ鍘嬪姏 + if (batch < totalBatches - 1) { + Thread.sleep(1000); // 寤惰繜1绉� + } + + } catch (Exception e) { + log.error("绗� {} 鎵规鏌ヨ澶勭悊鏃跺彂鐢熷紓甯革細{}", batch + 1, e.getMessage(), e); + totalFailCount++; + } + } + + log.info("鎵�鏈夋壒娆″鐞嗗畬鎴愶紝鎬昏鎴愬姛锛歿}锛屽け璐ワ細{}", totalSuccessCount, totalFailCount); + return true; + + } catch (Exception e) { + log.error("鑾峰彇鍑洪櫌鎮h�呬俊鎭椂鍙戠敓寮傚父锛歿}", e.getMessage(), e); + return false; } - return null; } diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java index ebea5be..c555ed7 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java @@ -124,6 +124,13 @@ if (CollectionUtils.isNotEmpty(patArchives3)) { patArchiveList.addAll(patArchives3); } + } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 4) { + // 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 鏌ョ湅鍑洪櫌 4 + patArchiveReq.setCry(1); + List<PatArchiveOthreInfo> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhospQC(patArchiveReq); + if (CollectionUtils.isNotEmpty(patArchives1)) { + patArchiveList.addAll(patArchives1); + } } return patArchiveList; @@ -282,6 +289,7 @@ List<PatArchiveOthreInfo> patArchiveList = new ArrayList<>(); if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 1) { // 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 + patArchiveReq.setCry(0); List<PatArchiveOthreInfo> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhosp(patArchiveReq); if (CollectionUtils.isNotEmpty(patArchives1)) { patArchiveList.addAll(patArchives1); @@ -297,6 +305,13 @@ List<PatArchiveOthreInfo> patArchives3 = patArchiveMapper.selectPatArchiveInfoByPhysical(patArchiveReq); if (CollectionUtils.isNotEmpty(patArchives3)) { patArchiveList.addAll(patArchives3); + } + }else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 4) { + // 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 鏌ョ湅鍑洪櫌 4 + patArchiveReq.setCry(1); + List<PatArchiveOthreInfo> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhospQC(patArchiveReq); + if (CollectionUtils.isNotEmpty(patArchives1)) { + patArchiveList.addAll(patArchives1); } } @@ -605,6 +620,13 @@ if (CollectionUtils.isNotEmpty(patArchives3)) { patArchiveList.addAll(patArchives3); } + }else if (patArchive.getAllhosp() != null && patArchive.getAllhosp() == 4) { + // 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 鏌ョ湅鍑洪櫌 4 + patArchive.setCry(1); + List<PatArchiveOthreInfo> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhospQC(patArchive); + if (CollectionUtils.isNotEmpty(patArchives1)) { + patArchiveList.addAll(patArchives1); + } } //鏍规嵁鎮h�匢D杩涜鍒嗙粍 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 a24a473..e7fa277 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java @@ -251,8 +251,6 @@ @Override 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 selectServiceSubtaskList; } @@ -269,6 +267,7 @@ @Override public Map<String, Object> patItemCount(ServiceSubtaskVO serviceSubtaskVO) { + serviceSubtaskVO.setSendstate(null); serviceSubtaskVO.setPageSize(99999999); serviceSubtaskVO.setPageNum(1); List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskVO); @@ -278,18 +277,15 @@ Integer yc = 0; Integer fssb = 0; Integer yfs = 0; - Integer xj = 0; - Integer dfs = 0; - Integer ywc = 0; - Integer ywc2 = 0; + Integer blq = 0; + Integer dsf = 0; for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { if (serviceSubtask.getSendstate() == 4L) wzx = wzx + 1; else if (serviceSubtask.getSendstate() != 4L) ysf = ysf + 1; if (serviceSubtask.getSendstate() == 5L) fssb = fssb + 1; - if (serviceSubtask.getSendstate() == 3L) yfs = yfs + 1; - if (serviceSubtask.getSendstate() == 1L) xj = xj + 1; - if (serviceSubtask.getSendstate() == 2L) dfs = dfs + 1; - if (serviceSubtask.getSendstate() == 6L) ywc = ywc + 1; + if (serviceSubtask.getSendstate() >= 3L || serviceSubtask.getSendstate() == 1L) yfs = yfs + 1; + if (serviceSubtask.getSendstate() == 2L) dsf = dsf + 1; + if (serviceSubtask.getSendstate() == 1L) blq = blq + 1; if (StringUtils.isNotEmpty(serviceSubtask.getExcep()) && serviceSubtask.getExcep().equals("1")) yc = yc + 1; } map.put("wzx", wzx); @@ -297,10 +293,9 @@ map.put("yc", yc); map.put("fssb", fssb); map.put("yfs", yfs); - map.put("xj", xj); - map.put("dfs", dfs); - map.put("ywc", ywc); - map.put("yfs2", yfs + ywc); + map.put("blq", blq); + map.put("dsf", dsf); + return map; } 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 838b0c0..024bb98 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java @@ -52,7 +52,7 @@ private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper; @Autowired - private SvyTaskTemplateScriptMapper svyTaskTemplateScriptMapper; + private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper; @Autowired private PatArchiveMapper patArchiveMapper; @@ -65,7 +65,7 @@ private PatReservationRecordMapper patReservationRecordMapper; @Autowired - private SvyTaskTemplateTargetoptionMapper svyTaskTemplateTargetoptionMapper; + private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper; @Autowired private RedisCache redisCache; @@ -309,55 +309,57 @@ } } - // 閫氳繃妯℃澘ID鑾峰彇闂淇℃伅 - SvyTaskTemplateScript svyTaskTemplateScript = new SvyTaskTemplateScript(); - svyTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid())); - svyTaskTemplateScript.setDelFlag("0"); - List<SvyTaskTemplateScript> svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript); - if (CollectionUtils.isEmpty(svyTaskTemplateScripts)) { - log.warn("svyTaskTemplateScripts涓虹┖锛岃灏藉揩鑱旂郴绠$悊鍛樺鐞�"); - return Collections.emptyList(); + //閫氳繃妯℃澘ID鑾峰彇闂淇℃伅 + SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); + svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid())); + svyLibTemplateScript.setDelFlag("0"); + List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript); + if (CollectionUtils.isEmpty(svyLibTemplateScripts) || svyLibTemplateScripts.size() == 0) { + log.info("ivrLibaTemplateScripts涓虹┖浜嗭紝璇峰敖蹇仈绯荤鐞嗗憳澶勭悊"); + return new ArrayList<>(); } - List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyTaskTemplateScripts, SvyTaskTemplateScriptVO.class); + List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyLibTemplateScripts, SvyLibTemplateScriptVO.class); - // 鑾峰彇鎮h�呬俊鎭� + //鑾峰彇鎮h�呬俊鎭� PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid); - // 瑙f瀽textParam - Map<String, Map<String, String>> ivrTaskMap = Collections.emptyMap(); + //閫氳繃鎮h�呬俊鎭拰浠诲姟淇℃伅涓殑textParam瀵归棶棰樹腑鐨勫彉閲忚繘琛屽~鍏� + ObjectMapper objectMapper = new ObjectMapper(); + Map<String, Map<String, String>> ivrTaskMap = null; try { - ObjectMapper objectMapper = new ObjectMapper(); ivrTaskMap = objectMapper.readValue(serviceTask.getTextParam(), Map.class); - } catch (Exception e) { - log.error("瑙f瀽textParam澶辫触", e); + } catch (JsonProcessingException e) { + e.printStackTrace(); } - List<Map<String, String>> mapList = new ArrayList<>(ivrTaskMap.values()); + List<Map<String, String>> mapList = new ArrayList<>(); - // 鏇挎崲妯℃澘闂璇濇湳閲岀殑閫氶厤绗� - for (SvyTaskTemplateScriptVO scriptVO : svyTaskTemplateScriptVOS) { - String content = scriptVO.getScriptContent(); - if (StringUtils.isNotEmpty(content)) { - // 鏇挎崲鍙橀噺 + for (Map<String, String> map : ivrTaskMap.values()) { + mapList.add(map); + } + + //灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹� + for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOS) { + if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) { for (Map<String, String> map : mapList) { - for (Map.Entry<String, String> entry : map.entrySet()) { - String key = entry.getKey(); - String value = StringUtils.defaultString(entry.getValue()); - content = content.replace(key, value); + for (String key : map.keySet()) { + + svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "")); } } - // 鏇挎崲鎮h�呬釜浜轰俊鎭� - content = content.replace("${name}", StringUtils.defaultString(patArchive.getName())) - .replace("${dzz}", StringUtils.defaultString(patArchive.getPlaceOfResidence())) - .replace("${dhh}", StringUtils.defaultString(patArchive.getTelcode())); - scriptVO.setScriptContent(content); - - // 鑾峰彇闂閫夐」 - SvyTaskTemplateTargetoption optionQuery = new SvyTaskTemplateTargetoption(); - optionQuery.setScriptid(scriptVO.getId()); - List<SvyTaskTemplateTargetoption> options = svyTaskTemplateTargetoptionMapper.selectSvyTaskTemplateTargetoptionList(optionQuery); + //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹� + log.error("闂id锛歿}, 闂鍐呭锛歿}", svyLibTemplateScriptVO.getId(), svyLibTemplateScriptVO.getScriptContent()); + if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) { + svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); + svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); + svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); + } + //鑾峰彇闂閫夐」 + SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption(); + svyLibTemplateTargetoption.setScriptid(svyLibTemplateScriptVO.getId()); + List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption); // 鍒ゆ柇棰勭害浜烘暟 - for (SvyTaskTemplateTargetoption stt : options) { + for (SvyLibTemplateTargetoption stt : svyLibTemplateTargetoptions) { Boolean full = patReservationRecordMapper.existsEqualNum(stt.getId()); if (Boolean.TRUE.equals(full)) { stt.setPerson(-1L); @@ -368,11 +370,11 @@ stt.setJmid(id); stt.setId(null); } - scriptVO.setSvyTaskTemplateTargetoptions(options); + svyLibTemplateScriptVO.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions); } } - svyTaskTemplateScriptVOS.sort(Comparator.comparingLong(SvyTaskTemplateScriptVO::getSort)); - return svyTaskTemplateScriptVOS; + svyLibTemplateScriptVOS.sort(Comparator.comparingLong(SvyLibTemplateScriptVO::getSort)); + return svyLibTemplateScriptVOS; } private List xjInfo(Long templateId, Long taskid, Long patid, Boolean isFinish) { diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml index 5b846e7..049578b 100644 --- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml @@ -393,12 +393,13 @@ a.leavehospitaldistrictcode, a.leavehospitaldistrictname, a.diagname - <if test="serviceType != null and serviceType != ''and serviceType != '2'and serviceType != '3'">order by - a.long_send_time desc + order by a.visit_time desc + <if test="serviceType != null and serviceType != ''and serviceType != '2'and serviceType != '3'"> + ,a.long_send_time desc </if> - <if test="serviceType != null and serviceType != ''and serviceType == '2'">order by a.endtime desc</if> - <if test="serviceType != null and serviceType != ''and serviceType == '3'">order by a.admindate desc</if> - -- order by update_time desc,id desc + <if test="serviceType != null and serviceType != ''and serviceType == '2'">,a.endtime desc</if> + <if test="serviceType != null and serviceType != ''and serviceType == '3'">,a.admindate desc</if> + </select> -- Gitblit v1.9.3