From c6550d6ac512a468f44cb88554de853f7a3a0804 Mon Sep 17 00:00:00 2001 From: wtt Date: Thu, 12 Sep 2019 14:13:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=A6=E7=9A=87=E5=B2=9BB=E8=B6=85=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E5=90=8C=E6=AD=A5=E5=92=8C=E5=AE=9A=E6=97=B6=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=EF=BC=88=E6=B3=A8=E9=87=8A=E8=BF=99=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../operate/web/controller/ViewController.java | 14 +++ .../web/facade/AntenatalExaminationFacade.java | 127 +++++++++++++++++++++ .../resources/spring/applicationContext-quartz.xml | 17 ++- 3 files changed, 157 insertions(+), 1 deletion(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java index a9a173f..42a546c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java @@ -83,6 +83,20 @@ public class ViewController extends BaseController { } /** + * 初诊B超同步接口 + * @param startDate + * @param endDate + * @return + */ + @RequestMapping(value = "/AntExChuSync", method = RequestMethod.GET) + @ResponseBody + public BaseObjectResponse AntExChuSync(@RequestParam("startDate") String startDate, + @RequestParam("endDate") String endDate ) { + BaseObjectResponse br= antenatalExaminationFacade.AntExChuSync( startDate, endDate,true ); + return br; + } + + /** * 下载初诊word * * @param id diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 1875868..b6ba541 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -4,6 +4,8 @@ import com.lyms.hospitalapi.dzfy.DzfyHisService; import com.lyms.hospitalapi.zcfy.ZcPrenatalService; import com.lyms.platform.beans.MsgRequest; import com.lyms.platform.biz.SequenceConstant; +import com.lyms.platform.biz.dal.IAntExChuDao; +import com.lyms.platform.biz.dal.IPatientDao; import com.lyms.platform.biz.dal.ISieveDao; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; @@ -45,6 +47,8 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; import org.springframework.util.StopWatch; +import java.text.ParsePosition; +import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Pattern; @@ -151,6 +155,11 @@ public class AntenatalExaminationFacade { @Autowired private ISieveDao sieveDao; + @Autowired + private IPatientDao iPatientDao; + + @Autowired + private IAntExChuDao iAntExChuDao; /** * 处理区域隐藏建档 * @@ -2211,6 +2220,124 @@ public class AntenatalExaminationFacade { } return new BaseObjectResponse().setData(resultMap).setErrorcode(ErrorCodeConstants.SUCCESS); } + public static Date strToDateLong(String strDate) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + ParsePosition pos = new ParsePosition(0); + Date strtodate = formatter.parse(strDate, pos); + return strtodate; + } + public static String getDateAfter(Date d,int day){ + Calendar now =Calendar.getInstance(); + now.setTime(d); + now.set(Calendar.DATE,now.get(Calendar.DATE)-day); + + String strDateFormat = "yyyy-MM-dd"; + SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat); + return sdf.format(now.getTime()); + } + private static StringBuffer getStrings(String string) { + StringBuffer stringBuffer = new StringBuffer(); + if (StringUtils.isNotEmpty(string)) { + string = string.replace("\\r\\n", ""); + List recordChoiceStrlist = com.alibaba.fastjson.JSONObject.parseArray(string, Map.class); + String strs = ""; + for (Map m : recordChoiceStrlist) { + Object examination = m.get("examination"); + Object diagnosis = m.get("diagnosis"); + String str = examination + "\r\n" + diagnosis + "\r\n"; + stringBuffer.append(str); + } + } + return stringBuffer; + } + + public void bChaoTimerWork() { + String startDate1 = getDateAfter(new Date(), 1); + String endDate1 = DateUtil.getyyyy_MM_dd(new Date()); + System.out.println("start=" + startDate1 + "end=" + endDate1); + AntExChuSync(startDate1,endDate1,true); + } + + /** + * 初诊B超同步接口 + * @param startDate + * @param endDate + * @return + */ + public BaseObjectResponse AntExChuSync(String startDate, String endDate,boolean b) { + + //1 获取2018-10-01 到 2019-09-10,秦皇岛说有的初证数据。 + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setCheckTimeStart(strToDateLong(startDate)); + antExChuQuery.setCheckTimeEnd(strToDateLong(endDate)); + antExChuQuery.setHospitalId("216"); + antExChuQuery.setYn(YnEnums.YES.getId()); + List antExChu = antenatalExaminationService.queryAntExChu(antExChuQuery); + System.out.println("获取秦皇岛初诊条数:"+antExChu.size()); + if (CollectionUtils.isNotEmpty(antExChu)) { + for (int i = 0; i map = new HashMap(); + String startDate1 = getDateAfter(checkTime, 1); + String endDate1 = DateUtil.getyyyy_MM_dd(checkTime); + map.put("vcCardNo", vcCardNo); + map.put("startDate", startDate1); + map.put("endDate", endDate1); + s = HttpClientUtil.doGet("http://localhost:9090/lis/qhdris", map, "utf-8", null); + System.out.println("获取B超信息:" + s); + if (("[]"==s || "[]".equals(s)) || StringUtils.isEmpty(s)) { + if(b){ + operateLogFacade.addModifyOptLog(null, 2160003, map, s, OptActionEnums.ADD.getId(), "获取B超信息失败或为空"); + } + continue; + } + if(StringUtils.isEmpty(antExChu.get(i).getbChao())){ + AntExChuModel antExChuModel = antExChu.get(i); + antExChuModel.setbChao(getStrings(s).toString()); + iAntExChuDao.updateOneAntEx(antExChu.get(i), antExChu.get(i).getId()); + if(b){ + operateLogFacade.addModifyOptLog(null, 2160004, null, antExChuModel, OptActionEnums.ADD.getId(), "初诊更新B超成功"); + } + }else if(b){ + operateLogFacade.addModifyOptLog(null, 2160005, null, antExChu.get(i), OptActionEnums.ADD.getId(), "无需更新B超信息"); + } + + } catch (Exception e) { + e.printStackTrace(); + if(b){ + operateLogFacade.addModifyOptLog(null, 2160006, null, antExChu.get(i), OptActionEnums.ADD.getId(), "初诊B超同步接口异常"); + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + } + + }else { + if(b){ + operateLogFacade.addModifyOptLog(null, 2160007, startDate, endDate, OptActionEnums.ADD.getId(), "初诊数据为空"); + } + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.BUSINESS_ERROR).setErrormsg("获取"+startDate+" 到 "+endDate+",秦皇岛的初诊数据条数:"+antExChu.size()); + } + + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } public class SortIn { diff --git a/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml b/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml index 44dd0b4..27f783b 100644 --- a/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml +++ b/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml @@ -106,7 +106,15 @@ - + + + + + + + + + @@ -182,6 +190,12 @@ + + + + + + @@ -403,6 +417,7 @@ + -- 1.8.3.1