Commit 9f3e6c46122b54b418494dd6370d8a4951b58809
Committed by
王彪总
1 parent
05df533d
app巡查汇总查询提交
Showing
9 changed files
with
80 additions
and
31 deletions
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 { | @@ -28,6 +28,10 @@ public class InspectionPlanPageReqVO extends PageParam { | ||
| 28 | @Schema(description = "归属(一级部门id)", example = "20800") | 28 | @Schema(description = "归属(一级部门id)", example = "20800") |
| 29 | private Long companyId; | 29 | private Long companyId; |
| 30 | 30 | ||
| 31 | + @Schema(description = "部门ID", example = "101") | ||
| 32 | + private String deptId; | ||
| 33 | + | ||
| 34 | + | ||
| 31 | @Schema(description = "道路名称", example = "赵六") | 35 | @Schema(description = "道路名称", example = "赵六") |
| 32 | private String roadName; | 36 | private String roadName; |
| 33 | 37 |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadSaveReqVO.java
| @@ -85,8 +85,7 @@ public class RoadSaveReqVO { | @@ -85,8 +85,7 @@ public class RoadSaveReqVO { | ||
| 85 | private String endRemark; | 85 | private String endRemark; |
| 86 | 86 | ||
| 87 | @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") | 87 | @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") |
| 88 | - @NotEmpty(message = "备注不能为空") | ||
| 89 | - @Size(min=0, max = 500, message = "备注不能为空") | 88 | + @Size(max = 500, message = "备注最大500字符") |
| 90 | private String remark; | 89 | private String remark; |
| 91 | 90 | ||
| 92 | @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2323") | 91 | @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2323") |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadUpdateReqVO.java
| @@ -89,8 +89,7 @@ public class RoadUpdateReqVO { | @@ -89,8 +89,7 @@ public class RoadUpdateReqVO { | ||
| 89 | private String endRemark; | 89 | private String endRemark; |
| 90 | 90 | ||
| 91 | @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") | 91 | @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") |
| 92 | - @NotEmpty(message = "备注不能为空") | ||
| 93 | - @Size(max = 500, message = "备注不能为空") | 92 | + @Size(max = 500, message = "备注最大500") |
| 94 | private String remark; | 93 | private String remark; |
| 95 | 94 | ||
| 96 | @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2323") | 95 | @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2323") |
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<InspectionPla | @@ -23,6 +23,7 @@ public interface InspectionPlanInterceptMapper extends BaseMapperX<InspectionPla | ||
| 23 | .likeIfPresent(InspectionPlanDO::getPlanName, reqVO.getPlanName()) | 23 | .likeIfPresent(InspectionPlanDO::getPlanName, reqVO.getPlanName()) |
| 24 | .eqIfPresent(InspectionPlanDO::getPlanAttr, reqVO.getPlanAttr()) | 24 | .eqIfPresent(InspectionPlanDO::getPlanAttr, reqVO.getPlanAttr()) |
| 25 | .eqIfPresent(InspectionPlanDO::getPlanTypeId, reqVO.getPlanTypeId()) | 25 | .eqIfPresent(InspectionPlanDO::getPlanTypeId, reqVO.getPlanTypeId()) |
| 26 | + .eqIfPresent(InspectionPlanDO::getDeptId, reqVO.getDeptId()) | ||
| 26 | .eqIfPresent(InspectionPlanDO::getCompanyId, reqVO.getCompanyId()) | 27 | .eqIfPresent(InspectionPlanDO::getCompanyId, reqVO.getCompanyId()) |
| 27 | .likeIfPresent(InspectionPlanDO::getRoadName, reqVO.getRoadName()) | 28 | .likeIfPresent(InspectionPlanDO::getRoadName, reqVO.getRoadName()) |
| 28 | .eqIfPresent(InspectionPlanDO::getLevelId, reqVO.getLevelId()) | 29 | .eqIfPresent(InspectionPlanDO::getLevelId, reqVO.getLevelId()) |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/api/constant/BpmCommonConstant.java
| @@ -26,15 +26,15 @@ public class BpmCommonConstant { | @@ -26,15 +26,15 @@ public class BpmCommonConstant { | ||
| 26 | /** | 26 | /** |
| 27 | * 园林问题单图片类型 | 27 | * 园林问题单图片类型 |
| 28 | */ | 28 | */ |
| 29 | - public static final String GARDEN_INSPECT_WO_ATTACH1 = "01"; | 29 | + public static final String PROBLEM_IMG_GROUP = "01"; |
| 30 | /** | 30 | /** |
| 31 | - * 园林街道图片类型 | 31 | + * 园林处理结果图片类型 |
| 32 | */ | 32 | */ |
| 33 | - public static final String GARDEN_INSPECT_WO_ATTACH2 = "02"; | 33 | + public static final String RESULT_IMG_GROUP = "02"; |
| 34 | /** | 34 | /** |
| 35 | * 园林远景图片类型 | 35 | * 园林远景图片类型 |
| 36 | */ | 36 | */ |
| 37 | - public static final String GARDEN_INSPECT_WO_ATTACH3 = "03"; | 37 | +// public static final String GARDEN_INSPECT_WO_ATTACH3 = "03"; |
| 38 | /** | 38 | /** |
| 39 | * 园林工单编号前缀 | 39 | * 园林工单编号前缀 |
| 40 | */ | 40 | */ |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderRespVO.java
| @@ -4,6 +4,8 @@ import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInf | @@ -4,6 +4,8 @@ import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInf | ||
| 4 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 | ||
| 7 | +import java.util.List; | ||
| 8 | + | ||
| 7 | /** | 9 | /** |
| 8 | * @author yanhuiqing | 10 | * @author yanhuiqing |
| 9 | * @version 1.0 | 11 | * @version 1.0 |
| @@ -13,4 +15,10 @@ import lombok.Data; | @@ -13,4 +15,10 @@ import lombok.Data; | ||
| 13 | @Schema(description = "APP - 园林工单流程 Response VO") | 15 | @Schema(description = "APP - 园林工单流程 Response VO") |
| 14 | @Data | 16 | @Data |
| 15 | public class AppGardenWorkOrderRespVO extends MainInfoRespVO { | 17 | public class AppGardenWorkOrderRespVO extends MainInfoRespVO { |
| 18 | + | ||
| 19 | + @Schema(description = "问题图片", example = "9184") | ||
| 20 | + private List<String> problemImgsList; | ||
| 21 | + | ||
| 22 | + @Schema(description = "处理完成照片", example = "9184") | ||
| 23 | + private List<String> completeImgsList; | ||
| 16 | } | 24 | } |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/garden/BpmGardenWorkOrderDO.java
| 1 | package com.zteits.urbanops.module.workorder.dal.dataobject.garden; | 1 | package com.zteits.urbanops.module.workorder.dal.dataobject.garden; |
| 2 | 2 | ||
| 3 | import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; | 3 | import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; |
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 5 | +import lombok.Data; | ||
| 6 | + | ||
| 7 | +import java.util.List; | ||
| 4 | 8 | ||
| 5 | /** | 9 | /** |
| 6 | * @author yanhuiqing | 10 | * @author yanhuiqing |
| @@ -8,5 +12,12 @@ import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; | @@ -8,5 +12,12 @@ import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; | ||
| 8 | * @description: TODO | 12 | * @description: TODO |
| 9 | * @date 2025/12/1 11:34 | 13 | * @date 2025/12/1 11:34 |
| 10 | */ | 14 | */ |
| 15 | +@Data | ||
| 11 | public class BpmGardenWorkOrderDO extends MainInfoDO { | 16 | public class BpmGardenWorkOrderDO extends MainInfoDO { |
| 17 | + | ||
| 18 | + @Schema(description = "问题图片", example = "9184") | ||
| 19 | + private List<String> problemImgsList; | ||
| 20 | + | ||
| 21 | + @Schema(description = "处理完成照片", example = "9184") | ||
| 22 | + private List<String> completeImgsList; | ||
| 12 | } | 23 | } |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java
| @@ -31,6 +31,8 @@ import java.time.LocalDateTime; | @@ -31,6 +31,8 @@ import java.time.LocalDateTime; | ||
| 31 | import java.util.HashMap; | 31 | import java.util.HashMap; |
| 32 | import java.util.List; | 32 | import java.util.List; |
| 33 | import java.util.Map; | 33 | import java.util.Map; |
| 34 | +import java.util.Arrays; | ||
| 35 | +import java.util.stream.Collectors; | ||
| 34 | 36 | ||
| 35 | import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; | 37 | import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 36 | import static com.zteits.urbanops.module.workorder.enums.ErrorCodeConstants.MAIN_INFO_NOT_EXISTS; | 38 | import static com.zteits.urbanops.module.workorder.enums.ErrorCodeConstants.MAIN_INFO_NOT_EXISTS; |
| @@ -175,43 +177,49 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | @@ -175,43 +177,49 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | ||
| 175 | if(ObjectUtils.isNotAllEmpty(imgList)){ | 177 | if(ObjectUtils.isNotAllEmpty(imgList)){ |
| 176 | AttachmentDO saveDO = new AttachmentDO(); | 178 | AttachmentDO saveDO = new AttachmentDO(); |
| 177 | saveDO.setBusiLine(workOrder.getBusiLine()); | 179 | saveDO.setBusiLine(workOrder.getBusiLine()); |
| 178 | - saveDO.setBusiType(BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH1); | 180 | + saveDO.setBusiType(BpmCommonConstant.PROBLEM_IMG_GROUP); |
| 179 | saveDO.setOrderNo(workOrder.getOrderNo()); | 181 | saveDO.setOrderNo(workOrder.getOrderNo()); |
| 180 | String filePaths = String.join(",",imgList); | 182 | String filePaths = String.join(",",imgList); |
| 181 | saveDO.setFileNames(filePaths); | 183 | saveDO.setFileNames(filePaths); |
| 182 | LambdaQueryWrapper<AttachmentDO> deleteWrapper = new LambdaQueryWrapper<AttachmentDO>() | 184 | LambdaQueryWrapper<AttachmentDO> deleteWrapper = new LambdaQueryWrapper<AttachmentDO>() |
| 183 | .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) | 185 | .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) |
| 184 | - .eq(AttachmentDO::getBusiType, BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH1) | 186 | + .eq(AttachmentDO::getBusiType, BpmCommonConstant.PROBLEM_IMG_GROUP) |
| 185 | .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); | 187 | .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); |
| 186 | attachmentMapper.delete(deleteWrapper); | 188 | attachmentMapper.delete(deleteWrapper); |
| 187 | attachmentMapper.insert(saveDO); | 189 | attachmentMapper.insert(saveDO); |
| 188 | } | 190 | } |
| 189 | - //街道图片 | ||
| 190 | - if(ObjectUtils.isNotAllEmpty(streetImgList)){ | ||
| 191 | - AttachmentDO saveDO = new AttachmentDO(); | ||
| 192 | - saveDO.setBusiLine(workOrder.getBusiLine()); | ||
| 193 | - saveDO.setBusiType(BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH2); | ||
| 194 | - saveDO.setOrderNo(workOrder.getOrderNo()); | ||
| 195 | - String filePaths = String.join(",",streetImgList); | ||
| 196 | - saveDO.setFileNames(filePaths); | ||
| 197 | - LambdaQueryWrapper<AttachmentDO> deleteWrapper = new LambdaQueryWrapper<AttachmentDO>() | ||
| 198 | - .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) | ||
| 199 | - .eq(AttachmentDO::getBusiType, BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH2) | ||
| 200 | - .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); | ||
| 201 | - attachmentMapper.delete(deleteWrapper); | ||
| 202 | - attachmentMapper.insert(saveDO); | 191 | +// //街道图片 |
| 192 | +// if(ObjectUtils.isNotAllEmpty(streetImgList)){ | ||
| 193 | +// AttachmentDO saveDO = new AttachmentDO(); | ||
| 194 | +// saveDO.setBusiLine(workOrder.getBusiLine()); | ||
| 195 | +// saveDO.setBusiType(BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH2); | ||
| 196 | +// saveDO.setOrderNo(workOrder.getOrderNo()); | ||
| 197 | +// String filePaths = String.join(",",streetImgList); | ||
| 198 | +// saveDO.setFileNames(filePaths); | ||
| 199 | +// LambdaQueryWrapper<AttachmentDO> deleteWrapper = new LambdaQueryWrapper<AttachmentDO>() | ||
| 200 | +// .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) | ||
| 201 | +// .eq(AttachmentDO::getBusiType, BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH2) | ||
| 202 | +// .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); | ||
| 203 | +// attachmentMapper.delete(deleteWrapper); | ||
| 204 | +// attachmentMapper.insert(saveDO); | ||
| 205 | +// } | ||
| 206 | + List<String> resultImgs = new java.util.ArrayList<>(); | ||
| 207 | + if (ObjectUtils.isNotAllEmpty(streetImgList)) { | ||
| 208 | + resultImgs.addAll(streetImgList); | ||
| 209 | + } | ||
| 210 | + if (ObjectUtils.isNotAllEmpty(longRangeImgList)) { | ||
| 211 | + resultImgs.addAll(longRangeImgList); | ||
| 203 | } | 212 | } |
| 204 | - //远景图片 | ||
| 205 | - if(ObjectUtils.isNotAllEmpty(longRangeImgList)){ | 213 | + if(ObjectUtils.isNotAllEmpty(resultImgs)){ |
| 206 | AttachmentDO saveDO = new AttachmentDO(); | 214 | AttachmentDO saveDO = new AttachmentDO(); |
| 207 | saveDO.setBusiLine(workOrder.getBusiLine()); | 215 | saveDO.setBusiLine(workOrder.getBusiLine()); |
| 208 | - saveDO.setBusiType(BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH3); | 216 | + saveDO.setBusiType(BpmCommonConstant.RESULT_IMG_GROUP); |
| 209 | saveDO.setOrderNo(workOrder.getOrderNo()); | 217 | saveDO.setOrderNo(workOrder.getOrderNo()); |
| 210 | - String filePaths = String.join(",",longRangeImgList); | 218 | + String filePaths = String.join(",",resultImgs); |
| 211 | saveDO.setFileNames(filePaths); | 219 | saveDO.setFileNames(filePaths); |
| 212 | LambdaQueryWrapper<AttachmentDO> deleteWrapper = new LambdaQueryWrapper<AttachmentDO>() | 220 | LambdaQueryWrapper<AttachmentDO> deleteWrapper = new LambdaQueryWrapper<AttachmentDO>() |
| 213 | .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) | 221 | .eq(AttachmentDO::getBusiLine, workOrder.getBusiLine()) |
| 214 | - .eq(AttachmentDO::getBusiType, BpmCommonConstant.GARDEN_INSPECT_WO_ATTACH3) | 222 | + .eq(AttachmentDO::getBusiType, BpmCommonConstant.RESULT_IMG_GROUP) |
| 215 | .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); | 223 | .eq(AttachmentDO::getOrderNo, workOrder.getOrderNo()); |
| 216 | attachmentMapper.delete(deleteWrapper); | 224 | attachmentMapper.delete(deleteWrapper); |
| 217 | attachmentMapper.insert(saveDO); | 225 | attachmentMapper.insert(saveDO); |
| @@ -220,6 +228,24 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | @@ -220,6 +228,24 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | ||
| 220 | 228 | ||
| 221 | } | 229 | } |
| 222 | 230 | ||
| 231 | + private List<String> attachmentGet(String busiLine, String busiType, String orderNo) { | ||
| 232 | + LambdaQueryWrapper<AttachmentDO> queryWrapper = new LambdaQueryWrapper<AttachmentDO>() | ||
| 233 | + .eq(AttachmentDO::getBusiLine, busiLine) | ||
| 234 | + .eq(AttachmentDO::getBusiType, busiType) | ||
| 235 | + .eq(AttachmentDO::getOrderNo, orderNo); | ||
| 236 | + List<AttachmentDO> attachments = attachmentMapper.selectList(queryWrapper); | ||
| 237 | + if (attachments == null || attachments.isEmpty()) { | ||
| 238 | + return List.of(); | ||
| 239 | + } | ||
| 240 | + return attachments.stream() | ||
| 241 | + .map(AttachmentDO::getFileNames) | ||
| 242 | + .filter(s -> s != null && !s.isEmpty()) | ||
| 243 | + .flatMap(s -> Arrays.stream(s.split(",")).map(String::trim)) | ||
| 244 | + .filter(s -> !s.isEmpty()) | ||
| 245 | + .distinct() | ||
| 246 | + .collect(Collectors.toList()); | ||
| 247 | + } | ||
| 248 | + | ||
| 223 | 249 | ||
| 224 | @Override | 250 | @Override |
| 225 | public void updateWorkOrderStatus(Long id, Integer status) { | 251 | public void updateWorkOrderStatus(Long id, Integer status) { |
| @@ -236,7 +262,8 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | @@ -236,7 +262,8 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | ||
| 236 | public BpmGardenWorkOrderDO getWorkOrder(Long id) { | 262 | public BpmGardenWorkOrderDO getWorkOrder(Long id) { |
| 237 | MainInfoDO workOrder = workOrderMapper.selectById(id); | 263 | MainInfoDO workOrder = workOrderMapper.selectById(id); |
| 238 | BpmGardenWorkOrderDO targetVo = BeanUtils.toBean(workOrder, BpmGardenWorkOrderDO.class); | 264 | BpmGardenWorkOrderDO targetVo = BeanUtils.toBean(workOrder, BpmGardenWorkOrderDO.class); |
| 239 | - //TODO 定义页面展示字段在此扩展 | 265 | + targetVo.setProblemImgsList(attachmentGet(workOrder.getBusiLine(), BpmCommonConstant.PROBLEM_IMG_GROUP, workOrder.getOrderNo())); |
| 266 | + targetVo.setCompleteImgsList(attachmentGet(workOrder.getBusiLine(), BpmCommonConstant.RESULT_IMG_GROUP, workOrder.getOrderNo())); | ||
| 240 | return targetVo; | 267 | return targetVo; |
| 241 | } | 268 | } |
| 242 | 269 |
urbanops-server/src/main/resources/application.yaml
| @@ -67,7 +67,7 @@ flowable: | @@ -67,7 +67,7 @@ flowable: | ||
| 67 | mybatis-plus: | 67 | mybatis-plus: |
| 68 | configuration: | 68 | configuration: |
| 69 | map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。 | 69 | map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。 |
| 70 | - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl | 70 | + # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
| 71 | global-config: | 71 | global-config: |
| 72 | db-config: | 72 | db-config: |
| 73 | id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。 | 73 | id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。 |