Переглянути джерело

Merge branch 'dev' of zd_123/patient-co-management into dev

yeshijie 7 роки тому
батько
коміт
66bb82ac75

+ 439 - 0
common/common-entity/src/main/java/com/yihu/wlyy/entity/doctor/archive/ArchiveInfo.java

@ -0,0 +1,439 @@
package com.yihu.wlyy.entity.doctor.archive;
import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created by zhangdan on 2018/1/4.
 */
@Entity
@Table(name = "wlyy_archive_info")
public class ArchiveInfo extends IdEntity {
    private String code;//唯一标识code
    private String archiveCode;//基卫档案code
    private String sickName;//姓名
    private String archiveOperatorName;// 建档人姓名
    private String doctorCode;// 医生code
    private int archiveStatus;//档案状态【1.未管理 2.死亡 3.正常 4.高危】【必填】
    private String archiveTime;//建档时间
    private int signStatus;// 签约状态【0未签约,1已签约】
    private String birthday;// 生日
    private int sickSex;//性别【1.男 2.女 9 未知】
    private String jwZoneCode;//所属社区
    private int identityType;//证件类型
    private String identityCardNo;//身份证号
    private String homePhone;// 本人电话
    private String homeAddress;//现住地址
    private String orgId;//新增默认传0
    private int residence;//户籍【1.户籍 2.非户籍】
    private String national;//民族
    private String origo;//户口所在地
    private int blood;//血型【1.A型 2.3.O型4.AB型 5.不详】
    private int bloodRh;//  RH阴性【1.否 2.是 3.不详】
    private int marriage;//  婚姻状况【10.未婚 20.已婚 30.丧偶 40.离婚 90.未说明的婚姻状况】
    private String insurCardNo;//  医保卡号
    private int education;//  文化程度【1.文盲及半文盲 2.小学 3.初中 4.高中/技校/中专 5.大学大专及以上 6.不详】
    private int occupation;//  职业【1、国家机关、党群组织、企业、事业单位负责人 2、专业技术人员 3、办事人员和有关人员 4、商业、服务业员工 5、农、林、牧、渔、水利生产人员 6、生产、运输设备操作人员及有关人员 7、军人 8、不便分类的其他从业人员】
    private int medicalExpenses;//  支付方式【7.贫困救助 5.商业医疗保险 1.全公费 8.全自费 99.其它】
    private String medicalExpenssContent;//  支付方式其它内容
    private String allergic;//  药物过敏史【0无 1青霉素 2磺胺 3链霉素 4其他】
    private String allergicOtherContent;//  药物过敏史--其它内容
    private String  past;//  既往史--疾病【0无 1高血压 2 糖尿病 4其他】
    private String  pastHypertensionDate;//  既往史--疾病--高血压日期
    private String  pastDiabetesDate;//  既往史--疾病--糖尿病日期
    private String  pastOtherContent;//  既往史--疾病--其他内容
    private String  pastOtherContentDate;//  既往史--疾病--其它日期
    private int  genetic;//  遗传病史【0 无 1 有】
    private String  geneticDiseaseName;//  疾病名称
    private String  disability;// 有无残疾--无残疾【1无 2视力残疾 3听力残疾 4言语残疾 5肢体残疾 6智力残疾 7其他残疾】
    private String  disabilityOtherContent;//  有无残疾--其它残疾内容
    private int  familyNone;//  家族史【0无 1有】
    private String  familyFather;//  家族史--父亲【0无 1高血压 2糖尿病 3冠心病 4慢性阻塞性肺疾病 5恶性肿瘤 6脑卒中 7重性精神疾病 8结核病 9肝炎 10先天畸形 11其他】
    private String  familyFatherOtherContent;//  家族史--父亲--其它内容
    private String  familyMother;//  家族史--母亲【0无 1高血压 2糖尿病 3冠心病 4慢性阻塞性肺疾病 5恶性肿瘤 6脑卒中 7重性精神疾病 8结核病 9肝炎 10先天畸形 11其他】
    private String  familyMotheOtherContent;//  家族史--母亲--其它内容
    private String  familyBrothers;//  家族史--兄弟姐妹【0无 1高血压 2糖尿病 3冠心病 4慢性阻塞性肺疾病 5恶性肿瘤 6脑卒中 7重性精神疾病 8结核病 9肝炎 10先天畸形 11其他】
    private String  familyBrothersOtherContent;//  家族史--兄弟姐妹--其它内容
    private String  familyChildren;//  家族史--子女【0无 1高血压 2糖尿病 3冠心病 4慢性阻塞性肺疾病 5恶性肿瘤 6脑卒中 7重性精神疾病 8结核病 9肝炎 10先天畸形 11其他】
    private String familyChildrenOtherContent;//  家族史--子女--其它内容
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getArchiveCode() {
        return archiveCode;
    }
    public void setArchiveCode(String archiveCode) {
        this.archiveCode = archiveCode;
    }
    public String getSickName() {
        return sickName;
    }
    public void setSickName(String sickName) {
        this.sickName = sickName;
    }
    public String getArchiveOperatorName() {
        return archiveOperatorName;
    }
    public void setArchiveOperatorName(String archiveOperatorName) {
        this.archiveOperatorName = archiveOperatorName;
    }
    public String getDoctorCode() {
        return doctorCode;
    }
    public void setDoctorCode(String doctorCode) {
        this.doctorCode = doctorCode;
    }
    public int getArchiveStatus() {
        return archiveStatus;
    }
    public void setArchiveStatus(int archiveStatus) {
        this.archiveStatus = archiveStatus;
    }
    public String getArchiveTime() {
        return archiveTime;
    }
    public void setArchiveTime(String archiveTime) {
        this.archiveTime = archiveTime;
    }
    public int getSignStatus() {
        return signStatus;
    }
    public void setSignStatus(int signStatus) {
        this.signStatus = signStatus;
    }
    public String getBirthday() {
        return birthday;
    }
    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
    public int getSickSex() {
        return sickSex;
    }
    public void setSickSex(int sickSex) {
        this.sickSex = sickSex;
    }
    public String getJwZoneCode() {
        return jwZoneCode;
    }
    public void setJwZoneCode(String jwZoneCode) {
        this.jwZoneCode = jwZoneCode;
    }
    public int getIdentityType() {
        return identityType;
    }
    public void setIdentityType(int identityType) {
        this.identityType = identityType;
    }
    public String getIdentityCardNo() {
        return identityCardNo;
    }
    public void setIdentityCardNo(String identityCardNo) {
        this.identityCardNo = identityCardNo;
    }
    public String getHomePhone() {
        return homePhone;
    }
    public void setHomePhone(String homePhone) {
        this.homePhone = homePhone;
    }
    public String getHomeAddress() {
        return homeAddress;
    }
    public void setHomeAddress(String homeAddress) {
        this.homeAddress = homeAddress;
    }
    public String getOrgId() {
        return orgId;
    }
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }
    public int getResidence() {
        return residence;
    }
    public void setResidence(int residence) {
        this.residence = residence;
    }
    public String getNational() {
        return national;
    }
    public void setNational(String national) {
        this.national = national;
    }
    public String getOrigo() {
        return origo;
    }
    public void setOrigo(String origo) {
        this.origo = origo;
    }
    public int getBlood() {
        return blood;
    }
    public void setBlood(int blood) {
        this.blood = blood;
    }
    public int getBloodRh() {
        return bloodRh;
    }
    public void setBloodRh(int bloodRh) {
        this.bloodRh = bloodRh;
    }
    public int getMarriage() {
        return marriage;
    }
    public void setMarriage(int marriage) {
        this.marriage = marriage;
    }
    public String getInsurCardNo() {
        return insurCardNo;
    }
    public void setInsurCardNo(String insurCardNo) {
        this.insurCardNo = insurCardNo;
    }
    public int getEducation() {
        return education;
    }
    public void setEducation(int education) {
        this.education = education;
    }
    public int getOccupation() {
        return occupation;
    }
    public void setOccupation(int occupation) {
        this.occupation = occupation;
    }
    public int getMedicalExpenses() {
        return medicalExpenses;
    }
    public void setMedicalExpenses(int medicalExpenses) {
        this.medicalExpenses = medicalExpenses;
    }
    public String getMedicalExpenssContent() {
        return medicalExpenssContent;
    }
    public void setMedicalExpenssContent(String medicalExpenssContent) {
        this.medicalExpenssContent = medicalExpenssContent;
    }
    public String getAllergic() {
        return allergic;
    }
    public void setAllergic(String allergic) {
        this.allergic = allergic;
    }
    public String getAllergicOtherContent() {
        return allergicOtherContent;
    }
    public void setAllergicOtherContent(String allergicOtherContent) {
        this.allergicOtherContent = allergicOtherContent;
    }
    public String getPast() {
        return past;
    }
    public void setPast(String past) {
        this.past = past;
    }
    public String getPastHypertensionDate() {
        return pastHypertensionDate;
    }
    public void setPastHypertensionDate(String pastHypertensionDate) {
        this.pastHypertensionDate = pastHypertensionDate;
    }
    public String getPastDiabetesDate() {
        return pastDiabetesDate;
    }
    public void setPastDiabetesDate(String pastDiabetesDate) {
        this.pastDiabetesDate = pastDiabetesDate;
    }
    public String getPastOtherContent() {
        return pastOtherContent;
    }
    public void setPastOtherContent(String pastOtherContent) {
        this.pastOtherContent = pastOtherContent;
    }
    public String getPastOtherContentDate() {
        return pastOtherContentDate;
    }
    public void setPastOtherContentDate(String pastOtherContentDate) {
        this.pastOtherContentDate = pastOtherContentDate;
    }
    public int getGenetic() {
        return genetic;
    }
    public void setGenetic(int genetic) {
        this.genetic = genetic;
    }
    public String getGeneticDiseaseName() {
        return geneticDiseaseName;
    }
    public void setGeneticDiseaseName(String geneticDiseaseName) {
        this.geneticDiseaseName = geneticDiseaseName;
    }
    public String getDisability() {
        return disability;
    }
    public void setDisability(String disability) {
        this.disability = disability;
    }
    public String getDisabilityOtherContent() {
        return disabilityOtherContent;
    }
    public void setDisabilityOtherContent(String disabilityOtherContent) {
        this.disabilityOtherContent = disabilityOtherContent;
    }
    public int getFamilyNone() {
        return familyNone;
    }
    public void setFamilyNone(int familyNone) {
        this.familyNone = familyNone;
    }
    public String getFamilyFather() {
        return familyFather;
    }
    public void setFamilyFather(String familyFather) {
        this.familyFather = familyFather;
    }
    public String getFamilyFatherOtherContent() {
        return familyFatherOtherContent;
    }
    public void setFamilyFatherOtherContent(String familyFatherOtherContent) {
        this.familyFatherOtherContent = familyFatherOtherContent;
    }
    public String getFamilyMother() {
        return familyMother;
    }
    public void setFamilyMother(String familyMother) {
        this.familyMother = familyMother;
    }
    public String getFamilyMotheOtherContent() {
        return familyMotheOtherContent;
    }
    public void setFamilyMotheOtherContent(String familyMotheOtherContent) {
        this.familyMotheOtherContent = familyMotheOtherContent;
    }
    public String getFamilyBrothers() {
        return familyBrothers;
    }
    public void setFamilyBrothers(String familyBrothers) {
        this.familyBrothers = familyBrothers;
    }
    public String getFamilyBrothersOtherContent() {
        return familyBrothersOtherContent;
    }
    public void setFamilyBrothersOtherContent(String familyBrothersOtherContent) {
        this.familyBrothersOtherContent = familyBrothersOtherContent;
    }
    public String getFamilyChildren() {
        return familyChildren;
    }
    public void setFamilyChildren(String familyChildren) {
        this.familyChildren = familyChildren;
    }
    public String getFamilyChildrenOtherContent() {
        return familyChildrenOtherContent;
    }
    public void setFamilyChildrenOtherContent(String familyChildrenOtherContent) {
        this.familyChildrenOtherContent = familyChildrenOtherContent;
    }
}

+ 442 - 0
common/common-entity/src/main/java/com/yihu/wlyy/entity/doctor/archive/vo/ArchiveInfoDto.java

@ -0,0 +1,442 @@
package com.yihu.wlyy.entity.doctor.archive.vo;
/**
 * Created by zhangdan on 2018/1/4.
 */
public class ArchiveInfoDto {
    private long id;
    private String code;//唯一标识code
    private String archiveCode;//基卫档案code
    private String sickName;//姓名
    private String archiveOperatorName;// 建档人姓名
    private String doctorCode;// 医生code
    private int signStatus;// 签约状态【0未签约,1已签约】
    private String birthday;// 生日
    private int sickSex;//性别【1.男 2.女 9 未知】
    private String zoneCode;//所属社区
    private String jwZoneCode;//基卫所属社区code
    private String zoneName;
    private String identityCardNo;//身份证号
    private String homePhone;// 本人电话
    private String homeAddress;//现住地址
    private int residence;//户籍【1.户籍 2.非户籍】
    private String national;//民族
    private String origo;//户口所在地
    private String origoStr;//户口所在地字符串
    private int blood;//血型【1.A型 2.3.O型4.AB型 5.不详】
    private String bloodStr;//血型
    private int marriage;//  婚姻状况【10.未婚 20.已婚 30.丧偶 40.离婚 90.未说明的婚姻状况】
    private String marriageStr;//婚姻
    private String insurCardNo;//  医保卡号
    private int education;//  文化程度【1.文盲及半文盲 2.小学 3.初中 4.高中/技校/中专 5.大学大专及以上 6.不详】
    private int occupation;//  职业【1、国家机关、党群组织、企业、事业单位负责人 2、专业技术人员 3、办事人员和有关人员 4、商业、服务业员工 5、农、林、牧、渔、水利生产人员 6、生产、运输设备操作人员及有关人员 7、军人 8、不便分类的其他从业人员】
    private int medicalExpenses;//  支付方式【7.贫困救助 5.商业医疗保险 1.全公费 8.全自费 99.其它】
    private String medicalExpenssContent;//  支付方式其它内容
    private String allergic;//  药物过敏史【0无 1青霉素 2磺胺 3链霉素 4其他】
    private String allergicOtherContent;//  药物过敏史--其它内容
    private String  past;//  既往史--疾病【0无 1高血压 2 糖尿病 4其他】
    private String  pastHypertensionDate;//  既往史--疾病--高血压日期
    private String  pastDiabetesDate;//  既往史--疾病--糖尿病日期
    private String  pastOtherContent;//  既往史--疾病--其他内容
    private String  pastOtherContentDate;//  既往史--疾病--其它日期
    private int  genetic;//  遗传病史【0 无 1 有】
    private String  geneticDiseaseName;//疾病名称
    private String  disability;// 有无残疾--无残疾【1无 2视力残疾 3听力残疾 4言语残疾 5肢体残疾 6智力残疾 7其他残疾】
    private String  disabilityOtherContent;//  有无残疾--其它残疾内容
    private int  familyNone;//  家族史【0无 1有】
    private String  familyFather;//家族史--父亲【0无 1高血压 2糖尿病 3冠心病 4慢性阻塞性肺疾病 5恶性肿瘤 6脑卒中 7重性精神疾病 8结核病 9肝炎 10先天畸形 11其他】
    private String  familyFatherOtherContent;//  家族史--父亲--其它内容
    private String  familyMother;//  家族史--母亲【0无 1高血压 2糖尿病 3冠心病 4慢性阻塞性肺疾病 5恶性肿瘤 6脑卒中 7重性精神疾病 8结核病 9肝炎 10先天畸形 11其他】
    private String  familyMotheOtherContent;//  家族史--母亲--其它内容
    private String  familyBrothers;//  家族史--兄弟姐妹【0无 1高血压 2糖尿病 3冠心病 4慢性阻塞性肺疾病 5恶性肿瘤 6脑卒中 7重性精神疾病 8结核病 9肝炎 10先天畸形 11其他】
    private String  familyBrothersOtherContent;//  家族史--兄弟姐妹--其它内容
    private String  familyChildren;//  家族史--子女【0无 1高血压 2糖尿病 3冠心病 4慢性阻塞性肺疾病 5恶性肿瘤 6脑卒中 7重性精神疾病 8结核病 9肝炎 10先天畸形 11其他】
    private String familyChildrenOtherContent;//  家族史--子女--其它内容
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getArchiveCode() {
        return archiveCode;
    }
    public void setArchiveCode(String archiveCode) {
        this.archiveCode = archiveCode;
    }
    public String getSickName() {
        return sickName;
    }
    public void setSickName(String sickName) {
        this.sickName = sickName;
    }
    public String getArchiveOperatorName() {
        return archiveOperatorName;
    }
    public void setArchiveOperatorName(String archiveOperatorName) {
        this.archiveOperatorName = archiveOperatorName;
    }
    public String getDoctorCode() {
        return doctorCode;
    }
    public void setDoctorCode(String doctorCode) {
        this.doctorCode = doctorCode;
    }
    public int getSignStatus() {
        return signStatus;
    }
    public void setSignStatus(int signStatus) {
        this.signStatus = signStatus;
    }
    public String getBirthday() {
        return birthday;
    }
    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
    public int getSickSex() {
        return sickSex;
    }
    public void setSickSex(int sickSex) {
        this.sickSex = sickSex;
    }
    public String getZoneCode() {
        return zoneCode;
    }
    public void setZoneCode(String zoneCode) {
        this.zoneCode = zoneCode;
    }
    public String getJwZoneCode() {
        return jwZoneCode;
    }
    public void setJwZoneCode(String jwZoneCode) {
        this.jwZoneCode = jwZoneCode;
    }
    public String getZoneName() {
        return zoneName;
    }
    public void setZoneName(String zoneName) {
        this.zoneName = zoneName;
    }
    public String getIdentityCardNo() {
        return identityCardNo;
    }
    public void setIdentityCardNo(String identityCardNo) {
        this.identityCardNo = identityCardNo;
    }
    public String getHomePhone() {
        return homePhone;
    }
    public void setHomePhone(String homePhone) {
        this.homePhone = homePhone;
    }
    public String getHomeAddress() {
        return homeAddress;
    }
    public void setHomeAddress(String homeAddress) {
        this.homeAddress = homeAddress;
    }
    public int getResidence() {
        return residence;
    }
    public void setResidence(int residence) {
        this.residence = residence;
    }
    public String getNational() {
        return national;
    }
    public void setNational(String national) {
        this.national = national;
    }
    public String getOrigo() {
        return origo;
    }
    public void setOrigo(String origo) {
        this.origo = origo;
    }
    public String getOrigoStr() {
        return origoStr;
    }
    public void setOrigoStr(String origoStr) {
        this.origoStr = origoStr;
    }
    public int getBlood() {
        return blood;
    }
    public void setBlood(int blood) {
        this.blood = blood;
    }
    public String getBloodStr() {
        return bloodStr;
    }
    public void setBloodStr(String bloodStr) {
        this.bloodStr = bloodStr;
    }
    public int getMarriage() {
        return marriage;
    }
    public void setMarriage(int marriage) {
        this.marriage = marriage;
    }
    public String getMarriageStr() {
        return marriageStr;
    }
    public void setMarriageStr(String marriageStr) {
        this.marriageStr = marriageStr;
    }
    public String getInsurCardNo() {
        return insurCardNo;
    }
    public void setInsurCardNo(String insurCardNo) {
        this.insurCardNo = insurCardNo;
    }
    public int getEducation() {
        return education;
    }
    public void setEducation(int education) {
        this.education = education;
    }
    public int getOccupation() {
        return occupation;
    }
    public void setOccupation(int occupation) {
        this.occupation = occupation;
    }
    public int getMedicalExpenses() {
        return medicalExpenses;
    }
    public void setMedicalExpenses(int medicalExpenses) {
        this.medicalExpenses = medicalExpenses;
    }
    public String getMedicalExpenssContent() {
        return medicalExpenssContent;
    }
    public void setMedicalExpenssContent(String medicalExpenssContent) {
        this.medicalExpenssContent = medicalExpenssContent;
    }
    public String getAllergic() {
        return allergic;
    }
    public void setAllergic(String allergic) {
        this.allergic = allergic;
    }
    public String getAllergicOtherContent() {
        return allergicOtherContent;
    }
    public void setAllergicOtherContent(String allergicOtherContent) {
        this.allergicOtherContent = allergicOtherContent;
    }
    public String getPast() {
        return past;
    }
    public void setPast(String past) {
        this.past = past;
    }
    public String getPastHypertensionDate() {
        return pastHypertensionDate;
    }
    public void setPastHypertensionDate(String pastHypertensionDate) {
        this.pastHypertensionDate = pastHypertensionDate;
    }
    public String getPastDiabetesDate() {
        return pastDiabetesDate;
    }
    public void setPastDiabetesDate(String pastDiabetesDate) {
        this.pastDiabetesDate = pastDiabetesDate;
    }
    public String getPastOtherContent() {
        return pastOtherContent;
    }
    public void setPastOtherContent(String pastOtherContent) {
        this.pastOtherContent = pastOtherContent;
    }
    public String getPastOtherContentDate() {
        return pastOtherContentDate;
    }
    public void setPastOtherContentDate(String pastOtherContentDate) {
        this.pastOtherContentDate = pastOtherContentDate;
    }
    public int getGenetic() {
        return genetic;
    }
    public void setGenetic(int genetic) {
        this.genetic = genetic;
    }
    public String getGeneticDiseaseName() {
        return geneticDiseaseName;
    }
    public void setGeneticDiseaseName(String geneticDiseaseName) {
        this.geneticDiseaseName = geneticDiseaseName;
    }
    public String getDisability() {
        return disability;
    }
    public void setDisability(String disability) {
        this.disability = disability;
    }
    public String getDisabilityOtherContent() {
        return disabilityOtherContent;
    }
    public void setDisabilityOtherContent(String disabilityOtherContent) {
        this.disabilityOtherContent = disabilityOtherContent;
    }
    public int getFamilyNone() {
        return familyNone;
    }
    public void setFamilyNone(int familyNone) {
        this.familyNone = familyNone;
    }
    public String getFamilyFather() {
        return familyFather;
    }
    public void setFamilyFather(String familyFather) {
        this.familyFather = familyFather;
    }
    public String getFamilyFatherOtherContent() {
        return familyFatherOtherContent;
    }
    public void setFamilyFatherOtherContent(String familyFatherOtherContent) {
        this.familyFatherOtherContent = familyFatherOtherContent;
    }
    public String getFamilyMother() {
        return familyMother;
    }
    public void setFamilyMother(String familyMother) {
        this.familyMother = familyMother;
    }
    public String getFamilyMotheOtherContent() {
        return familyMotheOtherContent;
    }
    public void setFamilyMotheOtherContent(String familyMotheOtherContent) {
        this.familyMotheOtherContent = familyMotheOtherContent;
    }
    public String getFamilyBrothers() {
        return familyBrothers;
    }
    public void setFamilyBrothers(String familyBrothers) {
        this.familyBrothers = familyBrothers;
    }
    public String getFamilyBrothersOtherContent() {
        return familyBrothersOtherContent;
    }
    public void setFamilyBrothersOtherContent(String familyBrothersOtherContent) {
        this.familyBrothersOtherContent = familyBrothersOtherContent;
    }
    public String getFamilyChildren() {
        return familyChildren;
    }
    public void setFamilyChildren(String familyChildren) {
        this.familyChildren = familyChildren;
    }
    public String getFamilyChildrenOtherContent() {
        return familyChildrenOtherContent;
    }
    public void setFamilyChildrenOtherContent(String familyChildrenOtherContent) {
        this.familyChildrenOtherContent = familyChildrenOtherContent;
    }
}

+ 15 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/archive/PatientArchiveInfoDao.java

@ -0,0 +1,15 @@
package com.yihu.wlyy.repository.archive;
import com.yihu.wlyy.entity.doctor.archive.ArchiveInfo;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Administrator on 2018/1/4.
 */
public interface PatientArchiveInfoDao extends PagingAndSortingRepository<ArchiveInfo, Long>, JpaSpecificationExecutor<ArchiveInfo> {
    @Query("select a from ArchiveInfo a where a.code=?1")
    ArchiveInfo findArchiveDetailsByCode(String code);
}

+ 364 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/PatientInfoService.java

@ -5,6 +5,7 @@ import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yihu.wlyy.entity.address.*;
import com.yihu.wlyy.entity.demographic.DemographicInfo;
import com.yihu.wlyy.entity.dict.SystemDict;
import com.yihu.wlyy.entity.doctor.archive.ArchiveInfo;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.login.LoginLog;
import com.yihu.wlyy.entity.patient.Patient;
@ -16,8 +17,10 @@ import com.yihu.wlyy.entity.patient.vo.PatientArchivesDto;
import com.yihu.wlyy.entity.patient.vo.PatientVO;
import com.yihu.wlyy.entity.security.Token;
import com.yihu.wlyy.repository.address.*;
import com.yihu.wlyy.repository.archive.PatientArchiveInfoDao;
import com.yihu.wlyy.repository.demographic.TblBasicDao;
import com.yihu.wlyy.repository.dict.SystemDictDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.repository.patient.PatientInvitationLogDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
@ -31,6 +34,7 @@ import com.yihu.wlyy.service.common.account.TokenService;
import com.yihu.wlyy.service.common.login.LoginLogService;
import com.yihu.wlyy.service.third.jw.JwArchivesService;
import com.yihu.wlyy.util.*;
import io.swagger.models.auth.In;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
@ -95,6 +99,10 @@ public class PatientInfoService extends BaseService {
    SocialSecurityInfoDao socialSecurityInfoDao;
    @Autowired
    CountryDao countryDao;
    @Autowired
    DoctorDao doctorDao;
    @Autowired
    PatientArchiveInfoDao patientArchiveInfoDao;
    /**
     * 患者更换手机号
     *
@ -412,6 +420,52 @@ public class PatientInfoService extends BaseService {
        info.setGrsfen("8");
        info.setGzztai("01");
        socialSecurityInfoDao.save(info);
        //保存建档信息到服务器数据库
        Doctor doctorObj = doctorDao.findByCode(doctorCode);
        ArchiveInfo archiveInfo = new ArchiveInfo();
        archiveInfo.setCode(getCode());
        archiveInfo.setArchiveCode(response);
        archiveInfo.setSickName(p.getName());
        archiveInfo.setDoctorCode(doctorCode);
        if (doctorObj!=null){
            archiveInfo.setArchiveOperatorName(doctorObj.getName());
        }
        archiveInfo.setArchiveTime(DateUtil.getStringDateShort());
        int isSign = signFamilyDao.hasSingStatus(p.getIdcard());
        if (isSign>0){
            archiveInfo.setSignStatus(1);
        }else{
            archiveInfo.setSignStatus(0);
        }
        archiveInfo.setArchiveStatus(3);
        archiveInfo.setSickSex(p.getSex());
        archiveInfo.setBirthday(brithday);
        archiveInfo.setJwZoneCode(jwCountryCode);
        archiveInfo.setIdentityType(1);
        archiveInfo.setIdentityCardNo(p.getIdcard());
        archiveInfo.setHomePhone(p.getMobile());
        archiveInfo.setHomeAddress(adress);
        archiveInfo.setOrgId("0");
        archiveInfo.setResidence(1);
        archiveInfo.setNational(nation);
        archiveInfo.setOrigo("350200");
        archiveInfo.setBlood(Integer.valueOf(blood));
        archiveInfo.setBloodRh(1);
        archiveInfo.setMarriage(Integer.valueOf(marry));
        archiveInfo.setInsurCardNo(p.getSsc());
        //补充参数
        archiveInfo.setAllergic("0");
        archiveInfo.setPast("0");
        archiveInfo.setGenetic(0);
        archiveInfo.setFamilyNone(0);
        archiveInfo.setFamilyFather("0");
        archiveInfo.setFamilyMother("0");
        archiveInfo.setFamilyBrothers("0");
        archiveInfo.setFamilyChildren("0");
        archiveInfo.setDisability("1");
        patientArchiveInfoDao.save(archiveInfo);
        return 1;
    }
    public int createProfile(String archiveJson) throws Exception{
@ -419,6 +473,8 @@ public class PatientInfoService extends BaseService {
        PatientArchivesDto archive = (PatientArchivesDto) net.sf.json.JSONObject.toBean(j,PatientArchivesDto.class);
        Patient p = patientDao.findByCode(archive.getPatient());
        ArchiveInfo archiveInfo = new ArchiveInfo();
        Doctor doctorObj = doctorDao.findByCode(archive.getDoctorCode());
        com.alibaba.fastjson.JSONObject json = new com.alibaba.fastjson.JSONObject();
        json.put("ARCHIVE_TIME", DateUtil.getStringDateShort());//建档时间
@ -440,6 +496,36 @@ public class PatientInfoService extends BaseService {
        json.put("MARRIAGE",archive.getMarry());//婚姻状况【10.未婚 20.已婚 30.丧偶 40.离婚 90.未说明的婚姻状况】
        json.put("INSUR_CARD_NO",p.getSsc());//医保卡号
        //保存建档记录信息
        archiveInfo.setSickName(p.getName());
        archiveInfo.setDoctorCode(archive.getDoctorCode());
        if (doctorObj!=null){
            archiveInfo.setArchiveOperatorName(doctorObj.getName());
        }
        archiveInfo.setArchiveTime(DateUtil.getStringDateShort());
        int isSign = signFamilyDao.hasSingStatus(p.getIdcard());
        if (isSign>0){
            archiveInfo.setSignStatus(1);
        }else{
            archiveInfo.setSignStatus(0);
        }
        archiveInfo.setArchiveStatus(3);
        archiveInfo.setSickSex(p.getSex());
        archiveInfo.setBirthday(archive.getBrithday());
        archiveInfo.setJwZoneCode(archive.getJwCountryCode());
        archiveInfo.setIdentityType(1);
        archiveInfo.setIdentityCardNo(p.getIdcard());
        archiveInfo.setHomePhone(p.getMobile());
        archiveInfo.setHomeAddress(archive.getAdress());
        archiveInfo.setOrgId("0");
        archiveInfo.setResidence(1);
        archiveInfo.setNational(archive.getAdress());
        archiveInfo.setOrigo("350200");
        archiveInfo.setBlood(Integer.valueOf(archive.getBlood()));
        archiveInfo.setBloodRh(1);
        archiveInfo.setMarriage(Integer.valueOf(archive.getMarry()));
        archiveInfo.setInsurCardNo(p.getSsc());
        //补充参数
        json.put("ALLERGIC_WITHOUT","1");//药物过敏史--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
@ -447,55 +533,77 @@ public class PatientInfoService extends BaseService {
        json.put("TRANSFUSION","0");//   "TRANSFUSION":"既往史--输血--【0 无 1 有】(同一类别,新增时,默认选无)",
        json.put("EXPOSE_WITHOUT","1");//"EXPOSE_WITHOUT":"暴露史--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
        archiveInfo.setAllergic("0");
        archiveInfo.setPast("0");
        archiveInfo.setGenetic(0);
        //教育程度
        if(StringUtils.isNotBlank(archive.getEducation())){
            json.put("EDUCATION",archive.getEducation()+"");//文化程度
            archiveInfo.setEducation(Integer.valueOf(archive.getEducation()));
        }
        //职业
        if(StringUtils.isNotBlank(archive.getOccupation())){
            json.put("OCCUPATION",archive.getOccupation()+"");//职业
            archiveInfo.setOccupation(Integer.valueOf(archive.getOccupation()));
        }
        //支付方式
        if(StringUtils.isNotBlank(archive.getPayment())){
            json.put("MEDICAL_EXPENSES",archive.getPayment()+"");//支付方式
            archiveInfo.setMedicalExpenses(Integer.getInteger(archive.getPayment()));
        }
        //药物过敏史
        if(StringUtils.isNotBlank(archive.getDrugAllergys())){
            String allergicStr = "";
            json.put("ALLERGIC_WITHOUT","0");//药物过敏历史
            String as[] = archive.getDrugAllergys().split(",");
            for(String str : as){
                if("1".equals(str)){
                    json.put("ALLERGIC_PENICILLIN","1");//药物过敏史--青霉素
                    allergicStr +="1,";
                }
                if("2".equals(str)){
                    json.put("ALLERGIC_SULFANILAMIDE","1");//药物过敏史--磺胺
                    allergicStr +="2,";
                }
                if("3".equals(str)){
                    json.put("ALLERGIC_STREPTOMYCIN","1");//药物过敏史--链霉素
                    allergicStr +="3,";
                }
                if("4".equals(str)){
                    json.put("ALLERGIC_OTHER","1");//药物过敏史--其它
                    allergicStr +="4,";
                }
            }
            if (allergicStr.length()>1){
                allergicStr = allergicStr.substring(0,allergicStr.length()-1);
            }
            archiveInfo.setAllergic(allergicStr);
        }else{
            json.put("ALLERGIC_WITHOUT","1");//药物过敏历史
            archiveInfo.setAllergic("0");
        }
        //既往史
        if(StringUtils.isNotBlank(archive.getPastHistorys())){
            String pastStr = "";
            json.put("PAST_NONE","0");//既往史
            String phs[] = archive.getPastHistorys().split(",");
            String dates[] = archive.getPastHistoryDate().split(",");
            for(int i=0 ;i<phs.length ; i++){
                if("1".equals(phs[i])){
                    json.put("PAST_HYPERTENSION","1");//既往史--疾病--高血压【0不勾选 1勾选】
                    pastStr +="1,";
                    if(!"0".equals(dates[i])){
                        json.put("PAST_HYPERTENSION_DATE",dates[i]);//既往史--疾病--高血压日期
                        archiveInfo.setPastHypertensionDate(dates[i]);
                    }
                }else if("2".equals(phs[i])){
                    json.put("PAST_DIABETES","1");//既往史--疾病--糖尿病【0不勾选 1勾选】
                    pastStr +="2,";
                    if(!"0".equals(dates[i])){
                        json.put("PAST_DIABETES_DATE",dates[i]);//既往史--疾病--糖尿病日期
                        archiveInfo.setPastDiabetesDate(dates[i]);
                    }
                }
//                if("3".equals(phs[i])){
@ -506,57 +614,80 @@ public class PatientInfoService extends BaseService {
//                }
                else if("4".equals(phs[i])){
                    json.put("PAST_OTHER","1");//既往史--疾病--其它【0不勾选 1勾选】
                    pastStr +="4,";
                    if(!"0".equals(dates[i])){
                        json.put("PAST_OTHER_CONTENT_DATE",dates[i]);//既往史--疾病--高血压日期
                        archiveInfo.setPastOtherContentDate(dates[i]);
                    }
                }
            }
            if (pastStr.length()>1){
                pastStr = pastStr.substring(0,pastStr.length()-1);
            }
            archiveInfo.setPast(pastStr);
        }else{
            json.put("PAST_NONE","1");//既往史
            archiveInfo.setPast("0");
        }
        //遗传病史
        if(StringUtils.isNotBlank(archive.getGeneticFlag())){
            json.put("GENETIC","1");//遗传病史【0 无 1 有】
            json.put("GENETIC_DISEASENAME",archive.getGeneticContent());//疾病名称
            archiveInfo.setGenetic(0);
            archiveInfo.setGeneticDiseaseName(archive.getGeneticContent());
        }else{
            json.put("GENETIC","0");//遗传病史【0 无 1 有】
            archiveInfo.setGenetic(0);
        }
        //残疾
        if(StringUtils.isNotBlank(archive.getDisabilitys())){
            String disabilityStr = "";
            String ds[] = archive.getDisabilitys().split(",");
            for(String d :ds){
                if("1".equals(d)){
                    json.put("DISABILITY_WITHOUT","1");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="1,";
                }
                if("2".equals(d)){
                    json.put("DISABILITY_EYES","1");//有无残疾--视力残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="2,";
                }
                if("3".equals(d)){
                    json.put("DISABILITY_EAR","1");//有无残疾--听力残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="3,";
                }
                if("4".equals(d)){
                    json.put("DISABILITY_SPEECH","1");//有无残疾--言语残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="4,";
                }
                if("5".equals(d)){
                    json.put("DISABILITY_LIMB","1");//有无残疾--肢体残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="5,";
                }
                if("6".equals(d)){
                    json.put("DISABILITY_INTELLECTUAL","1");//有无残疾--智力残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="6,";
                }
                if("7".equals(d)){
                    json.put("DISABILITY_OTHER","1");//有无残疾--其它残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="7,";
                }
            }
            if (disabilityStr.length()>1){
                disabilityStr = disabilityStr.substring(0,disabilityStr.length()-1);
            }
            archiveInfo.setDisability(disabilityStr);
        }else{
            json.put("DISABILITY_WITHOUT","1");//  "DISABILITY_WITHOUT":"有无残疾--无残疾【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
            archiveInfo.setDisability("1");
        }
        //家族史
@ -564,134 +695,202 @@ public class PatientInfoService extends BaseService {
            //父亲
            if(StringUtils.isNotBlank(archive.getFamilyFatherHistorys())){
                String fatherStr ="";
                json.put("FAMILY_FATHER_NONE","0");//家族史--父亲--无【0不勾选 1勾选】
                String fhs[] = archive.getFamilyFatherHistorys().split(",");
                for(String fh : fhs){
                    if("1".equals(fh)){
                        json.put("FAMILY_FATHER_HYPERTENSION","1");//家族史--父亲--高血压【0不勾选 1勾选】
                        fatherStr += "1,";
                    } else if("2".equals(fh)){
                        json.put("FAMILY_FATHER_DIABETES","1");//家族史--父亲--糖尿病【0不勾选 1勾选】
                        fatherStr += "2,";
                    } else if("3".equals(fh)){
                        json.put("FAMILY_FATHER_CORONARY","1");//家族史--父亲--冠心病【0不勾选 1勾选】
                        fatherStr += "3,";
                    } else if("4".equals(fh)){
                        json.put("FAMILY_FATHER_ALLERGY","1");//家族史--父亲--慢性阻塞性肺疾病【0不勾选 1勾选】
                        fatherStr += "4,";
                    } else if("5".equals(fh)){
                        json.put("FAMILY_FATHER_MALIGNANT","1");//家族史--父亲--恶性肿瘤【0不勾选 1勾选】
                        fatherStr += "5,";
                    } else if("6".equals(fh)){
                        json.put("FAMILY_FATHER_STROKE","1");//家族史--父亲--脑卒中【0不勾选 1勾选】
                        fatherStr += "6,";
                    } else if("7".equals(fh)){
                        json.put("FAMILY_FATHER_SCHIZOPHRENIA","1");//家族史--父亲--重性精神疾病【0不勾选 1勾选】
                        fatherStr += "7,";
                    } else if("8".equals(fh)){
                        json.put("FAMILY_FATHER_TB","1");//家族史--父亲--结核病【0不勾选 1勾选】
                        fatherStr += "8,";
                    } else if("9".equals(fh)){
                        json.put("FAMILY_FATHER_HEPATITIS","1");//家族史--父亲--肝炎【0不勾选 1勾选】
                        fatherStr += "9,";
                    } else if("10".equals(fh)){
                        json.put("FAMILY_FATHER_CONGENITAL","1");//家族史--父亲--先天畸形【0不勾选 1勾选】
                        fatherStr += "10,";
                    } else if("11".equals(fh)){
                        json.put("FAMILY_FATHER_OTHER","1");//家族史--父亲--其它【0不勾选 1勾选】
                        fatherStr += "11,";
                    }
                }
                if (fatherStr.length()>1){
                    fatherStr = fatherStr.substring(0,fatherStr.length()-1);
                }
                archiveInfo.setFamilyFather(fatherStr);
            }else{
                json.put("FAMILY_FATHER_NONE","1");//家族史--父亲--无【0不勾选 1勾选】
                archiveInfo.setFamilyFather("0");
            }
            //母亲
            if(StringUtils.isNotBlank(archive.getFamilyMotherHistorys())){
                String motherStr = "";
                json.put("FAMILY_MOTHER_NONE","0");//家族史--母亲--无【0不勾选 1勾选】
                String mhs[] = archive.getFamilyMotherHistorys().split(",");
                for(String mh : mhs){
                    if("1".equals(mh)){
                        json.put("FAMILY_MOTHER_HYPERTENSION","1");//家族史--母亲--高血压【0不勾选 1勾选】
                        motherStr += "1,";
                    } else if("2".equals(mh)){
                        json.put("FAMILY_MOTHER_DIABETES","1");//家族史--母亲--糖尿病【0不勾选 1勾选】
                        motherStr += "2,";
                    } else if("3".equals(mh)){
                        json.put("FAMILY_MOTHER_CORONARY","1");//家族史--母亲--冠心病【0不勾选 1勾选】
                        motherStr += "3,";
                    } else if("4".equals(mh)){
                        json.put("FAMILY_MOTHER_ALLERGY","1");//家族史--母亲--慢性阻塞性肺疾病【0不勾选 1勾选】
                        motherStr += "4,";
                    } else if("5".equals(mh)){
                        json.put("FAMILY_MOTHER_MALIGNANT","1");//家族史--母亲--恶性肿瘤【0不勾选 1勾选】
                        motherStr += "5,";
                    } else if("6".equals(mh)){
                        json.put("FAMILY_MOTHER_STROKE","1");//家族史--母亲--脑卒中【0不勾选 1勾选】
                        motherStr += "6,";
                    } else if("7".equals(mh)){
                        json.put("FAMILY_MOTHER_SCHIZOPHRENIA","1");//家族史--母亲--重性精神疾病【0不勾选 1勾选】
                        motherStr += "7,";
                    } else if("8".equals(mh)){
                        json.put("FAMILY_MOTHER_TB","1");//家族史--母亲--结核病【0不勾选 1勾选】
                        motherStr += "8,";
                    } else if("9".equals(mh)){
                        json.put("FAMILY_MOTHER_HEPATITIS","1");//家族史--母亲--肝炎【0不勾选 1勾选】
                        motherStr += "9,";
                    } else if("10".equals(mh)){
                        json.put("FAMILY_MOTHER_CONGENITAL","1");//家族史--母亲--先天畸形【0不勾选 1勾选】
                        motherStr += "10,";
                    } else if("11".equals(mh)){
                        json.put("FAMILY_MOTHER_OTHER","1");//家族史--母亲--其它【0不勾选 1勾选】
                        motherStr += "11,";
                    }
                }
                if (motherStr.length()>1){
                    motherStr = motherStr.substring(0,motherStr.length()-1);
                }
                archiveInfo.setFamilyMother(motherStr);
            }else{
                json.put("FAMILY_MOTHER_NONE","1");//家族史--母亲--无【0不勾选 1勾选】
                archiveInfo.setFamilyMother("0");
            }
            //兄妹
            if(StringUtils.isNotBlank(archive.getFamilyBrotherHistorys())){
                String brotherStr = "";
                json.put("FAMILY_BROTHERS_NONE","0");//家族史--兄弟姐妹--无【0不勾选 1勾选】
                String bhs[] = archive.getFamilyBrotherHistorys().split(",");
                for(String bh : bhs){
                    if("1".equals(bh)){
                        json.put("FAMILY_BROTHERS_HYPERTENSION","1");//家族史--兄弟姐妹--高血压【0不勾选 1勾选】
                        brotherStr += "1,";
                    } else if("2".equals(bh)){
                        json.put("AMILY_BROTHERS_DIABETES","1");//家族史--兄弟姐妹--糖尿病【0不勾选 1勾选】
                        brotherStr += "2,";
                    } else if("3".equals(bh)){
                        json.put("FAMILY_BROTHERS_CORONARY","1");//家族史--兄弟姐妹--冠心病【0不勾选 1勾选】
                        brotherStr += "3,";
                    } else if("4".equals(bh)){
                        json.put("FAMILY_BROTHERS_ALLERGY","1");//家族史--兄弟姐妹--慢性阻塞性肺疾病【0不勾选 1勾选】
                        brotherStr += "4,";
                    } else if("5".equals(bh)){
                        json.put("FAMILY_BROTHERS_MALIGNANT","1");//家族史--兄弟姐妹--恶性肿瘤【0不勾选 1勾选】
                        brotherStr += "5,";
                    } else if("6".equals(bh)){
                        json.put("FAMILY_BROTHERS_STROKE","1");//家族史--兄弟姐妹--脑卒中【0不勾选 1勾选】
                        brotherStr += "6,";
                    } else if("7".equals(bh)){
                        json.put("FAMILY_BROTHERS_SCHIZOPHRENIA","1");//家族史--兄弟姐妹--重性精神疾病【0不勾选 1勾选】
                        brotherStr += "7,";
                    } else if("8".equals(bh)){
                        json.put("FAMILY_BROTHERS_TB","1");//家族史--兄弟姐妹--结核病【0不勾选 1勾选】
                        brotherStr += "8,";
                    } else if("9".equals(bh)){
                        json.put("FAMILY_BROTHERS_HEPATITIS","1");//家族史--兄弟姐妹--肝炎【0不勾选 1勾选】
                        brotherStr += "9,";
                    } else if("10".equals(bh)){
                        json.put("FAMILY_BROTHERS_CONGENITAL","1");//家族史--兄弟姐妹--先天畸形【0不勾选 1勾选】
                        brotherStr += "10,";
                    } else if("11".equals(bh)){
                        json.put("FAMILY_BROTHERS_OTHER","1");//家族史--兄弟姐妹--其它【0不勾选 1勾选】
                        brotherStr += "11,";
                    }
                }
                if (brotherStr.length()>1){
                    brotherStr = brotherStr.substring(0,brotherStr.length()-1);
                }
                archiveInfo.setFamilyBrothers(brotherStr);
            }else{
                json.put("FAMILY_BROTHERS_NONE","1");//家族史--兄弟姐妹--无【0不勾选 1勾选】
                archiveInfo.setFamilyBrothers("0");
            }
            //子女
            if(StringUtils.isNotBlank(archive.getFamilyBrotherHistorys())){
                String chidrenStr = "";
                json.put("FAMILY_CHILDREN_NONE","0");//家族史--兄弟姐妹--无【0不勾选 1勾选】
                String bhs[] = archive.getFamilyBrotherHistorys().split(",");
                for(String bh : bhs){
                    if("1".equals(bh)){
                        json.put("FAMILY_CHILDREN_HYPERTENSION","1");//家族史--子女--高血压【0不勾选 1勾选】
                        chidrenStr += "1,";
                    } else if("2".equals(bh)){
                        json.put("FAMILY_CHILDREN_DIABETES","1");//家族史--子女--糖尿病【0不勾选 1勾选】
                        chidrenStr += "2,";
                    } else if("3".equals(bh)){
                        json.put("FAMILY_CHILDREN_CORONARY","1");//家族史--子女--冠心病【0不勾选 1勾选】
                        chidrenStr += "3,";
                    } else if("4".equals(bh)){
                        json.put("FAMILY_CHILDREN_ALLERGY","1");//家族史--子女--慢性阻塞性肺疾病【0不勾选 1勾选】
                        chidrenStr += "4,";
                    } else if("5".equals(bh)){
                        json.put("FAMILY_CHILDREN_MALIGNANT","1");//家族史--子女--恶性肿瘤【0不勾选 1勾选】
                        chidrenStr += "5,";
                    } else if("6".equals(bh)){
                        json.put("FAMILY_CHILDREN_STROKE","1");//家族史--子女--脑卒中【0不勾选 1勾选】
                        chidrenStr += "6,";
                    } else if("7".equals(bh)){
                        json.put("FAMILY_CHILDREN_SCHIZOPHRENIA","1");//家族史--子女--重性精神疾病【0不勾选 1勾选】
                        chidrenStr += "7,";
                    } else if("8".equals(bh)){
                        json.put("FAMILY_BROTHERS_TB","1");//家族史--子女--结核病【0不勾选 1勾选】
                        chidrenStr += "8,";
                    } else if("9".equals(bh)){
                        json.put("FAMILY_CHILDREN_HEPATITIS","1");//家族史--子女--肝炎【0不勾选 1勾选】
                        chidrenStr += "9,";
                    } else if("10".equals(bh)){
                        json.put("FAMILY_CHILDREN_CONGENITAL","1");//家族史--子女--先天畸形【0不勾选 1勾选】
                        chidrenStr += "10,";
                    } else if("11".equals(bh)){
                        json.put("FAMILY_CHILDREN_OTHER","1");//家族史--子女--其它【0不勾选 1勾选】
                        chidrenStr += "11,";
                    }
                }
                if (chidrenStr.length()>1){
                    chidrenStr = chidrenStr.substring(0,chidrenStr.length()-1);
                }
                archiveInfo.setFamilyChildren(chidrenStr);
            }else{
                json.put("FAMILY_CHILDREN_NONE","1");//家族史--子女--无【0不勾选 1勾选】
                archiveInfo.setFamilyChildren("0");
            }
        }else{
@ -699,6 +898,11 @@ public class PatientInfoService extends BaseService {
            json.put("FAMILY_MOTHER_NONE","1");// "FAMILY_MOTHER_NONE":"家族史--母亲--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
            json.put("FAMILY_BROTHERS_NONE","1");//  "FAMILY_BROTHERS_NONE":"家族史--兄弟姐妹--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
            json.put("FAMILY_CHILDREN_NONE","1");//  "FAMILY_CHILDREN_NONE":"家族史--子女--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
            archiveInfo.setFamilyNone(0);
            archiveInfo.setFamilyFather("0");
            archiveInfo.setFamilyMother("0");
            archiveInfo.setFamilyBrothers("0");
            archiveInfo.setFamilyChildren("0");
        }
        json.put("SURGERY","0");// "SURGERY":"既往史--手术--【0 无 1 有】(同一类别,新增时,默认选无)",
@ -721,12 +925,19 @@ public class PatientInfoService extends BaseService {
        info.setGzztai("01");
        socialSecurityInfoDao.save(info);
        //保存建档记录信息到服务器数据库
        archiveInfo.setCode(getCode());
        archiveInfo.setArchiveCode(response);
        patientArchiveInfoDao.save(archiveInfo);
        return 1;
    }
    public int createProfile(PatientArchivesDto archive) throws Exception{
        Patient p = patientDao.findByCode(archive.getPatient());
        ArchiveInfo archiveInfo = new ArchiveInfo();
        Doctor doctorObj = doctorDao.findByCode(archive.getDoctorCode());
        com.alibaba.fastjson.JSONObject json = new com.alibaba.fastjson.JSONObject();
        json.put("ARCHIVE_TIME", DateUtil.getStringDateShort());//建档时间
@ -748,6 +959,35 @@ public class PatientInfoService extends BaseService {
        json.put("MARRIAGE",archive.getMarry());//婚姻状况【10.未婚 20.已婚 30.丧偶 40.离婚 90.未说明的婚姻状况】
        json.put("INSUR_CARD_NO",p.getSsc());//医保卡号
        //保存建档记录信息
        archiveInfo.setSickName(p.getName());
        archiveInfo.setDoctorCode(archive.getDoctorCode());
        if (doctorObj!=null){
            archiveInfo.setArchiveOperatorName(doctorObj.getName());
        }
        archiveInfo.setArchiveTime(DateUtil.getStringDateShort());
        int isSign = signFamilyDao.hasSingStatus(p.getIdcard());
        if (isSign>0){
            archiveInfo.setSignStatus(1);
        }else{
            archiveInfo.setSignStatus(0);
        }
        archiveInfo.setArchiveStatus(3);
        archiveInfo.setSickSex(p.getSex());
        archiveInfo.setBirthday(archive.getBrithday());
        archiveInfo.setJwZoneCode(archive.getJwCountryCode());
        archiveInfo.setIdentityType(1);
        archiveInfo.setIdentityCardNo(p.getIdcard());
        archiveInfo.setHomePhone(p.getMobile());
        archiveInfo.setHomeAddress(archive.getAdress());
        archiveInfo.setOrgId("0");
        archiveInfo.setResidence(1);
        archiveInfo.setNational(archive.getAdress());
        archiveInfo.setOrigo("350200");
        archiveInfo.setBlood(Integer.valueOf(archive.getBlood()));
        archiveInfo.setBloodRh(1);
        archiveInfo.setMarriage(Integer.valueOf(archive.getMarry()));
        archiveInfo.setInsurCardNo(p.getSsc());
        //补充参数
        json.put("ALLERGIC_WITHOUT","1");//药物过敏史--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
@ -755,55 +995,77 @@ public class PatientInfoService extends BaseService {
        json.put("TRANSFUSION","0");//   "TRANSFUSION":"既往史--输血--【0 无 1 有】(同一类别,新增时,默认选无)",
        json.put("EXPOSE_WITHOUT","1");//"EXPOSE_WITHOUT":"暴露史--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
        archiveInfo.setAllergic("0");
        archiveInfo.setPast("0");
        archiveInfo.setGenetic(0);
        //教育程度
        if(StringUtils.isNotBlank(archive.getEducation())){
            json.put("EDUCATION",archive.getEducation()+"");//文化程度
            archiveInfo.setEducation(Integer.valueOf(archive.getEducation()));
        }
        //职业
        if(StringUtils.isNotBlank(archive.getOccupation())){
            json.put("OCCUPATION",archive.getOccupation()+"");//职业
            archiveInfo.setOccupation(Integer.valueOf(archive.getOccupation()));
        }
        //支付方式
        if(StringUtils.isNotBlank(archive.getPayment())){
            json.put("MEDICAL_EXPENSES",archive.getPayment()+"");//支付方式
            archiveInfo.setMedicalExpenses(Integer.getInteger(archive.getPayment()));
        }
        //药物过敏史
        if(StringUtils.isNotBlank(archive.getDrugAllergys())){
            String allergicStr = "";
            json.put("ALLERGIC_WITHOUT","0");//药物过敏历史
            String as[] = archive.getDrugAllergys().split(",");
            for(String str : as){
                if("1".equals(str)){
                    json.put("ALLERGIC_PENICILLIN","1");//药物过敏史--青霉素
                    allergicStr +="1,";
                }
                if("2".equals(str)){
                    json.put("ALLERGIC_SULFANILAMIDE","1");//药物过敏史--磺胺
                    allergicStr +="2,";
                }
                if("3".equals(str)){
                    json.put("ALLERGIC_STREPTOMYCIN","1");//药物过敏史--链霉素
                    allergicStr +="3,";
                }
                if("4".equals(str)){
                    json.put("ALLERGIC_OTHER","1");//药物过敏史--其它
                    allergicStr +="4,";
                }
            }
            if (allergicStr.length()>1){
                allergicStr = allergicStr.substring(0,allergicStr.length()-1);
            }
            archiveInfo.setAllergic(allergicStr);
        }else{
            json.put("ALLERGIC_WITHOUT","1");//药物过敏历史
            archiveInfo.setAllergic("0");
        }
        //既往史
        if(StringUtils.isNotBlank(archive.getPastHistorys())){
            String pastStr = "";
            json.put("PAST_NONE","0");//既往史
            String phs[] = archive.getPastHistorys().split(",");
            String dates[] = archive.getPastHistoryDate().split(",");
            for(int i=0 ;i<phs.length ; i++){
                if("1".equals(phs[i])){
                    json.put("PAST_HYPERTENSION","1");//既往史--疾病--高血压【0不勾选 1勾选】
                    pastStr +="1,";
                    if(!"0".equals(dates[i])){
                        json.put("PAST_HYPERTENSION_DATE",dates[i]);//既往史--疾病--高血压日期
                        archiveInfo.setPastHypertensionDate(dates[i]);
                    }
                }else if("2".equals(phs[i])){
                    json.put("PAST_DIABETES","1");//既往史--疾病--糖尿病【0不勾选 1勾选】
                    pastStr +="2,";
                    if(!"0".equals(dates[i])){
                        json.put("PAST_DIABETES_DATE",dates[i]);//既往史--疾病--糖尿病日期
                        archiveInfo.setPastDiabetesDate(dates[i]);
                    }
                }
//                if("3".equals(phs[i])){
@ -814,58 +1076,81 @@ public class PatientInfoService extends BaseService {
//                }
                else if("4".equals(phs[i])){
                    json.put("PAST_OTHER","1");//既往史--疾病--其它【0不勾选 1勾选】
                    pastStr +="4,";
                    if(!"0".equals(dates[i])){
                        json.put("PAST_OTHER_CONTENT_DATE",dates[i]);//既往史--疾病--高血压日期
                        archiveInfo.setPastOtherContentDate(dates[i]);
                    }
                }
            }
            if (pastStr.length()>1){
                pastStr = pastStr.substring(0,pastStr.length()-1);
            }
            archiveInfo.setPast(pastStr);
        }else{
            json.put("PAST_NONE","1");//既往史
            archiveInfo.setPast("0");
        }
        //遗传病史
        if(StringUtils.isNotBlank(archive.getGeneticFlag())){
            json.put("GENETIC","1");//遗传病史【0 无 1 有】
            json.put("GENETIC_DISEASENAME",archive.getGeneticContent());//疾病名称
            archiveInfo.setGenetic(0);
            archiveInfo.setGeneticDiseaseName(archive.getGeneticContent());
        }else{
            json.put("GENETIC","0");//遗传病史【0 无 1 有】
            archiveInfo.setGenetic(0);
        }
        //残疾
        if(StringUtils.isNotBlank(archive.getDisabilitys())){
            String disabilityStr = "";
            String ds[] = archive.getDisabilitys().split(",");
            for(String d :ds){
                if("1".equals(d)){
                    json.put("DISABILITY_WITHOUT","1");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="1,";
                }
                if("2".equals(d)){
                    json.put("DISABILITY_EYES","1");//有无残疾--视力残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="2,";
                }
                if("3".equals(d)){
                    json.put("DISABILITY_EAR","1");//有无残疾--听力残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="3,";
                }
                if("4".equals(d)){
                    json.put("DISABILITY_SPEECH","1");//有无残疾--言语残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="4,";
                }
                if("5".equals(d)){
                    json.put("DISABILITY_LIMB","1");//有无残疾--肢体残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="5,";
                }
                if("6".equals(d)){
                    json.put("DISABILITY_INTELLECTUAL","1");//有无残疾--智力残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="6,";
                }
                if("7".equals(d)){
                    json.put("DISABILITY_OTHER","1");//有无残疾--其它残疾【0不勾选 1勾选】
                    json.put("DISABILITY_WITHOUT","0");//有无残疾--无残疾【0不勾选 1勾选】
                    disabilityStr +="7,";
                }
            }
            if (disabilityStr.length()>1){
                disabilityStr = disabilityStr.substring(0,disabilityStr.length()-1);
            }
            archiveInfo.setDisability(disabilityStr);
        }else{
            json.put("DISABILITY_WITHOUT","1");//  "DISABILITY_WITHOUT":"有无残疾--无残疾【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
            archiveInfo.setDisability("1");
        }
        //家族史
@ -873,134 +1158,202 @@ public class PatientInfoService extends BaseService {
            //父亲
            if(StringUtils.isNotBlank(archive.getFamilyFatherHistorys())){
                String fatherStr ="";
                json.put("FAMILY_FATHER_NONE","0");//家族史--父亲--无【0不勾选 1勾选】
                String fhs[] = archive.getFamilyFatherHistorys().split(",");
                for(String fh : fhs){
                    if("1".equals(fh)){
                        json.put("FAMILY_FATHER_HYPERTENSION","1");//家族史--父亲--高血压【0不勾选 1勾选】
                        fatherStr += "1,";
                    } else if("2".equals(fh)){
                        json.put("FAMILY_FATHER_DIABETES","1");//家族史--父亲--糖尿病【0不勾选 1勾选】
                        fatherStr += "2,";
                    } else if("3".equals(fh)){
                        json.put("FAMILY_FATHER_CORONARY","1");//家族史--父亲--冠心病【0不勾选 1勾选】
                        fatherStr += "3,";
                    } else if("4".equals(fh)){
                        json.put("FAMILY_FATHER_ALLERGY","1");//家族史--父亲--慢性阻塞性肺疾病【0不勾选 1勾选】
                        fatherStr += "4,";
                    } else if("5".equals(fh)){
                        json.put("FAMILY_FATHER_MALIGNANT","1");//家族史--父亲--恶性肿瘤【0不勾选 1勾选】
                        fatherStr += "5,";
                    } else if("6".equals(fh)){
                        json.put("FAMILY_FATHER_STROKE","1");//家族史--父亲--脑卒中【0不勾选 1勾选】
                        fatherStr += "6,";
                    } else if("7".equals(fh)){
                        json.put("FAMILY_FATHER_SCHIZOPHRENIA","1");//家族史--父亲--重性精神疾病【0不勾选 1勾选】
                        fatherStr += "7,";
                    } else if("8".equals(fh)){
                        json.put("FAMILY_FATHER_TB","1");//家族史--父亲--结核病【0不勾选 1勾选】
                        fatherStr += "8,";
                    } else if("9".equals(fh)){
                        json.put("FAMILY_FATHER_HEPATITIS","1");//家族史--父亲--肝炎【0不勾选 1勾选】
                        fatherStr += "9,";
                    } else if("10".equals(fh)){
                        json.put("FAMILY_FATHER_CONGENITAL","1");//家族史--父亲--先天畸形【0不勾选 1勾选】
                        fatherStr += "10,";
                    } else if("11".equals(fh)){
                        json.put("FAMILY_FATHER_OTHER","1");//家族史--父亲--其它【0不勾选 1勾选】
                        fatherStr += "11,";
                    }
                }
                if (fatherStr.length()>1){
                    fatherStr = fatherStr.substring(0,fatherStr.length()-1);
                }
                archiveInfo.setFamilyFather(fatherStr);
            }else{
                json.put("FAMILY_FATHER_NONE","1");//家族史--父亲--无【0不勾选 1勾选】
                archiveInfo.setFamilyFather("0");
            }
            //母亲
            if(StringUtils.isNotBlank(archive.getFamilyMotherHistorys())){
                String motherStr = "";
                json.put("FAMILY_MOTHER_NONE","0");//家族史--母亲--无【0不勾选 1勾选】
                String mhs[] = archive.getFamilyMotherHistorys().split(",");
                for(String mh : mhs){
                    if("1".equals(mh)){
                        json.put("FAMILY_MOTHER_HYPERTENSION","1");//家族史--母亲--高血压【0不勾选 1勾选】
                        motherStr += "1,";
                    } else if("2".equals(mh)){
                        json.put("FAMILY_MOTHER_DIABETES","1");//家族史--母亲--糖尿病【0不勾选 1勾选】
                        motherStr += "2,";
                    } else if("3".equals(mh)){
                        json.put("FAMILY_MOTHER_CORONARY","1");//家族史--母亲--冠心病【0不勾选 1勾选】
                        motherStr += "3,";
                    } else if("4".equals(mh)){
                        json.put("FAMILY_MOTHER_ALLERGY","1");//家族史--母亲--慢性阻塞性肺疾病【0不勾选 1勾选】
                        motherStr += "4,";
                    } else if("5".equals(mh)){
                        json.put("FAMILY_MOTHER_MALIGNANT","1");//家族史--母亲--恶性肿瘤【0不勾选 1勾选】
                        motherStr += "5,";
                    } else if("6".equals(mh)){
                        json.put("FAMILY_MOTHER_STROKE","1");//家族史--母亲--脑卒中【0不勾选 1勾选】
                        motherStr += "6,";
                    } else if("7".equals(mh)){
                        json.put("FAMILY_MOTHER_SCHIZOPHRENIA","1");//家族史--母亲--重性精神疾病【0不勾选 1勾选】
                        motherStr += "7,";
                    } else if("8".equals(mh)){
                        json.put("FAMILY_MOTHER_TB","1");//家族史--母亲--结核病【0不勾选 1勾选】
                        motherStr += "8,";
                    } else if("9".equals(mh)){
                        json.put("FAMILY_MOTHER_HEPATITIS","1");//家族史--母亲--肝炎【0不勾选 1勾选】
                        motherStr += "9,";
                    } else if("10".equals(mh)){
                        json.put("FAMILY_MOTHER_CONGENITAL","1");//家族史--母亲--先天畸形【0不勾选 1勾选】
                        motherStr += "10,";
                    } else if("11".equals(mh)){
                        json.put("FAMILY_MOTHER_OTHER","1");//家族史--母亲--其它【0不勾选 1勾选】
                        motherStr += "11,";
                    }
                }
                if (motherStr.length()>1){
                    motherStr = motherStr.substring(0,motherStr.length()-1);
                }
                archiveInfo.setFamilyMother(motherStr);
            }else{
                json.put("FAMILY_MOTHER_NONE","1");//家族史--母亲--无【0不勾选 1勾选】
                archiveInfo.setFamilyMother("0");
            }
            //兄妹
            if(StringUtils.isNotBlank(archive.getFamilyBrotherHistorys())){
                String brotherStr = "";
                json.put("FAMILY_BROTHERS_NONE","0");//家族史--兄弟姐妹--无【0不勾选 1勾选】
                String bhs[] = archive.getFamilyBrotherHistorys().split(",");
                for(String bh : bhs){
                    if("1".equals(bh)){
                        json.put("FAMILY_BROTHERS_HYPERTENSION","1");//家族史--兄弟姐妹--高血压【0不勾选 1勾选】
                        brotherStr += "1,";
                    } else if("2".equals(bh)){
                        json.put("AMILY_BROTHERS_DIABETES","1");//家族史--兄弟姐妹--糖尿病【0不勾选 1勾选】
                        brotherStr += "2,";
                    } else if("3".equals(bh)){
                        json.put("FAMILY_BROTHERS_CORONARY","1");//家族史--兄弟姐妹--冠心病【0不勾选 1勾选】
                        brotherStr += "3,";
                    } else if("4".equals(bh)){
                        json.put("FAMILY_BROTHERS_ALLERGY","1");//家族史--兄弟姐妹--慢性阻塞性肺疾病【0不勾选 1勾选】
                        brotherStr += "4,";
                    } else if("5".equals(bh)){
                        json.put("FAMILY_BROTHERS_MALIGNANT","1");//家族史--兄弟姐妹--恶性肿瘤【0不勾选 1勾选】
                        brotherStr += "5,";
                    } else if("6".equals(bh)){
                        json.put("FAMILY_BROTHERS_STROKE","1");//家族史--兄弟姐妹--脑卒中【0不勾选 1勾选】
                        brotherStr += "6,";
                    } else if("7".equals(bh)){
                        json.put("FAMILY_BROTHERS_SCHIZOPHRENIA","1");//家族史--兄弟姐妹--重性精神疾病【0不勾选 1勾选】
                        brotherStr += "7,";
                    } else if("8".equals(bh)){
                        json.put("FAMILY_BROTHERS_TB","1");//家族史--兄弟姐妹--结核病【0不勾选 1勾选】
                        brotherStr += "8,";
                    } else if("9".equals(bh)){
                        json.put("FAMILY_BROTHERS_HEPATITIS","1");//家族史--兄弟姐妹--肝炎【0不勾选 1勾选】
                        brotherStr += "9,";
                    } else if("10".equals(bh)){
                        json.put("FAMILY_BROTHERS_CONGENITAL","1");//家族史--兄弟姐妹--先天畸形【0不勾选 1勾选】
                        brotherStr += "10,";
                    } else if("11".equals(bh)){
                        json.put("FAMILY_BROTHERS_OTHER","1");//家族史--兄弟姐妹--其它【0不勾选 1勾选】
                        brotherStr += "11,";
                    }
                }
                if (brotherStr.length()>1){
                    brotherStr = brotherStr.substring(0,brotherStr.length()-1);
                }
                archiveInfo.setFamilyBrothers(brotherStr);
            }else{
                json.put("FAMILY_BROTHERS_NONE","1");//家族史--兄弟姐妹--无【0不勾选 1勾选】
                archiveInfo.setFamilyBrothers("0");
            }
            //子女
            if(StringUtils.isNotBlank(archive.getFamilyBrotherHistorys())){
                String chidrenStr = "";
                json.put("FAMILY_CHILDREN_NONE","0");//家族史--兄弟姐妹--无【0不勾选 1勾选】
                String bhs[] = archive.getFamilyBrotherHistorys().split(",");
                for(String bh : bhs){
                    if("1".equals(bh)){
                        json.put("FAMILY_CHILDREN_HYPERTENSION","1");//家族史--子女--高血压【0不勾选 1勾选】
                        chidrenStr += "1,";
                    } else if("2".equals(bh)){
                        json.put("FAMILY_CHILDREN_DIABETES","1");//家族史--子女--糖尿病【0不勾选 1勾选】
                        chidrenStr += "2,";
                    } else if("3".equals(bh)){
                        json.put("FAMILY_CHILDREN_CORONARY","1");//家族史--子女--冠心病【0不勾选 1勾选】
                        chidrenStr += "3,";
                    } else if("4".equals(bh)){
                        json.put("FAMILY_CHILDREN_ALLERGY","1");//家族史--子女--慢性阻塞性肺疾病【0不勾选 1勾选】
                        chidrenStr += "4,";
                    } else if("5".equals(bh)){
                        json.put("FAMILY_CHILDREN_MALIGNANT","1");//家族史--子女--恶性肿瘤【0不勾选 1勾选】
                        chidrenStr += "5,";
                    } else if("6".equals(bh)){
                        json.put("FAMILY_CHILDREN_STROKE","1");//家族史--子女--脑卒中【0不勾选 1勾选】
                        chidrenStr += "6,";
                    } else if("7".equals(bh)){
                        json.put("FAMILY_CHILDREN_SCHIZOPHRENIA","1");//家族史--子女--重性精神疾病【0不勾选 1勾选】
                        chidrenStr += "7,";
                    } else if("8".equals(bh)){
                        json.put("FAMILY_BROTHERS_TB","1");//家族史--子女--结核病【0不勾选 1勾选】
                        chidrenStr += "8,";
                    } else if("9".equals(bh)){
                        json.put("FAMILY_CHILDREN_HEPATITIS","1");//家族史--子女--肝炎【0不勾选 1勾选】
                        chidrenStr += "9,";
                    } else if("10".equals(bh)){
                        json.put("FAMILY_CHILDREN_CONGENITAL","1");//家族史--子女--先天畸形【0不勾选 1勾选】
                        chidrenStr += "10,";
                    } else if("11".equals(bh)){
                        json.put("FAMILY_CHILDREN_OTHER","1");//家族史--子女--其它【0不勾选 1勾选】
                        chidrenStr += "11,";
                    }
                }
                if (chidrenStr.length()>1){
                    chidrenStr = chidrenStr.substring(0,chidrenStr.length()-1);
                }
                archiveInfo.setFamilyChildren(chidrenStr);
            }else{
                json.put("FAMILY_CHILDREN_NONE","1");//家族史--子女--无【0不勾选 1勾选】
                archiveInfo.setFamilyChildren("0");
            }
        }else{
@ -1008,6 +1361,12 @@ public class PatientInfoService extends BaseService {
            json.put("FAMILY_MOTHER_NONE","1");// "FAMILY_MOTHER_NONE":"家族史--母亲--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
            json.put("FAMILY_BROTHERS_NONE","1");//  "FAMILY_BROTHERS_NONE":"家族史--兄弟姐妹--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
            json.put("FAMILY_CHILDREN_NONE","1");//  "FAMILY_CHILDREN_NONE":"家族史--子女--无【0不勾选 1勾选】(同一类别,新增时,默认勾选)",
            archiveInfo.setFamilyNone(0);
            archiveInfo.setFamilyFather("0");
            archiveInfo.setFamilyMother("0");
            archiveInfo.setFamilyBrothers("0");
            archiveInfo.setFamilyChildren("0");
        }
        json.put("SURGERY","0");// "SURGERY":"既往史--手术--【0 无 1 有】(同一类别,新增时,默认选无)",
@ -1030,6 +1389,11 @@ public class PatientInfoService extends BaseService {
        info.setGzztai("01");
        socialSecurityInfoDao.save(info);
        //保存建档记录信息到服务器数据库
        archiveInfo.setCode(getCode());
        archiveInfo.setArchiveCode(response);
        patientArchiveInfoDao.save(archiveInfo);
        return 1;
    }

+ 125 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/archives/PatientArchiveInfoService.java

@ -0,0 +1,125 @@
package com.yihu.wlyy.service.app.archives;
import com.yihu.wlyy.entity.address.City;
import com.yihu.wlyy.entity.address.Country;
import com.yihu.wlyy.entity.dict.SystemDict;
import com.yihu.wlyy.entity.doctor.archive.ArchiveInfo;
import com.yihu.wlyy.entity.doctor.archive.vo.ArchiveInfoDto;
import com.yihu.wlyy.repository.address.CityDao;
import com.yihu.wlyy.repository.address.CountryDao;
import com.yihu.wlyy.repository.archive.PatientArchiveInfoDao;
import com.yihu.wlyy.repository.dict.SystemDictDao;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * Created by zhangdan on 2018/1/4.
 * 建档记录信息
 */
@Service
public class PatientArchiveInfoService {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private PatientArchiveInfoDao patientArchiveInfoDao;
    @Autowired
    private SystemDictDao systemDictDao;
    @Autowired
    private CountryDao countryDao;
    @Autowired
    private CityDao cityDao;
    /**
     * 查询建档记录列表
     * @param doctorCode
     * @param signStatus
     * @param startTime
     * @param endTime
     * @param keyWord
     * @param pageNo
     * @param pageSize
     * @return
     */
    public List<Map<String,Object>> findArchiveList(String doctorCode, String signStatus, String startTime, String endTime, String keyWord, int pageNo, int pageSize){
        List<Map<String,Object>> archiveInfoList = new ArrayList<>();
        String sql = "SELECT " +
                " ai.sick_name AS sickName, " +
                " ai.identity_card_no AS identityCardNo, " +
                " ai.archive_time archiveTime, " +
                " ai.sign_status AS signStatus, " +
                " c.name AS zoneName " +
                " c.code AS zoneCode " +
                " c.jw_code AS jwZoneCode " +
                " FROM " +
                " wlyy_archive_info ai " +
                " LEFT JOIN dm_country c ON ai.jw_zone_code = c.jw_code " +
                " WHERE " +
                " doctor_code ='"+doctorCode+"'";
        if (StringUtils.isNotBlank(signStatus)){
            sql += " AND ai.sign_status = "+signStatus;
        }
        if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)){
            startTime += " 00:00:00";
            endTime += " 23:59:59";
            sql += " AND ai.archive_time >= '"+startTime+"'" +
                    " AND ai.archive_time <= '"+endTime+"'";
        }
        if (StringUtils.isNotBlank(keyWord)){
            sql += " AND (" +
                    " ai.sick_name LIKE '%"+keyWord+"%'" +
                    " OR ai.identity_card_no LIKE '%"+keyWord+"%'" +
                    " )";
        }
        int start = (pageNo-1)*pageSize;
        sql += "limit ?,?";
        archiveInfoList = jdbcTemplate.queryForList(sql,new Object[]{start,pageSize});
        return  archiveInfoList;
    }
    public ArchiveInfoDto findArchiveDetailsByCode(String code){
        ArchiveInfo archiveInfo = patientArchiveInfoDao.findArchiveDetailsByCode(code);
        ArchiveInfoDto archiveInfoDto = new ArchiveInfoDto();
        BeanUtils.copyProperties(archiveInfo,archiveInfoDto);
        List<SystemDict> bloodType = systemDictDao.findByDictName("BLOOD_TYPE");
        List<SystemDict> marryState = systemDictDao.findByDictName("MARRY_STATE");
        //设置血型字典里的值返回前端
        if (bloodType!=null && bloodType.size()>0){
            for (SystemDict blood : bloodType){
                if (Integer.valueOf(blood.getCode())==archiveInfoDto.getBlood()){
                    archiveInfoDto.setBloodStr(blood.getValue());
                }
            }
        }
        //设置婚姻字典里的值返回前端
        if (marryState!=null && marryState.size()>0){
            for (SystemDict marry : marryState){
                if (Integer.valueOf(marry.getCode())==archiveInfoDto.getMarriage()){
                    archiveInfoDto.setMarriageStr(marry.getValue());
                }
            }
        }
        //设置所属社区具体地址
        Country country = countryDao.findByJwCode(archiveInfo.getJwZoneCode());
        if (country != null){
            archiveInfoDto.setZoneCode(country.getCode());
            archiveInfoDto.setZoneName(country.getName());
        }
        //设置户口所在地具体地址
        City city = cityDao.findByCode(archiveInfo.getOrigo());
        if (city!=null){
            archiveInfoDto.setOrigoStr(city.getName());
        }
        return archiveInfoDto;
    }
}

+ 141 - 98
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/archives/DoctorArchivesController.java

@ -1,12 +1,15 @@
package com.yihu.wlyy.web.doctor.archives;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.service.app.archives.PatientArchiveInfoService;
import com.yihu.wlyy.service.app.archives.PatientEventService;
import com.yihu.wlyy.service.app.archives.PatientRecordService;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
@ -16,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -33,36 +37,35 @@ public class DoctorArchivesController extends BaseController {
    @Autowired
    private PatientEventService patientEventService;
    @Autowired
    private PatientArchiveInfoService patientArchiveInfoService;
    @ApiOperation("获取门诊记录/住院记录(基卫+APP)")
    @RequestMapping(value = "/event", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
    @ResponseBody
    public String getAllEvent(@ApiParam(name="patient",value="患者代码",defaultValue = "")
                              @RequestParam(value="patient",required = false) String patient,
                              @ApiParam(name="type",value="类型",defaultValue = "")
                              @RequestParam(value="type",required = false) String type,
                              @ApiParam(name="page",value="第几页",defaultValue = "1")
                              @RequestParam(value="page",required = true) String page,
                              @ApiParam(name="pageSize",value="每页几行",defaultValue = "10")
                              @RequestParam(value="pageSize",required = true) String pageSize,
                              @ApiParam(name="lastTime",value="最后一条时间",defaultValue = "2010-10-10 00:00:00")
                              @RequestParam(value="lastTime",required = false) String lastTime) {
    public String getAllEvent(@ApiParam(name = "patient", value = "患者代码", defaultValue = "")
                              @RequestParam(value = "patient", required = false) String patient,
                              @ApiParam(name = "type", value = "类型", defaultValue = "")
                              @RequestParam(value = "type", required = false) String type,
                              @ApiParam(name = "page", value = "第几页", defaultValue = "1")
                              @RequestParam(value = "page", required = true) String page,
                              @ApiParam(name = "pageSize", value = "每页几行", defaultValue = "10")
                              @RequestParam(value = "pageSize", required = true) String pageSize,
                              @ApiParam(name = "lastTime", value = "最后一条时间", defaultValue = "2010-10-10 00:00:00")
                              @RequestParam(value = "lastTime", required = false) String lastTime) {
        try {
            List<Map<String,String>> result = patientRecordService.getAllEvent(patient,type,page,pageSize,lastTime);
            List<Map<String, String>> result = patientRecordService.getAllEvent(patient, type, page, pageSize, lastTime);
            return write(200, "获取就诊记录成功!", "data", result);
        } catch (Exception e) {
            error(e);
            if(e.getMessage().indexOf("卡号尚未在医疗机构注册过")>0)
            {
                return error(-1,"对不起,您的社保卡有变更,请改天再试");
            }
            else if(e.getMessage().startsWith("error"))
            {
                return error(-1,e.getMessage());
            }
            else{
                return error(-1,"获取门/急诊数据失败!");
            if (e.getMessage().indexOf("卡号尚未在医疗机构注册过") > 0) {
                return error(-1, "对不起,您的社保卡有变更,请改天再试");
            } else if (e.getMessage().startsWith("error")) {
                return error(-1, e.getMessage());
            } else {
                return error(-1, "获取门/急诊数据失败!");
            }
        }
    }
@ -70,30 +73,26 @@ public class DoctorArchivesController extends BaseController {
    @RequestMapping(value = "/event/healthData", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("获取健康档案详情(基卫)")
    public String getHealthData(@ApiParam(name="patient",value="患者代码",defaultValue = "")
                                @RequestParam(value="patient",required = false) String patient,
                                @ApiParam(name="event",value="事件ID",defaultValue = "")
                                @RequestParam(value="event",required = true) String event,
                                @ApiParam(name="catalog",value="档案类型",defaultValue = "")
                                @RequestParam(value="catalog",required = true) String catalog,
                                @ApiParam(name="serial",value="该类别顺序号,默认填1",defaultValue = "1")
                                @RequestParam(value="serial",required = true) String serial) {
    public String getHealthData(@ApiParam(name = "patient", value = "患者代码", defaultValue = "")
                                @RequestParam(value = "patient", required = false) String patient,
                                @ApiParam(name = "event", value = "事件ID", defaultValue = "")
                                @RequestParam(value = "event", required = true) String event,
                                @ApiParam(name = "catalog", value = "档案类型", defaultValue = "")
                                @RequestParam(value = "catalog", required = true) String catalog,
                                @ApiParam(name = "serial", value = "该类别顺序号,默认填1", defaultValue = "1")
                                @RequestParam(value = "serial", required = true) String serial) {
        try {
            String result = patientRecordService.getHealthData(patient, event, catalog, serial);
            return write(200, "获取健康档案详情成功!", "data", result);
        } catch (Exception e) {
            error(e);
            if(e.getMessage().indexOf("卡号尚未在医疗机构注册过")>0)
            {
                return error(-1,"对不起,您的社保卡有变更,请改天再试");
            }
            else if(e.getMessage().startsWith("error"))
            {
                return error(-1,e.getMessage());
            }
            else{
                return error(-1,"获取健康档案详情失败!");
            if (e.getMessage().indexOf("卡号尚未在医疗机构注册过") > 0) {
                return error(-1, "对不起,您的社保卡有变更,请改天再试");
            } else if (e.getMessage().startsWith("error")) {
                return error(-1, e.getMessage());
            } else {
                return error(-1, "获取健康档案详情失败!");
            }
        }
    }
@ -101,26 +100,22 @@ public class DoctorArchivesController extends BaseController {
    @RequestMapping(value = "/event/catalog", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("通过事件号获取档案类型列表(基卫)")
    public String getEventCatalog(@ApiParam(name="patient",value="患者代码",defaultValue = "")
                                  @RequestParam(value="patient",required = false) String patient,
                                  @ApiParam(name="event",value="事件ID",defaultValue = "")
                                  @RequestParam(value="event",required = true) String event) {
    public String getEventCatalog(@ApiParam(name = "patient", value = "患者代码", defaultValue = "")
                                  @RequestParam(value = "patient", required = false) String patient,
                                  @ApiParam(name = "event", value = "事件ID", defaultValue = "")
                                  @RequestParam(value = "event", required = true) String event) {
        try {
            List<Map<String,String>> result = patientRecordService.getEventCatalog(patient,event);
            List<Map<String, String>> result = patientRecordService.getEventCatalog(patient, event);
            return write(200, "通过事件号获取档案类型列表成功!", "data", result);
        } catch (Exception e) {
            error(e);
            if(e.getMessage().indexOf("卡号尚未在医疗机构注册过")>0)
            {
                return error(-1,"对不起,您的社保卡有变更,请改天再试");
            }
            else if(e.getMessage().startsWith("error"))
            {
                return error(-1,e.getMessage());
            }
            else{
                return error(-1,"获取档案类型列表失败!");
            if (e.getMessage().indexOf("卡号尚未在医疗机构注册过") > 0) {
                return error(-1, "对不起,您的社保卡有变更,请改天再试");
            } else if (e.getMessage().startsWith("error")) {
                return error(-1, e.getMessage());
            } else {
                return error(-1, "获取档案类型列表失败!");
            }
        }
    }
@ -129,28 +124,24 @@ public class DoctorArchivesController extends BaseController {
    @RequestMapping(value = "/event/drug", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("获取用药记录(基卫)")
    public String getDrugsList(@ApiParam(name="patient",value="患者代码",defaultValue = "")
                               @RequestParam(value="patient",required = false) String patient,
                               @ApiParam(name="page",value="第几页",defaultValue = "1")
                               @RequestParam(value="page",required = true) String page,
                               @ApiParam(name="pageSize",value="每页几行",defaultValue = "10")
                               @RequestParam(value="pageSize",required = true) String pageSize) {
    public String getDrugsList(@ApiParam(name = "patient", value = "患者代码", defaultValue = "")
                               @RequestParam(value = "patient", required = false) String patient,
                               @ApiParam(name = "page", value = "第几页", defaultValue = "1")
                               @RequestParam(value = "page", required = true) String page,
                               @ApiParam(name = "pageSize", value = "每页几行", defaultValue = "10")
                               @RequestParam(value = "pageSize", required = true) String pageSize) {
        try {
            String result = patientRecordService.getDrugsListPage(patient, page, pageSize);
            return write(200, "获取用药记录成功!", "data", result);
        } catch (Exception e) {
            error(e);
            if(e.getMessage().indexOf("卡号尚未在医疗机构注册过")>0)
            {
                return error(-1,"对不起,您的社保卡有变更,请改天再试");
            }
            else if(e.getMessage().startsWith("error"))
            {
                return error(-1,e.getMessage());
            }
            else{
                return error(-1,"获取用药记录失败!");
            if (e.getMessage().indexOf("卡号尚未在医疗机构注册过") > 0) {
                return error(-1, "对不起,您的社保卡有变更,请改天再试");
            } else if (e.getMessage().startsWith("error")) {
                return error(-1, e.getMessage());
            } else {
                return error(-1, "获取用药记录失败!");
            }
        }
    }
@ -158,42 +149,38 @@ public class DoctorArchivesController extends BaseController {
    @ApiOperation("获取检查检验报告(基卫+APP)")
    @RequestMapping(value = "/event/report", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
    @ResponseBody
    public String getReportList(@ApiParam(name="patient",value="患者代码",defaultValue = "")
                                @RequestParam(value="patient",required = false) String patient,
                                @ApiParam(name="page",value="第几页",defaultValue = "1")
                                @RequestParam(value="page",required = true) String page,
                                @ApiParam(name="pageSize",value="每页几行",defaultValue = "10")
                                @RequestParam(value="pageSize",required = true) String pageSize,
                                @ApiParam(name="lastTime",value="最后一条时间",defaultValue = "2010-10-10 00:00:00")
                                    @RequestParam(value="lastTime",required = false) String lastTime)
    {
    public String getReportList(@ApiParam(name = "patient", value = "患者代码", defaultValue = "")
                                @RequestParam(value = "patient", required = false) String patient,
                                @ApiParam(name = "page", value = "第几页", defaultValue = "1")
                                @RequestParam(value = "page", required = true) String page,
                                @ApiParam(name = "pageSize", value = "每页几行", defaultValue = "10")
                                @RequestParam(value = "pageSize", required = true) String pageSize,
                                @ApiParam(name = "lastTime", value = "最后一条时间", defaultValue = "2010-10-10 00:00:00")
                                @RequestParam(value = "lastTime", required = false) String lastTime) {
        try {
            List<Map<String,String>> result = patientRecordService.getExamAndLabReport(patient, page, pageSize,lastTime);
            List<Map<String, String>> result = patientRecordService.getExamAndLabReport(patient, page, pageSize, lastTime);
            return write(200, "获取检查检验报告成功!", "data", result);
        } catch (Exception e) {
            error(e);
            if(e.getMessage().indexOf("卡号尚未在医疗机构注册过")>0)
            {
                return error(-1,"对不起,您的社保卡有变更,请改天再试");
            }
            else if(e.getMessage().startsWith("error"))
            {
                return error(-1,e.getMessage());
            }
            else{
                return error(-1,"获取检查检验报告失败!");
            if (e.getMessage().indexOf("卡号尚未在医疗机构注册过") > 0) {
                return error(-1, "对不起,您的社保卡有变更,请改天再试");
            } else if (e.getMessage().startsWith("error")) {
                return error(-1, e.getMessage());
            } else {
                return error(-1, "获取检查检验报告失败!");
            }
        }
    }
    /******************************************* 就诊事件管理 **********************************************************/
    /*******************************************
     * 就诊事件管理
     **********************************************************/
    @RequestMapping(value = "/event/detail", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("获取就诊事件详情")
    public String getEventDetail(@ApiParam(name="event",value="事件ID",defaultValue = "")
                                 @RequestParam(value="event",required = true) String event)
    {
    public String getEventDetail(@ApiParam(name = "event", value = "事件ID", defaultValue = "")
                                 @RequestParam(value = "event", required = true) String event) {
        try {
            JSONObject result = patientEventService.getEventDetail(event);
@ -208,9 +195,8 @@ public class DoctorArchivesController extends BaseController {
    @ResponseBody
    @ApiOperation("保存就诊事件详情")
    @ObserverRequired
    public String saveEventDetail(@ApiParam(name="data",value="就诊事件json数据",defaultValue = "")
                                 @RequestParam(value="data",required = true) String data)
    {
    public String saveEventDetail(@ApiParam(name = "data", value = "就诊事件json数据", defaultValue = "")
                                  @RequestParam(value = "data", required = true) String data) {
        try {
            patientEventService.saveEventDetail(data, getUID());
@ -220,4 +206,61 @@ public class DoctorArchivesController extends BaseController {
            return invalidUserException(e, -1, "保存就诊事件失败!");
        }
    }
}
    /**
     * 医生查询建档记录
     *
     * @param signStatus
     * @param startTime
     * @param endTime
     * @param keyWord
     * @param pageNo
     * @param pageSize
     * @return
     */
    @RequestMapping(value = "/findArchivesList", method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation("获取建档记录")
    public String findArchivesList(@ApiParam(name = "signStatus", value = "签约状态") @RequestParam(value = "signStatus", required = false) String signStatus,
                                   @ApiParam(name = "startTime", value = "开始时间") @RequestParam(value = "startTime", required = false) String startTime,
                                   @ApiParam(name = "endTime", value = "结束时间") @RequestParam(value = "endTime", required = false) String endTime,
                                   @ApiParam(name = "keyWord", value = "居民姓名或者身份证") @RequestParam(value = "keyWord", required = false) String keyWord,
                                   @ApiParam(name = "pageNo", value = "页码") @RequestParam(value = "pageNo", required = true, defaultValue = "1") String pageNo,
                                   @ApiParam(name = "pageSize", value = "页数") @RequestParam(value = "pageSize", required = false, defaultValue = "10") String pageSize) {
        try {
            if (StringUtils.isNotBlank(startTime)) {
                if (StringUtils.isNotBlank(endTime)) {
                    Date startDate = DateUtil.strToDate(startTime, "yyyy-MM-dd");
                    Date endDate = DateUtil.strToDate(endTime, "yyyy-MM-dd");
                    if (startDate.after(endDate)) {
                        return error(-2, "参数错误");
                    }
                }
            }
            if (StringUtils.isBlank(pageSize)) {
                pageSize = "10";
            }
            return write(200, "查询成功", "data", patientArchiveInfoService.findArchiveList(getUID(), signStatus, startTime, endTime, keyWord, Integer.valueOf(pageNo), Integer.valueOf(pageSize)));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败");
        }
    }
    /**
     * 建档记录详情
     * @param code
     * @return
     */
    @RequestMapping(value = "/findArchiveDetailsByCode", method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation(value = "获取建档信息详情")
    public String findArchiveDetailsByCode(@ApiParam(name = "code", value = "数据库唯一标识code") @RequestParam(value = "code", required = true) String code) {
        try {
            return write(200, "查询成功","data",patientArchiveInfoService.findArchiveDetailsByCode(code));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败");
        }
    }
}