|
@ -170,26 +170,22 @@ public class SurveyScreenResultService extends BaseService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 保存更新筛查结果
|
|
|
* 保存筛查结果
|
|
|
*
|
|
|
* @param patientCode
|
|
|
* @param doctor
|
|
|
* @param source
|
|
|
* @param jsonData
|
|
|
*/
|
|
|
public String saveScreenResultAndAnswer(String patientCode, String doctor, int isAgain, int source, JSONObject jsonData, String resultCode) throws Exception {
|
|
|
public String saveScreenResultAndAnswer(String patientCode, String doctor, int isAgain, int source, JSONObject jsonData) throws Exception {
|
|
|
System.out.println("********保存筛查结果--jsonData********* " + jsonData);
|
|
|
String surveyCode = jsonData.get("surveyCode").toString();
|
|
|
SurveyTemplates surveyTemplates = surveyTemplatesDao.findById(surveyCode);
|
|
|
Patient patient = patientDao.findByCode(patientCode);
|
|
|
SurveyScreenResult surveyScreenResult = null;
|
|
|
if(StringUtils.isNotBlank(resultCode)){
|
|
|
surveyScreenResult = surveyScreenResultDao.findByCode(resultCode);
|
|
|
}else {
|
|
|
surveyScreenResult = new SurveyScreenResult();
|
|
|
resultCode = getCode();
|
|
|
surveyScreenResult.setCode(resultCode);
|
|
|
}
|
|
|
surveyScreenResult = new SurveyScreenResult();
|
|
|
String resultCode = getCode();
|
|
|
surveyScreenResult.setCode(resultCode);
|
|
|
//解析json保存各种答案--获取一维数组
|
|
|
JSONArray questions = jsonData.getJSONArray("questions");
|
|
|
int totalScore = 0;
|
|
@ -284,6 +280,98 @@ public class SurveyScreenResultService extends BaseService {
|
|
|
return resultCode;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 保存更新筛查结果
|
|
|
*
|
|
|
* @param patientCode
|
|
|
* @param doctor
|
|
|
* @param source
|
|
|
* @param jsonData
|
|
|
*/
|
|
|
public String saveScreenResultAndAnswer(String patientCode, String doctor, int isAgain, int source, JSONObject jsonData, String resultCode) throws Exception {
|
|
|
System.out.println("********保存筛查结果--jsonData********* " + jsonData);
|
|
|
String surveyCode = jsonData.get("surveyCode").toString();
|
|
|
SurveyTemplates surveyTemplates = surveyTemplatesDao.findById(surveyCode);
|
|
|
Patient patient = patientDao.findByCode(patientCode);
|
|
|
SurveyScreenResult surveyScreenResult = null;
|
|
|
if(StringUtils.isNotBlank(resultCode)){
|
|
|
surveyScreenResult = surveyScreenResultDao.findByCode(resultCode);
|
|
|
}else {
|
|
|
surveyScreenResult = new SurveyScreenResult();
|
|
|
resultCode = getCode();
|
|
|
surveyScreenResult.setCode(resultCode);
|
|
|
}
|
|
|
//解析json保存各种答案--获取一维数组
|
|
|
JSONArray questions = jsonData.getJSONArray("questions");
|
|
|
int totalScore = 0;
|
|
|
|
|
|
for (int i = 0; i < questions.length(); i++) {
|
|
|
//获取每一道题的信息
|
|
|
JSONObject question = new JSONObject(questions.get(i).toString());
|
|
|
int type = Integer.parseInt(question.get("type").toString());
|
|
|
if (type != 2) {
|
|
|
if (question.has("options")) {
|
|
|
//获取每道题的所有选项
|
|
|
JSONArray options = question.getJSONArray("options");
|
|
|
for (int j = 0; j < options.length(); j++) {
|
|
|
JSONObject option = new JSONObject(options.get(j).toString());
|
|
|
int score = option.getInt("score");
|
|
|
totalScore += score;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//查询该筛查的结果设置
|
|
|
SurveyTemplateResult surveyTemplateResult = surveyTemplateResultDao.getByTemplateCodeAndLowScoreAndHighScore(surveyCode, totalScore);
|
|
|
//更新上一条数据为不可再次评估
|
|
|
List<SurveyScreenResult> surveyScreenResultList = surveyScreenResultDao.findNewOneByTemplateCode(surveyCode, patientCode);
|
|
|
String lastCode = "";
|
|
|
String originCode = "";
|
|
|
if (surveyScreenResultList != null && surveyScreenResultList.size() > 0) {
|
|
|
lastCode = surveyScreenResultList.get(0).getCode();
|
|
|
originCode = surveyScreenResultList.get(0).getOriginCode();
|
|
|
surveyScreenResultDao.updateNoAgain(lastCode);
|
|
|
}
|
|
|
surveyScreenResult.setSource(source);
|
|
|
//是来自再次评估
|
|
|
if (isAgain == 1) {
|
|
|
surveyScreenResult.setParentCode(lastCode);
|
|
|
surveyScreenResult.setOriginCode(originCode);
|
|
|
} else {
|
|
|
//来自第一次筛查评分
|
|
|
surveyScreenResult.setOriginCode(resultCode);
|
|
|
}
|
|
|
if (surveyTemplates != null) {
|
|
|
surveyScreenResult.setTemplateCode(surveyTemplates.getCode());
|
|
|
surveyScreenResult.setTemplateTitle(surveyTemplates.getTitle());
|
|
|
surveyScreenResult.setDisease(surveyTemplates.getDiseaseType());
|
|
|
}
|
|
|
//来自医生发放和自我评估不一样来源
|
|
|
if (source == 1) {
|
|
|
surveyScreenResult.setDoctor(doctor);
|
|
|
}
|
|
|
surveyScreenResult.setPatientCode(patientCode);
|
|
|
if (patient != null) {
|
|
|
surveyScreenResult.setPatientName(patient.getName());
|
|
|
surveyScreenResult.setOpenId(patient.getOpenid());
|
|
|
}
|
|
|
surveyScreenResult.setIsOrder(0);
|
|
|
surveyScreenResult.setFollowing(0);
|
|
|
surveyScreenResult.setOver(1);
|
|
|
surveyScreenResult.setCzrq(new Date());
|
|
|
surveyScreenResult.setIsAgain(1);
|
|
|
surveyScreenResult.setIsEducate(0);
|
|
|
surveyScreenResult.setScreenResultScore(totalScore);
|
|
|
if (surveyTemplateResult != null) {
|
|
|
surveyScreenResult.setScreenResultCode(surveyTemplateResult.getCode());
|
|
|
surveyScreenResult.setIsDanger(surveyTemplateResult.getWarning());
|
|
|
surveyScreenResult.setScreenResult(surveyTemplateResult.getResult());
|
|
|
}
|
|
|
surveyScreenResultDao.save(surveyScreenResult);
|
|
|
managerQuestionnaireService.saveAnswer(patientCode, resultCode, jsonData);
|
|
|
return resultCode;
|
|
|
}
|
|
|
|
|
|
public JSONObject getScreenResultDetail(String code) throws Exception {
|
|
|
JSONObject json = new JSONObject();
|
|
|
//登记信息
|