Commit 6f0341c8858fbaad231910174854f1b92bab5843

Authored by shiyang
1 parent 9326104802

卫生信息数据共享与交换规范-产前诊断信息按文档修正-国籍未完成

Showing 5 changed files with 319 additions and 58 deletions

platform-common/src/main/java/com/lyms/platform/common/enums/PcerteTypeIdEnums.java View file @ 6f0341c
  1 +package com.lyms.platform.common.enums;
  2 +
  3 +import com.lyms.platform.common.utils.StringUtils;
  4 +
  5 +/**
  6 + * 卫生信息数据-附件2
  7 + * 民族STD_PERSON_ID_TYPE
  8 + */
  9 +public enum PcerteTypeIdEnums {
  10 + Nation01("01", "身份证/居民身份证"),
  11 + Nation02("02", "居民户口簿"),
  12 + Nation03("03", "护照"),
  13 + Nation04("04", "军官证"),
  14 + Nation05("05", "驾驶证"),
  15 + Nation06("06", "港澳居民来往内地通行证"),
  16 + Nation07("07", "台湾居民来往内地通行证"),
  17 + Nation08("99", "其他法定有效证件");
  18 +
  19 +
  20 + PcerteTypeIdEnums(String id, String name) {
  21 + this.id = id;
  22 + this.name = name;
  23 + }
  24 +
  25 +
  26 + public static String getName(String id) {
  27 + if(StringUtils.isEmpty(id)) return "身份证";
  28 + PcerteTypeIdEnums[] values = PcerteTypeIdEnums.values();
  29 + for (PcerteTypeIdEnums value : values) {
  30 + if (value.getId().equals(id)) {
  31 + return value.getName();
  32 + }
  33 + }
  34 + return "身份证";
  35 + }
  36 + public static String getId(String name) {
  37 + if(StringUtils.isEmpty(name)) return "01";//(传空的话默认01)
  38 + PcerteTypeIdEnums[] values = PcerteTypeIdEnums.values();
  39 + for (PcerteTypeIdEnums value : values) {
  40 + if (value.getName().contains(name)) {
  41 + return value.getId();
  42 + }
  43 + }
  44 + return "01";
  45 + }
  46 + private String id;
  47 + private String name;
  48 +
  49 + public String getId() {
  50 + return id;
  51 + }
  52 +
  53 + public void setId(String id) {
  54 + this.id = id;
  55 + }
  56 +
  57 + public String getName() {
  58 + return name;
  59 + }
  60 +
  61 + public void setName(String name) {
  62 + this.name = name;
  63 + }
  64 +
  65 +}
platform-common/src/main/java/com/lyms/platform/common/enums/PcountryEnums.java View file @ 6f0341c
  1 +package com.lyms.platform.common.enums;
  2 +
  3 +import com.lyms.platform.common.utils.StringUtils;
  4 +
  5 +/**
  6 + * 卫生信息数据-附件2
  7 + * 国籍STD_COUNTRY
  8 + */
  9 +public enum PcountryEnums {
  10 + Career1("156", "中国"),
  11 + Career2("004", "阿富汗");
  12 +
  13 + PcountryEnums(String id, String name) {
  14 + this.id = id;
  15 + this.name = name;
  16 + }
  17 +
  18 +
  19 + public static String getName(String id) {
  20 + if(StringUtils.isEmpty(id)) return "中国";
  21 + PcountryEnums[] values = PcountryEnums.values();
  22 + for (PcountryEnums value : values) {
  23 + if (value.getId().equals(id)) {
  24 + return value.getName();
  25 + }
  26 + }
  27 + return "中国";
  28 + }
  29 + public static String getId(String name) {
  30 + if(StringUtils.isEmpty(name)) return "156";
  31 + PcountryEnums[] values = PcountryEnums.values();
  32 + for (PcountryEnums value : values) {
  33 + if (value.getName().contains(name)) {
  34 + return value.getId();
  35 + }
  36 + }
  37 + return "156";//没有匹配到,默认中国
  38 + }
  39 + private String id;
  40 + private String name;
  41 +
  42 + public String getId() {
  43 + return id;
  44 + }
  45 +
  46 + public void setId(String id) {
  47 + this.id = id;
  48 + }
  49 +
  50 + public String getName() {
  51 + return name;
  52 + }
  53 +
  54 + public void setName(String name) {
  55 + this.name = name;
  56 + }
  57 +
  58 +}
platform-common/src/main/java/com/lyms/platform/common/enums/PprofessionTypeEnums.java View file @ 6f0341c
  1 +package com.lyms.platform.common.enums;
  2 +
  3 +import com.lyms.platform.common.utils.StringUtils;
  4 +
  5 +/**
  6 + * 卫生信息数据-附件2
  7 + * 职业类别STD_OCCUPATION
  8 + */
  9 +public enum PprofessionTypeEnums {
  10 + Career1("0", "国家机关人员"),
  11 + Career2("0-3", "党群组织负责人"),
  12 + Career3("0-4", "事业单位负责人"),
  13 + Career4("1-9", "医生"),
  14 + Career5("2-4", "教师"),
  15 + Career6("1-98", "护士"),
  16 + Career7("3-1", "办公文员"),
  17 + Career8("4-9", "商业、服务业人员"),
  18 + Career9("5-9", "农、林、牧、渔、水利业生产人员"),
  19 + Career10("9-9", "司机"),
  20 + Career11("X", "军人"),
  21 + Career12("2-31", "法官"),
  22 + Career13("2-33", "律师"),
  23 + Career14("2-32", "检察官"),
  24 + Career15("3-21", "警察"),
  25 + Career16("2-2", "金融从业人员"),
  26 + Career17("0-41", "校长"),
  27 + Career18("1-9", "卫生单位负责人"),
  28 + Career19("0-5", "企业经理"),
  29 + Career20("4", "经济业务人员"),
  30 + Career21("2-6", "运动员"),
  31 + Career22("1-1", "科学研究人员"),
  32 + Career23("1-5", "工程技术人员"),
  33 + Career24("2-5", "设计师"),
  34 + Career25("1-41", "航天员"),
  35 + Career26("Y", "其他"),
  36 + Career27("2-4", "教师/公务员/职员"),
  37 + Career28("5-9", "农民"),
  38 + Career29("8-8", "工人"),
  39 + Career30("4-9", "服务业"),
  40 + Career31("4-9", "经商"),
  41 + Career32("Y", "家务");
  42 +
  43 + PprofessionTypeEnums(String id, String name) {
  44 + this.id = id;
  45 + this.name = name;
  46 + }
  47 +
  48 +
  49 + public static String getName(String id) {
  50 + if(StringUtils.isEmpty(id)) return "不便分类的其他从业人员";
  51 + PprofessionTypeEnums[] values = PprofessionTypeEnums.values();
  52 + for (PprofessionTypeEnums value : values) {
  53 + if (value.getId().equals(id)) {
  54 + return value.getName();
  55 + }
  56 + }
  57 + return "不便分类的其他从业人员";
  58 + }
  59 + public static String getId(String name) {
  60 + if(StringUtils.isEmpty(name)) return "Y";
  61 + PprofessionTypeEnums[] values = PprofessionTypeEnums.values();
  62 + for (PprofessionTypeEnums value : values) {
  63 + if (value.getName().contains(name)) {
  64 + return value.getId();
  65 + }
  66 + }
  67 + return "Y";//没有匹配到,不便分类的其他从业人员
  68 + }
  69 + private String id;
  70 + private String name;
  71 +
  72 + public String getId() {
  73 + return id;
  74 + }
  75 +
  76 + public void setId(String id) {
  77 + this.id = id;
  78 + }
  79 +
  80 + public String getName() {
  81 + return name;
  82 + }
  83 +
  84 + public void setName(String name) {
  85 + this.name = name;
  86 + }
  87 +
  88 +}
platform-operate-api/src/main/java/com/lyms/hospitalapi/cdfy/CdGwInterface.java View file @ 6f0341c
... ... @@ -3,8 +3,7 @@
3 3 import com.alibaba.fastjson.JSONObject;
4 4 import com.lyms.platform.biz.service.*;
5 5 import com.lyms.platform.common.constants.ErrorCodeConstants;
6   -import com.lyms.platform.common.enums.RenShenJieJuEnums;
7   -import com.lyms.platform.common.enums.YnEnums;
  6 +import com.lyms.platform.common.enums.*;
8 7 import com.lyms.platform.common.result.BaseObjectResponse;
9 8 import com.lyms.platform.common.result.BaseResponse;
10 9 import com.lyms.platform.common.utils.*;
... ... @@ -202,7 +201,7 @@
202 201 ps.setString(5,patient.getUsername());
203 202 ps.setString(6,"2");
204 203 ps.setDate(7, new Date(patient.getBirth().getTime()));
205   - ps.setString(8,"01");
  204 + ps.setString(8,getPcerteType(patient.getPcerteTypeId()));
206 205 ps.setString(9,patient.getCardNo());
207 206 ps.setString(10,patient.getPworkUnit());
208 207 ps.setString(11,patient.getPhone());
... ... @@ -211,8 +210,8 @@
211 210 ps.setString(14,maternalInfo.getNationalityCode());
212 211 ps.setString(15,"5");
213 212 ps.setString(16,"4");
214   - ps.setString(17,null);
215   - ps.setString(18,patient.getPprofessionTypeId());
  213 + ps.setString(17,"90");
  214 + ps.setString(18,getPprofessionTypeName(patient.getPprofessionTypeId()));
216 215 ps.setString(19,"20");
217 216 ps.setString(20,"0");
218 217 ps.setString(21,"0");
... ... @@ -224,7 +223,11 @@
224 223 ps.setString(27,null);
225 224 //ps.setString(28,"0");
226 225 // ps.setDate(28, new Date(patient.getModified().getTime()));
227   - ps.setString(28, patient.getYn().toString());
  226 + if(null!=patient.getYn()){
  227 + ps.setString(28, patient.getYn()==1?"0":"1");
  228 + }else {
  229 + ps.setString(28,"1");
  230 + }
228 231  
229 232 int inResult = ps.executeUpdate();
230 233 if (inResult > 0) {
231 234  
... ... @@ -236,12 +239,16 @@
236 239 ps.setString(5,hjShi);
237 240 ps.setString(6,hjXian);
238 241 ps.setString(7,hjXiang);
239   - ps.setString(8,patient.getAddress());
  242 + ps.setString(8,"");//村没有。不能拆分
240 243 ps.setString(9,patient.getAddress());
241 244 ps.setString(10,null);
242 245 //ps.setString(11,"0");
243 246 // ps.setDate(11, new Date(patient.getModified().getTime()));
244   - ps.setString(11, patient.getYn().toString());
  247 + if(null!=patient.getYn()){
  248 + ps.setString(11, patient.getYn()==1?"0":"1");
  249 + }else {
  250 + ps.setString(11,"1");
  251 + }
245 252  
246 253 int adress01 = ps.executeUpdate();
247 254 if (adress01 > 0) {
248 255  
... ... @@ -253,12 +260,16 @@
253 260 ps.setString(5,jzShi);
254 261 ps.setString(6,jzXian);
255 262 ps.setString(7,jzXiang);
256   - ps.setString(8,patient.getAddressRegister());
  263 + ps.setString(8,"");//村没有。不能拆分
257 264 ps.setString(9,patient.getAddressRegister());
258 265 ps.setString(10,null);
259 266 //ps.setString(11,"0");
260 267 // ps.setDate(11, new Date(patient.getModified().getTime()));
261   - ps.setString(11, patient.getYn().toString());
  268 + if(null!=patient.getYn()){
  269 + ps.setString(11, patient.getYn()==1?"0":"1");
  270 + }else {
  271 + ps.setString(11,"1");
  272 + }
262 273  
263 274 int adress03 = ps.executeUpdate();
264 275 if (adress03 > 0) {
265 276  
... ... @@ -270,12 +281,16 @@
270 281 ps.setString(5,chShi);
271 282 ps.setString(6,chXian);
272 283 ps.setString(7,chXiang);
273   - ps.setString(8,patient.getAddressPostRest());
  284 + ps.setString(8,"");//村没有。不能拆分
274 285 ps.setString(9,patient.getAddressPostRest());
275 286 ps.setString(10,null);
276 287 //ps.setString(11,"0");
277 288 // ps.setDate(11, new Date(patient.getModified().getTime()));
278   - ps.setString(11, patient.getYn().toString());
  289 + if(null!=patient.getYn()){
  290 + ps.setString(11, patient.getYn()==1?"0":"1");
  291 + }else {
  292 + ps.setString(11,"1");
  293 + }
279 294 int adress07 = ps.executeUpdate();
280 295 if (adress07 > 0) {
281 296 br.setErrorcode(ErrorCodeConstants.SUCCESS);
282 297  
283 298  
284 299  
285 300  
286 301  
287 302  
288 303  
... ... @@ -598,63 +613,69 @@
598 613 return br;
599 614 }
600 615  
  616 + //户籍地址
  617 + String hjSheng = CommonsHelper.getName1(patients.getProvinceId(), basicConfigService);
  618 + String hjShi = CommonsHelper.getName1(patients.getCityId(), basicConfigService);
  619 + String hjXian = CommonsHelper.getName1(patients.getAreaId(), basicConfigService);
  620 + String hjXiang = CommonsHelper.getName1(patients.getStreetId(), basicConfigService);
601 621  
  622 + //居住地址
  623 + String jzSheng = CommonsHelper.getName1(patients.getProvinceRegisterId(), basicConfigService);
  624 + String jzShi = CommonsHelper.getName1(patients.getCityRegisterId(), basicConfigService);
  625 + String jzXian = CommonsHelper.getName1(patients.getAreaRegisterId(), basicConfigService);
  626 + String jzXiang = CommonsHelper.getName1(patients.getStreetRegisterId(), basicConfigService);
  627 +
602 628 //冠鑫孕产登记(智业WOMAN_PREGNANCY_DIAG)
603 629 String inSqlDiag = "insert into WOMAN_PREGNANCY_DIAG(LAST_UPDATE_DTIME,ORG_CODE,PATIENT_ID,ORG_FORM_NO," +
604   - "NAME,PRESENT_VILLAGE,TEL_NO,EMPLOYER_NAME,WEIGHT,MENSES_LAST_DATE,EXPECTED_TIEM,GRAVIDITY," +
605   - "PARITY,SPONTANEOUS_ABORTION,INDUCED_ABORTION,HUSBAND_NAME,DIAGNOSIS_DATE,CREATE_DATE) " +
606   - "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
  630 + "NAME,AGE,BIRTH_DATE,ID_TYPE_CODE,ID_NO,HOUSEHOLD_ADDRESS,HOUSEHOLD_PROVINCE,HOUSEHOLD_CITY,HOUSEHOLD_COUNTY, " +
  631 + "HOUSEHOLD_TOWN,HOUSEHOLD_VILLAGE,PRESENT_ADDRESS,PRESENT_PROVINCE,PRESENT_CITY,PRESENT_COUNTY,PRESENT_TOWN, " +
  632 + "ADDRESS_HOUSE_NO,POSTAL_CODE,TEL_NO,COUNTRY_CODE,NATIONALITY_CODE,EDUCATION_CODE,OCCUPATION_CODE,EMPLOYER_NAME," +
  633 + "WEIGHT,MENSES_LAST_DATE,EXPECTED_TIEM,GRAVIDITY,PARITY,ECTOPIC_PREGNANCY,ACEPHALOCYSTIS_RACEMOSA, " +
  634 + "SPONTANEOUS_ABORTION,INDUCED_ABORTION,LABOUR_INDUCTION_MEDIUM,PRETERM_BIRTH_NUMBER,BIRTH_DIFFICULTY, " +
  635 + "BIRTH_OPERATION,BIRTH_DEFECT_COUNT,DEATH_NUMBER,ABO_CODE,HUSBAND_NAME,HUSBAND_AGE,HUSBAND_COUNTRY, " +
  636 + "HUSBAND_NATION_CODE,HUSBAND_EDUCATION,HUSBAND_OCCUPATION,HUSBAND_ID_TYPE,HUSBAND_ID_NO,HUSBAND_HOUSEHOLD_ADDRESS, " +
  637 + "HUSBAND_TEL_NO,DIAGNOSIS_DATE,DIAGNOSIS_PREGNANCY_WEEK,DIAGNOSIS_PREGNANCY_DAY,DIAGNOSIS_ITEM,DIAGNOSIS_WAY_CODE, " +
  638 + "DIAG_RESULT_CODE,DIAGNOSE_FLAG,DIAGNOSIS_GUIDE,DIAGNOSIS_DOCTOR_NAME,DIAGNOSIS_ORG_NAME,CREATE_DATE) " +
  639 + "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
607 640 ps = conn.prepareStatement(inSqlDiag);
608 641 ps.setDate(1, new Date(antExChuModel.getModified().getTime()));
609 642 ps.setString(2, code);
610 643 ps.setString(3, id);
611 644 ps.setString(4, antExChuModel.getId());
612 645 ps.setString(5, patients.getUsername());
613   - ps.setString(6, liveAddress);
614   - ps.setString(7, patients.getPhone());
615   - ps.setString(8, patients.getPworkUnit());
616   - if(antExChuModel.getWeight() != null){
617   - ps.setDouble(9, Double.parseDouble(antExChuModel.getWeight()));
  646 + if(null!=patients.getAge()){
  647 + ps.setInt(6, patients.getAge());
618 648 }else{
619   - ps.setNull(9, Types.DOUBLE);
  649 + ps.setNull(6,Types.INTEGER);
620 650 }
621   - ps.setDate(10,new Date(antExChuModel.getLastMenses().getTime()));
622   - ps.setDate(11, new Date(patients.getDueDate().getTime()));
623   - if(antExChuModel.getPregnancyTimes() != null){
624   - ps.setInt(12, antExChuModel.getPregnancyTimes());
  651 + if(null!=patients.getBirth()){
  652 + ps.setDate(7, new Date(patients.getBirth().getTime()));
625 653 }else{
626   - ps.setNull(12,Types.INTEGER);
  654 + ps.setNull(7,Types.DATE);
627 655 }
628   - if(antExChuModel.getProdTime() != null){
629   - ps.setInt(13, antExChuModel.getProdTime());
630   - }else{
631   - ps.setNull(13,Types.INTEGER);
632   - }
633   - if(antExChuModel.getAbortionZR() != null){
634   - ps.setInt(14, antExChuModel.getAbortionZR());
635   - }else{
636   - ps.setNull(14,Types.INTEGER);
637   - }
638   - if(antExChuModel.getAbortionRG() != null){
639   - ps.setInt(15, antExChuModel.getAbortionRG());
640   - }else{
641   - ps.setNull(15,Types.INTEGER);
642   - }
643   - ps.setString(16, patients.getHusbandName());
644   - if(antExChuModel.getCheckTime() != null){
645   - ps.setDate(17, new Date(antExChuModel.getCheckTime().getTime()));
646   - }else{
647   - ps.setNull(17,Types.DATE);
648   - }
649   - if(patients.getBookbuildingDate() != null){
650   - ps.setDate(18,new Date(patients.getBookbuildingDate().getTime()));
651   - }else{
652   - ps.setNull(18,Types.DATE);
653   - }
654   -// ps.setString(19,createOrgId);
655   -// ps.setString(20,orgName);
656   -// ps.setString(21,creator);
657   -// ps.setString(22,creatorId);
  656 + ps.setString(8,getPcerteType(patients.getPcerteTypeId()));
  657 + ps.setString(9,patients.getCardNo());
  658 + ps.setString(10,patients.getAddress());
  659 + ps.setString(11,hjSheng);
  660 + ps.setString(12,hjShi);
  661 + ps.setString(13,hjXian);
  662 + ps.setString(14,hjXiang);
  663 + ps.setString(15,"");//村没有。不能拆分
  664 + ps.setString(16,patients.getAddressRegister());
  665 + ps.setString(17,jzSheng);
  666 + ps.setString(18,jzShi);
  667 + ps.setString(19,jzXian);
  668 + ps.setString(20,jzXiang);
  669 + ps.setString(21,"");//村没有。不能拆分
  670 + ps.setString(22,patients.getAddressRegister());
  671 + ps.setString(23,"");
  672 + ps.setString(24,patients.getPhone());
  673 + ps.setString(25,getPcountry(patients.getPcountryId()));
  674 +
  675 +// ps.setString(20,createOrgId);
  676 +// ps.setString(21,orgName);
  677 +// ps.setString(22,creator);
  678 +// ps.setString(23,creatorId);
658 679 ps.executeUpdate();
659 680  
660 681  
... ... @@ -4216,6 +4237,30 @@
4216 4237 return false;
4217 4238 }
4218 4239  
  4240 + }
  4241 + //国籍
  4242 + private String getPcountry(String id) {
  4243 + if (StringUtils.isEmpty(id)) {
  4244 + return "156";
  4245 + }
  4246 + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(id);
  4247 + return PcountryEnums.getId(basicConfig.getName());
  4248 + }
  4249 + //职业类别
  4250 + private String getPprofessionTypeName(String id) {
  4251 + if (StringUtils.isEmpty(id)) {
  4252 + return "Y";
  4253 + }
  4254 + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(id);
  4255 + return PprofessionTypeEnums.getId(basicConfig.getName());
  4256 + }
  4257 + //证件类型
  4258 + private String getPcerteType(String id) {
  4259 + if (StringUtils.isEmpty(id)) {
  4260 + return "01";
  4261 + }
  4262 + String name = CommonsHelper.getName1(id, basicConfigService);
  4263 + return PcerteTypeIdEnums.getId(name);
4219 4264 }
4220 4265  
4221 4266 }
platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyUploadingProvince.java View file @ 6f0341c
... ... @@ -6,6 +6,7 @@
6 6 import com.lyms.hospitalapi.lhxfy.model.UploadResult;
7 7 import com.lyms.hospitalapi.lhxfy.model.enums.*;
8 8 import com.lyms.hospitalapi.lhxfy.model.*;
  9 +import com.lyms.platform.biz.service.BasicConfigService;
9 10 import com.lyms.platform.common.utils.DateUtil;
10 11 import com.lyms.platform.common.utils.JsonUtil;
11 12 import com.lyms.platform.common.utils.StringUtils;
... ... @@ -14,6 +15,7 @@
14 15 import com.lyms.platform.operate.web.facade.BasicConfigFacade;
15 16 import com.lyms.platform.operate.web.result.BasicConfigResult;
16 17 import com.lyms.platform.operate.web.utils.CollectionUtils;
  18 +import com.lyms.platform.operate.web.utils.CommonsHelper;
17 19 import com.lyms.platform.permission.model.Users;
18 20 import com.lyms.platform.permission.service.UsersService;
19 21 import com.lyms.platform.operate.web.utils.CollectionUtils;
... ... @@ -45,6 +47,8 @@
45 47 private OrganizationService organizationService;
46 48 @Autowired
47 49 private LhxfyService lhxfyService;
  50 + @Autowired
  51 + private BasicConfigService basicConfigService;
48 52  
49 53 //上传孕前档案基本信息4.1
50 54 public String uploadingProvinceArchives(PreEugenicsBaseModel baseModel,String key,String documentId){
... ... @@ -177,7 +181,8 @@
177 181 archives.setHusbandOccupationCode(CareerEnums.getId(husbandCareer));// 丈夫职业
178 182 archives.setHusbandOccupationCodeContent(null);//丈夫职业07的时候需要存入信息(系统没有具体选项)
179 183 //丈夫证件类型(传空的话默认01)01:居民身份证02:护照 03: 港澳居民身份证04:军官证 05: 其他有效证件
180   - archives.setHusbandCertificatesCode(CardTypeEnums.getId(baseModel.getHusbandCardType()));
  184 + String name = CommonsHelper.getName1(baseModel.getHusbandCardType(), basicConfigService);
  185 + archives.setHusbandCertificatesCode(CardTypeEnums.getId(name));
181 186  
182 187 archives.setHusband_village(lhxfyService.getPreeugenicsAddr(baseModel.getHusbandAccountStreet()));// 丈夫户口村级区划
183 188 archives.setZipCode(StringUtils.isNotEmpty(baseModel.getWifeZipCode())?baseModel.getWifeZipCode():"000000");// 妻子邮编