梅州同步采集
parent
9ea5dcccfe
commit
949e57a57b
@ -0,0 +1,16 @@
|
||||
package com.docus.bgts.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
@Data
|
||||
@ApiModel("梅州完整性校验同步类")
|
||||
public class MzSync {
|
||||
@ApiModelProperty("记账号")
|
||||
private String jzh;
|
||||
@ApiModelProperty("文件详情列表")
|
||||
private List<MzSyncDetails> mzSyncDetails;
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.docus.bgts.entity;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel("文件详情")
|
||||
public class MzSyncDetails {
|
||||
@ApiModelProperty("采集流水号")
|
||||
private String serialnum;
|
||||
@ApiModelProperty("文件标题")
|
||||
private String fileTitle;
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
package com.docus.bgts.facade;
|
||||
|
||||
public interface IMzSyncService {
|
||||
void syncIntegrality();
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.docus.bgts.mapper.dboracle;
|
||||
|
||||
import com.docus.bgts.entity.MzSync;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface MzSyncMapper {
|
||||
|
||||
List<MzSync> listMzSync(@Param("jzhs") List<String> jzhs,
|
||||
@Param("front") int front ,
|
||||
@Param("later") int later);
|
||||
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
package com.docus.bgts.service;
|
||||
|
||||
import com.docus.bgts.entity.MzSync;
|
||||
import com.docus.bgts.facade.IMzSyncService;
|
||||
import com.docus.bgts.mapper.dbmysql.AfCollectAddMapper;
|
||||
import com.docus.bgts.mapper.dboracle.MzSyncMapper;
|
||||
import com.docus.bgts.utils.FileUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 梅州完整性检验
|
||||
*/
|
||||
@Service
|
||||
public class MzSyncService implements IMzSyncService {
|
||||
|
||||
@Autowired
|
||||
AfCollectAddMapper afCollectAddMapper;
|
||||
|
||||
@Autowired
|
||||
MzSyncMapper mzSyncMapper;
|
||||
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
/**
|
||||
* 完整性同步方法
|
||||
*/
|
||||
@Override
|
||||
public void syncIntegrality() {
|
||||
log.info("完整性同步开始");
|
||||
long startTime = System.currentTimeMillis();
|
||||
//获取分页数
|
||||
Integer pageSize = Integer.parseInt(String.valueOf(FileUtils.getJsonByName("pageSize")));
|
||||
List<String> jzhs;
|
||||
int front;
|
||||
int later;
|
||||
List<MzSync> mzSyncs;
|
||||
StringBuilder sql;
|
||||
for (int i = 0; ; i++) {
|
||||
front = i * pageSize;
|
||||
later = front + pageSize;
|
||||
jzhs = afCollectAddMapper.listJzh(front, later);
|
||||
if (null == jzhs || jzhs.size() == 0) {
|
||||
break;
|
||||
} else {
|
||||
mzSyncs = mzSyncMapper.listMzSync(jzhs, front, later);
|
||||
System.out.println(Arrays.asList(mzSyncs));
|
||||
if (null != mzSyncs && mzSyncs.size() != 0) {
|
||||
List<Map> maps = afCollectAddMapper.integrality(mzSyncs);
|
||||
System.out.println(maps);
|
||||
sql=new StringBuilder();
|
||||
for (Map map : maps) {
|
||||
sql.append("update docus_medicalrecord.t_basic set integrity_desc=");
|
||||
sql.append("'");
|
||||
sql.append(map.get("file_title"));
|
||||
sql.append("'");
|
||||
sql.append(" where jzh=");
|
||||
sql.append("'");
|
||||
sql.append(map.get("jzh"));
|
||||
sql.append("'");
|
||||
sql.append(";");
|
||||
}
|
||||
System.out.println(sql);
|
||||
afCollectAddMapper.dynamicSql(sql.toString());
|
||||
}
|
||||
//创建并行流
|
||||
// mzSyncs.parallelStream().forEach(mzSync -> {
|
||||
// String result = afCollectAddMapper.integrality(mzSync);
|
||||
// System.out.println(result);
|
||||
//
|
||||
// afCollectAddMapper.updateTBasic(result, mzSync.getJzh());
|
||||
// });
|
||||
}
|
||||
if (mzSyncs.size() != 0) {
|
||||
log.info("本次成功同步数:" + mzSyncs.size());
|
||||
}
|
||||
}
|
||||
long endTime = System.currentTimeMillis();
|
||||
System.out.println(endTime - startTime);
|
||||
log.info("完整性同步结束");
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.docus.bgts.mapper.dboracle.MzSyncMapper">
|
||||
<select id="listMzSync" resultMap="mzSyncAnddeI">
|
||||
SELECT *
|
||||
FROM
|
||||
(SELECT "NAVICAT_TABLE".*, ROWNUM "NAVICAT_ROWNUM"
|
||||
FROM
|
||||
(SELECT
|
||||
a.DOCUMENT_TITLE as file_title,
|
||||
a.UNIQUE_ID as serialnum,
|
||||
a.VISITING_SERIAL_NUMBER as jzh,
|
||||
ROWID "NAVICAT_ROWID"
|
||||
FROM "DOCUS"."CIS_EMR_DOCUMENT" a
|
||||
where VISITING_SERIAL_NUMBER in
|
||||
<foreach collection="jzhs" item="jzh" close=")" open="(" separator=",">
|
||||
#{jzh}
|
||||
</foreach>
|
||||
) "NAVICAT_TABLE"
|
||||
)
|
||||
</select>
|
||||
<resultMap id="mzSyncAnddeI" type="com.docus.bgts.entity.MzSync">
|
||||
<result property="jzh" column="jzh"></result>
|
||||
<collection property="mzSyncDetails" ofType="com.docus.bgts.entity.MzSyncDetails">
|
||||
<result property="serialnum" column="serialnum"></result>
|
||||
<result property="fileTitle" column="file_title"></result>
|
||||
</collection>
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue