Browse Source

机构管理

LiTaohong 6 years ago
parent
commit
2f62f97b95

+ 102 - 11
common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgDO.java

@ -23,19 +23,49 @@ public class BaseOrgDO extends UuidIdentityEntityWithOperator {
	private String saasid;
    /**
	 * 省份标识
	 */
	private String provinceCode;
     * 机构代码
     */
    private String code;
    /**
	 * 城市标识
	 */
	private String cityCode;
     * 省代码
     */
    private String provinceCode;
    /**
	 * 区县标识
	 */
	private String townCode;
     * 省名称
     */
    private String provinceName;
    /**
     * 市代码
     */
    private String cityCode;
    /**
     * 市名称
     */
    private String cityName;
    /**
     * 区县代码
     */
    private String townCode;
    /**
     * 区县名称
     */
    private String townName;
    /**
     * 街道代码
     */
    private String streetCode;
    /**
     * 街道名称
     */
    private String streetName;
    /**
	 * 机构名称
@ -113,7 +143,28 @@ public class BaseOrgDO extends UuidIdentityEntityWithOperator {
	private String del;
	@Column(name = "saasid")
	public BaseOrgDO(String provinceCode,String provinceName,String cityCode,String cityName,String townCode,String townName,String streetCode,String streetName,String code,String name ){
	    this.provinceCode = provinceCode;
	    this.provinceName = provinceName;
	    this.cityCode = cityCode;
	    this.cityName = cityName;
	    this.townCode = townCode;
	    this.streetCode = streetCode;
	    this.streetName = streetName;
	    this.code = code;
	    this.name = name;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    @Column(name = "saasid")
    public String getSaasid() {
        return saasid;
    }
@ -145,7 +196,47 @@ public class BaseOrgDO extends UuidIdentityEntityWithOperator {
        this.townCode = townCode;
    }
	@Column(name = "name")
    public String getProvinceName() {
        return provinceName;
    }
    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }
    public String getCityName() {
        return cityName;
    }
    public void setCityName(String cityName) {
        this.cityName = cityName;
    }
    public String getTownName() {
        return townName;
    }
    public void setTownName(String townName) {
        this.townName = townName;
    }
    public String getStreetCode() {
        return streetCode;
    }
    public void setStreetCode(String streetCode) {
        this.streetCode = streetCode;
    }
    public String getStreetName() {
        return streetName;
    }
    public void setStreetName(String streetName) {
        this.streetName = streetName;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }

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

@ -375,6 +375,7 @@ public class BaseRequestMapping {
     */
    public static class BaseOrg extends Basic {
        public static final String PREFIX  = "/baseOrg";
        public static final String baseInfoList  = "/baseInfoList";
    }

+ 14 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/base/org/BaseOrgVO.java

@ -21,6 +21,13 @@ import java.util.Date;
@ApiModel(value = "BaseOrgVO", description = "机构信息(医院)")
public class BaseOrgVO extends UuidIdentityVOWithOperator {
    /**
     * 机构代码
     */
    @ApiModelProperty(value = "机构代码", example = "DGREFVDVD")
    private String code;
    /**
	 * saas化配置
	 */
@ -135,6 +142,13 @@ public class BaseOrgVO extends UuidIdentityVOWithOperator {
	@ApiModelProperty(value = "作废标识,1正常,0作废", example = "1")
    private String del;
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getSaasid() {
        return saasid;

+ 26 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/org/BaseOrgDao.java

@ -1,10 +1,15 @@
package com.yihu.jw.base.dao.org;
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 com.yihu.jw.entity.base.org.BaseOrgDO;
import java.util.List;
import java.util.Map;
/**
 * 
 * 机构信息 数据库访问层
@ -18,4 +23,25 @@ import com.yihu.jw.entity.base.org.BaseOrgDO;
 * @since 1.
 */
public interface BaseOrgDao extends PagingAndSortingRepository<BaseOrgDO, String>, JpaSpecificationExecutor<BaseOrgDO>  {
    @Query("select id as id,code as code,name as name,case del when 1 then '有效' else '失效' end as status,concat(provinceName,cityName,townName,streetName) as address from BaseOrgDO where code like ?1")
    List<Map<String,Object>> findByCode(String code,Pageable pageable);
    @Query("select id as id,code as code,name as name,case del when 1 then '有效' else '失效' end as status,concat(provinceName,cityName,townName,streetName) as address from BaseOrgDO where code like ?1 and del = ?2")
    List<Map<String,Object>> findByCodeAndDel(String code, String del,Pageable pageable);
    @Query("select id as id,idcard as idcard,name as name,case del when 1 then '有效' else '失效' end as status,concat(provinceName,cityName,townName,streetName) as address from BaseOrgDO where name like ?1")
    List<Map<String,Object>> findByName(String name,Pageable pageable);
    @Query("select id as id,idcard as idcard,name as name,case del when 1 then '有效' else '失效' end as status,concat(provinceName,cityName,townName,streetName) as address from BaseOrgDO where name like ?1 and del = ?2")
    List<Map<String,Object>> findByNameAndDel(String name, String del,Pageable pageable);
    @Query("select id as id,idcard as idcard,name as name,case del when 1 then '有效' else '失效' end as status,concat(provinceName,cityName,townName,streetName) as address from BaseOrgDO")
    List<Map<String,Object>> findBaseInfo(Pageable pageable);
    @Query("select id as id,idcard as idcard,name as name,case del when 1 then '有效' else '失效' end as status,concat(provinceName,cityName,townName,streetName) as address from BaseOrgDO where del = ?1")
    List<Map<String,Object>> findBaseInfoByDel(String del, Pageable pageable);
    @Query("select new BaseOrgDO(provinceCode,provinceName,cityCode,cityName,townCode,streetCode,streetName,code,name) from BaseOrgDO")
    List<BaseOrgDO> findOrgByArea();
}

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

@ -16,6 +16,7 @@ import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import com.yihu.jw.entity.base.org.BaseOrgDO;
@ -100,4 +101,24 @@ public class BaseOrgEndpoint extends EnvelopRestEndpoint {
        return success(baseOrgs, BaseOrgVO.class);
    }
    @PostMapping(value = BaseRequestMapping.BaseOrg.baseInfoList)
    @ApiOperation(value = "获取机构基础信息列表")
    public ListEnvelop queryBaseOrgInfolist(
            @ApiParam(name = "orgCode", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "orgCode", required = false) String orgCode,
            @ApiParam(name = "orgName", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "orgName", required = false) String orgName,
            @ApiParam(name = "orgStatus", value = "排序,规则参见说明文档")
            @RequestParam(value = "orgStatus", required = false) String orgStatus,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "0")
            @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>> list = baseOrgService.queryOrgBaseInfoList(orgCode, orgName, orgStatus,page,size,sorts);
        return success(list);
    }
}

+ 93 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java

@ -1,9 +1,20 @@
package com.yihu.jw.base.service.org;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.JsonObject;
import com.yihu.jw.base.dao.org.BaseOrgDao;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * 
@ -19,4 +30,86 @@ import com.yihu.jw.entity.base.org.BaseOrgDO;
 */
@Service
public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
    @Autowired
    private BaseOrgDao baseOrgDao;
    /**
     * 机构基础信息列表
     * @param orgCode
     * @param orgName
     * @param orgStatus
     * @return
     */
    public List<Map<String,Object>> queryOrgBaseInfoList(String orgCode,String orgName,String orgStatus,int page,int size,String sorts){
        List<Map<String,Object>> result = new ArrayList<>();
        if(StringUtils.endsWithIgnoreCase("1",orgStatus)){
            if(!StringUtils.isEmpty(orgCode) ){
                result = baseOrgDao.findByCodeAndDel(orgCode,orgStatus,creatPage(page,size,sorts));
            }else if(!StringUtils.isEmpty(orgCode)){
                result = baseOrgDao.findByNameAndDel(orgName,orgStatus,creatPage(page,size,sorts));
            }else{
                result = baseOrgDao.findBaseInfoByDel(orgStatus,creatPage(page,size,sorts));
            }
        }else{
            if(!StringUtils.isEmpty(orgCode) ){
                result = baseOrgDao.findByCode(orgCode,creatPage(page,size,sorts));
            }else if(!StringUtils.isEmpty(orgCode)){
                result = baseOrgDao.findByName(orgName,creatPage(page,size,sorts));
            }else{
                result = baseOrgDao.findBaseInfo(creatPage(page,size,sorts));
            }
        }
        return result;
    }
    /**
     * 构建机构区域树形结构
     * @return
     */
    public JSONObject getOrgByArea(){
        JSONObject result = new JSONObject();
        JSONArray provinceArray = new JSONArray();
        JSONArray cityArray = new JSONArray();
        JSONArray townArray = new JSONArray();
        JSONArray orgArray = new JSONArray();
        List<BaseOrgDO> list = baseOrgDao.findOrgByArea();
        list.forEach(baseOrgDO -> {
            JSONObject proJson = new JSONObject();
            proJson.put("provinceCode",baseOrgDO.getProvinceCode());
            proJson.put("provinceName",baseOrgDO.getProvinceName());
            JSONObject cityJson = new JSONObject();
            cityJson.put("provinceCode",baseOrgDO.getProvinceCode());
            cityJson.put("provinceName",baseOrgDO.getProvinceName());
            JSONObject townJson = new JSONObject();
            townJson.put("provinceCode",baseOrgDO.getProvinceCode());
            townJson.put("provinceName",baseOrgDO.getProvinceName());
            JSONObject orgJson = new JSONObject();
            orgJson.put("provinceCode",baseOrgDO.getProvinceCode());
            orgJson.put("provinceName",baseOrgDO.getProvinceName());
            provinceArray.add(proJson);
            cityArray.add(cityJson);
            townArray.add(townJson);
            orgArray.add(orgJson);
            JSONObject cityJsonAyy = new JSONObject();
            cityJsonAyy.put("city",cityArray);
            provinceArray.add(cityJsonAyy);
            JSONObject townJsonAyy = new JSONObject();
            townJsonAyy.put("town", townArray);
            cityArray.add(townJsonAyy);
            JSONObject orgJsonAyy = new JSONObject();
            orgJsonAyy.put("org",orgArray);
            townArray.add(orgJsonAyy);
        });
        result.put("province",provinceArray);
        return result;
    }
}

+ 16 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java

@ -8,6 +8,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * Service - 后台管理员
 * Created by progr1mmer on 2018/8/20.
@ -30,4 +34,16 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
        userDO.setPassword(MD5.md5Hex(password + "{" + userDO.getSalt() + "}"));
        return userDao.save(userDO);
    }
    /**
     * 用户管理,获取用户基本信息列表
     * @param name 模糊查询
     * @param saasId 精准匹配,为空查全部
     * @param roleId 精准匹配,为空查全部
     * @return
     */
    public List<Map<String,Object>> queryBaseUserInfoList(String name,String saasId,String roleId){
        List<Map<String,Object>> result = new ArrayList<>();
        return result;
    }
}