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