chenweida пре 7 година
родитељ
комит
8ee544e628

+ 81 - 177
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java

@ -24,6 +24,7 @@ import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.service.common.account.RoleService;
import com.yihu.wlyy.util.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.NameValuePair;
@ -59,7 +60,7 @@ import com.yihu.wlyy.repository.patient.SocialSecurityInfoDao;
 * @author calvin
 */
@Controller
@RequestMapping(value = "/doctor", produces = MediaType.APPLICATION_JSON_UTF8_VALUE,method = {RequestMethod.GET,RequestMethod.POST})
@RequestMapping(value = "/doctor", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(description = "医生")
public class DoctorController extends BaseController {
@ -105,7 +106,8 @@ public class DoctorController extends BaseController {
     * @param hospital 医院标识
     * @return
     */
    @RequestMapping(value = "getDoctorsByhospitalNoPage")
    @ApiOperation("社区医院下医生列表查询接口 没分页")
    @RequestMapping(value = "getDoctorsByhospitalNoPage",method =RequestMethod.POST)
    @ResponseBody
    public String getDoctorsByhospitalNoPage(
            @RequestParam(required = false) String hospital,
@ -157,7 +159,8 @@ public class DoctorController extends BaseController {
     * @param hospital 医院标识
     * @return
     */
    @RequestMapping(value = "getDoctorsByhospital")
    @ApiOperation("社区医院下医生列表查询接口 有分页")
    @RequestMapping(value = "getDoctorsByhospital",method ={RequestMethod.POST,RequestMethod.GET})
    @ResponseBody
    public String getDoctorsByhospital(
            @RequestParam(required = false) String hospital, //医院code
@ -212,7 +215,8 @@ public class DoctorController extends BaseController {
     * @param key      搜索关键字,用于搜索医院名称
     * @return
     */
    @RequestMapping(value = "hospitals")
    @ApiOperation("社区医院列表查询接口")
    @RequestMapping(value = "hospitals",method ={RequestMethod.POST,RequestMethod.GET})
    @ResponseBody
    public String hospitals(
            int type,
@ -270,7 +274,8 @@ public class DoctorController extends BaseController {
     * @param pagesize 页大小
     * @return
     */
    @RequestMapping(value = "hospitals_list")
    @ApiOperation("查询存在医生的医院列表")
    @RequestMapping(value = "hospitals_list",method =RequestMethod.POST)
    @ResponseBody
    public String hospitalL(@RequestParam(required = true) int type,
                            @RequestParam(required = false) String province,
@ -303,7 +308,8 @@ public class DoctorController extends BaseController {
     * @param pagesize 页大小
     * @return
     */
    @RequestMapping(value = "/dept_list")
    @ApiOperation("查询某个医院存在医生科室列表")
    @RequestMapping(value = "/dept_list",method =RequestMethod.POST)
    @ResponseBody
    public String deptList(@RequestParam(required = true) String hospital,
                           @RequestParam(required = false) String key,
@ -335,7 +341,8 @@ public class DoctorController extends BaseController {
     * @param pagesize
     * @return
     */
    @RequestMapping(value = "/doctors_list")
    @ApiOperation("根据科室查询当前在工作医生")
    @RequestMapping(value = "/doctors_list",method =RequestMethod.POST)
    @ResponseBody
    public String findWorkingDoctorByDept(@RequestParam(required = false) String dept,
                                          @RequestParam(required = false) String hospital,
@ -363,7 +370,8 @@ public class DoctorController extends BaseController {
     * @param pagesize 每页显示条数
     * @return
     */
    @RequestMapping(value = "findDeptByHsoptail")
    @ApiOperation("根据机构查找科室")
    @RequestMapping(value = "findDeptByHsoptail",method =RequestMethod.POST)
    @ResponseBody
    public String findDeptByHsoptail(
            String hospital,
@ -403,7 +411,8 @@ public class DoctorController extends BaseController {
     * @param pagesize 每页显示条数
     * @return
     */
    @RequestMapping(value = "findDoctorByDept")
    @ApiOperation("根据科室查找医生")
    @RequestMapping(value = "findDoctorByDept",method =RequestMethod.POST)
    @ResponseBody
    public String findDoctorByDept(
            @RequestParam(required = false) String dept,
@ -458,7 +467,8 @@ public class DoctorController extends BaseController {
     * @param pagesize 每页显示条数
     * @return
     */
    @RequestMapping(value = "findFamousDoctor")
    @ApiOperation("名医列表")
    @RequestMapping(value = "findFamousDoctor",method =RequestMethod.POST)
    @ResponseBody
    public String findFamousDoctor(
            @RequestParam(required = false) String key,
@ -505,44 +515,13 @@ public class DoctorController extends BaseController {
        }
    }
    /**
     * 修改密码
     *
     * @param oldpwd 旧密码
     * @param newpwd 新密码
     * @return
     */
    @RequestMapping(value = "updatepwd")
    @ResponseBody
    @ObserverRequired
    public String updatepwd(String oldpwd, String newpwd) {
        try {
            Doctor doctor = doctorInfoService.findDoctorByCode(getUID());
            if (doctor == null) {
                return error(-1, "修改失败!");
            } else {
                String encodePWD = EncodesUtil.entryptPassword(Encodes.decodeHex(doctor.getSalt()), oldpwd);
                if (StringUtils.equals(doctor.getPassword(), encodePWD)) {
                    doctor.setPassword(newpwd);
                    doctorInfoService.updateDoctorPwd(doctor);
                    return success("修改成功!");
                } else {
                    return error(-1, "修改失败:旧密码错误!");
                }
            }
        } catch (Exception e) {
            error(e);
            return invalidUserException(e, -1, "修改失败!");
        }
    }
    /**
     * 退出登录
     *
     * @return
     */
    @RequestMapping(value = "loginout")
    @ApiOperation("退出登录")
    @RequestMapping(value = "loginout",method =RequestMethod.POST)
    @ResponseBody
    public String loginout() {
        try {
@ -559,7 +538,8 @@ public class DoctorController extends BaseController {
     *
     * @return
     */
    @RequestMapping(value = "baseinfo")
    @ApiOperation("医生基本信息查询接口")
    @RequestMapping(value = "baseinfo",method =RequestMethod.POST)
    @ResponseBody
    public String baseinfo(
            @RequestParam(required = false) String code) {
@ -640,7 +620,8 @@ public class DoctorController extends BaseController {
     *
     * @return
     */
    @RequestMapping(value = "baseinfoCount")
    @ApiOperation("医生基本信息查询接口")
    @RequestMapping(value = "baseinfoCount",method =RequestMethod.POST)
    @ResponseBody
    public String baseinfoCount(
            String doctorType) {
@ -676,7 +657,8 @@ public class DoctorController extends BaseController {
     * @param city      市标识
     * @return
     */
    @RequestMapping(value = "save")
    @ApiOperation("患者基本信息保存")
    @RequestMapping(value = "save",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String save(
@ -758,21 +740,6 @@ public class DoctorController extends BaseController {
        }
    }
    /**
     * 红黄绿标患者数查询接口
     *
     * @return
     */
    @RequestMapping(value = "patients")
    @ResponseBody
    public String patients() {
        try {
            return write(200, "查询成功!", "data", familyContractService.amountPatients(getUID()));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败!");
        }
    }
    /**
     * 患者评价查询接口
@ -781,7 +748,8 @@ public class DoctorController extends BaseController {
     * @param pagesize 分页大小
     * @return
     */
    @RequestMapping(value = "comments")
    @ApiOperation("患者评价查询接口")
    @RequestMapping(value = "comments",method =RequestMethod.POST)
    @ResponseBody
    public String comments(Integer id, Integer pagesize) {
        try {
@ -815,65 +783,6 @@ public class DoctorController extends BaseController {
        }
    }
//	 /**
//	 * 医生三师工作组查询接口
//	 * @return
//	 */
//	 @RequestMapping(value = "teams")
//	 @ResponseBody
//	 public String teams() {
//	 try {
//	 List<DoctorTeam> teams = doctorTeamService.getDoctorTeams(getUID());
//	 JSONArray array = new JSONArray();
//	 if (teams != null) {
//	 for (DoctorTeam team : teams) {
//	 if (team == null) {
//	 continue;
//	 }
//	 JSONObject json = new JSONObject();
//	 json.put("icon", team.getIcon());
//	 json.put("code", team.getCode());
//	 json.put("name", team.getName());
//	 json.put("doctor", team.getDoctorName());
//	 array.put(json);
//	 }
//	 }
//	 return write(200, "查询成功!", "list", array);
//	 } catch (Exception e) {
//	 error(e);
//	 return error(-1, "查询失败!");
//	 }
//	 }
    // /**
    // * 查询三师团队下的医生列表
    // * @param team
    // * @return
    // */
    // @RequestMapping(value = "team_members")
    // @ResponseBody
    // public String teamMembers(String team) {
    // try {
    // List<Doctor> members = doctorTeamService.findTeamMembersByCode(team);
    // JSONArray array = new JSONArray();
    // if (members != null) {
    // for (Doctor member : members) {
    // if (member == null) {
    // continue;
    // }
    // JSONObject json = new JSONObject();
    // json.put("photo", member.getPhoto());
    // json.put("code", member.getCode());
    // json.put("name", member.getName());
    // array.put(json);
    // }
    // }
    // return write(200, "查询成功!", "list", array);
    // } catch (Exception e) {
    // error(e);
    // return error(-1, "查询失败!");
    // }
    // }
    /**
     * 根据类别获取医院列表
@ -884,7 +793,8 @@ public class DoctorController extends BaseController {
     * @param pageSize 页数
     * @return
     */
    @RequestMapping(value = "/hospital_list")
    @ApiOperation("根据类别获取医院列表")
    @RequestMapping(value = "/hospital_list",method =RequestMethod.POST)
    @ResponseBody
    public String getHospitalList(
            @RequestParam(required = true) Integer type,
@ -943,7 +853,8 @@ public class DoctorController extends BaseController {
     * @param pageSize
     * @return
     */
    @RequestMapping(value = "/hospital_list_type")
    @ApiOperation("根据类别获取医院列表")
    @RequestMapping(value = "/hospital_list_type",method =RequestMethod.POST)
    @ResponseBody
    public String getHospitalList(
            @RequestParam(required = true) int doctorType,
@ -1008,7 +919,8 @@ public class DoctorController extends BaseController {
     * @param pageSize 页数
     * @return
     */
    @RequestMapping(value = "/doctor_list")
    @ApiOperation("根据医院标识获取医生信息")
    @RequestMapping(value = "/doctor_list",method =RequestMethod.POST)
    @ResponseBody
    public String getDoctorByHospital(
            @RequestParam(required = true) String hospital,
@ -1063,7 +975,8 @@ public class DoctorController extends BaseController {
     *
     * @return
     */
    @RequestMapping(value = "teachers")
    @ApiOperation("登录患者获取三师信息")
    @RequestMapping(value = "teachers",method =RequestMethod.POST)
    @ResponseBody
    public String teachers(String patient) {
        try {
@ -1119,7 +1032,7 @@ public class DoctorController extends BaseController {
     * @param type 医生类别 1专科医生,2全科医生,3健康管理师
     * @return
     */
    @RequestMapping(value = "/doctor_combobox")
    @RequestMapping(value = "/doctor_combobox",method =RequestMethod.POST)
    @ResponseBody
    public String getDoctorCombobxByHospital(
            @RequestParam(required = true) String hospital,
@ -1177,7 +1090,8 @@ public class DoctorController extends BaseController {
     * @param pageSize
     * @return
     */
    @RequestMapping(value = "/doctor_1_list")
    @ApiOperation("专科医生列表")
    @RequestMapping(value = "/doctor_1_list",method =RequestMethod.POST)
    @ResponseBody
    public String doctor_1_list(
            @RequestParam(required = false) String name,
@ -1232,7 +1146,8 @@ public class DoctorController extends BaseController {
     * @param doctorName 专科医生名字
     * @return
     */
    @RequestMapping(value = "/doctor_1_Toteam")
    @ApiOperation("把专科医生拉到团队里面")
    @RequestMapping(value = "/doctor_1_Toteam",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String doctor_1_Toteam(
@ -1259,7 +1174,8 @@ public class DoctorController extends BaseController {
     * @param parientCode 病人code
     * @return
     */
    @RequestMapping(value = "/getDoctor2ByParient")
    @ApiOperation("根据病人ID查找团队里面的全科医生")
    @RequestMapping(value = "/getDoctor2ByParient",method =RequestMethod.POST)
    @ResponseBody
    public String getDoctor2ByParient(
            @RequestParam(required = true) String parientCode,
@ -1295,7 +1211,8 @@ public class DoctorController extends BaseController {
     * @param parientCode 病人code
     * @return
     */
    @RequestMapping(value = "/getDoctor1ByParient")
    @ApiOperation("根据病人ID查找所有的专科医生,如果团队有专科医生那么专科医生拍第一个")
    @RequestMapping(value = "/getDoctor1ByParient",method =RequestMethod.POST)
    @ResponseBody
    public String getDoctor1ByParient(
            @RequestParam(required = true) String consultCode,
@ -1332,7 +1249,8 @@ public class DoctorController extends BaseController {
     *
     * @return
     */
    @RequestMapping(value = "/validatePatient")
    @ApiOperation("验证患者的名字,身份证和医保卡")
    @RequestMapping(value = "/validatePatient",method =RequestMethod.POST)
    @ResponseBody
    public String validatePatient(
            @RequestParam(required = true) String name,
@ -1379,46 +1297,14 @@ public class DoctorController extends BaseController {
            return error(-1, "查询失败!");
        }
    }
    /**
     * 得到 健康咨询  签约消息 健康体征 重要通知 和讨论组的消息数目
     */
    @RequestMapping(value = "/getAllMessageNum")
    @ResponseBody
    public String getAllMessageNum(
            String doctorCode,
            String doctorType) {
        try {
            JSONObject json = new JSONObject();
//			if("2".equals(doctorType)){
//				//全科医生
//				json.put("healthConsult", doctor.getCode());//健康咨询
//				json.put("sign", doctor.getName());//签约消息
//				json.put("healthTZ", doctor.getPhoto());//健康体征
//				json.put("importantMessage", doctor.getId());//重要通知
//				json.put("groupMessage", doctor.getId());//讨论组消息
//			}else{
//				//健康管理师
//				json.put("healthConsult", doctor.getCode());//健康咨询
//				json.put("sign", doctor.getName());//签约消息
//				json.put("healthTZ", doctor.getPhoto());//健康体征
//				json.put("importantMessage", doctor.getId());//重要通知
//				json.put("groupMessage", doctor.getId());//讨论组消息
//			}
            return write(200, "查询成功!", "doctors", json);
        } catch (Exception ex) {
            error(ex);
            return error(-1, "查询失败!");
        }
    }
    /**
     * 根据身份证号
     *
     * @param idcard
     * @return
     */
    @RequestMapping(value = "/patient_cardno")
    @ApiOperation("根据身份证号")
    @RequestMapping(value = "/patient_cardno",method =RequestMethod.POST)
    @ResponseBody
    public String getPatientCardNo(String idcard) {
        try {
@ -1447,7 +1333,8 @@ public class DoctorController extends BaseController {
     * @param level
     * @return
     */
    @RequestMapping(value = "/findDoctorByLevelAndHospital")
    @ApiOperation("根据level查找机构下的类别医生")
    @RequestMapping(value = "/findDoctorByLevelAndHospital",method =RequestMethod.POST)
    @ResponseBody
    public String findDoctorByLevelAndHospital(String hospital, Integer level) {
        try {
@ -1474,7 +1361,8 @@ public class DoctorController extends BaseController {
     * @param idcard
     * @return
     */
    @RequestMapping(value = "/idcard_update")
    @ApiOperation("更新身份证号")
    @RequestMapping(value = "/idcard_update",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String updateIdcard(String idcard) {
@ -1500,7 +1388,8 @@ public class DoctorController extends BaseController {
     * @param sex
     * @return
     */
    @RequestMapping(value = "/sex_update")
    @ApiOperation("更新医生性别")
    @RequestMapping(value = "/sex_update",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String updateSex(int sex) {
@ -1521,7 +1410,8 @@ public class DoctorController extends BaseController {
     * @param introduce
     * @return
     */
    @RequestMapping(value = "/introduce_update")
    @ApiOperation("更新医生介绍")
    @RequestMapping(value = "/introduce_update",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String updateIntroduce(String introduce) {
@ -1546,7 +1436,8 @@ public class DoctorController extends BaseController {
     * @param expertise
     * @return
     */
    @RequestMapping(value = "/expertise_update")
    @ApiOperation("更新医生专长")
    @RequestMapping(value = "/expertise_update",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String updateExpertise(String expertise) {
@ -1571,7 +1462,8 @@ public class DoctorController extends BaseController {
     * @param status     1 是 0否
     * @return
     */
    @RequestMapping(value = "/setFamous")
    @ApiOperation("设置给医生名医")
    @RequestMapping(value = "/setFamous",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String setFamous(String doctorCode, Integer status) {
@ -1592,7 +1484,8 @@ public class DoctorController extends BaseController {
     * @param patients      患者code 多个逗号分隔
     * @return
     */
    @RequestMapping(value = "/updateTeamHealthDoctors")
    @ApiOperation("转换团队中的健康管理师")
    @RequestMapping(value = "/updateTeamHealthDoctors",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String updateTeamHealthDoctors(String newDoctorCode,
@ -1648,7 +1541,8 @@ public class DoctorController extends BaseController {
     * @param patients      患者code 多个逗号分隔
     * @return
     */
    @RequestMapping(value = "/updateTeamDoctors")
    @ApiOperation("转换团队中的全科医生")
    @RequestMapping(value = "/updateTeamDoctors",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String updateTeamDoctors(String newDoctorCode,
@ -1685,6 +1579,7 @@ public class DoctorController extends BaseController {
     * @param type    1:变更手机号  2:绑定手机号
     * @return
     */
    @ApiOperation("医生手机号变更")
    @RequestMapping(value = "/mobile_update", method = RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
@ -1724,7 +1619,8 @@ public class DoctorController extends BaseController {
     * @param mobile 手机号
     * @return
     */
    @RequestMapping("/is_mobile_register")
    @ApiOperation("手机号是否注册")
    @RequestMapping(value="/is_mobile_register",method =RequestMethod.POST)
    @ResponseBody
    public String isMobileRegister(String mobile) {
        try {
@ -1751,6 +1647,7 @@ public class DoctorController extends BaseController {
     * @param doctorCode   医生code
     * @return
     */
    @ApiOperation("修改密码")
    @RequestMapping(value = "/updatePassword", method = RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
@ -1779,7 +1676,8 @@ public class DoctorController extends BaseController {
     * @param patient
     * @return
     */
    @RequestMapping(value = "/is_patient_signed")
    @ApiOperation("当前医生是否与居民签约")
    @RequestMapping(value = "/is_patient_signed",method =RequestMethod.GET)
    @ResponseBody
    public String isPatientSign(String patient) {
        try {
@ -1801,7 +1699,8 @@ public class DoctorController extends BaseController {
     *
     * @return
     */
    @RequestMapping(value = "/islive")
    @ApiOperation("心跳接口")
    @RequestMapping(value = "/islive",method =RequestMethod.POST)
    @ResponseBody
    public String islive() {
        try {
@ -1823,7 +1722,8 @@ public class DoctorController extends BaseController {
     * @param typeId
     * @return
     */
    @RequestMapping(value = "/allotOrMoveHealth")
    @ApiOperation("分配及转移健管师")
    @RequestMapping(value = "/allotOrMoveHealth",method =RequestMethod.POST)
    @ResponseBody
    @ObserverRequired
    public String allotOrMoveHealth(
@ -1947,6 +1847,7 @@ public class DoctorController extends BaseController {
//    }
    //获取实名软证书的过期时间
    @ApiOperation("获取实名软证书的过期时间")
    @ObserverRequired
    @ResponseBody
    @RequestMapping(value = "/getAuthenticationCAOvertime", method = RequestMethod.GET)
@ -1965,6 +1866,7 @@ public class DoctorController extends BaseController {
    //判断是否在线上安装证书
    @ObserverRequired
    @ApiOperation("判断是否在线上安装证书")
    @ResponseBody
    @RequestMapping(value = "/isAuthentication", method = RequestMethod.GET)
    public String isAuthentication(){
@ -1978,6 +1880,7 @@ public class DoctorController extends BaseController {
    }
    //修改实名软证书调用保护口令
    @ApiOperation("修改实名软证书调用保护口令")
    @ObserverRequired
    @ResponseBody
    @RequestMapping(value = "/updateAuthenticationPassword", method = RequestMethod.POST)
@ -2000,6 +1903,7 @@ public class DoctorController extends BaseController {
    /**
     * 请求实名软证书并进行数字签名
     */
    @ApiOperation("请求实名软证书并进行数字签名")
    @ObserverRequired
    @ResponseBody
    @RequestMapping(value = "/requestRealNameSoftCertAndSign", method = RequestMethod.POST)