瀏覽代碼

Merge branch 'feature-wcz' of lift-manager/lift-server into develop

wucizhong 5 年之前
父節點
當前提交
df498bf4cc
共有 21 個文件被更改,包括 156 次插入313 次删除
  1. 38 42
      lift-business-service/src/main/java/cn/com/ty/lift/business/common/CommonController.java
  2. 0 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/response/LiftAnnualInspectionResponse.java
  3. 13 26
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/controller/MaintenanceRecordController.java
  4. 18 10
      lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java
  5. 6 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/push/entity/InspectionTips.java
  6. 6 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/push/entity/RepairTips.java
  7. 3 5
      lift-business-service/src/main/java/cn/com/ty/lift/business/push/mapper/PushUserMapper.java
  8. 6 55
      lift-business-service/src/main/java/cn/com/ty/lift/business/push/service/PushUserService.java
  9. 2 2
      lift-business-service/src/main/resources/mapper/annualinspection/AnnualInspectionMapper.xml
  10. 1 1
      lift-business-service/src/main/resources/mapper/emergency/EmergencyRepairMapper.xml
  11. 1 0
      lift-business-service/src/main/resources/mapper/maintenance/MaintenanceRecordMapper.xml
  12. 0 56
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/mtCompanyUser/MtCompanyUser.java
  13. 0 13
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/mtCompanyUser/mapper/MtCompanyUserMapper.java
  14. 0 25
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/mtCompanyUser/service/MtCompanyUserService.java
  15. 10 11
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/controller/AnnouncementController.java
  16. 2 2
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/controller/AttendanceController.java
  17. 3 3
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/dto/AttendanceResponse.java
  18. 6 0
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/service/AttendanceService.java
  19. 13 59
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/push/PushUserService.java
  20. 7 2
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/push/mapper/PushUserMapper.java
  21. 21 0
      lift-enterprise-service/src/main/resources/mapper/push/PushUserMapper.xml

+ 38 - 42
lift-business-service/src/main/java/cn/com/ty/lift/business/common/CommonController.java

@@ -50,7 +50,7 @@ public class CommonController {
     @PostMapping("area/list")
     @SuppressWarnings("unchecked")
     public RestResponse areaList() {
-        List<AreaCode> areaCodeList = (List<AreaCode>)redisTemplate.opsForValue().get(RedisConstants.RK_AREA_LIST);
+        List<AreaCode> areaCodeList = (List<AreaCode>) redisTemplate.opsForValue().get(RedisConstants.RK_AREA_LIST);
         if (ObjectUtil.isEmpty(areaCodeList)) {
             return RestResponse.success();
         }
@@ -64,7 +64,7 @@ public class CommonController {
      */
     @PostMapping("brand/list")
     @SuppressWarnings(value = "unchecked")
-    public RestResponse list(){
+    public RestResponse list() {
         List<LiftBrand> liftBrandList = (List<LiftBrand>) redisTemplate.opsForValue().get(RedisConstants.RK_LIFT_BRAND_LIST);
         if (ObjectUtil.isEmpty(liftBrandList)) {
             return RestResponse.success();
@@ -79,29 +79,26 @@ public class CommonController {
      * @return RestResponse
      */
     @PostMapping("uploads")
-    public RestResponse uploads(@RequestParam("files") MultipartFile[] files){
-        Verify.notTrue(Objects.isNull(files) || files.length == 0,Verify.Upload.fileDataMissing);
+    public RestResponse uploads(@RequestParam("files") MultipartFile[] files) {
+        Verify.notTrue(Objects.isNull(files) || files.length == 0, Verify.Upload.fileDataMissing);
+        Map<String, MultipartFile> fileMap = new HashMap<>();
+        //1 先解析文件格式
+        for (MultipartFile file : files) {
+            String fileName = handleFile(file);
+            fileMap.put(fileName, file);
+        }
+        //2 批量上传
         try {
-            Map<String, MultipartFile> fileMap = new HashMap<>();
-            //1 先解析文件格式
-            for (MultipartFile file : files) {
-                String fileName = handleFile(file);
-                if(StrUtil.isEmpty(fileName)){
-                    return RestResponse.fail(Verify.Upload.fileFormatNotSupport);
-                }
-                fileMap.put(fileName, file);
-            }
-            //2 批量上传
             List<String> urls = new ArrayList<>();
-            for (Map.Entry<String, MultipartFile> entry : fileMap.entrySet()){
+            for (Map.Entry<String, MultipartFile> entry : fileMap.entrySet()) {
                 String url = systemConfiguration.build().putObject(entry.getKey(), entry.getValue().getBytes());
-                log.info("上传文件,文件URL: {}",url);
+                log.info("upload file complete, file URL: {}", url);
                 Verify.notNull(url, Verify.Upload.fileUploadFail);
                 urls.add(url);
             }
             return RestResponse.success(urls);
-        }catch (Exception e){
-            log.error("上传文件异常",e);
+        } catch (Exception e) {
+            log.error("upload file occur exception", e);
             return RestResponse.fail(Verify.Upload.fileUploadFail);
         }
     }
@@ -113,18 +110,15 @@ public class CommonController {
      * @return RestResponse
      */
     @PostMapping("upload")
-    public RestResponse upload(@RequestParam("file") MultipartFile file){
-        Verify.notTrue(Objects.isNull(file) || file.isEmpty(),Verify.Upload.fileDataMissing);
+    public RestResponse upload(@RequestParam("file") MultipartFile file) {
+        Verify.notTrue(Objects.isNull(file) || file.isEmpty(), Verify.Upload.fileDataMissing);
+        String fileName = handleFile(file);
         try {
-            String fileName = handleFile(file);
-            if(StrUtil.isEmpty(fileName)){
-                return RestResponse.fail(Verify.Upload.fileFormatNotSupport);
-            }
             String url = systemConfiguration.build().putObject(fileName, file.getBytes());
-            log.info("上传文件,文件URL: {}",url);
+            log.info("upload file complete, file URL: {}", url);
             return RestResponse.success(url);
-        }catch (Exception e){
-            log.error("上传文件异常",e);
+        } catch (Exception e) {
+            log.error("upload file occur exception", e);
             return RestResponse.fail(Verify.Upload.fileUploadFail);
         }
     }
@@ -135,34 +129,36 @@ public class CommonController {
      * @param file the {@link MultipartFile} to upload
      * @return the name string of the file.
      */
-    private String handleFile(MultipartFile file){
-        Verify.notTrue(Objects.isNull(file) || file.isEmpty(),Verify.Upload.fileDataMissing);
+    private String handleFile(MultipartFile file) {
+        Verify.notTrue(Objects.isNull(file) || file.isEmpty(), Verify.Upload.fileDataMissing);
         // 获取文件名,带后缀
         String originalFilename = file.getOriginalFilename();
-        log.info("上传文件,原文件名:{}", originalFilename);
+        log.info("the original file name is:{}", originalFilename);
         // 获取文件的后缀格式
+        Verify.notNull(originalFilename, "原文件名不能为空");
         int lastDotIndex = originalFilename.lastIndexOf(ValuePool.DOT);
         Verify.notTrue(-1 == lastDotIndex, "文件名解析不到文件格式");
         String fileSuffix = originalFilename.substring(lastDotIndex).toLowerCase();
-        Verify.notNull(fileSuffix,Verify.Upload.fileFormatIllegal);
+        Verify.notNull(fileSuffix, Verify.Upload.fileFormatIllegal);
         long fileSize = file.getSize();
-        if(StrUtil.equalsAny(fileSuffix,Verify.Upload.pics)){
-            Verify.notTrue(fileSize > Verify.Upload.maxSizePic,"文件大小不超过" + Verify.Upload.maxSizePicDesc);
-        }else if(StrUtil.equalsAny(fileSuffix,Verify.Upload.files)){
-            Verify.notTrue(fileSize > Verify.Upload.maxSizeFile,"文件大小不超过" + Verify.Upload.maxSizeFileDesc);
-        }else if(StrUtil.equalsAny(fileSuffix,Verify.Upload.videos)){
-            Verify.notTrue(fileSize > Verify.Upload.maxSizeVideo,"文件大小不超过" + Verify.Upload.maxSizeVideoDesc);
-        }else{
-            return null;
+        log.warn("the size of file: {}", fileSize);
+        if (StrUtil.equalsAny(fileSuffix, Verify.Upload.pics)) {
+            Verify.notTrue(fileSize > Verify.Upload.maxSizePic, "文件大小不超过" + Verify.Upload.maxSizePicDesc);
+        } else if (StrUtil.equalsAny(fileSuffix, Verify.Upload.files)) {
+            Verify.notTrue(fileSize > Verify.Upload.maxSizeFile, "文件大小不超过" + Verify.Upload.maxSizeFileDesc);
+        } else if (StrUtil.equalsAny(fileSuffix, Verify.Upload.videos)) {
+            Verify.notTrue(fileSize > Verify.Upload.maxSizeVideo, "文件大小不超过" + Verify.Upload.maxSizeVideoDesc);
+        } else {
+            throw Verify.verifyException(Verify.Upload.fileFormatNotSupport);
         }
-        String fileName = StrUtil.format("{}/{}{}",DateUtil.format(DateUtil.date(),DateInPath),IdWorker.getIdStr(),fileSuffix);
-        log.info("上传文件,新文件名:{}", fileName);
+        String fileName = StrUtil.format("{}/{}{}", DateUtil.format(DateUtil.date(), DateInPath), IdWorker.getIdStr(), fileSuffix);
+        log.info("the new file name:{}", fileName);
         return fileName;
     }
 
     @PostMapping("countDoing")
     @Verifier(fields = {"mtCompanyId", "userId"})
-    public RestResponse countDoing(@Ver @RequestBody CommonRequest request){
+    public RestResponse countDoing(@Ver @RequestBody CommonRequest request) {
         long inspection = annualInspectionService.countDoingByUser(request);
         long repair = emergencyRepairService.countDoingByUser(request);
         CommonResponse common = new CommonResponse();

+ 0 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/response/LiftAnnualInspectionResponse.java

@@ -57,5 +57,4 @@ public class LiftAnnualInspectionResponse {
      */
     private Integer loadInspectionSetting;
 
-    private Long workerId;
 }

+ 13 - 26
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/controller/MaintenanceRecordController.java

@@ -88,7 +88,7 @@ public class MaintenanceRecordController {
     @Verifier(fields = {"mtCompanyId"})
     public RestResponse pagePlan(@Ver @RequestBody MtPlanRequest request) {
         IPage<MtPlanResponse> pages = maintenancePlanService.pagePlanByCondition(request);
-        Verify.notNull(pages);
+        Verify.notNull(pages, "维保计划不存在,请核查");
         List<MtPlanResponse> records = pages.getRecords();
         if (IterUtil.isNotEmpty(records)) {
             List<ProjectLiftRelevance> relevances = projectLiftRelevanceService.listByMtCompany(request.getMtCompanyId());
@@ -132,7 +132,7 @@ public class MaintenanceRecordController {
     @Verifier(fields = {"id"})
     public RestResponse one(@Ver @RequestBody MtRecordRequest request) {
         MtRecordResponse entity = maintenanceRecordService.infoById(request);
-        Verify.notNull(entity);
+        Verify.notNull(entity, "维保记录不存在,请核查");
         /**
          * 维保项id:0/1/2, 0:无需保养,1:已保养,2:需要更换
          * 保养项目  用键值对的方式存储,如(1:0,2:1,3:1...)
@@ -153,16 +153,6 @@ public class MaintenanceRecordController {
         Long id = request.getId();
         //查询费用项
         entity.setMtRecordCosts(mtRecordCostService.listByRecord(id));
-        //总计 partsCost, manCost, 拼接sparepart
-//        List<MtRecordCost> mtRecordCosts = entity.getMtRecordCosts();
-//        if(IterUtil.isNotEmpty(mtRecordCosts)){
-//            BigDecimal partsCost = mtRecordCosts.stream().map(MtRecordCost::getPartsCost).reduce(BigDecimal.ZERO, (m1, m2) -> m1.add(m2));
-//            BigDecimal manCost = mtRecordCosts.stream().map(MtRecordCost::getManCost).reduce(BigDecimal.ZERO, (m1, m2) -> m1.add(m2));
-//            String sparepart = mtRecordCosts.stream().map(MtRecordCost::getSparepart).collect(Collectors.joining(";"));
-//            entity.setPartsCost(partsCost);
-//            entity.setManCost(manCost);
-//            entity.setSparepart(sparepart);
-//        }
         //查询图片
         entity.setMtRecordImgs(mtRecordImgService.listByRecord(id));
         //评价
@@ -260,11 +250,12 @@ public class MaintenanceRecordController {
         entity.setIsRegular(0);
         //补录
         entity.setIsRepair(1);
+        entity.setWorkDate(LocalDate.now());
         return maintenanceRecordService.tofill(entity);
     }
 
     /**
-     * 通过:app端提交的保养单点通过后生成正式保养单  status:-1 -> 3
+     * 通过:app端提交的保养单点通过后生成正式保养单  status:-1 -> 2
      * 清除超期: 超期的计划修改status ->1,workDate -> now
      *
      * @param request MtRecordRequest
@@ -274,9 +265,9 @@ public class MaintenanceRecordController {
     @Verifier(fields = {"id"})
     public RestResponse pass(@Ver @RequestBody MtRecordRequest request) {
         MaintenanceRecord entity = maintenanceRecordService.getById(request.getId());
-        Verify.notNull(entity);
+        Verify.notNull(entity, "维保记录不存在,请核查");
         Verify.notTrue("-1".equals(entity.getStatus()), "维保单必须待审核才能操作");
-        entity.setStatus("3");
+        entity.setStatus("2");
         return maintenanceRecordService.pass(entity);
     }
 
@@ -290,7 +281,7 @@ public class MaintenanceRecordController {
     @Verifier(fields = {"id"})
     public RestResponse refuse(@Ver @RequestBody MtRecordRequest request) {
         MaintenanceRecord entity = maintenanceRecordService.getById(request.getId());
-        Verify.notNull(entity);
+        Verify.notNull(entity, "维保记录不存在,请核查");
         Verify.notTrue("-1".equals(entity.getStatus()), "维保单必须待审核才能操作");
         boolean result = maintenanceRecordService.removeById(entity.getId());
         return RestResponse.success(result);
@@ -305,9 +296,8 @@ public class MaintenanceRecordController {
     @PostMapping("fill")
     @Verifier(fields = {"id", "maintenanceOption", "imgs"})
     public RestResponse fill(@Ver @RequestBody MtRecordRequest request) {
-        Long id = request.getId();
-        MaintenanceRecord entity = maintenanceRecordService.getById(id);
-        Verify.notNull(entity);
+        MaintenanceRecord entity = maintenanceRecordService.getById(request.getId());
+        Verify.notNull(entity, "维保记录不存在,请核查");
 
         String maintenanceOption = request.getMaintenanceOption();
         entity.setMaintenanceOption(maintenanceOption);
@@ -340,11 +330,8 @@ public class MaintenanceRecordController {
             return RestResponse.success(true);
         }
         MaintenanceRecord record = maintenanceRecordService.getById(request.getId());
-        Verify.notNull(record);
-
-        boolean result = maintenanceRecordService.deleteCost(record, mtRecordCost);
-
-        return RestResponse.success(result);
+        Verify.notNull(record, "维保记录不存在,请核查");
+        return maintenanceRecordService.deleteCost(record, mtRecordCost);
     }
 
     /**
@@ -356,8 +343,8 @@ public class MaintenanceRecordController {
     @PostMapping("evaluate")
     public RestResponse evaluate(@Valid @RequestBody Evaluation entity) {
         MaintenanceRecord record = maintenanceRecordService.getById(entity.getRecordId());
-        Verify.notNull(record);
-        //状态 1:已签到,未完成保养,2:完成保养,未选择评价方式,3:待评价,4:完成。
+        Verify.notNull(record, "维保记录不存在,请核查");
+        //状态 -1:待审核,0:待处理,1:已签到,保养中,2:完成保养,待评价,3:完成。
         Verify.notTrue("2".equals(record.getStatus()), "维保记录待评价才能操作");
         //来源(1 维保;2 急修)
         entity.setSource(1);

+ 18 - 10
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java

@@ -233,12 +233,23 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
             cost.setMtRecordId(entity.getId());
         });
         boolean rc = mtRecordCostService.saveOrUpdateBatch(mtRecordCosts, mtRecordCosts.size());
-        if(rc){
+        if(!rc){
+            //强制手动事务回滚
+            rollback();
+            return RestResponse.fail("修改保养收费项失败,请稍后重试");
+        }
+        MaintenancePlan plan = maintenancePlanService.getById(entity.getMtPlanId());
+        if(Objects.isNull(plan)){
+            return RestResponse.success(entity.getId());
+        }
+        plan.setWorkDate(LocalDate.now());
+        boolean mp = maintenancePlanService.updateById(plan);
+        if(mp){
             return RestResponse.success(entity.getId());
         }else{
             //强制手动事务回滚
             rollback();
-            return RestResponse.fail("修改保养收费项失败,请稍后重试");
+            return RestResponse.fail("修改保养计划执行时间失败,请稍后重试");
         }
     }
 
@@ -277,7 +288,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
     }
 
     /**
-     * 通过:app端提交的保养单点通过后生成正式保养单  status:-1 -> 3
+     * 通过:app端提交的保养单点通过后生成正式保养单  status:-1 -> 2
      * 清除超期: 超期的计划修改status ->1,workDate -> now
      * @author wcz
      * @param entity MaintenanceRecord
@@ -337,10 +348,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
      * @return boolean
      */
     @Transactional(rollbackFor = Exception.class)
-    public boolean deleteCost(MaintenanceRecord record, MtRecordCost mtRecordCost) {
-        if (null == mtRecordCost) {
-            return true;
-        }
+    public RestResponse deleteCost(MaintenanceRecord record, MtRecordCost mtRecordCost) {
         BigDecimal partsCost = mtRecordCost.getPartsCost();
         BigDecimal manCost = mtRecordCost.getManCost();
         String sparepart = mtRecordCost.getSparepart();
@@ -355,14 +363,14 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         }
         boolean cost = mtRecordCostService.removeById(mtRecordCost.getId());
         if (!cost) {
-            return false;
+            return RestResponse.fail("删除收费项失败,请稍后重试");
         }
         boolean re = updateById(record);
         if (re) {
-            return true;
+            return RestResponse.success(true);
         } else {
             rollback();
-            return false;
+            return RestResponse.fail("更新维保记录失败,请稍后重试");
         }
     }
 

+ 6 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/push/entity/InspectionTips.java

@@ -6,6 +6,12 @@ import lombok.Data;
 import java.util.*;
 import java.util.stream.Collectors;
 
+/**
+ * 根据年检查询推送信息
+ *
+ * @author wcz
+ * @since 2020/4/24
+ */
 @Data
 public class InspectionTips {
     /**

+ 6 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/push/entity/RepairTips.java

@@ -9,6 +9,12 @@ import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
+/**
+ * 根据急修查询相关推送
+ *
+ * @author wcz
+ * @since 2020/4/24
+ */
 @Data
 public class RepairTips {
     /**

+ 3 - 5
lift-business-service/src/main/java/cn/com/ty/lift/business/push/mapper/PushUserMapper.java

@@ -11,12 +11,10 @@ import org.apache.ibatis.annotations.Param;
 import java.util.List;
 
 /**
- * <p>
- * 专家表 Mapper 接口
- * </p>
+ * 推送用户
  *
- * @author huangyuan
- * @since 2020-04-17
+ * @author wcz
+ * @since 2020/4/24
  */
 public interface PushUserMapper extends BaseMapper<PushUserInfo> {
 

+ 6 - 55
lift-business-service/src/main/java/cn/com/ty/lift/business/push/service/PushUserService.java

@@ -4,71 +4,22 @@ import cn.com.ty.lift.business.project.dao.entity.Region;
 import cn.com.ty.lift.business.push.entity.InspectionTips;
 import cn.com.ty.lift.business.push.entity.RepairTips;
 import cn.com.ty.lift.business.push.mapper.PushUserMapper;
-import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.constants.CommonEnum;
 import cn.com.ty.lift.common.model.PushUserInfo;
-import cn.com.xwy.boot.service.impl.BaseServiceImpl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
 import java.util.List;
-import java.util.Objects;
 
 /**
- * @author huangyuan
- * @date 2020/4/17
- * @description
+ * 推送用户
+ *
+ * @author wcz
+ * @since 2020/4/24
  */
 @Service
-public class PushUserService extends BaseServiceImpl<PushUserMapper, PushUserInfo> {
-
-    /**
-     * @return 当前用户id
-     * @description 获取当前用户id
-     * @date 2020/4/17 10:06 上午
-     */
-    private Long getCurrentUserId() {
-        return getAttributeFromSession(ApiConstants.CURRENT_USER_ID);
-    }
-
-
-    /**
-     * @return 当前公司id
-     * @description 获取当前公司id
-     * @date 2020/4/17 10:09 上午
-     */
-    private Long getCurrentCompanyId() {
-        return getAttributeFromSession(ApiConstants.CURRENT_COMPANY_ID);
-    }
-
-    /**
-     * @param attributeName 属性名
-     * @return 属性值
-     * @description 从session中获取
-     * @date 2020/4/17 10:09 上午
-     */
-    private Long getAttributeFromSession(String attributeName) {
-        HttpSession session = getHttpSession();
-        if (session != null) {
-            return (Long) session.getAttribute(attributeName);
-        }
-        return null;
-    }
-
-    /**
-     * @return session
-     * @description 获取session
-     * @date 2020/4/17 10:06 上午
-     */
-    private HttpSession getHttpSession() {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(
-                RequestContextHolder.getRequestAttributes())).getRequest();
-        return request.getSession();
-    }
+public class PushUserService extends ServiceImpl<PushUserMapper, PushUserInfo> {
 
     public PushUserInfo listByUserId(Long mtCompanyId, Long userId){
         return baseMapper.listByUserId(mtCompanyId, userId);

+ 2 - 2
lift-business-service/src/main/resources/mapper/annualinspection/AnnualInspectionMapper.xml

@@ -186,7 +186,7 @@
         LEFT JOIN region re ON pr.region_id = re.id
         LEFT JOIN user_info ui ON ui.user_id = re.user_id
         <where>
-            <if test="cond.ids != null">
+            <if test="cond.ids != null and cond.ids.size > 0">
                 AND ai.id IN
                 <foreach collection="cond.ids" item="id" open="(" separator="," close=")">
                     #{id}
@@ -240,7 +240,7 @@
 
     <select id="countDoingByUser" resultType="java.lang.Long" parameterType="cn.com.ty.lift.business.common.CommonRequest">
         SELECT
-            count( * )
+            count(*)
         FROM
             annual_inspection ai
             LEFT JOIN project_lift_relevance plr ON plr.mt_company_id = ai.mt_company_id AND plr.lift_id = ai.lift_id

+ 1 - 1
lift-business-service/src/main/resources/mapper/emergency/EmergencyRepairMapper.xml

@@ -199,7 +199,7 @@
         LEFT JOIN user_info ui ON ui.user_id = er.worker_id1
         LEFT JOIN evaluation ev ON ev.record_id = er.id AND ev.source = 2
         <where>
-            <if test="cond.ids != null">
+            <if test="cond.ids != null and cond.ids.size > 0">
                 AND er.id IN
                 <foreach collection="cond.ids" item="id" open="(" separator="," close=")">
                     #{id}

+ 1 - 0
lift-business-service/src/main/resources/mapper/maintenance/MaintenanceRecordMapper.xml

@@ -31,6 +31,7 @@
 		<result column="parts_cost" property="partsCost" jdbcType="DECIMAL" />
 		<result column="man_cost" property="manCost" jdbcType="DECIMAL" />
 		<result column="safety_confirm" property="safetyConfirm" jdbcType="VARCHAR" />
+		<result column="has_evaluate" property="hasEvaluate" jdbcType="INTEGER" />
 
         <result column="project_name" property="projectName" jdbcType="VARCHAR" />
 		<result column="project_code" property="projectCode" jdbcType="VARCHAR" />

+ 0 - 56
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/mtCompanyUser/MtCompanyUser.java

@@ -1,56 +0,0 @@
-package cn.com.ty.lift.enterprise.mtCompanyUser;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * 实体类 - 表:mt_company_user
- *
- * @since 2019-12-03 16:55:27
- */
-@Data
-public class MtCompanyUser {
-    @TableId(value = "id", type = IdType.ID_WORKER)
-    private Long id;
-
-    private Long mtCompanyId;
-
-    private Long userId;
-
-    private Byte userRole;
-
-    private Byte isCurrentCompany;
-
-    private Byte isHxRegistered;
-
-    private Integer status;
-
-    private Integer serviceTotal;
-
-    private Integer satisfactionTotal;
-
-    private Integer serviceCount;
-
-    private Integer maintenanceTotal;
-
-    private Integer emergencyTotal;
-
-    private Integer liftTotal;
-
-    private String job;
-
-    private Integer deleteFlag;
-
-    private Date createTime;
-
-    private Date updateTime;
-
-    private Long createUserId;
-
-    private Long updateUserId;
-
-    private Integer repairFlag;
-}

+ 0 - 13
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/mtCompanyUser/mapper/MtCompanyUserMapper.java

@@ -1,13 +0,0 @@
-package cn.com.ty.lift.enterprise.mtCompanyUser.mapper;
-
-import cn.com.ty.lift.enterprise.mtCompanyUser.MtCompanyUser;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * MyBatis Mapper 接口 - 表:mt_company_user
- *
- * @since 2019-12-03 16:55:27
- */
-public interface MtCompanyUserMapper extends BaseMapper<MtCompanyUser> {
-
-}

+ 0 - 25
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/mtCompanyUser/service/MtCompanyUserService.java

@@ -1,25 +0,0 @@
-package cn.com.ty.lift.enterprise.mtCompanyUser.service;
-
-import cn.com.ty.lift.enterprise.mtCompanyUser.MtCompanyUser;
-import cn.com.ty.lift.enterprise.mtCompanyUser.mapper.MtCompanyUserMapper;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * @author huangyuan
- * @date 2019-12-03
- * @description
- */
-@Service
-public class MtCompanyUserService extends ServiceImpl<MtCompanyUserMapper, MtCompanyUser> {
-
-    public List<MtCompanyUser> listByMtCompany(Long mtCompanyId){
-        LambdaQueryWrapper<MtCompanyUser> lambdaQueryWrapper = Wrappers.lambdaQuery();
-        lambdaQueryWrapper.eq(MtCompanyUser::getMtCompanyId, mtCompanyId);
-        return list(lambdaQueryWrapper);
-    }
-}

+ 10 - 11
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/controller/AnnouncementController.java

@@ -5,8 +5,6 @@ import cn.com.ty.lift.common.model.PushMessage;
 import cn.com.ty.lift.common.model.PushUserInfo;
 import cn.com.ty.lift.common.verify.Ver;
 import cn.com.ty.lift.common.verify.Verifier;
-import cn.com.ty.lift.enterprise.mtCompanyUser.MtCompanyUser;
-import cn.com.ty.lift.enterprise.mtCompanyUser.service.MtCompanyUserService;
 import cn.com.ty.lift.enterprise.oa.dto.AnnouncementRequest;
 import cn.com.ty.lift.enterprise.oa.dto.AnnouncementResponse;
 import cn.com.ty.lift.enterprise.oa.entity.Announcement;
@@ -15,8 +13,8 @@ import cn.com.ty.lift.enterprise.oa.service.AnnouncementImgService;
 import cn.com.ty.lift.enterprise.oa.service.AnnouncementService;
 import cn.com.ty.lift.enterprise.push.PushUserService;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import cn.hutool.core.collection.IterUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.jms.core.JmsMessagingTemplate;
@@ -51,7 +49,6 @@ public class AnnouncementController {
     private AnnouncementService    announcementService;
     private AnnouncementImgService announcementImgService;
     private JmsMessagingTemplate   jmsMessagingTemplate;
-    private MtCompanyUserService   mtCompanyUserService;
     private PushUserService        pushUserService;
 
     /**
@@ -101,15 +98,17 @@ public class AnnouncementController {
         entity.setPostDate(LocalDateTime.now());
         RestResponse result = announcementService.add(entity);
         if(Objects.equals("1", result.getStatusCode())){
-            Long mtCompanyId = entity.getMtCompanyId();
-            List<MtCompanyUser> mtCompanyUsers = mtCompanyUserService.listByMtCompany(mtCompanyId);
-            if (IterUtil.isNotEmpty(mtCompanyUsers)) {
-                List<Long> userIds = mtCompanyUsers.stream().map(MtCompanyUser::getUserId).collect(Collectors.toList());
-                if(IterUtil.isNotEmpty(userIds)){
-                    List<PushUserInfo> pushUserInfos = pushUserService.listByUserIds(mtCompanyId, userIds);
+            long pageNum = 1;
+            long pages;
+            do {
+                IPage<PushUserInfo> iPage = pushUserService.pageByMtCompany(new Page<>(pageNum, 20), entity.getMtCompanyId());
+                pages = iPage.getPages();
+                List<PushUserInfo> pushUserInfos = iPage.getRecords();
+                if(pushUserInfos.size() > 0){
                     PushMessage.announcementNotice().sendTokenOnPlatform(jmsMessagingTemplate, pushUserInfos);
                 }
-            }
+                pageNum++;
+            } while (pageNum <= pages);
         }
         return result;
     }

+ 2 - 2
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/controller/AttendanceController.java

@@ -96,7 +96,7 @@ public class AttendanceController {
             request.setEnd(LocalDate.now());
         }
         IPage<AttendanceResponse> pages = attendanceService.pageByCondition(request);
-        long count = attendanceService.count();
+        long count = attendanceService.countByMtCompany(request.getMtCompanyId());
         return RestResponse.success(CountPage.getCountPage(count, pages));
     }
 
@@ -182,7 +182,7 @@ public class AttendanceController {
         Attendance same = attendanceService.sameByUserAndType(mtCompanyId, userId, type);
         Verify.notTrue(Objects.nonNull(same), String.format(Verify.Attend.hadClock, same.getCreateDate(), same.getCreateDate()));
         MaintenanceCompany maintenanceCompany = maintenanceCompanyService.getById(mtCompanyId);
-        Verify.notNull(maintenanceCompany);
+        Verify.notNull(maintenanceCompany, "维保公司不存在,请核查");
 
         LocalTime now = LocalTime.now();
         //状态(是否迟到早退,0:否,1:是)

+ 3 - 3
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/dto/AttendanceResponse.java

@@ -98,7 +98,7 @@ public class AttendanceResponse extends Attendance{
                 localTime = null;
         }
 
-        if(null == localTime){
+        if(Objects.isNull(localTime)){
             return "无";
         }else{
             return String.format("%tT", localTime);
@@ -140,9 +140,9 @@ public class AttendanceResponse extends Attendance{
             case 0:
                 return "正常";
             case 1:
-                if(type >> 1 == 1){
+                if(type % 2 == 1){
                     return "迟到";
-                }else if(type >> 1 == 0){
+                }else if(type % 2 == 0){
                     return "早退";
                 }else {
                     return "无";

+ 6 - 0
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/oa/service/AttendanceService.java

@@ -76,4 +76,10 @@ public class AttendanceService extends ServiceImpl<AttendanceMapper,Attendance>
     public AttendanceResponse infoById(AttendanceRequest request){
         return baseMapper.infoById(request);
     }
+
+    public long countByMtCompany(Long mtCompanyId){
+        LambdaQueryWrapper<Attendance> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        lambdaQueryWrapper.eq(Attendance::getMtCompanyId, mtCompanyId);
+        return count(lambdaQueryWrapper);
+    }
 }

+ 13 - 59
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/push/PushUserService.java

@@ -1,70 +1,22 @@
 package cn.com.ty.lift.enterprise.push;
 
-import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.constants.CommonEnum;
 import cn.com.ty.lift.common.model.PushUserInfo;
 import cn.com.ty.lift.enterprise.push.mapper.PushUserMapper;
-import cn.com.xwy.boot.service.impl.BaseServiceImpl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
 import java.util.List;
-import java.util.Objects;
 
 /**
- * @author huangyuan
- * @date 2020/4/17
- * @description
+ * 推送用户
+ *
+ * @author wcz
+ * @since 2020/4/24
  */
 @Service
-public class PushUserService extends BaseServiceImpl<PushUserMapper, PushUserInfo> {
-
-    /**
-     * @return 当前用户id
-     * @description 获取当前用户id
-     * @date 2020/4/17 10:06 上午
-     */
-    private Long getCurrentUserId() {
-        return getAttributeFromSession(ApiConstants.CURRENT_USER_ID);
-    }
-
-
-    /**
-     * @return 当前公司id
-     * @description 获取当前公司id
-     * @date 2020/4/17 10:09 上午
-     */
-    private Long getCurrentCompanyId() {
-        return getAttributeFromSession(ApiConstants.CURRENT_COMPANY_ID);
-    }
-
-    /**
-     * @param attributeName 属性名
-     * @return 属性值
-     * @description 从session中获取
-     * @date 2020/4/17 10:09 上午
-     */
-    private Long getAttributeFromSession(String attributeName) {
-        HttpSession session = getHttpSession();
-        if (session != null) {
-            return (Long) session.getAttribute(attributeName);
-        }
-        return null;
-    }
-
-    /**
-     * @return session
-     * @description 获取session
-     * @date 2020/4/17 10:06 上午
-     */
-    private HttpSession getHttpSession() {
-        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(
-                RequestContextHolder.getRequestAttributes())).getRequest();
-        return request.getSession();
-    }
+public class PushUserService extends ServiceImpl<PushUserMapper, PushUserInfo> {
 
     public PushUserInfo listByUserId(Long mtCompanyId, Long userId){
         return baseMapper.listByUserId(mtCompanyId, userId);
@@ -80,19 +32,21 @@ public class PushUserService extends BaseServiceImpl<PushUserMapper, PushUserInf
 
     /**
      * 查询公司下总经理
-     * @param mtCompanyId
-     * @return
      */
     public List<PushUserInfo> listHighDirector(Long mtCompanyId){
         return baseMapper.listByRoleCode(mtCompanyId, CommonEnum.DefaultRole.HIGH_DIRECTOR.getCode());
     }
     /**
      * 查询公司下管理员
-     * @param mtCompanyId
-     * @return
      */
     public List<PushUserInfo> listEnterpriseAdmin(Long mtCompanyId){
         return baseMapper.listByRoleCode(mtCompanyId, CommonEnum.DefaultRole.ENTERPRISE_ADMIN.getCode());
     }
 
+    /**
+     * 分页查询公司下所有的人员
+     */
+    public IPage<PushUserInfo> pageByMtCompany(IPage<PushUserInfo> page, Long mtCompanyId){
+        return baseMapper.pageByMtCompany(page, mtCompanyId);
+    }
 }

+ 7 - 2
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/push/mapper/PushUserMapper.java

@@ -2,23 +2,28 @@ package cn.com.ty.lift.enterprise.push.mapper;
 
 import cn.com.ty.lift.common.model.PushUserInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 /**
  * <p>
- * 专家表 Mapper 接口
+ *  推送用户账号 Mapper 接口
  * </p>
  *
- * @author huangyuan
+ * @author wcz
  * @since 2020-04-17
  */
 public interface PushUserMapper extends BaseMapper<PushUserInfo> {
 
     List<PushUserInfo> listByUserIds(@Param("mtCompanyId") Long mtCompanyId, @Param("userIds") List<Long> userIds);
+
     PushUserInfo listByUserId(@Param("mtCompanyId") Long mtCompanyId, @Param("userId") Long userId);
+
     List<PushUserInfo> listByRoleCodes(@Param("mtCompanyId") Long mtCompanyId, @Param("roleCodes") List<String> roleCodes);
+
     List<PushUserInfo> listByRoleCode(@Param("mtCompanyId") Long mtCompanyId, @Param("roleCode") String roleCode);
 
+    IPage<PushUserInfo> pageByMtCompany(IPage<PushUserInfo> page, @Param("mtCompanyId") Long mtCompanyId);
 }

+ 21 - 0
lift-enterprise-service/src/main/resources/mapper/push/PushUserMapper.xml

@@ -109,4 +109,25 @@
             </if>
         </where>
     </select>
+
+    <select id="pageByMtCompany" resultMap="BaseResultMap" parameterType="java.lang.Long">
+        SELECT
+            ui.user_id,
+            ui.NAME AS username,
+            ua.mobile,
+            ua.device_model,
+            ua.device_flag,
+            ro.NAME AS role_name
+        FROM
+            user_info ui
+            LEFT JOIN user_account ua ON ui.user_id = ua.user_id
+            LEFT JOIN user_role ur ON ui.user_id = ur.user_id
+            LEFT JOIN role ro ON ro.id = ur.role_id
+            LEFT JOIN mt_company_user mcu ON mcu.user_id = ui.user_id AND mcu.mt_company_id = ur.company_id
+        <where>
+            <if test="mtCompanyId != null and mtCompanyId > 0">
+                mcu.mt_company_id = #{mtCompanyId}
+            </if>
+        </where>
+    </select>
 </mapper>