Browse Source

Merge branch 'baseCopy1' of wangjun/wlyy2.0 into dev

叶仕杰 3 years ago
parent
commit
32eb664fac
46 changed files with 2421 additions and 272 deletions
  1. 9 0
      business/base-service/src/main/java/com/yihu/jw/doctor/dao/BaseDoctorSuggestDao.java
  2. 23 15
      business/base-service/src/main/java/com/yihu/jw/doctor/service/BaseDoctorInfoService.java
  3. 156 0
      business/base-service/src/main/java/com/yihu/jw/doctor/service/BaseDoctorSuggestService.java
  4. 22 0
      business/base-service/src/main/java/com/yihu/jw/hospital/HospitalDao.java
  5. 14 0
      business/base-service/src/main/java/com/yihu/jw/hospital/consult/dao/BaseAdviceTreatmentDao.java
  6. 5 4
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/WlyyChargeDictDao.java
  7. 9 0
      business/base-service/src/main/java/com/yihu/jw/hospital/httplog/dao/BaseOperateLogDao.java
  8. 127 0
      business/base-service/src/main/java/com/yihu/jw/hospital/httplog/service/BaseOperateLogService.java
  9. 82 7
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/InspectionService.java
  10. 178 181
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  11. 1 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java
  12. 16 9
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/XzzxEntranceService.java
  13. 19 0
      business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyyAdminTeamDao.java
  14. 16 0
      business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyyAdminTeamMemberDao.java
  15. 12 0
      business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyySignFamilyDao.java
  16. 115 0
      business/base-service/src/main/java/com/yihu/jw/hospital/team/service/WlyyAdminTeamService.java
  17. 10 1
      business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java
  18. 45 0
      business/base-service/src/main/java/com/yihu/jw/wlyy/wlyyhttp/WlyyHttpService.java
  19. 0 1
      business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java
  20. 124 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorSuggestDO.java
  21. 156 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/DmHospitalDO.java
  22. 8 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/dict/WlyyChargeDictDO.java
  23. 106 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/httplog/BaseOperateLogDO.java
  24. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/httplog/WlyyHttpLogDO.java
  25. 141 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/BaseAdviceTreatmentDO.java
  26. 146 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/team/WlyyAdminTeamDO.java
  27. 168 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/team/WlyyAdminTeamMemberDO.java
  28. 1 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  29. 9 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java
  30. 34 19
      gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/PostFilter.java
  31. 4 4
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/menu/BaseMenuShowDao.java
  32. 8 18
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/article/ArticleEndpoint.java
  33. 17 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/menu/BaseMenuNoLoginEndpoint.java
  34. 11 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/menu/BaseMenuManageService.java
  35. 4 2
      svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/XzzxCotroller.java
  36. 11 1
      svr/svr-internet-hospital-entrance/src/main/resources/application.yml
  37. 221 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/channel/SyncWlyyHospitalService.java
  38. 81 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/util/SyncWlyyHosptialJob.java
  39. 30 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/web/quota/JobController.java
  40. 9 2
      svr/svr-internet-hospital-job/src/main/resources/application.yml
  41. 8 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java
  42. 95 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/BaseDoctorSuggestController.java
  43. 97 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/WlyyAdminTeamController.java
  44. 15 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  45. 46 4
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java
  46. 10 0
      svr/svr-internet-hospital/src/main/resources/application.yml

+ 9 - 0
business/base-service/src/main/java/com/yihu/jw/doctor/dao/BaseDoctorSuggestDao.java

@ -0,0 +1,9 @@
package com.yihu.jw.doctor.dao;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorSuggestDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseDoctorSuggestDao  extends PagingAndSortingRepository<BaseDoctorSuggestDO, String>, JpaSpecificationExecutor<BaseDoctorSuggestDO> {
}

+ 23 - 15
business/base-service/src/main/java/com/yihu/jw/doctor/service/BaseDoctorInfoService.java

@ -85,7 +85,7 @@ public class BaseDoctorInfoService extends BaseJpaService<BaseDoctorDO, BaseDoct
                " FROM " +
                " base_doctor a " +
                " JOIN base_doctor_hospital b ON a.id = b.doctor_code " +
                " LEFT JOIN (SELECT * FROM wlyy_charge_dict t WHERE t.dept_type_code ='6') e ON a.charge_type = e.charge_type " +
                " LEFT JOIN (SELECT * FROM wlyy_charge_dict t WHERE t.dept_type_code ='6' and t.is_del='1' ) e ON a.charge_type = e.charge_type " +
                " LEFT JOIN base_doctor_mapping c ON a.id = c.doctor " +
                " WHERE " +
                " 1 = 1";
@ -152,13 +152,13 @@ public class BaseDoctorInfoService extends BaseJpaService<BaseDoctorDO, BaseDoct
                " FROM " +
                " base_doctor a " +
                " JOIN base_doctor_hospital b ON a.id = b.doctor_code " +
                " LEFT JOIN (SELECT * FROM wlyy_charge_dict t WHERE t.dept_type_code ='6') e ON a.charge_type = e.charge_type " +
                " LEFT JOIN wlyy_charge_dict m ON a.twfz_charge_type = m.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict n ON a.spfz_charge_type = n.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict p ON a.spzx_charge_type = p.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict v ON a.twzx_charge_type = v.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict d ON a.xtfz_charge_type = d.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict g ON a.jyzx_charge_type = g.charge_type\n" +
                " LEFT JOIN (SELECT * FROM wlyy_charge_dict t WHERE t.dept_type_code ='6' and t.is_del='1') e ON a.charge_type = e.charge_type " +
                " LEFT JOIN wlyy_charge_dict m ON a.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict n ON a.spfz_charge_type = n.charge_type and n.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict p ON a.spzx_charge_type = p.charge_type and p.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict v ON a.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict d ON a.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict g ON a.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                " LEFT JOIN base_doctor_mapping c ON a.id = c.doctor " +
                " WHERE 1=1";
        if (StringUtils.isNotBlank(city)){
@ -229,12 +229,12 @@ public class BaseDoctorInfoService extends BaseJpaService<BaseDoctorDO, BaseDoct
                " LEFT JOIN dict_hospital_dept h ON b.dept_code = h.code " +
                " LEFT JOIN wlyy_doctor_special_disease d ON a.id = d.doctor_code " +
                " LEFT JOIN wlyy_charge_dict e ON a.charge_type = e.charge_type " +
                " LEFT JOIN wlyy_charge_dict m ON a.twfz_charge_type = m.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict n ON a.spfz_charge_type = n.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict p ON a.spzx_charge_type = p.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict v ON a.twzx_charge_type = v.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict q ON a.xtfz_charge_type = q.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict g ON a.jyzx_charge_type = g.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict m ON a.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict n ON a.spfz_charge_type = n.charge_type and n.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict p ON a.spzx_charge_type = p.charge_type and p.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict v ON a.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict q ON a.xtfz_charge_type = q.charge_type and q.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict g ON a.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                " WHERE 1=1 ";
        if(StringUtils.isNotBlank(doctorId)){
            sql+=" AND a.id =:id";
@ -586,7 +586,7 @@ public class BaseDoctorInfoService extends BaseJpaService<BaseDoctorDO, BaseDoct
                wlyyChargeDictDO.setCreateTime(new Date());
                wlyyChargeDictDO.setReqFee(chargeFee);
                wlyyChargeDictDO.setChargeType(fee+"");
                wlyyChargeDictDO.setDeptTypeCode("6");
                wlyyChargeDictDO.setIsDel("1");
                wlyyChargeDictDO.setChargeName(doctorName+"创建的号别");
                wlyyChargeDictDO = wlyyChargeDictDao.save(wlyyChargeDictDO);
                return  wlyyChargeDictDO.getChargeType();
@ -599,4 +599,12 @@ public class BaseDoctorInfoService extends BaseJpaService<BaseDoctorDO, BaseDoct
        List<WlyyChargeDictDO> wlyyChargeDictDOS =  wlyyChargeDictDao.findByDeptTypeCode("6");
        return wlyyChargeDictDOS;
    }
    public void deleteChargeDict(String id,String del){
        WlyyChargeDictDO wlyyChargeDictDO =  wlyyChargeDictDao.findOne(id);
        if (wlyyChargeDictDO!=null){
            wlyyChargeDictDO.setIsDel(del);
            wlyyChargeDictDao.save(wlyyChargeDictDO);
        }
    }
}

+ 156 - 0
business/base-service/src/main/java/com/yihu/jw/doctor/service/BaseDoctorSuggestService.java

@ -0,0 +1,156 @@
package com.yihu.jw.doctor.service;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorSuggestDao;
import com.yihu.jw.doctor.dao.DoctorSpecialDiseaseDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorSuggestDO;
import com.yihu.jw.entity.base.doctor.DoctorSpecialDiseaseDo;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Service
public class BaseDoctorSuggestService  extends BaseJpaService<BaseDoctorSuggestDO, BaseDoctorSuggestDao> {
    @Autowired
    private BaseDoctorDao baseDoctorDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private BasePatientDao basePatientDao;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private BaseDoctorSuggestDao baseDoctorSuggestDao;
    @Value("${wechat.id}")
    private String wxId;
    @Value("${wechat.flag}")
    private boolean flag;
    public void saveDoctorSuggest(String suggestType,String  suggestContent,String  imgUrl,String doctor,String createUser,String relationCode,String relationType) throws  Exception{
        BaseDoctorSuggestDO baseDoctorSuggestDO=new BaseDoctorSuggestDO();
        baseDoctorSuggestDO.setCreateUser(createUser);
        baseDoctorSuggestDO.setSuggestType(suggestType);
        baseDoctorSuggestDO.setSuggestContent(suggestContent);
        baseDoctorSuggestDO.setImgUrl(imgUrl);
        baseDoctorSuggestDO.setRelationCode(relationCode);
        baseDoctorSuggestDO.setRelationType(relationType);
        baseDoctorSuggestDO.setDoctor(doctor);
        baseDoctorSuggestDO.setCreateTime(new Date());
        baseDoctorSuggestDO.setIsDel("1");
        BasePatientDO basePatientDO=basePatientDao.findById(baseDoctorSuggestDO.getCreateUser());
        if (basePatientDO!=null){
            baseDoctorSuggestDO.setCreateUserName(basePatientDO.getName());
        }
        BaseDoctorDO baseDoctorDO=baseDoctorDao.findById(baseDoctorSuggestDO.getDoctor());
        if (baseDoctorDO!=null){
            baseDoctorSuggestDO.setDoctorName(baseDoctorDO.getName());
        }
        List<WlyyHospitalSysDictDO> list =wlyyHospitalSysDictDao.findByDictName("doctorSuggestType");
        for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:list){
            if (baseDoctorSuggestDO.getSuggestType().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
                baseDoctorSuggestDO.setSuggestName(wlyyHospitalSysDictDO.getDictValue());
            }
        }
        baseDoctorSuggestDao.save(baseDoctorSuggestDO);
    }
    public MixEnvelop findDoctorSuggest(String doctor,String patient,String doctorName,String patientName,String startTime,String endTime,
                                        String suggestType,String relationType,String keyWord,Integer page,Integer pageSize){
        MixEnvelop mixEnvelop = new MixEnvelop();
        String sql = "select t.id as \"id\"," +
                "t.suggest_type as \"suggestType\"," +
                "t.suggest_name as \"suggestName\"," +
                "t.suggest_content as \"suggestContent\"," +
                "t.relation_code as \"relationCode\"," +
                "t.relation_type as \"relationType\"," ;
        if("xm_ykyy_wx".equals(wxId)){
            if (flag){
                sql+="date_format(t.create_time, '%Y-%m-%d %H:%i:%s')  as \"createTime\",";
            }else {
                sql+="  to_char(t.create_time,'yyyy-MM-dd HH24:mi:ss') as \"createTime\",";
            }
        }else{
            sql+="date_format(t.create_time, '%Y-%m-%d %H:%i:%s')  as \"createTime\",";
        }
        sql+= "t.create_user as \"createUser\"," +
                "t.create_user_name as \"createUserName\"," +
                "t.doctor as \"doctor\"," +
                "t.doctor_name as \"doctorName\"," +
                "t.is_del as \"isDel\"," +
                "t.img_url as \"imgUrl\"" +
                "from base_doctor_suggest t where t.is_del ='1'";
        if (StringUtils.isNoneBlank(doctor)){
            sql+=" and t.doctor='"+doctor+"'";
        }
        if (StringUtils.isNoneBlank(patient)){
            sql+=" and t.create_user='"+patient+"'";
        }
        if (StringUtils.isNoneBlank(doctorName)){
            sql+=" and t.doctor_name like '%"+doctorName+"%'";
        }
        if (StringUtils.isNoneBlank(patientName)){
            sql+=" and t.create_user_name like '%"+patientName+"%'";
        }if (StringUtils.isNoneBlank(suggestType)){
            sql+=" and t.suggest_type='"+suggestType+"'";
        }if (StringUtils.isNoneBlank(relationType)){
            sql+=" and t.relation_type='"+relationType+"'";
        }if (StringUtils.isNoneBlank(keyWord)){
            sql+=" and t.suggest_content like '%"+keyWord+"%'";
        }
        if (StringUtils.isNotBlank(startTime)){
            if("xm_ykyy_wx".equals(wxId)){
                if (flag){
                    sql+=" and t.create_time > '"+startTime+"'";
                }else {
                    sql+=" and t.create_time > to_date('" + startTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
                }
            }else{
                sql+=" and t.create_time > '"+startTime+"'";
            }
        }
        if (StringUtils.isNotBlank(endTime)){
            if("xm_ykyy_wx".equals(wxId)){
                if (flag){
                    sql+="  and t.create_time<='" + endTime + "'";
                }else {
                    sql+="  and t.create_time<= to_date('" + endTime + "','yyyy-mm-dd hh24:mi:ss')";
                }
            }else{
                sql+="  and t.create_time<='" + endTime + "'";
            }
        }
        sql+=" order by t.create_time desc ";
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
        String sqlcount = "SELECT COUNT(1) AS \"total\" FROM ("+sql+") q";
        Long count = 0L;
        List<Map<String,Object>> total = hibenateUtils.createSQLQuery(sqlcount);
        if(total!=null){
            //mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
            count = hibenateUtils.objTransformLong(total.get(0).get("total"));
        }
        mixEnvelop.setTotalCount(count.intValue());
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setCurrPage(page);
        return mixEnvelop;
    }
    public BaseDoctorSuggestDO findById(String id){
        return baseDoctorSuggestDao.findOne(id);
    }
}

+ 22 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/HospitalDao.java

@ -0,0 +1,22 @@
package com.yihu.jw.hospital;
import com.yihu.jw.entity.hospital.DmHospitalDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface HospitalDao extends PagingAndSortingRepository<DmHospitalDO, Integer>, JpaSpecificationExecutor<DmHospitalDO> {
    @Query("from DmHospitalDO t where t.town=?1 and t.del='1'")
    List<DmHospitalDO> findByTownCode(String town, Pageable pageRequest);
    @Query("from DmHospitalDO t where t.code=?1 and t.del='1'")
    DmHospitalDO findByCode(String code);
    boolean existsByCode(String code);
}

+ 14 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/consult/dao/BaseAdviceTreatmentDao.java

@ -0,0 +1,14 @@
package com.yihu.jw.hospital.consult.dao;
import com.yihu.jw.entity.hospital.consult.WlyyDoctorClinicRoomDO;
import com.yihu.jw.entity.hospital.prescription.BaseAdviceTreatmentDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface BaseAdviceTreatmentDao   extends PagingAndSortingRepository<BaseAdviceTreatmentDO, String>, JpaSpecificationExecutor<BaseAdviceTreatmentDO> {
    @Query("from BaseAdviceTreatmentDO t where t.relationCode=?1")
    List<BaseAdviceTreatmentDO> findByRelationCode(String outpatientId);
}

+ 5 - 4
business/base-service/src/main/java/com/yihu/jw/hospital/dict/WlyyChargeDictDao.java

@ -13,14 +13,15 @@ import java.util.List;
 */
@Transactional
public interface WlyyChargeDictDao extends PagingAndSortingRepository<WlyyChargeDictDO, String>, JpaSpecificationExecutor<WlyyChargeDictDO> {
    @Query("from WlyyChargeDictDO t where t.deptTypeCode=?1 and t.isDel='1'")
    List<WlyyChargeDictDO>  findByDeptTypeCode(String deptTypeCode);
    @Query("from WlyyChargeDictDO d where 1=1 ")
    @Query("from WlyyChargeDictDO d where 1=1 and d.isDel='1'")
    List<WlyyChargeDictDO>  findAllDict();
    @Query("from WlyyChargeDictDO t where t.chargeType=?1 and t.deptTypeCode=?2 and t.isDel='1'")
    WlyyChargeDictDO  findByChargeTypeAndDeptTypeCode(String chargeType,String deptTypeCode);
    @Query("from WlyyChargeDictDO t where t.chargeType=?1  and t.isDel='1'")
    WlyyChargeDictDO  findByChargeType(String chargeType);
    @Query("from WlyyChargeDictDO d where d.reqFee = ?1 ")
    @Query("from WlyyChargeDictDO d where d.reqFee = ?1 and d.isDel='1' ")
    WlyyChargeDictDO  findByReqFee(Double reqFee);
}

+ 9 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/httplog/dao/BaseOperateLogDao.java

@ -0,0 +1,9 @@
package com.yihu.jw.hospital.httplog.dao;
import com.yihu.jw.entity.hospital.httplog.BaseOperateLogDO;
import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseOperateLogDao extends PagingAndSortingRepository<BaseOperateLogDO, String>, JpaSpecificationExecutor<BaseOperateLogDO> {
}

+ 127 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/httplog/service/BaseOperateLogService.java

@ -0,0 +1,127 @@
package com.yihu.jw.hospital.httplog.service;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.hospital.httplog.BaseOperateLogDO;
import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
import com.yihu.jw.hospital.httplog.dao.BaseOperateLogDao;
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Service
public class BaseOperateLogService extends BaseJpaService<BaseOperateLogDO, BaseOperateLogDao> {
    @Autowired
    private BaseOperateLogDao baseOperateLogDao;
    @Autowired
    private BasePatientDao basePatientDao;
    @Autowired
    private BaseDoctorDao baseDoctorDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Value("${wechat.id}")
    private String wxId;
    @Value("${wechat.flag}")
    private boolean flag;
    public void saveOperateLog(String operator,String patient,String code,String name,String relationType,String relationCode){
        BaseOperateLogDO baseOperateLogDO=new BaseOperateLogDO();
        BaseDoctorDO baseDoctorDO=baseDoctorDao.findById(operator);
        baseOperateLogDO.setOperator(operator);
        baseOperateLogDO.setPatient(patient);
        baseOperateLogDO.setCode(code);
        baseOperateLogDO.setName(name);
        baseOperateLogDO.setRelationType(relationType);
        baseOperateLogDO.setCreateTime(new Date());
        baseOperateLogDO.setIsDel("1");
        if (baseDoctorDO!=null){
            baseOperateLogDO.setOperatorName(baseDoctorDO.getName());
        }
        BasePatientDO basePatientDO=basePatientDao.findById(patient);
        if (basePatientDO!=null){
            baseOperateLogDO.setPatientName(basePatientDO.getName());
        }
        baseOperateLogDao.save(baseOperateLogDO);
    }
    public MixEnvelop  findOperateLogList(String code,String name,String patientName,String doctorName,String startTime,String endTime,Integer page,Integer pageSize){
        MixEnvelop mixEnvelop = new MixEnvelop();
        String sql ="select t.id as \"id\"," +
                " t.code as \"code\"," +
                " t.name as \"name\"," +
                " t.operator as \"operator\"," +
                " t.operator_name as \"operator_name\"," +
                " t.patient as \"patient\"," +
                " t.patient_name as \"patient_name\"," ;
        if("xm_ykyy_wx".equals(wxId)){
            if (flag){
                sql+="date_format(t.create_time, '%Y-%m-%d %H:%i:%s')  as \"createTime\",";
            }else {
                sql+="  to_char(t.create_time,'yyyy-MM-dd HH24:mi:ss') as \"createTime\",";
            }
        }else{
            sql+="date_format(t.create_time, '%Y-%m-%d %H:%i:%s')  as \"createTime\",";
        }
        sql+= " t.relation_type as \"relation_type\"," +
                " t.relation_code as \"relation_code\"" +
                " from base_operate_log t where t.is_del='1'";
        if (StringUtils.isNoneBlank(code)){
            sql+=" and t.code='"+code+"'";
        }
        if (StringUtils.isNoneBlank(name)){
            sql+=" and t.name like '%"+name+"%'";
        }
        if (StringUtils.isNoneBlank(patientName)){
            sql+=" and t.patient_name like '%"+patientName+"%'";
        }
        if (StringUtils.isNoneBlank(doctorName)){
            sql+=" and t.operator_name like '%"+doctorName+"%'";
        }
        if (StringUtils.isNotBlank(startTime)){
            if("xm_ykyy_wx".equals(wxId)){
                if (flag){
                    sql+=" and t.create_time > '"+startTime+"'";
                }else {
                    sql+=" and t.create_time > to_date('" + startTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
                }
            }else{
                sql+=" and t.create_time > '"+startTime+"'";
            }
        }
        if (StringUtils.isNotBlank(endTime)){
            if("xm_ykyy_wx".equals(wxId)){
                if (flag){
                    sql+="  and t.create_time<='" + endTime + "'";
                }else {
                    sql+="  and t.create_time<= to_date('" + endTime + "','yyyy-mm-dd hh24:mi:ss')";
                }
            }else{
                sql+="  and t.create_time<='" + endTime + "'";
            }
        }
        sql+=" order by t.create_time desc ";
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
        String sqlcount = "SELECT COUNT(1) AS \"total\" FROM ("+sql+") q";
        Long count = 0L;
        List<Map<String,Object>> total = hibenateUtils.createSQLQuery(sqlcount);
        if(total!=null){
            //mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
            count = hibenateUtils.objTransformLong(total.get(0).get("total"));
        }
        mixEnvelop.setTotalCount(count.intValue());
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setCurrPage(page);
        return mixEnvelop;
    }
}

+ 82 - 7
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/InspectionService.java

@ -1,23 +1,27 @@
package com.yihu.jw.hospital.prescription.service;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.prescription.WlyyInspectionDO;
import com.yihu.jw.entity.hospital.prescription.WlyyInspectionPartsDictDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionDO;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.hospital.consult.dao.BaseAdviceTreatmentDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.prescription.dao.InspectionPartsDictDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionDao;
import com.yihu.jw.hospital.prescription.dao.WlyyInspectionDao;
import com.yihu.jw.hospital.httplog.service.BaseOperateLogService;
import com.yihu.jw.hospital.prescription.dao.*;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -27,7 +31,7 @@ import java.util.Map;
@Service
@Transactional
public class InspectionService extends BaseJpaService<WlyyInspectionDO, WlyyInspectionDao> {
    private static final Logger logger = LoggerFactory.getLogger(InspectionService.class);
    @Value("${demo.flag}")
    private boolean demoFlag;
    @Autowired
@ -38,6 +42,16 @@ public class InspectionService extends BaseJpaService<WlyyInspectionDO, WlyyInsp
    private EntranceService entranceService;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private BaseOperateLogService baseOperateLogService;
    @Autowired
    private BaseAdviceTreatmentDao baseAdviceTreatmentDao;
    @Autowired
    private PrescriptionInfoDao prescriptionInfoDao;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private OutpatientDao outpatientDao;
    public List<WlyyInspectionPartsDictDO> findByPartsCode(String parentCode) {
        return inspectionPartsDictDao.findByParentCode(parentCode);
@ -79,5 +93,66 @@ public class InspectionService extends BaseJpaService<WlyyInspectionDO, WlyyInsp
        mixEnvelop.setCurrPage(page);
        return mixEnvelop;
    }
    public BaseAdviceTreatmentDO saveTreatment(String json,String adviceJson) throws Exception{
        BaseAdviceTreatmentDO baseAdviceTreatmentDO=objectMapper.readValue(adviceJson,BaseAdviceTreatmentDO.class);
        baseAdviceTreatmentDO.setDel(1);
        baseAdviceTreatmentDO.setCreateTime(new Date());
        baseAdviceTreatmentDO=baseAdviceTreatmentDao.save(baseAdviceTreatmentDO);
        if (StringUtils.isNotBlank(json)) {
            //药品
            List<WlyyPrescriptionInfoDO> infoDOs = (List<WlyyPrescriptionInfoDO>) com.alibaba.fastjson.JSONArray.parseArray(json, WlyyPrescriptionInfoDO.class);
            for (WlyyPrescriptionInfoDO info : infoDOs) {
                info.setDel(1);
                info.setPrescriptionId(baseAdviceTreatmentDO.getId());
            }
            //保存药品信息
            prescriptionInfoDao.save(infoDOs);
            logger.info("123");
            Double price = getInfoFee(infoDOs);
            logger.info("12312313213" + price);
            //计算药品费用
            baseAdviceTreatmentDO.setDrugFee(price);
            baseAdviceTreatmentDao.save(baseAdviceTreatmentDO);
        }
        WlyyOutpatientDO wlyyOutpatientDO=outpatientDao.findById(baseAdviceTreatmentDO.getRelationCode());
        if(wlyyOutpatientDO!=null){
            wlyyOutpatientDO.setIcd10Name(baseAdviceTreatmentDO.getDiagnosisName());
            wlyyOutpatientDO.setStatus("2");
            wlyyOutpatientDO.setAdvice(baseAdviceTreatmentDO.getTreatment());
            outpatientDao.save(wlyyOutpatientDO);
        }
        return baseAdviceTreatmentDO;
    }
    /**
     * 计算药品费用
     *
     * @param infoDOs
     * @return
     */
    public Double getInfoFee(List<WlyyPrescriptionInfoDO> infoDOs) {
        DecimalFormat df = new DecimalFormat("#.00");
        Double fee = 0D;
        if (infoDOs != null && infoDOs.size() > 0) {
            for (WlyyPrescriptionInfoDO info : infoDOs) {
                logger.error("getInfoFee===========Quantity:" + info.getQuantity());
                /*      Integer quantity = Integer.parseInt(info.getQuantity());*/
                logger.error("getInfoFee===========PackRetprice:" + info.getPackRetprice());
                /*   fee += info.getPackRetprice() * quantity;*/
                logger.error("getInfoFee===========:" + fee);
                BigDecimal total = new BigDecimal(0);
                BigDecimal quantity = new BigDecimal(info.getQuantity());
                BigDecimal price = new BigDecimal(info.getPackRetprice());
                total = total.add(quantity.multiply(price));
                Double f1 = total.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                fee += f1;
            }
            logger.error("getInfoFee===========:" + fee);
        }
        return fee;
    }
}

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

@ -51,6 +51,7 @@ import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.entity.ylzinfo.OauthYlzConfigDO;
import com.yihu.jw.file_upload.FileUploadService;
import com.yihu.jw.hospital.consult.dao.BaseAdviceTreatmentDao;
import com.yihu.jw.hospital.consult.dao.HospitalWaitingRoomDao;
import com.yihu.jw.hospital.consult.dao.WlyyConsultAdviceDao;
import com.yihu.jw.hospital.dict.WlyyChargeDictDao;
@ -60,6 +61,7 @@ import com.yihu.jw.hospital.doctor.dao.PatientRegisterTimeDao;
import com.yihu.jw.hospital.doctor.dao.WlyyDoctorOnlineTimeDao;
import com.yihu.jw.hospital.drugstore.dao.BaseDrugStoreDao;
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
import com.yihu.jw.hospital.httplog.service.BaseOperateLogService;
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.hospital.mapping.dao.PatientMappingDao;
import com.yihu.jw.hospital.mapping.service.DoctorMappingService;
@ -313,6 +315,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    HikariDataSource dataSource;
    @Autowired
    private BaseSensitiveDao baseSensitiveDao;
    @Autowired
    private BaseOperateLogService baseOperateLogService;
    @Autowired
    private BaseAdviceTreatmentDao baseAdviceTreatmentDao;
    @Value("${demo.flag}")
    private boolean demoFlag;
@ -339,20 +345,22 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }
        logger.info("findOutpatientList patNo " + patNo);
        List<WlyyOutpatientVO> wlyyOutpatientVOList  =  entranceService.BS30025(patNo, null, startTime, endTime, demoFlag,ksdm);
        if (!ksdm.equalsIgnoreCase("1500010")){
            List<WlyyOutpatientVO> wlyyOutpatientVOList1  =  entranceService.BS30025(patNo, null, startTime, endTime, demoFlag,"1500010");
            if (wlyyOutpatientVOList!=null&&wlyyOutpatientVOList.size()!=0){
                if(wlyyOutpatientVOList1!=null&&wlyyOutpatientVOList1.size()!=0){
                    for (WlyyOutpatientVO wlyyOutpatientVO:wlyyOutpatientVOList1){
                        logger.info("==="+wlyyOutpatientVO);
                        if (wlyyOutpatientVO!=null){
                            wlyyOutpatientVOList.add(wlyyOutpatientVO);
        if (StringUtils.isNoneBlank(ksdm)){
            if (!ksdm.equalsIgnoreCase("1500010")){
                List<WlyyOutpatientVO> wlyyOutpatientVOList1  =  entranceService.BS30025(patNo, null, startTime, endTime, demoFlag,"1500010");
                if (wlyyOutpatientVOList!=null&&wlyyOutpatientVOList.size()!=0){
                    if(wlyyOutpatientVOList1!=null&&wlyyOutpatientVOList1.size()!=0){
                        for (WlyyOutpatientVO wlyyOutpatientVO:wlyyOutpatientVOList1){
                            logger.info("==="+wlyyOutpatientVO);
                            if (wlyyOutpatientVO!=null){
                                wlyyOutpatientVOList.add(wlyyOutpatientVO);
                            }
                        }
                    }
                }else {
                    wlyyOutpatientVOList = new ArrayList<>();
                    wlyyOutpatientVOList = wlyyOutpatientVOList1;
                }
            }else {
                wlyyOutpatientVOList = new ArrayList<>();
                wlyyOutpatientVOList = wlyyOutpatientVOList1;
            }
        }
        return wlyyOutpatientVOList;
@ -656,82 +664,95 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        } else {
            prescriptionDOs = prescriptionDao.findByOutpatientId(outpatientId);
        }
        List<WlyyPrescriptionVO> prescriptionVOs = new ArrayList<>();
        List<BusinessOrderDO> businessOrders = new ArrayList<>();
        BusinessOrderDO businessOrder = new BusinessOrderDO();
        if (prescriptionDOs != null && prescriptionDOs.size() > 0) {
            convertToModels(prescriptionDOs, prescriptionVOs, WlyyPrescriptionVO.class);
            for (WlyyPrescriptionVO vo : prescriptionVOs) {
                List<WlyyPrescriptionCheckDO> prescriptionCheckDO = prescriptionCheckDao.findByPrescriptionId(vo.getId());
                //疾病信息
                vo.setDiagnosisVOs(findDiagnosisById(vo.getId()));
                if(null!=prescriptionCheckDO&&prescriptionCheckDO.size()>0){
                    vo.setDispUser(prescriptionCheckDO.get(0).getOperate());
                    vo.setDispUserName(prescriptionCheckDO.get(0).getOperateName());
                }
                //药品信息
                List<WlyyPrescriptionInfoVO> infoVOs = new ArrayList<>();
                System.out.println("=====PrescriptionId======"+vo.getId());
                convertToModels(prescriptionInfoDao.findByPrescriptionId(vo.getId(), 1), infoVOs, WlyyPrescriptionInfoVO.class);
                vo.setInfoVOs(infoVOs);
                //检查检验信息
                List<WlyyInspectionVO> inspectionVOs = new ArrayList<>();
                vo.setInspectionVOs(convertToModels(wlyyInspectionDao.findByPrescriptionId(vo.getId(), 1), inspectionVOs, WlyyInspectionVO.class));
                if (wxId.equalsIgnoreCase("xm_zsyy_wx")) {
                    WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                    if (wlyyPrescriptionEmrDO1 != null) {
                        vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                    } else {
                        WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO = readOutPatientXml(outpatientDO.getOriginRegisterNo());
                        //电子病历
                        vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO);
        if (!"2".equalsIgnoreCase(outpatientDO.getOutpatientType())){
            List<WlyyPrescriptionVO> prescriptionVOs = new ArrayList<>();
            List<BusinessOrderDO> businessOrders = new ArrayList<>();
            BusinessOrderDO businessOrder = new BusinessOrderDO();
            if (prescriptionDOs != null && prescriptionDOs.size() > 0) {
                convertToModels(prescriptionDOs, prescriptionVOs, WlyyPrescriptionVO.class);
                for (WlyyPrescriptionVO vo : prescriptionVOs) {
                    List<WlyyPrescriptionCheckDO> prescriptionCheckDO = prescriptionCheckDao.findByPrescriptionId(vo.getId());
                    //疾病信息
                    vo.setDiagnosisVOs(findDiagnosisById(vo.getId()));
                    if(null!=prescriptionCheckDO&&prescriptionCheckDO.size()>0){
                        vo.setDispUser(prescriptionCheckDO.get(0).getOperate());
                        vo.setDispUserName(prescriptionCheckDO.get(0).getOperateName());
                    }
                } else if (wxId.equalsIgnoreCase("xm_xzzx_wx")) {
                    WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                    if (wlyyPrescriptionEmrDO1 != null) {
                        vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                    } else {
                        List<WlyyPrescriptionEmrDO> listEmr = xzzxEntranceService.selectHistoryEmr(hisPatient,"");
                        if (null!=listEmr&&listEmr.size()>0){
                            vo.setWlyyPrescriptionEmrDO(listEmr.get(0));
                    //药品信息
                    List<WlyyPrescriptionInfoVO> infoVOs = new ArrayList<>();
                    System.out.println("=====PrescriptionId======"+vo.getId());
                    convertToModels(prescriptionInfoDao.findByPrescriptionId(vo.getId(), 1), infoVOs, WlyyPrescriptionInfoVO.class);
                    vo.setInfoVOs(infoVOs);
                    //检查检验信息
                    List<WlyyInspectionVO> inspectionVOs = new ArrayList<>();
                    vo.setInspectionVOs(convertToModels(wlyyInspectionDao.findByPrescriptionId(vo.getId(), 1), inspectionVOs, WlyyInspectionVO.class));
                    if (wxId.equalsIgnoreCase("xm_zsyy_wx")) {
                        WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                        if (wlyyPrescriptionEmrDO1 != null) {
                            vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                        } else {
                            WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO = readOutPatientXml(outpatientDO.getOriginRegisterNo());
                            //电子病历
                            vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO);
                        }
                    } else if (wxId.equalsIgnoreCase("xm_xzzx_wx")) {
                        WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                        if (wlyyPrescriptionEmrDO1 != null) {
                            vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                        } else {
                            List<WlyyPrescriptionEmrDO> listEmr = xzzxEntranceService.selectHistoryEmr(hisPatient,"");
                            if (null!=listEmr&&listEmr.size()>0){
                                vo.setWlyyPrescriptionEmrDO(listEmr.get(0));
                            }
                        }
                    }else {
                        WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                        if (wlyyPrescriptionEmrDO1 != null) {
                            vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                        }
                    }
                }else {
                    WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                    if (wlyyPrescriptionEmrDO1 != null) {
                        vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                    //支付信息
                    BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(vo.getId());
                    if (null!=businessOrderDO){
                        businessOrders.add(businessOrderDO);
                    }
                }
                //支付信息
                BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(vo.getId());
                if (null!=businessOrderDO){
                    businessOrders.add(businessOrderDO);
                }
            }
            rs.put("prescriptions", prescriptionVOs);
            rs.put("businessOrder", businessOrders);
        }
        rs.put("prescriptions", prescriptionVOs);
        rs.put("businessOrder", businessOrders);
            //物流信息
            List<WlyyPrescriptionExpressageDO> expressageDOs = prescriptionExpressageDao.findByOutpatientId(outpatientId);
            if (expressageDOs != null && expressageDOs.size() > 0) {
                rs.put("expressage", convertToModel(expressageDOs.get(0), WlyyPrescriptionExpressageVO.class));
            } else {
                rs.put("expressage", null);
            }
        //物流信息
        List<WlyyPrescriptionExpressageDO> expressageDOs = prescriptionExpressageDao.findByOutpatientId(outpatientId);
        if (expressageDOs != null && expressageDOs.size() > 0) {
            rs.put("expressage", convertToModel(expressageDOs.get(0), WlyyPrescriptionExpressageVO.class));
        } else {
            rs.put("expressage", null);
            //物流配送新
            List<WlyyPrescriptionExpressageLogDO> expressageLogDOs = prescriptionExpressageLogDao.queryByOutpatientIdOrderByCreateTimeDesc(outpatientId);
            List<WlyyPrescriptionExpressageLogVO> expressageLogVOs = new ArrayList<>();
            if (expressageLogDOs != null && expressageLogDOs.size() > 0) {
                rs.put("expressageLogs", convertToModels(expressageLogDOs, expressageLogVOs, WlyyPrescriptionExpressageLogVO.class));
            } else {
                rs.put("expressageLogs", null);
            }
        }else {
            List<BaseAdviceTreatmentDO>  treatmentDOS=baseAdviceTreatmentDao.findByRelationCode(outpatientId);
            if (treatmentDOS!=null&&treatmentDOS.size()>0){
                //药品
                List<WlyyPrescriptionInfoDO> infoDOList=prescriptionInfoDao.findByPrescriptionId(treatmentDOS.get(0).getId(), 1);
                treatmentDOS.get(0).setInfoList(infoDOList);
                rs.put("treatments",treatmentDOS.get(0));
            }else{
                rs.put("treatments","");
            }
        }
        //物流配送新
        List<WlyyPrescriptionExpressageLogDO> expressageLogDOs = prescriptionExpressageLogDao.queryByOutpatientIdOrderByCreateTimeDesc(outpatientId);
        List<WlyyPrescriptionExpressageLogVO> expressageLogVOs = new ArrayList<>();
        if (expressageLogDOs != null && expressageLogDOs.size() > 0) {
            rs.put("expressageLogs", convertToModels(expressageLogDOs, expressageLogVOs, WlyyPrescriptionExpressageLogVO.class));
        } else {
            rs.put("expressageLogs", null);
        }
        //预约记录
        List<WlyyPatientRegisterTimeDO> timeDOs = patientRegisterTimeDao.findByOutpatientId(outpatientId);
@ -1734,29 +1755,15 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                        "\td.req_fee as \"xtzxFee\"\n" +
                        "FROM\n" +
                        "\tbase_doctor t\n" +
                        "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict d ON t.twzx_charge_type = d.charge_type\n" +
                        " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                        "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                        "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                        "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                        "LEFT JOIN wlyy_charge_dict d ON t.twzx_charge_type = d.charge_type and d.is_del='1'\n" +
                        " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                        "WHERE t.id = '"+doctor.get("id")+"' ";
                chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
                /*if (null!=doctor.get("chargeType")){
                    String chargeTypeList = doctor.get("chargeType").toString();
                    if (chargeType.contains(",")){
                        chargeTypeList = chargeType.replace(",","','");
                    }
                    String sqlCharge = "select charge_type as \"chargeType\",charge_name as \"chargeName\"," +
                            "req_fee  as \"reqFee\",zj_fee  as \"zjFee\",xt_fee  as \"xtFee\",dept_type_code as \"deptTypeCode\" " +
                            " from wlyy_charge_dict where 1=1";
                    sqlCharge+=" and charge_type in ( '"+chargeTypeList+"')";
                    if (StringUtils.isNoneBlank(deptTyepCode)){
                        sqlCharge+=" and dept_type_code in ( '"+deptTyepCode+"')";
                    }
                    chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
                }*/
                doctor.put("chargeTypeList",chargeDictDOLists);
            }
            if (StringUtils.isNotBlank(doctorCode)) {
@ -3759,39 +3766,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            rs.put("sex",doctorDO.getSex());
            rs.put("popularity",doctorDO.getPopularity());
            rs.put("qrcode",doctorDO.getQrcode());
            //号别
            /*String deptTyepCode = "";
            if ("xm_zsyy_wx".equalsIgnoreCase(wechatId)){
                deptTyepCode = "6";
                List<BaseDoctorHospitalDO> depts = baseDoctorHospitalDao.findByDoctorCode(doctor);
                if (null!=depts&&depts.size()>0){
                    BaseDoctorHospitalDO baseDoctorHospitalDO = depts.get(0);
                    String deptcode =  baseDoctorHospitalDO.getDeptCode();
                    String hosptitalCode = baseDoctorHospitalDO.getOrgCode();
                    List<DictHospitalDeptDO> dictHospitalDeptDO = dictHospitalDeptDao.findByOrgCodeAndCode(hosptitalCode,deptcode);
                    if(null!=dictHospitalDeptDO&&dictHospitalDeptDO.size()>0){
                        if (StringUtils.isNotBlank(dictHospitalDeptDO.get(0).getDeptTypeCode())){
                            deptTyepCode = dictHospitalDeptDO.get(0).getDeptTypeCode();
                        }
                    }
                }
            }*/
            List<Map<String,Object>> chargeDictDOLists = new ArrayList<>();
            /*String chargeType = doctorDO.getChargeType();
            if (StringUtils.isNotBlank(chargeType)){
                if (chargeType.contains(",")){
                    chargeType = chargeType.replace(",","','");
                }
                String sqlCharge = "select charge_type as \"chargeType\",charge_name as \"chargeName\"," +
                        "req_fee  as \"reqFee\",zj_fee  as \"zjFee\",xt_fee  as \"xtFee\",dept_type_code as \"deptTypeCode\" " +
                        " from wlyy_charge_dict where 1=1";
                sqlCharge+=" and charge_type in ( '"+chargeType+"')";
                if (StringUtils.isNoneBlank(deptTyepCode)){
                    sqlCharge+=" and dept_type_code in ( '"+deptTyepCode+"')";
                }
                chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
            }*/
            String sqlCharge = "SELECT\n" +
                    "\tm.req_fee as \"twfzFee\",\n" +
                    "\ta.req_fee as \"spfzFee\",\n" +
@ -3801,12 +3776,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    "\td.req_fee as \"xtzxFee\"\n" +
                    "FROM\n" +
                    "\tbase_doctor t\n" +
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                    "WHERE t.id = '"+doctorDO.getId()+"' ";
            chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
            //System.out.println(chargeDictDOLists.get(1));
@ -4090,13 +4065,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    "\td.req_fee as \"xtzxFee\"\n" +
                    "FROM\n" +
                    "\tbase_doctor t\n" +
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n" +
                    "WHERE t.id = '"+doctorDO.getId()+"' ";
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                    "WHERE t.id = '"+doctorDO.getId()+"'";
            chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
            rs.put("chargeTypeList",chargeDictDOLists);
            //机构科室信息
@ -4209,6 +4184,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            }
            else if("2".equalsIgnoreCase(wlyyOutpatientDO.getType())&&"3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())){
                type="17";
            }else if("2".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())){
                type="12";
            }
            description = "居民取消";
            if (StringUtils.isNoneBlank(type)){
@ -4393,24 +4370,33 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                contentMsg = "您发起的视频咨询已被"+outpatientDO.getDoctorName()+"接诊,请留意医生发送的消息。";
                first = outpatientDO.getConsumerName() + ",您好!您发起的视频咨询,医生已接诊";
            }
            if ("12".equals(type)) {
                contentMsg = "您发起的专科协同已被"+outpatientDO.getDoctorName()+"接诊,请留意医生发送的消息。";
                first = outpatientDO.getConsumerName() + ",您好!您发起的专科协同,医生已接诊";
                return;
            }
            if ("15".equals(type)) {
                contentMsg = "您发起的家医咨询已被"+outpatientDO.getDoctorName()+"接诊,请留意医生发送的消息。";
                first = outpatientDO.getConsumerName() + ",您好!您发起的家医咨询,医生已接诊";
            }
            logger.info("doctorPick诊查费支付成功推送模板消息:outpatientId="+outpatientId);
            msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
        } else if("doctorRefund".equalsIgnoreCase(titelType)) {
            if ("9".equals(type)) {
                contentMsg = "您的图文复诊订单已退号。由于订单退号,诊察费将退回就诊卡内余额。";
                contentMsg = "您的图文复诊订单已退号。由于订单退号,诊察费将退回本院就诊卡内。";
                first = outpatientDO.getConsumerName() + ",您好!您的图文复诊已退号";
            }
            if ("16".equals(type)) {
                contentMsg =  "您的视频复诊订单已退号。由于订单退号,诊察费将退回就诊卡内余额。";
                first = outpatientDO.getConsumerName() + ",您好!您发起的视频复诊已退号";
                contentMsg =  "您的视频复诊订单已退号。由于订单退号,诊察费将退回本院就诊卡内。";
                first = outpatientDO.getConsumerName() + ",您好!您的视频复诊已退号";
            }
            if ("1".equals(type)) {
                contentMsg =  "您的图文咨询订单已退号。由于订单退号,诊察费将退回就诊卡内余额。";
                first = outpatientDO.getConsumerName() + ",您好!您发起的图文咨询已退号";
                contentMsg =  "您的图文咨询订单已退号。由于订单退号,诊察费将退回本院就诊卡内。";
                first = outpatientDO.getConsumerName() + ",您好!您的图文咨询已退号";
            }
            if ("17".equals(type)) {
                contentMsg = "您的视频咨询订单已退号。由于订单退号,诊察费将退回就诊卡内余额。";
                first = outpatientDO.getConsumerName() + ",您好!您发起的视频咨询已退号";
                contentMsg = "您的视频咨询订单已退号。由于订单退号,诊察费将退回本院就诊卡内。";
                first = outpatientDO.getConsumerName() + ",您好!您的视频咨询已退号";
            }
            logger.info("doctorRefund:outpatientId="+outpatientId);
            msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
@ -4431,6 +4417,9 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                contentMsg = "您发起的视频咨询已被您取消。由于订单取消将不做扣费处理。";
                first = outpatientDO.getConsumerName() + ",您好!您的视频咨询已被您取消,您可重新发起";
            }
            if ("12".equals(type)) {
                return;
            }
            logger.info("patientCancel诊查费支付成功推送模板消息:outpatientId="+outpatientId);
            msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
        }else if("systemCancelRemind".equalsIgnoreCase(titelType)){
@ -4457,8 +4446,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                first = outpatientDO.getConsumerName() + ",您好!您有一笔未完成的在线问诊订单,请及时处理。";//您有一个视频复诊订单待支付,请及时支付。
                msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
                logger.info("视频复诊订单待支付微信消息模板推送开始");
            }
            if ("1".equals(type)) {
            }else if ("1".equals(type)) {
                contentMsg = "您有一个图文咨询订单待支付,点击完成支付,如您已支付请忽略本条信息";
                msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
                first = outpatientDO.getConsumerName() + ",您好!您有一个图文咨询订单待支付,请及时支付。";
@ -4468,23 +4456,24 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
                first =  outpatientDO.getConsumerName() + ",您好!您有一个视频咨询订单待支付,请及时支付。";
                logger.info("视频咨询订单待支付微信消息模板推送开始");
            }else {
                return;
            }
        } else if ("paySuccess".equalsIgnoreCase(titelType)) {
            if ("9".equals(type)) {
                contentMsg = "您已成功发起图文复诊,请耐心等待医生接单。如长时间未接诊,建议选择其他医生";
                first = outpatientDO.getConsumerName() + ",您好!您已成功发起图文复诊";
            }
            if ("16".equals(type)) {
            }else if ("16".equals(type)) {
                contentMsg =  "您已成功发起视频复诊,请耐心等待医生接单。如长时间未接诊,建议选择其他医生";
                first = outpatientDO.getConsumerName() + ",您好!您已成功发起视频复诊";
            }
            if ("1".equals(type)) {
            }else if ("1".equals(type)) {
                contentMsg =  "您已成功发起图文咨询,请耐心等待医生接单。如长时间未接诊,建议选择其他医生";
                first = outpatientDO.getConsumerName() + ",您好!您已成功发起图文咨询";
            }
            if ("17".equals(type)) {
            }else if ("17".equals(type)) {
                contentMsg = "您已成功发起视频咨询,请耐心等待医生接单。如长时间未接诊,建议选择其他医生";
                first = outpatientDO.getConsumerName() + ",您好!您已成功发起视频咨询";
            }else {
                return;
            }
            logger.info("paySuccess诊查费支付成功推送模板消息:outpatientId="+outpatientId);
            msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
@ -4532,18 +4521,17 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            if (consultTeam.getType()!=null&&1==consultTeam.getType()){
                first = consultTeam.getName() + ",您好!您有1条图文咨询已结束,请及时对咨询医生进行评价。";
                logger.info("图文咨询服务评价微信消息模板推送开始");
            }
            if (consultTeam.getType()!=null&&9==consultTeam.getType()){
            }else if (consultTeam.getType()!=null&&9==consultTeam.getType()){
                first = consultTeam.getName() + ",您好!您有1条图文复诊已结束,请及时对咨询医生进行评价。";
                logger.info("图文复诊服务评价微信消息模板推送开始");
            }
            if (consultTeam.getType()!=null&&16==consultTeam.getType()){
            }else if (consultTeam.getType()!=null&&16==consultTeam.getType()){
                first = consultTeam.getName() + ",您好!您有1条视频复诊已结束,请及时对咨询医生进行评价。";
                logger.info("视频复诊服务评价微信消息模板推送开始");
            }
            if (consultTeam.getType()!=null&&17==consultTeam.getType()){
            }else if (consultTeam.getType()!=null&&17==consultTeam.getType()){
                first = consultTeam.getName() + ",您好!您有1条视频咨询已结束,请及时对咨询医生进行评价。";
                logger.info("视频咨询服务评价微信消息模板推送开始");
            }else {
                return;
            }
            contentMsg = "请对" + consDoctorDO.getName() + "医生的服务进行评价";
            msgUrl="/ims-wx/index.html#/fuwupingjia?consultCode="+consultTeam.getConsult();
@ -5225,8 +5213,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            //根据身份证计算年龄
            for (Map<String, Object> outpatient : list) {
                String idcard = (String) outpatient.get("idcard");
                int patientAge = 0;
                int patientSex = 3;
                Integer patientAge = 0;
                Integer patientSex = 3;
                if (null!=outpatient.get("outPatient")){
                   BasePatientDO basePatientDO = basePatientDao.findById(outpatient.get("outPatient").toString());
                   if (null!=basePatientDO){
@ -5895,13 +5883,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                "\td.req_fee as \"xtzxFee\"\n" +
                "FROM\n" +
                "\t  ("+sql+")  t \n" +
                "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n"+
                " where t.id is not null ";
                "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n"+
                " where t.id is not null";
        List<Map<String,Object>> chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge, params);
        //查询医生各项评价平均分
        String sqlscore = "select t.doctor as \"id\" ,sum(t.score)/3 as\"score\" from ("+
@ -6246,13 +6234,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    "\td.req_fee as \"xtzxFee\"\n" +
                    "FROM\n" +
                    "\tbase_doctor t\n" +
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n" +
                    "WHERE t.id = '"+map.get("id")+"' ";
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                    "WHERE t.id = '"+map.get("id")+"'";
            chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
            map.put("chargeTypeList",chargeDictDOLists);
            //查询医生各项评价平均分
@ -9547,7 +9535,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
     * @return
     * @throws Exception
     */
    public net.sf.json.JSON outpatient(String patient) throws Exception {
    public net.sf.json.JSON outpatient(String patient,String doctorId) throws Exception {
        try {
            baseOperateLogService.saveOperateLog(doctorId,patient,"EMR","住院病历","","");
        }catch (Exception e){
            e.printStackTrace();
        }
        PatientMappingDO mappingDO = patientMappingDao.findByPatient(patient);
        String url = "";
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = hospitalSysDictDao.findById("HAI_TAI_OUTPATIENT_URL");
@ -9571,6 +9564,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        XMLSerializer xmlSerializer = new XMLSerializer();
        net.sf.json.JSON json = xmlSerializer.read(returnValue);
        logger.info("返回json" + json);
        return json;
    }
@ -10772,6 +10766,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                                    chargeDictDO.setReqFee(twPrcie1);
                                    chargeDictDO.setChargeType(twPrcie+"");
                                    chargeDictDO.setChargeName(twPrcie+"");
                                    chargeDictDO.setIsDel("1");
                                    chargeDictDO = wlyyChargeDictDao.save(chargeDictDO);
                                }
                                doctorDO.setTwzxChargeType(chargeDictDO.getChargeType());
@ -10809,6 +10804,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                                    chargeDictDO.setReqFee(spPrcie1);
                                    chargeDictDO.setChargeType(spPrcie+"");
                                    chargeDictDO.setChargeName(spPrcie+"");
                                    chargeDictDO.setIsDel("1");
                                    chargeDictDO = wlyyChargeDictDao.save(chargeDictDO);
                                }
                                doctorDO.setSpzxChargeType(chargeDictDO.getChargeType());
@ -10888,6 +10884,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                            chargeDictDO.setReqFee(price1);
                            chargeDictDO.setChargeType(price + "");
                            chargeDictDO.setChargeName(price + "");
                            chargeDictDO.setIsDel("1");
                            chargeDictDO = wlyyChargeDictDao.save(chargeDictDO);
                        }
                        doctorDO.setTwzxChargeType(chargeDictDO.getChargeType());
@ -10907,6 +10904,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                            chargeDictDO.setReqFee(price1);
                            chargeDictDO.setChargeType(price + "");
                            chargeDictDO.setChargeName(price + "");
                            chargeDictDO.setIsDel("1");
                            chargeDictDO = wlyyChargeDictDao.save(chargeDictDO);
                        }
                        doctorDO.setSpzxChargeType(chargeDictDO.getChargeType());
@ -12659,5 +12657,4 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            return "";
        }
    }
}

+ 1 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java

@ -1822,6 +1822,7 @@ public class EntranceService {
                            wlyyChargeDictDO.setDeptTypeCode(winNo);
                            Double free = null == jsonObjectBody.get("req_fee") ? 0 : Double.parseDouble(jsonObjectBody.get("req_fee").toString());
                            wlyyChargeDictDO.setReqFee(free);
                            wlyyChargeDictDO.setIsDel("1");
                            wlyyChargeDictDO.setCreateTime(new Date());
                            map.put(chareCode + "_" + winNo, chareName);
                            wlyyChargeDictDO = wlyyChargeDictDao.save(wlyyChargeDictDO);

+ 16 - 9
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/XzzxEntranceService.java

@ -132,7 +132,8 @@ public class XzzxEntranceService{
    private static String key="bvvsf3JA0mUXMU+mVnMaOQ==";
    //发送微信模板消息
    public static String sendMessageUrl ="http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage";
    /*@Value("${wechat.url}")*/
    private String sendMessageUrl="http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage";
    public static String entranceUrl = "http://172.16.100.240:10023/xzzx/";
    public static String entranceUrlLocal = "http://localhost:10023/xzzx/";
@ -1162,7 +1163,7 @@ public class XzzxEntranceService{
     * @return
     * @throws Exception
     */
    public String GetDrugDict(String spellCode)throws Exception{
    public String GetDrugDict(String spellCode,String drugNo)throws Exception{
        String api = "GetDrugDict";
        String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
                "<root> " +
@ -1172,9 +1173,12 @@ public class XzzxEntranceService{
                "   <certificate>"+key+"</certificate> " +
                "</root>";
        String condition ="";
        if (!StringUtils.isEmpty(spellCode)){
        if (!StringUtils.isEmpty(spellCode)&&!"null".equalsIgnoreCase(spellCode)){
            condition += "<spell_code>"+spellCode+"</spell_code>";
        }
        if (!StringUtils.isEmpty(drugNo)&&!"null".equalsIgnoreCase(drugNo)){
            condition += "<physic_code>"+drugNo+"</physic_code>";
        }
        String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>"+condition+"</root>";
@ -3057,9 +3061,9 @@ public class XzzxEntranceService{
     * @param spellCode 拼音码
     * @return
     */
    public JSONArray selectDrugDict(String spellCode) throws Exception {
    public JSONArray selectDrugDict(String spellCode,String drugNo) throws Exception {
        String response="";
        String url = entranceUrl+"getDrugDict?spellCode="+spellCode;
        String url = entranceUrl+"getDrugDict?spellCode="+spellCode+"&drugNo="+drugNo;
        response = httpClientUtil.get(url,"GBK");
        JSONObject object = JSONObject.parseObject(response);
        JSONArray jsonArray = new JSONArray();
@ -3080,7 +3084,7 @@ public class XzzxEntranceService{
                object1.put("pack_size",jsonObject.getString("PACK_SPEC"));
                object1.put("retprice",jsonObject.getString("RETAIL_PRICE"));
                object1.put("specification",jsonObject.getString("PHYSIC_SPEC"));
                object1.put("pack_retprice",jsonObject.getString(" "));
                object1.put("pack_retprice",jsonObject.getString("RETAIL_PRICE"));
                object1.put("stock_amount",jsonObject.getString("QUANTITY"));
                object1.put("visible_flag",jsonObject.getString("VALID_FLAG"));
                object1.put("drug_flag",jsonObject.getString("OTC_FLAG"));
@ -3091,9 +3095,12 @@ public class XzzxEntranceService{
                object1.put("vol_unit","");
                object1.put("mini_unit_name",jsonObject.getString("PHYSIC_UNIT"));
                DecimalFormat df =new DecimalFormat("0.00");
                Double packSize=Double.parseDouble(jsonObject.get("PACK_SPEC")==null?"1":jsonObject.getString("PACK_SPEC"));
                Double retprice=Double.parseDouble(jsonObject.get("RETAIL_PRICE")==null?"0":jsonObject.getString("RETAIL_PRICE"));
                Double miniUnitPrice=retprice/packSize;
                Double packSize=Double.parseDouble(jsonObject.get("PACK_SPEC").toString().equals("[]")?"1":jsonObject.getString("PACK_SPEC"));
                Double retprice=Double.parseDouble(jsonObject.get("RETAIL_PRICE").toString().equals("[]")?"0":jsonObject.getString("RETAIL_PRICE"));
                Double miniUnitPrice=0.00;
                if (0.00!=packSize){
                    miniUnitPrice=retprice/packSize;
                }
                object1.put("mini_unit_price",df.format(miniUnitPrice));
                object1.put("pack_unit_name",jsonObject.getString("PRICE_UNIT"));
                object1.put("weigh_unit_name",jsonObject.getString("DOSE_UNIT"));

+ 19 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyyAdminTeamDao.java

@ -0,0 +1,19 @@
package com.yihu.jw.hospital.team.dao;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface WlyyAdminTeamDao extends PagingAndSortingRepository<WlyyAdminTeamDO, Integer>, JpaSpecificationExecutor<WlyyAdminTeamDO> {
    @Query("from WlyyAdminTeamDO  t where t.orgCode=?1 and t.available=1")
    List<WlyyAdminTeamDO> findTeamByOrgCode(String orgCode, Pageable pageRequest);
    @Query("from WlyyAdminTeamDO  t where t.available=1")
    List<WlyyAdminTeamDO> findTeamAndAvailable();
}

+ 16 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyyAdminTeamMemberDao.java

@ -0,0 +1,16 @@
package com.yihu.jw.hospital.team.dao;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamMemberDO;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import javax.persistence.criteria.CriteriaBuilder;
import java.util.List;
public interface WlyyAdminTeamMemberDao extends PagingAndSortingRepository<WlyyAdminTeamMemberDO, Integer>, JpaSpecificationExecutor<WlyyAdminTeamMemberDO> {
    @Query("from WlyyAdminTeamMemberDO t where t.teamId=?1 and t.available=1")
    List<WlyyAdminTeamMemberDO> findByTeamId(Long teamId, Pageable pageRequest);
}

+ 12 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyySignFamilyDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.hospital.team.dao;
import com.yihu.jw.entity.door.SignFamily;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface WlyySignFamilyDao extends PagingAndSortingRepository<SignFamily, Integer>, JpaSpecificationExecutor<SignFamily> {
    @Query("select count(*) from SignFamily  t where t.doctor=?1 and t.status=1")
    Integer getCountByDoctorCode(String doctor);
}

+ 115 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/team/service/WlyyAdminTeamService.java

@ -0,0 +1,115 @@
package com.yihu.jw.hospital.team.service;
import com.tencentcloudapi.tci.v20190318.models.Person;
import com.yihu.jw.area.dao.BaseTownDao;
import com.yihu.jw.entity.base.area.BaseTownDO;
import com.yihu.jw.entity.hospital.DmHospitalDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamMemberDO;
import com.yihu.jw.hospital.HospitalDao;
import com.yihu.jw.hospital.team.dao.WlyyAdminTeamDao;
import com.yihu.jw.hospital.team.dao.WlyyAdminTeamMemberDao;
import com.yihu.jw.hospital.team.dao.WlyySignFamilyDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class WlyyAdminTeamService {
    @Autowired
    private WlyyAdminTeamDao wlyyAdminTeamDao;
    @Autowired
    private WlyyAdminTeamMemberDao wlyyAdminTeamMemberDao;
    @Autowired
    private HospitalDao hospitalDao;
    @Autowired
    private WlyySignFamilyDao wlyySignFamilyDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private BaseTownDao baseTownDao;
    //查询机构
    public MixEnvelop findHospitalByTown(String townCode,Integer page,Integer pageSize){
        PageRequest pageRequest = new PageRequest(page-1,pageSize);
        MixEnvelop mixEnvelop = new MixEnvelop();
        List<DmHospitalDO> list =null;
        list = hospitalDao.findByTownCode(townCode,pageRequest);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setTotalCount(list==null?0:list.size());
        return mixEnvelop;
    }
    //查询团队
    public MixEnvelop findTeamByOrg(String cityCode,String townCode,String orgCode,Integer page,Integer pageSize){
        String sql ="select t.id as \"id\"," +
                "t.name as \"name\"," +
                "t.create_time as \"createTime\"," +
                "t.leader_code as \"leaderCode\"," +
                "t.leader_name as \"leaderName\"," +
                "t.org_code as \"orgCode\"," +
                "t.member_count as \"memberCount\"," +
                "b.name as \"orgName\"," +
                "t.accept_type as \"acceptType\"," +
                "t.special_code as \"specialCode\"," +
                "t.special_name as \"specialName\"," +
                "t.available as \"available\"" +
                " from wlyy_admin_team t inner join dm_hospital b on t.org_code = b.code where t.available=1";
        PageRequest pageRequest = new PageRequest(page-1,pageSize);
        MixEnvelop mixEnvelop = new MixEnvelop();
        if (StringUtils.isNoneBlank(townCode)){
           sql+=" and b.town ='"+townCode+"'";
        }else {
            sql+=" and b.city ='"+cityCode+"'";
        }
        if (StringUtils.isNoneBlank(orgCode)){
            sql+=" and t.org_code ='"+orgCode+"'";
        }
        List<Map<String ,Object>>list= hibenateUtils.createSQLQuery(sql,page,pageSize);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setTotalCount(list==null?0:list.size());
        return mixEnvelop;
    }
    //查询团队下的医生
    public MixEnvelop findDoctorByTeam(String teamCode,Integer page,Integer pageSize){
        PageRequest pageRequest = new PageRequest(page-1,pageSize);
        MixEnvelop mixEnvelop = new MixEnvelop();
        List<WlyyAdminTeamMemberDO> list = wlyyAdminTeamMemberDao.findByTeamId(Long.parseLong(teamCode),pageRequest);
        for (WlyyAdminTeamMemberDO wlyyAdminTeamMemberDO:list){
            /*Integer count = wlyySignFamilyDao.getCountByDoctorCode(wlyyAdminTeamMemberDO.getDoctorCode());
            wlyyAdminTeamMemberDO.setSignNum(count==null?0:count);*/
            WlyyAdminTeamDO wlyyAdminTeamDO = wlyyAdminTeamDao.findOne(wlyyAdminTeamMemberDO.getTeamId().intValue());
            if (wlyyAdminTeamDO != null) {
                if (wlyyAdminTeamDO.getLeaderCode().equalsIgnoreCase(wlyyAdminTeamMemberDO.getDoctorCode())) {
                    wlyyAdminTeamMemberDO.setTeamLeader(true);
                    wlyyAdminTeamMemberDO.setTeamLeaderOrder(1);
                }else {
                    wlyyAdminTeamMemberDO.setTeamLeaderOrder(0);
                }
            }else {
                wlyyAdminTeamMemberDO.setTeamLeaderOrder(0);
            }
        }
        list=list.stream().sorted(Comparator.comparing(WlyyAdminTeamMemberDO::getTeamLeaderOrder).reversed()).collect(Collectors.toList());
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setTotalCount(list==null?0:list.size());
        return mixEnvelop;
    }
    public List<BaseTownDO> findTownByCity(String city){
       return baseTownDao.findByCityCode(city);
    }
}

+ 10 - 1
business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java

@ -17,6 +17,8 @@ import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.hospital.httplog.dao.BaseOperateLogDao;
import com.yihu.jw.hospital.httplog.service.BaseOperateLogService;
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
@ -86,6 +88,8 @@ public class WlyyBusinessService {
    private BasePatientMedicareCardDao patientMedicareCardDao;
    @Autowired
    private XzzxEntranceService xzzxEntranceService;
    @Autowired
    private BaseOperateLogService baseOperateLogService;
    /**
@ -275,7 +279,7 @@ public class WlyyBusinessService {
     * @return
     * @throws Exception
     */
    public String wlyyGetPatientAccetokenByIdcard(String patientId,String wxId) throws Exception {
    public String wlyyGetPatientAccetokenByIdcard(String patientId,String wxId,String doctorId) throws Exception {
        
        String idcard = "";
        String result = "";
@ -396,6 +400,11 @@ public class WlyyBusinessService {
                    throw new Exception("请求i健康接口失败");
                }
            }
            try {
                baseOperateLogService.saveOperateLog(doctorId,patientId,"JKDA","健康档案","","");
            }catch (Exception e){
                e.printStackTrace();
            }
        }else {
            throw new Exception("该居民不存在");
        }

+ 45 - 0
business/base-service/src/main/java/com/yihu/jw/wlyy/wlyyhttp/WlyyHttpService.java

@ -95,6 +95,51 @@ public class WlyyHttpService {
        }
        return null;
    }
    /**
     * @param configId 配置ID
     * @param param key为param,的参数
     * @return
     */
    public JSONObject sendWlyyMesGet(String configId,String param) {
        try{
            OauthWlyyConfigDO oauthWlyyConfigDO = oauthWlyyConfigDao.findOne(configId);
            //token获取accesstoken
            List<NameValuePair> params = new ArrayList<>();
            params.add(new BasicNameValuePair("appid", oauthWlyyConfigDO.getAppId()));
            params.add(new BasicNameValuePair("appSecret", oauthWlyyConfigDO.getAppSecret()));
            String res = httpClientUtil.post(oauthWlyyConfigDO.getTokenUrl(), params, "UTF-8");
            String token = null;
            JSONObject rsjson = JSONObject.parseObject(res);
            logger.info("sendWlyyMes token :" + rsjson.toString());
            Integer status = rsjson.getInteger("status");
            if (status == 10000) {
                //设置头部
                token = rsjson.getJSONObject("result").getString("accesstoken");
                Map<String,Object> headerMap = new HashedMap();
                headerMap.put("accesstoken",token);
                logger.info("sendWlyyMes url :"+oauthWlyyConfigDO.getUrl()+param);
                String rs = httpClientUtil.get(oauthWlyyConfigDO.getUrl()+param,"utf-8",headerMap);
                JSONObject re = JSONObject.parseObject(rs);
                Integer s = re.getInteger("status");
                if(s == 200){
                    return re;
                }else{
                    return null;
                }
            }else{
                return null;
            }
        }catch (Exception e){
            logger.error("sendWlyyMes error:"+e.toString());
        }
        return null;
    }
    
}

+ 0 - 1
business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java

@ -3748,7 +3748,6 @@ public class StatisticsEsService {
            List<SaveModel> total = elasticsearchUtil.findListDateQuotaLevel1(startDate, endDate, area, level, index1, SaveModel.timeLevel_ZL, null,lowCode);
            //已结束
            List<SaveModel> endTotal = elasticsearchUtil.findListDateQuotaLevel2(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL, null,lowCode,"3");
            logger.info("total"+total==null?"0":String.valueOf(total.size())+";"+total.get(0).getResult1());
            //已接诊
            List<SaveModel> haveReceiveTotal = elasticsearchUtil.findListDateQuotaLevel2(startDate, endDate, area, level, index1, SaveModel.timeLevel_ZL, null,lowCode,"1");
            //未接诊

+ 124 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorSuggestDO.java

@ -0,0 +1,124 @@
package com.yihu.jw.entity.base.doctor;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
@Entity
@Table(name = "base_doctor_suggest")
public class BaseDoctorSuggestDO extends UuidIdentityEntity {
    private String suggestType;
    private String suggestName;
    private String suggestContent;
    private String relationCode;
    private String relationType;
    private Date createTime;
    private String createUser;
    private String createUserName;
    private String doctor;
    private String doctorName;
    private String isDel;
    private String imgUrl;
    @Column(name = "suggest_type")
    public String getSuggestType() {
        return suggestType;
    }
    public void setSuggestType(String suggestType) {
        this.suggestType = suggestType;
    }
    @Column(name = "suggest_name")
    public String getSuggestName() {
        return suggestName;
    }
    public void setSuggestName(String suggestName) {
        this.suggestName = suggestName;
    }
    @Column(name = "suggest_content")
    public String getSuggestContent() {
        return suggestContent;
    }
    public void setSuggestContent(String suggestContent) {
        this.suggestContent = suggestContent;
    }
    @Column(name = "relation_code")
    public String getRelationCode() {
        return relationCode;
    }
    public void setRelationCode(String relationCode) {
        this.relationCode = relationCode;
    }
    @Column(name = "relation_type")
    public String getRelationType() {
        return relationType;
    }
    public void setRelationType(String relationType) {
        this.relationType = relationType;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    @Column(name = "create_user_name")
    public String getCreateUserName() {
        return createUserName;
    }
    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }
    @Column(name = "doctor")
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
    @Column(name = "img_url")
    public String getImgUrl() {
        return imgUrl;
    }
    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }
}

+ 156 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/DmHospitalDO.java

@ -0,0 +1,156 @@
package com.yihu.jw.entity.hospital;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 医院
 *
 * @author George
 */
@Entity
@Table(name = "dm_hospital")
public class DmHospitalDO extends IntegerIdentityEntity {
	private static final long serialVersionUID = 8039389705624435301L;
	private String code;            // 医院編碼
	private String name;	        // 医院名稱
	private String del;             // 作废标志
	private String province;        //省份标志
	private String provinceName;    //省份名称
	private String city;            //城市标志
	private String cityName;        //城市名称
	private String town;            //区县标志
	private String townName;        //区县名称
	private Integer level;          //级别,1医院,2社区医院
	private String address;         //医院详细地址
	private String intro;           //医院简介
	private String photo;           //医院图片
	private String roadCode;        //街道编码
	private String centerSite;      //中心/站点
	public String getDel() {
		return del;
	}
	public void setDel(String del) {
		this.del = del;
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getProvince() {
		return province;
	}
	public void setProvince(String province) {
		this.province = province;
	}
	public String getProvinceName() {
		return provinceName;
	}
	public void setProvinceName(String provinceName) {
		this.provinceName = provinceName;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	public String getCityName() {
		return cityName;
	}
	public void setCityName(String cityName) {
		this.cityName = cityName;
	}
	public String getTown() {
		return town;
	}
	public void setTown(String town) {
		this.town = town;
	}
	public String getTownName() {
		return townName;
	}
	public void setTownName(String townName) {
		this.townName = townName;
	}
	public Integer getLevel() {
		return level;
	}
	public void setLevel(Integer level) {
		this.level = level;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getIntro() {
		return intro;
	}
	public void setIntro(String intro) {
		this.intro = intro;
	}
	public String getPhoto() {
		return photo;
	}
	public void setPhoto(String photo) {
		this.photo = photo;
	}
	@Column(name="road_code")
	public String getRoadCode() {
		return roadCode;
	}
	public void setRoadCode(String roadCode) {
		this.roadCode = roadCode;
	}
	@Column(name="center_site")
	public String getCenterSite() {
		return centerSite;
	}
	public void setCenterSite(String centerSite) {
		this.centerSite = centerSite;
	}
}

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

@ -22,7 +22,15 @@ public class WlyyChargeDictDO extends UuidIdentityEntity {
    private Date createTime;
    /**6总部7金榜8夏禾*/
    private String deptTypeCode;
    private String isDel;
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
    public String getChargeType() {
        return chargeType;

+ 106 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/httplog/BaseOperateLogDO.java

@ -0,0 +1,106 @@
package com.yihu.jw.entity.hospital.httplog;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
@Entity
@Table(name = "base_operate_log")
public class BaseOperateLogDO extends UuidIdentityEntity {
    private String code;
    private String name;
    private String operator;
    private String operatorName;
    private String patient;
    private String patientName;
    private Date createTime;
    private String relationType;
    private String relationCode;
    private String isDel;
    @Column(name = "code")
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "operator")
    public String getOperator() {
        return operator;
    }
    public void setOperator(String operator) {
        this.operator = operator;
    }
    @Column(name = "operator_name")
    public String getOperatorName() {
        return operatorName;
    }
    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    @Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    @Column(name = "relation_type")
    public String getRelationType() {
        return relationType;
    }
    public void setRelationType(String relationType) {
        this.relationType = relationType;
    }
    @Column(name = "relation_code")
    public String getRelationCode() {
        return relationCode;
    }
    public void setRelationCode(String relationCode) {
        this.relationCode = relationCode;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
}

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/httplog/WlyyHttpLogDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.hospital.httplog;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
@ -80,6 +81,7 @@ public class WlyyHttpLogDO extends UuidIdentityEntity {
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name="create_time")
    public Date getCreateTime() {
        return createTime;
    }

+ 141 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/BaseAdviceTreatmentDO.java

@ -0,0 +1,141 @@
package com.yihu.jw.entity.hospital.prescription;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;
/**
* 治疗建议
*
* @author Administrator on  2019年05月16日
*
*/
@Entity
@Table(name = "base_advice_treatment")
public class BaseAdviceTreatmentDO extends UuidIdentityEntity {
    /**
     * 关联outpatientid
     */
    private String relationCode;
    /**
     * 1可用 0删除
     */
    private Integer del;
    /**
     * 诊断编码
     */
    private String diagnosis;
    /**
     * 诊断名称
     */
    private String diagnosisName;
    /**
     * 检查
     */
    private String inspection;
    /**
     * 治疗建议
     */
    private String treatment;
    private Double drugFee;
    private String check;
    private Date createTime;
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    @Transient
    private List<WlyyPrescriptionInfoDO> infoList;
    @Transient
    public List<WlyyPrescriptionInfoDO> getInfoList() {
        return infoList;
    }
    public void setInfoList(List<WlyyPrescriptionInfoDO> infoList) {
        this.infoList = infoList;
    }
    @Column(name = "check_treat")
    public String getCheck() {
        return check;
    }
    public void setCheck(String check) {
        this.check = check;
    }
    @Column(name = "drug_fee")
    public Double getDrugFee() {
        return drugFee;
    }
    public void setDrugFee(Double drugFee) {
        this.drugFee = drugFee;
    }
    @Column(name = "relation_code")
    public String getRelationCode() {
        return relationCode;
    }
    public void setRelationCode(String relationCode) {
        this.relationCode = relationCode;
    }
    @Column(name = "diagnosis")
    public String getDiagnosis() {
        return diagnosis;
    }
    public void setDiagnosis(String diagnosis) {
        this.diagnosis = diagnosis;
    }
    @Column(name = "diagnosis_name")
    public String getDiagnosisName() {
        return diagnosisName;
    }
    public void setDiagnosisName(String diagnosisName) {
        this.diagnosisName = diagnosisName;
    }
    @Column(name = "inspection")
    public String getInspection() {
        return inspection;
    }
    public void setInspection(String inspection) {
        this.inspection = inspection;
    }
    @Column(name = "treatment")
    public String getTreatment() {
        return treatment;
    }
    public void setTreatment(String treatment) {
        this.treatment = treatment;
    }
    @Column(name = "del")
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
}

+ 146 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/team/WlyyAdminTeamDO.java

@ -0,0 +1,146 @@
package com.yihu.jw.entity.hospital.team;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import javax.persistence.criteria.CriteriaBuilder;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * Created by yww on 2016/11/15.
 */
@Entity
@Table(name = "wlyy_admin_team")
@EntityListeners(AuditingEntityListener.class)
public class WlyyAdminTeamDO implements Serializable {
    private Integer id;
    private static final long serialVersionUID = 1L;
    private String name;            //团队名称
    private Date createTime;              //创建时间
    private Integer available;
    private String orgCode;
    private String orgName;
    private String leaderCode;
    private String leaderName;
    private String mappingCode;
    private String mappingName;
    private Date lastModified;
    private String memberCount;
    @Id
    @Column(name = "id")
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getMemberCount() {
        return memberCount;
    }
    public void setMemberCount(String memberCount) {
        this.memberCount = memberCount;
    }
    //不对应表中字段
    private List<WlyyAdminTeamMemberDO> memberList = new ArrayList<>();
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Integer getAvailable() {
        return available;
    }
    public void setAvailable(Integer available) {
        this.available = available;
    }
    @Column(name = "org_code")
    public String getOrgCode() {
        return orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    @Transient
    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    @Column(name = "leader_code")
    public String getLeaderCode() {
        return leaderCode;
    }
    public void setLeaderCode(String leaderCode) {
        this.leaderCode = leaderCode;
    }
    @Column(name = "leader_name")
    public String getLeaderName() {
        return leaderName;
    }
    public void setLeaderName(String leaderName) {
        this.leaderName = leaderName;
    }
    @Column(name = "mapping_code")
    public String getMappingCode() {
        return mappingCode;
    }
    public void setMappingCode(String mappingCode) {
        this.mappingCode = mappingCode;
    }
    @Transient
    public String getMappingName() {
        return mappingName;
    }
    public void setMappingName(String mappingName) {
        this.mappingName = mappingName;
    }
    @Column(name = "last_modified")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getLastModified() {
        return lastModified;
    }
    public void setLastModified(Date lastModified) {
        this.lastModified = lastModified;
    }
    @Transient
    public List<WlyyAdminTeamMemberDO> getMemberList() {
        return memberList;
    }
    public void setMemberList(List<WlyyAdminTeamMemberDO> memberList) {
        this.memberList = memberList;
    }
}

+ 168 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/team/WlyyAdminTeamMemberDO.java

@ -0,0 +1,168 @@
package com.yihu.jw.entity.hospital.team;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
/**
 * Created by yww on 2016/11/15.
 */
@Entity
@Table(name = "wlyy_admin_team_member")
public class WlyyAdminTeamMemberDO extends IntegerIdentityEntity {
    private static final long serialVersionUID = 1L;
    private Long teamId;
    private String doctorCode;
    private Date joinTime;
    private Integer available;
    private Date lastModified;
    private String photo;
    private String idcard;
    //不对应表字段
    private String doctorName;
    private String mobile;
    private String jobName;
    private Integer level;
    private String levelName;
    private boolean teamLeader;
    private Integer teamLeaderOrder;
    private Integer signNum;
    @Transient
    public Integer getTeamLeaderOrder() {
        return teamLeaderOrder;
    }
    public void setTeamLeaderOrder(Integer teamLeaderOrder) {
        this.teamLeaderOrder = teamLeaderOrder;
    }
    @Column(name = "photo")
    public String getPhoto() {
        return photo;
    }
    public void setPhoto(String photo) {
        this.photo = photo;
    }
    @Transient
    public Integer getSignNum() {
        return signNum;
    }
    public void setSignNum(Integer signNum) {
        this.signNum = signNum;
    }
    @Column(name = "idcard")
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    @Transient
    public boolean isTeamLeader() {
        return teamLeader;
    }
    public void setTeamLeader(boolean teamLeader) {
        this.teamLeader = teamLeader;
    }
    @Column(name = "team_id")
    public Long getTeamId() {
        return teamId;
    }
    public void setTeamId(Long teamId) {
        this.teamId = teamId;
    }
    @Column(name = "doctor_code")
    public String getDoctorCode() {
        return doctorCode;
    }
    public void setDoctorCode(String doctorCode) {
        this.doctorCode = doctorCode;
    }
    @Column(name = "join_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getJoinTime() {
        return joinTime;
    }
    public void setJoinTime(Date joinTime) {
        this.joinTime = joinTime;
    }
    public Integer getAvailable() {
        return available;
    }
    public void setAvailable(Integer available) {
        this.available = available;
    }
    @Column(name = "last_modified")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getLastModified() {
        return lastModified;
    }
    public void setLastModified(Date lastModified) {
        this.lastModified = lastModified;
    }
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @Transient
    public String getMobile() {
        return mobile;
    }
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    @Transient
    public String getJobName() {
        return jobName;
    }
    public void setJobName(String jobName) {
        this.jobName = jobName;
    }
    @Transient
    public Integer getLevel() {
        return level;
    }
    public void setLevel(Integer level) {
        this.level = level;
    }
    @Transient
    public String getLevelName() {
        return levelName;
    }
    public void setLevelName(String levelName) {
        this.levelName = levelName;
    }
}

+ 1 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -228,6 +228,7 @@ public class BaseRequestMapping {
        public static final String findAllMenu  = "/findAllMenu";
        public static final String findMenuByParentId  = "/findMenuByParentId";
        public static final String findArticleByMenuId= "/findArticleByMenuId";
        public static final String queryById= "/queryById";
    }

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

@ -1306,6 +1306,15 @@ public class BaseHospitalRequestMapping {
        public static final String changeIsRead = "/changeIsRead";
    }
    /**
     * 医生反馈建议
     */
    public static class DoctorSuggest extends Basic{
        public static final String saveSuggest  = "/saveSuggest";
        public static final String findSuggestList  = "/findSuggestList";
        public static final String findOne  = "/findOne";
        public static final String baseDoctorSuggest  = "/baseDoctorSuggest";
    }
    /**
     * 背景展示
     */

+ 34 - 19
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/PostFilter.java

@ -7,6 +7,7 @@ import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import com.yihu.jw.entity.base.dict.BaseExceptionLogDO;
import com.yihu.jw.entity.base.dict.BaseExceptionServerDictDO;
import com.yihu.jw.entity.hospital.prescription.BaseAdviceTreatmentDO;
import com.yihu.jw.gateway.AesEncryptUtils;
import com.yihu.jw.gateway.methlog.BaseExceptionService;
@ -83,31 +84,44 @@ public class PostFilter extends ZuulFilter {
                break;
            }
        }
        net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(body);
        String status =jsonObject.getString("status");
        if (!"200".equalsIgnoreCase(status)){
            jsonObject.put("status",serviceId+status);
            BaseExceptionLogDO baseExceptionLogDO = new BaseExceptionLogDO();
            baseExceptionLogDO.setCreateTime(new Date());
            List<Map<String,Object>> list = baseExceptionService.findExceptionDict("",status,"","1");
            if (list!=null&&list.size()>0){
                responseCode=serviceId+list.get(0).get("code").toString();
                exceptionType = list.get(0).get("exceptionType").toString();
                baseExceptionLogDO.setExceptionType(exceptionType);
                baseExceptionLogDO.setServiceCode(serviceId);
                baseExceptionLogDO.setExceptionCode(responseCode);
                try {
        try {
            net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(body);
            String status =jsonObject.getString("status");
            if (!"200".equalsIgnoreCase(status)){
                jsonObject.put("status",serviceId+status);
                BaseExceptionLogDO baseExceptionLogDO = new BaseExceptionLogDO();
                baseExceptionLogDO.setCreateTime(new Date());
                List<Map<String,Object>> list = baseExceptionService.findExceptionDict("",status,"","1");
                if (list!=null&&list.size()>0){
                    responseCode=serviceId+list.get(0).get("code").toString();
                    exceptionType = list.get(0).get("exceptionType").toString();
                    baseExceptionLogDO.setExceptionType(exceptionType);
                    baseExceptionLogDO.setServiceCode(serviceId);
                    baseExceptionLogDO.setExceptionCode(responseCode);
                    try {
                        String  in = ctx.getRequest().getParameter("object");
                        String jsonobject = AesEncryptUtils.decrypt(in);
                        baseExceptionLogDO.setRequest(jsonobject);
                        baseExceptionLogDO.setResponse(jsonObject.toString());
                        baseExceptionLogDao.save(baseExceptionLogDO);
                    }catch (Exception s){
                        s.printStackTrace();
                    }
                }else {
                    String  in = ctx.getRequest().getParameter("object");
                    String jsonobject = AesEncryptUtils.decrypt(in);
                    baseExceptionLogDO.setRequest(jsonobject);
                    String requestParam = AesEncryptUtils.decrypt(in);
                    baseExceptionLogDO.setRequest(requestParam);
                    baseExceptionLogDO.setExceptionType("其他异常");
                    baseExceptionLogDO.setServiceCode(serviceId);
                    baseExceptionLogDO.setExceptionCode(status);
                    baseExceptionLogDO.setResponse(jsonObject.toString());
                    baseExceptionLogDao.save(baseExceptionLogDO);
                }catch (Exception s){
                    s.printStackTrace();
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        JSONObject object = new JSONObject();
        object.put("status","200");
        object.put("data", AesEncryptUtils.encrypt(body));
@ -129,5 +143,6 @@ public class PostFilter extends ZuulFilter {
        return null;
 
    }
 
}

+ 4 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/dao/menu/BaseMenuShowDao.java

@ -11,8 +11,8 @@ public interface BaseMenuShowDao  extends PagingAndSortingRepository<BaseMenuSho
    @Modifying
    @Query("update BaseMenuShowDO p set p.isDel=?2 where p.id=?1")
    BaseMenuShowDO updateStatus(String id,String status);
    @Query( value = "select max(t.menu_sort) AS \"zuida\" from base_menu_show t where t.is_del='1'",nativeQuery = true)
    Integer getMaxSort();
    @Query( value = "select min(t.menu_sort) AS \"zuixiao\" from base_menu_show t where t.is_del='1'",nativeQuery = true)
    Integer getMinSort();
    @Query( value = "select max(t.menu_sort) AS \"zuida\" from base_menu_show t where t.is_del='1' and t.model_id=?1",nativeQuery = true)
    Integer getMaxSort(String modelId);
    @Query( value = "select min(t.menu_sort) AS \"zuixiao\" from base_menu_show t where t.is_del='1' and t.model_id=?1",nativeQuery = true)
    Integer getMinSort(String modelId);
}

+ 8 - 18
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/article/ArticleEndpoint.java

@ -108,9 +108,9 @@ public class ArticleEndpoint extends EnvelopRestEndpoint {
				}
			}else {
				if(StringUtils.isBlank(filters)){
					filters=filters+"del=1"+";createUser='"+userId+"'";
					filters=filters+"del=1"+";createUser="+userId+"";
				}else{
					filters=filters+";del=1"+";createUser='"+userId+"'";
					filters=filters+";del=1"+";createUser="+userId+"";
				}
			}
			List<KnowledgeArticleDictDO> list  = knowledgeArticleService.search(fields,filters,sorts,page,pageSize);
@ -150,22 +150,12 @@ public class ArticleEndpoint extends EnvelopRestEndpoint {
	public Envelop queryByCode(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam(value = "id", required = true)String id) throws Exception{
			try {
				KnowledgeArticleDictDO articleDO = knowledgeArticleService.retrieve(id);
				KnowledgeArticleUserDO knowledgeArticleUserDO = knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(articleDO.getId(),getUID());
				if (knowledgeArticleUserDO!=null){
					articleDO.setIsUsed(knowledgeArticleUserDO.getUsed());
					articleDO.setKnowledgeArticleUserDO(knowledgeArticleUserDO);
				}
				List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(articleDO.getCreateUser());
				if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
					articleDO.setHospitalName(doctorHospitalDOS.get(0).getOrgName());
					articleDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
				}
				return success(articleDO);
			}catch (Exception e){
				return failedException(e);
			}
		try {
			KnowledgeArticleDictDO articleDO = knowledgeArticleService.retrieve(id);
			return success(articleDO);
		}catch (Exception e){
			return failedException(e);
		}
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.deleteById)

+ 17 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/menu/BaseMenuNoLoginEndpoint.java

@ -1,9 +1,12 @@
package com.yihu.jw.base.endpoint.menu;
import com.yihu.jw.base.service.article.KnowledgeArticleService;
import com.yihu.jw.base.service.menu.BaseMenuManageService;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -19,6 +22,8 @@ import org.springframework.web.bind.annotation.RestController;
public class BaseMenuNoLoginEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseMenuManageService menuService;
    @Autowired
    private KnowledgeArticleService knowledgeArticleService;
    @GetMapping(value = BaseRequestMapping.MenuNologin.findAllMenu)
    @ApiOperation(value = "查询首页列表")
    public Envelop findMenuShowByKey(
@ -61,5 +66,17 @@ public class BaseMenuNoLoginEndpoint extends EnvelopRestEndpoint {
            return failedException(e);
        }
    }
    @GetMapping(value = BaseRequestMapping.MenuNologin.queryById)
    @ApiOperation(value = "根据id查询文章")
    public Envelop queryByCode(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true)String id) throws Exception{
        try {
            KnowledgeArticleDictDO articleDO = knowledgeArticleService.retrieve(id);
            return success(articleDO);
        }catch (Exception e){
            return failedException(e);
        }
    }
}

+ 11 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/service/menu/BaseMenuManageService.java

@ -18,6 +18,7 @@ import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import org.apache.commons.lang3.StringUtils;
@ -477,6 +478,9 @@ public class BaseMenuManageService {
                " t.create_time as \"createTime\"," +
                " t.menu_sort as \"menuSort\"," +
                " t.style_code as \"styleCode\"," +
                " m.bg_img as \"bgImg\"," +
                " m.menu_title as \"menuTitle\"," +
                " m.describtion as \"describtion\"," +
                " t.style_name as \"styleName\" " +
                " from base_menu_show t left join " +
                " base_menu_dict m on t.menu_id= m.id" +
@ -491,6 +495,7 @@ public class BaseMenuManageService {
                " t.is_del as \"isDel\"," +
                " t.create_time as \"createTime\"," +
                " t.menu_sort as \"menuSort\"," +
                " m.link_url as \"linkUrl\"," +
                " t.style_code as \"styleCode\"," +
                " m.status as \"status\"," +
                " t.style_name as \"styleName\" " +
@ -524,7 +529,7 @@ public class BaseMenuManageService {
     */
    public BaseMenuShowDO downMenuShow(String id) throws Exception{
        BaseMenuShowDO baseMenuShowDO= baseMenuShowDao.findOne(id);
        int maxSort = baseMenuShowDao.getMaxSort();
        int maxSort = baseMenuShowDao.getMaxSort(baseMenuShowDO.getModelId());
        int sort = 0;
        if(null!=baseMenuShowDO){
            sort = baseMenuShowDO.getMenuSort();
@ -558,7 +563,7 @@ public class BaseMenuManageService {
    public BaseMenuShowDO upMenuShow(String id) throws Exception{
        //当前
        BaseMenuShowDO baseMenuShowDO = baseMenuShowDao.findOne(id);
        int minSort = baseMenuShowDao.getMinSort();
        int minSort = baseMenuShowDao.getMinSort(baseMenuShowDO.getModelId());
        int sort = 0;
        if(null!=baseMenuShowDO){
            sort = baseMenuShowDO.getMenuSort();
@ -588,8 +593,10 @@ public class BaseMenuManageService {
        int i =1;
        for (BaseMenuShowDO baseMenuShowDO:menuShowDO){
            for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:list){
                if (baseMenuShowDO.getStyleCode().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
                    baseMenuShowDO.setStyleName(wlyyHospitalSysDictDO.getDictValue());
                if (StringUtils.isNoneBlank(baseMenuShowDO.getStyleCode())){
                    if (baseMenuShowDO.getStyleCode().equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
                        baseMenuShowDO.setStyleName(wlyyHospitalSysDictDO.getDictValue());
                    }
                }
            }
            String modelSql = "select t.id as \"id\"," +

+ 4 - 2
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/XzzxCotroller.java

@ -337,8 +337,10 @@ public class XzzxCotroller extends EnvelopRestEndpoint {
    @GetMapping(value = "/getDrugDict")
    @ApiOperation(value = "获取药品字典", notes = "获取药品字典")
    public ObjEnvelop getDrugDict(@ApiParam(name = "spellCode", value = "拼音码", required = false)
                                   @RequestParam(value = "spellCode",required = false)String spellCode)throws Exception{
        return ObjEnvelop.getSuccess("ok",xzzxEntranceService.GetDrugDict(spellCode));
                                   @RequestParam(value = "spellCode",required = false)String spellCode,
                                  @ApiParam(name = "drugNo", value = "药品编码", required = false)
                                  @RequestParam(value = "drugNo",required = false)String drugNo)throws Exception{
        return ObjEnvelop.getSuccess("ok",xzzxEntranceService.GetDrugDict(spellCode,drugNo));
    }

+ 11 - 1
svr/svr-internet-hospital-entrance/src/main/resources/application.yml

@ -34,7 +34,8 @@ spring:
      max-wait: -1  # 连接池最大阻塞等待时间(使用负值表示没有限制)
      max-idle: 20  # 连接池中的最大空闲连接
      min-idle: 5  # 连接池中的最小空闲连接
  application:
    name: svr-internet-hospital-entrance
fast-dfs:
#  tracker-server: 172.26.0.110:22122 #服务器地址
  connect-timeout: 2 #链接超时时间
@ -140,6 +141,7 @@ wlyy:
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段  # todo 待配置
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: JKZL
@ -179,6 +181,7 @@ wlyy:
wechat:
  id: xm_zsyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: https://mrds-admin.sf-express.com:443
  sf_code: WH000102
@ -228,6 +231,7 @@ wlyy:
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段  # todo 待配置
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
@ -277,6 +281,7 @@ wlyy:
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: WH000091
@ -326,6 +331,7 @@ wlyy:
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: WH000091
@ -368,6 +374,7 @@ wlyy:
wechat:
  id: xm_xzzx_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: WH000061
@ -412,6 +419,7 @@ wlyy:
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段  # todo 待配置
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: JKZL
@ -463,6 +471,7 @@ wlyy:
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: WH000091
@ -512,6 +521,7 @@ wlyy:
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: WH000091

+ 221 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/channel/SyncWlyyHospitalService.java

@ -0,0 +1,221 @@
package com.yihu.jw.service.channel;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jhlabs.image.WoodFilter;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.hospital.DmHospitalDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamMemberDO;
import com.yihu.jw.hospital.HospitalDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.team.dao.WlyyAdminTeamDao;
import com.yihu.jw.hospital.team.dao.WlyyAdminTeamMemberDao;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import com.yihu.jw.wlyy.wlyyhttp.WlyyHttpService;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
@Service
public class SyncWlyyHospitalService {
    private static final Logger logger = LoggerFactory.getLogger(SyncWlyyHospitalService.class);
    @Autowired
    private WlyyHttpService wlyyHttpService;
    @Autowired
    private HospitalDao hospitalDao;
    @Autowired
    private WlyyAdminTeamDao wlyyAdminTeamDao;
    @Autowired
    private WlyyAdminTeamMemberDao wlyyAdminTeamMemberDao;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    public void syncHospital(String townCode){
        String param="";
        if (StringUtils.isNoneBlank(townCode)){
            param="?townCode="+townCode;
        }
        JSONObject re = wlyyHttpService.sendWlyyMesGet("findHospital",param);
        if(re!=null){
            JSONArray hospitals = JSONArray.parseArray(re.getString("data"));
            logger.info("hospitals size:"+hospitals.size());
            if(hospitals!=null&&hospitals.size()>0){
                Integer addCount = 0;
                Integer updateCount =0;
                for(int i=0;i<hospitals.size();i++){
                    JSONObject h = (JSONObject) hospitals.get(i);
                    String code = h.getString("code");
                    if(!hospitalDao.existsByCode(code)){
                        DmHospitalDO org = new DmHospitalDO();
                        org.setCode(code);
                        org.setName(h.getString("name"));
                        org.setProvince(h.getString("province"));
                        org.setProvinceName(h.getString("provinceName"));
                        org.setCity(h.getString("city"));
                        org.setCityName(h.getString("cityName"));
                        org.setTown(h.getString("town"));
                        org.setTownName(h.getString("townName"));
                        org.setLevel(h.getInteger("level"));
                        org.setDel("1");
                        hospitalDao.save(org);
                        addCount++;
                    }else{
                        DmHospitalDO org = hospitalDao.findByCode(code);
                        org.setName(h.getString("name"));
                        org.setProvince(h.getString("province"));
                        org.setProvinceName(h.getString("provinceName"));
                        org.setCity(h.getString("city"));
                        org.setCityName(h.getString("cityName"));
                        org.setTown(h.getString("town"));
                        org.setTownName(h.getString("townName"));
                        org.setLevel(h.getInteger("level"));
                        hospitalDao.save(org);
                        updateCount++;
                    }
                }
                logger.info("hospitals addCount:"+addCount+" updateCount:"+updateCount);
            }
        }
    }
    public void syncTeam(String orgCode){
        String param="";
        if(StringUtils.isNotBlank(orgCode)){
            param="?orgCode="+orgCode;
        }
        JSONObject re = wlyyHttpService.sendWlyyMesGet("findHospitalTeam",param);
        if(re!=null){
            JSONArray teamlisf = JSONArray.parseArray(re.getString("data"));
            logger.info("team size:"+teamlisf.size());
            if(teamlisf!=null&&teamlisf.size()>0){
                Integer addCount = 0;
                Integer updateCount =0;
                for(int i=0;i<teamlisf.size();i++){
                    JSONObject h = (JSONObject) teamlisf.get(i);
                    if ("true".equalsIgnoreCase(h.getString("available"))){
                        h.put("available",1);
                    }else {
                        h.put("available",0);
                    }
                    WlyyAdminTeamDO wlyyAdminTeam =JSON.toJavaObject(h,WlyyAdminTeamDO.class);
                    WlyyAdminTeamDO wlyyAdminTeamDO=wlyyAdminTeamDao.findOne(wlyyAdminTeam.getId());
                    if(wlyyAdminTeamDO==null){
                        addCount++;
                    }else{
                        updateCount++;
                    }
                    wlyyAdminTeamDao.save(wlyyAdminTeam);
                }
                logger.info("team addCount:"+addCount+" updateCount:"+updateCount);
            }
        }
    }
    public void syncTeamMember(String teamId){
        List<WlyyAdminTeamDO> list=wlyyAdminTeamDao.findTeamAndAvailable();
        String wlyyDomainUrl="";
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("wlyyDomainUrl");
        if (wlyyHospitalSysDictDO!=null){
            wlyyDomainUrl=wlyyHospitalSysDictDO.getDictValue();
        }
        for (WlyyAdminTeamDO wlyyAdminTeamDO:list){
            String param="";
            if (StringUtils.isNoneBlank(teamId)){
                param="?teamId="+teamId;
            }else if(null!=wlyyAdminTeamDO.getId()){
                param="?teamId="+wlyyAdminTeamDO.getId();
            }
            JSONObject re = wlyyHttpService.sendWlyyMesGet("findTeamMembers",param);
            if(re!=null){
                JSONArray teamlisf = JSONArray.parseArray(re.getString("data"));
                logger.info("member size:"+teamlisf.size());
                if(teamlisf!=null&&teamlisf.size()>0){
                    Integer addCount = 0;
                    Integer updateCount =0;
                    for(int i=0;i<teamlisf.size();i++){
                        JSONObject h = (JSONObject) teamlisf.get(i);
                        if ("true".equalsIgnoreCase(h.getString("available"))){
                            h.put("available",1);
                        }else {
                            h.put("available",0);
                        }
                        WlyyAdminTeamMemberDO wlyyAdminTeamMember =JSON.toJavaObject(h,WlyyAdminTeamMemberDO.class);
                        if (StringUtils.isNoneBlank(wlyyAdminTeamMember.getPhoto())&&wlyyAdminTeamMember.getPhoto().contains("group")){
                            wlyyAdminTeamMember.setPhoto(wlyyDomainUrl+wlyyAdminTeamMember.getPhoto());
                        }
                        WlyyAdminTeamMemberDO wlyyAdminTeamMemberDO=wlyyAdminTeamMemberDao.findOne(wlyyAdminTeamMember.getId());
                        if(wlyyAdminTeamMemberDO==null){
                            wlyyAdminTeamMember.setLastModified(new Date());
                            addCount++;
                        }else{
                            wlyyAdminTeamMember.setLastModified(new Date());
                            updateCount++;
                        }
                        wlyyAdminTeamMemberDao.save(wlyyAdminTeamMember);
                    }
                    logger.info("team addCount:"+addCount+" updateCount:"+updateCount);
                }
            }
            if (StringUtils.isNoneBlank(teamId)){
                break;
            }
        }
    }
    public void syncTeamMemberByTime(String nowTime){
        String param="?modifyTime="+nowTime;
        JSONObject re = wlyyHttpService.sendWlyyMesGet("findTeamMembersByModifyTime",param);
        String wlyyDomainUrl="";
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("wlyyDomainUrl");
        if (wlyyHospitalSysDictDO!=null){
            wlyyDomainUrl=wlyyHospitalSysDictDO.getDictValue();
        }
        if(re!=null){
            JSONArray teamlist = JSONArray.parseArray(re.getString("data"));
            logger.info("member size:"+teamlist.size());
            if(teamlist!=null&&teamlist.size()>0){
                Integer addCount = 0;
                Integer updateCount =0;
                for(int i=0;i<teamlist.size();i++){
                    JSONObject h = (JSONObject) teamlist.get(i);
                    if ("true".equalsIgnoreCase(h.getString("available"))){
                        h.put("available",1);
                    }else {
                        h.put("available",0);
                    }
                    WlyyAdminTeamMemberDO wlyyAdminTeamMember =JSON.toJavaObject(h,WlyyAdminTeamMemberDO.class);
                    if (StringUtils.isNoneBlank(wlyyAdminTeamMember.getPhoto())){
                        wlyyAdminTeamMember.setPhoto(wlyyDomainUrl+wlyyAdminTeamMember.getPhoto());
                    }
                    WlyyAdminTeamMemberDO wlyyAdminTeamMemberDO=wlyyAdminTeamMemberDao.findOne(wlyyAdminTeamMember.getId());
                    if(wlyyAdminTeamMemberDO==null){
                        wlyyAdminTeamMemberDO.setLastModified(new Date());
                        addCount++;
                    }else{
                        wlyyAdminTeamMemberDO.setLastModified(new Date());
                        updateCount++;
                    }
                    wlyyAdminTeamMemberDao.save(wlyyAdminTeamMember);
                }
                logger.info("team addCount:"+addCount+" updateCount:"+updateCount);
            }
        }
    }
}

+ 81 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/util/SyncWlyyHosptialJob.java

@ -0,0 +1,81 @@
package com.yihu.jw.util;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.service.channel.SyncWlyyHospitalService;
import org.apache.commons.lang.time.DateFormatUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.TriggerContext;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@Lazy(false)
@Component
@EnableScheduling
public class SyncWlyyHosptialJob implements SchedulingConfigurer {
    private static final Logger logger = LoggerFactory.getLogger(SyncWlyyHosptialJob.class);
    private static String cron = "0 0 2 * * ?";//"0 0 0 * * ?";0 */5 * * * ?
    public SyncWlyyHosptialJob(){
        cron="0 0 2 * * ?";
        System.out.println("初始化时的corn"+cron);
    }
    @Autowired
    private SyncWlyyHospitalService wlyyHospitalService;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.addTriggerTask(new Runnable() {
            @Override
            public void run() {
                try {
                    WlyyHospitalSysDictDO wlyyHospitalSysDictDO=wlyyHospitalSysDictDao.findById("openSyncWlyy");
                    String openSyncWlyy="0";
                    if (wlyyHospitalSysDictDO!=null){
                        openSyncWlyy=wlyyHospitalSysDictDO.getDictCode();
                    }
                    if ("1".equalsIgnoreCase(openSyncWlyy)){
                        logger.info("START========syncHospital========");
                        wlyyHospitalService.syncHospital("");
                        logger.info("END========syncHospital========");
                        logger.info("START========syncTeam========");
                        wlyyHospitalService.syncTeam("");
                        logger.info("END========syncTeam========");
                        logger.info("START========syncTeamMember========");
                        Calendar calendar = new GregorianCalendar();
                        calendar.setTime(new Date());
                        calendar.add(calendar.DATE,-1);
                        String nowTime= DateFormatUtils.format(calendar,"yyyy-MM-dd");
                        wlyyHospitalService.syncTeamMemberByTime(nowTime);
                        logger.info("END========syncTeamMember========");
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    logger.error("END===ERROE===syncHospital,message:"+e.getMessage());
                }
            }
        }, new Trigger() {
            @Override
            public Date nextExecutionTime(TriggerContext triggerContext) {
                // 任务触发,可修改任务的执行周期
                CronTrigger trigger = new CronTrigger(cron);
                System.out.println("syncHospital,可修改任务的执行周期"+cron);
                Date nextExec = trigger.nextExecutionTime(triggerContext);
                return nextExec;
            }
        });
    }
}

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

@ -16,6 +16,7 @@ import com.yihu.jw.repository.job.QuartzJobConfigDao;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.service.channel.PrescriptionStatusUpdateService;
import com.yihu.jw.service.channel.RemindDoctorService;
import com.yihu.jw.service.channel.SyncWlyyHospitalService;
import com.yihu.jw.service.quota.JobService;
import com.yihu.jw.util.AutoTimeOutRemind;
import com.yihu.jw.util.OverdueJob;
@ -81,6 +82,8 @@ public class JobController extends BaseController {
    private PrescriptionStatusUpdateService prescriptionStatusUpdateService;
    @Autowired
    private RemindDoctorService remindDoctorService;
    @Autowired
    private SyncWlyyHospitalService syncWlyyHospitalService;
    @Autowired
    public JobController(JobService jobService, QuartzHelper quartzHelper) {
@ -739,4 +742,31 @@ public class JobController extends BaseController {
        return success("发送成功");
    }
    @RequestMapping(value = "/syncDmHospital", method = RequestMethod.GET)
    @ApiOperation("syncDmHospital")
    public String syncDmHospital(@RequestParam(value = "param", required = false)String param){
        syncWlyyHospitalService.syncHospital(param);
        return success("操作成功");
    }
    @RequestMapping(value = "/syncTeam", method = RequestMethod.GET)
    @ApiOperation("syncTeam")
    public String syncTeam(@RequestParam(value = "orgCode", required = false)String orgCode){
        syncWlyyHospitalService.syncTeam(orgCode);
        return success("操作成功");
    }
    @RequestMapping(value = "/syncTeamMember", method = RequestMethod.GET)
    @ApiOperation("syncTeamMember")
    public String syncTeamMember(@RequestParam(value = "teamId", required = false)String teamId){
        syncWlyyHospitalService.syncTeamMember(teamId);
        return success("操作成功");
    }
    @RequestMapping(value = "/syncTeamMemberByTime", method = RequestMethod.GET)
    @ApiOperation("syncTeamMemberByTime")
    public String syncTeamMemberByTime(@RequestParam(value = "nowTime", required = false)String nowTime){
        syncWlyyHospitalService.syncTeamMemberByTime(nowTime);
        return success("操作成功");
    }
}

+ 9 - 2
svr/svr-internet-hospital-job/src/main/resources/application.yml

@ -7,7 +7,7 @@ spring:
    driver-class-name: com.mysql.jdbc.Driver
    max-active: 50
    max-idle: 50 #最大空闲连接
    min-idle: 10 #最小空闲连接
    min-idle: 10 #最小空闲连接p
    validation-query-timeout: 20
    log-validation-errors: true
    validation-interval: 60000 #避免过度验证,保证验证不超过这个频率——以毫秒为单位。如果一个连接应该被验证,但上次验证未达到指定间隔,将不再次验证。
@ -20,7 +20,8 @@ spring:
    test-while-idle: true #指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除
    min-evictable-idle-time-millis: 3600000 #连接池中连接,在时间段内一直空闲,被逐出连接池的时间(1000*60*60),以毫秒为单位
    time-between-eviction-runs-millis: 300000 #在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位,一般比minEvictableIdleTimeMillis小
  application:
    name: svr-internet-hospital-job
fast-dfs:
  tracker-server: 172.26.0.110:22122 #服务器地址
  connect-timeout: 2 #链接超时时间
@ -88,6 +89,7 @@ fastDFS:
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: JKZL
@ -126,6 +128,7 @@ wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  ids: xm_zsyy_wx
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: JKZL
@ -216,6 +219,7 @@ wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  ids: xm_ykyy_wx
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: JKZL
@ -296,6 +300,7 @@ wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  ids: xm_xzzx_wx
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code:
@ -336,6 +341,7 @@ wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  ids: xm_xzzx_wx
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code:
@ -375,6 +381,7 @@ wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  ids: sd_tnzyy_wx
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: WH000091

+ 8 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java

@ -245,6 +245,8 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
					}else if ("1".equalsIgnoreCase(outpatientDO.getType())){
						consult.setType(1);//图文咨询
					}
				}else if ("2".equalsIgnoreCase(outpatientDO.getOutpatientType())){
					consult.setType(12);//协同门诊
				}
			}
@ -570,7 +572,13 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
					}
					logger.info("发送诊查费支付模板消息end");
				}
				if (outpatientDO.getStatus().equalsIgnoreCase("0")){
					outpatientDO.setStatus("-1");
				}else {
					outpatientDO.setStatus("3");
				}
				outpatientDO.setEndTime(new Date());
				System.out.println(outpatientDO.getStatus()+"================");
				outpatientDao.save(outpatientDO);
				try {
				    ConsultDo consultDo = consultDao.findByRelationCode(outpatientDO.getId());

+ 95 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/BaseDoctorSuggestController.java

@ -0,0 +1,95 @@
package com.yihu.jw.hospital.endpoint.hospital;
import com.yihu.jw.doctor.service.BaseDoctorSuggestService;
import com.yihu.jw.entity.hospital.suggest.BaseSuggestionDO;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.DoctorSuggest.baseDoctorSuggest)
@Api(value = "医生反馈建议管理", description = "医生反馈建议管理", tags = {"互联网医院 - 医生反馈建议管理"})
public class BaseDoctorSuggestController extends EnvelopRestEndpoint {
    @Autowired
    private BaseDoctorSuggestService baseDoctorSuggestService;
    @ApiOperation("查询反馈建议列表")
    @GetMapping(value= BaseHospitalRequestMapping.DoctorSuggest.findSuggestList)
    public Envelop findSuggestList(@ApiParam(name = "doctor", value = "doctor", required = false)
                                       @RequestParam(value = "doctor", required = false)String doctor,
                                       @ApiParam(name = "patient", value = "patient", required = false)
                                       @RequestParam(value = "patient", required = false)String patient,
                                       @ApiParam(name = "doctorName", value = "doctorName", required = false)
                                           @RequestParam(value = "doctorName", required = false)String doctorName,
                                       @ApiParam(name = "patientName", value = "patientName", required = false)
                                           @RequestParam(value = "patientName", required = false)String patientName,
                                       @ApiParam(name = "startTime", value = "startTime", required = false)
                                           @RequestParam(value = "startTime", required = false)String startTime,
                                       @ApiParam(name = "endTime", value = "endTime", required = false)
                                           @RequestParam(value = "endTime", required = false)String endTime,
                                       @ApiParam(name = "suggestType", value = "suggestType", required = false)
                                           @RequestParam(value = "suggestType", required = false)String suggestType,
                                       @ApiParam(name = "relationType", value = "relationType", required = false)
                                           @RequestParam(value = "relationType", required = false)String relationType,
                                       @ApiParam(name = "keyWord", value = "keyWord", required = false)
                                           @RequestParam(value = "keyWord", required = false)String keyWord,
                                       @ApiParam(name = "page", value = "page", required = false)
                                       @RequestParam(value = "page", required = false)Integer page,
                                       @ApiParam(name = "size", value = "size", required = false)
                                       @RequestParam(value = "size", required = false)Integer size){
        try {
            return success( baseDoctorSuggestService.findDoctorSuggest(doctor,patient,doctorName,patientName,startTime,endTime,suggestType,relationType,keyWord,page,size));
        }catch (Exception e){
            System.out.println(e.getClass());
            return failedException(e);
        }
    }
    @PostMapping(value= BaseHospitalRequestMapping.DoctorSuggest.saveSuggest)
    @ApiOperation("新增医生反馈建议")
    public Envelop saveSuggest(
            @ApiParam(name = "suggestType", value = "", required = false)
            @RequestParam(value = "suggestType", required = false)String suggestType,
            @ApiParam(name = "suggestContent", value = "", required = false)
            @RequestParam(value = "suggestContent", required = false)String suggestContent,
            @ApiParam(name = "imgUrl", value = "", required = false)
            @RequestParam(value = "imgUrl", required = false)String imgUrl,
            @ApiParam(name = "doctor", value = "", required = false)
            @RequestParam(value = "doctor", required = false)String doctor,
            @ApiParam(name = "createUser", value = "", required = false)
            @RequestParam(value = "createUser", required = false)String createUser,
            @ApiParam(name = "relationCode", value = "", required = false)
            @RequestParam(value = "relationCode", required = false)String relationCode,
            @ApiParam(name = "relationType", value = "", required = false)
            @RequestParam(value = "relationType", required = false)String relationType)throws Exception{
        try {
           baseDoctorSuggestService.saveDoctorSuggest(suggestType,suggestContent,imgUrl,doctor,createUser,relationCode,relationType);
            return success("新增成功");
        }catch (Exception e){
            return failedException(e);
        }
    }
    @GetMapping(value= BaseHospitalRequestMapping.DoctorSuggest.findOne)
    @ApiOperation("查询单条")
    public Envelop findOne(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = false)String id)throws Exception{
        try {
            return success(baseDoctorSuggestService.findById(id));
        }catch (Exception e){
            return failedException(e);
        }
    }
}

+ 97 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/WlyyAdminTeamController.java

@ -0,0 +1,97 @@
package com.yihu.jw.hospital.endpoint.hospital;
import com.yihu.jw.hospital.team.service.WlyyAdminTeamService;
import com.yihu.jw.restmodel.web.MixEnvelop;
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 javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.net.URL;
import java.util.UUID;
@RestController
@RequestMapping("/wlyyAdminManage")
@Api(value = "社区管理", description = "社区管理", tags = {"互联网医院 - 社区管理"})
public class WlyyAdminTeamController extends EnvelopRestEndpoint {
    @Autowired
    private WlyyAdminTeamService wlyyAdminTeamService;
    @ApiOperation("查询社区")
    @GetMapping("/findOrgList")
    public MixEnvelop findOrgList(@ApiParam(name = "code", value = "code", required = false)
                                           @RequestParam(value = "code", required = false)String code,
                                           @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){
        try {
            return wlyyAdminTeamService.findHospitalByTown(code,page,pageSize);
        }catch (Exception e){
            System.out.println(e.getClass());
            return failedMixEnvelopException(e);
        }
    }
    @ApiOperation("查询团队")
    @GetMapping("/findTeamList")
    public MixEnvelop findTeamList(@ApiParam(name = "city", value = "city", required = false)
                                  @RequestParam(value = "city", required = false)String city,
                                   @ApiParam(name = "town", value = "town", required = false)
                                   @RequestParam(value = "town", required = false)String town,
                                   @ApiParam(name = "orgCode", value = "orgCode", required = false)
                                       @RequestParam(value = "orgCode", required = false)String orgCode,
                                  @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){
        try {
            return wlyyAdminTeamService.findTeamByOrg(city,town,orgCode,page,pageSize);
        }catch (Exception e){
            System.out.println(e.getClass());
            return failedMixEnvelopException(e);
        }
    }
    @ApiOperation("查询医生")
    @GetMapping("/findMemberList")
    public MixEnvelop findMemberList(@ApiParam(name = "code", value = "code", required = false)
                                  @RequestParam(value = "code", required = false)String code,
                                  @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){
        try {
            return wlyyAdminTeamService.findDoctorByTeam(code,page,pageSize);
        }catch (Exception e){
            System.out.println(e.getClass());
            return failedMixEnvelopException(e);
        }
    }
    @ApiOperation("查询区")
    @GetMapping("/findTown")
    public MixEnvelop findTown(@ApiParam(name = "code", value = "code", required = false)
                                     @RequestParam(value = "code", required = false)String code){
        try {
            return MixEnvelop.getSuccess("操作成功",wlyyAdminTeamService.findTownByCity(code));
        }catch (Exception e){
            System.out.println(e.getClass());
            return failedMixEnvelopException(e);
        }
    }
}

+ 15 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -1509,6 +1509,21 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
            return failedListEnvelopException(e);
        }
    }
    @GetMapping("/deleteChargeDict")
    @ApiOperation(value = "删除基础号别字典", notes = "删除基础号别字典")
    public Envelop deleteChargeDict(@ApiParam(name = "id", value = "id")
                                            @RequestParam(value = "id", required = true)String id,
                                        @ApiParam(name = "del", value = "1正常0删除")
                                            @RequestParam(value = "del", required = false)String del) throws Exception{
        try {
            baseDoctorService.deleteChargeDict(id,del);
            return success("操作成功");
        } catch (Exception e) {
            return failedException(e);
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findWorkDoctorCount)
    @ApiOperation(value = "查询医生排版数量", notes = "查询医生排版数量")
    public ObjEnvelop<JSONObject> findWorkDoctorCount(

+ 46 - 4
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -19,6 +19,7 @@ import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.hospital.httplog.service.BaseOperateLogService;
import com.yihu.jw.hospital.mapping.service.PatientMappingService;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionDiagnosisDao;
@ -129,6 +130,8 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    private TnPrescriptionService tnPrescriptionService;
    @Autowired
    private EntranceService entranceService;
    @Autowired
    private BaseOperateLogService baseOperateLogService;
    @Value("${qywx.id}")
    private String qywxId;
@ -572,7 +575,7 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
        if (wxId.equalsIgnoreCase("xm_zsyy_wx")){
            return success(prescriptionService.getDrugDictionary(drugNo,pyKey,winNo,groupNo));
        }else if (wxId.equalsIgnoreCase("xm_xzzx_wx")){
            return success(xzzxEntranceService.selectDrugDict(pyKey));
            return success(xzzxEntranceService.selectDrugDict(pyKey,drugNo));
        }else if (wxId.equalsIgnoreCase("sd_tnzyy_wx")){
            return success(tnPrescriptionService.getDrugDictionary(drugNo,pyKey,null,groupNo,null));
        }else {
@ -1551,7 +1554,8 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
        if (StringUtils.isNoneBlank(wxid)){
            wxId = wxid;
        }
        return success(wlyyBusinessService.wlyyGetPatientAccetokenByIdcard(patientCode,wxId));
        String doctorId=getUID();
        return success(wlyyBusinessService.wlyyGetPatientAccetokenByIdcard(patientCode,wxId,doctorId));
    }
    
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findWlyyPatient)
@ -2306,10 +2310,11 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
            @ApiParam(name = "patient", value = "patient", required = true)
            @RequestParam(required = true)String patient) throws Exception {
        try {
            String doctorId=getUID();
            if (wxId.equalsIgnoreCase("xm_xzzx_wx")){
                return ObjEnvelop.getSuccess("ok",xzzxEntranceService.selectHistoryEmrFromEntrance(patient,null));
            }else {
                return ObjEnvelop.getSuccess("ok",prescriptionService.outpatient(patient));
                return ObjEnvelop.getSuccess("ok",prescriptionService.outpatient(patient,doctorId));
            }
        } catch (Exception e) {
@ -3047,6 +3052,43 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping("/findOperateLogs")
    @ApiOperation(value = "查询操作日志")
    public Envelop findOperateLogs( @ApiParam(name = "code", value = "code")
                                     @RequestParam(value = "code",required = false)String code,
                                    @ApiParam(name = "name", value = "name")
                                    @RequestParam(value = "name",required = false)String name,
                                    @ApiParam(name = "patientName", value = "patientName")
                                        @RequestParam(value = "patientName",required = false)String patientName,
                                    @ApiParam(name = "doctorName", value = "doctorName")
                                        @RequestParam(value = "doctorName",required = false)String doctorName,
                                    @ApiParam(name = "startTime", value = "startTime")
                                        @RequestParam(value = "startTime",required = false)String startTime,
                                    @ApiParam(name = "endTime", value = "endTime")
                                        @RequestParam(value = "endTime",required = false)String endTime,
                                    @ApiParam(name = "page", value = "page")
                                        @RequestParam(value = "page",required = false)Integer page,
                                    @ApiParam(name = "pageSize", value = "pageSize")
                                        @RequestParam(value = "pageSize",required = false)Integer pageSize) throws Exception {
        try {
            return success(baseOperateLogService.findOperateLogList(code,name,patientName,doctorName,startTime,endTime,page,pageSize));
        } catch (Exception e) {
            return Envelop.getError(e.getMessage());
        }
    }
    @PostMapping("/treatment")
    @ApiOperation(value = "下诊断", notes = "下诊断接口")
    public Envelop treatment(
                                    @ApiParam(name = "infoJsons", value = "药品json")
                                    @RequestParam(value = "infoJsons", required = false)String infoJsons,
                                    @ApiParam(name = "treatmentJson", value = "治疗方案json")
                                    @RequestParam(value = "treatmentJson", required = false)String treatmentJson)throws Exception {
       try {
           BaseAdviceTreatmentDO baseAdviceTreatmentDO = inspectionService.saveTreatment(infoJsons,treatmentJson);
           return success("操作成功");
       }catch (Exception e){
           return Envelop.getError(e.getMessage());
       }
    }
}

+ 10 - 0
svr/svr-internet-hospital/src/main/resources/application.yml

@ -113,6 +113,7 @@ myFamily:
wechat:
  id: xm_zsyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP
@ -189,6 +190,7 @@ fast-dfs:
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP
@ -275,6 +277,7 @@ fast-dfs:
wechat:
  id: xm_zsyy_wx  # base库中,wx_wechat 的id字段  # todo 待配置
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP #todo 待配置
@ -370,6 +373,7 @@ fast-dfs:
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP
@ -461,6 +465,7 @@ fast-dfs:
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP
@ -548,6 +553,7 @@ fast-dfs:
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段  # todo 待配置
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP #todo 待配置
@ -632,6 +638,7 @@ fast-dfs:
wechat:
  id: xm_xzzx_wx  # base库中,wx_wechat 的id字段  # todo 待配置
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP #todo 待配置
@ -720,6 +727,7 @@ fast-dfs:
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段  # todo 待配置
  flag: false #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP #todo 待配置
@ -807,6 +815,7 @@ fast-dfs:
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: true #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP
@ -895,6 +904,7 @@ fast-dfs:
wechat:
  id: sd_tnzyy_wx  # base库中,wx_wechat 的id字段  # todo 待配置
  flag: true #演示环境  true走Mysql数据库  false走Oracle
  url: http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP #todo 待配置