You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.1 KiB
Java
90 lines
3.1 KiB
Java
3 years ago
|
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("完整性同步结束");
|
||
|
}
|
||
|
}
|