From ffb18ccfe6750f4a65bce6e02e7f6edb54a5d76f Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期六, 24 九月 2022 23:45:38 +0800
Subject: [PATCH] [修改] 三说代码事件流程代码提交
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEventServiceImpl.java | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 210 insertions(+), 20 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 a8faee8..24a63b3 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
@@ -1,14 +1,19 @@
package com.panzhihua.service_community.service.impl;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.NumberUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.ReturnMsgConstants;
import com.panzhihua.common.enums.SanShuoEventStatusEnum;
+import com.panzhihua.common.model.dtos.community.sanshuo.IndexDateDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.sanshuo.*;
+import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.CopyUtil;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.Snowflake;
@@ -27,6 +32,8 @@
import javax.annotation.Resource;
import java.util.*;
+
+import static java.util.Objects.nonNull;
/**
* Description 三说会堂事件表业务层实现类
@@ -57,6 +64,15 @@
@Resource
private ComSanShuoIndustryCenterService comSanShuoIndustryCenterService;
+ @Resource
+ private ComEventMapper comEventMapper;
+
+ @Resource
+ private UserService userService;
+
+ @Resource
+ private CommediateTypeService commediateTypeService;
+
@Override
public R pageByComEvent(ComEvent comEvent, Page pagination) {
IPage<ComEvent> list = baseMapper.pageByComEvent(comEvent, pagination);
@@ -67,6 +83,9 @@
List<ComEventResource> resourceList = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, comEvent1.getId()));
List<ComEventRequestImageVO> comEventRequestImageVO = CopyUtil.deepCopyListObject(resourceList, ComEventRequestImageVO.class);
comEvent1.setImages(comEventRequestImageVO);
+ comEvent1.setIcon(userService.getUserInfoByUserId(comEvent1.getRequestUserId().toString()).getData().getImageUrl());
+ ComMediateType category = commediateTypeService.getById(comEvent1.getEventCategory());
+ comEvent1.setEventCategoryName(category.getName());
});
return R.ok(list);
}
@@ -87,10 +106,14 @@
if (comEvent.getRequestUserCommunity() != null) {
ComActDO community = comActDAO.selectById(comEvent.getRequestUserCommunity());
comEvent.setCurrentOrgName(community.getName());
+ comEvent.setCurrentOrgId(community.getCommunityId().toString());
+ comEvent.setCurrentProcessType(2);
}
- if (comEvent.getCenterId() != null) {
+ if (!StringUtils.isEmpty(comEvent.getCenterId())) {
ComSanshuoIndustryCenter center = comSanShuoIndustryCenterService.getById(comEvent.getCenterId());
comEvent.setCurrentOrgName(center.getName());
+ comEvent.setCurrentOrgId(center.getId().toString());
+ comEvent.setCurrentProcessType(1);
}
comEvent.setUserEventStatus(2);
comEvent.setEventProcessStatus(SanShuoEventStatusEnum.UNDO.getCode());
@@ -107,11 +130,12 @@
if (!flag) {
return R.fail(ReturnMsgConstants.DATA_EXIST);
}
- saveEventImageList(comEvent.getImages(), comEvent.getId());
+ saveEventImageList(comEvent.getImages(), comEvent.getId(),null,1);
return R.ok(ReturnMsgConstants.SAVE_SUCCESS);
}
- private Boolean saveEventImageList(List<ComEventRequestImageVO> images, Long id) {
+ @Transactional(rollbackFor = Exception.class)
+ public Boolean saveEventImageList(List<ComEventRequestImageVO> images, Long id,Long transferId,Integer status) {
List<ComEventResource> comEventResourceList = new ArrayList<>();
if (!StringUtils.isEmpty(images)) {
List<ComEventRequestImageVO> imagesList = images;
@@ -119,7 +143,8 @@
ComEventResource comEventResource = new ComEventResource();
comEventResource.setId(Snowflake.getId());
comEventResource.setRefId(id);
- comEventResource.setStatus(1);
+ comEventResource.setTransferId(transferId);
+ comEventResource.setStatus(status);
comEventResource.setType(1);
comEventResource.setResourceName(comEventRequestImageVO.getName());
comEventResource.setResourceSize(comEventRequestImageVO.getSize());
@@ -134,9 +159,9 @@
@Override
@Transactional(rollbackFor = Exception.class)
public R updateComEvent(ComEvent comEvent) {
- if (checkExist(comEvent.getOrderSn(), null)) {
+/* if (checkExist(comEvent.getOrderSn(), comEvent.getId())) {
return R.fail(ReturnMsgConstants.DATA_EXIST);
- }
+ }*/
int flag = baseMapper.updateById(comEvent);
return flag > 0 ? R.ok(comEvent, ReturnMsgConstants.UPDATE_SUCCESS) : R.fail(ReturnMsgConstants.UPDATE_FALSE);
}
@@ -155,12 +180,15 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public R conciliationEvent(ComEventConciliationVO comEventConciliationVO) {
- saveEventImageList(comEventConciliationVO.getImages(), comEventConciliationVO.getId());
+ public R conciliationEvent(ComEventConciliationVO comEventConciliationVO, LoginUserInfoVO loginUserInfo) {
+ saveEventImageList(comEventConciliationVO.getImages(), comEventConciliationVO.getId(),null,4);
ComEvent comEvent = baseMapper.selectById(comEventConciliationVO.getId());
comEvent.setEventSucceed(comEventConciliationVO.getEventSucceed());
comEvent.setEventResult(comEventConciliationVO.getEventResult());
comEvent.setReportSuperior(comEventConciliationVO.getReportSuperior());
+ if(comEventConciliationVO.getEventSucceed() ==2){
+ comEvent.setEventProcessStatus(6);
+ }
comEvent.setCurrentEventProcessResult(comEventConciliationVO.getCurrentEventProcessResult());
//如果当前请求,需要上报上级进行处理
if (comEventConciliationVO.getReportSuperior()) {
@@ -180,8 +208,26 @@
}
}
}
- baseMapper.updateById(comEvent);
- return R.ok();
+ int flag = baseMapper.updateById(comEvent);
+ ComEventTransferRecord comEventTransferRecord = new ComEventTransferRecord();
+ comEventTransferRecord.setEventId(comEvent.getId());
+ comEventTransferRecord.setSave(true);
+ comEventTransferRecord.setProcessResult(comEvent.getCurrentEventProcessResult());
+ comEventTransferRecord.setProcessResultData(new Date().toString());
+ comEventTransferRecord.setProcessDate(new Date());
+ comEventTransferRecord.setProcessBy(loginUserInfo.getUserId());
+ comEventTransferRecord.setProcessByName(loginUserInfo.getName());
+ comEventTransferRecord.setProcessType(1);
+ comEventTransferRecord.setCreateAt(new Date());
+ comEventTransferRecord.setSpecialistId(comEvent.getSpecialistId());
+ comEventTransferRecord.setSpecialistOrg(comEvent.getCurrentOrgId());
+ comEventTransferRecord.setSpecialistLevel(comEvent.getSpecialistLevel());
+ comEventTransferRecord.setSpecialistName(comEvent.getSpecialistName());
+ comEventTransferRecord.setEventResult(comEvent.getEventSucceed());
+ comEventTransferRecord.setEventStatus(comEvent.getEventProcessStatus());
+ saveEventImageList(comEvent.getImages(),comEvent.getId(),comEventTransferRecord.getId(),4);
+ comEventTransferRecordService.insertComEventTransferRecord(comEventTransferRecord);
+ return flag > 0 ? R.ok() : R.fail(ReturnMsgConstants.UPDATE_FALSE);
}
@Override
@@ -194,8 +240,8 @@
comEvent.setUserEventStatus(4);
comEvent.setEventProcessStatus(SanShuoEventStatusEnum.CANCEL.getCode());
comEvent.setRevokeDes("用户手动取消");
- baseMapper.updateById(comEvent);
- return R.ok();
+ int flag = baseMapper.updateById(comEvent);
+ return flag > 0 ? R.ok() : R.fail(ReturnMsgConstants.UPDATE_FALSE);
} else {
return R.fail("当前申请已经受理,不能取消!");
}
@@ -208,12 +254,18 @@
ComEvent comEvent = baseMapper.selectById(id);
ComSanshuoExpert specter = comSanShuoExpertService.getById(comEvent.getSpecialistId());
CopyUtil.copyProperties(comEvent, comEventDetailVO);
- List<ComEventResource> resourceList = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, id));
+ List<ComEventResource> resourceList = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, id)
+ .eq(ComEventResource::getStatus,1));
List<ComEventRequestImageVO> comEventRequestImageVO = CopyUtil.deepCopyListObject(resourceList, ComEventRequestImageVO.class);
comEventDetailVO.setImages(comEventRequestImageVO);
map.put("specter", specter);
map.put("eventDetail", comEventDetailVO);
List<ComEventTransferRecord> transferRecord = comEventTransferRecordService.list(new QueryWrapper<ComEventTransferRecord>().lambda().eq(ComEventTransferRecord::getEventId, id));
+ transferRecord.forEach(comEventTransferRecord -> {
+ List<ComEventResource> list = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getTransferId, comEventTransferRecord.getId()));
+ List<ComEventRequestImageVO> ImageVO = CopyUtil.deepCopyListObject(list, ComEventRequestImageVO.class);
+ comEventTransferRecord.setImages(ImageVO);
+ });
map.put("transferLog", transferRecord);
List<ComEventResource> resource = comEventResourceService.list(new QueryWrapper<ComEventResource>().lambda().eq(ComEventResource::getRefId, id)
.eq(ComEventResource::getStatus, 5));
@@ -231,8 +283,8 @@
comEvent.setSpecialistAcceptTime(new Date());
comEvent.setSpecialistName(specter.getName());
comEvent.setEventProcessStatus(SanShuoEventStatusEnum.ACCEPT.getCode());
- baseMapper.updateById(comEvent);
- return R.ok();
+ int flag = baseMapper.updateById(comEvent);
+ return flag > 0 ? R.ok() : R.fail(ReturnMsgConstants.UPDATE_FALSE);
}
@Override
@@ -245,20 +297,29 @@
comEvent.setSpecialistAcceptTime(new Date());
comEvent.setSpecialistName(specter.getName());
comEvent.setEventProcessStatus(SanShuoEventStatusEnum.ACCEPT.getCode());
- baseMapper.updateById(comEvent);
- return R.ok();
+ int flag = baseMapper.updateById(comEvent);
+ return flag > 0 ? R.ok() : R.fail(ReturnMsgConstants.UPDATE_FALSE);
}
@Override
public R calculate() {
List<ComEventCalculateVO> calculateList = baseMapper.calculate();
+ ComEventCalculateVO comEventCalculateVO =new ComEventCalculateVO();
+ comEventCalculateVO.setStatus("0");
+ comEventCalculateVO.setSum(baseMapper.selectCount(new QueryWrapper<ComEvent>().lambda()).toString());
+ calculateList.add(comEventCalculateVO);
return R.ok(calculateList);
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public R archiveRequest(ComEventArchiveVO comEventArchiveVO, LoginUserInfoVO sysUser) {
ComEvent comEvent = baseMapper.selectById(comEventArchiveVO.getId());
- comEvent.setEventProcessStatus(6);
+ if (comEvent.getEventSucceed() == 2) {
+ comEvent.setEventProcessStatus(7);
+ } else {
+ comEvent.setEventProcessStatus(6);
+ }
comEvent.setResult(comEventArchiveVO.getResult());
baseMapper.updateById(comEvent);
ComEventTransferRecord comEventTransferRecord = new ComEventTransferRecord();
@@ -277,10 +338,139 @@
comEventTransferRecord.setSpecialistName(comEvent.getSpecialistName());
comEventTransferRecord.setEventResult(comEvent.getEventSucceed());
comEventTransferRecord.setEventStatus(comEvent.getEventProcessStatus());
- comEventTransferRecordService.insertComEventTransferRecord(comEventTransferRecord);
- return R.ok();
+ return comEventTransferRecordService.insertComEventTransferRecord(comEventTransferRecord);
}
+ /**
+ * 大屏事件统计
+ * @param indexDataDTO 查询入参
+ * */
+ @Override
+ public R indexData(IndexDateDTO indexDataDTO) {
+ IndexDateVO vo = comEventMapper.dateAnalysis(indexDataDTO,DateUtil.beginOfMonth(new Date()),DateUtil.endOfMonth(new Date()));
+ //计算率
+ if (nonNull(vo.getSuccess()) && !vo.getSuccess().equals(0)){
+ if (nonNull(vo.getAccepted()) && !vo.getAccepted().equals(0)){
+ //计算成功率
+ vo.setSuccessRate(NumberUtil.div(vo.getSuccess(),vo.getAccepted(),2));
+ }
+ }
+ //折线图X轴
+ List<Date> dates = pastTwelveMoth();
+ vo.setX(getYAndM(dates));
+ //新增
+ List<Integer> Y1=new ArrayList<>();
+ List<Integer> Y2=new ArrayList<>();
+ for (Date date : dates) {
+ Y1.add(comEventMapper.dateAnalysisY(date,DateUtil.endOfMonth(date),indexDataDTO));
+ Y2.add(comEventMapper.dateAnalysisYTwo(date,DateUtil.endOfMonth(date),indexDataDTO));
+ }
+ vo.setY1(Y1);
+ vo.setY2(Y2);
+ return R.ok(vo);
+ }
+
+ @Override
+ public R eventIndexData(Integer type) {
+ //获取事件总数
+ Integer eventCount = comEventMapper.selectCount(new QueryWrapper<ComEvent>().notIn("event_process_status", (7), (8)));
+ if (type.equals(1)){
+ //受理级别占比
+ List<EventRateVO> eventRateVOS = comEventMapper.eventRate();
+ for (EventRateVO eventRateVO : eventRateVOS) {
+ if (nonNull(eventRateVO)){
+ eventRateVO.setName(typeToName(eventRateVO.getType()));
+ if (nonNull(eventCount) && !eventCount.equals(0)){
+ //计算占比
+ eventRateVO.setRate(NumberUtil.div(eventRateVO.getCount(),eventCount,2));
+ }
+ }
+ }
+ return R.ok(eventRateVOS);
+ }else if (type.equals(2)){
+ //专家级别
+ List<EventRateVO> eventRateVOS = comEventMapper.expertRate();
+ for (EventRateVO eventRateVO : eventRateVOS) {
+ if (nonNull(eventRateVO)){
+ eventRateVO.setName(typeToNameExpert(eventRateVO.getType()));
+ if (nonNull(eventCount) && !eventCount.equals(0)){
+ //计算占比
+ eventRateVO.setRate(NumberUtil.div(eventRateVO.getCount(),eventCount,2));
+ }
+ }
+ }
+ return R.ok(eventRateVOS);
+ }else{
+ //事件类型占比
+ List<EventRateVO> eventRateVOS = comEventMapper.mediateTypeRate();
+ for (EventRateVO eventRateVO : eventRateVOS) {
+ if (nonNull(eventRateVO)){
+ if (nonNull(eventCount) && !eventCount.equals(0)){
+ //计算占比
+ eventRateVO.setRate(NumberUtil.div(eventRateVO.getCount(),eventCount,2));
+ }
+ }
+ }
+ return R.ok(eventRateVOS);
+ }
+ }
+ public String typeToName(Integer type){
+ switch (type){
+ case 1:
+ return "行业分中心受理";
+ case 2:
+ return "街道调解站受理";
+ case 3:
+ return "社区调解站受理";
+ case 4:
+ return "区三说会堂受理";
+ }
+ return null;
+ }
+
+ public String typeToNameExpert(Integer type){
+ switch (type){
+ case 1:
+ return "区三说会堂专家";
+ case 2:
+ return "行业分中心专家";
+ case 3:
+ return "街道调解站专家";
+ case 4:
+ return "社区调解站专家";
+ }
+ return null;
+ }
+
+ /**
+ * 过去12个月的月份
+ * */
+ private List<Date> pastTwelveMoth(){
+ List<Date> list=new ArrayList<>();
+ Date now = new Date();
+ for (int i = 0; i < 12; i++) {
+ //本月
+ DateTime dateTime = DateUtil.beginOfMonth(now);
+ DateUtil.format(dateTime,"yyyy-MM-dd");
+ list.add(dateTime);
+ //减一天进入下一个月
+ now=DateUtil.offsetDay(dateTime,-1);
+ }
+ return list;
+ }
+
+ /**
+ * 截取年,月
+ * */
+ private List<String> getYAndM(List<Date> dateList){
+ List<String> list=new ArrayList<>();
+ for (Date date : dateList) {
+ list.add(DateUtil.format(date,"yyyy-MM").toString());
+ }
+ return list;
+ }
+
+
private Boolean checkExist(String sn, Long id) {
ComEvent comEvent = new ComEvent();
comEvent.setOrderSn(sn);
--
Gitblit v1.7.1