From 9f0093b8e58fb0db63465e3aaadf37db6135d990 Mon Sep 17 00:00:00 2001 From: "[wangbo]" Date: Wed, 7 Aug 2019 17:22:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E6=A3=80=E9=A1=B5=E9=9D=A2=E8=AF=8A?= =?UTF-8?q?=E6=96=AD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/BasicConfigServiceTest.java | 55 ++++++++++++- .../platform/common/utils/ChinesePinYinUtil.java | 90 ++++++++++++++++++++++ .../java/com/lyms/platform/pojo/AntExChuModel.java | 21 +++++ .../platform/pojo/AntenatalExaminationModel.java | 25 ++++++ .../com/lyms/platform/pojo/DiagnosisTestModel.java | 89 +++++++++++++++++++++ .../controller/AntenatalExaminationController.java | 9 +++ .../web/controller/BabyBuildController.java | 2 - .../operate/web/facade/AntExRecordFacade.java | 45 +++++++++++ .../operate/web/facade/TrackDownFacade.java | 6 +- .../platform/operate/web/facade/ViewFacade.java | 32 ++++++++ .../operate/web/request/AntExAddRequest.java | 29 +++++++ .../operate/web/request/AntExcAddRequest.java | 33 ++++++++ 12 files changed, 428 insertions(+), 8 deletions(-) create mode 100644 platform-common/src/main/java/com/lyms/platform/common/utils/ChinesePinYinUtil.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/DiagnosisTestModel.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index 1248124..3fcc36c 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -5407,6 +5407,52 @@ public class BasicConfigServiceTest { } } + + /** + * 诊断因素 + */ + /*public static void zdyinshu(String fileName) { + ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); + MongoTemplate mongoTemplate + = (MongoTemplate) applicationContext.getBean("mongoTemplate"); + mongoTemplate.getDb().authenticate("platform", "platform123".toCharArray()); + File file = new File(fileName); + Workbook wb = null; + try { + wb = Workbook.getWorkbook(file); + + Sheet s = wb.getSheet(0); + System.out.println(s.getName() + " : "); + int rows = s.getRows(); + if (rows > 0) { + //遍历每行 + for (int i = 1; i < rows; i++) { + System.out.println("rows=" + i); + DiagnosisTestModel weightConfigModel = new DiagnosisTestModel(); + + Cell[] cells = s.getRow(i); + if (cells.length > 0) { + for (int j = 0; j < cells.length; j++) { + String str = cells[j].getContents().trim(); + switch (j) { + case 0: + weightConfigModel.setCoed(str); + continue; + case 1: + weightConfigModel.setName(str); + continue; + } + } + } + mongoTemplate.save(weightConfigModel); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + }*/ + + public static void main(String[] args) { //weightWeek("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); // weightMange("F:\\体重与营养管理\\体重与营养管理第三版(北方)改标红“、冰淇淋”-晓萌.xls"); @@ -5427,11 +5473,11 @@ public class BasicConfigServiceTest { //saveCdgwOrg("F:\\承德工位\\qhdorg.xls"); //babyReport("G:\\儿童膳食报告.xls"); // saveQhdbabyDiaginose("F:\\承德工位\\秦皇岛儿童诊断 - 副本.xls"); - saveQhdWeight("F:\\秦皇岛标准报告(1).xls"); - - dietaryIntake("F:\\膳食摄入量推荐.xls"); + //saveQhdWeight("F:\\秦皇岛标准报告(1).xls"); + //dietaryIntake("F:\\膳食摄入量推荐.xls"); + //zdyinshu("F:\\诊断因素.xls"); //saveQhdbabyDiaginose("F:\\承德工位\\秦皇岛儿童诊断 - 副本.xls"); @@ -5443,6 +5489,9 @@ public class BasicConfigServiceTest { // saveQhdWeight("F:\\text.xls"); // baby35Report("C:\\Users\\Administrator\\Desktop\\doc\\秦皇岛3-5月龄膳食报告\\3-5月龄儿童膳食报告内容.xls"); // baby35Report("C:\\Users\\Administrator\\Desktop\\doc\\秦皇岛3-5月龄膳食报告\\3-5月龄儿童膳食报告内容.xls"); + + } + } diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/ChinesePinYinUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/ChinesePinYinUtil.java new file mode 100644 index 0000000..4249050 --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/ChinesePinYinUtil.java @@ -0,0 +1,90 @@ +package com.lyms.platform.common.utils; + +import net.sourceforge.pinyin4j.PinyinHelper; +import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; +import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; +import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; +import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; +import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; + +/** + * @author zk + * @Description: 中文拼音工具类 + * @date 2018-05-21 14:52 + */ +public class ChinesePinYinUtil { + /** + * 得到 汉字的全拼 + * + * @param src 中文字符串 + * @return + */ + public static String getPingYin(String src) { + HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); + format.setCaseType(HanyuPinyinCaseType.LOWERCASE); + format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); + format.setVCharType(HanyuPinyinVCharType.WITH_V); + StringBuilder sb = new StringBuilder(); + char[] srcArray = src.toCharArray(); + try { + for (int i = 0; i < srcArray.length; i++) { + // 判断是否为汉字字符 + if (java.lang.Character.toString(srcArray[i]).matches("[\\u4E00-\\u9FA5]+")) { + String[] targetArray = PinyinHelper.toHanyuPinyinStringArray(srcArray[i], format); + sb.append(targetArray[0]); + } else { + sb.append(java.lang.Character.toString(srcArray[i])); + } + } + return sb.toString(); + } catch (BadHanyuPinyinOutputFormatCombination e1) { + e1.printStackTrace(); + } + return sb.toString(); + } + + /** + * 得到中文首字母,例如"专科"得到zk返回 + * + * @param str 中文字符串 + * @return + */ + public static String getPinYinHeadChar(String str) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < str.length(); i++) { + char word = str.charAt(i); + String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); + if (pinyinArray != null) { + sb.append(pinyinArray[0].charAt(0)); + } else { + sb.append(word); + } + } + return sb.toString().toUpperCase(); + } + + /** + * 将字符串转移为ASCII码 + * + * @param cnStr 中文字符串 + * @return + */ + public static String getCnASCII(String cnStr) { + StringBuilder sb = new StringBuilder(); + byte[] bGBK = cnStr.getBytes(); + for (int i = 0; i < bGBK.length; i++) { + sb.append(Integer.toHexString(bGBK[i] & 0xff)); + } + return sb.toString(); + } + + + public static void main(String[] args) { + String cnStr = "孕次1次孕周7周"; + System.out.println(getPingYin(cnStr)); + System.out.println(getPinYinHeadChar(cnStr)); + System.out.println(getCnASCII("专科")); + } + + +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java index 563d912..88bdc59 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java @@ -381,6 +381,11 @@ public class AntExChuModel extends BaseModel { private String configItemId; + private String secondaryDiagnosisId; + + private String secondaryDiagnosis; + + //甲状腺功能 添加 private String fTthree; @@ -439,6 +444,22 @@ public class AntExChuModel extends BaseModel { */ private String ndbSelectOtherVal; + public String getSecondaryDiagnosisId() { + return secondaryDiagnosisId; + } + + public void setSecondaryDiagnosisId(String secondaryDiagnosisId) { + this.secondaryDiagnosisId = secondaryDiagnosisId; + } + + public String getSecondaryDiagnosis() { + return secondaryDiagnosis; + } + + public void setSecondaryDiagnosis(String secondaryDiagnosis) { + this.secondaryDiagnosis = secondaryDiagnosis; + } + public String getFuweiSelect() { return fuweiSelect; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java index 45a52ff..17ece73 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java @@ -123,6 +123,13 @@ public class AntenatalExaminationModel extends BaseModel { private String highriskDesc; //诊断 private String diagnosis; + + //次要诊断 + private String secondaryDiagnosisId; + + //次要诊断手入 + private String secondaryDiagnosis; + //分类 private String type; private String typeYc; @@ -334,10 +341,28 @@ public class AntenatalExaminationModel extends BaseModel { */ private String ndbSelectOtherVal; + + public String getSecondaryDiagnosisId() { + return secondaryDiagnosisId; + } + + public void setSecondaryDiagnosisId(String secondaryDiagnosisId) { + this.secondaryDiagnosisId = secondaryDiagnosisId; + } + + public String getSecondaryDiagnosis() { + return secondaryDiagnosis; + } + + public void setSecondaryDiagnosis(String secondaryDiagnosis) { + this.secondaryDiagnosis = secondaryDiagnosis; + } + public String getFuweiSelect() { return fuweiSelect; } + public void setFuweiSelect(String fuweiSelect) { this.fuweiSelect = fuweiSelect; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/DiagnosisTestModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/DiagnosisTestModel.java new file mode 100644 index 0000000..8a40f76 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/DiagnosisTestModel.java @@ -0,0 +1,89 @@ +package com.lyms.platform.pojo; + + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +@Document(collection = "lyms_diagnosis_text") +public class DiagnosisTestModel extends BaseModel { + + private String parentId; + + private String coed; + + private String name; + + private Integer enable; + + private String describe; + + private String color; + + private String type; + + private Integer yn; + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getCoed() { + return coed; + } + + public void setCoed(String coed) { + this.coed = coed; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getEnable() { + return enable; + } + + public void setEnable(Integer enable) { + this.enable = enable; + } + + public String getDescribe() { + return describe; + } + + public void setDescribe(String describe) { + this.describe = describe; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java index 823fb96..dbc49ca 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java @@ -461,4 +461,13 @@ public class AntenatalExaminationController extends BaseController { return antExRecordFacade.querOne(loginState.getId(), pid); } + /*** + * 临时添加 + * */ + /* @RequestMapping(value = "/zd", method = RequestMethod.GET) + @ResponseBody + public List zd() { + return antExRecordFacade.zd(); + }*/ + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java index 526b4be..6d82369 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java @@ -695,6 +695,4 @@ public class BabyBuildController extends BaseController { doc.save(response.getOutputStream(), SaveFormat.PDF); } } - - } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index 691d8e8..cc4e889 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -23,6 +23,7 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import jdk.nashorn.internal.ir.LiteralNode; +import net.sourceforge.pinyin4j.PinyinHelper; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -1011,5 +1012,49 @@ public class AntExRecordFacade { } } + /** + * 临时 + */ + /* public List zd() { + List list = new ArrayList<>(); + List list1 = mongoTemplate.findAll(DiagnosisTestModel.class); + for (DiagnosisTestModel testModel : list1) { + if (StringUtils.isNotEmpty(testModel.getName())) { + BasicConfig basicConfig = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is("5768e5cf0cf2eaac7ba44a18").and("describe").is(testModel.getCoed()).and("name").is(testModel.getName())), BasicConfig.class); + if (basicConfig == null) { + BasicConfig diagnosisTest = new BasicConfig(); + diagnosisTest.setParentId("5768e5cf0cf2eaac7ba44a18"); + diagnosisTest.setCode(this.getPinYinHeadChar(testModel.getName())); + diagnosisTest.setName(testModel.getName()); + diagnosisTest.setEnable(1); + diagnosisTest.setDescribe(testModel.getCoed()); + diagnosisTest.setColor(testModel.getName()); + diagnosisTest.setYn(YnEnums.YES.getId()); + diagnosisTest.setType(77);//防止错误可以修好 + mongoTemplate.insert(diagnosisTest); + + list.add(testModel.getCoed()); + } + + } + } + return list; + }*/ + + + public static String getPinYinHeadChar(String str) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < str.length(); i++) { + char word = str.charAt(i); + String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); + if (pinyinArray != null) { + sb.append(pinyinArray[0].charAt(0)); + } else { + sb.append(word); + } + } + return sb.toString().toUpperCase(); + } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java index 60929bf..23860c3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java @@ -320,8 +320,6 @@ public class TrackDownFacade { isPatient = true; } - - if (downQueryRequest.getStartDueDate() != null) {//预产期开始日期 patientsQuery.setDueDateStart(downQueryRequest.getStartDueDate()); isPatient = true; @@ -402,6 +400,9 @@ public class TrackDownFacade { } if (downQueryRequest.getLevel() != null) {//高危等级 patientsQuery.setrLevel(downQueryRequest.getLevel()); + //只查孕妇 + patientsQuery.setType(1); + patientsQuery.setLastMensesStart(DateUtil.getMonth(10));//只查询当前时间十个月前的数据 考虑性能问题 isPatient = true; } if (downQueryRequest.getRiskFactorId() != null) {//高危因素 @@ -1117,5 +1118,4 @@ public class TrackDownFacade { } - } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index fb66475..5e51736 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -1392,6 +1392,10 @@ public class ViewFacade { map.put("birthDefectTodo", data.getBirthDefectTodo()); map.put("diagnosisOther", data.getDiagnosisOther()); + //次要诊断手入 + map.put("secondaryDiagnosis", data.getSecondaryDiagnosis()); + + map.put("username", patients.getUsername()); map.put("birth", DateUtil.getyyyy_MM_dd(patients.getBirth())); map.put("age", UnitUtils.unitSplice(DateUtil.getAge(patients.getBirth()), UnitConstants.SUI)); @@ -2024,6 +2028,34 @@ public class ViewFacade { } } map.put("diagnosis", diagnosis); + + + + + + /* 次要诊断次要 */ + String secondaryDiagnosisId = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(data.getSecondaryDiagnosisId())) { + List temp = JsonUtil.toList(data.getSecondaryDiagnosisId(), String.class); + if (CollectionUtils.isNotEmpty(temp)) { + + StringBuilder sb = new StringBuilder(); + + for (String sId : temp) { + sb.append(FunvCommonUtil.getBaseicConfigByid(sId, basicConfigService)).append(","); + } + if (sb.toString().endsWith(",")) { + secondaryDiagnosisId = sb.substring(0, sb.length() - 1); + } else { + secondaryDiagnosisId = sb.toString(); + } + } + } + map.put("secondaryDiagnosisId", secondaryDiagnosisId); + + + + map.put("treatOpinion", data.getTreatOpinion()); map.put("dirOpinion", data.getDirOpinion()); map.put("quicken", QuickenEnums.getName(data.getQuicken())); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExAddRequest.java index 55d250f..24c9b11 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExAddRequest.java @@ -110,6 +110,13 @@ public class AntExAddRequest implements IBasicRequestConvert secondaryDiagnosisId; + + //次要诊断手入 + private String secondaryDiagnosis; + //分类 private String type; //异常 @@ -321,6 +328,23 @@ public class AntExAddRequest implements IBasicRequestConvert getSecondaryDiagnosisId() { + return secondaryDiagnosisId; + } + + public void setSecondaryDiagnosisId(List secondaryDiagnosisId) { + this.secondaryDiagnosisId = secondaryDiagnosisId; + } + + public String getSecondaryDiagnosis() { + return secondaryDiagnosis; + } + + public void setSecondaryDiagnosis(String secondaryDiagnosis) { + this.secondaryDiagnosis = secondaryDiagnosis; + } + public Integer getScreeningState() { return screeningState; } @@ -1093,6 +1117,11 @@ public class AntExAddRequest implements IBasicRequestConvert { private String resultSupple; // 诊断 private List diagnosis; + + //次要诊断 + private List secondaryDiagnosisId; + //处理意见 private String treatOpinion; //指导意见 @@ -431,6 +435,23 @@ public class AntExcAddRequest implements IBasicRequestConvert { */ private Integer screeningState; + + public List getSecondaryDiagnosisId() { + return secondaryDiagnosisId; + } + + public void setSecondaryDiagnosisId(List secondaryDiagnosisId) { + this.secondaryDiagnosisId = secondaryDiagnosisId; + } + + public String getSecondaryDiagnosis() { + return secondaryDiagnosis; + } + + public void setSecondaryDiagnosis(String secondaryDiagnosis) { + this.secondaryDiagnosis = secondaryDiagnosis; + } + public Integer getScreeningState() { return screeningState; } @@ -1043,6 +1064,10 @@ public class AntExcAddRequest implements IBasicRequestConvert { * 其他的诊断意见 */ private String diagnosisOther; + //次要整段手入内容 + private String secondaryDiagnosis; + + //新生儿死亡备注 private String neoDeathTodo; //出生缺陷儿备注 @@ -1945,6 +1970,14 @@ public class AntExcAddRequest implements IBasicRequestConvert { @Override public AntExChuModel convertToDataModel() { AntExChuModel antExChuModel = new AntExChuModel(); + //次要诊断 + if (null != secondaryDiagnosisId) { + antExChuModel.setSecondaryDiagnosisId(JsonUtil.array2JsonString(secondaryDiagnosisId)); + } + + + antExChuModel.setSecondaryDiagnosis(secondaryDiagnosis); + antExChuModel.setSendMsg(isSendMsg); antExChuModel.setScreenResult(screenResult); antExChuModel.setResultSupple(resultSupple); -- 1.8.3.1