소스 검색

Merge branches 'develop' and 'huangyuan-user' of http://132.232.206.88:3000/lift-manager/lift-server into huangyuan-user

黄远 5 년 전
부모
커밋
e2f8f7839f

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/dao/entity/CapitalRepair.java

@@ -176,5 +176,5 @@ public class CapitalRepair extends BaseEntity {
     private Long regionId;
 
     @FieldName(name = "开工时间")
-    private LocalDateTime startWorkDateTime;
+    private LocalDateTime startWorkDatetime;
 }

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/service/CapitalRepairService.java

@@ -263,7 +263,7 @@ public class CapitalRepairService extends ServiceImpl<CapitalRepairMapper, Capit
     public boolean begin(CapitalRepairRequest request) {
         CapitalRepair capitalRepair = getOne(request.getProjectId());
         if (ObjectUtil.isEmpty(capitalRepair)) return false;
-        capitalRepair.setStartWorkDateTime(LocalDateTime.now());
+        capitalRepair.setStartWorkDatetime(LocalDateTime.now());
         capitalRepair.setProjectStatus(CapitalRepairStatus.ABUILDING.getCode());
         return updateById(capitalRepair);
     }

+ 2 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/LiftService.java

@@ -289,6 +289,8 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
         }
         //新增标记 (0:新增,1:查询后带入)
         if ("0".equals(mark)) {
+            //前端新增时会传值过来,设置电梯id为null,防止新增电梯主键重复
+            lift.setId(null);
             //按当前日期时间戳自动生成电梯编号
             String liftCode = ApiConstants.STRAIGHT_LADDER + DateUtils.generateCode();
             if (CommonEnum.LiftType.STAIRCASE.getCode().equals(Objects.toString(lift.getLiftType()))) {

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

@@ -113,7 +113,6 @@ public class MaintenancePlanRequest extends PageRequest {
      */
     @NotNull(message = "维保间隔不能为空")
     @Min(value = 1, message = "维保间隔最小值为1")
-    @Max(value = 15, message = "维保间隔最大值为15")
     private Integer interval;
 
     /**

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

@@ -28,7 +28,6 @@ import cn.com.ty.lift.common.utils.DateUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.poi.excel.ExcelUtil;
 import cn.hutool.poi.excel.ExcelWriter;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -232,6 +231,11 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
      * @date 2019/12/16 2:14 PM
      */
     public RestResponse insertBatch(MaintenancePlanRequest request) {
+        String demand = request.getDemand();
+        if ("0".equals(demand)) {
+            Integer interval = request.getInterval();
+            if (interval > 15) return RestResponse.fail("维保间隔最大值为15");
+        }
         List<MaintenancePlan> planList = request.getPlanList();
         boolean result = preJudgment(planList, request.getFirstTime());
         if (!result) {
@@ -388,6 +392,7 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
         LambdaQueryWrapper<MaintenancePlan> lambdaQueryWrapper = queryWrapper.lambda();
         lambdaQueryWrapper.eq(MaintenancePlan::getMtCompanyId, mtCompanyId);
         lambdaQueryWrapper.eq(MaintenancePlan::getLiftId, liftId);
+        lambdaQueryWrapper.eq(MaintenancePlan::getStatus,0);
         lambdaQueryWrapper.ge(MaintenancePlan::getCount, periods);
         return list(lambdaQueryWrapper);
     }

+ 1 - 5
lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectUserController.java

@@ -95,10 +95,6 @@ public class ProjectUserController {
     @PostMapping("/user/batch/remove")
     @Validation(fields = {"mtCompanyId", "projectId", "userList"})
     public RestResponse remove(@Val @RequestBody ProjectRequest request) {
-        int result = projectUserService.remove(request);
-        if (result > 0) {
-            return RestResponse.success(null, MessageUtils.get("msg.delete.success"));
-        }
-        return RestResponse.fail(MessageUtils.get("msg.delete.fail"));
+       return projectUserService.remove(request);
     }
 }

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

@@ -8,6 +8,7 @@ import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectUserResp
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 
@@ -31,4 +32,7 @@ public interface ProjectUserMapper extends BaseMapper<ProjectUser> {
     int batchRemoveWithParams(ProjectRequest request);
 
     IPage<ProjectRelevanceResponse> findProjectListByUserId(IPage<ProjectRelevanceResponse> page, @Param("request") ProjectRequest request);
+
+    @Select("SELECT name FROM user_info WHERE user_id = #{userId}")
+    String queryNameById(Long userId);
 }

+ 17 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectLiftRelevanceService.java

@@ -28,7 +28,6 @@ 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;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.jms.core.JmsMessagingTemplate;
@@ -332,6 +331,23 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
         return removeByMap(columnMap);
     }
 
+    /**
+     * @param projectId 项目id
+     * @param mtCompanyId 公司id
+     * @param userList 维保工列表
+     * @return 关联电梯列表
+     * @description 根据项目id和公司id,维保工列表查询关联电梯列表
+     * @date 2020/6/15 11:19 上午
+     */
+    public List<ProjectLiftRelevance> queryLiftRelevanceByProjectId(Long projectId, Long mtCompanyId, List<Long> userList) {
+        QueryWrapper<ProjectLiftRelevance> queryWrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ProjectLiftRelevance> lambda = queryWrapper.lambda();
+        lambda.eq(ProjectLiftRelevance::getMtCompanyId, mtCompanyId);
+        lambda.eq(ProjectLiftRelevance::getProjectId, projectId);
+        lambda.in(ProjectLiftRelevance::getWorkerId, userList);
+        return list(lambda);
+    }
+
     /**
      * @param projectId 项目ID
      * @return List<ProjectUser> userList项目组维保工列表

+ 33 - 7
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectUserService.java

@@ -1,6 +1,7 @@
 package cn.com.ty.lift.business.project.service;
 
 import cn.com.ty.lift.business.framework.util.MessageUtils;
+import cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance;
 import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectRelevanceResponse;
@@ -8,6 +9,7 @@ import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectUserResp
 import cn.com.ty.lift.business.project.dao.mapper.ProjectUserMapper;
 import cn.com.ty.lift.common.constants.CommonEnum;
 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.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -16,6 +18,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -27,6 +30,9 @@ import java.util.stream.Collectors;
 @Service
 public class ProjectUserService extends ServiceImpl<ProjectUserMapper, ProjectUser> {
 
+    @Resource
+    private ProjectLiftRelevanceService projectLiftRelevanceService;
+
     public List<ProjectUserResponse> getUserList(Long projectId, Long mtCompanyId) {
         return baseMapper.findUserListById(projectId, mtCompanyId);
     }
@@ -142,14 +148,34 @@ public class ProjectUserService extends ServiceImpl<ProjectUserMapper, ProjectUs
      * @description 批量删除项目组成员
      * @date 2020/1/11 10:43 上午
      */
-    public int remove(ProjectRequest request) {
+    public RestResponse remove(ProjectRequest request) {
         List<ProjectUser> userList = request.getUserList();
-        userList.forEach(entry -> {
-            entry.setProjectId(request.getProjectId());
-            entry.setMtCompanyId(request.getMtCompanyId());
-            entry.setUserRole(CommonEnum.DefaultRole.MTWORK.getCode());
-        });
-        return baseMapper.batchRemoveWithParams(request);
+        Long projectId = request.getProjectId();
+        Long mtCompanyId = request.getMtCompanyId();
+        List<Long> userIdList = userList.stream().map(ProjectUser::getUserId).collect(Collectors.toList());
+        List<ProjectLiftRelevance> list = projectLiftRelevanceService.queryLiftRelevanceByProjectId(projectId, mtCompanyId, userIdList);
+        if (CollUtil.isNotEmpty(list)) {
+            for (ProjectUser user : userList) {
+                for (ProjectLiftRelevance relevance : list) {
+                    Long userId = user.getUserId();
+                    if (userId.equals(relevance.getWorkerId())) {
+                        String name = baseMapper.queryNameById(userId);
+                        return RestResponse.success(null, name + MessageUtils.get("msg.list.relevance.exist"));
+                    }
+                }
+            }
+        } else {
+            userList.forEach(entry -> {
+                entry.setProjectId(projectId);
+                entry.setMtCompanyId(mtCompanyId);
+                entry.setUserRole(CommonEnum.DefaultRole.MTWORK.getCode());
+            });
+            int result = baseMapper.batchRemoveWithParams(request);
+            if (result > 0) {
+                return RestResponse.success(null, MessageUtils.get("msg.delete.success"));
+            }
+        }
+        return RestResponse.fail(MessageUtils.get("msg.delete.fail"));
     }
 
     public RestResponse relevanceProject(ProjectRequest request) {

+ 3 - 1
lift-business-service/src/main/resources/application.yml

@@ -9,7 +9,9 @@ spring:
   datasource:
     hikari:
       max-lifetime: 1200000 # default: 1800000
-
+  servlet:
+    multipart:
+      max-file-size: 2MB
 mybatis-plus:
   mapper-locations: classpath*:/mapper/**/**Mapper.xml
   type-handlers-package: cn.com.ty.lift.business.framework.conf

+ 2 - 1
lift-business-service/src/main/resources/locale/response.properties

@@ -37,4 +37,5 @@ msg.project.not.exist=\u9879\u76EE\u4E0D\u5B58\u5728
 msg.contract.not.exist=\u5408\u540C\u4E0D\u5B58\u5728
 msg.maintenance.plan.not.exist=\u7EF4\u4FDD\u8BA1\u5212\u4E0D\u5B58\u5728
 msg.capital.not.sign.record=\u8BE5\u9879\u76EE\u8FD8\u6CA1\u6709\u7B7E\u5230\u8BB0\u5F55
-msg.longitude.error=\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u7ECF\u7EAC\u5EA6
+msg.longitude.error=\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u7ECF\u7EAC\u5EA6
+msg.list.relevance.exist=\u7EF4\u4FDD\u5DE5\u6709\u76F8\u5173\u7535\u68AF\u4E0D\u80FD\u79FB\u9664

+ 1 - 1
lift-business-service/src/main/resources/mapper/capital/CapitalRepairMapper.xml

@@ -53,7 +53,7 @@
                c.overdue_date    AS overdueDate,
                c.overdue_reason  AS overdueReason,
                c.overdue_flag    AS overdueFlag,
-               c.start_work_datetime AS startWorkDateTime
+               c.start_work_datetime AS startWorkDatetime
         FROM capital_repair c
         LEFT JOIN region r ON c.region_id = r.id
         LEFT JOIN user_info ui ON r.user_id = ui.user_id

+ 10 - 7
lift-common/src/main/java/cn.com.ty.lift.common/constants/SqlConstants.java

@@ -169,11 +169,14 @@ public interface SqlConstants {
                     "  and project_id in (select project_id from project_user where user_id = #{userId})";
 
     String UPDATE_REGION_DIRECTOR =
-            "<script>"
-                    + "update project_user set user_id=#{userId} where project_id in"
-                    + " <foreach item='item' index='index' collection='projectIds' open='(' separator=',' close=')'>"
-                    + "        #{item}"
-                    + "  </foreach>"
-                    + "and mt_company_id=#{mtCompanyId} and user_role = 'REGION_DIRECTOR'"
-                    + "</script>";
+            "<script>" +
+                    " update project_user set user_id=#{userId} where " +
+                    " mt_company_id=#{mtCompanyId} and user_role = 'REGION_DIRECTOR'" +
+                    "   <if test=\"projectIds != null and projectIds.size > 0 \">" +
+                    "           and project_id in" +
+                    "     <foreach item='item' index='index' collection='projectIds' open='(' separator=',' close=')'>" +
+                    "        #{item}" +
+                    "     </foreach>" +
+                    " </if>" +
+                    "</script>";
 }