diff --git a/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java b/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java index 52681b2..d7d2ebf 100644 --- a/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java +++ b/src/main/java/com/biutag/supervision/controller/data/ComplaintCollectionController.java @@ -100,4 +100,11 @@ public class ComplaintCollectionController { public void exportData(@RequestBody ComplaintCollectionPageRequest request, HttpServletResponse response){ complaintCollectionService.exportData(request, response); } + + @Operation(description = "办理页面临时保存") + @PostMapping("/saveInvolveJson") + public Result saveInvolveJson(@RequestBody ComplaintCollectionSaveInvolveJsonRequest request){ + return complaintCollectionService.saveInvolveJson(request); + } + } diff --git a/src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionUpdateParam.java b/src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionUpdateParam.java index b6c40ff..9ff62ed 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionUpdateParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/ComplaintCollection/ComplaintCollectionUpdateParam.java @@ -139,4 +139,7 @@ public class ComplaintCollectionUpdateParam { @Schema(description = "业务类型name") private String businessTypeName; + @Schema(description = "临时保存信息") + private String involveJson; + } diff --git a/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionSaveInvolveJsonRequest.java b/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionSaveInvolveJsonRequest.java new file mode 100644 index 0000000..8ce027f --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionSaveInvolveJsonRequest.java @@ -0,0 +1,71 @@ +package com.biutag.supervision.pojo.request.complaintCollection; + +import cn.hutool.core.util.StrUtil; +import com.biutag.supervision.aop.ParamChecked; +import com.biutag.supervision.pojo.vo.FileVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.ArrayList; +import java.util.List; + +/** + * @ClassName ComplaintCollectionSaveInvolveJsonaRequest + * @Description 涉访涉诉办理保存请求 + * @Author shihao + * @Date 2026/1/21 18:23 + */ +@Setter +@Getter +@Schema(description = "涉访涉诉办理保存请求") +public class ComplaintCollectionSaveInvolveJsonRequest implements ParamChecked { + + + @Schema(description = "涉访涉诉编号id") + private String complaintId; + + + + @Schema(description = "核查结论编码") + private String checkStatusCode; + + @Schema(description = "核查结论名称") + private String checkStatusName; + + @Schema(description = "问题核查情况描述") + private String checkStatusDesc; + + @Schema(description = "涉及对象(PERSONAL / DEPARTMENT / PERSONAL_AND_DEPARTMENT)") + private String accountabilityTarget; + + @Schema(description = "涉及单位ID") + private String involveDepartId; + + @Schema(description = "涉及单位名称") + private String involveDepartName; + + @Schema(description = "办结情况") + private String completionStatus; + + @Schema(description = "群众认可情况") + private String publicRecognition; + + @Schema(description = "涉及案件/警情编号") + private String caseNumber; + + + @Schema(description = "保存状态信息") + private String involveJson; + + @Schema(description = "核查办理附件列表") + private List files = new ArrayList<>(); + + @Override + public void check() { + if (StrUtil.isBlank(complaintId)) { + throw new IllegalArgumentException("涉访涉诉id不能为空"); + } + + } +} diff --git a/src/main/java/com/biutag/supervision/pojo/transfer/ComplaintCollectionTransfer.java b/src/main/java/com/biutag/supervision/pojo/transfer/ComplaintCollectionTransfer.java index 66016a1..5d8d66e 100644 --- a/src/main/java/com/biutag/supervision/pojo/transfer/ComplaintCollectionTransfer.java +++ b/src/main/java/com/biutag/supervision/pojo/transfer/ComplaintCollectionTransfer.java @@ -9,6 +9,7 @@ import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollection import com.biutag.supervision.pojo.param.ComplaintCollection.ComplaintCollectionUpdateParam; import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionAddRequest; import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionPageRequest; +import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionSaveInvolveJsonRequest; import com.biutag.supervision.pojo.request.complaintCollection.ComplaintCollectionUpdateRequest; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionPageVo; import com.biutag.supervision.pojo.vo.complaintCollection.ComplaintCollectionWatchDetailVO; @@ -53,4 +54,6 @@ public interface ComplaintCollectionTransfer { List complaintCollectionBlamesToBlameInfoVO(List pseronalList); List blameToBlameInfoVO(List pseronalList); + + ComplaintCollectionUpdateParam JsonRequestToUpdateParam(ComplaintCollectionSaveInvolveJsonRequest request); } diff --git a/src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionHandlerDataVo.java b/src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionHandlerDataVo.java index 26a0bd1..e1cc02b 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionHandlerDataVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/complaintCollection/ComplaintCollectionHandlerDataVo.java @@ -15,113 +15,55 @@ import java.util.List; @Schema(description = "办理VO") public class ComplaintCollectionHandlerDataVo { - /** ================= 核查结果 ================= */ - + @Schema(description = "核查结论code") private String checkStatusCode; + + @Schema(description = "核查结论名称") private String checkStatusName; + + @Schema(description = "问题核查情况(描述)") private String checkStatusDesc; -// /** ================= 追责对象 ================= */ -// -// private String accountabilityTarget; -// -// /** ================= 涉及人员 ================= */ -// -// private List blames; -// -// /** ================= 涉及领导 ================= */ -// -// private List blameLeaders; -// -// /** ================= 经办人 ================= */ -// -// private List handlePolices; -// - /** ================= 附件 ================= */ + @Schema(description = "暂存的涉及信息JSON(如 blames、blameLeaders、files 等)") + private String involveJson; + + + /** + * @see com.biutag.supervision.constants.enums.AccountabilityTargetEnum + */ + @Schema(description = "涉及对象/追责对象") + private String accountabilityTarget; + + @Schema(description = "涉及单位ID") + private String involveDepartId; + @Schema(description = "涉及单位名称") + private String involveDepartName; + + /** + * @see com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionClosingStatusEnum + */ + @Schema(description = "办结情况(1=程序办结;2=已解决合理诉求)") + private String completionStatus; + + /** + * @see com.biutag.supervision.pojo.enums.complaintCollection.ComplaintCollectionPublicApprovalEnum + */ + @Schema(description = "群众认可(1=认可;2=不认可;3=不接电话)") + private String publicRecognition; + + @Schema(description = "涉及案件/警情编号") + private String caseNumber; + + @Schema(description = "核查办理附件列表") private List files; -// -// /* ======================== 内部类 ======================== */ -// -// @Data -// public static class BlamePersonVo { -// -// /** PERSONAL / DEPARTMENT */ -// private String type; -// -// private String blameEmpNo; -// private String blameName; -// private String blameIdCode; -// -// /** 人员属性 */ -// private String ivPersonTypeCode; -// private String ivPersonTypeName; -// -// /** 涉嫌问题 */ -// private List problems; -// -// /** 责任归属 */ -// private String responsibilityTypeCode; -// private String responsibilityTypeName; -// -// /** 主观方面 */ -// private String subjectiveAspectCode; -// private String subjectiveAspectName; -// -// /** 处理结果 */ -// private List handleResultCode; -// private String handleResultName; -// -// /** 禁闭关联 */ -// private Long confinementId; -// } -// -// @Data -// public static class BlameLeaderVo { -// -// private String leadEmpNo; -// private String leadName; -// private String leadIdCode; -// -// private String leadResponsibilityTypeCode; -// private String leadResponsibilityTypeName; -// -// private List leadHandleResultCode; -// private String leadHandleResultName; -// -// /** 关联的涉及人员身份证号 */ -// private List blameIdCodes; -// -// private Long leadConfinementId; -// } -// -// @Data -// public static class HandlePoliceVo { -// -// private String empNo; -// private String name; -// private String mobile; -// } -// -// @Data -// public static class ProblemVo { -// -// private String oneLevelCode; -// private String oneLevelContent; -// -// private String twoLevelCode; -// private String twoLevelContent; -// -// private String threeLevelCode; -// private String threeLevelContent; -// -// private String threeLevelContentOther; -// } -// @Data + @Schema(description = "附件信息") public static class FileVo { - + @Schema(description = "附件名称") private String fileName; + + @Schema(description = "附件存储路径/下载路径") private String filePath; } } diff --git a/src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java b/src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java index d38190e..f8a94b6 100644 --- a/src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java +++ b/src/main/java/com/biutag/supervision/repository/complaintCollection/ComplaintCollectionResourceService.java @@ -209,6 +209,9 @@ public class ComplaintCollectionResourceService extends BaseDAO { if (param.getBusinessTypeName()!=null){ uw.set(ComplaintCollection::getBusinessTypeName, param.getBusinessTypeName()); } + if (param.getInvolveJson()!=null){ + uw.set(ComplaintCollection::getGwf1, param.getInvolveJson()); + } uw.set(ComplaintCollection::getTag, param.getTags() != null ? StringUtils.join(param.getTags(), ",") : null); uw.set(ComplaintCollection::getUpdateBy, UserContextHolder.getCurrentUser().getUserName()); uw.set(ComplaintCollection::getUpdateTime, LocalDateTime.now()); diff --git a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java index da16591..e705be6 100644 --- a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java +++ b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionService.java @@ -82,4 +82,11 @@ public interface ComplaintCollectionService { * @return */ void exportData(ComplaintCollectionPageRequest request, HttpServletResponse response); + + /** + * 办理页面保存 + * @param request + * @return + */ + Result saveInvolveJson(ComplaintCollectionSaveInvolveJsonRequest request); } diff --git a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java index 7e356e3..68f273c 100644 --- a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java +++ b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java @@ -245,7 +245,7 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic collectionUpdateParam.setId(request.getComplaintId()); collectionUpdateParam.setCaseNumber(request.getCaseNumber()); // 核查情况code - collectionUpdateParam.setCheckStatus(checkStatus); + collectionUpdateParam.setCheckStatus(request.getCheckStatusCode()); // 核查情况名称 collectionUpdateParam.setCheckStatusName(request.getCheckStatusName()); // 核查情况内容 @@ -484,9 +484,16 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic }).toList(); complaintCollectionHandlerDataVo.setFiles(files); } + complaintCollectionHandlerDataVo.setInvolveJson(complaintCollection.getGwf1()); complaintCollectionHandlerDataVo.setCheckStatusCode(complaintCollection.getCheckStatus()); complaintCollectionHandlerDataVo.setCheckStatusName(complaintCollection.getCheckStatusName()); complaintCollectionHandlerDataVo.setCheckStatusDesc(complaintCollection.getCheckStatusDesc()); + complaintCollectionHandlerDataVo.setAccountabilityTarget(complaintCollection.getAccountabilityTarget()); + String involveDepartId = complaintCollection.getThirdDepartId() == null ? complaintCollection.getSecondDepartId() : complaintCollection.getThirdDepartId(); + complaintCollectionHandlerDataVo.setInvolveDepartId(involveDepartId); + complaintCollectionHandlerDataVo.setCompletionStatus(complaintCollection.getCompletionStatus()); + complaintCollectionHandlerDataVo.setPublicRecognition(complaintCollection.getPublicRecognition()); + complaintCollectionHandlerDataVo.setCaseNumber(complaintCollection.getCaseNumber()); return Result.success(complaintCollectionHandlerDataVo); } @@ -541,6 +548,37 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic } } + @Override + public Result saveInvolveJson(ComplaintCollectionSaveInvolveJsonRequest request) { + ComplaintCollectionUpdateParam updateParam = ComplaintCollectionTransfer.INSTANCE.JsonRequestToUpdateParam(request); + updateParam.setId(request.getComplaintId()); + // 涉及单位 + String involveDepartId = request.getInvolveDepartId(); + SupDepartQueryParam supDepartQueryParam = new SupDepartQueryParam(); + supDepartQueryParam.setId(involveDepartId); + List list = supDepartResourceService.query(supDepartQueryParam); + if (CollectionUtil.isEmpty(list)) { + throw new RuntimeException("未找到对应的涉及单位"); + } + SupDepart supDepart = list.get(0); + if (2 == supDepart.getLevel()) { + updateParam.setSecondDepartId(supDepart.getId()); + updateParam.setSecondDepartName(supDepart.getShortName()); + } + if (3 == supDepart.getLevel()) { + SupDepartQueryParam thirdQP = new SupDepartQueryParam(); + thirdQP.setId(supDepart.getPid()); + SupDepart secondDepart = supDepartResourceService.query(thirdQP).get(0); + updateParam.setThirdDepartId(supDepart.getId()); + updateParam.setThirdDepartName(supDepart.getShortName()); + updateParam.setSecondDepartId(secondDepart.getId()); + updateParam.setSecondDepartName(secondDepart.getShortName()); + } + updateParam.setCheckStatus(request.getCheckStatusCode()); + complaintCollectionResourceService.updateSelectiveById(updateParam); + return Result.success(Boolean.TRUE); + } + private List buildComplaintCollectionPersonExcelDTO(List blameList, List negativeBlames, List dataList) { List res = new ArrayList<>(); Map> complaintCollectionBlameMap = blameList.stream()