Sfoglia il codice sorgente

修改维保计划代码修改,单表操作替换为mp方式

别傲 5 anni fa
parent
commit
f81b161b73
13 ha cambiato i file con 67 aggiunte e 103 eliminazioni
  1. 6 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/request/MaintenanceModifyRequest.java
  2. 1 6
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/mapper/MaintenancePlanMapper.java
  3. 28 10
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenancePlanService.java
  4. 2 2
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectController.java
  5. 4 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/response/ProjectCompanyResponse.java
  6. 0 22
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/response/ProjectIDResponse.java
  7. 0 6
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/mapper/ProjectLiftRelevanceMapper.java
  8. 0 4
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/mapper/ProjectMapper.java
  9. 18 2
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectLiftRelevanceService.java
  10. 7 3
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectService.java
  11. 0 18
      lift-business-service/src/main/resources/mapper/maintenance/MaintenancePlanMapper.xml
  12. 0 14
      lift-business-service/src/main/resources/mapper/project/ProjectLiftRelevanceMapper.xml
  13. 1 16
      lift-business-service/src/main/resources/mapper/project/ProjectMapper.xml

+ 6 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/request/MaintenanceModifyRequest.java

@@ -30,6 +30,12 @@ public class MaintenanceModifyRequest {
     @NotNull(message = "notEmpty")
     private Long projectId;
 
+    /**
+     * 间隔 1-15
+     */
+    @NotNull(message = "notEmpty")
+    private Integer interval;
+
     /**
      * 当前时间
      */

+ 1 - 6
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/mapper/MaintenancePlanMapper.java

@@ -4,13 +4,10 @@ import cn.com.ty.lift.business.maintenance.dao.entity.MaintenancePlan;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceAppRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenancePlanRequest;
 import cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenancePlanResponse;
-import cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceModifyRequest;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 
-import java.util.List;
-
 /**
  * MyBatis Mapper 接口 - 表:maintenance_plan
  * @author bieao
@@ -18,8 +15,6 @@ import java.util.List;
  */
 public interface MaintenancePlanMapper extends BaseMapper<MaintenancePlan> {
 
-    List<MaintenancePlan> findIdList(@Param("request") MaintenanceModifyRequest request);
-
     IPage<MaintenancePlanResponse> findByCondition(IPage<MaintenancePlanResponse> page, @Param("request") MaintenancePlanRequest request);
 
     /**
@@ -28,5 +23,5 @@ public interface MaintenancePlanMapper extends BaseMapper<MaintenancePlan> {
      * @description 根据用户id和维保状态查询保养任务列表
      * @date 2020/1/6 11:29 上午
      */
-    IPage<MaintenancePlanResponse> findListByWorkerId(IPage<MaintenancePlanResponse> page ,@Param("request") MaintenanceAppRequest request);
+    IPage<MaintenancePlanResponse> findListByWorkerId(IPage<MaintenancePlanResponse> page, @Param("request") MaintenanceAppRequest request);
 }

+ 28 - 10
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenancePlanService.java

@@ -173,6 +173,22 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
         return planList;
     }
 
+    /**
+     * @param request 当前时间
+     * @return List<MaintenancePlan> 维保计划列表
+     * @description 查询当前时间之后的维保计划
+     * @date 2020/1/7 2:40 下午
+     */
+    public List<MaintenancePlan> findPlanList(MaintenanceModifyRequest request){
+        QueryWrapper<MaintenancePlan> queryWrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<MaintenancePlan> lambdaQueryWrapper = queryWrapper.lambda();
+        lambdaQueryWrapper.eq(MaintenancePlan::getLiftId, request.getLiftId());
+        lambdaQueryWrapper.eq(MaintenancePlan::getProjectId, request.getProjectId());
+        lambdaQueryWrapper.eq(MaintenancePlan::getMtCompanyId, request.getMtCompanyId());
+        lambdaQueryWrapper.gt(MaintenancePlan::getPlanDate, request.getCurrentTime());
+        return list(lambdaQueryWrapper);
+    }
+
     /**
      * @param request 修改维保计划请求
      * @return 是否修改成功
@@ -181,19 +197,21 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
      */
     public boolean modifyPlan(MaintenanceModifyRequest request) {
         List<MaintenancePlan> resultList = new ArrayList<>();
-        //获取当前保养时间
-        LocalDate currentTime = request.getCurrentTime();
         //获取修改的保养时间
         LocalDate updateTime = request.getUpdateTime();
-        //获取偏移量
-        long offset = currentTime.until(updateTime, ChronoUnit.DAYS);
-        //获取当前时间后的维保计划id列表
-        List<MaintenancePlan> idList = planMapper.findIdList(request);
-        idList.forEach(entry -> {
-            LocalDate planDate = entry.getPlanDate().plusDays(offset);
-            entry.setPlanDate(planDate);
+        //获取保养间隔
+        Integer interval = request.getInterval();
+        //获取当前时间后的维保计划列表
+        List<MaintenancePlan> planList = findPlanList(request);
+        for (int i = 0, size = planList.size(); i < size; i++) {
+            MaintenancePlan entry = planList.get(i);
+            if (i == 0) {
+                entry.setPlanDate(updateTime);
+            } else {
+                entry.setPlanDate(entry.getPlanDate().plusDays(interval));
+            }
             resultList.add(entry);
-        });
+        }
         return updateBatchById(resultList, resultList.size());
     }
 

+ 2 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectController.java

@@ -7,7 +7,6 @@ import cn.com.ty.lift.business.project.dao.entity.Project;
 import cn.com.ty.lift.business.project.dao.entity.ProjectHistory;
 import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
 import cn.com.ty.lift.business.project.dao.entity.model.request.*;
-import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectIDResponse;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectRelevanceResponse;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectResponse;
 import cn.com.ty.lift.business.project.service.ProjectLiftRelevanceService;
@@ -24,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author bieao
@@ -114,7 +114,7 @@ public class ProjectController {
      */
     @PostMapping("projectIDList")
     public RestResponse projectIDList(@RequestBody ProjectRegionRequest request) {
-        List<ProjectIDResponse> projectIDList = projectService.projectIDList(request);
+        List<Map<String, Object>> projectIDList = projectService.projectIDList(request);
         if (CollUtil.isEmpty(projectIDList)) {
             return RestResponse.success();
         }

+ 4 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/response/ProjectCompanyResponse.java

@@ -9,6 +9,10 @@ import lombok.Data;
  */
 @Data
 public class ProjectCompanyResponse {
+    /**
+     * 项目id
+     */
+    private String projectId;
     /**
      * 项目编号
      */

+ 0 - 22
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/response/ProjectIDResponse.java

@@ -1,22 +0,0 @@
-package cn.com.ty.lift.business.project.dao.entity.model.response;
-
-import lombok.Data;
-
-/**
- * @author bieao
- * @date 2019/12/16
- * @description
- */
-@Data
-public class ProjectIDResponse {
-
-    /**
-     * 项目ID
-     */
-    private Long projectId;
-
-    /**
-     * 项目名称
-     */
-    private String projectName;
-}

+ 0 - 6
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/mapper/ProjectLiftRelevanceMapper.java

@@ -1,16 +1,12 @@
 package cn.com.ty.lift.business.project.dao.mapper;
 
-import cn.com.ty.lift.business.library.dao.entity.model.request.LiftLockRequest;
 import cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectLiftRelevanceRequest;
-import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectLockRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectRelevanceResponse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 
-import java.util.List;
-
 /**
  * @author bieao
  * @date 2019/12/09
@@ -18,8 +14,6 @@ import java.util.List;
  */
 public interface ProjectLiftRelevanceMapper extends BaseMapper<ProjectLiftRelevance> {
 
-    List<ProjectLiftRelevance> findIdList(@Param("request") ProjectLockRequest request);
-
     IPage<ProjectRelevanceResponse> selectListByUserId(IPage<ProjectRelevanceResponse> page, @Param("request") ProjectLiftRelevanceRequest request);
 
 }

+ 0 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/mapper/ProjectMapper.java

@@ -8,8 +8,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 
-import java.util.List;
-
 /**
  * @author bieao
  * @date 2019/12/09
@@ -21,8 +19,6 @@ public interface ProjectMapper extends BaseMapper<Project> {
 
     IPage<ProjectResponse> findCompanyListByCondition(IPage<ProjectResponse> page, @Param("request") ProjectCompanyRequest request);
 
-    List<ProjectIDResponse> findProjectListByRegionId(@Param("request") ProjectRegionRequest request);
-
     /**
      * @param request 项目id
      * @return IPage<ProjectLiftResponse> 项目电梯分页列表

+ 18 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectLiftRelevanceService.java

@@ -13,6 +13,7 @@ import cn.com.ty.lift.business.project.dao.mapper.ProjectLiftRelevanceMapper;
 import cn.com.ty.lift.business.project.dao.mapper.ProjectMapper;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.xwy.boot.web.dto.RestResponse;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -115,6 +116,21 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
         return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.modify.success"));
     }
 
+    /**
+     * @param request 项目id和公司id
+     * @return List<ProjectLiftRelevance> 项目下电梯状态列表
+     * @description 根据项目id和公司id查询项目下电梯
+     * @date 2020/1/7 3:35 下午
+     */
+    public List<ProjectLiftRelevance> findIdList(ProjectLockRequest request) {
+        QueryWrapper<ProjectLiftRelevance> queryWrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ProjectLiftRelevance> lambdaQueryWrapper = queryWrapper.lambda();
+        lambdaQueryWrapper.eq(ProjectLiftRelevance::getMtCompanyId, request.getMtCompanyId());
+        lambdaQueryWrapper.eq(ProjectLiftRelevance::getProjectId, request.getProjectId());
+        lambdaQueryWrapper.select(ProjectLiftRelevance::getId, ProjectLiftRelevance::getLiftLocked);
+        return list(lambdaQueryWrapper);
+    }
+
     /**
      * @param request projectId 项目id
      * @return RestResponse 状态码和返回消息
@@ -131,8 +147,8 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
             return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
         }
         //根据项目id和公司id查询项目下电梯
-        List<ProjectLiftRelevance> relevanceList = baseMapper.findIdList(request);
-        if (ObjectUtil.isEmpty(relevanceList)) {
+        List<ProjectLiftRelevance> relevanceList = findIdList(request);
+        if (CollUtil.isEmpty(relevanceList)) {
             return RestResponse.success(null, MessageUtils.get("msg.project.status.update"));
         }
         relevanceList.forEach(relevance -> relevance.setLiftLocked(request.getLock()));

+ 7 - 3
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectService.java

@@ -8,7 +8,6 @@ import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectCompanyRe
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectExtensionRequest;
 import cn.com.ty.lift.business.project.dao.entity.*;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectRegionRequest;
-import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectIDResponse;
 import cn.com.ty.lift.business.project.dao.entity.model.ProjectImportModel;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectResponse;
@@ -21,6 +20,7 @@ import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -124,8 +124,12 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
      * @description 项目ID和名称列表
      * @date 2019/12/16 4:21 PM
      */
-    public List<ProjectIDResponse> projectIDList(ProjectRegionRequest request) {
-        return projectMapper.findProjectListByRegionId(request);
+    public List<Map<String,Object>> projectIDList(ProjectRegionRequest request) {
+        QueryWrapper<Project> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(ObjectUtil.isNotEmpty(request.getMtCompanyId()), "mt_company_id", request.getMtCompanyId());
+        queryWrapper.eq(ObjectUtil.isNotEmpty(request.getRegionId()), "region_id", request.getRegionId());
+        queryWrapper.select("id projectId", "project_name projectName");
+        return listMaps(queryWrapper);
     }
 
     /**

+ 0 - 18
lift-business-service/src/main/resources/mapper/maintenance/MaintenancePlanMapper.xml

@@ -72,24 +72,6 @@
 		</if>
 	</select>
 
-	<select id="findIdList" resultMap="BaseResultMap" parameterType="cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceModifyRequest">
-		SELECT
-		id,
-        lift_id,
-		plan_date
-		FROM maintenance_plan
-		WHERE 1=1
-        <if test="request.mtCompanyId!=null and request.mtCompanyId!=''">
-            AND mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
-        </if>
-        <if test="request.projectId!=null and request.projectId!=''">
-            AND project_id = #{request.projectId,jdbcType=BIGINT}
-        </if>
-        <if test="request.liftId!=null and request.liftId!=''">
-            AND lift_id = #{request.liftId,jdbcType=BIGINT}
-        </if>
-	</select>
-
 	<!--app端 保养任务列表 -->
 	<select id="findListByWorkerId" resultType="cn.com.ty.lift.business.maintenance.dao.entity.model.response.MaintenanceAppResponse"
 			parameterType="cn.com.ty.lift.business.maintenance.dao.entity.model.request.MaintenanceAppRequest">

+ 0 - 14
lift-business-service/src/main/resources/mapper/project/ProjectLiftRelevanceMapper.xml

@@ -39,18 +39,4 @@
 		  LEFT JOIN lift l ON plr.lift_id = l.id
 		WHERE plr.worker_id = #{request.workerId,jdbcType=BIGINT}
 	</select>
-
-	<select id="findIdList" resultType="cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance"
-			parameterType="cn.com.ty.lift.business.project.dao.entity.model.request.ProjectLockRequest">
-		SELECT id,
-		      lift_locked
-		FROM project_lift_relevance
-		WHERE 1=1
-		<if test="request.mtCompanyId!=null and request.mtCompanyId!=''">
-			AND mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
-		</if>
-		<if test="request.projectId!=null and request.projectId!=''">
-			AND project_id = #{request.projectId,jdbcType=BIGINT}
-		</if>
-	</select>
 </mapper>

+ 1 - 16
lift-business-service/src/main/resources/mapper/project/ProjectMapper.xml

@@ -125,26 +125,11 @@
 		</if>
 	</select>
 
-	<!--根据区域id或维保公司id查询项目id和名称列表 -->
-	<select id="findProjectListByRegionId" resultType="cn.com.ty.lift.business.project.dao.entity.model.response.ProjectIDResponse"
-			parameterType="cn.com.ty.lift.business.project.dao.entity.model.request.ProjectRegionRequest">
-		SELECT
-		  id           AS projectId,
-		  project_name AS projectName
-		FROM project
-		WHERE 1=1
-        <if test="request.regionId!=null and request.regionId!=''">
-            AND region_id = #{request.regionId,jdbcType=BIGINT}
-        </if>
-        <if test="request.mtCompanyId!=null and request.mtCompanyId!=''">
-            AND mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
-        </if>
-	</select>
-
 	<!--app端 根据公司id查询公司下项目列表 -->
 	<select id="findListByCompanyId" parameterType="cn.com.ty.lift.business.project.dao.entity.model.request.CompanyRequest"
 			resultType="cn.com.ty.lift.business.project.dao.entity.model.response.ProjectCompanyResponse">
 		SELECT
+	    p.id            AS projectId,
 		p.project_code  AS projectCode,
 		p.project_name  AS projectName,
 		p.project_usage AS projectUsage,