From 3467fa64f4be6efc9b742913419e7c3a501c541b Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期四, 20 六月 2024 16:52:21 +0800 Subject: [PATCH] 云片短信对接,审批流程优化 --- project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java | 132 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 110 insertions(+), 22 deletions(-) diff --git a/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java b/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java index b3df464..b02da7c 100644 --- a/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java +++ b/project-report/src/main/java/com/project/report/service/impl/ReportServiceImpl.java @@ -1,22 +1,26 @@ package com.project.report.service.impl; import com.project.common.core.domain.entity.SysDept; +import com.project.common.core.domain.entity.SysDictData; import com.project.common.core.domain.entity.SysUser; import com.project.common.vo.KeyVal; import com.project.enforce.domain.EnforceOrder; import com.project.enforce.service.IEnforceComplaintLogService; import com.project.enforce.service.IEnforceOrderService; +import com.project.report.domain.bo.query.ReportQueryBo; +import com.project.report.mapper.ReportMapper; import com.project.report.service.IReportService; import com.project.system.domain.SysCompany; import com.project.system.domain.SysDoc; -import com.project.system.service.ISysCompanyService; -import com.project.system.service.ISysDeptService; -import com.project.system.service.ISysDocService; -import com.project.system.service.ISysUserService; +import com.project.system.service.*; import lombok.RequiredArgsConstructor; +import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Service; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -34,41 +38,124 @@ private final ISysDeptService deptService; private final ISysUserService userService; private final ISysDocService docService; + private final ISysDictDataService dictDataService; private final IEnforceOrderService orderService; private final IEnforceComplaintLogService complaintLogService; + private final ReportMapper reportMapper; + private final String[] months = {"1","2","3","4","5","6","7","8","9","10","11","12"}; + private final String[] complaintStatus = {"-1","0","1","2"}; @Override//姹囨�� public Map<String, Object> getTotalInfo() { - int companyNum = companyService.count(companyService.lq().eq(SysCompany::getCompanyStatus, 0)); int enforceCompanyNum = orderService.count(orderService.lq().groupBy(EnforceOrder::getCompanyId)); int enforceDeptNum = deptService.count(deptService.lq().eq(SysDept::getParentId,100)); int enforceUserNum = userService.count(userService.lq().ne(SysUser::getUserType,"02")); int enforceOrderNum = orderService.count(); + int enforceOrderCheckedNum = orderService.count(orderService.lq().eq(EnforceOrder::getOrderStatus,2)); + int enforceOrderCompleteNum = orderService.count(orderService.lq().eq(EnforceOrder::getOrderStatus,4)); int complaintNum = complaintLogService.count(); int docNum = docService.count(docService.lq().eq(SysDoc::getDocStatus,0)); - Map<String, Object> result = new HashMap<>(7); result.put("companyNum", companyNum); result.put("enforceCompanyNum", enforceCompanyNum); result.put("enforceDeptNum", enforceDeptNum); result.put("enforceUserNum", enforceUserNum); result.put("enforceOrderNum", enforceOrderNum); + result.put("enforceOrderCheckedNum", enforceOrderCheckedNum); + result.put("enforceOrderCompleteNum", enforceOrderCompleteNum); result.put("complaintNum", complaintNum); result.put("docNum", docNum); return result; } @Override//鎵ф硶鍗曚綅鎵ф硶娆℃暟鏈堝害鍒嗗竷 - public List<KeyVal> getMonthCount(Long deptId) + public List<KeyVal> getMonthCount(ReportQueryBo bo) { - List<KeyVal> list = orderService.getMonthCount(deptId); - Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV)); + List<KeyVal> list = reportMapper.getMonthCount(bo); + return getKeyVal(list, months); + } - return Arrays.stream(months).map(e -> { + @Override//鎵ф硶鍗曚綅鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷 + public List<KeyVal> getDeptCount(ReportQueryBo bo) + { + List<KeyVal> list = reportMapper.getDeptCount(bo); + Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV)); + List<SysDept> deptList = deptService.list(deptService.lq().eq(SysDept::getParentId, 100)); + return deptList.stream().map(e -> { + KeyVal keyVal; + if (resultMap.get(e.getDeptId().toString()) == null) { + keyVal = new KeyVal(e.getDeptName(), 0); + } else { + keyVal = new KeyVal(e.getDeptName(), resultMap.get(e.getDeptId().toString())); + } + return keyVal; + }).collect(Collectors.toList()); + } + + @Override//浼佷笟琚墽娉曟鏁板垎甯� + public List<KeyVal> getCompanyCount(ReportQueryBo bo) + { + List<KeyVal> list = reportMapper.getCompanyCount(bo); + Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK, KeyVal::getV)); + + List<SysCompany> companies = companyService.list(companyService.lq().eq(SysCompany::getCompanyStatus, 0)); + + return companies.stream().map(e -> { + KeyVal keyVal; + if (resultMap.get(e.getCompanyId().toString()) == null) { + keyVal = new KeyVal(e.getCompanyName(), 0); + } else { + keyVal = new KeyVal(e.getCompanyName(), resultMap.get(e.getCompanyId().toString())); + } + return keyVal; + }).collect(Collectors.toList()); + } + + @Override//鎵ф硶绫诲瀷 + public List<KeyVal> getEnforceTypeCount(ReportQueryBo bo) + { + List<KeyVal> list = reportMapper.getEnforceTypeCount(bo); + Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK, KeyVal::getV)); + List<SysDictData> dictDataList = dictDataService.list(dictDataService.lq().eq(SysDictData::getDictType,"enforce_type")); + return getKeyVal(resultMap, dictDataList); + } + + + @Override//鎶曡瘔澶勭悊鐘舵�� + public List<KeyVal> getComplaintStatusCount(ReportQueryBo bo) + { + List<KeyVal> list = reportMapper.getComplaintStatusCount(bo); + return getKeyVal(list, complaintStatus); + } + + + @Override//鎶曡瘔绫诲瀷 + public List<KeyVal> getComplaintTypeCount(ReportQueryBo bo) + { + List<KeyVal> list = reportMapper.getComplaintTypeCount(bo); + Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK, KeyVal::getV)); + List<SysDictData> dictDataList = dictDataService.list(dictDataService.lq().eq(SysDictData::getDictType,"complaint_type")); + return getKeyVal(resultMap, dictDataList); + } + + +//----------------------------------------------------------------------------- + + /** + * 閫氳繃鏁扮粍鑾峰彇杩斿洖鏁版嵁 + * @param list 缁撴灉 + * @param array 鏁扮粍 + * @return 缁撴灉 + */ + @NotNull + private List<KeyVal> getKeyVal(List<KeyVal> list, String[] array) + { + Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV)); + return Arrays.stream(array).map(e -> { KeyVal keyVal; if (resultMap.get(e) == null) { keyVal = new KeyVal(e, 0); @@ -79,20 +166,21 @@ }).collect(Collectors.toList()); } - @Override//鎵ф硶鍗曚綅鎵ф硶娆℃暟閮ㄩ棬鍒嗗竷 - public List<KeyVal> getDeptCount(String yearMonth) + /** + * 閫氳繃瀛楀吀鑾峰彇杩斿洖鏁版嵁 + * @param resultMap 缁撴灉 + * @param dictDataList 瀛楀吀 + * @return 缁撴灉 + */ + @NotNull + private List<KeyVal> getKeyVal(Map<String, Object> resultMap, List<SysDictData> dictDataList) { - List<KeyVal> list = orderService.getDeptCount(yearMonth); - Map<String, Object> resultMap = list.stream().collect(Collectors.toMap(KeyVal::getK,KeyVal::getV)); - - List<SysDept> depts = deptService.list(deptService.lq().eq(SysDept::getParentId, 100)); - - return depts.stream().map(e -> { + return dictDataList.stream().map(e -> { KeyVal keyVal; - if (resultMap.get(e.getDeptId().toString()) == null) { - keyVal = new KeyVal(e.getDeptName(), 0); + if (resultMap.get(e.getDictValue()) == null) { + keyVal = new KeyVal(e.getDictLabel(), 0); } else { - keyVal = new KeyVal(e.getDeptName(), resultMap.get(e.getDeptId().toString())); + keyVal = new KeyVal(e.getDictLabel(), resultMap.get(e.getDictValue())); } return keyVal; }).collect(Collectors.toList()); -- Gitblit v1.9.1