浏览代码

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

# Conflicts:
#	patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/synergy/customer/CustomerSynergyManageController.java
#	patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/repository/synergy/ManageSynergyWorkorderCustomerLogDao.java
#	patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/synergy/SynergyManageService.java
zd_123 6 年之前
父节点
当前提交
ef37d164f7

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

@ -83,8 +83,8 @@ public class CustomerQuestionnaireController extends BaseController {
                                 @ApiParam(value = "客服code") @RequestParam String customerCode) {
                                 @ApiParam(value = "客服code") @RequestParam String customerCode) {
        try {
        try {
            //判断是否有异常中断
            //判断是否有异常中断
            Integer count = synergyManageService.findExceptionCount(workorderCode, customerCode);
            return write(200, "查询成功!", "data", count > 0 ? true : false);
            String workorderServiceCode = synergyManageService.isNotException(workorderCode, customerCode);
            return write(200, "查询成功!", "data", workorderServiceCode);
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            e.printStackTrace();
            return write(-1, "查询失败!");
            return write(-1, "查询失败!");
@ -93,10 +93,9 @@ public class CustomerQuestionnaireController extends BaseController {
    @RequestMapping(value = "loadingInfo", method = RequestMethod.GET)
    @RequestMapping(value = "loadingInfo", method = RequestMethod.GET)
    @ApiOperation(value = "载入异常工单信息")
    @ApiOperation(value = "载入异常工单信息")
    public String loadingInfo(@ApiParam(value = "协同服务工单code") @RequestParam String workorderCode,
                                 @ApiParam(value = "客服code") @RequestParam String customerCode) {
    public String loadingInfo(@ApiParam(value = "协同服务对象code") @RequestParam String workorderServiceCode) {
        try {
        try {
            return write(200, "查询成功!", "data", synergyManageService.loadingInfo(workorderCode, customerCode));
            return write(200, "查询成功!", "data", synergyManageService.loadingInfo(workorderServiceCode));
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            e.printStackTrace();
            return write(-1, "查询失败!");
            return write(-1, "查询失败!");

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

@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.List;
import java.util.Map;
import java.util.Map;
@ -46,7 +47,7 @@ public class CustomerSynergyManageController extends BaseController {
                                @RequestParam(required = true)String workorderCode,
                                @RequestParam(required = true)String workorderCode,
                                @ApiParam(name="patient",value="居民code")
                                @ApiParam(name="patient",value="居民code")
                                @RequestParam(required = false)String patient,
                                @RequestParam(required = false)String patient,
                                @ApiParam(name="role",value="1医生,2客服管理员,3普通客服")
                                @ApiParam(name="role",value="1医生,2普通客服,3客服管理员")
                                @RequestParam(required = true)Integer role){
                                @RequestParam(required = true)Integer role){
        try {
        try {
            return write(200,"请求成功","data", synergyManageService.getWorkOrderInfo(workorderCode, patient, role));
            return write(200,"请求成功","data", synergyManageService.getWorkOrderInfo(workorderCode, patient, role));
@ -325,5 +326,58 @@ public class CustomerSynergyManageController extends BaseController {
            return write(-1,"获取失败!");
            return write(-1,"获取失败!");
        }
        }
    }
    }
    @RequestMapping(value = "exportWorkorder", method = RequestMethod.GET)
    @ApiOperation("客服系统-协同服务列表")
    public String 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,
                                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,response);
            return write(200, "获取成功");
        } catch (Exception e) {
            error(e);
            return error(-1, "请求失败");
        }
    }
}
}

+ 5 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/repository/synergy/ManageSynergyWorkorderServicerLogDao.java

@ -4,6 +4,8 @@ import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderServicerLogDO;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
/**
 * Created by 刘文彬 on 2018/9/30.
 * Created by 刘文彬 on 2018/9/30.
 */
 */
@ -14,4 +16,7 @@ public interface ManageSynergyWorkorderServicerLogDao extends PagingAndSortingRe
    @Query("select count(distinct l.workorderServiceCode) from ManageSynergyWorkorderServicerLogDO l where l.workorderCode=?1 and l.returnVisit=2 ")
    @Query("select count(distinct l.workorderServiceCode) from ManageSynergyWorkorderServicerLogDO l where l.workorderCode=?1 and l.returnVisit=2 ")
    Integer findByWorkorderCodeAndReturnVisit(String workorderCode);
    Integer findByWorkorderCodeAndReturnVisit(String workorderCode);
    @Query("select l from ManageSynergyWorkorderServicerLogDO l where l.workorderServiceCode=?1 order by id desc")
    List<ManageSynergyWorkorderServicerLogDO> findByWorkorderServiceCode(String workorderServiceCode);
}
}

+ 4 - 2
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/device/WlyyDeviceService.java

@ -192,9 +192,11 @@ public class WlyyDeviceService {
            device.setIsBinding(0);
            device.setIsBinding(0);
            //判断设备是否导入
            //判断设备是否导入
            Integer count = deviceDao.existDeviceCode(device.getDeviceCode());
            Integer count = deviceDao.existDeviceCode(device.getDeviceCode());
            if(count == 0) {
                deviceList.add(device);
            if(count != 0) {
                WlyyDevice wlyyDevice = deviceDao.findByDeviceCode(device.getDeviceCode());
                device.setId(wlyyDevice.getId());
            }
            }
            deviceList.add(device);
        }
        }
        deviceDao.save(deviceList);
        deviceDao.save(deviceList);
        return true;
        return true;

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

@ -6,6 +6,7 @@ import com.yihu.wlyy.entity.synergy.ManageSynergyWorkordeReminderDO;
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderDO;
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderDO;
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderExecutorDO;
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderExecutorDO;
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderServicerDO;
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderServicerDO;
import com.yihu.wlyy.entity.synergy.*;
import com.yihu.wlyy.repository.*;
import com.yihu.wlyy.repository.*;
import com.yihu.wlyy.repository.synergy.*;
import com.yihu.wlyy.repository.synergy.*;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.DateUtil;
@ -131,8 +132,8 @@ public class SynergyManageService extends BaseJpaService {
        }
        }
        //关键字查询
        //关键字查询
        servicerTable +=" left join wlyy.manage_synergy_workorder_servicer s on s.workorder_code=w.code ";
        if(StringUtils.isNotEmpty(keywords)){
        if(StringUtils.isNotEmpty(keywords)){
            servicerTable +=" left join wlyy.manage_synergy_workorder_servicer s on s.workorder_code=w.code ";
            whereSql += " and w.servicer_count<=10  ";
            whereSql += " and w.servicer_count<=10  ";
            whereSql += " and (w.create_user_name like '%"+keywords+"%' or s.service_patient_name like '%"+keywords+"%' " +
            whereSql += " and (w.create_user_name like '%"+keywords+"%' or s.service_patient_name like '%"+keywords+"%' " +
                    " or s.ssc like '%"+keywords+"%' or s.idcard like '%"+keywords+"%' ) ";
                    " or s.ssc like '%"+keywords+"%' or s.idcard like '%"+keywords+"%' ) ";
@ -309,17 +310,19 @@ public class SynergyManageService extends BaseJpaService {
     */
     */
    public Map<String, Object> getWorkOrderInfo(String workorderCode, String patient, Integer role) {
    public Map<String, Object> getWorkOrderInfo(String workorderCode, String patient, Integer role) {
        Map<String, Object> map = new HashMap<>();
        Map<String, Object> map = new HashMap<>();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        ManageSynergyWorkorderDO workorderDO = workOrderDao.findByCode(workorderCode);
        ManageSynergyWorkorderDO workorderDO = workOrderDao.findByCode(workorderCode);
        Integer status = workorderDO.getStatus();
        Integer status = workorderDO.getStatus();
        //存入协同服务工单信息
        //存入协同服务工单信息
        map.put("code", workorderCode);
        map.put("code", workorderCode);
        map.put("type", workorderDO.getType());
        map.put("type", workorderDO.getType());
        map.put("priority", workorderDO.getPriority());
        map.put("priority", workorderDO.getPriority());
        map.put("serviceTime", workorderDO.getServiceTime());
        map.put("serviceTime", s.format(workorderDO.getServiceTime()));
        map.put("status", status);
        map.put("status", status);
        map.put("title", workorderDO.getRelationCodeName());
        map.put("title", workorderDO.getRelationCodeName());
        map.put("remark", workorderDO.getRemark());
        map.put("remark", workorderDO.getRemark());
        map.put("createTime", workorderDO.getCreateTime());
        map.put("createTime", sdf.format(workorderDO.getCreateTime()));
        map.put("createUserName", workorderDO.getCreateUserName());
        map.put("createUserName", workorderDO.getCreateUserName());
        map.put("hospitalName", workorderDO.getHospitalName());
        map.put("hospitalName", workorderDO.getHospitalName());
@ -327,10 +330,10 @@ public class SynergyManageService extends BaseJpaService {
        if(StringUtils.isNotBlank(patient)){
        if(StringUtils.isNotBlank(patient)){
            //获取单个居民处理完成的工单信息
            //获取单个居民处理完成的工单信息
            ManageSynergyWorkorderServicerDO workorderServicerDO = workorderServicerDao.findByWorkOrderCodeAndPatientCode(workorderCode, patient);
            ManageSynergyWorkorderServicerDO workorderServicerDO = workorderServicerDao.findByWorkOrderCodeAndPatientCode(workorderCode, patient);
            map.put("servicerKey", workorderServicerDO.getServicePatientName());
            map.put("patientName", workorderServicerDO.getServicePatientName());
            map.put("idcard", workorderServicerDO.getIdcard());
            map.put("idcard", workorderServicerDO.getIdcard());
            map.put("ssc", workorderServicerDO.getSsc());
            map.put("ssc", workorderServicerDO.getSsc());
            map.put("completeTime", workorderServicerDO.getCompleteTime());
            map.put("completeTime", sdf.format(workorderServicerDO.getCompleteTime()));
        }else {
        }else {
            if(status == 2 || status == 3){
            if(status == 2 || status == 3){
                //获取工单完成人数
                //获取工单完成人数
@ -344,7 +347,7 @@ public class SynergyManageService extends BaseJpaService {
        //超时标签
        //超时标签
        map.put("delayStatus", this.isServiceOverTime(workorderDO.getServiceTime()));
        map.put("delayStatus", this.isServiceOverTime(workorderDO.getServiceTime()));
        //根据角色显示对应工单状态
        //根据角色显示对应工单状态
        if(workorderDO.getCreateUserType() == 1 && role == 2){
        if(workorderDO.getCreateUserType() == 1 && role == 3){
            map.put("status", "待接收");
            map.put("status", "待接收");
        }else if(workorderDO.getCreateUserType() == 2 && role == 1){
        }else if(workorderDO.getCreateUserType() == 2 && role == 1){
            map.put("status", "未接收");
            map.put("status", "未接收");
@ -353,7 +356,7 @@ public class SynergyManageService extends BaseJpaService {
        if(status == 2){
        if(status == 2){
            //接收者
            //接收者
            map.put("receiverName", workorderDO.getReceiverName());
            map.put("receiverName", workorderDO.getReceiverName());
            map.put("receiverTime", workorderDO.getReceiverTime());
            map.put("receiverTime", sdf.format(workorderDO.getReceiverTime()));
            //获取负责人信息
            //获取负责人信息
            List<ManageSynergyWorkorderExecutorDO> managerList = workorderExecutorDao.findByWorkorderCode(workorderCode,1);
            List<ManageSynergyWorkorderExecutorDO> managerList = workorderExecutorDao.findByWorkorderCode(workorderCode,1);
            List<ManageSynergyWorkorderExecutorDO> collaboratorList = workorderExecutorDao.findByWorkorderCode(workorderCode,2);
            List<ManageSynergyWorkorderExecutorDO> collaboratorList = workorderExecutorDao.findByWorkorderCode(workorderCode,2);
@ -393,6 +396,7 @@ public class SynergyManageService extends BaseJpaService {
                                               String diseaseCode,String healthCode,String serveCode,Integer isFollow) throws Exception{
                                               String diseaseCode,String healthCode,String serveCode,Integer isFollow) throws Exception{
        String whereSql ="";
        String whereSql ="";
        String leftSql ="";
        String leftSql ="";
        String orderBySql =" l.id desc";
        if(StringUtils.isNotEmpty(townCode)){
        if(StringUtils.isNotEmpty(townCode)){
            whereSql+=" and s.town='"+townCode+"' ";
            whereSql+=" and s.town='"+townCode+"' ";
        }
        }
@ -416,18 +420,22 @@ public class SynergyManageService extends BaseJpaService {
            whereSql+= " and ( "+labelSql.substring(3)+" )";
            whereSql+= " and ( "+labelSql.substring(3)+" )";
        }
        }
        if(isFollow!=null&&isFollow==1){//跟进
        if(isFollow!=null&&isFollow==1){//跟进
            leftSql+=" LEFT JOIN manage_synergy_workorder_servicer_log ll on ll.workorder_service_code=s.code ";
            whereSql+=" and ll.follow_up=2 ";
            leftSql+=" LEFT JOIN manage_synergy_workorder_servicer_log ll on ll.service_patient_code=s.code ";
            whereSql+=" and ll.follow_up=2 and ll.workorder_service_code not in (select DISTINCT lll.workorder_service_code from manage_synergy_workorder_servicer_log lll where lll.follow_up=1 and lll.workorder_code='"+workorderCode+"') ";
            orderBySql=" ll.id desc";
            whereSql+=" and s.status=3 ";
        }else{
            whereSql+=" and s.status=1 ";
        }
        }
        String sql =" select DISTINCT w.*,s.mobile,s.service_patient_name,s.service_patient_code,s.code as servicerCode,s.town_name,s.hospital_name " +
        String sql =" select DISTINCT 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 " +
                " w.create_user_name " +
                " from manage_synergy_workorder_servicer s " +
                " from manage_synergy_workorder_servicer s " +
                " LEFT JOIN manage_synergy_workorder w on s.workorder_code=w.code " +
                " LEFT JOIN manage_synergy_workorder w on s.workorder_code=w.code " +
                " LEFT JOIN manage_synergy_workorder_executor e on e.workorder_code=w.code " + leftSql+
                " LEFT JOIN manage_synergy_workorder_executor e on e.workorder_code=w.code " + leftSql+
                " LEFT JOIN manage_synergy_workorder_customer_log l on l.workorder_service_code = s.code " +
                " where s.status=1  and s.workorderCode='"+workorderCode+"' " +
                " LEFT JOIN manage_synergy_workorder_customer_log l on l.workorder_service_code=s.service_patient_code " +
                " where s.workorder_code='"+workorderCode+"' " +
                " and w.del=1 and w.status=2 and e.del=1 "+
                " and w.del=1 and w.status=2 and e.del=1 "+
                whereSql+" order by l.id desc";
                whereSql+" order by "+orderBySql;
        List<Map<String,Object>> resultWorkorderList = jdbcTemplate.queryForList(sql);
        List<Map<String,Object>> resultWorkorderList = jdbcTemplate.queryForList(sql);
        Map<String,Object> resultMap = new HashMap<>();
        Map<String,Object> resultMap = new HashMap<>();
        if(resultWorkorderList.size()>0){
        if(resultWorkorderList.size()>0){
@ -438,7 +446,7 @@ public class SynergyManageService extends BaseJpaService {
            Integer callNum = customerLogDao.callNumByWorkorder(workorderMap.get("servicerCode")+"");
            Integer callNum = customerLogDao.callNumByWorkorder(workorderMap.get("servicerCode")+"");
            resultMap.put("callNum",callNum);//已呼叫次数
            resultMap.put("callNum",callNum);//已呼叫次数
            resultMap.putAll(this.getPatientInfo(workorderMap.get("service_patient_code") + ""));
            resultMap.putAll(this.getPatientInfo(workorderMap.get("service_patient_code") + ""));
            /*Patient patient =patientDao.findByCode(workorderMap.get("service_patient_code")+"");
            Patient patient =patientDao.findByCode(workorderMap.get("service_patient_code")+"");
            Integer sex = patient.getSex();
            Integer sex = patient.getSex();
            String sexName ="";
            String sexName ="";
            if(sex==1){
            if(sex==1){
@ -473,7 +481,23 @@ public class SynergyManageService extends BaseJpaService {
            for(SignPatientLabelInfo one:labelServeType){
            for(SignPatientLabelInfo one:labelServeType){
                serveType+=","+one.getLabelName();
                serveType+=","+one.getLabelName();
            }
            }
            resultMap.put("serveType",StringUtils.isNotEmpty(serveType)?serveType.substring(1):"");//服务类型*/
            resultMap.put("serveType",StringUtils.isNotEmpty(serveType)?serveType.substring(1):"");//服务类型
            //获取提交记录
            String servicerCode = workorderMap.get("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());
                m.put("callStatus",log.getCallStatus());
                m.put("emphasis",log.getEmphasis());
                m.put("followUp",log.getFollowUp());
                m.put("remark",log.getRemark());
                m.put("returnVisit",log.getReturnVisit());
                resultMap.put("servicerLog",m);
            }
            return resultMap;
            return resultMap;
        }else{
        }else{
            throw new Exception("没有任务");
            throw new Exception("没有任务");
@ -585,24 +609,33 @@ public class SynergyManageService extends BaseJpaService {
     * @param customerCode
     * @param customerCode
     * @return
     * @return
     */
     */
    public Integer findExceptionCount(String workorderCode, String customerCode) {
        return customerLogDao.findExceptionCount(workorderCode, customerCode);
    public String isNotException(String workorderCode, String customerCode) {
        String sql = "SELECT cl.workorder_service_code  from manage_synergy_workorder_customer_log cl " +
                "where cl.workorder_service_code not in (SELECT l.workorder_service_code from manage_synergy_workorder_customer_log l where l.`status` = 2) " +
                "and cl.workorder_code = '" + workorderCode + "' and cl.create_user_code= '" + customerCode + "' " +
                "GROUP BY cl.workorder_code, cl.create_user_code " +
                "ORDER BY cl.create_time LIMIT 0, 1";
        String  workorderServiceCode = jdbcTemplate.queryForObject(sql, String.class);
        return workorderServiceCode;
    }
    }
    public Map<String, Object> loadingInfo(String workorderCode, String customerCode) {
    public Map<String, Object> loadingInfo(String workorderServiceCode) {
        Map<String,Object> resultMap = new HashMap<>();
        Map<String,Object> resultMap = new HashMap<>();
        String sql = "SELECT s.service_patient_name, s.service_patient_code, s.`code`, s.s.hospital_name,s.town_name " +
        ManageSynergyWorkorderServicerDO workorderServicerDO = workorderServicerDao.findByCode(workorderServiceCode);
        /*String sql = "SELECT s.service_patient_name, s.service_patient_code, s.`code`, s.s.hospital_name,s.town_name " +
                "from (SELECT DISTINCT r.patient,cl.workorder_code from manage_synergy_workorder_customer_log cl " +
                "from (SELECT DISTINCT r.patient,cl.workorder_code from manage_synergy_workorder_customer_log cl " +
                "LEFT JOIN manage_call_record r on cl.call_code = r.`code` " +
                "LEFT JOIN manage_call_record r on cl.call_code = r.`code` " +
                "where cl.workorder_code = " + workorderCode + " and cl.create_user_code = " + customerCode + " and cl.`status` = 0 ORDER BY cl.create_time LIMIT 0,1) p " +
                "where cl.workorder_code = '" + workorderCode + "' and cl.create_user_code = '" + customerCode + "' and cl.`status` = 0 ORDER BY cl.create_time LIMIT 0,1) p " +
                "LEFT JOIN manage_synergy_workorder_servicer s on p.workorder_code = s.workorder_code and s.service_patient_code = p.patient and s.`status`=1";
                "LEFT JOIN manage_synergy_workorder_servicer s on p.workorder_code = s.workorder_code and s.service_patient_code = p.patient and s.`status`=1";
        Map<String, Object> result = (Map<String, Object>) jdbcTemplate.queryForList(sql);
        Map<String, Object> result = (Map<String, Object>) jdbcTemplate.queryForList(sql);
        String patientCode = (String) result.get("service_patient_name");
        String patientCode = (String) result.get("service_patient_name");
        */
        String patientCode = workorderServicerDO.getServicePatientName();
        resultMap.put("patientName", patientCode);
        resultMap.put("patientName", patientCode);
        resultMap.put("townName", result.get("town_name"));//所属区县
        resultMap.put("hospitalName", result.get("hospital_name"));//所属社区
        Integer callNum = customerLogDao.callNumByWorkorder((String) result.get("code"));
        resultMap.put("townName", workorderServicerDO.getTownName());//所属区县
        resultMap.put("hospitalName", workorderServicerDO.getHospitalName());//所属社区
        Integer callNum = customerLogDao.callNumByWorkorder(workorderServiceCode);
        resultMap.put("callNum",callNum);//已呼叫次数
        resultMap.put("callNum",callNum);//已呼叫次数
        resultMap.putAll(this.getPatientInfo(patientCode));
        resultMap.putAll(this.getPatientInfo(patientCode));
        return resultMap;
        return resultMap;
@ -906,10 +939,32 @@ public class SynergyManageService extends BaseJpaService {
        return  jsonObject;
        return  jsonObject;
    }
    }
    /**
     * 到处Excel表
     * @param code
     * @param keywords
     * @param workorderType
     * @param isMyTask
     * @param status
     * @param priority
     * @param timeout
     * @param workorderCode
     * @param principal
     * @param serviceStartTime
     * @param serviceEndTime
     * @param patientName
     * @param ssc
     * @param idcard
     * @param userType
     * @param isAcceptTask
     * @param response
     * @throws Exception
     */
    public void exportWorkorder(String code,String keywords,Integer workorderType,
    public void exportWorkorder(String code,String keywords,Integer workorderType,
                                Integer isMyTask,Integer status,Integer priority,Integer timeout,String workorderCode,
                                Integer isMyTask,Integer status,Integer priority,Integer timeout,String workorderCode,
                                String principal,String serviceStartTime,String serviceEndTime,
                                String principal,String serviceStartTime,String serviceEndTime,
                                String patientName,String ssc,String idcard,Integer userType,Integer isAcceptTask,HttpServletResponse response) throws Exception{
                                String patientName,String ssc,String idcard,Integer userType,Integer isAcceptTask,String userName,String hospitalName,
                                HttpServletResponse response) throws Exception{
        WritableWorkbook wwb = null;
        WritableWorkbook wwb = null;
        try{
        try{
@ -995,6 +1050,14 @@ public class SynergyManageService extends BaseJpaService {
            if(StringUtils.isNotEmpty(idcard)){
            if(StringUtils.isNotEmpty(idcard)){
                whereSql+=" s.idcard like '%"+keywords+"%' ";
                whereSql+=" s.idcard like '%"+keywords+"%' ";
            }
            }
            //需求方
            if(StringUtils.isNotEmpty(userName)){
                whereSql+=" and w.create_user_name like '%"+userName+"%' ";
            }
            //所属机构
            if(StringUtils.isNotEmpty(hospitalName)){
                whereSql+=" and w.hospital_name like '%"+hospitalName+"%' ";
            }
            String sql =" select DISTINCT w.* from wlyy.manage_synergy_workorder w  " +servicerTable+
            String sql =" select DISTINCT w.* from wlyy.manage_synergy_workorder w  " +servicerTable+
                    " where w.del=1  " +
                    " where w.del=1  " +
@ -1007,26 +1070,62 @@ public class SynergyManageService extends BaseJpaService {
            OutputStream os = response.getOutputStream();
            OutputStream os = response.getOutputStream();
            wwb = Workbook.createWorkbook(os);
            wwb = Workbook.createWorkbook(os);
            WritableSheet ws = Workbook.createWorkbook(os).createSheet("sheet",1);
            WritableSheet ws = Workbook.createWorkbook(os).createSheet("sheet",1);
            String[] header = {"SN码","创建日期","身份证号","姓名","数据类型","value1","value2","value3","value4","value5","value6","value7"};
            List<String> header = null;
            if(isAcceptTask==1){//我接收的任务
                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","创建时间","服务对象","工单状态","需求方","负责人","服务内容"));
            }else if(isAcceptTask==2){//我派发的任务
                header = new ArrayList<>(Arrays.asList("服务编号","服务类型","创建时间","服务对象","工单状态","家庭医生","所属机构","服务内容"));
            }
            int i = 0;
            int i = 0;
            for (String h : header) {
            for (String h : header) {
                Label label = new Label(0, i, h);
                Label label = new Label(0, i, h);
                ws.addCell(label);
                ws.addCell(label);
                i++;
                i++;
            }
            }
            Integer workorderTypeR = null;
            String workorderTypeName = null;
            Date createTime = null;
            for(Map<String,Object> one:list){
            for(Map<String,Object> one:list){
//                addCell(ws, i, 0, m.getDeviceSn(),"");
//                addCell(ws, i, 1, format.format(m.getCzrq()),"");
//                addCell(ws, i, 2, m.getIdcard(),"");
//                addCell(ws, i, 3, m.getUserName(),"");
//                addCell(ws, i, 4, type,"");
//                addCell(ws, i, 5, m.getValue1(),"");
//                addCell(ws, i, 6, m.getValue2(),"");
//                addCell(ws, i, 7, m.getValue3(),"");
//                addCell(ws, i, 8, m.getValue4(),"");
//                addCell(ws, i, 9, m.getValue5(),"");
//                addCell(ws, i, 10, m.getValue6(),"");
//                addCell(ws, i, 11, m.getValue7(),"");
                workorderTypeR = (Integer) one.get("workorder_type");
                createTime = (Date)one.get("create_time");
                addCell(ws, i, 0, one.get("code")+"","");
                switch (workorderTypeR){
                    case 0: workorderTypeName="咨询";break;
                    case 1: workorderTypeName="健康教育";break;
                    case 2: workorderTypeName="预约";break;
                    case 3: workorderTypeName="随访";break;
                    case 4: workorderTypeName="问卷调查";break;
                    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){//我接收的任务
                    String[] servicer = (one.get("servicer_key")+"").split(",");
                    Integer servicerCount = (Integer) one.get("servicer_count");
                    addCell(ws, i, 1, servicer[0]+"等"+servicerCount+"人","");
                }else if(isAcceptTask==2){//我派发的任务
                    String[] servicer = (one.get("servicer_key")+"").split(",");
                    addCell(ws, i, 1, servicer[0],"");
                }
                Integer statusR = (Integer) one.get("status");
                String statusName="";
                switch (statusR){
                    case 0:statusName="草稿";break;
                    case 1:statusName="未接受";break;
                    case 2:statusName="处理中";break;
                    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){//我接收的任务
                    List<ManageSynergyWorkorderExecutorDO> managerList = workorderExecutorDao.findByWorkorderCode(one.get("code")+"",1);
                    String managerName = managerList.size()>0?managerList.get(0).getExecutorName():"";
                    addCell(ws, i, 5, managerName,"");//负责人
                }else if(isAcceptTask==2) {//我派发的任务
                    addCell(ws, i, 5, one.get("hospital_name")+"","");//所属机构
                }
                addCell(ws, i, 5, one.get("content")+"","");
                i++;
                i++;
            }
            }
            wwb.write();
            wwb.write();
@ -1141,4 +1240,17 @@ public class SynergyManageService extends BaseJpaService {
        map.put("waihuAvgTalkTime",avgTalkTime);
        map.put("waihuAvgTalkTime",avgTalkTime);
    }
    }
    /**
     *
     * @param workorderCode
     * @param workorderServiceCode
     * @param userCode
     * @param userName
     * @param callCode
     * @param status
     */
    public void addWorkorderCustomerLog(String workorderCode,String workorderServiceCode,String userCode,String userName,String callCode,String status){
    }
}
}

+ 3 - 3
patient-co-manage/wlyy-manage/src/main/resources/application.yml

@ -60,9 +60,9 @@ spring:
  profiles: dev
  profiles: dev
  datasource:
  datasource:
    wlyy:
    wlyy:
      url: jdbc:mysql://172.19.103.77/wlyy?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: root
      password: 123456
      url: jdbc:mysql://172.19.103.85/wlyy?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: linzhou
      password: linzhou
    device:
    device:
      url: jdbc:mysql://172.19.103.77/device?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      url: jdbc:mysql://172.19.103.77/device?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
      username: root
      username: root

+ 3 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/survey/ManagerQuestionnaireService.java

@ -1944,14 +1944,14 @@ public class ManagerQuestionnaireService extends BaseService {
     */
     */
    public String saveQuestionResultAndAnswer(JSONObject jsonData, String patientCode, String customerCode) throws Exception {
    public String saveQuestionResultAndAnswer(JSONObject jsonData, String patientCode, String customerCode) throws Exception {
        String surveyCode = jsonData.get("surveyCode").toString();
        String surveyCode = jsonData.get("surveyCode").toString();
        SurveyTemplates templates = surveyTemplatesDao.findById(surveyCode);
        Survey survey = surveyDao.findById(surveyCode);
        Patient patient = patientDao.findByCode(patientCode);
        Patient patient = patientDao.findByCode(patientCode);
        User user = userDao.findByCode(customerCode);
        User user = userDao.findByCode(customerCode);
        SurveyQuestionResult questionResult =  new SurveyQuestionResult();
        SurveyQuestionResult questionResult =  new SurveyQuestionResult();
        String code = getCode();
        String code = getCode();
        questionResult.setCode(code);
        questionResult.setCode(code);
        questionResult.setTemplateCode(templates.getCode());
        questionResult.setTemplateTitle(templates.getTitle());
        questionResult.setTemplateCode(survey.getCode());
        questionResult.setTemplateTitle(survey.getTitle());
        questionResult.setPatientCode(patient.getCode());
        questionResult.setPatientCode(patient.getCode());
        questionResult.setPatientName(patient.getName());
        questionResult.setPatientName(patient.getName());
        questionResult.setType(1);
        questionResult.setType(1);

+ 1 - 1
patient-co/patient-co-wlyy/src/main/resources/application-devtest.yml

@ -52,7 +52,7 @@ rehabilitation:
  url: http://localhost:10055/svr-wlyy-rehabilitation/
  url: http://localhost:10055/svr-wlyy-rehabilitation/
#集美客服配置
#集美客服配置
customerService:
customerService:
  url: http://localhost:8082/
  url: http://localhost:8180/
#小程序
#小程序
applets:
applets: