From d5bf966a2819c7eb5d38d25727c2ebff44a920f4 Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期四, 20 十月 2022 12:04:52 +0800
Subject: [PATCH] update

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java |  109 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 67 insertions(+), 42 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
index e92bb30..156ffe4 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java
@@ -12,6 +12,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.constants.Constants;
 import com.panzhihua.common.constants.ReturnMsgConstants;
 import com.panzhihua.common.enums.SanShuoEventStatusEnum;
 import com.panzhihua.common.model.dtos.community.sanshuo.IndexDateDTO;
@@ -27,6 +28,7 @@
 import com.panzhihua.service_community.api.ComSanShuoEventTransferRecordController;
 import com.panzhihua.service_community.dao.ComActDAO;
 import com.panzhihua.service_community.dao.ComEventMapper;
+import com.panzhihua.service_community.dao.ComSanshuoExpertDao;
 import com.panzhihua.service_community.dao.ComStreetDAO;
 import com.panzhihua.service_community.entity.*;
 import com.panzhihua.service_community.model.dos.ComActDO;
@@ -34,8 +36,10 @@
 import com.panzhihua.service_community.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.RandomUtils;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.annotation.Resource;
 import java.util.*;
@@ -81,10 +85,12 @@
     @Resource
     private CommediateTypeService commediateTypeService;
 
+    @Resource
+    private ComSanshuoExpertDao comSanshuoExpertDao;
+
 
     @Override
     public R pageByComEvent(ComEvent comEvent, Page pagination,LoginUserInfoVO loginUserInfoVO) {
-        log.info("=================当前登陆的用户信息,用户类型"+loginUserInfoVO.getType()+"社区id"+loginUserInfoVO.getCommunityId());
         Boolean isExpertCheck=false;
         Long expertId=null;
         Boolean isStretAccount = isStreetAccount(loginUserInfoVO);
@@ -127,14 +133,12 @@
                 comEvent.setCommunityIds(cids);
             }
         }
-//        if (nonNull(loginUserInfoVO.getAccount())){
-//            if (loginUserInfoVO.getAccount().equals("admin")){
-//                comEvent.setUserType(null);
-//            }
-//        }
+        if (nonNull(loginUserInfoVO.getAccount())){
+            if (loginUserInfoVO.getAccount().equals("admin")){
+                comEvent.setUserType(9);
+            }
+        }
         IPage<ComEvent> list=null;
-        log.info("=====================当前的userType"+comEvent.getUserType());
-        log.info("=====================是否专家账号查看"+isExpertCheck);
         //是否为专家查看自己发布的事件
         if (isExpertCheck && comEvent.getUserType()!=1){
             if (nonNull(comEventMapper.listEventIds(expertId))){
@@ -143,7 +147,6 @@
         }else{
             list = baseMapper.pageByComEvent(comEvent, pagination);
         }
-
         if (list.getRecords().size() < 1) {
             return R.ok(Collections.emptyList());
         }
@@ -157,10 +160,8 @@
             ComMediateType category = commediateTypeService.getById(comEvent1.getEventCategory());
             comEvent1.setEventCategoryName(category.getName());
             comEvent1.setHasPerm(hasPermission(comEvent1,loginUserInfoVO ));
-            if (!comEvent.getUserType().equals(1)){
-                this.accountMenu(comEvent1,comEvent.getUserType(),loginUserInfoVO,isStretAccount);
-            }
-        });
+            this.accountMenu(comEvent1,comEvent.getUserType(),loginUserInfoVO,isStretAccount);
+            });
         return R.ok(list);
     }
 
@@ -186,7 +187,7 @@
     public void accountMenu(ComEvent comEvent,Integer userType,LoginUserInfoVO loginUserInfoVO,Boolean isStreet){
         //四个账号级别
         Boolean isAdmin=false;
-        if (isNull(userType)){
+        if (userType.equals(9)){
             isAdmin=true;
         }
         comEvent.setDelete(1);
@@ -334,7 +335,7 @@
         }else if (userType.equals(3)){
             //分配行业分中心操作权限
             //是否上报到行业分中心
-            if (comEvent.getReportCenter().equals(1) || comEvent.getCurrentProcessType().equals(1)){
+            if (comEvent.getCurrentProcessType().equals(1)){
                 //已经报到行业分中心
                 if (comEvent.getEventProcessStatus().equals(1) ){
                     //待受理和待验证状态,可以受理,分配专家
@@ -387,7 +388,7 @@
         }else if (userType.equals(5)  || isStreet){
             //街道权限,操作街道下属社区的所有事件
             //是否上报到街道
-            if (comEvent.getReportStreet().equals(1) || comEvent.getCurrentProcessType().equals(3)){
+            if (comEvent.getCurrentProcessType().equals(3)){
                 //已上报到街道
                 if (comEvent.getEventProcessStatus().equals(1) ){
                     //待受理和待验证状态,可以受理,分配专家
@@ -439,8 +440,14 @@
                     comEvent.setChangeExpert(0);
                     comEvent.setConciliation(0);
                 }
-            }else{
+            }else if (comEvent.getCurrentProcessType().equals(4)){
                 //未上报到街道,仅查看
+                comEvent.setSolve(0);
+                comEvent.setDistribution(0);
+                comEvent.setChangeExpert(0);
+                comEvent.setConciliation(0);
+
+            }else {
                 comEvent.setArchive(0);
                 comEvent.setSolve(0);
                 comEvent.setDistribution(0);
@@ -486,7 +493,9 @@
                     //失败后转交三说会堂
                     comEvent.setSolve(0);
                     comEvent.setDistribution(0);
-                    comEvent.setConciliation(0);
+                    //comEvent.setConciliation(0);
+                    comEvent.setEventProcessStatus(2);
+                    comEvent.setArchive(0);
                     //comEvent.setChangeExpert(0);
                 }
                 else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
@@ -673,6 +682,8 @@
                     comEvent.setCurrentOrgId(comActDO.getStreetId().toString());
                     //生成一次流转记录
                     comEvent.setCurrentEventProcessResult("专家上报到社区");
+                    //更改当前处理部门
+                    comEvent.setCurrentOrgName(comActDO.getName()+"调解站");
                     comEventTransferRecord.setFromId(comEvent.getSpecialistId());
                     comEventTransferRecord.setToId(Long.parseLong(comEvent.getCurrentOrgId()));
                     comEventTransferRecord.setReportLevel(4);
@@ -686,6 +697,7 @@
                     comEvent.setSpecialistId(99999L);
                     //生成一次流转记录
                     comEvent.setCurrentEventProcessResult("专家上报到行业分中心");
+                    comEvent.setCurrentOrgName(expert.getUnit());
                     comEventTransferRecord.setFromId(comEvent.getSpecialistId());
                     comEventTransferRecord.setToId(expert.getIndustryCenterId());
                     comEventTransferRecord.setReportLevel(3);
@@ -698,6 +710,7 @@
                 //生成一次流转记录
                 comEvent.setReportHall(1);
                 comEvent.setCurrentEventProcessResult("行业分中心上报到区三说会堂");
+                comEvent.setCurrentOrgName("区三说会堂");
                 comEventTransferRecord.setFromId(comEvent.getSpecialistId());
                 comEventTransferRecord.setToId(99999L);
                 comEventTransferRecord.setReportLevel(5);
@@ -711,6 +724,7 @@
                 comEvent.setCurrentOrgId(comActDO.getStreetId().toString());
                 //生成一次流转记录
                 comEvent.setCurrentEventProcessResult("社区报到街道");
+                comEvent.setCurrentOrgName(comStreetDAO.selectById(comActDO.getStreetId()).getName()+"调解站");
                 comEventTransferRecord.setFromId(comEvent.getRequestUserCommunity());
                 comEventTransferRecord.setToId(comActDO.getStreetId());
                 comEventTransferRecord.setReportLevel(2);
@@ -720,6 +734,7 @@
                 comEvent.setCurrentProcessType(4);
                 comEvent.setReportHall(1);
                 comEvent.setCurrentOrgId("99999");
+                comEvent.setCurrentOrgName("区三说会堂");
                 //生成一次流转记录
                 comEvent.setCurrentEventProcessResult("街道上报到区三说会堂");
                 comEventTransferRecord.setFromId(Long.parseLong(comEvent.getCurrentOrgId()));
@@ -793,15 +808,17 @@
         comEventDetailVO.setImages(comEventRequestImageVO);
         map.put("specter", specter);
         map.put("eventDetail", comEventDetailVO);
+        List<ComEventTransferRecord> archiveLog=new ArrayList<>();
         List<ComEventTransferRecord> transferRecord = comEventTransferRecordService.list(new QueryWrapper<ComEventTransferRecord>().lambda().eq(ComEventTransferRecord::getEventId, id).orderByDesc(ComEventTransferRecord::getCreateAt));
         transferRecord.forEach(comEventTransferRecord -> {
             List<ComEventResource> list = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, comEvent.getId()).notIn(ComEventResource::getStatus,(1)).eq(ComEventResource::getTransferId, comEventTransferRecord.getId()));
             List<ComEventRequestImageVO> ImageVO = CopyUtil.deepCopyListObject(list, ComEventRequestImageVO.class);
             comEventTransferRecord.setImages(ImageVO);
             if (comEventTransferRecord.getEventStatus().equals(7)){
-                map.put("archiveLog", comEventTransferRecord);
+                archiveLog.add(comEventTransferRecord);
             }
         });
+        map.put("archiveLog", archiveLog);
         //迭代器迭代删除归档记录
         Iterator<ComEventTransferRecord> iterator = transferRecord.iterator();
         while (iterator.hasNext()){
@@ -840,9 +857,7 @@
         ComSanshuoExpert specter = comSanShuoExpertService.getById(specialistId);
         comEvent.setSpecialistAcceptTime(new Date());
         comEvent.setSpecialistName(specter.getName());
-        if (comEvent.getEventProcessStatus()<SanShuoEventStatusEnum.conciliation.getCode()){
-            comEvent.setEventProcessStatus(SanShuoEventStatusEnum.VALID.getCode());
-        }
+        comEvent.setEventProcessStatus(SanShuoEventStatusEnum.VALID.getCode());
         int flag = baseMapper.updateById(comEvent);
         //添加一条对应记录
         comEventMapper.insertEventAndExpertRecord(id, specialistId,1);
@@ -852,26 +867,24 @@
     @Override
     public R calculate(LoginUserInfoVO loginUserInfoVO) {
         ComEvent comEvent=new ComEvent();
-        comEvent.setUserType(3);
         Boolean isExpertCheck=false;
         Long expertId=null;
         Boolean isStretAccount = isStreetAccount(loginUserInfoVO);
-        if (nonNull(comEvent.getUserType())){
-             if (loginUserInfoVO.getType().equals(13) || loginUserInfoVO.getType().equals(11)){
+        if (loginUserInfoVO.getType().equals(13) || loginUserInfoVO.getType().equals(11)){
                 ComSanshuoExpert expert=new ComSanshuoExpert();
-                //专家账号权限(后台)
-                if (nonNull(loginUserInfoVO.getPhone())){
+                //专家后台账号
+            if (nonNull(loginUserInfoVO.getPhone())){
                     expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getPhone, loginUserInfoVO.getPhone()));
-                }else{
+            }else{
                     //账号获取
                     expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getAccount, loginUserInfoVO.getAccount()));
-                }
-                comEvent.setUserType(2);
-                if (nonNull(expert)){
+            }
+            comEvent.setUserType(2);
+            if (nonNull(expert)){
                     comEvent.setSpecialistId(expert.getId());
                     isExpertCheck=true;
                     expertId=expert.getId();
-                }
+            }
             }else if (loginUserInfoVO.getType().equals(12)){
                 //行业分中心权限
                 comEvent.setUserType(3);
@@ -890,20 +903,20 @@
                 List<Long> cids = comActDAO.selectCommunityByStreetId(loginUserInfoVO.getStreetId());
                 comEvent.setUserType(5);
                 comEvent.setCommunityIds(cids);
-            }
-        }
-        if (isExpertCheck && comEvent.getUserType()!=1){
-            if (nonNull(comEventMapper.listEventIds(expertId))){
+         }
+        if (isExpertCheck){
+            if(nonNull(comEventMapper.listEventIds(expertId))){
                 List<Long> eventIds = comEventMapper.listEventIds(expertId);
+                //获取该专家的所有事件
                 comEvent.setEventIds(eventIds);
-
             }
         }
         if (nonNull(loginUserInfoVO.getAccount())){
             if (loginUserInfoVO.getAccount().equals("admin")){
-                comEvent.setUserType(null);
+                comEvent.setUserType(9);
             }
         }
+        log.info("当前userType===="+comEvent.getUserType());
         List<ComEventCalculateVO> calculateList = baseMapper.calculate(comEvent);
         ComEventCalculateVO comEventCalculateVO =new ComEventCalculateVO();
         comEventCalculateVO.setStatus("0");
@@ -963,6 +976,8 @@
                 vo.setSuccessRate(NumberUtil.div(vo.getSuccess(),vo.getAccepted(),2));
             }
         }
+        vo.setExpert(comSanshuoExpertDao.selectExpertCount(indexDataDTO));
+        //查询当前级别下的专家
         //折线图X轴
         List<Date> dates = pastTwelveMoth();
         vo.setX(getYAndM(dates));
@@ -981,13 +996,13 @@
     @Override
     public R eventIndexData(Integer type) {
         //获取事件总数
-        Integer eventCount = comEventMapper.selectCount(new QueryWrapper<ComEvent>().notIn("event_process_status", (7), (8)));
+        Integer eventCount = comEventMapper.selectCount(new QueryWrapper<ComEvent>().notIn("event_process_status",(9)));
         if (type.equals(1)){
             //受理级别占比
             List<EventRateVO> eventRateVOS = comEventMapper.eventRate();
             for (EventRateVO eventRateVO : eventRateVOS) {
                 if (nonNull(eventRateVO)){
-                    eventRateVO.setName(typeToName(eventRateVO.getType()));
+                    eventRateVO.setName(typeToName(eventRateVO.getCurrentProcessType()));
                     if (nonNull(eventCount) && !eventCount.equals(0)){
                         //计算占比
                         eventRateVO.setRate(NumberUtil.div(eventRateVO.getCount(),eventCount,2));
@@ -1029,13 +1044,23 @@
         comEventMapper.updateLog(id,comEvent.getSpecialistId());
     }
 
+    @Override
+    public R listStreetScreen() {
+        return R.ok(comStreetDAO.selectList(new QueryWrapper<ComStreetDO>().eq("app_id", "wx0cef797390444b75").in("name",("大宝鼎街道"),("格里坪镇"),("河门口街道"),("清香坪街道"),("陶家渡街道"),("玉泉街道"))));
+    }
+
+    @Override
+    public R listCommunityScreen() {
+        return R.ok(comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getAppId, "wx0cef797390444b75").in(ComActDO::getStreetId,("1552661139563876352"),("1552661132500668416"),("1552661143879815168"),("1552661138704044032"),("1552661135428292608"),("1552661136451702784"))));
+    }
+
     public String typeToName(Integer type){
         switch (type){
             case 1:
                 return "行业分中心受理";
-            case 2:
-                return "街道调解站受理";
             case 3:
+                return "街道调解站受理";
+            case 2:
                 return "社区调解站受理";
             case 4:
                 return "区三说会堂受理";

--
Gitblit v1.7.1