diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/inspectionplan/vo/InspectionPlanPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/inspectionplan/vo/InspectionPlanPageReqVO.java index becdee0..a1ce769 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/inspectionplan/vo/InspectionPlanPageReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/inspectionplan/vo/InspectionPlanPageReqVO.java @@ -28,6 +28,10 @@ public class InspectionPlanPageReqVO extends PageParam { @Schema(description = "归属(一级部门id)", example = "20800") private Long companyId; + @Schema(description = "部门ID", example = "101") + private String deptId; + + @Schema(description = "道路名称", example = "赵六") private String roadName; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadSaveReqVO.java index c251921..7d56ddf 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadSaveReqVO.java @@ -85,8 +85,7 @@ public class RoadSaveReqVO { private String endRemark; @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") - @NotEmpty(message = "备注不能为空") - @Size(min=0, max = 500, message = "备注不能为空") + @Size(max = 500, message = "备注最大500字符") private String remark; @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2323") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadUpdateReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadUpdateReqVO.java index 78d13de..85d230d 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadUpdateReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadUpdateReqVO.java @@ -89,8 +89,7 @@ public class RoadUpdateReqVO { private String endRemark; @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") - @NotEmpty(message = "备注不能为空") - @Size(max = 500, message = "备注不能为空") + @Size(max = 500, message = "备注最大500") private String remark; @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2323") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/inspectionplan/InspectionPlanInterceptMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/inspectionplan/InspectionPlanInterceptMapper.java index 0f1c2a4..10995d7 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/inspectionplan/InspectionPlanInterceptMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/inspectionplan/InspectionPlanInterceptMapper.java @@ -23,6 +23,7 @@ public interface InspectionPlanInterceptMapper extends BaseMapperX problemImgsList; + + @Schema(description = "处理完成照片", example = "9184") + private List completeImgsList; } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/garden/BpmGardenWorkOrderDO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/garden/BpmGardenWorkOrderDO.java index 8f52d51..2b3ac0a 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/garden/BpmGardenWorkOrderDO.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/garden/BpmGardenWorkOrderDO.java @@ -1,6 +1,10 @@ package com.zteits.urbanops.module.workorder.dal.dataobject.garden; import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; /** * @author yanhuiqing @@ -8,5 +12,12 @@ import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; * @description: TODO * @date 2025/12/1 11:34 */ +@Data public class BpmGardenWorkOrderDO extends MainInfoDO { + + @Schema(description = "问题图片", example = "9184") + private List problemImgsList; + + @Schema(description = "处理完成照片", example = "9184") + private List completeImgsList; } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java index 9f5402b..3cdf198 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java @@ -31,6 +31,8 @@ import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Arrays; +import java.util.stream.Collectors; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zteits.urbanops.module.workorder.enums.ErrorCodeConstants.MAIN_INFO_NOT_EXISTS; @@ -175,43 +177,49 @@ public class BpmGardenServiceImpl implements BpmGardenService{ if(ObjectUtils.isNotAllEmpty(imgList)){ AttachmentDO saveDO = new AttachmentDO(); saveDO.setBusiLine(workOrder.getBusiLine()); - saveDO.setBusiType(BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH1); + saveDO.setBusiType(BpmCommonConstant.PROBLEM_IMG_GROUP); saveDO.setOrderNo(workOrder.getOrderNo()); String filePaths = String.join(",",imgList); saveDO.setFileNames(filePaths); LambdaQueryWrapper deleteWrapper = new LambdaQueryWrapper() .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) - .eq(AttachmentDO::getBusiType, BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH1) + .eq(AttachmentDO::getBusiType, BpmCommonConstant.PROBLEM_IMG_GROUP) .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); attachmentMapper.delete(deleteWrapper); attachmentMapper.insert(saveDO); } - //街道图片 - if(ObjectUtils.isNotAllEmpty(streetImgList)){ - AttachmentDO saveDO = new AttachmentDO(); - saveDO.setBusiLine(workOrder.getBusiLine()); - saveDO.setBusiType(BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH2); - saveDO.setOrderNo(workOrder.getOrderNo()); - String filePaths = String.join(",",streetImgList); - saveDO.setFileNames(filePaths); - LambdaQueryWrapper deleteWrapper = new LambdaQueryWrapper() - .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) - .eq(AttachmentDO::getBusiType, BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH2) - .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); - attachmentMapper.delete(deleteWrapper); - attachmentMapper.insert(saveDO); +// //街道图片 +// if(ObjectUtils.isNotAllEmpty(streetImgList)){ +// AttachmentDO saveDO = new AttachmentDO(); +// saveDO.setBusiLine(workOrder.getBusiLine()); +// saveDO.setBusiType(BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH2); +// saveDO.setOrderNo(workOrder.getOrderNo()); +// String filePaths = String.join(",",streetImgList); +// saveDO.setFileNames(filePaths); +// LambdaQueryWrapper deleteWrapper = new LambdaQueryWrapper() +// .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) +// .eq(AttachmentDO::getBusiType, BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH2) +// .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); +// attachmentMapper.delete(deleteWrapper); +// attachmentMapper.insert(saveDO); +// } + List resultImgs = new java.util.ArrayList<>(); + if (ObjectUtils.isNotAllEmpty(streetImgList)) { + resultImgs.addAll(streetImgList); + } + if (ObjectUtils.isNotAllEmpty(longRangeImgList)) { + resultImgs.addAll(longRangeImgList); } - //远景图片 - if(ObjectUtils.isNotAllEmpty(longRangeImgList)){ + if(ObjectUtils.isNotAllEmpty(resultImgs)){ AttachmentDO saveDO = new AttachmentDO(); saveDO.setBusiLine(workOrder.getBusiLine()); - saveDO.setBusiType(BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH3); + saveDO.setBusiType(BpmCommonConstant.RESULT_IMG_GROUP); saveDO.setOrderNo(workOrder.getOrderNo()); - String filePaths = String.join(",",longRangeImgList); + String filePaths = String.join(",",resultImgs); saveDO.setFileNames(filePaths); LambdaQueryWrapper deleteWrapper = new LambdaQueryWrapper() .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) - .eq(AttachmentDO::getBusiType, BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH3) + .eq(AttachmentDO::getBusiType, BpmCommonConstant.RESULT_IMG_GROUP) .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); attachmentMapper.delete(deleteWrapper); attachmentMapper.insert(saveDO); @@ -220,6 +228,24 @@ public class BpmGardenServiceImpl implements BpmGardenService{ } + private List attachmentGet(String busiLine, String busiType, String orderNo) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(AttachmentDO::getBusiLine, busiLine) + .eq(AttachmentDO::getBusiType, busiType) + .eq(AttachmentDO::getOrderNo, orderNo); + List attachments = attachmentMapper.selectList(queryWrapper); + if (attachments == null || attachments.isEmpty()) { + return List.of(); + } + return attachments.stream() + .map(AttachmentDO::getFileNames) + .filter(s -> s != null && !s.isEmpty()) + .flatMap(s -> Arrays.stream(s.split(",")).map(String::trim)) + .filter(s -> !s.isEmpty()) + .distinct() + .collect(Collectors.toList()); + } + @Override public void updateWorkOrderStatus(Long id, Integer status) { @@ -236,7 +262,8 @@ public class BpmGardenServiceImpl implements BpmGardenService{ public BpmGardenWorkOrderDO getWorkOrder(Long id) { MainInfoDO workOrder = workOrderMapper.selectById(id); BpmGardenWorkOrderDO targetVo = BeanUtils.toBean(workOrder, BpmGardenWorkOrderDO.class); - //TODO 定义页面展示字段在此扩展 + targetVo.setProblemImgsList(attachmentGet(workOrder.getBusiLine(), BpmCommonConstant.PROBLEM_IMG_GROUP, workOrder.getOrderNo())); + targetVo.setCompleteImgsList(attachmentGet(workOrder.getBusiLine(), BpmCommonConstant.RESULT_IMG_GROUP, workOrder.getOrderNo())); return targetVo; } diff --git a/urbanops-server/src/main/resources/application.yaml b/urbanops-server/src/main/resources/application.yaml index d67b2e4..2dc6984 100644 --- a/urbanops-server/src/main/resources/application.yaml +++ b/urbanops-server/src/main/resources/application.yaml @@ -67,7 +67,7 @@ flowable: mybatis-plus: configuration: map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。 - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。