Browse Source

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

liubing 4 years ago
parent
commit
579ae8c63f
100 changed files with 3025 additions and 112 deletions
  1. 2 1
      business/base-service/src/main/java/com/yihu/jw/dict/dao/DictHospitalDeptDao.java
  2. 65 0
      business/base-service/src/main/java/com/yihu/jw/dict/service/HospitalParameterService.java
  3. 1 0
      business/base-service/src/main/java/com/yihu/jw/doctor/dao/BaseDoctorHospitalDao.java
  4. 8 0
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/BaseHospitalParameterDao.java
  5. 20 0
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/BaseIncentiveDictDao.java
  6. 3 0
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/WlyyHospitalSysDictDao.java
  7. 95 0
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/service/BaseIncentiveDictService.java
  8. 138 6
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/service/WlyyHospitalSysDictService.java
  9. 5 3
      business/base-service/src/main/java/com/yihu/jw/hospital/drugstore/dao/BaseDrugStoreDao.java
  10. 18 0
      business/base-service/src/main/java/com/yihu/jw/hospital/drugstore/dao/BaseDrugStoreTimeDao.java
  11. 158 3
      business/base-service/src/main/java/com/yihu/jw/hospital/drugstore/service/BaseDrugStoreService.java
  12. 2 0
      business/base-service/src/main/java/com/yihu/jw/hospital/mapping/dao/DoctorMappingDao.java
  13. 2 0
      business/base-service/src/main/java/com/yihu/jw/hospital/mapping/dao/PatientMappingDao.java
  14. 14 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/BaseNationalDrugDictDao.java
  15. 85 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/NationalDrugDictService.java
  16. 10 14
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  17. 8 3
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/YkyyPrescriptionService.java
  18. 3 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java
  19. 2 2
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java
  20. 3 3
      common/common-entity/src/main/java/com/yihu/jw/entity/IntegerIdentityEntity.java
  21. 72 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseDrugStoreDO.java
  22. 59 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/area/BaseDrugStoreTimeDO.java
  23. 57 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseIncentiveDictDO.java
  24. 51 5
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHospitalDeptDO.java
  25. 173 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DiseaseManageDO.java
  26. 3 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorHospitalDO.java
  27. 70 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorIncentiveDO.java
  28. 18 1
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/consult/WlyyHospitalSysDictDO.java
  29. 85 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/dict/BaseHospitalParameterDO.java
  30. 429 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/BaseNationalDrugDictDO.java
  31. 29 2
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  32. 13 1
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java
  33. 9 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/prescription/WlyyHisPrescriptionVO.java
  34. 70 0
      common/common-util/src/main/java/com/yihu/jw/util/common/PingyinUtils.java
  35. 15 1
      common/common-util/src/main/java/com/yihu/jw/util/date/DateUtil.java
  36. 70 6
      server/svr-authentication/pom.xml
  37. 70 6
      svr/svr-base/pom.xml
  38. 36 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DiseaseManageDao.java
  39. 27 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/doctor/BaseDoctorIncentiveDao.java
  40. 61 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DictHospitalDeptEndpoint.java
  41. 93 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DiseaseManageEndpoint.java
  42. 48 2
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/WlyyHospitalSysDictEndpoint.java
  43. 98 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorEndpoint.java
  44. 69 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/org/BaseOrgEndpoint.java
  45. 238 3
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictHospitalDeptService.java
  46. 165 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DiseaseManageService.java
  47. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorHospitalService.java
  48. 211 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java
  49. 19 28
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java
  50. 24 21
      svr/svr-base/src/main/java/com/yihu/jw/base/service/team/BaseTeamService.java
  51. 0 0
      svr/svr-door-service/pom.xml
  52. 0 0
      svr/svr-door-service/readme.MD
  53. 0 0
      svr/svr-door-service/sql/初始sql.sql
  54. 0 0
      svr/svr-door-service/sql/随访记录详情新增索引.txt
  55. 0 0
      svr/svr-door-service/src/main/java/com/yihu/SvrDoorServiceApplication.java
  56. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/config/jpa/DoorServiceJpa.java
  57. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/config/jpa/HibernateProperties.java
  58. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/BaseController.java
  59. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/common/DistrictController.java
  60. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/common/EntranceController.java
  61. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoctorConsultController.java
  62. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoctorController.java
  63. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoctorDoorServiceAuditController.java
  64. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoctorQuickReplyController.java
  65. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoorOrderController.java
  66. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoorStatisticAnalyzeController.java
  67. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/followup/DoctorFollowUpController.java
  68. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/followup/DoctorFollowupDrugsController.java
  69. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/ConsultController.java
  70. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/DoorCommentController.java
  71. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/PatientController.java
  72. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/PatientDoorServiceApplicationController.java
  73. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorCommentController.java
  74. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorCommentDoctorController.java
  75. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorConclusionController.java
  76. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorDoctorController.java
  77. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorDoctorFeeController.java
  78. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorFeeDetailController.java
  79. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorPatientConfirmLogController.java
  80. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorServiceOrderController.java
  81. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoctorRegistrationDao.java
  82. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoctorRegistrationTempDao.java
  83. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoorServiceApplicationDao.java
  84. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoorServiceConfigureDao.java
  85. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoorServiceOrderDao.java
  86. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoorServiceVoucherDao.java
  87. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorCancelLogDao.java
  88. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorCommentDao.java
  89. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorCommentDoctorDao.java
  90. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorConclusionDao.java
  91. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorDoctorDao.java
  92. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorDoctorFeeDictDao.java
  93. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorDoctorStatusDao.java
  94. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorFeeDetailDao.java
  95. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorOrderItemDao.java
  96. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorPatientConfirmLogDao.java
  97. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorPrescriptionDao.java
  98. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorPrescriptionDetailDao.java
  99. 0 0
      svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorPrescriptionDrugDao.java
  100. 0 0
      svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorProcessLogDao.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);

+ 65 - 0
business/base-service/src/main/java/com/yihu/jw/dict/service/HospitalParameterService.java

@ -0,0 +1,65 @@
package com.yihu.jw.dict.service;
import com.yihu.jw.entity.hospital.dict.BaseHospitalParameterDO;
import com.yihu.jw.hospital.dict.BaseHospitalParameterDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
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.stereotype.Service;
import java.util.Date;
import java.util.List;
import static com.yihu.jw.util.common.BeanUtils.getNullPropertyNames;
@Service
public class HospitalParameterService extends BaseJpaService<BaseHospitalParameterDO, BaseHospitalParameterDao> {
    @Autowired
    private BaseHospitalParameterDao hospitalParameterDao;
    public BaseHospitalParameterDO createOrUpdateParameter(BaseHospitalParameterDO hospitalParameterDO) {
        //判断新增或编辑
        if (hospitalParameterDO.getId() == null) {
            hospitalParameterDO.setCreateTime(new Date());
            hospitalParameterDO.setDel(1);
            hospitalParameterDO.setUpdateTime(new Date());
            return hospitalParameterDao.save(hospitalParameterDO);
        } else {
            BaseHospitalParameterDO oldHospitalParameter = hospitalParameterDao.findOne(hospitalParameterDO.getId());
            BeanUtils.copyProperties(hospitalParameterDO, oldHospitalParameter, getNullPropertyNames(hospitalParameterDO));
            oldHospitalParameter.setUpdateTime(new Date());
            return hospitalParameterDao.save(oldHospitalParameter);
        }
    }
    public void delHospitalParameter(Integer id) {
        hospitalParameterDao.delete(id);
    }
    public MixEnvelop getHospitalParameterList(String name, String hospital, Integer del, Integer page, Integer pageSize) throws Exception {
        MixEnvelop mixEnvelop = new MixEnvelop();
        String filters = "";
        if (StringUtils.isNotBlank(name)) {
            filters += "name?" + name + ";";
        }
//        if (StringUtils.isNotBlank(number)) {
//            filters += "number?" + number + ";";
//        }
        if (StringUtils.isNotBlank(hospital)) {
            filters += "hospital=" + hospital + ";";
        }
        if (del != null) {
            filters += "del=" + del + ";";
        }
        Integer count = this.search(null, filters, null).size();
        List<BaseHospitalParameterDO> list = this.search(null, filters, null, page, pageSize);
        mixEnvelop.setMessage("获取成功!");
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setTotalCount(count);
        mixEnvelop.setDetailModelList(list);
        return mixEnvelop;
    }
}

+ 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);
}

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

@ -0,0 +1,8 @@
package com.yihu.jw.hospital.dict;
import com.yihu.jw.entity.hospital.dict.BaseHospitalParameterDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseHospitalParameterDao extends PagingAndSortingRepository<BaseHospitalParameterDO, Integer>, JpaSpecificationExecutor<BaseHospitalParameterDO> {
}

+ 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);

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

@ -0,0 +1,14 @@
package com.yihu.jw.hospital.prescription.dao;
import com.yihu.jw.entity.hospital.prescription.BaseNationalDrugDictDO;
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;
public interface BaseNationalDrugDictDao extends PagingAndSortingRepository<BaseNationalDrugDictDO, Integer>, JpaSpecificationExecutor<BaseNationalDrugDictDO> {
    @Query("update BaseNationalDrugDictDO b set b.status = ?2 where b.id = ?1")
    @Modifying
    void updateStatusById(Integer id, Integer status);
}

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

@ -0,0 +1,85 @@
package com.yihu.jw.hospital.prescription.service;
import com.yihu.jw.entity.hospital.prescription.BaseNationalDrugDictDO;
import com.yihu.jw.hospital.prescription.dao.BaseNationalDrugDictDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.util.common.ConvertToSpellUtils;
import com.yihu.jw.util.common.PingyinUtils;
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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import static com.yihu.jw.util.common.BeanUtils.getNullPropertyNames;
@Service
@Transactional
public class NationalDrugDictService extends BaseJpaService<BaseNationalDrugDictDO, BaseNationalDrugDictDao> {
    @Autowired
    private BaseNationalDrugDictDao nationalDrugDictDao;
    public BaseNationalDrugDictDO saveNationalDrug(BaseNationalDrugDictDO nationalDrugDictDO) {
        nationalDrugDictDO.setPyName(ConvertToSpellUtils.changeToTonePinYin(nationalDrugDictDO.getName()));
        nationalDrugDictDO.setPyCommonName(ConvertToSpellUtils.changeToTonePinYin(nationalDrugDictDO.getCommonName()));
        //判断新增或编辑
        if (nationalDrugDictDO.getId() == null) {
            nationalDrugDictDO.setCreateTime(new Date());
            nationalDrugDictDO.setStatus(1);
            nationalDrugDictDO.setUpdateTime(new Date());
            return nationalDrugDictDao.save(nationalDrugDictDO);
        }else {
            BaseNationalDrugDictDO oldDurgDictDO =  nationalDrugDictDao.findOne(nationalDrugDictDO.getId());
            BeanUtils.copyProperties(nationalDrugDictDO, oldDurgDictDO, getNullPropertyNames(nationalDrugDictDO));
            oldDurgDictDO.setUpdateTime(new Date());
            return nationalDrugDictDao.save(oldDurgDictDO);
        }
    }
    /**
     * 获取药品列表
     *
     * @param name
     * @param number
     * @param hospital
     * @param status
     * @param page
     * @param pageSize
     * @return
     * @throws ParseException
     */
    public MixEnvelop getNationalDrugList(String name, String number, String hospital, Integer status, Integer page, Integer pageSize) throws ParseException {
        MixEnvelop mixEnvelop = new MixEnvelop();
        String filters = "";
        if (StringUtils.isNotBlank(name)) {
            filters += "name?" + name + ";";
        }
        if (StringUtils.isNotBlank(number)) {
            filters += "number?" + number + ";";
        }
        if (StringUtils.isNotBlank(hospital)) {
            filters += "hospital=" + hospital + ";";
        }
        if (status != null) {
            filters += "status=" + status + ";";
        }
        Integer count = this.search(null, filters, null).size();
        List<BaseNationalDrugDictDO> list = this.search(null, filters, null, page, pageSize);
        mixEnvelop.setMessage("获取成功!");
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setTotalCount(count);
        mixEnvelop.setDetailModelList(list);
        return mixEnvelop;
    }
    public void updateNationalDrugStatus(Integer id, Integer status) {
         nationalDrugDictDao.updateStatusById(id, status);
    }
}

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

@ -10537,11 +10537,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();
@ -10555,9 +10552,9 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    com.alibaba.fastjson.JSONObject jsonObject = object.getJSONObject("MsgInfo");
                    String Msg = jsonObject.getString("Msg");
                    if (Msg.contains("Error")){
                        returnMap.put("msg",Msg);
                        returnMap.put("status","-1");
                        return  returnMap;
                            returnMap.put("msg",Msg);
                            returnMap.put("status","-1");
                            return  returnMap;
                    }else {
                        flag = true;
                    }
@ -10729,7 +10726,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }else if (wechatId.equalsIgnoreCase("xm_ykyy_wx")){
            Double natFee = 8000.0;
            if(StringUtils.isNoneBlank(chargeAmount)){
                natFee= Double.parseDouble(chargeAmount);
                natFee= Double.parseDouble(chargeAmount)*100;
            }
            BaseNatAppointmentDO baseNatAppointmentDO= new BaseNatAppointmentDO();
            baseNatAppointmentDO.setMedicare(mediaCard);
@ -11126,7 +11123,6 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                                    List<WlyyHospitalSysDictDO> natConfigList = wlyyHospitalSysDictDao.findByDictName("natConfigList");
                                    String checkPart = "鼻/咽拭子";
                                    String chargeFlag = "2";
                                    String chargeCode = "361322";
                                    String icdCode = "Z00.000";
                                    Integer winNo = 6;
                                    for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:natConfigList){
@ -11136,9 +11132,6 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                                        if (StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getDictValue())&&"chargeFlag".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
                                            chargeFlag = wlyyHospitalSysDictDO.getDictValue();
                                        }
                                        if (StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getDictValue())&&"chargeCode".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
                                            chargeCode = wlyyHospitalSysDictDO.getDictValue();
                                        }
                                        if (StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getDictValue())&&"icdCode".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
                                            icdCode = wlyyHospitalSysDictDO.getDictValue();
                                        }
@ -11152,7 +11145,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                                    jsondate.put("checkPart",checkPart);
                                    jsondate.put("cardNo",baseNatAppointmentDO.getMedicare());
                                    jsondate.put("chargeFlag",chargeFlag);
                                    jsondate.put("chargeCode",chargeCode);
                                    jsondate.put("chargeCode",baseNatAppointmentDO.getChargeCode());
                                    jsondate.put("icdCode",icdCode);
                                    jsondate.put("socialNo",baseNatAppointmentDO.getCardNo());
                                    jsondate.put("tellPhone",baseNatAppointmentDO.getMobile());
@ -11393,4 +11386,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }
    }
    public  BaseDoctorDO findByIdCard(String idCard){
        return  baseDoctorDao.findByIdcardAndDel(idCard);
    }
}

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

@ -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() + "\"");

+ 2 - 2
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')";
@ -848,6 +846,7 @@ public class YkyyEntranceService {
                        prescriptionInfoVO.setPackUnitName(object1.getString("yfdw"));
                        prescriptionInfoVO.setUnitName(object1.getString("yfdw"));
                        prescriptionInfoVO.setDosage(object1.getString("mrcs"));
                        prescriptionInfoVO.setSupplyCode(object1.getString("gytj"));
                        prescriptionInfoVO.setPackQuantity(object1.getInteger("yfbz"));
                        prescriptionInfoVO.setUsageCode(object1.getString("ypyf"));
                        prescriptionInfoVO.setDays(object1.getString("yyts"));
@ -2032,6 +2031,7 @@ public class YkyyEntranceService {
        BigDecimal bigDecimal = new BigDecimal("80");
        if (StringUtils.isNoneBlank(natAppointmentDO.getChargeAmount())){
            bigDecimal= new BigDecimal(natAppointmentDO.getChargeAmount());
        }
        List<WlyyHospitalSysDictDO> natConfigList = wlyyHospitalSysDictDao.findByDictName("natConfigList");

+ 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;
    }
}

+ 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() {

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

@ -0,0 +1,85 @@
package com.yihu.jw.entity.hospital.dict;
import com.yihu.jw.entity.IntegerIdentityEntityWithOperator;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Entity;
import javax.persistence.Table;
@Table(name = "base_hospital_parameter")
@Entity
public class BaseHospitalParameterDO extends IntegerIdentityEntityWithOperator {
    private String number;//参数编码
    private String name;//参数名称
    private String value;//参数值
    private String hospital;//所属机构
    private String hospitalName;//所属机构名称
    private String description;//参数描述
    private String explain;//参数值说明
    private Integer del;//是否有效(1是 0否)
    public String getNumber() {
        return number;
    }
    public void setNumber(String number) {
        this.number = number;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
    public String getHospitalName() {
        return hospitalName;
    }
    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getExplain() {
        return explain;
    }
    public void setExplain(String explain) {
        this.explain = explain;
    }
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
}

+ 429 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/BaseNationalDrugDictDO.java

@ -0,0 +1,429 @@
package com.yihu.jw.entity.hospital.prescription;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Entity
@Table(name = "base_national_drug_dict")
@SequenceGenerator(name="id_generated", sequenceName="BASE_NATIONAL_DRUG_DICT_SEQ")
public class BaseNationalDrugDictDO extends IntegerIdentityEntity {
    private String number;//国家编码
    private String name;//国家药品通用名
    private String pyName;//国家药品通用名称拼音码
    private String subjectClass;//科目类别id
    private String subjectClassName;//科目类别名称
    private String commonName;//药品通用名
    private String pyCommonName;//药品通用名称拼音码
    private String hospital;//机构id
    private String hospitalName;//机构名称
    private String relationCode;//国家药品编码saasId(机构药品时该字段才有值)
    private String gyzz;//国药准字
    private String unit;//包装单位
    private String packingSpecifications;//包装规格
    private Integer isSplit;//是否可拆(1是 0否)
    private String drugSpecifications;//药品规格
    private String dosageForm;//剂型
    private String drugCode;//药品类别
    private String drugName;//药品类别名称
    private String minDose;//最小剂量
    private String doseUnit;//剂量单位
    private String doseUnitName;//剂量单位名称
    private String manageClass;//管理类别id
    private BigDecimal retailPrice;//零售价格
    private String medicareSpecifications;//医保规格
    private String medicareUnit;//医保单位
    private String toxicology;//毒理分类
    private String toxicology_name;//毒理分类名称
    private String prescription;//处方用药
    private String gmp;//gmp药品
    private String antimicrobial;//抗菌药分类id
    private String antimicrobialName;//抗菌药分类名称
    private String supplier;//供应商
    private String manufacturer;//厂商
    private String remark;//备注
    private String volumeUnit;//体积单位
    private String weightUnit;//重量单位
    private String drugDose;//用药剂量
    private Integer amount;//用药总量
    private String amountUnit;//总量单位
    private String amountUnitName;//总量单位名称
    private Integer days;//用药天数
    private String frenquency;//用药频次
    private String method;//用药方法
    private Integer status;//状态(1生效 0失效)
    private Date createTime;//创建时间
    private Date updateTime;//更新时间
    public String getNumber() {
        return number;
    }
    public void setNumber(String number) {
        this.number = number;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPyName() {
        return pyName;
    }
    public void setPyName(String pyName) {
        this.pyName = pyName;
    }
    public String getSubjectClass() {
        return subjectClass;
    }
    public void setSubjectClass(String subjectClass) {
        this.subjectClass = subjectClass;
    }
    public String getSubjectClassName() {
        return subjectClassName;
    }
    public void setSubjectClassName(String subjectClassName) {
        this.subjectClassName = subjectClassName;
    }
    public String getCommonName() {
        return commonName;
    }
    public void setCommonName(String commonName) {
        this.commonName = commonName;
    }
    public String getPyCommonName() {
        return pyCommonName;
    }
    public void setPyCommonName(String pyCommonName) {
        this.pyCommonName = pyCommonName;
    }
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
    public String getHospitalName() {
        return hospitalName;
    }
    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }
    public String getRelationCode() {
        return relationCode;
    }
    public void setRelationCode(String relationCode) {
        this.relationCode = relationCode;
    }
    public String getGyzz() {
        return gyzz;
    }
    public void setGyzz(String gyzz) {
        this.gyzz = gyzz;
    }
    public String getUnit() {
        return unit;
    }
    public void setUnit(String unit) {
        this.unit = unit;
    }
    public String getPackingSpecifications() {
        return packingSpecifications;
    }
    public void setPackingSpecifications(String packingSpecifications) {
        this.packingSpecifications = packingSpecifications;
    }
    public Integer getIsSplit() {
        return isSplit;
    }
    public void setIsSplit(Integer isSplit) {
        this.isSplit = isSplit;
    }
    public String getDrugSpecifications() {
        return drugSpecifications;
    }
    public void setDrugSpecifications(String drugSpecifications) {
        this.drugSpecifications = drugSpecifications;
    }
    public String getDosageForm() {
        return dosageForm;
    }
    public void setDosageForm(String dosageForm) {
        this.dosageForm = dosageForm;
    }
    public String getDrugCode() {
        return drugCode;
    }
    public void setDrugCode(String drugCode) {
        this.drugCode = drugCode;
    }
    public String getDrugName() {
        return drugName;
    }
    public void setDrugName(String drugName) {
        this.drugName = drugName;
    }
    public String getMinDose() {
        return minDose;
    }
    public void setMinDose(String minDose) {
        this.minDose = minDose;
    }
    public String getDoseUnit() {
        return doseUnit;
    }
    public void setDoseUnit(String doseUnit) {
        this.doseUnit = doseUnit;
    }
    public String getDoseUnitName() {
        return doseUnitName;
    }
    public void setDoseUnitName(String doseUnitName) {
        this.doseUnitName = doseUnitName;
    }
    public String getManageClass() {
        return manageClass;
    }
    public void setManageClass(String manageClass) {
        this.manageClass = manageClass;
    }
    public BigDecimal getRetailPrice() {
        return retailPrice;
    }
    public void setRetailPrice(BigDecimal retailPrice) {
        this.retailPrice = retailPrice;
    }
    public String getMedicareSpecifications() {
        return medicareSpecifications;
    }
    public void setMedicareSpecifications(String medicareSpecifications) {
        this.medicareSpecifications = medicareSpecifications;
    }
    public String getMedicareUnit() {
        return medicareUnit;
    }
    public void setMedicareUnit(String medicareUnit) {
        this.medicareUnit = medicareUnit;
    }
    public String getToxicology() {
        return toxicology;
    }
    public void setToxicology(String toxicology) {
        this.toxicology = toxicology;
    }
    public String getToxicology_name() {
        return toxicology_name;
    }
    public void setToxicology_name(String toxicology_name) {
        this.toxicology_name = toxicology_name;
    }
    public String getPrescription() {
        return prescription;
    }
    public void setPrescription(String prescription) {
        this.prescription = prescription;
    }
    public String getGmp() {
        return gmp;
    }
    public void setGmp(String gmp) {
        this.gmp = gmp;
    }
    public String getAntimicrobial() {
        return antimicrobial;
    }
    public void setAntimicrobial(String antimicrobial) {
        this.antimicrobial = antimicrobial;
    }
    public String getAntimicrobialName() {
        return antimicrobialName;
    }
    public void setAntimicrobialName(String antimicrobialName) {
        this.antimicrobialName = antimicrobialName;
    }
    public String getSupplier() {
        return supplier;
    }
    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }
    public String getManufacturer() {
        return manufacturer;
    }
    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getVolumeUnit() {
        return volumeUnit;
    }
    public void setVolumeUnit(String volumeUnit) {
        this.volumeUnit = volumeUnit;
    }
    public String getWeightUnit() {
        return weightUnit;
    }
    public void setWeightUnit(String weightUnit) {
        this.weightUnit = weightUnit;
    }
    public String getDrugDose() {
        return drugDose;
    }
    public void setDrugDose(String drugDose) {
        this.drugDose = drugDose;
    }
    public Integer getAmount() {
        return amount;
    }
    public void setAmount(Integer amount) {
        this.amount = amount;
    }
    public String getAmountUnit() {
        return amountUnit;
    }
    public void setAmountUnit(String amountUnit) {
        this.amountUnit = amountUnit;
    }
    public String getAmountUnitName() {
        return amountUnitName;
    }
    public void setAmountUnitName(String amountUnitName) {
        this.amountUnitName = amountUnitName;
    }
    public Integer getDays() {
        return days;
    }
    public void setDays(Integer days) {
        this.days = days;
    }
    public String getFrenquency() {
        return frenquency;
    }
    public void setFrenquency(String frenquency) {
        this.frenquency = frenquency;
    }
    public String getMethod() {
        return method;
    }
    public void setMethod(String method) {
        this.method = method;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}

+ 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";
    }

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

@ -37,7 +37,7 @@ public class BaseHospitalRequestMapping {
    public static class Prescription extends BaseHospitalRequestMapping.Basic {
        public static final String PREFIX  = "/prescription";
        public static final String findDoctorByIdCard = "/findDoctorByIdCard";
        //=====================start=======================================
        /**
         * 获取门诊记录
@ -548,6 +548,9 @@ public class BaseHospitalRequestMapping {
        public static final String appletSign= "/appletSign";
        public static final String doorServiceTest= "/doorServiceTest";
        public static final String saveNationalDrug = "/saveNationalDrug";//保存药品字典
        public static final String getNationalDrugList = "/getNationalDrugList";//获取药品字典
        public static final String updateNationalDrugStatus = "/updateNationalDrugStatus";//更新药品字典状态
    }
    public static class YkyyPrescription extends BaseHospitalRequestMapping.Basic {
@ -1454,6 +1457,15 @@ 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";
        public static final String createOrUpdateParameter = "createOrUpdateParameter";
        public static final String delHospitalParameter = "delHospitalParameter";
    }
    /**

+ 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;
    }
}

+ 70 - 0
common/common-util/src/main/java/com/yihu/jw/util/common/PingyinUtils.java

@ -0,0 +1,70 @@
package com.yihu.jw.util.common;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
/**
 * create by hmf on 2021/2/8
 */
public class PingyinUtils {
    /**
     * 汉字转换为汉语拼音首字母,英文字符不变
     * @param chines 汉字
     * @return 拼音
     */
    public static String converterToFirstSpell(String chines){
        String pinyinName = "";
        //转化为字符
        char[] nameChar = chines.toCharArray();
        //汉语拼音格式输出类
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
        //输出设置,大小写,音标方式等
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        for (int i = 0; i < nameChar.length; i++) {
            //如果是中文
            if (nameChar[i] > 128) {
                try {
                    pinyinName +=
                            PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
                } catch (BadHanyuPinyinOutputFormatCombination e) {
                    e.printStackTrace();
                }
            }else{//为英文字符
                pinyinName += nameChar[i];
            }
        }
        return pinyinName;
    }
    /**
     * 汉字转换位汉语拼音,英文字符不变
     * @param chines 汉字
     * @return 拼音
     */
    public static String converterToSpell(String chines){
        String pinyinName = "";
        char[] nameChar = chines.toCharArray();
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
        defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        for (int i = 0; i < nameChar.length; i++) {
            if (nameChar[i] > 128) {
                try {
                    pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];
                } catch (BadHanyuPinyinOutputFormatCombination e) {
                    e.printStackTrace();
                }
            }else{
                pinyinName += nameChar[i];
            }
        }
        return pinyinName;
    }
}

+ 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);
    }
    /**
     * 获取现在时间
     *

+ 70 - 6
server/svr-authentication/pom.xml

@ -203,19 +203,83 @@
        <finalName>svr-authentication</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <mainClass>com.yihu.AuthServer</mainClass>
                    <archive>
                        <!-- 生成的jar中,不要包含pom.xml和pom.properties这两个文件 -->
                        <addMavenDescriptor>false</addMavenDescriptor>
                        <manifest>
                            <!-- 是否要把第三方jar加入到类构建路径 -->
                            <addClasspath>true</addClasspath>
                            <!-- 外部依赖jar包的最终位置 -->
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.yihu.AuthServer</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <!--拷贝依赖到jar外面的lib目录-->
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-lib</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!-- 依赖包输出目录,将来不打进jar包里 -->
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <excludeTransitive>false</excludeTransitive>
                            <stripVersion>false</stripVersion>
                            <includeScope>runtime</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--指定配置文件,将resources打成外部resource-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
                    <archive>
                        <!-- 指定配置文件目录,这样jar运行时会去找到同目录下的resources文件夹下查找 -->
                        <manifestEntries>
                            <Class-Path>resources/</Class-Path>
                        </manifestEntries>
                    </archive>
                    <!-- 打包时忽略的文件(也就是不打进jar包里的文件) -->
                    <excludes>
                        <exclude>**/*.yml</exclude>
                        <exclude>**/*.xml</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <!-- 拷贝资源文件 外面的resource目录-->
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <!-- 资源文件输出目录 -->
                            <outputDirectory>${project.build.directory}/resources</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/resources</directory>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

+ 70 - 6
svr/svr-base/pom.xml

@ -204,19 +204,83 @@
        <finalName>svr-base</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <mainClass>com.yihu.SvrBaseApplication</mainClass>
                    <archive>
                        <!-- 生成的jar中,不要包含pom.xml和pom.properties这两个文件 -->
                        <addMavenDescriptor>false</addMavenDescriptor>
                        <manifest>
                            <!-- 是否要把第三方jar加入到类构建路径 -->
                            <addClasspath>true</addClasspath>
                            <!-- 外部依赖jar包的最终位置 -->
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.yihu.SvrBaseApplication</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <!--拷贝依赖到jar外面的lib目录-->
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-lib</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!-- 依赖包输出目录,将来不打进jar包里 -->
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <excludeTransitive>false</excludeTransitive>
                            <stripVersion>false</stripVersion>
                            <includeScope>runtime</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--指定配置文件,将resources打成外部resource-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
                    <archive>
                        <!-- 指定配置文件目录,这样jar运行时会去找到同目录下的resources文件夹下查找 -->
                        <manifestEntries>
                            <Class-Path>resources/</Class-Path>
                        </manifestEntries>
                    </archive>
                    <!-- 打包时忽略的文件(也就是不打进jar包里的文件) -->
                    <excludes>
                        <exclude>**/*.yml</exclude>
                        <exclude>**/*.xml</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <!-- 拷贝资源文件 外面的resource目录-->
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <!-- 资源文件输出目录 -->
                            <outputDirectory>${project.build.directory}/resources</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/resources</directory>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

+ 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") String isDel,
    @ApiParam(name = "status", value = "1正常0弃用", required = false)
    @RequestParam(value = "status") 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.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));
    }
}

+ 211 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java

@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sun.tools.corba.se.idl.ExceptionEntry;
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;
@ -16,15 +17,18 @@ 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;
@ -33,9 +37,12 @@ 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;
@ -49,6 +56,7 @@ 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;
@ -112,6 +120,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;
@ -122,6 +134,8 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
    private HttpClientUtil httpClientUtil;
    @Autowired
    private BaseDoctorRoleDao baseDoctorRoleDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    /**
@ -405,6 +419,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);
@ -413,6 +428,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());
@ -441,18 +457,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());
@ -493,6 +522,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);
@ -505,6 +536,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 {
@ -516,6 +549,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);
@ -933,5 +969,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);

svr/svr-door-serivce/pom.xml → svr/svr-door-service/pom.xml


svr/svr-door-serivce/readme.MD → svr/svr-door-service/readme.MD


svr/svr-door-serivce/sql/初始sql.sql → svr/svr-door-service/sql/初始sql.sql


svr/svr-door-serivce/sql/随访记录详情新增索引.txt → svr/svr-door-service/sql/随访记录详情新增索引.txt


svr/svr-door-serivce/src/main/java/com/yihu/SvrDoorServiceApplication.java → svr/svr-door-service/src/main/java/com/yihu/SvrDoorServiceApplication.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/config/jpa/DoorServiceJpa.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/config/jpa/DoorServiceJpa.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/config/jpa/HibernateProperties.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/config/jpa/HibernateProperties.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/BaseController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/BaseController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/common/DistrictController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/common/DistrictController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/common/EntranceController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/common/EntranceController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/DoctorConsultController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoctorConsultController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/DoctorController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoctorController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/DoctorDoorServiceAuditController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoctorDoorServiceAuditController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/DoctorQuickReplyController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoctorQuickReplyController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/DoorOrderController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoorOrderController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/DoorStatisticAnalyzeController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/DoorStatisticAnalyzeController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/followup/DoctorFollowUpController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/followup/DoctorFollowUpController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/followup/DoctorFollowupDrugsController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/doctor/followup/DoctorFollowupDrugsController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/ConsultController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/ConsultController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/DoorCommentController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/DoorCommentController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/PatientController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/PatientController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/PatientDoorServiceApplicationController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/PatientDoorServiceApplicationController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorCommentController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorCommentController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorCommentDoctorController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorCommentDoctorController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorConclusionController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorConclusionController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorDoctorController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorDoctorController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorDoctorFeeController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorDoctorFeeController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorFeeDetailController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorFeeDetailController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorPatientConfirmLogController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorPatientConfirmLogController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorServiceOrderController.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/controller/patient/WlyyDoorServiceOrderController.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/DoctorRegistrationDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoctorRegistrationDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/DoctorRegistrationTempDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoctorRegistrationTempDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/DoorServiceApplicationDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoorServiceApplicationDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/DoorServiceConfigureDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoorServiceConfigureDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/DoorServiceOrderDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoorServiceOrderDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/DoorServiceVoucherDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/DoorServiceVoucherDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorCancelLogDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorCancelLogDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorCommentDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorCommentDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorCommentDoctorDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorCommentDoctorDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorConclusionDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorConclusionDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorDoctorDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorDoctorDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorDoctorFeeDictDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorDoctorFeeDictDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorDoctorStatusDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorDoctorStatusDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorFeeDetailDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorFeeDetailDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorOrderItemDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorOrderItemDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorPatientConfirmLogDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorPatientConfirmLogDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorPrescriptionDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorPrescriptionDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorPrescriptionDetailDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorPrescriptionDetailDao.java


svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorPrescriptionDrugDao.java → svr/svr-door-service/src/main/java/com/yihu/jw/door/dao/WlyyDoorPrescriptionDrugDao.java


+ 0 - 0
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/dao/WlyyDoorProcessLogDao.java


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