|
|
|
@ -1,18 +1,40 @@
|
|
|
|
|
package com.docus.webservice.service;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
|
import com.docus.webservice.dto.CollectList;
|
|
|
|
|
import com.docus.webservice.entity.AfInterfaceCollect;
|
|
|
|
|
import com.docus.webservice.entity.AfInterfaceCollectSub;
|
|
|
|
|
import com.docus.webservice.entity.Pcmachine;
|
|
|
|
|
import com.docus.webservice.entity.TBasic;
|
|
|
|
|
import com.docus.webservice.enums.Codes;
|
|
|
|
|
import com.docus.webservice.mapper.AfInterfaceCollectMapper;
|
|
|
|
|
import com.docus.webservice.mapper.PcmachineMapper;
|
|
|
|
|
import com.docus.webservice.utils.HttpUtils;
|
|
|
|
|
import com.docus.webservice.utils.JsonUtils;
|
|
|
|
|
import com.docus.webservice.utils.SnowflakeIdWorker;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.apache.logging.log4j.LogManager;
|
|
|
|
|
import org.apache.logging.log4j.Logger;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.net.URISyntaxException;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
public class PcmachineServiceImpl implements IPcmachineService {
|
|
|
|
|
|
|
|
|
|
private Logger log= LogManager.getLogger();
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
PcmachineMapper pcmachineMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private AfInterfaceCollectMapper afInterfaceCollectMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void beat(String code, String ip) {
|
|
|
|
@ -23,10 +45,12 @@ public class PcmachineServiceImpl implements IPcmachineService {
|
|
|
|
|
pcmachine.setIpaddress(ip);
|
|
|
|
|
pcmachine.setLastonline(new Date());
|
|
|
|
|
pcmachine.setPcstatus(1);
|
|
|
|
|
System.out.println(pcmachine);
|
|
|
|
|
pcmachineMapper.update(pcmachine);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void isBeat() {
|
|
|
|
|
pcmachineMapper.isBeat();
|
|
|
|
@ -36,4 +60,76 @@ public class PcmachineServiceImpl implements IPcmachineService {
|
|
|
|
|
public Integer count() {
|
|
|
|
|
return pcmachineMapper.count();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取jar包所在位置
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private String CurrentPath() {
|
|
|
|
|
File dir = new File(".");
|
|
|
|
|
String currentpath = "";
|
|
|
|
|
try {
|
|
|
|
|
currentpath = dir.getCanonicalPath();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
return currentpath;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Async("execCollector")
|
|
|
|
|
@Override
|
|
|
|
|
public void saveAndCall(TBasic tBasic) throws URISyntaxException {
|
|
|
|
|
log.info("病案对象" + tBasic.toString());
|
|
|
|
|
//解析json映射文件
|
|
|
|
|
String json = JsonUtils.readJsonFile(CurrentPath() + Codes.JSON_COLLECTLIST.getMessage());
|
|
|
|
|
if (StringUtils.isNotBlank(json)) {
|
|
|
|
|
Map jsonMap = JSON.parseObject(json, Map.class);
|
|
|
|
|
//任务数
|
|
|
|
|
Integer task_count = JSON.parseObject(String.valueOf(jsonMap.get(Codes.JSON_TASK_COUNT.getMessage())), Integer.class);
|
|
|
|
|
|
|
|
|
|
List<CollectList> collectLists = JSON.parseArray(String.valueOf(jsonMap.get(Codes.JSON_COLLECTLIST_ROOT.getMessage())), CollectList.class);
|
|
|
|
|
|
|
|
|
|
//添加省中医病案采集
|
|
|
|
|
SnowflakeIdWorker idWorker = new SnowflakeIdWorker(0, 0);
|
|
|
|
|
AfInterfaceCollect afc = new AfInterfaceCollect();
|
|
|
|
|
Long afcId = idWorker.nextId();
|
|
|
|
|
afc.setId(afcId);
|
|
|
|
|
afc.setJzh(tBasic.getJzh());
|
|
|
|
|
afc.setTaskCount(task_count);
|
|
|
|
|
afc.setCreateTime(new Date());
|
|
|
|
|
int i = afInterfaceCollectMapper.addAfInterfaceCollect(afc);
|
|
|
|
|
if (i < 0) {
|
|
|
|
|
log.info("省中医病案采集表添加信息失败!");
|
|
|
|
|
}
|
|
|
|
|
//添加省中医病案采集-子任务
|
|
|
|
|
List<AfInterfaceCollectSub> list = new ArrayList<>();
|
|
|
|
|
for (CollectList collectList : collectLists) {
|
|
|
|
|
AfInterfaceCollectSub afInterfaceCollectSub = new AfInterfaceCollectSub();
|
|
|
|
|
Long afcsId = idWorker.nextId();
|
|
|
|
|
afInterfaceCollectSub.setId(afcsId);
|
|
|
|
|
afInterfaceCollectSub.setAfInterfaceCollectId(afcId);
|
|
|
|
|
afInterfaceCollectSub.setCollectsysCode(collectList.getCollectsys_code());
|
|
|
|
|
afInterfaceCollectSub.setJzh(tBasic.getJzh());
|
|
|
|
|
collectList.setId(afcsId);
|
|
|
|
|
list.add(afInterfaceCollectSub);
|
|
|
|
|
}
|
|
|
|
|
int i1 = afInterfaceCollectMapper.addAfInterfaceCollectSub(list);
|
|
|
|
|
if (i1 < 0) {
|
|
|
|
|
log.info("省中医病案采集-子任务失败!");
|
|
|
|
|
}
|
|
|
|
|
for (CollectList collectList : collectLists) {
|
|
|
|
|
//调用http发送请求
|
|
|
|
|
this.sendHttp(collectList, tBasic.getJzh());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String sendHttp(CollectList collectList, String jzh) throws URISyntaxException {
|
|
|
|
|
Map<String, String> params = new HashMap<>();
|
|
|
|
|
params.put("empId", jzh);
|
|
|
|
|
params.put("collectSubId", String.valueOf(collectList.getId()));
|
|
|
|
|
return HttpUtils.get(collectList.getRequestUrl(), params);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|