commit 79ee0a2eb3b763592e02fb8808c19bef72d836da Author: wyb <1977763549@qq.com> Date: Mon Mar 3 23:40:39 2025 +0800 init:联众检查重采 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6a8a1e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +docus-services/docus-services-system1/ + +### IntelliJ IDEA ### +*.log +.idea +*.iws +*.iml +*.ipr +mvnw* +*.cmd +*.mvn +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ +logs* \ No newline at end of file diff --git a/assembly.xml b/assembly.xml new file mode 100644 index 0000000..b6fb827 --- /dev/null +++ b/assembly.xml @@ -0,0 +1,73 @@ + + + exe + + dir + + false + + + + + /lib + ${basedir}/target/lib + + + + /config + ${basedir}/target/resources + 0755 + + *.xml + *.yml + *.properties + + + + + /dataConfig + ${basedir}/target/dataConfig + 0755 + + *.json + + + + + / + ${basedir}/target/resources/bin + 0755 + + *.bat + + + + + / + ${basedir}/target/resources/bin + 0755 + + *.xml + + + + + / + ${basedir} + 0755 + + *.exe + + + + + ${basedir}/target + / + 0755 + + ${project.build.finalName}.jar + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..43c130d --- /dev/null +++ b/pom.xml @@ -0,0 +1,311 @@ + + + + com.docus + docus-bom + 1.0-SNAPSHOT + + 4.0.0 + + docus-lianzhong-check + + + + com.docus + docus-knife4j-starter + + + + + org.springframework.boot + spring-boot-starter-web + + + + com.baomidou + mybatis-plus-boot-starter + 3.4.0 + + + com.baomidou + dynamic-datasource-spring-boot-starter + 3.4.0 + + + + mysql + mysql-connector-java + 8.0.28 + + + org.projectlombok + lombok + 1.18.16 + compile + + + org.projectlombok + lombok + 1.18.16 + compile + + + org.bgee.log4jdbc-log4j2 + log4jdbc-log4j2-jdbc4.1 + + + com.alibaba + druid + 1.2.4 + compile + + + com.baomidou + mybatis-plus-generator + 3.4.1 + compile + + + org.apache.velocity + velocity-engine-core + 2.0 + + + + + com.docus + docus-tool-starter + + + + com.docus + docus-shiro-starter + + + + com.docus + docus-base-starter + + + springfox-core + io.springfox + + + springfox-schema + io.springfox + + + springfox-spi + io.springfox + + + knife4j-spring-boot-autoconfigure + com.github.xiaoymin + + + + + + + junit + junit + test + + + + + com.microsoft.sqlserver + sqljdbc4 + 4.0 + + + + + com.oracle + ojdbc6 + 11.2.0.4.0 + + + + com.twelvemonkeys.imageio + imageio-jpeg + 3.8.1 + + + + com.twelvemonkeys.imageio + imageio-tiff + 3.8.1 + + + + + + + src/main/resources + true + + + + + + org.springframework.boot + spring-boot-maven-plugin + 2.4.4 + + ZIP + + + non-exists + non-exists + + + + + + + repackage + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + package + + copy-dependencies + + + + target/lib + false + false + runtime + + + + + + + org.apache.maven.plugins + maven-resources-plugin + 3.2.0 + + + copy-resources + package + + copy-resources + + + + + src/main/resources + + **/*.* + + + + ${project.build.directory}/resources + + + + copy-bin + package + + copy-resources + + + + + src/main/resources + true + + bin/*.xml + *.yml + bin/*.bat + + + + ${project.build.directory}/resources + + + + copy-data-config + package + + copy-resources + + + + + ../../dataConfig + true + + + ${project.build.directory}/dataConfig + + + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + **/*.yml + + + + + + maven-assembly-plugin + + + + ${project.artifactId} + false + + assembly.xml + + + make-assembly + package + + single + + + + + + + + + + + dev + + prod + + + true + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/docus/server/AppRunBootstrap.java b/src/main/java/com/docus/server/AppRunBootstrap.java new file mode 100644 index 0000000..977eb8d --- /dev/null +++ b/src/main/java/com/docus/server/AppRunBootstrap.java @@ -0,0 +1,14 @@ +package com.docus.server; + + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication(scanBasePackages = {"com.docus"}) +@MapperScan("com.docus.server.**.mapper") +public class AppRunBootstrap { + public static void main(String[] args) { + SpringApplication.run(AppRunBootstrap.class, args); + } +} diff --git a/src/main/java/com/docus/server/archive/controller/LianzhongController.java b/src/main/java/com/docus/server/archive/controller/LianzhongController.java new file mode 100644 index 0000000..b951475 --- /dev/null +++ b/src/main/java/com/docus/server/archive/controller/LianzhongController.java @@ -0,0 +1,33 @@ +package com.docus.server.archive.controller; + +import com.docus.infrastructure.web.api.CommonResult; +import com.docus.server.archive.service.LianzhongCollectCheckService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @author YongBin Wen + * @date 2025/1/16 17:10 + */ +@RestController +@Api(tags = "联众检查接口") +@RequestMapping("/lianzhong") +@Slf4j +public class LianzhongController { + @Resource + private LianzhongCollectCheckService lianzhongCollectCheckService; + + + @ApiOperation(value = "检查联众同步完成的患者,数量对不上和图片损坏则重采") + @GetMapping("/checkLianzhongSourceFile") + public CommonResult checkLianzhongSourceFile() { + lianzhongCollectCheckService.checkLianzhongSourceFile(); + return CommonResult.success("检查完成!"); + } +} diff --git a/src/main/java/com/docus/server/archive/entity/ScanAssort.java b/src/main/java/com/docus/server/archive/entity/ScanAssort.java new file mode 100644 index 0000000..732321c --- /dev/null +++ b/src/main/java/com/docus/server/archive/entity/ScanAssort.java @@ -0,0 +1,55 @@ +package com.docus.server.archive.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +@Data +public class ScanAssort implements Serializable { + + + @ApiModelProperty(value = "id") + private Long id; + + + @ApiModelProperty(value = "病案id") + private String patientId; + + + @ApiModelProperty(value = "文件标题") + private String fileTitle; + + + @ApiModelProperty(value = "文件目录 单纯文件夹路径,不带文件名,如:F:\\嘉时\\新建文件夹\\") + private String imagePath; + + + @ApiModelProperty(value = "文件名称") + private String scanPage; + + + @ApiModelProperty(value = "文件来源 1:采集器;2:扫描生产软件") + private Integer fileSource; + + + @ApiModelProperty(value = "1:服务器本地;2:ftp服务器;3:共享文件夹") + private Integer fileStorageType; + + + @ApiModelProperty(value = "是否作废 1:是;0:否") + private Integer isDel; + + + private String source; + + @ApiModelProperty(value = "加密类型 0-aes 1-pdfbox 2-itext ...") + private Integer encryptedType; + + + @ApiModelProperty(value = "加密秘钥密文") + private String encryptPassword; + + +} diff --git a/src/main/java/com/docus/server/archive/entity/TBasic.java b/src/main/java/com/docus/server/archive/entity/TBasic.java new file mode 100644 index 0000000..9bece4f --- /dev/null +++ b/src/main/java/com/docus/server/archive/entity/TBasic.java @@ -0,0 +1,162 @@ +package com.docus.server.archive.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 病案基本信息 + *

+ * + * @author jiashi + * @since 2021-04-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "TBasic对象", description = "病案基本信息") +public class TBasic implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "病案主键") + private String patientId; + + @ApiModelProperty(value = "住院次数") + private Integer admissTimes; + + @ApiModelProperty(value = "病案号") + private String inpatientNo; + + @ApiModelProperty(value = "住院ID号") + private String admissId; + + @ApiModelProperty(value = "患者姓名") + private String name; + + @ApiModelProperty(value = "盘号") + private String ph; + + @ApiModelProperty(value = "性别") + private String sex; + + @ApiModelProperty(value = "年龄_岁") + private Integer age; + + @ApiModelProperty(value = "年龄_月") + private Integer ageMonth; + + @ApiModelProperty(value = "年龄_天") + private Integer ageDay; + + @ApiModelProperty(value = "身份证") + private String idCard; + + @ApiModelProperty(value = "手机号码") + private String telphone; + + @ApiModelProperty(value = "住院日期") + private Date admissDate; + + @ApiModelProperty(value = "住院科室") + private String admissDept; + + @ApiModelProperty(value = "住院科室名称") + private String admissDeptName; + + @ApiModelProperty(value = "出院日期") + private Date disDate; + + @ApiModelProperty(value = "出院科室") + private String disDept; + + @ApiModelProperty(value = "出院科室名称") + private String disDeptName; + + @ApiModelProperty(value = "实际住院天数") + private Integer admissDays; + + @ApiModelProperty(value = "主管医生") + private String attending; + + @ApiModelProperty(value = "主管医生名称") + private String attendingName; + + @ApiModelProperty(value = "主要诊断编码") + private String mainDiagCode; + + @ApiModelProperty(value = "主要诊断名称") + private String mainDiagName; + + @ApiModelProperty(value = "主要手术编码") + private String mainOperateCode; + + @ApiModelProperty(value = "主要手术名称") + private String mainOperateName; + + @ApiModelProperty(value = "是否死亡") + private Integer isDead; + + @ApiModelProperty(value = "是否作废(0:否,1:是)") + private Integer isCancel; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "是否归档 1:已归档,0:未归档") + private Integer isArchive; + + @ApiModelProperty(value = "归档时间") + private Date archiveTime; + + @ApiModelProperty(value = "文件来源 1:af_archive_detail,2:t_scan_assort") + private Integer fileSource; + + @ApiModelProperty(value = "完整性描述") + private String integrityDesc; + + private String bColumn1; + + private String bColumn2; + + private String bColumn3; + + private String bColumn4; + + private String bColumn5; + + private Integer bColumn6; + + private Integer bColumn7; + + private Integer bColumn8; + + private Integer bColumn9; + + private Integer bColumn10; + + @ApiModelProperty(value = "姓名缩写(内部构成)") + private String nameSpell; + + @ApiModelProperty(value = "性别名称") + private String sexName; + + @ApiModelProperty(value = "记账号") + private String jzh; + + @ApiModelProperty(value = "外部id") + private String externalId; + + @ApiModelProperty(value = "档案文件存储类型,1:pdf(默认)2:图片") + private Integer archiveFileStorageType; + + @ApiModelProperty(value = "是否标记编码 0否,1是") + private Integer isCoder; +} diff --git a/src/main/java/com/docus/server/archive/mapper/BasicMapper.java b/src/main/java/com/docus/server/archive/mapper/BasicMapper.java new file mode 100644 index 0000000..55a73a0 --- /dev/null +++ b/src/main/java/com/docus/server/archive/mapper/BasicMapper.java @@ -0,0 +1,21 @@ +package com.docus.server.archive.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.docus.server.archive.entity.TBasic; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 患者基础信息表mapper + * + * @author wyb + */ +@DS("archive-mysql") +@Mapper +public interface BasicMapper { + + + List getByPatientIds(@Param("patientIdList") List patientIdList); +} diff --git a/src/main/java/com/docus/server/archive/mapper/ScanAssortMapper.java b/src/main/java/com/docus/server/archive/mapper/ScanAssortMapper.java new file mode 100644 index 0000000..a4e29aa --- /dev/null +++ b/src/main/java/com/docus/server/archive/mapper/ScanAssortMapper.java @@ -0,0 +1,20 @@ +package com.docus.server.archive.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.docus.server.archive.entity.ScanAssort; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author YongBin Wen + * @date 2025/3/3 22:22 + */ +@DS("archive-mysql") +@Mapper +public interface ScanAssortMapper { + List getPatientIdsBySource(@Param("source") String source); + + List getByPatientIdAndSource(@Param("patientId") String patientId,@Param("source") String source); +} diff --git a/src/main/java/com/docus/server/archive/service/LianzhongCollectCheckService.java b/src/main/java/com/docus/server/archive/service/LianzhongCollectCheckService.java new file mode 100644 index 0000000..5120c27 --- /dev/null +++ b/src/main/java/com/docus/server/archive/service/LianzhongCollectCheckService.java @@ -0,0 +1,9 @@ +package com.docus.server.archive.service; + +/** + * @author YongBin Wen + * @date 2025/3/3 22:16 + */ +public interface LianzhongCollectCheckService { + void checkLianzhongSourceFile(); +} diff --git a/src/main/java/com/docus/server/archive/service/impl/LianzhongCollectCheckServiceImpl.java b/src/main/java/com/docus/server/archive/service/impl/LianzhongCollectCheckServiceImpl.java new file mode 100644 index 0000000..996ce52 --- /dev/null +++ b/src/main/java/com/docus/server/archive/service/impl/LianzhongCollectCheckServiceImpl.java @@ -0,0 +1,104 @@ +package com.docus.server.archive.service.impl; + +import com.docus.core.util.Func; +import com.docus.server.archive.entity.ScanAssort; +import com.docus.server.archive.entity.TBasic; +import com.docus.server.archive.mapper.BasicMapper; +import com.docus.server.archive.mapper.ScanAssortMapper; +import com.docus.server.archive.service.LianzhongCollectCheckService; +import com.docus.server.lianzhong.entity.CardInfoUpload; +import com.docus.server.lianzhong.mapper.CardInfoUploadMapper; +import com.docus.server.lianzhong.mapper.PictureMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @author YongBin Wen + * @date 2025/3/3 22:16 + */ +@Slf4j +@Service +public class LianzhongCollectCheckServiceImpl implements LianzhongCollectCheckService { + @Autowired + private BasicMapper basicMapper; + @Autowired + private ScanAssortMapper scanAssortMapper; + @Autowired + private CardInfoUploadMapper cardInfoUploadMapper; + @Autowired + private PictureMapper pictureMapper; + + @Override + public void checkLianzhongSourceFile() { + final String source = "lianzhong"; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + List lianzhongPatientIds = scanAssortMapper.getPatientIdsBySource(source); + log.info("联众文件检查,患者主键:{} 个。", lianzhongPatientIds.size()); + for (String patientId : lianzhongPatientIds) { + try { + List basics = basicMapper.getByPatientIds(Collections.singletonList(patientId)); + if (Func.isEmpty(basics)) { + continue; + } + TBasic basic = basics.get(0); + List scanAssortList = scanAssortMapper.getByPatientIdAndSource(patientId, source); + + String disDateFmt = sdf.format(basic.getDisDate()); + String patno = basic.getInpatientNo(); + List cardInfoUploadList = cardInfoUploadMapper.getSuccessByPatno(patno); + for (CardInfoUpload cardInfoUpload : cardInfoUploadList) { + if (disDateFmt.equals(sdf.format(cardInfoUpload.getOutdate()))) { + String fileid = cardInfoUpload.getId(); + int lzFileCount = pictureMapper.fileCount(fileid); + if (scanAssortList.size() != lzFileCount) { + cardInfoUploadMapper.recollect(cardInfoUpload.getId()); + break; + } + if (hasDamage(scanAssortList)) { + cardInfoUploadMapper.recollect(cardInfoUpload.getId()); + break; + } + } + } + } catch (Exception ex) { + log.error("联众检查,出错啦,病案主键:" + patientId, ex); + } + } + } + + private boolean hasDamage(List scanAssortList) { + try { + for (ScanAssort assort : scanAssortList) { + String filePath = assort.getImagePath() + File.separator + assort.getScanPage(); + BufferedImage image = ImageIO.read(new File(filePath)); + if (image.getHeight() <= 0 || image.getWidth() <= 0) { + return true; + } + } + return false; + } catch (Exception ex) { + return true; + } + } + + public static void main(String[] args) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00"); + System.out.println(sdf.format(new Date())); + ScanAssort scanAssort = new ScanAssort(); + scanAssort.setImagePath("C:\\Users\\wyb\\Pictures\\联想截图"); + scanAssort.setScanPage("yuai2.png"); + List scanAssortList = Arrays.asList(scanAssort); + System.out.println(new LianzhongCollectCheckServiceImpl().hasDamage(scanAssortList)); + } + +} diff --git a/src/main/java/com/docus/server/lianzhong/entity/CardInfoUpload.java b/src/main/java/com/docus/server/lianzhong/entity/CardInfoUpload.java new file mode 100644 index 0000000..5cd581c --- /dev/null +++ b/src/main/java/com/docus/server/lianzhong/entity/CardInfoUpload.java @@ -0,0 +1,58 @@ +package com.docus.server.lianzhong.entity; + +import lombok.Data; + +import java.util.Date; + + +@Data +public class CardInfoUpload { + + + private String id; + + private String patno; + + private String patname; + + private Date outdate; + + private Date indate; + + private String outdeptcode; + + private String outdeptname; + + private String patsex; + + private Date patbirthday; + + private Integer state; + + private String describe; + + private String icdecode11; + + private String icdename11; + + private String mjwesticde; + + private String mjwestname; + + private String patciticard; + + private Integer patage; + + private String indeptcode; + + private String indeptname; + + private String outwardname; + + private Integer patnum; + + private String gestno; + +} + + diff --git a/src/main/java/com/docus/server/lianzhong/entity/Picture.java b/src/main/java/com/docus/server/lianzhong/entity/Picture.java new file mode 100644 index 0000000..8f8b375 --- /dev/null +++ b/src/main/java/com/docus/server/lianzhong/entity/Picture.java @@ -0,0 +1,20 @@ +package com.docus.server.lianzhong.entity; + +import lombok.Data; + + +@Data +public class Picture { + private String picid; + + private String picname; + + private String fileid; + + private Double rotatedegree; + + private String pickind; + + private Integer picno; + +} diff --git a/src/main/java/com/docus/server/lianzhong/mapper/CardInfoUploadMapper.java b/src/main/java/com/docus/server/lianzhong/mapper/CardInfoUploadMapper.java new file mode 100644 index 0000000..87c0e5b --- /dev/null +++ b/src/main/java/com/docus/server/lianzhong/mapper/CardInfoUploadMapper.java @@ -0,0 +1,20 @@ +package com.docus.server.lianzhong.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.docus.server.lianzhong.entity.CardInfoUpload; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author YongBin Wen + * @date 2025/3/3 22:32 + */ +@DS("lianzhong-sqlserver") +@Mapper +public interface CardInfoUploadMapper { + List getSuccessByPatno(@Param("patno") String patno); + + int recollect(@Param("id") String id); +} diff --git a/src/main/java/com/docus/server/lianzhong/mapper/PictureMapper.java b/src/main/java/com/docus/server/lianzhong/mapper/PictureMapper.java new file mode 100644 index 0000000..6aa5c0d --- /dev/null +++ b/src/main/java/com/docus/server/lianzhong/mapper/PictureMapper.java @@ -0,0 +1,15 @@ +package com.docus.server.lianzhong.mapper; + +import com.baomidou.dynamic.datasource.annotation.DS; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author YongBin Wen + * @date 2025/3/3 22:32 + */ +@DS("lianzhong-sqlserver") +@Mapper +public interface PictureMapper { + int fileCount(@Param("fileid") String fileid); +} diff --git a/src/main/resources/bin/start.bat b/src/main/resources/bin/start.bat new file mode 100644 index 0000000..58c25cb --- /dev/null +++ b/src/main/resources/bin/start.bat @@ -0,0 +1,21 @@ +set java_opts=-Xms512m -Xmx512m +set key="java_opts" + + +rem 文件不存在,就跳过 +if not exist java-ops.ini goto end + +for /f "tokens=1,2 delims==" %%i in (java-ops.ini) do ( + if "%%i"==%key% set java_opts=%%j) +echo java_opts is : %java_opts% + +:end + +rem 启动java + +java %java_opts% -Dfile.encoding=utf-8 -jar -Dspring.profiles.active=@profile.name@ -Dloader.path=config,lib @project.build.finalName@.jar + + + + + diff --git a/src/main/resources/bin/winsw.xml b/src/main/resources/bin/winsw.xml new file mode 100644 index 0000000..01f7586 --- /dev/null +++ b/src/main/resources/bin/winsw.xml @@ -0,0 +1,8 @@ + + docus-task-ydzyy + 生产-嘉时病案无纸化-英德中医院视图任务同步 + 生产-嘉时病案无纸化-英德中医院视图任务同步 + Automatic + %BASE%\start.bat + + \ No newline at end of file diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..f404ce5 --- /dev/null +++ b/src/main/resources/bootstrap.yml @@ -0,0 +1,78 @@ +server: + port: 8285 +spring: + application: + name: @artifactId@ + datasource: + dynamic: + primary: archive-mysql + #是否用严格模式,如果启用在味匹配到指定数据源时抛出异常 + strict: false + datasource: + # 多数据源 + archive-mysql: + url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_archivefile?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: docus + password: docus702 + driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy + type: com.alibaba.druid.pool.DruidDataSource + # 初始化配置 + initial-size: 3 + # 最小连接数 + min-idle: 3 + # 最大连接数 + max-active: 15 + # 获取连接超 时时间 + max-wait: 5000 + # 连接有效性检测时间 + time-between-eviction-runs-millis: 90000 + # 最大空闲时间 + min-evictable-idle-time-millis: 1800000 + test-while-idle: true + test-on-borrow: false + test-on-return: false + validation-query: select 1 + + lianzhong-sqlserver: +# url: jdbc:sqlserver://192.169.2.170:14330;DatabaseName=u_medrecord +# username: sa +# password: 17931@Uni + url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=u_medrecord + username: sa + password: 123456 + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + type: com.alibaba.druid.pool.DruidDataSource + # 初始化配置 + initial-size: 3 + # 最小连接数 + min-idle: 3 + # 最大连接数 + max-active: 15 + # 获取连接超 时时间 + max-wait: 5000 + # 连接有效性检测时间 + time-between-eviction-runs-millis: 90000 + # 最大空闲时间 + min-evictable-idle-time-millis: 1800000 + test-while-idle: true + test-on-borrow: false + test-on-return: false + validation-query: select 1 + + + + redis: + host: redis.docus.cn + password: JSdocus@702 + profiles: + active: dev + +mybatis-plus: + configuration: + map-underscore-to-camel-case: true + call-setters-on-nulls: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + global-config: + db-config: + field-strategy: NOT_EMPTY + db-type: MYSQL diff --git a/src/main/resources/log4jdbc.log4j2.properties b/src/main/resources/log4jdbc.log4j2.properties new file mode 100644 index 0000000..5cb6f99 --- /dev/null +++ b/src/main/resources/log4jdbc.log4j2.properties @@ -0,0 +1,2 @@ +# If you use SLF4J. First, you need to tell log4jdbc-log4j2 that you want to use the SLF4J logger +log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator \ No newline at end of file diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml new file mode 100644 index 0000000..e5b464d --- /dev/null +++ b/src/main/resources/logback.xml @@ -0,0 +1,76 @@ + + + docus-lianzhong-check + + + + + [%d{yyyy-MM-dd' 'HH:mm:ss.sss}] [%contextName] [%thread] [%X{traceId}] %-5level %logger{36} - %msg%n + + + + + + + [%d{yyyy-MM-dd' 'HH:mm:ss.sss}] [%C] [%t] [%X{traceId}] [%L] [%-5p] %m%n + utf-8 + + + + + ${log.path}%d.%i.log + + 500MB + + 30 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/mapper/BasicMapper.xml b/src/main/resources/mapper/BasicMapper.xml new file mode 100644 index 0000000..28aae5d --- /dev/null +++ b/src/main/resources/mapper/BasicMapper.xml @@ -0,0 +1,34 @@ + + + + + patient_id + AS patientId, + admiss_times AS admissTimes, + inpatient_no AS inpatientNo, + admiss_id AS admissId, + admiss_date AS admissDate, + dis_date AS disDate, + admiss_dept_name AS admissDeptName, + dis_dept_name AS disDeptName , + jzh, + name, + id_card AS idCard + + + + + diff --git a/src/main/resources/mapper/CardInfoUploadMapper.xml b/src/main/resources/mapper/CardInfoUploadMapper.xml new file mode 100644 index 0000000..12000ef --- /dev/null +++ b/src/main/resources/mapper/CardInfoUploadMapper.xml @@ -0,0 +1,18 @@ + + + + + update dbo.t_card_info_upload + set state = 0 + where id = #{id} + + + + + diff --git a/src/main/resources/mapper/PictureMapper.xml b/src/main/resources/mapper/PictureMapper.xml new file mode 100644 index 0000000..80fe9e1 --- /dev/null +++ b/src/main/resources/mapper/PictureMapper.xml @@ -0,0 +1,13 @@ + + + + + + + diff --git a/src/main/resources/mapper/ScanAssortMapper.xml b/src/main/resources/mapper/ScanAssortMapper.xml new file mode 100644 index 0000000..0dfb412 --- /dev/null +++ b/src/main/resources/mapper/ScanAssortMapper.xml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/winsw.exe b/winsw.exe new file mode 100644 index 0000000..ba27e3f Binary files /dev/null and b/winsw.exe differ