Explorar o código

客服系统代码提交

liuwenbin %!s(int64=6) %!d(string=hai) anos
pai
achega
f66708a4c2

+ 14 - 1
patient-co-manage/wlyy-manage/pom.xml

@ -291,7 +291,20 @@
                    <groupId>com.yihu</groupId>
                    <artifactId>jave-ffmpegjave</artifactId>
                </dependency>-->
        <dependency>
            <groupId>com.aspose.words</groupId>
            <artifactId>aspose-words-jdk16</artifactId>
            <version>14.6.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpmime</artifactId>
        </dependency>
        <dependency>
            <groupId>com.yihu</groupId>
            <artifactId>jave-ffmpegjave</artifactId>
            <version>1.0.4</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>wlyy-manage</finalName>

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

@ -361,5 +361,29 @@ public class CustomerSynergyManageController extends BaseController {
            return error(-1, "请求失败");
        }
    }
    @RequestMapping(value = "/addWorkorderCustomerLog", method = RequestMethod.POST)
    @ApiOperation(value = "添加客户操作记录")
    public String addWorkorderCustomerLog(@ApiParam(name="workorderCode",value="协同服务工单code",required = true)
                             @RequestParam(required = true)String workorderCode,
                             @ApiParam(name="workorderServiceCode",value="协同服务工单的服务对象code",required = true)
                             @RequestParam(required = true)String workorderServiceCode,
                             @ApiParam(name="userCode",value="客服code",required = false)
                             @RequestParam(required = false)String userCode,
                             @ApiParam(name="callCode",value="通话记录code",required = true)
                             @RequestParam(required = true)String callCode,
                             @ApiParam(name="status",value="状态(0、未完成,1、处理完成)",required = true)
                             @RequestParam(required = true)Integer status){
        try{
            if(!StringUtils.isNotEmpty(userCode)){
                userCode = getUID();
            }
            synergyManageService.addWorkorderCustomerLog(workorderCode,workorderServiceCode,userCode,callCode,status);
            return write(200,"保存成功");
        }catch (Exception e){
            error(e);
            return error(-1,"保存失败");
        }
    }
}

+ 3 - 1
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/synergy/doctor/DoctorSynergyManageController.java

@ -49,6 +49,8 @@ public class DoctorSynergyManageController extends BaseController {
                                @RequestParam(value = "serviceEndTime", required = false)String serviceEndTime,
                                @ApiParam(name = "isAcceptTask", value = "1、我接收到的任务,2、我派发的任务", required = true)
                                @RequestParam(value = "isAcceptTask", required = true)Integer isAcceptTask,
                                @ApiParam(name = "keywords", value = "输入医生姓名、姓名、社保卡、身份证号码", required = false)
                                @RequestParam(value = "keywords", required = false)String keywords,
                                @ApiParam(name = "page", value = "第几页,从1开始", required = false)
                                @RequestParam(value = "page", required = false,defaultValue = "1")Integer page,
                                @ApiParam(name = "pageSize", value = "每页分页大小", required = false)
@ -57,7 +59,7 @@ public class DoctorSynergyManageController extends BaseController {
            if(!StringUtils.isNotEmpty(userCode)){
                userCode = getUID();
            }
            Map<String,Object> result = synergyManageService.workorderList(userCode,null,workorderType,null,status,null,null,null,
            Map<String,Object> result = synergyManageService.workorderList(userCode,keywords,workorderType,null,status,null,null,null,
                    null,serviceStartTime,serviceEndTime,null,null,null,1,isAcceptTask,null,null,page,pageSize);
            return write(200, "获取成功", "data", result);
        } catch (Exception e) {

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

@ -6,6 +6,8 @@ import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
public interface ManageSynergyWorkorderServicerDao extends PagingAndSortingRepository<ManageSynergyWorkorderServicerDO, Long> {
    @Query(" select count(1) from ManageSynergyWorkorderServicerDO s where s.workorderCode=?1 and s.status=?2 ")
@ -23,4 +25,6 @@ public interface ManageSynergyWorkorderServicerDao extends PagingAndSortingRepos
    Integer countByWorkorderCodeAndExecutorCodeAndStatus(String workorderCode,String executorCode,Integer status);
    ManageSynergyWorkorderServicerDO findByCode(String code);
    List<ManageSynergyWorkorderServicerDO> findByWorkorderCode(String workorderCode);
}

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

@ -7,6 +7,7 @@ import com.yihu.wlyy.repository.synergy.*;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.HttpClientUtil;
import com.yihu.wlyy.util.IdCardUtil;
import com.yihu.wlyy.util.fastdfs.FastDFSUtil;
import com.yihu.wlyy.util.query.BaseJpaService;
import jxl.Workbook;
import jxl.write.*;
@ -60,6 +61,8 @@ public class SynergyManageService extends BaseJpaService {
    private ManageSynergyWorkorderServicerLogDao manageSynergyWorkorderServicerLogDao;
    @Autowired
    private TownDao townDao;
    @Autowired
    private FastDFSUtil fastDFSUtil;
    /**
     * 根据服务编码获取工单
@ -114,13 +117,14 @@ public class SynergyManageService extends BaseJpaService {
                whereSql +=" and w.create_user_type=2 ";//创建人为客服
                whereSql += " and w.create_user ='"+code+"' ";
            }
        }else if(userType==3){//医生
        }else if(userType==1){//医生
            if(isAcceptTask==1){//我接收
                whereSql +=" and w.create_user_type=2 ";//创建人为客服
                whereSql += " and e.executor_code ='"+code+"' ";
            }else if(isAcceptTask==2){//我派发
                whereSql +=" and w.create_user_type=2 ";//创建人为医生
                whereSql += " and e.create_user ='"+code+"' ";
                whereSql +=" and w.create_user_type=1 ";//创建人为医生
                whereSql += " and w.create_user ='"+code+"' ";
            }
        }
@ -201,6 +205,9 @@ public class SynergyManageService extends BaseJpaService {
        String finalSql = sql+" LIMIT "+(page-1)*pageSize+","+pageSize;
        List<Map<String,Object>> resultWorkorderList = jdbcTemplate.queryForList(finalSql);
        List<Map<String,Object>> resultList = new ArrayList<>();
        ManageSynergyWorkorderServicerDO servicerDO = null;
        Patient patient =null;
        List<ManageSynergyWorkorderServicerDO> servicerList = null;
        for(Map<String,Object> one : resultWorkorderList){
            Map<String,Object> map = new HashMap<>();
            map.put("workorderCode",one.get("code"));//服务编码
@ -242,6 +249,19 @@ public class SynergyManageService extends BaseJpaService {
            map.put("finishedServicerCount",finishedServicerCount);//服务完成人数
            map.put("userName",one.get("create_user_name"));
            map.put("hospitalName",one.get("hospital_name"));
            map.put("servicerKey",one.get("servicer_key"));
            map.put("remark",one.get("remark"));
            if(workorderTypeR==0||workorderTypeR==2||workorderTypeR==3){
                servicerList = workorderServicerDao.findByWorkorderCode(one.get("code")+"");
                if(servicerList.size()>0){
                    servicerDO = servicerList.get(0);
                    patient = patientDao.findByCode(servicerDO.getServicePatientCode());
                }
                Integer age = IdCardUtil.getAgeForIdcard(patient.getIdcard());
                String sex = IdCardUtil.getSexForIdcard_new(patient.getIdcard());
                map.put("age",age);
                map.put("sex","1".equals(sex)?"男":("2".equals(sex)?"女":"未知"));
            }
            resultList.add(map);
        }
        Map<String,Object> resultMap = new HashMap<>();
@ -453,14 +473,17 @@ public class SynergyManageService extends BaseJpaService {
            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.getDoctor());//签约医生(即:工单创建医生)
            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){
@ -473,20 +496,22 @@ public class SynergyManageService extends BaseJpaService {
                serveType+=","+one.getLabelName();
            }
            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")+"";
            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());
                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);
            }
            return resultMap;
@ -1111,11 +1136,11 @@ public class SynergyManageService extends BaseJpaService {
                i++;
            }
            wwb.write();
            wwb.close();
        }catch (Exception e) {
            e.printStackTrace();
            if (wwb != null) wwb.close();
            throw e;
        }finally {
            if (wwb != null) wwb.close();
        }
    }
@ -1164,15 +1189,39 @@ public class SynergyManageService extends BaseJpaService {
    }
    /**
     *
     * 添加客户操作记录
     * @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){
    @Transactional
    public void addWorkorderCustomerLog(String workorderCode,String workorderServiceCode,String userCode,String callCode,Integer status) throws  Exception{
        ManageSynergyWorkorderCustomerLogDO workorderCustomerLogDO = new ManageSynergyWorkorderCustomerLogDO();
        workorderCustomerLogDO.setCode(getCode());
        workorderCustomerLogDO.setCallCode(callCode);
        workorderCustomerLogDO.setCreateTime(new Date());
        workorderCustomerLogDO.setCreateUserCode(userCode);
        User user = userDao.findByCode(userCode);
        workorderCustomerLogDO.setCreateUserName(user.getName());
        workorderCustomerLogDO.setStatus(status);
        workorderCustomerLogDO.setWorkorderCode(workorderCode);
        workorderCustomerLogDO.setWorkorderServiceCode(workorderServiceCode);
        customerLogDao.save(workorderCustomerLogDO);
    }
//    public static void main(String[] args) {
//        String a ="group1/M00/0E/FB/rBFuWlubh7SACz32AAAde0sVAJk899.png";
//        int aa = a.lastIndexOf("/");
//        System.out.println(aa);
//        System.out.println(a.substring(0,aa));
//    }
    public void wordToPDF(String path) throws Exception{
        String groupName = path.substring(0,path.lastIndexOf("/"));
        String remoteFileName =path.substring(path.lastIndexOf("/"),path.length()-1);
        byte[] bb =FastDFSUtil.download(groupName,remoteFileName);
    }
}

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

@ -173,6 +173,8 @@ pushMes:
putMesType:
  #推送到redis消息类型
  wechat: wechat
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---
spring:
  profiles: test
@ -290,6 +292,8 @@ pushMes:
putMesType:
  #推送到redis消息类型
  wechat: wechat
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---
spring:
  profiles: prod
@ -403,4 +407,6 @@ pushMes:
  redis_prescription_title: redisPrescription
putMesType:
  #推送到redis消息类型
  wechat: wechat
  wechat: wechat
fastDFS:
  fastdfs_file_url: http://www.xmtyw.cn/

+ 3 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/synergy/ManageSynergyService.java

@ -140,7 +140,7 @@ public class ManageSynergyService extends BaseService {
    public JSONObject workorderList(String userCode,Integer workorderType,Integer status,String serviceStartTime,String serviceEndTime,Integer isAcceptTask,Integer page,Integer pageSize) throws Exception{
    public JSONObject workorderList(String userCode,Integer workorderType,Integer status,String serviceStartTime,String serviceEndTime,Integer isAcceptTask,String keywords,Integer page,Integer pageSize) throws Exception{
        Map<String, Object> param = new HashedMap();
        param.put("userCode",userCode);
        param.put("workorderType",workorderType);
@ -148,9 +148,10 @@ public class ManageSynergyService extends BaseService {
        param.put("serviceStartTime",serviceStartTime);
        param.put("serviceEndTime",serviceEndTime);
        param.put("isAcceptTask",isAcceptTask);
        param.put("keywords",keywords);
        param.put("page",page);
        param.put("pageSize",pageSize);
        HttpResponse response = HttpUtils.doGet(customerUrl + "/doctor/synergy/workorderList", param);
        HttpResponse response = HttpUtils.doGet(customerUrl + "/synergy/doctor/workorderList", param);
        JSONObject result = new JSONObject(response.getContent());
        if(result.getInt("status")==200){
            JSONObject json = result.getJSONObject("data");

+ 3 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/synergy/SynergyManageController.java

@ -117,6 +117,8 @@ public class SynergyManageController extends BaseController {
                                @RequestParam(value = "serviceEndTime", required = false)String serviceEndTime,
                                @ApiParam(name = "isAcceptTask", value = "1、我接收到的任务,2、我派发的任务", required = true)
                                @RequestParam(value = "isAcceptTask", required = true)Integer isAcceptTask,
                                @ApiParam(name = "keywords", value = "输入医生姓名、姓名、社保卡、身份证号码", required = false)
                                @RequestParam(value = "keywords", required = false)String keywords,
                                @ApiParam(name = "page", value = "第几页,从1开始", required = false)
                                @RequestParam(value = "page", required = false,defaultValue = "1")Integer page,
                                @ApiParam(name = "pageSize", value = "每页分页大小", required = false)
@ -125,7 +127,7 @@ public class SynergyManageController extends BaseController {
            if(!StringUtils.isNotEmpty(userCode)){
                userCode = getUID();
            }
            JSONObject result = manageSynergyService.workorderList(userCode,workorderType,status,serviceStartTime,serviceEndTime,isAcceptTask,page,pageSize);
            JSONObject result = manageSynergyService.workorderList(userCode,workorderType,status,serviceStartTime,serviceEndTime,isAcceptTask,keywords,page,pageSize);
            return write(200, "获取成功", "data", result);
        } catch (Exception e) {
            error(e);