案件列表/案件统计 增加 专管员区域 条件筛选

This commit is contained in:
TS-QD1 2023-03-06 18:13:28 +08:00
parent d2ccca3bf4
commit b7190049ec
11 changed files with 491 additions and 85 deletions

View File

@ -0,0 +1,34 @@
package com.cm.systemcity.consts;
public interface ISystemCityConsts {
/**
* 专管员区域ID
*/
String N_PERSON_AREA_ID = "e64a0a05-45ca-4452-a869-a4dcbff74593";
/**
* 稀土路区域ID
*/
String XTL_AREA_ID = "7ed23f06-566d-43b7-acd9-4f0b5db08974";
/**
* 稀土路部门ID
*/
String XTL_DEPARTMENT_ID = "1a9b5a0c-d842-46ff-b0c5-36a29b9055df";
/**
* 民馨路区域ID
*/
String MXL_AREA_ID = "6e922367-f21f-4daf-b38c-c55a67d9a35b";
/**
* 民馨路部门ID
*/
String MXL_DEPARTMENT_ID = "f0bf2d8a-e736-4895-a9c8-80f530068c3a";
/**
* 万水泉区域ID
*/
String WSQ_AREA_ID = "8d62a0cc-2c15-4355-906c-6720f8f3617e";
/**
* 万水泉部门ID
*/
String WSQ_DEPARTMENT_ID = "52fecef4-f0f5-4077-999c-39db09872718";
}

View File

@ -447,7 +447,7 @@ public class ReportCaseController extends AbstractController {
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("listpagereportcaseexception")
public SuccessResultList<List<ReportCaseDTO>> listPageReportCaseException(ListPage page) throws SearchException {
Map<String, Object> params = getParams();
Map<String, Object> params = requestParams();
page.setParams(params);
return reportCaseService.listReportCaseException(page);
}

View File

@ -5,7 +5,6 @@ import com.cm.common.exception.SaveException;
import com.cm.common.exception.SearchException;
import com.cm.common.exception.UpdateException;
import com.cm.systemcity.pojo.dtos.reportcase.*;
import io.swagger.models.auth.In;
import org.springframework.stereotype.Repository;
import java.util.List;
@ -376,4 +375,8 @@ public interface IReportCaseDao {
List<ReportCaseDTO> listPageReportDelete(Map<String, Object> params);
ReportCaseDTO getReportCaseForDel(Map<String, Object> params);
List<ReportCaseHandleDTO> listReportCaseHandleDTO(Map<String, Object> params);
List<HandleDepartmentDTO> listDept(Map<String, Object> params);
}

View File

@ -0,0 +1,12 @@
package com.cm.systemcity.pojo.dtos.reportcase;
import lombok.Data;
@Data
public class HandleDepartmentDTO {
private String departmentId;
private String departmentName;
private Integer caseCount;
}

View File

@ -0,0 +1,41 @@
package com.cm.systemcity.pojo.dtos.reportcase;
public class HandleUserDepartmentDTO {
private String userId;
private String userUsername;
private String departmentId;
private String departmentName;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserUsername() {
return userUsername;
}
public void setUserUsername(String userUsername) {
this.userUsername = userUsername;
}
public String getDepartmentId() {
return departmentId;
}
public void setDepartmentId(String departmentId) {
this.departmentId = departmentId;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
}

View File

@ -76,5 +76,8 @@ public class ReportCaseDTO {
private String handlePhotos;
@ApiModelProperty(name = "gmtModified", value = "最后修改时间")
private String gmtModified;
private String handleUserDepartmentName;
private String handleUserCommunityName;
private String handleUserUsername;
}

View File

@ -13,6 +13,8 @@ import io.swagger.annotations.ApiModelProperty;
@ApiModel
public class ReportCaseHandleDTO extends ReportCaseDTO {
@ApiModelProperty(name = "caseId", value = "案件ID")
private String caseId;
@ApiModelProperty(name = "handleUserId", value = "案件处理人ID")
private String handleUserId;
@ApiModelProperty(name = "handleUserName", value = "案件处理人名称")
@ -24,6 +26,15 @@ public class ReportCaseHandleDTO extends ReportCaseDTO {
@ApiModelProperty(name = "overDays", value = "超时天数")
private Integer overDays;
public String getCaseId() {
return caseId;
}
public void setCaseId(String caseId) {
this.caseId = caseId;
}
public String getHandleUserId() {
return handleUserId == null ? "" : handleUserId.trim();
}
@ -65,20 +76,4 @@ public class ReportCaseHandleDTO extends ReportCaseDTO {
this.overDays = overDays;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("{");
sb.append("\"handleUserId\":")
.append("\"").append(handleUserId).append("\"");
sb.append(",\"handleUserName\":")
.append("\"").append(handleUserName).append("\"");
sb.append(",\"handleTime\":")
.append(handleTime);
sb.append(",\"assignDate\":")
.append("\"").append(assignDate).append("\"");
sb.append(",\"overDays\":")
.append(overDays);
sb.append('}');
return sb.toString();
}
}

View File

@ -3,6 +3,7 @@ package com.cm.systemcity.service.reportcase.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.cm.common.component.SecurityComponent;
import com.cm.common.constants.ISystemConstant;
import com.cm.common.exception.RemoveException;
import com.cm.common.exception.SaveException;
import com.cm.common.exception.SearchException;
@ -20,15 +21,14 @@ import com.cm.common.utils.DateUtil;
import com.cm.common.utils.UUIDUtil;
import com.cm.common.utils.point.Point;
import com.cm.common.utils.point.PointUtil;
import com.cm.systemcity.consts.ISystemCityConsts;
import com.cm.systemcity.dao.reportcase.IReportCaseDao;
import com.cm.systemcity.pojo.dtos.AreaPointsDTO;
import com.cm.systemcity.pojo.dtos.areapoints.GridAndPointsDTO;
import com.cm.systemcity.pojo.dtos.bindingdepartment.BindingDepartmentDTO;
import com.cm.systemcity.pojo.dtos.communityboss.CommunityBossDTO;
import com.cm.systemcity.pojo.dtos.dict.DictDTO;
import com.cm.systemcity.pojo.dtos.readstate.ReadStateDTO;
import com.cm.systemcity.pojo.dtos.reportcase.*;
import com.cm.systemcity.pojo.pos.communityboss.CommunityBossPO;
import com.cm.systemcity.service.BaseService;
import com.cm.systemcity.service.bindingdepartment.IBindingDepartmentService;
import com.cm.systemcity.service.community.ICommunityService;
@ -52,6 +52,7 @@ import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @ClassName: ReportCaseServiceImpl
@ -124,6 +125,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
@Override
public SuccessResultList<List<ReportCaseDTO>> listPageReportDelete(ListPage page) {
setNPersonAreaParams(page.getParams());
PageHelper.startPage(page.getPage(), page.getRows());
List<ReportCaseDTO> deleteList = reportCaseDao.listPageReportDelete(page.getParams());
PageInfo<ReportCaseDTO> pageInfo = new PageInfo<>(deleteList);
@ -284,18 +286,57 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
AppTokenUser appTokenUser = appToken.getAppTokenUser();
page.getParams().put("userId", appTokenUser.getId());
}
setNPersonAreaParams(page.getParams());
PageHelper.startPage(page.getPage(), page.getRows());
List<ReportCaseDTO> reportCaseDTOs = reportCaseDao.listReportCase(page.getParams());
for(ReportCaseDTO item : reportCaseDTOs){
for (ReportCaseDTO item : reportCaseDTOs) {
page.getParams().clear();
page.getParams().put("dictId", item.getCaseTypeId());
DictDTO dict = dictService.getDict(page.getParams());
item.setCaseTypeName(dict == null ? "" : dict.getDictName());
}
// 查询处理人
List<String> reportCaseIds = reportCaseDTOs.stream().map(ReportCaseDTO::getReportCaseId).collect(Collectors.toList());
Map<String, Object> params = getHashMap(2);
params.put("caseIds", reportCaseIds);
List<ReportCaseHandleDTO> reportCaseHandleDTOS = reportCaseDao.listReportCaseHandleDTO(params);
reportCaseDTOs.parallelStream().forEach(reportCaseDTO -> {
for (ReportCaseHandleDTO reportCaseHandleDTO : reportCaseHandleDTOS) {
if (!StringUtils.equals(reportCaseDTO.getReportCaseId(), reportCaseHandleDTO.getCaseId())) {
continue;
}
reportCaseDTO.setHandleUserName(reportCaseHandleDTO.getHandleUserName());
reportCaseDTO.setHandleUserDepartmentName(reportCaseHandleDTO.getHandleUserDepartmentName());
reportCaseDTO.setHandleUserCommunityName(reportCaseHandleDTO.getHandleUserCommunityName());
reportCaseDTO.setHandleUserUsername(reportCaseHandleDTO.getHandleUserUsername());
break;
}
});
PageInfo<ReportCaseDTO> pageInfo = new PageInfo<>(reportCaseDTOs);
return new SuccessResultList<>(reportCaseDTOs, pageInfo.getPageNum(), pageInfo.getTotal());
}
/**
* 设置专管员区域参数
*
* @param areaId
*/
private void setNPersonAreaParams(Map<String, Object> params) {
Object areaIdObj = params.get("areaId");
if (areaIdObj == null) {
return;
}
String areaId = areaIdObj.toString();
if (StringUtils.isBlank(areaId)) {
return;
}
if (!StringUtils.equals(ISystemCityConsts.N_PERSON_AREA_ID, areaId)) {
return;
}
params.remove("areaId");
params.put("isNPersonArea", ISystemConstant.IS_TRUE);
}
/**
* 2020-12-22 王帅
* 镇街案件分页列表
@ -626,6 +667,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
@Override
public SuccessResultList<List<ReportCaseAssignDTO>> listPageReportCaseAssign(ListPage page) throws SearchException {
setNPersonAreaParams(page.getParams());
PageHelper.startPage(page.getPage(), page.getRows());
List<ReportCaseAssignDTO> reportCaseAssignDTOs = reportCaseDao.listPageReportCaseAssign(page.getParams());
LOG.debug("计算案件超时");
@ -639,6 +681,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
@Override
public SuccessResultList<List<ReportCaseHandleDTO>> listPageReportCaseHandle(ListPage page) throws SearchException {
setNPersonAreaParams(page.getParams());
PageHelper.startPage(page.getPage(), page.getRows());
List<ReportCaseHandleDTO> reportCaseHandleDTOs = reportCaseDao.listPageReportCaseHandle(page.getParams());
PageInfo<ReportCaseHandleDTO> pageInfo = new PageInfo<>(reportCaseHandleDTOs);
@ -659,13 +702,13 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
@Override
public SuccessResult saveReportCaseHandle(String token, Map<String, Object> params) throws SaveException, UpdateException, SearchException, RemoveException {
if(params.get("handleStatus") == null
|| params.get("handleStatus").toString().length() == 0){
if (params.get("handleStatus") == null
|| params.get("handleStatus").toString().length() == 0) {
throw new SaveException("错误:处理状态丢失");
}
// 判断处理状态 1处理 0 不处理
int handleStatus = Integer.parseInt(params.get("handleStatus").toString());
if(1 == handleStatus){
if (1 == handleStatus) {
Map<String, Object> query = new HashMap<>(8);
query.put("caseId", params.get("caseId").toString());
ReportCaseHandleDTO handleInfo = reportCaseDao.getReportCaseHandle(query);
@ -714,7 +757,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
addReportCaseLog(token, logParam);
return new SuccessResult();
}
if(0 == handleStatus){
if (0 == handleStatus) {
// 2022年10月25日 案件如果不处理需要管理员确认后才可退回 修改原来直接退回的逻辑
@ -743,6 +786,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
@Override
public SuccessResultList<List<ReportCaseInspectDTO>> listPageReportCaseInspect(ListPage page) throws SearchException {
setNPersonAreaParams(page.getParams());
PageHelper.startPage(page.getPage(), page.getRows());
List<ReportCaseInspectDTO> reportCaseInspectDTOs = reportCaseDao.listPageReportCaseInspect(page.getParams());
PageInfo<ReportCaseInspectDTO> pageInfo = new PageInfo<>(reportCaseInspectDTOs);
@ -778,7 +822,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
addReportCaseLog(token, caseLogParams);
return new SuccessResult();
}
if(1 == isPass){
if (1 == isPass) {
// 将处理表中状态修改为已检查
reportCaseParams.clear();
reportCaseParams.put("caseId", params.get("caseId").toString());
@ -823,6 +867,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
@Override
public SuccessResultList<List<ReportCaseCloseDTO>> listPageReportCaseClose(ListPage page) throws SearchException {
setNPersonAreaParams(page.getParams());
PageHelper.startPage(page.getPage(), page.getRows());
List<ReportCaseCloseDTO> reportCaseCloseDTOs = reportCaseDao.listPageReportCaseClose(page.getParams());
PageInfo<ReportCaseCloseDTO> pageInfo = new PageInfo<>(reportCaseCloseDTOs);
@ -930,13 +975,13 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
// 2021-11-18 案件类别添加下级案件ID
List<String> parentCaseTypeList = (List<String>) params.get("caseTypeIds");
List<String> caseTypeIdsList = new ArrayList<>();
for(String parentId : parentCaseTypeList){
for (String parentId : parentCaseTypeList) {
caseTypeIdsList.add(parentId);
params.clear();
params.put("dictParentId",parentId);
params.put("dictParentId", parentId);
List<DictDTO> dictDTOS = dictService.listDict(params);
if(dictDTOS != null && dictDTOS.size() > 0){
for(DictDTO item : dictDTOS){
if (dictDTOS != null && dictDTOS.size() > 0) {
for (DictDTO item : dictDTOS) {
caseTypeIdsList.add(item.getDictId());
}
}
@ -951,13 +996,13 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
// 2021-11-18 案件类别添加下级案件ID
List<String> parentCaseTypeList = Arrays.asList(params.get("ids").toString().split(","));
List<String> caseTypeIdsList = new ArrayList<>();
for(String parentId : parentCaseTypeList){
for (String parentId : parentCaseTypeList) {
caseTypeIdsList.add(parentId);
params.clear();
params.put("dictParentId",parentId);
params.put("dictParentId", parentId);
List<DictDTO> dictDTOS = dictService.listDict(params);
if(dictDTOS != null && dictDTOS.size() > 0){
for(DictDTO item : dictDTOS){
if (dictDTOS != null && dictDTOS.size() > 0) {
for (DictDTO item : dictDTOS) {
caseTypeIdsList.add(item.getDictId());
}
}
@ -1059,7 +1104,13 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
@Override
public SuccessResultList<List<CaseStatisticDTO>> listCaseStatisticRatio(Map<String, Object> params) {
List<CaseStatisticDTO> caseStatisticDTOS = reportCaseDao.listCaseStatisticRatio(params);
Object areaIdObj = params.get("areaId");
List<CaseStatisticDTO> caseStatisticDTOS = null;
if (areaIdObj == null || StringUtils.isBlank(areaIdObj.toString()) ||
StringUtils.equals(ISystemCityConsts.XTL_AREA_ID, areaIdObj.toString()) ||
StringUtils.equals(ISystemCityConsts.MXL_AREA_ID, areaIdObj.toString()) ||
StringUtils.equals(ISystemCityConsts.WSQ_AREA_ID, areaIdObj.toString())) {
caseStatisticDTOS = reportCaseDao.listCaseStatisticRatio(params);
for (CaseStatisticDTO item : caseStatisticDTOS) {
params.put("caseStatus", "");
params.put("exception", "");
@ -1095,6 +1146,72 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
fileRatio = fileCount.doubleValue() / caseTotalCount.doubleValue();
item.setFileRatio(fileRatio >= 1 ? String.format("%.0f", 1.0 * 100) : String.format("%.2f", fileRatio * 100));
}
}
if (areaIdObj == null || StringUtils.isBlank(areaIdObj.toString()) ||
StringUtils.equals(ISystemCityConsts.N_PERSON_AREA_ID, areaIdObj.toString())) {
// 列出所有的专管机构
params.put("departmentParentId", "0");
List<HandleDepartmentDTO> handleDepartmentDTOS = reportCaseDao.listDept(params);
for (int i = 0; i < handleDepartmentDTOS.size(); i++) {
HandleDepartmentDTO handleDepartmentDTO = handleDepartmentDTOS.get(i);
handleDepartmentDTO.setCaseCount(0);
}
params.remove("departmentParentId");
params.remove("areaId");
params.remove("communityId");
List<CaseStatisticDTO> departmentCaseStatisticDTOS = new ArrayList<>();
handleDepartmentDTOS.parallelStream().forEach(handleDepartmentDTO -> {
CaseStatisticDTO caseStatisticDTO = new CaseStatisticDTO();
caseStatisticDTO.setAreaName("专管员区域");
departmentCaseStatisticDTOS.add(caseStatisticDTO);
caseStatisticDTO.setCommunityName(handleDepartmentDTO.getDepartmentName());
// 查询需要专管员的案件
Map<String, Object> caseParams = getHashMap(2);
caseParams.put("caseTypeId", params.get("caseTypeId"));
caseParams.put("startTime", params.get("startTime"));
caseParams.put("endTime", params.get("endTime"));
caseParams.put("handleDepartmentId", handleDepartmentDTO.getDepartmentId());
Integer caseTotalCount = reportCaseDao.countReportCase(caseParams);
caseStatisticDTO.setCaseTotalCount(caseTotalCount.toString());
//下派数/下派率
caseParams.put("caseStatus", "3");
Integer assignCount = reportCaseDao.countReportCase(caseParams);
caseStatisticDTO.setAssignCount(assignCount + "");
double assignRatio;
assignRatio = caseTotalCount > 0 ? assignCount.doubleValue() / caseTotalCount.doubleValue() : 0;
caseStatisticDTO.setAssignRatio(assignRatio >= 1 ? String.format("%.0f", 1.0 * 100) : String.format("%.2f", assignRatio * 100));
//检查数/检查率
caseParams.put("caseStatus", "4");
Integer inspectCount = reportCaseDao.countReportCase(caseParams);
caseStatisticDTO.setInspectCount(inspectCount + "");
double inspectRatio;
inspectRatio = caseTotalCount > 0 ? inspectCount.doubleValue() / caseTotalCount.doubleValue() : 0;
caseStatisticDTO.setInspectRatio(inspectRatio >= 1 ? String.format("%.0f", 1.0 * 100) : String.format("%.2f", inspectRatio * 100));
//结案数/结案率
caseParams.put("caseStatus", "5");
Integer closeCount = reportCaseDao.countReportCase(caseParams);
caseStatisticDTO.setCloseCount(closeCount + "");
double closeRatio;
closeRatio = caseTotalCount > 0 ? closeCount.doubleValue() / caseTotalCount.doubleValue() : 0;
caseStatisticDTO.setCloseRatio(closeRatio >= 1 ? String.format("%.0f", 1.0 * 100) : String.format("%.2f", closeRatio * 100));
//归档数/归档率
caseParams.put("caseStatus", "6");
Integer fileCount = reportCaseDao.countReportCase(caseParams);
caseStatisticDTO.setFileCount(fileCount + "");
double fileRatio;
fileRatio = caseTotalCount > 0 ? fileCount.doubleValue() / caseTotalCount.doubleValue() : 0;
caseStatisticDTO.setFileRatio(fileRatio >= 1 ? String.format("%.0f", 1.0 * 100) : String.format("%.2f", fileRatio * 100));
});
if(caseStatisticDTOS == null) {
caseStatisticDTOS = departmentCaseStatisticDTOS;
} else {
caseStatisticDTOS.addAll(departmentCaseStatisticDTOS);
}
}
// 查询每个转关机构处理的案件量
return new SuccessResultList<>(caseStatisticDTOS, 1, 0L);
}
@ -1538,7 +1655,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
reportCaseDao.updateReportCase(reportCaseParams);
// 删除受理立案下派处理表的历史记录
Map<String, Object> removeMap = new HashMap<>();
removeMap.put("caseId",caseId);
removeMap.put("caseId", caseId);
reportCaseDao.removeReportCaseAccept(removeMap);
reportCaseDao.removeReportCaseRegister(removeMap);
reportCaseDao.removeReportCaseAssign(removeMap);
@ -1565,31 +1682,31 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
@Override
public SuccessResult saveReportCaseAutoAccept(Map<String, Object> params) {
params.put("reportCaseId",params.get("caseId").toString());
params.put("reportCaseId", params.get("caseId").toString());
ReportCaseDTO reportCase = reportCaseDao.getReportCase(params);
Map<String, Object> query = new HashMap<>(8);
query.put("caseType", reportCase.getCaseTypeId());
query.put("areaId", reportCase.getAreaId());
List<BindingDepartmentDTO> bindingList = bindingDepartmentService.listBindingDepartmentByCaseType(query);
if(bindingList == null || bindingList.size() == 0){
if (bindingList == null || bindingList.size() == 0) {
throw new SaveException("未匹配到专管部门与专管员,请手动转派");
}
// 查询部门下所有专管员
List<Map<String, Object>> deptUsers = new ArrayList<>();
for(BindingDepartmentDTO deptItem : bindingList){
for (BindingDepartmentDTO deptItem : bindingList) {
List<Map<String, Object>> userList = bindingDepartmentService.listDepartmentUser(deptItem.getDepartmentId());
if(userList != null && userList.size() > 0){
if (userList != null && userList.size() > 0) {
deptUsers.addAll(userList);
}
}
if(deptUsers == null || deptUsers.size() == 0){
if (deptUsers == null || deptUsers.size() == 0) {
throw new SaveException("未匹配到专管部门与专管员,请手动转派");
}
// 查询所有专管员片区信息
query.clear();
List<String> handleUserIds = new ArrayList<>();
List<String> handleUserNames = new ArrayList<>();
for(Map<String, Object> item : deptUsers ){
for (Map<String, Object> item : deptUsers) {
query.put("userId", item.get("userId").toString());
List<GridAndPointsDTO> gridList = userPointsService.listUserGrid(query);
if (gridList.isEmpty()) {
@ -1606,7 +1723,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
}
}
}
if(handleUserIds.size() == 0){
if (handleUserIds.size() == 0) {
return new SuccessResult();
}
// 修改案件状态为待处理
@ -1632,7 +1749,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
params.put("assignUserName", userInfoBO.getUserName());
params.put("handleUserType", 0);
params.put("handleTime", 3);
params.put("handleUserId", StringUtils.join(handleUserIds,","));
params.put("handleUserId", StringUtils.join(handleUserIds, ","));
params.put("handleUserName", StringUtils.join(handleUserNames, ","));
params.put("assignOpinion", "[案件自动转派]" + params.get("assignOpinion").toString());
setSaveInfo(params);
@ -1642,7 +1759,7 @@ public class ReportCaseServiceImpl extends BaseService implements IReportCaseSer
caseLogParams.put("caseId", reportCase.getReportCaseId());
caseLogParams.put("optionType", "案件自动转派");
caseLogParams.put("userOpinion", params.get("assignOpinion").toString());
caseLogParams.put("handleUserId", StringUtils.join(handleUserIds,","));
caseLogParams.put("handleUserId", StringUtils.join(handleUserIds, ","));
caseLogParams.put("handleUserName", StringUtils.join(handleUserNames, ","));
caseLogParams.put("handleUserPhone", StringUtils.join(handleUserNames, ","));
caseLogParams.put("handleTime", params.get("handleTime") == null ? "3" : params.get("handleTime"));

View File

@ -1,6 +1,6 @@
server:
port: 7022
url: http://192.168.0.103:7022/servicecity
url: http://192.168.0.15:7022/servicecity
title: 生态环保网格化监督平台
servlet:
context-path: /servicecity
@ -24,7 +24,7 @@ spring:
max-request-size: 1GB
datasource:
druid:
url: jdbc:mysql://192.168.0.103:3306/db_btgxq_city?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false&useSSL=false
url: jdbc:mysql://192.168.0.151:3306/db_btgxq_city?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false&useSSL=false
db-type: mysql
driver-class-name: com.mysql.jdbc.Driver
username: root
@ -55,7 +55,7 @@ spring:
config: classpath:ehcache.xml
data:
mongodb:
uri: mongodb://city:city@192.168.0.103:27017/systemcity
uri: mongodb://city:city@192.168.0.156:27017/systemcity
# 数据库
mybatis:
@ -81,7 +81,7 @@ file:
# 安全
security:
oauth2:
oauth-server: http://192.168.0.103:7021/usercenter
oauth-server: http://192.168.0.15:7021/usercenter
oauth-logout: ${security.oauth2.oauth-server}/logout?redirect_uri=${server.url}
client:
client-id: c024a89b35b04d4d8b5b4ea4d66a8acb

View File

@ -29,6 +29,9 @@
<result property="caseReporter" column="case_reporter"/>
<result property="readTime" column="read_time"/>
<result property="gmtModified" column="gmt_modified"/>
<result property="handleUserDepartmentName" column="handle_user_department_name"/>
<result property="handleUserCommunityName" column="handle_user_community_name"/>
<result property="handleUserUsername" column="handle_user_username"/>
</resultMap>
<resultMap id="reportCaseRegisterDTO" type="com.cm.systemcity.pojo.dtos.reportcase.ReportCaseRegisterDTO" extends="reportCaseDTO">
@ -44,6 +47,7 @@
</resultMap>
<resultMap id="reportCaseHandleDTO" type="com.cm.systemcity.pojo.dtos.reportcase.ReportCaseHandleDTO" extends="reportCaseDTO">
<result property="caseId" column="case_id"/>
<result property="handleUserId" column="handle_user_id"/>
<result property="handleUserName" column="handle_user_name"/>
<result property="handleTime" column="handle_time"/>
@ -100,6 +104,11 @@
<result property="caseTotalCount" column="counts"/>
</resultMap>
<resultMap id="handleDepartmentDTO" type="com.cm.systemcity.pojo.dtos.reportcase.HandleDepartmentDTO">
<id property="departmentId" column="department_id"/>
<result property="departmentName" column="department_name"/>
</resultMap>
<select id="listPageReportDelete" parameterType="map" resultMap="reportCaseDTO">
SELECT
t1.report_case_id,
@ -147,6 +156,19 @@
<if test="endTime != null and endTime != ''">
AND LEFT(t1.gmt_create, 10) <![CDATA[ <= ]]> #{endTime}
</if>
<!-- 专管员N员区域上报的案件 -->
<if test="isNPersonArea != null and isNPersonArea == 'true'">
AND
t1.creator IN (
SELECT
user_id
FROM
sys_role_user
WHERE
<!-- 专管员角色ID -->
role_id = 'bc405346-8714-4ded-89ac-9cc4d755f66a'
)
</if>
ORDER BY t1.gmt_modified DESC
</select>
@ -399,6 +421,39 @@
FIND_IN_SET( #{userId}, t2.handle_user_id)
)
</if>
<!-- 专管员N员区域上报的案件 -->
<if test="isNPersonArea != null and isNPersonArea == 'true'">
AND
t1.creator IN (
SELECT
user_id
FROM
sys_role_user
WHERE
<!-- 专管员角色ID -->
role_id = 'bc405346-8714-4ded-89ac-9cc4d755f66a'
)
</if>
<if test="handleDepartmentId != null and handleDepartmentId != ''">
AND
t1.report_case_id IN (
SELECT
st1.case_id
FROM
city_report_case_assign st1
WHERE
st1.is_delete = 0
AND
st1.handle_user_id IN (
SELECT
sst1.user_id
FROM
sys_department_user sst1
WHERE
sst1.department_id = #{handleDepartmentId}
)
)
</if>
ORDER BY t1.gmt_create DESC
</select>
@ -736,6 +791,19 @@
#{reportCaseIds[${index}]}
</foreach>
</if>
<!-- 专管员N员区域上报的案件 -->
<if test="isNPersonArea != null and isNPersonArea == 'true'">
AND
t1.creator IN (
SELECT
user_id
FROM
sys_role_user
WHERE
<!-- 专管员角色ID -->
role_id = 'bc405346-8714-4ded-89ac-9cc4d755f66a'
)
</if>
ORDER BY
t1.gmt_modified DESC
</select>
@ -816,6 +884,19 @@
#{reportCaseIds[${index}]}
</foreach>
</if>
<!-- 专管员N员区域上报的案件 -->
<if test="isNPersonArea != null and isNPersonArea == 'true'">
AND
t1.creator IN (
SELECT
user_id
FROM
sys_role_user
WHERE
<!-- 专管员角色ID -->
role_id = 'bc405346-8714-4ded-89ac-9cc4d755f66a'
)
</if>
ORDER BY t1.gmt_modified DESC
</select>
@ -968,6 +1049,19 @@
#{reportCaseIds[${index}]}
</foreach>
</if>
<!-- 专管员N员区域上报的案件 -->
<if test="isNPersonArea != null and isNPersonArea == 'true'">
AND
t1.creator IN (
SELECT
user_id
FROM
sys_role_user
WHERE
<!-- 专管员角色ID -->
role_id = 'bc405346-8714-4ded-89ac-9cc4d755f66a'
)
</if>
ORDER BY
t1.gmt_modified DESC
</select>
@ -1161,6 +1255,19 @@
#{reportCaseIds[${index}]}
</foreach>
</if>
<!-- 专管员N员区域上报的案件 -->
<if test="isNPersonArea != null and isNPersonArea == 'true'">
AND
t1.creator IN (
SELECT
user_id
FROM
sys_role_user
WHERE
<!-- 专管员角色ID -->
role_id = 'bc405346-8714-4ded-89ac-9cc4d755f66a'
)
</if>
ORDER BY
t1.gmt_create DESC
</select>
@ -1427,6 +1534,26 @@
<if test="endTime != null and endTime != ''">
AND gmt_create <![CDATA[ <= ]]> #{endTime}
</if>
<if test="handleDepartmentId != null and handleDepartmentId != ''">
AND
report_case_id IN (
SELECT
st1.case_id
FROM
city_report_case_assign st1
WHERE
st1.is_delete = 0
AND
st1.handle_user_id IN (
SELECT
sst1.user_id
FROM
sys_department_user sst1
WHERE
sst1.department_id = #{handleDepartmentId}
)
)
</if>
</select>
<!-- 统计处理案件数量 -->
@ -1489,6 +1616,13 @@
<if test="endTime != null and endTime != ''">
AND LEFT(t1.gmt_create, 10) <![CDATA[ <= ]]> #{endTime}
</if>
<if test="caseIds != null and caseIds.size > 0">
AND
t1.case_id IN
<foreach collection="caseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
<!--查询已下派但未处理的案件-->
@ -1709,4 +1843,71 @@
ORDER BY t1.gmt_create DESC
limit 0, #{limitNumber}
</select>
<select id="listReportCaseHandleDTO" parameterType="map" resultMap="reportCaseHandleDTO">
SELECT
t1.case_id,
t1.handle_user_name,
t1.handle_timeout,
t1.handle_opinion,
t1.handle_photos,
t1.is_inspect,
t1.creator,
t1.gmt_create,
t1.modifier,
t1.gmt_modified,
jt2.department_name handle_user_department_name,
jt5.community_name handle_user_community_name,
jt6.user_username handle_user_username
FROM
city_report_case_handle t1
LEFT JOIN
sys_department_user jt1 ON t1.creator = jt1.user_id
LEFT JOIN
sys_department jt2 ON jt1.department_id = jt2.department_id
LEFT JOIN
city_community_boss jt3 ON t1.creator = jt3.community_boss_user_id
LEFT JOIN
city_community_boss_community jt4 ON jt3.community_boss_id = jt4.community_boss_id
LEFT JOIN
city_community jt5 ON jt4.community_id = jt5.community_id
LEFT JOIN
sys_user jt6 ON t1.creator = jt6.user_id
WHERE
t1.is_delete = '0'
<if test="userIds != null">
AND FIND_IN_SET(t1.creator,#{userIds})
</if>
<if test="handleTimeout != null and handleTimeout != ''">
AND t1.handle_timeout = #{handleTimeout}
</if>
<if test="startTime != null and startTime != ''">
AND LEFT(t1.gmt_create, 10) <![CDATA[ >= ]]> #{startTime}
</if>
<if test="endTime != null and endTime != ''">
AND LEFT(t1.gmt_create, 10) <![CDATA[ <= ]]> #{endTime}
</if>
<if test="caseIds != null and caseIds.size > 0">
AND
t1.case_id IN
<foreach collection="caseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
<!-- 部门列表 -->
<select id="listDept" parameterType="map" resultMap="handleDepartmentDTO">
SELECT
department_id,
department_name
FROM
sys_department
WHERE
is_delete = 0
<if test="departmentParentId != null and departmentParentId != ''">
AND
department_parent_id = #{departmentParentId}
</if>
</select>
</mapper>

View File

@ -178,14 +178,14 @@
return value;
}
},
{width: 250, title: '案件状态', align: 'center',
{width: 300, title: '案件状态', align: 'center',
templet: function (row) {
var value = '<div style="text-align: left">'+
'<div class="info-row"><span class="col-left">上报时间</span><span class="col-right">'+ row.reportDate +'</span></div>'+
'<div class="info-row"><span class="col-left">上报人员</span><span class="col-right">'+ row.caseReporter +'</span></div>'+
'<div class="info-row"><span class="col-left">案件状态</span><span class="col-right">'+ caseStatusFormatter(row.caseStatus) +'</span></div>'+
'<div class="info-row"><span class="col-left"></span><span class="col-right" style="color: red;">'+ ((row.overDays != null && row.overDays >= 1) ? '【超过'+ row.overDays +'天未处理】' : '') +'</span></div>'+
'<div class="info-row"><span class="col-left"></span><span class="col-right"></span></div>'+
'<div class="info-row"><span class="col-left">处理人</span><span class="col-right">【'+ (row.handleUserCommunityName ? row.handleUserCommunityName : row.handleUserDepartmentName) + '】' + row.handleUserName +'</span></div>'+
'</div>';
return value;
}