hanfucheng 5 月之前
父节点
当前提交
afaa982f4c
共有 20 个文件被更改,包括 286 次插入93 次删除
  1. 4 1
      data-ui/src/views/data/digitalemergency1/log/index.vue
  2. 1 1
      src/main/java/com/sooka/sponest/data/digitalemergency/controller/CentereventTEmergencyPatrolrecordController.java
  3. 24 0
      src/main/java/com/sooka/sponest/data/digitalemergency/controller/EmergencyViewController.java
  4. 10 0
      src/main/java/com/sooka/sponest/data/digitalemergency/domain/CentereventTEmergencyPatrolrecord.java
  5. 6 0
      src/main/java/com/sooka/sponest/data/digitalemergency/domain/bo/EmergencyViewBO.java
  6. 4 0
      src/main/java/com/sooka/sponest/data/digitalemergency/mapper/EmergencyViewMapper.java
  7. 4 0
      src/main/java/com/sooka/sponest/data/digitalemergency/service/IEmergencyViewService.java
  8. 21 20
      src/main/java/com/sooka/sponest/data/digitalemergency/service/impl/CentereventTEmergencyPatrolrecordServiceImpl.java
  9. 13 0
      src/main/java/com/sooka/sponest/data/digitalemergency/service/impl/EmergencyViewServiceImpl.java
  10. 10 5
      src/main/java/com/sooka/sponest/data/emergency/appmin/xungeng/controller/AppXungengController.java
  11. 5 0
      src/main/java/com/sooka/sponest/data/emergency/appmin/xungeng/domain/AppXungengVO.java
  12. 3 1
      src/main/java/com/sooka/sponest/data/emergency/appmin/xungeng/service/AppXungengService.java
  13. 37 59
      src/main/java/com/sooka/sponest/data/emergency/appmin/xungeng/service/impl/AppXungengServiceImpl.java
  14. 16 0
      src/main/java/com/sooka/sponest/data/other/patrolpoint/controller/CenterdataTEmergencyPatrolpointController.java
  15. 2 0
      src/main/java/com/sooka/sponest/data/other/patrolpoint/domain/CenterdataTEmergencyPatrolpoint.java
  16. 16 0
      src/main/java/com/sooka/sponest/data/other/patrolpoint/mapper/CenterdataTEmergencyPatrolpointMapper.java
  17. 16 0
      src/main/java/com/sooka/sponest/data/other/patrolpoint/service/ICenterdataTEmergencyPatrolpointService.java
  18. 34 4
      src/main/java/com/sooka/sponest/data/other/patrolpoint/service/impl/CenterdataTEmergencyPatrolpointServiceImpl.java
  19. 28 1
      src/main/resources/mapper/digitalemergency/EmergencyViewMapper.xml
  20. 32 1
      src/main/resources/mapper/other/CenterdataTEmergencyPatrolpointMapper.xml

+ 4 - 1
data-ui/src/views/data/digitalemergency1/log/index.vue

@@ -146,7 +146,7 @@
     </el-row>
 
     <el-table v-loading="loading" :data="logList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column type="selection" width="55" align="center" :selectable="isSelectable"/>
       <!--<el-table-column label="日志ID" align="center" prop="busLogId" />-->
       <el-table-column label="日志类型" align="center" prop="busLogType">
         <template slot-scope="scope">
@@ -356,6 +356,9 @@ import {listLog, getLog, delLog, addLog, updateLog, checkLog} from "@/api/center
           this.loading = false;
         });
       },
+      isSelectable(row, index) {
+        return row.busLogType === 'log_type_0';
+      },
       // 取消按钮
       cancel() {
         this.open = false;

+ 1 - 1
src/main/java/com/sooka/sponest/data/digitalemergency/controller/CentereventTEmergencyPatrolrecordController.java

@@ -80,7 +80,7 @@ public class CentereventTEmergencyPatrolrecordController extends BaseController
     /**
      * 新增巡更记录
      */
-    @RequiresPermissions("patrolrecord:patrolrecord:add")
+//    @RequiresPermissions("patrolrecord:patrolrecord:add")
     @Log(title = "巡更记录", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody CentereventTEmergencyPatrolrecord centereventTEmergencyPatrolrecord) {

+ 24 - 0
src/main/java/com/sooka/sponest/data/digitalemergency/controller/EmergencyViewController.java

@@ -79,4 +79,28 @@ public class EmergencyViewController extends BaseController {
         FireControlViewBO fireControlViewBO = JSONObject.parseObject(JSON.toJSONString(emergencyViewBO), FireControlViewBO.class);
         return AjaxResult.success(fireControlViewService.getPointByDeptId(fireControlViewBO));
     }
+
+    /*
+    * 查询巡更记录
+    *
+    * @author 韩福成
+    * @date 2025/2/25 下午12:03
+    */
+    @ApiOperation(value = "查询巡更记录", notes = "查询巡更记录")
+    @GetMapping("/getXungengRecord")
+    public AjaxResult getXungengRecord(EmergencyViewBO emergencyViewBO) {
+        return AjaxResult.success(emergencyViewService.getXungengRecord(emergencyViewBO));
+    }
+
+    /*
+    * 查询巡更点位
+    *
+    * @author 韩福成
+    * @date 2025/2/25 上午11:33
+    */
+    @ApiOperation(value = "查询巡更点位", notes = "查询巡更点位")
+    @GetMapping("/getXungengPoint")
+    public AjaxResult getXungengPoint(EmergencyViewBO emergencyViewBO) {
+        return AjaxResult.success(emergencyViewService.getXungengPoint(emergencyViewBO));
+    }
 }

+ 10 - 0
src/main/java/com/sooka/sponest/data/digitalemergency/domain/CentereventTEmergencyPatrolrecord.java

@@ -112,6 +112,16 @@ public class CentereventTEmergencyPatrolrecord extends BaseEntity {
      */
     private Long deptId;
 
+    private String busLogId;
+
+    public String getBusLogId() {
+        return busLogId;
+    }
+
+    public void setBusLogId(String busLogId) {
+        this.busLogId = busLogId;
+    }
+
     public void setId(String id) {
         this.id = id;
     }

+ 6 - 0
src/main/java/com/sooka/sponest/data/digitalemergency/domain/bo/EmergencyViewBO.java

@@ -32,4 +32,10 @@ public class EmergencyViewBO extends BaseBusinessEntity {
 
     //名称
     private String name;
+
+    //企业id
+    private String enterpriseId;
+
+    //记录id
+    private String logId;
 }

+ 4 - 0
src/main/java/com/sooka/sponest/data/digitalemergency/mapper/EmergencyViewMapper.java

@@ -14,4 +14,8 @@ import java.util.Map;
 public interface EmergencyViewMapper {
 
     List<Map<String, Object>> emergencyViewList(EmergencyViewBO emergencyViewBO);
+
+    List<Map<String, Object>> getXungengRecord(EmergencyViewBO emergencyViewBO);
+
+    List<Map<String, Object>> getXungengPoint(EmergencyViewBO emergencyViewBO);
 }

+ 4 - 0
src/main/java/com/sooka/sponest/data/digitalemergency/service/IEmergencyViewService.java

@@ -21,4 +21,8 @@ public interface IEmergencyViewService extends IBaseService {
     List<Map<String, Object>> getPointByDeptId(EmergencyViewBO emergencyViewBO);
 
     void dataFilter(List<Map<String, Object>> pointList);
+
+    List<Map<String, Object>> getXungengRecord(EmergencyViewBO emergencyViewBO);
+
+    List<Map<String, Object>> getXungengPoint(EmergencyViewBO emergencyViewBO);
 }

+ 21 - 20
src/main/java/com/sooka/sponest/data/digitalemergency/service/impl/CentereventTEmergencyPatrolrecordServiceImpl.java

@@ -2,6 +2,7 @@ package com.sooka.sponest.data.digitalemergency.service.impl;
 
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.security.utils.SecurityUtils;
 import com.sooka.sponest.data.digitalemergency.domain.CentereventTEmergencyPatrolrecord;
 import com.sooka.sponest.data.digitalemergency.mapper.CentereventTEmergencyPatrolrecordMapper;
 import com.sooka.sponest.data.digitalemergency.service.ICentereventTEmergencyPatrolrecordService;
@@ -61,29 +62,29 @@ public class CentereventTEmergencyPatrolrecordServiceImpl implements ICentereven
     public int insertCentereventTEmergencyPatrolrecord(CentereventTEmergencyPatrolrecord centereventTEmergencyPatrolrecord) {
 
         //根据条码获取绑定的详情信息并赋值到巡更记录中
-        String barCode = centereventTEmergencyPatrolrecord.getPatrolpointId();
-        CenterdataTEmergencyPatrolpoint info = centerdataTEmergencyPatrolpointService.findIPatrolpointByBarCode(barCode);
-        centereventTEmergencyPatrolrecord.setPatrolpointId(info.getId());
-        centereventTEmergencyPatrolrecord.setPatrolpointName(info.getName());
-        centereventTEmergencyPatrolrecord.setPatrolpointAddress(info.getPatrolpointAddress());
-        centereventTEmergencyPatrolrecord.setLongitude(info.getLongitude());
-        centereventTEmergencyPatrolrecord.setLatitude(info.getLatitude());
-        centereventTEmergencyPatrolrecord.setPatrolInserttype("0");
+//        String barCode = centereventTEmergencyPatrolrecord.getPatrolpointId();
+//        CenterdataTEmergencyPatrolpoint info = centerdataTEmergencyPatrolpointService.findIPatrolpointByBarCode(barCode);
+        centereventTEmergencyPatrolrecord.setPatrolpointId(centereventTEmergencyPatrolrecord.getBusLogId());
+//        centereventTEmergencyPatrolrecord.setPatrolpointName(centereventTEmergencyPatrolrecord.getEnterpriseName());
+//        centereventTEmergencyPatrolrecord.setPatrolpointAddress(info.getPatrolpointAddress());
+        centereventTEmergencyPatrolrecord.setLongitude(centereventTEmergencyPatrolrecord.getLongitude());
+        centereventTEmergencyPatrolrecord.setLatitude(centereventTEmergencyPatrolrecord.getLatitude());
+//        centereventTEmergencyPatrolrecord.setPatrolInserttype("0");
 
-        //获取巡更记录最后一条
-        CentereventTEmergencyPatrolrecord newData = centereventTEmergencyPatrolrecordMapper.getCentereventTEmergencyPatrolrecordNewData(info.getId());
-        if (newData != null) {
-            Calendar calendar = Calendar.getInstance();
-            calendar.setTime(newData.getPatrolTime());
-            calendar.add(Calendar.DATE, info.getPatrolCycle().intValue());
-            if (new Date().compareTo(calendar.getTime()) > 0) {
-                centereventTEmergencyPatrolrecord.setPatrolInserttype("1");
-            }
-        }
-        centereventTEmergencyPatrolrecord.setIsHavedanger("0");
+//        //获取巡更记录最后一条
+//        CentereventTEmergencyPatrolrecord newData = centereventTEmergencyPatrolrecordMapper.getCentereventTEmergencyPatrolrecordNewData(info.getId());
+//        if (newData != null) {
+//            Calendar calendar = Calendar.getInstance();
+//            calendar.setTime(newData.getPatrolTime());
+//            calendar.add(Calendar.DATE, info.getPatrolCycle().intValue());
+//            if (new Date().compareTo(calendar.getTime()) > 0) {
+//                centereventTEmergencyPatrolrecord.setPatrolInserttype("1");
+//            }
+//        }
+//        centereventTEmergencyPatrolrecord.setIsHavedanger("0");
         centereventTEmergencyPatrolrecord.setId(UUID.randomUUID().toString());
         centereventTEmergencyPatrolrecord.setCreateTime(DateUtils.getNowDate());
-        centereventTEmergencyPatrolrecord.setPatrolTime(DateUtils.getNowDate());
+        centereventTEmergencyPatrolrecord.setCreateBy(SecurityUtils.getUserId().toString());
         return centereventTEmergencyPatrolrecordMapper.insertCentereventTEmergencyPatrolrecord(centereventTEmergencyPatrolrecord);
     }
 

+ 13 - 0
src/main/java/com/sooka/sponest/data/digitalemergency/service/impl/EmergencyViewServiceImpl.java

@@ -65,4 +65,17 @@ public class EmergencyViewServiceImpl extends BaseServiceImpl implements IEmerge
             }
         }
     }
+
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String, Object>> getXungengRecord(EmergencyViewBO emergencyViewBO) {
+        setSookaDataBase(emergencyViewBO);
+        return emergencyViewMapper.getXungengRecord(emergencyViewBO);
+    }
+
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<Map<String, Object>> getXungengPoint(EmergencyViewBO emergencyViewBO) {
+        return emergencyViewMapper.getXungengPoint(emergencyViewBO);
+    }
 }

+ 10 - 5
src/main/java/com/sooka/sponest/data/emergency/appmin/xungeng/controller/AppXungengController.java

@@ -5,8 +5,7 @@ import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.TableDataInfo;
 import com.sooka.sponest.data.emergency.appmin.xungeng.domain.AppXungengVO;
 import com.sooka.sponest.data.emergency.appmin.xungeng.service.AppXungengService;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.Collections;
@@ -19,9 +18,15 @@ public class AppXungengController extends BaseController {
     @Resource
     AppXungengService appXungengService;
 
-    @RequestMapping("doXungeng")
-    public AjaxResult doXungeng(AppXungengVO vo){
-        return appXungengService.doXungeng(vo);
+    /*
+    * 添加巡更记录
+    *
+    * @author 韩福成
+    * @date 2025/2/25 上午10:46
+    */
+    @PostMapping("doXungeng")
+    public AjaxResult doXungeng(@RequestBody AppXungengVO vo){
+        return AjaxResult.success(appXungengService.doXungeng(vo));
     }
 
     @RequestMapping("getXungengInfo")

+ 5 - 0
src/main/java/com/sooka/sponest/data/emergency/appmin/xungeng/domain/AppXungengVO.java

@@ -1,5 +1,6 @@
 package com.sooka.sponest.data.emergency.appmin.xungeng.domain;
 
+import com.ruoyi.common.core.annotation.Excel;
 import com.ruoyi.common.core.web.domain.BaseEntity;
 import lombok.Getter;
 import lombok.Setter;
@@ -8,4 +9,8 @@ import lombok.Setter;
 @Setter
 public class AppXungengVO extends BaseEntity {
     String busPatrolstationId;
+
+    private String busEnterpriseId;
+
+    private String busEnterpriseName;
 }

+ 3 - 1
src/main/java/com/sooka/sponest/data/emergency/appmin/xungeng/service/AppXungengService.java

@@ -2,12 +2,14 @@ package com.sooka.sponest.data.emergency.appmin.xungeng.service;
 
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.sooka.sponest.data.emergency.appmin.xungeng.domain.AppXungengVO;
+import com.sooka.sponest.data.emergency.domain.TBusLog;
 
 import java.util.List;
+import java.util.Map;
 
 public interface AppXungengService {
 
-    public AjaxResult doXungeng(AppXungengVO vo);
+    public Map<String,Object> doXungeng(AppXungengVO vo);
 
     public List getXungengInfo(AppXungengVO vo);
 }

+ 37 - 59
src/main/java/com/sooka/sponest/data/emergency/appmin/xungeng/service/impl/AppXungengServiceImpl.java

@@ -13,11 +13,15 @@ import com.sooka.sponest.data.emergency.domain.TBusLog;
 import com.sooka.sponest.data.emergency.domain.TBusPatrolstation;
 import com.sooka.sponest.data.emergency.domain.TBusTrack;
 import com.sooka.sponest.data.emergency.mapper.*;
+import com.sooka.sponest.data.other.patrolpoint.domain.CenterdataTEmergencyPatrolpoint;
+import com.sooka.sponest.data.other.patrolpoint.service.ICenterdataTEmergencyPatrolpointService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class AppXungengServiceImpl extends BaseServiceImpl implements AppXungengService {
@@ -26,70 +30,44 @@ public class AppXungengServiceImpl extends BaseServiceImpl implements AppXungeng
     TBusLogMapper logMapper;
 
     @Resource
-    TBusPatrolstationMapper tBusPatrolstationMapper;
-
-    @Resource
-    TBusTrackMapper tBusTrackMapper;
-
-    @Resource
     TBusDeptMapper tBusDeptMapper;
 
     @Resource
-    TBusEnterpriseMapper tBusEnterpriseMapper;
-
-
+    ICenterdataTEmergencyPatrolpointService patrolpointService;
 
     @Override
-    public AjaxResult doXungeng(AppXungengVO vo) {
-        try {
-            TBusLog tBusLog = new TBusLog();
-            String logId = UUID.fastUUID().toString();
-            tBusLog.setBusLogId(logId);
-            tBusLog.setBusLogType("log_type_1");
-            tBusLog.setLogSource("log_source_0");
-            tBusLog.setIsRisk("0");
-
-            TBusPatrolstation tBusPatrolstation = tBusPatrolstationMapper.selectTBusPatrolstationByBusPatrolstationId(vo.getBusPatrolstationId());
-            tBusLog.setBusPatrolstationId(tBusPatrolstation.getBusPatrolstationId());
-            tBusLog.setBusPatrolstationName(tBusPatrolstation.getBusPatrolstationName());
-            tBusLog.setBusEnterpriseId(tBusPatrolstation.getBusEnterpriseId());
-
-            setSookaDataBase(tBusPatrolstation);
-            tBusLog.setBusEnterpriseName(tBusEnterpriseMapper.selectTBusEnterpriseByBusEnterpriseId(tBusPatrolstation).getBusinessName());
-            tBusLog.setBusPatrolstationName(tBusPatrolstation.getBusEnterpriseName());
-            tBusLog.setCreateTime(new Date());
-            logMapper.insertTBusLog(tBusLog);
-
-            TBusTrack tBusTrack = new TBusTrack();
-            tBusTrack.setBusTrackId(UUID.fastUUID().toString());
-            tBusTrack.setBusLogId(logId);
-            LoginUser loginUser = SecurityUtils.getLoginUser();
-            tBusTrack.setDeptId(loginUser.getSysUser().getDeptId());
-            tBusTrack.setUserId(loginUser.getUserid());
-            tBusTrack.setCreateTime(new Date());
-            tBusTrackMapper.insertTBusTrack(tBusTrack);
-
-
-            //取得登录人信息
-            LoginUser sysUser = SecurityUtils.getLoginUser();
-            //写业务部门表
-            TBusDept tBusDept = new TBusDept();
-            tBusDept.setBusDeptId(UUID.fastUUID().toString());
-            tBusDept.setBusLogId(logId);
-            tBusDept.setDeptId(sysUser.getSysUser().getDeptId());
-            tBusDept.setUserId(sysUser.getUserid());
-            tBusDept.setCreateTime(new Date());
-            tBusDept.setDeptType(sysUser.getSysUser().getDept().getDeptType());
-            tBusDeptMapper.insertTBusDept(tBusDept);
-
-
-
-
-            return AjaxResult.success("巡更成功");
-        } catch (Exception e) {
-            return AjaxResult.error("巡更失败");
-        }
-
+    public Map<String,Object> doXungeng(AppXungengVO vo) {
+        TBusLog tBusLog = new TBusLog();
+        String logId = UUID.fastUUID().toString();
+        tBusLog.setBusLogId(logId);
+        tBusLog.setBusLogType("log_type_1");
+        tBusLog.setLogSource("log_source_0");
+        tBusLog.setIsRisk("0");
+        tBusLog.setBusEnterpriseId(vo.getBusEnterpriseId());
+        tBusLog.setBusEnterpriseName(vo.getBusEnterpriseName());
+        tBusLog.setCreateTime(new Date());
+        tBusLog.setCreateBy(SecurityUtils.getUserId().toString());
+        logMapper.insertTBusLog(tBusLog);
+
+        //取得登录人信息
+        LoginUser sysUser = SecurityUtils.getLoginUser();
+        //写业务部门表
+        TBusDept tBusDept = new TBusDept();
+        tBusDept.setBusDeptId(UUID.fastUUID().toString());
+        tBusDept.setBusLogId(logId);
+        tBusDept.setDeptId(sysUser.getSysUser().getDeptId());
+        tBusDept.setUserId(sysUser.getUserid());
+        tBusDept.setCreateTime(new Date());
+        tBusDept.setDeptType(sysUser.getSysUser().getDepts().get(0).getDeptType());
+        tBusDeptMapper.insertTBusDept(tBusDept);
+
+        //修改巡更点最后一次巡更时间
+        CenterdataTEmergencyPatrolpoint patrolpoint = new CenterdataTEmergencyPatrolpoint();
+        patrolpoint.setEnterpriseId(vo.getBusEnterpriseId());
+        patrolpointService.editXungengTime(patrolpoint);
+        Map<String,Object> map = new HashMap<String,Object>();
+        map.put("logId", logId);
+        return map;
     }
 
     @Override

+ 16 - 0
src/main/java/com/sooka/sponest/data/other/patrolpoint/controller/CenterdataTEmergencyPatrolpointController.java

@@ -168,4 +168,20 @@ public class CenterdataTEmergencyPatrolpointController extends BaseController {
         return R.ok(centerdataTEmergencyPatrolpointService.earlywarningAdd(centerdataTEmergencyEarlywarning));
     }
 
+    /*
+    * 修改巡更点状态
+    *
+    * @author 韩福成
+    * @date 2025/2/25 下午12:39
+    */
+    @ApiOperation(value = "修改巡更点状态", notes = "修改巡更点状态")
+    @GetMapping(value = "editXungengState")
+    public AjaxResult editXungengState(CenterdataTEmergencyPatrolpoint centerdataTEmergencyPatrolpoint) {
+        List<CenterdataTEmergencyPatrolpoint> list = centerdataTEmergencyPatrolpointService.editXungengState(centerdataTEmergencyPatrolpoint);
+        for (CenterdataTEmergencyPatrolpoint center : list) {
+            this.edit(center);
+        }
+        return AjaxResult.success("修改成功");
+    }
+
 }

+ 2 - 0
src/main/java/com/sooka/sponest/data/other/patrolpoint/domain/CenterdataTEmergencyPatrolpoint.java

@@ -185,6 +185,8 @@ public class CenterdataTEmergencyPatrolpoint extends BaseBusinessEntity {
 
     private String deptName;
 
+    private String state;
+
 
     @Override
     public String toString() {

+ 16 - 0
src/main/java/com/sooka/sponest/data/other/patrolpoint/mapper/CenterdataTEmergencyPatrolpointMapper.java

@@ -85,4 +85,20 @@ public interface CenterdataTEmergencyPatrolpointMapper {
      * @return
      */
     Map selectwarningTimeList(DayBody dayBody);
+
+    /*
+     * 修改巡更点时间
+     *
+     * @author 韩福成
+     * @date 2025/2/25 下午12:44
+     */
+    int editXungengTime(CenterdataTEmergencyPatrolpoint centerdataTEmergencyPatrolpoint);
+
+    /*
+    * 修改巡更点状态
+    *
+    * @author 韩福成
+    * @date 2025/2/25 下午12:44
+    */
+    List<CenterdataTEmergencyPatrolpoint> selectXungeng();
 }

+ 16 - 0
src/main/java/com/sooka/sponest/data/other/patrolpoint/service/ICenterdataTEmergencyPatrolpointService.java

@@ -72,4 +72,20 @@ public interface ICenterdataTEmergencyPatrolpointService extends IBaseService{
     int earlywarningAdd(CenterdataTEmergencyEarlywarning centerdataTEmergencyEarlywarning);
 
     CenterdataTEmergencyPatrolpointBody selectTimeList(DayBody dayBody);
+
+    /*
+    * 修改巡更点最后一次巡更时间
+    *
+    * @author 韩福成
+    * @date 2025/2/25 下午1:30
+    */
+    int editXungengTime(CenterdataTEmergencyPatrolpoint centerdataTEmergencyPatrolpoint);
+
+    /*
+    * 修改巡更点状态
+    *
+    * @author 韩福成
+    * @date 2025/2/25 下午1:30
+    */
+    List<CenterdataTEmergencyPatrolpoint> editXungengState(CenterdataTEmergencyPatrolpoint centerdataTEmergencyPatrolpoint);
 }

+ 34 - 4
src/main/java/com/sooka/sponest/data/other/patrolpoint/service/impl/CenterdataTEmergencyPatrolpointServiceImpl.java

@@ -1,10 +1,15 @@
 package com.sooka.sponest.data.other.patrolpoint.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.constant.DocumentNameConstants;
 import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
+import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.security.utils.SecurityUtils;
+import com.sooka.sponest.data.SookaDataApplication;
+import com.sooka.sponest.data.base.domain.ESVo;
 import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
 import com.sooka.sponest.data.digitalemergency.domain.vo.CenterdataTEmergencyEarlywarning;
 import com.sooka.sponest.data.digitalemergency.domain.vo.CenterdataTEmergencyPatrolpointBody;
@@ -12,13 +17,12 @@ import com.sooka.sponest.data.digitalemergency.domain.vo.DayBody;
 import com.sooka.sponest.data.other.patrolpoint.domain.CenterdataTEmergencyPatrolpoint;
 import com.sooka.sponest.data.other.patrolpoint.mapper.CenterdataTEmergencyPatrolpointMapper;
 import com.sooka.sponest.data.other.patrolpoint.service.ICenterdataTEmergencyPatrolpointService;
+import com.sooka.sponest.data.utils.DataProducerUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalDate;
+import java.util.*;
 
 /**
  * 巡更点Service业务层处理
@@ -31,6 +35,8 @@ public class CenterdataTEmergencyPatrolpointServiceImpl extends BaseServiceImpl
 
     @Autowired
     private CenterdataTEmergencyPatrolpointMapper centerdataTEmergencyPatrolpointMapper;
+    @Autowired
+    private SookaDataApplication sookaDataApplication;
 
     /**
      * 查询巡更点列表
@@ -139,4 +145,28 @@ public class CenterdataTEmergencyPatrolpointServiceImpl extends BaseServiceImpl
         centerdataTEmergencyPatrolpointBody.setDay(dayList);
         return centerdataTEmergencyPatrolpointBody;
     }
+
+    /*
+    * 修改巡更点最后一次巡更时间
+    *
+    * @author 韩福成
+    * @date 2025/2/25 下午12:42
+    */
+    @Override
+    public int editXungengTime(CenterdataTEmergencyPatrolpoint centerdataTEmergencyPatrolpoint) {
+        return centerdataTEmergencyPatrolpointMapper.editXungengTime(centerdataTEmergencyPatrolpoint);
+    }
+
+    /*
+    * 修改巡更点状态
+    *
+    * @author 韩福成
+    * @date 2025/2/25 下午1:31
+    */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<CenterdataTEmergencyPatrolpoint> editXungengState(CenterdataTEmergencyPatrolpoint centerdataTEmergencyPatrolpoint) {
+        setSookaDataBase(centerdataTEmergencyPatrolpoint);
+        return centerdataTEmergencyPatrolpointMapper.selectCenterdataTEmergencyPatrolpointList(centerdataTEmergencyPatrolpoint);
+    }
 }

+ 28 - 1
src/main/resources/mapper/digitalemergency/EmergencyViewMapper.xml

@@ -20,4 +20,31 @@
 		LEFT JOIN ${database_system}.sys_dept d ON a.dept_id = d.dept_id
         WHERE 1=1 ${params.dataScope}
     </select>
-</mapper>
+
+    <select id="getXungengRecord" parameterType="EmergencyViewBO" resultType="map">
+        SELECT
+            a.bus_log_id logId,
+            a.bus_enterprise_id enterpriseId,
+            a.bus_enterprise_name enterpriseName,
+            a.create_time createTime
+        FROM
+            t_bus_log a
+        where a.bus_enterprise_id = #{enterpriseId}
+        ORDER BY
+            a.create_time
+    </select>
+
+    <select id="getXungengPoint" parameterType="EmergencyViewBO" resultType="map">
+        SELECT
+            a.id,
+            a.longitude,
+            a.latitude,
+            a.create_time createTime
+        FROM
+            centerevent_t_emergency_patrolrecord a
+        WHERE
+            a.patrolpoint_id = #{logId}
+        ORDER BY
+            a.create_time
+    </select>
+</mapper>

+ 32 - 1
src/main/resources/mapper/other/CenterdataTEmergencyPatrolpointMapper.xml

@@ -46,7 +46,13 @@
         su.nick_name as update_name, a.data_status,
         a.name, a.longitude, a.latitude, a.enterprise_id, a.patrolpoint_address,a.patrol_nexttime,
         a.patrol_lasttime, a.patrol_cycle, a.alert_day, charger, a.charger_phone, a.point_remark, a.bar_code,
-        a.patrolpoint_status, a.enterprise_name, a.owndeptid, a.data_dept_id,d.dept_id,d.dept_name from centerdata_t_emergency_patrolpoint a
+        a.patrolpoint_status, a.enterprise_name, a.owndeptid, a.data_dept_id,d.dept_id,d.dept_name,
+        CASE
+        WHEN NOW() &lt; DATE_SUB(a.patrol_nexttime, INTERVAL alert_day DAY) THEN '0'
+        WHEN NOW() &gt;= DATE_SUB(a.patrol_nexttime, INTERVAL alert_day DAY) AND NOW() &lt; a.patrol_nexttime THEN '1'
+        WHEN NOW() &gt; a.patrol_nexttime THEN '2'
+        END AS state
+        from centerdata_t_emergency_patrolpoint a
         left join ${database_system}.sys_dept d on a.data_dept_id=d.dept_id
         LEFT JOIN ${database_system}.sys_user u ON a.create_by = u.user_id
         LEFT JOIN ${database_system}.sys_user su ON a.update_by = su.user_id
@@ -179,6 +185,7 @@
             <if test="owndeptid != null">owndeptid = #{owndeptid},</if>
             <if test="dataDeptId != null">data_dept_id = #{dataDeptId},</if>
             <if test="deptId != null">data_dept_id = #{deptId},</if>
+            <if test="state != null">state = #{state},</if>
         </trim>
         where id = #{id}
     </update>
@@ -216,4 +223,28 @@
         LEFT JOIN centerdata_t_emergency_patrolpoint b ON a.patrolpoint_id = b.id
         WHERE DATE_FORMAT(a.create_time,'%Y-%m') = DATE_FORMAT(#{day},'%Y-%m')
     </select>
+
+    <update id="editXungengTime" parameterType="CenterdataTEmergencyPatrolpoint">
+        update centerdata_t_emergency_patrolpoint set
+        patrol_lasttime = NOW(),
+        patrol_nexttime = DATE_ADD(patrol_lasttime, INTERVAL patrol_cycle DAY),
+            state =  (CASE
+            WHEN NOW() &lt; DATE_SUB(patrol_nexttime, INTERVAL alert_day DAY) THEN '0'
+            WHEN NOW() &gt;= DATE_SUB(patrol_nexttime, INTERVAL alert_day DAY) AND NOW() &lt; patrol_nexttime THEN '1'
+            WHEN NOW() &gt; patrol_nexttime THEN '2'
+            END)
+        where enterprise_id = #{enterpriseId}
+    </update>
+
+    <select id="selectXungeng" resultType="CenterdataTEmergencyPatrolpoint">
+        SELECT
+        id,
+        CASE
+            WHEN NOW() &lt; DATE_SUB(patrol_nexttime, INTERVAL alert_day DAY) THEN '0'
+            WHEN NOW() &gt;= DATE_SUB(patrol_nexttime, INTERVAL alert_day DAY) AND NOW() &lt; patrol_nexttime THEN '1'
+            WHEN NOW() &gt; patrol_nexttime THEN '2'
+            END AS state
+        FROM
+        centerdata_t_emergency_patrolpoint a
+    </select>
 </mapper>