From 8afb9184600eb1524b38b172e458143b16739b34 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期三, 02 八月 2023 15:14:15 +0800
Subject: [PATCH] app巡检计划概要提交

---
 ard-work/src/main/resources/mapper/app/ArdAppPatrolpointRecordImgMapper.xml                             |   63 +
 ard-work/src/main/resources/mapper/app/ArdAppPatroluserMapper.xml                                       |   64 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordImgService.java         |   61 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatroluserServiceImpl.java           |   89 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java            |   61 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatroluser.java                            |   66 +
 ard-work/src/main/resources/mapper/app/ArdAppPatrolpointRecordMapper.xml                                |   82 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointServiceImpl.java          |   89 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatroluserService.java                   |   61 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java    |   91 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java              |  104 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpointRecordImg.java                  |   65 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolplanService.java                   |   61 +
 ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml                                       |   82 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpointRecord.java                     |  108 +++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointMapper.java                     |   61 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolpointController.java             |  104 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointService.java                  |   61 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpoint.java                           |   79 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointRecordImgMapper.java            |   61 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolplanMapper.java                      |   61 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordImgServiceImpl.java |   89 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java           |   93 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolplan.java                            |  108 +++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointRecordMapper.java               |   61 +
 ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatroluserController.java              |  104 ++
 ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatroluserMapper.java                      |   61 +
 ard-work/src/main/resources/mapper/app/ArdAppPatrolpointMapper.xml                                      |   68 +
 28 files changed, 2,158 insertions(+), 0 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java
new file mode 100644
index 0000000..9df4bf1
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolplanController.java
@@ -0,0 +1,104 @@
+package com.ruoyi.app.patrolplan.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolplan;
+import com.ruoyi.app.patrolplan.service.IArdAppPatrolplanService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * app宸℃璁″垝Controller
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+@RestController
+@RequestMapping("/app/appPatrolplan")
+public class ArdAppPatrolplanController extends BaseController
+{
+    @Autowired
+    private IArdAppPatrolplanService ardAppPatrolplanService;
+
+    /**
+     * 鏌ヨapp宸℃璁″垝鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ArdAppPatrolplan ardAppPatrolplan)
+    {
+        startPage();
+        List<ArdAppPatrolplan> list = ardAppPatrolplanService.selectArdAppPatrolplanList(ardAppPatrolplan);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭app宸℃璁″垝鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:export')")
+    @Log(title = "app宸℃璁″垝", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ArdAppPatrolplan ardAppPatrolplan)
+    {
+        List<ArdAppPatrolplan> list = ardAppPatrolplanService.selectArdAppPatrolplanList(ardAppPatrolplan);
+        ExcelUtil<ArdAppPatrolplan> util = new ExcelUtil<ArdAppPatrolplan>(ArdAppPatrolplan.class);
+        util.exportExcel(response, list, "app宸℃璁″垝鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇app宸℃璁″垝璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:query')")
+    @GetMapping(value = "/{patroEndTime}")
+    public AjaxResult getInfo(@PathVariable("patroEndTime") String patroEndTime)
+    {
+        return success(ardAppPatrolplanService.selectArdAppPatrolplanByPatroEndTime(patroEndTime));
+    }
+
+    /**
+     * 鏂板app宸℃璁″垝
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:add')")
+    @Log(title = "app宸℃璁″垝", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ArdAppPatrolplan ardAppPatrolplan)
+    {
+        return toAjax(ardAppPatrolplanService.insertArdAppPatrolplan(ardAppPatrolplan));
+    }
+
+    /**
+     * 淇敼app宸℃璁″垝
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:edit')")
+    @Log(title = "app宸℃璁″垝", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ArdAppPatrolplan ardAppPatrolplan)
+    {
+        return toAjax(ardAppPatrolplanService.updateArdAppPatrolplan(ardAppPatrolplan));
+    }
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝
+     */
+    @PreAuthorize("@ss.hasPermi('app:appPatrolplan:remove')")
+    @Log(title = "app宸℃璁″垝", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{patroEndTimes}")
+    public AjaxResult remove(@PathVariable String[] patroEndTimes)
+    {
+        return toAjax(ardAppPatrolplanService.deleteArdAppPatrolplanByPatroEndTimes(patroEndTimes));
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolpointController.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolpointController.java
new file mode 100644
index 0000000..3a59b66
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatrolpointController.java
@@ -0,0 +1,104 @@
+package com.ruoyi.app.patrolplan.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpoint;
+import com.ruoyi.app.patrolplan.service.IArdAppPatrolpointService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * app宸℃璁″垝鐐逛綅Controller
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+@RestController
+@RequestMapping("/app/patrolpoint")
+public class ArdAppPatrolpointController extends BaseController
+{
+    @Autowired
+    private IArdAppPatrolpointService ardAppPatrolpointService;
+
+    /**
+     * 鏌ヨapp宸℃璁″垝鐐逛綅鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('app:patrolpoint:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ArdAppPatrolpoint ardAppPatrolpoint)
+    {
+        startPage();
+        List<ArdAppPatrolpoint> list = ardAppPatrolpointService.selectArdAppPatrolpointList(ardAppPatrolpoint);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭app宸℃璁″垝鐐逛綅鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('app:patrolpoint:export')")
+    @Log(title = "app宸℃璁″垝鐐逛綅", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ArdAppPatrolpoint ardAppPatrolpoint)
+    {
+        List<ArdAppPatrolpoint> list = ardAppPatrolpointService.selectArdAppPatrolpointList(ardAppPatrolpoint);
+        ExcelUtil<ArdAppPatrolpoint> util = new ExcelUtil<ArdAppPatrolpoint>(ArdAppPatrolpoint.class);
+        util.exportExcel(response, list, "app宸℃璁″垝鐐逛綅鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇app宸℃璁″垝鐐逛綅璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('app:patrolpoint:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(ardAppPatrolpointService.selectArdAppPatrolpointById(id));
+    }
+
+    /**
+     * 鏂板app宸℃璁″垝鐐逛綅
+     */
+    @PreAuthorize("@ss.hasPermi('app:patrolpoint:add')")
+    @Log(title = "app宸℃璁″垝鐐逛綅", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ArdAppPatrolpoint ardAppPatrolpoint)
+    {
+        return toAjax(ardAppPatrolpointService.insertArdAppPatrolpoint(ardAppPatrolpoint));
+    }
+
+    /**
+     * 淇敼app宸℃璁″垝鐐逛綅
+     */
+    @PreAuthorize("@ss.hasPermi('app:patrolpoint:edit')")
+    @Log(title = "app宸℃璁″垝鐐逛綅", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ArdAppPatrolpoint ardAppPatrolpoint)
+    {
+        return toAjax(ardAppPatrolpointService.updateArdAppPatrolpoint(ardAppPatrolpoint));
+    }
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝鐐逛綅
+     */
+    @PreAuthorize("@ss.hasPermi('app:patrolpoint:remove')")
+    @Log(title = "app宸℃璁″垝鐐逛綅", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(ardAppPatrolpointService.deleteArdAppPatrolpointByIds(ids));
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatroluserController.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatroluserController.java
new file mode 100644
index 0000000..a734efa
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/controller/ArdAppPatroluserController.java
@@ -0,0 +1,104 @@
+package com.ruoyi.app.patrolplan.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatroluser;
+import com.ruoyi.app.patrolplan.service.IArdAppPatroluserService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * app宸℃璁″垝浜哄憳Controller
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+@RestController
+@RequestMapping("/app/patroluser")
+public class ArdAppPatroluserController extends BaseController
+{
+    @Autowired
+    private IArdAppPatroluserService ardAppPatroluserService;
+
+    /**
+     * 鏌ヨapp宸℃璁″垝浜哄憳鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('app:patroluser:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ArdAppPatroluser ardAppPatroluser)
+    {
+        startPage();
+        List<ArdAppPatroluser> list = ardAppPatroluserService.selectArdAppPatroluserList(ardAppPatroluser);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭app宸℃璁″垝浜哄憳鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('app:patroluser:export')")
+    @Log(title = "app宸℃璁″垝浜哄憳", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ArdAppPatroluser ardAppPatroluser)
+    {
+        List<ArdAppPatroluser> list = ardAppPatroluserService.selectArdAppPatroluserList(ardAppPatroluser);
+        ExcelUtil<ArdAppPatroluser> util = new ExcelUtil<ArdAppPatroluser>(ArdAppPatroluser.class);
+        util.exportExcel(response, list, "app宸℃璁″垝浜哄憳鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇app宸℃璁″垝浜哄憳璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('app:patroluser:query')")
+    @GetMapping(value = "/{reserved1}")
+    public AjaxResult getInfo(@PathVariable("reserved1") String reserved1)
+    {
+        return success(ardAppPatroluserService.selectArdAppPatroluserByReserved1(reserved1));
+    }
+
+    /**
+     * 鏂板app宸℃璁″垝浜哄憳
+     */
+    @PreAuthorize("@ss.hasPermi('app:patroluser:add')")
+    @Log(title = "app宸℃璁″垝浜哄憳", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ArdAppPatroluser ardAppPatroluser)
+    {
+        return toAjax(ardAppPatroluserService.insertArdAppPatroluser(ardAppPatroluser));
+    }
+
+    /**
+     * 淇敼app宸℃璁″垝浜哄憳
+     */
+    @PreAuthorize("@ss.hasPermi('app:patroluser:edit')")
+    @Log(title = "app宸℃璁″垝浜哄憳", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ArdAppPatroluser ardAppPatroluser)
+    {
+        return toAjax(ardAppPatroluserService.updateArdAppPatroluser(ardAppPatroluser));
+    }
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝浜哄憳
+     */
+    @PreAuthorize("@ss.hasPermi('app:patroluser:remove')")
+    @Log(title = "app宸℃璁″垝浜哄憳", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{reserved1s}")
+    public AjaxResult remove(@PathVariable String[] reserved1s)
+    {
+        return toAjax(ardAppPatroluserService.deleteArdAppPatroluserByReserved1s(reserved1s));
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolplan.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolplan.java
new file mode 100644
index 0000000..9cd8478
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolplan.java
@@ -0,0 +1,108 @@
+package com.ruoyi.app.patrolplan.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * app宸℃璁″垝瀵硅薄 ard_app_patrolplan
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public class ArdAppPatrolplan extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 缁撴潫鏃堕棿(姣忓ぉ涓烘椂鍒嗙锛屼粎涓�娆′负骞存湀鏃ユ椂鍒嗙) */
+    @Excel(name = "缁撴潫鏃堕棿(姣忓ぉ涓烘椂鍒嗙锛屼粎涓�娆′负骞存湀鏃ユ椂鍒嗙)")
+    private String patroEndTime;
+
+    /** 鍒跺畾浜轰富閿� */
+    @Excel(name = "鍒跺畾浜轰富閿�")
+    private String userId;
+
+    /** 鍛ㄦ湡 */
+    @Excel(name = "鍛ㄦ湡")
+    private String cycle;
+
+    /** 涓婚敭 */
+    private String id;
+
+    /** 宸℃璁″垝鍚嶇О */
+    @Excel(name = "宸℃璁″垝鍚嶇О")
+    private String planName;
+
+    /** 寮�濮嬫椂闂�(姣忓ぉ涓烘椂鍒嗙锛屼粎涓�娆′负骞存湀鏃ユ椂鍒嗙) */
+    @Excel(name = "寮�濮嬫椂闂�(姣忓ぉ涓烘椂鍒嗙锛屼粎涓�娆′负骞存湀鏃ユ椂鍒嗙)")
+    private String patroBeginTime;
+
+    public void setPatroEndTime(String patroEndTime) 
+    {
+        this.patroEndTime = patroEndTime;
+    }
+
+    public String getPatroEndTime() 
+    {
+        return patroEndTime;
+    }
+    public void setUserId(String userId) 
+    {
+        this.userId = userId;
+    }
+
+    public String getUserId() 
+    {
+        return userId;
+    }
+    public void setCycle(String cycle) 
+    {
+        this.cycle = cycle;
+    }
+
+    public String getCycle() 
+    {
+        return cycle;
+    }
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setPlanName(String planName) 
+    {
+        this.planName = planName;
+    }
+
+    public String getPlanName() 
+    {
+        return planName;
+    }
+    public void setPatroBeginTime(String patroBeginTime) 
+    {
+        this.patroBeginTime = patroBeginTime;
+    }
+
+    public String getPatroBeginTime() 
+    {
+        return patroBeginTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("patroEndTime", getPatroEndTime())
+            .append("userId", getUserId())
+            .append("cycle", getCycle())
+            .append("createTime", getCreateTime())
+            .append("id", getId())
+            .append("planName", getPlanName())
+            .append("patroBeginTime", getPatroBeginTime())
+            .toString();
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpoint.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpoint.java
new file mode 100644
index 0000000..c24a208
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpoint.java
@@ -0,0 +1,79 @@
+package com.ruoyi.app.patrolplan.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * app宸℃璁″垝鐐逛綅瀵硅薄 ard_app_patrolpoint
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public class ArdAppPatrolpoint extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭 */
+    private String id;
+
+    /** 宸℃涓婚敭 */
+    @Excel(name = "宸℃涓婚敭")
+    private String patrolplanId;
+
+    /** 鍏磋叮鐐逛富閿� */
+    @Excel(name = "鍏磋叮鐐逛富閿�")
+    private String alarmpointsId;
+
+    /** 绫诲瀷 */
+    @Excel(name = "绫诲瀷")
+    private String type;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setPatrolplanId(String patrolplanId) 
+    {
+        this.patrolplanId = patrolplanId;
+    }
+
+    public String getPatrolplanId() 
+    {
+        return patrolplanId;
+    }
+    public void setAlarmpointsId(String alarmpointsId) 
+    {
+        this.alarmpointsId = alarmpointsId;
+    }
+
+    public String getAlarmpointsId() 
+    {
+        return alarmpointsId;
+    }
+    public void setType(String type) 
+    {
+        this.type = type;
+    }
+
+    public String getType() 
+    {
+        return type;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("patrolplanId", getPatrolplanId())
+            .append("alarmpointsId", getAlarmpointsId())
+            .append("type", getType())
+            .toString();
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpointRecord.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpointRecord.java
new file mode 100644
index 0000000..6cdce2d
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpointRecord.java
@@ -0,0 +1,108 @@
+package com.ruoyi.app.patrolplan.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * app宸℃璁″垝璁板綍瀵硅薄 ard_app_patrolpoint_record
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public class ArdAppPatrolpointRecord extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭 */
+    private String id;
+
+    /** 缁忓害 */
+    @Excel(name = "缁忓害")
+    private String longitude;
+
+    /** 绾害 */
+    @Excel(name = "绾害")
+    private String latitude;
+
+    /** 鎵撳崱浜轰富閿� */
+    @Excel(name = "鎵撳崱浜轰富閿�")
+    private String userId;
+
+    /** 鎵撳崱鏃堕棿 */
+    @Excel(name = "鎵撳崱鏃堕棿")
+    private String recordTime;
+
+    /** 宸℃鐐逛富閿� */
+    @Excel(name = "宸℃鐐逛富閿�")
+    private String appPatrolpointsId;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setLongitude(String longitude) 
+    {
+        this.longitude = longitude;
+    }
+
+    public String getLongitude() 
+    {
+        return longitude;
+    }
+    public void setLatitude(String latitude) 
+    {
+        this.latitude = latitude;
+    }
+
+    public String getLatitude() 
+    {
+        return latitude;
+    }
+    public void setUserId(String userId) 
+    {
+        this.userId = userId;
+    }
+
+    public String getUserId() 
+    {
+        return userId;
+    }
+    public void setRecordTime(String recordTime) 
+    {
+        this.recordTime = recordTime;
+    }
+
+    public String getRecordTime() 
+    {
+        return recordTime;
+    }
+    public void setAppPatrolpointsId(String appPatrolpointsId) 
+    {
+        this.appPatrolpointsId = appPatrolpointsId;
+    }
+
+    public String getAppPatrolpointsId() 
+    {
+        return appPatrolpointsId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("remark", getRemark())
+            .append("longitude", getLongitude())
+            .append("latitude", getLatitude())
+            .append("userId", getUserId())
+            .append("recordTime", getRecordTime())
+            .append("appPatrolpointsId", getAppPatrolpointsId())
+            .toString();
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpointRecordImg.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpointRecordImg.java
new file mode 100644
index 0000000..f7dffc2
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatrolpointRecordImg.java
@@ -0,0 +1,65 @@
+package com.ruoyi.app.patrolplan.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * app宸℃璁″垝璁板綍鍥剧墖瀵硅薄 ard_app_patrolpoint_record_img
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public class ArdAppPatrolpointRecordImg extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭 */
+    private String id;
+
+    /** 宸℃璁板綍涓婚敭 */
+    @Excel(name = "宸℃璁板綍涓婚敭")
+    private String appPatrolponitRecordId;
+
+    /** 宸℃鍥剧墖 */
+    @Excel(name = "宸℃鍥剧墖")
+    private String img;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setAppPatrolponitRecordId(String appPatrolponitRecordId) 
+    {
+        this.appPatrolponitRecordId = appPatrolponitRecordId;
+    }
+
+    public String getAppPatrolponitRecordId() 
+    {
+        return appPatrolponitRecordId;
+    }
+    public void setImg(String img) 
+    {
+        this.img = img;
+    }
+
+    public String getImg() 
+    {
+        return img;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("appPatrolponitRecordId", getAppPatrolponitRecordId())
+            .append("img", getImg())
+            .toString();
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatroluser.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatroluser.java
new file mode 100644
index 0000000..ef53eaf
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/domain/ArdAppPatroluser.java
@@ -0,0 +1,66 @@
+package com.ruoyi.app.patrolplan.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * app宸℃璁″垝浜哄憳瀵硅薄 ard_app_patroluser
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public class ArdAppPatroluser extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭 */
+    @Excel(name = "涓婚敭")
+    private String reserved1;
+
+    /** 宸℃涓婚敭 */
+    @Excel(name = "宸℃涓婚敭")
+    private String patrolplanId;
+
+    /** app鍗曞叺绔敤鎴蜂富閿� */
+    @Excel(name = "app鍗曞叺绔敤鎴蜂富閿�")
+    private String appUserId;
+
+    public void setReserved1(String reserved1) 
+    {
+        this.reserved1 = reserved1;
+    }
+
+    public String getReserved1() 
+    {
+        return reserved1;
+    }
+    public void setPatrolplanId(String patrolplanId) 
+    {
+        this.patrolplanId = patrolplanId;
+    }
+
+    public String getPatrolplanId() 
+    {
+        return patrolplanId;
+    }
+    public void setAppUserId(String appUserId) 
+    {
+        this.appUserId = appUserId;
+    }
+
+    public String getAppUserId() 
+    {
+        return appUserId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("reserved1", getReserved1())
+            .append("patrolplanId", getPatrolplanId())
+            .append("appUserId", getAppUserId())
+            .toString();
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolplanMapper.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolplanMapper.java
new file mode 100644
index 0000000..2e6ff11
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolplanMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.mapper;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolplan;
+
+/**
+ * app宸℃璁″垝Mapper鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface ArdAppPatrolplanMapper 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝
+     * 
+     * @param patroEndTime app宸℃璁″垝涓婚敭
+     * @return app宸℃璁″垝
+     */
+    public ArdAppPatrolplan selectArdAppPatrolplanByPatroEndTime(String patroEndTime);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝鍒楄〃
+     * 
+     * @param ardAppPatrolplan app宸℃璁″垝
+     * @return app宸℃璁″垝闆嗗悎
+     */
+    public List<ArdAppPatrolplan> selectArdAppPatrolplanList(ArdAppPatrolplan ardAppPatrolplan);
+
+    /**
+     * 鏂板app宸℃璁″垝
+     * 
+     * @param ardAppPatrolplan app宸℃璁″垝
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan);
+
+    /**
+     * 淇敼app宸℃璁″垝
+     * 
+     * @param ardAppPatrolplan app宸℃璁″垝
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝
+     * 
+     * @param patroEndTime app宸℃璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolplanByPatroEndTime(String patroEndTime);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝
+     * 
+     * @param patroEndTimes 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolplanByPatroEndTimes(String[] patroEndTimes);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointMapper.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointMapper.java
new file mode 100644
index 0000000..eca3c18
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.mapper;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpoint;
+
+/**
+ * app宸℃璁″垝鐐逛綅Mapper鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface ArdAppPatrolpointMapper 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝鐐逛綅
+     * 
+     * @param id app宸℃璁″垝鐐逛綅涓婚敭
+     * @return app宸℃璁″垝鐐逛綅
+     */
+    public ArdAppPatrolpoint selectArdAppPatrolpointById(String id);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝鐐逛綅鍒楄〃
+     * 
+     * @param ardAppPatrolpoint app宸℃璁″垝鐐逛綅
+     * @return app宸℃璁″垝鐐逛綅闆嗗悎
+     */
+    public List<ArdAppPatrolpoint> selectArdAppPatrolpointList(ArdAppPatrolpoint ardAppPatrolpoint);
+
+    /**
+     * 鏂板app宸℃璁″垝鐐逛綅
+     * 
+     * @param ardAppPatrolpoint app宸℃璁″垝鐐逛綅
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatrolpoint(ArdAppPatrolpoint ardAppPatrolpoint);
+
+    /**
+     * 淇敼app宸℃璁″垝鐐逛綅
+     * 
+     * @param ardAppPatrolpoint app宸℃璁″垝鐐逛綅
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatrolpoint(ArdAppPatrolpoint ardAppPatrolpoint);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝鐐逛綅
+     * 
+     * @param id app宸℃璁″垝鐐逛綅涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝鐐逛綅
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointByIds(String[] ids);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointRecordImgMapper.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointRecordImgMapper.java
new file mode 100644
index 0000000..e65aca1
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointRecordImgMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.mapper;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecordImg;
+
+/**
+ * app宸℃璁″垝璁板綍鍥剧墖Mapper鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface ArdAppPatrolpointRecordImgMapper 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍鍥剧墖
+     * 
+     * @param id app宸℃璁″垝璁板綍鍥剧墖涓婚敭
+     * @return app宸℃璁″垝璁板綍鍥剧墖
+     */
+    public ArdAppPatrolpointRecordImg selectArdAppPatrolpointRecordImgById(String id);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍鍥剧墖鍒楄〃
+     * 
+     * @param ardAppPatrolpointRecordImg app宸℃璁″垝璁板綍鍥剧墖
+     * @return app宸℃璁″垝璁板綍鍥剧墖闆嗗悎
+     */
+    public List<ArdAppPatrolpointRecordImg> selectArdAppPatrolpointRecordImgList(ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg);
+
+    /**
+     * 鏂板app宸℃璁″垝璁板綍鍥剧墖
+     * 
+     * @param ardAppPatrolpointRecordImg app宸℃璁″垝璁板綍鍥剧墖
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatrolpointRecordImg(ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg);
+
+    /**
+     * 淇敼app宸℃璁″垝璁板綍鍥剧墖
+     * 
+     * @param ardAppPatrolpointRecordImg app宸℃璁″垝璁板綍鍥剧墖
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatrolpointRecordImg(ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝璁板綍鍥剧墖
+     * 
+     * @param id app宸℃璁″垝璁板綍鍥剧墖涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointRecordImgById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝璁板綍鍥剧墖
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointRecordImgByIds(String[] ids);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointRecordMapper.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointRecordMapper.java
new file mode 100644
index 0000000..d15ac0d
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatrolpointRecordMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.mapper;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecord;
+
+/**
+ * app宸℃璁″垝璁板綍Mapper鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface ArdAppPatrolpointRecordMapper 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍
+     * 
+     * @param id app宸℃璁″垝璁板綍涓婚敭
+     * @return app宸℃璁″垝璁板綍
+     */
+    public ArdAppPatrolpointRecord selectArdAppPatrolpointRecordById(String id);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍鍒楄〃
+     * 
+     * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍
+     * @return app宸℃璁″垝璁板綍闆嗗悎
+     */
+    public List<ArdAppPatrolpointRecord> selectArdAppPatrolpointRecordList(ArdAppPatrolpointRecord ardAppPatrolpointRecord);
+
+    /**
+     * 鏂板app宸℃璁″垝璁板綍
+     * 
+     * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord);
+
+    /**
+     * 淇敼app宸℃璁″垝璁板綍
+     * 
+     * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝璁板綍
+     * 
+     * @param id app宸℃璁″垝璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointRecordById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝璁板綍
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointRecordByIds(String[] ids);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatroluserMapper.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatroluserMapper.java
new file mode 100644
index 0000000..76d3cc5
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/mapper/ArdAppPatroluserMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.mapper;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatroluser;
+
+/**
+ * app宸℃璁″垝浜哄憳Mapper鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface ArdAppPatroluserMapper 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝浜哄憳
+     * 
+     * @param reserved1 app宸℃璁″垝浜哄憳涓婚敭
+     * @return app宸℃璁″垝浜哄憳
+     */
+    public ArdAppPatroluser selectArdAppPatroluserByReserved1(String reserved1);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝浜哄憳鍒楄〃
+     * 
+     * @param ardAppPatroluser app宸℃璁″垝浜哄憳
+     * @return app宸℃璁″垝浜哄憳闆嗗悎
+     */
+    public List<ArdAppPatroluser> selectArdAppPatroluserList(ArdAppPatroluser ardAppPatroluser);
+
+    /**
+     * 鏂板app宸℃璁″垝浜哄憳
+     * 
+     * @param ardAppPatroluser app宸℃璁″垝浜哄憳
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatroluser(ArdAppPatroluser ardAppPatroluser);
+
+    /**
+     * 淇敼app宸℃璁″垝浜哄憳
+     * 
+     * @param ardAppPatroluser app宸℃璁″垝浜哄憳
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatroluser(ArdAppPatroluser ardAppPatroluser);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝浜哄憳
+     * 
+     * @param reserved1 app宸℃璁″垝浜哄憳涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatroluserByReserved1(String reserved1);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝浜哄憳
+     * 
+     * @param reserved1s 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatroluserByReserved1s(String[] reserved1s);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolplanService.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolplanService.java
new file mode 100644
index 0000000..070ffe3
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolplanService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.service;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolplan;
+
+/**
+ * app宸℃璁″垝Service鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface IArdAppPatrolplanService 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝
+     * 
+     * @param patroEndTime app宸℃璁″垝涓婚敭
+     * @return app宸℃璁″垝
+     */
+    public ArdAppPatrolplan selectArdAppPatrolplanByPatroEndTime(String patroEndTime);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝鍒楄〃
+     * 
+     * @param ardAppPatrolplan app宸℃璁″垝
+     * @return app宸℃璁″垝闆嗗悎
+     */
+    public List<ArdAppPatrolplan> selectArdAppPatrolplanList(ArdAppPatrolplan ardAppPatrolplan);
+
+    /**
+     * 鏂板app宸℃璁″垝
+     * 
+     * @param ardAppPatrolplan app宸℃璁″垝
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan);
+
+    /**
+     * 淇敼app宸℃璁″垝
+     * 
+     * @param ardAppPatrolplan app宸℃璁″垝
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝
+     * 
+     * @param patroEndTimes 闇�瑕佸垹闄ょ殑app宸℃璁″垝涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolplanByPatroEndTimes(String[] patroEndTimes);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝淇℃伅
+     * 
+     * @param patroEndTime app宸℃璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolplanByPatroEndTime(String patroEndTime);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordImgService.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordImgService.java
new file mode 100644
index 0000000..4957248
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordImgService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.service;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecordImg;
+
+/**
+ * app宸℃璁″垝璁板綍鍥剧墖Service鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface IArdAppPatrolpointRecordImgService 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍鍥剧墖
+     * 
+     * @param id app宸℃璁″垝璁板綍鍥剧墖涓婚敭
+     * @return app宸℃璁″垝璁板綍鍥剧墖
+     */
+    public ArdAppPatrolpointRecordImg selectArdAppPatrolpointRecordImgById(String id);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍鍥剧墖鍒楄〃
+     * 
+     * @param ardAppPatrolpointRecordImg app宸℃璁″垝璁板綍鍥剧墖
+     * @return app宸℃璁″垝璁板綍鍥剧墖闆嗗悎
+     */
+    public List<ArdAppPatrolpointRecordImg> selectArdAppPatrolpointRecordImgList(ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg);
+
+    /**
+     * 鏂板app宸℃璁″垝璁板綍鍥剧墖
+     * 
+     * @param ardAppPatrolpointRecordImg app宸℃璁″垝璁板綍鍥剧墖
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatrolpointRecordImg(ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg);
+
+    /**
+     * 淇敼app宸℃璁″垝璁板綍鍥剧墖
+     * 
+     * @param ardAppPatrolpointRecordImg app宸℃璁″垝璁板綍鍥剧墖
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatrolpointRecordImg(ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝璁板綍鍥剧墖
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑app宸℃璁″垝璁板綍鍥剧墖涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointRecordImgByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝璁板綍鍥剧墖淇℃伅
+     * 
+     * @param id app宸℃璁″垝璁板綍鍥剧墖涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointRecordImgById(String id);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java
new file mode 100644
index 0000000..a05d64d
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointRecordService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.service;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecord;
+
+/**
+ * app宸℃璁″垝璁板綍Service鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface IArdAppPatrolpointRecordService 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍
+     * 
+     * @param id app宸℃璁″垝璁板綍涓婚敭
+     * @return app宸℃璁″垝璁板綍
+     */
+    public ArdAppPatrolpointRecord selectArdAppPatrolpointRecordById(String id);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍鍒楄〃
+     * 
+     * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍
+     * @return app宸℃璁″垝璁板綍闆嗗悎
+     */
+    public List<ArdAppPatrolpointRecord> selectArdAppPatrolpointRecordList(ArdAppPatrolpointRecord ardAppPatrolpointRecord);
+
+    /**
+     * 鏂板app宸℃璁″垝璁板綍
+     * 
+     * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord);
+
+    /**
+     * 淇敼app宸℃璁″垝璁板綍
+     * 
+     * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝璁板綍
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑app宸℃璁″垝璁板綍涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointRecordByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝璁板綍淇℃伅
+     * 
+     * @param id app宸℃璁″垝璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointRecordById(String id);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointService.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointService.java
new file mode 100644
index 0000000..afe5c76
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatrolpointService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.service;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpoint;
+
+/**
+ * app宸℃璁″垝鐐逛綅Service鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface IArdAppPatrolpointService 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝鐐逛綅
+     * 
+     * @param id app宸℃璁″垝鐐逛綅涓婚敭
+     * @return app宸℃璁″垝鐐逛綅
+     */
+    public ArdAppPatrolpoint selectArdAppPatrolpointById(String id);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝鐐逛綅鍒楄〃
+     * 
+     * @param ardAppPatrolpoint app宸℃璁″垝鐐逛綅
+     * @return app宸℃璁″垝鐐逛綅闆嗗悎
+     */
+    public List<ArdAppPatrolpoint> selectArdAppPatrolpointList(ArdAppPatrolpoint ardAppPatrolpoint);
+
+    /**
+     * 鏂板app宸℃璁″垝鐐逛綅
+     * 
+     * @param ardAppPatrolpoint app宸℃璁″垝鐐逛綅
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatrolpoint(ArdAppPatrolpoint ardAppPatrolpoint);
+
+    /**
+     * 淇敼app宸℃璁″垝鐐逛綅
+     * 
+     * @param ardAppPatrolpoint app宸℃璁″垝鐐逛綅
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatrolpoint(ArdAppPatrolpoint ardAppPatrolpoint);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝鐐逛綅
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑app宸℃璁″垝鐐逛綅涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝鐐逛綅淇℃伅
+     * 
+     * @param id app宸℃璁″垝鐐逛綅涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatrolpointById(String id);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatroluserService.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatroluserService.java
new file mode 100644
index 0000000..625046b
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/IArdAppPatroluserService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.app.patrolplan.service;
+
+import java.util.List;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatroluser;
+
+/**
+ * app宸℃璁″垝浜哄憳Service鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-08-02
+ */
+public interface IArdAppPatroluserService 
+{
+    /**
+     * 鏌ヨapp宸℃璁″垝浜哄憳
+     * 
+     * @param reserved1 app宸℃璁″垝浜哄憳涓婚敭
+     * @return app宸℃璁″垝浜哄憳
+     */
+    public ArdAppPatroluser selectArdAppPatroluserByReserved1(String reserved1);
+
+    /**
+     * 鏌ヨapp宸℃璁″垝浜哄憳鍒楄〃
+     * 
+     * @param ardAppPatroluser app宸℃璁″垝浜哄憳
+     * @return app宸℃璁″垝浜哄憳闆嗗悎
+     */
+    public List<ArdAppPatroluser> selectArdAppPatroluserList(ArdAppPatroluser ardAppPatroluser);
+
+    /**
+     * 鏂板app宸℃璁″垝浜哄憳
+     * 
+     * @param ardAppPatroluser app宸℃璁″垝浜哄憳
+     * @return 缁撴灉
+     */
+    public int insertArdAppPatroluser(ArdAppPatroluser ardAppPatroluser);
+
+    /**
+     * 淇敼app宸℃璁″垝浜哄憳
+     * 
+     * @param ardAppPatroluser app宸℃璁″垝浜哄憳
+     * @return 缁撴灉
+     */
+    public int updateArdAppPatroluser(ArdAppPatroluser ardAppPatroluser);
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝浜哄憳
+     * 
+     * @param reserved1s 闇�瑕佸垹闄ょ殑app宸℃璁″垝浜哄憳涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatroluserByReserved1s(String[] reserved1s);
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝浜哄憳淇℃伅
+     * 
+     * @param reserved1 app宸℃璁″垝浜哄憳涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAppPatroluserByReserved1(String reserved1);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java
new file mode 100644
index 0000000..75dd75d
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolplanServiceImpl.java
@@ -0,0 +1,93 @@
+package com.ruoyi.app.patrolplan.service.impl;
+
+import java.util.List;
+        import com.ruoyi.common.utils.DateUtils;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolplanMapper;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolplan;
+import com.ruoyi.app.patrolplan.service.IArdAppPatrolplanService;
+
+import javax.annotation.Resource;
+
+/**
+ * app宸℃璁″垝Service涓氬姟灞傚鐞�
+ *
+ * @author ard
+ * @date 2023-08-02
+ */
+@Service
+public class ArdAppPatrolplanServiceImpl implements IArdAppPatrolplanService {
+    @Resource
+    private ArdAppPatrolplanMapper ardAppPatrolplanMapper;
+
+    /**
+     * 鏌ヨapp宸℃璁″垝
+     *
+     * @param patroEndTime app宸℃璁″垝涓婚敭
+     * @return app宸℃璁″垝
+     */
+    @Override
+    public ArdAppPatrolplan selectArdAppPatrolplanByPatroEndTime(String patroEndTime) {
+        return ardAppPatrolplanMapper.selectArdAppPatrolplanByPatroEndTime(patroEndTime);
+    }
+
+    /**
+     * 鏌ヨapp宸℃璁″垝鍒楄〃
+     *
+     * @param ardAppPatrolplan app宸℃璁″垝
+     * @return app宸℃璁″垝
+     */
+    @Override
+    public List<ArdAppPatrolplan> selectArdAppPatrolplanList(ArdAppPatrolplan ardAppPatrolplan) {
+        return ardAppPatrolplanMapper.selectArdAppPatrolplanList(ardAppPatrolplan);
+    }
+
+    /**
+     * 鏂板app宸℃璁″垝
+     *
+     * @param ardAppPatrolplan app宸℃璁″垝
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan) {
+                ardAppPatrolplan.setUserId(SecurityUtils.getUserId());
+                ardAppPatrolplan.setCreateTime(DateUtils.getNowDate());
+            return ardAppPatrolplanMapper.insertArdAppPatrolplan(ardAppPatrolplan);
+    }
+
+    /**
+     * 淇敼app宸℃璁″垝
+     *
+     * @param ardAppPatrolplan app宸℃璁″垝
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateArdAppPatrolplan(ArdAppPatrolplan ardAppPatrolplan) {
+        return ardAppPatrolplanMapper.updateArdAppPatrolplan(ardAppPatrolplan);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝
+     *
+     * @param patroEndTimes 闇�瑕佸垹闄ょ殑app宸℃璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatrolplanByPatroEndTimes(String[] patroEndTimes) {
+        return ardAppPatrolplanMapper.deleteArdAppPatrolplanByPatroEndTimes(patroEndTimes);
+    }
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝淇℃伅
+     *
+     * @param patroEndTime app宸℃璁″垝涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatrolplanByPatroEndTime(String patroEndTime) {
+        return ardAppPatrolplanMapper.deleteArdAppPatrolplanByPatroEndTime(patroEndTime);
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordImgServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordImgServiceImpl.java
new file mode 100644
index 0000000..08e34f2
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordImgServiceImpl.java
@@ -0,0 +1,89 @@
+package com.ruoyi.app.patrolplan.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointRecordImgMapper;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecordImg;
+import com.ruoyi.app.patrolplan.service.IArdAppPatrolpointRecordImgService;
+
+import javax.annotation.Resource;
+
+/**
+ * app宸℃璁″垝璁板綍鍥剧墖Service涓氬姟灞傚鐞�
+ *
+ * @author ard
+ * @date 2023-08-02
+ */
+@Service
+public class ArdAppPatrolpointRecordImgServiceImpl implements IArdAppPatrolpointRecordImgService {
+    @Resource
+    private ArdAppPatrolpointRecordImgMapper ardAppPatrolpointRecordImgMapper;
+
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍鍥剧墖
+     *
+     * @param id app宸℃璁″垝璁板綍鍥剧墖涓婚敭
+     * @return app宸℃璁″垝璁板綍鍥剧墖
+     */
+    @Override
+    public ArdAppPatrolpointRecordImg selectArdAppPatrolpointRecordImgById(String id) {
+        return ardAppPatrolpointRecordImgMapper.selectArdAppPatrolpointRecordImgById(id);
+    }
+
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍鍥剧墖鍒楄〃
+     *
+     * @param ardAppPatrolpointRecordImg app宸℃璁″垝璁板綍鍥剧墖
+     * @return app宸℃璁″垝璁板綍鍥剧墖
+     */
+    @Override
+    public List<ArdAppPatrolpointRecordImg> selectArdAppPatrolpointRecordImgList(ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg) {
+        return ardAppPatrolpointRecordImgMapper.selectArdAppPatrolpointRecordImgList(ardAppPatrolpointRecordImg);
+    }
+
+    /**
+     * 鏂板app宸℃璁″垝璁板綍鍥剧墖
+     *
+     * @param ardAppPatrolpointRecordImg app宸℃璁″垝璁板綍鍥剧墖
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertArdAppPatrolpointRecordImg(ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg) {
+            return ardAppPatrolpointRecordImgMapper.insertArdAppPatrolpointRecordImg(ardAppPatrolpointRecordImg);
+    }
+
+    /**
+     * 淇敼app宸℃璁″垝璁板綍鍥剧墖
+     *
+     * @param ardAppPatrolpointRecordImg app宸℃璁″垝璁板綍鍥剧墖
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateArdAppPatrolpointRecordImg(ArdAppPatrolpointRecordImg ardAppPatrolpointRecordImg) {
+        return ardAppPatrolpointRecordImgMapper.updateArdAppPatrolpointRecordImg(ardAppPatrolpointRecordImg);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝璁板綍鍥剧墖
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑app宸℃璁″垝璁板綍鍥剧墖涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatrolpointRecordImgByIds(String[] ids) {
+        return ardAppPatrolpointRecordImgMapper.deleteArdAppPatrolpointRecordImgByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝璁板綍鍥剧墖淇℃伅
+     *
+     * @param id app宸℃璁″垝璁板綍鍥剧墖涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatrolpointRecordImgById(String id) {
+        return ardAppPatrolpointRecordImgMapper.deleteArdAppPatrolpointRecordImgById(id);
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java
new file mode 100644
index 0000000..887f965
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointRecordServiceImpl.java
@@ -0,0 +1,91 @@
+package com.ruoyi.app.patrolplan.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointRecordMapper;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpointRecord;
+import com.ruoyi.app.patrolplan.service.IArdAppPatrolpointRecordService;
+
+import javax.annotation.Resource;
+
+/**
+ * app宸℃璁″垝璁板綍Service涓氬姟灞傚鐞�
+ *
+ * @author ard
+ * @date 2023-08-02
+ */
+@Service
+public class ArdAppPatrolpointRecordServiceImpl implements IArdAppPatrolpointRecordService {
+    @Resource
+    private ArdAppPatrolpointRecordMapper ardAppPatrolpointRecordMapper;
+
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍
+     *
+     * @param id app宸℃璁″垝璁板綍涓婚敭
+     * @return app宸℃璁″垝璁板綍
+     */
+    @Override
+    public ArdAppPatrolpointRecord selectArdAppPatrolpointRecordById(String id) {
+        return ardAppPatrolpointRecordMapper.selectArdAppPatrolpointRecordById(id);
+    }
+
+    /**
+     * 鏌ヨapp宸℃璁″垝璁板綍鍒楄〃
+     *
+     * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍
+     * @return app宸℃璁″垝璁板綍
+     */
+    @Override
+    public List<ArdAppPatrolpointRecord> selectArdAppPatrolpointRecordList(ArdAppPatrolpointRecord ardAppPatrolpointRecord) {
+        return ardAppPatrolpointRecordMapper.selectArdAppPatrolpointRecordList(ardAppPatrolpointRecord);
+    }
+
+    /**
+     * 鏂板app宸℃璁″垝璁板綍
+     *
+     * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord) {
+                ardAppPatrolpointRecord.setUserId(SecurityUtils.getUserId());
+            return ardAppPatrolpointRecordMapper.insertArdAppPatrolpointRecord(ardAppPatrolpointRecord);
+    }
+
+    /**
+     * 淇敼app宸℃璁″垝璁板綍
+     *
+     * @param ardAppPatrolpointRecord app宸℃璁″垝璁板綍
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateArdAppPatrolpointRecord(ArdAppPatrolpointRecord ardAppPatrolpointRecord) {
+        return ardAppPatrolpointRecordMapper.updateArdAppPatrolpointRecord(ardAppPatrolpointRecord);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝璁板綍
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑app宸℃璁″垝璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatrolpointRecordByIds(String[] ids) {
+        return ardAppPatrolpointRecordMapper.deleteArdAppPatrolpointRecordByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝璁板綍淇℃伅
+     *
+     * @param id app宸℃璁″垝璁板綍涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatrolpointRecordById(String id) {
+        return ardAppPatrolpointRecordMapper.deleteArdAppPatrolpointRecordById(id);
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointServiceImpl.java
new file mode 100644
index 0000000..7504ff2
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatrolpointServiceImpl.java
@@ -0,0 +1,89 @@
+package com.ruoyi.app.patrolplan.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointMapper;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatrolpoint;
+import com.ruoyi.app.patrolplan.service.IArdAppPatrolpointService;
+
+import javax.annotation.Resource;
+
+/**
+ * app宸℃璁″垝鐐逛綅Service涓氬姟灞傚鐞�
+ *
+ * @author ard
+ * @date 2023-08-02
+ */
+@Service
+public class ArdAppPatrolpointServiceImpl implements IArdAppPatrolpointService {
+    @Resource
+    private ArdAppPatrolpointMapper ardAppPatrolpointMapper;
+
+    /**
+     * 鏌ヨapp宸℃璁″垝鐐逛綅
+     *
+     * @param id app宸℃璁″垝鐐逛綅涓婚敭
+     * @return app宸℃璁″垝鐐逛綅
+     */
+    @Override
+    public ArdAppPatrolpoint selectArdAppPatrolpointById(String id) {
+        return ardAppPatrolpointMapper.selectArdAppPatrolpointById(id);
+    }
+
+    /**
+     * 鏌ヨapp宸℃璁″垝鐐逛綅鍒楄〃
+     *
+     * @param ardAppPatrolpoint app宸℃璁″垝鐐逛綅
+     * @return app宸℃璁″垝鐐逛綅
+     */
+    @Override
+    public List<ArdAppPatrolpoint> selectArdAppPatrolpointList(ArdAppPatrolpoint ardAppPatrolpoint) {
+        return ardAppPatrolpointMapper.selectArdAppPatrolpointList(ardAppPatrolpoint);
+    }
+
+    /**
+     * 鏂板app宸℃璁″垝鐐逛綅
+     *
+     * @param ardAppPatrolpoint app宸℃璁″垝鐐逛綅
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertArdAppPatrolpoint(ArdAppPatrolpoint ardAppPatrolpoint) {
+            return ardAppPatrolpointMapper.insertArdAppPatrolpoint(ardAppPatrolpoint);
+    }
+
+    /**
+     * 淇敼app宸℃璁″垝鐐逛綅
+     *
+     * @param ardAppPatrolpoint app宸℃璁″垝鐐逛綅
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateArdAppPatrolpoint(ArdAppPatrolpoint ardAppPatrolpoint) {
+        return ardAppPatrolpointMapper.updateArdAppPatrolpoint(ardAppPatrolpoint);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝鐐逛綅
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑app宸℃璁″垝鐐逛綅涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatrolpointByIds(String[] ids) {
+        return ardAppPatrolpointMapper.deleteArdAppPatrolpointByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝鐐逛綅淇℃伅
+     *
+     * @param id app宸℃璁″垝鐐逛綅涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatrolpointById(String id) {
+        return ardAppPatrolpointMapper.deleteArdAppPatrolpointById(id);
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatroluserServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatroluserServiceImpl.java
new file mode 100644
index 0000000..fa4f2b9
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/app/patrolplan/service/impl/ArdAppPatroluserServiceImpl.java
@@ -0,0 +1,89 @@
+package com.ruoyi.app.patrolplan.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.app.patrolplan.mapper.ArdAppPatroluserMapper;
+import com.ruoyi.app.patrolplan.domain.ArdAppPatroluser;
+import com.ruoyi.app.patrolplan.service.IArdAppPatroluserService;
+
+import javax.annotation.Resource;
+
+/**
+ * app宸℃璁″垝浜哄憳Service涓氬姟灞傚鐞�
+ *
+ * @author ard
+ * @date 2023-08-02
+ */
+@Service
+public class ArdAppPatroluserServiceImpl implements IArdAppPatroluserService {
+    @Resource
+    private ArdAppPatroluserMapper ardAppPatroluserMapper;
+
+    /**
+     * 鏌ヨapp宸℃璁″垝浜哄憳
+     *
+     * @param reserved1 app宸℃璁″垝浜哄憳涓婚敭
+     * @return app宸℃璁″垝浜哄憳
+     */
+    @Override
+    public ArdAppPatroluser selectArdAppPatroluserByReserved1(String reserved1) {
+        return ardAppPatroluserMapper.selectArdAppPatroluserByReserved1(reserved1);
+    }
+
+    /**
+     * 鏌ヨapp宸℃璁″垝浜哄憳鍒楄〃
+     *
+     * @param ardAppPatroluser app宸℃璁″垝浜哄憳
+     * @return app宸℃璁″垝浜哄憳
+     */
+    @Override
+    public List<ArdAppPatroluser> selectArdAppPatroluserList(ArdAppPatroluser ardAppPatroluser) {
+        return ardAppPatroluserMapper.selectArdAppPatroluserList(ardAppPatroluser);
+    }
+
+    /**
+     * 鏂板app宸℃璁″垝浜哄憳
+     *
+     * @param ardAppPatroluser app宸℃璁″垝浜哄憳
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertArdAppPatroluser(ArdAppPatroluser ardAppPatroluser) {
+            return ardAppPatroluserMapper.insertArdAppPatroluser(ardAppPatroluser);
+    }
+
+    /**
+     * 淇敼app宸℃璁″垝浜哄憳
+     *
+     * @param ardAppPatroluser app宸℃璁″垝浜哄憳
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateArdAppPatroluser(ArdAppPatroluser ardAppPatroluser) {
+        return ardAppPatroluserMapper.updateArdAppPatroluser(ardAppPatroluser);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎app宸℃璁″垝浜哄憳
+     *
+     * @param reserved1s 闇�瑕佸垹闄ょ殑app宸℃璁″垝浜哄憳涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatroluserByReserved1s(String[] reserved1s) {
+        return ardAppPatroluserMapper.deleteArdAppPatroluserByReserved1s(reserved1s);
+    }
+
+    /**
+     * 鍒犻櫎app宸℃璁″垝浜哄憳淇℃伅
+     *
+     * @param reserved1 app宸℃璁″垝浜哄憳涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAppPatroluserByReserved1(String reserved1) {
+        return ardAppPatroluserMapper.deleteArdAppPatroluserByReserved1(reserved1);
+    }
+}
diff --git a/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml
new file mode 100644
index 0000000..ad01b9c
--- /dev/null
+++ b/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.app.patrolplan.mapper.ArdAppPatrolplanMapper">
+    
+    <resultMap type="ArdAppPatrolplan" id="ArdAppPatrolplanResult">
+        <result property="patroEndTime"    column="patro_end_time"    />
+        <result property="userId"    column="user_id"    />
+        <result property="cycle"    column="cycle"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="id"    column="id"    />
+        <result property="planName"    column="plan_name"    />
+        <result property="patroBeginTime"    column="patro_begin_time"    />
+    </resultMap>
+
+    <sql id="selectArdAppPatrolplanVo">
+        select patro_end_time, user_id, cycle, create_time, id, plan_name, patro_begin_time from ard_app_patrolplan
+    </sql>
+
+    <select id="selectArdAppPatrolplanList" parameterType="ArdAppPatrolplan" resultMap="ArdAppPatrolplanResult">
+        <include refid="selectArdAppPatrolplanVo"/>
+        <where>  
+            <if test="patroEndTime != null  and patroEndTime != ''"> and patro_end_time = #{patroEndTime}</if>
+            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
+            <if test="cycle != null  and cycle != ''"> and cycle = #{cycle}</if>
+            <if test="planName != null  and planName != ''"> and plan_name like '%'||#{planName}||'%'</if>
+            <if test="patroBeginTime != null  and patroBeginTime != ''"> and patro_begin_time = #{patroBeginTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectArdAppPatrolplanByPatroEndTime" parameterType="String" resultMap="ArdAppPatrolplanResult">
+        <include refid="selectArdAppPatrolplanVo"/>
+        where patro_end_time = #{patroEndTime}
+    </select>
+        
+    <insert id="insertArdAppPatrolplan" parameterType="ArdAppPatrolplan">
+        insert into ard_app_patrolplan
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="patroEndTime != null">patro_end_time,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="cycle != null">cycle,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="id != null">id,</if>
+            <if test="planName != null">plan_name,</if>
+            <if test="patroBeginTime != null">patro_begin_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="patroEndTime != null">#{patroEndTime},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="cycle != null">#{cycle},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="id != null">#{id},</if>
+            <if test="planName != null">#{planName},</if>
+            <if test="patroBeginTime != null">#{patroBeginTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateArdAppPatrolplan" parameterType="ArdAppPatrolplan">
+        update ard_app_patrolplan
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="cycle != null">cycle = #{cycle},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="id != null">id = #{id},</if>
+            <if test="planName != null">plan_name = #{planName},</if>
+            <if test="patroBeginTime != null">patro_begin_time = #{patroBeginTime},</if>
+        </trim>
+        where patro_end_time = #{patroEndTime}
+    </update>
+
+    <delete id="deleteArdAppPatrolplanByPatroEndTime" parameterType="String">
+        delete from ard_app_patrolplan where patro_end_time = #{patroEndTime}
+    </delete>
+
+    <delete id="deleteArdAppPatrolplanByPatroEndTimes" parameterType="String">
+        delete from ard_app_patrolplan where patro_end_time in 
+        <foreach item="patroEndTime" collection="array" open="(" separator="," close=")">
+            #{patroEndTime}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/app/ArdAppPatrolpointMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppPatrolpointMapper.xml
new file mode 100644
index 0000000..fd5a883
--- /dev/null
+++ b/ard-work/src/main/resources/mapper/app/ArdAppPatrolpointMapper.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointMapper">
+    
+    <resultMap type="ArdAppPatrolpoint" id="ArdAppPatrolpointResult">
+        <result property="id"    column="id"    />
+        <result property="patrolplanId"    column="patrolplan_id"    />
+        <result property="alarmpointsId"    column="alarmpoints_id"    />
+        <result property="type"    column="type"    />
+    </resultMap>
+
+    <sql id="selectArdAppPatrolpointVo">
+        select id, patrolplan_id, alarmpoints_id, type from ard_app_patrolpoint
+    </sql>
+
+    <select id="selectArdAppPatrolpointList" parameterType="ArdAppPatrolpoint" resultMap="ArdAppPatrolpointResult">
+        <include refid="selectArdAppPatrolpointVo"/>
+        <where>  
+            <if test="patrolplanId != null  and patrolplanId != ''"> and patrolplan_id = #{patrolplanId}</if>
+            <if test="alarmpointsId != null  and alarmpointsId != ''"> and alarmpoints_id = #{alarmpointsId}</if>
+            <if test="type != null  and type != ''"> and type = #{type}</if>
+        </where>
+    </select>
+    
+    <select id="selectArdAppPatrolpointById" parameterType="String" resultMap="ArdAppPatrolpointResult">
+        <include refid="selectArdAppPatrolpointVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertArdAppPatrolpoint" parameterType="ArdAppPatrolpoint">
+        insert into ard_app_patrolpoint
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="patrolplanId != null">patrolplan_id,</if>
+            <if test="alarmpointsId != null">alarmpoints_id,</if>
+            <if test="type != null">type,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="patrolplanId != null">#{patrolplanId},</if>
+            <if test="alarmpointsId != null">#{alarmpointsId},</if>
+            <if test="type != null">#{type},</if>
+         </trim>
+    </insert>
+
+    <update id="updateArdAppPatrolpoint" parameterType="ArdAppPatrolpoint">
+        update ard_app_patrolpoint
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="patrolplanId != null">patrolplan_id = #{patrolplanId},</if>
+            <if test="alarmpointsId != null">alarmpoints_id = #{alarmpointsId},</if>
+            <if test="type != null">type = #{type},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteArdAppPatrolpointById" parameterType="String">
+        delete from ard_app_patrolpoint where id = #{id}
+    </delete>
+
+    <delete id="deleteArdAppPatrolpointByIds" parameterType="String">
+        delete from ard_app_patrolpoint where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/app/ArdAppPatrolpointRecordImgMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppPatrolpointRecordImgMapper.xml
new file mode 100644
index 0000000..3ece2b1
--- /dev/null
+++ b/ard-work/src/main/resources/mapper/app/ArdAppPatrolpointRecordImgMapper.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointRecordImgMapper">
+    
+    <resultMap type="ArdAppPatrolpointRecordImg" id="ArdAppPatrolpointRecordImgResult">
+        <result property="id"    column="id"    />
+        <result property="appPatrolponitRecordId"    column="app_patrolponit_record_id"    />
+        <result property="img"    column="img"    />
+    </resultMap>
+
+    <sql id="selectArdAppPatrolpointRecordImgVo">
+        select id, app_patrolponit_record_id, img from ard_app_patrolpoint_record_img
+    </sql>
+
+    <select id="selectArdAppPatrolpointRecordImgList" parameterType="ArdAppPatrolpointRecordImg" resultMap="ArdAppPatrolpointRecordImgResult">
+        <include refid="selectArdAppPatrolpointRecordImgVo"/>
+        <where>  
+            <if test="appPatrolponitRecordId != null  and appPatrolponitRecordId != ''"> and app_patrolponit_record_id = #{appPatrolponitRecordId}</if>
+            <if test="img != null  and img != ''"> and img = #{img}</if>
+        </where>
+    </select>
+    
+    <select id="selectArdAppPatrolpointRecordImgById" parameterType="String" resultMap="ArdAppPatrolpointRecordImgResult">
+        <include refid="selectArdAppPatrolpointRecordImgVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertArdAppPatrolpointRecordImg" parameterType="ArdAppPatrolpointRecordImg">
+        insert into ard_app_patrolpoint_record_img
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="appPatrolponitRecordId != null">app_patrolponit_record_id,</if>
+            <if test="img != null">img,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="appPatrolponitRecordId != null">#{appPatrolponitRecordId},</if>
+            <if test="img != null">#{img},</if>
+         </trim>
+    </insert>
+
+    <update id="updateArdAppPatrolpointRecordImg" parameterType="ArdAppPatrolpointRecordImg">
+        update ard_app_patrolpoint_record_img
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="appPatrolponitRecordId != null">app_patrolponit_record_id = #{appPatrolponitRecordId},</if>
+            <if test="img != null">img = #{img},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteArdAppPatrolpointRecordImgById" parameterType="String">
+        delete from ard_app_patrolpoint_record_img where id = #{id}
+    </delete>
+
+    <delete id="deleteArdAppPatrolpointRecordImgByIds" parameterType="String">
+        delete from ard_app_patrolpoint_record_img where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/app/ArdAppPatrolpointRecordMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppPatrolpointRecordMapper.xml
new file mode 100644
index 0000000..059380a
--- /dev/null
+++ b/ard-work/src/main/resources/mapper/app/ArdAppPatrolpointRecordMapper.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.app.patrolplan.mapper.ArdAppPatrolpointRecordMapper">
+    
+    <resultMap type="ArdAppPatrolpointRecord" id="ArdAppPatrolpointRecordResult">
+        <result property="id"    column="id"    />
+        <result property="remark"    column="remark"    />
+        <result property="longitude"    column="longitude"    />
+        <result property="latitude"    column="latitude"    />
+        <result property="userId"    column="user_id"    />
+        <result property="recordTime"    column="record_time"    />
+        <result property="appPatrolpointsId"    column="app_patrolpoints_id"    />
+    </resultMap>
+
+    <sql id="selectArdAppPatrolpointRecordVo">
+        select id, remark, longitude, latitude, user_id, record_time, app_patrolpoints_id from ard_app_patrolpoint_record
+    </sql>
+
+    <select id="selectArdAppPatrolpointRecordList" parameterType="ArdAppPatrolpointRecord" resultMap="ArdAppPatrolpointRecordResult">
+        <include refid="selectArdAppPatrolpointRecordVo"/>
+        <where>  
+            <if test="longitude != null  and longitude != ''"> and longitude = #{longitude}</if>
+            <if test="latitude != null  and latitude != ''"> and latitude = #{latitude}</if>
+            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
+            <if test="recordTime != null  and recordTime != ''"> and record_time = #{recordTime}</if>
+            <if test="appPatrolpointsId != null  and appPatrolpointsId != ''"> and app_patrolpoints_id = #{appPatrolpointsId}</if>
+        </where>
+    </select>
+    
+    <select id="selectArdAppPatrolpointRecordById" parameterType="String" resultMap="ArdAppPatrolpointRecordResult">
+        <include refid="selectArdAppPatrolpointRecordVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertArdAppPatrolpointRecord" parameterType="ArdAppPatrolpointRecord">
+        insert into ard_app_patrolpoint_record
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="remark != null">remark,</if>
+            <if test="longitude != null">longitude,</if>
+            <if test="latitude != null">latitude,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="recordTime != null">record_time,</if>
+            <if test="appPatrolpointsId != null">app_patrolpoints_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="longitude != null">#{longitude},</if>
+            <if test="latitude != null">#{latitude},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="recordTime != null">#{recordTime},</if>
+            <if test="appPatrolpointsId != null">#{appPatrolpointsId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateArdAppPatrolpointRecord" parameterType="ArdAppPatrolpointRecord">
+        update ard_app_patrolpoint_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="longitude != null">longitude = #{longitude},</if>
+            <if test="latitude != null">latitude = #{latitude},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="recordTime != null">record_time = #{recordTime},</if>
+            <if test="appPatrolpointsId != null">app_patrolpoints_id = #{appPatrolpointsId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteArdAppPatrolpointRecordById" parameterType="String">
+        delete from ard_app_patrolpoint_record where id = #{id}
+    </delete>
+
+    <delete id="deleteArdAppPatrolpointRecordByIds" parameterType="String">
+        delete from ard_app_patrolpoint_record where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/app/ArdAppPatroluserMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppPatroluserMapper.xml
new file mode 100644
index 0000000..a5d51f3
--- /dev/null
+++ b/ard-work/src/main/resources/mapper/app/ArdAppPatroluserMapper.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.app.patrolplan.mapper.ArdAppPatroluserMapper">
+    
+    <resultMap type="ArdAppPatroluser" id="ArdAppPatroluserResult">
+        <result property="reserved1"    column="reserved_1"    />
+        <result property="patrolplanId"    column="patrolplan_id"    />
+        <result property="appUserId"    column="app_user_id"    />
+    </resultMap>
+
+    <sql id="selectArdAppPatroluserVo">
+        select reserved_1, patrolplan_id, app_user_id from ard_app_patroluser
+    </sql>
+
+    <select id="selectArdAppPatroluserList" parameterType="ArdAppPatroluser" resultMap="ArdAppPatroluserResult">
+        <include refid="selectArdAppPatroluserVo"/>
+        <where>  
+            <if test="reserved1 != null  and reserved1 != ''"> and reserved_1 = #{reserved1}</if>
+            <if test="patrolplanId != null  and patrolplanId != ''"> and patrolplan_id = #{patrolplanId}</if>
+            <if test="appUserId != null  and appUserId != ''"> and app_user_id = #{appUserId}</if>
+        </where>
+    </select>
+    
+    <select id="selectArdAppPatroluserByReserved1" parameterType="String" resultMap="ArdAppPatroluserResult">
+        <include refid="selectArdAppPatroluserVo"/>
+        where reserved_1 = #{reserved1}
+    </select>
+        
+    <insert id="insertArdAppPatroluser" parameterType="ArdAppPatroluser">
+        insert into ard_app_patroluser
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="reserved1 != null">reserved_1,</if>
+            <if test="patrolplanId != null">patrolplan_id,</if>
+            <if test="appUserId != null">app_user_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="reserved1 != null">#{reserved1},</if>
+            <if test="patrolplanId != null">#{patrolplanId},</if>
+            <if test="appUserId != null">#{appUserId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateArdAppPatroluser" parameterType="ArdAppPatroluser">
+        update ard_app_patroluser
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="patrolplanId != null">patrolplan_id = #{patrolplanId},</if>
+            <if test="appUserId != null">app_user_id = #{appUserId},</if>
+        </trim>
+        where reserved_1 = #{reserved1}
+    </update>
+
+    <delete id="deleteArdAppPatroluserByReserved1" parameterType="String">
+        delete from ard_app_patroluser where reserved_1 = #{reserved1}
+    </delete>
+
+    <delete id="deleteArdAppPatroluserByReserved1s" parameterType="String">
+        delete from ard_app_patroluser where reserved_1 in 
+        <foreach item="reserved1" collection="array" open="(" separator="," close=")">
+            #{reserved1}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3