Explorar o código

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

Conflicts:
	common/common-entity/src/main/java/com/yihu/jw/entity/specialist/rehabilitation/RehabilitationTemplateDetailDO.java
yeshijie %!s(int64=4) %!d(string=hai) anos
pai
achega
0bb9f22941

+ 70 - 24
business/base-service/src/main/java/com/yihu/jw/patient/service/BasePatientService.java

@ -65,21 +65,8 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
     * @param patientId
     * @return
     */
    public String getPatientById(String patientId) throws Exception{
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(patientId)){
            result.put("result","parameter patientId is null");
            return result.toString();
        }
        List<BasePatientDO> patientDOList = this.findByField("id",patientId);
        if(CollectionUtils.isEmpty(patientDOList)){
            result.put("result","not exist patient for id:"+patientId);
            return result.toString();
        }
        result.put("patient",patientDOList.get(0));
        List<PatientMedicareCardDO> cards = basePatientMedicardCardService.findPatientCardByCode(patientId);
        result.put("medicareCard",cards);
        return result.toJSONString();
    public BasePatientDO findPatientById(String patientId) throws Exception{
        return basePatientDao.findById(patientId);
    }
    /**
@ -87,26 +74,24 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
     * @param patientId
     * @return
     */
    public String findPatientById(String patientId) throws Exception{
    public String getPatientById(String patientId) throws Exception{
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(patientId)){
            result.put("result","parameter patientId is null");
            return result.toString();
        }
        BasePatientDO patientDO = basePatientDao.findById(patientId);
        if(patientDO == null){
        List<BasePatientDO> patientDOList = this.findByField("id",patientId);
        if(CollectionUtils.isEmpty(patientDOList)){
            result.put("result","not exist patient for id:"+patientId);
            return result.toString();
        }
        PatientMedicareCardDO card = basePatientMedicardCardService.findByTypeAndPatientCodeAndDel("A_01",patientId,"1");
        if(card != null){
            patientDO.setSsc(card.getCode());
        }
        result.put("patient",patientDO);
        result.put("patient",patientDOList.get(0));
        List<PatientMedicareCardDO> cards = basePatientMedicardCardService.findPatientCardByCode(patientId);
        result.put("medicareCard",cards);
        return result.toJSONString();
    }
    /**
     * 获取用户基础信息,参数为空查全部
     * @param nameOrIdcard
@ -187,6 +172,67 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
        return ConstantUtils.SUCCESS;
    }
    /**
     * 新增档案
     * @param jsonData
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    public String createArchive(String jsonData) throws Exception {
        JSONObject jsonObject = JSONObject.parseObject(jsonData);
        JSONObject patient = jsonObject.getJSONObject("patient");
        if(null == patient){
            return ConstantUtils.FAIL;
        }
        BasePatientDO patientDO = objectMapper.readValue(patient.toJSONString(),BasePatientDO.class);
        this.save(patientDO);
        return ConstantUtils.SUCCESS;
    }
    /**
     * 修改档案
     * @param jsonData
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    public String updateArchive(String jsonData) throws Exception {
        BasePatientDO basePatientDO = objectMapper.readValue(jsonData,BasePatientDO.class);
        if(StringUtils.isEmpty(basePatientDO.getId())){
            return ConstantUtils.FAIL;
        }
        BasePatientDO basePatientDO1 = basePatientDao.findById(basePatientDO.getId());
        if (null!=basePatientDO1){
            basePatientDO1.setName(basePatientDO.getName());
            basePatientDO1.setMobile(basePatientDO.getMobile());
            basePatientDO1.setIdcard(basePatientDO.getIdcard());
            basePatientDO1.setSex(basePatientDO.getSex());
            basePatientDO1.setBirthday(basePatientDO.getBirthday());
            basePatientDO1.setNational(basePatientDO.getNational());
            basePatientDO1.setNationalName(basePatientDO.getNationalName());
            basePatientDO1.setMarriage(basePatientDO.getMarriage());
            basePatientDO1.setProvinceCode(basePatientDO.getProvinceCode());
            basePatientDO1.setCityCode(basePatientDO.getCityCode());
            basePatientDO1.setTownCode(basePatientDO.getTownCode());
            basePatientDO1.setProvinceName(basePatientDO.getProvinceName());
            basePatientDO1.setTownName(basePatientDO.getTownName());
            basePatientDO1.setCityName(basePatientDO.getCityName());
            basePatientDO1.setMedicareNumber(basePatientDO.getMedicareNumber());
            basePatientDO1.setMobileRemarks(basePatientDO.getMobileRemarks());
            basePatientDO1.setBlood(basePatientDO.getBlood());
            basePatientDO1.setSsc(basePatientDO.getSsc());
            basePatientDO1.setCommitteeCode(basePatientDO.getCommitteeCode());
            basePatientDO1.setCommitteeName(basePatientDO.getCommitteeName());
            basePatientDO1.setArchiveType(basePatientDO.getArchiveType());
            basePatientDO1.setAddress(basePatientDO.getAddress());
            basePatientDO1.setPhoto(basePatientDO.getPhoto());
            basePatientDO1.setArchiveStatus(basePatientDO.getArchiveStatus());
            // 保存修改的居民信息
            this.save(basePatientDO1);
        }
        return ConstantUtils.SUCCESS;
    }
    /**
     * 修改居民
     * @param jsonData

+ 7 - 4
common/common-entity/sql记录

@ -84,12 +84,10 @@ CREATE TABLE `wlyy_archive` (
  `sick_name` varchar(50) DEFAULT NULL COMMENT '姓名',
  `archive_operator_name` varchar(50) DEFAULT NULL COMMENT '建档人姓名',
  `doctor_code` varchar(50) DEFAULT NULL COMMENT '医生code',
  `archive_status` int(11) DEFAULT NULL COMMENT '档案状态【1.未管理 2.死亡 3.正常 4.高危】【必填】',
  `archive_time` datetime DEFAULT NULL COMMENT '建档时间',
  `sign_status` tinyint(1) DEFAULT NULL COMMENT '签约状态【0未签约,1已签约】',
  `idcard` varchar(32) DEFAULT NULL COMMENT '身份证',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `index_1` (`patient`,`doctor_code`)
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='建档表';
CREATE TABLE `base_capacity_assessment_record` (
@ -193,3 +191,8 @@ alter table base_patient add `national` int(11) DEFAULT NULL COMMENT '民族';
alter table base_patient add `blood` int(11) DEFAULT NULL COMMENT '血型【1.A型 2.B型 3.O型 4.AB型 5.不详】';
alter table base_patient add `national_name` varchar(20) DEFAULT NULL COMMENT '民族名称';
-- 2021-03-25 ysj 医养云照护相关
alter table base_patient add `archive_status` tinyint(1) DEFAULT NULL COMMENT '档案状态【1.未管理 2.死亡 3.正常 4.高危】【必填】';
alter table base_patient add `medicare_number` varchar(50) DEFAULT NULL COMMENT '医疗保险号';
alter table base_patient add `ssc` varchar(50) DEFAULT NULL COMMENT '社保卡号';
alter table base_patient add `archive_type` tinyint(1) DEFAULT NULL COMMENT '档案类型 1老人 2新生儿';

+ 32 - 2
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/BasePatientDO.java

@ -6,7 +6,6 @@ import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
@ -269,6 +268,10 @@ public class BasePatientDO extends UuidIdentityEntityWithOperator {
     * 医保卡号
     */
    private String ssc;
    private String medicareNumber;//医疗保险号
    private Integer archiveStatus;//档案状态【1.未管理 2.死亡 3.正常 4.高危】【必填】
    private Integer archiveType;// 档案类型 1老人 2新生儿
    public String getCardType() {
        return cardType;
@ -758,7 +761,7 @@ public class BasePatientDO extends UuidIdentityEntityWithOperator {
        this.nationalName = nationalName;
    }
    @Transient
    @Column(name = "ssc")
    public String getSsc() {
        return ssc;
    }
@ -766,4 +769,31 @@ public class BasePatientDO extends UuidIdentityEntityWithOperator {
    public void setSsc(String ssc) {
        this.ssc = ssc;
    }
    @Column(name = "archive_status")
    public Integer getArchiveStatus() {
        return archiveStatus;
    }
    public void setArchiveStatus(Integer archiveStatus) {
        this.archiveStatus = archiveStatus;
    }
    @Column(name = "archive_type")
    public Integer getArchiveType() {
        return archiveType;
    }
    public void setArchiveType(Integer archiveType) {
        this.archiveType = archiveType;
    }
    @Column(name = "medicare_number")
    public String getMedicareNumber() {
        return medicareNumber;
    }
    public void setMedicareNumber(String medicareNumber) {
        this.medicareNumber = medicareNumber;
    }
}

+ 11 - 19
common/common-entity/src/main/java/com/yihu/jw/entity/care/archive/ArchiveDO.java

@ -18,10 +18,10 @@ public class ArchiveDO extends UuidIdentityEntity {
    private String sickName;//姓名
    private String archiveOperatorName;// 建档人姓名
    private String doctorCode;// 医生code
    private int archiveStatus;//档案状态【1.未管理 2.死亡 3.正常 4.高危】【必填】
    private Date archiveTime;//建档时间
    private int signStatus;// 签约状态【0未签约,1已签约】
    private Integer signStatus;// 签约状态【0未签约,1已签约】
    private String idcard;//身份证
    private Date createTime;
    public String getPatient() {
        return patient;
@ -31,14 +31,6 @@ public class ArchiveDO extends UuidIdentityEntity {
        this.patient = patient;
    }
    public int getSignStatus() {
        return signStatus;
    }
    public void setSignStatus(int signStatus) {
        this.signStatus = signStatus;
    }
    public String getSickName() {
        return sickName;
    }
@ -63,21 +55,21 @@ public class ArchiveDO extends UuidIdentityEntity {
        this.doctorCode = doctorCode;
    }
    public int getArchiveStatus() {
        return archiveStatus;
    public Integer getSignStatus() {
        return signStatus;
    }
    public void setArchiveStatus(int archiveStatus) {
        this.archiveStatus = archiveStatus;
    public void setSignStatus(Integer signStatus) {
        this.signStatus = signStatus;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getArchiveTime() {
        return archiveTime;
    public Date getCreateTime() {
        return createTime;
    }
    public void setArchiveTime(Date archiveTime) {
        this.archiveTime = archiveTime;
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getIdcard() {

+ 65 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/patient/BasePatientVO.java

@ -319,6 +319,21 @@ public class BasePatientVO extends UuidIdentityVOWithOperator {
    @ApiModelProperty("上线状态")
    private String online;//1上线0下线
    @ApiModelProperty("婚姻状况【10.未婚 20.已婚 30.丧偶 40.离婚 90.未说明的婚姻状况】")
    private Integer marriage;
    @ApiModelProperty("民族")
    private Integer national;
    @ApiModelProperty("血型【1.A型 2.B型 3.O型 4.AB型 5.不详】")
    private Integer blood;
    @ApiModelProperty("民族名称")
    private String nationalName;
    @ApiModelProperty("档案状态【1.未管理 2.死亡 3.正常 4.高危】")
    private Integer archiveStatus;
    @ApiModelProperty("档案类型 1老人 2新生儿")
    private Integer archiveType;
    public String getSaasId() {
        return saasId;
    }
@ -679,4 +694,54 @@ public class BasePatientVO extends UuidIdentityVOWithOperator {
    public void setOnline(String online) {
        this.online = online;
    }
    public Integer getMarriage() {
        return marriage;
    }
    public void setMarriage(Integer marriage) {
        this.marriage = marriage;
    }
    public Integer getNational() {
        return national;
    }
    public void setNational(Integer national) {
        this.national = national;
    }
    public Integer getBlood() {
        return blood;
    }
    public void setBlood(Integer blood) {
        this.blood = blood;
    }
    public String getNationalName() {
        return nationalName;
    }
    public void setNationalName(String nationalName) {
        this.nationalName = nationalName;
    }
    public Integer getArchiveStatus() {
        return archiveStatus;
    }
    public void setArchiveStatus(Integer archiveStatus) {
        this.archiveStatus = archiveStatus;
    }
    public Integer getArchiveType() {
        return archiveType;
    }
    public void setArchiveType(Integer archiveType) {
        this.archiveType = archiveType;
    }
}

+ 15 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/sign/ArchiveDao.java

@ -0,0 +1,15 @@
package com.yihu.jw.base.dao.sign;
import com.yihu.jw.entity.care.archive.ArchiveDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by yeshijie on 2021/2/24.
 */
public interface ArchiveDao extends PagingAndSortingRepository<ArchiveDO, String>, JpaSpecificationExecutor<ArchiveDO> {
    ArchiveDO findByIdcardAndDoctorCode(String idcard, String doctorCode);
    ArchiveDO findByPatientAndDoctorCode(String patient, String doctorCode);
}

+ 34 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/patient/BasePatientEndpoint.java

@ -1,12 +1,10 @@
package com.yihu.jw.base.endpoint.patient;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.patient.service.BasePatientService;
import com.yihu.jw.restmodel.base.patient.BasePatientVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.*;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
@ -17,9 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import com.yihu.jw.entity.base.patient.BasePatientDO;
/**
 * 居民信息控制器
@ -81,6 +76,14 @@ public class BasePatientEndpoint extends EnvelopRestEndpoint {
        return success(result);
    }
    @GetMapping(value = "findPatientById")
    @ApiOperation(value = "根据id获取")
    public ObjEnvelop findPatientById(
            @ApiParam(name = "id", value = "居民id")
            @RequestParam(value = "id", required = true) String id) throws Exception {
        return ObjEnvelop.getSuccess("获取成功",basePatientService.findPatientById(id));
    }
    @GetMapping(value = BaseRequestMapping.BasePatient.PAGE)
    @ApiOperation(value = "获取分页")
    public PageEnvelop<BasePatientVO> page(
@ -127,4 +130,28 @@ public class BasePatientEndpoint extends EnvelopRestEndpoint {
        return basePatientService.queryPatientBaseInfo(nameOrIdcard, page,size,sorts);
    }
    @PostMapping(value = "createArchive")
    @ApiOperation(value = "创建档案")
    public Envelop createArchive(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) throws Exception {
        String msg = basePatientService.createArchive(jsonData);
        if(!StringUtils.equalsIgnoreCase(ConstantUtils.SUCCESS,msg)){
            return success(msg);
        }
        return failed(msg);
    }
    @PostMapping(value = "updateArchive")
    @ApiOperation(value = "更新档案")
    public Envelop updateArchive(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) throws Exception {
        String msg = basePatientService.updateArchive(jsonData);
        if(!StringUtils.equalsIgnoreCase(ConstantUtils.SUCCESS,msg)){
            return failed(msg);
        }
        return success(msg);
    }
}