diff --git a/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionAddRequest.java b/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionAddRequest.java index 2483250..8a9a4e8 100644 --- a/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionAddRequest.java +++ b/src/main/java/com/biutag/supervision/pojo/request/complaintCollection/ComplaintCollectionAddRequest.java @@ -116,6 +116,32 @@ public class ComplaintCollectionAddRequest implements ParamChecked { @Schema(description = "附件列表") private List thingFiles = new ArrayList<>(); + // ===== 以下字段用于同步创建 Negative ===== + + @Schema(description = "主办层级") + private String hostLevel; + + @Schema(description = "指定办理单位ID") + private String departId; + + @Schema(description = "指定办理单位名称") + private String departName; + + @Schema(description = "办理时限") + private String timeLimit; + + @Schema(description = "签收时限(天)") + private Integer maxSignDuration; + + @Schema(description = "办理时限(天)") + private Integer maxHandleDuration; + + @Schema(description = "延期时限(天)") + private Integer maxExtensionDuration; + + @Schema(description = "审批流程") + private String approvalFlow; + @Override public void check() { trimFields(); diff --git a/src/main/java/com/biutag/supervision/service/NegativeWorkService.java b/src/main/java/com/biutag/supervision/service/NegativeWorkService.java index 2c52bd2..3e90d98 100644 --- a/src/main/java/com/biutag/supervision/service/NegativeWorkService.java +++ b/src/main/java/com/biutag/supervision/service/NegativeWorkService.java @@ -38,9 +38,9 @@ public class NegativeWorkService extends ServiceImpl page(NegativeQueryParam param, String workStatus) { UserAuth user = UserContextHolder.getCurrentUser(); -// if (user.getRoleCodes().isEmpty() || user.getAuthDepartIds().isEmpty() || user.getAuthSources().isEmpty()) { -// return new Page().setTotal(0).setRecords(new ArrayList<>()); -// } + if (user.getRoleCodes().isEmpty() || user.getAuthDepartIds().isEmpty() || user.getAuthSources().isEmpty()) { + return new Page().setTotal(0).setRecords(new ArrayList<>()); + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("w.role_code", user.getRoleCodes()) .in("w.depart_id", user.getAuthDepartIds()) 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 751fdde..e6e1e2f 100644 --- a/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java +++ b/src/main/java/com/biutag/supervision/service/complaintCollection/ComplaintCollectionServiceImpl.java @@ -142,6 +142,10 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic Boolean res = complaintCollectionResourceService.createComplaintCollection(Arrays.asList(complaintCollection)); Assert.notNull(complaintCollection.getId(), "主表插入后未获取到ID"); saveThingFilesOrThrow(complaintCollection.getId(), request.getThingFiles()); + + // 同步创建 Negative + NegativeDto negativeDto = buildNegativeDtoFromComplaintCollection(complaintCollection, request); + negativeService.save(negativeDto); return Result.success(res); } @@ -294,7 +298,7 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic return Result.success(complaintCollectionPageVo); } - + @Deprecated @Override @Transactional(rollbackFor = Exception.class) public Result addComplaintCollectionBlame(ComplaintCollectionAndBlameAddRequest request) { @@ -942,6 +946,56 @@ public class ComplaintCollectionServiceImpl implements ComplaintCollectionServic return dto; } + /** + * 从 ComplaintCollectionAddRequest 构建 NegativeDto,用于同步创建 Negative + */ + private NegativeDto buildNegativeDtoFromComplaintCollection(ComplaintCollection complaintCollection, ComplaintCollectionAddRequest request) { + Map sourceDict = buildDictLabelMap(SupDictEnum.SFSS_SOURCE_TABLE.getCode()); + NegativeDto dto = new NegativeDto(); + // originId 会自动生成 + dto.setOriginId(complaintCollection.getOriginId()); + dto.setDiscoveryTime(complaintCollection.getDiscoveryTime()); + + // 问题来源 + if (ComplaintCollectionSourceTableEnum.LEADER_ASSIGN.getCode().equals(request.getSourceTable())) { + dto.setProblemSourcesCode(request.getSourceTableSubOne()); + dto.setProblemSources(sourceDict.get(request.getSourceTableSubOne())); + }else { + dto.setProblemSourcesCode(request.getSourceTable()); + dto.setProblemSources(sourceDict.get(request.getSourceTable())); + } + // 业务类别 + dto.setBusinessTypeCode(request.getBusinessTypeCode()); + + // 涉及单位 - 使用被投诉二级机构 + dto.setInvolveDepartId(request.getSecondDepartId()); + dto.setInvolveDepartName(request.getSecondDepartName()); + + // 内容描述 + dto.setThingDesc(complaintCollection.getThingDesc()); + + // 主办层级 + dto.setHostLevel(request.getHostLevel()); + + // 指定办理单位 + dto.setDepartId(request.getDepartId()); +// dto.setDepartName(request.getDepartName()); + + // 办理时限 + dto.setTimeLimit(request.getTimeLimit()); + dto.setMaxSignDuration(request.getMaxSignDuration()); + dto.setMaxHandleDuration(request.getMaxHandleDuration()); + dto.setMaxExtensionDuration(request.getMaxExtensionDuration()); + + // 审批流程 + dto.setApprovalFlow(request.getApprovalFlow()); + + // 附件 + dto.setThingFiles(request.getThingFiles()); + + return dto; + } + private Map buildDictLabelMap(String dictType) { List list = supDictDataService.listByDictType(dictType); return list.stream()