Преглед на файлове

医生职称归入医生基本信息

LiTaohong преди 6 години
родител
ревизия
de5036fd6d
променени са 19 файла, в които са добавени 430 реда и са изтрити 103 реда
  1. 23 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorDO.java
  2. 2 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgDO.java
  3. 4 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java
  4. 3 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/org/BaseOrgDao.java
  5. 4 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/org/BaseOrgSaasDao.java
  6. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/system/SystemDictEntryDao.java
  7. 5 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/team/BaseTeamMemberDao.java
  8. 12 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/doctor/BaseDoctorEndpoint.java
  9. 3 6
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/org/BaseOrgEndpoint.java
  10. 79 66
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/team/BaseTeamEndpoint.java
  11. 2 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictHospitalDeptService.java
  12. 28 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java
  13. 82 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/excelImport/BaseDoctorExcelDO.java
  14. 17 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgSaasService.java
  15. 17 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java
  16. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/patient/BasePatientService.java
  17. 1 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/system/SystemDictService.java
  18. 38 0
      svr/svr-base/src/main/java/com/yihu/jw/base/service/team/BaseTeamMemberService.java
  19. 108 22
      svr/svr-base/src/main/java/com/yihu/jw/base/service/team/BaseTeamService.java

+ 23 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/doctor/BaseDoctorDO.java

@ -153,6 +153,16 @@ public class BaseDoctorDO extends UuidIdentityEntityWithOperator {
	 */
	private String openid;
	/**
	 * 职称代码
	 */
	private String jobTitleCode;
	/**
	 * 职称名称
	 */
	private String jobTitleName;
    /**
	 * 作废标识,1正常,0作废
	 */
@ -374,6 +384,19 @@ public class BaseDoctorDO extends UuidIdentityEntityWithOperator {
        this.del = del;
    }
    public String getJobTitleCode() {
        return jobTitleCode;
    }
    public void setJobTitleCode(String jobTitleCode) {
        this.jobTitleCode = jobTitleCode;
    }
    public String getJobTitleName() {
        return jobTitleName;
    }
    public void setJobTitleName(String jobTitleName) {
        this.jobTitleName = jobTitleName;
    }
}

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/org/BaseOrgDO.java

@ -17,6 +17,8 @@ import java.util.Date;
@Table(name = "base_org")
public class BaseOrgDO extends UuidIdentityEntityWithOperator {
    /**
	 * saas化配置
	 */

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

@ -388,6 +388,7 @@ public class BaseRequestMapping {
        public static final String docFullInfo  = "/docFullInfo";
        public static final String docOrgDutyTreeInfo  = "/docOrgDutyTreeInfo";
        public static final String docOrgDeptTreeInfo  = "/docOrgDeptTreeInfo";
        public static final String getDoctorListByDept  = "/getDoctorListByDept";
    }
@ -424,6 +425,7 @@ 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 queryCodeList  = "/queryCodeListBySaasId";
    }
@ -468,6 +470,8 @@ public class BaseRequestMapping {
     */
    public static class BaseTeam extends Basic {
        public static final String PREFIX  = "/baseTeam";
        public static final String queryMemberList  = "/queryMemberList";
        public static final String queryOne  = "/getTeamById";
    }

+ 3 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/org/BaseOrgDao.java

@ -35,7 +35,9 @@ public interface BaseOrgDao extends PagingAndSortingRepository<BaseOrgDO, String
    @Query("delete from BaseOrgDO p where p.saasid=?1 ")
    void deleteBySaasId(String saasId);
    @Query("select id from BaseOrgDO where saasid = ?1")
    @Query("select id from BaseOrgDO where del = 1 and saasid = ?1")
    List findOrgCodeBySaasId(String saasId);
    @Query("select code as code,name as name from BaseOrgDO where del = 1 and saasid = ?1 ")
    List<Map<String,Object>> findOrgListBySaasId(String saasId);
}

+ 4 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/org/BaseOrgSaasDao.java

@ -4,6 +4,8 @@ import com.yihu.jw.entity.base.org.BaseOrgSaasDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * 
@ -18,4 +20,6 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * @since 1.
 */
public interface BaseOrgSaasDao extends PagingAndSortingRepository<BaseOrgSaasDO, String>, JpaSpecificationExecutor<BaseOrgSaasDO>  {
    List<BaseOrgSaasDO> findBySaasid(String saasId);
}

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/system/SystemDictEntryDao.java

@ -14,5 +14,5 @@ public interface SystemDictEntryDao extends PagingAndSortingRepository<SystemDic
    List<SystemDictEntryDO> findBySaasId(String saasId);
    List<SystemDictEntryDO> findByDictCodeAndCodeAndSaasId();
    List<SystemDictEntryDO> findByDictCodeAndCodeAndSaasId(String dictCode,String code,String saasId);
}

+ 5 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/team/BaseTeamMemberDao.java

@ -8,6 +8,7 @@ import com.yihu.jw.entity.base.team.BaseTeamMemberDO;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
 * 
@ -26,4 +27,8 @@ public interface BaseTeamMemberDao extends PagingAndSortingRepository<BaseTeamMe
    @Query("select doc.name,doc.idcard,doc.id from BaseDoctorDO doc where doc.id in (select team.doctorCode from BaseTeamMemberDO team where team.orgCode = ?1 and team.teamCode = ?2)")
    List<Map<String,Object>> getTeamMemberList();
    @Query("select id from BaseTeamMemberDO where teamCode = ?1")
    Set<Object> findIdListByTeamCode(String teamCode);
    List<BaseTeamMemberDO> findByTeamCode(String teamCode);
}

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

@ -225,4 +225,16 @@ public class BaseDoctorEndpoint extends EnvelopRestEndpoint {
        return success(baseDoctorService.getDoctorDeptTree(doctorCode));
    }
    @GetMapping(value = BaseRequestMapping.BaseDoctor.getDoctorListByDept)
    @ApiOperation(value = "获取某一科室下的医生列表")
    public Envelop getDoctorListByDept(
            @ApiParam(name = "deptCode", value = "科室代码", required = true)
            @RequestParam String deptCode) throws Exception {
        JSONObject jsonObject = baseDoctorService.getDoctorListByDept(deptCode);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.getString("msg"));
    }
}

+ 3 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/org/BaseOrgEndpoint.java

@ -7,7 +7,6 @@ import com.yihu.jw.entity.base.org.BaseOrgDO;
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.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
@ -15,12 +14,10 @@ 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.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * 机构信息控制器
@ -169,7 +166,7 @@ public class BaseOrgEndpoint extends EnvelopRestEndpoint {
     */
    @PostMapping(value = BaseRequestMapping.BaseOrg.enableOrDis)
    @ApiOperation(value = "生效或失效某个机构")
    public Envelop enableOrDisableDoctor(
    public Envelop enableOrDisableOrg(
            @ApiParam(name = "id", value = "医生标识")
            @RequestParam(value = "id", required = true) String id,
            @ApiParam(name = "status", value = "生效或失效标识")
@ -188,9 +185,9 @@ public class BaseOrgEndpoint extends EnvelopRestEndpoint {
     * @return
     * @throws Exception
     */
    @PostMapping(value = BaseRequestMapping.BaseOrg.enableOrDis)
    @PostMapping(value = BaseRequestMapping.BaseOrg.queryCodeList)
    @ApiOperation(value = "查询机构列表")
    public ListEnvelop queryOrgCodeAndNameList() throws Exception {
        return success(baseOrgService.findOrgCodeBySaasId(""));
        return success(baseOrgService.findOrgCodeListBySaasId(""));
    }
}

+ 79 - 66
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/team/BaseTeamEndpoint.java

@ -1,5 +1,6 @@
package com.yihu.jw.base.endpoint.team;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.team.BaseTeamService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.base.team.BaseTeamDO;
@ -21,100 +22,112 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* 团队信息控制器
*
* @version
* <pre>
 * 团队信息控制器
 *
 * @version <pre>
 * Author	Version		Date		Changes
 * litaohong 	1.0  		2018年08月31日 	Created
 *
 * </pre>
* @since 1.
*/
 * @since 1.
 */
@RestController
@RequestMapping(value = BaseRequestMapping.BaseTeam.PREFIX)
@Api(value = "团队信息管理", description = "团队信息管理服务接口", tags = {"wlyy基础服务 - 团队信息管理服务接口"})
public class BaseTeamEndpoint extends EnvelopRestEndpoint {
@Autowired
private BaseTeamService baseTeamService;
    @Autowired
    private BaseTeamService baseTeamService;
@PostMapping(value = BaseRequestMapping.BaseTeam.CREATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ApiOperation(value = "创建")
public Envelop create (
    @ApiParam(name = "json_data", value = "Json数据", required = true)
    @RequestParam String jsonData) throws Exception {
    String msg = baseTeamService.createTeam(jsonData);
    if(StringUtils.equalsIgnoreCase(ConstantUtils.SUCCESS,msg)){
        return success(msg);
    }
    return failed(msg);
    @PostMapping(value = BaseRequestMapping.BaseTeam.CREATE)
    @ApiOperation(value = "创建团队")
    public Envelop create(
            @ApiParam(name = " jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) throws Exception {
        String msg = baseTeamService.createTeam(jsonData);
        if (StringUtils.equalsIgnoreCase(ConstantUtils.SUCCESS, msg)) {
            return success(msg);
        }
        return failed(msg);
    }
    @PostMapping(value = BaseRequestMapping.BaseTeam.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
    @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
    @RequestParam(value = "ids") String ids) {
    baseTeamService.delete(ids.split(","));
    return success("删除成功");
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        baseTeamService.delete(ids.split(","));
        return success("删除成功");
    }
    @PostMapping(value = BaseRequestMapping.BaseTeam.UPDATE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<BaseTeamVO> update (
        @ApiParam(name = "json_data", value = "Json数据", required = true)
        @RequestParam String jsonData) throws Exception {
        BaseTeamDO baseTeam = toEntity(jsonData, BaseTeamDO.class);
        if (null == baseTeam.getId()) {
        return failed("ID不能为空", ObjEnvelop.class);
        }
        baseTeam = baseTeamService.save(baseTeam);
        return success(baseTeam, BaseTeamVO.class);
    @PostMapping(value = BaseRequestMapping.BaseTeam.UPDATE)
    @ApiOperation(value = "更新团队")
    public Envelop update(
            @ApiParam(name = " jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) throws Exception {
        JSONObject jsonObject = baseTeamService.updateTeam(jsonData);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.getString("msg"));
    }
        @GetMapping(value = BaseRequestMapping.BaseTeam.PAGE)
        @ApiOperation(value = "获取分页")
        public PageEnvelop<BaseTeamVO> page (
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @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 {
                @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
                @RequestParam(value = "fields", required = false) String fields,
                @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
                @RequestParam(value = "filters", required = false) String filters,
                @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 {
            List<BaseTeamDO> baseTeams = baseTeamService.search(fields, filters, sorts, page, size);
                int count = (int)baseTeamService.getCount(filters);
                return success(baseTeams, count, page, size, BaseTeamVO.class);
         }
            int count = (int) baseTeamService.getCount(filters);
            return success(baseTeams, count, page, size, BaseTeamVO.class);
        }
         @GetMapping(value = BaseRequestMapping.BaseTeam.LIST)
         @ApiOperation(value = "获取列表")
         public ListEnvelop<BaseTeamVO> list (
             @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
             @RequestParam(value = "fields", required = false) String fields,
             @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
             @RequestParam(value = "filters", required = false) String filters,
             @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
             @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
             List<BaseTeamDO> baseTeams = baseTeamService.search(fields, filters, sorts);
                  return success(baseTeams, BaseTeamVO.class);
         }
        @GetMapping(value = BaseRequestMapping.BaseTeam.LIST)
        @ApiOperation(value = "获取列表")
        public ListEnvelop<BaseTeamVO> list (
                @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
                @RequestParam(value = "fields", required = false) String fields,
                @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
                @RequestParam(value = "filters", required = false) String filters,
                @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
                @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
            List<BaseTeamDO> baseTeams = baseTeamService.search(fields, filters, sorts);
            return success(baseTeams, BaseTeamVO.class);
        }
       /*  @GetMapping(value = BaseRequestMapping.BaseTeam.LIST)
         @GetMapping(value = BaseRequestMapping.BaseTeam.queryMemberList)
         @ApiOperation(value = "查看团队成员列表")
         public Envelop getTeamMemberList (
             @ApiParam(name = "orgCode", value = "返回的字段,为空返回全部字段")
             @ApiParam(name = "orgCode", value = "机构标识")
             @RequestParam(value = "orgCode", required = true) String orgCode,
             @ApiParam(name = "teamCode", value = "过滤器,为空检索所有条件")
             @ApiParam(name = "teamCode", value = "团队标识")
             @RequestParam(value = "teamCode", required = true) String teamCode) throws Exception {
             List<BaseTeamDO> baseTeams = baseTeamService.getTeamMemberList(orgCode, teamCode);
                  return success(baseTeams, BaseTeamVO.class);
         }*/
             JSONObject baseTeams = baseTeamService.getTeamMemberList(orgCode, teamCode);
             if (baseTeams.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
                 return failed(baseTeams.getString("msg"));
             }
            return success(baseTeams.getJSONArray("msg"));
         }
         @GetMapping(value = BaseRequestMapping.BaseTeam.queryOne)
         @ApiOperation(value = "查询某一个团队")
         public Envelop getTeamById (
             @ApiParam(name = "teamCode", value = "根据团队标识查询某一个团队信息")
             @RequestParam(value = "teamCode", required = true) String teamId) throws Exception {
             JSONObject team = baseTeamService.getTeamById(teamId);
             if (team.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
                 return failed(team.getString("msg"));
             }
             return success(team.getJSONObject("msg"));
         }
 }
}

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

@ -3,11 +3,9 @@ package com.yihu.jw.base.service.dict;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.netflix.discovery.converters.Auto;
import com.yihu.jw.base.dao.dict.DictHospitalDeptDao;
import com.yihu.jw.base.enums.SystemDictEnum;
import com.yihu.jw.base.service.org.BaseOrgService;
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;
@ -55,7 +53,7 @@ public class DictHospitalDeptService extends BaseJpaService<DictHospitalDeptDO,
            list = dictHospitalDeptDao.findCodeAndName(pageable);
            count = dictHospitalDeptDao.count();
        }else{
            List orgCodeList = baseOrgService.findOrgCodeBySaasId(saasId);
            List orgCodeList = baseOrgService.findOrgCodeListBySaasId(saasId);
            list = dictHospitalDeptDao.findByOrgCodeIn(objectMapper.writeValueAsString(orgCodeList),pageable);
            count = dictHospitalDeptDao.countByCodeIn(saasId);
        }
@ -75,7 +73,7 @@ public class DictHospitalDeptService extends BaseJpaService<DictHospitalDeptDO,
            list = (List<DictHospitalDeptDO>)dictHospitalDeptDao.findAll();
            return list;
        }
        List orgCodeList = baseOrgService.findOrgCodeBySaasId(saasId);
        List orgCodeList = baseOrgService.findOrgCodeListBySaasId(saasId);
        try {
            list = dictHospitalDeptDao.findByOrgCodeIn(objectMapper.writeValueAsString(orgCodeList));
        } catch (JsonProcessingException e) {

+ 28 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java

@ -433,4 +433,32 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
        filter.getExcludes().add("level");
        return JSONObject.toJSONString(treeNode, filter);
    }
    /**
     * 获取某一科室下的医生列表
     * @param deptCode
     * @return
     */
    public JSONObject getDoctorListByDept(String deptCode) throws Exception {
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(deptCode)){
            result.put("msg","parameter deptCode is null");
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        String sql = "select " +
                "  DISTINCT hos.doctor_code as doctorCode, " +
                "  doc.name as name, " +
                "  hos.dept_code as deptCode " +
                " from " +
                "  base_doctor_hospital hos, " +
                "  base_doctor doc " +
                " where " +
                "  hos.doctor_code = doc.id" +
                " and hos.dept_code = '" + deptCode + "'";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        result.put("response", ConstantUtils.SUCCESS);
        result.put("msg",JavaBeanUtils.getInstance().mapListJson(list));
        return result;
    }
}

+ 82 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/excelImport/BaseDoctorExcelDO.java

@ -0,0 +1,82 @@
package com.yihu.jw.base.service.doctor.excelImport;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.excel.ExcelUtil;
import com.yihu.jw.util.excel.Validation;
import com.yihu.jw.util.excel.annotation.Location;
import com.yihu.jw.util.excel.annotation.Row;
import com.yihu.jw.util.excel.annotation.Title;
import com.yihu.jw.util.excel.annotation.ValidRepeat;
import org.apache.commons.lang3.StringUtils;
import java.util.Date;
import java.util.Map;
import java.util.Set;
/**
 *  基础人口信息列表-excel实体类
 * @author lith
 * Created at 2018/10/22.
 */
@Row(start = 1)
@Title(names= "{'姓名', '状态(1生效,0失效)','性别(1男2女)', '身份证号', '联系方式', '机构/部门/职务', '职称','归属业务模块角色','是否名医','专长','简介'}")
public class BaseDoctorExcelDO extends ExcelUtil implements Validation {
    @Location(x=0)
    @ValidRepeat
    String name;
    @Location(x=1)
    @ValidRepeat
    String del;
    @Location(x=2)
    @ValidRepeat
    String sex;
    @Location(x=3)
    @ValidRepeat
    String idcard;
    @Location(x=4)
    @ValidRepeat
    String mobile;
    @Location(x=5)
    @ValidRepeat
    String hospitalInfo;
    @Location(x=6)
    @ValidRepeat
    Integer roleInfo;
    @Location(x=7)
    @ValidRepeat
    String isFamous;
    @Location(x=8)
    @ValidRepeat
    Integer expertise;
    @Location(x=9)
    @ValidRepeat
    String brief;
    private String  saasId;
    //租户创建时间
    private Date saasCreateTime;
    //所属省代码
    private String  provinceCode;
    //省份名称
    private String  provinceName;
    //城市编码
    private String  cityCode;
    //城市名称
    private String  cityName;
    //所属区代码
    private String  districtCode;
    //区名
    private String  districtName;
    //慢病人数
    private Integer ncdNum;
    int yearNow = DateUtil.getNowYear();
    @Override
    public int validate(Map<String, Set> repeatMap) {
        int rs = 1;
        return rs;
    }
}

+ 17 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgSaasService.java

@ -3,8 +3,14 @@ package com.yihu.jw.base.service.org;
import com.yihu.jw.base.dao.org.BaseOrgSaasDao;
import com.yihu.jw.entity.base.org.BaseOrgSaasDO;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.xml.ws.Action;
import java.util.ArrayList;
import java.util.List;
/**
 * 
 * 机构与Saas关联信息服务service
@ -19,4 +25,15 @@ import org.springframework.stereotype.Service;
 */
@Service
public class BaseOrgSaasService extends BaseJpaService<BaseOrgSaasDO, BaseOrgSaasDao> {
    @Autowired
    private BaseOrgSaasDao baseOrgSaasDao;
    public List<BaseOrgSaasDO>  findBySaasid(String saasId){
        List<BaseOrgSaasDO> result =  new ArrayList<>();
        if(StringUtils.isEmpty(saasId)){
            return result;
        }
        return baseOrgSaasDao.findBySaasid(saasId);
    }
}

+ 17 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/org/BaseOrgService.java

@ -266,15 +266,30 @@ public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
    }
    /**
     * 查找某一saasId下的所有机构code
     * 查找某一saasId下的有效的机构code
     * @param saasId
     * @return
     */
    public List findOrgCodeBySaasId(String saasId){
    public List findOrgCodeListBySaasId(String saasId){
        List result = new ArrayList();
        if(StringUtils.isEmpty(saasId)){
            return result;
        }
        return baseOrgDao.findOrgCodeBySaasId(saasId);
    }
     /**
     * 查找某一saasId下的有效的机构列表,新增团队时选择归属机构时用到
     * @param saasId
     * @return
     */
    public List findOrgListBySaasId(String saasId){
        List result = new ArrayList();
        if(StringUtils.isEmpty(saasId)){
            return result;
        }
        return baseOrgDao.findOrgCodeBySaasId(saasId);
    }
}

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

@ -44,6 +44,7 @@ public class BasePatientService extends BaseJpaService<BasePatientDO, BasePatien
    @Autowired
    private ObjectMapper objectMapper;
    /**
     * 居民id
     * @param patientId
@ -65,7 +66,6 @@ public class BasePatientService extends BaseJpaService<BasePatientDO, BasePatien
        result.put("medicareCard",cards);
        return result.toJSONString();
    }
    /**
     * 获取用户基础信息,参数为空查全部
     * @param nameOrIdcard

+ 1 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/system/SystemDictService.java

@ -12,6 +12,7 @@ import com.yihu.jw.entity.base.system.SystemDictEntryDO;
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 org.springframework.transaction.annotation.Transactional;

+ 38 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/team/BaseTeamMemberService.java

@ -1,10 +1,19 @@
package com.yihu.jw.base.service.team;
import com.yihu.jw.base.dao.doctor.BaseDoctorRoleDao;
import com.yihu.jw.base.dao.team.BaseTeamMemberDao;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.base.team.BaseTeamMemberDO;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
 * 
 * 团队成员服务service
@ -19,4 +28,33 @@ import com.yihu.jw.entity.base.team.BaseTeamMemberDO;
 */
@Service
public class BaseTeamMemberService extends BaseJpaService<BaseTeamMemberDO, BaseTeamMemberDao> {
    @Autowired
    private BaseTeamMemberDao baseTeamMemberDao;
    /**
     * 根据团队标识获取团队成员Id列表
     *
     * @param teamCode
     * @return
     */
    public Set<Object> findMemberIdList(String teamCode) {
        Set<Object> result = new HashSet<>();
        if (StringUtils.isEmpty(teamCode)) {
            return result;
        }
        return baseTeamMemberDao.findIdListByTeamCode(teamCode);
    }
    /**
     * 根据团队标识获取居民团队成员列表
     * @param teamCode
     * @return
     */
    public List<BaseTeamMemberDO> findMembersByTeamCode(String teamCode){
        List<BaseTeamMemberDO> result = new ArrayList<>();
        if(org.apache.commons.lang.StringUtils.isEmpty(teamCode)){
            return result;
        }
        return baseTeamMemberDao.findByTeamCode(teamCode);
    }
}

+ 108 - 22
svr/svr-base/src/main/java/com/yihu/jw/base/service/team/BaseTeamService.java

@ -6,19 +6,23 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.dao.team.BaseTeamDao;
import com.yihu.jw.base.dao.team.BaseTeamMemberDao;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import com.yihu.jw.entity.base.team.BaseTeamMemberDO;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yihu.jw.entity.base.team.BaseTeamDO;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * 
@ -47,6 +51,13 @@ public class BaseTeamService extends BaseJpaService<BaseTeamDO, BaseTeamDao> {
    @Autowired
    private ObjectMapper objectMapper;
    /**
     * 新增团队
     * @param jsonData
     * @return
     * @throws Exception
     */
    @Transactional(rollbackFor = Exception.class)
    public String createTeam(String jsonData) throws Exception {
        JSONObject jsonObject = JSONObject.parseObject(jsonData);
        JSONObject teamJSONObject = jsonObject.getJSONObject("team");
@ -55,49 +66,124 @@ public class BaseTeamService extends BaseJpaService<BaseTeamDO, BaseTeamDao> {
            return ConstantUtils.FAIL;
        }
        BaseTeamDO baseTeamDO = objectMapper.readValue(teamJSONObject.toJSONString(),BaseTeamDO.class);
        this.save(baseTeamDO);
        List<BaseTeamMemberDO> memberList = new ArrayList<>();
        teamMemberArray.forEach((teamMember)->{
            try {
                BaseTeamMemberDO baseTeamMemberDO = objectMapper.readValue(teamMember.toString(),BaseTeamMemberDO.class);
                baseTeamMemberDO.setTeamCode(baseTeamDO.getId());
                memberList.add(baseTeamMemberDO);
            } catch (IOException e) {
                e.printStackTrace();
            }
        });
        this.save(baseTeamDO);
        baseTeamMemberService.batchInsert(memberList);
        return ConstantUtils.SUCCESS;
    }
    /**
     * 获取团队机构列表
     * 修改团队
     * @param jsonData
     * @return
     */
    public List<Map<String,Object>> getTeamOrgList(){
        List<Map<String,Object>> result = new ArrayList<>();
        result = baseTeamDao.getTeamOrgList();
    @Transactional(rollbackFor = Exception.class)
    public JSONObject updateTeam(String jsonData){
        JSONObject result = new JSONObject();
        if(org.springframework.util.StringUtils.isEmpty(jsonData)){
            result.put("msg","jsonData is null");
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        JSONObject jsonObject = JSONObject.parseObject(jsonData);
        JSONObject team = jsonObject.getJSONObject("team");
        JSONArray teamMembers = jsonObject.getJSONArray("teamMember");
        if(null == team || CollectionUtils.isEmpty(teamMembers)){
            result.put("msg","parameter team or teamMember of jsonData is null");
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        //判断团队id是否存在
        if(org.springframework.util.StringUtils.isEmpty(team.getString("id"))){
            result.put("msg","parameter id for team is null when update team");
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        // 修改团队信息
        BaseTeamDO baseTeamDO = null;
        try {
            baseTeamDO = objectMapper.readValue(team.toJSONString(),BaseTeamDO.class);
        } catch (IOException e) {
            result.put("msg","convert team jsonObject to BaseTeamDO failed," + e.getCause());
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        this.save(baseTeamDO);
        //修改团队成员信息
        BaseTeamMemberDO baseTeamMemberDO = null;
        Set<Object> roleIdList = baseTeamMemberService.findMemberIdList(baseTeamDO.getId());
        try {
            for(Object object : teamMembers){
                baseTeamMemberDO = objectMapper.readValue(object.toString(),BaseTeamMemberDO.class);
                if(roleIdList.contains(baseTeamMemberDO.getId())){
                    roleIdList.remove(baseTeamMemberDO.getId());
                }
                baseTeamMemberService.save(baseTeamMemberDO);
            }
        } catch (IOException e) {
            result.put("msg","convert teamMember jsonObject to BaseTeamMemberDO failed," + e.getCause());
            result.put("response",ConstantUtils.FAIL);
        }
        baseTeamMemberService.delete(roleIdList.toArray());
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",baseTeamDO);
        return result;
    }
    /**
     * 查看团队成员
     * 查看团队成员 (姓名,身份证)
     * @param orgCode
     * @param teamCode
     * @return
     */
    public String getTeamMemberList(String orgCode,String teamCode){
        List<Map<String,Object>> result = new ArrayList<>();
        if( StringUtils.isEmpty(orgCode) || StringUtils.isEmpty(orgCode) ){
            return null;
    public JSONObject getTeamMemberList(String orgCode,String teamCode) throws Exception {
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(orgCode) || StringUtils.isEmpty(teamCode)){
            result.put("msg","parameter orgCode or orgCode is null");
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        JSONArray list = new JSONArray();
        result = baseTeamMemberDao.getTeamMemberList();
        for(Map<String,Object> map : result){
            JSONObject jsonObject = JSONObject.parseObject(map.toString());
            list.add(jsonObject);
        }
        return list.toJSONString();
        List<Map<String,Object>> list = baseTeamMemberDao.getTeamMemberList();
        result.put("response", ConstantUtils.SUCCESS);
        result.put("msg", JavaBeanUtils.getInstance().mapListJson(list));
        return result;
    }
    /**
     * 团队id
     * @param teamId
     * @return
     */
    public JSONObject getTeamById(String teamId) throws Exception{
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(teamId)){
            result.put("msg","parameter teamCode is null");
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        List<BaseTeamDO> teamDOList = this.findByField("id",teamId);
        if(CollectionUtils.isEmpty(teamDOList)){
            result.put("msg","not exist team for id:"+ teamId);
            result.put("response",ConstantUtils.FAIL);
            return result;
        }
        List<BaseTeamMemberDO> members = baseTeamMemberService.findMembersByTeamCode(teamId);
        result.put("response",ConstantUtils.SUCCESS);
        JSONObject teamInfo = new JSONObject();
        teamInfo.put("team",teamDOList.get(0));
        teamInfo.put("teamMember",members);
        result.put("msg",teamInfo);
        return result;
    }
}