diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/AppInspectionPlanController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/AppInspectionPlanController.java index 6930b7e..cd3b849 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/AppInspectionPlanController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/AppInspectionPlanController.java @@ -2,7 +2,6 @@ package com.zteits.urbanops.module.garden.controller.app.inspectionplan; import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.InspectionPlanRespVO; import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanPageReqVO; import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanRespVO; import com.zteits.urbanops.module.garden.service.inspectionplan.InspectionPlanService; @@ -11,7 +10,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; @@ -29,7 +27,7 @@ public class AppInspectionPlanController { @GetMapping("/page") @Operation(summary = "app-巡检计划汇总分页") - @PreAuthorize("@ss.hasPermission('app:garden:inspection-plan:query')") + //@PreAuthorize("@ss.hasPermission('app:garden:inspection-plan:query')") public CommonResult> getInspectionPlanAppPage(@Valid AppInspectionPlanPageReqVO pageReqVO) { PageResult pageResult = inspectionPlanService.getInspectionPlanAppPage(pageReqVO); return success(pageResult); diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/AppInspectionPlanDetailController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/AppInspectionPlanDetailController.java index f7cd7a9..a734e86 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/AppInspectionPlanDetailController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/AppInspectionPlanDetailController.java @@ -1,12 +1,25 @@ package com.zteits.urbanops.module.garden.controller.app.inspectionplan; +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailReqVO; +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailRespVO; import com.zteits.urbanops.module.garden.service.inspectionplan.InspectionPlanDetailService; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + @Tag(name = "APP管理 - 巡检计划") @RestController @@ -18,5 +31,13 @@ public class AppInspectionPlanDetailController { private InspectionPlanDetailService inspectionPlanDetailService; + @PostMapping("/get-details") + @Operation(summary = "app-巡检计划明细") + //@PreAuthorize("@ss.hasPermission('app:garden:inspection-plan-detail:query')") + public CommonResult> getInspectionPlanDetailAppPage(@Valid @RequestBody AppInspectionPlanDetailReqVO pageReqVO) { + List pageResult = inspectionPlanDetailService.getInspectionPlanDetailForApp(pageReqVO); + return success(pageResult); + } + } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanDetailReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanDetailReqVO.java new file mode 100644 index 0000000..1c879a3 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanDetailReqVO.java @@ -0,0 +1,53 @@ +package com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo; + +import io.swagger.v3.oas.annotations.Hidden; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Max; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +@Schema(description = "App管理 - 巡检计划明细 Request VO") +@Data +public class AppInspectionPlanDetailReqVO { + + @Schema(description = "批次号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32704") + @NotBlank(message = "批次号不能为空") + private String batchNo; + + @Schema(description = "道路id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32704") + @NotNull(message = "道路id不能为空") + private Long roadId; + + @Schema(description = "养护类型:2001:浇水;2002:施肥;2003:有害生物防治;2004:修剪;2005:中耕除草;2006:打孔梳草;2007:绿地保洁;2008:园林废弃物收集运输 ;2009:补植;3001:绿地巡视;", requiredMode = Schema.RequiredMode.REQUIRED, example = "24742") + @NotNull(message = "养护类型不能为空") + private Integer planTypeId; + + @Schema(description = "完成状态 1:未完成;2:已完成;3:已失效") + @NotNull(message = "完成状态不能为空") + @Min(value = 1, message = "状态最小为1") + @Max(value = 3, message = "状态不能大于4") + private Integer finishState; + + @Schema(description = "公司ID") + @Hidden + private Long companyId; + + @Schema(description = "角色IDS") + @Hidden + private List roleIds; + + @Schema(description = "业务线") + @Hidden + private List busiLineList; + + @Schema(description = "系统时间") + @Hidden + private LocalDateTime localDateTime; +} + diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanDetailRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanDetailRespVO.java new file mode 100644 index 0000000..234dc8e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanDetailRespVO.java @@ -0,0 +1,59 @@ +package com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo; + +import cn.idev.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; + +@Schema(description = "管理后台 - 巡检明细计划 Response VO") +@Data +public class AppInspectionPlanDetailRespVO { + + @Schema(description = "批次号", requiredMode = Schema.RequiredMode.REQUIRED) + private String batchNo; + + @Schema(description = "计划编码", requiredMode = Schema.RequiredMode.REQUIRED) + private String planNo; + + @Schema(description = "道路ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32704") + private Long roadId; + + @Schema(description = "道路", requiredMode = Schema.RequiredMode.REQUIRED, example = "32704") + private String roadName; + + @Schema(description = "养护类型:2001:浇水;2002:施肥;2003:有害生物防治;2004:修剪;2005:中耕除草;2006:打孔梳草;2007:绿地保洁;2008:园林废弃物收集运输 ;2009:补植;3001:绿地巡视;", requiredMode = Schema.RequiredMode.REQUIRED, example = "24742") + @NotNull(message = "养护类型不能为空") + private Integer planTypeId; + + @Schema(description = "排序号:第n次计划", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer sortNum; + + @Schema(description = "执行开始时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDateTime beginTime; + + @Schema(description = "执行时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDateTime endTime; + + @Schema(description = "次数 如:1/3等", requiredMode = Schema.RequiredMode.REQUIRED, example = "1/3") + private String rate; + + @Schema(description = "周期ID: 1:日/次;2:周/次;3:月/次;4:年/次", requiredMode = Schema.RequiredMode.REQUIRED, example = "6415") + private Integer cycleId; + + @Schema(description = "计划次数") + private Integer planNum; + + @Schema(description = "完成次数") + private Integer planFinishNum; + + @Schema(description = "完成状态 1:未完成;2:已完成;", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer finishState; +} + diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanPageReqVO.java index dc90e22..ae7435e 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanPageReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanPageReqVO.java @@ -1,6 +1,7 @@ package com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo; import com.zteits.urbanops.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; @@ -17,21 +18,25 @@ public class AppInspectionPlanPageReqVO extends PageParam { @Schema(description = "道路名称", example = "赵六") private String roadName; - @Schema(description = "状态 1:未完成;3:已完成;4:已失效") - @NotNull + @Schema(description = "完成状态 1:未完成;2:已完成;3:已失效") + @NotNull(message = "完成状态不能为空") @Min(value = 1, message = "状态最小为1") - @Max(value = 4, message = "状态不能大于4") + @Max(value = 3, message = "状态不能大于4") private Integer finishState; @Schema(description = "公司ID") + @Hidden private Long companyId; @Schema(description = "角色IDS") + @Hidden private List roleIds; @Schema(description = "业务线") + @Hidden private List busiLineList; @Schema(description = "系统时间") + @Hidden private LocalDate localDate; } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanRespVO.java index 266acde..fe5a461 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanRespVO.java @@ -14,12 +14,14 @@ import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YE @ExcelIgnoreUnannotated public class AppInspectionPlanRespVO { + @Schema(description = "批次号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32704") + private String batchNo; @Schema(description = "道路ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32704") private Long roadId; @Schema(description = "道路名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "32704") - private Long roadName; + private String roadName; @Schema(description = "街道ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8439") private String streetId; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/inspectionplan/InspectionPlanDetailMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/inspectionplan/InspectionPlanDetailMapper.java index 17276e2..f8da7ee 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/inspectionplan/InspectionPlanDetailMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/inspectionplan/InspectionPlanDetailMapper.java @@ -6,6 +6,8 @@ import java.util.*; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailReqVO; +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailRespVO; import com.zteits.urbanops.module.garden.dal.dataobject.inspectionplan.InspectionPlanDetailDO; import org.apache.ibatis.annotations.Mapper; import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.*; @@ -46,4 +48,11 @@ public interface InspectionPlanDetailMapper extends BaseMapperX getInspectionPlanDetailForApp(@Param("req") AppInspectionPlanDetailReqVO pageReqVO); } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailService.java index f811bd3..2931717 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailService.java @@ -1,11 +1,13 @@ package com.zteits.urbanops.module.garden.service.inspectionplan; import java.util.*; + +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailReqVO; +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailRespVO; import jakarta.validation.*; import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.*; import com.zteits.urbanops.module.garden.dal.dataobject.inspectionplan.InspectionPlanDetailDO; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; /** * 巡检计划 Service 接口 @@ -59,4 +61,11 @@ public interface InspectionPlanDetailService { */ PageResult getInspectionPlanDetailPage(InspectionPlanDetailPageReqVO pageReqVO); + /** + * app-检计划明细分页 + * + * @param pageReqVO 分页查询 + * @return 巡检计划分页 + */ + List getInspectionPlanDetailForApp(AppInspectionPlanDetailReqVO pageReqVO); } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java index c957a76..4bf6e69 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanDetailServiceImpl.java @@ -1,24 +1,26 @@ package com.zteits.urbanops.module.garden.service.inspectionplan; -import cn.hutool.core.collection.CollUtil; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailReqVO; +import com.zteits.urbanops.module.garden.controller.app.inspectionplan.vo.AppInspectionPlanDetailRespVO; +import com.zteits.urbanops.module.system.api.permission.RoleApi; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.*; import com.zteits.urbanops.module.garden.controller.admin.inspectionplan.vo.*; import com.zteits.urbanops.module.garden.dal.dataobject.inspectionplan.InspectionPlanDetailDO; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlanDetailMapper; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; -import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; -import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; /** * 巡检计划 Service 实现类 @@ -32,6 +34,9 @@ public class InspectionPlanDetailServiceImpl implements InspectionPlanDetailServ @Resource private InspectionPlanDetailMapper inspectionPlanDetailMapper; + @Resource + private RoleApi roleApi; + @Override public Long createInspectionPlanDetail(InspectionPlanDetailSaveReqVO createReqVO) { // 插入 @@ -82,4 +87,21 @@ public class InspectionPlanDetailServiceImpl implements InspectionPlanDetailServ return inspectionPlanDetailMapper.selectPage(pageReqVO); } + @Override + public List getInspectionPlanDetailForApp(AppInspectionPlanDetailReqVO pageReqVO) { + String busiLine = SecurityFrameworkUtils.getBusiLine(); + Long companyId = SecurityFrameworkUtils.getCompanyId(); + if (StringUtils.isNotEmpty(busiLine)) { + pageReqVO.setBusiLineList(Arrays.asList(busiLine.split(","))); + } + pageReqVO.setCompanyId(companyId); + + /*1.查询登录用户角色*/ + List roleIds = roleApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); + pageReqVO.setRoleIds(roleIds); + pageReqVO.setLocalDateTime(LocalDateTime.now()); + /*2.明细*/ + return inspectionPlanDetailMapper.getInspectionPlanDetailForApp(pageReqVO); + } + } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java index 6d5849b..2535c65 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanServiceImpl.java @@ -39,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -79,9 +80,6 @@ public class InspectionPlanServiceImpl implements InspectionPlanService { @Resource private RoleApi roleApi; - @Resource - private RoleApi poleApi; - @Transactional(rollbackFor = Exception.class) @Override public CommonResult createInspectionPlan(InspectionPlanSaveReqVO createReqVO) { @@ -332,8 +330,9 @@ public class InspectionPlanServiceImpl implements InspectionPlanService { pageReqVO.setCompanyId(companyId); /*1.查询登录用户角色*/ - List roleIds = poleApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); + List roleIds = roleApi.getRoleIdsByUserId(SecurityFrameworkUtils.getLoginUserId()); pageReqVO.setRoleIds(roleIds); + pageReqVO.setLocalDate(LocalDate.now()); /*2.分页*/ IPage mpPage = MyBatisUtils.buildPage(pageReqVO); IPage page = inspectionPlanMapper.getInspectionPlanAppPage(mpPage, pageReqVO); diff --git a/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanDetailMapper.xml b/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanDetailMapper.xml index 675da41..04d2f67 100644 --- a/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanDetailMapper.xml +++ b/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanDetailMapper.xml @@ -12,4 +12,64 @@ delete from garden_inspection_plan_detail where batch_no =#{batchNo} + + + \ No newline at end of file diff --git a/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanMapper.xml b/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanMapper.xml index 70b0a23..6ec5a5f 100644 --- a/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanMapper.xml +++ b/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanMapper.xml @@ -15,6 +15,7 @@