diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdTyInterface.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdTyInterface.java index 455bb80..49e8c1c 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdTyInterface.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdTyInterface.java @@ -1,14 +1,26 @@ package com.lyms.hospitalapi.qhdfy; 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.YnEnums; import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.operate.web.utils.ResolveUtils; +import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.AntExChuModel; import com.lyms.platform.pojo.Patients; +import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.sql.*; +import java.util.Map; /** * Created by Administrator on 2018/8/27. @@ -18,6 +30,13 @@ public class QhdTyInterface { @Autowired private BasicConfigService basicConfigService; + @Autowired + private PatientsService patientsService; + @Autowired + private UsersService usersService; + @Autowired + private OrganizationService organizationService; + /** * 基本信息 @@ -30,8 +49,8 @@ public class QhdTyInterface { PreparedStatement ps = null; ResultSet rs = null; int result = 0; - if(patient != null){ try{ + if(patient != null){ String selSql = "select count(*) from PERSONS where PK='"+patient.getId()+"'"; ps = conn.prepareStatement(selSql); rs = ps.executeQuery(); @@ -86,7 +105,8 @@ public class QhdTyInterface { br.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); return br; } - }catch (Exception e){ + } + }catch (Exception e){ e.printStackTrace(); }finally { try{ @@ -103,6 +123,292 @@ public class QhdTyInterface { e.printStackTrace(); } } + return null; + } + + + //初诊 + public BaseObjectResponse saveCHUZHENJIANCHA(AntExChuModel antExChuModel){ + BaseObjectResponse br = new BaseObjectResponse(); + Connection conn = ConnTools.makeQhdTyConnection(); + PreparedStatement ps = null; + ResultSet rs = null; + int result = 0; + try{ + if(antExChuModel != null){ + String selSql = "select count(*) from CHUZHENJIANCHA where ID='"+antExChuModel.getId()+"'"; + ps =conn.prepareStatement(selSql); + rs = ps.executeQuery(); + while(rs.next()){ + result = rs.getInt(1); + } + if(result > 0){ + String delSql = "delete from CHUZHENJIANCHA where ID='"+antExChuModel.getId()+"'"; + ps = conn.prepareStatement(delSql); + int delCount = ps.executeUpdate(); + if(delCount > 0){ + System.out.print("初诊数据删除完毕,请重新插入数据!"); + } + } + + Patients patients = patientsService.findOnePatientById(antExChuModel.getParentId()); + if(patients != null){ + //插入数据 + String inSql = "insert into CHUZHENJIANCHA(ID,DOCID,IDCARD,JCRQ,YZZS,YZTS,MCYJ,YCQ,JWSWU,JWSXZB,JWSSZJB,JWSGZJB,\n" + + "JWSGXY,JWSPX,JWSTNB,JWSQT,JWSQTNR,JZSWU,JZSYCXBS,JZSJSJB,JZSQT,JZSQTNR,GRSWU,GRSXY,GRSHJ,GRSFYYW,GRSJCYDYHWZ,\n" + + "GRSJCFSX,GRSQT,GRSQTNR,YMJZSWU,YMJZSFZYM,YMJZSYGYM,YMJZSMZYM,YMJZSPSFDS,YMJZSQT,YMJZSQTNR,YSFYWU,YSFYYOU,\n" + + "YSFYYQ1GY,YSFYYQ2GY,YSFYYQ3GY,YSFYYZQ1GY,YSFYYZQ2GY,YSFYYZQ3GY,BCRSYCQKWU,BCRSYCQKEX,BCRSYCQKOT,BCRSYCQKTT,\n" + + "BCRSYCQKYH,BCRSYCQKXM,BCRSYCQKFZ,BCRSYCQKYDCX,BCRSYCQKFT,BCRSYCQKGNYST,BCRSYCQKQT,BCRSYCQKQTNR,YWGMS,\n" + + "YWGMSBZ,FKSSS,YUNCI,CHANCI,YDFM,PGCCS,LIUCHAN,SITAI,SICHAN,XSESW,CSQX,SHENGAO,TIZHONG,BMI,XUEYADY,XUEYAGY,\n" + + "TZXZYCQK,TZFBYCQK,FKJCWYYCQK,FKJCYDYCQK,FKJCGJYCQK,FKJCZGYCQK,FKJCFJ,GDGD,FW,TAIXINLV,TAIFANGWEI,TAIXIANLU,\n" + + "XHDBZ,BXBJSZ,XXBJSZ,NDB,NT,NTT,NQX,NCGQT,XXABO,XXRH,XUETANG,BCHAO,XQGBZAM,XQGCZAM,BDB,ZDHS,JHDHS,YGBMKY,\n" + + "YGBMKT,YGEKY,YGEKT,YGHXKT,XQJG,XNSD,MDXQXSY,HIVKTJC,YDFMWWJYC,YDFMWDC,YDFMWJSJMJ,YDFMWQT,YDFMWQTNR,YDQJD,\n" + + "GWPF,GWYS,ZTPG,BJZDWU,JKZDGRWS,JKZDXL,JKZDYY,JKZDBLYX,JKZDXCGZ,JKZDQT,JKZDQTNR,ZHENDUAN,CHULIYIJIAN,ZZYUANYIN,\n" + + "ZZJGJKS,YSQM,YYJCRQ,JCJGMC) " + + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,\n" + + "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,\n" + + "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + String cDueWeek = ResolveUtils.getPregnancyWeek(patients.getLastMenses(), antExChuModel.getCheckTime()); + int week = Integer.parseInt(cDueWeek.substring(1, cDueWeek.indexOf("周"))); + int day = Integer.parseInt(cDueWeek.substring(cDueWeek.indexOf("+")+1, cDueWeek.indexOf("天"))); + ps.setString(1,antExChuModel.getId()); + ps.setString(2,patients.getId()); + ps.setString(3, patients.getCardNo()); + ps.setDate(4, new Date(antExChuModel.getCheckTime().getTime())); + ps.setInt(5, week); + ps.setInt(6, day); + ps.setDate(7, new Date(patients.getLastMenses().getTime())); + ps.setDate(8, new Date(patients.getDueDate().getTime())); + ps.setString(9, null); + ps.setString(10, null); + ps.setString(11, null); + ps.setString(12, null); + ps.setString(13, null); + ps.setString(14, null); + ps.setString(15, null); + ps.setString(16, null); + ps.setString(17, null); + ps.setString(18, null); + ps.setString(19, null); + ps.setString(20, null); + ps.setString(21, null); + ps.setString(22, null); + ps.setString(23, null); + ps.setString(24, null); + ps.setString(25, null); + ps.setString(26, null); + ps.setString(27, null); + ps.setString(28, null); + ps.setString(29, null); + ps.setString(30, null); + ps.setString(31, null); + ps.setString(32, null); + ps.setString(33, null); + ps.setString(34, null); + ps.setString(35, null); + ps.setString(36, null); + ps.setString(37, null); + ps.setString(38, null); + ps.setString(39, null); + ps.setString(40, null); + ps.setString(41, null); + ps.setString(42, null); + ps.setString(43, null); + ps.setString(44, null); + ps.setString(45, null); + ps.setString(46, null); + ps.setString(47, null); + ps.setString(48, null); + ps.setString(49, null); + ps.setString(50, null); + ps.setString(51, null); + ps.setString(52, null); + ps.setString(53, null); + ps.setString(54, null); + ps.setString(55, null); + ps.setString(56, null); + ps.setString(57, null); + ps.setString(58, null); + ps.setString(59, null); + ps.setString(60,null); + if(antExChuModel.getPregnancyTimes() != null){ + ps.setString(61,String.valueOf(antExChuModel.getPregnancyTimes())); + }else{ + ps.setString(61,null); + } + if(antExChuModel.getProdTime() != null){ + ps.setString(62,String.valueOf(antExChuModel.getProdTime())); + }else{ + ps.setString(62,null); + } + if(antExChuModel.getDelivery() != null){ + ps.setString(63,String.valueOf(antExChuModel.getDelivery())); + }else{ + ps.setString(63,null); + } + if(antExChuModel.getPlanedProd() != null){ + ps.setString(64,String.valueOf(antExChuModel.getPlanedProd())); + }else{ + ps.setString(64,null); + } + if(antExChuModel.getAbortion() != null){ + ps.setString(65,String.valueOf(antExChuModel.getAbortion())); + }else{ + ps.setString(65,null); + } + if(antExChuModel.getStillbirth() != null){ + ps.setString(66,String.valueOf(antExChuModel.getStillbirth())); + }else{ + ps.setString(66,null); + } + if(antExChuModel.getStillChan() != null){ + ps.setString(67,String.valueOf(antExChuModel.getStillChan())); + }else{ + ps.setString(67,null); + } + if(antExChuModel.getNeoDeath() != null){ + ps.setString(68,String.valueOf(antExChuModel.getNeoDeath())); + }else{ + ps.setString(68,null); + } + if(antExChuModel.getBirthDefect() != null){ + ps.setString(69,String.valueOf(antExChuModel.getBirthDefect())); + }else{ + ps.setString(69,null); + } + if(antExChuModel.getHeight() != null){ + ps.setString(70,String.valueOf(antExChuModel.getHeight())); + }else{ + ps.setString(70,null); + } + if(antExChuModel.getWeight() != null){ + ps.setString(71,String.valueOf(antExChuModel.getWeight())); + }else{ + ps.setString(71,null); + } + if(antExChuModel.getHeight() != null && antExChuModel.getWeight() != null){ + Double wh = Double.parseDouble(antExChuModel.getHeight()) / 100; + Double shen = wh * wh; + Double bmi = Double.parseDouble(antExChuModel.getWeight()) / shen; + ps.setString(72,String.valueOf(bmi)); + }else{ + ps.setString(72,null); + } + String ssy = null; + String szy = null; + if(antExChuModel.getBp() != null){ + Map chBpMap = JsonUtil.getMap(antExChuModel.getBp()); + if (MapUtils.isNotEmpty(chBpMap)) { + ssy = chBpMap.get("ssy"); + szy = chBpMap.get("szy"); + } + ps.setString(73,ssy); + ps.setString(74,szy); + }else{ + ps.setString(73,ssy); + ps.setString(74,szy); + } + ps.setString(75,antExChuModel.getHeart()); + ps.setString(76,antExChuModel.getLungs()); + ps.setString(77,antExChuModel.getVulva()); + ps.setString(78,antExChuModel.getVagina()); + ps.setString(79,antExChuModel.getCervical()); + ps.setString(80,antExChuModel.getUterus()); + ps.setString(81,antExChuModel.getFujian()); + ps.setString(82,antExChuModel.getGonggao()); + ps.setString(83,antExChuModel.getFuwei()); + ps.setString(84,null); + ps.setString(85,null); + ps.setString(86,null); + ps.setString(87,antExChuModel.getXhdb()); + ps.setString(88,antExChuModel.getBxbjs()); + ps.setString(89,antExChuModel.getPlatelet()); + ps.setString(90,antExChuModel.getNdb()); + ps.setString(91,antExChuModel.getNt()); + ps.setString(92,antExChuModel.getUrineKetone()); + ps.setString(93,antExChuModel.getBld()); + ps.setString(94,antExChuModel.getNcgOther()); + ps.setString(95,antExChuModel.getAbo()); + ps.setString(96,antExChuModel.getRh()); + ps.setString(97,antExChuModel.getBloodSugar()); + ps.setString(98,antExChuModel.getbChao()); + ps.setString(99,antExChuModel.getXqgbzam()); + ps.setString(100,antExChuModel.getXqgczam()); + ps.setString(101,antExChuModel.getAlbumin()); + ps.setString(102,antExChuModel.getTotalBilirubin()); + ps.setString(103,antExChuModel.getJhBilirubin()); + ps.setString(104,antExChuModel.getYgbmky()); + ps.setString(105,antExChuModel.getYgbmkt()); + ps.setString(106,antExChuModel.getYgeky()); + ps.setString(107,antExChuModel.getYgekt()); + ps.setString(108,antExChuModel.getYghxkt()); + ps.setString(109,antExChuModel.getXqjq()); + ps.setString(110,antExChuModel.getXnsd()); + ps.setString(111,antExChuModel.getSyjg()); + ps.setString(112,antExChuModel.getHivkt()); + String ydfmw = ""; + String ydqjd = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(antExChuModel.getYdfmw())) + + { + Map ydfmwMap = JsonUtil.str2Obj(antExChuModel.getYdfmw(), Map.class); + ydfmw = ResolveUtils.replaceYDFMW(ydfmwMap, 1); + ydqjd = ResolveUtils.replaceYDFMW(ydfmwMap, 2); + } + + ps.setString(113,null); + ps.setString(114,null); + ps.setString(115,null); + ps.setString(116,null); + ps.setString(117,null); + ps.setString(118,ydqjd); + ps.setNull(119, Types.INTEGER); + ps.setString(120, null); + ps.setString(121, null); + ps.setString(122, null); + ps.setString(123, null); + ps.setString(124, null); + ps.setString(125, null); + ps.setString(126, null); + ps.setString(127, null); + ps.setString(128, null); + ps.setString(129, null); + ps.setString(130,antExChuModel.getDiagnosis()); + ps.setString(131,antExChuModel.getTreatOpinion()); + ps.setString(132,null); + ps.setString(133,null); + String checkDoctor = ""; + + if (org.apache.commons.lang.StringUtils.isNotEmpty(antExChuModel.getProdDoctor())) { + Users users = usersService.getUsers(Integer.parseInt(antExChuModel.getProdDoctor())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + checkDoctor = users.getName(); + } + } + ps.setString(134, checkDoctor); + if(antExChuModel.getNextCheckTime() != null){ + ps.setDate(135,new Date(antExChuModel.getNextCheckTime().getTime())); + }else{ + ps.setNull(135,Types.DATE); + } + String hospital = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(patients.getHospitalId())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(patients.getHospitalId())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + hospital = organization.getName(); + } + } + ps.setString(136, hospital); + int inCount = ps.executeUpdate(); + if(inCount > 0){ + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return br; + } + } + } + }catch (Exception e){ + e.printStackTrace(); } @@ -111,5 +417,4 @@ public class QhdTyInterface { - }