dataMap) {
+ this.dataMap = dataMap;
+ }
+
+ public void put(String name, Object value) {
+ this.dataMap.put(name, value);
+ }
+}
diff --git a/src/main/java/com/example/util/Msg.java b/src/main/java/com/example/util/Msg.java
new file mode 100644
index 0000000..6f898fc
--- /dev/null
+++ b/src/main/java/com/example/util/Msg.java
@@ -0,0 +1,71 @@
+/**
+ *
+ */
+package com.example.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Title:Msg
+ * Description:common return class
+ * Company:
+ * @author hu
+ * @date
+ */
+public class Msg {
+ //state:100-success 200-fail
+ private int code;
+ //提示信息
+ private String msg;
+ //用户要返回给浏览器的数据
+ private Map extend=new HashMap();
+
+
+
+ public static Msg fail(String msg){
+ Msg result=new Msg();
+ result.setCode(100);
+ result.setMsg(msg);
+ return result;
+ }
+
+
+ public static Msg success(String msg){
+ Msg result=new Msg();
+ result.setCode(200);
+ result.setMsg(msg);
+ return result;
+ }
+
+ public Msg add(String key, Object value){
+ this.getExtend().put(key, value);
+ return this;
+ }
+
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public Map getExtend() {
+ return extend;
+ }
+
+ public void setExtend(Map extend) {
+ this.extend = extend;
+ }
+
+}
diff --git a/src/main/java/com/example/util/MyDateUtil.java b/src/main/java/com/example/util/MyDateUtil.java
new file mode 100644
index 0000000..ef04f69
--- /dev/null
+++ b/src/main/java/com/example/util/MyDateUtil.java
@@ -0,0 +1,208 @@
+package com.example.util;
+
+import lombok.SneakyThrows;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+
+public class MyDateUtil {
+
+ //获取之前的年限
+ public static String getBeforeAgeYear(int age) {
+ Calendar calBegin = Calendar.getInstance();
+ calBegin.setTime(new Date());
+ calBegin.add(Calendar.YEAR, -age);
+ Date time = calBegin.getTime();
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ return format.format(time);
+ }
+
+
+ //计算两个日期相差年数
+ public static int yearDateDiff(String startDate, Date endDate) {
+ Calendar calBegin = Calendar.getInstance(); //获取日历实例
+ Calendar calEnd = Calendar.getInstance();
+ calBegin.setTime(stringTodate(startDate, "yyyy-MM-dd")); //字符串按照指定格式转化为日期
+ calEnd.setTime(endDate);
+ return calEnd.get(Calendar.YEAR) - calBegin.get(Calendar.YEAR);
+ }
+
+ /**
+ * *字符串的日期格式的计算
+ */
+ @SneakyThrows
+ public static int daysBetween(String smdate, String bdate) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(sdf.parse(smdate));
+ long time1 = cal.getTimeInMillis();
+ cal.setTime(sdf.parse(bdate));
+ long time2 = cal.getTimeInMillis();
+ long between_days = (time2 - time1) / (1000 * 3600 * 24);
+
+ return Integer.parseInt(String.valueOf(between_days));
+ }
+
+
+ @SneakyThrows
+ public static int daysBetween(Date smdate, Date bdate) {
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(smdate);
+ long time1 = cal.getTimeInMillis();
+ cal.setTime(bdate);
+ long time2 = cal.getTimeInMillis();
+ long between_days = (time2 - time1) / (1000 * 3600 * 24);
+
+ return Integer.parseInt(String.valueOf(between_days));
+ }
+
+
+ public static int hoursBetween(Date smdate, Date bdate) {
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(smdate);
+ long time1 = cal.getTimeInMillis();
+ cal.setTime(bdate);
+ long time2 = cal.getTimeInMillis();
+ long between_days = (time2 - time1) / (1000 * 3600);
+
+ return Integer.parseInt(String.valueOf(between_days));
+ }
+
+ //字符串按照指定格式转化为日期
+ public static Date stringTodate(String dateStr, String formatStr) {
+ // 如果时间为空则默认当前时间
+ Date date = null;
+ SimpleDateFormat format = new SimpleDateFormat(formatStr);
+ if (dateStr != null && !dateStr.equals("")) {
+ String time = "";
+ try {
+ Date dateTwo = format.parse(dateStr);
+ time = format.format(dateTwo);
+ date = format.parse(time);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ String timeTwo = format.format(new Date());
+ try {
+ date = format.parse(timeTwo);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ return date;
+ }
+
+ @SneakyThrows
+ public static String getYearAgoAndAfter(int year, int y) {
+ DateFormat df = new SimpleDateFormat("yyyy");
+ Date date = df.parse(String.valueOf(year));
+ Calendar instance = Calendar.getInstance();
+ instance.setTime(date);
+ instance.add(Calendar.YEAR, y);
+ Date time = instance.getTime();
+ DateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd");
+ return yyyyMMdd.format(time);
+ }
+
+ @SneakyThrows
+ public static String getyyyyAgoAndAfter(int year, int y) {
+ DateFormat df = new SimpleDateFormat("yyyy");
+ Date date = df.parse(String.valueOf(year));
+ Calendar instance = Calendar.getInstance();
+ instance.setTime(date);
+ instance.add(Calendar.YEAR, y);
+ Date time = instance.getTime();
+ return df.format(time);
+ }
+
+
+ @SneakyThrows
+ public static boolean isTodayTrade(Date currDate, Date tradeDate) {
+ //判断当前时间是否大于当天21:00 ,如果是是在今天内。
+ //判断当前时间是否大于昨天21:00,则不在当天内
+ Calendar calendar = Calendar.getInstance(Locale.CHINA);
+ calendar.setTime(currDate);
+ calendar.add(Calendar.DAY_OF_YEAR, -1);
+ DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ String yyyyMMddYestoday = df.format(calendar.getTime());
+ String yes21 = yyyyMMddYestoday + " 21:00:00";
+ DateFormat yyyyMMddHHmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date yes21Date = yyyyMMddHHmmss.parse(yes21);
+
+
+ String yyyyMMddToday = df.format(currDate);
+ String today21 = yyyyMMddToday + " 21:00:00";
+ Date toy21Date = yyyyMMddHHmmss.parse(today21);
+
+
+ //交易时间小于昨天的21点,一定是昨天开的仓
+ if (tradeDate.before(yes21Date)) {
+ return false;
+ }
+
+ //交易时间大于昨天的21点。交易时间小于今天的21点。且当前时间小于今天的21点。
+ if (tradeDate.after(yes21Date) && tradeDate.before(toy21Date) && currDate.before(toy21Date)) {
+ return true;
+ }
+
+ //交易时间大与今天的21点。
+ if (tradeDate.after(toy21Date) && currDate.after(toy21Date)) {
+ return true;
+ }
+
+ return false;
+ }
+
+
+ public static String dateToString(Date date, String format) {
+ DateFormat df = new SimpleDateFormat(format);
+ return df.format(date);
+ }
+
+ /**
+ * 前后相等
+ *
+ * @param date
+ * @param timeStr1
+ * @param timeStr2
+ * @return
+ */
+ public static boolean dateBetweenTime1AndTime2(Date date, String timeStr1, String timeStr2) {
+ String formatStr = "HH:mm:ss";
+ Date date1 = stringTodate(timeStr1, formatStr);
+ Date date2 = stringTodate(timeStr2, formatStr);
+ Date curdate = stringTodate(dateToString(date, formatStr), formatStr);
+ if ((date1.before(curdate) || date1.equals(curdate)) && (curdate.before(date2) || curdate.equals(date2))) {
+ return true;
+ }
+ return false;
+ }
+
+
+
+ public static boolean dateBetweenTime1AndTime3(Date date, String timeStr1, String timeStr2) {
+ String formatStr = "HH:mm:ss";
+ Date date1 = stringTodate(timeStr1, formatStr);
+ Date date2 = stringTodate(timeStr2, formatStr);
+ Date curdate = stringTodate(dateToString(date, formatStr), formatStr);
+ if ((date1.before(curdate) && (curdate.before(date2) || curdate.equals(date2)))) {
+ return true;
+ }
+ return false;
+ }
+
+
+ public static boolean dateBefore(String timeStr1, String timeStr2) {
+ String formatStr = "HH:mm:ss";
+ Date date1 = stringTodate(timeStr1, formatStr);
+ Date date2 = stringTodate(timeStr2, formatStr);
+ return date1.before(date2);
+ }
+
+}
diff --git a/src/main/java/com/example/util/ResultCode.java b/src/main/java/com/example/util/ResultCode.java
new file mode 100644
index 0000000..f12a66a
--- /dev/null
+++ b/src/main/java/com/example/util/ResultCode.java
@@ -0,0 +1,42 @@
+package com.example.util;
+
+
+/**
+ * @Description 枚举一些常用API操作码
+ * @Author JacksonTu
+ * @Date 2020/3/28 16:26
+ */
+public enum ResultCode implements IErrorCode {
+
+ SUCCESS(0, "操作成功"),
+ FAILED(500, "操作失败"),
+ VALIDATE_FAILED(404, "参数检验失败"),
+ UNAUTHORIZED(401, "暂未登录或token已经过期"),
+ FORBIDDEN(403, "没有相关权限"),
+ PREVENT_REPLAY(405,"重复请求"),
+ NOT_EXIST(601,"数据不存在"),
+ NOT_ENABLE(600,"数据未启用");
+
+
+
+
+ private Integer code;
+ private String message;
+
+ private ResultCode(Integer code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+
+ @Override
+ public Integer getCode() {
+ return code;
+ }
+
+ @Override
+ public String getMessage() {
+ return message;
+ }
+
+
+}
diff --git a/src/main/java/com/example/vo/CardInfoVo.java b/src/main/java/com/example/vo/CardInfoVo.java
new file mode 100644
index 0000000..dd9aa96
--- /dev/null
+++ b/src/main/java/com/example/vo/CardInfoVo.java
@@ -0,0 +1,49 @@
+package com.example.vo;
+
+import com.example.util.MyDateUtil;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName CardInfo
+ * @Description 联众信息表
+ * @Author linjj
+ * @Date 2025/6/4 15:05
+ * @Version 1.0
+ */
+@Data
+public class CardInfoVo {
+
+
+ private String id;
+ //住院号
+ private String patno;
+ //患者姓名
+ private String patname;
+ //出院时间
+ private Date outdate;
+ //出院科室
+ private String outdeptname;
+ //性别
+ private String patsex;
+ //住院时间
+ private Date indate;
+ //住院科室
+ private String indeptname;
+ //同步状态0未开始 2完成 3失败 5缺失
+ private Integer state;
+
+ public String getOutdateStr(){
+ return MyDateUtil.dateToString(this.outdate,"yyyy-MM-dd");
+ }
+
+ public String getOutdateStr2(){
+ return MyDateUtil.dateToString(this.outdate,"yyyy-MM-dd HH:mm:ss");
+ }
+
+
+ public String getIndateStr(){
+ return MyDateUtil.dateToString(this.indate,"yyyy-MM-dd HH:mm:ss");
+ }
+}
diff --git a/src/main/java/com/example/vo/Picture.java b/src/main/java/com/example/vo/Picture.java
new file mode 100644
index 0000000..2c8da00
--- /dev/null
+++ b/src/main/java/com/example/vo/Picture.java
@@ -0,0 +1,21 @@
+package com.example.vo;
+
+
+import lombok.Data;
+
+
+@Data
+public class Picture {
+ //文件id
+ private String picid;
+ //文件名
+ private String picname;
+ //患者id
+ private String fileid;
+ //工具要用的参数 旋转角度
+ private Double rotatedegree;
+ //分段id
+ private String pickind;
+
+
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
new file mode 100644
index 0000000..e7cf98a
--- /dev/null
+++ b/src/main/resources/application.properties
@@ -0,0 +1,16 @@
+server.port=7998
+# SQL Server
+spring.datasource.hikari.db1.jdbc-url=jdbc:sqlserver://10.1.1.147:1433;DatabaseName=csssemrrcord
+spring.datasource.hikari.db1.username=sa
+spring.datasource.hikari.db1.password=xjgs+docus911
+spring.datasource.hikari.db1.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
+
+#SQL Server
+spring.datasource.hikari.db2.jdbc-url=jdbc:sqlserver://10.1.1.128:1433;DatabaseName=u_medrecord
+spring.datasource.hikari.db2.username=sa
+spring.datasource.hikari.db2.password=17931
+spring.datasource.hikari.db2.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
+
+# MyBatis-Plus ??
+mybatis-plus.configuration.map-underscore-to-camel=true
+
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
new file mode 100644
index 0000000..49179ff
--- /dev/null
+++ b/src/main/resources/application.yml
@@ -0,0 +1,4 @@
+#文件保存路径
+savePath: Z:\pic
+#文件保存路径
+collectFlag: 6
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
new file mode 100644
index 0000000..d927b56
--- /dev/null
+++ b/src/main/resources/logback.xml
@@ -0,0 +1,42 @@
+
+
+ logback
+
+
+
+
+ %d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+ true
+
+
+ LianzhongCollect/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.log
+
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss} -%msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/mapper/db1/TscanAssortMapper.xml b/src/main/resources/mapper/db1/TscanAssortMapper.xml
new file mode 100644
index 0000000..4c79a8e
--- /dev/null
+++ b/src/main/resources/mapper/db1/TscanAssortMapper.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+ insert into
+ t_scan_assort(patient_id,assort_id,scan_page,source,is_del,source_flag)
+ values
+
+ (#{item.patientId},#{item.assortId},#{item.scanPage},#{item.source},#{item.isDel},
+ #{item.sourceFlag})
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/mapper/db2/LianZhongMapper.xml b/src/main/resources/mapper/db2/LianZhongMapper.xml
new file mode 100644
index 0000000..c704d47
--- /dev/null
+++ b/src/main/resources/mapper/db2/LianZhongMapper.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ UPDATE t_card_info_upload SET state=#{state} WHERE id=#{id}
+
+
+
+
+
+
+
\ No newline at end of file