From 414892833efe27bee3b1f9d8b2238408ceeb911a Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 5 Dec 2018 10:38:26 +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 --- .../java/com/lyms/platform/query/AntExQuery.java | 13 ++ .../com/lyms/hospitalapi/rcfy/RcGlxtService.java | 187 ++++++++++++++++++++- .../operate/web/controller/TestController.java | 41 ++++- 3 files changed, 236 insertions(+), 5 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java index 66811f1..339b9b7 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/AntExQuery.java @@ -27,6 +27,7 @@ public class AntExQuery extends BaseQuery implements IConvertToNativeQuery { private Date end; private String hospitalId; + private List hospitalIds; private boolean neStart; private boolean neEnd; @@ -48,6 +49,14 @@ public class AntExQuery extends BaseQuery implements IConvertToNativeQuery { private Date modifiedEnd; + public List getHospitalIds() { + return hospitalIds; + } + + public void setHospitalIds(List hospitalIds) { + this.hospitalIds = hospitalIds; + } + public Date getModifiedStart() { return modifiedStart; } @@ -187,6 +196,10 @@ public class AntExQuery extends BaseQuery implements IConvertToNativeQuery { if(null!=hospitalId){ condition= condition.and("hospitalId",hospitalId, MongoOper.IS); } + + if(null!=hospitalIds && hospitalIds.size() > 0){ + condition= condition.and("hospitalId",hospitalIds, MongoOper.IN); + } if(null!=pid){ condition= condition.and("pid",pid, MongoOper.IS); } 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 8592b61..d180567 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 @@ -14,6 +14,7 @@ import com.lyms.platform.operate.web.facade.AntenatalExaminationFacade; import com.lyms.platform.operate.web.result.HighScoreResult; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.operate.web.utils.FunvCommonUtil; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; @@ -85,7 +86,7 @@ public class RcGlxtService { private static Map CHECK_TYPE = new HashMap<>(); static{ hospitalsMap.put("2100001785","371082007011");//荣成市人民医院 -// hospitalsMap.put("216","216");//测试用的秦皇岛医院 + hospitalsMap.put("216","216");//测试用的秦皇岛医院 hospitalsMap.put("2100001818","371082006011");//荣成市石岛人民医院 hospitalsMap.put("2100001773","371082006011");//荣成市石岛人民医院 hospitalsMap.put("2100001772","371082007001");//荣成市中医院 @@ -124,6 +125,169 @@ public class RcGlxtService { return hids; } + public void saveCheckFu(AntenatalExaminationModel model) + { + Connection conn = null; + PreparedStatement ps = null; + try { + conn = ConnTools.makeConnection(); + + String sql = "insert into EARLY_PREGNANCY_RIS(ID,NAME,ID_CARD,MEDICAL_RECORD_NO,PREGNANCY_JUDGMENT,HANDLING_SUGGESTION,VISIT_DOCTIR,VISIT_DATE,FROM_HOSPITAL, OPERATOR,OPERAT_TIME,CREATE_TIME,UPDATE_TIME) " + + " values(?,?,?,?,?,?,?,?,?,?,?,?,?)"; + + Patients patients = patientsService.findOnePatientById(model.getParentId()); + if (patients == null) + { + return; + } + + ps = conn.prepareStatement("delete from EARLY_PREGNANCY_RIS WHERE ID ='" + model.getId() + "'"); + ps.executeUpdate(); + + ps = conn.prepareStatement(sql); + ps.setString(1,model.getId()); + ps.setString(2,patients.getUsername()); + ps.setString(3,patients.getCardNo()); + ps.setString(4,patients.getBlNum()); + + String diagnosis = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getDiagnosis())) { + List temp = JsonUtil.toList(model.getDiagnosis(), String.class); + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(temp)) { + StringBuilder sb = new StringBuilder(); + for (String sId : temp) { + sb.append(FunvCommonUtil.getBaseicConfigByid(sId, basicConfigService)).append(","); + } + if (sb.toString().endsWith(",")) { + diagnosis = sb.substring(0, sb.length() - 1); + } else { + diagnosis = sb.toString(); + } + } + } + if (StringUtils.isNotEmpty(diagnosis) && StringUtils.isNotEmpty(model.getDiagnosisOther())) + { + diagnosis+=" "+model.getDiagnosisOther(); + } + else + { + diagnosis+=model.getDiagnosisOther(); + } + ps.setString(5, diagnosis); + ps.setString(6, model.getTreatmentOpinion()); + ps.setString(7, StringUtils.isNum(model.getCheckDoctor()) ? CommonsHelper.getUserName(model.getCheckDoctor(), usersService) : model.getCheckDoctor()); + ps.setTimestamp(8, new Timestamp(model.getCheckDate().getTime())); + ps.setString(9, hospitalsMap.get(model.getHospitalId())); + ps.setTimestamp(10, new Timestamp(model.getCreated().getTime())); + ps.setTimestamp(11, new Timestamp(model.getModified().getTime())); + ps.setString(12, CommonsHelper.getUserName(model.getOperator() + "", usersService)); + ps.setTimestamp(13, new Timestamp(model.getCreated().getTime())); + + int saveCheckFuCount = ps.executeUpdate(); + System.out.println("saveCheckFu="+saveCheckFuCount); + + } + catch (Exception e) + { + ExceptionUtils.catchException(e,"saveCheckFuCount error."); + }finally { + try { + if (ps != null) + { + ps.close(); + } + if (conn != null) + { + conn.close(); + } + } catch (SQLException e) { + } + } + } + + + public void saveCheckChu(AntExChuModel model) + { + Connection conn = null; + PreparedStatement ps = null; + try { + conn = ConnTools.makeConnection(); + + String sql = "insert into EARLY_PREGNANCY_RIS(ID,NAME,ID_CARD,MEDICAL_RECORD_NO,PREGNANCY_JUDGMENT,HANDLING_SUGGESTION,VISIT_DOCTIR,VISIT_DATE,FROM_HOSPITAL, OPERATOR,OPERAT_TIME,CREATE_TIME,UPDATE_TIME) " + + " values(?,?,?,?,?,?,?,?,?,?,?,?,?)"; + + Patients patients = patientsService.findOnePatientById(model.getParentId()); + if (patients == null) + { + return; + } + + ps = conn.prepareStatement("delete from EARLY_PREGNANCY_RIS WHERE ID ='" + model.getId() + "'"); + ps.executeUpdate(); + + ps = conn.prepareStatement(sql); + ps.setString(1,model.getId()); + ps.setString(2,patients.getUsername()); + ps.setString(3,patients.getCardNo()); + ps.setString(4,patients.getBlNum()); + + String diagnosis = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(model.getDiagnosis())) { + List temp = JsonUtil.toList(model.getDiagnosis(), String.class); + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(temp)) { + StringBuilder sb = new StringBuilder(); + for (String sId : temp) { + sb.append(FunvCommonUtil.getBaseicConfigByid(sId, basicConfigService)).append(","); + } + if (sb.toString().endsWith(",")) { + diagnosis = sb.substring(0, sb.length() - 1); + } else { + diagnosis = sb.toString(); + } + } + } + if (StringUtils.isNotEmpty(diagnosis) && StringUtils.isNotEmpty(model.getDiagnosisOther())) + { + diagnosis+=" "+model.getDiagnosisOther(); + } + else + { + diagnosis+=model.getDiagnosisOther(); + } + ps.setString(5, diagnosis); + + ps.setString(6, model.getTreatOpinion()); + ps.setString(7, StringUtils.isNum(model.getProdDoctor()) ? CommonsHelper.getUserName(model.getProdDoctor(), usersService) : model.getProdDoctor()); + ps.setTimestamp(8, new Timestamp(model.getCheckTime().getTime())); + ps.setString(9, hospitalsMap.get(model.getHospitalId())); + ps.setTimestamp(10, new Timestamp(model.getCreated().getTime())); + ps.setTimestamp(11, new Timestamp(model.getModified().getTime())); + ps.setString(12, CommonsHelper.getUserName(model.getOperator() + "", usersService)); + ps.setTimestamp(13, new Timestamp(model.getCreated().getTime())); + + int saveCheckChuCount = ps.executeUpdate(); + System.out.println("saveCheckChuCount="+saveCheckChuCount); + + } + catch (Exception e) + { + ExceptionUtils.catchException(e,"saveCheckChuCount error."); + }finally { + try { + if (ps != null) + { + ps.close(); + } + if (conn != null) + { + conn.close(); + } + } catch (SQLException e) { + } + } + } + + /** * 孕产妇母婴阻断检查信息 @@ -1481,13 +1645,30 @@ public class RcGlxtService { antExChuQuery.setModifiedEnd(end); List antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery); System.out.println("xxxxxx antExChuModels=" + antExChuModels.size()+"===="+antExChuQuery.convertToQuery().convertToMongoQuery().toString()); - if (org.apache.commons.collections.CollectionUtils.isNotEmpty(antExChuModels)) + if (CollectionUtils.isNotEmpty(antExChuModels)) { for (AntExChuModel chuModel : antExChuModels) { saveRcZdInfo(chuModel); + + saveCheckChu(chuModel); } } - } + + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setYn(YnEnums.YES.getId()); + antExQuery.setHospitalIds(hids); + antExQuery.setModifiedStart(start); + antExQuery.setModifiedEnd(end); + List antEx = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); + System.out.println("xxxxxx antEx=" + antEx.size()+"===="+antExQuery.convertToQuery().convertToMongoQuery().toString()); + if (CollectionUtils.isNotEmpty(antEx)) + { + for (AntenatalExaminationModel f : antEx) + { + saveCheckFu(f); + } + } + } } 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 4ddcfc8..049d2cc 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 @@ -2513,7 +2513,7 @@ public class TestController extends BaseController { { for (MatdeliverFollowModel matdeliverFollowModel : matdeliverFollowModels) { - rcGlxtService.saveRcMatdeliverFollowInfo(matdeliverFollowModel,rcGlxtService.getHids()); + rcGlxtService.saveRcMatdeliverFollowInfo(matdeliverFollowModel, rcGlxtService.getHids()); } } } @@ -2619,7 +2619,7 @@ public class TestController extends BaseController { AntExChuQuery antExChuQuery = new AntExChuQuery(); antExChuQuery.setYn(YnEnums.YES.getId()); antExChuQuery.setHospitalList(rcGlxtService.getHids()); - antExChuQuery.setCreatedTimeStart(DateUtil.addMonth(new Date(), -2)); + antExChuQuery.setCreatedTimeStart(DateUtil.addMonth(new Date(), -50)); antExChuQuery.setCreatedTimeEnd(new Date()); List antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery); if (CollectionUtils.isNotEmpty(antExChuModels)) @@ -2631,6 +2631,43 @@ public class TestController extends BaseController { } } + + /** + * 孕产妇早孕诊断信息表 + */ + @RequestMapping(value = "/rcDiagnosisInfo", method = RequestMethod.GET) + @ResponseBody + public void rcDiagnosisInfo() { + + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setYn(YnEnums.YES.getId()); + antExChuQuery.setHospitalList(rcGlxtService.getHids()); + antExChuQuery.setCreatedTimeStart(DateUtil.addMonth(new Date(), -50)); + antExChuQuery.setCreatedTimeEnd(new Date()); + List antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery); + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(antExChuModels)) { + for (AntExChuModel chuModel : antExChuModels) { + + rcGlxtService.saveCheckChu(chuModel); + } + } + + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setYn(YnEnums.YES.getId()); + antExQuery.setHospitalIds(rcGlxtService.getHids()); + antExQuery.setModifiedStart(DateUtil.addMonth(new Date(), -50)); + antExQuery.setModifiedEnd(new Date()); + List antEx = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(antEx)) + { + for (AntenatalExaminationModel f : antEx) + { + rcGlxtService.saveCheckFu(f); + } + } + + } + /** * 自定义查询 * -- 1.8.3.1