From 30c4ef2a14ae1c181fb9187af8d6c6dc280dde90 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Mon, 29 Oct 2018 11:37:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8D=A3=E6=88=90=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/hospitalapi/rcfy/RcGlxtService.java | 171 ++++++++++++++++++++- .../operate/web/controller/TestController.java | 28 ++++ 2 files changed, 197 insertions(+), 2 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/rcfy/RcGlxtService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/rcfy/RcGlxtService.java index f365547..f819ac1 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/rcfy/RcGlxtService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/rcfy/RcGlxtService.java @@ -79,15 +79,39 @@ public class RcGlxtService { private ResidentsArchiveService residentsArchiveService; private static Map hospitalsMap = new HashMap<>(); + private static Map KEY_MAP = new HashMap<>(); + private static Map CHECK_STATUS = new HashMap<>(); + private static Map CHECK_TYPE = new HashMap<>(); static{ - hospitalsMap.put("2100001785","371082007011");//荣成市人民医院 -// hospitalsMap.put("216","216");//荣成市人民医院 +// hospitalsMap.put("2100001785","371082007011");//荣成市人民医院 + hospitalsMap.put("216","216");//测试用的秦皇岛医院 hospitalsMap.put("2100001818","371082006011");//荣成市石岛人民医院 hospitalsMap.put("2100001772","371082007001");//荣成市中医院 hospitalsMap.put("2100001750","371082000011");//荣成市妇幼保健院 + KEY_MAP.put("syjg","梅毒"); + KEY_MAP.put("ygekt" , "乙肝e抗体"); + KEY_MAP.put("ygeky" , "乙肝e抗原"); + KEY_MAP.put("yghxkt" , "乙肝核心抗体"); + KEY_MAP.put("ygbmky" , "乙肝表面抗原"); + KEY_MAP.put("hivkt" , "艾滋病"); + KEY_MAP.put("ygbmkt" ,"乙肝表面抗体"); + + CHECK_STATUS.put("yang" , "阳性"); + CHECK_STATUS.put("ruoyang" , "弱阳"); + CHECK_STATUS.put("yin" ,"阴性"); + + CHECK_TYPE.put("syjg","1009"); + CHECK_TYPE.put("ygekt" , "1010"); + CHECK_TYPE.put("ygeky" , "1010"); + CHECK_TYPE.put("yghxkt" , "1010"); + CHECK_TYPE.put("ygbmky" , "1010"); + CHECK_TYPE.put("hivkt" , "1008"); + CHECK_TYPE.put("ygbmkt" ,"1010"); } + + public List getHids() { List hids = new ArrayList<>(); @@ -99,6 +123,149 @@ public class RcGlxtService { } + /** + * 孕产妇母婴阻断检查信息 + * @param model + */ + public void saveRcZdInfo(AntExChuModel model) + { + + Connection conn = null; + PreparedStatement ps = null; + try { + conn = ConnTools.makeConnection(); + + + Map map = new HashMap(); + + if (StringUtils.isNotEmpty(model.getSyjg())) + { + map.put("syjg",model.getSyjg()); + } + if (StringUtils.isNotEmpty(model.getYgekt())) + { + map.put("ygekt",model.getYgekt()); + } + if (StringUtils.isNotEmpty(model.getYgeky())) + { + map.put("ygeky",model.getYgeky()); + } + if (StringUtils.isNotEmpty(model.getYghxkt())) + { + map.put("yghxkt",model.getYghxkt()); + } + if (StringUtils.isNotEmpty(model.getYgbmky())) + { + map.put("ygbmky",model.getYgbmky()); + } + if (StringUtils.isNotEmpty(model.getHivkt())) + { + map.put("hivkt",model.getHivkt()); + } + if (StringUtils.isNotEmpty(model.getYgbmkt())) + { + map.put("ygbmkt",model.getYgbmkt()); + } + if (map.size() == 0) + { + return; + } + + String sql = "insert into MOTHER_CHILD_BLOCK_CHECK(ID,ID_CARD,NAME,STATUS,RIS_TIME,MATERNAL_CHILD_BLOCK_CATE,MATERNAL_CHILD_BLOCK_CATE_NAME," + + "IS_TOLL,IS_SEND_REMIND,CHECK_RESULT,HOSPITAL,DOCTOR,OPERATOR,OPERAT_TIME,CREATE_TIME,UPDATE_TIME) " + + " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + + Patients patients = patientsService.findOnePatientById(model.getParentId()); + if (patients == null) + { + return; + } + + if (map.size() > 0) + { + for (String key : map.keySet()) + { + ps = conn.prepareStatement("delete from MOTHER_CHILD_BLOCK_CHECK WHERE ID ='" + model.getId()+key + "'"); + ps.executeUpdate(); + + ps = conn.prepareStatement(sql); + ps.setString(1,model.getId()+key); + ps.setString(2,patients.getCardNo()); + ps.setString(3,patients.getUsername()); + String status = ""; + int week = 0; + if (patients.getLastMenses() != null && model.getCreated() != null) + { + week = DateUtil.getWeek(patients.getLastMenses(),model.getCreated()); + + //怀孕1~12周为早孕。 怀孕13周~27周为孕中,28周到40周围孕晚期,分娩后是产后,产后42天后不再属于孕期妇女 + if (week >=0 && 12 >= week) + { + status= "1"; + } + else if (week >=13 && 27 >= week) + { + status= "2"; + } + else if (week >=28 && 40 >= week) + { + status= "3"; + } + else + { + status = "4"; + } + } + ps.setString(4, status); + ps.setTimestamp(5, new Timestamp(model.getCheckTime().getTime())); + + ps.setString(6, CHECK_TYPE.get(key)); + ps.setString(7, KEY_MAP.get(key)); + ps.setString(8, null); + ps.setString(9, null); + + String value = map.get(key); + String result = CHECK_STATUS.get(value); + if ("syjg".equals(key) && StringUtils.isNotEmpty(model.getSyjgSelect())) + { + result+= model.getSyjgSelect().equals("1") ? "(初诊结果)" : "(已确诊)"; + } + else if ("hivkt".equals(key) && StringUtils.isNotEmpty(model.getHivktSelect())) + { + result+= model.getHivktSelect().equals("1") ? "(初诊结果)" : "(已确诊)"; + } + ps.setString(10, result); + ps.setString(11, CommonsHelper.getHospitalName(model.getHospitalId(), organizationService)); + ps.setString(12, StringUtils.isNum(model.getProdDoctor()) ? CommonsHelper.getUserName(model.getProdDoctor(), usersService) : model.getProdDoctor()); + ps.setString(13, CommonsHelper.getUserName(model.getOperator()+"", usersService)); + ps.setTimestamp(14, new Timestamp(model.getCreated().getTime())); + ps.setTimestamp(15, new Timestamp(model.getCreated().getTime())); + ps.setTimestamp(16, new Timestamp(model.getModified().getTime())); + int saveRcZdInfoCount = ps.executeUpdate(); + System.out.println("saveRcZdInfoCount="+saveRcZdInfoCount); + } + } + + } + catch (Exception e) + { + ExceptionUtils.catchException(e,"saveRcZdInfoCount error."); + }finally { + try { + if (ps != null) + { + ps.close(); + } + if (conn != null) + { + conn.close(); + } + } catch (SQLException e) { + } + } + } + + public void saveRcPatientRiskRecord(AntExRecordModel model) { Connection conn = null; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index b222ac7..fee6f32 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -2596,4 +2596,32 @@ public class TestController extends BaseController { } } + + /** + * 母婴阻断 + * @param hospitalId + */ + @RequestMapping(value = "/rcZdInfo", method = RequestMethod.GET) + @ResponseBody + public void rcZdInfo(@RequestParam(required = false) String hospitalId) { + + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setYn(YnEnums.YES.getId()); + antExChuQuery.setHospitalList(rcGlxtService.getHids()); + antExChuQuery.setCreatedTimeStart(DateUtil.addMonth(new Date(),-2)); + antExChuQuery.setCreatedTimeEnd(new Date()); + List antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery); + if (CollectionUtils.isNotEmpty(antExChuModels)) + { + for (AntExChuModel chuModel : antExChuModels) + { + rcGlxtService.saveRcZdInfo(chuModel); + } + } + } + + + + + } -- 1.8.3.1