From ceba89443dc0f8240e5bebb0d6f708eb6947c9e7 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 19 十月 2022 14:13:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into huacheng_test
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java | 231 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 177 insertions(+), 54 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 815979a..9f64322 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);
@@ -208,22 +209,35 @@
//账号获取
expert = comSanShuoExpertService.getOne(new QueryWrapper<ComSanshuoExpert>().lambda().eq(ComSanshuoExpert::getAccount, loginUserInfoVO.getAccount()));
}
- if (!comEvent.getSpecialistId().equals(expert.getId()) || !comEvent.getCurrentProcessType().equals(5)){
+ if (!comEvent.getCurrentProcessType().equals(5)){
+ if (comEvent.getSpecialistId().equals(expert.getId()) && comEvent.getEventProcessStatus().equals(3)){
+ //更高级别分配给该专家,可以受理
+ comEvent.setConciliation(0);
+ comEvent.setArchive(0);
+ //comEvent.setSolve(0);
+ return;
+ }
//已经上报或者重新分配专家,只能查看
comEvent.setConciliation(0);
//comEvent.setArchive(0);
comEvent.setSolve(0);
return;
}//未上报,根据状态决定权限
- if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
+ if (comEvent.getEventProcessStatus().equals(1)){
//待受理和待验证状态,仅有查看和受理权限,可能为用户选择该专家或上级单位分配给该专家
//关闭调解和归档
comEvent.setArchive(0);
comEvent.setConciliation(0);
- } else if (comEvent.getEventProcessStatus().equals(5)){
+ }
+ else if (comEvent.getEventProcessStatus().equals(5)){
//调解中,可以查看,调解
comEvent.setArchive(0);
comEvent.setSolve(0);
+ }else if (comEvent.getEventProcessStatus().equals(3)){
+ //重新分配给该专家的事件,可以进行受理
+ // comEvent.setSolve(0);
+ comEvent.setConciliation(0);
+ comEvent.setArchive(0);
} else if (comEvent.getEventProcessStatus().equals(6)){
//调解完成,可以归档,查看
comEvent.setSolve(0);
@@ -234,13 +248,23 @@
//如果未上报到街道,当前事件权限和专家一样
if (comEvent.getCurrentProcessType().equals(5)){
//根据事件状态决定权限
- if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
+ if (comEvent.getEventProcessStatus().equals(1) ){
//待受理和待验证状态,可以受理,分配专家
//关闭调解和归档
comEvent.setArchive(0);
comEvent.setConciliation(0);
comEvent.setChangeExpert(0);
- } else if (comEvent.getEventProcessStatus().equals(5)){
+ } else if(comEvent.getEventProcessStatus().equals(2)){
+ //待分配和待验证状态,可以受理,分配专家
+ //关闭调解和归档
+ comEvent.setArchive(0);
+ comEvent.setConciliation(0);
+ comEvent.setChangeExpert(0);
+ if (comEvent.getSpecialistName().equals("待分配")){
+ comEvent.setSolve(0);
+ }
+ }
+ else if (comEvent.getEventProcessStatus().equals(5)){
//调解中,可以查看,调解,更换专家,删除
comEvent.setDistribution(0);
comEvent.setSolve(0);
@@ -260,7 +284,16 @@
comEvent.setArchive(0);
comEvent.setConciliation(0);
comEvent.setDistribution(0);
- } else if (comEvent.getEventProcessStatus().equals(5)){
+ }
+ else if (comEvent.getEventProcessStatus().equals(3)){
+ //分配新专家后
+ comEvent.setDistribution(0);
+ comEvent.setArchive(0);
+ comEvent.setChangeExpert(0);
+ comEvent.setSolve(0);
+ comEvent.setEventResult(null);
+ comEvent.setEventProcessStatus(1);
+ }else if (comEvent.getEventProcessStatus().equals(5)){
//调解中,可以查看,调解,更换专家,删除
comEvent.setSolve(0);
comEvent.setArchive(0);
@@ -302,14 +335,32 @@
}else if (userType.equals(3)){
//分配行业分中心操作权限
//是否上报到行业分中心
- if (comEvent.getReportCenter().equals(1) || comEvent.getCurrentProcessType().equals(1)){
+ if (comEvent.getCurrentProcessType().equals(1)){
//已经报到行业分中心
- if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
+ if (comEvent.getEventProcessStatus().equals(1) ){
//待受理和待验证状态,可以受理,分配专家
//关闭调解和归档
comEvent.setArchive(0);
comEvent.setConciliation(0);
- } else if (comEvent.getEventProcessStatus().equals(5)){
+ }else if(comEvent.getEventProcessStatus().equals(2)){
+ //待分配和待验证状态,可以受理,分配专家
+ //关闭调解和归档
+ comEvent.setArchive(0);
+ comEvent.setConciliation(0);
+ comEvent.setChangeExpert(0);
+ if (comEvent.getSpecialistName().equals("待分配")){
+ comEvent.setSolve(0);
+ }
+ }
+ else if (comEvent.getEventProcessStatus().equals(3)){
+ //分配新专家后
+ comEvent.setDistribution(0);
+ comEvent.setArchive(0);
+ comEvent.setChangeExpert(0);
+ comEvent.setSolve(0);
+ comEvent.setEventResult(null);
+ comEvent.setEventProcessStatus(1);
+ }else if (comEvent.getEventProcessStatus().equals(5)){
//调解中,可以查看,调解,更换专家,删除
comEvent.setDistribution(0);
comEvent.setArchive(0);
@@ -337,18 +388,40 @@
}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) || comEvent.getEventProcessStatus().equals(2)){
+ if (comEvent.getEventProcessStatus().equals(1) ){
//待受理和待验证状态,可以受理,分配专家
//关闭调解和归档
comEvent.setArchive(0);
comEvent.setConciliation(0);
- } else if (comEvent.getEventProcessStatus().equals(5)){
+ comEvent.setChangeExpert(0);
+ //comEvent.setDistribution(0);
+ comEvent.setSolve(0);
+ } else if(comEvent.getEventProcessStatus().equals(2)){
+ //待分配和待验证状态,可以受理,分配专家
+ //关闭调解和归档
+ comEvent.setArchive(0);
+ comEvent.setConciliation(0);
+ comEvent.setChangeExpert(0);
+ if (comEvent.getSpecialistName().equals("待分配")){
+ comEvent.setSolve(0);
+ }
+ }else if (comEvent.getEventProcessStatus().equals(5)){
//调解中,可以查看,调解,更换专家,删除
comEvent.setDistribution(0);
comEvent.setArchive(0);
- }else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){
+ comEvent.setSolve(0);
+ }else if (comEvent.getEventProcessStatus().equals(3)){
+ //分配新专家后
+ comEvent.setDistribution(0);
+ comEvent.setArchive(0);
+ comEvent.setChangeExpert(0);
+ comEvent.setSolve(0);
+ comEvent.setEventResult(null);
+ comEvent.setEventProcessStatus(1);
+ }
+ else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){
//设置为待受理
comEvent.setEventResult(null);
comEvent.setEventProcessStatus(2);
@@ -367,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);
@@ -380,17 +459,48 @@
// 是否上报到三说会堂
if (comEvent.getCurrentProcessType().equals(4) || comEvent.getReportHall().equals(1)){
//已上报到三说会堂,可以操作
- if (comEvent.getEventProcessStatus().equals(1) || comEvent.getEventProcessStatus().equals(2)){
+ if (comEvent.getEventProcessStatus().equals(1)){
//待受理和待验证状态,可以受理,分配专家
//关闭调解和归档
comEvent.setArchive(0);
+ comEvent.setSolve(0);
comEvent.setConciliation(0);
- } else if (comEvent.getEventProcessStatus().equals(5)){
- //调解中,可以查看,调解,更换专家,删除
+ comEvent.setChangeExpert(0);
+ }
+ else if(comEvent.getEventProcessStatus().equals(2)){
+ //待分配和待验证状态,可以受理,分配专家
+ //关闭调解和归档
+ comEvent.setArchive(0);
+ comEvent.setConciliation(0);
+ comEvent.setChangeExpert(0);
+ if (comEvent.getSpecialistName().equals("待分配")){
+ comEvent.setSolve(0);
+ }
+ }else if (comEvent.getEventProcessStatus().equals(3)){
+ //新分配给专家并且专家还未受理
comEvent.setDistribution(0);
comEvent.setArchive(0);
- } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
+ //comEvent.setConciliation(0);
+ comEvent.setChangeExpert(0);
+ comEvent.setSolve(0);
+ }
+ else if (comEvent.getEventProcessStatus().equals(5)){
+ //调解中,可以查看,调解,更换专家,删除
+ comEvent.setDistribution(0);
+ comEvent.setSolve(0);
+ comEvent.setArchive(0);
+ } else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventResult().equals(1)){
+ //失败后转交三说会堂
+ comEvent.setSolve(0);
+ comEvent.setDistribution(0);
+ //comEvent.setConciliation(0);
+ comEvent.setEventProcessStatus(2);
+ comEvent.setArchive(0);
+ //comEvent.setChangeExpert(0);
+ }
+ else if (comEvent.getEventProcessStatus().equals(6) && comEvent.getEventSucceed().equals(2)){
//调解完成,可以归档,查看
+ comEvent.setConciliation(0);
comEvent.setSolve(0);
comEvent.setDistribution(0);
comEvent.setChangeExpert(0);
@@ -401,6 +511,7 @@
comEvent.setSolve(0);
comEvent.setDistribution(0);
comEvent.setChangeExpert(0);
+ comEvent.setConciliation(0);
}
}
}
@@ -691,15 +802,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()){
@@ -738,7 +851,7 @@
ComSanshuoExpert specter = comSanShuoExpertService.getById(specialistId);
comEvent.setSpecialistAcceptTime(new Date());
comEvent.setSpecialistName(specter.getName());
- comEvent.setEventProcessStatus(SanShuoEventStatusEnum.UNDO.getCode());
+ comEvent.setEventProcessStatus(SanShuoEventStatusEnum.VALID.getCode());
int flag = baseMapper.updateById(comEvent);
//添加一条对应记录
comEventMapper.insertEventAndExpertRecord(id, specialistId,1);
@@ -748,26 +861,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);
@@ -786,20 +897,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");
@@ -859,6 +970,8 @@
vo.setSuccessRate(NumberUtil.div(vo.getSuccess(),vo.getAccepted(),2));
}
}
+ vo.setExpert(comSanshuoExpertDao.selectExpertCount(indexDataDTO));
+ //查询当前级别下的专家
//折线图X轴
List<Date> dates = pastTwelveMoth();
vo.setX(getYAndM(dates));
@@ -877,13 +990,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));
@@ -925,13 +1038,23 @@
comEventMapper.updateLog(id,comEvent.getSpecialistId());
}
+ @Override
+ public R listStreetScreen() {
+ return R.ok(comStreetDAO.selectList(new QueryWrapper<ComStreetDO>().eq("app_id", "wx0cef797390444b75")));
+ }
+
+ @Override
+ public R listCommunityScreen() {
+ return R.ok(comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getAppId, "wx0cef797390444b75")));
+ }
+
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