Selaa lähdekoodia

Merge branch 'dev' of chenyongxing/patient-co-management into dev

trick9191 7 vuotta sitten
vanhempi
commit
471a7a17ab

+ 88 - 0
common/common-entity/src/main/java/com/yihu/mm/entity/patient/Report.java

@ -0,0 +1,88 @@
package com.yihu.mm.entity.patient;
/**
 * 非数据库字段,用于越人接口返回转换
 */
public class Report {
    private String cc_id;//咨询结论编号
    private String ct_id;//咨询编号
    private String cl_id;//结论编号
    private String cc_last;//最终结论
    private String cl_template;//显示模板
    private String cl_type;//分类
    private String cl_sort;//结论排序权重
    private String cl_condition;
    public String getCc_id() {
        return cc_id;
    }
    public void setCc_id(String cc_id) {
        this.cc_id = cc_id;
    }
    public String getCt_id() {
        return ct_id;
    }
    public void setCt_id(String ct_id) {
        this.ct_id = ct_id;
    }
    public String getCl_id() {
        return cl_id;
    }
    public void setCl_id(String cl_id) {
        this.cl_id = cl_id;
    }
    public String getCc_last() {
        return cc_last;
    }
    public void setCc_last(String cc_last) {
        this.cc_last = cc_last;
    }
    public String getCl_template() {
        return cl_template;
    }
    public void setCl_template(String cl_template) {
        this.cl_template = cl_template;
    }
    public String getCl_type() {
        return cl_type;
    }
    public void setCl_type(String cl_type) {
        this.cl_type = cl_type;
    }
    public String getCl_sort() {
        return cl_sort;
    }
    public void setCl_sort(String cl_sort) {
        this.cl_sort = cl_sort;
    }
    public String getCl_condition() {
        return cl_condition;
    }
    public void setCl_condition(String cl_condition) {
        this.cl_condition = cl_condition;
    }
}

+ 42 - 0
common/common-entity/src/main/java/com/yihu/mm/entity/patient/ReportDetail.java

@ -0,0 +1,42 @@
package com.yihu.mm.entity.patient;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 非数据库字段,用于越人接口返回数据的转换
 */
public class ReportDetail {
    private List<Map<String,Object>> conclusion = new ArrayList<>();
    private List<Map<String,Object>> nature = new ArrayList<>();
    private Map<String,Object> userinfo = new HashMap<>();
    public List<Map<String, Object>> getConclusion() {
        return conclusion;
    }
    public void setConclusion(List<Map<String, Object>> conclusion) {
        this.conclusion = conclusion;
    }
    public List<Map<String, Object>> getNature() {
        return nature;
    }
    public void setNature(List<Map<String, Object>> nature) {
        this.nature = nature;
    }
    public Map<String, Object> getUserinfo() {
        return userinfo;
    }
    public void setUserinfo(Map<String, Object> userinfo) {
        this.userinfo = userinfo;
    }
}

+ 43 - 11
patient-co-customization/patient-co-modern-medicine/src/main/java/com/yihu/mm/controller/medicine/PhysicalExaminationController.java

@ -1,24 +1,30 @@
package com.yihu.mm.controller.medicine;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.mm.controller.BaseController;
import com.yihu.mm.entity.patient.ExamReport;
import com.yihu.mm.entity.patient.PatientExam;
import com.yihu.mm.entity.patient.Report;
import com.yihu.mm.entity.patient.ReportDetail;
import com.yihu.mm.entity.questionnaire.MedicineAnswerLog;
import com.yihu.mm.service.*;
import com.yihu.mm.util.JSONUtil;
import com.yihu.wlyy.entity.patient.Patient;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/medicine/physicalExamination")
@ -134,13 +140,24 @@ public class PhysicalExaminationController extends BaseController {
    }
    @ApiOperation(value = "四诊资料采集")
    @RequestMapping(value = "/dillphoneimgdata",produces="application/json;charset=UTF-8")
    @RequestMapping(value = "/dillphoneimgdata", method = RequestMethod.POST,produces="application/json;charset=UTF-8")
    @ResponseBody
    public String dillphoneimgdata(@ApiParam(name = "at_id", value = "文件id", required = true)@RequestParam(required = true, name = "at_id") String at_id,
                             @ApiParam(name = "answer", value = "问题答案,文件名称", required = true)@RequestParam(required = true, name = "answer") String answer,
    public String dillphoneimgdata(@RequestParam MultipartFile file,
                              @ApiParam(name = "type", value = "1.脸型  2.舌像  3.声音", required = true)@RequestParam(required = true, name = "type") String type,
                             @ApiParam(name = "ct_id", value = "咨询编号", required = true)@RequestParam(required = true, name = "ct_id") String ct_id){
        String result = physicalExaminationService.dillphoneimgdata(at_id, answer, type, ct_id);
        String uploadAttachment = physicalExaminationService.uploadAttachment(file);
        String at_id = null;
        String at_realname=null;
        JSONObject uploadResult = new JSONObject(uploadAttachment);
        String status = uploadResult.get("status").toString();
        if("200".equals(status)){
            JSONObject recordset = uploadResult.getJSONObject("recordset");
            at_id =  recordset.get("at_id").toString();
            at_realname = (String) recordset.get("at_realname");
        }else{
            return write(500,"提交失败","exception",uploadResult.get("status").toString());
        }
        String result = physicalExaminationService.dillphoneimgdata(at_id, at_realname, type, ct_id);
        return result;
    }
@ -150,11 +167,26 @@ public class PhysicalExaminationController extends BaseController {
    public String showDetail(@ApiParam(name = "patientCode", value = "居民code", required = false)@RequestParam(required = true, name = "patientCode") String patientCode,
            @ApiParam(name = "ct_id", value = "咨询编号", required = false)@RequestParam(required = false, name = "ct_id") String ct_id){
        ExamReport examReport = examReportService.showDetail(patientCode, ct_id);
        Map<String,Object> respon = new HashMap<String,Object>();
        if(null!=examReport){
            String report = examReport.getReport();
            String reportDetail = examReport.getReportDetail();
            List<Report> reports = null;
            ReportDetail reportDetail1 = null;
            ObjectMapper objm = new ObjectMapper();
            JavaType javaType = objm.getTypeFactory().constructParametricType(List.class, Report.class);
            try {
                reports=(List<Report>)objm.readValue(report,javaType);
                reportDetail1 = (ReportDetail) JSONUtil.JSONToObj(reportDetail, ReportDetail.class);
            } catch (Exception e) {
                e.printStackTrace();
            }
            respon.put("report",reports);
            respon.put("reportDetail",reportDetail1);
            return write(200,"查询成功","recordset",respon);
        }
        return write(200,"查询成功","recordset",examReport);
        return write(-200,"未查询到数据");
    }
}

+ 32 - 0
patient-co-customization/patient-co-modern-medicine/src/main/java/com/yihu/mm/service/PhysicalExaminationService.java

@ -7,8 +7,15 @@ import com.yihu.wlyy.entity.patient.Patient;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
@ -172,4 +179,29 @@ public class PhysicalExaminationService {
        return examReport;
    }
    //查找试卷
    public String uploadAttachment(MultipartFile file) {
        MultiValueMap<String, Object> param = new LinkedMultiValueMap<>();
        String fileName = file.getOriginalFilename();
        String filePath =Class.class.getClass().getResource("/").getPath() + "temp/" + System.currentTimeMillis() + fileName;
        File dest = new File(filePath);
        if (!dest.getParentFile().exists()) {
            dest.getParentFile().mkdirs();
        }
        try {
            file.transferTo(dest);
            RestTemplate rest = new RestTemplate();
            FileSystemResource resource = new FileSystemResource(filePath);
            param.add("file", resource);
            String postStr = rest.postForObject(yuerenApi+"/uploadattachment" , param, String.class);
            if (dest.exists() && dest.isFile()) {
                dest.delete();
            }
            return postStr;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "{\"status\":500,\"exception\":\"上传文件出错\"}";
    }
}