|
@ -0,0 +1,1191 @@
|
|
|
package com.yihu.customer.controller.synergy.customer;
|
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.yihu.customer.controller.BaseController;
|
|
|
import com.yihu.customer.entity.Hospital;
|
|
|
import com.yihu.customer.entity.User;
|
|
|
import com.yihu.customer.entity.WlyyAdminTeam;
|
|
|
import com.yihu.customer.entity.call.CallRecord;
|
|
|
import com.yihu.customer.entity.synergy.ManageSynergyWorkorderServicerLogDO;
|
|
|
import com.yihu.customer.entity.synergy.ManageSynergyAccessoryDO;
|
|
|
import com.yihu.customer.entity.synergy.ManageSynergyWorkorderTestInstructionsDo;
|
|
|
import com.yihu.customer.repository.call.CallRecordDao;
|
|
|
import com.yihu.customer.service.manager.hos.HosService;
|
|
|
import com.yihu.customer.service.manager.team.ManageWlyyAdminTeamService;
|
|
|
import com.yihu.customer.service.manager.user.UserService;
|
|
|
import com.yihu.customer.service.synergy.SynergyManageService;
|
|
|
import com.yihu.customer.service.synergy.SynergyWorkorderServicerLogService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import jxl.Workbook;
|
|
|
import jxl.write.Label;
|
|
|
import jxl.write.WritableSheet;
|
|
|
import jxl.write.WritableWorkbook;
|
|
|
import jxl.write.WriteException;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.json.JSONArray;
|
|
|
import org.json.JSONObject;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
import java.io.OutputStream;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* Created by 刘文彬 on 2018/9/27.
|
|
|
*/
|
|
|
@Controller
|
|
|
@RequestMapping(value = "/synergy/customer", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
|
|
|
@Api(description = "集美客服系统")
|
|
|
public class CustomerSynergyManageController extends BaseController {
|
|
|
|
|
|
public static final String CALL_LABEL="CALL_LABEL";
|
|
|
@Autowired
|
|
|
private SynergyManageService synergyManageService;
|
|
|
@Autowired
|
|
|
private SynergyWorkorderServicerLogService synergyWorkorderServicerLogService;
|
|
|
@Autowired
|
|
|
private UserService userService;
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
@Autowired
|
|
|
private CallRecordDao callRecordDao;
|
|
|
@Autowired
|
|
|
private ObjectMapper objectMapper;
|
|
|
@Autowired
|
|
|
private HosService hospitalService;
|
|
|
@Autowired
|
|
|
private ManageWlyyAdminTeamService teamService;
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "/getWorkOrderInfo", method = {RequestMethod.GET, RequestMethod.POST})
|
|
|
@ApiOperation(value = "获取协同服务工单信息")
|
|
|
@ResponseBody
|
|
|
public String getWorkOrderInfo(@ApiParam(name="workorderCode",value="协同服务工单code")
|
|
|
@RequestParam(required = true)String workorderCode,
|
|
|
@ApiParam(name="patient",value="居民code")
|
|
|
@RequestParam(required = false)String patient,
|
|
|
@ApiParam(name="role",value="1医生,2普通客服,3客服管理员")
|
|
|
@RequestParam(required = true)Integer role,
|
|
|
@ApiParam(name="reminderCode",value="催单code")
|
|
|
@RequestParam(required = false)String reminderCode){
|
|
|
try {
|
|
|
return write(200,"查询成功","data", synergyManageService.getWorkOrderInfo(workorderCode, patient, role,reminderCode));
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
error(e);
|
|
|
return error(-1,"查询失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/dealWorkOrder",method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "处理协同服务")
|
|
|
@ResponseBody
|
|
|
public String dealWorkOrder(@ApiParam(name="code",value="协同服务工单code")
|
|
|
@RequestParam(required = true)String code,
|
|
|
@ApiParam(name="jsonData",value="接收负责人或者退回理由")
|
|
|
@RequestParam(required = true)String jsonData,
|
|
|
@ApiParam(name="receiverCode",value="处理者code")
|
|
|
@RequestParam(required = true)String receiverCode,
|
|
|
@ApiParam(name="status",value="2、接收,4、退回)")
|
|
|
@RequestParam(required = true)Integer status){
|
|
|
try {
|
|
|
User user = userService.getUserByCode(receiverCode);
|
|
|
synergyManageService.dealWorkOrder(code, user, jsonData, status);
|
|
|
return write(200,"保存成功");
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"保存失败");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 批量处理协同服务
|
|
|
* @param code
|
|
|
* @param jsonData
|
|
|
* @param receiverCode
|
|
|
* @param status
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "/batchDealWorkOrder",method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "批量处理协同服务")
|
|
|
@ResponseBody
|
|
|
public String batchDealWorkOrder(@ApiParam(name="code",value="协同服务工单code")
|
|
|
@RequestParam(required = true)String code,
|
|
|
@ApiParam(name="jsonData",value="接收负责人或者退回理由")
|
|
|
@RequestParam(required = true)String jsonData,
|
|
|
@ApiParam(name="receiverCode",value="处理者code")
|
|
|
@RequestParam(required = true)String receiverCode,
|
|
|
@ApiParam(name="status",value="2、接收,4、退回)")
|
|
|
@RequestParam(required = true)Integer status){
|
|
|
try {
|
|
|
User user = userService.getUserByCode(receiverCode);
|
|
|
synergyManageService.batchDealWorkOrder(code, user, jsonData, status);
|
|
|
return write(200,"保存成功");
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"保存失败");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/selectByWorkorder",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取上一次分配的信息")
|
|
|
@ResponseBody
|
|
|
public String selectByWorkorder(@ApiParam(name="code",value="协同服务工单code")
|
|
|
@RequestParam(required = true)String code){
|
|
|
try {
|
|
|
return write(200,"保存成功","data",synergyManageService.selectByWorkorder(code));
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"保存失败");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/getCustomers", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取客服列表")
|
|
|
@ResponseBody
|
|
|
public String getCustomers(){
|
|
|
try {
|
|
|
List<User> list = synergyManageService.getCustomers();
|
|
|
return write(200,"查询成功", "data", list);
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"查询失败");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/labels", method = RequestMethod.GET)
|
|
|
@ApiOperation("根据分组类型查找标签")
|
|
|
@ResponseBody
|
|
|
public String labels(
|
|
|
@ApiParam(name = "labelType", value = "1:服务类型(卫计委分组) 2:健康情况 3:疾病类型 4:团队标签(自定义标签)", required = true)
|
|
|
@RequestParam(value = "labelType", required = true) String labelType) {
|
|
|
try {
|
|
|
return write(200,"查询成功", "data", synergyManageService.getLabels(labelType));
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1,"查询失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/unitLabels", method = RequestMethod.GET)
|
|
|
@ApiOperation("根据地区查找卫计委下属单位标签")
|
|
|
@ResponseBody
|
|
|
public String unitLabels(@ApiParam(name = "currentRoleCode", value = "地点对应的code")
|
|
|
@RequestParam(value = "currentRoleCode", required = true) String currentRoleCode,
|
|
|
@ApiParam(name = "currentRoleLevel", value = "1省2城市3区县", required = false)
|
|
|
@RequestParam(value = "currentRoleLevel", required = true) String currentRoleLevel) {
|
|
|
try {
|
|
|
return write(200,"查询成功", "data", synergyManageService.getUnitLabels(currentRoleCode, currentRoleLevel));
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1,"查询失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "workorderList", method = RequestMethod.GET)
|
|
|
@ApiOperation("客服系统-协同服务列表")
|
|
|
@ResponseBody
|
|
|
public String workorderList(@ApiParam(name = "userCode", value = "客服code", required = false)
|
|
|
@RequestParam(value = "userCode", required = false)String userCode,
|
|
|
@ApiParam(name = "keywords", value = "输入医生姓名、姓名、社保卡、身份证号码", required = false)
|
|
|
@RequestParam(value = "keywords", required = false)String keywords,
|
|
|
@ApiParam(name = "workorderType", value = "服务类型(0、咨询,1、健康教育,2、预约,3、随访,4、问卷调查,5、疾病筛查)", required = false)
|
|
|
@RequestParam(value = "workorderType", required = false)Integer workorderType,
|
|
|
@ApiParam(name = "isMyTask", value = "是否由我负责,1、我负责,null全部", required = false)
|
|
|
@RequestParam(value = "isMyTask", required = false)Integer isMyTask,
|
|
|
@ApiParam(name = "status", value = "工单状态(0、草稿,1、未接受,2、处理中,3、处理完成,4、退回)", required = false)
|
|
|
@RequestParam(value = "status", required = false)Integer status,
|
|
|
@ApiParam(name = "priority", value = "工单优先级(0、普通,1、加急)", required = false)
|
|
|
@RequestParam(value = "priority", required = false)Integer priority,
|
|
|
@ApiParam(name = "timeout", value = "是否超时1、超时,2、否超时,null全部", required = false)
|
|
|
@RequestParam(value = "timeout", required = false)Integer timeout,
|
|
|
@ApiParam(name = "workorderCode", value = "服务编号", required = false)
|
|
|
@RequestParam(value = "workorderCode", required = false)String workorderCode,
|
|
|
@ApiParam(name = "principal", value = "负责人", required = false)
|
|
|
@RequestParam(value = "principal", required = false)String principal,
|
|
|
@ApiParam(name = "serviceStartTime", value = "服务开始时间(格式:yyyy-MM-dd HH:mm:ss)", required = false)
|
|
|
@RequestParam(value = "serviceStartTime", required = false)String serviceStartTime,
|
|
|
@ApiParam(name = "serviceEndTime", value = "服务结束时间(格式:yyyy-MM-dd HH:mm:ss)", required = false)
|
|
|
@RequestParam(value = "serviceEndTime", required = false)String serviceEndTime,
|
|
|
@ApiParam(name = "patientName", value = "服务对象名称", required = false)
|
|
|
@RequestParam(value = "patientName", required = false)String patientName,
|
|
|
@ApiParam(name = "ssc", value = "社保卡号", required = false)
|
|
|
@RequestParam(value = "ssc", required = false)String ssc,
|
|
|
@ApiParam(name = "idcard", value = "身份证号", required = false)
|
|
|
@RequestParam(value = "idcard", required = false)String idcard,
|
|
|
@ApiParam(name = "userType", value = "2、客服,3、客服管理员", required = true)
|
|
|
@RequestParam(value = "userType", required = true)Integer userType,
|
|
|
@ApiParam(name = "isAcceptTask", value = "1、我接收到的任务,2、我派发的任务,3、待接收(客服管理员),4、已接收(客服管理员)", required = true)
|
|
|
@RequestParam(value = "isAcceptTask", required = true)Integer isAcceptTask,
|
|
|
@ApiParam(name = "userName", value = "需求方", required = false)
|
|
|
@RequestParam(value = "userName", required = false)String userName,
|
|
|
@ApiParam(name = "hospitalName", value = "所属机构", required = false)
|
|
|
@RequestParam(value = "hospitalName", required = false)String hospitalName,
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true)
|
|
|
@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true)
|
|
|
@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize,
|
|
|
@ApiParam(name = "isRead", value = "1、已读,0、未读", required = false)
|
|
|
@RequestParam(value = "isRead", required = false)Integer isRead,
|
|
|
@ApiParam(name = "isOne", value = "1、自己,0、全部", required = false)
|
|
|
@RequestParam(value = "isOne", required = false)Integer isOne,
|
|
|
@ApiParam(name = "customerCode", value = "客服code", required = false)
|
|
|
@RequestParam(value = "customerCode", required = false)String customerCode){
|
|
|
try {
|
|
|
if(!StringUtils.isNotEmpty(userCode)){
|
|
|
userCode = getUID();
|
|
|
}
|
|
|
Map<String,Object> result = synergyManageService.workorderList(userCode,keywords,workorderType,isMyTask,status,priority,timeout,workorderCode,
|
|
|
principal,serviceStartTime,serviceEndTime,patientName,ssc,idcard,userType,isAcceptTask,userName,hospitalName,page,pageSize,isRead,isOne,customerCode);
|
|
|
return write(200, "获取成功", "data", result);
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1, "请求失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "workorderListTotal", method = RequestMethod.GET)
|
|
|
@ApiOperation("客服系统-协同服务列表")
|
|
|
@ResponseBody
|
|
|
public String workorderListTotal(@ApiParam(name = "userCode", value = "客服code", required = false)
|
|
|
@RequestParam(value = "userCode", required = false)String userCode,
|
|
|
@ApiParam(name = "userType", value = "2、客服,3、客服管理员", required = true)
|
|
|
@RequestParam(value = "userType", required = true)Integer userType){
|
|
|
try {
|
|
|
if(!StringUtils.isNotEmpty(userCode)){
|
|
|
userCode = getUID();
|
|
|
}
|
|
|
Map<String,Object> result = synergyManageService.workorderListTotal(userCode,userType);
|
|
|
return write(200, "获取成功", "data", result);
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1, "请求失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/takeWorkorderNum", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取协同服务取号信息")
|
|
|
@ResponseBody
|
|
|
public String takeWorkorderNum(@ApiParam(name="workorderCode",value="协同服务工单code",required = false)
|
|
|
@RequestParam(required = true)String workorderCode,
|
|
|
@ApiParam(name="townCode",value="所属区县",required = false)
|
|
|
@RequestParam(required = false)String townCode,
|
|
|
@ApiParam(name="hospitalCode",value="所属社区",required = false)
|
|
|
@RequestParam(required = false)String hospitalCode,
|
|
|
@ApiParam(name="diseaseCode",value="疾病类型",required = false)
|
|
|
@RequestParam(required = false)String diseaseCode,
|
|
|
@ApiParam(name="healthCode",value="健康情况",required = false)
|
|
|
@RequestParam(required = false)String healthCode,
|
|
|
@ApiParam(name="serveCode",value="服务类型",required = false)
|
|
|
@RequestParam(required = false)String serveCode,
|
|
|
@ApiParam(name="isFollow",value="是否待跟进(1是,0否)",required = false)
|
|
|
@RequestParam(required = false)Integer isFollow){
|
|
|
try {
|
|
|
Map<String,Object> resultMap = synergyManageService.takeWorkorderNum(workorderCode,townCode,hospitalCode,
|
|
|
diseaseCode,healthCode,serveCode,isFollow);
|
|
|
return write(200,"取号成功","data", resultMap);
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"取号失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取协同服务取号列表
|
|
|
*
|
|
|
* @param workorderCode
|
|
|
* @param townCode
|
|
|
* @param hospitalCode
|
|
|
* @param diseaseCode
|
|
|
* @param healthCode
|
|
|
* @param serveCode
|
|
|
* @param isFollow
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "/getWorkorderNum", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取协同服务取号列表")
|
|
|
@ResponseBody
|
|
|
public String getWorkorderNum(@ApiParam(name="workorderCode",value="协同服务工单code",required = false)
|
|
|
@RequestParam(required = true)String workorderCode,
|
|
|
@ApiParam(name="townCode",value="所属区县",required = false)
|
|
|
@RequestParam(required = false)String townCode,
|
|
|
@ApiParam(name="hospitalCode",value="所属社区",required = false)
|
|
|
@RequestParam(required = false)String hospitalCode,
|
|
|
@ApiParam(name="diseaseCode",value="疾病类型",required = false)
|
|
|
@RequestParam(required = false)String diseaseCode,
|
|
|
@ApiParam(name="healthCode",value="健康情况",required = false)
|
|
|
@RequestParam(required = false)String healthCode,
|
|
|
@ApiParam(name="serveCode",value="服务类型",required = false)
|
|
|
@RequestParam(required = false)String serveCode,
|
|
|
@ApiParam(name="isFollow",value="是否待跟进(1是,0否)",required = false)
|
|
|
@RequestParam(required = false)Integer isFollow,
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true)
|
|
|
@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true)
|
|
|
@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize){
|
|
|
try {
|
|
|
JSONObject resultMap = synergyManageService.getWorkorderNum(workorderCode,townCode,hospitalCode,
|
|
|
diseaseCode,healthCode,serveCode,isFollow,page,pageSize);
|
|
|
return write(200,"取号成功","data", resultMap);
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"取号失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/reminderList", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取催单列表")
|
|
|
@ResponseBody
|
|
|
public String reminderList(@ApiParam(name="userCode",value="客服code",required = false)
|
|
|
@RequestParam(required = false)String userCode,
|
|
|
@ApiParam(name="receiveType",value="客服角色(1、客服,2、客服管理员)",required = false)
|
|
|
@RequestParam(required = false)Integer receiveType,
|
|
|
@ApiParam(name="sortType",value="排序(1、升序,2、降序)",required = false,defaultValue = "1")
|
|
|
@RequestParam(required = false,defaultValue = "1")Integer sortType,
|
|
|
@ApiParam(name = "page", value = "第几页,从1开始", required = true)
|
|
|
@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
|
|
|
@ApiParam(name = "pageSize", value = "每页分页大小", required = true)
|
|
|
@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize){
|
|
|
try{
|
|
|
|
|
|
if(!StringUtils.isNotEmpty(userCode)){
|
|
|
userCode = getUID();
|
|
|
}
|
|
|
Map<String,Object> resultList = synergyManageService.reminderList(userCode,receiveType,sortType,page,pageSize);
|
|
|
return write(200,"获取成功","data", resultList);
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"获取失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/workorderRate", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "任务进度")
|
|
|
@ResponseBody
|
|
|
public String workorderRate(@ApiParam(name="userCode",value="客服code",required = false)
|
|
|
@RequestParam(required = false)String userCode,
|
|
|
@ApiParam(name="workorderCode",value="协同服务工单code",required = true)
|
|
|
@RequestParam(required = true)String workorderCode){
|
|
|
try{
|
|
|
|
|
|
if(!StringUtils.isNotEmpty(userCode)){
|
|
|
userCode = getUID();
|
|
|
}
|
|
|
Map<String,Object> resultMap = synergyManageService.workorderRate(workorderCode,userCode);
|
|
|
return write(200,"获取成功","data", resultMap);
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"获取失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "getCallLabelList",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "显示所有通话标签")
|
|
|
@ResponseBody
|
|
|
public String getCallLabelList(){
|
|
|
try{
|
|
|
String sql ="SELECT `code`,`value`,sort FROM system_dict WHERE dict_name='"+CALL_LABEL+"'";
|
|
|
return write(200,"查询成功!","data",jdbcTemplate.queryForList(sql));
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"查询失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "saveCallLabel",method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "保存所有通话标签")
|
|
|
@ResponseBody
|
|
|
public String saveCallLabel(@ApiParam(name="callCode",value="通话记录code")@RequestParam(value = "callCode")String callCode,
|
|
|
@ApiParam(name="callLabels",value="通话标签,多个用逗号隔开")@RequestParam(value = "callLabels",required = false)String callLabels){
|
|
|
try{
|
|
|
int result = synergyManageService.saveCallLabel(callLabels,callCode);
|
|
|
if (result>0){
|
|
|
return write(200,"保存成功!");
|
|
|
}else {
|
|
|
return write(-1,"保存失败!");
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"保存失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "getCallInfo",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取通话的详情")
|
|
|
@ResponseBody
|
|
|
public String getCallTypeAndContent(@ApiParam(name="callCode",value="通话记录code")@RequestParam(value ="callCode")String callCode){
|
|
|
try{
|
|
|
CallRecord callRecord = callRecordDao.findByCode(callCode);
|
|
|
return write(200,"查询成功!","data",callCode);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"查询失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "saveCallInfo",method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "保存通话记录详情")
|
|
|
@ResponseBody
|
|
|
public String saveCallInfo(@ApiParam(name="callCode",value="通话记录code")@RequestParam(value ="callCode")String callCode,
|
|
|
@ApiParam(name="serviceType",value="服务类型,多个用逗号隔开")@RequestParam(value = "serviceType",required = false)String serviceType,
|
|
|
@ApiParam(name="serviceContent",value="服务记录")@RequestParam(value = "serviceContent",required = false)String serviceContent,
|
|
|
@ApiParam(name="patientName",value="居民姓名")@RequestParam(value = "patientName",required = false)String patientName,
|
|
|
@ApiParam(name="followUp",value="是否跟进")@RequestParam(value = "followUp",required = false)Integer followUp){
|
|
|
try{
|
|
|
int result = synergyManageService.saveCallInfo(serviceType,serviceContent,callCode,patientName,followUp);
|
|
|
if (result>0){
|
|
|
return write(200,"保存成功!");
|
|
|
}else {
|
|
|
return write(-1,"保存失败!");
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"保存失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/taskSubmit", method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "协同任务提交")
|
|
|
@ResponseBody
|
|
|
public String taskSubmit(@ApiParam(name="userCode",value="客服code",required = false)
|
|
|
@RequestParam(required = false)String userCode,
|
|
|
@ApiParam(name="workorderCode",value="协同服务工单code",required = true)
|
|
|
@RequestParam(required = true)String workorderCode,
|
|
|
@ApiParam(name="dealResultRemark",value="说明",required = false)
|
|
|
@RequestParam(required = false)String dealResultRemark,
|
|
|
@ApiParam(name="accessoryJson",value="附件的json",required = true)
|
|
|
@RequestParam(required = true)String accessoryJson){
|
|
|
try{
|
|
|
if(!StringUtils.isNotEmpty(userCode)){
|
|
|
userCode = getUID();
|
|
|
}
|
|
|
synergyManageService.taskSubmit(userCode,workorderCode,dealResultRemark,accessoryJson);
|
|
|
return write(200,"提交成功");
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"提交失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/createServicerLog",method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "添加协同服务日志")
|
|
|
@ResponseBody
|
|
|
public String dealWorkOrder(@ApiParam(name="servicerLogDO",value="协同服务日志")
|
|
|
@RequestParam(name = "servicerLogDO",required = true)String servicerLogDO){
|
|
|
try {
|
|
|
ManageSynergyWorkorderServicerLogDO synergyWorkorderServicerLogDO = objectMapper.readValue(servicerLogDO,ManageSynergyWorkorderServicerLogDO.class);
|
|
|
synergyWorkorderServicerLogService.create(synergyWorkorderServicerLogDO,getUID());
|
|
|
return write(200,"保存成功");
|
|
|
}catch (Exception e){
|
|
|
|
|
|
error(e);
|
|
|
return error(-1,"保存失败");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "getDealList",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "通话详情获取待办事项")
|
|
|
@ResponseBody
|
|
|
public String getDealList(@ApiParam(name="idcard",value="居民身份证")@RequestParam(value ="idcard")String idcard){
|
|
|
try{
|
|
|
|
|
|
return write(200,"获取成功!","data",synergyManageService.getDealList(idcard));
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@ApiOperation("查询体征数据")
|
|
|
@RequestMapping(value = "/findByPatient", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String findByPatient(@ApiParam(name="patient",value="随访记录ID",defaultValue = "")
|
|
|
@RequestParam(value="patient",required = true) String patient)
|
|
|
{
|
|
|
try {
|
|
|
return write(200, "查询成功","data",synergyManageService.findByPatient(patient));
|
|
|
} catch (Exception e) {
|
|
|
return invalidUserException(e, -1, "查询失败"+e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@ApiOperation("获取随访数据")
|
|
|
@RequestMapping(value = "/getFollowupProjectData", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
|
|
|
@ResponseBody
|
|
|
public String getFollowupProjectData(@ApiParam(name = "id", value = "随访记录ID", defaultValue = "4")
|
|
|
@RequestParam(value = "id", required = true) String id,
|
|
|
@ApiParam(name = "followupProject", value = "随访项目", defaultValue = "2")
|
|
|
@RequestParam(value = "followupProject", required = true) String followupProject) {
|
|
|
try {
|
|
|
return write(200, "获取随访项目数据成功!", "data", synergyManageService.getFollowupProjectData(id,followupProject));
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return invalidUserException(e, -1, "获取随访项目数据失败!" + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 药品列表
|
|
|
* @param name
|
|
|
* @param isinsulin
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "/findDictByName", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "药品列表")
|
|
|
@ResponseBody
|
|
|
public String findDictByName(@ApiParam(name = "name", value = "药品名称(中文或拼音首字母查询)", defaultValue = "胰岛素")
|
|
|
@RequestParam(value = "name", required = false) String name,
|
|
|
@ApiParam(name = "isinsulin", value = "是否过滤胰岛素:1非胰岛素,2胰岛素", defaultValue = "")
|
|
|
@RequestParam(value = "isinsulin", required = false) String isinsulin,
|
|
|
@ApiParam(name = "doctor", value = "医生code", defaultValue = "")
|
|
|
@RequestParam(value = "doctor", required = false) String doctor) {
|
|
|
try {
|
|
|
// return write(200, "操作成功!", "data",zyDictService.findDictByDoctorAndName("e3b3bfb3644011e69616fa163e424525",name,isinsulin));
|
|
|
return write(200, "操作成功!", "data",synergyManageService.findDictByName(name,isinsulin,doctor));
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1, "查询失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@ApiOperation("保存面访用药数据")
|
|
|
@RequestMapping(value = "/saveFollowupDrugs", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String saveFollowupDrugs(@ApiParam(name="id",value="随访记录ID",defaultValue = "")
|
|
|
@RequestParam(value="id",required = true) String id,
|
|
|
@ApiParam(name="drugsData",value="面访用药数据",defaultValue = "[]")
|
|
|
@RequestParam(value="drugsData",required = true) String drugsData)
|
|
|
{
|
|
|
try {
|
|
|
synergyManageService.saveFollowupDrugs(id,drugsData);
|
|
|
|
|
|
return write(200, "保存面访用药数据成功!");
|
|
|
} catch (Exception e) {
|
|
|
return invalidUserException(e, -1, "保存面访用药数据失败!"+e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/***************************************获取随访信息*****************************************/
|
|
|
@ApiOperation("获取随访信息")
|
|
|
@RequestMapping(value = "/getFollowup", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String getFollowup(@ApiParam(name = "id", value = "随访记录ID", defaultValue = "4")
|
|
|
@RequestParam(value = "id", required = true) String id) {
|
|
|
try {
|
|
|
com.alibaba.fastjson.JSONObject response = synergyManageService.getFollowup(id);
|
|
|
|
|
|
return write(200, "获取随访信息成功!", "data", response);
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return invalidUserException(e, -1, "获取随访信息失败!" + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@ApiOperation("获取上次随访")
|
|
|
@RequestMapping(value = "/getLastFollowup", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
|
|
|
@ResponseBody
|
|
|
public String getLastFollowup(@ApiParam(name = "doctor", value = "医生code")
|
|
|
@RequestParam(value = "doctor", required = true) String doctor,
|
|
|
@ApiParam(name = "patient", value = "患者代码", defaultValue = "P20161008001")
|
|
|
@RequestParam(value = "patient", required = true) String patient,
|
|
|
@ApiParam(name = "followClass", value = "随访类别", defaultValue = "1")
|
|
|
@RequestParam(value = "followClass", required = true) String followClass) {
|
|
|
try {
|
|
|
com.alibaba.fastjson.JSONObject response = synergyManageService.getLastFollowup(doctor, patient, followClass);
|
|
|
return write(200, "获取上次随访成功!", "data", response);
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return invalidUserException(e, -1, "获取上次随访失败!" + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@ApiOperation("复制上次随访数据")
|
|
|
@RequestMapping(value = "/copyFollowup", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String copyFollowup(@ApiParam(name = "id", value = "本地随访ID", defaultValue = "")
|
|
|
@RequestParam(value = "id", required = true) Long id,
|
|
|
@ApiParam(name = "fromId", value = "拷贝随访记录ID", defaultValue = "")
|
|
|
@RequestParam(value = "fromId", required = true) Long fromId) {
|
|
|
try {
|
|
|
synergyManageService.copyFollowup(id, fromId);
|
|
|
return write(200, "复制上次随访成功!");
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return invalidUserException(e, -1, "复制上次随访失败!" + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@ApiOperation("新增临时随访记录(返回ID)")
|
|
|
@RequestMapping(value = "/addFollowup", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String addFollowup(@ApiParam(name = "doctor", value = "医生code")
|
|
|
@RequestParam(value = "doctor", required = true) String doctor,
|
|
|
@ApiParam(name = "patient", value = "患者代码", defaultValue = "443a196ef8744536a531260eb26c05d7")
|
|
|
@RequestParam(value = "patient", required = true) String patient,
|
|
|
@ApiParam(name = "date", value = "下次随访时间", defaultValue = "2016-12-15 20:00:00")
|
|
|
@RequestParam(value = "date", required = true) String date,
|
|
|
@ApiParam(name = "followupType", value = "随访方式【字典FOLLOWUP_WAY_DICT】", defaultValue = "12")
|
|
|
@RequestParam(value = "followupType", required = true) String followupType,
|
|
|
@ApiParam(name = "followupClass", value = "随访类别【1.高血压 2.糖尿病 3高糖】", defaultValue = "1")
|
|
|
@RequestParam(value = "followupClass", required = true) String followupClass,
|
|
|
@ApiParam(name = "followupManagerStatus", value = "随访管理状态【字典FOLLOWUP_MANAGER_STATUS】", defaultValue = "1")
|
|
|
@RequestParam(value = "followupManagerStatus", required = false) String followupManagerStatus,
|
|
|
@ApiParam(name = "plandate", value = "下次随访时间", defaultValue = "2016-12-14 20:00:00")
|
|
|
@RequestParam(value = "plandate", required = false) String plandate) {
|
|
|
try {
|
|
|
String response = synergyManageService.addFollowup(doctor, patient, date, followupType, followupClass, followupManagerStatus,plandate);
|
|
|
|
|
|
return write(200, "新增临时随访记录成功!", "data", response);
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return invalidUserException(e, -1, "新增临时随访记录失败!" + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@ApiOperation("保存随访项目数据")
|
|
|
@RequestMapping(value = "/saveFollowupProjectData", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
public String saveFollowupProjectData(@ApiParam(name = "id", value = "随访记录id")
|
|
|
@RequestParam(value = "id", required = true)String id,
|
|
|
@ApiParam(name = "followup", value = "随访项目对象")
|
|
|
@RequestParam(value = "followup", required = true)String followup ) {
|
|
|
try {
|
|
|
synergyManageService.saveFollowupProjectData(id,followup);
|
|
|
return write(200, "保存随访项目数据成功!");
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return invalidUserException(e, -1, "保存随访项目数据失败!" + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "customerIndex",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "客服首页")
|
|
|
@ResponseBody
|
|
|
public String customerIndex(@ApiParam(name="userCode",value="客服code")@RequestParam(value ="userCode")String userCode){
|
|
|
try{
|
|
|
return write(200,"获取成功!","data",synergyManageService.customerIndex(userCode));
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "exportWorkorder", method = RequestMethod.GET)
|
|
|
@ApiOperation("客服系统-协同服务列表")
|
|
|
public void exportWorkorder(@ApiParam(name = "userCode", value = "客服code", required = false)
|
|
|
@RequestParam(value = "userCode", required = false)String userCode,
|
|
|
@ApiParam(name = "keywords", value = "输入医生姓名、姓名、社保卡、身份证号码", required = false)
|
|
|
@RequestParam(value = "keywords", required = false)String keywords,
|
|
|
@ApiParam(name = "workorderType", value = "服务类型(0、咨询,1、健康教育,2、预约,3、随访,4、问卷调查,5、疾病筛查)", required = false)
|
|
|
@RequestParam(value = "workorderType", required = false)Integer workorderType,
|
|
|
@ApiParam(name = "isMyTask", value = "是否由我负责,1、我负责,null全部", required = false)
|
|
|
@RequestParam(value = "isMyTask", required = false)Integer isMyTask,
|
|
|
@ApiParam(name = "status", value = "工单状态(0、草稿,1、未接受,2、处理中,3、处理完成,4、退回)", required = false)
|
|
|
@RequestParam(value = "status", required = false)Integer status,
|
|
|
@ApiParam(name = "priority", value = "工单优先级(0、普通,1、加急)", required = false)
|
|
|
@RequestParam(value = "priority", required = false)Integer priority,
|
|
|
@ApiParam(name = "timeout", value = "是否超时1、超时,2、否超时,null全部", required = false)
|
|
|
@RequestParam(value = "timeout", required = false)Integer timeout,
|
|
|
@ApiParam(name = "workorderCode", value = "服务编号", required = false)
|
|
|
@RequestParam(value = "workorderCode", required = false)String workorderCode,
|
|
|
@ApiParam(name = "principal", value = "负责人", required = false)
|
|
|
@RequestParam(value = "principal", required = false)String principal,
|
|
|
@ApiParam(name = "serviceStartTime", value = "服务开始时间(格式:yyyy-MM-dd HH:mm:ss)", required = false)
|
|
|
@RequestParam(value = "serviceStartTime", required = false)String serviceStartTime,
|
|
|
@ApiParam(name = "serviceEndTime", value = "服务结束时间(格式:yyyy-MM-dd HH:mm:ss)", required = false)
|
|
|
@RequestParam(value = "serviceEndTime", required = false)String serviceEndTime,
|
|
|
@ApiParam(name = "patientName", value = "服务对象名称", required = false)
|
|
|
@RequestParam(value = "patientName", required = false)String patientName,
|
|
|
@ApiParam(name = "ssc", value = "社保卡号", required = false)
|
|
|
@RequestParam(value = "ssc", required = false)String ssc,
|
|
|
@ApiParam(name = "idcard", value = "身份证号", required = false)
|
|
|
@RequestParam(value = "idcard", required = false)String idcard,
|
|
|
@ApiParam(name = "userType", value = "2、客服,3、客服管理员", required = true)
|
|
|
@RequestParam(value = "userType", required = true)Integer userType,
|
|
|
@ApiParam(name = "isAcceptTask", value = "1、我接收到的任务,2、我派发的任务,3、待接收(客服管理员),4、已接收(客服管理员)", required = true)
|
|
|
@RequestParam(value = "isAcceptTask", required = true)Integer isAcceptTask,
|
|
|
@ApiParam(name = "userName", value = "需求方", required = false)
|
|
|
@RequestParam(value = "userName", required = false)String userName,
|
|
|
@ApiParam(name = "hospitalName", value = "所属机构", required = false)
|
|
|
@RequestParam(value = "hospitalName", required = false)String hospitalName,
|
|
|
@ApiParam(name = "isRead", value = "是否未读", required = false)
|
|
|
@RequestParam(value = "isRead", required = false)Integer isRead,
|
|
|
HttpServletResponse response){
|
|
|
try {
|
|
|
if(!StringUtils.isNotEmpty(userCode)){
|
|
|
userCode = getUID();
|
|
|
}
|
|
|
synergyManageService.exportWorkorder(userCode,keywords,workorderType,
|
|
|
isMyTask,status,priority,timeout,workorderCode,principal,serviceStartTime,serviceEndTime,
|
|
|
patientName,ssc,idcard,userType,isAcceptTask,userName,hospitalName,isRead,response);
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/addWorkorderCustomerLog", method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "添加客户操作记录")
|
|
|
@ResponseBody
|
|
|
public String addWorkorderCustomerLog(@ApiParam(name="workorderCode",value="协同服务工单code",required = true)
|
|
|
@RequestParam(required = true)String workorderCode,
|
|
|
@ApiParam(name="workorderServiceCode",value="协同服务工单的服务对象code",required = true)
|
|
|
@RequestParam(required = true)String workorderServiceCode,
|
|
|
@ApiParam(name="userCode",value="客服code",required = false)
|
|
|
@RequestParam(required = false)String userCode,
|
|
|
@ApiParam(name="callCode",value="通话记录code",required = true)
|
|
|
@RequestParam(required = true)String callCode,
|
|
|
@ApiParam(name="status",value="状态(0、未完成,1、处理完成)",required = true)
|
|
|
@RequestParam(required = true)Integer status){
|
|
|
try{
|
|
|
if(!StringUtils.isNotEmpty(userCode)){
|
|
|
userCode = getUID();
|
|
|
}
|
|
|
synergyManageService.addWorkorderCustomerLog(workorderCode,workorderServiceCode,userCode,callCode,status);
|
|
|
return write(200,"保存成功");
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"保存失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "adminIndex",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "管理员首页.")
|
|
|
@ResponseBody
|
|
|
public String adminIndex(){
|
|
|
try{
|
|
|
return write(200,"获取成功!","data",synergyManageService.adminIndex());
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "intervalOnLine",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "管理员首页-今日在线服务趋势")
|
|
|
@ResponseBody
|
|
|
public String intervalOnLine(){
|
|
|
try{
|
|
|
return write(200,"获取成功!","data",synergyManageService.intervalOnLine());
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "TodayCustomerActivy",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "管理员首页-客服今日活动")
|
|
|
@ResponseBody
|
|
|
public String TodayCustomerActivy(){
|
|
|
try{
|
|
|
return write(200,"获取成功!","data",synergyManageService.TodayCustomerActivy());
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "uploadAccessory",method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "上传附件")
|
|
|
@ResponseBody
|
|
|
public String uploadAccessory(HttpServletRequest request){
|
|
|
try{
|
|
|
Map<String,Object> map = synergyManageService.uploadAccessory(request);
|
|
|
return write(200,"获取成功!","data",map);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "accessoryList",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取附件")
|
|
|
@ResponseBody
|
|
|
public String accessoryList(@ApiParam(name="workorderCode",value="协同服务code",required = true)
|
|
|
@RequestParam(required = true)String workorderCode){
|
|
|
try{
|
|
|
List<ManageSynergyAccessoryDO> resultList = synergyManageService.accessoryList(workorderCode);
|
|
|
return write(200,"获取成功!","date",resultList);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "deleteFile",method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "删除附件")
|
|
|
@ResponseBody
|
|
|
public String deleteFile(@ApiParam(name="storagePath",value="文件的全部路径 如:group1/M00/00/00/wKgRsVjtwpSAXGwkAAAweEAzRjw471.jpg",required = true)
|
|
|
@RequestParam(required = true)String storagePath){
|
|
|
try{
|
|
|
synergyManageService.deleteFile(storagePath);
|
|
|
return write(200,"删除成功!");
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"删除失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "getArticalById",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "获取健康文章详情")
|
|
|
@ResponseBody
|
|
|
public String getArticalById(@ApiParam(name="articalId",value="文章id",required = true)
|
|
|
@RequestParam(required = true)String articalId){
|
|
|
try{
|
|
|
JSONObject jsonObject = synergyManageService.getArticalById(articalId);
|
|
|
return write(200,"获取成功!","data",jsonObject);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "deleteWorkorder",method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "删除工单")
|
|
|
@ResponseBody
|
|
|
public String deleteWorkorder(@ApiParam(name="workorderCode",value="工单code",required = true)
|
|
|
@RequestParam(required = true)String workorderCode){
|
|
|
try{
|
|
|
synergyManageService.deleteWorkorder(workorderCode);
|
|
|
return write(200,"删除成功!");
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"删除失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/getTaskByIdcard", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "根据身份证号获取协同服务居民信息")
|
|
|
@ResponseBody
|
|
|
public String takeWorkorderNum(@ApiParam(name="workorderCode",value="协同服务工单code",required = true)
|
|
|
@RequestParam(required = true)String workorderCode,
|
|
|
@ApiParam(name="idcard",value="身份证号",required = true)
|
|
|
@RequestParam(required = true)String idcard){
|
|
|
try {
|
|
|
Map<String,Object> resultMap = synergyManageService.getTaskByIdcard(workorderCode,idcard);
|
|
|
return write(200,"获取成功","data", resultMap);
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"获取失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/create/ManageSynergyWorkorderTestInstructions", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "协同服务-新增体检说明")
|
|
|
@ResponseBody
|
|
|
public String createManageSynergyWorkorderTestInstructions(
|
|
|
@ApiParam(name = "orgCode", value = "机构编码", required = true)
|
|
|
@RequestParam(required = true) String orgCode,
|
|
|
@ApiParam(name = "orgName", value = "机构名称", required = false)
|
|
|
@RequestParam(required = false) String orgName,
|
|
|
@ApiParam(name = "testCrowd", value = "体检人群", required = false)
|
|
|
@RequestParam(required = false) String testCrowd,
|
|
|
@ApiParam(name = "testPrepare", value = "体检前准备", required = false)
|
|
|
@RequestParam(required = false) String testPrepare,
|
|
|
@ApiParam(name = "testMaterial", value = "提供证件、材料", required = false)
|
|
|
@RequestParam(required = false) String testMaterial,
|
|
|
@ApiParam(name = "testContent", value = "体检内容", required = false)
|
|
|
@RequestParam(required = false) String testContent,
|
|
|
@ApiParam(name = "testRelatedServices", value = "家庭医生相关服务", required = false)
|
|
|
@RequestParam(required = false) String testRelatedServices,
|
|
|
@ApiParam(name = "testAreaTime", value = "地点、时间", required = false)
|
|
|
@RequestParam(required = false) String testAreaTime) {
|
|
|
try {
|
|
|
ManageSynergyWorkorderTestInstructionsDo mswtiDo = synergyManageService.createManageSynergyWorkorderTestInstructions( orgCode, orgName, testCrowd, testPrepare, testMaterial, testContent, testRelatedServices, testAreaTime);
|
|
|
return write(200,"创建成功","data", mswtiDo);
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"获取失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "findManageSynergyWorkorderArticleById",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "集美客服-健康教育文章(医生编写)id")
|
|
|
@ResponseBody
|
|
|
public String findManageSynergyWorkorderArticleById(
|
|
|
@ApiParam(name="articalId",value="集美客服-健康教育文章id",required = true)
|
|
|
@RequestParam(required = true)Long articalId){
|
|
|
try{
|
|
|
JSONObject jsonObject = synergyManageService.findManageSynergyWorkorderArticleById(articalId);
|
|
|
return write(200,"获取成功!","data",jsonObject);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "findTestInstructionsByOrgCode",method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "集美客服-根据机构code获取体检说明")
|
|
|
@ResponseBody
|
|
|
public String findTestInstructionsByOrgCode(
|
|
|
@ApiParam(name="orgCode",value="协同服务医生机构编码",required = true)
|
|
|
@RequestParam(required = true)String orgCode){
|
|
|
try{
|
|
|
ManageSynergyWorkorderTestInstructionsDo jsonObject = synergyManageService.findByorgCode(orgCode);
|
|
|
return write(200,"获取成功!","data",jsonObject);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return write(-1,"获取失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据患者标志获取健康指标
|
|
|
* @param patient 患者指标
|
|
|
* @param type 健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
* @return 操作结果
|
|
|
*/
|
|
|
@RequestMapping(value = "healthIndexList",method = RequestMethod.GET)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("根据患者标志获取健康指标")
|
|
|
public String getHealthIndexByPatient(@ApiParam(name="patient",value="患者代码",defaultValue = "P20160901001")
|
|
|
@RequestParam(value="patient",required = true) String patient,
|
|
|
@ApiParam(name="type",value="指标类型",defaultValue = "1")
|
|
|
@RequestParam(value="type",required = true) int type,
|
|
|
@ApiParam(name="begin",value="开始时间",defaultValue = "2016-07-23 00:00:00")
|
|
|
@RequestParam(value="begin",required = true) String begin,
|
|
|
@ApiParam(name="end",value="开始时间",defaultValue = "2016-08-23 00:00:00")
|
|
|
@RequestParam(value="end",required = true) String end,
|
|
|
@ApiParam(name="page",value="第几页",defaultValue = "1")
|
|
|
@RequestParam(value="page",required = true) int page,
|
|
|
@ApiParam(name="pagesize",value="每页几行",defaultValue = "10")
|
|
|
@RequestParam(value="pagesize",required = true) int pagesize) {
|
|
|
try {
|
|
|
JSONArray jsonArray = synergyManageService.findIndexByPatient(patient, type, begin, end, page, pagesize);
|
|
|
return write(200, "查询成功", "list", jsonArray);
|
|
|
} catch (Exception ex) {
|
|
|
error(ex);
|
|
|
return invalidUserException(ex, -1, "查询失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// @RequestMapping(value = "fileListener",method = RequestMethod.GET)
|
|
|
// @ApiOperation(value = "录音监控")
|
|
|
// @ResponseBody
|
|
|
// public String fileListener(){
|
|
|
// try{
|
|
|
// File directory = new File("D:\\testFile");
|
|
|
// // 轮询间隔 5 秒
|
|
|
// long interval = TimeUnit.SECONDS.toMillis(5);
|
|
|
// // 创建一个文件观察器用于处理文件的格式
|
|
|
// FileAlterationObserver observer = new FileAlterationObserver(directory, FileFilterUtils.and(
|
|
|
// FileFilterUtils.fileFileFilter(),FileFilterUtils.suffixFileFilter(".mp3")));
|
|
|
// //设置文件变化监听器
|
|
|
// observer.addListener(new FileListener());
|
|
|
// FileAlterationMonitor monitor = new FileAlterationMonitor(interval,observer);
|
|
|
// monitor.start();
|
|
|
// return write(200, "启动成功");
|
|
|
// }catch (Exception e){
|
|
|
// e.printStackTrace();
|
|
|
// return error(-1, "启动失败!");
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
@RequestMapping(value = "standard",method = RequestMethod.GET)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("患者健康指标预警值查询")
|
|
|
public String standard(@ApiParam(name="patient",value="患者代码",defaultValue = "P20160901001")
|
|
|
@RequestParam(value="patient",required = true) String patient) {
|
|
|
try {
|
|
|
JSONObject jsonObject = synergyManageService.standard(patient);
|
|
|
return write(200, "查询成功", "list", jsonObject);
|
|
|
} catch (Exception ex) {
|
|
|
error(ex);
|
|
|
return invalidUserException(ex, -1, "查询失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "/callrecordOutExcel", produces = "application/json;charset=UTF-8")
|
|
|
@ResponseBody
|
|
|
public void outExcel(String startTime,String endTime,HttpServletResponse response) {
|
|
|
|
|
|
try {
|
|
|
List<Map<String, Object>> list = synergyManageService.findAllCallRecord(startTime,endTime);
|
|
|
|
|
|
//基本设置
|
|
|
response.setContentType("application/vnd.ms-excel");
|
|
|
String fileName = "通话记录导出";
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
Date date = new Date();
|
|
|
response.setHeader("Content-Disposition", "attachment; filename="
|
|
|
+ new String(fileName.getBytes("UTF-8"), "ISO8859-1") + "_" + sdf.format(date) + ".xls");
|
|
|
OutputStream os = response.getOutputStream();
|
|
|
//处理Excel
|
|
|
WritableWorkbook book = Workbook.createWorkbook(os);
|
|
|
WritableSheet sheet = book.createSheet("通话记录", 0);
|
|
|
sheet.addCell(new Label(0, 0, "序号"));
|
|
|
sheet.addCell(new Label(1, 0, "日期"));
|
|
|
sheet.addCell(new Label(2, 0, "呼入号码"));
|
|
|
sheet.addCell(new Label(3, 0, "回电号码"));
|
|
|
sheet.addCell(new Label(4, 0, "居民姓名"));
|
|
|
sheet.addCell(new Label(5, 0, "居民电话"));
|
|
|
sheet.addCell(new Label(6, 0, "所属社区"));
|
|
|
sheet.addCell(new Label(7, 0, "家庭医生"));
|
|
|
sheet.addCell(new Label(8, 0, "医生电话"));
|
|
|
sheet.addCell(new Label(9, 0, "服务类型"));
|
|
|
sheet.addCell(new Label(10,0,"是否跟进"));
|
|
|
sheet.addCell(new Label(11, 0, "状态"));
|
|
|
sheet.addCell(new Label(12, 0, "工单内容"));
|
|
|
sheet.addCell(new Label(13, 0, "受理客服"));
|
|
|
sheet.addCell(new Label(14, 0, "工单状态"));
|
|
|
List<Map<String, Object>> objList = list;
|
|
|
if (null != objList && objList.size() > 0 && objList.get(0).size() > 0) {
|
|
|
for(int i = 0; i< objList.size(); i ++) {
|
|
|
Map<String, Object> objMap = objList.get(i);
|
|
|
String followup = null;
|
|
|
if (objMap.get("follow_up")!= null){
|
|
|
if (objMap.get("follow_up").toString().equalsIgnoreCase("0")){
|
|
|
followup="无需跟进";
|
|
|
}else if (objMap.get("follow_up").toString().equalsIgnoreCase("1")){
|
|
|
followup="需跟进";
|
|
|
}else if (objMap.get("follow_up").toString().equalsIgnoreCase("2")){
|
|
|
followup="已跟进";
|
|
|
}
|
|
|
}
|
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
if (objMap.get("server_type_name")!=null){
|
|
|
String str[]=objMap.get("server_type_name").toString().split(",");
|
|
|
for (int k=0;k<str.length;k++){
|
|
|
if (objMap.get("server_type_name").toString().contains("0")){
|
|
|
buffer.append("咨询"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("1")){
|
|
|
buffer.append("健康文章"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("2")){
|
|
|
buffer.append("预约"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("3")){
|
|
|
buffer.append("随访"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("4")){
|
|
|
buffer.append("问卷调查"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("5")){
|
|
|
buffer.append("疾病筛查"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("6")){
|
|
|
buffer.append("健康教育"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("7")){
|
|
|
buffer.append("体检提醒"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("8")){
|
|
|
buffer.append("体征测量"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("9")){
|
|
|
buffer.append("咨询医生"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("10")){
|
|
|
buffer.append("咨询客服"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("11")){
|
|
|
buffer.append("医生代预约"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("12")){
|
|
|
buffer.append("客服预约"+",");
|
|
|
}else if (str[k].equalsIgnoreCase("13")){
|
|
|
buffer.append("急救"+",");
|
|
|
}
|
|
|
}
|
|
|
if (buffer!=null&&buffer.length()>0){
|
|
|
buffer.deleteCharAt(buffer.length()-1);
|
|
|
}
|
|
|
}
|
|
|
sheet.addCell(new Label(0, i + 1, String.valueOf(i + 1)));
|
|
|
sheet.addCell(new Label(1, i + 1, String.valueOf(objMap.get("create_time") != null ? objMap.get("create_time") : "")));
|
|
|
sheet.addCell(new Label(2, i + 1, String.valueOf(objMap.get("caller_number")!= null ? objMap.get("caller_number") : "")));
|
|
|
sheet.addCell(new Label(3, i + 1, String.valueOf(objMap.get("recipient_number")!= null ? objMap.get("recipient_number") : "")));
|
|
|
sheet.addCell(new Label(4, i + 1, String.valueOf(objMap.get("patient_name")!= null ? objMap.get("patient_name") : "")));
|
|
|
sheet.addCell(new Label(5, i + 1, String.valueOf(objMap.get("mobile")!= null ? objMap.get("mobile") : "")));
|
|
|
sheet.addCell(new Label(6, i + 1, String.valueOf(objMap.get("hospital_name")!= null ? objMap.get("hospital_name") : "")));
|
|
|
sheet.addCell(new Label(7, i + 1, String.valueOf(objMap.get("doctor_name")!= null ? objMap.get("doctor_name") : "")));
|
|
|
sheet.addCell(new Label(8, i + 1, String.valueOf(objMap.get("doctorMobile")!= null ? objMap.get("doctorMobile") : "")));
|
|
|
sheet.addCell(new Label(9, i + 1, String.valueOf(buffer!= null ? buffer : "")));
|
|
|
sheet.addCell(new Label(10, i + 1, String.valueOf(followup!= null ? followup : "")));
|
|
|
sheet.addCell(new Label(11, i + 1, String.valueOf(objMap.get("answer_status_name")!= null ? objMap.get("answer_status_name") : "")));
|
|
|
sheet.addCell(new Label(12, i + 1, String.valueOf(objMap.get("service_content")!= null ? objMap.get("service_content") : "")));
|
|
|
sheet.addCell(new Label(13, i + 1, String.valueOf(objMap.get("user_name")!= null ? objMap.get("user_name") : "")));
|
|
|
sheet.addCell(new Label(14, i + 1, String.valueOf(objMap.get("transfer_state_name")!= null ? objMap.get("transfer_state_name") : "")));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
book.write();
|
|
|
book.close();
|
|
|
os.flush();
|
|
|
os.close();
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
} catch (WriteException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 关闭工单
|
|
|
* @param workorderCode
|
|
|
* @param reason
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "/closeWorkorder", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "关闭工单")
|
|
|
@ResponseBody
|
|
|
public String closeWorkorder(@ApiParam(name="workorderCode",value="协同服务工单code",required = true)
|
|
|
@RequestParam(required = true)String workorderCode,
|
|
|
@ApiParam(name="reason",value="关闭说明",required = true)
|
|
|
@RequestParam(required = true)String reason,
|
|
|
@ApiParam(name = "userCode",value = "客服code")
|
|
|
@RequestParam(required = true)String userCode){
|
|
|
try {
|
|
|
synergyManageService.closeWorkorder(workorderCode,reason,userCode);
|
|
|
return write(200,"关闭成功");
|
|
|
}catch (Exception e){
|
|
|
error(e);
|
|
|
return error(-1,"关闭失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "hospitalsByType",method = RequestMethod.GET)
|
|
|
@ResponseBody
|
|
|
public String getHospitalByType(@RequestParam(value = "type", required = true) Integer type,@RequestParam(value = "code", required = true) String code) {
|
|
|
try {
|
|
|
List<Hospital> hospitals = hospitalService.getHospitalByType(type,code);
|
|
|
return write(200, "操作成功!", "list", hospitals);
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1, "操作失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//获取某个机构下的所有团队
|
|
|
@RequestMapping(value = "teamList", method = RequestMethod.GET)
|
|
|
@ResponseBody
|
|
|
public String searchTeams(
|
|
|
@ApiParam(name = "town", required = false,value = "区编码")
|
|
|
@RequestParam(value = "town", required = false) String town,
|
|
|
@ApiParam(name = "orgCode", value = "机构编码")
|
|
|
@RequestParam(value = "orgCode", required = false) String orgCode) {
|
|
|
try {
|
|
|
//按医生code信息外查询,
|
|
|
List<WlyyAdminTeam> wlyyTeams = teamService.getByOrgCode(orgCode,town);
|
|
|
return write(200, "操作成功", "list",wlyyTeams);
|
|
|
} catch (Exception ex) {
|
|
|
error(ex);
|
|
|
return error(-1, "操作失败");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|