Bladeren bron

代码修改

LAPTOP-KB9HII50\70708 9 maanden geleden
bovenliggende
commit
0bb7e501ce

+ 19 - 1
common/common-entity/src/db/2024.sql

@ -296,4 +296,22 @@ INSERT INTO `wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`,
    ('ijk_sign_status7', NULL, 'ijk_sign_status', '2', '患者申请取消签约', NULL, '7', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '签约状态');
    ('ijk_sign_status7', NULL, 'ijk_sign_status', '2', '患者申请取消签约', NULL, '7', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '签约状态');
INSERT INTO `wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`,
INSERT INTO `wlyy_hospital_sys_dict` (`id`, `saas_id`, `dict_name`, `dict_code`, `dict_value`, `py_code`, `sort`, `hospital`, `create_time`,
                                      `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES
                                      `create_user`, `create_user_name`, `update_time`, `update_user`, `update_user_name`, `img_url`, `model_name`) VALUES
    ('ijk_sign_status8', NULL, 'ijk_sign_status', '3', '医生申请取消签约', NULL, '8', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '签约状态');
    ('ijk_sign_status8', NULL, 'ijk_sign_status', '3', '医生申请取消签约', NULL, '8', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '签约状态');
SELECT s.name,s.idcard,s.ssc,s.mobile,s.hospital_name,s.doctor_name,s.doctor_health_name,s.`begin`,s.`end`,s.sign_source
     ,s.sign_year,s.`status`,s.year_num,p.address,p.sex,p.birthday
     ,GROUP_CONCAT(l2.label_name) health,GROUP_CONCAT(l.label_name) disease
from wlyy_sign_family s
         INNER JOIN dm_hospital h on s.hospital=h.code and h.town='350212'
         INNER JOIN wlyy_patient p on p.code=s.patient
         INNER JOIN wlyy_sign_patient_label_info l on s.patient=l.patient and l.`status`=1 and l.label_type='3'
         LEFT  JOIN wlyy_sign_patient_label_info l2 on s.patient=l.patient and l2.`status`=1 and l2.label_type='2'
WHERE s.`status`>0  GROUP BY s.patient ;
SELECT s.name,s.idcard,s.ssc,s.mobile,s.hospital_name,s.doctor_name,s.doctor_health_name,s.`begin`,s.`end`,s.sign_source
     ,s.sign_year,s.`status`,s.year_num,p.address,p.sex,p.birthday
from wlyy_sign_family s
         INNER JOIN dm_hospital h on s.hospital=h.code and h.town='350212'
         INNER JOIN wlyy_patient p on p.code=s.patient
WHERE s.`status`>0  ;

+ 80 - 8
common/common-entity/src/main/java/com/yihu/jw/entity/door/WlyySign.java

@ -5,7 +5,7 @@ import com.yihu.jw.entity.IdEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Table;
import javax.transaction.Transactional;
import javax.persistence.Transient;
/**
/**
 * i健康同安签约居民
 * i健康同安签约居民
@ -17,6 +17,14 @@ public class WlyySign extends IdEntityWithCreateTime {
    private String patient;
    private String patient;
    private String idcard;
    private String idcard;
    private String mobile;//手机号
    private String ssc;//社保卡
    private String sex;//性别
    private String birthday;//初生日期
    private String yearNum;//签约年限
    private String healthIjk;//i健康健康情况
    private String diseaseIjk;//i健康疾病类型
    private Integer isNcd;//是否慢病 1是0否
    private String adminTeamId;
    private String adminTeamId;
    private String name;//姓名
    private String name;//姓名
    private String address;//地址
    private String address;//地址
@ -25,7 +33,7 @@ public class WlyySign extends IdEntityWithCreateTime {
    private String healthDoctorName;//健管师
    private String healthDoctorName;//健管师
    private String begin;//签约开始时间
    private String begin;//签约开始时间
    private String end;//签约结束时间
    private String end;//签约结束时间
    private String signYear;//签约年限
    private String signYear;//签约年度
    private String status;//状态
    private String status;//状态
    private String signSource;//签约类型
    private String signSource;//签约类型
    private String diseaseCondition;//病情
    private String diseaseCondition;//病情
@ -161,8 +169,72 @@ public class WlyySign extends IdEntityWithCreateTime {
    public void setSysTime(String sysTime) {
    public void setSysTime(String sysTime) {
        this.sysTime = sysTime;
        this.sysTime = sysTime;
    }
    }
    @Column(name = "mobile")
    public String getMobile() {
        return mobile;
    }
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    @Column(name = "ssc")
    public String getSsc() {
        return ssc;
    }
    public void setSsc(String ssc) {
        this.ssc = ssc;
    }
    @Column(name = "sex")
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    @Column(name = "birthday")
    public String getBirthday() {
        return birthday;
    }
    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
    @Column(name = "year_num")
    public String getYearNum() {
        return yearNum;
    }
    public void setYearNum(String yearNum) {
        this.yearNum = yearNum;
    }
    @Column(name = "health_ijk")
    public String getHealthIjk() {
        return healthIjk;
    }
    public void setHealthIjk(String healthIjk) {
        this.healthIjk = healthIjk;
    }
    @Column(name = "disease_ijk")
    public String getDiseaseIjk() {
        return diseaseIjk;
    }
    public void setDiseaseIjk(String diseaseIjk) {
        this.diseaseIjk = diseaseIjk;
    }
    @Column(name = "is_ncd")
    public Integer getIsNcd() {
        return isNcd;
    }
    public void setIsNcd(Integer isNcd) {
        this.isNcd = isNcd;
    }
    @Transactional
    @Transient
    public String getHealth() {
    public String getHealth() {
        return health;
        return health;
    }
    }
@ -171,7 +243,7 @@ public class WlyySign extends IdEntityWithCreateTime {
        this.health = health;
        this.health = health;
    }
    }
    @Transactional
    @Transient
    public String getDisease() {
    public String getDisease() {
        return disease;
        return disease;
    }
    }
@ -180,7 +252,7 @@ public class WlyySign extends IdEntityWithCreateTime {
        this.disease = disease;
        this.disease = disease;
    }
    }
    @Transactional
    @Transient
    public String getZbType() {
    public String getZbType() {
        return zbType;
        return zbType;
    }
    }
@ -189,7 +261,7 @@ public class WlyySign extends IdEntityWithCreateTime {
        this.zbType = zbType;
        this.zbType = zbType;
    }
    }
    @Transactional
    @Transient
    public String getZdyGroup() {
    public String getZdyGroup() {
        return zdyGroup;
        return zdyGroup;
    }
    }
@ -198,7 +270,7 @@ public class WlyySign extends IdEntityWithCreateTime {
        this.zdyGroup = zdyGroup;
        this.zdyGroup = zdyGroup;
    }
    }
    @Transactional
    @Transient
    public String getStatusName() {
    public String getStatusName() {
        return statusName;
        return statusName;
    }
    }
@ -207,7 +279,7 @@ public class WlyySign extends IdEntityWithCreateTime {
        this.statusName = statusName;
        this.statusName = statusName;
    }
    }
    @Transactional
    @Transient
    public String getSignSourceName() {
    public String getSignSourceName() {
        return signSourceName;
        return signSourceName;
    }
    }

+ 13 - 0
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/LabelController.java

@ -28,6 +28,19 @@ public class LabelController extends EnvelopRestEndpoint {
    @Autowired
    @Autowired
    private LabelService labelService;
    private LabelService labelService;
    @GetMapping(value = "synSign")
    @ApiOperation(value = "同步签约信息")
    public Envelop synSign(@ApiParam(name = "idcards", value = "身份证多个逗号间隔")
                              @RequestParam(value = "idcards", required = true) String idcards) {
        try {
            labelService.synSign(idcards);
            return Envelop.getSuccess("同步成功");
        } catch (Exception e) {
            e.printStackTrace();
            return Envelop.getError("同步失败");
        }
    }
    @GetMapping(value = "signPage")
    @GetMapping(value = "signPage")
    @ApiOperation(value = "慢病管理", notes = "慢病管理")
    @ApiOperation(value = "慢病管理", notes = "慢病管理")
    public Envelop signPage(@ApiParam(name = "page", value = "第几页")
    public Envelop signPage(@ApiParam(name = "page", value = "第几页")

+ 60 - 4
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/common/service/LabelService.java

@ -1,5 +1,7 @@
package com.yihu.jw.hospital.module.common.service;
package com.yihu.jw.hospital.module.common.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
@ -12,8 +14,13 @@ import com.yihu.jw.label.WlyyPatientLabelDao;
import com.yihu.jw.label.WlyyPatientLabelLogDao;
import com.yihu.jw.label.WlyyPatientLabelLogDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.sign.dao.WlyySignDao;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.entity.ServiceException;
import com.yihu.jw.util.entity.ServiceException;
import com.yihu.jw.wlyy.wlyyhttp.WlyyHttpService;
import org.apache.commons.lang3.StringUtils;
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.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.JdbcTemplate;
@ -28,6 +35,8 @@ import java.util.*;
@Service
@Service
public class LabelService {
public class LabelService {
    private static final Logger logger = LoggerFactory.getLogger(LabelService.class);
    @Autowired
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Autowired
    @Autowired
@ -40,10 +49,56 @@ public class LabelService {
    private BaseDoctorDao doctorDao;
    private BaseDoctorDao doctorDao;
    @Autowired
    @Autowired
    private JdbcTemplate jdbcTemplate;
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private WlyyHttpService wlyyHttpService;
    @Autowired
    private WlyySignDao wlyySignDao;
    //同步签约信息
    public void sysSign(Long id){
    //同步签约信息
    public void synSign(String idcards){
        try {
            String configId = "commonGet";
            String param = "?type=2&idcards="+idcards;
            JSONObject re = wlyyHttpService.sendWlyyMesGet(configId, "findSignAll" + param);
            if(re!=null&&re.getInteger("status")==200){
                String idcardTmp = idcards.replaceAll(",","','");
                String sql = "select * from wlyy_sign where idcard in ('"+idcardTmp+"')";
                List<WlyySign> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(WlyySign.class));
                JSONArray jsonArray = re.getJSONArray("data");
                if(jsonArray.size()>0){
                    for (WlyySign sign:list){
                        sign.setStatus("-4");
                        sign.setSysTime(DateUtil.getStringDate());
                        for (int i=0;i<jsonArray.size();i++){
                            JSONObject json = jsonArray.getJSONObject(i);
                            String idcard = json.getString("idcard");
                            if(sign.getIdcard().equals(idcard)){
                                sign.setStatus(json.getString("status"));
                                sign.setYearNum(json.getString("year_num"));
                                sign.setHospitalName(json.getString("hospital_name"));
                                sign.setDoctorName(json.getString("doctor_name"));
                                sign.setHealthDoctorName(json.getString("doctor_health_name"));
                                sign.setBegin(json.getString("begin"));
                                sign.setEnd(json.getString("end"));
                                sign.setSignYear(json.getString("sign_year"));
                                sign.setSignSource(json.getString("sign_source"));
                                jsonArray.remove(i);
                                break;
                            }
                        }
                    }
                }else {
                    for (WlyySign sign:list){
                        sign.setStatus("-4");
                        sign.setSysTime(DateUtil.getStringDate());
                    }
                }
                wlyySignDao.saveAll(list);
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    }
    /**
    /**
@ -59,7 +114,8 @@ public class LabelService {
        String filter = " from wlyy_sign a inner join base_patient p on a.patient=p.id " +
        String filter = " from wlyy_sign a inner join base_patient p on a.patient=p.id " +
                " left join wlyy_patient_label l on l.patient = p.id "+
                " left join wlyy_patient_label l on l.patient = p.id "+
                " left join wlyy_hospital_sys_dict d1 on d1.dict_name='ijk_sign_source' and d1.dict_code = a.sign_source "+
                " left join wlyy_hospital_sys_dict d1 on d1.dict_name='ijk_sign_source' and d1.dict_code = a.sign_source "+
                " left join wlyy_hospital_sys_dict d2 on d2.dict_name='ijk_sign_status' and d2.dict_code = a.status ";
                " left join wlyy_hospital_sys_dict d2 on d2.dict_name='ijk_sign_status' and d2.dict_code = a.status " +
                " where a.is_ncd=1 ";
        String orderBy = " limit "+(page-1)*size+","+size;
        String orderBy = " limit "+(page-1)*size+","+size;
        if(StringUtils.isNotBlank(name)){
        if(StringUtils.isNotBlank(name)){
            filter += " and a.name like '%"+name+"%' ";
            filter += " and a.name like '%"+name+"%' ";
@ -92,7 +148,7 @@ public class LabelService {
        if(StringUtils.isNotBlank(zdyGroup)){
        if(StringUtils.isNotBlank(zdyGroup)){
            filter += " and l.label_type='4' and l.label_name = '"+zdyGroup+"' ";
            filter += " and l.label_type='4' and l.label_name = '"+zdyGroup+"' ";
        }
        }
        List<WlyySign> list = jdbcTemplate.query(sql+filter+"GROUP BY a.id"+orderBy,new BeanPropertyRowMapper<>(WlyySign.class));
        List<WlyySign> list = jdbcTemplate.query(sql+filter+" GROUP BY a.id "+orderBy,new BeanPropertyRowMapper<>(WlyySign.class));
        long count = jdbcTemplate.queryForObject(countSql+filter,Long.class);
        long count = jdbcTemplate.queryForObject(countSql+filter,Long.class);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,size,count);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page,size,count);
    }
    }