Browse Source

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

Conflicts:
	common/common-entity/src/main/java/com/yihu/jw/entity/specialist/rehabilitation/RehabilitationTemplateDetailDO.java
yeshijie 4 years ago
parent
commit
21cb426944
62 changed files with 2441 additions and 129 deletions
  1. 2 1
      business/base-service/src/main/java/com/yihu/jw/dict/dao/DictHospitalDeptDao.java
  2. 1 0
      business/base-service/src/main/java/com/yihu/jw/doctor/dao/BaseDoctorHospitalDao.java
  3. 20 0
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/BaseIncentiveDictDao.java
  4. 3 0
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/WlyyHospitalSysDictDao.java
  5. 95 0
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/service/BaseIncentiveDictService.java
  6. 138 6
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/service/WlyyHospitalSysDictService.java
  7. 5 3
      business/base-service/src/main/java/com/yihu/jw/hospital/drugstore/dao/BaseDrugStoreDao.java
  8. 18 0
      business/base-service/src/main/java/com/yihu/jw/hospital/drugstore/dao/BaseDrugStoreTimeDao.java
  9. 158 3
      business/base-service/src/main/java/com/yihu/jw/hospital/drugstore/service/BaseDrugStoreService.java
  10. 2 0
      business/base-service/src/main/java/com/yihu/jw/hospital/mapping/dao/DoctorMappingDao.java
  11. 2 0
      business/base-service/src/main/java/com/yihu/jw/hospital/mapping/dao/PatientMappingDao.java
  12. 6 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/OutpatientDao.java
  13. 4 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/WlyyInspectionDao.java
  14. 24 10
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/NationalDrugDictService.java
  15. 18 12
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  16. 9 4
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/YkyyPrescriptionService.java
  17. 3 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java
  18. 36 5
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java
  19. 3 0
      business/base-service/src/main/java/com/yihu/jw/hospital/ykyy/service/YkyyService.java
  20. 23 2
      business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java
  21. 2 2
      business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java
  22. 3 3
      common/common-entity/src/main/java/com/yihu/jw/entity/IntegerIdentityEntity.java
  23. 72 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseDrugStoreDO.java
  24. 59 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseDrugStoreTimeDO.java
  25. 57 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseIncentiveDictDO.java
  26. 51 5
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHospitalDeptDO.java
  27. 173 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DiseaseManageDO.java
  28. 3 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorHospitalDO.java
  29. 70 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorIncentiveDO.java
  30. 36 1
      common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgDO.java
  31. 18 1
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/consult/WlyyHospitalSysDictDO.java
  32. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/dict/BaseHospitalParameterDO.java
  33. 10 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyInspectionDO.java
  34. 14 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyOutpatientDO.java
  35. 29 2
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  36. 7 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java
  37. 9 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/prescription/WlyyHisPrescriptionVO.java
  38. 15 1
      common/common-util/src/main/java/com/yihu/jw/util/date/DateUtil.java
  39. 3 0
      gateway/ag-basic/src/main/resources/application.yml
  40. 36 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DiseaseManageDao.java
  41. 27 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorIncentiveDao.java
  42. 61 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DictHospitalDeptEndpoint.java
  43. 93 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DiseaseManageEndpoint.java
  44. 48 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/WlyyHospitalSysDictEndpoint.java
  45. 98 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorEndpoint.java
  46. 69 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/org/BaseOrgEndpoint.java
  47. 238 3
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictHospitalDeptService.java
  48. 165 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DiseaseManageService.java
  49. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorHospitalService.java
  50. 240 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java
  51. 19 28
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java
  52. 24 21
      svr/svr-base/src/main/java/com/yihu/jw/base/service/team/BaseTeamService.java
  53. 1 1
      svr/svr-base/src/main/resources/bootstrap.yml
  54. 6 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/util/DownLoadYxJob.java
  55. 7 5
      svr/svr-internet-hospital/pom.xml
  56. 3 1
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/dict/PrivateDictEndpoint.java
  57. 1 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/drugstore/BaseDrugStoreEndpoint.java
  58. 78 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  59. 7 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/NationalDrugDictEndpoint.java
  60. 2 2
      svr/svr-internet-hospital/src/main/resources/application.yml
  61. 4 0
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/rehabilitation/RehabilitationOperateRecordsDao.java
  62. 10 3
      svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/rehabilitation/RehabilitationManageService.java

+ 2 - 1
business/base-service/src/main/java/com/yihu/jw/dict/dao/DictHospitalDeptDao.java

@ -38,7 +38,8 @@ public interface DictHospitalDeptDao extends PagingAndSortingRepository<DictHosp
    List<DictHospitalDeptDO> findByOrgCodeIn(String orgCode);
    List<DictHospitalDeptDO> findByOrgCodeAndCode(String orgCode,String code);
    @Query("from DictHospitalDeptDO t where t.orgCode = ?1 and t.code = ?2")
    DictHospitalDeptDO findByOrgCodedeptCode(String orgCode,String code);
    Long countByCodeIn(String orgCode);
    boolean existsByCodeAndOrgCode(String code, String orgCode);

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

@ -34,4 +34,5 @@ public interface BaseDoctorHospitalDao extends PagingAndSortingRepository<BaseDo
    @Query("select bdo from BaseDoctorHospitalDO bdo where bdo.orgCode=?1 and bdo.deptCode=?2 and bdo.doctorCode = ?3 and bdo.del=1")
    BaseDoctorHospitalDO findByOrgCodeAndDeptCodeAndDoctorCodeOnly(String orgCode,String deptCode,String doctorCode);
}

+ 20 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/dict/BaseIncentiveDictDao.java

@ -0,0 +1,20 @@
package com.yihu.jw.hospital.dict;
import com.yihu.jw.entity.base.dict.BaseIncentiveDictDO;
import com.yihu.jw.entity.hospital.dict.WlyyChargeDictDO;
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 BaseIncentiveDictDao extends PagingAndSortingRepository<BaseIncentiveDictDO, String>, JpaSpecificationExecutor<BaseIncentiveDictDO> {
    @Query("from BaseIncentiveDictDO t where t.incentiveName like ?1 and t.isDel = '1'")
    List<BaseIncentiveDictDO> findBynAndIncentiveName(String name);
    @Query("from BaseIncentiveDictDO t where t.id = ?1 and t.isDel = '1'")
    BaseIncentiveDictDO findoneById(String id);
}

+ 3 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/dict/WlyyHospitalSysDictDao.java

@ -2,6 +2,7 @@ package com.yihu.jw.hospital.dict;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
@ -23,4 +24,6 @@ public interface WlyyHospitalSysDictDao extends PagingAndSortingRepository<WlyyH
    List<WlyyHospitalSysDictDO> findAlldict();
    @Query("from WlyyHospitalSysDictDO where dictCode = ?1")
    List<WlyyHospitalSysDictDO> findByDictCode(String dictCode);
    List<WlyyHospitalSysDictDO> findByDictNameAndDictCode(String dictName,String dictCode);
}

+ 95 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/dict/service/BaseIncentiveDictService.java

@ -0,0 +1,95 @@
package com.yihu.jw.hospital.dict.service;
import com.yihu.jw.entity.base.dict.BaseIncentiveDictDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.BaseIncentiveDictDao;
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.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.index.qual.SearchIndexBottom;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class BaseIncentiveDictService extends BaseJpaService<BaseIncentiveDictDO, BaseIncentiveDictDao> {
    @Autowired
    private BaseIncentiveDictDao baseIncentiveDictDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    /*
    * 查询激励词典
    * */
    public MixEnvelop findByName(String name, Integer page , Integer pageSize){
        MixEnvelop mixEnvelop = new MixEnvelop();
        String sql=" select t.id as \"id\"," +
                " t.incentive_name as \"incentiveName\"," +
                " t.incentive_img as \"incentiveImg\"," +
                " t.is_del as \"isDel\"," +
                " t.incentive_status as \"incentiveStatus\"," +
                " t.incentive_code as \"incentiveCode\""+
                " from base_incentive_dict t where 1=1 and t.is_del = '1' ";
        if (StringUtils.isNoneBlank(name)){
            sql+=" and t.incentive_name like '%"+name+"%'";
        }
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
        List<Map<String,Object>> listCount = hibenateUtils.createSQLQuery(sql);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(page);
        mixEnvelop.setTotalCount(listCount==null?0:listCount.size());
        return mixEnvelop;
    }
    /*
    * 查询单条*/
    public BaseIncentiveDictDO findOneById(String id){
        BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(id);
        return  baseIncentiveDictDO;
    }
    /*
    * 更新/新增*/
    public BaseIncentiveDictDO saveIncentive(String id,String code,String name ,String img ,String status){
        BaseIncentiveDictDO baseIncentiveDictDO = null;
        if(StringUtils.isNoneBlank(id)){
            baseIncentiveDictDO = baseIncentiveDictDao.findOne(id);
            baseIncentiveDictDO.setIncentiveCode(code);
            baseIncentiveDictDO.setIncentiveImg(img);
            baseIncentiveDictDO.setIncentiveStatus(status);
            baseIncentiveDictDO.setIncentiveName(name);
            baseIncentiveDictDO.setIsDel("1");
            baseIncentiveDictDao.save(baseIncentiveDictDO);
        }else {
            baseIncentiveDictDO= new BaseIncentiveDictDO();
            baseIncentiveDictDO.setIncentiveCode(code);
            baseIncentiveDictDO.setIncentiveImg(img);
            baseIncentiveDictDO.setIncentiveStatus(status);
            baseIncentiveDictDO.setIncentiveName(name);
            baseIncentiveDictDO.setIsDel("1");
            baseIncentiveDictDao.save(baseIncentiveDictDO);
        }
        return baseIncentiveDictDO;
    }
    /*
     * 删除单条*/
    public Map deleteOne(String id){
        Map<String,Object> map = new HashMap<>();
        BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(id);
        if (baseIncentiveDictDO!=null){
            baseIncentiveDictDO.setIsDel("0");
            baseIncentiveDictDao.save(baseIncentiveDictDO);
            map.put("status",200);
            map.put("msg","删除成功");
        }else {
            map.put("status",-1);
            map.put("msg","删除失败");
        }
        return  map;
    }
}

+ 138 - 6
business/base-service/src/main/java/com/yihu/jw/hospital/dict/service/WlyyHospitalSysDictService.java

@ -1,5 +1,6 @@
package com.yihu.jw.hospital.dict.service;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
@ -10,10 +11,14 @@ import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.family.dao.BasePatientMemberDictDao;
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.restmodel.iot.common.UploadVO;
import com.yihu.jw.restmodel.web.Envelop;
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.apache.poi.ss.formula.eval.MissingArgEval;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.List;
@ -31,38 +36,75 @@ public class WlyyHospitalSysDictService extends BaseJpaService<WlyyHospitalSysDi
    private DoctorMappingDao doctorMappingDao;
    @Autowired
    private BaseDoctorDao baseDoctorDao;
    @Value("${wechat.id}")
    private String wechatId;
    //查字典
    public List<Map<String,Object>> findDictsByNameCode(String name,String code,String value,Integer page ,Integer pageSize){
    public List<Map<String,Object>> findDictsByNameCode(String modelName,String name,String code,String value,Integer page ,Integer pageSize){
        String  sql = "select t.id as \"id\"," +
                " t.dict_name  as \"dictName\","+
                " t.model_name  as \"modelName\","+
                " t.dict_code  as \"dictCode\","+
                " t.dict_value   as \"dictValue\","+
                " t.sort   as \"sort\","+
                " t.py_code  as \"pyCode\","+
                " t.hospital  as \"hospital\","+
                " t.img_url  as \"imgUrl\","+
                " t.create_time as \"createTime\""+
                " from wlyy_hospital_sys_dict t where 1=1 ";
        if (StringUtils.isNoneBlank(name)){
            sql+=" and t.dict_name like '%"+name+"%'";
        }
        if (StringUtils.isNoneBlank(modelName)){
            sql+=" and t.model_name like '%"+modelName+"%'";
        }
        if (StringUtils.isNoneBlank(code)){
            sql+=" and t.dict_code like '%"+code+"%'";
        }
        if (StringUtils.isNoneBlank(value)){
            sql+=" and t.dict_value like '%"+value+"%'";
        }
        if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
            sql+=" and t.dict_code is not null";
        }else {
            sql+=" and t.dict_code is not null and  t.dict_code != ''";
        }
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
        return  list;
    }
    //根据id修改或新增字典
    public WlyyHospitalSysDictDO updateOrCreateDict(String json) throws  Exception{
        WlyyHospitalSysDictDO  wlyyHospitalSysDictDO = objectMapper.readValue(json, WlyyHospitalSysDictDO.class);
        String modelName = "";
        if (StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getDictName())){
            List<WlyyHospitalSysDictDO> modelNameList=wlyyHospitalSysDictDao.findByDictName(wlyyHospitalSysDictDO.getDictName());
            if (modelNameList!=null&&modelNameList.size()>0){
                modelName= modelNameList.get(0).getModelName();
            }
        }
        wlyyHospitalSysDictDO.setModelName(modelName);
        if(StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getId())){
            WlyyHospitalSysDictDO wlyyHospitalSysDictDO1 = wlyyHospitalSysDictDao.findById(wlyyHospitalSysDictDO.getId());
            wlyyHospitalSysDictDO1.setDictValue(wlyyHospitalSysDictDO.getDictValue());
            wlyyHospitalSysDictDO1.setDictCode(wlyyHospitalSysDictDO.getDictCode());
            wlyyHospitalSysDictDO1.setDictName(wlyyHospitalSysDictDO.getDictName());
            wlyyHospitalSysDictDO1.setHospital(wlyyHospitalSysDictDO.getHospital());
            wlyyHospitalSysDictDO1.setPyCode(wlyyHospitalSysDictDO.getPyCode());
            if (wlyyHospitalSysDictDO1!=null){
                wlyyHospitalSysDictDO1.setDictValue(wlyyHospitalSysDictDO.getDictValue());
                wlyyHospitalSysDictDO1.setDictCode(wlyyHospitalSysDictDO.getDictCode());
                wlyyHospitalSysDictDO1.setDictName(wlyyHospitalSysDictDO.getDictName());
                wlyyHospitalSysDictDO1.setHospital(wlyyHospitalSysDictDO.getHospital());
                wlyyHospitalSysDictDO1.setPyCode(wlyyHospitalSysDictDO.getPyCode());
                wlyyHospitalSysDictDO1.setImgUrl(wlyyHospitalSysDictDO.getImgUrl());
                wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                wlyyHospitalSysDictDO1.setModelName(modelName);
            }else {
                wlyyHospitalSysDictDO1 = new WlyyHospitalSysDictDO();
                wlyyHospitalSysDictDO1.setDictValue(wlyyHospitalSysDictDO.getDictValue());
                wlyyHospitalSysDictDO1.setDictCode(wlyyHospitalSysDictDO.getDictCode());
                wlyyHospitalSysDictDO1.setDictName(wlyyHospitalSysDictDO.getDictName());
                wlyyHospitalSysDictDO1.setHospital(wlyyHospitalSysDictDO.getHospital());
                wlyyHospitalSysDictDO1.setPyCode(wlyyHospitalSysDictDO.getPyCode());
                wlyyHospitalSysDictDO1.setImgUrl(wlyyHospitalSysDictDO.getImgUrl());
                wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                wlyyHospitalSysDictDO1.setModelName(modelName);
            }
            return wlyyHospitalSysDictDao.save(wlyyHospitalSysDictDO1);
        }
        return wlyyHospitalSysDictDao.save(wlyyHospitalSysDictDO);
@ -93,4 +135,94 @@ public class WlyyHospitalSysDictService extends BaseJpaService<WlyyHospitalSysDi
        }
        return doctorId;
    }
    public WlyyHospitalSysDictDO findOne(String id){
        return  wlyyHospitalSysDictDao.findById(id);
    }
    //查字典
    public MixEnvelop findModel(String modelName, String name, Integer page , Integer pageSize){
        MixEnvelop mixEnvelop = new MixEnvelop();
        String  sql = "select " +
                " t.dict_name  as \"dictName\","+
                " t.model_name  as \"modelName\""+
                " from wlyy_hospital_sys_dict t where 1=1 ";
        if (StringUtils.isNoneBlank(name)){
            sql+=" and t.dict_name like '%"+name+"%'";
        }
        if (StringUtils.isNoneBlank(modelName)){
            sql+=" and t.model_name like '%"+modelName+"%'";
        }
        sql+=" group by t.dict_name,t.model_name ";
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
        List<Map<String,Object>> listCount = hibenateUtils.createSQLQuery(sql);
        if (listCount!=null){
            mixEnvelop.setTotalCount(listCount.size());
        }else {
            mixEnvelop.setTotalCount(0);
        }
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        return  mixEnvelop;
    }
    public Envelop updateByModelName(String jsonData) throws Exception{
        Envelop envelop = new Envelop();
        JSONObject jsonObject = JSONObject.parseObject(jsonData);
        if (StringUtils.isNoneBlank(jsonObject.getString("preDictName"))){
            String preDictName = jsonObject.get("preDictName").toString();
            List<WlyyHospitalSysDictDO> list  =  wlyyHospitalSysDictDao.findByDictName(preDictName);
            for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:list){
                if (jsonObject.get("dictName")!=null){
                    wlyyHospitalSysDictDO.setDictName(jsonObject.get("dictName").toString());
                }
                if (jsonObject.get("modelName")!=null){
                    wlyyHospitalSysDictDO.setModelName(jsonObject.get("modelName").toString());
                }
            }
            wlyyHospitalSysDictDao.save(list);
            envelop.setMessage("操作成功");
            envelop.setStatus(200);
        }else {
            if (jsonObject.get("dictName")!=null){
                List<WlyyHospitalSysDictDO> list  =  wlyyHospitalSysDictDao.findByDictName(jsonObject.get("dictName").toString());
                if (list!=null&&list.size()>0){
                    throw new Exception("该dictName已经存在");
                }else {
                    WlyyHospitalSysDictDO wlyyHospitalSysDictDO=new WlyyHospitalSysDictDO();
                    wlyyHospitalSysDictDO.setDictName(jsonObject.get("dictName").toString());
                    if (jsonObject.get("modelName")!=null){
                        wlyyHospitalSysDictDO.setModelName(jsonObject.get("modelName").toString());
                    }
                    wlyyHospitalSysDictDao.save(wlyyHospitalSysDictDO);
                }
                envelop.setMessage("操作成功");
                envelop.setStatus(200);
            }else {
                envelop.setMessage("dictName为空");
                envelop.setStatus(-1);
            }
        }
        return envelop;
    }
    public Envelop deleteByModelName(String preDictName){
        Envelop envelop = new Envelop();
        if (StringUtils.isNoneBlank(preDictName)){
            List<WlyyHospitalSysDictDO> list  =  wlyyHospitalSysDictDao.findByDictName(preDictName);
            for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:list){
                wlyyHospitalSysDictDao.delete(wlyyHospitalSysDictDO);
            }
            envelop.setMessage("操作成功");
            envelop.setStatus(200);
        }else {
            envelop.setMessage("preDictName为空");
            envelop.setStatus(-1);
        }
        return envelop;
    }
}

+ 5 - 3
business/base-service/src/main/java/com/yihu/jw/hospital/drugstore/dao/BaseDrugStoreDao.java

@ -9,14 +9,16 @@ import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface BaseDrugStoreDao extends PagingAndSortingRepository<BaseDrugStoreDO, String>, JpaSpecificationExecutor<BaseDrugStoreDO> {
    @Query(value = " from  BaseDrugStoreDO  where (drugStoreName like %?1% or ?1 is null ) or ( hospitalName like %?1% or ?1 is null)")
    @Query(value = " from  BaseDrugStoreDO  where (drugStoreName like %?1% or ?1 is null ) or ( hospitalName like %?1% or ?1 is null) and isDel = 1 and isUsed= '1'")
    List<BaseDrugStoreDO> findDrugByName(String storeName);
    @Query(value = " from  BaseDrugStoreDO  where drugStoreCode =?1 and hospitalCode = ?2 ")
    @Query(value = " from  BaseDrugStoreDO  where drugStoreCode =?1 and hospitalCode = ?2  and isDel = '1'")
    BaseDrugStoreDO findDrugByNameAndCode(String drugStoreCode,String hospitalCode);
    @Query(value = " from  BaseDrugStoreDO  where id =?1 ")
    @Query(value = " from  BaseDrugStoreDO  where id =?1  ")
    BaseDrugStoreDO findDrugByid(String drugStoreCode);
    @Query(value = " from  BaseDrugStoreDO  where id =?1 and isDel = 1 and isUsed ='1'")
    BaseDrugStoreDO findDrugByidAndIsUsed(String drugStoreCode);
}

+ 18 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/drugstore/dao/BaseDrugStoreTimeDao.java

@ -0,0 +1,18 @@
package com.yihu.jw.hospital.drugstore.dao;
import com.yihu.jw.entity.base.area.BaseDrugStoreDO;
import com.yihu.jw.entity.base.area.BaseDrugStoreTimeDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface BaseDrugStoreTimeDao extends PagingAndSortingRepository<BaseDrugStoreTimeDO, String>, JpaSpecificationExecutor<BaseDrugStoreTimeDO> {
    @Modifying
    @Query("delete from BaseDrugStoreTimeDO  where drugStoreId = ?1")
    void deleteByDrugStoreId(String drugStoreId);
    @Query("from BaseDrugStoreTimeDO where drugStoreId =?1 order by  weekDay asc ,amPm asc")
    List<BaseDrugStoreTimeDO> findByDrugStoreId(String drugStoreId);
}

+ 158 - 3
business/base-service/src/main/java/com/yihu/jw/hospital/drugstore/service/BaseDrugStoreService.java

@ -1,13 +1,22 @@
package com.yihu.jw.hospital.drugstore.service;
import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.j2objc.annotations.AutoreleasePool;
import com.yihu.jw.entity.base.area.BaseDrugStoreDO;
import com.yihu.jw.entity.base.area.BaseDrugStoreTimeDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.message.BaseBannerDoctorDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionInfoDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.drugstore.dao.BaseDrugStoreDao;
import com.yihu.jw.hospital.drugstore.dao.BaseDrugStoreTimeDao;
import com.yihu.jw.hospital.message.dao.BaseBannerDoctorDao;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.CountDistance;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
@ -15,13 +24,15 @@ import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.provider.HibernateUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Transactional
@Service
public class BaseDrugStoreService extends BaseJpaService<BaseDrugStoreDO, BaseDrugStoreDao> {
    @Autowired
@ -30,6 +41,12 @@ public class BaseDrugStoreService extends BaseJpaService<BaseDrugStoreDO, BaseDr
    private ObjectMapper objectMapper;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private BaseDrugStoreTimeDao baseDrugStoreTimeDao;
    @Autowired
    private BaseOrgDao baseOrgDao;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
   //根据经纬度计算距离通过代码
   public List<BaseDrugStoreDO> countDistanceListIncode(String latitude,String longitude,String drugStoreName,String hospitalName) throws ParseException {
@ -37,7 +54,7 @@ public class BaseDrugStoreService extends BaseJpaService<BaseDrugStoreDO, BaseDr
       if (StringUtils.isNotEmpty(drugStoreName)||StringUtils.isNotEmpty(hospitalName)){
           list = baseDrugStoreDao.findDrugByName(drugStoreName);
       }else {
           String filters= null;
           String filters="isDel=1;isUsed=1";
           list= this.search(filters);
       }
       List<BaseDrugStoreDO> resultlist = new ArrayList<>();
@ -56,7 +73,7 @@ public class BaseDrugStoreService extends BaseJpaService<BaseDrugStoreDO, BaseDr
    public BaseDrugStoreDO getById(String id,String latitude,String longitude){
        BaseDrugStoreDO baseDrugStoreDO = baseDrugStoreDao.findOne(id);
        BaseDrugStoreDO baseDrugStoreDO = baseDrugStoreDao.findDrugByid(id);
        CountDistance countDistance = new CountDistance();
        latitude=StringUtils.isEmpty(latitude)?"0":latitude;
        longitude=StringUtils.isEmpty(longitude)?"0":longitude;
@ -64,6 +81,144 @@ public class BaseDrugStoreService extends BaseJpaService<BaseDrugStoreDO, BaseDr
        double storeLongitude = Double.parseDouble(baseDrugStoreDO.getLongitude());
        double distance = countDistance.getDistance(Double.parseDouble(latitude),Double.parseDouble(longitude),storeLatitude,storeLongitude);
        baseDrugStoreDO.setDistance(distance);
        List<BaseDrugStoreTimeDO> list  = baseDrugStoreTimeDao.findByDrugStoreId(baseDrugStoreDO.getId());
        if (list!=null){
            baseDrugStoreDO.setBaseDrugStoreTimeDOlist(list);
        }
        if (StringUtils.isNoneBlank(baseDrugStoreDO.getOpenControl())){
            List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOList = wlyyHospitalSysDictDao.findByDictNameAndDictCode("drugStoreOpenControl",baseDrugStoreDO.getOpenControl());
            if (wlyyHospitalSysDictDOList!=null&&wlyyHospitalSysDictDOList.size()>0){
                baseDrugStoreDO.setOpenControlName(wlyyHospitalSysDictDOList.get(0).getDictValue());
            }
        }
        if (StringUtils.isNoneBlank(baseDrugStoreDO.getIsUsed())){
            List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOList = wlyyHospitalSysDictDao.findByDictNameAndDictCode("drugStoreStatus",baseDrugStoreDO.getIsUsed());
            if (wlyyHospitalSysDictDOList!=null&&wlyyHospitalSysDictDOList.size()>0){
                baseDrugStoreDO.setIsUsedName(wlyyHospitalSysDictDOList.get(0).getDictValue());
            }
        }
        return baseDrugStoreDO;
    }
    /*
    *
    */
    public BaseDrugStoreDO saveDrugStore(String jsonData,String timeDate) throws IOException {
        BaseDrugStoreDO baseDrugStoreDO = objectMapper.readValue(jsonData,BaseDrugStoreDO.class);
        if (StringUtils.isNoneBlank(baseDrugStoreDO.getId())){//修改
            if (StringUtils.isNoneBlank(timeDate)){
                //删除之前设置的药房开方时间
                baseDrugStoreTimeDao.deleteByDrugStoreId(baseDrugStoreDO.getId());
                JSONArray jsonArray = JSONArray.parseArray(timeDate);
                if (jsonArray!=null){
                    for (int i = 0;i<jsonArray.size();i++){
                        BaseDrugStoreTimeDO baseDrugStoreTimeDO = objectMapper.readValue(jsonArray.get(i).toString(), BaseDrugStoreTimeDO.class);
                        baseDrugStoreTimeDO.setDrugStoreId(baseDrugStoreDO.getId());
                        baseDrugStoreTimeDao.save(baseDrugStoreTimeDO);
                    }
                }
            }
            BaseDrugStoreDO baseDrugStorePre = baseDrugStoreDao.findOne(baseDrugStoreDO.getId());
            if (baseDrugStorePre!=null){
                BaseOrgDO baseOrgDO = baseOrgDao.findByCode(baseDrugStoreDO.getHospitalCode());
                if (baseOrgDO!=null){
                    baseDrugStorePre.setHospitalCode(baseDrugStoreDO.getHospitalCode());
                    baseDrugStorePre.setHospitalName(baseOrgDO.getName());
                }
                baseDrugStorePre.setOpenControlName(baseDrugStoreDO.getOpenControlName());
                baseDrugStorePre.setDrugStoreName(baseDrugStoreDO.getDrugStoreName());
                baseDrugStorePre.setDrugStoreCode(baseDrugStoreDO.getDrugStoreCode());
                baseDrugStorePre.setAddress(baseDrugStoreDO.getAddress());
                baseDrugStorePre.setRemark(baseDrugStoreDO.getRemark());
                baseDrugStorePre.setDrugImg(baseDrugStoreDO.getDrugImg());
                baseDrugStorePre.setOpenControl(baseDrugStoreDO.getOpenControl());
                baseDrugStorePre.setIsDel(1);
                baseDrugStorePre.setIsUsed(baseDrugStoreDO.getIsUsed());
                baseDrugStorePre.setLatitude(baseDrugStoreDO.getLatitude());
                baseDrugStorePre.setLongitude(baseDrugStoreDO.getLongitude());
                baseDrugStoreDO = baseDrugStoreDao.save(baseDrugStorePre);
            }
        }else {//新增
            baseDrugStoreDO.setIsDel(1);
            BaseOrgDO baseOrgDO = baseOrgDao.findByCode(baseDrugStoreDO.getHospitalCode());
            if (baseOrgDO!=null){
                baseDrugStoreDO.setHospitalName(baseOrgDO.getName());
            }
            baseDrugStoreDO = baseDrugStoreDao.save(baseDrugStoreDO);
            if (StringUtils.isNoneBlank(timeDate)){
                JSONArray jsonArray = JSONArray.parseArray(timeDate);
                if (jsonArray!=null){
                    for (int i = 0;i<jsonArray.size();i++){
                        BaseDrugStoreTimeDO baseDrugStoreTimeDO = objectMapper.readValue(jsonArray.get(i).toString(), BaseDrugStoreTimeDO.class);
                        baseDrugStoreTimeDO.setDrugStoreId(baseDrugStoreDO.getId());
                        baseDrugStoreTimeDao.save(baseDrugStoreTimeDO);
                    }
                }
            }
        }
        return baseDrugStoreDO;
    }
    //删除药房
    public void deleteDrugStore(String id,Integer isDel){
        BaseDrugStoreDO baseDrugStoreDO = baseDrugStoreDao.findOne(id);
        if (baseDrugStoreDO!=null){
            baseDrugStoreDO.setIsDel(isDel);
            baseDrugStoreDao.save(baseDrugStoreDO);
        }
    }
    //作废药房
    public void usedDrugStore(String id,String isUsed){
        BaseDrugStoreDO baseDrugStoreDO = baseDrugStoreDao.findOne(id);
        if (baseDrugStoreDO!=null){
            baseDrugStoreDO.setIsUsed(isUsed);
            baseDrugStoreDao.save(baseDrugStoreDO);
        }
    }
    public MixEnvelop findDrugStoreByConditions(String orgCode,String isUsed,String drugStoreName ,Integer page,Integer pageSize){
        MixEnvelop mixEnvelop = new MixEnvelop();
        String sql = "select b.id as \"id\"," +
                " b.drug_store_name as \"drugStoreName\"," +
                " b.address as \"address\"," +
                " b.drug_store_code as \"drugStoreCode\"," +
                " b.hospital_code as \"hospitalCode\"," +
                " b.hospital_name as \"hospitalName\"," +
                " b.remark as \"remark\"," +
                " b.open_control as \"openControl\"," +
                " b.is_used as \"isUsed\"," +
                " b.is_del as \"isDel\"" +
                "from base_drug_store b  where  is_del =1 ";
        if (StringUtils.isNoneBlank(orgCode)){
            sql+=" and b.hospital_code ='"+orgCode+"'";
        }
        if (StringUtils.isNoneBlank(drugStoreName)){
            sql+=" and b.drug_store_name like '%"+drugStoreName+"%'";
        }
        if (StringUtils.isNoneBlank(isUsed)){
            sql+=" and b.is_used ='"+isUsed+"' ";
        }
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
        List<Map<String,Object>> listCount = hibenateUtils.createSQLQuery(sql);
        for (Map<String,Object> map:list){
            List<BaseDrugStoreTimeDO> times = baseDrugStoreTimeDao.findByDrugStoreId(map.get("id").toString());
            map.put("openTime",times);
            if (map.get("openControl")!=null){
                List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOList = wlyyHospitalSysDictDao.findByDictNameAndDictCode("drugStoreOpenControl",map.get("openControl").toString());
                if (wlyyHospitalSysDictDOList!=null&&wlyyHospitalSysDictDOList.size()>0){
                    map.put("openControlName",wlyyHospitalSysDictDOList.get(0).getDictValue());
                }
            }
            if (map.get("isUsed")!=null){
                List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOList = wlyyHospitalSysDictDao.findByDictNameAndDictCode("drugStoreStatus",map.get("isUsed").toString());
                if (wlyyHospitalSysDictDOList!=null&&wlyyHospitalSysDictDOList.size()>0){
                    map.put("isUsedName",wlyyHospitalSysDictDOList.get(0).getDictValue());
                }
            }
        }
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setTotalCount(listCount==null?0:listCount.size());
        return mixEnvelop;
    }
}

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/mapping/dao/DoctorMappingDao.java

@ -16,4 +16,6 @@ public interface DoctorMappingDao extends PagingAndSortingRepository<DoctorMappi
    List<DoctorMappingDO> findByOrgCodeAndMappingCode(String orgCode,String mappingCode);
    DoctorMappingDO findByDoctor(String doctor);
    DoctorMappingDO findByIdcard(String idCard);
}

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/mapping/dao/PatientMappingDao.java

@ -2,6 +2,7 @@ package com.yihu.jw.hospital.mapping.dao;
import com.yihu.jw.entity.hospital.mapping.PatientMappingDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
@ -10,6 +11,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
public interface PatientMappingDao extends PagingAndSortingRepository<PatientMappingDO, String>, JpaSpecificationExecutor<PatientMappingDO> {
    PatientMappingDO findByIdcardAndSource(String idcard,String source);
    @Query("from PatientMappingDO t where t.mappingCode=?1 and t.source=?2")
    PatientMappingDO findByMappingCodeAndSource(String mappingCode,String source);
    PatientMappingDO findByPatient(String patient);

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

@ -81,4 +81,10 @@ public interface OutpatientDao extends PagingAndSortingRepository<WlyyOutpatient
    @Query("update WlyyOutpatientDO p set p.hisStatus=?2 where p.id=?1")
    void updateHisStatusById(String id,Integer hisStatus);
    @Transactional
    @Modifying
    @Query("update WlyyOutpatientDO p set p.channelId=?2 where p.id=?1")
    void updateChannelId(String id,String channelId);
}

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

@ -19,6 +19,10 @@ public interface WlyyInspectionDao extends PagingAndSortingRepository<WlyyInspec
    List<WlyyInspectionDO> findByPrescriptionId(String prescriptionId,Integer del);
    @Query("select a from WlyyInspectionDO a where a.prescriptionId = ?1 and a.code=?2 and a.del=?3 ")
    List<WlyyInspectionDO> findByPrescriptionIdAndCode(String prescriptionId,String code,Integer del);
    @Modifying
    @Query("update WlyyInspectionDO p set p.del=0 where p.id=?1")
    void deleteById(String id);

+ 24 - 10
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/NationalDrugDictService.java

@ -9,6 +9,8 @@ import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -23,12 +25,14 @@ import static com.yihu.jw.util.common.BeanUtils.getNullPropertyNames;
public class NationalDrugDictService extends BaseJpaService<BaseNationalDrugDictDO, BaseNationalDrugDictDao> {
    @Autowired
    private BaseNationalDrugDictDao nationalDrugDictDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    public BaseNationalDrugDictDO saveNationalDrug(BaseNationalDrugDictDO nationalDrugDictDO) {
        nationalDrugDictDO.setPyName(ConvertToSpellUtils.changeToTonePinYin(nationalDrugDictDO.getName()));
        nationalDrugDictDO.setPyCommonName(ConvertToSpellUtils.changeToTonePinYin(nationalDrugDictDO.getCommonName()));
        //判断新增或编辑
        if (nationalDrugDictDO.getId() == null) {
            nationalDrugDictDO.setPyName(ConvertToSpellUtils.changeToTonePinYin(nationalDrugDictDO.getName()));
            nationalDrugDictDO.setPyCommonName(ConvertToSpellUtils.changeToTonePinYin(nationalDrugDictDO.getCommonName()));
            nationalDrugDictDO.setCreateTime(new Date());
            nationalDrugDictDO.setStatus(1);
            nationalDrugDictDO.setUpdateTime(new Date());
@ -56,21 +60,27 @@ public class NationalDrugDictService extends BaseJpaService<BaseNationalDrugDict
     */
    public MixEnvelop getNationalDrugList(String name, String number, String hospital, Integer status, Integer page, Integer pageSize) throws ParseException {
        MixEnvelop mixEnvelop = new MixEnvelop();
        String filters = "";
        String sql = "SELECT id,number,name,subject_class,subject_class_name,drug_code,drug_name,hospital,hospital_name,relation_code,`status` " +
                "FROM `base_national_drug_dict` WHERE 1=1 ";
        if (StringUtils.isNotBlank(name)) {
            filters += "name?" + name + ";";
            sql += "and name like '%" + name + "%' ";
        }
        if (StringUtils.isNotBlank(number)) {
            filters += "number?" + number + ";";
            sql += "and number like '%" + number + "%' ";
        }
        if (StringUtils.isNotBlank(hospital)) {
            filters += "hospital=" + hospital + ";";
            sql += "and hospital = '" + hospital + "' ";
        } else {
            sql += "and hospital is null ";
        }
        if (status != null) {
            filters += "status=" + status + ";";
            sql += "status = " + status + " ";
        }
        Integer count = jdbcTemplate.queryForList(sql).size();
        if (page != null && pageSize != null) {
            sql += "order by create_time desc limit " + (page - 1) * pageSize + "," + pageSize;
        }
        Integer count = this.search(null, filters, null).size();
        List<BaseNationalDrugDictDO> list = this.search(null, filters, null, page, pageSize);
        List<BaseNationalDrugDictDO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(BaseNationalDrugDictDO.class));
        mixEnvelop.setMessage("获取成功!");
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
@ -80,6 +90,10 @@ public class NationalDrugDictService extends BaseJpaService<BaseNationalDrugDict
    }
    public void updateNationalDrugStatus(Integer id, Integer status) {
         nationalDrugDictDao.updateStatusById(id, status);
        nationalDrugDictDao.updateStatusById(id, status);
    }
    public BaseNationalDrugDictDO getNationalDrugById(Integer id) {
        return nationalDrugDictDao.findOne(id);
    }
}

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

@ -4327,16 +4327,16 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    msgUrl="/ims-wx/index.html#/returnVisit/preChat?type=17&outpatientId="+outpatientId;
                    if (StringUtils.isNoneBlank(outpatientDO.getDoctorName())){
                        first = "您的视频咨询已预约成功。";
                        contentMsg = "预计" + outpatientDO.getDoctorName() + "医生将于" + DateUtil.dateToStrLong(consultTeam.getCzrq()) + " 与您进行视频咨询。请留意微信公众号消息。";
                        contentMsg = "预计" + outpatientDO.getDoctorName() + "医生将于" + DateUtil.dateToStrLong(outpatientDO.getRegisterDate()) + " 与您进行视频咨询。请留意微信公众号消息。";
                    }else{
                        first = outpatientDO.getPatientName()+"您好!您已成功发起快速视频咨询。";
                        contentMsg = "您已预约" + DateUtil.dateToStrLong(consultTeam.getCzrq()) +  "的视频咨询 与您进行视频咨询。请留意微信公众号消息。请耐心等待医生接单。如长时间无医生接单,建议选择医生发起视频咨询";
                        contentMsg = "您已预约" + DateUtil.dateToStrLong(outpatientDO.getRegisterDate()) +  "的视频咨询 与您进行视频咨询。请留意微信公众号消息。请耐心等待医生接单。如长时间无医生接单,建议选择医生发起视频咨询";
                    }
                }else{
                    msgUrl="/ims-wx/index.html#/zx/prechat?consultCode="+consultTeam.getConsult();
                    contentMsg = "预计" + consDoctorDO.getName() + "医生将于" + DateUtil.dateToStrLong(consultTeam.getCzrq()) + " 与您进行视频咨询。请留意微信公众号消息。";
                    contentMsg = "预计" + consDoctorDO.getName() + "医生将于" + DateUtil.dateToStrLong(outpatientDO.getRegisterDate()) + " 与您进行视频咨询。请留意微信公众号消息。";
                }
                logger.info("视频咨询已预约成功微信消息模板推送开始");
@ -7002,7 +7002,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                        saveInquirySystemMessage(outpatient,null);
                    }
                }else {
                    systemMessageDO.setTitle("视频咨询预约成功");
                    systemMessageDO.setTitle("视频咨询");
                    systemMessageDO.setType("17");
                    if (payFlag){
                        saveInquirySystemMessage(outpatient,null);
@ -7026,6 +7026,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                systemMessageDO.setData(data.toString());
                logger.info("添加模板消息4");
                systemMessageService.saveMessage(systemMessageDO);
                BasePatientDO patient = basePatientDao.findById(outpatient.getPatient());
                if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
                    ykyyService.pushNotificationToYktPatient(patient.getYktId(), systemMessageDO.getTitle(), data.get("msg").toString());
                }
            } else if ("1".equals(outpatient.getOutpatientType()))  {//在线复诊
                //1.图文 2.视频
                if ("1".equals(outpatient.getType())) {
@ -10537,11 +10541,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            jsondate.put("address5",address);
            jsondate.put("area",townName);
            jsondate.put("winNo",winNo);
            if (StringUtils.isNoneBlank(secondJobName)){
                jsondate.put("target",secondJobName);
            }else {
                jsondate.put("target",firstJobName);
            }
            jsondate.put("targetChild",secondJobName);
            jsondate.put("target",firstJobName);
            jsondate.put("quantity",1);
            Map<String,Object> map = findRandomDoctor();
            net.sf.json.JSONObject rs = new JSONObject();
@ -11266,13 +11267,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
     * @param idcard 身份证
     * @param payStatus 支付状态
     * @param medicare 社保卡
     * @param createTime 创建时间
     * @param appointmentTime 预约时间
     * @param appointmentTimeStart
     * @param appointmentTimeEnd
     * @param page
     * @param pageSize
     * @param size
     * @return
     */
    public Envelop getNatAppointmentList(String realOrder, String name, String hospitalFlag, String mobile, String idcard, String payStatus, String medicare, String createTimeStart, String createTimeEnd, String appointmentTimeStart, String appointmentTimeEnd, Integer isSuccess, Integer page, Integer pageSize,String orderNo) {
@ -11389,4 +11387,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }
    }
    public  BaseDoctorDO findByIdCard(String idCard){
        return  baseDoctorDao.findByIdcardAndDel(idCard);
    }
    public  void updateChannelId(String id,String channelId){
        outpatientDao.updateChannelId(id,channelId);
    }
}

+ 9 - 4
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/YkyyPrescriptionService.java

@ -665,7 +665,7 @@ public class YkyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
            jsonObject.put("ypyf",64);
            mapList.add(jsonObject);
        }else {
            mapList = ykyyEntranceService.findYpyf(pyKey);
            mapList = ykyyEntranceService.findYpyf(pyKey,"");
        }
        JSONArray array = new JSONArray();
        for (int i=0;i<mapList.size();i++){
@ -929,6 +929,11 @@ public class YkyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
            return  "找不到对应的key";
        }
        Long endTime = new Date().getTime();
        WlyyHospitalSysDictDO yxDownLoadVideoTime =  hospitalSysDictDao.findById("yxDownLoadVideoTime");
        /*long downVideoTime = 10;
        if (yxDownLoadVideoTime!=null&& StringUtils.isNotBlank(yxDownLoadVideoTime.getDictValue())){
            downVideoTime = Long.parseLong(yxDownLoadVideoTime.getDictValue());
        }*/
        Long startTime = new Date().getTime()-24*60*60*1000;
        String appKey = sysDictDO.getDictValue();
        String appSecret = hospitalSysDictDO.getDictValue();
@ -944,8 +949,8 @@ public class YkyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
        httpPost.put("CheckSum", checkSum);
        httpPost.put("Content-Type", "application/json");
        JSONObject object = new JSONObject();
        object.put("currentPage",500);
        object.put("pageSize",1);
        object.put("currentPage",1);
        object.put("pageSize",500);
        object.put("status",40);
        object.put("type",0);
        object.put("beginTime",startTime);
@ -965,7 +970,7 @@ public class YkyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
                            if (object2!=null){
                                String vedioUrl =object2.getString("origUrl");
                                String vedioName = object2.getString("videoName");
                                String filePath = "/Projects/Video/"+DateUtil.getStringDate("yyyyMMdd");
                                String filePath = "/Projects/Video/"+DateUtil.getStringDatePre("yyyyMMdd","1");
                                logger.info("filePath:"+filePath);
                                logger.info("vedioUrl"+vedioUrl);
                                FileUtil.saveUrlAs(vedioUrl,filePath,"GET",vedioName);

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

@ -1091,6 +1091,9 @@ public class EntranceService {
                if (StringUtils.isNotBlank(vo.getTarget())) {
                    sbs.append(" target=\"" + vo.getTarget() + "\"");
                }
                if (StringUtils.isNotBlank(vo.getTargetChild())) {
                    sbs.append(" target_child=\"" + vo.getTargetChild() + "\"");
                }
                logger.info("判断自取或者快递标识"+vo.getSelfDelivered());
                if (StringUtils.isNotBlank(vo.getSelfDelivered())){
                    sbs.append(" self_delivered=\"" + vo.getSelfDelivered() + "\"");

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

@ -578,8 +578,6 @@ public class YkyyEntranceService {
                ",h.KSDM,h.KSMC,h.ZDMC,h.JZXH from V_ZKSG_HZCX_HIS h WHERE h.BRID = "+brid+" ";
        if(!StringUtil.isBlank(conNo)){
            sql += " and h.JZXH = " + conNo;
        }else if (StringUtil.isBlank(ksdm)&&StringUtil.isBlank(conNo)){
            return new JSONArray();
        }
        if(!StringUtil.isBlank(startTime)){
            sql += " and h.KSSJ >= to_date('"+startTime+"', 'YYYY-MM-DD HH24:MI:SS')";
@ -769,7 +767,7 @@ public class YkyyEntranceService {
                        "\td.YYTS as \"yyts\",\n" +
                        "\td.YFGG as \"yfgg\"\n" +
                        "FROM\n" +
                        "\tV_MS_DD02 d\n" +
                        "\tV_MS_DD02 d  \n" +
                        "WHERE\n" +
                        "\td.cfsb = '"+wlyyPrescriptionVO.getRealOrder()+"'";
@ -848,8 +846,21 @@ public class YkyyEntranceService {
                        prescriptionInfoVO.setPackUnitName(object1.getString("yfdw"));
                        prescriptionInfoVO.setUnitName(object1.getString("yfdw"));
                        prescriptionInfoVO.setDosage(object1.getString("mrcs"));
                        prescriptionInfoVO.setPackQuantity(object1.getInteger("yfbz"));
                        prescriptionInfoVO.setSupplyCode(object1.getString("gytj"));
                        JSONArray ypyfList = findYpyf("",object1.getString("gytj"));
                        if (ypyfList!=null&&ypyfList.size()>0){
                            JSONObject map = ypyfList.getJSONObject(0);
                            logger.info("setSupplyName+++"+map.get("xmmc").toString());
                            prescriptionInfoVO.setSupplyName(map.get("xmmc").toString());
                        }
                        prescriptionInfoVO.setUsageCode(object1.getString("ypyf"));
                        JSONArray sypcList = findSypc(object1.getString("ypyf"));
                        if (sypcList!=null&&sypcList.size()>0){
                            JSONObject sypcmap = sypcList.getJSONObject(0);
                            logger.info("setUsageName+++"+sypcmap.get("pcmc1").toString());
                            prescriptionInfoVO.setUsageName(sypcmap.get("pcmc1").toString());
                        }
                        prescriptionInfoVO.setPackQuantity(object1.getInteger("yfbz"));
                        prescriptionInfoVO.setDays(object1.getString("yyts"));
                     /*   prescriptionInfoVO.setYpyf(object1.getInteger("ypyf"));*/
                        prescriptionInfoVO.setHisCode(object1.getInteger("sbxh"));
@ -1509,11 +1520,14 @@ public class YkyyEntranceService {
     * 获取用法
     * @return
     */
    public JSONArray findYpyf(String pydm) throws Exception {
    public JSONArray findYpyf(String pydm,String ypyf) throws Exception {
        String sql = "select y.ypyf as \"ypyf\",y.pydm as \"pydm\",y.xmmc as \"xmmc\" from v_hlw_ypyf y where 1=1  and y.pydm is not null";
        if (StringUtils.isNoneBlank(pydm)){
            sql+=" and lower(y.pydm)='"+pydm.toLowerCase()+"' ";
        }
        if (StringUtils.isNoneBlank(ypyf)){
            sql+=" and lower(y.ypyf)="+ypyf.toLowerCase()+" ";
        }
        /*List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
        return list;*/
        JSONArray array = new JSONArray();
@ -1888,6 +1902,7 @@ public class YkyyEntranceService {
        String admNo= null;
        String registNo=null;
        String deptNo = null;
        String prescriptionId=null;
        if (inspectionDOS!=null&&inspectionDOS.size()!=0){
            WlyyInspectionDO inspectionDO = inspectionDOS.get(0);
            WlyyOutpatientDO outpatientDO = outpatientDao.findById(inspectionDO.getOutpatientId());
@ -1896,6 +1911,7 @@ public class YkyyEntranceService {
            registNo = prescriptionDO.getRealOrder();
            doctor=outpatientDO.getDoctor();
            patient=outpatientDO.getPatient();
            prescriptionId=prescriptionDO.getId();
        }
        for (WlyyInspectionDO wlyyInspectionDO:inspectionDOS){
            YkEmrJcsqDO ykEmrJcsqDO = new YkEmrJcsqDO();
@ -1926,7 +1942,22 @@ public class YkyyEntranceService {
        System.out.println(message.get("code")+"-----"+message.get("msg"));
        if ("-1".equalsIgnoreCase(message.get("code").toString())){
           logger.info("同步检查检验失败,错误信息为:"+message.get("msg").toString());
        }else {
            String msg = message.get("msg").toString();
            JSONObject object = JSONObject.parseObject(msg);
            JSONArray array = object.getJSONArray("detailModelList");
            for (int i=0;i<array.size();i++){
                JSONObject jsonObject = array.getJSONObject(i);
                String xmid = jsonObject.getString("xmid");
                String yjxh = jsonObject.getString("yjxh");
                List<WlyyInspectionDO> inspectionDOList = wlyyInspectionDao.findByPrescriptionIdAndCode(prescriptionId,xmid,1);
                for (WlyyInspectionDO inspectionDO:inspectionDOList){
                    inspectionDO.setHisCode(yjxh);
                    wlyyInspectionDao.save(inspectionDO);
                }
            }
        }
        System.out.println(message.get("code")+"-----"+message.get("msg"));
    }

+ 3 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/ykyy/service/YkyyService.java

@ -237,6 +237,9 @@ public class YkyyService {
     */
    public String addYktOrder(String orderNo,String patientId,String orderAmout,String description,String state,String orderType,String doctorId,String payType,String payAccount,String patientTel,String orderCategory,String pcCallbackUrl,String appCallbackUrl){
        String response="";
        if ("17".equalsIgnoreCase(orderType)){
            orderType = "3";
        }
        String url = yktUrl+"doc_jkzl/add_inquiry_order?order_no="+orderNo+"&patient_id="+patientId+"&order_amout="+orderAmout+"&description="+description+
                "&state="+state+"&order_type="+orderType+"&doctor_id="+doctorId+"&pay_type="+payType+"&patient_tel="+patientTel+"&order_category="+orderCategory;
        if (StringUtils.isNoneBlank(payAccount)){

+ 23 - 2
business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java

@ -134,6 +134,8 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
    private BaseSmsTemplateDao smsTemplateDao;
    @Autowired
    private YkyySMSService ykyySMSService;
    @Autowired
    private WlyyInspectionDao inspectionDao;
@ -255,9 +257,18 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
        businessOrderDO.setUpdateTime(new Date());
        businessOrderDO.setStatus(0);
        if (StringUtils.isNoneBlank(businessOrderDO.getDoctor())){
            businessOrderDO.setOrderNo("HLWYY"+businessOrderDO.getOrderType()+System.currentTimeMillis()+(int)(Math.random()*900)+100);
            if (businessOrderDO.getOrderType()==17){
                businessOrderDO.setOrderNo("HLWYY3"+System.currentTimeMillis()+(int)(Math.random()*900)+100);
            }else {
                businessOrderDO.setOrderNo("HLWYY"+businessOrderDO.getOrderType()+System.currentTimeMillis()+(int)(Math.random()*900)+100);
            }
        }else {
            businessOrderDO.setOrderNo("HLWYYQD"+businessOrderDO.getOrderType()+System.currentTimeMillis()+(int)(Math.random()*900)+100);
            if (businessOrderDO.getOrderType()==17){
                businessOrderDO.setOrderNo("HLWYYQD3"+System.currentTimeMillis()+(int)(Math.random()*900)+100);
            }else {
                businessOrderDO.setOrderNo("HLWYYQD"+businessOrderDO.getOrderType()+System.currentTimeMillis()+(int)(Math.random()*900)+100);
            }
        }
        businessOrderDO.setUploadStatus(0);
        businessOrderDO.setPayType(1);
@ -871,6 +882,16 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
                        wlyyPrescriptionDO.setPayStatus(1);
                        wlyyPrescriptionDO.setPayTime(new Date());
                        prescriptionDao.save(wlyyPrescriptionDO);
                        List<WlyyInspectionDO> inspectionDOList = inspectionDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
                        for (WlyyInspectionDO wlyyInspectionDO:inspectionDOList){
                            String updateMsYj01 = "update V_MS_YJ01 t set t.HLWJF=1 where t.yjxh='"+wlyyInspectionDO.getHisCode()+"'";
                            try {
                                ykyyEntranceService.updateHisStatus(updateMsYj01);
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        }
                        prescriptionLogService.addPrescriptionLog(wlyyPrescriptionDO.getId(),30,1,wlyyPrescriptionDO.getPatientCode(),wlyyPrescriptionDO.getPatientName(),"",new Date());
                        try {
                            String sql = " update v_ms_dd01 SET FKZT=1 where CFSB = '"+wlyyPrescriptionDO.getRealOrder()+"'";

+ 2 - 2
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -1364,9 +1364,9 @@ public class ImService {
				// 添加医生咨询日志
				addLogs(ct);
				//只有勾选同同时发起视频邀请的时候才发送模板消息
				if("2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
				/*if("2".equalsIgnoreCase(wlyyOutpatientDO.getType())){
					wxTemplateService.sendWeTempMesMiniProgram(wlyyOutpatientDO.getDoctor(),wlyyOutpatientDO.getDoctorName(),wlyyOutpatientDO.getConsumer(),wlyyOutpatientDO.getConsumerName(),consult.getId());
				}
				}*/
			}
			String sessionIds = patient + "_" + outpatientCode + "_" + ct.getType();
			JSONObject result = imUtil.getSingleSessionInfo(sessionIds,doctorCode);

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

@ -19,13 +19,13 @@ public abstract class IntegerIdentityEntity implements Serializable {
    @Id
//==========mysql 环境 id策略======================================================
    @GeneratedValue(generator = "generator")
    /*@GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "identity")
    @Column(name = "id", unique = true, nullable = false)
    @Column(name = "id", unique = true, nullable = false)*/
//==========mysql 环境 id策略 end======================================================
//==========Oracle 环境id策略 =========================================================
/*   @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_generated")*/
   @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_generated")
//==========Oracle 环境id策略 =========================================================
    public Integer getId() {
        return id;

+ 72 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseDrugStoreDO.java

@ -6,6 +6,7 @@ import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;
@Entity
@Table(name = "base_drug_store")
@ -24,6 +25,19 @@ public class BaseDrugStoreDO extends UuidIdentityEntityWithOperator {
    private String drugStoreCode;
    private String drugStoreName;
    private Integer isDel;
    private String remark;
    private String drugImg;
    private String openControl;
    @Transient
    private String openControlName;
    private String isUsed;
    @Transient
    private String isUsedName;
    @Transient
    private List<BaseDrugStoreTimeDO> baseDrugStoreTimeDOlist;
    /*private String hisCode;
    public String getHisCode() {
@ -33,9 +47,67 @@ public class BaseDrugStoreDO extends UuidIdentityEntityWithOperator {
    public void setHisCode(String hisCode) {
        this.hisCode = hisCode;
    }*/
    @Column(name = "open_control_name")
    public String getOpenControlName() {
        return openControlName;
    }
    public void setOpenControlName(String openControlName) {
        this.openControlName = openControlName;
    }
    @Column(name = "is_used_name")
    public String getIsUsedName() {
        return isUsedName;
    }
    public void setIsUsedName(String isUsedName) {
        this.isUsedName = isUsedName;
    }
    @Transient
    private double distance ;
    @Column(name = "is_used")
    public String getIsUsed() {
        return isUsed;
    }
    public void setIsUsed(String isUsed) {
        this.isUsed = isUsed;
    }
    @Column(name = "remark")
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    @Column(name = "drug_img")
    public String getDrugImg() {
        return drugImg;
    }
    public void setDrugImg(String drugImg) {
        this.drugImg = drugImg;
    }
    @Column(name = "open_control")
    public String getOpenControl() {
        return openControl;
    }
    public void setOpenControl(String openControl) {
        this.openControl = openControl;
    }
    @Transient
    public List<BaseDrugStoreTimeDO> getBaseDrugStoreTimeDOlist() {
        return baseDrugStoreTimeDOlist;
    }
    public void setBaseDrugStoreTimeDOlist(List<BaseDrugStoreTimeDO> baseDrugStoreTimeDOlist) {
        this.baseDrugStoreTimeDOlist = baseDrugStoreTimeDOlist;
    }
    @Transient
    public double getDistance() {
        return distance;

+ 59 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseDrugStoreTimeDO.java

@ -0,0 +1,59 @@
package com.yihu.jw.entity.base.area;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
@Entity
@Table(name = "base_drug_store_time")
public class BaseDrugStoreTimeDO extends UuidIdentityEntityWithOperator {
    private String beginTime;
    private String endTime;
    private String weekDay;
    private String amPm;
    private String drugStoreId;
    @Column(name = "begin_time")
    public String getBeginTime() {
        return beginTime;
    }
    public void setBeginTime(String beginTime) {
        this.beginTime = beginTime;
    }
    @Column(name = "end_time")
    public String getEndTime() {
        return endTime;
    }
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }
    @Column(name = "week_day")
    public String getWeekDay() {
        return weekDay;
    }
    public void setWeekDay(String weekDay) {
        this.weekDay = weekDay;
    }
    @Column(name = "am_pm")
    public String getAmPm() {
        return amPm;
    }
    public void setAmPm(String amPm) {
        this.amPm = amPm;
    }
    @Column(name = "drug_store_id")
    public String getDrugStoreId() {
        return drugStoreId;
    }
    public void setDrugStoreId(String drugStoreId) {
        this.drugStoreId = drugStoreId;
    }
}

+ 57 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseIncentiveDictDO.java

@ -0,0 +1,57 @@
package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "base_incentive_dict")
public class BaseIncentiveDictDO extends UuidIdentityEntityWithOperator {
    private String incentiveName;
    private String incentiveImg;
    private String incentiveStatus;
    private String isDel;
    private String incentiveCode;
    @Column(name = "incentive_name")
    public String getIncentiveName() {
        return incentiveName;
    }
    public void setIncentiveName(String incentiveName) {
        this.incentiveName = incentiveName;
    }
    @Column(name = "incentive_img")
    public String getIncentiveImg() {
        return incentiveImg;
    }
    public void setIncentiveImg(String incentiveImg) {
        this.incentiveImg = incentiveImg;
    }
    @Column(name = "incentive_status")
    public String getIncentiveStatus() {
        return incentiveStatus;
    }
    public void setIncentiveStatus(String incentiveStatus) {
        this.incentiveStatus = incentiveStatus;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
    @Column(name = "incentive_code")
    public String getIncentiveCode() {
        return incentiveCode;
    }
    public void setIncentiveCode(String incentiveCode) {
        this.incentiveCode = incentiveCode;
    }
}

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

@ -4,10 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import org.springframework.beans.factory.annotation.Autowired;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.*;
import java.util.Date;
@ -26,6 +23,10 @@ public class DictHospitalDeptDO extends IntegerIdentityEntity {
	 * 机构code,每个机构的科室不完全一样
	 */
	private String orgCode;
    /**
     * 机构名称
     */
    private String orgName;
    /**
	 * 科室标识
@ -55,6 +56,7 @@ public class DictHospitalDeptDO extends IntegerIdentityEntity {
    /**
     * 父类科室名称
     */
    @Transient
    private String fatherDeptName;
    /**
@ -70,9 +72,53 @@ public class DictHospitalDeptDO extends IntegerIdentityEntity {
     * 是否会诊科室
     */
    private String consultDeptFlag;
    /**
     * 科室logo
     */
    private String deptLogo;
    /**
     * 科室图片
     */
    private String deptImg;
    /**
     * 科室描述
     */
    private String deptDescription;
    @Column(name = "org_name")
    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    @Column(name = "dept_logo")
    public String getDeptLogo() {
        return deptLogo;
    }
    public void setDeptLogo(String deptLogo) {
        this.deptLogo = deptLogo;
    }
    @Column(name = "dept_img")
    public String getDeptImg() {
        return deptImg;
    }
    public void setDeptImg(String deptImg) {
        this.deptImg = deptImg;
    }
    @Column(name = "dept_description")
    public String getDeptDescription() {
        return deptDescription;
    }
    public void setDeptDescription(String deptDescription) {
        this.deptDescription = deptDescription;
    }
	@Column(name = "org_code")
    @Column(name = "org_code")
    public String getOrgCode() {
        return orgCode;
    }

+ 173 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DiseaseManageDO.java

@ -0,0 +1,173 @@
package com.yihu.jw.entity.base.dict;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.*;
import java.util.Date;
/**
 * 病种字典实体
 * 
 * @author Administrator on  2018年09月05日
 *
 */
@Entity
@Table(name = "disease_manage")
public class DiseaseManageDO  extends UuidIdentityEntityWithOperator {
    /**
	 * saas配置id,null标识公共字典
	 */
	private String saasId;
    /**
	 * 疾病编码
	 */
	private String code;
    /**
	 * 疾病名称
	 */
	private String name;
    /**
     * 疾病解释
     */
    private String explain;
    /**
     * 疾病原因
     */
    private String reason;
    /**
     * 疾病预防
     */
    private String prevent;
    /**
     * 疾病图片
     */
    private String img;
    /**
     * 疾病图片
     */
    private String orgCode;
    /**
     * 疾病图片
     */
    @Transient
    private String orgName;
    /**
     * 疾病图片
     */
    private String status;
    /**
     * 疾病图片
     */
    private String isDel;
    @Transient
    private String statusName;
    @Transient
    public String getStatusName() {
        return statusName;
    }
    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }
    @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 = "status")
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
    @Column(name = "disease_explain")
    public String getExplain() {
        return explain;
    }
    public void setExplain(String explain) {
        this.explain = explain;
    }
    @Column(name = "reason")
    public String getReason() {
        return reason;
    }
    public void setReason(String reason) {
        this.reason = reason;
    }
    @Column(name = "prevent")
    public String getPrevent() {
        return prevent;
    }
    public void setPrevent(String prevent) {
        this.prevent = prevent;
    }
    @Column(name = "img")
    public String getImg() {
        return img;
    }
    public void setImg(String img) {
        this.img = img;
    }
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
	@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;
    }
}

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

@ -72,6 +72,9 @@ public class BaseDoctorHospitalDO extends IntegerIdentityEntity {
     *
     */
    private Date createTime;
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;

+ 70 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorIncentiveDO.java

@ -0,0 +1,70 @@
package com.yihu.jw.entity.base.doctor;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "base_doctor_incentive")
public class BaseDoctorIncentiveDO extends UuidIdentityEntityWithOperator {
    private String doctorCode;
    private String doctorName;
    private String incentiveId;
    private String incentiveImg;
    private String incentiveName;
    private String isDel;
    @Column(name = "doctor_code")
    public String getDoctorCode() {
        return doctorCode;
    }
    public void setDoctorCode(String doctorCode) {
        this.doctorCode = doctorCode;
    }
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @Column(name = "incentive_id")
    public String getIncentiveId() {
        return incentiveId;
    }
    public void setIncentiveId(String incentiveId) {
        this.incentiveId = incentiveId;
    }
    @Column(name = "incentive_img")
    public String getIncentiveImg() {
        return incentiveImg;
    }
    public void setIncentiveImg(String incentiveImg) {
        this.incentiveImg = incentiveImg;
    }
    @Column(name = "incentive_name")
    public String getIncentiveName() {
        return incentiveName;
    }
    public void setIncentiveName(String incentiveName) {
        this.incentiveName = incentiveName;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
}

+ 36 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgDO.java

@ -165,7 +165,42 @@ public class BaseOrgDO extends UuidIdentityEntityWithOperator {
     * 医院code
     */
    private String hisId;
	
    /**
     * 资格证书
     */
    private String credentials;
    /**
     * 报告单专用章
     */
    private String reportChapter;
    /**
     * 机构logo
     */
    private String logo;
    @Column(name = "credentials")
    public String getCredentials() {
        return credentials;
    }
    public void setCredentials(String credentials) {
        this.credentials = credentials;
    }
    @Column(name = "report_chapter")
    public String getReportChapter() {
        return reportChapter;
    }
    public void setReportChapter(String reportChapter) {
        this.reportChapter = reportChapter;
    }
    @Column(name = "logo")
    public String getLogo() {
        return logo;
    }
    public void setLogo(String logo) {
        this.logo = logo;
    }
//	/**
//	 * 排序
//	 */

+ 18 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/consult/WlyyHospitalSysDictDO.java

@ -14,7 +14,7 @@ import javax.persistence.Table;
*/
@Entity
@Table(name = "wlyy_hospital_sys_dict")
public class WlyyHospitalSysDictDO extends UuidIdentityEntityWithOperator {
public class  WlyyHospitalSysDictDO extends UuidIdentityEntityWithOperator {
    /**
	 * 
@ -50,7 +50,24 @@ public class WlyyHospitalSysDictDO extends UuidIdentityEntityWithOperator {
	 * 归属社区CODE
	 */
	private String hospital;
	private String imgUrl;
	private String modelName;
    @Column(name = "model_name")
    public String getModelName() {
        return modelName;
    }
    public void setModelName(String modelName) {
        this.modelName = modelName;
    }
    @Column(name = "img_url")
    public String getImgUrl() {
        return imgUrl;
    }
    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }
	@Column(name = "saas_id")
    public String getSaasId() {

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/dict/BaseHospitalParameterDO.java

@ -4,10 +4,12 @@ import com.yihu.jw.entity.IntegerIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
@Table(name = "base_hospital_parameter")
@Entity
@SequenceGenerator(name="id_generated", sequenceName="BASE_HOSPITAL_PARAMETER_SEQ")
public class BaseHospitalParameterDO extends IntegerIdentityEntityWithOperator {
    private String number;//参数编码

+ 10 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyInspectionDO.java

@ -56,6 +56,8 @@ public class WlyyInspectionDO extends UuidIdentityEntity {
    private Integer del;//1可用 0删除
    private String totalUnit;//单位
    private String hisCode;
    public String getTotalUnit() {
        return totalUnit;
    }
@ -306,4 +308,12 @@ public class WlyyInspectionDO extends UuidIdentityEntity {
    public void setDel(Integer del) {
        this.del = del;
    }
    public String getHisCode() {
        return hisCode;
    }
    public void setHisCode(String hisCode) {
        this.hisCode = hisCode;
    }
}

+ 14 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyOutpatientDO.java

@ -274,6 +274,11 @@ public class WlyyOutpatientDO extends UuidIdentityEntity {
     * 处方号
     */
    private String chargeType;
    /**
     * 云信房间号
     */
    private String channelId;
    @Column(name = "charge_type")
    public String getChargeType() {
        return chargeType;
@ -729,4 +734,13 @@ public class WlyyOutpatientDO extends UuidIdentityEntity {
    public void setRealOrder(String realOrder) {
        this.realOrder = realOrder;
    }
    @Column(name = "channel_id")
    public String getChannelId() {
        return channelId;
    }
    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }
}

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

@ -402,7 +402,7 @@ public class BaseRequestMapping {
     * 医生基础信息  BaseSensitive
     */
    public static class BaseDoctor extends Basic {
        public static final String PREFIX  = "/baseDoctor";
            public static final String PREFIX  = "/baseDoctor";
        public static final String DOCINFO  = "/docInfo";
        public static final String getOrgListByTown  = "/getOrgListByTown";
        public static final String enableOrDis  = "/enableOrDis";
@ -411,6 +411,14 @@ public class BaseRequestMapping {
        public static final String docOrgDeptTreeInfo  = "/docOrgDeptTreeInfo";
        public static final String getDoctorListByDept  = "/getDoctorListByDept";
        public static final String DOCTOR_INFO_IMPORT  = "/baseDoctorInfoImport";
        public static final String findIncentive  = "/findIncentive";
        public static final String findIncentiveById  = "/findIncentiveById";
        public static final String deleteIncentiveById  = "/deleteIncentiveById";
        public static final String saveIncentiveById  = "/saveIncentiveById";
        public static final String saveDoctorIncentive  = "/saveDoctorIncentive";
        public static final String findDoctorIncentive  = "/findDoctorIncentive";
        public static final String findDoctorOtherIncentive  = "/findDoctorOtherIncentive";
        public static final String removeIncentive  = "/removeIncentive";
    }
@ -470,6 +478,11 @@ public class BaseRequestMapping {
        public static final String getOrgAreaTree  = "/getOrgAreaTree";
        public static final String queryOneById  = "/queryOneById";
        public static final String enableOrDis  = "/enableOrDis";
        public static final String queryDrugStore  = "/queryDrugStore";
        public static final String queryDrugStoreById  = "/queryDrugStoreById";
        public static final String deleteDrugStore  = "/deleteDrugStore";
        public static final String usedDrugStore  = "/usedDrugStore";
        public static final String saveDrugStore  = "/saveDrugStore";
        public static final String queryOrgCodeAndNameListBySaasId  = "/queryOrgCodeAndNameListBySaasId";
    }
@ -622,7 +635,17 @@ public class BaseRequestMapping {
    public static class DictDisease extends Basic {
        public static final String PREFIX  = "/dictDisease";
    }
    /**
     * 健康问题字典
     */
    public static class DiseaseManage extends Basic {
        public static final String PREFIX  = "/diseaseManage";
        public static final String createDisease = "/createDisease";
        public static final String saveDisease = "/saveDisease";
        public static final String findSingleDisease = "/findSingleDisease";
        public static final String updateDiseaseStatus = "/updateDiseaseStatus";
        public static final String findDiseaseList = "/findDiseaseList";
    }
    /**
     * 医院科室字典
@ -630,6 +653,10 @@ public class BaseRequestMapping {
    public static class DictHospitalDept extends Basic {
        public static final String PREFIX  = "/dictHospitalDept";
        public static final String queryDeptByOrg  = "/queryDeptByOrg";
        public static final String queryDeptDoctor  = "/queryDeptDoctor";
        public static final String saveDeptDoctor  = "/saveDeptDoctor";
        public static final String saveDept = "/saveDept";
        public static final String findSingleDept = "/findSingleDept";
    }

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

@ -37,7 +37,9 @@ public class BaseHospitalRequestMapping {
    public static class Prescription extends BaseHospitalRequestMapping.Basic {
        public static final String PREFIX  = "/prescription";
        public static final String findDoctorByIdCard = "/findDoctorByIdCard";
        public static final String updateChannelId = "/updateChannelId";
        //=====================start=======================================
        /**
         * 获取门诊记录
@ -551,6 +553,7 @@ public class BaseHospitalRequestMapping {
        public static final String saveNationalDrug = "/saveNationalDrug";//保存药品字典
        public static final String getNationalDrugList = "/getNationalDrugList";//获取药品字典
        public static final String updateNationalDrugStatus = "/updateNationalDrugStatus";//更新药品字典状态
        public static final String getNationalDrugById = "/getNationalDrugById";//根据id获取药品信息
    }
    public static class YkyyPrescription extends BaseHospitalRequestMapping.Basic {
@ -1457,6 +1460,10 @@ public class BaseHospitalRequestMapping {
        public static final String findDict = "/findDict";
        public static final String delDict = "/delDict";
        public static final String createOrUpdateDict = "/createOrUpdateDict";
        public static final String findOneDict = "/findOneDict";
        public static final String findModelDict = "/findModelDict";
        public static final String updateDictGroup = "/updateDictGroup";
        public static final String delDictGroup = "/delDictGroup";
        //系统参数配置
        public static final String getHospitalParameterList = "/getHospitalParameterList";

+ 9 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/prescription/WlyyHisPrescriptionVO.java

@ -143,6 +143,7 @@ public class WlyyHisPrescriptionVO extends UuidIdentityVOWithOperator {
    private String address5;
    private String area;
    private String target;
    private String targetChild;
@ -531,4 +532,12 @@ public class WlyyHisPrescriptionVO extends UuidIdentityVOWithOperator {
    public void setTarget(String target) {
        this.target = target;
    }
    public String getTargetChild() {
        return targetChild;
    }
    public void setTargetChild(String targetChild) {
        this.targetChild = targetChild;
    }
}

+ 15 - 1
common/common-util/src/main/java/com/yihu/jw/util/date/DateUtil.java

@ -188,7 +188,21 @@ public class DateUtil {
        SimpleDateFormat formatter = new SimpleDateFormat(format);
        return formatter.format(currentTime);
    }
    /**
     * 获取现在时间
     *
     * @return返回字符串格式 yyyy-MM-dd HH:mm:ss
     */
    public static String getStringDatePre(String format,String days) {
        Date currentTime = new Date();
        long preTimes = currentTime.getTime()-24*60*60*1000;
        if (!StringUtils.isEmpty(days)){
            preTimes = currentTime.getTime()-Long.parseLong(days)*24*60*60*1000;
        }
        Date preDate = new Date(preTimes);
        SimpleDateFormat formatter = new SimpleDateFormat(format);
        return formatter.format(preDate);
    }
    /**
     * 获取现在时间
     *

+ 3 - 0
gateway/ag-basic/src/main/resources/application.yml

@ -80,6 +80,9 @@ zuul:
    svr-door-service:
      path: /doorService/**
      serviceId: svr-door-service
    svr-cloud-care:
      path: /cloudCare/**
      serviceId: svr-cloud-care
#---
#spring:

+ 36 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DiseaseManageDao.java

@ -0,0 +1,36 @@
package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictDiseaseDO;
import com.yihu.jw.entity.base.dict.DiseaseManageDO;
import feign.Param;
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;
import java.util.Map;
/**
 * 
 * 病种字典 数据库访问层
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * Administrator 	1.0  		2018年09月05日 	Created
 *
 * </pre>
 * @since 1.
 */
public interface DiseaseManageDao extends PagingAndSortingRepository<DiseaseManageDO, String>, JpaSpecificationExecutor<DiseaseManageDO>  {
    @Query("select code as code,name as name from DiseaseManageDO where saasId = :saasId")
    List<Map<String,Object>> findCodeAndNameBySaasId(@Param("saasId") String saasId, Pageable pageable);
    @Query("select code as code,name as name from DiseaseManageDO")
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
    List<DiseaseManageDO> findByOrgCodeAndCode(String orgCode,String code);
}

+ 27 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorIncentiveDao.java

@ -0,0 +1,27 @@
package com.yihu.jw.base.dao.doctor;
import com.yihu.jw.entity.base.doctor.BaseDoctorIncentiveDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.domain.Pageable;
import java.util.List;
public interface BaseDoctorIncentiveDao extends PagingAndSortingRepository<BaseDoctorIncentiveDO, String>, JpaSpecificationExecutor<BaseDoctorIncentiveDO> {
    @Query("from BaseDoctorIncentiveDO where doctorCode = ?1")
    List<BaseDoctorIncentiveDO> findByDoctorCode(String doctorCode);
    @Query("from BaseDoctorIncentiveDO where doctorCode = ?1 and incentiveId = ?2 and isDel = '1'")
    List<BaseDoctorIncentiveDO> findByDoctorCodeAndIncentiveId(String doctorCode,String incentiveId);
    @Query("from BaseDoctorIncentiveDO where doctorCode = ?1 and incentiveId = ?2 ")
    BaseDoctorIncentiveDO findByDoctorCodeAndIncentiveIdAndIsDel(String doctorCode,String incentiveId,String isDel);
    @Query("from BaseDoctorIncentiveDO where doctorCode = ?1 and isDel = '1'")
    List<BaseDoctorIncentiveDO> findByDoctorCodeList(String doctorCode, Pageable pageable);
    @Query("from BaseDoctorIncentiveDO where doctorCode = ?1 and isDel = '1'")
    List<BaseDoctorIncentiveDO> findByDoctorCodeListCount(String doctorCode);
}

+ 61 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DictHospitalDeptEndpoint.java

@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
@ -108,4 +109,64 @@ public class DictHospitalDeptEndpoint extends EnvelopRestEndpoint {
        List<DictHospitalDeptDO> dictHospitalDepts = dictHospitalDeptService.findDeptByOrgCode(orgCode);
        return success(dictHospitalDepts, DictHospitalDeptVO.class);
    }
    @GetMapping(value = BaseRequestMapping.DictHospitalDept.queryDeptDoctor)
    @ApiOperation(value = "获取部门医生")
    public ListEnvelop queryDeptDoctor(
            @ApiParam(name = "deptCode", value = "部门编码")
            @RequestParam(value = "deptCode", required = true) String deptCode,
            @ApiParam(name = "deptName", value = "部门名称")
            @RequestParam(value = "deptName", required = false) String deptName,
            @ApiParam(name = "doctorCode", value = "医生编码")
            @RequestParam(value = "doctorCode", required = false) String doctorCode,
            @ApiParam(name = "doctorName", value = "医生姓名")
            @RequestParam(value = "doctorName", required = false) String doctorName
            ) throws Exception {
        return success(dictHospitalDeptService.findDoctors(deptCode,deptName,doctorCode,doctorName));
    }
    @GetMapping(value = BaseRequestMapping.DictHospitalDept.saveDeptDoctor)
    @ApiOperation(value = "保存部门医生")
    public Envelop saveDeptDoctor(
            @ApiParam(name = "doctorIds", value = "医生id列表")
            @RequestParam(value = "doctorIds", required = false) String doctorIds,
            @ApiParam(name = "deptCode", value = "部门名称")
            @RequestParam(value = "deptCode", required = false) String deptCode,
            @ApiParam(name = "orgCode", value = "部门名称")
            @RequestParam(value = "orgCode", required = false) String orgCode
    ) throws Exception {
        return success(dictHospitalDeptService.saveDeptDoctor(doctorIds,deptCode,orgCode));
    }
    @GetMapping(value = BaseRequestMapping.DictHospitalDept.saveDept)
    @ApiOperation(value = "保存部门信息")
    public Envelop saveDept(
            @ApiParam(name = "deptJson", value = "部门信息json")
            @RequestParam(value = "deptJson", required = false) String deptJson,
            @ApiParam(name = "doctorIds", value = "医生id")
            @RequestParam(value = "doctorIds", required = false) String doctorIds
    )  {
        try {
            return success(dictHospitalDeptService.addDept(deptJson,doctorIds));
        } catch (IOException e) {
            e.printStackTrace();
            return failed(e.getMessage());
        }
    }
    @GetMapping(value = BaseRequestMapping.DictHospitalDept.findSingleDept)
    @ApiOperation(value = "获取单个部门")
    public Envelop findSingleDept(
            @ApiParam(name = "id", value = "部门id")
            @RequestParam(value = "id", required = false) Integer id,
            @ApiParam(name = "page", value = "")
            @RequestParam(value = "page", required = false) Integer page,
            @ApiParam(name = "pageSize", value = "")
            @RequestParam(value = "pageSize", required = false) Integer pageSize
    ) throws Exception {
        return success(dictHospitalDeptService.findDept(id,page,pageSize));
    }
}

+ 93 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DiseaseManageEndpoint.java

@ -0,0 +1,93 @@
package com.yihu.jw.base.endpoint.dict;
import com.yihu.jw.base.service.dict.DictDiseaseService;
import com.yihu.jw.base.service.dict.DiseaseManageService;
import com.yihu.jw.entity.base.dict.DictDiseaseDO;
import com.yihu.jw.entity.base.dict.DiseaseManageDO;
import com.yihu.jw.restmodel.base.dict.DictDiseaseVO;
import com.yihu.jw.restmodel.web.*;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
/**
*
* 病种字典控制器
*
* @version
* <pre>
 * Author	Version		Date		Changes
 * Administrator 	1.0  		2018年09月05日 	Created
 *
 * </pre>
* @since 1.
*/
@RestController
@RequestMapping(value = BaseRequestMapping.DiseaseManage.PREFIX)
@Api(value = "疾病管理", description = "疾病管理", tags = {"疾病管理"})
public class DiseaseManageEndpoint extends EnvelopRestEndpoint {
@Autowired
private DiseaseManageService diseaseManageService;
@PostMapping(value = BaseRequestMapping.DiseaseManage.saveDisease)
@ApiOperation(value = "创建/新增")
public Envelop create (
    @ApiParam(name = "json_data", value = "Json数据", required = true)
    @RequestParam(value = "jsonData") String jsonData)  {
    try {
        DiseaseManageDO diseaseManageDO = diseaseManageService.saveDisease(jsonData);
        return success(diseaseManageDO);
    } catch (Exception e) {
        return failed(e.getMessage());
    }
    }
    @GetMapping(value = BaseRequestMapping.DiseaseManage.updateDiseaseStatus)
    @ApiOperation(value = "删除")
    public Envelop updateDiseaseStatus(
    @ApiParam(name = "id", value = "id", required = true)
    @RequestParam(value = "id") String id,
    @ApiParam(name = "isDel", value = "1正常0删除", required = false)
    @RequestParam(value = "isDel", required = false) String isDel,
    @ApiParam(name = "status", value = "1正常0弃用", required = false)
    @RequestParam(value = "status", required = false) String status) {
    return success(diseaseManageService.deleteById(id,isDel,status));
    }
    @GetMapping(value = BaseRequestMapping.DiseaseManage.findDiseaseList)
    @ApiOperation(value = "获取分页")
    public MixEnvelop page (
        @ApiParam(name = "orgCode", value = "医院code")
        @RequestParam(value = "orgCode", required = false) String orgCode,
        @ApiParam(name = "status", value = "状态")
        @RequestParam(value = "status", required = false) String status,
        @ApiParam(name = "name", value = "疾病名称")
        @RequestParam(value = "name", required = false) String name,
        @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
        @RequestParam(value = "page") int page,
        @ApiParam(name = "pageSize", value = "页码", required = true, defaultValue = "15")
        @RequestParam(value = "pageSize") int pageSize) throws Exception {
       return diseaseManageService.findList(orgCode,status,name,page,pageSize);
     }
     @GetMapping(value = BaseRequestMapping.DiseaseManage.findSingleDisease)
     @ApiOperation(value = "获取单条")
     public Envelop findSingleDisease (
         @ApiParam(name = "id", value = "id")
         @RequestParam(value = "id", required = false) String id) throws Exception {
    return success(diseaseManageService.findOneById(id));
   }
 }

+ 48 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/WlyyHospitalSysDictEndpoint.java

@ -3,6 +3,7 @@ package com.yihu.jw.base.endpoint.dict;
import com.yihu.jw.hospital.dict.service.WlyyHospitalSysDictService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
@ -28,16 +29,18 @@ public class WlyyHospitalSysDictEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.findDict)
    public ListEnvelop findDict(@ApiParam(name = "name", value = "name", required = false)
                                @RequestParam(value = "name", required = false)String name,
                                @ApiParam(name = "modelName", value = "modelName", required = false)
                                @RequestParam(value = "modelName", required = false)String modelName,
                                @ApiParam(name = "code", value = "code", required = false)
                                @RequestParam(value = "code", required = false)String code,
                                @ApiParam(name = "value", value = "value", required = false)
                                @RequestParam(value = "value", required = false)String value1,
                                @RequestParam(value = "value", required = false)String value,
                                @ApiParam(name = "page", value = "page", required = false)
                                @RequestParam(value = "page", required = false) Integer page,
                                @ApiParam(name = "pageSize", value = "pageSize", required = false)
                                @RequestParam(value = "pageSize", required = false)Integer pageSize){
        return success(wlyyHospitalSysDictService.findDictsByNameCode(name,code,value1,page,pageSize));
        return success(wlyyHospitalSysDictService.findDictsByNameCode(modelName,name,code,value,page,pageSize));
    }
    @ApiOperation("删除字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.delDict)
@ -54,4 +57,47 @@ public class WlyyHospitalSysDictEndpoint extends EnvelopRestEndpoint {
        return success(wlyyHospitalSysDictService.updateOrCreateDict(json));
    }
    @ApiOperation("查单条")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.findOneDict)
    public Envelop findOneDict(@ApiParam(name = "id", value = "id", required = true)
                                      @RequestParam(value = "id", required = true)String id) throws Exception{
        return success(wlyyHospitalSysDictService.findOne(id));
    }
    @ApiOperation("查字典模块")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.findModelDict)
    public MixEnvelop findModelDict(@ApiParam(name = "modelName", value = "modelName", required = false)
                               @RequestParam(value = "modelName", required = false)String modelName,
                                    @ApiParam(name = "dictName", value = "dictName", required = false)
            @RequestParam(value = "dictName", required = false)String dictName,
                                    @ApiParam(name = "page", value = "page", required = false)
                                         @RequestParam(value = "page", required = false) Integer page,
                                    @ApiParam(name = "pageSize", value = "pageSize", required = false)
                                         @RequestParam(value = "pageSize", required = false)Integer pageSize) throws Exception{
        return wlyyHospitalSysDictService.findModel(modelName,dictName,page,pageSize);
    }
    @ApiOperation("批量修改字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.updateDictGroup)
    public Envelop updateDictGroup(@ApiParam(name = "json", value = "", required = true)
                                      @RequestParam(value = "json", required = true)String json) {
        try {
            return wlyyHospitalSysDictService.updateByModelName(json);
        } catch (Exception e) {
            e.printStackTrace();
            return failed(e.getMessage());
        }
    }
    @ApiOperation("批量删除字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.delDictGroup)
    public Envelop delDictGroup(@ApiParam(name = "preDictName", value = "", required = true)
                                   @RequestParam(value = "preDictName", required = true)String preDictName) throws Exception{
        return wlyyHospitalSysDictService.deleteByModelName(preDictName);
    }
}

+ 98 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorEndpoint.java

@ -10,9 +10,11 @@ import com.yihu.jw.base.service.org.OrgTreeService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.jw.exception.business.ManageException;
import com.yihu.jw.hospital.dict.service.BaseIncentiveDictService;
import com.yihu.jw.restmodel.base.doctor.BaseDoctorVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
@ -66,6 +68,8 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseDoctorExcelDOReader doctorExcelDOReader;
    @Autowired
    private BaseIncentiveDictService baseIncentiveDictService;
    @Value("${wechat.id}")
    private String wechatId;
@ -387,4 +391,98 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
        return book;
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.findIncentive)
    @ApiOperation(value = "查询激励勋章字典")
    public MixEnvelop findIncentive(
            @ApiParam(name = "name", value = "名称", required = true)
            @RequestParam(value = "name", required = false)String name,
            @ApiParam(name = "page", value = "", required = true)
            @RequestParam(value = "page", required = false)Integer page,
            @ApiParam(name = "pageSize", value = "", required = true)
            @RequestParam(value = "pageSize", required = false) Integer pageSize) throws Exception {
        return baseIncentiveDictService.findByName(name,page,pageSize);
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.findIncentiveById)
    @ApiOperation(value = "查询激励勋章字典单条")
    public Envelop findIncentiveById(
            @ApiParam(name = "id", value = "", required = true)
            @RequestParam(value = "id", required = false)String id) throws Exception {
        return success(baseIncentiveDictService.findOneById(id));
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.deleteIncentiveById)
    @ApiOperation(value = "删除激励勋章字典")
    public Envelop deleteIncentiveById(
            @ApiParam(name = "id", value = "", required = true)
            @RequestParam(value = "id", required = false)String id) throws Exception {
        return success(baseIncentiveDictService.deleteOne(id));
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.saveIncentiveById)
    @ApiOperation(value = "保存激励勋章字典")
    public Envelop saveIncentiveById(
            @ApiParam(name = "id", value = "", required = false)
            @RequestParam(value = "id", required = false)String id,
            @ApiParam(name = "code", value = "", required = false)
            @RequestParam(value = "code", required = false)String code,
            @ApiParam(name = "name", value = "", required = false)
            @RequestParam(value = "name", required = false)String name,
            @ApiParam(name = "img", value = "", required = false)
            @RequestParam(value = "img", required = false)String img,
            @ApiParam(name = "status", value = "", required = false)
            @RequestParam(value = "status", required = false)String status) throws Exception {
        return success(baseIncentiveDictService.saveIncentive(id,code,name,img,status));
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.saveDoctorIncentive)
    @ApiOperation(value = "给医生勋章")
    public Envelop saveDoctorIncentive(
            @ApiParam(name = "doctor", value = "", required = false)
            @RequestParam(value = "doctor", required = false)String doctor,
            @ApiParam(name = "incentiveIds", value = "", required = false)
            @RequestParam(value = "incentiveIds", required = false)String incentiveIds) {
        try {
            return success(baseDoctorService.saveDoctorIncentive(doctor,incentiveIds));
        } catch (Exception e) {
            e.printStackTrace();
            return failed(e.getMessage());
        }
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.findDoctorIncentive)
    @ApiOperation(value = "查询医生勋章")
    public MixEnvelop findDoctorIncentive(
            @ApiParam(name = "doctor", value = "", required = false)
            @RequestParam(value = "doctor", required = false)String doctor,
            @ApiParam(name = "page", value = "", required = false)
            @RequestParam(value = "page", required = false)Integer page,
            @ApiParam(name = "pageSize", value = "", required = false)
            @RequestParam(value = "pageSize", required = false)Integer pageSize) {
        return baseDoctorService.findIncentiveByDoctor(doctor,page,pageSize);
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.findDoctorOtherIncentive)
    @ApiOperation(value = "查询医生没有的勋章")
    public ListEnvelop findDoctorOtherIncentive(
            @ApiParam(name = "doctor", value = "", required = false)
            @RequestParam(value = "doctor", required = false)String doctor) {
        return success(baseDoctorService.findIncentiveDict(doctor));
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.removeIncentive)
    @ApiOperation(value = "删除医生勋章")
    public Envelop removeIncentive(
            @ApiParam(name = "doctor", value = "", required = false)
            @RequestParam(value = "doctor", required = false)String doctor,
            @ApiParam(name = "doctor", value = "", required = false)
            @RequestParam(value = "doctor", required = false)String incentiveId) {
        return success(baseDoctorService.removeDoctorIncentive(doctor,incentiveId));
    }
}

+ 69 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/org/BaseOrgEndpoint.java

@ -4,9 +4,11 @@ import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.org.BaseOrgService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.hospital.drugstore.service.BaseDrugStoreService;
import com.yihu.jw.restmodel.base.org.BaseOrgVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
@ -18,6 +20,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
/**
@ -40,6 +43,8 @@ public class BaseOrgEndpoint extends EnvelopRestEndpoint {
    @Value("${wechat.id}")
    private String wechatId;
    @Autowired
    private BaseDrugStoreService baseDrugStoreService;
    @PostMapping(value = BaseRequestMapping.BaseOrg.CREATE )
    @ApiOperation(value = "创建")
@ -194,4 +199,68 @@ public class BaseOrgEndpoint extends EnvelopRestEndpoint {
    public ListEnvelop queryOrgCodeAndNameList() throws Exception {
        return success(baseOrgService.findOrgListBySaasId(""));
    }
    @GetMapping(value = BaseRequestMapping.BaseOrg.queryDrugStore)
    @ApiOperation(value = "查询药房")
    public MixEnvelop queryDrugStore (
            @ApiParam(name = "orgCode", value = "机构code")
            @RequestParam(value = "orgCode", required = false) String orgCode,
            @ApiParam(name = "isUsed", value = "1正常 0弃用")
            @RequestParam(value = "isUsed", required = false) String isUsed,
            @ApiParam(name = "drugStoreName", value = "药房名称")
            @RequestParam(value = "drugStoreName", required = false) String drugStoreName,
            @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 {
        return baseDrugStoreService.findDrugStoreByConditions(orgCode,isUsed,drugStoreName,page,pageSize);
    }
    @PostMapping(value = BaseRequestMapping.BaseOrg.saveDrugStore)
    @ApiOperation(value = "药房新增/修改")
    public Envelop saveDrugStore (
            @ApiParam(name = "jsonData", value = "药房json")
            @RequestParam(value = "jsonData", required = false) String jsonData,
            @ApiParam(name = "timeData", value = "开放时间json")
            @RequestParam(value = "timeData", required = false) String timeData)  {
        try {
            return success(baseDrugStoreService.saveDrugStore(jsonData,timeData));
        } catch (IOException e) {
            return failed(e.getMessage());
        }
    }
    @GetMapping(value = BaseRequestMapping.BaseOrg.queryDrugStoreById)
    @ApiOperation(value = "查询单个药房")
    public Envelop queryDrugStoreById (
            @ApiParam(name = "id", value = "药房id")
            @RequestParam(value = "id", required = false) String id,
            @ApiParam(name = "latitude", value = "latitude")
            @RequestParam(value = "latitude", required = false) String latitude,
            @ApiParam(name = "longitude", value = "longitude")
            @RequestParam(value = "longitude", required = false) String longitude) throws Exception {
        return success(baseDrugStoreService.getById(id,latitude,longitude));
    }
    @GetMapping(value = BaseRequestMapping.BaseOrg.deleteDrugStore)
    @ApiOperation(value = "删除单个药房")
    public Envelop deleteDrugStore (
            @ApiParam(name = "id", value = "药房id")
    @RequestParam(value = "id", required = false) String id,
            @ApiParam(name = "isDel", value = "药房id")
            @RequestParam(value = "isDel", required = false) Integer isDel) throws Exception {
        baseDrugStoreService.deleteDrugStore(id,isDel);
        return success("操作成功");
    }
    @GetMapping(value = BaseRequestMapping.BaseOrg.usedDrugStore)
    @ApiOperation(value = "作废单个药房")
    public Envelop usedDrugStore (
            @ApiParam(name = "id", value = "药房id")
            @RequestParam(value = "id", required = false) String id,
            @ApiParam(name = "isUsed", value = "药房id")
            @RequestParam(value = "isUsed", required = false) String isUsed) throws Exception {
        baseDrugStoreService.usedDrugStore(id,isUsed);
        return success("操作成功");
    }
}

+ 238 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictHospitalDeptService.java

@ -6,6 +6,14 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.enums.SystemDictEnum;
import com.yihu.jw.base.service.org.BaseOrgService;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.utils.StringUtil;
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;
@ -13,9 +21,8 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.util.*;
/**
 * 
@ -40,6 +47,14 @@ public class DictHospitalDeptService extends BaseJpaService<DictHospitalDeptDO,
    @Autowired
    private BaseOrgService baseOrgService;
    @Autowired
    private BaseOrgDao baseOrgDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private BaseDoctorHospitalDao baseDoctorHospitalDao;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    /**
     * 查询某一租户下的医院科室字典信息,如果saadId为空表示当前用户角色为超级管理员,超级管理员可以看到所有数据
     * @param saasId
@ -102,5 +117,225 @@ public class DictHospitalDeptService extends BaseJpaService<DictHospitalDeptDO,
    public void saveBatch(List<DictHospitalDeptDO> dictHospitalDeptDOS)throws Exception{
        dictHospitalDeptDao.save(dictHospitalDeptDOS);
    }
    /**
     * 查询单个科室信息 带医生
     * @return
     */
    public Map findDept(Integer id,Integer page,Integer pageSize){
        Map<String ,Object> returnMap = new HashMap<>();
        DictHospitalDeptDO dictHospitalDeptDO = dictHospitalDeptDao.findOne(id);
        if (StringUtils.isNoneBlank(dictHospitalDeptDO.getFatherDeptCode())){
            DictHospitalDeptDO fatherDeptDO =  dictHospitalDeptDao.findByCode(dictHospitalDeptDO.getFatherDeptCode());
            if(fatherDeptDO!=null){
                dictHospitalDeptDO.setFatherDeptName(fatherDeptDO.getName());
            }
        }
        if (dictHospitalDeptDO!=null){
            String sql = "select b.name as \"name\",b.id as \"id\"," +
                    " b.sex as \"sex\"," +
                    " b.idcard as \"idcard\"," +
                    " b.mobile as \"mobile\"," +
                    " b.job_title_code as \"jobTitleCode\"," +
                    " b.job_title_name as \"jobTitleName\"" +
                    " from base_doctor_hospital d " +
                    " left join dict_hospital_dept p on d.dept_code = p.code" +
                    " left join base_doctor b on d.doctor_code = b.id" +
                    " where  d.dept_code = '"+dictHospitalDeptDO.getCode()+"'";
            List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
            List<Map<String,Object>> listCount = hibenateUtils.createSQLQuery(sql);
            for (Map<String,Object> map:list){
                if (map.get("idcard")!=null){
                    map.put("age", IdCardUtil.getAgeForIdcard(map.get("idcard").toString()));
                }
            }
            returnMap.put("doctorList",list);
            if (listCount!=null){
                returnMap.put("doctorListCount",listCount.size());
            }else {
                returnMap.put("doctorListCount",0);
            }
        }
        returnMap.put("dept",dictHospitalDeptDO);
        return returnMap;
    }
    /**
     * 新增科室
     * @return
     */
    public DictHospitalDeptDO addDept(String jsonData,String doctorIds) throws IOException {
        DictHospitalDeptDO dictHospitalDeptDO = objectMapper.readValue(jsonData,DictHospitalDeptDO.class);
        if (dictHospitalDeptDO.getId()!=null){
            dictHospitalDeptDO.setDeptTypeCode("6");
            dictHospitalDeptDao.save(dictHospitalDeptDO);
            if (StringUtils.isNoneBlank(doctorIds)){
                if (doctorIds.contains(",")){
                    String[] doctorId = doctorIds.split(",");
                    List<BaseDoctorHospitalDO> depts = baseDoctorHospitalDao.findByOrgCodeAndDeptCode(dictHospitalDeptDO.getOrgCode(),dictHospitalDeptDO.getCode());
                    for (int i=0;i<doctorId.length;i++){
                        List<BaseDoctorHospitalDO> doctors=  baseDoctorHospitalDao.findByOrgCodeAndDeptCodeAndDoctorCode(dictHospitalDeptDO.getOrgCode(),dictHospitalDeptDO.getCode(),doctorId[i]);
                        if (doctors!=null&&doctors.size()>0){
                        }else {
                            BaseDoctorHospitalDO baseDoctorHospitalDO = new BaseDoctorHospitalDO();
                            BaseOrgDO baseOrgDO = baseOrgDao.findByCode(dictHospitalDeptDO.getOrgCode());
                            baseDoctorHospitalDO.setOrgCode(dictHospitalDeptDO.getOrgCode());
                            if (baseOrgDO!=null){
                                baseDoctorHospitalDO.setOrgName(baseOrgDO.getName());
                            }
                            baseDoctorHospitalDO.setDoctorCode(doctorId[i]);
                            baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName());
                            baseDoctorHospitalDO.setDeptCode(dictHospitalDeptDO.getCode());
                            baseDoctorHospitalDO.setDel("1");
                            baseDoctorHospitalDO.setCreateTime(new Date());
                            baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                        }
                        if (depts!=null&&depts.size()>0){
                            for (int j=0;j<depts.size();j++){
                                if (depts.get(j).getDoctorCode().equalsIgnoreCase(doctorId[i])){
                                    depts.remove(j);
                                }
                            }
                        }
                    }
                    if (depts!=null&&depts.size()>0){
                       for (BaseDoctorHospitalDO baseDoctorHospitalDO:depts){
                           baseDoctorHospitalDO.setDel("0");
                           baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                       }
                    }
                }
            }else {
                List<BaseDoctorHospitalDO> depts = baseDoctorHospitalDao.findByOrgCodeAndDeptCode(dictHospitalDeptDO.getOrgCode(),dictHospitalDeptDO.getCode());
                if (depts!=null&&depts.size()>0){
                    for (BaseDoctorHospitalDO baseDoctorHospitalDO:depts){
                        baseDoctorHospitalDO.setDel("0");
                        baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                    }
                }
            }
        }else {
            dictHospitalDeptDO.setCreateTime(new Date());
            dictHospitalDeptDO.setDeptTypeCode("6");
            dictHospitalDeptDao.save(dictHospitalDeptDO);
            if (StringUtils.isNotBlank(doctorIds)){
                if (doctorIds.contains(",")){
                    String[] doctorId = doctorIds.split(",");
                    for (int i = 0;i<doctorId.length;i++){
                        BaseDoctorHospitalDO baseDoctorHospitalDO = new BaseDoctorHospitalDO();
                        baseDoctorHospitalDO.setDoctorCode(doctorId[i]);
                        baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName());
                        baseDoctorHospitalDO.setDeptCode(dictHospitalDeptDO.getCode());
                        baseDoctorHospitalDO.setOrgCode(dictHospitalDeptDO.getOrgCode());
                        baseDoctorHospitalDO.setOrgName(dictHospitalDeptDO.getOrgName());
                        baseDoctorHospitalDO.setDel("1");
                        baseDoctorHospitalDO.setCreateTime(new Date());
                        baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                    }
                }else {
                    BaseDoctorHospitalDO baseDoctorHospitalDO = new BaseDoctorHospitalDO();
                    baseDoctorHospitalDO.setDoctorCode(doctorIds);
                    baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName());
                    baseDoctorHospitalDO.setDeptCode(dictHospitalDeptDO.getCode());
                    baseDoctorHospitalDO.setOrgCode(dictHospitalDeptDO.getOrgCode());
                    baseDoctorHospitalDO.setOrgName(dictHospitalDeptDO.getOrgName());
                    baseDoctorHospitalDO.setDel("1");
                    baseDoctorHospitalDO.setCreateTime(new Date());
                    baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                }
            }
        }
        return dictHospitalDeptDO;
    }
   public Map saveDeptDoctor(String doctorIds ,String deptCode,String orgCode){
       DictHospitalDeptDO dictHospitalDeptDO = dictHospitalDeptDao.findByOrgCodedeptCode(orgCode,deptCode);
       Map returnMap = new HashMap();
       if (dictHospitalDeptDO!=null){
           if (StringUtils.isNoneBlank(doctorIds)){
               if (doctorIds.contains(",")){
                   String[] doctorId = doctorIds.split(",");
                   List<BaseDoctorHospitalDO> depts = baseDoctorHospitalDao.findByOrgCodeAndDeptCode(dictHospitalDeptDO.getOrgCode(),dictHospitalDeptDO.getCode());
                   for (int i=0;i<doctorId.length;i++){
                       List<BaseDoctorHospitalDO> doctors=  baseDoctorHospitalDao.findByOrgCodeAndDeptCodeAndDoctorCode(dictHospitalDeptDO.getOrgCode(),dictHospitalDeptDO.getCode(),doctorId[i]);
                       if (doctors!=null&&doctors.size()>0){
                       }else {
                           BaseDoctorHospitalDO baseDoctorHospitalDO = new BaseDoctorHospitalDO();
                           baseDoctorHospitalDO.setDoctorCode(doctorId[i]);
                           baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName());
                           baseDoctorHospitalDO.setDeptCode(dictHospitalDeptDO.getCode());
                           baseDoctorHospitalDO.setOrgCode(dictHospitalDeptDO.getOrgCode());
                           baseDoctorHospitalDO.setOrgName(dictHospitalDeptDO.getOrgName());
                           baseDoctorHospitalDO.setDel("1");
                           baseDoctorHospitalDO.setCreateTime(new Date());
                           baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                       }
                       if (depts!=null&&depts.size()>0){
                           for (int j=0;j<depts.size();j++){
                               if (depts.get(j).getDoctorCode().equalsIgnoreCase(doctorId[i])){
                                   depts.remove(j);
                               }
                           }
                       }
                   }
                   if (depts!=null&&depts.size()>0){
                       for (BaseDoctorHospitalDO baseDoctorHospitalDO:depts){
                           baseDoctorHospitalDO.setDel("0");
                           baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                       }
                   }
               }
           }else {
               List<BaseDoctorHospitalDO> depts = baseDoctorHospitalDao.findByOrgCodeAndDeptCode(dictHospitalDeptDO.getOrgCode(),dictHospitalDeptDO.getCode());
               if (depts!=null&&depts.size()>0){
                   for (BaseDoctorHospitalDO baseDoctorHospitalDO:depts){
                       baseDoctorHospitalDO.setDel("0");
                       baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                   }
               }
           }
           returnMap.put("status",200);
           returnMap.put("msg","保存成功");
       }else {
           returnMap.put("status",-1);
           returnMap.put("msg","保存失败");
       }
       return returnMap;
   }
   public List<Map<String,Object>> findDoctors(String deptCode,String deptName,String doctorCode,String doctorName){
        String sql = "select t.code as \"orgCode\",t.name as \"orgName\" from base_org t where 1=1 ";
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
        if (list!=null&&list.size()>0){
            for (Map<String,Object> orgMap:list){
                String orgCode = orgMap.get("orgCode").toString();
                String doctorDeptSql = "select t.code as \"deptCode\",t.name as \"deptName\" from dict_hospital_dept t where t.org_code ='"+orgCode+"'";
                if (StringUtils.isNoneBlank(deptCode)){
                    doctorDeptSql+=" and t.code !='"+deptCode+"'";
                }
                if (StringUtils.isNoneBlank(deptName)){
                    doctorDeptSql+=" and t.name like '%"+deptName+"%'";
                }
                List<Map<String,Object>> listdept = hibenateUtils.createSQLQuery(doctorDeptSql);
                if (listdept!=null&&listdept.size()>0){
                    for (Map<String,Object> deptMap:listdept){
                        String dept = deptMap.get("deptCode").toString();
                        String doctorSql = "select b.name as \"doctorName\",b.id as \"doctorId\" from base_doctor_hospital t left join base_doctor b on t.doctor_code = b.id" +
                                " left join base_doctor_mapping m on t.doctor_code = m.doctor  " +
                                " where t.dept_code = '"+dept+"' and t.org_code = '"+orgCode+"'";
                        if (StringUtils.isNoneBlank(doctorCode)){
                            doctorSql+=" and m.mapping_code = '"+doctorCode+"'";
                        }
                        if (StringUtils.isNoneBlank(doctorName)){
                            doctorSql+=" and b.name like '%"+doctorName+"%'";
                        }
                        List<Map<String,Object>> listDoctor = hibenateUtils.createSQLQuery(doctorSql);
                        deptMap.put("listDoctor",listDoctor);
                    }
                    orgMap.put("listDept",listdept);
                }
            }
        }
        return list;
   }
}

+ 165 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DiseaseManageService.java

@ -0,0 +1,165 @@
package com.yihu.jw.base.service.dict;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.dao.dict.DictDiseaseDao;
import com.yihu.jw.base.dao.dict.DiseaseManageDao;
import com.yihu.jw.base.enums.SystemDictEnum;
import com.yihu.jw.entity.base.dict.DictDiseaseDO;
import com.yihu.jw.entity.base.dict.DiseaseManageDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.StringUtil;
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.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.*;
/**
 * 
 * 病种字典服务service
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * Administrator    1.0  2018年09月05日 Created
 *
 * </pre>
 * @since 1.
 */
@Service
public class DiseaseManageService extends BaseJpaService<DiseaseManageDO, DiseaseManageDao> {
    @Autowired
    private DiseaseManageDao diseaseManageDao;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Autowired
    private BaseOrgDao baseOrgDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    public DiseaseManageDO saveDisease(String jsonData) throws Exception {
        DiseaseManageDO diseaseManageDO = objectMapper.readValue(jsonData,DiseaseManageDO.class);
        if (StringUtils.isNoneBlank(diseaseManageDO.getId())){
            DiseaseManageDO dictDiseasepre = diseaseManageDao.findOne(diseaseManageDO.getId());
            dictDiseasepre.setCode(diseaseManageDO.getCode());
            dictDiseasepre.setExplain(diseaseManageDO.getExplain());
            dictDiseasepre.setName(diseaseManageDO.getName());
            dictDiseasepre.setPrevent(diseaseManageDO.getPrevent());
            dictDiseasepre.setReason(diseaseManageDO.getReason());
            dictDiseasepre.setImg(diseaseManageDO.getImg());
            if (StringUtils.isNoneBlank(diseaseManageDO.getOrgCode())){
                BaseOrgDO baseOrgDO  = baseOrgDao.findByCode(diseaseManageDO.getCode());
                dictDiseasepre.setOrgCode(diseaseManageDO.getOrgCode());
                if (baseOrgDO!=null){
                    dictDiseasepre.setOrgName(baseOrgDO.getName());
                }
            }
            dictDiseasepre.setIsDel("1");
            dictDiseasepre.setStatus(diseaseManageDO.getStatus());
            diseaseManageDO = diseaseManageDao.save(dictDiseasepre);
        }else {
            List<DiseaseManageDO> diseaseManageDOList = diseaseManageDao.findByOrgCodeAndCode(diseaseManageDO.getOrgCode(),diseaseManageDO.getCode());
            if (diseaseManageDOList!=null&&diseaseManageDOList.size()>0){
                throw new Exception("该医院已存在此种疾病");
            }
            if (StringUtils.isNoneBlank(diseaseManageDO.getOrgCode())){
                BaseOrgDO baseOrgDO  = baseOrgDao.findByCode(diseaseManageDO.getCode());
                if (baseOrgDO!=null){
                    diseaseManageDO.setOrgName(baseOrgDO.getName());
                }
            }
            diseaseManageDO.setIsDel("1");
            diseaseManageDO.setCreateTime(new Date());
            diseaseManageDO = diseaseManageDao.save(diseaseManageDO);
        }
        return diseaseManageDO;
    }
    public Map deleteById(String id,String isDel,String status){
        DiseaseManageDO diseaseManageDO =  diseaseManageDao.findOne(id);
        Map result = new HashMap();
        if (diseaseManageDO!=null){
            if (StringUtils.isNoneBlank(isDel)){
                diseaseManageDO.setIsDel(isDel);
            }
            if (StringUtils.isNoneBlank(status)){
                diseaseManageDO.setStatus(status);
            }
            diseaseManageDao.save(diseaseManageDO);
            result.put("status",200);
            result.put("msg","操作成功");
        }else{
            result.put("status",-1);
            result.put("msg","操作失败");
        }
        return  result;
    }
    public MixEnvelop findList(String orgCode, String status, String name, Integer page , Integer pageSize){
        MixEnvelop mixEnvelop = new MixEnvelop();
        String sql = "select a.id as \"id\"," +
                " a.saas_id as \"saasId\"," +
                "a.code as \"code\"," +
                "a.name as \"name\"," +
                "a.create_time as \"createTime\"," +
                "a.disease_explain as \"diseaseExplain\"," +
                "a.reason as \"reason\"," +
                "a.prevent as \"prevent\","+
                "a.org_code as \"orgCode\"," +
                "a.status as \"status\"," +
                "b.name as \"orgName\"," +
                "a.is_del as \"isDel\" from disease_manage a left join base_org b on a.org_code = b.code where is_del = '1' " ;
        if (StringUtils.isNoneBlank(orgCode)){
            sql+=" and a.org_code = '"+orgCode+"'";
        }
        if (StringUtils.isNoneBlank(status)){
            sql+=" and a.status = '"+status+"'";
        }
        if (StringUtils.isNoneBlank(name)){
            sql+=" and a.name like '%"+name+"%'";
        }
        List<Map<String ,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
        for (Map<String ,Object>map :list){
            if (map.get("status")!=null){
                List<WlyyHospitalSysDictDO> dictNameAndDictCode = wlyyHospitalSysDictDao.findByDictNameAndDictCode("drugStoreStatus",map.get("status").toString());
                if (dictNameAndDictCode!=null&&dictNameAndDictCode.size()>0){
                    map.put("statusName",dictNameAndDictCode.get(0).getDictValue());
                }
            }
        }
        List<Map<String ,Object>> listCount = hibenateUtils.createSQLQuery(sql);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setTotalCount(listCount==null?0:listCount.size());
        return mixEnvelop;
    }
    public DiseaseManageDO findOneById(String id){
        DiseaseManageDO diseaseManageDO = diseaseManageDao.findOne(id);
        if (diseaseManageDO!=null){
            if (StringUtils.isNotBlank(diseaseManageDO.getStatus())){
                List<WlyyHospitalSysDictDO> dictNameAndDictCode = wlyyHospitalSysDictDao.findByDictNameAndDictCode("drugStoreStatus",diseaseManageDO.getStatus());
                if (dictNameAndDictCode!=null&&dictNameAndDictCode.size()>0){
                    diseaseManageDO.setStatusName(dictNameAndDictCode.get(0).getDictValue());
                }
                if (StringUtils.isNoneBlank(diseaseManageDO.getOrgCode())){
                    BaseOrgDO baseOrgDO  = baseOrgDao.findByCode(diseaseManageDO.getCode());
                    if (baseOrgDO!=null){
                        diseaseManageDO.setOrgName(baseOrgDO.getName());
                    }
                }
            }
            return diseaseManageDO;
        }
        return null;
    }
}

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorHospitalService.java

@ -81,4 +81,5 @@ public class BaseDoctorHospitalService extends BaseJpaService<BaseDoctorHospital
                " ORDER BY doctorDutyName DESC";
        return jdbcTemplate.queryForList(sql.replace("{doctorCode}",doctorCode));
    }
}

+ 240 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.dao.dict.DictJobTitleDao;
import com.yihu.jw.base.dao.doctor.BaseDoctorIncentiveDao;
import com.yihu.jw.base.service.dict.DictDoctorDutyService;
import com.yihu.jw.base.service.doctor.excelImport.BaseDoctorExcelDO;
import com.yihu.jw.base.service.org.OrgTree;
@ -15,32 +16,46 @@ import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.doctor.dao.BaseDoctorRoleDao;
import com.yihu.jw.entity.base.dict.BaseIncentiveDictDO;
import com.yihu.jw.entity.base.dict.DictDoctorDutyDO;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorIncentiveDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.exception.business.ManageException;
import com.yihu.jw.hospital.dict.BaseIncentiveDictDao;
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import com.yihu.jw.hospital.prescription.service.entrance.XzzxEntranceService;
import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService;
import com.yihu.jw.hospital.prescription.service.entrance.util.MqSdkUtil;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.restmodel.base.wx.WxGraphicMessageVO;
import com.yihu.jw.restmodel.base.wx.WxReplySceneVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.utils.security.MD5;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.sound.sampled.Mixer;
import java.io.IOException;
import java.util.*;
import java.util.logging.Logger;
@ -104,6 +119,10 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
    private YkyyEntranceService ykyyEntranceService;
    @Autowired
    private DoctorMappingDao doctorMappingDao;
    @Autowired
    private BaseDoctorIncentiveDao baseDoctorIncentiveDao;
    @Autowired
    private BaseIncentiveDictDao baseIncentiveDictDao;
    @Value("${wechat.flag}")
    private boolean flag;
@ -114,6 +133,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
    private HttpClientUtil httpClientUtil;
    @Autowired
    private BaseDoctorRoleDao baseDoctorRoleDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    /**
@ -397,6 +418,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        JSONObject doctor = jsonObject.getJSONObject("doctor");
        JSONArray role = jsonObject.getJSONArray("role");
        JSONArray hospital = jsonObject.getJSONArray("hospital");
        String doctorMappingCode = jsonObject.getString("doctorMappingCode");
        if (null == doctor) {
            result.put("msg", "医生信息不可为空!");
            result.put("response", ConstantUtils.FAIL);
@ -405,6 +427,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        //组装医生信息
        BaseDoctorDO baseDoctorDO = null;
        BaseDoctorDO baseDoctorvo = null;
        DoctorMappingDO doctorMappingDO = null;
        try {
            baseDoctorvo = objectMapper.readValue(doctor.toJSONString(), BaseDoctorDO.class);
            baseDoctorDO =  baseDoctorDao.findByIdcardAndDel(baseDoctorvo.getIdcard());
@ -433,18 +456,31 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                        }
                    }
                    DoctorMappingDO doctorMappingDO =doctorMappingDao.findByDoctor(baseDoctorDO.getId());
                    doctorMappingDO = doctorMappingDao.findByDoctor(baseDoctorDO.getId());
                    if (null==doctorMappingDO){
                        doctorMappingDO = new DoctorMappingDO();
                        doctorMappingDO.setMappingCode(mappingCode);
                        doctorMappingDO.setDoctor(baseDoctorDO.getId());
                        doctorMappingDO.setDoctorName(baseDoctorDO.getName());
                        doctorMappingDO.setIdcard(baseDoctorDO.getId());
                        doctorMappingDO.setOrgCode("350211A5010");
                        doctorMappingDO.setOrgName("厦门大学附属心血管病医院");
                        doctorMappingDO.setCreateTime(new Date());
                        doctorMappingDao.save(doctorMappingDO);
                    }
                }
                if (!StringUtils.isEmpty(doctorMappingCode)){
                    doctorMappingDO = doctorMappingDao.findByIdcard(baseDoctorvo.getIdcard());
                    if (doctorMappingDO==null){
                        doctorMappingDO = new DoctorMappingDO();
                    }
                    doctorMappingDO.setMappingCode(doctorMappingCode);
                    doctorMappingDO.setDoctor(baseDoctorDO.getId());
                    doctorMappingDO.setDoctorName(baseDoctorDO.getName());
                    doctorMappingDO.setIdcard(baseDoctorDO.getId());
                    doctorMappingDO.setCreateTime(new Date());
                    doctorMappingDO= doctorMappingDao.save(doctorMappingDO);
                }
            }
        } catch (IOException e) {
            result.put("msg", "convert doctor jsonObject to BaseDoctorDO failed," + e.getCause());
@ -485,6 +521,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        if (!CollectionUtils.isEmpty(hospital)) {
            BaseDoctorHospitalDO baseDoctorHospitalDO = null;
            List<BaseDoctorHospitalDO> hospitalDOList = new ArrayList<>();
            String orgCode = "";
            String orgName = "";
            try {
                for (Object object : hospital) {
                    baseDoctorHospitalDO = objectMapper.readValue(object.toString(), BaseDoctorHospitalDO.class);
@ -497,6 +535,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                        if (null!=dictHospitalDeptDO){
                            baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName());
                        }
                        orgCode = baseDoctorHospitalDO.getOrgCode();
                        orgName = baseDoctorHospitalDO.getOrgName();
                        baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                    }else {
                        try {
@ -508,6 +548,9 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                        }
                    }
                }
                doctorMappingDO.setOrgCode(orgCode);
                doctorMappingDO.setOrgName(orgName);
                doctorMappingDao.save(doctorMappingDO);
            } catch (IOException e) {
                result.put("msg", "convert hospital jsonObject to baseDoctorHospitalDO failed," + e.getCause());
                result.put("response", ConstantUtils.FAIL);
@ -536,7 +579,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        JSONObject jsonObject = JSONObject.parseObject(jsonData);
        JSONObject doctor = jsonObject.getJSONObject("doctor");
        JSONArray role = jsonObject.getJSONArray("role");
            JSONArray hospital = jsonObject.getJSONArray("hospital");
        String doctorMappingCode = jsonObject.getString("doctorMappingCode");
        JSONArray hospital = jsonObject.getJSONArray("hospital");
        if(null == doctor){
            result.put("msg","parameter doctor of jsonData is null");
            result.put("response", ConstantUtils.FAIL);
@ -570,6 +614,19 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
            return result.toJSONString();
        }
        this.save(baseDoctorDO);
        DoctorMappingDO doctorMappingDO = null;
        if (!StringUtils.isEmpty(doctorMappingCode)){
            doctorMappingDO = doctorMappingDao.findByIdcard(baseDoctorDO.getIdcard());
            if (doctorMappingDO==null){
                doctorMappingDO = new DoctorMappingDO();
            }
            doctorMappingDO.setMappingCode(doctorMappingCode);
            doctorMappingDO.setDoctor(baseDoctorDO.getId());
            doctorMappingDO.setDoctorName(baseDoctorDO.getName());
            doctorMappingDO.setIdcard(baseDoctorDO.getId());
            doctorMappingDO.setCreateTime(new Date());
            doctorMappingDO= doctorMappingDao.save(doctorMappingDO);
        }
        //修改医生角色关联关系,医生默认可以没有角色,前端不修改就不做任何操作
        if(!CollectionUtils.isEmpty(role)){
@ -603,6 +660,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
         if(!CollectionUtils.isEmpty(hospital)){
             BaseDoctorHospitalDO baseDoctorHospitalDO = null;
             Set<Object> hospitalIdList = baseDoctorHospitalService.findDocHospIdList(baseDoctorDO.getId());
             String orgCode = "";
             String orgName="";
             try {
                 for(Object object : hospital){
                     baseDoctorHospitalDO = objectMapper.readValue(object.toString(),BaseDoctorHospitalDO.class);
@ -615,8 +674,13 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                     if (dictHospitalDeptDO!=null){
                         baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName());
                     }
                     orgCode = baseDoctorHospitalDO.getOrgCode();
                     orgName = baseDoctorHospitalDO.getOrgName();
                     baseDoctorHospitalService.save(baseDoctorHospitalDO);
                 }
                 doctorMappingDO.setOrgCode(orgCode);
                 doctorMappingDO.setOrgName(orgName);
                 doctorMappingDao.save(doctorMappingDO);
             } catch (IOException e) {
                 result.put("msg","convert hospital jsonObject to baseDoctorHospitalDO failed," + e.getCause());
                 result.put("response",ConstantUtils.FAIL);
@ -925,5 +989,179 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        result.put("correctCount", doctors.size());
        return result;
    }
    public Map saveIncentive(String doctor,String incentiveIds){
        List<BaseDoctorIncentiveDO> list = baseDoctorIncentiveDao.findByDoctorCode(doctor);
        Map map = new HashMap();
        String name = "";
        BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor);
        if (baseDoctorDO!=null){
            name = baseDoctorDO.getName();
            map.put("status",-1);
            map.put("msg","获取医生信息失败");
        }
        if (incentiveIds.contains(",")){
            String[] incentiveId = incentiveIds.split(",");
            for (int i= 0;i<incentiveId.length;i++){
                BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(incentiveId[i]);
                if (list!=null&&list.size()>0){
                    for (int j= 0;j<list.size();j++){
                        if (list.get(j).getIncentiveId().equalsIgnoreCase(incentiveId[i])){
                            list.get(j).setIsDel("1");
                            baseDoctorIncentiveDao.save(list.get(j));
                            list.remove(j);
                        }else {
                            BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO();
                            baseDoctorIncentiveDO.setIsDel("1");
                            baseDoctorIncentiveDO.setDoctorCode(doctor);
                            baseDoctorIncentiveDO.setDoctorName(name);
                            baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId());
                            baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName());
                            baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg());
                            baseDoctorIncentiveDao.save(baseDoctorIncentiveDO);
                        }
                    }
                    for (BaseDoctorIncentiveDO baseDoctorIncentiveDO:list){
                        baseDoctorIncentiveDO.setIsDel("0");
                        baseDoctorIncentiveDao.save(baseDoctorIncentiveDO);
                    }
                }else {
                    BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO();
                    baseDoctorIncentiveDO.setIsDel("1");
                    baseDoctorIncentiveDO.setDoctorCode(doctor);
                    baseDoctorIncentiveDO.setDoctorName(name);
                    baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId());
                    baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName());
                    baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg());
                    baseDoctorIncentiveDao.save(baseDoctorIncentiveDO);
                }
            }
            map.put("status",200);
            map.put("msg","操作成功");
        }else {
            BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(incentiveIds);
            if (baseIncentiveDictDO!=null){
                BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO();
                baseDoctorIncentiveDO.setIsDel("1");
                baseDoctorIncentiveDO.setDoctorCode(doctor);
                baseDoctorIncentiveDO.setDoctorName(name);
                baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId());
                baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName());
                baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg());
                baseDoctorIncentiveDao.save(baseDoctorIncentiveDO);
            }
            map.put("status",200);
            map.put("msg","操作成功");
        }
        return map;
    }
    @Transactional
    public Map saveDoctorIncentive(String doctor,String incentiveIds) throws Exception{
        List<BaseDoctorIncentiveDO> list = baseDoctorIncentiveDao.findByDoctorCode(doctor);
        List<BaseDoctorIncentiveDO> saveList = new ArrayList<>();
        Map map = new HashMap();
        String name = "";
        BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor);
        if (baseDoctorDO!=null){
            name = baseDoctorDO.getName();
            map.put("status",-1);
            map.put("msg","获取医生信息失败");
        }
        if (incentiveIds.contains(",")){
            String[] incentiveId = incentiveIds.split(",");
            for (int i= 0;i<incentiveId.length;i++){
                BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(incentiveId[i]);
                if (list!=null&&list.size()>0){
                    for (int j= 0;j<list.size();j++){
                        if (list.get(j).getIncentiveId().equalsIgnoreCase(incentiveId[i])&&"1".equalsIgnoreCase(list.get(j).getIsDel())){
                            throw new Exception("该激励已经保存过");
                        }else if (list.get(j).getIncentiveId().equalsIgnoreCase(incentiveId[i])&&"0".equalsIgnoreCase(list.get(j).getIsDel())){
                            list.get(j).setIsDel("1");
                            saveList.add(list.get(j));
                        }else {
                            BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO();
                            baseDoctorIncentiveDO.setIsDel("1");
                            baseDoctorIncentiveDO.setDoctorCode(doctor);
                            baseDoctorIncentiveDO.setDoctorName(name);
                            baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId());
                            baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName());
                            baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg());
                            saveList.add(baseDoctorIncentiveDO);
                        }
                    }
                }else {
                    BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO();
                    baseDoctorIncentiveDO.setIsDel("1");
                    baseDoctorIncentiveDO.setDoctorCode(doctor);
                    baseDoctorIncentiveDO.setDoctorName(name);
                    baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId());
                    baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName());
                    baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg());
                    saveList.add(baseDoctorIncentiveDO);
                }
            }
            baseDoctorIncentiveDao.save(saveList);
            map.put("status",200);
            map.put("msg","操作成功");
        }else {
            BaseIncentiveDictDO baseIncentiveDictDO = baseIncentiveDictDao.findoneById(incentiveIds);
            if (baseIncentiveDictDO!=null){
                BaseDoctorIncentiveDO baseDoctorIncentiveDO = new BaseDoctorIncentiveDO();
                baseDoctorIncentiveDO.setIsDel("1");
                baseDoctorIncentiveDO.setDoctorCode(doctor);
                baseDoctorIncentiveDO.setDoctorName(name);
                baseDoctorIncentiveDO.setIncentiveId(baseIncentiveDictDO.getId());
                baseDoctorIncentiveDO.setIncentiveName(baseIncentiveDictDO.getIncentiveName());
                baseDoctorIncentiveDO.setIncentiveImg(baseIncentiveDictDO.getIncentiveImg());
                baseDoctorIncentiveDao.save(baseDoctorIncentiveDO);
            }
            map.put("status",200);
            map.put("msg","操作成功");
        }
        return map;
    }
    public Envelop removeDoctorIncentive(String doctor, String incentiveId){
        Envelop envelop = new Envelop();
        BaseDoctorIncentiveDO baseDoctorIncentiveDO = baseDoctorIncentiveDao.findByDoctorCodeAndIncentiveIdAndIsDel(doctor,incentiveId,"1");
        if (baseDoctorIncentiveDO!=null){
            baseDoctorIncentiveDO.setIsDel("0");
            baseDoctorIncentiveDao.save(baseDoctorIncentiveDO);
            envelop.setStatus(200);
            envelop.setMessage("删除成功");
        }else {
            envelop.setStatus(-1);
            envelop.setMessage("删除失败");
        }
        return envelop;
    }
    public MixEnvelop findIncentiveByDoctor(String doctorId, Integer page, Integer pageSize) {
        MixEnvelop mixEnvelop = new MixEnvelop();
        List<BaseDoctorIncentiveDO> list = baseDoctorIncentiveDao.findByDoctorCodeList(doctorId,creatPage(page,pageSize,""));
        List<BaseDoctorIncentiveDO> listCount = baseDoctorIncentiveDao.findByDoctorCodeListCount(doctorId);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setTotalCount(listCount==null?0:listCount.size());
        mixEnvelop.setDetailModelList(list);
        return mixEnvelop;
    }
    public List<Map<String,Object>> findIncentiveDict(String doctorCode){
        String sql = "select b.id as \"id\"," +
                "b.incentive_name as \"incentiveName\"," +
                "b.incentive_img as \"incentiveImg\"," +
                "b.incentive_status as \"incentiveStatus\"," +
                "b.is_del as \"isDel\"," +
                "b.incentive_code as \"incentiveCode\"," +
                "b.create_time as \"createTime\"" +
                "from base_incentive_dict b left join base_doctor_incentive d" +
                " on b.id = d.incentive_id where is_del = '1'";
        if (!StringUtils.isEmpty(doctorCode)){
            sql+=" and d.doctor_code!='"+doctorCode+"'";
        }
        sql+=" group by  b.id,b.incentive_img,b.incentive_name" +
                "b.incentive_status ,b.is_del, b.incentive_code,b.create_time";
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
        return list;
    }
}

+ 19 - 28
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java

@ -16,6 +16,7 @@ import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.restmodel.base.wx.WxGraphicMessageVO;
import com.yihu.jw.restmodel.base.wx.WxReplySceneVO;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
@ -140,24 +141,16 @@ public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
                        "FROM\n" +
                        "\tbase_org\n" +
                        "WHERE\n" +
                        "\t(\n" +
                        "\t\t(code like '{code}' OR '' =  '{code}')\n" +
                        "\t\tAND (del = '{orgStatus}' OR '' = '{orgStatus}')\n" +
                        "\t)\n" +
                        "OR (\n" +
                        "\t(NAME LIKE '{name}' OR '' = '{name}')\n" +
                        "\tAND (del ='{orgStatus}' OR '' = '{orgStatus}')\n" +
                        ")\n" +
                        "AND (del = '{orgStatus}' OR '' = '{orgStatus}')\n" +
                        "ORDER BY\n" +
                        " 1=1 ";
                if (!StringUtil.isBlank(codeOrNameValue)){
                    sql+=" and (code like '%"+codeOrNameValue+"%' or  NAME like '%"+codeOrNameValue+"%') ";
                }
                if (!StringUtil.isBlank(orgStatus)){
                    sql+=" and del = '"+orgStatus+"'";
                }
                sql+="  ORDER BY\n" +
                        "\tcreate_time DESC";
                String finalSql = sql
                .replace("{code}", "%" + codeOrNameValue + "%")
                .replace("{name}", "%" + codeOrNameValue + "%")
                .replace("{orgStatus}", null == orgStatus ? "" : orgStatus);
                String finalSql = sql;
        List<Map<String, Object>> list=null;
        if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
@ -194,17 +187,15 @@ public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
        String countSql = "SELECT count(id)" +
                " FROM base_org " +
                " WHERE " +
                " ((code like '{code}' or ''='{code}')  and (del = '{orgStatus}' or ''='{orgStatus}'))" +
                " OR " +
                " ((name like '{name}' or ''='{name}') and (del = '{orgStatus}' or ''='{orgStatus}'))" +
                " AND" +
                " (del = '{orgStatus}' OR ''='{orgStatus}')";
        String finalCountSql = countSql
                .replace("{code}", "%" + codeOrNameValue + "%")
                .replace("{name}", "%" + codeOrNameValue + "%")
                .replace("{orgStatus}", null == orgStatus ? "" : orgStatus);
        Logger.getAnonymousLogger().info("finalCountSql="+finalCountSql);
        Integer count = jdbcTemplate.queryForObject(finalCountSql, Integer.class);
               " 1=1 ";
        if (!StringUtil.isBlank(codeOrNameValue)){
            countSql+=" and (code like '%"+codeOrNameValue+"%' or  NAME like '%"+codeOrNameValue+"%') ";
        }
        if (!StringUtil.isBlank(orgStatus)){
            countSql+=" and del = '"+orgStatus+"'";
        }
        Logger.getAnonymousLogger().info("finalCountSql="+countSql);
        Integer count = jdbcTemplate.queryForObject(countSql, Integer.class);
        result.put("count", count);
        result.put("msg", JavaBeanUtils.getInstance().mapListJson(list));
        return result;

+ 24 - 21
svr/svr-base/src/main/java/com/yihu/jw/base/service/team/BaseTeamService.java

@ -21,6 +21,7 @@ import com.yihu.jw.entity.base.team.BaseTeamMemberDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.restmodel.base.wx.WxGraphicMessageVO;
import com.yihu.jw.restmodel.base.wx.WxReplySceneVO;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
@ -314,9 +315,6 @@ public class BaseTeamService extends BaseJpaService<BaseTeamDO, BaseTeamDao> {
        JSONObject result = new JSONObject();
      /*  int start = 0 == page ? page++ : (page - 1) * size;
        int end = 0 == size ? 15 : page * size;*/
        String teamNameValue = null == teamName ? "" : teamName;
        String orgCodeValue = null == orgCode ? "" : orgCode;
        String statusValue = null == status ? "" : status;
//        String sql = " " +
//                "SELECT " +
@ -368,18 +366,20 @@ public class BaseTeamService extends BaseJpaService<BaseTeamDO, BaseTeamDao> {
                "  base_team team, " +
                "  base_org org " +
                "WHERE " +
                "  team.org_code = org.code " +
                "  and (team.name like '{teamName}' or '' ='{teamName}') " +
                "  and (team.org_code = '{orgCode}' or '' = '{orgCode}') " +
                "  and ( team.del = '{status}' or '' = '{status}') " +
                " ORDER BY team.create_time DESC " ;
                "  team.org_code = org.code " ;
        String finalSql = sql
                .replace("{teamName}","%" + teamNameValue + "%")
                .replace("{orgCode}",orgCodeValue)
                .replace("{status}",statusValue);
        if (!StringUtil.isBlank(teamName)){
            sql += " and team.name like '%"+teamName+"%'";
        }
        if (!StringUtil.isBlank(orgCode)){
            sql += " and team.org_code = '"+orgCode+"'";
        }
        if (!StringUtil.isBlank(status)){
            sql += " and team.del = '"+status+"'";
        }
        sql+= " ORDER BY team.create_time DESC " ;
        String finalSql = sql;
        List<Map<String,Object>>  list=null;
        if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
@ -423,14 +423,17 @@ public class BaseTeamService extends BaseJpaService<BaseTeamDO, BaseTeamDao> {
                "  base_team team, " +
                "  base_org org " +
                "WHERE " +
                "  team.org_code = org.code " +
                "  AND (team.name LIKE '{teamName}' OR '' = '{teamName}') " +
                "  AND (team.org_code = '{orgCode}' OR '' = '{orgCode}') " +
                "  AND (team.del = '{status}' OR '' = '{status}')";
        String finalCountSql = countSql
                .replace("{teamName}","%" + teamNameValue + "%")
                .replace("{orgCode}",orgCodeValue)
                .replace("{status}",statusValue);
                "  team.org_code = org.code " ;
        if (!StringUtil.isBlank(teamName)){
            sql += " and team.name like '%"+teamName+"%'";
        }
        if (!StringUtil.isBlank(orgCode)){
            sql += " and team.org_code = '"+orgCode+"'";
        }
        if (!StringUtil.isBlank(status)){
            sql += " and team.del = '"+status+"'";
        }
        String finalCountSql = countSql;
        Logger.getAnonymousLogger().info("finalCountSql="+finalCountSql);
        int count = jdbcTemplate.queryForObject(finalCountSql,Integer.class);
        result.put("count", count);

+ 1 - 1
svr/svr-base/src/main/resources/bootstrap.yml

@ -1,6 +1,6 @@
spring:
  application:
    name: svr-base
    name: svr-base-ysj
  cloud:
    config:
      failFast: true

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

@ -5,14 +5,20 @@ import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService;
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.Date;
@Lazy(false)
@Component
@EnableScheduling
public class DownLoadYxJob implements SchedulingConfigurer {
    private static final Logger logger = LoggerFactory.getLogger(DownLoadYxJob.class);
    private static String cron = "0 0 0 * * ?";//"0 0 0 * * ?";0 */5 * * * ?

+ 7 - 5
svr/svr-internet-hospital/pom.xml

@ -204,6 +204,12 @@
            <groupId>com.yihu.jw</groupId>
            <artifactId>base-service</artifactId>
            <version>2.0.0</version>
            <exclusions>
                <exclusion>
                    <groupId>xalan</groupId>
                    <artifactId>xalan</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--<dependency>-->
            <!--<groupId>com.yihu.jw</groupId>-->
@ -229,11 +235,7 @@
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>xom</groupId>
            <artifactId>xom</artifactId>
            <version>1.2.5</version>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>

+ 3 - 1
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/dict/PrivateDictEndpoint.java

@ -77,6 +77,8 @@ public class PrivateDictEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.findDict)
    public ListEnvelop findDict(@ApiParam(name = "name", value = "name", required = false)
                                     @RequestParam(value = "name", required = false)String name,
                                @ApiParam(name = "modelName", value = "modelName", required = false)
                                @RequestParam(value = "modelName", required = false)String modelName,
                                @ApiParam(name = "code", value = "code", required = false)
                                @RequestParam(value = "code", required = false)String code,
                                @ApiParam(name = "value", value = "value", required = false)
@ -86,7 +88,7 @@ public class PrivateDictEndpoint extends EnvelopRestEndpoint {
                                @ApiParam(name = "pageSize", value = "pageSize", required = false)
                                    @RequestParam(value = "pageSize", required = false)Integer pageSize){
        return success(wlyyHospitalSysDictService.findDictsByNameCode(name,code,value1,page,pageSize));
        return success(wlyyHospitalSysDictService.findDictsByNameCode(modelName,name,code,value1,page,pageSize));
    }
    @ApiOperation("删除字典")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.delDict)

+ 1 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/drugstore/BaseDrugStoreEndpoint.java

@ -81,4 +81,5 @@ public class BaseDrugStoreEndpoint extends EnvelopRestEndpoint {
            return failed("查询失败");
        }
    }
}

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

@ -22,6 +22,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.es.service.StatisticsEsService;
import com.yihu.jw.file_upload.FileUploadService;
import com.yihu.jw.hospital.dao.consult.KnowledgeArticleUserDao;
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
import com.yihu.jw.hospital.httplog.service.WlyyHttpLogService;
@ -53,6 +54,7 @@ import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.rm.patient.PatientRequestMapping;
import com.yihu.jw.sms.service.YkyyINSMSService;
import com.yihu.jw.util.common.FileUtil;
import com.yihu.jw.util.common.XMLUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.wechat.dao.BasePatientWechatDao;
@ -195,6 +197,12 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    private SystemMessageService systemMessageService;
    @Autowired
    private ConsultDao consultDao;
    @Autowired
    FileUploadService fileUploadService;
    @Autowired
    private FileUtil fileUtil;
    @Value("${fastDFS.fastdfs_file_url}")
    private String fastdfs_file_url;
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findDoctorByHospitalAndDiseaseAndDept)
    @ApiOperation(value = "根据疾病名称,热门部门查询医生", notes = "根据疾病名称,热门部门查询医生")
@ -1596,4 +1604,74 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
            return ObjEnvelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorByIdCard)
    @ApiOperation(value = "根据身份证号查询医生", notes = "根据身份证号查询医生")
    public Envelop findDoctorByIdCard(@ApiParam(name = "idCard", value = "身份证号")
                                      @RequestParam(value = "idCard", required = false)String idCard) {
        return success(prescriptionService.findByIdCard(idCard));
    }
    @PostMapping(value = "updateChannelId")
    @ApiOperation(value = "保存云信channelId", notes = "保存云信channelId")
    public Envelop updateChannelId(@ApiParam(name = "id", value = "outpatientId")
                                      @RequestParam(value = "id", required = false)String id,
                                      @ApiParam(name = "channelId", value = "渠道id")
                                      @RequestParam(value = "channelId", required = false)String channelId) {
        prescriptionService.updateChannelId(id,channelId);
        return success("保存成功");
    }
    @PostMapping(value = "uploadFileToWx")
    @ApiOperation(value = "上传语音文件或者视频")
    public Envelop append(
            @ApiParam(name = "type", value = "追问内容类型:1文字,2图片,3语音  ... (im消息类型)")
            @RequestParam(value = "type",required = true) Integer type,
            @ApiParam(name = "times", value = "")
            @RequestParam(value = "times",required = false) Integer times) throws Exception {
        JSONObject object = new JSONObject();
        //处理语音文件
        if(!org.springframework.util.StringUtils.isEmpty(wxId)){
//			imService.getInputStream("1",wechat_appid);
            if(3 == type){//语音文件
                String voicepath = imService.fetchWxVoices(wxId);
                logger.info("voice_path:"+voicepath);
                JSONObject obj = new JSONObject();
                String voiceurl = "";
                // 将临时语音拷贝到正式存储路径下
                if (org.apache.commons.lang3.StringUtils.isNotEmpty(voicepath)) {
                    if("xm_ihealth_wx".equals(wxId)){
                        logger.info("voice_wx_type:"+wxId);
                        voiceurl = fileUploadService.uploadWxVoice(voicepath);
//					uploadVO.setFullUri(map.get("accessory").toString());
                    }else {
                        voiceurl = fileUtil.copyTempVoice(voicepath,fastdfs_file_url);
                    }
                    obj.put("path", voiceurl);
                    obj.put("times", times);
                }
                object.put("path",voiceurl);
            }else if(2 == type){//图片文件
                String imagepath = imService.fetchWxImages(wxId);
                logger.info("image_path:"+imagepath);
                JSONObject obj = new JSONObject();
                String imgeUrl = "";
                // 将临时语音拷贝到正式存储路径下
                if (org.apache.commons.lang3.StringUtils.isNotEmpty(imagepath)) {
                    if("xm_ihealth_wx".equals(wxId)){
                        logger.info("imge_wx_type:"+wxId);
                        imgeUrl = fileUploadService.uploadWxImage(imagepath);
//					uploadVO.setFullUri(map.get("accessory").toString());
                    }else{
                        imgeUrl = fileUtil.copyTempVoice(imagepath,fastdfs_file_url);
                    }
                    object.put("path",imgeUrl);
                }
            }else{}
        }
        return success(object);
    }
}

+ 7 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/NationalDrugDictEndpoint.java

@ -55,4 +55,11 @@ public class NationalDrugDictEndpoint extends EnvelopRestEndpoint {
        nationalDrugDictService.updateNationalDrugStatus(id,status);
        return success();
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getNationalDrugById)
    @ApiOperation(value = "根据id获取药品字典")
    public ObjEnvelop getNationalDrugById(@ApiParam(name = "id", value = "药品id")
                                          @RequestParam(name = "id", required = true) Integer id) {
        return success(nationalDrugDictService.getNationalDrugById(id));
    }
}

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

@ -455,9 +455,9 @@ spring:
    host: 192.168.33.198 # Redis server host.
    port: 6380 # Redis server port.
fastDFS:
  fastdfs_file_url: http://172.26.0.110:8888/
  fastdfs_file_url: http://192.168.33.198:8888/
fast-dfs:
  tracker-server: 172.26.0.110:22122 #服务器地址
  tracker-server: 192.168.33.198:22122 #服务器地址
wechat:
  id: xm_ykyy_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle

+ 4 - 0
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/dao/rehabilitation/RehabilitationOperateRecordsDao.java

@ -29,6 +29,10 @@ public interface RehabilitationOperateRecordsDao extends PagingAndSortingReposit
    @Query("update RehabilitationOperateRecordsDO a set a.node=?1,a.status=1 where a.rehabilitationDetailId =?2 ")
    int updateNodeByPlanDetailId(String node,String rehabilitataioDetailId);
    @Modifying
    @Query("update RehabilitationOperateRecordsDO a set a.relationRecordImg=?1,a.status=1 where a.rehabilitationDetailId =?2 ")
    int updateImagByPlanDetailId(String image,String rehabilitataioDetailId);
    @Query("select a from RehabilitationOperateRecordsDO a where a.rehabilitationDetailId=?1 and a.doctorCode=?2 and a.status<>?3")
    List<RehabilitationOperateRecordsDO> findByRehabilitationDetailIdAndDoctorCodeAndStatusNot(String rehabilitationDetailId,String doctorCode,Integer status);
}

+ 10 - 3
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/rehabilitation/RehabilitationManageService.java

@ -1198,12 +1198,18 @@ public class RehabilitationManageService {
                detailDO.setRelationCode(relationCode);
            }
            rehabilitationDetailDao.save(detailDO);
            if (StringUtils.isNoneBlank(node)){
                int j = rehabilitationOperateRecordsDao.updateNodeByPlanDetailId(node,planDeatilId);
            }
            if (StringUtils.isNoneBlank(image)&&StringUtils.isNoneBlank(node)){
                int j = rehabilitationOperateRecordsDao.updateNodeAndRelationRecordImg(node,image,planDeatilId);
            }
            else if (StringUtils.isNoneBlank(node)){
                int j = rehabilitationOperateRecordsDao.updateNodeByPlanDetailId(node,planDeatilId);
            }
            else if (StringUtils.isNoneBlank(image)){//
                int j = rehabilitationOperateRecordsDao.updateImagByPlanDetailId(image,planDeatilId);
            }
            else{//跟新为已完成
                int j = rehabilitationOperateRecordsDao.updateStatus(1,planDeatilId);
            }
            //如果整个计划的服务项都完成了,整个计划也完成了
            String allSql ="SELECT * FROM wlyy_rehabilitation_plan_detail where plan_id = (SELECT plan_id FROM `wlyy_rehabilitation_plan_detail` WHERE id='"+planDeatilId+"')";
            allSql = TransforSqlUtl.wlyy_rehabilitation_plan_detailAll(allSql);
@ -1267,6 +1273,7 @@ public class RehabilitationManageService {
            rehabilitationOperateRecordsDO.setReserveTime(rehabilitationDetailDO.getExecuteTime());
        }
        rehabilitationOperateRecordsDO.setStatus(3);
        rehabilitationOperateRecordsDO.setRelationRecordImg("[]");
        rehabilitationOperateRecordsDO.setRehabilitationDetailId(rehabilitationDetailDO.getId());
        rehabilitationOperateRecordsDO.setPatientCode(patientRehabilitationPlanDO.getPatient());
        rehabilitationOperateRecordsDO.setPatientName(patientRehabilitationPlanDO.getName());