listJzhAndAdd(@Param("front") int front,@Param("later") int later,@Param("startDate") String startDate,@Param("endDate")String endDate);
}
diff --git a/src/main/java/com/docus/bgts/mapper/dbmysql/TScanAssortMapper.java b/src/main/java/com/docus/bgts/mapper/dbmysql/TScanAssortMapper.java
new file mode 100644
index 0000000..8ac9b3b
--- /dev/null
+++ b/src/main/java/com/docus/bgts/mapper/dbmysql/TScanAssortMapper.java
@@ -0,0 +1,18 @@
+package com.docus.bgts.mapper.dbmysql;
+
+import com.docus.bgts.entity.MzSync;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ *
+ * 病案文件信息表 Mapper 接口
+ *
+ *
+ * @author 曾文和
+ * @since 2021-04-23
+ */
+public interface TScanAssortMapper {
+ List selectFilesByJzhs(@Param("jzhs") List jzhs);
+}
diff --git a/src/main/java/com/docus/bgts/mapper/dbmysql/ZdAssortMapper.java b/src/main/java/com/docus/bgts/mapper/dbmysql/ZdAssortMapper.java
new file mode 100644
index 0000000..1e8403a
--- /dev/null
+++ b/src/main/java/com/docus/bgts/mapper/dbmysql/ZdAssortMapper.java
@@ -0,0 +1,30 @@
+package com.docus.bgts.mapper.dbmysql;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.docus.bgts.entity.ZdAssort;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ *
+ * 病案分类 Mapper 接口
+ *
+ *
+ * @author 曾文和
+ * @since 2021-04-20
+ */
+public interface ZdAssortMapper extends BaseMapper {
+ /**
+ * 根据分类名称模糊查询病案分类集合
+ * @param assortName 文件分类
+ * @return
+ */
+ List selectAll(@Param("assortName") String assortName);
+
+ /**
+ * 插入表zdAssort数据
+ * @param zdAssort
+ */
+ void insertZdAssort(@Param("zdAssort") ZdAssort zdAssort);
+}
diff --git a/src/main/java/com/docus/bgts/service/MzSyncService.java b/src/main/java/com/docus/bgts/service/MzSyncService.java
index 7d1a769..e194a8a 100644
--- a/src/main/java/com/docus/bgts/service/MzSyncService.java
+++ b/src/main/java/com/docus/bgts/service/MzSyncService.java
@@ -1,22 +1,29 @@
package com.docus.bgts.service;
-import com.docus.bgts.entity.MzSync;
+import com.alibaba.fastjson.JSON;
+import com.docus.bgts.entity.*;
+import com.docus.bgts.enums.Codes;
+import com.docus.bgts.facade.IAfCollectTaskService;
import com.docus.bgts.facade.IMzSyncService;
+import com.docus.bgts.mapper.dbmysql.ZdAssortMapper;
import com.docus.bgts.mapper.dbmysql.AfCollectAddMapper;
+import com.docus.bgts.mapper.dbmysql.TScanAssortMapper;
import com.docus.bgts.mapper.dboracle.MzSyncMapper;
import com.docus.bgts.utils.FileUtils;
+import com.docus.bgts.utils.HttpUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import java.io.UnsupportedEncodingException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 梅州完整性检验
@@ -35,7 +42,6 @@ public class MzSyncService implements IMzSyncService {
* 增量同步开始时间
*/
private String newSyncTime;
-
{
tableName = String.valueOf(FileUtils.getJsonByName("syncTableName"));
tableNamespaces = String.valueOf(FileUtils.getJsonByName("syncTableNamespaces"));
@@ -49,14 +55,45 @@ public class MzSyncService implements IMzSyncService {
@Autowired
MzSyncMapper mzSyncMapper;
+ @Autowired
+ TScanAssortMapper tScanAssortMapper;
+
+ @Autowired
+ IAfCollectTaskService afCollectTaskService;
+
+ @Autowired
+ ZdAssortMapper zdAssortMapper;
+
private final Logger log = LoggerFactory.getLogger(getClass());
+ /**
+ * 截取url
+ * @param str
+ * @return
+ */
+ private String subStrUrl(String str) {
+ int beginIndex = str.indexOf("http");
+ int lastIndex = str.lastIndexOf(".pdf");
+ if (lastIndex == -1){
+ lastIndex = str.lastIndexOf(".jpg");
+ }
+ if(lastIndex == -1){
+ log.info("不存在pdf或jpg:"+ str);
+ return null;
+ }
+ String newStr = str.substring(beginIndex, lastIndex+4);
+ return newStr;
+ }
+
@Override
- public void addSyncIntegrality() {
+ public boolean addSyncIntegrality(String startDate,String endDate) {
+ //定义是否更新采集时间
+ boolean flag = true;
log.info("增量完整性同步开始");
long startTime = System.currentTimeMillis();
//获取分页数
Integer pageSize = Integer.parseInt(String.valueOf(FileUtils.getJsonByName("pageSize")));
+ int count = 0;
List jzhs;
int front;
int later;
@@ -64,13 +101,17 @@ public class MzSyncService implements IMzSyncService {
for (int i = 0; ; i++) {
front = i * pageSize;
later = pageSize;
- jzhs = afCollectAddMapper.listJzhAndAdd(front, later, newSyncTime);
+ jzhs = afCollectAddMapper.listJzhAndAdd(front, later, startDate,endDate);
+ count += jzhs.size();
if (jzhs.size() == 0) {
+ if(i == 0){
+ flag = false;
+ }
break;
} else {
mzSyncs = mzSyncMapper.listMzSync(jzhs, front, later, tableName, tableNamespaces);
//完整性检验写入
- integralityBySyncs(mzSyncs);
+ integralityBySyncs(mzSyncs,jzhs);
}
if (mzSyncs.size() != 0) {
log.info("本次成功同步数:" + mzSyncs.size());
@@ -78,6 +119,7 @@ public class MzSyncService implements IMzSyncService {
}
long endTime = System.currentTimeMillis();
log.info("增量完整性同步结束,程序执行时间为:" + (endTime - startTime) + "毫秒");
+ return flag;
}
/**
@@ -103,7 +145,7 @@ public class MzSyncService implements IMzSyncService {
} else {
mzSyncs = mzSyncMapper.listMzSync(jzhs, front, later, tableName, tableNamespaces);
//完整性检验写入
- integralityBySyncs(mzSyncs);
+ integralityBySyncs(mzSyncs,jzhs);
}
if (mzSyncs.size() != 0) {
log.info("本次成功同步数:" + mzSyncs.size());
@@ -119,10 +161,11 @@ public class MzSyncService implements IMzSyncService {
*
* @param mzSyncs
*/
- private void integralityBySyncs(List mzSyncs ,List) {
+ private void integralityBySyncs(List mzSyncs,List jzhs) {
StringBuilder sql;
if (mzSyncs.size() != 0) {
- List