Browse Source

区域互联网医院

Trick 5 years ago
parent
commit
4d9e71e884
100 changed files with 6225 additions and 175 deletions
  1. 2 2
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  2. 21 10
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java
  3. 40 144
      business/base-service/src/main/java/com/yihu/jw/internet/service/ykyy/YkyyInternetService.java
  4. 77 1
      business/base-service/src/main/java/com/yihu/jw/wechat/enterprise/EnterpriseService.java
  5. 9 0
      business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java
  6. 6 1
      common/common-entity/src/main/java/com/yihu/jw/entity/IntegerIdentityEntity.java
  7. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseCityDO.java
  8. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseCommitteeDO.java
  9. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseProvinceDO.java
  10. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseStreetDO.java
  11. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseTownDO.java
  12. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/customize/UserHideModuleInterfaceDO.java
  13. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictDiseaseDO.java
  14. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictDoctorDutyDO.java
  15. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHealthProblemDO.java
  16. 1 1
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHospitalDeptDO.java
  17. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictIcd10DO.java
  18. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictJobTitleDO.java
  19. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineDO.java
  20. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineDistributeOrgDO.java
  21. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineDosageFormDO.java
  22. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineSubjectDO.java
  23. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorHospitalDO.java
  24. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorRoleDO.java
  25. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorRoleInfoDO.java
  26. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseModuleRoleDO.java
  27. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/DoctorSpecialDiseaseDo.java
  28. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/message/BaseMessageDO.java
  29. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/message/BaseMessageTypeDO.java
  30. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgSaasDO.java
  31. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgUserDO.java
  32. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/AccountAppealDO.java
  33. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/FeedbackDO.java
  34. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/HelpCenterDO.java
  35. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/PatientMedicareCardDO.java
  36. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/role/BaseRoleMenuDO.java
  37. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/role/RoleAuthorityDO.java
  38. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/role/RoleMenuDO.java
  39. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasBusinessCardDO.java
  40. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/team/BaseTeamMemberDO.java
  41. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/theme/ThemeDO.java
  42. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/version/AppVersionDO.java
  43. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/wx/JsApiTicket.java
  44. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/wx/WxPayLogDO.java
  45. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/wx/WxUrlConfigDO.java
  46. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/dimension/DimensionDo.java
  47. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/dimension/DimensionQuotaDo.java
  48. 0 1
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/dict/WlyyChargeDictDO.java
  49. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/doctor/BaseDoctorZsInfoDO.java
  50. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/mapping/HospitalDeptMappingDO.java
  51. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyInspectionPartsDictDO.java
  52. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyDeptDO.java
  53. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyInspLabelInfoDO.java
  54. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/survey/WlyySurveyLabelInfoDO.java
  55. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/myFamily/PatientApplyLog.java
  56. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/specialist/RehabilitationServiceItemDO.java
  57. 2 3
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/area/BaseCommitteeVO.java
  58. 2 4
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/team/BaseTeamMemberVO.java
  59. 2 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/OrgTree.java
  60. 42 0
      svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/EnterpriseController.java
  61. 3 2
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/web/quota/JobController.java
  62. 8 2
      svr/svr-internet-hospital-job/src/main/resources/bootstrap.yml
  63. 0 0
      svr/svr-oracle-test/sql/sql
  64. 25 0
      svr/svr-oracle-test/src/main/java/com/yihu/SvrInternetHospitalApplication.java
  65. 27 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/BeanConfig.java
  66. 18 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/SpringSecurityAuditorAware.java
  67. 44 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/SwaggerDocs.java
  68. 19 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/ConsultPriceDao.java
  69. 19 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeArticleDao.java
  70. 19 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeArticleDeptDao.java
  71. 18 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeCategoryDao.java
  72. 13 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/ReservationSettingDao.java
  73. 20 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/SysDictDao.java
  74. 28 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/WlyyPatientExpressageAddrDao.java
  75. 33 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/account/PatientEndpoint.java
  76. 49 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/analysis/AnalysisEndPoint.java
  77. 108 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/appointment/AppointmentEndPoint.java
  78. 198 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/article/ArticleEndpoint.java
  79. 202 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/base/BaseInfoEndpoint.java
  80. 120 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/config/DoctorServiceEndPoint.java
  81. 101 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/ConsultPriceEndpoint.java
  82. 746 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java
  83. 614 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/PatientConsultEndpoint.java
  84. 101 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/ReservationSettingEndpoint.java
  85. 157 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/SysDictEndpoint.java
  86. 43 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/demo/HibenateDemoEndpoint.java
  87. 195 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/expressage/ExpressageEndpoint.java
  88. 109 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/expressage/WlyyPatientExpressageAddrEndpoint.java
  89. 81 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/file_upload/FileUploadEndpoint.java
  90. 230 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/internet/InternetController.java
  91. 111 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/message/SystemMessageController.java
  92. 209 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  93. 947 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java
  94. 791 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/statistics/EsStatisticsEndpoint.java
  95. 226 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/survey/SurveyEndpoint.java
  96. 60 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/version/VersionEndpoint.java
  97. 108 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/SystemMessage/HospitalSystemMessageService.java
  98. 52 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/analysis/AnalysisService.java
  99. 73 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/ConsultPriceService.java
  100. 0 0
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeArticleService.java

+ 2 - 2
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -2266,12 +2266,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
               BaseOrgDO org = baseOrgDao.findByCode(hospitalDOs.get(0).getOrgCode());
               rs.put("winNo",org.getWinNo());
               rs.put("deptName",hospitalDOs.get(0).getDeptName());
                rs.put("dept",hospitalDOs.get(0).getDeptCode());
               rs.put("dept",hospitalDOs.get(0).getDeptCode());
            }else{
               rs.put("hospital",null);
               rs.put("winNo",null);
               rs.put("deptName",null);
                rs.put("dept",null);
               rs.put("dept",null);
            }

+ 21 - 10
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java

@ -118,7 +118,7 @@ public class YkyyEntranceService {
    }
    public String updateYkyyDoctor()throws Exception{
        String sql ="select y.code AS \"code\",y.name AS \"name\",y.idCard AS \"idcard\",y.jobtitlecode AS \"jobTitleCode\",y.jobTitleName AS \"jobTitleName\",y.dept AS \"dept\",y.deptName AS \"deptName\" from v_Hlw_Ysxx y where y.idcard is not null";
        String sql ="select y.code AS \"code\",y.name AS \"name\",y.expertise AS \"expertise\",y.introduce AS \"introduce\",y.mobile AS \"mobile\",y.idCard AS \"idcard\",y.jobtitlecode AS \"jobTitleCode\",y.jobTitleName AS \"jobTitleName\",y.dept AS \"dept\",y.deptName AS \"deptName\" from v_Hlw_Ysxx y where y.idcard is not null";
        Map<String,Object> params = new HashedMap();
        params.put("sql",sql);
        HttpResponse response = HttpUtils.doGet(url,params);
@ -132,19 +132,27 @@ public class YkyyEntranceService {
            if(array!=null&&array.size()>0) {
                for (int i = 0; i < array.size(); i++) {
                    JSONObject doctorJson = array.getJSONObject(i);
                    String idCard = doctorJson.getString("idCard");
                    String idcard = doctorJson.getString("idcard");
                    //过滤身份证脏数据
                    if(idCard.length()>=15){
                    if(idcard.length()>=15){
                        List<BaseDoctorDO> doctorDOs = baseDoctorDao.findByIdcard(idCard);
                        List<BaseDoctorDO> doctorDOs = baseDoctorDao.findByIdcard(idcard);
                        if(doctorDOs!=null&&doctorDOs.size()>0){
                            BaseDoctorDO doctor = doctorDOs.get(0);
                            String salt = randomString(5);
                            String pw = idcard.substring(idcard.length() - 6);
                            doctor.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
                            doctor.setSalt(salt);
                            doctor.setJobTitleCode(doctorJson.getString("jobtitlecode"));
                            doctor.setJobTitleName(doctorJson.getString("jobTitleName"));
//                            doctor.setExpertise(doctorJson.getString("expertise"));
//                            doctor.setIntroduce(doctorJson.getString("introduce"));
//                            doctor.setMobile(doctorJson.getString("mobile"));
                            BaseDoctorDO temp = baseDoctorDao.save(doctor);
@ -163,10 +171,10 @@ public class YkyyEntranceService {
                            //新增医生
                            BaseDoctorDO doctor = new BaseDoctorDO();
                            doctor.setName(doctorJson.getString("name"));
                            doctor.setIdcard(idCard);
                            doctor.setIdcard(idcard);
                            doctor.setSex(Integer.parseInt(IdCardUtil.getSexForIdcard_new(idCard)));
                            doctor.setBirthday(IdCardUtil.getBirthdayForIdcard(idCard));
                            doctor.setSex(Integer.parseInt(IdCardUtil.getSexForIdcard_new(idcard)));
                            doctor.setBirthday(IdCardUtil.getBirthdayForIdcard(idcard));
                            doctor.setProvinceCode("350000");
                            doctor.setProvinceName("福建省");
@ -174,11 +182,14 @@ public class YkyyEntranceService {
                            doctor.setTownName("思明区");
                            doctor.setCityCode("350200");
                            doctor.setCityName("厦门市");
//                            doctor.setExpertise(doctorJson.getString("expertise"));
//                            doctor.setIntroduce(doctorJson.getString("introduce"));
//                            doctor.setMobile(doctorJson.getString("mobile"));
                            //认证信息设置
                            String salt = randomString(5);
                            String pw = idCard.substring(idCard.length() - 6);
                            String pw = idcard.substring(idcard.length() - 6);
                            doctor.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
                            doctor.setSalt(salt);
                            doctor.setDel("1");
                            doctor.setEnabled(1);
                            doctor.setLocked(0);
@ -207,7 +218,7 @@ public class YkyyEntranceService {
                            //保存mapping
                            DoctorMappingDO mappingDO = new DoctorMappingDO();
                            mappingDO.setIdcard(idCard);
                            mappingDO.setIdcard(idcard);
                            mappingDO.setDoctor(temp.getId());
                            mappingDO.setDoctorName(temp.getName());

+ 40 - 144
business/base-service/src/main/java/com/yihu/jw/internet/service/ykyy/YkyyInternetService.java

@ -27,10 +27,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.LinkedCaseInsensitiveMap;
import sun.misc.BASE64Encoder;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.*;
import java.net.URL;
import java.util.Date;
import java.util.List;
@ -286,16 +283,23 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
        String token = upNsUserToken(url);
        //  因为要上传的是医师信息,所以针对到注册用户且无部门信息的用户数据不上传
        String sql = "select a.id,a.name,a.idcard,a.sex,a.birthday, a.cert_no, a.prac_no\n" +
                "      ,a.mobile,b.dept_code,b.dept_name,a.job_title_code,i.fzrq,i.zyz,i.zgz,i.cert_no,i.prac_no \n" +
        String sql = "select " +
                "   a.id AS \"id\"," +
                "   a.name AS \"name\"," +
                "   a.idcard AS \"idcard\"," +
                "   a.sex AS \"sex\"," +
                "   a.birthday AS \"birthday\", " +
                "   a.cert_no AS \"cert_no\", " +
                "   a.prac_no AS \"prac_no\"," +
                "   a.mobile AS \"mobile\"," +
                "   b.dept_code AS \"dept_code\"," +
                "   b.dept_name AS \"dept_name\"," +
                "   a.job_title_code AS \"job_title_code\"" +
                "  from base_doctor a " +
                "      ,base_doctor_hospital b" +
                "      ,base_doctor_img i " +
                " where a.id = b.doctor_code\n" +
                "   and i.doctor = a.id " +
                "   and b.dept_code != '' " +
                "   and a.job_title_code  not in('4107','054','1313','1413','1415','018','1412','4105','1212','1312','4103','1315','1217','1215','3301','005',\n" +
                "'1213','3501','017','020','058','002','1417','1214','1317','4101','4106') \n" ;
                " where a.id = b.doctor_code" +
                "   and b.dept_code is NOT NULL ";
        if(StringUtils.isNotBlank(startDate)){
            sql =  sql + "  and a.update_time >=  '" + startDate + "' ";
        }
@ -316,7 +320,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
            Boolean errorFlag = false;
            JSONObject jb = new JSONObject();
            try {
                String[] dept = depToSubject(info.get("dept_code").toString());
                String[] dept = depToSubject("1090000");
                // 中山医院 监管平台  职务字典强转
                String[] dutyInfo = classToduty(info.get("job_title_code").toString());
@ -329,10 +333,10 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
                jb.put("birthday", info.get("birthday")  == null?"1900-01-01": DateUtil.dateToStrLong((Date)info.get("birthday")));
                jb.put("subject", dept[0].toString());
                jb.put("subject_name", dept[1].toString());
                jb.put("belong_dept",info.get("dept_code") == null ? dept[0].toString():info.get("dept_code"));
                jb.put("belong_dept_name", info.get("dept_name") == null ? dept[1].toString():info.get("dept_name"));
                jb.put("belong_dept","1090000");
                jb.put("belong_dept_name", "眼科");
                jb.put("doo_tel", info.get("mobile")== null ? "":info.get("mobile"));
                jb.put("title_rec_date", info.get("fzrq"));
//                jb.put("title_rec_date", info.get("fzrq"));
                jb.put("prac_type", "1");   // 因为上传的是医师的信息,所以该字段全部默认设置为 1 医师
                jb.put("title_code", dutyInfo[0].toString());  // 需要与监管平台的字典进行映射
                jb.put("first_compeny_code", orgCode);
@ -343,9 +347,9 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
                jb.put("cert_no",  info.get("cert_no")== null ? "0":info.get("cert_no"));
                jb.put("prac_no",  info.get("prac_no")== null ? "0":info.get("prac_no"));
                //资质证书
                jb.put("doc_cert",info.get("zgz"));
                jb.put("doc_cert",ImgUtils.getImageStr("D:"+ File.separator+"zstp"+File.separator+info.get("name")+File.separator+"zg.jpg"));
                //执业证书
                jb.put("cert_doc_prac", info.get("zyz"));
                jb.put("cert_doc_prac", ImgUtils.getImageStr("D:"+ File.separator+"zstp"+File.separator+info.get("name")+File.separator+"zy.jpg"));
                jb.put("txt_introduction", "");
            }catch (Exception e){
@ -410,14 +414,18 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
        String token = upNsUserToken(url);
        String sql = "SELECT p.id,p.register_no, p.status, p.dept, p.dept_name,patient.name as paName,d.name as docName\n" +
                "     , patient.sex, patient.idcard, patient.mobile, dic.req_fee,reg.date\n" +
                "FROM wlyy_outpatient p\n" +
                "\t JOIN wlyy_patient_register reg on reg.register_no = p.register_no\n" +
                "\t JOIN base_doctor d ON p.doctor = d.id\n" +
                "\t JOIN wlyy_charge_dict dic ON d.charge_type = dic.charge_type \n" +
                "\t JOIN base_patient patient on patient.id = p.patient\n" +
                "WHERE dic.dept_type_code = p.win_no\n" ;
        String sql = "SELECT " +
                "   p.id AS \"id\"," +
                "   p.register_no AS \"register_no\", " +
                "   p.status AS \"status\", " +
                "   p.dept AS \"dept\", " +
                "   p.dept_name AS \"dept_name\"," +
                "   p.patient_name AS \"paName\"," +
                "   p.doctor_name AS \"docName\"," +
                "   p.idcard AS \"idcard\"," +
                "   p.register_date AS \"date\"" +
                "   FROM wlyy_outpatient p " +
                " WHERE 1=1" ;
        if(StringUtils.isNotBlank(startDate)){
            sql =  sql + "  and reg.create_time >=  '" + startDate + "' ";
@ -448,13 +456,13 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
                jb.put("reg_dep_name",  info.get("dept_name") == null?"0":info.get("dept_name"));
                jb.put("reg_subject_code",  dept[0].toString());
                jb.put("reg_subject_name", dept[1].toString());
                jb.put("reg_price",  info.get("req_fee") == null?"0":info.get("req_fee"));
                jb.put("reg_price",  "0");
                jb.put("pt_name", info.get("name") == null?"0":info.get("name"));
                jb.put("ge_code",   info.get("sex") == null?"0":info.get("sex"));
                jb.put("ge_code",   IdCardUtil.getSexForIdcard_new(info.get("idcard").toString()));
                jb.put("pt_age", IdCardUtil.getAgeForIdcard(info.get("idcard").toString()));
                jb.put("card_type", "1");
                jb.put("id_no",  info.get("idcard") == null?"0":info.get("idcard"));
                jb.put("pt_tel",  info.get("mobile") == null?"0":info.get("mobile"));
                jb.put("pt_tel",  "0");
                jb.put("crt_date",DateUtil.dateToStrLong(DateUtil.getNow()));
            }catch (Exception e){
                errorFlag = true;
@ -1649,130 +1657,18 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
    public static  String[]  classToduty(String duty){
        String[] res = new String[2];
        switch (duty) {
            case "1303":
                res[0] = "243";
                res[1] = "主管药师";
                break;
            case "1304":
                res[0] = "243";
                res[1] = "主管药师";
                break;
            case "1101":
                res[0] = "231";
                res[1] = "主任医师";
                break;
            case "065":
            case "1":
                res[0] = "231";
                res[1] = "主任医师";
                break;
            case "1201":
                res[0] = "232";
                res[1] = "副主任医师";
                break;
            case "067":
            case "2":
                res[0] = "232";
                res[1] = "副主任医师";
                break;
            case "1301":
                res[0] = "233";
                res[1] = "主治医师";
                break;
            case "066":
            case "3":
                res[0] = "233";
                res[1] = "主治医师";
                break;
            case "1310":
                res[0] = "233";
                res[1] = "主治医师";
                break;
            case "1401":
                res[0] = "234";
                res[1] = "医师";
                break;
            case "061":
                res[0] = "234";
                res[1] = "医师";
                break;
            case "1501":
                res[0] = "235";
                res[1] = "医士";
                break;
            case "1103":
                res[0] = "241";
                res[1] = "主任药师";
                break;
            case "1104":
                res[0] = "241";
                res[1] = "主任药师";
                break;
            case "1203":
                res[0] = "242";
                res[1] = "副主任药师";
                break;
            case "1403":
                res[0] = "244";
                res[1] = "药师";
                break;
            case "1404":
                res[0] = "244";
                res[1] = "药师";
                break;
            case "1503":
                res[0] = "245";
                res[1] = "药士";
                break;
            case "1102":
                res[0] = "251";
                res[1] = "主任护师";
                break;
            case "1204":
                res[0] = "252";
                res[1] = "副主护师";
                break;
            case "1302":
                res[0] = "253";
                res[1] = "主管护师";
                break;
            case "1402":
                res[0] = "254";
                res[1] = "护师";
                break;
            case "1502":
                res[0] = "255";
                res[1] = "护士";
                break;
            case "1107":
                res[0] = "261";
                res[1] = "主任技师";
                break;
            case "1207":
                res[0] = "262";
                res[1] = "副主任技师";
                break;
            case "1307":
                res[0] = "263";
                res[1] = "主管技师";
                break;
            case "056":
                res[0] = "263";
                res[1] = "主管技师";
                break;
            case "1407":
                res[0] = "264";
                res[1] = "技师";
                break;
            case "006":
                res[0] = "264";
                res[1] = "技师";
                break;
            case "053":
                res[0] = "264";
                res[1] = "技师";
                break;
            case "1202":
                res[0] = "252";
                res[1] = "副主护师";
                break;
            default:
                res[0] = "0";
                res[1] = "未知";

+ 77 - 1
business/base-service/src/main/java/com/yihu/jw/wechat/enterprise/EnterpriseService.java

@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2020/2/8.
@ -124,7 +125,7 @@ public class EnterpriseService {
        return "";
    }
    public String sendMKMesByMobile(String enterpriseId,String mobile,String content)throws Exception{
    public String  sendMKMesByMobile(String enterpriseId,String mobile,String content)throws Exception{
        WxEnterpriseUserDO user = wxEnterpriseUserDao.findByEnterpriseIdAndMobile(enterpriseId,mobile);
        if(user!=null){
@ -154,6 +155,28 @@ public class EnterpriseService {
        return "";
    }
    public String sendXCXMesByDoctor(String enterpriseId, String doctor, String appid,String page, String title, String description, Boolean emphasis_first_item, String content_item)throws Exception {
        BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor);
        if (baseDoctorDO != null && StringUtils.isNotBlank(baseDoctorDO.getMobile())) {
            WxEnterpriseUserDO user = wxEnterpriseUserDao.findByEnterpriseIdAndMobile(enterpriseId, baseDoctorDO.getMobile());
            if (user != null) {
                return sendXCXMes(enterpriseId,user.getUserid(),appid,page,title,description,emphasis_first_item,content_item);
            }
        }
        return "";
    }
    public String sendXCXMesByMobile(String enterpriseId, String mobile, String appid,String page, String title, String description, Boolean emphasis_first_item, String content_item)throws Exception{
        WxEnterpriseUserDO user = wxEnterpriseUserDao.findByEnterpriseIdAndMobile(enterpriseId,mobile);
        if(user!=null){
            return sendXCXMes(enterpriseId,user.getUserid(),appid,page,title,description,emphasis_first_item,content_item);
        }
        return "";
    }
    public String sendTWMes(String enterpriseId,String userId,String title,String description,String url)throws Exception{
        String mesurl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+getToken(enterpriseId);
@ -250,6 +273,59 @@ public class EnterpriseService {
        return rs;
    }
    /**
     *
     touser	否	成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)
     toparty	否	部门ID列表,多个接收者用‘|’分隔,最多支持100个。
     totag	否	标签ID列表,多个接收者用‘|’分隔,最多支持100个。
     msgtype	是	消息类型,此时固定为:miniprogram_notice
     appid	是	小程序appid,必须是与当前小程序应用关联的小程序
     page	否	点击消息卡片后的小程序页面,仅限本小程序内的页面。该字段不填则消息点击后不跳转。
     title	是	消息标题,长度限制4-12个汉字(支持id转译)
     description	否	消息描述,长度限制4-12个汉字(支持id转译)
     emphasis_first_item	否	是否放大第一个content_item
     content_item	否	消息内容键值对,最多允许10个item
     key	是	长度10个汉字以内
     value	是	长度30个汉字以内(支持id转译)
     enable_id_trans	否	表示是否开启id转译,0表示否,1表示是,默认0
     enable_duplicate_check	否	表示是否开启重复消息检查,0表示否,1表示是,默认0
     duplicate_check_interval	否	表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时
     * @throws Exception
     */
    public String sendXCXMes(String enterpriseId, String userId, String appid,String page, String title, String description, Boolean emphasis_first_item, String content_item)throws Exception{
        String mesurl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+getToken(enterpriseId);
        JSONObject param = new JSONObject();
        param.put("touser",userId);
        param.put("toparty","");
        param.put("totag","");
        param.put("msgtype","miniprogram_notice");
        JSONObject miniprogram_notice = new JSONObject();
        miniprogram_notice.put("appid",appid);
        miniprogram_notice.put("page",page);
        miniprogram_notice.put("title",title);
        miniprogram_notice.put("description",description);
        miniprogram_notice.put("emphasis_first_item",emphasis_first_item);
        JSONArray contents = JSONArray.parseArray(content_item);
        miniprogram_notice.put("content_item",contents);
        param.put("miniprogram_notice",miniprogram_notice);
        param.put("enable_id_trans",0);
        param.put("enable_duplicate_check",0);
        logger.info("XCXparam:"+param.toJSONString());
        String rs = HttpUtil.sendPost(mesurl,param.toJSONString());
        logger.info("XCXMes:"+rs);
        return rs;
    }
    public JSONArray getUserInfo(String enterpriseId,String dept)throws Exception{
        logger.info("getUserInfo dept:"+dept);

+ 9 - 0
business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java

@ -522,6 +522,7 @@ public class WlyyBusinessService {
                                String salt = randomString(5);
                                String pw = idcard.substring(idcard.length() - 6);
                                doctor.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
                                doctor.setSalt(salt);
                                doctor.setDel("1");
                                doctor.setEnabled(1);
                                doctor.setLocked(0);
@ -626,4 +627,12 @@ public class WlyyBusinessService {
        }
    }
    public static void main(String ag[]){
        String id = "350212198709121575";
        String salt = "dfgtr";
        String pw = id.substring(id.length() - 6);
        String  spw = MD5.md5Hex(pw + "{" + salt + "}");
        System.out.println(spw);
    }
}

+ 6 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/IntegerIdentityEntity.java

@ -7,7 +7,7 @@ import javax.persistence.*;
import java.io.Serializable;
/**
 * Integer类型的主键基类
 * Integer类型的主键基类,需要根据不同环境打包
 * Created by progr1mmer on 2018/8/13.
 */
@MappedSuperclass
@ -17,10 +17,15 @@ public abstract class IntegerIdentityEntity implements Serializable {
    protected Integer id;
    @Id
//==========mysql 环境 id策略======================================================
    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "identity")
    @Column(name = "id", unique = true, nullable = false)
//==========mysql 环境 id策略 end======================================================
//==========Oracle 环境id策略 =========================================================
//    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_generated")
//==========Oracle 环境id策略 =========================================================
    public Integer getId() {
        return id;
    }

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseCityDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_city")
@SequenceGenerator(name="id_generated", sequenceName="BASE_CITY_SEQ")
public class BaseCityDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseCommitteeDO.java

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -15,6 +16,7 @@ import javax.persistence.Table;
*/
@Entity
@Table(name = "base_committee")
@SequenceGenerator(name="id_generated", sequenceName="BASE_COMMITTEE_SEQ")
public class BaseCommitteeDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseProvinceDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_province")
@SequenceGenerator(name="id_generated", sequenceName="BASE_PROVINCE_SEQ")
public class BaseProvinceDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseStreetDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_street")
@SequenceGenerator(name="id_generated", sequenceName="BASE_STREET_SEQ")
public class BaseStreetDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseTownDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_town")
@SequenceGenerator(name="id_generated", sequenceName="BASE_TOWN_SEQ")
public class BaseTownDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/customize/UserHideModuleInterfaceDO.java

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -13,6 +14,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_user_hide_module_interface")
@SequenceGenerator(name="id_generated", sequenceName="BASE_USER_HIDE_MODULE_INTERFACE_SEQ")
public class UserHideModuleInterfaceDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictDiseaseDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "dict_disease")
@SequenceGenerator(name="id_generated", sequenceName="DICT_DISEASE_SEQ")
public class DictDiseaseDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictDoctorDutyDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "dict_doctor_duty")
@SequenceGenerator(name="id_generated", sequenceName="DICT_DOCTOR_DUTY_SEQ")
public class DictDoctorDutyDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHealthProblemDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "dict_health_problem")
@SequenceGenerator(name="id_generated", sequenceName="DICT_HEALTH_PROBLEM_SEQ")
public class DictHealthProblemDO extends IntegerIdentityEntity {
    /**

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHospitalDeptDO.java

@ -19,7 +19,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "dict_hospital_dept")
@SequenceGenerator(name="id_generated", sequenceName="${BASE_DOCTOR_HOSPITAL_SEQ}")
@SequenceGenerator(name="id_generated", sequenceName="DICT_HOSPITAL_DEPT_SEQ")
public class DictHospitalDeptDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictIcd10DO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "dict_icd10")
@SequenceGenerator(name="id_generated", sequenceName="DICT_ICD10_SEQ")
public class DictIcd10DO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictJobTitleDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "dict_job_title")
@SequenceGenerator(name="id_generated", sequenceName="DICT_JOB_TITLE_SEQ")
public class DictJobTitleDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "dict_medicine")
@SequenceGenerator(name="id_generated", sequenceName="DICT_MEDICINE_SEQ")
public class DictMedicineDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineDistributeOrgDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "dict_medicine_distribute_org")
@SequenceGenerator(name="id_generated", sequenceName="DICT_MEDICINE_DISTRIBUTE_ORG_SEQ")
public class DictMedicineDistributeOrgDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineDosageFormDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "dict_medicine_dosage_form")
@SequenceGenerator(name="id_generated", sequenceName="DICT_MEDICINE_DOSAGE_FORM_SEQ")
public class DictMedicineDosageFormDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictMedicineSubjectDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "dict_medicine_subject")
@SequenceGenerator(name="id_generated", sequenceName="DICT_MEDICINE_SUBJECT_SEQ")
public class DictMedicineSubjectDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorHospitalDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.doctor;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_doctor_hospital")
@SequenceGenerator(name="id_generated", sequenceName="BASE_DOCTOR_HOSPITAL_SEQ")
public class BaseDoctorHospitalDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorRoleDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.doctor;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_doctor_role")
@SequenceGenerator(name="id_generated", sequenceName="BASE_DOCTOR_ROLE_SEQ")
public class BaseDoctorRoleDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorRoleInfoDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.doctor;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -15,6 +16,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_doctor_role_info")
@SequenceGenerator(name="id_generated", sequenceName="BASE_DOCTOR_ROLE_INFO_SEQ")
public class BaseDoctorRoleInfoDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseModuleRoleDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.doctor;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_module_role")
@SequenceGenerator(name="id_generated", sequenceName="BASE_MODULE_ROLE_SEQ")
public class BaseModuleRoleDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/DoctorSpecialDiseaseDo.java

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -13,6 +14,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "wlyy_doctor_special_disease")
@SequenceGenerator(name="id_generated", sequenceName="WLYY_DOCTOR_SPECIAL_DISEASE_SEQ")
public class DoctorSpecialDiseaseDo extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/message/BaseMessageDO.java

@ -5,6 +5,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_message")
@SequenceGenerator(name="id_generated", sequenceName="BASE_MESSAGE_SEQ")
public class BaseMessageDO extends IntegerIdentityEntity {

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/message/BaseMessageTypeDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.message;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_message_type")
@SequenceGenerator(name="id_generated", sequenceName="BASE_MESSAGE_TYPE_SEQ")
public class BaseMessageTypeDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgSaasDO.java

@ -8,6 +8,7 @@ import org.springframework.util.StringUtils;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -20,6 +21,7 @@ import javax.persistence.Table;
@Entity
@Table(name = "base_org_saas")
@Component
@SequenceGenerator(name="id_generated", sequenceName="BASE_ORG_SAAS_SEQ")
public class BaseOrgSaasDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgUserDO.java

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -15,6 +16,7 @@ import javax.persistence.Table;
*/
@Entity
@Table(name = "base_org_user")
@SequenceGenerator(name="id_generated", sequenceName="BASE_ORG_USER_SEQ")
public class BaseOrgUserDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/AccountAppealDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.patient;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "account_appeal")
@SequenceGenerator(name="id_generated", sequenceName="ACCOUNT_APPEAL_SEQ")
public class AccountAppealDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/FeedbackDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.patient;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "feedback")
@SequenceGenerator(name="id_generated", sequenceName="FEEDBACK_SEQ")
public class FeedbackDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/HelpCenterDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.patient;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "help_center")
@SequenceGenerator(name="id_generated", sequenceName="HELP_CENTER_SEQ")
public class HelpCenterDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/PatientMedicareCardDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.patient;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "patient_medicare_card")
@SequenceGenerator(name="id_generated", sequenceName="PATIENT_MEDICARE_CARD_SEQ")
public class PatientMedicareCardDO extends IntegerIdentityEntity {
   public enum ParentType {

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/role/BaseRoleMenuDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.role;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -15,6 +16,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_role_menu")
@SequenceGenerator(name="id_generated", sequenceName="BASE_ROLE_MENU_SEQ")
public class BaseRoleMenuDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/role/RoleAuthorityDO.java

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -13,6 +14,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_role_authority")
@SequenceGenerator(name="id_generated", sequenceName="BASE_ROLE_AUTHORITY_SEQ")
public class RoleAuthorityDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/role/RoleMenuDO.java

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -12,6 +13,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_role_menu")
@SequenceGenerator(name="id_generated", sequenceName="BASE_ROLE_MENU_SEQ")
public class RoleMenuDO extends IntegerIdentityEntity {
	/**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/saas/SaasBusinessCardDO.java

@ -5,6 +5,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -18,6 +19,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_saas_business_card")
@SequenceGenerator(name="id_generated", sequenceName="BASE_SAAS_BUSINESS_CARD_SEQ")
public class SaasBusinessCardDO extends IntegerIdentityEntity {
    public enum Type {

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/team/BaseTeamMemberDO.java

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -16,6 +17,7 @@ import java.util.Date;
*/
@Entity
@Table(name = "base_team_member")
@SequenceGenerator(name="id_generated", sequenceName="BASE_TEAM_MEMBER_SEQ")
public class BaseTeamMemberDO extends IntegerIdentityEntityWithOperator {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/theme/ThemeDO.java

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -12,6 +13,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "base_theme")
@SequenceGenerator(name="id_generated", sequenceName="BASE_THEME_SEQ")
public class ThemeDO extends IntegerIdentityEntity {
    //主题风格

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/version/AppVersionDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.version;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@ -14,6 +15,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "app_version")
@SequenceGenerator(name="id_generated", sequenceName="APP_VERSION_SEQ")
public class AppVersionDO extends IntegerIdentityEntity {
    /**

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/wx/JsApiTicket.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -12,6 +13,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "wx_jsapi_ticket")
@SequenceGenerator(name="id_generated", sequenceName="WX_JSAPI_TICKET_SEQ")
public class JsApiTicket extends IntegerIdentityEntity {
    private static final long serialVersionUID = -3297644428262254694L;

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/wx/WxPayLogDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.wx;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -11,6 +12,7 @@ import java.util.Date;
 */
@Entity(name = "WxPayLogDO")
@Table(name = "wlyy_wx_pay_log")
@SequenceGenerator(name="id_generated", sequenceName="WLYY_WX_PAY_LOG_SEQ")
public class WxPayLogDO extends IntegerIdentityEntity {
    private String seqNo;//支付订单号',

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/wx/WxUrlConfigDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.base.wx;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -10,6 +11,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "wx_url_config")
@SequenceGenerator(name="id_generated", sequenceName="WX_URL_CONFIG_SEQ")
public class WxUrlConfigDO extends IntegerIdentityEntity {
    private String url;

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/dimension/DimensionDo.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.dimension;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -11,6 +12,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "dimension")
@SequenceGenerator(name="id_generated", sequenceName="DIMENSION_SEQ")
public class DimensionDo extends IntegerIdentityEntity {
    private String code;

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/dimension/DimensionQuotaDo.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.dimension;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -11,6 +12,7 @@ import javax.persistence.Table;
@Entity
@Table(name = "dimension_quota")
@SequenceGenerator(name="id_generated", sequenceName="DIMENSION_QUOTA_SEQ")
public class DimensionQuotaDo extends IntegerIdentityEntity {
    private String quotaCode;
    private String dimensionCode;

+ 0 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/dict/WlyyChargeDictDO.java

@ -1,6 +1,5 @@
package com.yihu.jw.entity.hospital.dict;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Entity;

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

@ -3,6 +3,7 @@ package com.yihu.jw.entity.hospital.doctor;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -11,6 +12,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "base_doctor_zs_info")
@SequenceGenerator(name="id_generated", sequenceName="BASE_DOCTOR_ZS_INFO_SEQ")
public class BaseDoctorZsInfoDO extends IntegerIdentityEntity {
    private String staffCode;

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/mapping/HospitalDeptMappingDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.hospital.mapping;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -11,6 +12,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "wlyy_hospital_dept_mapping")
@SequenceGenerator(name="id_generated", sequenceName="WLYY_HOSPITAL_DEPT_MAPPING_SEQ")
public class HospitalDeptMappingDO extends IntegerIdentityEntity {
    /**
     * 第三方序号

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyInspectionPartsDictDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -12,6 +13,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "wlyy_inspection_parts_dict")
@SequenceGenerator(name="id_generated", sequenceName="WLYY_INSPECTION_PARTS_DICT_SEQ")
public class WlyyInspectionPartsDictDO extends IntegerIdentityEntity {
    private String code;//部位业务code',

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

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import org.springframework.beans.factory.annotation.Autowired;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -11,6 +12,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "wlyy_survey_dept")
@SequenceGenerator(name="id_generated", sequenceName="WLYY_SURVEY_DEPT_SEQ")
public class WlyySurveyDeptDO extends IntegerIdentityEntity {
    /**

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

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -11,6 +12,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "wlyy_survey_insp_label_info")
@SequenceGenerator(name="id_generated", sequenceName="WLYY_SURVEY_INSP_LABEL_INFO_SEQ")
public class WlyySurveyInspLabelInfoDO extends IntegerIdentityEntity {
    private String surveyTempCode;//问卷模板编码',

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

@ -4,6 +4,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
@ -11,6 +12,7 @@ import javax.persistence.Table;
 */
@Entity
@Table(name = "wlyy_survey_label_info")
@SequenceGenerator(name="id_generated", sequenceName="WLYY_SURVEY_LABEL_INFO_SEQ")
public class WlyySurveyLabelInfoDO extends IntegerIdentityEntity {
    private String surveyTempCode;//问卷模板编码',

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/myFamily/PatientApplyLog.java

@ -5,6 +5,7 @@ import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -13,6 +14,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "patient_apply_for_log")
@SequenceGenerator(name="id_generated", sequenceName="PATIENT_APPLY_FOR_LOG_SEQ")
public class PatientApplyLog extends IntegerIdentityEntity {
    private String familyMemberName;//家庭成员名称

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/RehabilitationServiceItemDO.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.util.Date;
@ -12,6 +13,7 @@ import java.util.Date;
 */
@Entity
@Table(name = "wlyy_rehabilitation_service_item")
@SequenceGenerator(name="id_generated", sequenceName="WLYY_REHABILITATION_SERVICE_ITEM_SEQ")
public class RehabilitationServiceItemDO extends IntegerIdentityEntity {
    private String code;

+ 2 - 3
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/area/BaseCommitteeVO.java

@ -1,7 +1,6 @@
package com.yihu.jw.restmodel.base.area;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.restmodel.UuidIdentityVOWithOperator;
import com.yihu.jw.restmodel.IntegerIdentityVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -19,7 +18,7 @@ import io.swagger.annotations.ApiModelProperty;
 * @since 1.
 */
@ApiModel(value = "BaseCommitteeVO", description = "居委会")
public class BaseCommitteeVO extends IntegerIdentityEntity {
public class BaseCommitteeVO extends IntegerIdentityVO {
    /**
	 * 省标识

+ 2 - 4
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/team/BaseTeamMemberVO.java

@ -1,10 +1,8 @@
package com.yihu.jw.restmodel.base.team;
import com.yihu.jw.entity.IntegerIdentityEntityWithOperator;
import com.yihu.jw.restmodel.UuidIdentityVOWithOperator;
import com.yihu.jw.restmodel.IntegerIdentityVOWithOperator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
/**
@ -20,7 +18,7 @@ import java.util.Date;
 * @since 1.
 */
@ApiModel(value = "BaseTeamMemberVO", description = "团队成员")
public class BaseTeamMemberVO extends IntegerIdentityEntityWithOperator {
public class BaseTeamMemberVO extends IntegerIdentityVOWithOperator {
    /**
	 * 团队ID

+ 2 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/OrgTree.java

@ -3,13 +3,11 @@ package com.yihu.jw.base.service.org;
import com.yihu.jw.base.service.org.tree.TreeNode;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.*;
@Entity
@Table(name = "org_tree")
@SequenceGenerator(name="id_generated", sequenceName="ORG_TREE_SEQ")
public class OrgTree extends IntegerIdentityEntity implements TreeNode {
    private String code;
    private String parentCode;

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

@ -78,6 +78,48 @@ public class EnterpriseController extends EnvelopRestEndpoint {
        return success(enterpriseService.sendMKMesByMobile(enterpriseId,mobile,content));
    }
    @PostMapping(value = "/sendXCXMesByDoctor")
    @ApiOperation(value = "发送小程序消息")
    public Envelop sendXCXMesByDoctor(@ApiParam(name = "enterpriseId", value = "企业id", required = true)
                                          @RequestParam(value = "enterpriseId")String enterpriseId,
                                      @ApiParam(name = "doctor", value = "医生手机号", required = true)
                                          @RequestParam(value = "doctor")String doctor,
                                      @ApiParam(name = "appid", value = "appid", required = true)
                                          @RequestParam(value = "appid")String appid,
                                      @ApiParam(name = "page", value = "跳转地址", required = true)
                                          @RequestParam(value = "page")String page,
                                      @ApiParam(name = "title", value = "标题", required = true)
                                          @RequestParam(value = "title")String title,
                                      @ApiParam(name = "description", value = "描述", required = true)
                                          @RequestParam(value = "description")String description,
                                      @ApiParam(name = "emphasis_first_item", value = "是否首行放大", required = true)
                                          @RequestParam(value = "emphasis_first_item")Boolean emphasis_first_item,
                                      @ApiParam(name = "content_item", value = "内容JSON数组字符串", required = true)
                                          @RequestParam(value = "content_item")String content_item) throws Exception{
        return success(enterpriseService.sendXCXMesByDoctor(enterpriseId,doctor,appid,page,title,description,emphasis_first_item,content_item));
    }
    @PostMapping(value = "/sendXCXMesByMobile")
    @ApiOperation(value = "发送小程序消息")
    public Envelop sendXCXMesByMobile(@ApiParam(name = "enterpriseId", value = "企业id", required = true)
                                          @RequestParam(value = "enterpriseId")String enterpriseId,
                                      @ApiParam(name = "mobile", value = "手机号", required = true)
                                      @RequestParam(value = "mobile")String mobile,
                                      @ApiParam(name = "appid", value = "appid", required = true)
                                          @RequestParam(value = "appid")String appid,
                                      @ApiParam(name = "page", value = "跳转地址", required = true)
                                          @RequestParam(value = "page")String page,
                                      @ApiParam(name = "title", value = "标题", required = true)
                                          @RequestParam(value = "title")String title,
                                      @ApiParam(name = "description", value = "描述", required = true)
                                          @RequestParam(value = "description")String description,
                                      @ApiParam(name = "emphasis_first_item", value = "是否首行放大", required = true)
                                          @RequestParam(value = "emphasis_first_item")Boolean emphasis_first_item,
                                      @ApiParam(name = "content_item", value = "内容JSON数组字符串", required = true)
                                          @RequestParam(value = "content_item")String content_item) throws Exception{
        return success(enterpriseService.sendXCXMesByMobile(enterpriseId,mobile,appid,page,title,description,emphasis_first_item,content_item));
    }
    @PostMapping(value = "/saveAllUser")
    @ApiOperation(value = "拉取用户信息")
    public Envelop saveAllUser(

+ 3 - 2
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/web/quota/JobController.java

@ -403,14 +403,15 @@ public class JobController extends BaseController {
                    break; //可选
                case "2.3" :
                    //语句
                    ykyyInternetService.upNsDoctorRecord(null,null,null);
                    break; //可选
                default : //可选
                    //语句
            }
            return write(200, "数据已经删除");
            return write(200, "执行成功");
        } catch (Exception e) {
            error(e);
            return error(-1, "数据已经删除");
            return error(-1, "执行失败");
        }
    }

+ 8 - 2
svr/svr-internet-hospital-job/src/main/resources/bootstrap.yml

@ -1,6 +1,6 @@
spring:
  application:
    name: svr-internet-hospital-job
    name: svr-internet-hospital-job-yx
  cloud:
    config:
      failFast: true
@ -22,7 +22,13 @@ spring:
    config:
      uri: ${wlyy.spring.config.uri:http://172.26.0.107:1221}
      label: ${wlyy.spring.config.label:jwdev}
---
spring:
  profiles: jwOracleProd
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://172.26.0.107:1221}
      label: ${wlyy.spring.config.label:jwdev}
---
spring:
  profiles: jwprod

+ 0 - 0
svr/svr-oracle-test/sql/sql


+ 25 - 0
svr/svr-oracle-test/src/main/java/com/yihu/SvrInternetHospitalApplication.java

@ -0,0 +1,25 @@
package com.yihu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
/**
 * Created by Trick on 2019/5/13.
 */
@SpringBootApplication
@EnableJpaAuditing
public class SvrInternetHospitalApplication extends SpringBootServletInitializer {
    public static void main(String[] args)  {
        SpringApplication.run(SvrInternetHospitalApplication.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SvrInternetHospitalApplication.class);
    }
}

+ 27 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/BeanConfig.java

@ -0,0 +1,27 @@
package com.yihu.jw.hospital.config;
import com.yihu.jw.hospital.prescription.service.PrescriptionExpressageService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class BeanConfig {
    //顺丰快递接口请求地址
    @Value("${express.sf_url}")
    private String sf_url;
    //顺丰快递接口接入编码
    @Value("${express.sf_code}")
    private String sf_code;
    //顺丰快递接口checkword
    @Value("${express.sf_check_word}")
    private String sf_check_word;
    @Bean(name = "prescriptionExpressageService")
    PrescriptionExpressageService prescriptionExpressageService(){
        return new PrescriptionExpressageService(sf_url,sf_code,sf_check_word);
    }
}

+ 18 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/SpringSecurityAuditorAware.java

@ -0,0 +1,18 @@
package com.yihu.jw.hospital.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.domain.AuditorAware;
@Configuration
public class SpringSecurityAuditorAware implements AuditorAware {
    @Override
    public Object getCurrentAuditor() {
//        return Optional.ofNullable(SecurityContextHolder.getContext())
//                .map(SecurityContext::getAuthentication)
//                .filter(Authentication::isAuthenticated)
//                .map(Authentication::getPrincipal);
////                .map(Authentication::getDetails);
        return "123";
    }
}

+ 44 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/SwaggerDocs.java

@ -0,0 +1,44 @@
package com.yihu.jw.hospital.config;
import io.github.swagger2markup.GroupBy;
import io.github.swagger2markup.Language;
import io.github.swagger2markup.Swagger2MarkupConfig;
import io.github.swagger2markup.Swagger2MarkupConverter;
import io.github.swagger2markup.builder.Swagger2MarkupConfigBuilder;
import io.github.swagger2markup.markup.builder.MarkupLanguage;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
 * Created by lith on 2018/11/23
 */
public class SwaggerDocs {
    public static void main(String[] args) throws Exception {
        //1.请求 http://ip:port/swagger-resources获取group
        String group = "Default";
        //2.定义请求地址 new URL("http://ip:port/v2/api-docs?group=" + groupName)
        //项目的swagger-ui地址
        URL remoteSwaggerFile = new URL("http://127.0.0.1:10022/v2/api-docs?group=" + group);
        //3.定义文件输出路径
        String prefix = Thread.currentThread().getContextClassLoader().getResource("").getPath();
        //文档输出地址
        Path outputFile = Paths.get(prefix.substring(prefix.lastIndexOf(":") + 1, prefix.indexOf("target") - 1) + "/build/" + group);
        Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
                .withMarkupLanguage(MarkupLanguage.ASCIIDOC)
                .withOutputLanguage(Language.ZH)
                .withPathsGroupedBy(GroupBy.TAGS)
                .withGeneratedExamples()
                .withoutInlineSchema()
                //.withBasePathPrefix()
                .build();
        Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(remoteSwaggerFile)
                .withConfig(config)
                .build();
        converter.toFile(outputFile);
    }
}

+ 19 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/ConsultPriceDao.java

@ -0,0 +1,19 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalConsultPriceDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface ConsultPriceDao extends PagingAndSortingRepository<WlyyHospitalConsultPriceDO, String>, JpaSpecificationExecutor<WlyyHospitalConsultPriceDO>  {
    // 根据机构编码查询所有计费列表
    List<WlyyHospitalConsultPriceDO> findByHospital(String hospital);
    // 根据机构编码、服务科室、医生类型、服务对象,查询单条价格记录
    WlyyHospitalConsultPriceDO findByHospitalAndDeptAndDoctorJobAndServiceRange(String hospital, String dept, String doctorJob, String serviceRange);
    // 根据id 查询已有记录
    WlyyHospitalConsultPriceDO findById(String id);
}

+ 19 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeArticleDao.java

@ -0,0 +1,19 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
 * 健康文章DAO
 * @author huangwenjie
 * @date 2019/9/10 14:07
 */
public interface KnowledgeArticleDao extends PagingAndSortingRepository<KnowledgeArticleDO, String>, JpaSpecificationExecutor<KnowledgeArticleDO> {
	@Query("select a from KnowledgeArticleDO a where a.del=1 and (categoryFirst = ?1 or categorySecond=?1)")
	List<KnowledgeArticleDO> findByCategory(String category);
}

+ 19 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeArticleDeptDao.java

@ -0,0 +1,19 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDeptDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * 健康文章部门关系DAO
 * @author huangwenjie
 * @date 2019/9/18 10:03
 */
public interface KnowledgeArticleDeptDao extends PagingAndSortingRepository<KnowledgeArticleDeptDO, String>, JpaSpecificationExecutor<KnowledgeArticleDeptDO> {
	
	List<KnowledgeArticleDeptDO> findByArticleId(String articleId);
	
	List<KnowledgeArticleDeptDO> findByDept(String dept);
}

+ 18 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeCategoryDao.java

@ -0,0 +1,18 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.article.KnowledgeCategoryDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
/**
 * 健康文章分类
 * @author huangwenjie
 */
public interface KnowledgeCategoryDao extends PagingAndSortingRepository<KnowledgeCategoryDO, String>, JpaSpecificationExecutor<KnowledgeCategoryDO> {
	@Query("update KnowledgeCategoryDO c set c.del = 0 where c.id = ?1")
	@Modifying
	void updateDel(String id);
}

+ 13 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/ReservationSettingDao.java

@ -0,0 +1,13 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalReservationSettingDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface ReservationSettingDao extends PagingAndSortingRepository<WlyyHospitalReservationSettingDO, String>, JpaSpecificationExecutor<WlyyHospitalReservationSettingDO>  {
    // 根据id 查询已有记录
    WlyyHospitalReservationSettingDO findById(String id);
}

+ 20 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/SysDictDao.java

@ -0,0 +1,20 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface SysDictDao extends PagingAndSortingRepository<WlyyHospitalSysDictDO, String>, JpaSpecificationExecutor<WlyyHospitalSysDictDO>  {
    WlyyHospitalSysDictDO findByHospitalAndDictCode(String hospital, String dictCode);
    List<WlyyHospitalSysDictDO> findByHospitalAndDictName(String hospital, String dictName);
    WlyyHospitalSysDictDO findById(String id);
    List<WlyyHospitalSysDictDO> findByDictName(String dictName);
}

+ 28 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/WlyyPatientExpressageAddrDao.java

@ -0,0 +1,28 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * 
 * 居民收获地址 数据库访问层
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * Administrator 	1.0  		2019年06月12日 	Created
 *
 * </pre>
 * @since 1.
 */
public interface WlyyPatientExpressageAddrDao extends PagingAndSortingRepository<WlyyPatientExpressageAddrDO, String>, JpaSpecificationExecutor<WlyyPatientExpressageAddrDO>  {
    boolean existsByPatientAndIsDefault(String patient, Integer isDefault);
    List<WlyyPatientExpressageAddrDO> queryByPatientAndIsDefault(String patient, Integer isDefault);
    List<WlyyPatientExpressageAddrDO> queryByPatient(String patient);
}

+ 33 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/account/PatientEndpoint.java

@ -0,0 +1,33 @@
package com.yihu.jw.hospital.endpoint.account;
import com.yihu.jw.patient.service.BasePatientService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("patient" )
@Api(tags = "用户基础信息", description = "互联网医院")
public class PatientEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BasePatientService basePatientService;
    @GetMapping(value = BaseRequestMapping.BasePatient.getPatientById)
    @ApiOperation(value = "获取居民信息")
    public Envelop getPatientById(
            @ApiParam(name = "id", value = "居民id")
            @RequestParam(value = "id", required = true) String id) throws Exception {
        String result = basePatientService.getPatientById(id);
        return success(result);
    }
}

+ 49 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/analysis/AnalysisEndPoint.java

@ -0,0 +1,49 @@
package com.yihu.jw.hospital.endpoint.analysis;
import com.yihu.jw.hospital.service.analysis.AnalysisService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/21
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Analysis.PREFIX)
@Api(value = "分析总览", description = "分析总览", tags = {"互联网医院 - 医生分析总览接口"})
public class AnalysisEndPoint extends EnvelopRestEndpoint {
    private static Logger logger = LoggerFactory.getLogger(AnalysisEndPoint.class);
    @Autowired
    private AnalysisService analysisService;
    @GetMapping(value= BaseHospitalRequestMapping.Analysis.queryAnalysis)
    @ApiOperation("查询分析数据")
    public Envelop queryAnalysis(
            @ApiParam(name = "doctor", value = "doctor", required = true)
            @RequestParam(value = "doctor", required = true)String doctor,
            @ApiParam(name = "startTime", value = "startTime", required = true)
            @RequestParam(value = "startTime", required = true)String startTime,
            @ApiParam(name = "endTime", value = "endTime", required = true)
            @RequestParam(value = "endTime", required = false)String endTime)throws Exception{
        Object num = analysisService.queryAnalysis(doctor,startTime,endTime);
        return success(num);
    }
}

+ 108 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/appointment/AppointmentEndPoint.java

@ -0,0 +1,108 @@
package com.yihu.jw.hospital.endpoint.appointment;
import com.yihu.jw.hospital.appointment.service.AppointmentService;
import com.yihu.jw.hospital.appointment.service.SpecialDiseaseService;
import com.yihu.jw.restmodel.hospital.prescription.WlyyOutpatientVO;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * Created by Trick on 2019/10/30.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Appointment.PREFIX)
@Api(value = "预约挂号", description = "预约挂号", tags = {"预约挂号接口"})
public class AppointmentEndPoint extends EnvelopRestEndpoint {
    @Autowired
    private AppointmentService appointmentService;
    @Autowired
    private SpecialDiseaseService specialDiseaseService;
    @GetMapping(value = BaseHospitalRequestMapping.Appointment.getDoctorSchedule)
    @ApiOperation(value = "获取医生号源")
    public ListEnvelop getDoctorSchedule(@ApiParam(name = "dept", value = "部门ID")
                                         @RequestParam(value = "dept",required = false) String dept,
                                         @ApiParam(name = "docMappingCode", value = "中山医院医生ID精确查询")
                                         @RequestParam(value = "docMappingCode",required = false)String docMappingCode,
                                         @ApiParam(name = "nameKey", value = "医生姓名模糊")
                                         @RequestParam(value = "nameKey",required = false)String nameKey,
                                         @ApiParam(name = "specialCode", value = "专科")
                                         @RequestParam(value = "specialCode",required = false)String specialCode,
                                         @ApiParam(name = "chargeType", value = "号别")
                                         @RequestParam(value = "chargeType",required = false)String chargeType,
                                         @ApiParam(name = "startDate", value = "开始时间")
                                         @RequestParam(value = "startDate",required = true)String startDate,
                                         @ApiParam(name = "endDate", value = "结束时间")
                                         @RequestParam(value = "endDate",required = true)String endDate) throws Exception {
        return success(appointmentService.getDoctorSchedule( dept,  docMappingCode, nameKey, specialCode, chargeType, startDate, endDate));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Appointment.getDoctorScheduleTime)
    @ApiOperation(value = "获取医生具体号源时间")
    public ListEnvelop getDoctorScheduleTime(@ApiParam(name = "dept", value = "部门ID")
                                         @RequestParam(value = "dept",required = true) String dept,
                                         @ApiParam(name = "docMappingCode", value = "医生ID精确查询")
                                         @RequestParam(value = "docMappingCode",required = true)String docMappingCode,
                                         @ApiParam(name = "date", value = "日期")
                                         @RequestParam(value = "date",required = true)String date,
                                         @ApiParam(name = "ampm", value = "上午a,下午p")
                                         @RequestParam(value = "ampm",required = true)String ampm) throws Exception {
        return success(appointmentService.getDoctorScheduleTime(dept,docMappingCode,date,ampm));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Appointment.getAppointmentList)
    @ApiOperation(value = "获取预约记录列表")
    public ListEnvelop getAppointmentList(@ApiParam(name = "idcard", value = "患者idcard")
                                          @RequestParam(value = "idcard",required = false) String idcard,
                                          @ApiParam(name = "doctor", value = "医生ID精确查询")
                                          @RequestParam(value = "doctor",required = false)String doctor,
                                          @ApiParam(name = "doctorName", value = "医生姓名模糊")
                                          @RequestParam(value = "doctorName",required = false)String doctorName,
                                          @ApiParam(name = "dept", value = "部门")
                                          @RequestParam(value = "dept",required = false)String dept,
                                          @ApiParam(name = "chargeType", value = "号别")
                                          @RequestParam(value = "chargeType",required = false)String chargeType,
                                          @ApiParam(name = "startDate", value = "开始时间")
                                          @RequestParam(value = "startDate",required = true)String startDate,
                                          @ApiParam(name = "endDate", value = "结束时间")
                                          @RequestParam(value = "endDate",required = true)String endDate) throws Exception {
        return success(appointmentService.getAppointmentList(idcard,doctor,doctorName,dept,startDate,endDate,chargeType));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Appointment.makeAppointment)
    @ApiOperation(value = "预约")
    public ObjEnvelop makeAppointment(@ApiParam(name = "appointmentJson", value = "预约实体")
                                       @RequestParam(value = "appointmentJson",required = false) String appointmentJson) throws Exception {
        return success(appointmentService.makeAppointment(appointmentJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Appointment.cancelAppointment)
    @ApiOperation(value = "取消预约")
    public ObjEnvelop cancelAppointment(@ApiParam(name = "appointmentJson", value = "预约实体")
                                        @RequestParam(value = "appointmentJson",required = false) String appointmentJson) throws Exception {
        return success(appointmentService.cancelAppointment(appointmentJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Appointment.getDoctorByMappingCode)
    @ApiOperation(value = "转化医生映射code")
    public ObjEnvelop getDoctorByMappingCode(@ApiParam(name = "mappingCode", value = "患者ID")
                                        @RequestParam(value = "mappingCode",required = false) String mappingCode) throws Exception {
        return success(appointmentService.getDoctorByMappingCode(mappingCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Appointment.findAllSpecialDisease)
    @ApiOperation(value = "获取专病字典")
    public ListEnvelop findAllSpecialDisease() throws Exception {
        return success(specialDiseaseService.findAllSpecialDisease());
    }
}

+ 198 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/article/ArticleEndpoint.java

@ -0,0 +1,198 @@
package com.yihu.jw.hospital.endpoint.article;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import com.yihu.jw.entity.hospital.article.KnowledgeCategoryDO;
import com.yihu.jw.hospital.service.consult.KnowledgeArticleService;
import com.yihu.jw.hospital.service.consult.KnowledgeCategoryService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
 * 健康文章
 * @author huangwenjie
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.PREFIX)
@Api(value = "健康文章", description = "健康文章接口", tags = {"健康文章接口"})
public class ArticleEndpoint extends EnvelopRestEndpoint {
	
	@Autowired
	private KnowledgeArticleService  knowledgeArticleService;
	
	@Autowired
	private KnowledgeCategoryService knowledgeCategoryService;
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
	@ApiOperation(value = "获取文章列表")
	public Envelop searchKnowledgePageList(
//			@ApiParam(name = "category_first", value = "1级分类编码")
//			@RequestParam(value = "category_first", required = false) String category_first,
//			@ApiParam(name = "category_secend", value = "2级分类编码")
//			@RequestParam(value = "category_second", required = false) String category_second,
//			@ApiParam(name = "keyword", value = "关键字")
//			@RequestParam(value = "keyword", required = false) String keyword,
//			@ApiParam(name = "status", value = "审核状态:0未审核,1已审核")
//			@RequestParam(value = "status", required = false) String status,
//			@ApiParam(name = "start", value = "开始时间")
//			@RequestParam(value = "start", required = false) String start,
//			@ApiParam(name = "end", value = "结束时间")
//			@RequestParam(value = "end", required = false) String end,
			@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
			@RequestParam(value = "fields", required = false) String fields,
			@ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
			@RequestParam(value = "filters", required = false) String filters,
			@ApiParam(name = "sorts", value = "排序,规则参见说明文档")
			@RequestParam(value = "sorts", required = false) String sorts,
			@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
			@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
			@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
			@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
		if(StringUtils.isBlank(filters)){
			filters=filters+"del=1";
		}else{
			filters=filters+";del=1";
		}
		
		List<KnowledgeArticleDO> list  = knowledgeArticleService.search(fields,filters,sorts,page,pageSize);
		List<KnowledgeArticleDO> totals  = knowledgeArticleService.search(fields,filters,sorts);
		
		JSONObject result = new JSONObject();
		result.put("total",totals.size());
		result.put("detailModelList",list);
		
		return success(result);
	}
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.queryById)
	@ApiOperation(value = "根据id查询文章")
	public Envelop queryByCode(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam(value = "id", required = true)String id) throws Exception{
			KnowledgeArticleDO articleDO = knowledgeArticleService.retrieve(id);
		return success(articleDO);
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.deleteById)
	@ApiOperation(value = "根据id删除文章")
	public Envelop deleteById(
			@ApiParam(name = "id", value = "id,多个使用英文逗号分隔", required = true)
			@RequestParam(value = "id", required = true)String id)throws Exception {
			knowledgeArticleService.delArticle(id);
			return success("操作成功");
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
	@ApiOperation(value = "保存/更新文章")
	public Envelop saveArticle(
			@ApiParam(name = "jsonData", value = "Json数据", required = true)
			@RequestParam String jsonData)throws Exception {
		knowledgeArticleService.saveArticle(jsonData);
		return success("操作成功");
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.reviewArticle)
	@ApiOperation(value = "审核/退回文章")
	public Envelop saveArticle(
			@ApiParam(name = "articleId", value = "文章ID")
			@RequestParam(value = "articleId", required = true) String articleId,
			@ApiParam(name = "status", value = "0未审核,1已审核,2退回")
			@RequestParam(value = "status", required = true) Integer status,
			@ApiParam(name = "reason", value = "退回理由")
			@RequestParam(value = "reason", required = false) String reason
	)throws Exception {
		knowledgeArticleService.reviewArticle(articleId,status,reason);
		return success("操作成功");
	}
	
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchCategoryList)
	@ApiOperation(value = "获取分类列表")
	public ListEnvelop searchCategoryList(
			@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
			@RequestParam(value = "fields", required = false) String fields,
			@ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
			@RequestParam(value = "filters", required = false) String filters,
			@ApiParam(name = "sorts", value = "排序,规则参见说明文档")
			@RequestParam(value = "sorts", required = false) String sorts,
			@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
			@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
			@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
			@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
		List<KnowledgeCategoryDO> list  = knowledgeCategoryService.search(fields,filters,sorts,page,pageSize);
		List<KnowledgeCategoryDO> result = new ArrayList<>();
		for(KnowledgeCategoryDO knowledgeCategoryDO:list){
			if(knowledgeCategoryDO.getDel() == 1){
				result.add(knowledgeCategoryDO);
			}
		}
		return success(result);
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveCategory)
	@ApiOperation(value = "保存/更新分类")
	public Envelop saveCategory(
			@ApiParam(name = "jsonData", value = "Json数据", required = true)
			@RequestParam String jsonData)throws Exception {
		knowledgeCategoryService.saveCategory(jsonData);
		return success("操作成功");
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.updateDel)
	@ApiOperation(value = "根据分类code删除分类")
	public Envelop updateDel(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam(value = "id", required = true)String id)throws Exception {
		Boolean flag = knowledgeCategoryService.updateDel(id);
		if (flag) {
			return success("操作成功");
		}else{
			return failed("操作失败");
		}
		
	}
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticleDept)
	@ApiOperation(value = "设置文章发送的科室")
	public ObjEnvelop saveArticleDept(@ApiParam(name = "articleId", value = "文章ID")
	                                 @RequestParam(value = "articleId",required = true)String articleId,
	                                 @ApiParam(name = "sdJsons", value = "部门与科室关系json")
	                                 @RequestParam(value = "sdJsons",required = true)String sdJsons)throws Exception {
		return success(knowledgeArticleService.saveArticleDept(articleId,sdJsons));
	}
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findDeptByArticle)
	@ApiOperation(value = "查询文章下的科室")
	public ListEnvelop findDeptByArticle(@ApiParam(name = "articleId", value = "文章ID")
	                                    @RequestParam(value = "articleId",required = true)String articleId)throws Exception {
		return success(knowledgeArticleService.findDeptByArticle(articleId));
	}
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleByDept)
	@ApiOperation(value = "查询部门下发放的文章")
	public ListEnvelop findArticleByDept(@ApiParam(name = "dept", value = "科室")
	                                    @RequestParam(value = "dept",required = true)String dept)throws Exception {
		return success(knowledgeArticleService.findArticleByDept(dept));
	}
	
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveDeptArticle)
	@ApiOperation(value = "设置科室发送的文章")
	public ObjEnvelop saveDeptArticle(@ApiParam(name = "dept", value = "部门code")
	                                 @RequestParam(value = "dept",required = true)String dept,
	                                 @ApiParam(name = "sdJsons", value = "部门与科室关系json")
	                                 @RequestParam(value = "sdJsons",required = false)String sdJsons)throws Exception {
		return success(knowledgeArticleService.saveDeptArticle(dept,sdJsons));
	}
}

+ 202 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/base/BaseInfoEndpoint.java

@ -0,0 +1,202 @@
package com.yihu.jw.hospital.endpoint.base;
import com.yihu.jw.area.service.BaseCityService;
import com.yihu.jw.area.service.BaseStreetService;
import com.yihu.jw.dict.service.BaseDictJobTitleService;
import com.yihu.jw.dict.service.HospitalDeptService;
import com.yihu.jw.doctor.service.BaseDoctorHosService;
import com.yihu.jw.entity.base.area.BaseCityDO;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService;
import com.yihu.jw.org.service.BaseOrgInfoService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * Created by cws on 2019/5/28.
 */
@RestController
@RequestMapping("internet/base" )
@Api(tags = "基础字典专用,用于各下拉框数据获取", description = "互联网医院")
public class BaseInfoEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseCityService cityService;
    @Autowired
    private HospitalDeptService hospitalDeptService;
    @Autowired
    private BaseDictJobTitleService baseDictJobTitleService;
    @Autowired
    private BaseDoctorHosService baseDoctorHosService;
    @Autowired
    private BaseOrgInfoService baseOrgInfoService;
    @Autowired
    private BaseStreetService baseStreetService;
    @Autowired
    private WlyyBusinessService wlyyBusinessService;
    @Autowired
    private YkyyEntranceService ykyyEntranceService;
    /**
     * 获取市列表信息
     * @return
     */
    @GetMapping(value = "/getCity")
    @ApiOperation(value = "获取市列表信息", notes = "基础数据获取")
    public Envelop getCity() throws Exception {
        List<BaseCityDO> res =  cityService.getAllCity();
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取市列表信息!");
        }
    }
    /**
     * 根据市编码,获取该市范围内所有的医院列表信息
     * @return
     */
    @GetMapping(value = "/getOrgByCity")
    @ApiOperation(value = "根据市编码,获取该市范围内所有的医院列表信息", notes = "基础数据获取")
    public Envelop getOrgByCity(
            @ApiParam(name = "cityCode", value = "市编码")
            @RequestParam(value = "cityCode", required = false) String cityCode,
            @ApiParam(name = "level", value = "等级医院,1等级医院,2.社区医院")
            @RequestParam(value = "level", required = false) Integer level) {
        List<BaseOrgDO> res =  baseOrgInfoService.getOrgByCity(cityCode,level);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("该市未维护医院信息!");
        }
    }
    /**
     * 根据机构编码获取部门列表信息
     * @param orgCode
     * @return
     */
    @GetMapping(value = "/getDeptByOrgCode")
    @ApiOperation(value = "根据机构编码获取部门列表信息", notes = "基础数据获取")
    public Envelop getDeptByOrgCode(
            @ApiParam(name = "orgCode", value = "机构编码")
            @RequestParam(value = "orgCode", required = false) String orgCode,
            @ApiParam(name = "consultDeptFlag", value = "是否是就诊科室,1为查询门诊,不传为全部")
            @RequestParam(value = "consultDeptFlag", required = false) String consultDeptFlag)  {
        List<DictHospitalDeptDO> res =  hospitalDeptService.getHosDeptByCode(orgCode,consultDeptFlag);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取该机构的部门列表信息!");
        }
    }
    /**
     * 根据机构编码及科室信息获取科室内所有医生列表信息
     * @param orgCode
     * @return
     */
    @GetMapping(value = "/getDoctorByOrgAndDept")
    @ApiOperation(value = "根据机构编码及科室信息获取科室内所有医生列表信息", notes = "基础数据获取")
    public Envelop getDoctorByOrgAndDept(
            @ApiParam(name = "orgCode", value = "机构编码")
            @RequestParam(value = "orgCode", required = false) String orgCode,
            @ApiParam(name = "deptCode", value = "部门编码")
            @RequestParam(value = "deptCode", required = false) String deptCode) {
        List<BaseDoctorHospitalDO> res =  baseDoctorHosService.getDoctorByOrgAndDept(orgCode,deptCode);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取该机构科室下的医生信息!");
        }
    }
    /**
     * 获取机构职称信息
     * @return
     */
    @GetMapping(value = "/getJobBySaasId")
    @ApiOperation(value = "获取机构职称信息", notes = "基础数据获取")
    public Envelop getJobBySaasId(
            @ApiParam(name = "saasId", value = "租户ID,当为空的情况下查询所有")
            @RequestParam(value = "saasId", required = false) String saasId)  {
        List<DictJobTitleDO> res= baseDictJobTitleService.getBySaasId(saasId);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取该机构的职称信息!");
        }
    }
    //==================区域互联网======================================
    @GetMapping(value = "/findByTown")
    @ApiOperation(value = "获取街道信息", notes = "获取街道信息")
    public Envelop findByTown(@ApiParam(name = "town", value = "区级code")
                              @RequestParam(value = "town", required = true) String town)  {
        return success(baseStreetService.findByTown(town));
    }
    @GetMapping(value = "/findWlyyHospital")
    @ApiOperation(value = "同步医院信息", notes = "同步医院信息")
    public Envelop findWlyyHospital() throws Exception {
        return success(wlyyBusinessService.findWlyyHospital());
    }
    @GetMapping(value = "/findWlyyDept")
    @ApiOperation(value = "同步部门信息", notes = "同步部门信息")
    public Envelop findWlyyDept()  throws Exception{
        return success(wlyyBusinessService.findWlyyDept());
    }
    @GetMapping(value = "/findWlyyDoctor")
    @ApiOperation(value = "同步医生信息", notes = "同步医生信息")
    public Envelop findWlyyDoctor() throws Exception{
        return success(wlyyBusinessService.findWlyyDoctor());
    }
    //===============区域互联网===========================================
    //===============眼科中心信息同步======================================
    @GetMapping(value = "/updateYkyyDept")
    @ApiOperation(value = "同步科室数据", notes = "同步医生数据")
    public Envelop updateYkyyDept() throws Exception{
        return success(ykyyEntranceService.updateYkyyDept());
    }
    @GetMapping(value = "/updateYkyyDoctor")
    @ApiOperation(value = "同步医生信息", notes = "同步医生信息")
    public Envelop updateYkyyDoctor() throws Exception {
        return success(ykyyEntranceService.updateYkyyDoctor());
    }
    @GetMapping(value = "/test")
    @ApiOperation(value = "test", notes = "test")
    public Envelop test() throws Exception {
        return success(ykyyEntranceService.test());
    }
    //===============眼科中心信息同步======================================
}

+ 120 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/config/DoctorServiceEndPoint.java

@ -0,0 +1,120 @@
package com.yihu.jw.hospital.endpoint.config;
import com.yihu.jw.doctor.service.BaseDoctorService;
import com.yihu.jw.entity.base.doctor.BaseDoctorVo;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/12/9
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.DoctorSetting.PREFIX)
@Api(tags = "互联网医院后台医生服务配置", description = "互联网医院后台医生服务配置")
public class DoctorServiceEndPoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseDoctorService baseDoctorService;
    @GetMapping(value = BaseHospitalRequestMapping.DoctorSetting.queryList)
    @ApiOperation(value = "获取分页列表")
    public Envelop queryList(
            @ApiParam(name = "city", value = "市区")
            @RequestParam(value = "city", required = false) String city,
            @ApiParam(name = "hospital", value = "机构")
            @RequestParam(value = "hospital", required = false) String hospital,
            @ApiParam(name = "status", value = "状态")
            @RequestParam(value = "status", required = false) String status,
            @ApiParam(name = "name", value = "科室或医生名称")
            @RequestParam(value = "name", required = false) String name,
            @ApiParam(name = "type", value = "咨询类型")
            @RequestParam(value = "type", required = false) String type,
            @ApiParam(name = "typeCode", value = "分部,无分部不传")
            @RequestParam(value = "typeCode", required = false)String typeCode,
            @ApiParam(name = "dept", value = "部门")
            @RequestParam(value = "dept", required = false)String dept,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "pageSize", value = "页码", required = true, defaultValue = "10")
            @RequestParam(value = "pageSize") int pageSize) throws Exception {
        return baseDoctorService.queryList(city,hospital,status,name,type,typeCode,dept,page,pageSize);
    }
    @GetMapping(value = BaseHospitalRequestMapping.DoctorSetting.queryById)
    @ApiOperation(value = "根据医生id查询详情")
    public Envelop queryById(
            @ApiParam(name = "doctorId", value = "医生id")
            @RequestParam(value = "doctorId", required = true) String doctorId,
            @ApiParam(name = "typeCode", value = "分部,无不传")
            @RequestParam(value = "typeCode", required = false)String typeCode)throws Exception{
        Object object = baseDoctorService.queryById(doctorId,typeCode);
        if (null != object){
            return success("查询成功",object);
        }
        return failed("查询失败");
    }
    @PostMapping(value = BaseHospitalRequestMapping.DoctorSetting.update)
    @ApiOperation(value = "修改医生服务配置")
    public Envelop update(
            @ApiParam(name = "baseDoctorVo", value = "JSON数据", required = true)
            @RequestParam(value = "baseDoctorVo") String baseDoctorVo)throws Exception{
        JSONObject jsonObject = JSONObject.fromObject(baseDoctorVo);
        Boolean update = baseDoctorService.update(jsonObject);
        if (!update){
            return failed("保存失败,参数不可为空");
        }
        return success("保存成功");
    }
    @PostMapping(value = BaseHospitalRequestMapping.DoctorSetting.updateList)
    @ApiOperation(value = "批量修改医生服务配置")
    public Envelop updateList(
            @ApiParam(name = "baseDoctorVos", value = "JSON数据", required = true)
            @RequestParam(value = "baseDoctorVos") String baseDoctorVos)throws Exception{
        JSONArray jsonArray = JSONArray.fromObject(baseDoctorVos);
        Boolean update = baseDoctorService.updateList(jsonArray);
        return success("保存成功");
    }
    @GetMapping(value = BaseHospitalRequestMapping.DoctorSetting.updateStatus)
    @ApiOperation(value = "修改医生状态")
    public Envelop updateStatus(
            @ApiParam(name = "doctorId", value = "状态")
            @RequestParam(value = "doctorId", required = true) String doctorId,
            @ApiParam(name = "status", value = "状态")
            @RequestParam(value = "status", required = true) String status)throws Exception{
        baseDoctorService.updateStatus(doctorId,status);
        return success("修改成功");
    }
    @PostMapping(value = BaseHospitalRequestMapping.DoctorSetting.updateDoctorPw)
    @ApiOperation(value = "修改医生账号密码")
    public Envelop updateDoctorPw(@ApiParam(name = "id", value = "医生ID")
                                  @RequestParam(value = "id", required = true)String id,
                                  @ApiParam(name = "pw", value = "密码")
                                  @RequestParam(value = "pw", required = true)String pw)throws Exception{
        return success(baseDoctorService.updateDoctorPw(id,pw));
    }
}

+ 101 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/ConsultPriceEndpoint.java

@ -0,0 +1,101 @@
package com.yihu.jw.hospital.endpoint.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalConsultPriceDO;
import com.yihu.jw.hospital.service.consult.ConsultPriceService;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalConsultPriceVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/16.
 */
@RestController
@RequestMapping("internet/consult/price" )
@Api(tags = "医院咨询计费价目表", description = "互联网医院")
public class ConsultPriceEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ConsultPriceService consultPriceService;
    /**
     * 新增咨询计费信息
     * @param jsonData
     * @return
     * @throws Exception
     */
    @PostMapping(value = "/create")
    @ApiOperation(value = "新增咨询计费信息", notes = "新增咨询计费信息")
    public Envelop createConsultPrice(
            @ApiParam(name = "json_data", value = "JSON数据", required = true, defaultValue = "15")
            @RequestParam(value = "json_data") String jsonData ) throws Exception {
        int flag = -1;
        WlyyHospitalConsultPriceDO wlyyHospitalConsultPriceDO = new WlyyHospitalConsultPriceDO();
        Map dataDetail  = JSONObject.fromObject(jsonData);
        String hospital = dataDetail.get("hospital").toString();
        // 获取到职称及服务对象列表,拆分成json数组,再进行处理
        String data = dataDetail.get("data") == "" ? "": dataDetail.get("data") .toString();
        JSONArray array = JSONArray.fromObject(data);
        if (array.size() > 0) {
                for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = array.getJSONObject(i);
                wlyyHospitalConsultPriceDO = consultPriceService.saveConsultPrice(jsonObject,hospital);
                if(wlyyHospitalConsultPriceDO != null){
                    flag = 0;
                }else{
                    break;
                }
            }
        }
        if(flag == 0){
            return success("新增咨费成功!");
        }else{
            return failed("新增咨费失败!");
        }
    }
    @GetMapping(value = "/search")
    @ApiOperation(value = "获取分页")
    public PageEnvelop<WlyyHospitalConsultPriceVO> page(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<WlyyHospitalConsultPriceDO> wlyyHospitalConsultPriceDOS = consultPriceService.search(fields, filters, sorts, page, size);
        int count = (int) consultPriceService.getCount(filters);
        return success(wlyyHospitalConsultPriceDOS, count, page, size, WlyyHospitalConsultPriceVO.class);
    }
    @PostMapping(value = "/delete")
    @ApiOperation(value = "删除指定ID的咨费记录", notes = "新增咨询计费信息")
    public Envelop deleteConsultPrice(
            @ApiParam(name = "id", value = "唯一标识ID")
            @RequestParam(value = "id", required = false) String id) {
        consultPriceService.deleteConsultPrice(id);
        return success("删除成功!");
    }
}

File diff suppressed because it is too large
+ 746 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java


File diff suppressed because it is too large
+ 614 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/PatientConsultEndpoint.java


+ 101 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/ReservationSettingEndpoint.java

@ -0,0 +1,101 @@
package com.yihu.jw.hospital.endpoint.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalReservationSettingDO;
import com.yihu.jw.hospital.service.consult.ReservationSettingService;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalReservationSettingVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/16.
 */
@RestController
@RequestMapping("internet/reservation/setting" )
@Api(tags = "服务配置", description = "互联网医院")
public class ReservationSettingEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ReservationSettingService reservationSettingService;
    @PostMapping(value = "/create")
    @ApiOperation(value = "新增服务配置信息", notes = "服务配置")
    public Envelop createResverationSetting(
            @ApiParam(name = "json_data", value = "JSON数据", required = true, defaultValue = "15")
            @RequestParam(value = "json_data") String jsonData ) throws Exception {
        int flag = -1;
        WlyyHospitalReservationSettingDO wlyyHospitalReservationSettingDO = new WlyyHospitalReservationSettingDO();
        Map dataDetail  = JSONObject.fromObject(jsonData);
        Map baseInfo = new HashMap();
        String hospital = dataDetail.get("hospital").toString();
        baseInfo.put("city",dataDetail.get("city").toString());
        baseInfo.put("cityName",dataDetail.get("cityName").toString());
        baseInfo.put("town",dataDetail.get("town").toString());
        baseInfo.put("townName",dataDetail.get("townName").toString());
        baseInfo.put("hospital",dataDetail.get("hospital").toString());
        baseInfo.put("hospitalName",dataDetail.get("hospitalName").toString());
        // 获取到职称及服务对象列表,拆分成json数组,再进行处理
        String data = dataDetail.get("data") == "" ? "": dataDetail.get("data") .toString();
        JSONArray array = JSONArray.fromObject(data);
        if (array.size() > 0) {
                for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = array.getJSONObject(i);
                    wlyyHospitalReservationSettingDO = reservationSettingService.saveReverationSetting(jsonObject,baseInfo);
                if(wlyyHospitalReservationSettingDO != null){
                    flag = 0;
                }else{
                    break;
                }
            }
        }
        if(flag == 0){
            return success("新增服务配置成功!");
        }else{
            return failed("新增服务配置失败!");
        }
    }
    @GetMapping(value = "/search")
    @ApiOperation(value = "获取分页")
    public PageEnvelop<WlyyHospitalReservationSettingVO> page(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<WlyyHospitalReservationSettingDO> wlyyHospitalReservationSettingDOS = reservationSettingService.search(fields, filters, sorts, page, size);
        int count = (int) reservationSettingService.getCount(filters);
        return success(wlyyHospitalReservationSettingDOS, count, page, size, WlyyHospitalReservationSettingVO.class);
    }
    @PostMapping(value = "/delete")
    @ApiOperation(value = "删除指定ID的配置服务记录", notes = "服务配置")
    public Envelop deleteConsultPrice(
            @ApiParam(name = "id", value = "唯一标识ID")
            @RequestParam(value = "id", required = false) String id) {
        reservationSettingService.deleteReservationSetting(id);
        return success("删除成功!");
    }
}

+ 157 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/SysDictEndpoint.java

@ -0,0 +1,157 @@
package com.yihu.jw.hospital.endpoint.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.service.consult.SysDictService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/16.
 */
@RestController
@RequestMapping("internet/consult/sysdict" )
@Api(tags = "互联网医院功能业务字典及开关设置表", description = "互联网医院")
public class SysDictEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private SysDictService sysDictService;
    /**
     * 新增功能业务字典
     * @param jsonData
     * @return
     * @throws Exception
     */
    @PostMapping(value = "/create")
    @ApiOperation(value = "新增&修改功能业务字典", notes = "互联网医院功能业务字典及开关设置表")
    public Envelop createSysDict(
            @ApiParam(name = "json_data", value = "JSON数据", required = true)
            @RequestParam(value = "json_data") String jsonData )  throws Exception {
        int flag = -1;
        Envelop envelop = new Envelop();
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = new WlyyHospitalSysDictDO();
        Map dataDetail  = JSONObject.fromObject(jsonData);
        String hospital = dataDetail.get("hospital") == "" ? "": dataDetail.get("hospital") .toString();
        String dictName = dataDetail.get("dictName") == "" ? "": dataDetail.get("dictName") .toString();
        String data = dataDetail.get("data") == "" ? "": dataDetail.get("data") .toString();
        JSONArray array = JSONArray.fromObject(data);
        if(array.size()>0) {
            for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = array.getJSONObject(i);
                wlyyHospitalSysDictDO = sysDictService.saveConsultSetting(jsonObject, hospital, dictName);
                if (wlyyHospitalSysDictDO != null) {
                    flag = 0;
                    continue;
                } else {
                    break;
                }
            }
            if (flag < 0) {
                return failed("配置新增失败!");
            } else {
                return success("配置新增成功!", wlyyHospitalSysDictDO);
            }
        }else{
            return failed("获取待更新配置项失败!");
        }
    }
    /**
     * 该接口实现按医院编号、字典名称、字典项编码进行查询的功能
     * 字典及项值约定:
     * dictName( 候诊延时: WaitingDelay )  dictCode ( 等待时长:WaitingTime  过号延时保号: OverdueDelay   过号延时时长: OverdueTime  延时退费规则: DelayedRefundRule )
     * dictName( 邀请专家配置: InvitedConfig )   dictCode ( 支付配置:PayType  邀请确认:InvitedValid   退费规则:RefundRule )
     */
    @GetMapping(value = "/findByHosAndDn")
    @ApiOperation(value = "基于医院编号及字典名称,查询配置列表", notes = "互联网医院功能业务字典及开关设置表")
    public Envelop findByHosAndDn(
            @ApiParam(name = "hospital", value = "医院编码", required = true)
            @RequestParam(value = "hospital", required = true) String hospital,
            @ApiParam(name = "dictName", value = "字典名称", defaultValue = "")
            @RequestParam(value = "dictName", required = false) String dictName ) throws Exception {
        List<WlyyHospitalSysDictDO>  wlyyHospitalSysDictDOS = new ArrayList<WlyyHospitalSysDictDO>();
        wlyyHospitalSysDictDOS = sysDictService.findByHospitalAndDictName(hospital,dictName);
        Map res = new HashMap();
        res.put("hospital",hospital);
        res.put("dictName",dictName);
        if(wlyyHospitalSysDictDOS != null){
            for(WlyyHospitalSysDictDO wlyyHospitalSysDictDO : wlyyHospitalSysDictDOS){
                res.put(wlyyHospitalSysDictDO.getDictCode().toString(),wlyyHospitalSysDictDO.getDictValue().toString());
            }
            return success("查询配置信息成功!",res);
        }else{
            return failed("配置信息未存储,请先保存!");
        }
    }
    /**
     * 根据医院编号及字典编码,获取配置界面中某一配置项的值信息
     * dictName( 候诊延时: WaitingDelay )  dictCode ( 等待时长:WaitingTime  过号延时保号: OverdueDelay   过号延时时长: OverdueTime  延时退费规则: DelayedRefundRule )
     * dictName( 邀请专家配置: InvitedConfig )   dictCode ( 支付配置:PayType  邀请确认:InvitedValid   退费规则:RefundRule )
     * @param hospital
     * @param dictCode
     * @return
     * @throws Exception
     */
    @GetMapping(value = "/findByHosAndDc")
    @ApiOperation(value = "基于医院编号、字典名称及字典项编码,查询指定配置", notes = "互联网医院功能业务字典及开关设置表")
    public ObjEnvelop findByHosAndDc(
            @ApiParam(name = "hospital", value = "医院编码", required = true)
            @RequestParam(value = "hospital", required = true) String hospital,
            @ApiParam(name = "dictCode", value = "字典项编码", defaultValue = "")
            @RequestParam(value = "dictCode", required = false) String dictCode ) throws Exception {
        ObjEnvelop objEnvelop = new ObjEnvelop();
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = new WlyyHospitalSysDictDO();
        wlyyHospitalSysDictDO = sysDictService.findByHospitalAndDictCode(hospital,dictCode);
        if(wlyyHospitalSysDictDO != null){
            objEnvelop.setObj(wlyyHospitalSysDictDO);
            objEnvelop.setStatus(200);
            objEnvelop.setMessage("查询配置信息成功!");
        }else{
            objEnvelop.setStatus(-1);
            objEnvelop.setMessage("对不起,未查询到相关的配置信息!");
        }
        return objEnvelop;
    }
    
    @Override
    public com.alibaba.fastjson.JSONObject getUserAgent() {
        return super.getUserAgent();
    }
    @GetMapping(value = "/findByHosAndDict")
    @ApiOperation(value = "根据医院和字典名查询")
    public Envelop findByHosAndDict(
            @ApiParam(name = "hospital", value = "医院编码", required = true)
            @RequestParam(value = "hospital", required = true) String hospital,
            @ApiParam(name = "dictName", value = "字典名称", required = true)
            @RequestParam(value = "dictName", required = true) String dictName ) throws Exception {
        List<Map<String, Object>> list = sysDictService.findByHosAndDict(hospital, dictName);
        return success("查询成功",list);
    }
}

+ 43 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/demo/HibenateDemoEndpoint.java

@ -0,0 +1,43 @@
package com.yihu.jw.hospital.endpoint.demo;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.utils.hibernate.HibenateDemo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by Trick on 2019/12/10.
 */
@RestController
@RequestMapping("/demo/hibenate" )
@Api(tags = "综合查询demos", description = "综合查询demo")
public class HibenateDemoEndpoint extends EnvelopRestEndpoint {
    @Autowired
    HibenateDemo hibenateDemo;
    @GetMapping(value = "/test")
    @ApiOperation(value = "综合查询dome")
    public Envelop findHotDeptAndDiseaseDict(@ApiParam(name = "id", value = "id")
                                             @RequestParam(value = "id", required = false)String id,
                                             @ApiParam(name = "name", value = "姓名")
                                             @RequestParam(value = "name", required = false)String name,
                                             @ApiParam(name = "createTime", value = "创建时间")
                                             @RequestParam(value = "createTime", required = false)String createTime,
                                             @ApiParam(name = "page", value = "第几页,1开始")
                                             @RequestParam(value = "page", required = true)Integer page,
                                             @ApiParam(name = "size", value = "每页大小")
                                             @RequestParam(value = "size", required = true)Integer size)throws Exception{
        return hibenateDemo.findDoctorInfo(id,name,createTime,page,size);
    }
}

+ 195 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/expressage/ExpressageEndpoint.java

@ -0,0 +1,195 @@
package com.yihu.jw.hospital.endpoint.expressage;
import com.yihu.jw.entity.hospital.prescription.WlyyExpressagePriceDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionExpressageDO;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.hospital.prescription.service.PrescriptionExpressageService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.net.URLDecoder;
import java.util.List;
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Expressage.PREFIX)
@Api(value = "门诊处方快递物流管理器", description = "门诊处方快递物流管理器", tags = {"wlyy基础服务 - 门诊处方快递物流管理服务接口"})
public class ExpressageEndpoint extends EnvelopRestEndpoint {
    private static Logger logger = LoggerFactory.getLogger(ExpressageEndpoint.class);
    @Autowired
    private PrescriptionExpressageService sfexpressService;
    @RequestMapping(value="/sfrouteserviceSearch",method = RequestMethod.GET)
    @ApiOperation("通过门诊编号查询顺丰物流派送记录")
    public Envelop SFRouteServiceSearch(@ApiParam(name="outpatientId", value="门诊编号") @RequestParam(value = "outpatientId",required = true) String outpatientId){
        try {
            List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("outpatientId",outpatientId);
            if(CollectionUtils.isEmpty(expressageDOList)){
                return failed("当前门诊没有物流信息!");
            }
            WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
            String result  = sfexpressService.getRoutInfosSearch(sfexpress_obj);
            return success(result);
        }catch (Exception e){
            //返回接口异常信息处理结果
            return failed( "查询失败,"+e.getMessage());
        }
    }
    @RequestMapping(value = "/getsfexpressprice", method = RequestMethod.GET)
    @ApiOperation("根据收寄地址获取快递费用")
    public Envelop SFExpressPrice(
//            @ApiParam(name = "j_city", value = "寄方地址(城市),默认为厦门", defaultValue = "厦门")
//            @RequestParam(value = "j_city", required = false) String j_city,
            @ApiParam(name = "d_province", value = "收方地址(省份)")
            @RequestParam(value = "d_province", required = false) String d_province,
            @ApiParam(name = "d_city", value = "收方地址(城市)")
            @RequestParam(value = "d_city", required = false) String d_city){
        try {
            WlyyExpressagePriceDO expreprice = sfexpressService.getSFExpressPrice(d_province,d_city);
            return success(expreprice);
        }catch (Exception e){
            //返回接口异常信息处理结果
            return failed("获取快递费用失败,"+e.getMessage());
        }
    }
    @RequestMapping(value = "/sforderfilterservice", method = RequestMethod.GET)
    @ApiOperation("查询派送地址是否属于顺丰的派送范围")
    public Envelop SFOrderFilterService(
            @ApiParam(name = "d_address", value = "派送地址")
            @RequestParam(value = "d_address", required = true) String d_address){
        try {
            boolean result = sfexpressService.getSFOrderFilterService(d_address);
            if(result){
                return success("地址可派送!");
            }else{
                return failed("地址需要人工审核或不可派送!");
            }
        }catch (Exception e){
            return failed("异常:"+e.getMessage());
        }
    }
    @RequestMapping(value="/sforderservice",method = RequestMethod.POST)
    @ApiOperation("向顺丰快递下订单")
    public Envelop SFOrderService(
            @ApiParam(name="outpatientId", value="门诊编号") @RequestParam(value = "outpatientId",required = true) String outpatientId){
        try {
            List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("outpatientId",outpatientId);
            if(CollectionUtils.isEmpty(expressageDOList)){
                return failed("顺丰快递下单失败,未找到该处方的派送地址!");
            }else{
                WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
                //如果该处方的快递单号已生成,则说明已经下单成功,不需要重复下单,直接返回成功
                if(StringUtils.isNotBlank(sfexpress_obj.getMailno())){
                    return success("顺丰快递下单成功!");
                }else{
                    //如果该处方的快递单号未生成,则继续下单
                    //根据业务订单号判断是否已经下单成功
                    boolean go_on = sfexpressService.sfOrderSearchService(sfexpress_obj);
                    //如果该业务订单号未下单成功过,则重新下单
                    if(go_on){
                        //请求顺丰接口下单,成功下单后,返回快递单号
                        sfexpress_obj = sfexpressService.postSFOrderService(sfexpress_obj);
                        //保存快递单号和增加处方物流记录为配送
                        sfexpressService.updatePrescriptionExpressage(sfexpress_obj);
                    }
                    return success(sfexpress_obj);
                }
            }
        }catch (Exception e){
            //返回接口异常信息处理结果
            return failed(e.getMessage());
        }
    }
    @RequestMapping(value="/sfgetorderinfoservice",method = RequestMethod.GET)
    @ApiOperation("通过门诊编号查询顺丰快递单信息(不包含物流记录)")
    public Envelop SFGetOrderInfo(
            @ApiParam(name="outpatientId", value="门诊编号") @RequestParam(value = "outpatientId",required = true) String outpatientId){
        try {
            List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("outpatientId",outpatientId);
            if(CollectionUtils.isEmpty(expressageDOList)){
                return failed( "当前门诊不存在快递信息");
            }
            WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
            return success(sfexpress_obj);
        }catch (Exception e) {
            return failed("查询失败," + e.getMessage());
        }
    }
    @RequestMapping(value="/sfordersearchservice",method = RequestMethod.GET)
    @ApiOperation("通过门诊编号查询顺丰快递是否下单成功")
    public Envelop SFOrderSearchService(
            @ApiParam(name="outpatientId", value="门诊编号") @RequestParam(value = "outpatientId",required = true) String outpatientId){
        List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("outpatientId",outpatientId);
        if(CollectionUtils.isEmpty(expressageDOList)){
            return failed( "当前门诊没有顺丰快递信息");
        }
        try {
            WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
            boolean go_on = sfexpressService.sfOrderSearchServiceJustSearch(sfexpress_obj);
            return success(go_on);
        }catch (Exception e) {
            return failed("查询失败," + e.getMessage());
        }
    }
    @RequestMapping(value="/sforderConfirm",method = RequestMethod.GET)
    @ApiOperation("通过快递单号取消快递")
    public Envelop sforderConfirm(
            @ApiParam(name="mailno", value="快递单号") @RequestParam(value = "mailno",required = true) String mailno){
        List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("mailno",mailno);
        if(CollectionUtils.isEmpty(expressageDOList)){
            return failed( "当前快递单号的门诊不存在,");
        }
        try {
            WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
            String result = sfexpressService.postOrderConfirmService(sfexpress_obj);
            return success(result);
        }catch (Exception e) {
            return failed("异常," + e.getMessage());
        }
    }
    @RequestMapping(value="/test",method = RequestMethod.GET)
    @ApiOperation("test")
    public Envelop test(String test){
        try {
            sfexpressService.test();
            return success("ok");
        }catch (Exception e) {
            return failed("异常," + e.getMessage());
        }
    }
}

+ 109 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/expressage/WlyyPatientExpressageAddrEndpoint.java

@ -0,0 +1,109 @@
package com.yihu.jw.hospital.endpoint.expressage;
import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
import com.yihu.jw.hospital.service.consult.WlyyPatientExpressageAddrService;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPatientExpressageAddrVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * 居民收获地址控制器
 *
 * @version <pre>
 * Author	Version		Date		Changes
 * Administrator 	1.0  		2019年06月12日 	Created
 *
 * </pre>
 * @since 1.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.PREFIX)
@Api(value = "居民收获地址管理", description = "居民收获地址管理服务接口", tags = {"wlyy基础服务 - 居民收获地址管理服务接口"})
public class WlyyPatientExpressageAddrEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private WlyyPatientExpressageAddrService wlyyPatientExpressageAddrService;
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.CREATE)
    @ApiOperation(value = "新增地址")
    public Envelop create(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData)throws Exception{
            WlyyPatientExpressageAddrDO addrDO = wlyyPatientExpressageAddrService.createAddr(jsonData);
            if (addrDO == null){
                return failed("新增地址失败,新增数据为空");
            }
            return success(addrDO);
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        wlyyPatientExpressageAddrService.delete(ids.split(","));
        return success("删除成功");
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.setDefault)
    @ApiOperation(value = "将地址设置为默认")
    public Envelop setAddrDefault(
            @ApiParam(name = "patient", value = "居民code", required = true) @RequestParam(value = "patient") String patient,
            @ApiParam(name = "addrId", value = "当前地址id", required = true) @RequestParam(value = "addrId") String addrId)throws Exception{
            Object result = wlyyPatientExpressageAddrService.setAddrDefault(patient, addrId);
            if (!"OK".equals(result.toString())) {
                return failed("设置默认地址失败,"+result);
            }
            return success("设置默认地址成功");
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.hasDefault)
    @ApiOperation(value = "判断当前居民是否已经存在默认地址")
    public Envelop hasDefault(
            @ApiParam(name = "patient", value = "居民code", required = true) @RequestParam(value = "patient") String patient) {
        boolean result = wlyyPatientExpressageAddrService.hasDefault(patient);
        return success(result);
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.UPDATE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<WlyyPatientExpressageAddrVO> update(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) throws Exception {
        WlyyPatientExpressageAddrDO wlyyPatientExpressageAddr = toEntity(jsonData, WlyyPatientExpressageAddrDO.class);
        if (null == wlyyPatientExpressageAddr.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
        }
        wlyyPatientExpressageAddr = wlyyPatientExpressageAddrService.updateAddr(wlyyPatientExpressageAddr);
        return success(wlyyPatientExpressageAddr, WlyyPatientExpressageAddrVO.class);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<WlyyPatientExpressageAddrVO> list(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<WlyyPatientExpressageAddrDO> wlyyPatientExpressageAddrs = wlyyPatientExpressageAddrService.search(fields, filters, sorts);
        return success(wlyyPatientExpressageAddrs, WlyyPatientExpressageAddrVO.class);
    }
}

+ 81 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/file_upload/FileUploadEndpoint.java

@ -0,0 +1,81 @@
package com.yihu.jw.hospital.endpoint.file_upload;
import com.yihu.jw.file_upload.FileUploadService;
import com.yihu.jw.restmodel.iot.common.UploadVO;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.util.Map;
/**
 * 文件上传公共类
 */
@RestController
@RequestMapping(BaseRequestMapping.FileUpload.PREFIX)
@Api(tags = "文件上传相关操作", description = "文件上传相关操作")
public class FileUploadEndpoint extends EnvelopRestEndpoint {
    @Value("${fastDFS.fastdfs_file_url}")
    private String fastdfs_file_url;
    @Autowired
    FileUploadService fileUploadService;
    @Value("${testPattern.sign}")
    private String isClose;
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_IMG)
    @ApiOperation(value = "文件流上传图片", notes = "文件流上传图片")
    public ObjEnvelop<UploadVO> uploadImg(@ApiParam(value = "文件", required = true)
                                       @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
        // 得到文件的完整名称  xxx.txt
        String originalFilename = file.getOriginalFilename();
        InputStream inputStream = file.getInputStream();
        UploadVO uploadVO = fileUploadService.uploadImg(inputStream,originalFilename,file.getSize(),fastdfs_file_url);
        return success("上传成功", uploadVO);
    }
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_ATTACHMENT)
    @ApiOperation(value = "文件流上传附件", notes = "文件流上传附件")
    public ObjEnvelop<UploadVO> uploadAttachment(@ApiParam(value = "文件", required = true)
                                       @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
        String originalFilename = file.getOriginalFilename();
        InputStream inputStream = file.getInputStream();
        UploadVO uploadVO = fileUploadService.uploadAttachment(inputStream,originalFilename,file.getSize(),fastdfs_file_url);
        return success("上传成功", uploadVO);
    }
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM)
    @ApiOperation(value = "文件流上传文件", notes = "文件流上传文件")
    public ObjEnvelop<UploadVO> uploadStream(@ApiParam(value = "文件", required = true)
                                                 @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
        UploadVO uploadVO = new UploadVO();
        if (isClose.equalsIgnoreCase("1")){
            Map<String, Object> map = fileUploadService.uploadImg(file);
            uploadVO.setFullUri(map.get("accessory").toString());
        }else {
            // 得到文件的完整名称  xxx.txt
            String originalFilename = file.getOriginalFilename();
            InputStream inputStream = file.getInputStream();
            uploadVO = fileUploadService.uploadStream(inputStream,originalFilename,fastdfs_file_url);
        }
        return success("上传成功", uploadVO);
    }
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STRING)
    @ApiOperation(value = "base64上传图片",notes = "base64上传图片")
    public ObjEnvelop<UploadVO> uploadImages(@ApiParam(name = "jsonData", value = "头像转化后的输入流")
                                             @RequestParam(value = "jsonData", required = true) String jsonData) throws Exception {
        UploadVO uploadVO = fileUploadService.uploadImages(jsonData,fastdfs_file_url);
        return success("上传成功", uploadVO);
    }
}

+ 230 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/internet/InternetController.java

@ -0,0 +1,230 @@
package com.yihu.jw.hospital.endpoint.internet;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.internet.service.InternetService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping(value ="/internetUp")
@Api(value = "监管平台数据上传", description = "监管平台数据上传", tags = {"监管平台数据上传"})
public class InternetController extends EnvelopRestEndpoint {
    private Logger logger = LoggerFactory.getLogger(InternetController.class);
    @Autowired
    private InternetService internetService;
    @PostMapping(value = "/upNsUserToken")
    @ApiOperation(value = "2.1 获取监管平台token数据")
    public ObjEnvelop upNsUserToken() {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String token =  internetService.upNsUserToken(internetService.getUrl());
            if("".equals(token)){
                return ObjEnvelop.getError("用户更新失败! ");
            }else{
                return ObjEnvelop.getSuccess("用户更新成功!",token);
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("用户更新失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upNsOrganBas")
    @ApiOperation(value = "2.2 医院基本信息")
    public ObjEnvelop upNsOrganBas()throws Exception {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String res =  internetService.upNsOrganBas();
            JSONObject resJson = (JSONObject) JSONObject.parse(res);
            if("200".equals(resJson.get("msg").toString())) {
                return ObjEnvelop.getSuccess("医院信息更新成功!",res);
            }else {
                return ObjEnvelop.getError(resJson.get("reqContent").toString());
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("医院信息更新失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upNsDoctorRecord")
    @ApiOperation(value = "2.3 医生信息上传")
    public Envelop upNsDoctorRecord(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId) {
        Envelop env = new Envelop();
        Map map = new HashMap();
        String res = "";
        try {
            res =  internetService.upNsDoctorRecord(startDate,endDate,keyId);
            return ObjEnvelop.getSuccess(res);
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("医生信息更新失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/achNsDoctorRecord")
    @ApiOperation(value = "2.4 获取监管平台医师唯一标识 micc.achNsDoctorRecord")
    public Envelop achNsDoctorRecord(
            @ApiParam(name = "idCard", value = "医生身份证号", required = true)
            @RequestParam(value = "idCard") String idCard) {
        Envelop env = new Envelop();
        Map map = new HashMap();
        String res = "";
        try {
            res =  internetService.achNsDoctorRecord(idCard);
            JSONObject resJson = (JSONObject) JSONObject.parse(res);
            if("200".equals(resJson.get("msg").toString())){
                return ObjEnvelop.getSuccess("获取成功! ",resJson);
            }else{
                return ObjEnvelop.getError("获取失败! ");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("获取失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upAppointmentOnline")
    @ApiOperation(value = "2.5 网上预约挂号")
    public Envelop upAppointmentOnline(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId){
        Envelop env = new Envelop();
        Map map = new HashMap();
        String res = "";
        try {
            res = internetService.upAppointmentOnline(startDate,endDate,keyId);
            return  ObjEnvelop.getSuccess("预约挂号信息上传状况如下: " + res );
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("网上预约挂号上传失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upNsDoctorScore")
    @ApiOperation(value = "2.7. 医生评价信息")
    public String upNsDoctorScore(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId) throws  Exception{
        Envelop env = new Envelop();
        Map map = new HashMap();
        String res = "";
        try {
            // 获取机构内评价列表信息
            res = internetService.upNsDoctorScore(startDate,endDate,keyId);
            return  res;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    @PostMapping(value = "/upNsOnlineAsk")
    @ApiOperation(value = "2.8 网络咨询服务信息 micc.upNsOnlineAsk")
    public ObjEnvelop upNsOnlineAsk(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId)throws Exception {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String res =  internetService.upNsOnlineAsk(startDate,endDate,keyId);
            if(res != null) {
                return ObjEnvelop.getSuccess("网络咨询服务上报成功!",res);
            }else{
                return ObjEnvelop.getError("网络咨询服务上报失败! ");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("网络咨询服务上报失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upPrescription")
    @ApiOperation(value = "10 电子处方表 micc.upPrescription")
    public ObjEnvelop upPrescription(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId)throws Exception {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String res =  internetService.upPrescription(startDate,endDate,keyId);
            if(res != null) {
                return ObjEnvelop.getSuccess("电子处方更新成功!",res);
            }else{
                return ObjEnvelop.getError("电子处方更新失败! ");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("电子处方更新失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upPrescriptionDrug")
    @ApiOperation(value = "2.11. 电子处方_药品明细表")
    public ObjEnvelop upPrescriptionDrug(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId)throws Exception {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String res =  internetService.upPrescriptionDrug(startDate,endDate,keyId);
            if(res != null) {
                return ObjEnvelop.getSuccess("电子处方_药品明细表更新成功!",res);
            }else{
                return ObjEnvelop.getError("电子处方_药品明细表更新失败! ");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("电子处方_药品明细表更新失败! " + e.getMessage());
        }
    }
}

+ 111 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/message/SystemMessageController.java

@ -0,0 +1,111 @@
package com.yihu.jw.hospital.endpoint.message;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.service.SystemMessageService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/18
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.SystemMessage.PREFIX)
@Api(value = "线上就诊消息管理器", description = "线上就诊消息管理器", tags = {"互联网医院 - 线上就诊消息管理器接口"})
public class SystemMessageController extends EnvelopRestEndpoint {
    private static Logger logger = LoggerFactory.getLogger(SystemMessageController.class);
    @Autowired
    private SystemMessageService systemMessageService;
    @PostMapping(value= BaseHospitalRequestMapping.SystemMessage.addMessage)
    @ApiOperation("新增线上就诊消息")
    public Envelop addMessage(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody SystemMessageDO systemMessageDO)throws Exception{
        SystemMessageDO messageDO = systemMessageService.addMessage(systemMessageDO);
        if (null == messageDO){
            return failed("新增失败");
        }
        return success("新增成功");
    }
    @PostMapping(value= BaseHospitalRequestMapping.SystemMessage.updateMessage)
    @ApiOperation("更新线上就诊消息")
    public Envelop updateMessage(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true)String id,
            @ApiParam(name = "read", value = "read", required = false)
            @RequestParam(value = "read", required = false)String read,
            @ApiParam(name = "del", value = "del", required = false)
            @RequestParam(value = "del", required = false)String del)throws Exception{
        SystemMessageDO systemMessageDO = systemMessageService.updateMessage(id,read,del);
        if (null == systemMessageDO){
            return failed("更新失败,就诊消息不存在");
        }
        return success("更新成功");
    }
    @GetMapping(value = BaseHospitalRequestMapping.SystemMessage.searchMessagePageList)
    @ApiOperation(value = "获取线上就诊消息列表")
    public Envelop searchMessagePageList(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
            @RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
            @ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
            @RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
        if(StringUtils.isBlank(filters)){
            filters="del=1";
        }else{
            filters=filters+";del=1";
        }
        List<SystemMessageDO> list  = systemMessageService.search(fields,filters,sorts,page,pageSize);
        int count = (int) systemMessageService.getCount(filters);
        return success(list, count, page, pageSize, SystemMessageDO.class);
    }
    @GetMapping(value = BaseHospitalRequestMapping.SystemMessage.queryById)
    @ApiOperation(value = "获取线上就诊消息详情")
    public Envelop queryById(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true)String id)throws Exception{
        SystemMessageDO systemMessageDO = systemMessageService.queryById(id);
        if (null == systemMessageDO){
            return failed("获取失败,线上就诊消息不存在");
        }
        return success("获取成功",200,systemMessageDO);
    }
}

+ 209 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -0,0 +1,209 @@
package com.yihu.jw.hospital.endpoint.patient;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.dict.service.BaseDictJobTitleService;
import com.yihu.jw.doctor.service.BaseDoctorService;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.service.consult.SysDictService;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.date.DateUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.axis.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author zmk
 * 患者不用登陆访问居民PC端控制类
 * Created at 2019/12/25
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.PatientNoLogin.PREFIX)
@Api(value = "患者不用登陆访问居民PC端控制类", description = "患者不用登陆访问居民PC端控制类")
public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    private static final Logger logger = LoggerFactory.getLogger(PatientNoLoginEndPoint.class);
    @Autowired
    private PrescriptionService prescriptionService;
    @Autowired
    private SysDictService sysDictService;
    @Autowired
    private ImService imService;
    @Autowired
    private BaseDictJobTitleService baseDictJobTitleService;
    @Autowired
    private BaseDoctorService baseDoctorService;
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findDoctorByHospitalAndDiseaseAndDept)
    @ApiOperation(value = "根据疾病名称,热门部门查询医生", notes = "根据疾病名称,热门部门查询医生")
    public ListEnvelop findDoctorByHospitalAndDiseaseAndDept(@ApiParam(name = "orgCode", value = "机构code")
                                                             @RequestParam(value = "orgCode", required = true,defaultValue = "350211A1002")String orgCode,
                                                             @ApiParam(name = "dept", value = "部门code")
                                                             @RequestParam(value = "dept", required = false)String dept,
                                                             @ApiParam(name = "diseaseKey", value = "疾病名称关键字")
                                                             @RequestParam(value = "diseaseKey", required = false)String diseaseKey,
                                                             @ApiParam(name = "doctorNameKey", value = "医生名称关键字")
                                                             @RequestParam(value = "doctorNameKey", required = false)String doctorNameKey,
                                                             @ApiParam(name = "jobTitleNameKey", value = "医生职称关键字")
                                                             @RequestParam(value = "jobTitleNameKey", required = false)String jobTitleNameKey,
                                                             @ApiParam(name = "outpatientType", value = "咨询类型1图文,2视频")
                                                             @RequestParam(value = "outpatientType", required = false)String outpatientType,
                                                             @ApiParam(name = "keyName", value = "姓名/科室/疾病模糊搜索关键字")
                                                             @RequestParam(value = "keyName", required = false)String keyName,
                                                             @ApiParam(name = "workingTime", value = "排班时间YYYY-MM-DD")
                                                             @RequestParam(value = "workingTime", required = false)String workingTime,
                                                             @ApiParam(name = "consultStatus", value = "在线状态")
                                                             @RequestParam(value = "consultStatus", required = false,defaultValue = "")String consultStatus,
                                                             @ApiParam(name = "chargType", value = "医生号别")
                                                             @RequestParam(value = "chargType", required = false,defaultValue = "")String chargType,
                                                             @ApiParam(name = "consutlSort", value = "咨询量排序")
                                                             @RequestParam(value = "consutlSort", required = true,defaultValue = "DESC")String consutlSort,
                                                             @ApiParam(name = "page", value = "第几页")
                                                             @RequestParam(value = "page",required = false) Integer page,
                                                             @ApiParam(name = "pagesize", value = "分页大小")
                                                             @RequestParam(value = "pagesize",required = false) Integer pagesize
    ) throws Exception{
        logger.info("findDoctorByHospitalAndDiseaseAndDept start:"+ DateUtil.dateToStr(new Date(),"yyyy-MM-dd HH:mm:ss:SSS"));
        return success(prescriptionService.findDoctorByHospitalAndDiseaseAndDept(null,
                orgCode,dept,
                diseaseKey,doctorNameKey,
                jobTitleNameKey,outpatientType,
                keyName,workingTime,consultStatus,chargType,consutlSort,page,pagesize));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findHotDeptAndDiseaseDict)
    @ApiOperation(value = "获取常见疾病、热门部门、医生拒绝接诊原因 字典", notes = "获取常见疾病、热门部门、医生拒绝接诊原因 字典")
    public ListEnvelop findHotDeptAndDiseaseDict(@ApiParam(name = "dictName", value = "dictName")
                                                 @RequestParam(value = "dictName", required = true,defaultValue = "ONLINE_HOSPITAL_DEPT_350211A1002")String dictName)throws Exception{
        return success(prescriptionService.findHotDeptAndDiseaseDict(dictName));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.getTodayOutpatinetList)
    @ApiOperation(value = "居民获取当日就诊列表", notes = "居民获取当日就诊列表")
    public ListEnvelop getTodayOutpatinetList(@ApiParam(name = "patient", value = "居民ID")
                                              @RequestParam(value = "patient", required = true) String patient){
        return success(prescriptionService.getTodayOutpatinetList(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findByDeptTypeCode)
    @ApiOperation(value = "就诊费用查询", notes = "就诊费用查询")
    public ListEnvelop findByDeptTypeCode(@ApiParam(name = "deptTypeCode", value = "6总部7金榜8夏禾")
                                          @RequestParam(value = "deptTypeCode", required = false)String deptTypeCode) throws Exception{
        return success(prescriptionService.findByDeptTypeCode(deptTypeCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findByHosAndDict)
    @ApiOperation(value = "根据医院和字典名查询")
    public Envelop findByHosAndDict(
            @ApiParam(name = "hospital", value = "医院编码", required = true)
            @RequestParam(value = "hospital", required = true) String hospital,
            @ApiParam(name = "dictName", value = "字典名称", required = true)
            @RequestParam(value = "dictName", required = true) String dictName ) throws Exception {
        List<Map<String, Object>> list = sysDictService.findByHosAndDict(hospital, dictName);
        return success("查询成功",list);
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findDoctorInfo)
    @ApiOperation(value = "获取医生信息", notes = "获取医生信息")
    public ObjEnvelop findDoctorInfo(@ApiParam(name = "doctor", value = "医生code")
                                     @RequestParam(value = "doctor", required = true)String doctor,
                                     @ApiParam(name = "withWork", value = "传1带排班,其他不带")
                                     @RequestParam(value = "withWork", required = false)String withWork){
        return success(prescriptionService.findDoctorInfo(doctor,withWork));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.isExistsUnfinishedConsult)
    @ApiOperation(value = "查询居民与某个医生是否存在未结束的专家咨询")
    public Envelop isExistsUnfinishedConsult(
            @ApiParam(name = "doctor", value = "医生CODE")
            @RequestParam(value = "doctor",required = true) String doctor,
            @ApiParam(name = "patient", value = "居民CODE")
            @RequestParam(value = "patient",required = true) String patient)throws Exception {
        if(StringUtils.isEmpty(patient)){
            patient= getUID();
        }
        String consultCode = imService.getUnfinishedConsult(patient, doctor);
        return success("请求成功",consultCode);
    }
    /**
     * 获取机构职称信息
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.getJobBySaasId)
    @ApiOperation(value = "获取机构职称信息", notes = "基础数据获取")
    public Envelop getJobBySaasId(
            @ApiParam(name = "saasId", value = "租户ID,当为空的情况下查询所有")
            @RequestParam(value = "saasId", required = false) String saasId)  {
        List<DictJobTitleDO> res= baseDictJobTitleService.getBySaasId(saasId);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取该机构的职称信息!");
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findWorkTimeInfo)
    @ApiOperation(value = "获取具体号源", notes = "获取具体号源")
    public ListEnvelop findWorkTimeInfo(@ApiParam(name = "id", value = "排班id")
                                        @RequestParam(value = "id", required = false)String id) {
        return success(prescriptionService.findWorkTimeInfo(id));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findLevelOneDoctorUpcoming)
    @ApiOperation(value = "根据医生身份证查找互联网医院待办数量", notes = "根据医生身份证查找互联网医院待办数量")
    public ObjEnvelop findLevelOneDoctorUpcoming(@ApiParam(name = "doctor_idcard", value = "医生身份证")
                                                 @RequestParam(value = "doctor_idcard", required = true)String doctor_idcard){
        List<BaseDoctorDO> doctors = baseDoctorService.findByField("idcard",doctor_idcard);
        BaseDoctorDO doctor = null;
        JSONObject result = new JSONObject();
        if(!doctors.isEmpty()){
            doctor = doctors.get(0);
            //专家咨询
            Integer zjCount = imService.sessionCountByType(doctor.getId(),1,0);
            //全科医生求助专科
            Integer zjqzCount = imService.sessionCountByType(doctor.getId(),15,0);
            result.put("zjCount",zjCount+zjqzCount);//专家咨询数量
        }else{
            result.put("zjCount",0);//专家咨询数量
        }
        return success("请求成功",result);
    }
}

+ 947 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -0,0 +1,947 @@
package com.yihu.jw.hospital.endpoint.prescription;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.hospital.prescription.service.InspectionService;
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.prescription.service.entrance.DoctorPreSignService;
import com.yihu.jw.hospital.service.SystemMessage.HospitalSystemMessageService;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.restmodel.base.dict.DictHospitalDeptVO;
import com.yihu.jw.restmodel.base.org.BaseOrgVO;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalSysDictVO;
import com.yihu.jw.restmodel.hospital.doctor.WlyyDoctorWorkTimeVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyOutpatientVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO;
import com.yihu.jw.restmodel.im.ConsultVO;
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.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/16.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Prescription.PREFIX)
@Api(value = "在线复诊", description = "在线复诊接口", tags = {"在线复诊接口"})
public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private PrescriptionService prescriptionService;
    @Autowired
    private WlyyBusinessService wlyyBusinessService;
    @Autowired
    private PrescriptionLogService prescriptionLogService;
    @Autowired
    private InspectionService inspectionService;
    @Autowired
    private DoctorPreSignService doctorPreSignService;
    
    @Autowired
    private HospitalSystemMessageService hospitalSystemMessageService;
    
    @Autowired
    private ImService imService;
    @Value("${demo.flag}")
    private boolean demoFlag;
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOutpatientList)
    @ApiOperation(value = " 查询某个时间段的患者门诊就诊记录")
    public ListEnvelop findOutpatientList(@ApiParam(name = "patient", value = "居民id")
                               @RequestParam(value = "patient",required = false) String patient,
                               @ApiParam(name = "startTime", value = "开始时间")
                               @RequestParam(value = "startTime",required = false) String startTime,
                               @ApiParam(name = "endTime", value = "结束时间")
                               @RequestParam(value = "endTime",required = false) String endTime) throws Exception {
        List<WlyyOutpatientVO> vos = prescriptionService.findOutpatientList(patient, startTime, endTime, demoFlag);
        return success(vos);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOutpatientInfo)
    @ApiOperation(value = " 查询单条门诊就诊记录")
    public ObjEnvelop findOutpatientInfo(@ApiParam(name = "patient", value = "居民id")
                                         @RequestParam(value = "patient",required = false) String patient,
                                         @ApiParam(name = "conNo", value = "就诊次数")
                                         @RequestParam(value = "conNo",required = false) String conNo)throws Exception{
        WlyyOutpatientVO obj = prescriptionService.findOutpatientInfo(patient,conNo);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOriginPrescriptionList)
    @ApiOperation(value = "门诊下所有处方信息")
    public ListEnvelop findOriginPrescriptionList(
            @ApiParam(name = "registerSn", value = "流水号")
            @RequestParam(value = "registerSn",required = false) String registerSn,
            @ApiParam(name = "patNo", value = "病人id")
            @RequestParam(value = "patNo",required = false) String patNo,
            @ApiParam(name = "admNo", value = "住院唯一号")
            @RequestParam(value = "admNo",required = false) String admNo,
            @ApiParam(name = "realOrder", value = "处方号")
            @RequestParam(value = "realOrder",required = false) String realOrder) throws Exception {
        List<WlyyPrescriptionVO> obj = prescriptionService.findOriginPrescriptionList(registerSn, patNo, realOrder, admNo,demoFlag);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOriginPrescription)
    @ApiOperation(value = "历史处方信息(单条)")
    public ObjEnvelop findOriginPrescription(
            @ApiParam(name = "registerSn", value = "流水号", required = false)
            @RequestParam(value = "registerSn",required = false) String registerSn,
            @ApiParam(name = "patNo", value = "病人id", required = false)
            @RequestParam(value = "patNo",required = false) String patNo,
            @ApiParam(name = "admNo", value = "住院唯一号", required = false)
            @RequestParam(value = "admNo",required = false) String admNo,
            @ApiParam(name = "realOrder", value = "处方号", required = false)
            @RequestParam(value = "realOrder",required = false) String realOrder) throws Exception {
        WlyyPrescriptionVO obj = prescriptionService.findOriginPrescription(registerSn, patNo, admNo,realOrder, demoFlag);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPrescriptionList)
    @ApiOperation(value = "获取续方记录列表", notes = "获取续方记录列表")
    public MixEnvelop<WlyyPrescriptionVO,WlyyPrescriptionVO> findPrescriptionList(@ApiParam(name = "patient", value = "居民code")
                                                                                  @RequestParam(value = "patient", required = false) String patient,
                                                                                  @ApiParam(name = "status", value = "状态,多状态‘,’分割,例如‘1,2’,‘1,2,3’")
                                                                                  @RequestParam(value = "status", required = false)String status,
                                                                                  @ApiParam(name = "startTime", value = "开始时间,‘yyyy-MM-dd’")
                                                                                  @RequestParam(value = "startTime", required = false)String startTime,
                                                                                  @ApiParam(name = "endTime", value = "结束时间,yyyy-MM-dd’")
                                                                                  @RequestParam(value = "endTime", required = false)String endTime,
                                                                                  @ApiParam(name = "page", value = "第几页,1开始’")
                                                                                  @RequestParam(value = "page", required = false)Integer page,
                                                                                  @ApiParam(name = "size", value = "每页大小")
                                                                                  @RequestParam(value = "size", required = true) Integer size) {
        return prescriptionService.findPrescriptionList(patient,status,startTime,endTime,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findReOutpatientList)
    @ApiOperation(value = "查询复诊记录列表", notes = "查询复诊记录列表")
    public MixEnvelop<WlyyOutpatientVO,WlyyOutpatientVO> findReOutpatientList(@ApiParam(name = "patient", value = "居民code")
                                                                              @RequestParam(value = "patient", required = true) String patient,
                                                                              @ApiParam(name = "status", value = "状态:-1取消,0候诊中,1就诊中,2已完成")
                                                                              @RequestParam(value = "status", required = false) Integer status,
                                                                              @ApiParam(name = "startTime", value = "开始时间,‘yyyy-MM-dd’")
                                                                              @RequestParam(value = "startTime", required = false)String startTime,
                                                                              @ApiParam(name = "endTime", value = "结束时间,yyyy-MM-dd’")
                                                                              @RequestParam(value = "endTime", required = false)String endTime,
                                                                              @ApiParam(name = "page", value = "第几页,1开始’")
                                                                              @RequestParam(value = "page", required = false)Integer page,
                                                                              @ApiParam(name = "size", value = "每页大小")
                                                                              @RequestParam(value = "size", required = true) Integer size) {
        return prescriptionService.findReOutpatientList(patient,status,startTime,endTime,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findReOutpatientInfo)
    @ApiOperation(value = "查询复诊记录,处方,居民信息,物流(单条)", notes = "查询复诊记录,处方,居民信息,物流(单条)")
    public ObjEnvelop findReOutpatientInfo(@ApiParam(name = "outpatientId", value = "复诊ID")
                                           @RequestParam(value = "outpatientId", required = true) String outpatientId,
                                           @ApiParam(name = "prescriptionId", value = "处方ID")
                                           @RequestParam(value = "prescriptionId", required = false) String prescriptionId)throws Exception{
        com.alibaba.fastjson.JSONObject obj =  prescriptionService.findReOutpatientInfo(outpatientId,prescriptionId);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPrescriptionInfo)
    @ApiOperation(value = "获取所有居民相关信息,续方信息,物流信息,药品信息(单条)", notes = "获取所有居民相关信息,续方信息,物流信息,药品信息(单条)")
    public ObjEnvelop<Map<String,Object>> findPrescriptionInfo(@ApiParam(name = "prescriptionId", value = "续方明细")
                                                               @RequestParam(value = "prescriptionId", required = false) String prescriptionId) {
        return success(BaseHospitalRequestMapping.Prescription.api_success,prescriptionService.findPrescriptionInfo(prescriptionId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.checkPrescription)
    @ApiOperation(value = "判断是否可续方,true 可以,false不可以", notes = "判断是否可续方,true 可以,false不可以")
    public ObjEnvelop<Boolean> checkPrescription(@ApiParam(name = "patient", value = "续方明细")
                                                               @RequestParam(value = "patient", required = false) String patient) {
        return success(BaseHospitalRequestMapping.Prescription.api_success,prescriptionService.checkPrescription(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.cancelPrescription)
    @ApiOperation(value = "居民取消续方", notes = "居民取消续方")
    public ObjEnvelop<Boolean> cancelPrescription(@ApiParam(name = "prescriptionId", value = "续方ID")
                                                      @RequestParam(value = "prescriptionId", required = false) String prescriptionId) {
        return success(BaseHospitalRequestMapping.Prescription.api_success,prescriptionService.cancelPrescription(prescriptionId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPatientCard)
    @ApiOperation(value = "查询患者就诊卡", notes = "查询患者就诊卡")
    public ListEnvelop findPatientCard(@ApiParam(name = "patient", value = "居民Code")
                                       @RequestParam(value = "patient", required = true)String patient)throws Exception {
        return success(prescriptionService.findPatientCard(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.checkOutpatient)
    @ApiOperation(value = "判断是否可用发起门诊", notes = "判断是否可用发起门诊")
    public ObjEnvelop checkOutpatient(@ApiParam(name = "patient", value = "续方明细")
                                      @RequestParam(value = "patient", required = true)String patient)throws Exception{
        return success(prescriptionService.checkOutpatient(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findAllHospital)
    @ApiOperation(value = "查询所有机构", notes = "查询所有机构")
    public ListEnvelop findAllHospital(@ApiParam(name = "level", value = "医院等级")
                                       @RequestParam(value = "level", required = false)Integer level) {
        return success(prescriptionService.findAllHospital(level));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDeptByHospital)
    @ApiOperation(value = "查询机构底下部门", notes = "查询机构底下部门")
    public ListEnvelop findDeptByHospital(@ApiParam(name = "orgCode", value = "机构code")
                                          @RequestParam(value = "orgCode", required = true)String orgCode,
                                          @ApiParam(name = "dept", value = "需要置顶部门")
                                          @RequestParam(value = "dept", required = false)String dept,
                                          @ApiParam(name = "consultDeptFlag", value = "1为查询开通服务部门")
                                          @RequestParam(value = "consultDeptFlag", required = false)String consultDeptFlag) {
        return success(prescriptionService.findDeptByHospital(orgCode,dept,consultDeptFlag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorByHospitalAndDept)
    @ApiOperation(value = "查询部门下医生", notes = "查询部门下医生")
    public ListEnvelop findDoctorByHospitalAndDept(@ApiParam(name = "orgCode", value = "机构code")
                                                   @RequestParam(value = "orgCode", required = false)String orgCode,
                                                   @ApiParam(name = "dept", value = "部门code")
                                                   @RequestParam(value = "dept", required = false)String dept,
                                                   @ApiParam(name = "chargeType", value = "号别")
                                                   @RequestParam(value = "chargeType", required = false)String chargeType,
                                                   @ApiParam(name = "doctorCode", value = "需要置顶医生")
                                                   @RequestParam(value = "doctorCode", required = false)String doctorCode,
                                                   @ApiParam(name = "outpatientType", value = "1图文,2视频")
                                                   @RequestParam(value = "outpatientType", required = false)String outpatientType,
                                                   @ApiParam(name = "startDate", value = "开始时间,yyyy-MM-dd HH:mm:ss")
                                                   @RequestParam(value = "startDate", required = false)String startDate,
                                                   @ApiParam(name = "endDate", value = "结束时间,yyyy-MM-dd HH:mm:ss")
                                                   @RequestParam(value = "endDate", required = false)String endDate,
                                                   @ApiParam(name = "key", value = "关键字搜索,医生名字/科室名称/专长")
                                                   @RequestParam(value = "key", required = false)String key,
                                                   @ApiParam(name = "consultStatus", value = "是否在线")
                                                   @RequestParam(value = "consultStatus", required = false)String consultStatus) {
        return success(prescriptionService.findDoctorByHospitalAndDept(orgCode,dept,chargeType,doctorCode,outpatientType,startDate,endDate,key,consultStatus));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.appointmentRevisit)
    @ApiOperation(value = "居民发起复诊", notes = "居民发起复诊")
    public ObjEnvelop appointmentRevisit(@ApiParam(name = "outpatientJson", value = "居民门诊json")
                                         @RequestParam(value = "outpatientJson", required = false)String outpatientJson,
                                         @ApiParam(name = "expressageJson", value = "居民物流json")
                                         @RequestParam(value = "expressageJson", required = false)String expressageJson,
                                         @ApiParam(name = "registerJson", value = "预约时间")
                                         @RequestParam(value = "registerJson", required = false)String registerJson,
                                         @ApiParam(name = "chargeType", value = "预约实体json")
                                         @RequestParam(value = "chargeType", required = false)String chargeType)throws Exception {
    
        WlyyOutpatientDO wlyyOutpatientDO = prescriptionService.appointmentRevisit(outpatientJson,expressageJson,registerJson,chargeType);
    
        //发送系统消息
        SystemMessageDO systemMessageDO = prescriptionService.sendOutPatientMes(wlyyOutpatientDO);
        //发送IM消息
        hospitalSystemMessageService.sendImMessage(systemMessageDO);
        
        //发送医生抢单消息
        if(StringUtils.isBlank(wlyyOutpatientDO.getDoctor())){
            hospitalSystemMessageService.sendImPichCheckMessage(wlyyOutpatientDO);
        }
    
        return success(BaseHospitalRequestMapping.Prescription.api_success,wlyyOutpatientDO);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getICD10)
    @ApiOperation(value = "获取ICD10诊断编码", notes = "获取ICD10诊断编码")
    public ListEnvelop getICD10(@ApiParam(name = "pyKey", value = "拼音关键字")
                                @RequestParam(value = "pyKey", required = false)String pyKey)throws Exception {
        return success(prescriptionService.getICD10(pyKey));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDrugDictionary)
    @ApiOperation(value = "获取药品字典", notes = "获取药品字典")
    public ListEnvelop getDrugDictionary(@ApiParam(name = "drugNo", value = "药品编码")
                                         @RequestParam(value = "drugNo", required = false)String drugNo,
                                         @ApiParam(name = "pyKey", value = "拼音关键字")
                                         @RequestParam(value = "pyKey", required = false)String pyKey,
                                         @ApiParam(name = "winNo", value = "分部编码")
                                         @RequestParam(value = "winNo", required = false)String winNo,
                                         @ApiParam(name = "groupNo", value = "药房编码")
                                         @RequestParam(value = "groupNo", required = false)String groupNo)throws Exception {
        return success(prescriptionService.getDrugDictionary(drugNo,pyKey,winNo,groupNo));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDrugUse)
    @ApiOperation(value = "获取用法", notes = "获取用法")
    public ListEnvelop getDrugUse(@ApiParam(name = "pyKey", value = "拼音关键字")
                                  @RequestParam(value = "pyKey", required = false)String pyKey,
                                  @ApiParam(name = "drugNo", value = "药品编码")
                                  @RequestParam(value = "drugNo", required = false)String drugNo)throws Exception {
        return success(prescriptionService.getDrugUse(drugNo,pyKey));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDrugFrequency)
    @ApiOperation(value = "获取用药频次", notes = "获取用药频次")
    public ListEnvelop getDrugFrequency()throws Exception {
        return success(prescriptionService.getDrugFrequency());
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.makeDiagnosis)
    @ApiOperation(value = "下诊断", notes = "下诊断接口")
    public ObjEnvelop makeDiagnosis(@ApiParam(name = "outPatientId", value = "门诊编号")
                                            @RequestParam(value = "outPatientId", required = true)String outPatientId,
                                            @ApiParam(name = "advice", value = "医嘱")
                                            @RequestParam(value = "advice", required = false)String advice,
                                            @ApiParam(name = "type", value = "1需要提交his,2不提交只下诊断")
                                            @RequestParam(value = "type", required = true)String type,
                                            @ApiParam(name = "infoJsons", value = "药品json")
                                            @RequestParam(value = "infoJsons", required = false)String infoJsons,
                                            @ApiParam(name = "diagnosisJson", value = "诊断json")
                                            @RequestParam(value = "diagnosisJson", required = true)String diagnosisJson,
                                            @ApiParam(name = "inspectionJson", value = "检查检验")
                                            @RequestParam(value = "inspectionJson", required = false)String inspectionJson)throws Exception {
        return success(prescriptionService.makeDiagnosis(outPatientId,advice,type,infoJsons,diagnosisJson,inspectionJson));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findExpressageList)
    @ApiOperation(value = "获取订单列表", notes = "获取订单列表")
    public MixEnvelop findExpressageList(@ApiParam(name = "status", value = "流程状态,多状态用‘,’分割")
                                         @RequestParam(value = "status", required = false)String status,
                                         @ApiParam(name = "oneselfPickupFlg", value = "是否自取 1是 0否")
                                         @RequestParam(value = "oneselfPickupFlg", required = false)String oneselfPickupFlg,
                                         @ApiParam(name = "nameKey", value = "配送员名称")
                                         @RequestParam(value = "nameKey", required = false)String nameKey,
                                         @ApiParam(name = "startTime", value = "开始时间,yyyy-MM-dd")
                                         @RequestParam(value = "startTime", required = false)String startTime,
                                         @ApiParam(name = "endTime", value = "结束时间,yyyy-MM-dd")
                                         @RequestParam(value = "endTime", required = false)String endTime,
                                         @ApiParam(name = "page", value = "第几页,1开始")
                                         @RequestParam(value = "page", required = false)Integer page,
                                         @ApiParam(name = "size", value = "每页大小")
                                         @RequestParam(value = "size", required = false)Integer size) {
        return prescriptionService.findExpressageList(status,oneselfPickupFlg,nameKey,startTime,endTime,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.setMailno)
    @ApiOperation(value = "设置订单编号", notes = "设置订单编号")
    public ObjEnvelop setMailno(@ApiParam(name = "mailno", value = "订单号")
                                @RequestParam(value = "mailno", required = false)String mailno,
                                @ApiParam(name = "expressageId", value = "订单id")
                                @RequestParam(value = "expressageId", required = false)String expressageId) {
        return success(prescriptionService.setMailno(mailno,expressageId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.pushListWrite)
    @ApiOperation(value = "订单导出", notes = "订单导出")
    public void pushListWrite(@ApiParam(name = "status", value = "流程状态,多状态用‘,’分割")
                                    @RequestParam(value = "status", required = false)String status,
                                    @ApiParam(name = "oneselfPickupFlg", value = "是否自取 1是 0否")
                                    @RequestParam(value = "oneselfPickupFlg", required = false)String oneselfPickupFlg,
                                    @ApiParam(name = "nameKey", value = "配送员名称")
                                    @RequestParam(value = "nameKey", required = false)String nameKey,
                                    @ApiParam(name = "startTime", value = "开始时间,yyyy-MM-dd")
                                    @RequestParam(value = "startTime", required = false)String startTime,
                                    @ApiParam(name = "endTime", value = "结束时间,yyyy-MM-dd")
                                    @RequestParam(value = "endTime", required = false)String endTime,
                                    HttpServletResponse response) throws Exception{
        MixEnvelop expressages = prescriptionService.findExpressageList(status,oneselfPickupFlg,nameKey,startTime,endTime,1,10000);
        List<Map<String,Object>> list = expressages.getDetailModelList();
        response.setContentType("octets/stream");
        response.setHeader("Content-Disposition", "attachment; filename="+ new String( "pushDataList.xls"));
        OutputStream os = response.getOutputStream();
        prescriptionService.pushListWrite(os,list);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByDeptTypeCode)
    @ApiOperation(value = "就诊费用查询", notes = "就诊费用查询")
    public ListEnvelop findByDeptTypeCode(@ApiParam(name = "deptTypeCode", value = "6总部7金榜8夏禾")
                                @RequestParam(value = "deptTypeCode", required = false)String deptTypeCode) throws Exception{
        return success(prescriptionService.findByDeptTypeCode(deptTypeCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getCardInfo)
    @ApiOperation(value = "获取卡信息", notes = "获取卡信息")
    public ObjEnvelop getCardInfo(@ApiParam(name = "cardNo", value = "卡号")
                                  @RequestParam(value = "cardNo", required = false)String cardNo) throws Exception {
        return success(prescriptionService.getCardInfo(cardNo,demoFlag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorWithWork)
    @ApiOperation(value = "查询医生带排班", notes = "查询医生带排班")
    public ObjEnvelop findDoctorWithWork(@ApiParam(name = "orgCode", value = "机构code")
                                         @RequestParam(value = "orgCode", required = false)String orgCode,
                                         @ApiParam(name = "dept", value = "部门code")
                                         @RequestParam(value = "dept", required = false)String dept,
                                         @ApiParam(name = "doctorCode", value = "需要置顶医生code")
                                         @RequestParam(value = "doctorCode", required = false)String doctorCode,
                                         @ApiParam(name = "chargeType", value = "号别")
                                         @RequestParam(value = "chargeType", required = false)String chargeType,
                                         @ApiParam(name = "outpatientType", value = "1图文,2视频")
                                         @RequestParam(value = "outpatientType", required = false)String outpatientType,
                                         @ApiParam(name = "startDate", value = "开始时间,yyyy-MM-dd HH:mm:ss")
                                         @RequestParam(value = "startDate", required = false)String startDate,
                                         @ApiParam(name = "endDate", value = "结束时间,yyyy-MM-dd HH:mm:ss")
                                         @RequestParam(value = "endDate", required = false)String endDate,
                                         @ApiParam(name = "key", value = "关键字搜索,医生名字/科室名称/专长")
                                         @RequestParam(value = "key", required = false)String key,
                                         @ApiParam(name = "consultStatus", value = "是否在线")
                                         @RequestParam(value = "consultStatus", required = false)String consultStatus,
                                         @ApiParam(name = "page", value = "第几页")
                                         @RequestParam(value = "page", required = true)Integer page,
                                         @ApiParam(name = "size", value = "每页大小")
                                         @RequestParam(value = "size", required = true)Integer size) {
        return success(prescriptionService.findDoctorWithWork(orgCode,dept,chargeType,doctorCode,outpatientType,startDate,endDate,key,consultStatus,page,size));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorWithMouthWork)
    @ApiOperation(value = "查询医生列表带月份排班状态", notes = "查询医生列表带月份排班状态")
    public ObjEnvelop findDoctorWithMouthWork(@ApiParam(name = "orgCode", value = "机构code")
                                         @RequestParam(value = "orgCode", required = true)String orgCode,
                                         @ApiParam(name = "dept", value = "部门code")
                                         @RequestParam(value = "dept", required = false)String dept,
                                         @ApiParam(name = "date", value = "yyyy-MM")
                                         @RequestParam(value = "date", required = true)String date,
                                         @ApiParam(name = "chargeType", value = "号别")
                                         @RequestParam(value = "chargeType", required = false)String chargeType,
                                         @ApiParam(name = "nameKey", value = "名字关键字")
                                         @RequestParam(value = "nameKey", required = false)String nameKey,
                                         @ApiParam(name = "page", value = "第几页")
                                         @RequestParam(value = "page", required = true)Integer page,
                                         @ApiParam(name = "size", value = "每页大小")
                                         @RequestParam(value = "size", required = true)Integer size) {
        return success(prescriptionService.findDoctorWithMouthWork(orgCode,dept,chargeType,date,nameKey,page,size));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findWorkTimeInfo)
    @ApiOperation(value = "获取具体号源", notes = "获取具体号源")
    public ListEnvelop findWorkTimeInfo(@ApiParam(name = "id", value = "排班id")
                                        @RequestParam(value = "id", required = false)String id) {
        return success(prescriptionService.findWorkTimeInfo(id));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorInfo)
    @ApiOperation(value = "获取医生信息", notes = "获取医生信息")
    public ObjEnvelop findDoctorInfo(@ApiParam(name = "doctor", value = "医生code")
                                     @RequestParam(value = "doctor", required = true)String doctor,
                                     @ApiParam(name = "withWork", value = "传1带排班,其他不带")
                                     @RequestParam(value = "withWork", required = false)String withWork){
        return success(prescriptionService.findDoctorInfo(doctor,withWork));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorBaseInfo)
    @ApiOperation(value = "获取医生基本信息信息", notes = "获取医生基本信息信息")
    public ObjEnvelop findDoctorBaseInfo(@ApiParam(name = "doctor", value = "医生code")
                                     @RequestParam(value = "doctor", required = true)String doctor){
        return success(prescriptionService.findDoctorBaseInfo(doctor));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.cancelOutPatient)
    @ApiOperation(value = "取消复诊", notes = "取消复诊")
    public ObjEnvelop cancelOutPatient(@ApiParam(name = "outPatientId", value = "门诊记录")
                                       @RequestParam(value = "outPatientId", required = false)String outPatientId,
                                       @ApiParam(name = "cancelType", value = "取消原因类型")
                                       @RequestParam(value = "cancelType", required = false)String cancelType,
                                       @ApiParam(name = "cancelValue", value = "取消原因名称")
                                       @RequestParam(value = "cancelValue", required = false)String cancelValue,
                                       @ApiParam(name = "cancelRemark", value = "取消原因详细说明")
                                       @RequestParam(value = "cancelRemark", required = false)String cancelRemark) {
        return success(prescriptionService.cancelOutPatient(outPatientId,cancelType,cancelValue,cancelRemark,1));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findCancelReasonList)
    @ApiOperation(value = "获取居民取消原因字典", notes = "获取居民取消原因字典")
    public ListEnvelop findCancelReasonList(){
        return success(prescriptionService.findCancelReasonList());
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findFastRegisterDate)
    @ApiOperation(value = "獲取快速咨詢時間", notes = "獲取快速咨詢時間")
    public ListEnvelop findFastRegisterDate(){
        return success(prescriptionService.findFastRegisterDate());
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByTimeSlot)
    @ApiOperation(value = "获取快速咨询时间分段", notes = "获取快速咨询时间分段")
    public ListEnvelop findByTimeSlot(@ApiParam(name = "startTime", value = "开始时间")
                                      @RequestParam(value = "startTime", required = false)String startTime,
                                      @ApiParam(name = "endTime", value = "结束时间")
                                      @RequestParam(value = "endTime", required = false)String endTime) {
        return success(prescriptionService.findByTimeSlot(startTime,endTime));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorWorkTimeByMonth)
    @ApiOperation(value = "查询某个医生某个月份排班记录", notes = "查询某个医生某个月份排班记录")
    public ListEnvelop findDoctorWorkTimeByMonth(@ApiParam(name = "doctor", value = "医生code")
                                                 @RequestParam(value = "doctor", required = true)String doctor,
                                                 @ApiParam(name = "date", value = "年份和月份,yyyy-MM")
                                                 @RequestParam(value = "date", required = false)String date,
                                                 @ApiParam(name = "startDate", value = "yyyy-MM-dd")
                                                 @RequestParam(value = "startDate", required = false)String startDate,
                                                 @ApiParam(name = "endDate", value = "yyyy-MM-dd")
                                                 @RequestParam(value = "endDate", required = false)String endDate) {
        return success(prescriptionService.findDoctorWorkTimeByMonth(doctor,date,startDate,endDate));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findWorkRule)
    @ApiOperation(value = "查询排班规则", notes = "查询排班规则")
    public ListEnvelop findWorkRule(@ApiParam(name = "hospital", value = "医生code")
                                    @RequestParam(value = "hospital", required = true)String hospital) {
        return success(prescriptionService.findWorkRule("Scheduling",hospital));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.updateWorkRule)
    @ApiOperation(value = "保存排班规则", notes = "保存排班规则")
    public ObjEnvelop updateWorkRule(@ApiParam(name = "workRoleJsons", value = "排班规则json")
                                     @RequestParam(value = "workRoleJsons", required = true)String workRoleJsons) {
        return success(prescriptionService.updateWorkRule(workRoleJsons));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.saveDoctorWorkTimeJson)
    @ApiOperation(value = "排班批量保存接口", notes = "排班批量保存接口")
    public ObjEnvelop saveDoctorWorkTimeJson(@ApiParam(name = "type", value = "1.全医院,2.科室,3.医生")
                                             @RequestParam(value = "type", required = true)String type,
                                             @ApiParam(name = "codes", value = "1.医院code,2.科室code,‘,’分割,3.医生code,‘,’分割")
                                             @RequestParam(value = "codes", required = true)String codes,
                                             @ApiParam(name = "workTimeJson", value = "排班列表json")
                                             @RequestParam(value = "workTimeJson", required = true)String workTimeJson,
                                             @ApiParam(name = "date", value = "yyyy-MM,支持‘,’分割")
                                             @RequestParam(value = "date", required = false)String date)throws Exception {
        return success(prescriptionService.saveDoctorWorkTimeJson(type,codes,workTimeJson,date));
    }
    @PostMapping(value = "test")
    @ApiOperation(value = "test", notes = "test")
    public Envelop test()throws Exception {
        return success(prescriptionService.test());
    }
    @PostMapping(value = "test2")
    @ApiOperation(value = "test2", notes = "test2")
    public Envelop test(String no)throws Exception {
        return success(prescriptionService.test2(no));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPatientInfo)
    @ApiOperation(value = "获取居民信息接口", notes = "获取居民信息接口")
    public ObjEnvelop findPatientInfo(@ApiParam(name = "patient", value = "居民ID")
                                      @RequestParam(value = "patient", required = true)String patient){
        return success(prescriptionService.findPatientInfo(patient));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.saveDoctorOnlineWork)
    @ApiOperation(value = "保存在线排班", notes = "保存在线排班")
    public Envelop saveDoctorOnlineWork(@ApiParam(name = "onlineWorkJson", value = "保存在线排班json")
                                        @RequestParam(value = "onlineWorkJson", required = true)String onlineWorkJson)throws Exception {
        return prescriptionService.saveDoctorOnlineWork(onlineWorkJson);
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.delDoctorOnlineWork)
    @ApiOperation(value = "删除在线排班", notes = "删除在线排班")
    public Envelop delDoctorOnlineWork(@ApiParam(name = "id", value = "保存在线排班ID")
                                       @RequestParam(value = "id", required = true)String id)throws Exception {
        return prescriptionService.delDoctorOnlineWork(id);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorOnlineWorkList)
    @ApiOperation(value = "查询医生在线排班", notes = "查询医生在线排班")
    public ListEnvelop findDoctorOnlineWorkList(@ApiParam(name = "doctor", value = "医生code")
                                                @RequestParam(value = "doctor", required = true)String doctor,
                                                @ApiParam(name = "startDate", value = "开始时间,YYYY-MM-dd")
                                                @RequestParam(value = "startDate", required = true)String startDate,
                                                @ApiParam(name = "endDate", value = "结束时间,YYYY-MM-dd")
                                                @RequestParam(value = "endDate", required = true)String endDate)throws Exception {
        return success(prescriptionService.findDoctorOnlineWorkList(doctor,startDate,endDate));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.cooperativeOutpatient)
    @ApiOperation(value = "发起协同门诊", notes = "发起协同门诊")
    public ObjEnvelop cooperativeOutpatient(@ApiParam(name = "outpatientJson", value = "复诊实体json")
                                            @RequestParam(value = "outpatientJson", required = true)String outpatientJson,
                                            @ApiParam(name = "registerJson", value = "预约实体json")
                                            @RequestParam(value = "registerJson", required = false)String registerJson,
                                            @ApiParam(name = "chargeType", value = "号别")
                                            @RequestParam(value = "chargeType", required = false)String chargeType)throws Exception {
        WlyyOutpatientDO wlyyOutpatientDO = prescriptionService.cooperativeOutpatient(outpatientJson,registerJson,chargeType);
    
        //构建系统消息
        SystemMessageDO systemMessageDO = prescriptionService.sendOutPatientMes(wlyyOutpatientDO);
        //发送系统消息
        hospitalSystemMessageService.sendImMessage(systemMessageDO);
    
        //发送医生抢单消息
        if(StringUtils.isBlank(wlyyOutpatientDO.getDoctor())){
            hospitalSystemMessageService.sendImPichCheckMessage(wlyyOutpatientDO);
        }
    
        return success(wlyyOutpatientDO);
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.saveOutpatientDoctor)
    @ApiOperation(value = "设置门诊医生", notes = "设置门诊医生")
    public ObjEnvelop saveOutpatientDoctor(@ApiParam(name = "outpatientJson", value = "复诊实体json")
                                             @RequestParam(value = "outpatientJson", required = true)String outpatientJson,
                                             @ApiParam(name = "registerJson", value = "预约实体json")
                                             @RequestParam(value = "registerJson", required = false)String registerJson,
                                             @ApiParam(name = "chargeType", value = "号别")
                                             @RequestParam(value = "chargeType", required = false)String chargeType)throws Exception {
        return success(prescriptionService.saveOutpatientDoctor(outpatientJson,registerJson,chargeType));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.checkOauthQRCode)
    @ApiOperation(value = "验证授权", notes = "验证授权")
    public ObjEnvelop checkOauthQRCode(@ApiParam(name = "authorizeNo", value = "流水编号")
                                       @RequestParam(value = "authorizeNo", required = true)String authorizeNo)throws Exception {
        return success(prescriptionService.checkOauthQRCode(authorizeNo));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByGeneralDoctor)
    @ApiOperation(value = "全科医生协同门诊列表", notes = "全科医生协同门诊列表")
    public Envelop findByGeneralDoctor(@ApiParam(name = "generalDoctor", value = "全科医生")
                                           @RequestParam(value = "generalDoctor", required = true)String generalDoctor,
                                           @ApiParam(name = "startDate", value = "开始时间")
                                           @RequestParam(value = "startDate", required = false)String startDate,
                                           @ApiParam(name = "endDate", value = "结束时间")
                                           @RequestParam(value = "endDate", required = false)String endDate,
                                           @ApiParam(name = "status", value = "状态")
                                           @RequestParam(value = "status", required = false)String status,
                                           @ApiParam(name = "sort", value = "排序")
                                           @RequestParam(value = "sort", required = false)String sort,
                                           @ApiParam(name = "page", value = "第几页")
                                           @RequestParam(value = "page", required = true)Integer page,
                                           @ApiParam(name = "size", value = "每页大小")
                                           @RequestParam(value = "size", required = true)Integer size) {
        return prescriptionService.findByGeneralDoctor(generalDoctor,startDate,endDate,status,sort,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findGeneralDoctorInfo)
    @ApiOperation(value = "全科医生首页统计信息", notes = "全科医生首页统计信息")
    public ObjEnvelop findGeneralDoctorInfo(@ApiParam(name = "generalDoctor", value = "全科医生")
                                            @RequestParam(value = "generalDoctor", required = true)String generalDoctor) {
        return success(prescriptionService.findGeneralDoctorInfo(generalDoctor));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.sendWlyyOutpatientMes)
    @ApiOperation(value = "发送i健康系统消息", notes = "发送i健康系统消息")
    public ObjEnvelop sendWlyyOutpatientMes(@ApiParam(name = "doctor", value = "全科医生Id")
                                            @RequestParam(value = "doctor", required = true)String doctor,
                                            @ApiParam(name = "outPatientId", value = "门诊id")
                                            @RequestParam(value = "outPatientId", required = true)String outPatientId) {
        return success(wlyyBusinessService.sendWlyyOutpatientMes(doctor,outPatientId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.readWlyyOutpatientMes)
    @ApiOperation(value = "设置I健康消息已读", notes = "设置I健康消息已读")
    public ObjEnvelop readWlyyOutpatientMes(@ApiParam(name = "outPatientId", value = "门诊id")
                                            @RequestParam(value = "outPatientId", required = true)String outPatientId){
        return success(wlyyBusinessService.readWlyyOutpatientMes(outPatientId));
    }
    //===========
    
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getTodayOutpatinetList)
    @ApiOperation(value = "居民获取当日就诊列表", notes = "居民获取当日就诊列表")
    public ListEnvelop getTodayOutpatinetList(@ApiParam(name = "patient", value = "居民ID")
                                                  @RequestParam(value = "patient", required = true) String patient){
        return success(prescriptionService.getTodayOutpatinetList(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDoctorMapping)
    @ApiOperation(value = "获取医生mappingcode", notes = "获取医生mappingcode")
    public ObjEnvelop getDoctorMapping(@ApiParam(name = "doctor", value = "医生code")
                                       @RequestParam(value = "doctor", required = true)String doctor,
                                       @ApiParam(name = "orgCode", value = "机构code")
                                       @RequestParam(value = "orgCode", required = true)String orgCode){
        return success(prescriptionService.getDoctorMapping(doctor,orgCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getInspectionDictionary)
    @ApiOperation(value = "获取检查检验", notes = "获取检查检验")
    public ListEnvelop getInspectionDictionary(@ApiParam(name = "pyKey", value = "拼音码")
                                              @RequestParam(value = "pyKey", required = false)String pyKey,
                                              @ApiParam(name = "winNo", value = "6总部7金榜8夏禾")
                                              @RequestParam(value = "winNo", required = true)String winNo,
                                              @ApiParam(name = "codes", value = "检查检验收费码codes,用逗号分割")
                                              @RequestParam(value = "codes", required = false)String codes)throws Exception{
        return success(prescriptionService.getInspectionDictionary(pyKey,codes,winNo));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPrescriptionLogByPreId)
    @ApiOperation(value = "查询处方日志", notes = "查询处方日志")
    public ListEnvelop findPrescriptionLogByPreId(@ApiParam(name = "prescriptionCode", value = "处方code")
                                               @RequestParam(value = "prescriptionCode", required = true)String prescriptionCode)throws Exception{
        return success(prescriptionLogService.findPrescriptionLogByPreId(prescriptionCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByPartsCode)
    @ApiOperation(value = "查询部位字典", notes = "查询部位字典")
    public ListEnvelop findByPartsCode(@ApiParam(name = "parentCode", value = "父节点ID,第一层为0")
                                                  @RequestParam(value = "parentCode", required = true)String parentCode)throws Exception{
        return success(inspectionService.findByPartsCode(parentCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDictByName)
    @ApiOperation(value = "查询检查检验字典", notes = "查询检查检验字典")
    public ListEnvelop findDictByName(@ApiParam(name = "hospital", value = "医院")
                                      @RequestParam(value = "hospital", required = true)String hospital,
                                      @ApiParam(name = "name", value = "字典名称,类型:InspectionType;固定液体 :InspectionFixativeType")
                                      @RequestParam(value = "name", required = true)String name)throws Exception{
        return success(inspectionService.findDictByName(hospital,name));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getJymb)
    @ApiOperation(value = "检验模板接口")
    public ListEnvelop getJymb(@ApiParam(name = "bz_code", value = "入参条件为第一节点代码")
                               @RequestParam(value = "bz_code",defaultValue = "") String bz_code,
                               @ApiParam(name = "tc_no", value = "二级节点代码")
                               @RequestParam(value = "tc_no",defaultValue = "") String tc_no,
                               @ApiParam(name = "flag", value = "入参条件为第一节点代码")
                               @RequestParam(value = "flag",defaultValue = "1") String flag) throws Exception {
        return success(prescriptionService.getJymb(bz_code,tc_no,flag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getJcmb)
    @ApiOperation(value = "检查模板接口")
    public ListEnvelop getJcmb(
            @ApiParam(name = "bz_code", value = "入参条件为第一节点代码")
            @RequestParam(value = "bz_code",defaultValue = "") String bz_code,
            @ApiParam(name = "tc_no", value = "二级节点代码")
            @RequestParam(value = "tc_no",defaultValue = "") String tc_no,
            @ApiParam(name = "flag", value = "入参条件为第一节点代码")
            @RequestParam(value = "flag",defaultValue = "1") String flag) throws Exception {
        return success(prescriptionService.getJcmb(bz_code,tc_no,flag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getTcChild)
    @ApiOperation(value = "套餐子项目字典接口")
    public ListEnvelop getTcChild(
            @ApiParam(name = "parent_code", value = "入参条件为子项目编码")
            @RequestParam(value = "parent_code",defaultValue = "") String parent_code) throws Exception {
        return success(prescriptionService.getTcChild(parent_code));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getInsChild)
    @ApiOperation(value = "主项目绑定子项目字典接口")
    public ListEnvelop getInsChild(
            @ApiParam(name = "zd_charge_code", value = "入参条件为项目代码")
            @RequestParam(value = "zd_charge_code",defaultValue = "") String zd_charge_code) throws Exception {
        return success(prescriptionService.getInsChild(zd_charge_code));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getTcxz)
    @ApiOperation(value = "套餐选择接口")
    public ListEnvelop getTcxz(
            @ApiParam(name = "bz_code", value = "入参条件为收费项目代码")
            @RequestParam(value = "bz_code",defaultValue = "") String charge_code,
            @ApiParam(name = "tc_no", value = "二级节点代码")
            @RequestParam(value = "tc_no",defaultValue = "") String tc_no,
            @ApiParam(name = "flag", value = "入参条件为第一节点代码")
            @RequestParam(value = "flag",defaultValue = "1") String flag) throws Exception {
        return success(prescriptionService.getTcxz(charge_code,tc_no,flag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDoctorPreSign)
    @ApiOperation(value = "获取医生签名")
    public ObjEnvelop getDoctorPreSign(@ApiParam(name = "doctor", value = "医生编码")
                                         @RequestParam(value = "doctor",required = false) String doctor)throws Exception{
        return success(doctorPreSignService.getDoctorSign(doctor));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDoctorIntroduction)
    @ApiOperation(value = "获取医生简介")
    public ObjEnvelop getDoctorIntroduction(@ApiParam(name = "doctor", value = "医生编码")
                                            @RequestParam(value = "doctor",required = false) String doctor)throws Exception{
        return success(prescriptionService.getDoctorIntroduction(doctor));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByDict)
    @ApiOperation(value = "查询医院字典", notes = "查询医院字典")
    public ListEnvelop findByDict(@ApiParam(name = "name", value = "字典名称")
                                  @RequestParam(value = "name", required = true)String name,
                                  @ApiParam(name = "hospital", value = "医生code")
                                  @RequestParam(value = "hospital", required = true)String hospital) {
        return success(prescriptionService.findByDict(name,hospital));
    }
    
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getPatientAccetokenByIdcard)
    @ApiOperation(value = "根据居民CODE换取居民请求秘钥")
    public Envelop getPatientAccetokenByIdcard(@ApiParam(name = "patientCode", value = "居民CODE")
                                       @RequestParam(value = "patientCode",required = true) String patientCode)throws Exception{
        return success(wlyyBusinessService.wlyyGetPatientAccetokenByIdcard(patientCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findWlyyPatient)
    @ApiOperation(value = "获取居民信息")
    public Envelop findWlyyPatient(@ApiParam(name = "idcard", value = "idcard")
                                               @RequestParam(value = "idcard",required = true) String idcard)throws Exception{
        return success(wlyyBusinessService.findWlyyPatient(idcard));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPatientListBySscOrIdCard)
    @ApiOperation(value = "获取居民身份证信息")
    public Envelop findPatientListBySscOrIdCard(@ApiParam(name = "idcard", value = "idcard")
                                                @RequestParam(value = "idcard",required = false) String idcard,
                                                @ApiParam(name = "ssc", value = "社保卡")
                                                @RequestParam(value = "ssc",required = false) String ssc)throws Exception{
        if(StringUtils.isNotBlank(idcard)&&idcard.length()>=6){
            return success(wlyyBusinessService.findPatientListBySscOrIdCard(idcard,null));
        }
        if(StringUtils.isNotBlank(ssc)&&ssc.length()>=6){
            return success(wlyyBusinessService.findPatientListBySscOrIdCard(null,ssc));
        }
        return failed("身份证或医保卡格式有误");
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.makeBase64Qrcode)
    @ApiOperation(value = "获取医生二维码")
    public ObjEnvelop makeBase64Qrcode(@ApiParam(name = "doctor", value = "医生ID")
                                    @RequestParam(value = "doctor",required = true) String doctor)throws Exception{
        return success("获取医生二维码成功",wlyyBusinessService.makeBase64Qrcode(doctor));
    }
    
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.doctorUpcomingList)
    @ApiOperation(value = "医生待办事项列表")
    public Envelop doctorUpcomingList(@ApiParam(name = "doctorCode", value = "医生CODE")
                                      @RequestParam(value = "doctorCode",required = true) String doctorCode,
                                      @ApiParam(name = "type", value = "类型:1.视频复诊(16)、2.专科协同(12)、3.图文复诊(9)、4.专家咨询(1,15)")
                                      @RequestParam(value = "type",required = true) String type)throws Exception{
    
        com.alibaba.fastjson.JSONArray array = new com.alibaba.fastjson.JSONArray();
        List<ConsultVO> data = imService.doctorUpcomingList(doctorCode, type);
    
        if (data != null) {
            for (ConsultVO consult : data) {
                if (consult == null) {
                    continue;
                }
                com.alibaba.fastjson.JSONObject json = new com.alibaba.fastjson.JSONObject();
                json.put("id", consult.getId());
                // 设置咨询类型:1专家咨询,9在线复诊,待扩展,13协同门诊
                json.put("type", consult.getType());
//
//                //如果是协同门诊,多返回全科医生的详细信息
//                if(13 == consult.getType() && StringUtils.isNoneBlank(consult.getGeneralDoctor())){
//                    BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(consult.getGeneralDoctor());
//                    json.put("generalDoctorName", baseDoctorDO.getName());
//                }
            
                // 设置显示标题
                json.put("title", consult.getTitle());
                // 设置主诉
                json.put("symptoms", consult.getSymptoms());
                // 咨询状态
                json.put("status", consult.getStatus());
                // 设置咨询日期
                json.put("czrq", DateUtil.dateToStrLong(consult.getCzrq()));
                //是否评价
                json.put("evaluate", consult.getEvaluate());
            
                //患者ID
                json.put("patientId", consult.getPatientId());
                //患者性别
                json.put("patientsex", consult.getPatientsex());
                //患者姓名
                json.put("patientName", consult.getPatientName());
                //患者年龄
                json.put("patientAge", DateUtil.getAgeForIdcard(consult.getPatientIdcard()));
                //就诊记录ID
                json.put("outpatientId", consult.getOutpatientid());
                //就诊记录状态
                json.put("outpatientstatus", consult.getOutpatientstatus());
                // 设置咨询日期
                json.put("registerDate", DateUtil.dateToStrLong(consult.getRegisterDate()));
                //图文或者视频类型
                json.put("consultType", consult.getConsultType());
                //诊断
                json.put("icd10Name", consult.getIcd10Name());
                
                if("1,15".equals(type)){//专家咨询
                    if(1 == consult.getType()){//专家咨询
                        json.put("session_id", consult.getPatientId()+"_"+ consult.getDoctorCode()+"_1");
                    }else if(15 == consult.getType()){//家医求助
                        json.put("session_id", consult.getPatientId()+"_"+ consult.getGeneralDoctor()+"_"+ consult.getDoctorCode()+"_15");
                    }else{}
                }else if("9".equals(type)){//图文复诊
                    json.put("session_id", consult.getPatientId()+"_"+ consult.getOutpatientid()+"_9");
                    json.put("type",type);
                }else if("16".equals(type)){//视频复诊
                    json.put("session_id", consult.getPatientId()+"_"+ consult.getOutpatientid()+"_16");
                    json.put("type",type);
                }else if("12".equals(type)){//协同门诊
                    json.put("session_id", consult.getPatientId()+"_"+ consult.getOutpatientid()+"_12");
                    json.put("type",type);
                }else{}
            
                array.add(json);
            }
        }
        return success(array);
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.setRecord)
    @ApiOperation(value = "his建立档案与互联网医院账户同步")
    public Envelop setRecord(@ApiParam(name = "json", value = "档案实体json")
                             @RequestParam(value = "json",required = true) String json,
                             @ApiParam(name = "type", value = "1.需要his建档,2.仅同步互联网医院账户")
                             @RequestParam(value = "type",required = true)String type)throws Exception{
        return success(prescriptionService.setRecord(json,type));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPatientRecord)
    @ApiOperation(value = "获取HIIS居民档案信息")
    public Envelop findPatientRecord(@ApiParam(name = "idcard", value = "居民身份证")
                                     @RequestParam(value = "idcard",required = false) String idcard,
                                     @ApiParam(name = "patient", value = "居民code")
                                     @RequestParam(value = "patient",required = false)String patient,
                                     @ApiParam(name = "admitNum", value = "就诊次数")
                                     @RequestParam(value = "admitNum",required = false)String admitNum,
                                     @ApiParam(name = "ybcard", value = "医保卡")
                                     @RequestParam(value = "ybcard",required = false)String ybcard)throws Exception{
        return success(prescriptionService.findPatientRecord(idcard,patient,admitNum,ybcard));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorByName)
    @ApiOperation(value = "获取医生信息")
    public ListEnvelop findDoctorByName(@ApiParam(name = "hospital", value = "医院code")
                                        @RequestParam(value = "hospital",required = false)String hospital,
                                        @ApiParam(name = "name", value = "医生名称")
                                        @RequestParam(value = "name",required = false)String name,
                                        @ApiParam(name = "chargeType", value = "号别")
                                        @RequestParam(value = "chargeType",required = false)String chargeType) {
        return success(prescriptionService.findDoctorByName(hospital,name,chargeType));
    }
}

+ 791 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/statistics/EsStatisticsEndpoint.java

@ -0,0 +1,791 @@
package com.yihu.jw.hospital.endpoint.statistics;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.es.service.StatisticsEsService;
import com.yihu.jw.es.util.ElasticsearchUtil;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * Created by wangzhinan on 2019/12/3.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Statistics.PREFIX)
@Api(value = "统计分析", description = "统计分析", tags = {"统计分析"})
public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private StatisticsEsService statisticsEsService;
    @Autowired
    private ElasticsearchUtil elasticsearchUtil;
    /**
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.outPatientLine)
    @ApiOperation(value = "门诊类别统计-曲线")
    public ObjEnvelop getOutPatientLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
            //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getOutPatientLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.prescriptionLine)
    @ApiOperation(value = "开方量周统计-曲线")
    public ObjEnvelop getPrescriptionLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getPrescriptionLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.total)
    @ApiOperation(value = " 查询总数")
    public ObjEnvelop getIndexTotal(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getTotalAmount(startDate, endDate, area, level, index, level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.outPatientCircular)
    @ApiOperation(value = "门诊类别统计-圆形")
    public ObjEnvelop getOutPatientCircular(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getOutPatientCircular(startDate, endDate, area, level, index, level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 门诊统计-分级
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index
     * @param level2_type 5 市  4区  3医院 2科室 1医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.outPatientGrade)
    @ApiOperation(value = "门诊统计-分级")
    public ObjEnvelop getOutPatient(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getOutPatientGrade(startDate, endDate, area, level, index, level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 问诊量统计-类别曲线
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.outPatientTypeLine)
    @ApiOperation(value = "问诊量统计-类别曲线")
    public ObjEnvelop getOutPatientTypeline(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getOutPatientTypeline(startDate, endDate, area, level, index,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.doctorStatictis)
    @ApiOperation(value = "人员统计")
    public ObjEnvelop getDoctorStatistics(@RequestParam(required = true) String startDate,
                                          @RequestParam(required = true) String endDate,
                                          @RequestParam(required = true) String area,
                                          @RequestParam(required = true) int level,
                                          @RequestParam(required = true) String index,
                                          @RequestParam(required = false) String level2_type,
                                          @RequestParam(required = true) Integer flag) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getDoctorStatistics(startDate,endDate,area,level,index,level2_type,flag);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.doctorTotal)
    @ApiOperation(value = "各职称人数统计")
    public ObjEnvelop getDoctorTotal(@RequestParam(required = true) String startDate,
                                     @RequestParam(required = true) String endDate,
                                     @RequestParam(required = true) String area,
                                     @RequestParam(required = true) int level,
                                     @RequestParam(required = true) String index,
                                     @RequestParam(required = false) String level2_type,
                                     @RequestParam(required = true) Integer flag) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getDoctorTotal(startDate,endDate,area,level,index,level2_type,flag);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.doctorStatictisExcel)
    @ApiOperation(value = "人数统计-excel表")
    public ObjEnvelop getDoctorStatisticsExcel(@RequestParam(required = true) String startDate,
                                     @RequestParam(required = true) String endDate,
                                     @RequestParam(required = true) String area,
                                     @RequestParam(required = true) int level,
                                     @RequestParam(required = true) String index,
                                     @RequestParam(required = false) String level2_type,
                                     @RequestParam(required = true) Integer flag) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getDoctorStatisticsExcel(startDate,endDate,area,level,index,level2_type,flag);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 专科咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.specialConsultHead)
    @ApiOperation(value = " 专科咨询分析-头部")
    public ObjEnvelop specialConsultHead(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getSpecialConsultHead(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 专科咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.specialConsultLine)
    @ApiOperation(value = "专科咨询分析曲线")
    public ObjEnvelop specialConsultLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getSpecialConsultLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 专科咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param lowLevel 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.specialConsultExcel)
    @ApiOperation(value = "专科咨询列表")
    public ObjEnvelop specialConsultExcel(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getConsultingStatisticsList(startDate, endDate,level,area,lowLevel);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 服务评价总平均分
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scoreHead)
    @ApiOperation(value = " 服务评价总平均分-头部")
    public ObjEnvelop getScoreHead(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getScoreHead(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 服务评价分析曲线
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scoreLine)
    @ApiOperation(value = "服务评价分析曲线")
    public ObjEnvelop getScoreLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScoreLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 服务评价分析列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param lowLevel 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scoreList)
    @ApiOperation(value = "服务评价分析列表")
    public ObjEnvelop getScoreList(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScoreList(startDate, endDate,level,area,lowLevel);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scheduleHead)
    @ApiOperation(value = "排班头部")
    public ObjEnvelop getScheduleTotal(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScheduleTotal(startDate, endDate,index,level,area);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scheduleLine)
    @ApiOperation(value = "排班曲线")
    public ObjEnvelop getScheduleLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)Integer interval) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScheduleLine(startDate, endDate,area,level,index,interval);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scheduleList)
    @ApiOperation(value = "排班表格")
    public ObjEnvelop getScheduleList(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)String levelCode) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScheduleList(startDate, endDate,index,level,area,levelCode);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultHead)
    @ApiOperation(value = " 咨询分析-头部")
    public ObjEnvelop getConsultHead(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultHead(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultLine)
    @ApiOperation(value = "咨询分析曲线")
    public ObjEnvelop getConsultLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getConsultLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param lowLevel 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultList)
    @ApiOperation(value = "咨询列表")
    public ObjEnvelop getConsultingList(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true) String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getConsultingList(startDate, endDate,level,area,lowLevel,index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * app端首页门诊量统计
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 5咨询量,6专家咨询,11图文复诊,13专科协同,15视频复诊
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultTotalApp)
    @ApiOperation(value = "app端首页门诊量统计")
    public ObjEnvelop getConsultTotalApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultTotalApp(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * app端首页门诊量-圆形图
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultCircularApp)
    @ApiOperation(value = "app端首页门诊量-圆形图")
    public ObjEnvelop getConsultCircularApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultCircularApp(startDate, endDate, area, level);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * app端首页门诊量统计-曲线图
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 5
     * @param interval
     * @param level2_type
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultLineApp)
    @ApiOperation(value = "app端首页门诊量统计-曲线图")
    public ObjEnvelop getConsultLineApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)Integer interval,
            @RequestParam(required = false)String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultLineApp(startDate, endDate, area, level, index,interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultListApp)
    @ApiOperation(value = "app端首页门诊量统计-表格")
    public ObjEnvelop getConsultListApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultListApp(startDate, endDate,level,area, lowLevel,index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 专家咨询6,图文复诊11,专家协同13,视频复诊15
     * @param interval
     * @param level2_type
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultLinePC)
    @ApiOperation(value = "pc端首页门诊量统计-曲线图")
    public ObjEnvelop getConsultLinePC(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)Integer interval,
            @RequestParam(required = false)String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultLinePC(startDate, endDate, area, level, index,interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     *pc端首页门诊量统计-表格
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 专家咨询6,图文复诊11,专家协同13,视频复诊15
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultListPC)
    @ApiOperation(value = "pc端首页门诊量统计-表格")
    public ObjEnvelop getConsultLinePC(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultingListPC(startDate, endDate, level,area,lowLevel, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * app端首页数据统计
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 6专家,13协同,11、在线复诊
     * @param timeLevel
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.indexTotalApp)
    @ApiOperation(value = "app端首页数据统计")
    public ObjEnvelop getIndexTotalApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)String timeLevel) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getIndexTotalApp(startDate, endDate,area, level,index,timeLevel);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
}

+ 226 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/survey/SurveyEndpoint.java

@ -0,0 +1,226 @@
package com.yihu.jw.hospital.endpoint.survey;
import com.yihu.jw.hospital.survey.service.SurveyService;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalSysDictVO;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * Created by Trick on 2019/9/10.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.WlyySurvey.PREFIX)
@Api(value = "问卷调查", description = "问卷调查", tags = {"问卷调查"})
public class SurveyEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private SurveyService surveyService;
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyLabel)
    @ApiOperation(value = "问题-查询字典")
    public ListEnvelop findSurveyLabel(@ApiParam(name = "name", value = "1.surveyLabel 标签;2.surveyScreenLabel 问卷类型")
                                       @RequestParam(value = "name",required = true) String name) throws Exception {
        List<WlyyHospitalSysDictVO> vos = surveyService.findSurveyLabel(name);
        return success(vos);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyQuestion)
    @ApiOperation(value = "问题-获取问卷问题列表")
    public MixEnvelop findSurveyQuestion(@ApiParam(name = "title", value = "标题")
                                          @RequestParam(value = "title",required = false) String title,
                                         @ApiParam(name = "questionType", value = "问题类型")
                                          @RequestParam(value = "questionType",required = false)Integer questionType,
                                         @ApiParam(name = "page", value = "第几页,1开始")
                                          @RequestParam(value = "page",required = true)Integer page,
                                         @ApiParam(name = "size", value = "每页大小")
                                          @RequestParam(value = "size",required = true)Integer size) throws Exception {
        return surveyService.findSurveyQuestion(title,questionType,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findBySurveyId)
    @ApiOperation(value = "问题-获取问卷问题详情(单条)")
    public ObjEnvelop findBySurveyId(@ApiParam(name = "surveyId", value = "问卷Id")
                                     @RequestParam(value = "surveyId",required = true) String surveyId) throws Exception {
        return success(surveyService.findBySurveyId(surveyId));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveSurveyQuestion)
    @ApiOperation(value = "问题-批量保存问卷问题")
    public ObjEnvelop saveSurveyQuestion(@ApiParam(name = "sqjsons", value = "问题实体列表json")
                                         @RequestParam(value = "sqjsons",required = true)String sqjsons,
                                         @ApiParam(name = "sqOptionJson", value = "选项实体列表json")
                                         @RequestParam(value = "sqOptionJson",required = false)String sqOptionJson) throws Exception {
        return success(surveyService.saveSurveyQuestion(sqjsons,sqOptionJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.updataSurveyQuestion)
    @ApiOperation(value = "问题-更新问题(单条)")
    public ObjEnvelop updataSurveyQuestion(@ApiParam(name = "sqjson", value = "问题实体json")
                                           @RequestParam(value = "sqjson",required = true)String sqjson,
                                           @ApiParam(name = "sqOptionJson", value = "选项实体列表json")
                                           @RequestParam(value = "sqOptionJson",required = false)String sqOptionJson) throws Exception {
        return success(surveyService.updataSurveyQuestion(sqjson,sqOptionJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.delSurveyQuestion)
    @ApiOperation(value = "问题-批量删除")
    public ObjEnvelop delSurveyQuestion(@ApiParam(name = "ids", value = "问题实体ID,逗号分割")
                                        @RequestParam(value = "ids",required = true)String ids) throws Exception {
        return success(surveyService.delSurveyQuestion(ids));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyTemplate)
    @ApiOperation(value = "模板-查询模板列表")
    public MixEnvelop findSurveyTemplate(@ApiParam(name = "title", value = "标题")
                                              @RequestParam(value = "title",required = false) String title,
                                          @ApiParam(name = "label", value = "标签code")
                                              @RequestParam(value = "label",required = false)String label,
                                          @ApiParam(name = "page", value = "第几页,1开始")
                                              @RequestParam(value = "page",required = true)Integer page,
                                          @ApiParam(name = "size", value = "每页大小")
                                              @RequestParam(value = "size",required = true)Integer size) throws Exception {
        return surveyService.findSurveyTemplate( title, label, page, size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyTemplateById)
    @ApiOperation(value = "模板-获取模板详情(单条)")
    public ObjEnvelop findSurveyTemplateById(@ApiParam(name = "tempId", value = "模板ID")
                                             @RequestParam(value = "tempId",required = true) String tempId) throws Exception {
        return success(surveyService.findSurveyTemplateById(tempId));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveSurveyTemplate)
    @ApiOperation(value = "问题-批量保存问卷问题")
    public ObjEnvelop saveSurveyTemplate(@ApiParam(name = "tempJson", value = "模板实体json")
                                         @RequestParam(value = "tempJson",required = true)String tempJson,
                                         @ApiParam(name = "tempQJson", value = "模板问题列表json")
                                         @RequestParam(value = "tempQJson",required = false)String tempQJson,
                                         @ApiParam(name = "tempOpJson", value = "模板问题选项列表json")
                                         @RequestParam(value = "tempOpJson",required = false)String tempOpJson,
                                         @ApiParam(name = "labelJson", value = "模板标签json")
                                         @RequestParam(value = "labelJson",required = false)String labelJson,
                                         @ApiParam(name = "labelInspJson", value = "模板筛查标签json")
                                         @RequestParam(value = "labelInspJson",required = false)String labelInspJson) throws Exception {
        return success(surveyService.saveSurveyTemplate(tempJson,tempQJson,tempOpJson,labelJson,labelInspJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.delSurveyTemplate)
    @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 = "模板ID")
                                     @RequestParam(value = "tempId",required = true)String tempId,
                                     @ApiParam(name = "sdJsons", value = "部门与科室关系json")
                                     @RequestParam(value = "sdJsons",required = false)String sdJsons)throws Exception {
        return success(surveyService.saveSurveyDept(tempId,sdJsons));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveDeptSurvey)
    @ApiOperation(value = "模板-设置科室发送的模板")
    public ObjEnvelop saveDeptSurvey(@ApiParam(name = "dept", value = "部门code")
                                     @RequestParam(value = "dept",required = true)String dept,
                                     @ApiParam(name = "sdJsons", value = "部门与科室关系json")
                                     @RequestParam(value = "sdJsons",required = false)String sdJsons)throws Exception {
        return success(surveyService.saveDeptSurvey(dept,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.findSurveyByDeptAndPatient)
    @ApiOperation(value = "模板-查询部门下发放的问卷用户答题情况")
    public ListEnvelop findSurveyByDeptAndPatient(@ApiParam(name = "dept", value = "科室")
                                                  @RequestParam(value = "dept",required = true)String dept,
                                                  @ApiParam(name = "patient", value = "居民code")
                                                  @RequestParam(value = "patient",required = true)String patient)throws Exception {
        return success(surveyService.findSurveyByDeptAndPatient(dept,patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findDeptBySurvey)
    @ApiOperation(value = "模板-查询模板下的科室")
    public ListEnvelop findDeptBySurvey(@ApiParam(name = "tempId", value = "模板ID")
                                        @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,
                                                  @ApiParam(name = "surverUserId", value = "答题批次号")
                                                  @RequestParam(value = "surverUserId",required = false)String surverUserId)throws Exception {
        return success(surveyService.findAnswerBySurveyTempCode(surverUserId,patient,tempId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyTemplateResult)
    @ApiOperation(value = "统计-查询问题情况")
    public ObjEnvelop findSurveyTemplateResult(@ApiParam(name = "tempId", value = "模板ID")
                                                @RequestParam(value = "tempId",required = true)String tempId)throws Exception {
        return success(surveyService.findSurveyTemplateResult(tempId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findQuestionInfoList)
    @ApiOperation(value = "统计-查询问题情况")
    public MixEnvelop findQuestionInfoList(@ApiParam(name = "comment", value = "选项备注")
                                           @RequestParam(value = "comment",required = false) String comment,
                                           @ApiParam(name = "content", value = "选项内容,问答题内容")
                                           @RequestParam(value = "content",required = false)String content,
                                           @ApiParam(name = "tempQuestionCode", value = "问题code")
                                           @RequestParam(value = "tempQuestionCode",required = false)String tempQuestionCode,
                                           @ApiParam(name = "tempOptionCode", value = "选项code")
                                           @RequestParam(value = "tempOptionCode",required = false)String tempOptionCode,
                                           @ApiParam(name = "page", value = "第几页,1开始")
                                           @RequestParam(value = "page",required = true)Integer page,
                                           @ApiParam(name = "size", value = "每页大小")
                                           @RequestParam(value = "size",required = true)Integer size)throws Exception {
        return surveyService.findQuestionInfoList(comment,content,tempQuestionCode,tempOptionCode,page, size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findAnswerList)
    @ApiOperation(value = "统计-综合查询问题答案")
    public MixEnvelop findAnswerList(@ApiParam(name = "tempId", value = "模板id")
                                     @RequestParam(value = "tempId",required = false) String tempId,
                                     @ApiParam(name = "patient", value = "标题")
                                     @RequestParam(value = "patient",required = false) String patient,
                                     @ApiParam(name = "title", value = "标题")
                                     @RequestParam(value = "title",required = false) String title,
                                     @ApiParam(name = "page", value = "第几页,1开始")
                                     @RequestParam(value = "page",required = true)Integer page,
                                     @ApiParam(name = "size", value = "每页大小")
                                     @RequestParam(value = "size",required = true)Integer size)throws Exception {
        return surveyService.findAnswerList(tempId,patient,title,page,size);
    }
    //=================
}

+ 60 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/version/VersionEndpoint.java

@ -0,0 +1,60 @@
package com.yihu.jw.hospital.endpoint.version;
import com.yihu.jw.entity.base.version.AppVersionDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.version.service.AppVersionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.map.HashedMap;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
 * Created by Trick on 2020/2/24.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Version.PREFIX)
@Api(value = "app升级", description = "app升级", tags = {"app升级"})
public class VersionEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private AppVersionService versionsService;
    /**
     * 校验APP版本号
     * @param code 版本类型编码
     * @param version 当前版本号
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Version.app)
    @ApiOperation(value = "app升级")
    public Envelop appVersion(String code, double version) {
            AppVersionDO temp = versionsService.findVersionByCode(code);
            if (temp == null) {
                return Envelop.getError( "无效的APP类型失败!");
            }
            if (version > 0) {
                if (temp.getVersionInt() > version) {
                    // 有新的版本号
                    return success("发现新版本!", temp.getUrl());
                } else {
                    // 已是最新版本
                    return success("已是最新版本!");
                }
            } else {
                Map<String,Object> map = new HashedMap();
                map.put("version_int", temp.getVersionInt());
                map.put("version_str", temp.getVersionStr());
                map.put("url", temp.getUrl());
                map.put("info", temp.getInfo());
                map.put("size", temp.getSize());
                return success("读取版本号成功!", map);
            }
    }
}

+ 108 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/SystemMessage/HospitalSystemMessageService.java

@ -0,0 +1,108 @@
package com.yihu.jw.hospital.service.SystemMessage;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.hospital.message.service.SystemMessageService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.util.idcard.IdCardUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
 * 互联网医院系统消息业务层
 * @author huangwenjie
 * @date 2019/11/22 13:53
 */
@Service
public class HospitalSystemMessageService  {
	private static Logger logger = LoggerFactory.getLogger(HospitalSystemMessageService.class);
	@Autowired
	private SystemMessageService systemMessageService;
	
	@Autowired
	private BasePatientDao basePatientDao;
	
	@Autowired
	private ImService imService;
	
	@Autowired
	private PrescriptionService prescriptionService;
	
	/**
	 * 保存系统消息&发送IM外层刷新事件的消息
	 * @param systemMessageDO
	 * @throws Exception
	 */
	public void saveMessage(SystemMessageDO systemMessageDO) throws Exception{
		//发送系统消息
		systemMessageService.saveMessage(systemMessageDO);
		//发型IM外层消息
		
		JSONObject object = new JSONObject();
		object.put("socket_sms_type",11);//系统消息刷新事件
		object.put("relation_code",systemMessageDO.getType());
		imService.sendWaiSocketMessage(systemMessageDO.getSender(),systemMessageDO.getReceiver(),object.toString(),"1");
	}
	/**
	 * 发送IM消息推送
	 * @param systemMessageDO
	 * @throws Exception
     */
	public void sendImMessage(SystemMessageDO systemMessageDO) throws Exception{
		try{
			//发型IM外层消息
			JSONObject object = new JSONObject();
			object.put("socket_sms_type",11);//系统消息刷新事件
			object.put("relation_code",systemMessageDO.getType());
			imService.sendWaiSocketMessage(systemMessageDO.getSender(),systemMessageDO.getReceiver(),object.toString(),"1");
		}catch (Exception e){
			logger.error(e.toString());
		}
	}
	
	/**
	 * 通知医生抢单消息
	 * @param wlyyOutpatientDO
	 */
	@Async
	public void sendImPichCheckMessage(WlyyOutpatientDO wlyyOutpatientDO) throws Exception {
		BasePatientDO basePatientDO =basePatientDao.findById(wlyyOutpatientDO.getPatient());
		String tagMsg = "";
		JSONObject object = new JSONObject();
		object.put("socket_sms_type",12);//抢单事件
		if("1".equals(wlyyOutpatientDO.getOutpatientType())&&"1".equals(wlyyOutpatientDO.getType())){//图文复诊
			object.put("relation_code","1:"+wlyyOutpatientDO.getId());
			tagMsg = "图文复诊";
		}else if ("1".equals(wlyyOutpatientDO.getOutpatientType())&&"2".equals(wlyyOutpatientDO.getType())){//视频复诊
			object.put("relation_code","3:"+wlyyOutpatientDO.getId());
			tagMsg = "视频复诊";
		}else if ("2".equals(wlyyOutpatientDO.getOutpatientType())){//协同门诊
			object.put("relation_code","3:"+wlyyOutpatientDO.getId());
			tagMsg = "协同门诊";
		}else{}
		
		object.put("msg",basePatientDO.getName()+"("+ IdCardUtil.getSexForIdcardReturnName(basePatientDO.getIdcard())+" "
				+ IdCardUtil.getAgeForIdcard(basePatientDO.getIdcard())+"岁)发起了随机邀请"+tagMsg+",问题:"+wlyyOutpatientDO.getDescription());
		
//		List<Map<String,Object>> doctorlist = prescriptionService.findDoctorByHospitalAndDept();
		
//		imService.sendWaiSocketMessage(wlyyOutpatientDO.getPatient(),wlyyOutpatientDO.getDoctor(),object.toString(),"1");
	}
}

+ 52 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/analysis/AnalysisService.java

@ -0,0 +1,52 @@
package com.yihu.jw.hospital.service.analysis;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.im.dao.ConsultTeamDao;
import com.yihu.jw.util.date.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
 * @author zmk.
 * @vsrsion 1.0
 * Created at 2019/11/21
 */
@Service
public class AnalysisService {
    @Autowired
    private OutpatientDao outpatientDao;
    @Autowired
    private ConsultTeamDao consultTeamDao;
    /**
     * 分析总览数据查询
     * @param doctor
     * @param startTime
     * @param endTime
     * @return
     * @throws Exception
     */
    public Object queryAnalysis(String doctor,String startTime,String endTime)throws Exception{
        Map<String, Integer> map = new HashMap<>();
        Date start = DateUtil.strToDate(startTime, "yyyy-MM-dd HH:mm:ss");
        Date end = DateUtil.strToDate(endTime, "yyyy-MM-dd HH:mm:ss");
        //在线复诊
        Integer fzNum = outpatientDao.countByTime("1",doctor,start,end);
        //专科协同
        Integer xtNum = outpatientDao.countByTime("2",doctor,start,end);
        //专家咨询
        Integer imNum = consultTeamDao.countByTime(1,doctor,start,end);
        map.put("fzNum",fzNum);
        map.put("xtNum",xtNum);
        map.put("imNum",imNum);
        return map;
    }
}

+ 73 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/ConsultPriceService.java

@ -0,0 +1,73 @@
package com.yihu.jw.hospital.service.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalConsultPriceDO;
import com.yihu.jw.hospital.dao.consult.ConsultPriceDao;
import com.yihu.mysql.query.BaseJpaService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class ConsultPriceService extends BaseJpaService<WlyyHospitalConsultPriceDO, ConsultPriceDao> {
    @Autowired
    private ConsultPriceDao consultPriceDao;
    /**
     * // 根据机构编码查询所有计费列表
     * @param jsonObject
     * @param hospital
     * @return
     *
     */
    public WlyyHospitalConsultPriceDO saveConsultPrice(JSONObject jsonObject, String hospital){
        /*CREATE TABLE `wlyy_hospital_consult_price` (
             `id` varchar(50) NOT NULL,
             `saas_id` varchar(50) DEFAULT NULL,
             `type` int(1) DEFAULT '1' COMMENT '0图文 1视频',
             `pay_type` int(1) DEFAULT '0' COMMENT '0按次收费 1计时收费 3固定时长收费 4',
             `dept` varchar(500) DEFAULT NULL COMMENT '服务科室',
             `doctor_job` varchar(50) DEFAULT NULL COMMENT '0专家 1主任 2医师',
             `service_range` varchar(50) DEFAULT NULL COMMENT '0帮扶医院、社区  1普通患者',
             `price` int(11) DEFAULT NULL COMMENT '价格',
             `hospital` varchar(50) DEFAULT NULL,
                   PRIMARY KEY (`id`)
           ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='医院咨询计费价目表';*/
        int flag = -1;
        WlyyHospitalConsultPriceDO wlyyHospitalConsultPriceDO = new WlyyHospitalConsultPriceDO();
        Map dataDetail  = JSONObject.fromObject(jsonObject);
        String id = dataDetail.get("id") == "" ? "":dataDetail.get("id").toString();
        // 若id为空,则为新增,否则走更新操作。
        if ("".equals(id)) {
            wlyyHospitalConsultPriceDO.setSaasId("");
            wlyyHospitalConsultPriceDO.setType(dataDetail.get("type") == "" ? 0 : Integer.parseInt(dataDetail.get("type").toString()));
            wlyyHospitalConsultPriceDO.setPayType(dataDetail.get("payType") == "" ? 0 : Integer.parseInt(dataDetail.get("payType").toString()));
            wlyyHospitalConsultPriceDO.setDept(dataDetail.get("dept") == "" ? "" : dataDetail.get("dept").toString());
            wlyyHospitalConsultPriceDO.setDoctorJob(dataDetail.get("doctorJob") == "" ? "" : dataDetail.get("doctorJob").toString());
            wlyyHospitalConsultPriceDO.setServiceRange(dataDetail.get("serviceRange") == "" ? "" : dataDetail.get("serviceRange").toString());
            wlyyHospitalConsultPriceDO.setPrice(dataDetail.get("price") == "" ? 0 : Integer.parseInt(dataDetail.get("price").toString()));
            wlyyHospitalConsultPriceDO.setHospital(hospital);
            wlyyHospitalConsultPriceDO = consultPriceDao.save(wlyyHospitalConsultPriceDO);
        }else{
            WlyyHospitalConsultPriceDO wlyyHospitalConsultPriceDOL = consultPriceDao.findById(id);
            wlyyHospitalConsultPriceDOL.setType(dataDetail.get("type") == "" ? 0 : Integer.parseInt(dataDetail.get("type").toString()));
            wlyyHospitalConsultPriceDOL.setPayType(dataDetail.get("payType") == "" ? 0 : Integer.parseInt(dataDetail.get("payType").toString()));
            wlyyHospitalConsultPriceDOL.setDept(dataDetail.get("dept") == "" ? "" : dataDetail.get("dept").toString());
            wlyyHospitalConsultPriceDOL.setDoctorJob(dataDetail.get("doctorJob") == "" ? "" : dataDetail.get("doctorJob").toString());
            wlyyHospitalConsultPriceDOL.setServiceRange(dataDetail.get("serviceRange") == "" ? "" : dataDetail.get("serviceRange").toString());
            wlyyHospitalConsultPriceDOL.setPrice(dataDetail.get("price") == "" ? 0 : Integer.parseInt(dataDetail.get("price").toString()));
            wlyyHospitalConsultPriceDO.setHospital(hospital);
            wlyyHospitalConsultPriceDO = consultPriceDao.save(wlyyHospitalConsultPriceDOL);
        }
        return wlyyHospitalConsultPriceDO;
    }
    public void deleteConsultPrice(String id){
        consultPriceDao.delete(id);
    }
}

+ 0 - 0
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeArticleService.java


Some files were not shown because too many files changed in this diff