From 038e6596e293832a7cecd504e3b0c4853b85571a Mon Sep 17 00:00:00 2001 From: gengxiaokai Date: Tue, 26 Jun 2018 09:36:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B8=E5=9F=8E=E5=88=9D=E8=AF=8A=EF=BC=8C?= =?UTF-8?q?=E5=A4=8D=E8=AF=8A=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/hospitalapi/Cdfy/CdGwInterface.java | 174 +++++++++++++++++++-- .../lyms/hospitalapi/zcfy/ZcPrenatalService.java | 32 +++- 2 files changed, 186 insertions(+), 20 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/Cdfy/CdGwInterface.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/Cdfy/CdGwInterface.java index 737088a..7b432f2 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/Cdfy/CdGwInterface.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/Cdfy/CdGwInterface.java @@ -2,20 +2,31 @@ package com.lyms.hospitalapi.Cdfy; import com.lyms.hospitalapi.pojo.HealthRecord; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.PermissionTypeEnums; import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.PropertiesUtil; +import com.lyms.platform.operate.web.facade.ViewFacade; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.pojo.AntExChuModel; import com.lyms.platform.pojo.Patients; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.sql.Connection; +import java.sql.Date; +import java.sql.PreparedStatement; +import java.sql.Types; +import java.sql.ResultSet; +import java.util.Map; /** - * Created by Administrator on 2018/5/21. + * Created by Administrator on 2018/6/25. * 承德公共卫生系统接口(gxk) * 保存个人基本信息,保存地址信息 */ @@ -24,7 +35,12 @@ public class CdGwInterface { @Autowired private BasicConfigService basicConfigService; + @Autowired + private PatientsService patientsService; + @Autowired + private ViewFacade viewFacade; + //基本信息以及地址信息 public BaseObjectResponse saveBaseInfo(Patients patient,String hosipitalId){ //户籍地址 @@ -54,29 +70,29 @@ public class CdGwInterface { "CONTACT_NAME,CONTACT_TEL_NO,NATIONALITY_CODE,ABO_CODE,RH_CODE,\n" + "EDUCATION_CODE,OCCUPATION_CODE,MARRIAGE_CODE,DRUG_ALLERGY_MARK,OP_HISTORY_MARK,TRAUMA_HISTORY_MARK,\n" + "BLOOD_TRANSF_MARK,GENETIC_DISEASE_HISTORY,OPERATION_HISTORY,Sec_Type_Code,Employer_Tel_No,DELETE_MARK)\n" + - "vakues("+patient.getHospitalId()+","+patient.getId()+","+patient.getVcCardNo()+",'03',"+patient.getUsername()+",\n" + - "'2',"+patient.getBirth()+",'01',"+patient.getCardNo()+","+patient.getPworkUnit()+","+patient.getPhone()+",\n" + - ""+patient.getHusbandName()+","+patient.getHusbandPhone()+","+patient.getPnationId()+",'5','4',\n" + - "'',"+patient.getPprofessionTypeId()+",'20','0','0','0',\n" + - "'9','无','无','01','无','0')"; + "vakues(\""+patient.getHospitalId()+"\",\""+patient.getId()+"\",\""+patient.getVcCardNo()+"\",\"03\",\""+patient.getUsername()+"\",\n" + + "\"2\",\""+patient.getBirth()+"\",\"01\",\""+patient.getCardNo()+"\",\""+patient.getPworkUnit()+"\",\""+patient.getPhone()+"\",\n" + + "\""+patient.getHusbandName()+"\",\""+patient.getHusbandPhone()+"\",\""+patient.getPnationId()+"\",\"5\",\"4\",\n" + + "\"\",\""+patient.getPprofessionTypeId()+"\",\"20\",\"0\",\"0\",\"0\",\n" + + "\"9\",\"无\",\"无\",\"01\",\"无\",\"0\")"; //地址信息语句,01:户籍地址 String inAddressSql01 = "insert into baseinfo_address(ORG_CODE,PATIENT_ID,Address_Type_Code,Addr_Province,Addr_City,\n" + "Addr_County,Addr_Town,Addr_Village,Addr_House_No,Postal_Code,DELETE_MARK) \n" + - "values("+patient.getHospitalId()+","+patient.getId()+",'01',"+hjSheng+","+hjShi+",\n" + - ""+hjXian+","+hjXiang+","+patient.getAddress()+","+patient.getAddress()+",'','0')"; + "values(\""+patient.getHospitalId()+"\",\""+patient.getId()+"\",\"01\",\""+hjSheng+"\",\""+hjShi+"\",\n" + + "\""+hjXian+"\",\""+hjXiang+"\",\""+patient.getAddress()+"\",\""+patient.getAddress()+"\",\"\",\"0\")"; //地址信息语句,03:居住地址 String inAddressSql03 = "insert into baseinfo_address(ORG_CODE,PATIENT_ID,Address_Type_Code,Addr_Province,Addr_City,\n" + "Addr_County,Addr_Town,Addr_Village,Addr_House_No,Postal_Code,DELETE_MARK) \n" + - "values("+patient.getHospitalId()+","+patient.getId()+",'03',"+jzSheng+","+jzShi+",\n" + - ""+jzXian+","+jzXiang+","+patient.getAddressRegister()+","+patient.getAddressRegister()+",'','0')"; + "values(\""+patient.getHospitalId()+"\",\""+patient.getId()+"\",\"03\",\""+jzSheng+"\",\""+jzShi+"\",\n" + + "\""+jzXian+"\",\""+jzXiang+"\",\""+patient.getAddressRegister()+"\",\""+patient.getAddressRegister()+"\",\"\",\"0\")"; //地址信息语句,07:产后居住地 String inAddressSql07 = "insert into baseinfo_address(ORG_CODE,PATIENT_ID,Address_Type_Code,Addr_Province,Addr_City,\n" + "Addr_County,Addr_Town,Addr_Village,Addr_House_No,Postal_Code,DELETE_MARK) \n" + - "values("+patient.getHospitalId()+","+patient.getId()+",'07',"+chSheng+","+chShi+",\n" + - ""+chXian+","+chXiang+","+patient.getAddressPostRest()+","+patient.getAddressPostRest()+",'','0')"; + "values(\""+patient.getHospitalId()+"\",\""+patient.getId()+"\",\"07\",\""+chSheng+"\",\""+chShi+"\",\n" + + "\""+chXian+"\",\""+chXiang+"\",\""+patient.getAddressPostRest()+"\",\""+patient.getAddressPostRest()+"\",\"\",\"0\")"; try{ //执行插入个人基本信息表(BASEINFO) @@ -120,4 +136,138 @@ public class CdGwInterface { return null; } + + //第一次产检随访服务 + public BaseObjectResponse saveWOMAN_PREFIRSTVISIT(AntExChuModel antExChuModel){ + BaseObjectResponse brp = new BaseObjectResponse(); + Connection conn = ConnTools.makeGwConnection(); + PreparedStatement ps = null; + ResultSet rs = null; + int result = 0; + + try{ + Patients patients = patientsService.findOnePatientById(antExChuModel.getParentId()); + BaseObjectResponse br = viewFacade.findAntExChu(antExChuModel.getId()); + + if (br.getData() != null && patients != null) { + + if(StringUtils.isNotEmpty(patients.getId()) && StringUtils.isNotEmpty(antExChuModel.getId())){ + + //根据病人ID和初诊ID查询是否有记录,有记录则为更新 + String selSql = "select count(*) from WOMAN_PREFIRSTVISIT where \n" + + "PATIENT_ID=\""+patients.getId()+"\" and PREN_VISIT_FORM_NO=\""+antExChuModel.getId()+"\""; + + ps = conn.prepareStatement(selSql); + rs = ps.executeQuery(); + while(rs.next()){ + result = rs.getInt(1); + } + + if(result > 0){//更新数据 + + String delSql = "delete from WOMAN_PREFIRSTVISIT where \n" + + "PATIENT_ID=\""+patients.getId()+"\" and PREN_VISIT_FORM_NO=\""+antExChuModel.getId()+"\""; + ps = conn.prepareStatement(delSql); + int delCount =ps.executeUpdate(); + if(delCount > 0){ + System.out.print("初诊数据删除成功,请重新插入!"); + } + + } + + //插入数据 + Map map = (Map)br.getData(); + + + + String inSql = "insert into WOMAN_PREFIRSTVISIT(LAST_UPDATE_DTIME,ORG_CODE,PATIENT_ID,PREN_VISIT_FORM_NO,\n" + + "HEALTH_RECORD_NO,NAME,FILL_IN_DATE,GEST_WEEKS,BIRTH_DATE,HUSBAND_NAME,HUSBAND_TEL_NO,HUSBAND_BIRTH_DATE,\n" + + "GRAVIDITY,PARITY,VAGINAL_DELIVERY_TIMES,C_SECT_DELIVERY_TIMES,LAST_MENSES_MARK,MENSES_LAST_DATE,\n" + + "EXPECTED_CHILDBIRTH_DATE,GYN_OP_HISTORY_MARK,GYN_OP_HISTORY,GEST_COMPLICATION,ABORTION_TIMES,\n" + + "STILLBIRTH_NUM,DEAD_FETUS_NUM,NEWBORN_DEATH_NUM,BIRTH_DEFECT_COUNT,HEIGHT,WEIGHT,BMI,SBP,DBP,\n" + + "CHIEF_COMPLAINT,LUNG_ABNORM_MARK,LUNG_ABNORM_DESCR,HEART_ABNORM_MARK,HEART_ABNORM_DESCR,VULVA_ABNORM_MARK,\n" + + "VULVA_ABNORM_DESCR,VAGINA_ABNORM_MARK,VAGINA_ABNORM_DESCR,CERVIX_ABNORM_MARK,CERVIX_ABNORM_DESCR,\n" + + "CORPUSUTERI_ABNORM_MARK,CORPUSUTERI_ABNORM_DESCR,ADNEXA_ABNORM_MARK,ADNEXA_ABNORM_DESCR,HGB,WBC,PLT,\n" + + "PRO_QUAN_TEST_VALUE,PRO_QUAL_RESULT_CODE,GLU_QUAL_RESULT_CODE,GLU_QUAN_TEST_VALUE,KET_QUAL_RESULT_CODE,\n" + + "UOB_TEST_RESULT_CODE,ABO_CODE,RH_CODE,GLU,SGPT,AST,ALB,TBI,DBIL,BUN,SCR,WVD_EXAM_RESULT_CODE,\n" + + "WVD_CLEAN_CODE,HBEAB_TEST_RESULT_CODE,HBEAG_TEST_RESULT_CODE,HBSAB_TEST_RESULT_CODE,HBSAG_TEST_RESULT_CODE,\n" + + "HBCAB_TEST_RESULT_CODE,STS_RESULT_CODE,HIV_ANTI_RESULT_CODE,BSCAN_RESULT_DESCR,PREG_HEALTH_ABNORM_MARK,\n" + + "PREG_HEALTH_ABNORM_DESCR,REFERRAL_MARK,REFERTO_ORG_NAME,REFERTO_DEPT_NAME,REFERRAL_REASON,VISIT_DOCTOR_NAME,\n" + + "THIS_VISIT_DATE,NEXT_VISIT_DATE,NEXT_VISIT_PLACE) " + + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,\n" + + "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + + ps = conn.prepareStatement(inSql); + ps.setDate(1, new Date(antExChuModel.getModified().getTime())); + ps.setString(2, patients.getHospitalId()); + ps.setString(3,patients.getId()); + ps.setString(4,antExChuModel.getId()); + ps.setString(5,null); + ps.setString(6, patients.getUsername()); + ps.setDate(7, new Date(antExChuModel.getCreated().getTime())); + if(map.get("cDueWeek") != null){ + ps.setString(8,map.get("cDueWeek").toString()); + }else{ + ps.setString(8,null); + } + ps.setDate(9,new Date(patients.getBirth().getTime())); + ps.setString(10, patients.getHusbandName()); + ps.setString(11, patients.getHusbandPhone()); + ps.setDate(12, new Date(patients.getHusbandBirth().getTime())); + ps.setInt(13, antExChuModel.getPregnancyTimes()); + ps.setInt(14, antExChuModel.getProdTime()); + ps.setInt(15, antExChuModel.getDelivery()); + ps.setInt(16,antExChuModel.getPlanedProd()); + ps.setString(17, "1"); + ps.setDate(18, new Date(antExChuModel.getLastMenses().getTime())); + ps.setDate(19, new Date(patients.getDueDate().getTime())); + ps.setString(20, "0"); + ps.setString(21, "无"); + ps.setString(22,"无"); + ps.setInt(23, antExChuModel.getAbortion()); + ps.setInt(24,antExChuModel.getStillChan()); + ps.setInt(25,antExChuModel.getStillbirth()); + ps.setInt(26,antExChuModel.getNeoDeath()); + ps.setInt(27,antExChuModel.getBirthDefect()); + ps.setInt(28,Integer.parseInt(antExChuModel.getHeight())); + ps.setInt(29,Integer.parseInt(antExChuModel.getWeight())); + //体质指数(身高除以体重的平方(米的平方)) + //身高米的平方 + Double wh = (double)Integer.parseInt(antExChuModel.getHeight())/100; + Double shen = wh*wh; + Double bmi = Double.parseDouble(antExChuModel.getWeight())/shen; + ps.setDouble(30, bmi); + ps.setNull(31, Types.INTEGER); + ps.setNull(32, Types.INTEGER); + ps.setString(33, null); + ps.setString(34,null); + ps.setString(35,antExChuModel.getLungs()); + ps.setString(36,null); + ps.setString(37,antExChuModel.getHeart()); + ps.setString(38,null); + if(map.get("vulva") != null){ + ps.setString(39,map.get("vulva").toString()); + }else{ + ps.setString(39,null); + } + + + + } + + } + + }catch (Exception e){ + e.printStackTrace(); + }finally { + + } + + return null; + } + + + + + } diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/zcfy/ZcPrenatalService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/zcfy/ZcPrenatalService.java index e53cb5e..3fa2e13 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/zcfy/ZcPrenatalService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/zcfy/ZcPrenatalService.java @@ -92,10 +92,18 @@ public class ZcPrenatalService { if(list != null && list.size()>0){ for(int i=0;i0){ for(int i=0;i