lidongdong
2023-08-24 8c0b5b30e5200e7bd45aa34507c3623e17fcce91
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
@@ -94,10 +94,11 @@
    @Override
    public R pageByComEvent(ComEvent comEvent, Page pagination,LoginUserInfoVO loginUserInfoVO) {
        log.info("当前登录信息"+loginUserInfoVO);
        Boolean isExpertCheck=false;
        Long expertId=null;
        Boolean isStretAccount = isStreetAccount(loginUserInfoVO);
//        comEvent.setAppId(loginUserInfoVO.getAppId());
        comEvent.setAppId(loginUserInfoVO.getAppId());
        if (nonNull(comEvent.getUserType())){
            if (comEvent.getUserType().equals(1)){
                //个人账号权限
@@ -372,7 +373,8 @@
                    //调解中,可以查看,调解,更换专家,删除
                    comEvent.setDistribution(0);
                    comEvent.setArchive(0);
                }  else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1) && !comEvent.getIsEnd().equals(1)){
                    comEvent.setSolve(0);
                }else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1) && !comEvent.getIsEnd().equals(1)){
                    //调解完成,可以归档,查看
                    comEvent.setEventResult(null);
                    comEvent.setEventProcessStatus(2);
@@ -381,12 +383,12 @@
                    //comEvent.setChangeExpert(0);
                    //comEvent.setArchive(0);
                    comEvent.setConciliation(0);
                }
                else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                }else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
                    //调解完成,可以归档,查看
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
                    comEvent.setChangeExpert(0);
                    comEvent.setConciliation(0);
                }
            }else if (comEvent.getCurrentProcessType().equals(5)){
                //根据事件状态决定权限
@@ -428,11 +430,12 @@
            }
            else{
                //未上上报到行业分中心,或者已上报到区三说会堂,仅查看
                comEvent.setArchive(0);
                //comEvent.setArchive(0);
                comEvent.setSolve(0);
                comEvent.setDistribution(0);
                comEvent.setChangeExpert(0);
                //comEvent.setConciliation(0);
                comEvent.setConciliation(0);
            }
        }else if (userType.equals(5)  || isStreet){
            //街道权限,操作街道下属社区的所有事件
@@ -538,7 +541,7 @@
                    comEvent.setDistribution(0);
                    comEvent.setSolve(0);
                    comEvent.setArchive(0);
                } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){
                } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1) && !comEvent.getIsEnd().equals(1)){
                    //失败后转交三说会堂
                    comEvent.setSolve(0);
                    comEvent.setDistribution(0);
@@ -571,6 +574,12 @@
    public Integer hasPermission(ComEvent comEvent,LoginUserInfoVO sysUser){
        String account="";
        Integer perm=1;
        if(comEvent==null || sysUser == null )
        {
            return perm;
        }
        if (nonNull(sysUser.getAccount())){
            account=sysUser.getAccount();
        }
@@ -918,15 +927,37 @@
        return map;
    }
    public String getPhone(ComEvent comEvent){
    public String getPhone(ComEvent comEvent)
    {
        if(comEvent==null)
        {
            return  "";
        }
        if (isNull(comEvent.getRequestUserCommunity())){
            return comSanShuoIndustryCenterService.getById(comEvent.getCenterId()).getPhone();
        }else {
            String contactsPhone = comActDAO.selectById(comEvent.getRequestUserCommunity()).getContactsPhone();
            if (isNull(contactsPhone)){
                return null;
            ComSanshuoIndustryCenter sanshuoIndustryCenter=comSanShuoIndustryCenterService.getById(comEvent.getCenterId());
            if(sanshuoIndustryCenter==null)
            {
                return "";
            }
            return contactsPhone;
            else
            {
                return sanshuoIndustryCenter.getPhone();
            }
        }else {
            ComActDO comActDO=comActDAO.selectById(comEvent.getRequestUserCommunity());
            if(comActDO!=null)
            {
                String contactsPhone = comActDO.getContactsPhone();
                if (isNull(contactsPhone)){
                    return "";
                }
                else
                {
                    return contactsPhone;
                }
            }
            return "";
        }
    }
@@ -965,7 +996,7 @@
    }
    @Override
    public R calculate(LoginUserInfoVO loginUserInfoVO) {
    public R calculate(LoginUserInfoVO loginUserInfoVO,Integer level,Long id) {
        ComEvent comEvent=new ComEvent();
        Boolean isExpertCheck=false;
        Long expertId=null;
@@ -1018,10 +1049,16 @@
        }
        log.info("当前userType===="+comEvent.getUserType());
        //comEvent.setAppId(loginUserInfoVO.getAppId());
        R<LoginUserInfoVO> r = userService.detailUser(loginUserInfoVO.getUserId());
        LoginUserInfoVO user = r.getData();
//        R<LoginUserInfoVO> r = userService.detailUser(loginUserInfoVO.getUserId());
//        LoginUserInfoVO user = r.getData();
        LoginUserInfoVO user = loginUserInfoVO;
        if (nonNull(user.getAppId())){
            comEvent.setAppId(user.getAppId());
        }
        if (nonNull(level) && nonNull(id)){
            comEvent.setLevel(level);
            comEvent.setSearchId(id);
            comEvent.setUserType(null);
        }
        List<ComEventCalculateVO> calculateList = baseMapper.calculate(comEvent);
        ComEventCalculateVO comEventCalculateVO =new ComEventCalculateVO();
@@ -1104,6 +1141,7 @@
        return R.ok(vo);
    }
    @Override
    public R eventIndexData(Integer type) {
        //获取事件总数
@@ -1111,9 +1149,19 @@
        if (type.equals(1)){
            //受理级别占比
            List<EventRateVO> eventRateVOS = comEventMapper.eventRate();
            //获取专家受理的数量
            Integer expertCount=comEventMapper.expertSolveCountCommunity();
            //获取行业分中心受理数量
            Integer centerCount=comEventMapper.expertSolveCountCenter();
            for (EventRateVO eventRateVO : eventRateVOS) {
                if (nonNull(eventRateVO)){
                    eventRateVO.setName(typeToName(eventRateVO.getCurrentProcessType()));
                    eventRateVO.setName(typeToName(eventRateVO.getType()));
//                    if (eventRateVO.getCurrentProcessType().equals(2)){
//                        eventRateVO.setCount(eventRateVO.getCount()+expertCount);
//                    }
//                    if (eventRateVO.getCurrentProcessType().equals(1)){
//                        eventRateVO.setCount(eventRateVO.getCount()+centerCount);
//                    }
                    if (nonNull(eventCount) && !eventCount.equals(0)){
                        //计算占比
                        eventRateVO.setRate(NumberUtil.div(eventRateVO.getCount(),eventCount,2));