Parcourir la source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

zd_123 il y a 6 ans
Parent
commit
9dc60174f7

+ 47 - 5
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/synergy/customer/CustomerSynergyManageController.java

@ -18,6 +18,7 @@ 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;
@ -28,7 +29,7 @@ import java.util.Map;
/**
 * Created by 刘文彬 on 2018/9/27.
 */
@RestController
@Controller
@RequestMapping(value = "/synergy/customer", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(description = "集美客服系统")
public class CustomerSynergyManageController extends BaseController {
@ -50,6 +51,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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")
@ -66,6 +68,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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="接收负责人或者退回理由")
@ -87,6 +90,7 @@ public class CustomerSynergyManageController extends BaseController {
    @RequestMapping(value = "/getCustomers", method = RequestMethod.GET)
    @ApiOperation(value = "获取客服列表")
    @ResponseBody
    public String getCustomers(){
        try {
            List<User> list = synergyManageService.getCustomers();
@ -100,6 +104,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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) {
@ -113,6 +118,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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)
@ -127,6 +133,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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)
@ -182,6 +189,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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)
@ -208,6 +216,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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)
@ -233,6 +242,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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)
@ -252,6 +262,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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+"'";
@ -264,6 +275,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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{
@ -281,6 +293,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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);
@ -293,6 +306,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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){
@ -311,6 +325,7 @@ public class CustomerSynergyManageController extends BaseController {
    @RequestMapping(value = "/taskSubmit", method = RequestMethod.POST)
    @ApiOperation(value = "协同任务提交")
    @ResponseBody
    public String taskSubmit(@ApiParam(name="workorderCode",value="协同服务工单code",required = true)
                             @RequestParam(required = true)String workorderCode,
                             @ApiParam(name="dealResultRemark",value="说明",required = false)
@ -329,6 +344,7 @@ public class CustomerSynergyManageController extends BaseController {
    @RequestMapping(value = "/createServicerLog",method = RequestMethod.POST)
    @ApiOperation(value = "添加协同服务日志")
    @ResponseBody
    public String dealWorkOrder(@ApiParam(name="servicerLogDO",value="协同服务日志")
                                @RequestParam(name = "servicerLogDO",required = true)String servicerLogDO){
        try {
@ -344,6 +360,7 @@ public class CustomerSynergyManageController extends BaseController {
    @RequestMapping(value = "getDealList",method = RequestMethod.GET)
    @ApiOperation(value = "通话详情获取待办事项")
    @ResponseBody
    public String getDealList(@ApiParam(name="idcard",value="居民身份证")@RequestParam(value ="idcard")String idcard){
        try{
@ -392,6 +409,7 @@ public class CustomerSynergyManageController extends BaseController {
     */
    @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 = "")
@ -470,6 +488,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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));
@ -479,9 +498,9 @@ public class CustomerSynergyManageController extends BaseController {
        }
    }
    @RequestMapping(value = "exportWorkorder", method = RequestMethod.GET,produces = "application/json;charset=UTF-8")
    @RequestMapping(value = "exportWorkorder", method = RequestMethod.GET)
    @ApiOperation("客服系统-协同服务列表")
    public String exportWorkorder(@ApiParam(name = "userCode", value = "客服code", required = false)
    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,
@ -525,15 +544,14 @@ public class CustomerSynergyManageController extends BaseController {
            synergyManageService.exportWorkorder(userCode,keywords,workorderType,
                    isMyTask,status,priority,timeout,workorderCode,principal,serviceStartTime,serviceEndTime,
                    patientName,ssc,idcard,userType,isAcceptTask,userName,hospitalName,response);
            return write(200, "获取成功");
        } catch (Exception e) {
            error(e);
            return error(-1, "请求失败");
        }
    }
    @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)
@ -558,6 +576,7 @@ public class CustomerSynergyManageController extends BaseController {
    @RequestMapping(value = "adminIndex",method = RequestMethod.GET)
    @ApiOperation(value = "管理员首页.")
    @ResponseBody
    public String adminIndex(){
        try{
            return write(200,"获取成功!","data",synergyManageService.adminIndex());
@ -569,6 +588,7 @@ public class CustomerSynergyManageController extends BaseController {
    @RequestMapping(value = "intervalOnLine",method = RequestMethod.GET)
    @ApiOperation(value = "管理员首页-今日在线服务趋势")
    @ResponseBody
    public String intervalOnLine(){
        try{
            return write(200,"获取成功!","data",synergyManageService.intervalOnLine());
@ -580,6 +600,7 @@ public class CustomerSynergyManageController extends BaseController {
    @RequestMapping(value = "TodayCustomerActivy",method = RequestMethod.GET)
    @ApiOperation(value = "管理员首页-客服今日活动")
    @ResponseBody
    public String TodayCustomerActivy(){
        try{
            return write(200,"获取成功!","data",synergyManageService.TodayCustomerActivy());
@ -591,6 +612,7 @@ public class CustomerSynergyManageController extends BaseController {
    @RequestMapping(value = "uploadAccessory",method = RequestMethod.POST)
    @ApiOperation(value = "上传附件")
    @ResponseBody
    public String uploadAccessory(HttpServletRequest request){
        try{
            Map<String,Object> map = synergyManageService.uploadAccessory(request);
@ -603,6 +625,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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{
@ -616,6 +639,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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{
@ -629,6 +653,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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{
@ -642,6 +667,7 @@ public class CustomerSynergyManageController extends BaseController {
    @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{
@ -652,5 +678,21 @@ public class CustomerSynergyManageController extends BaseController {
            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,"获取失败");
        }
    }
}

+ 148 - 30
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/synergy/SynergyManageService.java

@ -456,20 +456,35 @@ public class SynergyManageService extends BaseJpaService {
            whereSql+=" and s.hospital='"+hospitalCode+"' ";
        }
        String labelSql ="";
        if(StringUtils.isNotEmpty(diseaseCode)||StringUtils.isNotEmpty(healthCode)||StringUtils.isNotEmpty(serveCode)){
            leftSql +=" LEFT JOIN wlyy_sign_patient_label_info i on i.patient=s.service_patient_code and i.status=1 " ;
            if(StringUtils.isNotEmpty(diseaseCode)){
                labelSql+=" or (i.label='"+diseaseCode+"' and i.label_type='3') ";//疾病类型
            }
            if(StringUtils.isNotEmpty(healthCode)){
                labelSql+=" or (i.label='"+healthCode+"' and i.label_type='2') ";//健康情况
            }
            if(StringUtils.isNotEmpty(serveCode)){
                labelSql+=" or (i.label='"+serveCode+"' and i.label_type='1') ";//服务类型
            }
//        if(StringUtils.isNotEmpty(diseaseCode)||StringUtils.isNotEmpty(healthCode)||StringUtils.isNotEmpty(serveCode)){
//            leftSql +=" LEFT JOIN wlyy_sign_patient_label_info i on i.patient=s.service_patient_code and i.status=1 " ;
//            if(StringUtils.isNotEmpty(diseaseCode)){
//                labelSql+=" or (i.label='"+diseaseCode+"' and i.label_type='3') ";//疾病类型
//            }
//            if(StringUtils.isNotEmpty(healthCode)){
//                labelSql+=" or (i.label='"+healthCode+"' and i.label_type='2') ";//健康情况
//            }
//            if(StringUtils.isNotEmpty(serveCode)){
//                labelSql+=" or (i.label='"+serveCode+"' and i.label_type='1') ";//服务类型
//            }
//        }
//        if(StringUtils.isNotEmpty(labelSql)){
//            whereSql+= " and ( "+labelSql.substring(3)+" )";
//        }
        if(StringUtils.isNotEmpty(serveCode)){
            leftSql+=" JOIN wlyy_sign_family f on f.patient=s.service_patient_code and f.status=1 " +
                    " JOIN wlyy_sign_family_server r on r.sign_code=f.code ";
            whereSql+=" and r.server_type='"+serveCode+"' ";
        }
        if(StringUtils.isNotEmpty(labelSql)){
            whereSql+= " and ( "+labelSql.substring(3)+" )";
        if(StringUtils.isNotEmpty(healthCode)||StringUtils.isNotEmpty(diseaseCode)){
            leftSql+=" JOIN (SELECT t.patient,GROUP_CONCAT(',',t.label_type,t.label,',') label FROM wlyy_sign_patient_label_info t " +
                    "JOIN manage_synergy_workorder_servicer v on v.service_patient_code=t.patient and v.workorder_code = '"+workorderCode+"' where t. STATUS = 1 GROUP BY t.patient ) aa on aa.patient=s.service_patient_code  ";
        }
        if(StringUtils.isNotEmpty(healthCode)){
            whereSql+=" and aa.label LIKE '%,2"+healthCode+",%' ";
        }
        if(StringUtils.isNotEmpty(diseaseCode)){
            whereSql+=" and aa.label LIKE '%,3"+diseaseCode+",%' ";
        }
        if(isFollow!=null&&isFollow==1){//跟进
            leftSql+=" LEFT JOIN manage_synergy_workorder_servicer_log ll on ll.service_patient_code=s.code ";
@ -1318,26 +1333,29 @@ public class SynergyManageService extends BaseJpaService {
            response.setHeader("Content-Disposition", "attachment; filename="+ new String( "synergyManageList.xls"));
            OutputStream os = response.getOutputStream();
            wwb = Workbook.createWorkbook(os);
            WritableSheet ws = Workbook.createWorkbook(os).createSheet("sheet",1);
            WritableSheet ws = wwb.createSheet("sheet",1);
            List<String> header = null;
            if(isAcceptTask==1){//我接收的任务
            if(isAcceptTask==1||isAcceptTask==4){//我接收的任务
                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","创建时间","服务对象","工单状态","需求方","负责人","服务内容"));
            }else if(isAcceptTask==2){//我派发的任务
                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","创建时间","服务对象","工单状态","家庭医生","所属机构","服务内容"));
            }else if(isAcceptTask==3){
                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","服务时间","服务对象","备注","需求方"));
            }
            int i = 0;
            for (String h : header) {
                Label label = new Label(0, i, h);
                ws.addCell(label);
                addCell(ws, 0, i, h);//表名,行,列,header
                i++;
            }
            Integer workorderTypeR = null;
            String workorderTypeName = null;
            Date createTime = null;
            i=0;
            Date serviceTime =null;
            i=1;
            for(Map<String,Object> one:list){
                workorderTypeR = (Integer) one.get("workorder_type");
                workorderTypeR = (Integer) one.get("type");
                createTime = (Date)one.get("create_time");
                serviceTime = (Date)one.get("service_time");
                addCell(ws, i, 0, one.get("code")+"","");
                switch (workorderTypeR){
                    case 0: workorderTypeName="咨询";break;
@ -1348,17 +1366,22 @@ public class SynergyManageService extends BaseJpaService {
                    case 5: workorderTypeName="疾病筛查";break;
                }
                addCell(ws, i, 1, workorderTypeName,"");
                addCell(ws, i, 2, DateUtil.dateToStr(createTime,"yyyy--MM-dd HH:mm:ss"),"");
                if(isAcceptTask==1){//我接收的任务
                if(isAcceptTask==3){
                    addCell(ws, i, 2, DateUtil.dateToStr(serviceTime,"yyyy--MM-dd HH:mm:ss"),"");
                }else{
                    addCell(ws, i, 2, DateUtil.dateToStr(createTime,"yyyy--MM-dd HH:mm:ss"),"");
                }
                if(isAcceptTask==1||isAcceptTask==3||isAcceptTask==4){//我接收的任务
                    String[] servicer = (one.get("servicer_key")+"").split(",");
                    Integer servicerCount = (Integer) one.get("servicer_count");
                    addCell(ws, i, 1, servicer[0]+"等"+servicerCount+"人","");
                    addCell(ws, i, 3, servicer[0]+"等"+servicerCount+"人","");
                }else if(isAcceptTask==2){//我派发的任务
                    String[] servicer = (one.get("servicer_key")+"").split(",");
                    addCell(ws, i, 1, servicer[0],"");
                    addCell(ws, i, 3, servicer[0],"");
                }
                Integer statusR = (Integer) one.get("status");
//                addCell(ws, i, 4, statusName,"");
                String statusName="";
                Integer statusR = (Integer) one.get("status");
                switch (statusR){
                    case 0:statusName="草稿";break;
                    case 1:statusName="未接受";break;
@ -1366,19 +1389,28 @@ public class SynergyManageService extends BaseJpaService {
                    case 3:statusName="处理完成";break;
                    case 4:statusName="退回";break;
                }
                addCell(ws, i, 3, statusName,"");
                addCell(ws, i, 4, one.get("create_user_name")+"","");
                if(isAcceptTask==1){//我接收的任务
                if(isAcceptTask==3){
                    addCell(ws, i, 4, one.get("remark")+"","");
                }else{
                    addCell(ws, i, 4, statusName,"");
                }
                addCell(ws, i, 5, one.get("create_user_name")+"","");//需求方
                if(isAcceptTask==1||isAcceptTask==4){//我接收的任务
                    List<ManageSynergyWorkorderExecutorDO> managerList = workorderExecutorDao.findByWorkorderCode(one.get("code")+"",1);
                    String managerName = managerList.size()>0?managerList.get(0).getExecutorName():"";
                    addCell(ws, i, 5, managerName,"");//负责人
                    addCell(ws, i, 6, managerName,"");//负责人
                }else if(isAcceptTask==2) {//我派发的任务
                    addCell(ws, i, 5, one.get("hospital_name")+"","");//所属机构
                    addCell(ws, i, 6, one.get("hospital_name")+"","");//所属机构
                }
                if(isAcceptTask!=3){
                    addCell(ws, i, 7, one.get("content")+"","");//服务内容
                }
                addCell(ws, i, 5, one.get("content")+"","");
                i++;
            }
            wwb.write();
            os.flush();
            os.close();
        }catch (Exception e) {
            e.printStackTrace();
            throw e;
@ -1397,6 +1429,11 @@ public class SynergyManageService extends BaseJpaService {
        }
        ws.addCell(label);
    }
    //添加单元格内容
    public void addCell(WritableSheet ws, int row, int column,  String data) throws WriteException {
        Label label = new Label(column ,row, data);
        ws.addCell(label);
    }
    public List<Map<String,Object>> getDealList(String idcard){
        Patient patient = patientDao.findByIdcard(idcard);
@ -2050,4 +2087,85 @@ public class SynergyManageService extends BaseJpaService {
        return workOrderDao.findByCode(workorderCode);
    }
    public Map<String,Object> getTaskByIdcard(String workorderCode,String idcard){
        String sql=" select w.*,s.mobile,s.service_patient_name,s.service_patient_code,s.code as servicerCode,s.town_name,s.hospital_name,w.create_user_name"+
                " from manage_synergy_workorder_servicer s "+
                " LEFT JOIN manage_synergy_workorder w on s.workorder_code=w.code " +
                " where w.code='"+workorderCode+"' and s.idcard='"+idcard+"'" ;
        List<Map<String,Object>> workorderList = jdbcTemplate.queryForList(sql);
        Map<String,Object> resultMap = new HashMap<>();
        Map<String,Object> workorderMap = workorderList.get(0);
        //居民信息
        resultMap.put("mobile",workorderMap.get("mobile"));//电话号码
        resultMap.put("patientName",workorderMap.get("service_patient_name"));//居民姓名
        Integer callNum = customerLogDao.callNumByWorkorder(workorderMap.get("servicerCode")+"");
        resultMap.put("callNum",callNum);//已呼叫次数
        resultMap.putAll(this.getPatientInfo(workorderMap.get("service_patient_code") + ""));
        Patient patient =patientDao.findByCode(workorderMap.get("service_patient_code")+"");
        Integer sex = patient.getSex();
        String sexName ="";
        if(sex==1){
            sexName="男";
        }else if(sex==2){
            sexName="女";
        }else{
            sexName="未知";
        }
        resultMap.put("sex",sexName);//性别
        Integer age = IdCardUtil.getAgeForIdcard(patient.getIdcard());
        resultMap.put("age",age);//年龄
        resultMap.put("townName",workorderMap.get("town_name"));//所属区县
        resultMap.put("hospitalName",workorderMap.get("hospital_name"));//所属社区
        SignFamily signFamily = signFamilyDao.findSignByPatient(workorderMap.get("service_patient_code")+"");
        resultMap.put("signDoctor",signFamily.getDoctorName());//签约医生(即:工单创建医生)
        resultMap.put("healthDoctor",signFamily.getDoctorHealthName());//健管师
        List<SignPatientLabelInfo> labelDiseaseType = signPatientLabelInfoDao.findByPatientAndLabelTypeAndStatus(workorderMap.get("service_patient_code")+"",  "3", 1);
        String diseaseType="";
        List<String> diseaseTypeList= new ArrayList<>();
        for(SignPatientLabelInfo one:labelDiseaseType){
            diseaseType+=","+one.getLabelName();
            diseaseTypeList.add(one.getLabel());
        }
        resultMap.put("diseaseType",StringUtils.isNotEmpty(diseaseType)?diseaseType.substring(1):"");//疾病类型
        resultMap.put("diseaseTypeCode",diseaseTypeList);//疾病类型code
        List<SignPatientLabelInfo> labelHealthType = signPatientLabelInfoDao.findByPatientAndLabelTypeAndStatus(workorderMap.get("service_patient_code")+"",  "2", 1);
        String healthType="";
        for(SignPatientLabelInfo one:labelHealthType){
            healthType+=","+one.getLabelName();
        }
        resultMap.put("healthType",StringUtils.isNotEmpty(healthType)?healthType.substring(1):"");//健康情况
        String serveType="";
//            List<SignPatientLabelInfo> labelServeType = signPatientLabelInfoDao.findByPatientAndLabelTypeAndStatus(workorderMap.get("service_patient_code")+"",  "2", 1);
//            for(SignPatientLabelInfo one:labelServeType){
//                serveType+=","+one.getLabelName();
//            }
        List<Map<String,Object>> signTypes = jdbcTemplate.queryForList("SELECT s.server_type_name,s.server_type FROM wlyy_sign_family_server s right join wlyy_sign_family f on s.sign_code=f.code WHERE f.patient='"+workorderMap.get("service_patient_code")+"' and f.status=1 and f.expenses_status='1' ");
        for(Map<String,Object> one:signTypes){
            serveType+=","+(one.get("server_type_name")!=null?one.get("server_type_name"):"");
        }
        resultMap.put("serveType",StringUtils.isNotEmpty(serveType)?serveType.substring(1):"");
//            resultMap.put("serveType",StringUtils.isNotEmpty(serveType)?serveType.substring(1):"");//服务类型
        resultMap.put("workorder",workorderMap.get("code"));//工单编号
        resultMap.put("patientCode",workorderMap.get("service_patient_code"));//居民code
        resultMap.put("doctorCode",workorderMap.get("create_user"));//创建人(医生)code
        //获取提交记录
        String servicerCode = workorderMap.get("servicerCode")+"";
        resultMap.put("servicerCode", servicerCode);
        List<ManageSynergyWorkorderServicerLogDO> list = manageSynergyWorkorderServicerLogDao.findByWorkorderServiceCode(servicerCode);
        if(list.size()>0){
            ManageSynergyWorkorderServicerLogDO log = list.get(0);
            Map<String,Object> m = new HashMap<>();
            m.put("personal",log.getPersonal());//是否为本人
            m.put("callCode",log.getCallCode());//通话记录code
            m.put("callStatus",log.getCallStatus());//通话状态(1、正常通话,2、无人接听,3、拒接,4、占线,5、关机,6、停机,7、无法接通,8、空号错号)
            m.put("emphasis",log.getEmphasis());//是否重点患者(1、重点患者,2、非重点患者)
            m.put("followUp",log.getFollowUp());//是否跟进(1、无需跟进,2、待跟进)
            m.put("remark",log.getRemark());//备注
            m.put("returnVisit",log.getReturnVisit());//回访(1、有效回访,2、无效回访)
            resultMap.put("servicerLog",m);
            resultMap.put("haveNum",1);
        }
        return resultMap;
    }
}

+ 17 - 17
patient-co-service/wlyy_sign/src/main/java/com/yihu/wlyy/sign/dao/FamilyDao.java

@ -1,17 +1,17 @@
package com.yihu.wlyy.sign.dao;/**
 * Created by nature of king on 2018/8/9.
 */
import com.yihu.wlyy.sign.entity.FamilyLianQian;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * @author wangzhinan
 * @create 2018-08-09 10:52
 * @desc 家庭成员
 **/
public interface FamilyDao extends PagingAndSortingRepository<FamilyLianQian, Long>, JpaSpecificationExecutor<FamilyLianQian> {
   /* @Query("from FamilyLianQian a  where a.idcard = ?1 ")
    FamilyLianQian findByIdCard(String idcard);*/
}
//package com.yihu.wlyy.sign.dao;/**
// * Created by nature of king on 2018/8/9.
// */
//
//import com.yihu.wlyy.sign.entity.FamilyLianQian;
//import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
//import org.springframework.data.repository.PagingAndSortingRepository;
//
///**
// * @author wangzhinan
// * @create 2018-08-09 10:52
// * @desc 家庭成员
// **/
//public interface FamilyDao extends PagingAndSortingRepository<FamilyLianQian, Long>, JpaSpecificationExecutor<FamilyLianQian> {
//   /* @Query("from FamilyLianQian a  where a.idcard = ?1 ")
//    FamilyLianQian findByIdCard(String idcard);*/
//}

+ 3 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/jkedu/repository/JkeduArticleDao.java

@ -15,4 +15,7 @@ public interface JkeduArticleDao
		extends PagingAndSortingRepository<NewArticleModel, Long>, JpaSpecificationExecutor<NewArticleModel> {
	@Query("select n from NewArticleModel n where n.isOld=1")
	List<NewArticleModel> findOldArticle();
	@Query("select n from NewArticleModel n where n.articleId = ?1")
	NewArticleModel findByCode(String articleId );
}

+ 6 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/synergy/SynergyManageService.java

@ -2,15 +2,15 @@ package com.yihu.wlyy.service.synergy;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.yihu.edu.entity.dataClean.NewArticleModel;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.education.HealthEduArticle;
import com.yihu.wlyy.entity.followup.Followup;
import com.yihu.wlyy.entity.message.Message;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.jkedu.repository.JkeduArticleDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.education.HealthEduArticleDao;
import com.yihu.wlyy.repository.followup.FollowUpDao;
import com.yihu.wlyy.repository.organization.HospitalDao;
import com.yihu.wlyy.repository.patient.PatientDao;
@ -54,7 +54,7 @@ public class SynergyManageService extends BaseService {
    @Autowired
    private HospitalDao hospitalDao;
    @Autowired
    private HealthEduArticleDao healthEduArticleDao;
    private JkeduArticleDao jkeduArticleDao;
    public JSONObject getWorkOrderInfo(String workorderCode, String patient, Integer role) throws Exception {
        Map<String, Object> param = new HashedMap();
@ -192,9 +192,9 @@ public class SynergyManageService extends BaseService {
            object.put("createUserRole",1);
        }else if (type == 1){
            object.put("relationCode",objectId);
            HealthEduArticle healthEduArticle = healthEduArticleDao.findByCode(objectId);
            if (healthEduArticle != null){
                object.put("relationCodeName",healthEduArticle.getTitle());
            NewArticleModel articleModel = jkeduArticleDao.findByCode(objectId);
            if (articleModel != null){
                object.put("relationCodeName",articleModel.getArticleTitle());
            }
            object.put("createUserRole",1);
        }else if (type == 5){