diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java index 6c7f5a0..7244984 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterLisMapper.java @@ -15,4 +15,7 @@ public interface MasterLisMapper { void deleteLisData(LisReportModel model); List queryLisDataByModel(LisReportModel model); + + List queryLisItemByModel(LisReportItemModel query); + } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java index 1696467..9fdf1f9 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/LisService.java @@ -2,8 +2,16 @@ package com.lyms.platform.permission.service; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.permission.model.LisReportItemModel; +import com.lyms.platform.permission.model.LisReportModel; + +import java.util.List; public interface LisService { BaseResponse saveLisData(String lisData); + + List queryLisDataByModel(LisReportModel model); + + List queryLisItemByModel(LisReportItemModel query); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java index 7eed412..73eb3a2 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java @@ -47,4 +47,15 @@ public class LisServiceImpl extends DataAccessLayerService implements LisService } return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + + @Override + public List queryLisDataByModel(LisReportModel model) { + return masterLisMapper.queryLisDataByModel(model); + } + + @Override + public List queryLisItemByModel(LisReportItemModel query) { + + return masterLisMapper.queryLisItemByModel(query); + } } \ No newline at end of file diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml index 7dce640..ee37903 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterLis.xml @@ -103,7 +103,38 @@ HOSPITAL_ID AS hospitalId, PHONE AS phone FROM LIS_REPORT_TBL - WHERE LIS_ID = #{lisId} - AND HOSPITAL_ID = #{hospitalId} + WHERE 1 = 1 + + AND LIS_ID = #{lisId} + + + AND HOSPITAL_ID = #{hospitalId} + + + AND VCCARDNO = #{vcCardNo} + + + + \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/InitDataController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/InitDataController.java index f02f4b5..ca29164 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/InitDataController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/InitDataController.java @@ -25,6 +25,7 @@ import java.util.List; /** * Created by riecard on 2016/12/4. + * 全量把区域数据同步到指定环境(如线上环境) */ @Controller @RequestMapping("/initdata") @@ -35,12 +36,18 @@ public class InitDataController extends BaseController { @Autowired protected MongoTemplate mongoTemplate; + /** + * 该方法是同步要同步的所有的表到指定的环境 + * @param hospitalId + * @return + */ @ResponseBody @RequestMapping(value = "/resyncdata", method = RequestMethod.POST) public String resyncdata(String hospitalId) { if (org.apache.commons.lang.StringUtils.isBlank(hospitalId)) { return "hospitalId is null"; } + //要同步的所有表的model对象 StringBuffer sb = new StringBuffer(); List classList = new ArrayList<>(); classList.add(AntenatalExaminationModel.class); @@ -126,6 +133,12 @@ public class InitDataController extends BaseController { } } + /** + * 接收所有同步上来的数据,然后保存到表中 + * @param className + * @param json + * @return + */ @ResponseBody @RequestMapping(value = "/reser", method = RequestMethod.POST) public String reser(String className, String json) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java index 1fde636..2219c31 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisController.java @@ -1,7 +1,10 @@ package com.lyms.platform.operate.web.controller; +import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.facade.LisFacade; import com.lyms.platform.permission.service.LisService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -20,7 +23,17 @@ public class LisController extends BaseController { @Autowired private LisService lisService; + @Autowired + private LisFacade lisFacade; + /** + * 保存各个医院上传上来的lis数据,该数据保存在mysql数据库 + * 每条lis数据中保存了属于那个医院的id + * 每个医院id是配置在相应单独部署的his项目中 + * @param lisData + * @param httpServletRequest + * @return + */ @RequestMapping(method = RequestMethod.POST, value = "/saveLisData") @ResponseBody public BaseResponse saveLisData(@RequestParam("lisData") String lisData, @@ -28,4 +41,21 @@ public class LisController extends BaseController { System.out.println("LisController==="+lisData); return lisService.saveLisData(lisData); } + + + /** + * 获取lis和ris报告的接口 + * @param vcCardNo 就诊卡号 + * @param sortType 排序类型(1,根据日期分类;2,根据检查项目分类) + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getLisAndRisData") + @ResponseBody + @TokenRequired + public BaseResponse getLisAndRisData(@RequestParam("vcCardNo") String vcCardNo, + @RequestParam("sortType") Integer sortType, + HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return lisFacade.getLisAndRisData(vcCardNo,sortType,loginState.getId()); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java index 7febec8..13e2477 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MongoSyncController.java @@ -21,6 +21,15 @@ public class MongoSyncController extends BaseController { @Autowired private MongoSyncService mongoSyncService; + /** + * 接收来自区域或者单体医院往线上同步数据的接口 + * @param action + * @param token + * @param className + * @param jsonData + * @param id + * @return + */ @ResponseBody @RequestMapping(method = RequestMethod.POST,value = "/syncmongo") public String syncmongo(String action, String token, String className, String jsonData, String id){ diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java index b544901..bd02b80 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SyncDataController.java @@ -18,6 +18,8 @@ import java.util.List; /** * Created by riecard on 2016/10/20. + * 区域数据不能够往线上同步的情况,就需要线上定时调用findSyncData方法 + * 把同步表中的数据拉到线上,保存到线上成功后,调用updateSyncData方法跟新状态 */ @Controller public class SyncDataController extends BaseController { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java new file mode 100644 index 0000000..68bdb8d --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java @@ -0,0 +1,382 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.hospitalapi.pojo.CheckByDate; +import com.lyms.hospitalapi.pojo.CheckItemResponse; +import com.lyms.hospitalapi.pojo.CheckResponse; +import com.lyms.hospitalapi.pojo.CheckType; +import com.lyms.platform.biz.service.*; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.*; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.Assert; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.common.utils.SystemConfig; +import com.lyms.platform.operate.web.request.*; +import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.permission.model.*; +import com.lyms.platform.permission.service.LisService; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.*; +import com.lyms.platform.query.*; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.math.NumberUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Component; + +import java.util.*; + +/** + * + */ +@Component +public class LisFacade { + @Autowired + private AntenatalExaminationService antenatalExaminationService; + @Autowired + private PatientsService patientsService; + @Autowired + private BasicConfigFacade basicConfigFacade; + @Autowired + private BasicConfigService basicConfigService; + @Autowired + private ApplyOrderService applyOrderService; + @Autowired + private OrganizationService organizationService; + @Autowired + private MatDeliverService matDeliverService; + @Autowired + private PostReviewService postReviewService; + @Autowired + private AutoMatchFacade autoMatchFacade; + @Autowired + private StopPregnancyService stopPregnancyService; + @Autowired + private UsersService usersService; + @Autowired + private DeleteProcessHandler deleteProcessHandler; + @Autowired + private AntExRecordService recordService; + + @Autowired + private OrganizationGroupsFacade groupsFacade; + + @Autowired + private LisService lisService; + + /** + * 获取lis和ris检验报告 + * @param vcCardNo 就诊卡号 + * @param sortType 排序类型(1,根据日期分类;2,根据检查项目分类) + * @return + */ + public BaseResponse getLisAndRisData(String vcCardNo,Integer sortType,Integer userId) { + List checkByDate=new ArrayList(); + if(1 == sortType){ + List result = new ArrayList<>(); + //获取lis数据 + result.addAll(queryLisCheckList(vcCardNo,userId)); + //result.addAll(queryPacsCheckList(cardNo)); + List keyList = new ArrayList<>(); + // 去重 + List list = new ArrayList<>(); + Date tempDate = null; + for (CheckResponse check:result) { + if (check.getModified() != null && check.getModified().equals(tempDate)) { + continue; + } + list.add(check); + tempDate = check.getModified(); + } + // 排序 + Collections.sort(list, new Comparator() { + public int compare(Object a, Object b) { + if (((CheckResponse)a).getApplyDate() == null) { + return -1; + } + if (((CheckResponse)b).getApplyDate() == null) { + return -1; + } + if (((CheckResponse)a).getApplyDate().before(((CheckResponse)a).getApplyDate())) { + return 1; + } + return -1; + } + }); + + for (CheckResponse check:list) { + String ymd = DateUtil.getyyyy_MM_dd(check.getModified()); + if (!keyList.contains(ymd)) { + keyList.add(ymd); + } + + } + + for(String time:keyList){ + List CheckType=new ArrayList(); + List result2=new ArrayList<>();//存放所有检验报告(type=1) + List result3=new ArrayList<>();//存放所有影像报告(type=2) + List result4=new ArrayList<>();//存放所有其他报告 + CheckType jianyan=new CheckType(); + jianyan.setType("检验报告"); + CheckType yingxiang=new CheckType(); + yingxiang.setType("影像报告"); + CheckType other=new CheckType(); + other.setType("其它报告"); + for(CheckResponse chre:result){ + if(time.equals(DateUtil.getyyyy_MM_dd(chre.getApplyDate()))){ + if(chre.getType() == 1){ + result2.add(chre); + //jianyan.setTypeName(result2); + //CheckType.add(jianyan); + }else if(chre.getType() == 2){ + result3.add(chre); + //yingxiang.setTypeName(result3); + //CheckType.add(yingxiang); + }else{ + result4.add(chre); + //other.setTypeName(result4); + //CheckType.add(other); + } + + } + } + jianyan.setTypeName(result2); + CheckType.add(jianyan); + + yingxiang.setTypeName(result3); + CheckType.add(yingxiang); + + other.setTypeName(result4); + CheckType.add(other); + + CheckByDate CheckByDate1=new CheckByDate(); + CheckByDate1.setTime(time); + CheckByDate1.setTypes(CheckType); + checkByDate.add(CheckByDate1); + } + }else{ + List result = new ArrayList(); + result.addAll(queryLisCheckList(vcCardNo,userId)); + //result.addAll(queryPacsCheckList(cardNo)); + List keyList = new ArrayList<>(); + List listtype=new ArrayList<>(); + List listt = new ArrayList<>(); + // 去重 + List list = new ArrayList<>(); + Integer num=0; + for(CheckResponse check:result){ + if(check.getType()!=null && check.getType()==num){ + continue; + } + list.add(check); + num=check.getType(); + } + String t=null; + for(CheckResponse check:result){ + if(check.getTitle()!=null && check.getTitle().equals(t)){ + continue; + } + listt.add(check); + t=check.getTitle(); + } + + + // 排序 + Collections.sort(list, new Comparator() { + public int compare(Object a, Object b) { + if (((CheckResponse)a).getApplyDate() == null) { + return -1; + } + if (((CheckResponse)b).getApplyDate() == null) { + return -1; + } + if (((CheckResponse)a).getApplyDate().before(((CheckResponse)a).getApplyDate())) { + return 1; + } + return -1; + } + }); + + for (CheckResponse check:list) { + Integer ymd = check.getType(); + if (!keyList.contains(ymd.toString())) { + keyList.add(ymd.toString()); + } + + } + for(CheckResponse check:listt){ + String ty=check.getTitle(); + if(!listtype.contains(ty)){ + listtype.add(ty); + } + } + + for(String type:keyList){ + + List CheckType=new ArrayList(); + + for(String typ:listtype){ + List result2=new ArrayList<>(); + CheckType CheckType1=new CheckType(); + //CheckType1.setType(typ); + for(CheckResponse chre:result){ + if(type.equals(chre.getType().toString()) && typ.equals(chre.getTitle())){ + chre.setTitle(DateUtil.getyyyy_MM_dd(chre.getApplyDate())+" "+chre.getTitle()); + result2.add(chre); + } + + } + if(result2.size()>0){ + CheckType1.setType(typ); + CheckType1.setTypeName(result2); + CheckType.add(CheckType1); + } + } + + CheckByDate CheckByDate1=new CheckByDate(); + if("1".equals(type)){ + CheckByDate1.setTime("检验报告"); + CheckByDate1.setTypes(CheckType); + checkByDate.add(CheckByDate1); + }else if("2".equals(type)){ + CheckByDate1.setTime("影像报告"); + CheckByDate1.setTypes(CheckType); + checkByDate.add(CheckByDate1); + }else{ + CheckByDate1.setTime("其它报告"); + CheckByDate1.setTypes(CheckType); + checkByDate.add(CheckByDate1); + } + + } + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setData(checkByDate); + } + + + /** + * 1、首先根据就诊卡号和医院id查询到这个孕妇的pid + * 2、再根据pid查询到这个孕妇在区域所有的建档记录 + * 3、分别取每个建档中的医院id和就诊卡号在lis记录表中查询数据 + * 4、封装lis数据 + * @param vcCardNo + * @param userId 用户ID + * @return + */ + public List queryLisCheckList(String vcCardNo,Integer userId) { + + //保存这个人在所有医院的lis记录 + List result = new ArrayList<>(); + + //缓存查询到的医院 + Map hIdNames = new HashMap<>(); + + //根据用户id获取医院ID + String hospitalId = autoMatchFacade.getHospitalId(userId); + + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + + PatientsQuery patientsQuery=new PatientsQuery(); + patientsQuery.setVcCardNo(vcCardNo); + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setYn(YnEnums.YES.getId()); + //通过医院id和就诊卡号查询到孕妇信息 + List list= patientsService.queryPatient(patientsQuery); + if(CollectionUtils.isNotEmpty(list)){ + + Patients patients = list.get(0); + patientsQuery.setPid(patients.getPid()); + patientsQuery.setVcCardNo(null); + patientsQuery.setHospitalId(null); + + //通过上面就诊号查询到的人的所有建档记录 包括其他医院的建档记录 + list= patientsService.queryPatient(patientsQuery); + if(CollectionUtils.isNotEmpty(list)){ + for(Patients pat : list) + { + if (pat != null && StringUtils.isNotEmpty(pat.getVcCardNo()) && StringUtils.isNotEmpty(pat.getHospitalId())) + { + + //获取lis记录中医院的名称 + String hospitalName = hIdNames.get(pat.getHospitalId()); + if (!StringUtils.isNotEmpty(hospitalName)) + { + organizationQuery.setId(Integer.parseInt(pat.getHospitalId())); + List hospitals = organizationService.queryOrganization(organizationQuery); + if (CollectionUtils.isNotEmpty(hospitals)) + { + hospitalName = hospitals.get(0).getName(); + hIdNames.put(hospitals.get(0).getId()+"",hospitalName); + } + } + + LisReportModel model = new LisReportModel(); + model.setVcCardNo(pat.getVcCardNo()); + model.setHospitalId(pat.getHospitalId()); + //通过就诊卡号和医院id查询到医院下面的lis记录 + List lises = lisService.queryLisDataByModel(model); + if (CollectionUtils.isNotEmpty(lises)) + { + for (LisReportModel lis : lises) + { + CheckResponse check = new CheckResponse(); + check.setModified(lis.getModified()); + check.setType(1); /* 1:检验报告,2:影像报告 */ + check.setName(lis.getName()); + check.setTitle(lis.getTitle()); + check.setHospitalName(hospitalName); + if (lis.getAge() != null) { + check.setAge(lis.getAge().toString()); + } + check.setApplyDate(lis.getPublishTime()); + check.setApplyDateStr(DateUtil.getyyyy_MM_dd(lis.getPublishTime())); + check.setCheckDept(lis.getApplyDept()); + check.setDoctor(lis.getApplyDoctor()); + check.setSex(check.getSex()); + + + List itemList = new ArrayList<>(); + + LisReportItemModel query = new LisReportItemModel(); + query.setLisId(lis.getLisId()); + query.setHospitalId(lis.getHospitalId()); + //查询lis每项详情 + List items = lisService.queryLisItemByModel(query); + if (CollectionUtils.isNotEmpty(items)) + { + for (LisReportItemModel checkItem : items) + { + CheckItemResponse item = new CheckItemResponse(); + item.setName(checkItem.getName()); + item.setCode(checkItem.getCode()); + item.setRefer(checkItem.getRef()); + if (StringUtils.isNotBlank(checkItem.getNumberResult())) { + item.setResult(checkItem.getNumberResult()); + } else if (StringUtils.isNotBlank(checkItem.getCharResult())) { + item.setResult(checkItem.getCharResult()); + } else { + item.setResult(checkItem.getResult()); + } + item.setUnit(checkItem.getUnit()); + item.setSpecial(checkItem.getResultFlag()); + itemList.add(item); + } + check.setItemList(itemList); + } + result.add(check); + } + + } + } + } + } + } + return result; + } +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java index 47af300..11ccf98 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java @@ -75,6 +75,10 @@ public class SyncDataTaskService { @Autowired private AntenatalExaminationService antenatalExaminationService; + /** + * 该方法是区域或者单体医院部署的把数据定时往某个环境上传 + * (如往线上环境上传,mongo_sync_url就配置相应的线上的接收地址) + */ public void syncData() { SyncDataQuery query = new SyncDataQuery(); query.setStatus(1); @@ -130,18 +134,18 @@ public class SyncDataTaskService { } /** - * 同步秦皇岛的数据到线上 + * 该方法是定时去取秦皇岛要同步的数据 + * 定时任务配置applicationContext.xml */ public void qhdfySyncDataSSL() { try{ - String json = HttpClientUtil.doPost("https://area-qhd-api.healthbaby.com.cn:18019/findSyncData", new HashMap(), "utf-8"); if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(json)) { List list = JsonUtil.toList(json, SyncDataModel.class); - System.out.println("syncdata size = "+ list.size()); + System.out.println("qdhfy syncdata size = "+ list.size()); int batchSize = 200; @@ -151,7 +155,7 @@ public class SyncDataTaskService { if (end > list.size()) { end = list.size(); } - System.out.println("start:" + i + ",end:" + end); + System.out.println("qhdfy start:" + i + ",end:" + end); final List tempList = list.subList(i, end); new Thread(new Runnable() { @Override @@ -176,26 +180,87 @@ public class SyncDataTaskService { } }).start(); } - -// for (SyncDataModel model : list) { -// boolean boo = mongoSyncService.syncData(model.getAction(), model.getDataId(), model.getClassName(), model.getJsonData()); -// if (boo) { -// ids.append(model.getId()); -// ids.append(","); -// } -// } -// if (ids.length() > 0) { -// Map params = new HashMap(); -// params.put("ids", ids.toString()); -// String result = HttpClientUtil.doPost("https://area-qhd-api.healthbaby.com.cn:18019/updateSyncData", params, "utf-8"); -// System.out.println("exc result = "+ result); -// } } }catch(Exception ex){ ExceptionUtils.catchException(ex, "qhdfySyncDataSSL Error."); } } + + /** + * 同步德州妇幼的数据到线上 + * 定时任务配置applicationContext.xml + */ + public void dzfySyncDataSSL() { + + try{ + String json = HttpClientUtil.doPost("https://area-dz-api.healthbaby.com.cn:12356/findSyncData", new HashMap(), "utf-8"); + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(json)) + { + List list = JsonUtil.toList(json, SyncDataModel.class); + System.out.println("dzfy syncdata size = "+ list.size()); + int batchSize = 200; + int end = 0; + for (int i = 0; i < list.size(); i += batchSize) { + end = (end + batchSize); + if (end > list.size()) { + end = list.size(); + } + System.out.println("dzfy start:" + i + ",end:" + end); + final List tempList = list.subList(i, end); + new Thread(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) + { + StringBuffer ids = new StringBuffer(); + for (SyncDataModel model : tempList) { + boolean boo = mongoSyncService.syncData(model.getAction(), model.getDataId(), model.getClassName(), model.getJsonData()); + if (boo) { + ids.append(model.getId()); + ids.append(","); + } + } + if (ids.length() > 0) { + Map params = new HashMap(); + params.put("ids", ids.toString()); + String result = HttpClientUtil.doPost("https://area-qhd-api.healthbaby.com.cn:18019/updateSyncData", params, "utf-8"); + System.out.println("exc result = "+ result); + } + } + } + }).start(); + } + } + }catch(Exception ex){ + ExceptionUtils.catchException(ex, "dzfySyncDataSSL Error."); + } + } + + /** + * 定时任务配置applicationContext.xml + * + */ + public void syncDataSSL() + { + new Thread(new Runnable() { + @Override + public void run() { + qhdfySyncDataSSL(); + } + },"qhdfy-thread").start(); + + + new Thread(new Runnable() { + @Override + public void run() { + dzfySyncDataSSL(); + } + },"qhdfy-thread").start(); + + } + + private String buildFX(String charResult) { if (StringUtils.isNotBlank(charResult)) { if (charResult.indexOf("高风险") >= 0) {