瀏覽代碼

jpa分页初始页为0bug修复

LiTaohong 6 年之前
父節點
當前提交
679ae88653
共有 22 個文件被更改,包括 369 次插入42 次删除
  1. 28 1
      common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/BasePatientDO.java
  2. 3 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  3. 28 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/patient/BasePatientVO.java
  4. 14 0
      sql/init.sql
  5. 3 2
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictDiseaseDao.java
  6. 3 2
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictHospitalDeptDao.java
  7. 4 3
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictIcd10Dao.java
  8. 3 2
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictJobTitleDao.java
  9. 12 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictMedicineDao.java
  10. 13 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/patient/BasePatientDao.java
  11. 17 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/patient/BasePatientEndpoint.java
  12. 33 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/system/SystemDictEndpoint.java
  13. 4 1
      svr/svr-base/src/main/java/com/yihu/jw/base/enums/SystemDictEnum.java
  14. 5 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictDiseaseService.java
  15. 5 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictHealthProblemService.java
  16. 5 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictHospitalDeptService.java
  17. 8 7
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictIcd10Service.java
  18. 5 5
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictJobTitleService.java
  19. 28 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictMedicineService.java
  20. 24 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/patient/BasePatientService.java
  21. 114 3
      svr/svr-base/src/main/java/com/yihu/jw/base/service/system/SystemDictService.java
  22. 10 0
      svr/svr-base/src/main/java/com/yihu/jw/base/util/ConstantUtils.java

+ 28 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/BasePatientDO.java

@ -114,6 +114,17 @@ public class BasePatientDO extends UuidIdentityEntityWithOperator {
     */
    private String streetName;
    /**
     * 居委会代码
     */
    private String committeeCode;
    /**
     * 居委会名称
     */
    private String committeeName;
    /**
	 * 疾病类型,0健康,1高血压,2糖尿病,3高血压+糖尿病
	 */
@ -364,7 +375,23 @@ public class BasePatientDO extends UuidIdentityEntityWithOperator {
        this.streetName = streetName;
    }
	@Column(name = "disease")
    public String getCommitteeCode() {
        return committeeCode;
    }
    public void setCommitteeCode(String committeeCode) {
        this.committeeCode = committeeCode;
    }
    public String getCommitteeName() {
        return committeeName;
    }
    public void setCommitteeName(String committeeName) {
        this.committeeName = committeeName;
    }
    @Column(name = "disease")
    public String getDisease() {
        return disease;
    }

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

@ -98,6 +98,8 @@ public class BaseRequestMapping {
     */
    public static class SystemDict extends Basic {
        public static final String PREFIX  = "/system_dict";
        public static final String ALL  = "/query_all";
        public static final String QUERY_BY_TYPE  = "/query_by_type";
    }
    /**
@ -313,6 +315,7 @@ public class BaseRequestMapping {
    public static class BasePatient extends Basic {
        public static final String PREFIX  = "/basePatient";
        public static final String getPatientById  = "/getPatientById";
        public static final String getBaseInfo  = "/getBaseInfo";
    }
    /**

+ 28 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/patient/BasePatientVO.java

@ -137,6 +137,18 @@ public class BasePatientVO extends UuidIdentityVOWithOperator {
    @ApiModelProperty(value = "街道名称", example = "某某街道")
    private String streetName;
    /**
     * 居委会代码
     */
    @ApiModelProperty(value = "居委会代码", example = "参考居委会代码")
    private String committeeCode;
    /**
     * 居委会名称
     */
    @ApiModelProperty(value = "居委会名称", example = "某某居委会")
    private String committeeName;
    /**
	 * 疾病类型,0健康,1高血压,2糖尿病,3高血压+糖尿病
	 */
@ -391,6 +403,22 @@ public class BasePatientVO extends UuidIdentityVOWithOperator {
        this.streetName = streetName;
    }
    public String getCommitteeCode() {
        return committeeCode;
    }
    public void setCommitteeCode(String committeeCode) {
        this.committeeCode = committeeCode;
    }
    public String getCommitteeName() {
        return committeeName;
    }
    public void setCommitteeName(String committeeName) {
        this.committeeName = committeeName;
    }
    public String getDisease() {
        return disease;
    }

+ 14 - 0
sql/init.sql

@ -145,6 +145,8 @@ CREATE TABLE `base_patient` (
  `town_name` varchar(50) DEFAULT NULL COMMENT '区县名称',
  `street_code` varchar(50) DEFAULT NULL COMMENT '街道代码',
  `street_name` varchar(50) DEFAULT NULL COMMENT '街道名称',
  `committee_code` varchar(50) DEFAULT NULL COMMENT '居委会代码',
  `committee_name` varchar(50) DEFAULT NULL COMMENT '居委会名称',
  `disease` varchar(100) DEFAULT NULL COMMENT '疾病类型,0健康,1高血压,2糖尿病,3高血压+糖尿病',
  `disease_condition` varchar(100) DEFAULT NULL COMMENT '病情:0绿标,1黄标,2红标,3重点关注,',
  `points` varchar(100) DEFAULT NULL COMMENT '总积分',
@ -739,3 +741,15 @@ create table `base_message_type`
  primary key (id)
)
  ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息类型字典';
-- 业务模块角色表
drop table IF EXISTS `base_role_module`;
create table `base_role_module`
(
  `id` int(11) NOT NULL AUTO_INCREMENT  COMMENT '表id,自增长,字典型',
  `role_id` varchar(100) DEFAULT NULL COMMENT '角色id',
  `module_id` varchar(50) not null COMMENT '业务模块id',
  primary key (id)
)
  ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业务模块角色表';

+ 3 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictDiseaseDao.java

@ -3,6 +3,7 @@ package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictDiseaseDO;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
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;
@ -26,8 +27,8 @@ import java.util.Map;
public interface DictDiseaseDao extends PagingAndSortingRepository<DictDiseaseDO, Integer>, JpaSpecificationExecutor<DictDiseaseDO>  {
    @Query("select code as code,name as name from DictDiseaseDO where saasId = :saasId")
    List<Map<String,Object>> findCodeAndNameBySaasId(@Param("saasId") String saasId);
    List<Map<String,Object>> findCodeAndNameBySaasId(@Param("saasId") String saasId, Pageable pageable);
    @Query("select code as code,name as name from DictDiseaseDO")
    List<Map<String,Object>> findCodeAndName();
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
}

+ 3 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictHospitalDeptDao.java

@ -3,6 +3,7 @@ package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictHealthProblemDO;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
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;
@ -27,8 +28,8 @@ import java.util.Map;
public interface DictHospitalDeptDao extends PagingAndSortingRepository<DictHospitalDeptDO, Integer>, JpaSpecificationExecutor<DictHospitalDeptDO>  {
    @Query("select code as code,name as name from DictHospitalDeptDO where saasId = :saasId")
    List<Map<String,Object>> findCodeAndNameBySaasId(@Param("saasId") String saasId);
    List<Map<String,Object>> findCodeAndNameBySaasId(@Param("saasId") String saasId, Pageable pageable);
    @Query("select code as code,name as name from DictHospitalDeptDO")
    List<Map<String,Object>> findCodeAndName();
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
}

+ 4 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictIcd10Dao.java

@ -2,6 +2,7 @@ package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
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;
@ -25,9 +26,9 @@ import java.util.Map;
 */
public interface DictIcd10Dao extends PagingAndSortingRepository<DictIcd10DO, Integer>, JpaSpecificationExecutor<DictIcd10DO>  {
    @Query("select code as code,name as name from DictIcd10DO where saasId = :saasId")
    List<Map<String,Object>> findCodeAndNameBySaasId(@Param("saasId") String saasId);
    @Query("select code as code,name as name from DictIcd10DO where code = ?1")
    List<Map<String,Object>> findCodeAndNameSa(String saasId,Pageable pageable);
    @Query("select code as code,name as name from DictIcd10DO")
    List<Map<String,Object>> findCodeAndName();
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
}

+ 3 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictJobTitleDao.java

@ -2,6 +2,7 @@ package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
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;
@ -26,8 +27,8 @@ import java.util.Map;
public interface DictJobTitleDao extends PagingAndSortingRepository<DictJobTitleDO, Integer>, JpaSpecificationExecutor<DictJobTitleDO>  {
    @Query("select code as code,name as name from DictJobTitleDO where saasId = :saasId")
    List<Map<String,Object>> findCodeAndNameBySaasId(@Param("saasId") String saasId);
    List<Map<String,Object>> findCodeAndNameBySaasId(@Param("saasId") String saasId, Pageable pageable);
    @Query("select code as code,name as name from DictJobTitleDO")
    List<Map<String,Object>> findCodeAndName();
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
}

+ 12 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictMedicineDao.java

@ -1,9 +1,15 @@
package com.yihu.jw.base.dao.dict;
import com.yihu.jw.entity.base.dict.DictMedicineDO;
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;
/**
 * 
@ -18,4 +24,10 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @since 1.
 */
public interface DictMedicineDao extends PagingAndSortingRepository<DictMedicineDO, Integer>, JpaSpecificationExecutor<DictMedicineDO>  {
    @Query("select code as code,name as name from DictMedicineDO where saasId = :saasId")
    List<Map<String,Object>> findCodeAndNameBySaasId(@Param("saasId") String saasId, Pageable pageable);
    @Query("select code as code,name as name from DictMedicineDO")
    List<Map<String,Object>> findCodeAndName(Pageable pageable);
}

+ 13 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/patient/BasePatientDao.java

@ -1,12 +1,15 @@
package com.yihu.jw.base.dao.patient;
import com.yihu.jw.entity.base.patient.BasePatientDO;
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 org.springframework.data.repository.query.Param;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
@ -16,4 +19,14 @@ public interface BasePatientDao extends PagingAndSortingRepository<BasePatientDO
    BasePatientDO findByIdAndDel(String id,String del);
    @Query("select idcard as idcard,name as name,case sex when 1 then '男' when 2 then '女' else '未知' end as sex,phone as phone,committeeName as committeeName,concat(provinceName,cityName,townName,streetName) as address from BasePatientDO where idcard like ?1")
    List<Map<String,Object>> findByIdcard(String idcard, Pageable pageable);
    @Query("select idcard as idcard,name as name,case sex when 1 then '男' when 2 then '女' else '未知' end as sex,phone as phone,committeeName as committeeName from BasePatientDO where name like ?1")
    List<Map<String,Object>> findByName(String name, Pageable pageable);
    @Query("select idcard as idcard,name as name,case sex when 1 then '男' when 2 then '女' else '未知' end as sex,phone as phone,committeeName as committeeName,concat(provinceName,cityName,townName,streetName) as address from BasePatientDO")
    List<Map<String,Object>> findBaseInfo(Pageable pageable);
}

+ 17 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/patient/BasePatientEndpoint.java

@ -110,4 +110,21 @@ public class BasePatientEndpoint extends EnvelopRestEndpoint {
        return success(basePatients, BasePatientVO.class);
    }
    @PostMapping(value = BaseRequestMapping.BasePatient.getBaseInfo)
    @ApiOperation(value = "获取列表")
    public ListEnvelop queryPatientBaseInfo(
            @ApiParam(name = "idcard", value = "居民身份证")
            @RequestParam(value = "idcard", required = false) String idcard,
            @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 = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<Map<String,Object>> basePatients = basePatientService.queryPatientBaseInfo(idcard, name, page,size,sorts);
        return success(basePatients);
    }
}

+ 33 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/system/SystemDictEndpoint.java

@ -1,6 +1,8 @@
package com.yihu.jw.base.endpoint.system;
import com.alibaba.fastjson.JSONArray;
import com.yihu.jw.base.service.system.SystemDictService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.base.system.SystemDictDO;
import com.yihu.jw.restmodel.base.system.SystemDictVO;
import com.yihu.jw.restmodel.web.Envelop;
@ -12,6 +14,7 @@ import com.yihu.jw.rm.base.BaseRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
@ -92,4 +95,34 @@ public class SystemDictEndpoint extends EnvelopRestEndpoint {
        List<SystemDictDO> systemDictDOS = systemDictService.search(fields, filters, sorts);
        return success(systemDictDOS, SystemDictVO.class);
    }
    @GetMapping(value = BaseRequestMapping.SystemDict.ALL)
    @ApiOperation(value = "新增系统字典")
    public Envelop createSystemDict (
            @ApiParam(name = "jsonData", value = "json数据,系统字典及其值")
            @RequestParam(value = "jsonData", required = true) String jsonData) throws Exception {
         String message = systemDictService.createSystemDict(jsonData);
         if(StringUtils.equalsIgnoreCase(message,ConstantUtils.SUCCESS)){
             return success(message);
        }
        return failed(message);
    }
    @PostMapping(value = BaseRequestMapping.SystemDict.QUERY_BY_TYPE)
    @ApiOperation(value = "根据字典类型获取字典")
    public ListEnvelop queryDictByType(
            @ApiParam(name = "userId", value = "用户id")
            @RequestParam(value = "userId", required = true) String userId,
            @ApiParam(name = "type", value = "字典类型")
            @RequestParam(value = "type", required = true) String type,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size
    ) throws Exception {
        JSONArray list = systemDictService.getDistListByType(type,userId,sorts,page,size);
        return success(list);
    }
}

+ 4 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/enums/SystemDictEnum.java

@ -1,9 +1,12 @@
package com.yihu.jw.base.enums;
import org.apache.commons.lang3.StringUtils;
/**
 * @author litaohong on 2018/10/8
 * @project jw2.0
 */
public enum SystemDictEnum {
    Icd10Dict,HospitalDeptDict,JobTitleDict,HealthProblemDict,DiseaseDict,MedicineDict;
    Icd10Dict, HospitalDeptDict, JobTitleDict, HealthProblemDict, DiseaseDict, MedicineDict;
}

+ 5 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictDiseaseService.java

@ -8,6 +8,7 @@ import com.yihu.jw.entity.base.dict.DictDiseaseDO;
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.util.ArrayList;
@ -36,15 +37,15 @@ public class DictDiseaseService extends BaseJpaService<DictDiseaseDO, DictDiseas
     * @param saasId
     * @return
     */
    public String queryAll(String saasId){
    public JSONObject queryAll(String saasId, Pageable pageable){
        JSONObject jsonObject = new JSONObject();
        List<Map<String,Object>> list = new ArrayList<>();
        if(StringUtils.isEmpty(saasId)){
            list = dictDiseaseDao.findCodeAndName();
            list = dictDiseaseDao.findCodeAndName(pageable);
        }else{
            list = dictDiseaseDao.findCodeAndNameBySaasId(saasId);
            list = dictDiseaseDao.findCodeAndNameBySaasId(saasId,pageable);
        }
        jsonObject.put(SystemDictEnum.DiseaseDict.toString(),list);
        return jsonObject.toJSONString();
        return jsonObject;
    }
}

+ 5 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictHealthProblemService.java

@ -8,6 +8,7 @@ import com.yihu.jw.entity.base.dict.DictIcd10DO;
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 com.yihu.jw.entity.base.dict.DictHealthProblemDO;
@ -37,16 +38,16 @@ public class DictHealthProblemService extends BaseJpaService<DictHealthProblemDO
     * @param saasId
     * @return
     */
    public String queryAll(String saasId){
    public JSONObject queryAll(String saasId, Pageable pageable){
        JSONObject jsonObject = new JSONObject();
        List<Map<String,Object>> list = new ArrayList<>();
        if(StringUtils.isEmpty(saasId)){
            list = dictJobTitleDao.findCodeAndName();
            list = dictJobTitleDao.findCodeAndName(pageable);
        }else{
            list = dictJobTitleDao.findCodeAndNameBySaasId(saasId);
            list = dictJobTitleDao.findCodeAndNameBySaasId(saasId,pageable);
        }
        jsonObject.put(SystemDictEnum.HealthProblemDict.toString(),list);
        return jsonObject.toJSONString();
        return jsonObject;
    }
}

+ 5 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictHospitalDeptService.java

@ -8,6 +8,7 @@ import com.yihu.jw.entity.base.dict.DictIcd10DO;
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 com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
@ -37,16 +38,16 @@ public class DictHospitalDeptService extends BaseJpaService<DictHospitalDeptDO,
     * @param saasId
     * @return
     */
    public String queryAll(String saasId){
    public JSONObject queryAll(String saasId, Pageable pageable){
        JSONObject jsonObject = new JSONObject();
        List<Map<String,Object>> list = new ArrayList<>();
        if(StringUtils.isEmpty(saasId)){
            list = dictHospitalDeptDao.findCodeAndName();
            list = dictHospitalDeptDao.findCodeAndName(pageable);
        }else{
            list = dictHospitalDeptDao.findCodeAndNameBySaasId(saasId);
            list = dictHospitalDeptDao.findCodeAndNameBySaasId(saasId,pageable);
        }
        jsonObject.put(SystemDictEnum.HospitalDeptDict.toString(),list);
        return jsonObject.toJSONString();
        return jsonObject;
    }
}

+ 8 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictIcd10Service.java

@ -6,6 +6,7 @@ import com.yihu.jw.base.enums.SystemDictEnum;
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 com.yihu.jw.entity.base.dict.DictIcd10DO;
@ -36,16 +37,16 @@ public class DictIcd10Service extends BaseJpaService<DictIcd10DO, DictIcd10Dao>
     * @param saasId
     * @return
     */
    public String queryAll(String saasId){
    public JSONObject queryAll(String saasId, Pageable pageable){
        JSONObject jsonObject = new JSONObject();
        List<Map<String,Object>> list = new ArrayList<>();
        if(StringUtils.isEmpty(saasId)){
           list = dictIcd10Dao.findCodeAndName();
        }else{
           list = dictIcd10Dao.findCodeAndNameBySaasId(saasId);
        }
//        if(!StringUtils.isEmpty(saasId)){
//           list = dictIcd10Dao.findCodeAndName(pageable);
//        }else{
           list = dictIcd10Dao.findCodeAndNameSa(saasId,pageable);
//        }
        jsonObject.put(SystemDictEnum.Icd10Dict.toString(),list);
        return jsonObject.toJSONString();
        return jsonObject;
    }
}

+ 5 - 5
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictJobTitleService.java

@ -3,10 +3,10 @@ package com.yihu.jw.base.service.dict;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.dao.dict.DictJobTitleDao;
import com.yihu.jw.base.enums.SystemDictEnum;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
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 com.yihu.jw.entity.base.dict.DictJobTitleDO;
@ -36,16 +36,16 @@ public class DictJobTitleService extends BaseJpaService<DictJobTitleDO, DictJobT
     * @param saasId
     * @return
     */
    public String queryAll(String saasId){
    public JSONObject queryAll(String saasId, Pageable pageable){
        JSONObject jsonObject = new JSONObject();
        List<Map<String,Object>> list = new ArrayList<>();
        if(StringUtils.isEmpty(saasId)){
            list = dictJobTitleDao.findCodeAndName();
            list = dictJobTitleDao.findCodeAndName(pageable);
        }else{
            list = dictJobTitleDao.findCodeAndNameBySaasId(saasId);
            list = dictJobTitleDao.findCodeAndNameBySaasId(saasId,pageable);
        }
        jsonObject.put(SystemDictEnum.JobTitleDict.toString(),list);
        return jsonObject.toJSONString();
        return jsonObject;
    }
}

+ 28 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictMedicineService.java

@ -1,10 +1,20 @@
package com.yihu.jw.base.service.dict;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.dao.dict.DictDiseaseDao;
import com.yihu.jw.base.dao.dict.DictMedicineDao;
import com.yihu.jw.base.enums.SystemDictEnum;
import com.yihu.jw.entity.base.dict.DictMedicineDO;
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.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * 
 * 药品字典服务service
@ -19,4 +29,22 @@ import org.springframework.stereotype.Service;
 */
@Service
public class DictMedicineService extends BaseJpaService<DictMedicineDO, DictMedicineDao> {
    @Autowired
    private DictMedicineDao dictMedicineDao;
    /**
     * 查询某一租户下的病种字典信息,如果saadId为空表示当前用户角色为超级管理员,超级管理员可以看到所有数据
     * @param saasId
     * @return
     */
    public JSONObject queryAll(String saasId, Pageable pageable){
        JSONObject jsonObject = new JSONObject();
        List<Map<String,Object>> list = new ArrayList<>();
        if(StringUtils.isEmpty(saasId)){
            list = dictMedicineDao.findCodeAndName(pageable);
        }else{
            list = dictMedicineDao.findCodeAndNameBySaasId(saasId,pageable);
        }
        jsonObject.put(SystemDictEnum.DiseaseDict.toString(),list);
        return jsonObject;
    }
}

+ 24 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/service/patient/BasePatientService.java

@ -5,14 +5,12 @@ import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import org.springframework.util.CollectionUtils;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * 
@ -50,4 +48,26 @@ public class BasePatientService extends BaseJpaService<BasePatientDO, BasePatien
        return resultMap;
    }
    /**
     * 获取用户基础信息,参数为空查全部
     * @param idcard
     * @param name
     * @param page
     * @param size
     * @param sorts
     * @return
     */
    public List<Map<String,Object>> queryPatientBaseInfo(String idcard,String name,int page,int size,String sorts)throws Exception{
        List<Map<String,Object>> result = new ArrayList<>();
        if(!StringUtils.isEmpty(idcard)){
            result = basePatientDao.findByIdcard("%"+idcard+"%",creatPage(page,size,sorts));
            return result;
        }
        if(!StringUtils.isEmpty(name)){
            result = basePatientDao.findByName(idcard,creatPage(page,size,sorts));
            return result;
        }
        result = basePatientDao.findBaseInfo(creatPage(page,size,sorts));
        return result;
    }
}

+ 114 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/service/system/SystemDictService.java

@ -1,14 +1,31 @@
package com.yihu.jw.base.service.system;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.netflix.discovery.converters.Auto;
import com.yihu.jw.base.enums.SystemDictEnum;
import com.yihu.jw.base.service.dict.*;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.base.dict.*;
import com.yihu.jw.entity.base.system.SystemDictDO;
import com.yihu.jw.base.dao.system.SystemDictDao;
import com.yihu.jw.entity.base.system.SystemDictEntryDO;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import javax.persistence.criteria.Order;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
 * Service - 系统字典
 * Created by LiTaohong on 2017/12/01.
@ -34,14 +51,108 @@ public class SystemDictService extends BaseJpaService<SystemDictDO, SystemDictDa
    @Autowired
    private DictMedicineService dictMedicineService;
    @Autowired
    private SystemDictEntryService systemDictEntryService;
    @Autowired
    private ObjectMapper objectMapper;
    @Override
    public long getCount(String filters) throws ParseException {
        return super.getCount(filters);
    }
    /**
     * 获取系统所有相关字典,
     * @param userId
     * @return
     */
    public String getAllDistList(String userId){
    public JSONArray getAllDistList(String userId){
        JSONArray jsonArray = new JSONArray();
        return jsonArray;
    }
    /**
     * 根据字典类型获取系统所有相关字典,
     * @param userId
     * @return
     */
    public JSONArray getDistListByType(String type, String userId, String sorts, int page, int size) throws Exception {
        if (StringUtils.isEmpty(type) || StringUtils.isEmpty(userId)) {
            return null;
        }
        JSONArray jsonArray = new JSONArray();
        JSONObject jsonObject = new JSONObject();
//        dictIcd10Service.queryAll();
        return null;
        if (SystemDictEnum.Icd10Dict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictIcd10Service.queryAll(userId, creatPage(page,size,sorts));
        } else if (SystemDictEnum.HospitalDeptDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictHospitalDeptService.queryAll("", creatPage(page,size,sorts));
        } else if (SystemDictEnum.JobTitleDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictJobTitleService.queryAll("", creatPage(page,size,sorts));
        } else if (SystemDictEnum.HealthProblemDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictHealthProblemService.queryAll("", creatPage(page,size,sorts));
        } else if (SystemDictEnum.MedicineDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictMedicineService.queryAll("", creatPage(page,size,sorts));
        } else if (SystemDictEnum.DiseaseDict == SystemDictEnum.valueOf(type)) {
            jsonObject = dictDiseaseService.queryAll("", creatPage(page,size,sorts));
        }
        jsonArray.add(jsonObject);
        return jsonArray;
    }
    /**
     * 新增字典,包括字典项值
     * "obj": {
     "      dict:
                {
                code": "SYSTEM_SETTING",
     "          name": "系统设置",
     "          pyCode": "XTSZ",
     "          saasId": "string",
     "          type": "basic"
            }
            valueArr:[
                {
                dictCode:"SYSTEM_SETTING",
                code:"SYSTEM_SETTING_0",
                pyCode:"",
                value:"",
                sort:"",
                remark:"",
                 },{
                ....
                  }
            ]
     }
     *
     */
    public String createSystemDict(String jsonData) throws Exception{
        if(StringUtils.isEmpty(jsonData)){
            return "none params(jsonData)";
        }
        JSONObject jsonParam = JSONObject.parseObject(jsonData);
        if(null == jsonParam.get("dict")){
            return "no dict element in " + jsonData;
        }
        JSONObject dictJson = (JSONObject)jsonParam.get("dict");
        SystemDictDO systemDictDO = objectMapper.readValue(dictJson.toString(),SystemDictDO.class);
        if(StringUtils.isEmpty(systemDictDO.getCode()) || StringUtils.isEmpty(systemDictDO.getName())){
            return "code or name of dict is required";
        }
        List<SystemDictEntryDO> systemDictEntryDOList = new ArrayList<>();
        JSONArray dictValueArr = jsonParam.getJSONArray("valueArr");
        dictValueArr.forEach((oneObj)->systemDictEntryDOList.add((SystemDictEntryDO)oneObj));
        save(systemDictDO);
        systemDictEntryService.batchInsert(systemDictEntryDOList);
        return ConstantUtils.SUCCESS;
    }
}

+ 10 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/util/ConstantUtils.java

@ -0,0 +1,10 @@
package com.yihu.jw.base.util;
/**
 * @author litaohong on 2018/10/11
 * @project jw2.0
 */
public class ConstantUtils {
    public static final String SUCCESS = "success";
    public static final String FAIL = "fail";
}