Browse Source

fix:投诉举报查询修改,添加的时候回填问题id

feature/tsjb-1.0
buaixuexideshitongxue 1 month ago
parent
commit
d900d6f0d8
  1. 10
      src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java
  2. 5
      src/main/java/com/biutag/supervision/mapper/ComplaintCollectionMapper.java
  3. 4
      src/main/java/com/biutag/supervision/pojo/entity/ComplaintCollection.java
  4. 10
      src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java
  5. 83
      src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java
  6. 102
      src/main/resources/mapper/ComplaintCollectionMapper.xml

10
src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java

@ -1,7 +1,9 @@
package com.biutag.supervision.controller.data; package com.biutag.supervision.controller.data;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.job.Job; import com.biutag.supervision.job.Job;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO;
import com.biutag.supervision.pojo.request.complaintCollection.*; import com.biutag.supervision.pojo.request.complaintCollection.*;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo;
@ -56,6 +58,7 @@ public class ComplaintCollectionController {
return complaintCollectionService.updateComplaintCollection(request); return complaintCollectionService.updateComplaintCollection(request);
} }
@Deprecated
@Operation(description = "查询") @Operation(description = "查询")
@PostMapping("/getComplaintCollectionPage") @PostMapping("/getComplaintCollectionPage")
public Result<ComplaintCollectionPageVo> getComplaintCollectionPage(@RequestBody ComplaintCollectionPageRequest request){ public Result<ComplaintCollectionPageVo> getComplaintCollectionPage(@RequestBody ComplaintCollectionPageRequest request){
@ -69,6 +72,13 @@ public class ComplaintCollectionController {
return complaintCollectionService.getComplaintCollectionPage(request); return complaintCollectionService.getComplaintCollectionPage(request);
} }
@Operation(description = "查询")
@PostMapping("/getComplaintCollectionPageNew")
public Result<Page<ComplaintCollectionPageDTO>> getComplaintCollectionPageNew(@RequestBody ComplaintCollectionPageRequest request){
return Result.success(complaintCollectionService.getComplaintCollectionPageNew(request));
}
@Deprecated @Deprecated
@Operation(description = "办理") @Operation(description = "办理")
@PostMapping("/addComplaintCollectionBlame") @PostMapping("/addComplaintCollectionBlame")

5
src/main/java/com/biutag/supervision/mapper/ComplaintCollectionMapper.java

@ -1,7 +1,11 @@
package com.biutag.supervision.mapper; package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.entity.ComplaintCollection; import com.biutag.supervision.pojo.entity.ComplaintCollection;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionQueryParam;
import com.biutag.supervision.repository.base.HBaseMapper; import com.biutag.supervision.repository.base.HBaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -9,5 +13,6 @@ public interface ComplaintCollectionMapper extends HBaseMapper<ComplaintCollecti
int insertBatch(List<ComplaintCollection> list); int insertBatch(List<ComplaintCollection> list);
IPage<ComplaintCollection> selectPageWithConditions(Page<ComplaintCollection> page, @Param("param") ComplaintCollectionQueryParam param);
} }

4
src/main/java/com/biutag/supervision/pojo/entity/ComplaintCollection.java

@ -380,6 +380,10 @@ public class ComplaintCollection {
@TableField("init_problem_plan") @TableField("init_problem_plan")
private String initProblemPlan; private String initProblemPlan;
/**
* 和核查结论保持一致
* @see com.biutag.supervision.constants.enums.CheckStatusEnum
*/
@Schema(description = "初核结论") @Schema(description = "初核结论")
@TableField("init_verdict") @TableField("init_verdict")
private String initVerdict; private String initVerdict;

10
src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java

@ -1,6 +1,8 @@
package com.biutag.supervision.service.complaintCollection; package com.biutag.supervision.service.complaintCollection;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPageDTO;
import com.biutag.supervision.pojo.request.complaintCollection.*; import com.biutag.supervision.pojo.request.complaintCollection.*;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionHandlerDataVo;
import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionMailRepeattVo;
@ -24,6 +26,14 @@ public interface ComplaintCollectionService {
*/ */
Result<ComplaintCollectionPageVo> getComplaintCollectionPage(ComplaintCollectionPageRequest request); Result<ComplaintCollectionPageVo> getComplaintCollectionPage(ComplaintCollectionPageRequest request);
/**
* 涉访涉诉分页不使用附件查询
*
* @param request
* @return
*/
Page<ComplaintCollectionPageDTO> getComplaintCollectionPageNew(ComplaintCollectionPageRequest request);
/** /**
* 涉访涉诉添加 * 涉访涉诉添加
* *

83
src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java

@ -6,7 +6,6 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Opt; import cn.hutool.core.lang.Opt;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.EnumUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
@ -14,10 +13,12 @@ import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.common.UserContextHolder; import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.constants.AppConstants; import com.biutag.supervision.constants.AppConstants;
import com.biutag.supervision.constants.enums.*; import com.biutag.supervision.constants.enums.*;
import com.biutag.supervision.flow.action.ApplyCompletionAction; import com.biutag.supervision.flow.action.ApplyCompletionAction;
import com.biutag.supervision.mapper.ComplaintCollectionMapper;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.domain.Blame; import com.biutag.supervision.pojo.domain.Blame;
import com.biutag.supervision.pojo.dto.NegativeDto; import com.biutag.supervision.pojo.dto.NegativeDto;
@ -27,10 +28,8 @@ import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionPe
import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionRepeatDTO; import com.biutag.supervision.pojo.dto.complaintCollection.ComplaintCollectionRepeatDTO;
import com.biutag.supervision.pojo.dto.flow.VerifyData; import com.biutag.supervision.pojo.dto.flow.VerifyData;
import com.biutag.supervision.pojo.entity.*; import com.biutag.supervision.pojo.entity.*;
import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionClosingStatusEnum; import com.biutag.supervision.pojo.enums.complaintCollection.*;
import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionHandleMethodEnum; import com.biutag.supervision.pojo.enums.negative.NegativeSourceTypeEnum;
import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionInitialEnum;
import com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionPublicApprovalEnum;
import com.biutag.supervision.pojo.enums.supDict.SupDictEnum; import com.biutag.supervision.pojo.enums.supDict.SupDictEnum;
import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam; import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionExistParam;
@ -68,8 +67,6 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.biutag.supervision.pojo.enums.complaintCollection.*;
import com.biutag.supervision.pojo.enums.negative.NegativeSourceTypeEnum;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
@ -93,6 +90,7 @@ import java.util.stream.Stream;
@RequiredArgsConstructor @RequiredArgsConstructor
public class ComplaintCollectionServiceImpl implements ComplaintCollectionService { public class ComplaintCollectionServiceImpl implements ComplaintCollectionService {
private final ComplaintCollectionMapper complaintCollectionMapper;
private final ComplaintCollectionResourceService complaintCollectionResourceService; private final ComplaintCollectionResourceService complaintCollectionResourceService;
private final SupDictDataService supDictDataService; private final SupDictDataService supDictDataService;
private final ComplaintCollectionBlameResourceService complaintCollectionBlameResourceService; private final ComplaintCollectionBlameResourceService complaintCollectionBlameResourceService;
@ -142,13 +140,15 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
complaintCollection.setCreateTime(LocalDateTime.now()); complaintCollection.setCreateTime(LocalDateTime.now());
complaintCollection.setCreateBy(UserContextHolder.getCurrentUser().getUserName()); complaintCollection.setCreateBy(UserContextHolder.getCurrentUser().getUserName());
complaintCollection.setGwf3(ComplaintCollectionInitialEnum.UN_UPLOADED.getCode()); complaintCollection.setGwf3(ComplaintCollectionInitialEnum.UN_UPLOADED.getCode());
Boolean res = complaintCollectionResourceService.createComplaintCollection(Arrays.asList(complaintCollection));
Assert.notNull(complaintCollection.getId(), "主表插入后未获取到ID");
saveThingFilesOrThrow(complaintCollection.getId(), request.getThingFiles());
// 同步创建 Negative // 同步创建 Negative
NegativeDto negativeDto = buildNegativeDtoFromComplaintCollection(complaintCollection, request); NegativeDto negativeDto = buildNegativeDtoFromComplaintCollection(complaintCollection, request);
negativeService.save(negativeDto); Negative negative = negativeService.save(negativeDto);
complaintCollection.setNegativeId(negative.getId());
// 创建主信息
Boolean res = complaintCollectionResourceService.createComplaintCollection(Arrays.asList(complaintCollection));
Assert.notNull(complaintCollection.getId(), "主表插入后未获取到ID");
saveThingFilesOrThrow(complaintCollection.getId(), request.getThingFiles());
return Result.success(res); return Result.success(res);
} }
@ -301,6 +301,67 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic
return Result.success(complaintCollectionPageVo); return Result.success(complaintCollectionPageVo);
} }
@Override
public Page<ComplaintCollectionPageDTO> getComplaintCollectionPageNew(ComplaintCollectionPageRequest request) {
ComplaintCollectionQueryParam param = ComplaintCollectionTransfer.INSTANCE.pageRequestToPageParam(request);
if (request.getInitialReviewFileList().contains(ComplaintCollectionInitialEnum.UPLOADED.getCode())){
param.getInitialReviewFileList().add(ComplaintCollectionInitialEnum.TIMEOUT_UPLOAD.getCode());
}
UserAuth user = UserContextHolder.getCurrentUser();
if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && (user.getRoleCodes().isEmpty() || user.getAuthSources().isEmpty() || user.getAuthDepartIds().isEmpty())) {
return new Page<ComplaintCollectionPageDTO>().setTotal(0).setRecords(new ArrayList<>());
}
if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType())) {
if (user.getRoleCodes().contains(RoleCodeEnum.SECOND_ADMIN.getCode())
|| user.getRoleCodes().contains(RoleCodeEnum.ADMIN_1_12337.getCode())) {
List<String> orgIds = departService.getAllNodeIds(user.getAuthDepartIds());
Set<String> visibleSecondIds = new HashSet<>(orgIds);
if (StrUtil.isNotBlank(request.getSecondDepartId())) {
List<String> reqAllIds = departService.getAllNodeIds(List.of(request.getSecondDepartId()));
visibleSecondIds.retainAll(new HashSet<>(reqAllIds));
}
if (CollectionUtil.isEmpty(visibleSecondIds)) {
return new Page<ComplaintCollectionPageDTO>().setTotal(0).setRecords(new ArrayList<>());
}
param.setSecondDepartIds(visibleSecondIds);
} else if (user.getRoleCodes().contains(RoleCodeEnum.THREE_ADMIN.getCode())) {
return new Page<ComplaintCollectionPageDTO>().setTotal(0).setRecords(new ArrayList<>());
}
} else {
if (StrUtil.isNotBlank(request.getSecondDepartId())) {
List<String> reqAllIds = departService.getAllNodeIds(List.of(request.getSecondDepartId()));
if (CollectionUtil.isNotEmpty(reqAllIds)) {
param.setSecondDepartIds(new HashSet<>(reqAllIds));
} else {
return new Page<ComplaintCollectionPageDTO>().setTotal(0).setRecords(new ArrayList<>());
}
}
}
Page<ComplaintCollection> page = new Page<>(param.getCurrent(), param.getSize());
IPage<ComplaintCollection> pageResult = complaintCollectionMapper.selectPageWithConditions(page, param);
List<ComplaintCollectionPageDTO> list = pageResult.getRecords().stream().map(item -> {
ComplaintCollectionPageDTO dto = new ComplaintCollectionPageDTO();
BeanUtil.copyProperties(item, dto);
return dto;
}).toList();
// 字典翻译和超时信息填充
if (CollectionUtil.isNotEmpty(list)) {
Map<String, String> dictLabelMap = buildDictLabelMap(SupDictEnum.SUSPECT_PROBLEM.getCode());
Map<String, String> sfssDictLabelMap = buildDictLabelMap(SupDictEnum.SFSS_SOURCE_TABLE.getCode());
list.forEach(one -> {
one.setInvolveProblemStr(CodeTranslateUtil.translateCodesToLabels(one.getInvolveProblem(), dictLabelMap));
String sourceTable = CodeTranslateUtil.translateCodesToLabels(one.getSourceTable(), sfssDictLabelMap);
String sourceTableSubOne = CodeTranslateUtil.translateCodesToLabels(one.getSourceTableSubOne(), sfssDictLabelMap);
one.setSourceTablePath(sourceTable + "/" + sourceTableSubOne);
fillCheckTimeoutInfo(one);
});
}
return new Page<ComplaintCollectionPageDTO>().setRecords(list).setTotal(pageResult.getTotal());
}
@Deprecated @Deprecated
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

102
src/main/resources/mapper/ComplaintCollectionMapper.xml

@ -146,4 +146,106 @@
</foreach> </foreach>
</insert> </insert>
<select id="selectPageWithConditions" resultType="com.biutag.supervision.pojo.entity.ComplaintCollection">
SELECT
complaint_collection.*
FROM complaint_collection
<where>
<if test="param.sourceTable != null and param.sourceTable != ''">
AND source_table = #{param.sourceTable}
</if>
<if test="param.sourceTableList != null and param.sourceTableList.size > 0">
AND source_table IN
<foreach collection="param.sourceTableList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.sourceTableSubOne != null and param.sourceTableSubOne != ''">
AND source_table_sub_one = #{param.sourceTableSubOne}
</if>
<if test="param.sourceTableSubOneList != null and param.sourceTableSubOneList.size > 0">
AND source_table_sub_one IN
<foreach collection="param.sourceTableSubOneList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.originId != null and param.originId != ''">
AND origin_id LIKE CONCAT('%', #{param.originId}, '%')
</if>
<if test="param.originIds != null and param.originIds.size > 0">
AND origin_id IN
<foreach collection="param.originIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.checkStatus != null and param.checkStatus != ''">
AND check_status = #{param.checkStatus}
</if>
<if test="param.checkStatusList != null and param.checkStatusList.size > 0">
AND check_status IN
<foreach collection="param.checkStatusList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.secondDepartId != null and param.secondDepartId != ''">
AND second_depart_id = #{param.secondDepartId}
</if>
<if test="param.secondDepartIds != null and param.secondDepartIds.size > 0">
AND second_depart_id IN
<foreach collection="param.secondDepartIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.discoveryTimeList != null and param.discoveryTimeList.size == 2">
AND discovery_time BETWEEN #{param.discoveryTimeList[0]} AND #{param.discoveryTimeList[1]}
</if>
<if test="param.personInfo != null and param.personInfo != ''">
AND (
responder_name LIKE CONCAT('%', #{param.personInfo}, '%')
OR responder_phone LIKE CONCAT('%', #{param.personInfo}, '%')
OR responder_id_code LIKE CONCAT('%', #{param.personInfo}, '%')
)
</if>
<if test="param.handleMethod != null and param.handleMethod != ''">
AND handle_method = #{param.handleMethod}
</if>
<if test="param.thingDesc != null and param.thingDesc != ''">
AND thing_desc LIKE CONCAT('%', #{param.thingDesc}, '%')
</if>
<if test="param.repeatt != null and param.repeatt != ''">
AND repeatt = #{param.repeatt}
</if>
<if test="param.leadApproval != null and param.leadApproval != ''">
AND lead_approval = #{param.leadApproval}
</if>
<if test="param.processingStatus != null and param.processingStatus != ''">
AND processing_status = #{param.processingStatus}
</if>
<if test="param.status != null and param.status != ''">
AND status = #{param.status}
</if>
<if test="param.initialReviewFileList != null and param.initialReviewFileList.size > 0">
AND gwf3 IN
<foreach collection="param.initialReviewFileList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.tags != null and param.tags.size > 0">
AND (
<foreach collection="param.tags" item="tagItem" separator=" OR ">
FIND_IN_SET(#{tagItem}, tag)
</foreach>
)
</if>
<if test="param.involveProblemIdList != null and param.involveProblemIdList.size > 0">
AND (
<foreach collection="param.involveProblemIdList" item="probItem" separator=" OR ">
FIND_IN_SET(#{probItem}, involve_problem)
</foreach>
)
</if>
</where>
ORDER BY discovery_time DESC, id DESC
</select>
</mapper> </mapper>

Loading…
Cancel
Save