|
@ -0,0 +1,116 @@
|
|
|
package com.yihu.wlyy.web.third.gateway.controller.doctor;
|
|
|
|
|
|
import com.yihu.wlyy.entity.doctor.team.sign.SignPatientLabel;
|
|
|
import com.yihu.wlyy.service.app.label.SignPatientLabelInfoService;
|
|
|
import com.yihu.wlyy.service.app.label.SignPatientLabelService;
|
|
|
import com.yihu.wlyy.web.BaseController;
|
|
|
import com.yihu.wlyy.web.third.gateway.vo.HospitalModel;
|
|
|
import com.yihu.wlyy.web.third.gateway.vo.PatientLabelModel;
|
|
|
import com.yihu.wlyy.web.third.gateway.vo.PatientModel;
|
|
|
import com.yihu.wlyy.web.third.gateway.vo.base.BaseResultModel;
|
|
|
import com.yihu.wlyy.web.third.gateway.vo.base.ResultListModel;
|
|
|
import com.yihu.wlyy.web.third.gateway.vo.base.ResultPageListModel;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import org.json.JSONArray;
|
|
|
import org.json.JSONObject;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* Created by chenweida on 2017/8/30.
|
|
|
*/
|
|
|
@Controller
|
|
|
@RequestMapping(value = "/wlyygc/doctor/label", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
|
|
|
@ResponseBody
|
|
|
@Api(description = "疾病标签")
|
|
|
public class GcLableController extends BaseController {
|
|
|
@Autowired
|
|
|
private SignPatientLabelService signPatientLabelService;
|
|
|
@Autowired
|
|
|
private SignPatientLabelInfoService signPatientLabelInfoService;
|
|
|
|
|
|
@RequestMapping(value = "/labels", method = RequestMethod.GET)
|
|
|
@ApiOperation("根据分组类型查找标签")
|
|
|
public ResultListModel<List<PatientLabelModel>> labels(
|
|
|
@ApiParam(name = "type", value = "1:卫计委三大分组 2:健康情况 3:疾病类型 4:自定义", required = true) @RequestParam(value = "type", required = true) String type,
|
|
|
@ApiParam(name = "team", value = "type是4的时候需要传team", required = false) @RequestParam(value = "team", required = false) Long team
|
|
|
) {
|
|
|
try {
|
|
|
List<SignPatientLabel> signPatientLabels = signPatientLabelService.getLabelsByTypeAndTeam(type, team.toString());
|
|
|
List<PatientLabelModel> patientLabelModels = new ArrayList<>();
|
|
|
for (SignPatientLabel signPatientLabel : signPatientLabels) {
|
|
|
PatientLabelModel patientLabelModel = new PatientLabelModel();
|
|
|
BeanUtils.copyProperties(signPatientLabel, patientLabelModel);
|
|
|
patientLabelModels.add(patientLabelModel);
|
|
|
}
|
|
|
return new ResultListModel(patientLabelModels);
|
|
|
} catch (Exception e) {
|
|
|
return new ResultListModel(BaseResultModel.statusEm.find_error.getCode(), BaseResultModel.statusEm.find_error.getMessage() + "," + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/labelsWithNum", method = RequestMethod.GET)
|
|
|
@ApiOperation("根据分组类型查找标签已经标签下的患者数目")
|
|
|
public ResultListModel<List<PatientLabelModel>> labelsWithNum(
|
|
|
@ApiParam(name = "type", value = "1:卫计委三大分组 2:健康情况 3:疾病类型 4:自定义", required = true) @RequestParam(value = "type", required = true) String type,
|
|
|
@ApiParam(name = "team", value = "医生所属的团队ID", required = true) @RequestParam(value = "team", required = true) Long team
|
|
|
) {
|
|
|
try {
|
|
|
JSONArray signPatientLabels = signPatientLabelInfoService.getPatientAmountByTeamGroupLable(team, type);
|
|
|
List<PatientLabelModel> patientLabelModels = new ArrayList<>();
|
|
|
for (int i = 0; i < signPatientLabels.length(); i++) {
|
|
|
JSONObject jo = signPatientLabels.getJSONObject(i);
|
|
|
PatientLabelModel patientLabelModel = new PatientLabelModel();
|
|
|
patientLabelModel.setLabelCode(jo.getString("labelCode"));
|
|
|
patientLabelModel.setLabelName(jo.getString("labelName"));
|
|
|
patientLabelModel.setAmount(jo.getInt("amount"));
|
|
|
patientLabelModel.setFocusAmount(jo.getInt("focusAmount"));
|
|
|
patientLabelModels.add(patientLabelModel);
|
|
|
}
|
|
|
return new ResultListModel(patientLabelModels);
|
|
|
} catch (Exception e) {
|
|
|
return new ResultListModel(BaseResultModel.statusEm.find_error.getCode(), BaseResultModel.statusEm.find_error.getMessage() + "," + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/signPatients", method = RequestMethod.GET)
|
|
|
@ApiOperation("获取医生签约的患者列表")
|
|
|
public ResultPageListModel<PatientModel> signPatients(
|
|
|
@ApiParam(name = "labelType", value = "标签类型", required = true) @RequestParam(value = "labelType", required = true) String labelType,
|
|
|
@ApiParam(name = "labelCode", value = "标签code", required = true) @RequestParam(value = "labelCode", required = true) String labelCode,
|
|
|
@ApiParam(name = "teamCode", value = "所属团队", required = true) @RequestParam(value = "teamCode", required = true) Long teamCode,
|
|
|
@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 {
|
|
|
JSONArray result = signPatientLabelInfoService.getPatientByLabel(getUID(), labelCode, labelType, teamCode, page, pageSize);
|
|
|
List<PatientModel> patientLabelModels = new ArrayList<>();
|
|
|
for (int i = 0; i < result.length(); i++) {
|
|
|
JSONObject jo = result.getJSONObject(i);
|
|
|
PatientModel patientModel = new PatientModel();
|
|
|
patientModel.setCode(jo.getString("code"));
|
|
|
patientModel.setName(jo.getString("name"));
|
|
|
patientModel.setWechatFocusRemind(jo.getString("wechatFocusRemind"));
|
|
|
patientModel.setPhoto(jo.getString("photo"));
|
|
|
patientModel.setSex(jo.getInt("sex"));
|
|
|
patientModel.setAge(jo.getInt("age"));
|
|
|
|
|
|
patientLabelModels.add(patientModel);
|
|
|
}
|
|
|
return new ResultPageListModel();
|
|
|
} catch (Exception e) {
|
|
|
return new ResultPageListModel(BaseResultModel.statusEm.find_error.getCode(), BaseResultModel.statusEm.find_error.getMessage() + "," + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
}
|