Browse Source

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

huangwenjie 5 years ago
parent
commit
fe8c9a2a82
24 changed files with 933 additions and 54 deletions
  1. 11 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/DoctorZsInfoDao.java
  2. 78 17
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java
  3. 1 1
      business/base-service/src/main/java/com/yihu/jw/hospital/survey/dao/SurveyTemplateOptionDao.java
  4. 3 0
      business/base-service/src/main/java/com/yihu/jw/hospital/survey/dao/SurveyUserAnswerDao.java
  5. 4 0
      business/base-service/src/main/java/com/yihu/jw/hospital/survey/dao/SurveyUserDao.java
  6. 193 10
      business/base-service/src/main/java/com/yihu/jw/hospital/survey/service/SurveyService.java
  7. 286 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/doctor/BaseDoctorZsInfoDO.java
  8. 5 5
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyDeptDO.java
  9. 2 1
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyInspLabelInfoDO.java
  10. 2 1
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyLabelInfoDO.java
  11. 9 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyQuestionsOptionDO.java
  12. 14 5
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyTemplateOptionDO.java
  13. 9 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyUserAnswerDO.java
  14. 36 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyUserDO.java
  15. 8 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java
  16. 2 2
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyInspLabelInfoVO.java
  17. 2 1
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyLabelInfoVO.java
  18. 10 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyQuestionsOptionVO.java
  19. 26 5
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyTemplateOptionVO.java
  20. 5 5
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyTemplateQuestionVO.java
  21. 145 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyUserVO.java
  22. 29 0
      common/common-util/src/main/java/com/yihu/jw/util/common/PercentageUtil.java
  23. 8 0
      svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/MqSdkController.java
  24. 45 1
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/survey/SurveyEndpoint.java

+ 11 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/DoctorZsInfoDao.java

@ -0,0 +1,11 @@
package com.yihu.jw.hospital.prescription.dao;
import com.yihu.jw.entity.hospital.doctor.BaseDoctorZsInfoDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Trick on 2019/9/16.
 */
public interface DoctorZsInfoDao extends PagingAndSortingRepository<BaseDoctorZsInfoDO, String>, JpaSpecificationExecutor<BaseDoctorZsInfoDO> {
}

File diff suppressed because it is too large
+ 78 - 17
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java


+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/survey/dao/SurveyTemplateOptionDao.java

@ -11,7 +11,7 @@ import java.util.List;
 */
public interface SurveyTemplateOptionDao extends PagingAndSortingRepository<WlyySurveyTemplateOptionDO, String>, JpaSpecificationExecutor<WlyySurveyTemplateOptionDO> {
    List<WlyySurveyTemplateOptionDO> findByTemplateQuestionCodeAndDelOrderBySortAsc(String templateQuestionCode,String del);
    List<WlyySurveyTemplateOptionDO> findByQuestionCodeAndDelOrderBySortAsc(String questionCode,String del);
    List<WlyySurveyTemplateOptionDO> findByTemplateCodeAndDelOrderBySortAsc(String templateCode,String del);

+ 3 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/survey/dao/SurveyUserAnswerDao.java

@ -14,4 +14,7 @@ public interface SurveyUserAnswerDao extends PagingAndSortingRepository<WlyySurv
    List<WlyySurveyUserAnswerDO> findBySurveyTempCodeAndPatient(String surveyTempCode,String patient);
    List<WlyySurveyUserAnswerDO> findByTempQuestionCode(String tempQuestionCode);
    List<WlyySurveyUserAnswerDO> findBytempOptionCode(String tempOptionCode);
}

+ 4 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/survey/dao/SurveyUserDao.java

@ -4,8 +4,12 @@ import com.yihu.jw.entity.hospital.survey.WlyySurveyUserDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by Trick on 2019/9/6.
 */
public interface SurveyUserDao extends PagingAndSortingRepository<WlyySurveyUserDO, String>, JpaSpecificationExecutor<WlyySurveyUserDO> {
    List<WlyySurveyUserDO> findBySurveyTempCodeAndStatus(String surveyTempCode,Integer status);
}

+ 193 - 10
business/base-service/src/main/java/com/yihu/jw/hospital/survey/service/SurveyService.java

@ -10,6 +10,8 @@ import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalSysDictVO;
import com.yihu.jw.restmodel.hospital.survey.*;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.common.PercentageUtil;
import com.yihu.jw.utils.EntityUtils;
import com.yihu.jw.utils.StringUtil;
import com.yihu.mysql.query.BaseJpaService;
@ -243,15 +245,15 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
                " FROM " +
                " wlyy_survey_template t ";
        if(StringUtils.isNotBlank(label)){
            totalSql+=" JOIN wlyy_survey_label_info i OM t.id = i.survey_temp_code";
            totalSql+=" JOIN wlyy_survey_label_info i ON t.id = i.survey_temp_code";
        }
        totalSql += " WHERE " +
                    " t.del = '1'";
        if(StringUtils.isNotBlank(title)){
            totalSql += " t.title like '%"+title+"%' ";
            totalSql += " AND t.title like '%"+title+"%' ";
        }
        if(StringUtils.isNotBlank(label)){
            totalSql += " i.label_code ='"+label+"'";
            totalSql += " AND i.label_code ='"+label+"'";
        }
        List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql);
@ -273,15 +275,15 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
                " FROM " +
                " wlyy_survey_template t ";
        if(StringUtils.isNotBlank(label)){
            sql += " JOIN wlyy_survey_label_info i OM t.id = i.survey_temp_code";
            sql += " JOIN wlyy_survey_label_info i ON t.id = i.survey_temp_code";
        }
            sql += " WHERE " +
                   " t.del = '1'";
        if(StringUtils.isNotBlank(title)){
            sql += " t.title like '%"+title+"%' ";
            sql += " AND t.title like '%"+title+"%' ";
        }
        if(StringUtils.isNotBlank(label)){
            sql += " i.label_code ='"+label+"'";
            sql += " AND  i.label_code ='"+label+"'";
        }
        sql += " ORDER BY t.create_time DESC LIMIT " + (page - 1) * size + "," + size + " ";
@ -317,10 +319,10 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
            //设置选项
            for(WlyySurveyTemplateQuestionVO tq:tqVOs){
                List<WlyySurveyTemplateOptionDO> optionDOs  = surveyTemplateOptionDao.findByTemplateQuestionCodeAndDelOrderBySortAsc(tq.getId(),"1");
                List<WlyySurveyTemplateOptionDO> optionDOs  = surveyTemplateOptionDao.findByQuestionCodeAndDelOrderBySortAsc(tq.getId(),"1");
                List<WlyySurveyTemplateOptionVO> optionVOs = new ArrayList<>();
                convertToModels(optionDOs,optionVOs,WlyySurveyTemplateOptionVO.class);
                tq.setTemplateOptionVOs(optionVOs);
                tq.setOptionVOs(optionVOs);
            }
        }
        return templateVO;
@ -370,8 +372,8 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
        //保存新问题选项
        if(StringUtils.isNotBlank(tempOpJson)){
            List<WlyySurveyTemplateOptionDO> questions = EntityUtils.jsonToList(tempOpJson, WlyySurveyTemplateOptionDO.class);
            surveyTemplateOptionDao.save(questions);
            List<WlyySurveyTemplateOptionDO> options = EntityUtils.jsonToList(tempOpJson, WlyySurveyTemplateOptionDO.class);
            surveyTemplateOptionDao.save(options);
        }
        //保存标签
@ -473,6 +475,7 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
     */
    public List<Map<String,Object>> findDeptBySurvey(String tempId){
        String sql ="SELECT " +
                " d.survey_temp_code AS surveyTempCode," +
                " d.dept, " +
                " d.dept_name AS deptName " +
                " FROM " +
@ -514,4 +517,184 @@ public class SurveyService extends BaseJpaService<WlyySurveyQuestionDO, SurveyQu
        List<WlyySurveyUserAnswerDO> list = surveyUserAnswerDao.findBySurveyTempCodeAndPatient(tempId,patient);
        return list;
    }
    /**
     * 查询问题情况
     * @param tempId
     * @return
     */
    public WlyySurveyTemplateVO findSurveyTemplateResult(String tempId) {
        WlyySurveyTemplateDO templateDO = surveyTemplateDao.findOne(tempId);
        WlyySurveyTemplateVO templateVO = convertToModel(templateDO,WlyySurveyTemplateVO.class);
        templateVO.setLabels(findSurveyTemplateLabel(tempId));
        templateVO.setInsplabels(findSurveyInspTemplateLabel(tempId));
        //查询所有答题过的用户,计算答题总数
        List<WlyySurveyUserDO> surveyUsers = surveyUserDao.findBySurveyTempCodeAndStatus(templateVO.getId(),1);
        Integer total =0;
        if(surveyUsers!=null&&surveyUsers.size()>0){
            total = surveyUsers.size();
        }
        List<WlyySurveyTemplateQuestionDO> tqDOs = surveyTemplateQuestionDao.findByTemplateCodeAndDelOrderBySortAsc(tempId,"1");
        if(tqDOs!=null&&tqDOs.size()>0){
            //设置问题
            List<WlyySurveyTemplateQuestionVO> tqVOs = new ArrayList<>();
            convertToModels(tqDOs,tqVOs,WlyySurveyTemplateQuestionVO.class);
            templateVO.setTemplateQuestionVOs(tqVOs);
            //设置选项
            for(WlyySurveyTemplateQuestionVO tq:tqVOs){
                List<WlyySurveyTemplateOptionDO> optionDOs  = surveyTemplateOptionDao.findByQuestionCodeAndDelOrderBySortAsc(tq.getId(),"1");
                List<WlyySurveyTemplateOptionVO> optionVOs = new ArrayList<>();
                convertToModels(optionDOs,optionVOs,WlyySurveyTemplateOptionVO.class);
                /**
                 * 统计每个选项选择的百分比
                 */
                if(optionVOs!=null&&optionVOs.size()>0){
                    for(WlyySurveyTemplateOptionVO vo:optionVOs){
                        Integer answerCount =0;
                        List<WlyySurveyUserAnswerDO> answerDOs = surveyUserAnswerDao.findBytempOptionCode(vo.getId());
                        if(answerDOs!=null&&answerDOs.size()>0){
                            answerCount = answerDOs.size();
                        }
                        vo.setPercentage(PercentageUtil.bs(answerCount,total)+"%");
                    }
                }
                tq.setOptionVOs(optionVOs);
            }
        }
        return templateVO;
    }
    /**
     * 综合查询问题答案
     * @param comment
     * @param content
     * @param tempQuestionCode
     * @param tempOptionCode
     * @param page
     * @param size
     * @return
     */
    public MixEnvelop findQuestionInfoList(String comment, String content, String tempQuestionCode,String tempOptionCode,Integer page,Integer size){
        String totalSql ="SELECT " +
                " COUNT(1) AS total" +
                " FROM " +
                " wlyy_survey_user_answer t " +
                " WHERE 1=1";
        if(StringUtils.isNotBlank(comment)){
            totalSql += " AND t.comment like '%"+comment+"%' ";
        }
        if(StringUtils.isNotBlank(content)){
            totalSql += " AND t.content  like '%"+content+"%'";
        }
        if(StringUtils.isNotBlank(tempQuestionCode)){
            totalSql += " AND t.temp_question_code ='"+tempQuestionCode+"'";
        }
        if(StringUtils.isNotBlank(tempOptionCode)){
            totalSql += " AND t.temp_option_code ='"+tempOptionCode+"'";
        }
        List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql);
        Long count = 0L;
        if (rstotal != null && rstotal.size() > 0) {
            count = (Long) rstotal.get(0).get("total");
        }
        String sql = "SELECT " +
                " t.id, " +
                " t.survey_temp_code AS surveyTempCode, " +
                " t.temp_question_code AS tempQuestionCode, " +
                " t.question_type AS questionType, " +
                " t.temp_option_code AS tempOptionCode, " +
                " t.comment, " +
                " t.content, " +
                " t.patient," +
                " t.patient_name AS patientName," +
                " t.score," +
                " t.create_time AS createTime" +
                " FROM " +
                " wlyy_survey_user_answer t ";
        if(StringUtils.isNotBlank(comment)){
            sql += " AND t.comment like '%"+comment+"%' ";
        }
        if(StringUtils.isNotBlank(content)){
            sql += " AND t.content  like '%"+content+"%'";
        }
        if(StringUtils.isNotBlank(tempQuestionCode)){
            sql += " AND t.temp_question_code ='"+tempQuestionCode+"'";
        }
        if(StringUtils.isNotBlank(tempOptionCode)){
            sql += " AND t.temp_option_code ='"+tempOptionCode+"'";
        }
        sql += " ORDER BY t.create_time DESC LIMIT " + (page - 1) * size + "," + size + " ";
        List<WlyySurveyUserAnswerDO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WlyySurveyUserAnswerDO.class));
        return MixEnvelop.getSuccessListWithPage(BaseHospitalRequestMapping.Prescription.api_success, list, page, size, count);
    }
    /**
     * 查询
     * @param title
     * @param page
     * @param size
     * @return
     */
    public MixEnvelop findAnswerList(String title,Integer page,Integer size){
        String totalSql ="SELECT " +
                " COUNT(1) AS total" +
                " FROM " +
                " wlyy_survey_user t " +
                " WHERE 1=1";
        if(StringUtils.isNotBlank(title)){
            totalSql += " AND t.title like '%"+title+"%' ";
        }
        List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql);
        Long count = 0L;
        if (rstotal != null && rstotal.size() > 0) {
            count = (Long) rstotal.get(0).get("total");
        }
        String sql = "SELECT " +
                " t.id, " +
                " t.survey_temp_code AS surveyTempCode, " +
                " t.survey_temp_title AS surveyTempTitle, " +
                " t.patient," +
                " t.patient_name AS patientName," +
                " t.score," +
                " t.dept," +
                " t.dept_name AS deptName," +
                " t.doctor," +
                " t.doctor_name AS doctorName," +
                " t.status," +
                " t.end_time AS endTime," +
                " t.create_time AS createTime," +
                " p.idcard" +
                " FROM " +
                " wlyy_survey_user t " +
                " JOIN base_patient p ON t.patient = p.id " +
                " WHERE 1=1 ";
        if(StringUtils.isNotBlank(title)){
            sql += " AND t.title like '%"+title+"%' ";
        }
        sql += " ORDER BY t.create_time DESC LIMIT " + (page - 1) * size + "," + size + " ";
        List<WlyySurveyUserVO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WlyySurveyUserVO.class));
        if(list!=null&&list.size()>0){
            for(WlyySurveyUserVO vo :list){
                vo.setAge(IdCardUtil.getAgeForIdcard(vo.getIdcard()));
            }
        }
        return MixEnvelop.getSuccessListWithPage(BaseHospitalRequestMapping.Prescription.api_success, list, page, size, count);
    }
}

+ 286 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/doctor/BaseDoctorZsInfoDO.java

@ -0,0 +1,286 @@
package com.yihu.jw.entity.hospital.doctor;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * Created by Trick on 2019/9/16.
 */
@Entity
@Table(name = "base_doctor_zs_info")
public class BaseDoctorZsInfoDO extends IntegerIdentityEntity {
    private String staffCode;
    private String staffName;
    private String deptId;
    private String deptName;
    private String idNumber;
    private String sexCode;
    private String sexName;
    private Date dateBirth;
    private String addrHome;
    private String mobileNo;
    private String major;
    private String educationName;
    private String degreeName;
    private Date entryDate;
    private Date arriveHospDate;
    private String staffCategCode;
    private String StaffCategName;
    private String titleLevelCode;
    private String titleLevelName;
    private String staffStatusCode;
    private String staffStatusName;
    private String levelCode;
    private String levelName;
    private String degreeCode;
    private String ethnicCode;
    private String ethnicName;
    private String politicalStatus;
    private String politicalStatusName;
    private String practiceCertificateNo;
    private String skillCertificateNo;
    public String getStaffCode() {
        return staffCode;
    }
    public void setStaffCode(String staffCode) {
        this.staffCode = staffCode;
    }
    public String getStaffName() {
        return staffName;
    }
    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }
    public String getDeptId() {
        return deptId;
    }
    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    public String getIdNumber() {
        return idNumber;
    }
    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }
    public String getSexCode() {
        return sexCode;
    }
    public void setSexCode(String sexCode) {
        this.sexCode = sexCode;
    }
    public String getSexName() {
        return sexName;
    }
    public void setSexName(String sexName) {
        this.sexName = sexName;
    }
    public Date getDateBirth() {
        return dateBirth;
    }
    public void setDateBirth(Date dateBirth) {
        this.dateBirth = dateBirth;
    }
    public String getAddrHome() {
        return addrHome;
    }
    public void setAddrHome(String addrHome) {
        this.addrHome = addrHome;
    }
    public String getMobileNo() {
        return mobileNo;
    }
    public void setMobileNo(String mobileNo) {
        this.mobileNo = mobileNo;
    }
    public String getMajor() {
        return major;
    }
    public void setMajor(String major) {
        this.major = major;
    }
    public String getEducationName() {
        return educationName;
    }
    public void setEducationName(String educationName) {
        this.educationName = educationName;
    }
    public String getDegreeName() {
        return degreeName;
    }
    public void setDegreeName(String degreeName) {
        this.degreeName = degreeName;
    }
    public Date getEntryDate() {
        return entryDate;
    }
    public void setEntryDate(Date entryDate) {
        this.entryDate = entryDate;
    }
    public Date getArriveHospDate() {
        return arriveHospDate;
    }
    public void setArriveHospDate(Date arriveHospDate) {
        this.arriveHospDate = arriveHospDate;
    }
    public String getStaffCategCode() {
        return staffCategCode;
    }
    public void setStaffCategCode(String staffCategCode) {
        this.staffCategCode = staffCategCode;
    }
    public String getStaffCategName() {
        return StaffCategName;
    }
    public void setStaffCategName(String staffCategName) {
        StaffCategName = staffCategName;
    }
    public String getTitleLevelCode() {
        return titleLevelCode;
    }
    public void setTitleLevelCode(String titleLevelCode) {
        this.titleLevelCode = titleLevelCode;
    }
    public String getTitleLevelName() {
        return titleLevelName;
    }
    public void setTitleLevelName(String titleLevelName) {
        this.titleLevelName = titleLevelName;
    }
    public String getStaffStatusCode() {
        return staffStatusCode;
    }
    public void setStaffStatusCode(String staffStatusCode) {
        this.staffStatusCode = staffStatusCode;
    }
    public String getStaffStatusName() {
        return staffStatusName;
    }
    public void setStaffStatusName(String staffStatusName) {
        this.staffStatusName = staffStatusName;
    }
    public String getLevelCode() {
        return levelCode;
    }
    public void setLevelCode(String levelCode) {
        this.levelCode = levelCode;
    }
    public String getLevelName() {
        return levelName;
    }
    public void setLevelName(String levelName) {
        this.levelName = levelName;
    }
    public String getDegreeCode() {
        return degreeCode;
    }
    public void setDegreeCode(String degreeCode) {
        this.degreeCode = degreeCode;
    }
    public String getEthnicCode() {
        return ethnicCode;
    }
    public void setEthnicCode(String ethnicCode) {
        this.ethnicCode = ethnicCode;
    }
    public String getEthnicName() {
        return ethnicName;
    }
    public void setEthnicName(String ethnicName) {
        this.ethnicName = ethnicName;
    }
    public String getPoliticalStatus() {
        return politicalStatus;
    }
    public void setPoliticalStatus(String politicalStatus) {
        this.politicalStatus = politicalStatus;
    }
    public String getPoliticalStatusName() {
        return politicalStatusName;
    }
    public void setPoliticalStatusName(String politicalStatusName) {
        this.politicalStatusName = politicalStatusName;
    }
    public String getPracticeCertificateNo() {
        return practiceCertificateNo;
    }
    public void setPracticeCertificateNo(String practiceCertificateNo) {
        this.practiceCertificateNo = practiceCertificateNo;
    }
    public String getSkillCertificateNo() {
        return skillCertificateNo;
    }
    public void setSkillCertificateNo(String skillCertificateNo) {
        this.skillCertificateNo = skillCertificateNo;
    }
}

+ 5 - 5
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyDeptDO.java

@ -26,7 +26,7 @@ public class WlyySurveyDeptDO extends IntegerIdentityEntity {
    /**
     * 问卷部门名称
     */
    private String deptCode;
    private String deptName;
    public String getSurveyTempCode() {
        return surveyTempCode;
@ -44,11 +44,11 @@ public class WlyySurveyDeptDO extends IntegerIdentityEntity {
        this.dept = dept;
    }
    public String getDeptCode() {
        return deptCode;
    public String getDeptName() {
        return deptName;
    }
    public void setDeptCode(String deptCode) {
        this.deptCode = deptCode;
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
}

+ 2 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyInspLabelInfoDO.java

@ -1,5 +1,6 @@
package com.yihu.jw.entity.hospital.survey;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Entity;
@ -10,7 +11,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "wlyy_survey_insp_label_info")
public class WlyySurveyInspLabelInfoDO extends UuidIdentityEntity {
public class WlyySurveyInspLabelInfoDO extends IntegerIdentityEntity {
    private String surveyTempCode;//问卷模板编码',
    private String labelCode;//(筛查类型code)',

+ 2 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyLabelInfoDO.java

@ -1,5 +1,6 @@
package com.yihu.jw.entity.hospital.survey;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Entity;
@ -10,7 +11,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "wlyy_survey_label_info")
public class WlyySurveyLabelInfoDO extends UuidIdentityEntity {
public class WlyySurveyLabelInfoDO extends IntegerIdentityEntity {
    private String surveyTempCode;//问卷模板编码',
    private String labelCode;//(1满意度、2糖尿病、3高血压、4生活日常,5疾病筛查)',

+ 9 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyQuestionsOptionDO.java

@ -17,6 +17,7 @@ public class WlyySurveyQuestionsOptionDO {
    private String id;
    private String questionCode;//题库问题编码',
    private String content;//选项内容',
    private Integer haveComment;//是否有备注,0没有,1有
    private Integer isRequired;//选项说明是否必填(0否 1是)',
    private Integer sort;//单题内排序',
    private String del;//删除标志(1正常,0删除)',
@ -70,4 +71,12 @@ public class WlyySurveyQuestionsOptionDO {
    public void setDel(String del) {
        this.del = del;
    }
    public Integer getHaveComment() {
        return haveComment;
    }
    public void setHaveComment(Integer haveComment) {
        this.haveComment = haveComment;
    }
}

+ 14 - 5
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyTemplateOptionDO.java

@ -16,8 +16,9 @@ public class WlyySurveyTemplateOptionDO  {
    private String id;
    private String templateCode;//模板编码',
    private String templateQuestionCode;//模板问题编码',
    private String questionCode;//模板问题编码',关联wlyy_survey_template_question
    private String content;//选项内容',
    private Integer haveComment;//是否有备注,0没有,1有
    private Integer isRequired;//选项说明是否必填(0否 1是)',
    private Integer score;//选项分值',
    private String questionCodeNext;//下一题问题编码(问答题逻辑跳转)',
@ -43,12 +44,12 @@ public class WlyySurveyTemplateOptionDO  {
        this.templateCode = templateCode;
    }
    public String getTemplateQuestionCode() {
        return templateQuestionCode;
    public String getQuestionCode() {
        return questionCode;
    }
    public void setTemplateQuestionCode(String templateQuestionCode) {
        this.templateQuestionCode = templateQuestionCode;
    public void setQuestionCode(String questionCode) {
        this.questionCode = questionCode;
    }
    public String getContent() {
@ -106,4 +107,12 @@ public class WlyySurveyTemplateOptionDO  {
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    public Integer getHaveComment() {
        return haveComment;
    }
    public void setHaveComment(Integer haveComment) {
        this.haveComment = haveComment;
    }
}

+ 9 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyUserAnswerDO.java

@ -18,6 +18,7 @@ public class WlyySurveyUserAnswerDO extends UuidIdentityEntity {
    private String tempQuestionCode;//问答题题目编码',
    private Integer questionType;//
    private String tempOptionCode;//问卷选项编码',
    private String comment;//选项的备注
    private String content;//问答题答案/选择题,问答题的中文',
    private String patient;//患者ID',
    private String patientName;//患者姓名',
@ -96,4 +97,12 @@ public class WlyySurveyUserAnswerDO extends UuidIdentityEntity {
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getComment() {
        return comment;
    }
    public void setComment(String comment) {
        this.comment = comment;
    }
}

+ 36 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyUserDO.java

@ -18,6 +18,10 @@ public class WlyySurveyUserDO extends UuidIdentityEntity {
    private String surveyTempTitle;//模板标题
    private String patient;//患者ID',
    private String patientName;//
    private String dept;//部门
    private String deptName;//部门名称
    private String doctor;  //医生
    private String doctorName;//医生名称
    private Integer status;//是否已答(0未答 1已答 2放弃)',
    private Date endTime;//完成时间(放弃时间)',
    private Date createTime;//调查时间(居民接受时间)',
@ -79,4 +83,36 @@ public class WlyySurveyUserDO extends UuidIdentityEntity {
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
}

+ 8 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -475,5 +475,13 @@ public class BaseHospitalRequestMapping {
        public static final String saveSurveyTemplate  = "/saveSurveyTemplate";
        public static final String delSurveyTemplate  = "/delSurveyTemplate";
        public static final String saveSurveyDept  = "/saveSurveyDept";
        public static final String findSurveyByDept  = "/findSurveyByDept";
        public static final String findDeptBySurvey  = "/findDeptBySurvey";
        public static final String saveSurveyAnswer  = "/saveSurveyAnswer";
        public static final String findAnswerBySurveyTempCode  = "/findAnswerBySurveyTempCode";
    }
}

+ 2 - 2
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyInspLabelInfoVO.java

@ -1,6 +1,6 @@
package com.yihu.jw.restmodel.hospital.survey;
import com.yihu.jw.restmodel.UuidIdentityVO;
import com.yihu.jw.restmodel.IntegerIdentityVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -8,7 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
 * Created by Trick on 2019/9/10.
 */
@ApiModel(value = "WlyySurveyInspLabelInfoVO", description = "问卷模板筛查标签")
public class WlyySurveyInspLabelInfoVO extends UuidIdentityVO {
public class WlyySurveyInspLabelInfoVO extends IntegerIdentityVO {
    @ApiModelProperty(value = "问卷模板编码", example = "模块1")
    private String surveyTempCode;//问卷模板编码',

+ 2 - 1
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyLabelInfoVO.java

@ -1,5 +1,6 @@
package com.yihu.jw.restmodel.hospital.survey;
import com.yihu.jw.restmodel.IntegerIdentityVO;
import com.yihu.jw.restmodel.UuidIdentityVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -8,7 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
 * Created by Trick on 2019/9/10.
 */
@ApiModel(value = "WlyySurveyLabelInfoVO", description = "问卷模板标签")
public class WlyySurveyLabelInfoVO extends UuidIdentityVO {
public class WlyySurveyLabelInfoVO extends IntegerIdentityVO {
    @ApiModelProperty(value = "问卷模板编码", example = "模块1")
    private String surveyTempCode;//问卷模板编码',

+ 10 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyQuestionsOptionVO.java

@ -14,6 +14,8 @@ public class WlyySurveyQuestionsOptionVO extends UuidIdentityVO {
    private String questionCode;//题库问题编码',
    @ApiModelProperty(value = "选项内容", example = "模块1")
    private String content;//选项内容',
    @ApiModelProperty(value = "是否有备注,0没有,1有", example = "模块1")
    private Integer haveComment;
    @ApiModelProperty(value = "选项说明是否必填(0否 1是)", example = "模块1")
    private Integer isRequired;//选项说明是否必填(0否 1是)',
    @ApiModelProperty(value = "单题内排序", example = "模块1")
@ -60,4 +62,12 @@ public class WlyySurveyQuestionsOptionVO extends UuidIdentityVO {
    public void setDel(String del) {
        this.del = del;
    }
    public Integer getHaveComment() {
        return haveComment;
    }
    public void setHaveComment(Integer haveComment) {
        this.haveComment = haveComment;
    }
}

+ 26 - 5
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyTemplateOptionVO.java

@ -13,9 +13,11 @@ public class WlyySurveyTemplateOptionVO extends UuidIdentityVO {
    @ApiModelProperty(value = "模板编码", example = "模块1")
    private String templateCode;//模板编码',
    @ApiModelProperty(value = "模板问题编码", example = "模块1")
    private String templateQuestionCode;//模板问题编码',
    private String questionCode;//模板问题编码',
    @ApiModelProperty(value = "选项内容", example = "模块1")
    private String content;//选项内容',
    @ApiModelProperty(value = "是否有备注,0没有,1有", example = "模块1")
    private String haveComment;
    @ApiModelProperty(value = "选项说明是否必填(0否 1是)", example = "模块1")
    private Integer isRequired;//选项说明是否必填(0否 1是)',
    @ApiModelProperty(value = "选项分值", example = "模块1")
@ -29,6 +31,9 @@ public class WlyySurveyTemplateOptionVO extends UuidIdentityVO {
    @ApiModelProperty(value = "单题内排序", example = "模块1")
    private Integer sort;//单题内排序',
    @ApiModelProperty(value = "百分比", example = "模块1")
    private String percentage;
    public String getTemplateCode() {
        return templateCode;
    }
@ -37,12 +42,12 @@ public class WlyySurveyTemplateOptionVO extends UuidIdentityVO {
        this.templateCode = templateCode;
    }
    public String getTemplateQuestionCode() {
        return templateQuestionCode;
    public String getQuestionCode() {
        return questionCode;
    }
    public void setTemplateQuestionCode(String templateQuestionCode) {
        this.templateQuestionCode = templateQuestionCode;
    public void setQuestionCode(String questionCode) {
        this.questionCode = questionCode;
    }
    public String getContent() {
@ -100,4 +105,20 @@ public class WlyySurveyTemplateOptionVO extends UuidIdentityVO {
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    public String getHaveComment() {
        return haveComment;
    }
    public void setHaveComment(String haveComment) {
        this.haveComment = haveComment;
    }
    public String getPercentage() {
        return percentage;
    }
    public void setPercentage(String percentage) {
        this.percentage = percentage;
    }
}

+ 5 - 5
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyTemplateQuestionVO.java

@ -42,7 +42,7 @@ public class WlyySurveyTemplateQuestionVO extends UuidIdentityVO {
    private Date updateTime;//修改时间',
    @ApiModelProperty(value = "选项", example = "模块1")
    private List<WlyySurveyTemplateOptionVO> templateOptionVOs;
    private List<WlyySurveyTemplateOptionVO> optionVOs;
    public String getTitle() {
        return title;
@ -148,11 +148,11 @@ public class WlyySurveyTemplateQuestionVO extends UuidIdentityVO {
        this.updateTime = updateTime;
    }
    public List<WlyySurveyTemplateOptionVO> getTemplateOptionVOs() {
        return templateOptionVOs;
    public List<WlyySurveyTemplateOptionVO> getOptionVOs() {
        return optionVOs;
    }
    public void setTemplateOptionVOs(List<WlyySurveyTemplateOptionVO> templateOptionVOs) {
        this.templateOptionVOs = templateOptionVOs;
    public void setOptionVOs(List<WlyySurveyTemplateOptionVO> optionVOs) {
        this.optionVOs = optionVOs;
    }
}

+ 145 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/survey/WlyySurveyUserVO.java

@ -0,0 +1,145 @@
package com.yihu.jw.restmodel.hospital.survey;
import com.yihu.jw.restmodel.UuidIdentityVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
/**
 * Created by Trick on 2019/9/17.
 */
@ApiModel(value = "WlyySurveyUserVO", description = "问卷调查")
public class WlyySurveyUserVO extends UuidIdentityVO {
    @ApiModelProperty(value = "问卷模板编码", example = "模块1")
    private String surveyTempCode;//问卷模板编码',
    @ApiModelProperty(value = "模板标题", example = "模块1")
    private String surveyTempTitle;//模板标题
    @ApiModelProperty(value = "患者ID", example = "模块1")
    private String patient;//患者ID',
    @ApiModelProperty(value = "患者", example = "模块1")
    private String patientName;//
    @ApiModelProperty(value = "部门", example = "模块1")
    private String dept;//部门
    @ApiModelProperty(value = "部门名称", example = "模块1")
    private String deptName;//部门名称
    @ApiModelProperty(value = "医生", example = "模块1")
    private String doctor;  //医生
    @ApiModelProperty(value = "医生名称", example = "模块1")
    private String doctorName;//医生名称
    @ApiModelProperty(value = "是否已答", example = "模块1")
    private Integer status;//是否已答(0未答 1已答 2放弃)',
    @ApiModelProperty(value = "完成时间", example = "模块1")
    private Date endTime;//完成时间(放弃时间)',
    @ApiModelProperty(value = "调查时间", example = "模块1")
    private Date createTime;//调查时间(居民接受时间)',
    @ApiModelProperty(value = "身份证", example = "模块1")
    private String idcard;
    @ApiModelProperty(value = "年龄", example = "模块1")
    private Integer age;
    public String getSurveyTempCode() {
        return surveyTempCode;
    }
    public void setSurveyTempCode(String surveyTempCode) {
        this.surveyTempCode = surveyTempCode;
    }
    public String getSurveyTempTitle() {
        return surveyTempTitle;
    }
    public void setSurveyTempTitle(String surveyTempTitle) {
        this.surveyTempTitle = surveyTempTitle;
    }
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    public String getPatientName() {
        return patientName;
    }
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public Date getEndTime() {
        return endTime;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
}

+ 29 - 0
common/common-util/src/main/java/com/yihu/jw/util/common/PercentageUtil.java

@ -0,0 +1,29 @@
package com.yihu.jw.util.common;
import java.math.BigDecimal;
/**
 * Created by Trick on 2019/9/17.
 */
public class PercentageUtil {
    /**
     * 求百分比
     * @param a
     * @param b
     * @return
     */
    public static double bs(int a, int b) {
        if(b==0||a==0){
            return 0;
        }
        return ((new BigDecimal((float) a / b).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue()) * 100);
    }
//    public static void main(String[] args) {
//        double v = bs(0,545);
//        String str = v+"%";
//        System.out.println(str);
//    }
}

+ 8 - 0
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/MqSdkController.java

@ -335,6 +335,14 @@ public class MqSdkController extends EnvelopRestEndpoint {
        return success(obj);
    }
    @GetMapping(value = "/MS02014")
    @ApiOperation(value = "医生详细信息同步")
    public ObjEnvelop MS02014() throws Exception {
        int obj = entranceService.MS02014(demoFlag);
        System.out.println("共同步"+obj+"位医生!");
        return success(obj);
    }
    @GetMapping(value = "/ehospitalNotice")
    @ApiOperation(value = "互联网医院通知")
    public ObjEnvelop ehospitalNotice(

+ 45 - 1
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/survey/SurveyEndpoint.java

@ -116,9 +116,53 @@ public class SurveyEndpoint extends EnvelopRestEndpoint {
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.delSurveyTemplate)
    @ApiOperation(value = "模板-批量删除")
    @ApiOperation(value = "模板-删除模板")
    public ObjEnvelop delSurveyTemplate(@ApiParam(name = "tempId", value = "模板实体json")
                                        @RequestParam(value = "tempId",required = true)String tempId) throws Exception {
        return success(surveyService.delSurveyTemplate(tempId));
    }
    //=================调查问卷居民查询\答题
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveSurveyDept)
    @ApiOperation(value = "模板-设置模板发送的科室")
    public ObjEnvelop saveSurveyDept(@ApiParam(name = "tempId", value = "模板实体json")
                                     @RequestParam(value = "tempId",required = true)String tempId,
                                     @ApiParam(name = "sdJsons", value = "部门与科室关系json")
                                     @RequestParam(value = "sdJsons",required = true)String sdJsons)throws Exception {
        return success(surveyService.saveSurveyDept(tempId,sdJsons));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyByDept)
    @ApiOperation(value = "模板-查询部门下发放的问卷")
    public ListEnvelop findSurveyByDept(@ApiParam(name = "dept", value = "科室")
                                        @RequestParam(value = "dept",required = true)String dept)throws Exception {
        return success(surveyService.findSurveyByDept(dept));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findDeptBySurvey)
    @ApiOperation(value = "模板-查询模板下的科室")
    public ListEnvelop findDeptBySurvey(@ApiParam(name = "tempId", value = "模板实体json")
                                        @RequestParam(value = "tempId",required = true)String tempId)throws Exception {
        return success(surveyService.findDeptBySurvey(tempId));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveSurveyAnswer)
    @ApiOperation(value = "模板-保存问卷答案")
    public ObjEnvelop saveSurveyAnswer(@ApiParam(name = "suJson", value = "发送状态json")
                                     @RequestParam(value = "suJson",required = true)String suJson,
                                     @ApiParam(name = "suaJsons", value = "答案集合json")
                                     @RequestParam(value = "suaJsons",required = true)String suaJsons)throws Exception {
        return success(surveyService.saveSurveyAnswer(suJson, suaJsons));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findAnswerBySurveyTempCode)
    @ApiOperation(value = "模板-查询用户问卷答案")
    public ListEnvelop findAnswerBySurveyTempCode(@ApiParam(name = "patient", value = "居民ID")
                                                  @RequestParam(value = "patient",required = true)String patient,
                                                  @ApiParam(name = "tempId", value = "模板id")
                                                  @RequestParam(value = "tempId",required = true)String tempId)throws Exception {
        return success(surveyService.findAnswerBySurveyTempCode(patient,tempId));
    }
    //=================
}