Browse Source

“消息推送创建时间;监控中心人员;计划类型和子类型字段;巡检状态判断;巡检线名称模糊查询;巡检暂停状态判断;批量更新巡检点;隐患查询部位返回”

yangjunfeng 2 years ago
parent
commit
bc49d45a55

+ 4 - 0
snws-admin/snws-base-service/src/main/java/com/tofly/base/controller/message/MessagepushController.java

@@ -15,6 +15,7 @@ import com.tofly.base.service.messge.MessagerecipientService;
 import com.tofly.common.core.entity.ResultRespone;
 import com.tofly.common.log.annotation.ToFlyAppLog;
 
+import com.tofly.common.oauth.util.SecurityUtils;
 import com.tofly.pojo.message.Messagepush;
 import com.tofly.pojo.message.Messagerecipient;
 import lombok.AllArgsConstructor;
@@ -28,6 +29,7 @@ import org.springframework.web.bind.annotation.ModelAttribute;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -80,6 +82,8 @@ public class MessagepushController {
     @ApiOperation(value = "新增消息推送数据表:TF_YWPN_MESSAGEPUSH_W")
     @PostMapping("/save")
     public ResultRespone<Long> save(@RequestBody Messagepush messagepush) {
+        messagepush.setCreateUser(SecurityUtils.getUserId());
+        messagepush.setCreateTime(new Date());
         boolean save = messagepushService.save(messagepush);
         if(save){
             return ResultRespone.success(messagepush.getId());

+ 1 - 1
snws-gps/snws-gps-api/src/main/java/com/tofly/pojo/plan/Planchildtype.java

@@ -51,7 +51,7 @@ public class Planchildtype extends Model<Planchildtype> {
      * 实际完成率
      */
     @ApiModelProperty(value = "个人实际完成率")
-    private Float percent;
+    private Float percentRate;
     /**
      * 已完成点数
      */

+ 1 - 1
snws-gps/snws-gps-api/src/main/java/com/tofly/pojo/plan/Plantype.java

@@ -55,7 +55,7 @@ public class Plantype extends Model<Plantype> {
      * 实际完成率
      */
     @ApiModelProperty(value = "实际完成率")
-    private Float percent;
+    private Float percentRate;
     /**
      * 已完成点数
      */

+ 4 - 0
snws-gps/snws-gps-api/src/main/java/com/tofly/pojo/plan/dto/PlanpathDto.java

@@ -4,6 +4,7 @@
  */
 package com.tofly.pojo.plan.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -35,6 +36,9 @@ public class PlanpathDto extends Model<PlanpathDto> {
      */
     @ApiModelProperty(value = "巡检线名称")
     private String name;
+    @ApiModelProperty(value = "巡检线名称模糊查询")
+    @TableField(exist = false)
+    private String nameLike;
     /**
      * 巡检片区编码
      */

+ 3 - 2
snws-gps/snws-gps-boot/src/main/java/com/tofly/gpsboot/common/system/PlanStateEnum.java

@@ -16,7 +16,7 @@ public enum PlanStateEnum {
      */
     PLAN_STATE_NOT_SUBMITTED("0","未提交"),
     PLAN_STATE_NOT_AUDIT("1","未审核"),
-    PLAN_STATE_NOT_START("2","未开始"),
+    PLAN_STATE_NOT_START_ON_TIME("2","未开始未超时"),
     PLAN_STATE_BEING_PERFORMED("3","正在执行"),
     PLAN_STATE_PLAN_COMPLETE("4","计划完成"),
     PLAN_STATE_EXECUTION_NOT_STARTED("5","已开始未执行"),
@@ -25,7 +25,8 @@ public enum PlanStateEnum {
     PLAN_STATE_APPLY_CANCELLATION("9","申请作废"),
     PLAN_STATE_PLAN_DISUSE("10","计划已作废"),
     PLAN_STATE_PLAN_UNFINISHED("11","计划未完成,已超时"),
-    PLAN_STATE_UNENFORCEABLE("12","未到开始时间,不可执行")
+    PLAN_STATE_UNENFORCEABLE("12","未到开始时间,不可执行"),
+    PLAN_STATE_NOT_START_OVER_TIME("13","未开始已超时")
     ;
     /**
      * 编码

+ 4 - 4
snws-gps/snws-gps-boot/src/main/java/com/tofly/gpsboot/controller/monitor/MonitorCenterController.java

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.tofly.api.UserClent;
 import com.tofly.common.core.entity.ResultRespone;
 import com.tofly.common.core.util.DateUtil;
+import com.tofly.common.oauth.auth.ToflyUser;
+import com.tofly.common.oauth.util.SecurityUtils;
 import com.tofly.es.GpsUpload;
 import com.tofly.es.dto.UserGpsSearchDto;
 import com.tofly.gpsboot.mapper.es.GpsUploadRepository;
@@ -54,11 +56,9 @@ public class MonitorCenterController {
     private ElasticsearchTemplate elasticsearchTemplate;
     @GetMapping("/userData" )
     @ApiOperation(value = "人员")
-    public ResultRespone<Page<DispatchVo>> getuserMonitorPage(Page page
-            , @ModelAttribute MonitorDto monitorDto) {
+    public ResultRespone<ToflyUser> getuserMonitorPage(@ModelAttribute MonitorDto monitorDto) {
         //查询人员
-
-        return  ResultRespone.success(null);
+        return  ResultRespone.success(SecurityUtils.getUser());
 
     }
 

+ 4 - 2
snws-gps/snws-gps-boot/src/main/java/com/tofly/gpsboot/handler/plan/PlanExecuteStateHandler.java

@@ -37,9 +37,11 @@ public class PlanExecuteStateHandler {
             Date planBegindate = info.getPlanBegindate();
             Date planEnddate = info.getPlanEnddate();
             if(now.isAfter(DateTimeUtil.fromLong2LocalDateTime(planBegindate.getTime())) && now.isBefore(DateTimeUtil.fromLong2LocalDateTime(planEnddate.getTime()))){
-                info.setPlanState(PlanStateEnum.PLAN_STATE_NOT_START.getCode());
-                updatePlanList.add(info);
+                info.setPlanState(PlanStateEnum.PLAN_STATE_NOT_START_ON_TIME.getCode());
+            }else {
+                info.setPlanState(PlanStateEnum.PLAN_STATE_NOT_START_OVER_TIME.getCode());
             }
+            updatePlanList.add(info);
         });
         if(updatePlanList.size()>0){
             planService.updateBatchById(planList);

+ 2 - 5
snws-gps/snws-gps-boot/src/main/java/com/tofly/gpsboot/service/daily/impl/PlanpathServiceImpl.java

@@ -59,12 +59,9 @@ public class PlanpathServiceImpl extends ServiceImpl<PlanpathMapper, Planpath> i
     public Page<PlanpathVo> getPlanPathPage(Page page, PlanpathDto parDto) {
         Planpath planpath = JSON.parseObject(JSON.toJSONString(parDto),Planpath.class);
         QueryWrapper<Planpath> wrapper = new QueryWrapper();
-        String name = parDto.getName();
-        if(!StringUtils.isEmpty(name)){
-            wrapper.like("NAME",name);
-        }
+        String nameLike = parDto.getNameLike();
         wrapper.setEntity(planpath);
-        Page infoPageList = this.page(page, wrapper);
+        Page infoPageList = this.page(page, wrapper.like(nameLike != null, "NAME",nameLike));
         infoPageList.setRecords(this.viewConversion(infoPageList.getRecords()));
         return infoPageList;
     }

+ 4 - 4
snws-gps/snws-gps-boot/src/main/java/com/tofly/gpsboot/service/paln/task/impl/PlanFactoryServiceImpl.java

@@ -138,7 +138,7 @@ public class PlanFactoryServiceImpl extends ServiceImpl<PlanFactoryMapper, PlanF
                     }
                     one.setLeakageRate(leakageRate.floatValue());
                     one.setOverCount(overNum);
-                    one.setPercent(multiply.floatValue());
+                    one.setPercentRate(multiply.floatValue());
                     updatePlanTypeList.add(one);
 
                     // 个人完成率
@@ -148,10 +148,10 @@ public class PlanFactoryServiceImpl extends ServiceImpl<PlanFactoryMapper, PlanF
                         Planchildtype child = list.get(0);
                         planchildtype.setId(child.getId());
                         planchildtype.setOverCount(child.getOverCount().add(BigDecimal.valueOf(g.size())));
-                        planchildtype.setPercent(planchildtype.getOverCount().divide(totalCount, 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).floatValue());
+                        planchildtype.setPercentRate(planchildtype.getOverCount().divide(totalCount, 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).floatValue());
                     } else {
                         planchildtype.setOverCount(overNum);
-                        planchildtype.setPercent(multiply.floatValue());
+                        planchildtype.setPercentRate(multiply.floatValue());
                     }
                     planchildtype.setTypeId(f);
                     planchildtype.setPlanId(k);
@@ -179,7 +179,7 @@ public class PlanFactoryServiceImpl extends ServiceImpl<PlanFactoryMapper, PlanF
                 AtomicInteger overNum = new AtomicInteger();
                 plantypes.forEach(planType -> {
                     float completionRate = planType.getCompletionRate()==null?0:planType.getCompletionRate();
-                    float percent = planType.getPercent()==null?0:planType.getPercent();
+                    float percent = planType.getPercentRate()==null?0:planType.getPercentRate();
                     if (completionRate <= percent) {
                         overNum.set(overNum.get() + 1);
                     }

+ 25 - 5
snws-gps/snws-gps-boot/src/main/java/com/tofly/gpsboot/service/paln/task/impl/PlanServiceImpl.java

@@ -147,10 +147,21 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             }
             // 查询当前计划是否暂停/作废
             List<Planstop> list = planstopService.list(new QueryWrapper<Planstop>().lambda().eq(Planstop::getPlanId, info.getId()));
+            Date startDate = info.getPlanBegindate();
+            Date endDate = info.getPlanEnddate();
+            Date now = new Date();
             if (null != list && list.size() > 0) {
                 String auditResult = list.get(0).getAuditResult();
-                if (IsAuditEnum.IS_AUDIT_YES.getCode().equals(auditResult)) {
+                if ("2".equals(auditResult)) {
+                    baseInfo.setPlanState(PlanStateEnum.PLAN_STATE_PROJECT_SUSPENDED.getCode());
                     baseInfo.setIsPlanStop(IsRespectEnum.IS_RESPECT_YES.getValue());
+                } else if ("0".equals(auditResult)) {
+                    if (now.compareTo(startDate) > 0 && now.compareTo(endDate) < 0) {
+                        baseInfo.setPlanState(PlanStateEnum.PLAN_STATE_NOT_START_ON_TIME.getCode());
+                    } else {
+                        baseInfo.setPlanState(PlanStateEnum.PLAN_STATE_NOT_START_OVER_TIME.getCode());
+                    }
+                    baseInfo.setIsPlanStop(IsRespectEnum.IS_RESPECT_NO.getValue());
                 } else {
                     baseInfo.setIsPlanStop(IsRespectEnum.IS_RESPECT_NO.getValue());
                 }
@@ -160,7 +171,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             List<Plancancle> plancancleList = plancancleService.list(new QueryWrapper<Plancancle>().lambda().eq(Plancancle::getPlanId, info.getId()));
             if (null != plancancleList && plancancleList.size() > 0) {
                 String auditResult = plancancleList.get(0).getAuditResult();
-                if (IsAuditEnum.IS_AUDIT_YES.getCode().equals(auditResult)) {
+                if ("2".equals(auditResult)) {
                     baseInfo.setIsPlanInvalid(IsRespectEnum.IS_RESPECT_YES.getValue());
                 } else {
                     baseInfo.setIsPlanInvalid(IsRespectEnum.IS_RESPECT_NO.getValue());
@@ -272,7 +283,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             intervalDay = parDto.getIntervalDay();
         }
         // 计算巡检任务的集合
-        List<Plan> planList = this.calculatePlanList(plan, intervalDay);
+        List<Plan> planList = this.calculatePlanList(plan, intervalDay, parDto.getPointTempList());
         planList.forEach(this::save);
         log.info("新增计划{}",JSON.toJSONString(planList));
         // 新增到 计划与巡察组关联表,计划与巡查人关联表 ; 这个分开
@@ -530,7 +541,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         // 若修改当前计划状态 为 3 正在执行
         if (PlanStateEnum.PLAN_STATE_BEING_PERFORMED.getCode().equals(planState)) {
             // 巡检计划为 2 未开始 或 5 已开始未执行
-            if (PlanStateEnum.PLAN_STATE_NOT_START.getCode().equals(plan.getPlanState()) || PlanStateEnum.PLAN_STATE_EXECUTION_NOT_STARTED.getCode().equals(plan.getPlanState())) {
+            if (PlanStateEnum.PLAN_STATE_NOT_START_ON_TIME.getCode().equals(plan.getPlanState()) || PlanStateEnum.PLAN_STATE_EXECUTION_NOT_STARTED.getCode().equals(plan.getPlanState())) {
                 // 巡检计划巡检开始时间若大于当前时间则不允许启动
                 LocalDateTime startTime = DateTimeUtil.fromLong2LocalDateTime(plan.getPlanBegindate().getTime());
                 if (LocalDateTime.now().isBefore(startTime)) {
@@ -590,7 +601,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
      * @param intervalDay 计划周期间隔时间
      * @return 巡检任务集合
      */
-    private List<Plan> calculatePlanList(Plan plan, Integer intervalDay) {
+    private List<Plan> calculatePlanList(Plan plan, Integer intervalDay, List<Pointtemp> pointTempList) {
         Date planBeginDate = plan.getPlanBegindate();
         // 由于前端传入的是以59:59:59 结尾,后台处理  +1天取当前天数起始日
         Date planEndDate = DateTimeUtil.convertLDTToDate(LocalDateTime.of(DateTimeUtil.fromLong2LocalDateTime(plan.getPlanEnddate().getTime()).plusDays(1).toLocalDate(), LocalTime.MIN));
@@ -603,6 +614,13 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         }
         int i = divide.intValue();
         List<Plan> planList = new ArrayList<>();
+        BigDecimal totalLength = BigDecimal.ZERO;
+        BigDecimal totalCount = BigDecimal.ZERO;
+        if (pointTempList != null && pointTempList.size() != 0) {
+            totalCount = BigDecimal.valueOf(pointTempList.size());
+            List<BigDecimal> pipeLengthList = pointTempList.stream().map(Pointtemp::getPipeLength).filter(Objects::nonNull).collect(Collectors.toList());
+            pipeLengthList.forEach(totalLength::add);
+        }
         while (i > k) {
             Plan info = JSON.parseObject(JSON.toJSONString(plan), Plan.class);
             info.setPlanBegindate(planBeginDate);
@@ -614,6 +632,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                 info.setPlanEnddate(planEndDate);
             }
             info.setId(null);
+            info.setTotalCount(totalCount);
+            info.setTotalLength(totalLength);
             planList.add(info);
             k++;
         }

+ 4 - 4
snws-gps/snws-gps-boot/src/main/java/com/tofly/gpsboot/service/process/impl/PointtempServiceImpl.java

@@ -153,7 +153,7 @@ public class PointtempServiceImpl extends ServiceImpl<PointtempMapper, Pointtemp
                     BigDecimal multiply = overNum.divide(totalCount, 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100));
                     one.setOverCount(overNum);
                     one.setOverLength(length);
-                    one.setPercent(multiply.floatValue());
+                    one.setPercentRate(multiply.floatValue());
                     plantypeService.updateById(one);
 
                     // 个人完成率
@@ -167,11 +167,11 @@ public class PointtempServiceImpl extends ServiceImpl<PointtempMapper, Pointtemp
                         planchildtype.setId(child.getId());
                         planchildtype.setOverCount(child.getOverCount().add(BigDecimal.valueOf(n)));
                         planchildtype.setOverLength(child.getOverLength().add(BigDecimal.valueOf(null == collect2.get(m) ? 0 : collect2.get(m).getSum())));
-                        planchildtype.setPercent(planchildtype.getOverCount().divide(totalCount, 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).floatValue());
+                        planchildtype.setPercentRate(planchildtype.getOverCount().divide(totalCount, 4, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100)).floatValue());
                     } else {
                         planchildtype.setOverCount(overNum);
                         planchildtype.setOverLength(length);
-                        planchildtype.setPercent(multiply.floatValue());
+                        planchildtype.setPercentRate(multiply.floatValue());
                     }
                     planchildtype.setPlanChildId(planchild.getId());
                     planchildtype.setUserId(planchild.getRespUser());
@@ -196,7 +196,7 @@ public class PointtempServiceImpl extends ServiceImpl<PointtempMapper, Pointtemp
                 AtomicInteger overNum = new AtomicInteger();
                 planTypeList.forEach(planType -> {
                     float completionRate = planType.getCompletionRate()==null?0:planType.getCompletionRate();
-                    float percent = planType.getPercent()==null?0:planType.getPercent();
+                    float percent = planType.getPercentRate()==null?0:planType.getPercentRate();
                     if (completionRate<=percent) {
                         overNum.set(overNum.get() + 1);
                     }

+ 1 - 0
snws-gps/snws-gps-boot/src/main/java/com/tofly/gpsboot/service/trouble/impl/TroubleServiceImpl.java

@@ -151,6 +151,7 @@ public class TroubleServiceImpl extends ServiceImpl<TroubleMapper, Trouble> impl
                 baseInfo.setToubleRangeName(toublerangeService.getById(toubleRangeId).getName());
             }
 
+            baseInfo.setLocation(info.getLocation());
             infoVoList.add(baseInfo);
         });
 

+ 1 - 1
snws-gps/snws-gps-boot/src/main/resources/mapper/plan/PlanchildtypeMapper.xml

@@ -9,7 +9,7 @@
         <result property="planChildId" column="PLAN_Child_ID"/>
         <result property="typeId" column="TYPE_ID"/>
         <result property="completionRate" column="COMPLETION_RATE"/>
-        <result property="percent" column="PERCENT"/>
+        <result property="percentRate" column="PERCENT_RATE"/>
         <result property="overCount" column="OVER_COUNT"/>
         <result property="totalCount" column="TOTAL_COUNT"/>
         <result property="userId" column="USER_ID"/>

+ 1 - 1
snws-gps/snws-gps-boot/src/main/resources/mapper/plan/PlantypeMapper.xml

@@ -8,7 +8,7 @@
         <result property="planId" column="PLAN_ID"/>
         <result property="typeId" column="TYPE_ID"/>
         <result property="completionRate" column="COMPLETION_RATE"/>
-        <result property="percent" column="PERCENT"/>
+        <result property="percentRate" column="PERCENT_RATE"/>
         <result property="overCount" column="OVER_COUNT"/>
         <result property="totalCount" column="TOTAL_COUNT"/>
         <result property="overLength" column="OVER_LENGTH"/>