Browse Source

代码修改

LAPTOP-KB9HII50\70708 3 years ago
parent
commit
791c2de756

+ 4 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/BasePatientDO.java

@ -236,6 +236,10 @@ public class BasePatientDO extends UuidIdentityEntityWithOperator {
     */
    private Date loginDate;
    /**
     * 互联网医院 眼科通userId
     * 医养项目 水表户号
     */
    private String userId;
    /**

+ 14 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/admin/CommonEndpoint.java

@ -2,6 +2,7 @@ package com.yihu.jw.care.endpoint.admin;
import com.yihu.jw.care.dao.label.BaseCapacityLabelDao;
import com.yihu.jw.care.service.common.CommomService;
import com.yihu.jw.care.service.patient.CarePatientService;
import com.yihu.jw.care.util.DingdingUtil;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.label.BaseCapacityLabelDO;
@ -47,6 +48,19 @@ public class CommonEndpoint extends EnvelopRestEndpoint {
    private CommomService commomService;
    @Autowired
    private DingdingUtil dingdingUtil;
    @Autowired
    private CarePatientService carePatientService;
    @GetMapping(value = "open/initJczdPerson")
    @ApiOperation(value = "初始化杭州老人")
    public Envelop initJczdPerson() {
        try {
            carePatientService.initJczdPerson();
            return success("初始化成功");
        } catch (Exception e) {
            return failedException2(e);
        }
    }
    @GetMapping(value = "open/testZzd")
    @ApiOperation(value = "测试浙政钉")

+ 122 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java

@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.care.aop.RedisLockAOP;
import com.yihu.jw.care.dao.family.PatientFamilyMemberDao;
import com.yihu.jw.care.dao.label.BaseCapacityLabelDao;
import com.yihu.jw.care.dao.label.WlyyPatientLabelDao;
import com.yihu.jw.care.service.common.DictService;
@ -12,27 +14,35 @@ import com.yihu.jw.care.service.family.PatientFamilyMemberService;
import com.yihu.jw.care.service.sign.CapacityAssessmentRecordService;
import com.yihu.jw.care.service.sign.ServicePackageService;
import com.yihu.jw.care.util.ConstantUtil;
import com.yihu.jw.care.vo.JczdPersonVo;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageSignRecordDO;
import com.yihu.jw.entity.care.label.BaseCapacityLabelDO;
import com.yihu.jw.entity.care.label.WlyyPatientLabelDO;
import com.yihu.jw.entity.care.sign.CapacityAssessmentRecordDO;
import com.yihu.jw.entity.hospital.family.WlyyPatientFamilyMemberDO;
import com.yihu.jw.hospital.family.dao.WlyyPatientFamilyMemberDao;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.dao.BasePatientMedicareCardDao;
import com.yihu.jw.patient.service.BasePatientMedicardCardService;
import com.yihu.jw.patient.service.BasePatientService;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.sms.dao.HospitalSysDictDao;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.common.LatitudeUtils;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.StringUtil;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.utils.security.MD5;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
@ -56,12 +66,12 @@ import java.util.stream.Collectors;
 */
@Service
public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatientDao> {
    private static final Logger logger = LoggerFactory.getLogger(CarePatientService.class);
    @Autowired
    private BasePatientDao patientDao;
    @Autowired
    private BasePatientMedicardCardService basePatientMedicardCardService;
    private BasePatientMedicareCardDao basePatientMedicareCardDao;
    @Autowired
    private ServicePackageService servicePackageService;
    @Autowired
@ -73,6 +83,8 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
    @Autowired
    private PatientFamilyMemberService familyMemberService;
    @Autowired
    private WlyyPatientFamilyMemberDao familyMemberDao;
    @Autowired
    private BaseDoctorHospitalDao doctorHospitalDao;
    @Value("${wechat.id}")
    private String wxId;
@ -87,6 +99,114 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
    @Autowired
    private BasePatientService basePatientService;
    /**
     * 初始化杭州老人,只保存有身份证且有手机号的数据
     */
    public void initJczdPerson(){
        Map<String,String> lableCodeMap = new HashMap<>();
        Map<String,String> lableCodeNameMap = new HashMap<>();
        lableCodeMap.put("1","1");//低保
        lableCodeMap.put("9","2");//低边
        lableCodeMap.put("41","3");//独居
        lableCodeMap.put("73","3");//独居
        lableCodeMap.put("40","4");//孤寡
        lableCodeMap.put("10","7");//特困
        lableCodeNameMap.put("1","低保");//低保
        lableCodeNameMap.put("2","低边");//低边
        lableCodeNameMap.put("3","独居");//独居
        lableCodeNameMap.put("4","孤寡");//孤寡
        lableCodeNameMap.put("7","特困");//特困
        String sqlPatient = "select idcard from base_patient where idcard is not null";
        List<String> list1 = jdbcTemplate.queryForList(sqlPatient,String.class);
        String sqlCount = "SELECT COUNT(*) c from hz.jczd_person WHERE data_flag =1 and dead_date is null ";
        Integer total = jdbcTemplate.queryForObject(sqlCount,Integer.class);
        int start = 0;
        int size = 100;
        int num = total/size +1;
        String hzPhoto = "group1/M00/00/04/ChIrKGIxsyeACOH4AAAj7meuq5Y176.png";
        String sql = "SELECT * from hz.jczd_person WHERE id>? and data_flag =1 and certificate_number is not null and dead_date is null" +
                " and (person_phone is not null or  telephone is not  null) order by id limit ?";
        int j = 0;
        for (int i=0;i<num;i++){
            List<JczdPersonVo> list = jdbcTemplate.query(sql,new Object[]{start,size},new BeanPropertyRowMapper<>(JczdPersonVo.class));
            if (list.size()>0){
                j = 0;
                for (JczdPersonVo person:list){
                    String idcard = person.getCertificateNumber();
                    if(list1.contains(idcard)){
                        continue;
                    }
                    BasePatientDO patient = new BasePatientDO();
                    String salt = UUID.randomUUID().toString().substring(0,5);
                    patient.setPassword(MD5.md5Hex(idcard + "{" + salt + "}"));
                    patient.setSalt(salt);
                    String mobile = StringUtil.isEmpty(person.getPersonPhone())?person.getTelephone():person.getPersonPhone();
                    patient.setMobile(mobile);
                    patient.setDel("1");
                    patient.setEnabled(1);
                    patient.setLocked(0);
                    patient.setSignStatus(0);
                    patient.setDeviceFlag(0);
                    patient.setCreateTime(new Date());
                    patient.setUpdateTime(new Date());
                    patient.setName(person.getPersonName());
                    patient.setIdcard(idcard);
                    patient.setSex(person.getSex());
                    patient.setBirthday(person.getBirthday());
                    patient.setArchiveType(1);
                    patient.setArchiveStatus(1);
                    patient.setPhoto(hzPhoto);
                    String address = StringUtil.isEmpty(person.getLiveAddress())?person.getRegistryAddress():person.getLiveAddress();
                    patient.setAddress(address);
                    if(StringUtils.isNotBlank(address)){
                        Map<String,String> map = LatitudeUtils.getGeocoderLatitude(address);
                        if(map!=null){
                            String latlon = map.get("lat")+","+map.get("lng");
                            patient.setLatLon(latlon);
                        }
                    }
                    patientDao.save(patient);
                    String pateintId = patient.getId();
                    WlyyPatientFamilyMemberDO wlyyPatientFamilyMemberDO = new WlyyPatientFamilyMemberDO();
                    wlyyPatientFamilyMemberDO.setIsDel(1);
                    wlyyPatientFamilyMemberDO.setPatient(pateintId);
                    wlyyPatientFamilyMemberDO.setFamilyMember(patient.getId());
                    wlyyPatientFamilyMemberDO.setFamilyRelation("7");
                    wlyyPatientFamilyMemberDO.setFamilyRelationName("本人");
                    wlyyPatientFamilyMemberDO.setCardNo(idcard);
                    familyMemberDao.save(wlyyPatientFamilyMemberDO);
                    String persionTags = person.getPersonTags();
                    if(StringUtils.isNotBlank(persionTags)){
                        String pertags[] = persionTags.split(",");
                        for (String tag:pertags){
                            String label = lableCodeMap.get(tag);
                            if(StringUtils.isNotBlank(label)){
                                WlyyPatientLabelDO patientLabelDO = new WlyyPatientLabelDO();
                                patientLabelDO.setCzrq(new Date());
                                patientLabelDO.setLabelType("3");
                                patientLabelDO.setPatient(pateintId);
                                patientLabelDO.setLabelCode(label);
                                patientLabelDO.setLabelName(lableCodeNameMap.get(label));
                                patientLabelDao.save(patientLabelDO);
                            }
                        }
                    }
                    j++;
                }
                logger.info("新增人数="+j);
            }
        }
    }
    /**
     * 获取能力状况
     * @param patient

+ 350 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/vo/JczdPersonVo.java

@ -0,0 +1,350 @@
package com.yihu.jw.care.vo;
import java.io.Serializable;
import java.util.Date;
/**
 * 杭州居民信息
 * Created by yeshijie on 2022/4/25.
 */
public class JczdPersonVo implements Serializable {
    private Long id;//主键
    private Long tenantId;//租户ID
    private Long oldGridId;//老的网格id
    private Integer status;//人员状态
    private String personName;//姓名
    private String photoFilePath;//头像图片地址
    private String nationality;//国籍
    private String usedName;//曾用名
    private Integer certificateType;//证件类型:0-身份证,1-护照
    private String certificateNumber;//证件号码
    private Date certificateTermStart;//证件有效期起
    private Date certificateTermEnd;//证件有效期止
    private String personPhone;//手机号
    private Integer sex;//性别 0-女,1-男
    private String liveAddress;//居住地
    private Integer hasResidence;//有无住所,0-无,1-有
    private Integer permanentResidence;//是否常住,0-无,1-是
    private Integer isFloating;//1 户籍人口 2流动人口 3境外人口
    private Date birthday;//生日
    private Integer dataFlag;//0-已删除,1-有效
    private String unifyAddress_code;//统一地址编码
    private String familyCode;//关联家庭(户号)
    private String telephone;//电话号码
    private String personTags;//人员属性
    private Long oldRegistryGridId;//老的网格id
    private String liveAddressCode;//居住地址code
    private String registryAddressCode;//户籍地址code
    private String registryAddress;//户籍地址
    private String liveHouseType;//居住类型, 1:自住,2:租住
    private String licensePlate;//车牌号
    private String gridId;//新的网格id
    private String registryGridId;//新的网格id
    private String familyCodeId;//户号id
    private Date lastVisitTime;//最新访问时间
    private String lastVisitor;//最新采访人
    private Date deadDate;// 死亡时间
    private String personMobile;//电话号码(本系统维护的号码)
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Long getTenantId() {
        return tenantId;
    }
    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }
    public Long getOldGridId() {
        return oldGridId;
    }
    public void setOldGridId(Long oldGridId) {
        this.oldGridId = oldGridId;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public String getPersonName() {
        return personName;
    }
    public void setPersonName(String personName) {
        this.personName = personName;
    }
    public String getPhotoFilePath() {
        return photoFilePath;
    }
    public void setPhotoFilePath(String photoFilePath) {
        this.photoFilePath = photoFilePath;
    }
    public String getNationality() {
        return nationality;
    }
    public void setNationality(String nationality) {
        this.nationality = nationality;
    }
    public String getUsedName() {
        return usedName;
    }
    public void setUsedName(String usedName) {
        this.usedName = usedName;
    }
    public Integer getCertificateType() {
        return certificateType;
    }
    public void setCertificateType(Integer certificateType) {
        this.certificateType = certificateType;
    }
    public String getCertificateNumber() {
        return certificateNumber;
    }
    public void setCertificateNumber(String certificateNumber) {
        this.certificateNumber = certificateNumber;
    }
    public Date getCertificateTermStart() {
        return certificateTermStart;
    }
    public void setCertificateTermStart(Date certificateTermStart) {
        this.certificateTermStart = certificateTermStart;
    }
    public Date getCertificateTermEnd() {
        return certificateTermEnd;
    }
    public void setCertificateTermEnd(Date certificateTermEnd) {
        this.certificateTermEnd = certificateTermEnd;
    }
    public String getPersonPhone() {
        return personPhone;
    }
    public void setPersonPhone(String personPhone) {
        this.personPhone = personPhone;
    }
    public Integer getSex() {
        return sex;
    }
    public void setSex(Integer sex) {
        this.sex = sex;
    }
    public String getLiveAddress() {
        return liveAddress;
    }
    public void setLiveAddress(String liveAddress) {
        this.liveAddress = liveAddress;
    }
    public Integer getHasResidence() {
        return hasResidence;
    }
    public void setHasResidence(Integer hasResidence) {
        this.hasResidence = hasResidence;
    }
    public Integer getPermanentResidence() {
        return permanentResidence;
    }
    public void setPermanentResidence(Integer permanentResidence) {
        this.permanentResidence = permanentResidence;
    }
    public Integer getIsFloating() {
        return isFloating;
    }
    public void setIsFloating(Integer isFloating) {
        this.isFloating = isFloating;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public Integer getDataFlag() {
        return dataFlag;
    }
    public void setDataFlag(Integer dataFlag) {
        this.dataFlag = dataFlag;
    }
    public String getUnifyAddress_code() {
        return unifyAddress_code;
    }
    public void setUnifyAddress_code(String unifyAddress_code) {
        this.unifyAddress_code = unifyAddress_code;
    }
    public String getFamilyCode() {
        return familyCode;
    }
    public void setFamilyCode(String familyCode) {
        this.familyCode = familyCode;
    }
    public String getTelephone() {
        return telephone;
    }
    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }
    public String getPersonTags() {
        return personTags;
    }
    public void setPersonTags(String personTags) {
        this.personTags = personTags;
    }
    public Long getOldRegistryGridId() {
        return oldRegistryGridId;
    }
    public void setOldRegistryGridId(Long oldRegistryGridId) {
        this.oldRegistryGridId = oldRegistryGridId;
    }
    public String getLiveAddressCode() {
        return liveAddressCode;
    }
    public void setLiveAddressCode(String liveAddressCode) {
        this.liveAddressCode = liveAddressCode;
    }
    public String getRegistryAddressCode() {
        return registryAddressCode;
    }
    public void setRegistryAddressCode(String registryAddressCode) {
        this.registryAddressCode = registryAddressCode;
    }
    public String getRegistryAddress() {
        return registryAddress;
    }
    public void setRegistryAddress(String registryAddress) {
        this.registryAddress = registryAddress;
    }
    public String getLiveHouseType() {
        return liveHouseType;
    }
    public void setLiveHouseType(String liveHouseType) {
        this.liveHouseType = liveHouseType;
    }
    public String getLicensePlate() {
        return licensePlate;
    }
    public void setLicensePlate(String licensePlate) {
        this.licensePlate = licensePlate;
    }
    public String getGridId() {
        return gridId;
    }
    public void setGridId(String gridId) {
        this.gridId = gridId;
    }
    public String getRegistryGridId() {
        return registryGridId;
    }
    public void setRegistryGridId(String registryGridId) {
        this.registryGridId = registryGridId;
    }
    public String getFamilyCodeId() {
        return familyCodeId;
    }
    public void setFamilyCodeId(String familyCodeId) {
        this.familyCodeId = familyCodeId;
    }
    public Date getLastVisitTime() {
        return lastVisitTime;
    }
    public void setLastVisitTime(Date lastVisitTime) {
        this.lastVisitTime = lastVisitTime;
    }
    public String getLastVisitor() {
        return lastVisitor;
    }
    public void setLastVisitor(String lastVisitor) {
        this.lastVisitor = lastVisitor;
    }
    public Date getDeadDate() {
        return deadDate;
    }
    public void setDeadDate(Date deadDate) {
        this.deadDate = deadDate;
    }
    public String getPersonMobile() {
        return personMobile;
    }
    public void setPersonMobile(String personMobile) {
        this.personMobile = personMobile;
    }
    
}