Commit 038e6596e293832a7cecd504e3b0c4853b85571a

Authored by gengxiaokai
1 parent 3cce54a914

诸城初诊,复诊接口

Showing 2 changed files with 186 additions and 20 deletions

platform-operate-api/src/main/java/com/lyms/hospitalapi/Cdfy/CdGwInterface.java View file @ 038e659
... ... @@ -2,20 +2,31 @@
2 2  
3 3 import com.lyms.hospitalapi.pojo.HealthRecord;
4 4 import com.lyms.platform.biz.service.BasicConfigService;
  5 +import com.lyms.platform.biz.service.PatientsService;
5 6 import com.lyms.platform.common.constants.ErrorCodeConstants;
  7 +import com.lyms.platform.common.enums.PermissionTypeEnums;
6 8 import com.lyms.platform.common.result.BaseObjectResponse;
  9 +import com.lyms.platform.common.utils.DateUtil;
7 10 import com.lyms.platform.common.utils.PropertiesUtil;
  11 +import com.lyms.platform.operate.web.facade.ViewFacade;
8 12 import com.lyms.platform.operate.web.utils.CommonsHelper;
  13 +import com.lyms.platform.pojo.AntExChuModel;
9 14 import com.lyms.platform.pojo.Patients;
10 15 import org.apache.commons.dbutils.DbUtils;
11 16 import org.apache.commons.dbutils.QueryRunner;
  17 +import org.apache.commons.lang.StringUtils;
12 18 import org.springframework.beans.factory.annotation.Autowired;
13 19 import org.springframework.stereotype.Service;
14 20  
15 21 import java.sql.Connection;
  22 +import java.sql.Date;
  23 +import java.sql.PreparedStatement;
  24 +import java.sql.Types;
  25 +import java.sql.ResultSet;
  26 +import java.util.Map;
16 27  
17 28 /**
18   - * Created by Administrator on 2018/5/21.
  29 + * Created by Administrator on 2018/6/25.
19 30 * 承德公共卫生系统接口(gxk)
20 31 * 保存个人基本信息,保存地址信息
21 32 */
22 33  
... ... @@ -24,7 +35,12 @@
24 35  
25 36 @Autowired
26 37 private BasicConfigService basicConfigService;
  38 + @Autowired
  39 + private PatientsService patientsService;
  40 + @Autowired
  41 + private ViewFacade viewFacade;
27 42  
  43 + //基本信息以及地址信息
28 44 public BaseObjectResponse saveBaseInfo(Patients patient,String hosipitalId){
29 45  
30 46 //户籍地址
31 47  
32 48  
33 49  
... ... @@ -54,29 +70,29 @@
54 70 "CONTACT_NAME,CONTACT_TEL_NO,NATIONALITY_CODE,ABO_CODE,RH_CODE,\n" +
55 71 "EDUCATION_CODE,OCCUPATION_CODE,MARRIAGE_CODE,DRUG_ALLERGY_MARK,OP_HISTORY_MARK,TRAUMA_HISTORY_MARK,\n" +
56 72 "BLOOD_TRANSF_MARK,GENETIC_DISEASE_HISTORY,OPERATION_HISTORY,Sec_Type_Code,Employer_Tel_No,DELETE_MARK)\n" +
57   - "vakues("+patient.getHospitalId()+","+patient.getId()+","+patient.getVcCardNo()+",'03',"+patient.getUsername()+",\n" +
58   - "'2',"+patient.getBirth()+",'01',"+patient.getCardNo()+","+patient.getPworkUnit()+","+patient.getPhone()+",\n" +
59   - ""+patient.getHusbandName()+","+patient.getHusbandPhone()+","+patient.getPnationId()+",'5','4',\n" +
60   - "'',"+patient.getPprofessionTypeId()+",'20','0','0','0',\n" +
61   - "'9','无','无','01','无','0')";
  73 + "vakues(\""+patient.getHospitalId()+"\",\""+patient.getId()+"\",\""+patient.getVcCardNo()+"\",\"03\",\""+patient.getUsername()+"\",\n" +
  74 + "\"2\",\""+patient.getBirth()+"\",\"01\",\""+patient.getCardNo()+"\",\""+patient.getPworkUnit()+"\",\""+patient.getPhone()+"\",\n" +
  75 + "\""+patient.getHusbandName()+"\",\""+patient.getHusbandPhone()+"\",\""+patient.getPnationId()+"\",\"5\",\"4\",\n" +
  76 + "\"\",\""+patient.getPprofessionTypeId()+"\",\"20\",\"0\",\"0\",\"0\",\n" +
  77 + "\"9\",\"无\",\"无\",\"01\",\"无\",\"0\")";
62 78  
63 79 //地址信息语句,01:户籍地址
64 80 String inAddressSql01 = "insert into baseinfo_address(ORG_CODE,PATIENT_ID,Address_Type_Code,Addr_Province,Addr_City,\n" +
65 81 "Addr_County,Addr_Town,Addr_Village,Addr_House_No,Postal_Code,DELETE_MARK) \n" +
66   - "values("+patient.getHospitalId()+","+patient.getId()+",'01',"+hjSheng+","+hjShi+",\n" +
67   - ""+hjXian+","+hjXiang+","+patient.getAddress()+","+patient.getAddress()+",'','0')";
  82 + "values(\""+patient.getHospitalId()+"\",\""+patient.getId()+"\",\"01\",\""+hjSheng+"\",\""+hjShi+"\",\n" +
  83 + "\""+hjXian+"\",\""+hjXiang+"\",\""+patient.getAddress()+"\",\""+patient.getAddress()+"\",\"\",\"0\")";
68 84  
69 85 //地址信息语句,03:居住地址
70 86 String inAddressSql03 = "insert into baseinfo_address(ORG_CODE,PATIENT_ID,Address_Type_Code,Addr_Province,Addr_City,\n" +
71 87 "Addr_County,Addr_Town,Addr_Village,Addr_House_No,Postal_Code,DELETE_MARK) \n" +
72   - "values("+patient.getHospitalId()+","+patient.getId()+",'03',"+jzSheng+","+jzShi+",\n" +
73   - ""+jzXian+","+jzXiang+","+patient.getAddressRegister()+","+patient.getAddressRegister()+",'','0')";
  88 + "values(\""+patient.getHospitalId()+"\",\""+patient.getId()+"\",\"03\",\""+jzSheng+"\",\""+jzShi+"\",\n" +
  89 + "\""+jzXian+"\",\""+jzXiang+"\",\""+patient.getAddressRegister()+"\",\""+patient.getAddressRegister()+"\",\"\",\"0\")";
74 90  
75 91 //地址信息语句,07:产后居住地
76 92 String inAddressSql07 = "insert into baseinfo_address(ORG_CODE,PATIENT_ID,Address_Type_Code,Addr_Province,Addr_City,\n" +
77 93 "Addr_County,Addr_Town,Addr_Village,Addr_House_No,Postal_Code,DELETE_MARK) \n" +
78   - "values("+patient.getHospitalId()+","+patient.getId()+",'07',"+chSheng+","+chShi+",\n" +
79   - ""+chXian+","+chXiang+","+patient.getAddressPostRest()+","+patient.getAddressPostRest()+",'','0')";
  94 + "values(\""+patient.getHospitalId()+"\",\""+patient.getId()+"\",\"07\",\""+chSheng+"\",\""+chShi+"\",\n" +
  95 + "\""+chXian+"\",\""+chXiang+"\",\""+patient.getAddressPostRest()+"\",\""+patient.getAddressPostRest()+"\",\"\",\"0\")";
80 96  
81 97 try{
82 98 //执行插入个人基本信息表(BASEINFO)
... ... @@ -119,6 +135,140 @@
119 135  
120 136 return null;
121 137 }
  138 +
  139 +
  140 + //第一次产检随访服务
  141 + public BaseObjectResponse saveWOMAN_PREFIRSTVISIT(AntExChuModel antExChuModel){
  142 + BaseObjectResponse brp = new BaseObjectResponse();
  143 + Connection conn = ConnTools.makeGwConnection();
  144 + PreparedStatement ps = null;
  145 + ResultSet rs = null;
  146 + int result = 0;
  147 +
  148 + try{
  149 + Patients patients = patientsService.findOnePatientById(antExChuModel.getParentId());
  150 + BaseObjectResponse br = viewFacade.findAntExChu(antExChuModel.getId());
  151 +
  152 + if (br.getData() != null && patients != null) {
  153 +
  154 + if(StringUtils.isNotEmpty(patients.getId()) && StringUtils.isNotEmpty(antExChuModel.getId())){
  155 +
  156 + //根据病人ID和初诊ID查询是否有记录,有记录则为更新
  157 + String selSql = "select count(*) from WOMAN_PREFIRSTVISIT where \n" +
  158 + "PATIENT_ID=\""+patients.getId()+"\" and PREN_VISIT_FORM_NO=\""+antExChuModel.getId()+"\"";
  159 +
  160 + ps = conn.prepareStatement(selSql);
  161 + rs = ps.executeQuery();
  162 + while(rs.next()){
  163 + result = rs.getInt(1);
  164 + }
  165 +
  166 + if(result > 0){//更新数据
  167 +
  168 + String delSql = "delete from WOMAN_PREFIRSTVISIT where \n" +
  169 + "PATIENT_ID=\""+patients.getId()+"\" and PREN_VISIT_FORM_NO=\""+antExChuModel.getId()+"\"";
  170 + ps = conn.prepareStatement(delSql);
  171 + int delCount =ps.executeUpdate();
  172 + if(delCount > 0){
  173 + System.out.print("初诊数据删除成功,请重新插入!");
  174 + }
  175 +
  176 + }
  177 +
  178 + //插入数据
  179 + Map<String,Object> map = (Map)br.getData();
  180 +
  181 +
  182 +
  183 + String inSql = "insert into WOMAN_PREFIRSTVISIT(LAST_UPDATE_DTIME,ORG_CODE,PATIENT_ID,PREN_VISIT_FORM_NO,\n" +
  184 + "HEALTH_RECORD_NO,NAME,FILL_IN_DATE,GEST_WEEKS,BIRTH_DATE,HUSBAND_NAME,HUSBAND_TEL_NO,HUSBAND_BIRTH_DATE,\n" +
  185 + "GRAVIDITY,PARITY,VAGINAL_DELIVERY_TIMES,C_SECT_DELIVERY_TIMES,LAST_MENSES_MARK,MENSES_LAST_DATE,\n" +
  186 + "EXPECTED_CHILDBIRTH_DATE,GYN_OP_HISTORY_MARK,GYN_OP_HISTORY,GEST_COMPLICATION,ABORTION_TIMES,\n" +
  187 + "STILLBIRTH_NUM,DEAD_FETUS_NUM,NEWBORN_DEATH_NUM,BIRTH_DEFECT_COUNT,HEIGHT,WEIGHT,BMI,SBP,DBP,\n" +
  188 + "CHIEF_COMPLAINT,LUNG_ABNORM_MARK,LUNG_ABNORM_DESCR,HEART_ABNORM_MARK,HEART_ABNORM_DESCR,VULVA_ABNORM_MARK,\n" +
  189 + "VULVA_ABNORM_DESCR,VAGINA_ABNORM_MARK,VAGINA_ABNORM_DESCR,CERVIX_ABNORM_MARK,CERVIX_ABNORM_DESCR,\n" +
  190 + "CORPUSUTERI_ABNORM_MARK,CORPUSUTERI_ABNORM_DESCR,ADNEXA_ABNORM_MARK,ADNEXA_ABNORM_DESCR,HGB,WBC,PLT,\n" +
  191 + "PRO_QUAN_TEST_VALUE,PRO_QUAL_RESULT_CODE,GLU_QUAL_RESULT_CODE,GLU_QUAN_TEST_VALUE,KET_QUAL_RESULT_CODE,\n" +
  192 + "UOB_TEST_RESULT_CODE,ABO_CODE,RH_CODE,GLU,SGPT,AST,ALB,TBI,DBIL,BUN,SCR,WVD_EXAM_RESULT_CODE,\n" +
  193 + "WVD_CLEAN_CODE,HBEAB_TEST_RESULT_CODE,HBEAG_TEST_RESULT_CODE,HBSAB_TEST_RESULT_CODE,HBSAG_TEST_RESULT_CODE,\n" +
  194 + "HBCAB_TEST_RESULT_CODE,STS_RESULT_CODE,HIV_ANTI_RESULT_CODE,BSCAN_RESULT_DESCR,PREG_HEALTH_ABNORM_MARK,\n" +
  195 + "PREG_HEALTH_ABNORM_DESCR,REFERRAL_MARK,REFERTO_ORG_NAME,REFERTO_DEPT_NAME,REFERRAL_REASON,VISIT_DOCTOR_NAME,\n" +
  196 + "THIS_VISIT_DATE,NEXT_VISIT_DATE,NEXT_VISIT_PLACE) " +
  197 + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,\n" +
  198 + "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
  199 +
  200 + ps = conn.prepareStatement(inSql);
  201 + ps.setDate(1, new Date(antExChuModel.getModified().getTime()));
  202 + ps.setString(2, patients.getHospitalId());
  203 + ps.setString(3,patients.getId());
  204 + ps.setString(4,antExChuModel.getId());
  205 + ps.setString(5,null);
  206 + ps.setString(6, patients.getUsername());
  207 + ps.setDate(7, new Date(antExChuModel.getCreated().getTime()));
  208 + if(map.get("cDueWeek") != null){
  209 + ps.setString(8,map.get("cDueWeek").toString());
  210 + }else{
  211 + ps.setString(8,null);
  212 + }
  213 + ps.setDate(9,new Date(patients.getBirth().getTime()));
  214 + ps.setString(10, patients.getHusbandName());
  215 + ps.setString(11, patients.getHusbandPhone());
  216 + ps.setDate(12, new Date(patients.getHusbandBirth().getTime()));
  217 + ps.setInt(13, antExChuModel.getPregnancyTimes());
  218 + ps.setInt(14, antExChuModel.getProdTime());
  219 + ps.setInt(15, antExChuModel.getDelivery());
  220 + ps.setInt(16,antExChuModel.getPlanedProd());
  221 + ps.setString(17, "1");
  222 + ps.setDate(18, new Date(antExChuModel.getLastMenses().getTime()));
  223 + ps.setDate(19, new Date(patients.getDueDate().getTime()));
  224 + ps.setString(20, "0");
  225 + ps.setString(21, "无");
  226 + ps.setString(22,"无");
  227 + ps.setInt(23, antExChuModel.getAbortion());
  228 + ps.setInt(24,antExChuModel.getStillChan());
  229 + ps.setInt(25,antExChuModel.getStillbirth());
  230 + ps.setInt(26,antExChuModel.getNeoDeath());
  231 + ps.setInt(27,antExChuModel.getBirthDefect());
  232 + ps.setInt(28,Integer.parseInt(antExChuModel.getHeight()));
  233 + ps.setInt(29,Integer.parseInt(antExChuModel.getWeight()));
  234 + //体质指数(身高除以体重的平方(米的平方))
  235 + //身高米的平方
  236 + Double wh = (double)Integer.parseInt(antExChuModel.getHeight())/100;
  237 + Double shen = wh*wh;
  238 + Double bmi = Double.parseDouble(antExChuModel.getWeight())/shen;
  239 + ps.setDouble(30, bmi);
  240 + ps.setNull(31, Types.INTEGER);
  241 + ps.setNull(32, Types.INTEGER);
  242 + ps.setString(33, null);
  243 + ps.setString(34,null);
  244 + ps.setString(35,antExChuModel.getLungs());
  245 + ps.setString(36,null);
  246 + ps.setString(37,antExChuModel.getHeart());
  247 + ps.setString(38,null);
  248 + if(map.get("vulva") != null){
  249 + ps.setString(39,map.get("vulva").toString());
  250 + }else{
  251 + ps.setString(39,null);
  252 + }
  253 +
  254 +
  255 +
  256 + }
  257 +
  258 + }
  259 +
  260 + }catch (Exception e){
  261 + e.printStackTrace();
  262 + }finally {
  263 +
  264 + }
  265 +
  266 + return null;
  267 + }
  268 +
  269 +
  270 +
  271 +
122 272  
123 273 }
platform-operate-api/src/main/java/com/lyms/hospitalapi/zcfy/ZcPrenatalService.java View file @ 038e659
... ... @@ -92,10 +92,18 @@
92 92  
93 93 if(list != null && list.size()>0){
94 94 for(int i=0;i<list.size();i++){
95   - fetalPosition = list.get(i).get("fetalPosition").toString();//胎方位
96   - heartRate = list.get(i).get("heartRate").toString();//心率
97   - fetalPresentation = list.get(i).get("fetalPresentation").toString();//胎先露
98   - join1 = list.get(i).get("join").toString();//衔接
  95 + if(list.get(i).get("fetalPosition") != null){
  96 + fetalPosition = list.get(i).get("fetalPosition").toString();//胎方位
  97 + }
  98 + if(list.get(i).get("heartRate") != null){
  99 + heartRate = list.get(i).get("heartRate").toString();//心率
  100 + }
  101 + if(list.get(i).get("fetalPresentation") != null){
  102 + fetalPresentation = list.get(i).get("fetalPresentation").toString();//胎先露
  103 + }
  104 + if(list.get(i).get("join") != null){
  105 + join1 = list.get(i).get("join").toString();//衔接
  106 + }
99 107 String jsons="{\"fetalPosition\":"+fetalPosition+",\"heartRate\":"+heartRate+",\"fetalPresentation\":"+fetalPresentation+",\"join1\":"+join1+"}";
100 108 list2.add(jsons);
101 109 }
... ... @@ -755,10 +763,18 @@
755 763  
756 764 if(list != null && list.size()>0){
757 765 for(int i=0;i<list.size();i++){
758   - fetalPosition = list.get(i).get("fetalPosition").toString();//胎方位
759   - heartRate = list.get(i).get("heartRate").toString();//心率
760   - fetalPresentation = list.get(i).get("fetalPresentation").toString();//胎先露
761   - join1 = list.get(i).get("join").toString();//衔接
  766 + if(list.get(i).get("fetalPosition") != null){
  767 + fetalPosition = list.get(i).get("fetalPosition").toString();//胎方位
  768 + }
  769 + if(list.get(i).get("heartRate") != null){
  770 + heartRate = list.get(i).get("heartRate").toString();//心率
  771 + }
  772 + if(list.get(i).get("fetalPresentation") != null){
  773 + fetalPresentation = list.get(i).get("fetalPresentation").toString();//胎先露
  774 + }
  775 + if(list.get(i).get("join") != null){
  776 + join1 = list.get(i).get("join").toString();//衔接
  777 + }
762 778 String jsons="{\"fetalPosition\":"+fetalPosition+",\"heartRate\":"+heartRate+",\"fetalPresentation\":"+fetalPresentation+",\"join1\":"+join1+"}";
763 779 list2.add(jsons);
764 780 }