diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitDetailRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitDetailRespVO.java index 0e8d864..fe5a445 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitDetailRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitDetailRespVO.java @@ -32,7 +32,6 @@ public class MaintainPlanCommitDetailRespVO { @ExcelProperty("业务线: yl-园林;wy-物业:sz-市政") private String busiLine; - @Schema(description = "养护类型:2001:浇水;2002:施肥;2003:有害生物防治;2004:修剪;2005:中耕除草;2006:打孔梳草;2007:绿地保洁;2008:园林废弃物收集运输 ;2009:补植;3001:绿地巡视;", example = "24742") @ExcelProperty("养护类型") private Integer planTypeId; @@ -41,6 +40,9 @@ public class MaintainPlanCommitDetailRespVO { @ExcelProperty("备注") private String remark; + @Schema(description = "总完成百分比", example = "98.00") + private Double totalFinishPercent; + @Schema(description = "本次完成百分比", example = "98.00") @ExcelProperty("本次完成百分比") private Double finishPercent; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitSaveReqVO.java index 502f5b5..681aa45 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitSaveReqVO.java @@ -10,37 +10,16 @@ import jakarta.validation.constraints.*; @Data public class MaintainPlanCommitSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26945") - private Long id; - - @Schema(description = "批次号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "批次号不能为空") - private String batchNo; @Schema(description = "计划编码", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "计划编码不能为空") private String planNo; - @Schema(description = "业务线: yl-园林;wy-物业:sz-市政", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "业务线: yl-园林;wy-物业:sz-市政不能为空") - private String busiLine; @Schema(description = "提交次序号", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "提交次序号不能为空") private Integer sortNum; - @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2759") - @NotNull(message = "归属(一级部门id)不能为空") - private Long companyId; - - @Schema(description = "部门ID(道路负责部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "29117") - @NotNull(message = "部门ID(道路负责部门id)不能为空") - private Long deptId; - - @Schema(description = "道路ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12084") - @NotNull(message = "道路ID不能为空") - private Long roadId; - @Schema(description = "本次完成百分比", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "本次完成百分比不能为空") private Double finishPercent; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanCommitSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanCommitSaveReqVO.java index 783bc98..acdc6b7 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanCommitSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/inspectionplan/vo/AppInspectionPlanCommitSaveReqVO.java @@ -5,7 +5,6 @@ import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; -import java.time.LocalDate; import java.util.List; @Schema(description = "APP管理 - 巡检计划提交明细新增/修改 Request VO") @@ -40,7 +39,6 @@ public class AppInspectionPlanCommitSaveReqVO { private String transWorkNo; @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") - @NotEmpty(message = "备注不能为空") private String remark; } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanCommitController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanCommitController.java new file mode 100644 index 0000000..3a9c671 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanCommitController.java @@ -0,0 +1,43 @@ +package com.zteits.urbanops.module.garden.controller.app.maintainplan; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanCommitDetailRespVO; +import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanCommitSaveReqVO; +import com.zteits.urbanops.module.garden.service.maintainplan.MaintainPlanCommitService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 养护计划提交明细") +@RestController +@RequestMapping("/app/garden/maintain-plan-commit") +@Validated +public class AppMaintainPlanCommitController { + + @Resource + private MaintainPlanCommitService maintainPlanCommitService; + + @PostMapping("/create") + @Operation(summary = "创建养护计划明细") + //@PreAuthorize("@ss.hasPermission('app:garden:maintain-plan-commit:create')") + public CommonResult appCreateMaintainPlanCommit(@Valid @RequestBody AppMaintainPlanCommitSaveReqVO createReqVO) { + return success(maintainPlanCommitService.appCreateMaintainPlanCommit(createReqVO)); + } + + @GetMapping("/get/plan-no") + @Operation(summary = "获取养护计划-共同处理人明细") + @Parameter(name = "plan_no", description = "计划编号", required = true, example = "1024") + //@PreAuthorize("@ss.hasPermission('app:garden:maintain-plan-commit:query')") + public CommonResult> getMaintainPlanCommitDetailByPlanNo(@RequestParam("plan_no") String planNo) { + return success( maintainPlanCommitService.getMaintainPlanCommitDetailByPlanNo(planNo)); + } + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanController.java index 0e1e06e..99e00e8 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanController.java @@ -1,42 +1,23 @@ package com.zteits.urbanops.module.garden.controller.app.maintainplan; -import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; import com.zteits.urbanops.framework.common.pojo.CommonResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.util.object.BeanUtils; -import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; -import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanPageReqVO; -import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanRespVO; -import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanSaveReqVO; -import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanUpdateReqVO; import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanPagePlanTypeReqVO; import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanPagePlanTypeRespVO; import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanPageRoadReqVO; import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanPageRoadRespVO; -import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDO; import com.zteits.urbanops.module.garden.service.maintainplan.MaintainPlanService; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; 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 org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import java.io.IOException; -import java.util.List; - -import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; -import static com.zteits.urbanops.framework.common.pojo.CommonResult.error; import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; -import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PLAN_RATE_VALUE_ERROR; @Tag(name = "APP管理 - 养护计划汇总") @RestController diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanDetailController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanDetailController.java index 0f6880c..5cd837d 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanDetailController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/AppMaintainPlanDetailController.java @@ -1,35 +1,21 @@ package com.zteits.urbanops.module.garden.controller.app.maintainplan; -import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; import com.zteits.urbanops.framework.common.pojo.CommonResult; -import com.zteits.urbanops.framework.common.pojo.PageParam; -import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.util.object.BeanUtils; -import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; -import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanDetailPageReqVO; -import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanDetailRespVO; -import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanDetailSaveReqVO; import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanDetailRespVO; -import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDetailDO; import com.zteits.urbanops.module.garden.service.maintainplan.MaintainPlanDetailService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.Valid; -import jakarta.validation.constraints.Max; -import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import java.io.IOException; import java.util.List; -import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; @Tag(name = "APP管理 - 养护计划明细") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanCommitSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanCommitSaveReqVO.java new file mode 100644 index 0000000..b1cc266 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/maintainplan/vo/AppMaintainPlanCommitSaveReqVO.java @@ -0,0 +1,59 @@ +package com.zteits.urbanops.module.garden.controller.app.maintainplan.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; + +import java.util.List; + +@Schema(description = "管理后台 - 养护计划明细新增/修改 Request VO") +@Data +public class AppMaintainPlanCommitSaveReqVO { + + @Schema(description = "计划编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "计划编码不能为空") + private String planNo; + + @Schema(description = "本次总完成百分比", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "本次总完成百分比不能为空") + private Double totalFinishPercent; + + @Schema(description = "照片host", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "照片host不能为空") + private String imgHost; + + @Schema(description = "开始照片", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "开始照片不能为空") + private String beginImg; + + @Schema(description = "养护面积:单位m²", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "养护面积:单位m²不能为空") + private Double opArea; + + @Schema(description = "操作时长", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "操作时长不能为空") + private Double opTime; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") + @Size(max = 128, message = "备注长度不能超过 128 个字符") + private String remark; + + @Schema(description = "共同处理人", requiredMode = Schema.RequiredMode.REQUIRED) + private List commonUserList; + + + @Data + public static class AppMaintainPlanCommonUserVO { + @Schema(description = "提交人用户", example = "19167") + private Long userId; + + @Schema(description = "提交人用户ID", example = "王五") + private String userName; + + } + + + +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/inspectionplan/InspectionPlanCommitDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/inspectionplan/InspectionPlanCommitDO.java index f28cb0e..b83d240 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/inspectionplan/InspectionPlanCommitDO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/inspectionplan/InspectionPlanCommitDO.java @@ -33,6 +33,11 @@ public class InspectionPlanCommitDO extends BaseDO { * 计划编码 */ private String planNo; + + /** + * 排序号:第n次计划提交 + */ + private Integer sortNum; /** * 业务线: yl-园林;wy-物业:sz-市政 */ @@ -81,14 +86,7 @@ public class InspectionPlanCommitDO extends BaseDO { * 提交人 */ private String userName; - /** - * 角色ID - */ - private Long roleId; - /** - * 角色名称 - */ - private String roleName; + /** * 备注 */ diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanCommonUserDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanCommonUserDO.java index b5f213a..c3a0122 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanCommonUserDO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanCommonUserDO.java @@ -24,26 +24,11 @@ public class MaintainPlanCommonUserDO extends BaseDO { */ @TableId private Long id; + /** - * 批次号 - */ - private String batchNo; - /** - * 计划编码 - */ - private String planNo; - /** - * 提交次序号 - */ - private Integer sortNum; - /** - * 归属(一级部门id) - */ - private Long companyId; - /** - * 部门ID(道路负责部门id) + * 父级ID garden_maintain_plan_commit表主键ID */ - private Long deptId; + private Long parentId; /** * 用户ID */ diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanDetailDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanDetailDO.java index ac204ec..87d27e8 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanDetailDO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanDetailDO.java @@ -75,7 +75,7 @@ public class MaintainPlanDetailDO extends BaseDO { */ private Double finishPercent; /** - * 完成状态 1:未完成;2:进行中;3:已完成 + * 完成状态 1:未完成;2:已完成 */ private Integer finishState; /** diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainplan/MaintainPlanCommonUserMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainplan/MaintainPlanCommonUserMapper.java index d67ecd4..1621aec 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainplan/MaintainPlanCommonUserMapper.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainplan/MaintainPlanCommonUserMapper.java @@ -1,13 +1,11 @@ package com.zteits.urbanops.module.garden.dal.mysql.maintainplan; -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.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanCommonUserPageReqVO; import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanCommonUserDO; import org.apache.ibatis.annotations.Mapper; -import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.*; /** * 养护计划共同处理人 Mapper @@ -19,11 +17,6 @@ public interface MaintainPlanCommonUserMapper extends BaseMapperX selectPage(MaintainPlanCommonUserPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MaintainPlanCommonUserDO::getBatchNo, reqVO.getBatchNo()) - .eqIfPresent(MaintainPlanCommonUserDO::getPlanNo, reqVO.getPlanNo()) - .eqIfPresent(MaintainPlanCommonUserDO::getSortNum, reqVO.getSortNum()) - .eqIfPresent(MaintainPlanCommonUserDO::getCompanyId, reqVO.getCompanyId()) - .eqIfPresent(MaintainPlanCommonUserDO::getDeptId, reqVO.getDeptId()) .eqIfPresent(MaintainPlanCommonUserDO::getUserId, reqVO.getUserId()) .likeIfPresent(MaintainPlanCommonUserDO::getUserName, reqVO.getUserName()) .likeIfPresent(MaintainPlanCommonUserDO::getCreatorName, reqVO.getCreatorName()) diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanCommitServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanCommitServiceImpl.java index 4e8bc71..556dcdf 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanCommitServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/inspectionplan/InspectionPlanCommitServiceImpl.java @@ -1,9 +1,9 @@ package com.zteits.urbanops.module.garden.service.inspectionplan; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.google.common.collect.Lists; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.framework.common.util.string.StrUtils; @@ -23,7 +23,6 @@ import com.zteits.urbanops.module.garden.dal.mysql.inspectionplan.InspectionPlan import com.zteits.urbanops.module.system.api.dept.DeptApi; import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO; import com.zteits.urbanops.module.system.api.permission.RoleApi; -import com.zteits.urbanops.module.system.dal.dataobject.permission.RoleDO; import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -35,6 +34,9 @@ import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.INSPECTION_PLAN_NOT_EXISTS; + /** * 巡检计划提交明细 Service 实现类 @@ -73,24 +75,28 @@ public class InspectionPlanCommitServiceImpl implements InspectionPlanCommitServ @Transactional(rollbackFor = Exception.class) @Override public Long appCreateInspectionPlanCommit(AppInspectionPlanCommitSaveReqVO createReqVO) { - Long userId = SecurityFrameworkUtils.getLoginUserId(); - /*1.查询计划信息*/ + /*1.查询明细*/ + InspectionPlanDetailDO inspectionPlanDetailDO = inspectionPlanDetailMapper.selectOne(InspectionPlanDetailDO::getPlanNo, createReqVO.getPlanNo()); + if(null == inspectionPlanDetailDO){ + throw exception(INSPECTION_PLAN_NOT_EXISTS); + } + + /*2.查询计划信息*/ InspectionPlanDO inspectionPlanDO = inspectionPlanMapper.selectOne(InspectionPlanDO::getBatchNo, createReqVO.getBatchNo()); - InspectionPlanCommitDO inspectionPlanCommit = getInspectionPlanCommitDO(createReqVO, inspectionPlanDO); - /*2.查询角色*/ - List roleList = roleApi.getRoleList(Lists.newArrayList(userId)); - if (!CollectionUtils.isEmpty(roleList)) { - inspectionPlanCommit.setRoleId(roleList.get(0).getId()); - inspectionPlanCommit.setRoleName(roleList.get(0).getName()); - }else{ - inspectionPlanCommit.setRoleId(0L); - inspectionPlanCommit.setRoleName("未知角色"); + if(null == inspectionPlanDO){ + throw exception(INSPECTION_PLAN_NOT_EXISTS); } - /*3.插入明细*/ + InspectionPlanCommitDO inspectionPlanCommit = getInspectionPlanCommitDO(createReqVO, inspectionPlanDO); + + /*3.查询计划明细最大次数*/ + Long countNum = inspectionPlanCommitMapper.selectCount(new QueryWrapper().lambda() + .eq(InspectionPlanCommitDO::getPlanNo, createReqVO.getPlanNo())); + + inspectionPlanCommit.setSortNum(countNum.intValue() + 1); + /*4.插入明细*/ inspectionPlanCommitMapper.insert(inspectionPlanCommit); - /*4.更新状态*/ - InspectionPlanDetailDO inspectionPlanDetailDO = inspectionPlanDetailMapper.selectOne(InspectionPlanDetailDO::getPlanNo, createReqVO.getPlanNo()); + Integer detailFinishNum = inspectionPlanDetailDO.getPlanFinishNum() + 1; int detailFinishState = 1; if(detailFinishNum.equals(inspectionPlanDetailDO.getPlanNum())){ diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanCommitService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanCommitService.java index 0c76a63..4d8377a 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanCommitService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanCommitService.java @@ -1,6 +1,8 @@ package com.zteits.urbanops.module.garden.service.maintainplan; import java.util.*; + +import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanCommitSaveReqVO; import jakarta.validation.*; import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.*; import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanCommitDO; @@ -22,6 +24,16 @@ public interface MaintainPlanCommitService { Long createMaintainPlanCommit(@Valid MaintainPlanCommitSaveReqVO createReqVO); /** + * app-创建养护计划明细 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long appCreateMaintainPlanCommit(@Valid AppMaintainPlanCommitSaveReqVO createReqVO); + + + + /** * 更新养护计划明细 * * @param updateReqVO 更新信息 diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanCommitServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanCommitServiceImpl.java index 80e1a75..adc5948 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanCommitServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanCommitServiceImpl.java @@ -1,29 +1,38 @@ package com.zteits.urbanops.module.garden.service.maintainplan; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.framework.common.util.string.StrUtils; import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.*; +import com.zteits.urbanops.module.garden.controller.app.maintainplan.vo.AppMaintainPlanCommitSaveReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanCommitDO; import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanCommonUserDO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDetailDO; +import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanCommitMapper; import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanCommonUserMapper; +import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanDetailMapper; +import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanMapper; import com.zteits.urbanops.module.system.api.dept.DeptApi; import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO; +import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import jakarta.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; -import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.*; -import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanCommitDO; -import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.util.object.BeanUtils; - -import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanCommitMapper; +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.MAINTAIN_PLAN_NOT_EXISTS; /** @@ -36,12 +45,18 @@ import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanComm public class MaintainPlanCommitServiceImpl implements MaintainPlanCommitService { @Resource + private MaintainPlanMapper maintainPlanMapper; + + @Resource private MaintainPlanCommitMapper maintainPlanCommitMapper; @Resource private MaintainPlanCommonUserMapper maintainPlanCommonUserMapper; @Resource + private MaintainPlanDetailMapper maintainPlanDetailMapper; + + @Resource private DeptApi deptApi; @Override @@ -54,10 +69,114 @@ public class MaintainPlanCommitServiceImpl implements MaintainPlanCommitService return maintainPlanCommit.getId(); } + /** + * 创建计划明细 + * @param createReqVO 创建计划明细 + * @return 计划明细ID + */ + @Transactional(rollbackFor = Exception.class) + @Override + public Long appCreateMaintainPlanCommit(AppMaintainPlanCommitSaveReqVO createReqVO) { + LocalDateTime now = LocalDateTime.now(); + Long userId = SecurityFrameworkUtils.getLoginUserId(); + String userName = SecurityFrameworkUtils.getLoginUserNickname(); + /*1.查询明细*/ + MaintainPlanDetailDO maintainPlanDetailDO = maintainPlanDetailMapper.selectOne(MaintainPlanDetailDO::getPlanNo, createReqVO.getPlanNo()); + if(null == maintainPlanDetailDO){ + throw exception(MAINTAIN_PLAN_NOT_EXISTS); + } + + /*2.查询汇总*/ + MaintainPlanDO maintainPlanDO = maintainPlanMapper.selectOne(MaintainPlanDO::getBatchNo, maintainPlanDetailDO.getBatchNo()); + if(null == maintainPlanDO){ + throw exception(MAINTAIN_PLAN_NOT_EXISTS); + } + + /*3.查询计划明细最大次数*/ + Long countNum = maintainPlanDetailMapper.selectCount(new QueryWrapper().lambda() + .eq(MaintainPlanDetailDO::getPlanNo, createReqVO.getPlanNo())); + + MaintainPlanCommitDO commitDO = new MaintainPlanCommitDO(); + commitDO.setBatchNo(maintainPlanDO.getBatchNo()); + commitDO.setPlanNo(maintainPlanDetailDO.getPlanNo()); + commitDO.setBusiLine(maintainPlanDO.getBusiLine()); + commitDO.setPlanTypeId(maintainPlanDO.getPlanTypeId()); + commitDO.setSortNum(countNum.intValue() +1); + commitDO.setCompanyId(maintainPlanDO.getCompanyId()); + commitDO.setDeptId(maintainPlanDO.getDeptId()); + commitDO.setRoadId(maintainPlanDO.getRoadId()); + commitDO.setFinishPercent(createReqVO.getTotalFinishPercent() - maintainPlanDetailDO.getFinishPercent()); + commitDO.setImgHost(createReqVO.getImgHost()); + commitDO.setBeginImg(createReqVO.getBeginImg()); + commitDO.setProcessImg("[]"); + commitDO.setEndImg("[]"); + commitDO.setOpArea(createReqVO.getOpArea()); + commitDO.setOpTime(createReqVO.getOpTime()); + commitDO.setFinishTime(now); + commitDO.setUserId(userId); + commitDO.setUserName(userName); + commitDO.setRemark(createReqVO.getRemark()); + commitDO.setCreator(userId+""); + commitDO.setUserName(userName); + commitDO.setCreateTime( now); + commitDO.setUpdater(userId+""); + commitDO.setUpdateTime( now); + commitDO.setUpdaterName(userName); + maintainPlanCommitMapper.insert(commitDO); + + /*4.共同处理人*/ + if(!CollectionUtils.isEmpty(createReqVO.getCommonUserList())){ + for(AppMaintainPlanCommitSaveReqVO.AppMaintainPlanCommonUserVO commonUserReq : createReqVO.getCommonUserList()){ + MaintainPlanCommonUserDO commonUserDO = new MaintainPlanCommonUserDO(); + commonUserDO.setParentId(commitDO.getId()); + commonUserDO.setUserId(commonUserReq.getUserId()); + commonUserDO.setUserName(commonUserReq.getUserName()); + commonUserDO.setCreator(userId+""); + commonUserDO.setUserName(userName); + commonUserDO.setCreateTime( now); + commonUserDO.setUpdater(userId+""); + commonUserDO.setUpdateTime( now); + commonUserDO.setUpdaterName(userName); + maintainPlanCommonUserMapper.insert(commonUserDO); + } + } + + //完成状态 1:未完成;2:已完成 + int detailFinishState = 1; + if(createReqVO.getTotalFinishPercent().equals(100.00)){ + detailFinishState = 2; + } + + /*5.更新计划明细及计划汇总*/ + LambdaUpdateWrapper detailUpdateSql = new LambdaUpdateWrapper() + .set(MaintainPlanDetailDO::getFinishPercent, createReqVO.getTotalFinishPercent()) + .set(MaintainPlanDetailDO::getFinishState, detailFinishState) + .set(MaintainPlanDetailDO::getUpdateTime, LocalDateTime.now()) + .eq(MaintainPlanDetailDO::getPlanNo, createReqVO.getPlanNo()); + maintainPlanDetailMapper.update(detailUpdateSql); + + //完成状态 1:未完成;2:已完成 + if(detailFinishState ==2){ + int finishState =1; + if(maintainPlanDO.getPlanNum().equals(maintainPlanDO.getPlanFinishNum()+1)){ + finishState =2; + } + LambdaUpdateWrapper maintainPlanDOSql = new LambdaUpdateWrapper() + .set(MaintainPlanDO::getPlanFinishNum, maintainPlanDO.getPlanFinishNum()+1) + .set(MaintainPlanDO::getFinishState, finishState) + .set(MaintainPlanDO::getUpdateTime, LocalDateTime.now()) + .eq(MaintainPlanDO::getBatchNo, maintainPlanDO.getBatchNo()); + //更新计划汇总 + maintainPlanMapper.update(maintainPlanDOSql); + } + + return commitDO.getId(); + } + @Override public void updateMaintainPlanCommit(MaintainPlanCommitSaveReqVO updateReqVO) { // 校验存在 - validateMaintainPlanCommitExists(updateReqVO.getId()); + //validateMaintainPlanCommitExists(updateReqVO.getId()); // 更新 MaintainPlanCommitDO updateObj = BeanUtils.toBean(updateReqVO, MaintainPlanCommitDO.class); maintainPlanCommitMapper.updateById(updateObj); @@ -98,7 +217,14 @@ public class MaintainPlanCommitServiceImpl implements MaintainPlanCommitService if (CollectionUtils.isEmpty(list)) { return Collections.emptyList(); } - + /*2.查询明细总完成次数*/ + MaintainPlanDetailDO maintainPlanDetailDO = maintainPlanDetailMapper.selectOne(MaintainPlanDetailDO::getPlanNo, planNo); + Double totalFinishPercent; + if (maintainPlanDetailDO != null) { + totalFinishPercent = maintainPlanDetailDO.getFinishPercent(); + } else { + totalFinishPercent = 0.0; + } /*1.查询共同处理人*/ list.forEach(e -> { MaintainPlanCommitDetailRespVO respVO = new MaintainPlanCommitDetailRespVO(); @@ -106,11 +232,10 @@ public class MaintainPlanCommitServiceImpl implements MaintainPlanCommitService respVO.setBeginImgList(StrUtils.imgProcess(e.getBeginImg(), "")); respVO.setProcessImgList(StrUtils.imgProcess(e.getProcessImg(), "")); respVO.setEndImgList(StrUtils.imgProcess(e.getEndImg(), "")); - + respVO.setTotalFinishPercent(totalFinishPercent); List commonUsers = new ArrayList<>(); List maintainPlanCommonUserList = maintainPlanCommonUserMapper.selectList(new QueryWrapper().lambda() - .eq(MaintainPlanCommonUserDO::getPlanNo, e.getPlanNo()) - .eq(MaintainPlanCommonUserDO::getSortNum, e.getSortNum()) + .eq(MaintainPlanCommonUserDO::getParentId, maintainPlanDetailDO.getId()) .eq(MaintainPlanCommonUserDO::getDeleted, 0)); if (!CollectionUtils.isEmpty(maintainPlanCommonUserList)) { for (MaintainPlanCommonUserDO commonUserDO : maintainPlanCommonUserList) { diff --git a/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanCommitMapper.xml b/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanCommitMapper.xml index 8a21a2f..cb73230 100644 --- a/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanCommitMapper.xml +++ b/urbanops-module-garden/src/main/resources/mapper/inspectionplan/InspectionPlanCommitMapper.xml @@ -94,7 +94,7 @@ b.plan_no, a.plan_name, a.busi_line, - b.sort_num, + c.sort_num, a.road_id, a.road_name, a.plan_attr,