From 90bc1a2f92d89ca8a614edb1a7957ed94becd0b7 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 20 十一月 2024 18:31:15 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/funingyunwei

---
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractCloudController.java               |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolLine.java                   |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java                        |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceRecordService.java            |    5 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java               |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java        |  155 +++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRoomServiceImpl.java   |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java                     |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolPoint.java                  |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java    |    5 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java              |    8 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractDetailCloudController.java         |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProjectService.java                 |    5 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java           |    9 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java                 |    3 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java           |   17 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java                 |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java               |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractService.java                |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java                         |    7 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java           |   71 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java           |   22 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java                     |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java                  |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java                        |   88 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java                    |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java       |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java        |   49 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractDetail.java               |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java            |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java                 |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java              |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java       |   41 +
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java                |   17 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractDetailService.java          |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwFloorService.java                   |   98 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java     |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java                      |   87 +++
 server/system_service/src/main/java/com/doumee/dao/business/model/Company.java                                |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java   |    5 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwLinePointCloudController.java              |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java                      |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java                     |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwBuildingService.java                |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java              |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java                |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwLinePoint.java                    |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java                   |    3 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java                  |   96 +++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java             |    8 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java             |    8 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java                   |   17 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java       |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java     |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolPointService.java             |    5 
 server/db/business.yw_account.permissions.sql                                                                 |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwLinePointService.java               |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java   |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java                       |    3 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java                 |    8 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java           |    8 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwAccountCloudController.java                |   95 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java          |  196 +++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwAccountService.java                 |   98 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java                       |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java                    |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java                      |   12 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceRecordCloudController.java           |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java                         |    2 
 /dev/null                                                                                                     |   90 ---
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java                 |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java      |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractDetailServiceImpl.java |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java            |    5 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java               |   31 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java   |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRoomService.java            |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java          |   13 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolPointCloudController.java            |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java         |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java      |    6 
 81 files changed, 1,356 insertions(+), 272 deletions(-)

diff --git a/server/db/business.yw_account.permissions.sql b/server/db/business.yw_account.permissions.sql
new file mode 100644
index 0000000..1b35b8d
--- /dev/null
+++ b/server/db/business.yw_account.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywaccount:create', '鏂板缓杩愮淮鏀舵敮璐﹀彿淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywaccount:delete', '鍒犻櫎杩愮淮鏀舵敮璐﹀彿淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywaccount:update', '淇敼杩愮淮鏀舵敮璐﹀彿淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywaccount:query', '鏌ヨ杩愮淮鏀舵敮璐﹀彿淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywaccount:exportExcel', '瀵煎嚭杩愮淮鏀舵敮璐﹀彿淇℃伅琛�(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
diff --git a/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java b/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
index 03ae864..9c8f1df 100644
--- a/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
+++ b/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -76,7 +76,7 @@
     @ExcelColumn(name="鍥炬爣")
     private String imgurl;
 
-    @ApiModelProperty(value = "绫诲瀷 0鐩稿叧鏂瑰叕鍙� 1鍐呴儴缁勭粐")
+    @ApiModelProperty(value = "绫诲瀷 0鐩稿叧鏂瑰叕鍙� 1鍐呴儴缁勭粐 2杩愮淮鍏徃绠$悊")
     @ExcelColumn(name="绫诲瀷 0鐩稿叧鏂瑰叕鍙� 1鍐呴儴缁勭粐")
     private Integer type;
 
@@ -85,7 +85,7 @@
     private Integer categoryId;
 
 
-    @ApiModelProperty(value = "浼佷笟浠g爜")
+    @ApiModelProperty(value = "浼佷笟浠g爜/绾崇◣璇嗗埆鍙�")
     @ExcelColumn(name="浼佷笟浠g爜")
     private String code;
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwBuildingController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwBuildingController.java
deleted file mode 100644
index a13b17b..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwBuildingController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwBuilding;
-import com.doumee.service.business.YwBuildingService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮妤煎畤淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywBuilding")
-public class YwBuildingController extends BaseController {
-
-    @Autowired
-    private YwBuildingService ywBuildingService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywbuilding:create")
-    public ApiResponse create(@RequestBody YwBuilding ywBuilding) {
-        return ApiResponse.success(ywBuildingService.create(ywBuilding));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywbuilding:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywBuildingService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywbuilding:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywBuildingService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywbuilding:update")
-    public ApiResponse updateById(@RequestBody YwBuilding ywBuilding) {
-        ywBuildingService.updateById(ywBuilding);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywbuilding:query")
-    public ApiResponse<PageData<YwBuilding>> findPage (@RequestBody PageWrap<YwBuilding> pageWrap) {
-        return ApiResponse.success(ywBuildingService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywbuilding:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwBuilding> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwBuilding.class).export(ywBuildingService.findPage(pageWrap).getRecords(), "杩愮淮妤煎畤淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywbuilding:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywBuildingService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractBillController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractBillController.java
deleted file mode 100644
index c115fc0..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractBillController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwContractBill;
-import com.doumee.service.business.YwContractBillService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮鍚堝悓璐﹀崟淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywContractBill")
-public class YwContractBillController extends BaseController {
-
-    @Autowired
-    private YwContractBillService ywContractBillService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywcontractbill:create")
-    public ApiResponse create(@RequestBody YwContractBill ywContractBill) {
-        return ApiResponse.success(ywContractBillService.create(ywContractBill));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywcontractbill:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywContractBillService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywcontractbill:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywContractBillService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywcontractbill:update")
-    public ApiResponse updateById(@RequestBody YwContractBill ywContractBill) {
-        ywContractBillService.updateById(ywContractBill);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywcontractbill:query")
-    public ApiResponse<PageData<YwContractBill>> findPage (@RequestBody PageWrap<YwContractBill> pageWrap) {
-        return ApiResponse.success(ywContractBillService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywcontractbill:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwContractBill> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwContractBill.class).export(ywContractBillService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓璐﹀崟淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywcontractbill:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywContractBillService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractController.java
deleted file mode 100644
index 3850869..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwContract;
-import com.doumee.service.business.YwContractService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮鍚堝悓淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywContract")
-public class YwContractController extends BaseController {
-
-    @Autowired
-    private YwContractService ywContractService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywcontract:create")
-    public ApiResponse create(@RequestBody YwContract ywContract) {
-        return ApiResponse.success(ywContractService.create(ywContract));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywcontract:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywContractService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywcontract:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywContractService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywcontract:update")
-    public ApiResponse updateById(@RequestBody YwContract ywContract) {
-        ywContractService.updateById(ywContract);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywcontract:query")
-    public ApiResponse<PageData<YwContract>> findPage (@RequestBody PageWrap<YwContract> pageWrap) {
-        return ApiResponse.success(ywContractService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywcontract:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwContract> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwContract.class).export(ywContractService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywcontract:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywContractService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractDetailController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractDetailController.java
deleted file mode 100644
index 4c1448e..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractDetailController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwContractDetail;
-import com.doumee.service.business.YwContractDetailService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮鍚堝悓鏉℃淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywContractDetail")
-public class YwContractDetailController extends BaseController {
-
-    @Autowired
-    private YwContractDetailService ywContractDetailService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywcontractdetail:create")
-    public ApiResponse create(@RequestBody YwContractDetail ywContractDetail) {
-        return ApiResponse.success(ywContractDetailService.create(ywContractDetail));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywcontractdetail:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywContractDetailService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywcontractdetail:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywContractDetailService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywcontractdetail:update")
-    public ApiResponse updateById(@RequestBody YwContractDetail ywContractDetail) {
-        ywContractDetailService.updateById(ywContractDetail);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywcontractdetail:query")
-    public ApiResponse<PageData<YwContractDetail>> findPage (@RequestBody PageWrap<YwContractDetail> pageWrap) {
-        return ApiResponse.success(ywContractDetailService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywcontractdetail:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwContractDetail> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwContractDetail.class).export(ywContractDetailService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓鏉℃淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywcontractdetail:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywContractDetailService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractRoomController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractRoomController.java
deleted file mode 100644
index 1a1a069..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwContractRoomController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwContractRoom;
-import com.doumee.service.business.YwContractRoomService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮鍚堝悓鎴挎簮鍏宠仈淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywContractRoom")
-public class YwContractRoomController extends BaseController {
-
-    @Autowired
-    private YwContractRoomService ywContractRoomService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywcontractroom:create")
-    public ApiResponse create(@RequestBody YwContractRoom ywContractRoom) {
-        return ApiResponse.success(ywContractRoomService.create(ywContractRoom));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywcontractroom:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywContractRoomService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywcontractroom:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywContractRoomService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywcontractroom:update")
-    public ApiResponse updateById(@RequestBody YwContractRoom ywContractRoom) {
-        ywContractRoomService.updateById(ywContractRoom);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywcontractroom:query")
-    public ApiResponse<PageData<YwContractRoom>> findPage (@RequestBody PageWrap<YwContractRoom> pageWrap) {
-        return ApiResponse.success(ywContractRoomService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywcontractroom:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwContractRoom> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwContractRoom.class).export(ywContractRoomService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓鎴挎簮鍏宠仈淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywcontractroom:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywContractRoomService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwCustomerController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwCustomerController.java
deleted file mode 100644
index 303a391..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwCustomerController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwCustomer;
-import com.doumee.service.business.YwCustomerService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮瀹㈡埛淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywCustomer")
-public class YwCustomerController extends BaseController {
-
-    @Autowired
-    private YwCustomerService ywCustomerService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywcustomer:create")
-    public ApiResponse create(@RequestBody YwCustomer ywCustomer) {
-        return ApiResponse.success(ywCustomerService.create(ywCustomer));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywcustomer:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywCustomerService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywcustomer:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywCustomerService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywcustomer:update")
-    public ApiResponse updateById(@RequestBody YwCustomer ywCustomer) {
-        ywCustomerService.updateById(ywCustomer);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywcustomer:query")
-    public ApiResponse<PageData<YwCustomer>> findPage (@RequestBody PageWrap<YwCustomer> pageWrap) {
-        return ApiResponse.success(ywCustomerService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywcustomer:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwCustomer> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwCustomer.class).export(ywCustomerService.findPage(pageWrap).getRecords(), "杩愮淮瀹㈡埛淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywcustomer:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywCustomerService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwDeviceController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwDeviceController.java
deleted file mode 100644
index a69284a..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwDeviceController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwDevice;
-import com.doumee.service.business.YwDeviceService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮璁惧淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywDevice")
-public class YwDeviceController extends BaseController {
-
-    @Autowired
-    private YwDeviceService ywDeviceService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywdevice:create")
-    public ApiResponse create(@RequestBody YwDevice ywDevice) {
-        return ApiResponse.success(ywDeviceService.create(ywDevice));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywdevice:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywDeviceService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywdevice:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywDeviceService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywdevice:update")
-    public ApiResponse updateById(@RequestBody YwDevice ywDevice) {
-        ywDeviceService.updateById(ywDevice);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywdevice:query")
-    public ApiResponse<PageData<YwDevice>> findPage (@RequestBody PageWrap<YwDevice> pageWrap) {
-        return ApiResponse.success(ywDeviceService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywdevice:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwDevice> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwDevice.class).export(ywDeviceService.findPage(pageWrap).getRecords(), "杩愮淮璁惧淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywdevice:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywDeviceService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwDeviceRecordController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwDeviceRecordController.java
deleted file mode 100644
index 658b47f..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwDeviceRecordController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwDeviceRecord;
-import com.doumee.service.business.YwDeviceRecordService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮璁惧杩愮淮璁板綍琛�")
-@RestController
-@RequestMapping("/business/ywDeviceRecord")
-public class YwDeviceRecordController extends BaseController {
-
-    @Autowired
-    private YwDeviceRecordService ywDeviceRecordService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywdevicerecord:create")
-    public ApiResponse create(@RequestBody YwDeviceRecord ywDeviceRecord) {
-        return ApiResponse.success(ywDeviceRecordService.create(ywDeviceRecord));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywdevicerecord:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywDeviceRecordService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywdevicerecord:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywDeviceRecordService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywdevicerecord:update")
-    public ApiResponse updateById(@RequestBody YwDeviceRecord ywDeviceRecord) {
-        ywDeviceRecordService.updateById(ywDeviceRecord);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywdevicerecord:query")
-    public ApiResponse<PageData<YwDeviceRecord>> findPage (@RequestBody PageWrap<YwDeviceRecord> pageWrap) {
-        return ApiResponse.success(ywDeviceRecordService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywdevicerecord:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwDeviceRecord> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwDeviceRecord.class).export(ywDeviceRecordService.findPage(pageWrap).getRecords(), "杩愮淮璁惧杩愮淮璁板綍琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywdevicerecord:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywDeviceRecordService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwLinePointController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwLinePointController.java
deleted file mode 100644
index cee630e..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwLinePointController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwLinePoint;
-import com.doumee.service.business.YwLinePointService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮宸℃璺嚎鍏宠仈宸℃鐐瑰叧鑱旇〃")
-@RestController
-@RequestMapping("/business/ywLinePoint")
-public class YwLinePointController extends BaseController {
-
-    @Autowired
-    private YwLinePointService ywLinePointService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywlinepoint:create")
-    public ApiResponse create(@RequestBody YwLinePoint ywLinePoint) {
-        return ApiResponse.success(ywLinePointService.create(ywLinePoint));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywlinepoint:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywLinePointService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywlinepoint:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywLinePointService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywlinepoint:update")
-    public ApiResponse updateById(@RequestBody YwLinePoint ywLinePoint) {
-        ywLinePointService.updateById(ywLinePoint);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywlinepoint:query")
-    public ApiResponse<PageData<YwLinePoint>> findPage (@RequestBody PageWrap<YwLinePoint> pageWrap) {
-        return ApiResponse.success(ywLinePointService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywlinepoint:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwLinePoint> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwLinePoint.class).export(ywLinePointService.findPage(pageWrap).getRecords(), "杩愮淮宸℃璺嚎鍏宠仈宸℃鐐瑰叧鑱旇〃", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywlinepoint:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywLinePointService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolLineController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolLineController.java
deleted file mode 100644
index 70d2fab..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolLineController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwPatrolLine;
-import com.doumee.service.business.YwPatrolLineService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮宸℃璺嚎淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywPatrolLine")
-public class YwPatrolLineController extends BaseController {
-
-    @Autowired
-    private YwPatrolLineService ywPatrolLineService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywpatrolline:create")
-    public ApiResponse create(@RequestBody YwPatrolLine ywPatrolLine) {
-        return ApiResponse.success(ywPatrolLineService.create(ywPatrolLine));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywpatrolline:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywPatrolLineService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywpatrolline:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywPatrolLineService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywpatrolline:update")
-    public ApiResponse updateById(@RequestBody YwPatrolLine ywPatrolLine) {
-        ywPatrolLineService.updateById(ywPatrolLine);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywpatrolline:query")
-    public ApiResponse<PageData<YwPatrolLine>> findPage (@RequestBody PageWrap<YwPatrolLine> pageWrap) {
-        return ApiResponse.success(ywPatrolLineService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywpatrolline:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwPatrolLine> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwPatrolLine.class).export(ywPatrolLineService.findPage(pageWrap).getRecords(), "杩愮淮宸℃璺嚎淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywpatrolline:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywPatrolLineService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolPointController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolPointController.java
deleted file mode 100644
index baac6d0..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolPointController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwPatrolPoint;
-import com.doumee.service.business.YwPatrolPointService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮宸℃鐐逛俊鎭〃")
-@RestController
-@RequestMapping("/business/ywPatrolPoint")
-public class YwPatrolPointController extends BaseController {
-
-    @Autowired
-    private YwPatrolPointService ywPatrolPointService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywpatrolpoint:create")
-    public ApiResponse create(@RequestBody YwPatrolPoint ywPatrolPoint) {
-        return ApiResponse.success(ywPatrolPointService.create(ywPatrolPoint));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywpatrolpoint:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywPatrolPointService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywpatrolpoint:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywPatrolPointService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywpatrolpoint:update")
-    public ApiResponse updateById(@RequestBody YwPatrolPoint ywPatrolPoint) {
-        ywPatrolPointService.updateById(ywPatrolPoint);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywpatrolpoint:query")
-    public ApiResponse<PageData<YwPatrolPoint>> findPage (@RequestBody PageWrap<YwPatrolPoint> pageWrap) {
-        return ApiResponse.success(ywPatrolPointService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywpatrolpoint:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwPatrolPoint> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwPatrolPoint.class).export(ywPatrolPointService.findPage(pageWrap).getRecords(), "杩愮淮宸℃鐐逛俊鎭〃", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywpatrolpoint:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywPatrolPointService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolSchemeController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolSchemeController.java
deleted file mode 100644
index 840efbc..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolSchemeController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwPatrolScheme;
-import com.doumee.service.business.YwPatrolSchemeService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮宸℃璁″垝淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywPatrolScheme")
-public class YwPatrolSchemeController extends BaseController {
-
-    @Autowired
-    private YwPatrolSchemeService ywPatrolSchemeService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywpatrolscheme:create")
-    public ApiResponse create(@RequestBody YwPatrolScheme ywPatrolScheme) {
-        return ApiResponse.success(ywPatrolSchemeService.create(ywPatrolScheme));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywpatrolscheme:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywPatrolSchemeService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywpatrolscheme:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywPatrolSchemeService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywpatrolscheme:update")
-    public ApiResponse updateById(@RequestBody YwPatrolScheme ywPatrolScheme) {
-        ywPatrolSchemeService.updateById(ywPatrolScheme);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywpatrolscheme:query")
-    public ApiResponse<PageData<YwPatrolScheme>> findPage (@RequestBody PageWrap<YwPatrolScheme> pageWrap) {
-        return ApiResponse.success(ywPatrolSchemeService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywpatrolscheme:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwPatrolScheme> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwPatrolScheme.class).export(ywPatrolSchemeService.findPage(pageWrap).getRecords(), "杩愮淮宸℃璁″垝淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywpatrolscheme:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywPatrolSchemeService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolTaskController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolTaskController.java
deleted file mode 100644
index 527978f..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwPatrolTaskController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwPatrolTask;
-import com.doumee.service.business.YwPatrolTaskService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮宸℃浠诲姟淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywPatrolTask")
-public class YwPatrolTaskController extends BaseController {
-
-    @Autowired
-    private YwPatrolTaskService ywPatrolTaskService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywpatroltask:create")
-    public ApiResponse create(@RequestBody YwPatrolTask ywPatrolTask) {
-        return ApiResponse.success(ywPatrolTaskService.create(ywPatrolTask));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywpatroltask:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywPatrolTaskService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywpatroltask:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywPatrolTaskService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywpatroltask:update")
-    public ApiResponse updateById(@RequestBody YwPatrolTask ywPatrolTask) {
-        ywPatrolTaskService.updateById(ywPatrolTask);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywpatroltask:query")
-    public ApiResponse<PageData<YwPatrolTask>> findPage (@RequestBody PageWrap<YwPatrolTask> pageWrap) {
-        return ApiResponse.success(ywPatrolTaskService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywpatroltask:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwPatrolTask> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwPatrolTask.class).export(ywPatrolTaskService.findPage(pageWrap).getRecords(), "杩愮淮宸℃浠诲姟淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywpatroltask:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywPatrolTaskService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwProjectController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwProjectController.java
deleted file mode 100644
index 08065a9..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwProjectController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwProject;
-import com.doumee.service.business.YwProjectService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮椤圭洰淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywProject")
-public class YwProjectController extends BaseController {
-
-    @Autowired
-    private YwProjectService ywProjectService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywproject:create")
-    public ApiResponse create(@RequestBody YwProject ywProject) {
-        return ApiResponse.success(ywProjectService.create(ywProject));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywproject:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywProjectService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywproject:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywProjectService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywproject:update")
-    public ApiResponse updateById(@RequestBody YwProject ywProject) {
-        ywProjectService.updateById(ywProject);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywproject:query")
-    public ApiResponse<PageData<YwProject>> findPage (@RequestBody PageWrap<YwProject> pageWrap) {
-        return ApiResponse.success(ywProjectService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywproject:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwProject> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwProject.class).export(ywProjectService.findPage(pageWrap).getRecords(), "杩愮淮椤圭洰淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywproject:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywProjectService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwRoomController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwRoomController.java
deleted file mode 100644
index d37d721..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwRoomController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwRoom;
-import com.doumee.service.business.YwRoomService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮鎴挎簮淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywRoom")
-public class YwRoomController extends BaseController {
-
-    @Autowired
-    private YwRoomService ywRoomService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywroom:create")
-    public ApiResponse create(@RequestBody YwRoom ywRoom) {
-        return ApiResponse.success(ywRoomService.create(ywRoom));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywroom:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywRoomService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywroom:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywRoomService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywroom:update")
-    public ApiResponse updateById(@RequestBody YwRoom ywRoom) {
-        ywRoomService.updateById(ywRoom);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywroom:query")
-    public ApiResponse<PageData<YwRoom>> findPage (@RequestBody PageWrap<YwRoom> pageWrap) {
-        return ApiResponse.success(ywRoomService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywroom:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwRoom> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwRoom.class).export(ywRoomService.findPage(pageWrap).getRecords(), "杩愮淮鎴挎簮淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywroom:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywRoomService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwWorkorderController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwWorkorderController.java
deleted file mode 100644
index 3d41613..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/YwWorkorderController.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.api.BaseController;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.core.model.ApiResponse;
-import com.doumee.core.model.PageWrap;
-import com.doumee.core.model.PageData;
-import com.doumee.dao.business.model.YwWorkorder;
-import com.doumee.service.business.YwWorkorderService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2024/11/19 16:07
- */
-@Api(tags = "杩愮淮宸ュ崟淇℃伅琛�")
-@RestController
-@RequestMapping("/business/ywWorkorder")
-public class YwWorkorderController extends BaseController {
-
-    @Autowired
-    private YwWorkorderService ywWorkorderService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:ywworkorder:create")
-    public ApiResponse create(@RequestBody YwWorkorder ywWorkorder) {
-        return ApiResponse.success(ywWorkorderService.create(ywWorkorder));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywworkorder:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        ywWorkorderService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywworkorder:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        ywWorkorderService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:ywworkorder:update")
-    public ApiResponse updateById(@RequestBody YwWorkorder ywWorkorder) {
-        ywWorkorderService.updateById(ywWorkorder);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:ywworkorder:query")
-    public ApiResponse<PageData<YwWorkorder>> findPage (@RequestBody PageWrap<YwWorkorder> pageWrap) {
-        return ApiResponse.success(ywWorkorderService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywworkorder:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<YwWorkorder> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(YwWorkorder.class).export(ywWorkorderService.findPage(pageWrap).getRecords(), "杩愮淮宸ュ崟淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:ywworkorder:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(ywWorkorderService.findById(id));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwAccountCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwAccountCloudController.java
new file mode 100644
index 0000000..8de9b5f
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwAccountCloudController.java
@@ -0,0 +1,95 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.YwAccount;
+import com.doumee.service.business.YwAccountService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/11/19 18:09
+ */
+@Api(tags = "杩愮淮鏀舵敮璐﹀彿淇℃伅琛�")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/ywAccount")
+public class YwAccountCloudController extends BaseController {
+
+    @Autowired
+    private YwAccountService ywAccountService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @CloudRequiredPermission("business:ywaccount:create")
+    public ApiResponse create(@RequestBody YwAccount model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        model.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywAccountService.create(model));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @CloudRequiredPermission("business:ywaccount:delete")
+    public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywAccountService.deleteById(id,this.getLoginUser(token));
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @CloudRequiredPermission("business:ywaccount:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        ywAccountService.deleteByIdInBatch(idList,this.getLoginUser(token));
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @CloudRequiredPermission("business:ywaccount:update")
+    public ApiResponse updateById(@RequestBody YwAccount ywAccount,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywAccount.setLoginUserInfo(this.getLoginUser(token));
+        ywAccountService.updateById(ywAccount);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @CloudRequiredPermission("business:ywaccount:query")
+    public ApiResponse<PageData<YwAccount>> findPage (@RequestBody PageWrap<YwAccount> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywAccountService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @CloudRequiredPermission("business:ywaccount:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<YwAccount> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
+        ExcelExporter.build(YwAccount.class).export(ywAccountService.findPage(pageWrap).getRecords(), "杩愮淮鏀舵敮璐﹀彿淇℃伅琛�", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @CloudRequiredPermission("business:ywaccount:query")
+    public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywAccountService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java
index 1a2b580..430e030 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwBuildingCloudController.java
@@ -1,6 +1,7 @@
 package com.doumee.cloud.admin;
 
 import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
 import com.doumee.core.model.ApiResponse;
@@ -11,7 +12,6 @@
 import com.doumee.service.business.YwBuildingService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -34,57 +34,68 @@
     @PreventRepeat
     @ApiOperation("鏂板缓")
     @PostMapping("/create")
-    @RequiresPermissions("business:ywbuilding:create")
+    @CloudRequiredPermission("business:ywbuilding:create")
     public ApiResponse create(@RequestBody YwBuilding ywBuilding,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywBuilding.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywBuildingService.create(ywBuilding));
     }
 
     @ApiOperation("鏍规嵁ID鍒犻櫎")
     @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:ywbuilding:delete")
+    @CloudRequiredPermission("business:ywbuilding:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywBuildingService.deleteById(id);
+        ywBuildingService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
     @ApiOperation("鎵归噺鍒犻櫎")
     @GetMapping("/delete/batch")
-    @RequiresPermissions("business:ywbuilding:delete")
+    @CloudRequiredPermission("business:ywbuilding:delete")
     public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         String [] idArray = ids.split(",");
         List<Integer> idList = new ArrayList<>();
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywBuildingService.deleteByIdInBatch(idList);
+        ywBuildingService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
     @ApiOperation("鏍规嵁ID淇敼")
     @PostMapping("/updateById")
-    @RequiresPermissions("business:ywbuilding:update")
+    @CloudRequiredPermission("business:ywbuilding:update")
     public ApiResponse updateById(@RequestBody YwBuilding ywBuilding,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywBuilding.setLoginUserInfo(this.getLoginUser(token));
         ywBuildingService.updateById(ywBuilding);
         return ApiResponse.success(null);
     }
 
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
-    @RequiresPermissions("business:ywbuilding:query")
+    @CloudRequiredPermission("business:ywbuilding:query")
     public ApiResponse<PageData<YwBuilding>> findPage (@RequestBody PageWrap<YwBuilding> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywBuildingService.findPage(pageWrap));
+    }
+    @ApiOperation("鏌ヨ鍒楄〃")
+    @PostMapping("/list")
+    @CloudRequiredPermission("business:ywbuilding:query")
+    public ApiResponse<List<YwBuilding>> findList (@RequestBody  YwBuilding pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywBuildingService.findList(pageWrap));
     }
 
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
-    @RequiresPermissions("business:ywbuilding:exportExcel")
+    @CloudRequiredPermission("business:ywbuilding:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwBuilding> pageWrap, HttpServletResponse response ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwBuilding.class).export(ywBuildingService.findPage(pageWrap).getRecords(), "杩愮淮妤煎畤淇℃伅琛�", response);
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
-    @RequiresPermissions("business:ywbuilding:query")
+    @CloudRequiredPermission("business:ywbuilding:query")
     public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
         return ApiResponse.success(ywBuildingService.findById(id));
     }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java
index 3fd42c7..bb4103e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractBillCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywcontractbill:create")
     public ApiResponse create(@RequestBody YwContractBill ywContractBill,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywContractBill.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywContractBillService.create(ywContractBill));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywcontractbill:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywContractBillService.deleteById(id);
+        ywContractBillService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywContractBillService.deleteByIdInBatch(idList);
+        ywContractBillService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywcontractbill:update")
     public ApiResponse updateById(@RequestBody YwContractBill ywContractBill,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywContractBill.setLoginUserInfo(this.getLoginUser(token));
         ywContractBillService.updateById(ywContractBill);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywcontractbill:query")
     public ApiResponse<PageData<YwContractBill>> findPage (@RequestBody PageWrap<YwContractBill> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywContractBillService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywcontractbill:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwContractBill> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwContractBill.class).export(ywContractBillService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓璐﹀崟淇℃伅琛�", response);
     }
 
@@ -86,6 +90,7 @@
     @GetMapping("/{id}")
     @CloudRequiredPermission("business:ywcontractbill:query")
     public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+
         return ApiResponse.success(ywContractBillService.findById(id));
     }
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractCloudController.java
index 8241636..f387de4 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractCloudController.java
@@ -37,6 +37,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywcontract:create")
     public ApiResponse create(@RequestBody YwContract ywContract,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywContract.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywContractService.create(ywContract));
     }
 
@@ -44,7 +45,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywcontract:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywContractService.deleteById(id);
+        ywContractService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -57,7 +58,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywContractService.deleteByIdInBatch(idList);
+        ywContractService.deleteByIdInBatch(idList, this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -65,6 +66,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywcontract:update")
     public ApiResponse updateById(@RequestBody YwContract ywContract,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywContract.setLoginUserInfo(this.getLoginUser(token));
         ywContractService.updateById(ywContract);
         return ApiResponse.success(null);
     }
@@ -73,6 +75,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywcontract:query")
     public ApiResponse<PageData<YwContract>> findPage (@RequestBody PageWrap<YwContract> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywContractService.findPage(pageWrap));
     }
 
@@ -80,6 +83,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywcontract:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwContract> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwContract.class).export(ywContractService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractDetailCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractDetailCloudController.java
index 1710689..7aad2a8 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractDetailCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractDetailCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywcontractdetail:create")
     public ApiResponse create(@RequestBody YwContractDetail ywContractDetail,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywContractDetail.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywContractDetailService.create(ywContractDetail));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywcontractdetail:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywContractDetailService.deleteById(id);
+        ywContractDetailService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywContractDetailService.deleteByIdInBatch(idList);
+        ywContractDetailService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywcontractdetail:update")
     public ApiResponse updateById(@RequestBody YwContractDetail ywContractDetail,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywContractDetail.setLoginUserInfo(this.getLoginUser(token));
         ywContractDetailService.updateById(ywContractDetail);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywcontractdetail:query")
     public ApiResponse<PageData<YwContractDetail>> findPage (@RequestBody PageWrap<YwContractDetail> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywContractDetailService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywcontractdetail:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwContractDetail> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwContractDetail.class).export(ywContractDetailService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓鏉℃淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java
index 567c836..735b99e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractRoomCloudController.java
@@ -7,6 +7,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.YwBuilding;
 import com.doumee.dao.business.model.YwContractRoom;
 import com.doumee.service.business.YwContractRoomService;
 import io.swagger.annotations.Api;
@@ -36,6 +37,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywcontractroom:create")
     public ApiResponse create(@RequestBody YwContractRoom ywContractRoom,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywContractRoom.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywContractRoomService.create(ywContractRoom));
     }
 
@@ -43,7 +45,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywcontractroom:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywContractRoomService.deleteById(id);
+        ywContractRoomService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +58,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywContractRoomService.deleteByIdInBatch(idList);
+        ywContractRoomService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +66,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywcontractroom:update")
     public ApiResponse updateById(@RequestBody YwContractRoom ywContractRoom,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywContractRoom.setLoginUserInfo(this.getLoginUser(token));
         ywContractRoomService.updateById(ywContractRoom);
         return ApiResponse.success(null);
     }
@@ -72,6 +75,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywcontractroom:query")
     public ApiResponse<PageData<YwContractRoom>> findPage (@RequestBody PageWrap<YwContractRoom> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywContractRoomService.findPage(pageWrap));
     }
 
@@ -79,9 +83,16 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywcontractroom:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwContractRoom> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwContractRoom.class).export(ywContractRoomService.findPage(pageWrap).getRecords(), "杩愮淮鍚堝悓鎴挎簮鍏宠仈淇℃伅琛�", response);
     }
-
+    @ApiOperation("鏌ヨ鍒楄〃")
+    @PostMapping("/list")
+    @CloudRequiredPermission("business:ywcontractroom:query")
+    public ApiResponse<List<YwContractRoom>> findList (@RequestBody  YwContractRoom pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywContractRoomService.findList(pageWrap));
+    }
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @CloudRequiredPermission("business:ywcontractroom:query")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java
index 1560f42..36d61b4 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwCustomerCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywcustomer:create")
     public ApiResponse create(@RequestBody YwCustomer ywCustomer,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywCustomer.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywCustomerService.create(ywCustomer));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywcustomer:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywCustomerService.deleteById(id);
+        ywCustomerService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywCustomerService.deleteByIdInBatch(idList);
+        ywCustomerService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywcustomer:update")
     public ApiResponse updateById(@RequestBody YwCustomer ywCustomer,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywCustomer.setLoginUserInfo(this.getLoginUser(token));
         ywCustomerService.updateById(ywCustomer);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywcustomer:query")
     public ApiResponse<PageData<YwCustomer>> findPage (@RequestBody PageWrap<YwCustomer> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywCustomerService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywcustomer:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwCustomer> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwCustomer.class).export(ywCustomerService.findPage(pageWrap).getRecords(), "杩愮淮瀹㈡埛淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
index a181393..649a158 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywdevice:create")
     public ApiResponse create(@RequestBody YwDevice ywDevice,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywDevice.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywDeviceService.create(ywDevice));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywdevice:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywDeviceService.deleteById(id);
+        ywDeviceService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywDeviceService.deleteByIdInBatch(idList);
+        ywDeviceService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywdevice:update")
     public ApiResponse updateById(@RequestBody YwDevice ywDevice,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywDevice.setLoginUserInfo(this.getLoginUser(token));
         ywDeviceService.updateById(ywDevice);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywdevice:query")
     public ApiResponse<PageData<YwDevice>> findPage (@RequestBody PageWrap<YwDevice> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywDeviceService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywdevice:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwDevice> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwDevice.class).export(ywDeviceService.findPage(pageWrap).getRecords(), "杩愮淮璁惧淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceRecordCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceRecordCloudController.java
index 534bbcc..ed91db8 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceRecordCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwDeviceRecordCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywdevicerecord:create")
     public ApiResponse create(@RequestBody YwDeviceRecord ywDeviceRecord,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywDeviceRecord.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywDeviceRecordService.create(ywDeviceRecord));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywdevicerecord:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywDeviceRecordService.deleteById(id);
+        ywDeviceRecordService.deleteById(id, this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywDeviceRecordService.deleteByIdInBatch(idList);
+        ywDeviceRecordService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywdevicerecord:update")
     public ApiResponse updateById(@RequestBody YwDeviceRecord ywDeviceRecord,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywDeviceRecord.setLoginUserInfo(this.getLoginUser(token));
         ywDeviceRecordService.updateById(ywDeviceRecord);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywdevicerecord:query")
     public ApiResponse<PageData<YwDeviceRecord>> findPage (@RequestBody PageWrap<YwDeviceRecord> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywDeviceRecordService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywdevicerecord:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwDeviceRecord> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwDeviceRecord.class).export(ywDeviceRecordService.findPage(pageWrap).getRecords(), "杩愮淮璁惧杩愮淮璁板綍琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java
new file mode 100644
index 0000000..904306f
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwFloorCloudController.java
@@ -0,0 +1,96 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.YwFloor;
+import com.doumee.service.business.YwFloorService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+@Api(tags = "杩愮淮妤煎眰淇℃伅琛�")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/ywFloor")
+public class YwFloorCloudController extends BaseController {
+
+    @Autowired
+    private YwFloorService ywFloorService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @CloudRequiredPermission("business:ywfloor:create")
+    public ApiResponse create(@RequestBody YwFloor ywFloor,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywFloor.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywFloorService.create(ywFloor));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:ywfloor:delete")
+    public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywFloorService.deleteById(id,this.getLoginUser(token));
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:ywfloor:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        ywFloorService.deleteByIdInBatch(idList,this.getLoginUser(token));
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:ywfloor:update")
+    public ApiResponse updateById(@RequestBody YwFloor ywFloor,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywFloor.setLoginUserInfo(this.getLoginUser(token));
+        ywFloorService.updateById(ywFloor);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:ywfloor:query")
+    public ApiResponse<PageData<YwFloor>> findPage (@RequestBody PageWrap<YwFloor> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywFloorService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:ywfloor:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<YwFloor> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
+        ExcelExporter.build(YwFloor.class).export(ywFloorService.findPage(pageWrap).getRecords(), "杩愮淮妤煎眰淇℃伅琛�", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:ywfloor:query")
+    public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(ywFloorService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwLinePointCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwLinePointCloudController.java
index 1602087..23445f8 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwLinePointCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwLinePointCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywlinepoint:create")
     public ApiResponse create(@RequestBody YwLinePoint ywLinePoint,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywLinePoint.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywLinePointService.create(ywLinePoint));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywlinepoint:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywLinePointService.deleteById(id);
+        ywLinePointService.deleteById(id, this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywLinePointService.deleteByIdInBatch(idList);
+        ywLinePointService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywlinepoint:update")
     public ApiResponse updateById(@RequestBody YwLinePoint ywLinePoint,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywLinePoint.setLoginUserInfo(this.getLoginUser(token));
         ywLinePointService.updateById(ywLinePoint);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywlinepoint:query")
     public ApiResponse<PageData<YwLinePoint>> findPage (@RequestBody PageWrap<YwLinePoint> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywLinePointService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywlinepoint:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwLinePoint> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwLinePoint.class).export(ywLinePointService.findPage(pageWrap).getRecords(), "杩愮淮宸℃璺嚎鍏宠仈宸℃鐐瑰叧鑱旇〃", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java
index c8a6782..8d5a2d0 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolLineCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywpatrolline:create")
     public ApiResponse create(@RequestBody YwPatrolLine ywPatrolLine,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywPatrolLine.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywPatrolLineService.create(ywPatrolLine));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywpatrolline:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywPatrolLineService.deleteById(id);
+        ywPatrolLineService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywPatrolLineService.deleteByIdInBatch(idList);
+        ywPatrolLineService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywpatrolline:update")
     public ApiResponse updateById(@RequestBody YwPatrolLine ywPatrolLine,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywPatrolLine.setLoginUserInfo(this.getLoginUser(token));
         ywPatrolLineService.updateById(ywPatrolLine);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywpatrolline:query")
     public ApiResponse<PageData<YwPatrolLine>> findPage (@RequestBody PageWrap<YwPatrolLine> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywPatrolLineService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywpatrolline:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwPatrolLine> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwPatrolLine.class).export(ywPatrolLineService.findPage(pageWrap).getRecords(), "杩愮淮宸℃璺嚎淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolPointCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolPointCloudController.java
index 60f0d75..2c5f5f2 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolPointCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolPointCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywpatrolpoint:create")
     public ApiResponse create(@RequestBody YwPatrolPoint ywPatrolPoint,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywPatrolPoint.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywPatrolPointService.create(ywPatrolPoint));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywpatrolpoint:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywPatrolPointService.deleteById(id);
+        ywPatrolPointService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywPatrolPointService.deleteByIdInBatch(idList);
+        ywPatrolPointService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywpatrolpoint:update")
     public ApiResponse updateById(@RequestBody YwPatrolPoint ywPatrolPoint,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywPatrolPoint.setLoginUserInfo(this.getLoginUser(token));
         ywPatrolPointService.updateById(ywPatrolPoint);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywpatrolpoint:query")
     public ApiResponse<PageData<YwPatrolPoint>> findPage (@RequestBody PageWrap<YwPatrolPoint> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywPatrolPointService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywpatrolpoint:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwPatrolPoint> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwPatrolPoint.class).export(ywPatrolPointService.findPage(pageWrap).getRecords(), "杩愮淮宸℃鐐逛俊鎭〃", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java
index b5a7718..e80b4a0 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolSchemeCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywpatrolscheme:create")
     public ApiResponse create(@RequestBody YwPatrolScheme ywPatrolScheme,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywPatrolScheme.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywPatrolSchemeService.create(ywPatrolScheme));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywpatrolscheme:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywPatrolSchemeService.deleteById(id);
+        ywPatrolSchemeService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywPatrolSchemeService.deleteByIdInBatch(idList);
+        ywPatrolSchemeService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywpatrolscheme:update")
     public ApiResponse updateById(@RequestBody YwPatrolScheme ywPatrolScheme,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywPatrolScheme.setLoginUserInfo(this.getLoginUser(token));
         ywPatrolSchemeService.updateById(ywPatrolScheme);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywpatrolscheme:query")
     public ApiResponse<PageData<YwPatrolScheme>> findPage (@RequestBody PageWrap<YwPatrolScheme> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywPatrolSchemeService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywpatrolscheme:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwPatrolScheme> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwPatrolScheme.class).export(ywPatrolSchemeService.findPage(pageWrap).getRecords(), "杩愮淮宸℃璁″垝淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java
index e764b46..ce3ce3d 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwPatrolTaskCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywpatroltask:create")
     public ApiResponse create(@RequestBody YwPatrolTask ywPatrolTask,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywPatrolTask.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywPatrolTaskService.create(ywPatrolTask));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywpatroltask:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywPatrolTaskService.deleteById(id);
+        ywPatrolTaskService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywPatrolTaskService.deleteByIdInBatch(idList);
+        ywPatrolTaskService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywpatroltask:update")
     public ApiResponse updateById(@RequestBody YwPatrolTask ywPatrolTask,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywPatrolTask.setLoginUserInfo(this.getLoginUser(token));
         ywPatrolTaskService.updateById(ywPatrolTask);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywpatroltask:query")
     public ApiResponse<PageData<YwPatrolTask>> findPage (@RequestBody PageWrap<YwPatrolTask> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywPatrolTaskService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywpatroltask:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwPatrolTask> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwPatrolTask.class).export(ywPatrolTaskService.findPage(pageWrap).getRecords(), "杩愮淮宸℃浠诲姟淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java
index 82f0eb9..f71ff2c 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwProjectCloudController.java
@@ -8,6 +8,7 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.YwProject;
+import com.doumee.dao.business.model.YwRoom;
 import com.doumee.service.business.YwProjectService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -36,6 +37,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywproject:create")
     public ApiResponse create(@RequestBody YwProject ywProject,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywProject.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywProjectService.create(ywProject));
     }
 
@@ -43,7 +45,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywproject:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywProjectService.deleteById(id);
+        ywProjectService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +58,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywProjectService.deleteByIdInBatch(idList);
+        ywProjectService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,14 +66,22 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywproject:update")
     public ApiResponse updateById(@RequestBody YwProject ywProject,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywProject.setLoginUserInfo(this.getLoginUser(token));
         ywProjectService.updateById(ywProject);
         return ApiResponse.success(null);
     }
-
+    @ApiOperation("鏌ヨ鍒楄〃")
+    @PostMapping("/list")
+    @CloudRequiredPermission("business:ywproject:query")
+    public ApiResponse<List<YwProject>> findList (@RequestBody  YwProject pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywProjectService.findList(pageWrap));
+    }
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywproject:query")
     public ApiResponse<PageData<YwProject>> findPage (@RequestBody PageWrap<YwProject> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywProjectService.findPage(pageWrap));
     }
 
@@ -79,6 +89,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywproject:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwProject> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+       pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwProject.class).export(ywProjectService.findPage(pageWrap).getRecords(), "杩愮淮椤圭洰淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java
index 7da4aaf..0eac4e5 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwRoomCloudController.java
@@ -7,6 +7,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.YwContractRoom;
 import com.doumee.dao.business.model.YwRoom;
 import com.doumee.service.business.YwRoomService;
 import io.swagger.annotations.Api;
@@ -36,6 +37,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywroom:create")
     public ApiResponse create(@RequestBody YwRoom ywRoom,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywRoom.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywRoomService.create(ywRoom));
     }
 
@@ -43,7 +45,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywroom:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywRoomService.deleteById(id);
+        ywRoomService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +58,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywRoomService.deleteByIdInBatch(idList);
+        ywRoomService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,14 +66,22 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywroom:update")
     public ApiResponse updateById(@RequestBody YwRoom ywRoom,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywRoom.setLoginUserInfo(this.getLoginUser(token));
         ywRoomService.updateById(ywRoom);
         return ApiResponse.success(null);
     }
-
+    @ApiOperation("鏌ヨ鍒楄〃")
+    @PostMapping("/list")
+    @CloudRequiredPermission("business:ywroom:query")
+    public ApiResponse<List<YwRoom>> findList (@RequestBody  YwRoom pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(ywRoomService.findList(pageWrap));
+    }
     @ApiOperation("鍒嗛〉鏌ヨ")
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywroom:query")
     public ApiResponse<PageData<YwRoom>> findPage (@RequestBody PageWrap<YwRoom> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywRoomService.findPage(pageWrap));
     }
 
@@ -79,6 +89,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywroom:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwRoom> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwRoom.class).export(ywRoomService.findPage(pageWrap).getRecords(), "杩愮淮鎴挎簮淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
index e7c0fb6..7242027 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWorkorderCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:ywworkorder:create")
     public ApiResponse create(@RequestBody YwWorkorder ywWorkorder,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywWorkorder.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywWorkorderService.create(ywWorkorder));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:ywworkorder:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ywWorkorderService.deleteById(id);
+        ywWorkorderService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -56,7 +57,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        ywWorkorderService.deleteByIdInBatch(idList);
+        ywWorkorderService.deleteByIdInBatch(idList, this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -64,6 +65,7 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:ywworkorder:update")
     public ApiResponse updateById(@RequestBody YwWorkorder ywWorkorder,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ywWorkorder.setLoginUserInfo(this.getLoginUser(token));
         ywWorkorderService.updateById(ywWorkorder);
         return ApiResponse.success(null);
     }
@@ -72,6 +74,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:ywworkorder:query")
     public ApiResponse<PageData<YwWorkorder>> findPage (@RequestBody PageWrap<YwWorkorder> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(ywWorkorderService.findPage(pageWrap));
     }
 
@@ -79,6 +82,7 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywworkorder:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwWorkorder> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        pageWrap.getModel().setLoginUserInfo(this.getLoginUser(token));
         ExcelExporter.build(YwWorkorder.class).export(ywWorkorderService.findPage(pageWrap).getRecords(), "杩愮淮宸ュ崟淇℃伅琛�", response);
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java
new file mode 100644
index 0000000..5ed0ca0
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.YwAccount;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/11/19 18:09
+ */
+public interface YwAccountMapper extends BaseMapper<YwAccount> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java
new file mode 100644
index 0000000..24f7fd2
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwFloorMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.YwFloor;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+public interface YwFloorMapper extends BaseMapper<YwFloor> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
index 81cdb04..7314405 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
@@ -68,7 +68,7 @@
      //@ExcelColumn(name="鍥炬爣")
     private String imgurl;
 
-    @ApiModelProperty(value = "绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷")
+    @ApiModelProperty(value = "绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷 2杩愮淮-瀹㈡埛琛屼笟鍒嗙被 3杩愮淮-宸ュ崟鍒嗙被 4杩愮淮-宸℃鍖哄煙 5杩愮淮-璁惧鍒嗙被" )
      //@ExcelColumn(name="绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷")
     private Integer type;
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 1d3b91e..b4664fe 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -61,7 +61,7 @@
     @ApiModelProperty(value = "鍋ュ悍鐮�")
     private String imgurl;
 
-    @ApiModelProperty(value = "绫诲瀷 0鍙告満浜哄憳 1鏅�氳瀹�  2鍐呴儴浜哄憳", example = "1")
+    @ApiModelProperty(value = "绫诲瀷 0鍙告満浜哄憳 1鏅�氳瀹�  2鍐呴儴浜哄憳 3瀹㈡埛鑱旂郴浜�", example = "1")
     private Integer type;
 
     @ApiModelProperty(value = "璁垮鍚嶇О/鍐呴儴浜哄憳")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java
new file mode 100644
index 0000000..ce8767b
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java
@@ -0,0 +1,87 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 杩愮淮鏀舵敮璐﹀彿淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/11/19 18:09
+ */
+@Data
+@ApiModel("杩愮淮鏀舵敮璐﹀彿淇℃伅琛�")
+@TableName("`yw_account`")
+public class YwAccount  extends LoginUserModel {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鐘舵�� 0姝e父 1绂佺敤", example = "1")
+    @ExcelColumn(name="鐘舵�� 0姝e父 1绂佺敤")
+    private Integer status;
+
+    @ApiModelProperty(value = "鏀舵敮鏉$洰")
+    @ExcelColumn(name="鏀舵敮鏉$洰")
+    private String title;
+
+    @ApiModelProperty(value = "鏀舵鍏徃缂栫爜(鍏宠仈company)", example = "1")
+    @ExcelColumn(name="鏀舵鍏徃缂栫爜(鍏宠仈company)")
+    private Integer companyId;
+
+    @ApiModelProperty(value = "鏀舵绫诲瀷 0=瀵瑰叕锛�1=涓汉锛�", example = "1")
+    @ExcelColumn(name="鏀舵绫诲瀷 0=瀵瑰叕锛�1=涓汉锛�")
+    private Integer type;
+
+    @ApiModelProperty(value = "璐﹀彿鍚嶇О")
+    @ExcelColumn(name="璐﹀彿鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "寮�鎴烽摱琛�")
+    @ExcelColumn(name="寮�鎴烽摱琛�")
+    private String bankName;
+
+    @ApiModelProperty(value = "閾惰璐﹀彿")
+    @ExcelColumn(name="閾惰璐﹀彿")
+    private String bankNo;
+
+    @ApiModelProperty(value = "寮�鎴疯鍦板潃")
+    @ExcelColumn(name="寮�鎴疯鍦板潃")
+    private String bankAddr;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
index 4cbf1f9..fd5463a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwBuilding.java
@@ -1,6 +1,8 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -19,7 +21,7 @@
 @Data
 @ApiModel("杩愮淮妤煎畤淇℃伅琛�")
 @TableName("`yw_building`")
-public class YwBuilding {
+public class YwBuilding  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
@@ -100,4 +102,10 @@
     @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)")
     private Integer projectId;
 
+    @ApiModelProperty(value = "鎴挎簮鏁�")
+    @TableField(exist = false)
+    private Integer roomNum;
+    @ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟")
+    @TableField(exist = false)
+    private Integer roomeRentNum;
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java
index 023a517..458b359 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContract.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -19,7 +20,7 @@
 @Data
 @ApiModel("杩愮淮鍚堝悓淇℃伅琛�")
 @TableName("`yw_contract`")
-public class YwContract {
+public class YwContract  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java
index 2804666..212580b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractBill.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -19,7 +20,7 @@
 @Data
 @ApiModel("杩愮淮鍚堝悓璐﹀崟淇℃伅琛�")
 @TableName("`yw_contract_bill`")
-public class YwContractBill {
+public class YwContractBill  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractDetail.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractDetail.java
index ceb3411..57b6b6c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractDetail.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractDetail.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -19,7 +20,7 @@
 @Data
 @ApiModel("杩愮淮鍚堝悓鏉℃淇℃伅琛�")
 @TableName("`yw_contract_detail`")
-public class YwContractDetail {
+public class YwContractDetail extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java
index f83b8b8..798b054 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRoom.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮鍚堝悓鎴挎簮鍏宠仈淇℃伅琛�")
 @TableName("`yw_contract_room`")
-public class YwContractRoom {
+public class YwContractRoom extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java
index 2aca96e..01f5ad9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwCustomer.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮瀹㈡埛淇℃伅琛�")
 @TableName("`yw_customer`")
-public class YwCustomer {
+public class YwCustomer  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java
index 4b19ee2..c5da317 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDevice.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮璁惧淇℃伅琛�")
 @TableName("`yw_device`")
-public class YwDevice {
+public class YwDevice  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java
index 4efc99c..7bc54e8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮璁惧杩愮淮璁板綍琛�")
 @TableName("`yw_device_record`")
-public class YwDeviceRecord {
+public class YwDeviceRecord  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java
new file mode 100644
index 0000000..f479c08
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwFloor.java
@@ -0,0 +1,88 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 杩愮淮妤煎眰淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+@Data
+@ApiModel("杩愮淮妤煎眰淇℃伅琛�")
+@TableName("`yw_floor`")
+public class YwFloor extends LoginUserModel {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "鍚嶇О")
+    @ExcelColumn(name="鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+    @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
+    private Integer status;
+
+    @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+    @ExcelColumn(name="鎺掑簭鐮�")
+    private Integer sortnum;
+
+    @ApiModelProperty(value = "鍥炬爣")
+    @ExcelColumn(name="鍥炬爣")
+    private String imgurl;
+
+    @ApiModelProperty(value = "寤虹瓚闈㈢Н锛堝钩鏂圭背锛�", example = "1")
+    @ExcelColumn(name="寤虹瓚闈㈢Н锛堝钩鏂圭背锛�")
+    private BigDecimal area;
+
+    @ApiModelProperty(value = "妤煎眰鏁�", example = "1")
+    @ExcelColumn(name="妤煎眰鏁�")
+    private Integer floor;
+
+    @ApiModelProperty(value = "鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)", example = "1")
+    @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)")
+    private Integer projectId;
+
+    @ApiModelProperty(value = "鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)", example = "1")
+    @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)")
+    private Integer buildingId;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwLinePoint.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwLinePoint.java
index 0b0a311..3251367 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwLinePoint.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwLinePoint.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮宸℃璺嚎鍏宠仈宸℃鐐瑰叧鑱旇〃")
 @TableName("`yw_line_point`")
-public class YwLinePoint {
+public class YwLinePoint  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolLine.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolLine.java
index c598dff..a3d00d9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolLine.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolLine.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮宸℃璺嚎淇℃伅琛�")
 @TableName("`yw_patrol_line`")
-public class YwPatrolLine {
+public class YwPatrolLine  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolPoint.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolPoint.java
index be2e4a3..451de6c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolPoint.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolPoint.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮宸℃鐐逛俊鎭〃")
 @TableName("`yw_patrol_point`")
-public class YwPatrolPoint {
+public class YwPatrolPoint  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
index 18fa64e..07050d2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮宸℃璁″垝淇℃伅琛�")
 @TableName("`yw_patrol_scheme`")
-public class YwPatrolScheme {
+public class YwPatrolScheme  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java
index 3e44e37..2cbdfbc 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTask.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮宸℃浠诲姟淇℃伅琛�")
 @TableName("`yw_patrol_task`")
-public class YwPatrolTask {
+public class YwPatrolTask  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java
index 1aa031e..7fc920c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwProject.java
@@ -1,6 +1,8 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +20,7 @@
 @Data
 @ApiModel("杩愮淮椤圭洰淇℃伅琛�")
 @TableName("`yw_project`")
-public class YwProject {
+public class YwProject extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
@@ -74,5 +76,11 @@
     @ApiModelProperty(value = "鍦板潃")
     @ExcelColumn(name="鍦板潃")
     private String addr;
+    @ApiModelProperty(value = "鎴挎簮鏁�")
+    @TableField(exist = false)
+    private Integer roomNum;
+    @ApiModelProperty(value = "鍙嫑鍟嗘埧婧愭暟")
+    @TableField(exist = false)
+    private Integer roomeRentNum;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
index 2d939e7..58fe4d8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwRoom.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -19,7 +20,7 @@
 @Data
 @ApiModel("杩愮淮鎴挎簮淇℃伅琛�")
 @TableName("`yw_room`")
-public class YwRoom {
+public class YwRoom  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
@@ -100,8 +101,8 @@
     @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_project)")
     private Integer projectId;
 
-    @ApiModelProperty(value = "鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)", example = "1")
-    @ExcelColumn(name="鎵�灞為」鐩紪鐮侊紙鍏宠仈yw_building)")
+    @ApiModelProperty(value = "鎵�灞炴ゼ瀹囩紪鐮侊紙鍏宠仈yw_building)", example = "1")
+    @ExcelColumn(name="鎵�灞炴ゼ瀹囩紪鐮侊紙鍏宠仈yw_building)")
     private Integer buildingId;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
index a7c0ca8..c6b72ce 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
@@ -1,6 +1,7 @@
 package com.doumee.dao.business.model;
 
 import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +19,7 @@
 @Data
 @ApiModel("杩愮淮宸ュ崟淇℃伅琛�")
 @TableName("`yw_workorder`")
-public class YwWorkorder {
+public class YwWorkorder  extends LoginUserModel {
 
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "涓婚敭", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwAccountService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwAccountService.java
new file mode 100644
index 0000000..a939021
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwAccountService.java
@@ -0,0 +1,98 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.YwAccount;
+import java.util.List;
+
+/**
+ * 杩愮淮鏀舵敮璐﹀彿淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/11/19 18:09
+ */
+public interface YwAccountService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param ywAccount 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(YwAccount ywAccount);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id, LoginUserInfo user);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param ywAccount 瀹炰綋瀵硅薄
+     */
+    void delete(YwAccount ywAccount);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param ywAccount 瀹炰綋瀵硅薄
+     */
+    void updateById(YwAccount ywAccount);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param ywAccounts 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<YwAccount> ywAccounts);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return YwAccount
+     */
+    YwAccount findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param ywAccount 瀹炰綋瀵硅薄
+     * @return YwAccount
+     */
+    YwAccount findOne(YwAccount ywAccount);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param ywAccount 瀹炰綋瀵硅薄
+     * @return List<YwAccount>
+     */
+    List<YwAccount> findList(YwAccount ywAccount);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<YwAccount>
+     */
+    PageData<YwAccount> findPage(PageWrap<YwAccount> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param ywAccount 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(YwAccount ywAccount);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwBuildingService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwBuildingService.java
index 47a9175..7797997 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwBuildingService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwBuildingService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwBuilding;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java
index 4fbdf3e..901b6cf 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractBillService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwContractBill;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractDetailService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractDetailService.java
index 1b0c8f9..e7a1777 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractDetailService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractDetailService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwContractDetail;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRoomService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRoomService.java
index a2e0b66..23e6024 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRoomService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractRoomService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwContractRoom;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractService.java
index 6e87661..4730f58 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwContractService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwContract;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java
index 6336441..35ac418 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwCustomerService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwCustomer;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceRecordService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceRecordService.java
index 1065b7b..2e1d881 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceRecordService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceRecordService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwDeviceRecord;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
index b7ef12e..4b82d39 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwDeviceService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwDevice;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwFloorService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwFloorService.java
new file mode 100644
index 0000000..158d196
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwFloorService.java
@@ -0,0 +1,98 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.YwFloor;
+import java.util.List;
+
+/**
+ * 杩愮淮妤煎眰淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+public interface YwFloorService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param ywFloor 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(YwFloor ywFloor);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id, LoginUserInfo user);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     */
+    void delete(YwFloor ywFloor);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     */
+    void updateById(YwFloor ywFloor);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param ywFloors 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<YwFloor> ywFloors);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return YwFloor
+     */
+    YwFloor findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     * @return YwFloor
+     */
+    YwFloor findOne(YwFloor ywFloor);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     * @return List<YwFloor>
+     */
+    List<YwFloor> findList(YwFloor ywFloor);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<YwFloor>
+     */
+    PageData<YwFloor> findPage(PageWrap<YwFloor> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param ywFloor 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(YwFloor ywFloor);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwLinePointService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwLinePointService.java
index e90989d..f38317a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwLinePointService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwLinePointService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwLinePoint;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java
index 7e10d65..96ad10e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolLineService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwPatrolLine;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolPointService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolPointService.java
index e4960f2..35ca914 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolPointService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolPointService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwPatrolPoint;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java
index 97de65d..b4134a8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolSchemeService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwPatrolScheme;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java
index 6185060..7247607 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwPatrolTaskService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwPatrolTask;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProjectService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProjectService.java
index 649181e..f8a8923 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProjectService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwProjectService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwProject;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java
index ebafd27..73454a9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwRoomService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwRoom;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
index 9e3047c..dd37a85 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWorkorderService.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.YwWorkorder;
@@ -25,7 +26,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo user);
 
     /**
      * 鍒犻櫎
@@ -39,7 +40,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
 
     /**
      * 涓婚敭鏇存柊
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index e7aa1ca..01d2a84 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -67,6 +67,7 @@
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Integer create(Company company) {
+        company.setType(Constants.ONE);
         if(StringUtils.isBlank(company.getName())){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST);
         }
@@ -120,9 +121,9 @@
         company.setHkId(UUID.randomUUID().toString().replace("-",""));
         companyMapper.insert(company);
         //涓嬪彂娴峰悍瀹夐槻骞冲彴
-        if(!addHkOrg(company)){
-            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍚屾涓嬪彂澶辫触锛岃绋嶅悗閲嶈瘯");
-        }
+//        if(!addHkOrg(company)){
+//            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍚屾涓嬪彂澶辫触锛岃绋嶅悗閲嶈瘯");
+//        }
         Company com = new Company();
         com.setId(company.getId());
         com.setCompanyPath(idPath+company.getId()+"/");
@@ -243,9 +244,9 @@
         company.setHkDate(company.getHkDate());
         companyMapper.updateById(company);
         //涓嬪彂娴峰悍瀹夐槻骞冲彴
-        if(StringUtils.isNotBlank(model.getHkId()) && Constants.equalsInteger(Constants.ONE,model.getHkStatus()) && !delHkOrg(model)){
-            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍒犻櫎涓嬪彂澶辫触锛岃纭璇ョ粍缁囨棤涓嬬骇缁勭粐鎴栫粍缁囦汉鍛樹俊鎭瘇");
-        }
+//        if(StringUtils.isNotBlank(model.getHkId()) && Constants.equalsInteger(Constants.ONE,model.getHkStatus()) && !delHkOrg(model)){
+//            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍒犻櫎涓嬪彂澶辫触锛岃纭璇ョ粍缁囨棤涓嬬骇缁勭粐鎴栫粍缁囦汉鍛樹俊鎭瘇");
+//        }
     }
 
     @Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index a2446bb..cb9484e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -141,7 +141,7 @@
         Member insert = initAddMemberModel(member,loginUserInfo);
         //娴峰悍浜哄憳鏂板涓氬姟
         try {
-             if(dealHkUserBiz(insert)){
+//             if(dealHkUserBiz(insert)){
                 memberMapper.insert(insert);
                 //鍒涘缓绯荤粺鐧婚檰璐﹀彿锛堥粯璁ゆ棤浠讳綍瑙掕壊锛�
 //                if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){
@@ -150,13 +150,13 @@
                     //澶勭悊鍩硅鏈夋晥鏈熶笟鍔�
                     dealTrainTIme(member,0,loginUserInfo);
 //                }
-            }else{
-                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃绋嶅悗閲嶈瘯锛�");
-            }
+//            }else{
+//                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+//            }
         }catch (Exception e){
             //濡傛灉鍙戠敓寮傚父锛屽垹闄ゅ凡缁忓垱寤虹殑浜哄憳淇℃伅
             e.printStackTrace();
-            deleteHkUserBiz(new String[]{insert.getHkId()});
+//            deleteHkUserBiz(new String[]{insert.getHkId()});
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鏂板缓澶辫触锛岃绋嶅悗閲嶈瘯锛�");
         }
         return insert;
@@ -568,8 +568,8 @@
         member.setIsdeleted(Constants.ONE);
         member.setEditor(loginUserInfo.getId());
         member.setEditDate(new Date());
-        member.setHkStatus(Constants.ZERO);
-        member.setRemark("浜哄憳宸插垹闄わ紝绛夊緟鍒犻櫎闂ㄧ鏉冮檺");
+//        member.setHkStatus(Constants.ZERO);
+//        member.setRemark("浜哄憳宸插垹闄わ紝绛夊緟鍒犻櫎闂ㄧ鏉冮檺");
         memberMapper.updateById(member);
 
         //鍒櫎绯荤粺鐧婚檰璐︽埛
@@ -891,7 +891,7 @@
         updateMember.setEditor(loginUserInfo.getId());
         updateMember.setEditDate(new Date());
         //娴峰悍浜哄憳鏂板涓氬姟
-        if(dealHkUserForUpdateBiz(updateMember)){
+//        if(dealHkUserForUpdateBiz(updateMember)){
             updateMember.setHkId(null);
             updateMember.setAuthStatus(Constants.ZERO);
             memberMapper.update(null,new UpdateWrapper<Member>().lambda()
@@ -923,9 +923,9 @@
             cancelAllMemberEmpower(updateMember,memberRoleMapper,empowerMapper);
             //璁板綍鎿嶄綔鏃ュ織
             saveUserActionBiz(updateMember,loginUserInfo,Constants.UserActionType.EDIT,userActionJoinMapper,null);
-        }else{
-            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃绋嶅悗閲嶈瘯锛�");
-        }
+//        }else{
+//            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+//        }
     }
 
     private void dealTrainTIme(Member updateMember, int i,LoginUserInfo loginUserInfo) {
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java
new file mode 100644
index 0000000..2bc6259
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java
@@ -0,0 +1,155 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwAccountMapper;
+import com.doumee.dao.business.model.YwAccount;
+import com.doumee.service.business.YwAccountService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 杩愮淮鏀舵敮璐﹀彿淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/11/19 18:09
+ */
+@Service
+public class YwAccountServiceImpl implements YwAccountService {
+
+    @Autowired
+    private YwAccountMapper ywAccountMapper;
+
+    @Override
+    public Integer create(YwAccount ywAccount) {
+        ywAccountMapper.insert(ywAccount);
+        return ywAccount.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id, LoginUserInfo user) {
+        ywAccountMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(YwAccount ywAccount) {
+        UpdateWrapper<YwAccount> deleteWrapper = new UpdateWrapper<>(ywAccount);
+        ywAccountMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        ywAccountMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(YwAccount ywAccount) {
+        ywAccountMapper.updateById(ywAccount);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<YwAccount> ywAccounts) {
+        if (CollectionUtils.isEmpty(ywAccounts)) {
+            return;
+        }
+        for (YwAccount ywAccount: ywAccounts) {
+            this.updateById(ywAccount);
+        }
+    }
+
+    @Override
+    public YwAccount findById(Integer id) {
+        return ywAccountMapper.selectById(id);
+    }
+
+    @Override
+    public YwAccount findOne(YwAccount ywAccount) {
+        QueryWrapper<YwAccount> wrapper = new QueryWrapper<>(ywAccount);
+        return ywAccountMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<YwAccount> findList(YwAccount ywAccount) {
+        QueryWrapper<YwAccount> wrapper = new QueryWrapper<>(ywAccount);
+        return ywAccountMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<YwAccount> findPage(PageWrap<YwAccount> pageWrap) {
+        IPage<YwAccount> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<YwAccount> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        if (pageWrap.getModel().getId() != null) {
+            queryWrapper.lambda().eq(YwAccount::getId, pageWrap.getModel().getId());
+        }
+        if (pageWrap.getModel().getCreator() != null) {
+            queryWrapper.lambda().eq(YwAccount::getCreator, pageWrap.getModel().getCreator());
+        }
+        if (pageWrap.getModel().getCreateDate() != null) {
+            queryWrapper.lambda().ge(YwAccount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.lambda().le(YwAccount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+        }
+        if (pageWrap.getModel().getEditor() != null) {
+            queryWrapper.lambda().eq(YwAccount::getEditor, pageWrap.getModel().getEditor());
+        }
+        if (pageWrap.getModel().getEditDate() != null) {
+            queryWrapper.lambda().ge(YwAccount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.lambda().le(YwAccount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+        }
+        if (pageWrap.getModel().getIsdeleted() != null) {
+            queryWrapper.lambda().eq(YwAccount::getIsdeleted, pageWrap.getModel().getIsdeleted());
+        }
+        if (pageWrap.getModel().getRemark() != null) {
+            queryWrapper.lambda().eq(YwAccount::getRemark, pageWrap.getModel().getRemark());
+        }
+        if (pageWrap.getModel().getStatus() != null) {
+            queryWrapper.lambda().eq(YwAccount::getStatus, pageWrap.getModel().getStatus());
+        }
+        if (pageWrap.getModel().getTitle() != null) {
+            queryWrapper.lambda().eq(YwAccount::getTitle, pageWrap.getModel().getTitle());
+        }
+        if (pageWrap.getModel().getCompanyId() != null) {
+            queryWrapper.lambda().eq(YwAccount::getCompanyId, pageWrap.getModel().getCompanyId());
+        }
+        if (pageWrap.getModel().getType() != null) {
+            queryWrapper.lambda().eq(YwAccount::getType, pageWrap.getModel().getType());
+        }
+        if (pageWrap.getModel().getName() != null) {
+            queryWrapper.lambda().eq(YwAccount::getName, pageWrap.getModel().getName());
+        }
+        if (pageWrap.getModel().getBankName() != null) {
+            queryWrapper.lambda().eq(YwAccount::getBankName, pageWrap.getModel().getBankName());
+        }
+        if (pageWrap.getModel().getBankNo() != null) {
+            queryWrapper.lambda().eq(YwAccount::getBankNo, pageWrap.getModel().getBankNo());
+        }
+        if (pageWrap.getModel().getBankAddr() != null) {
+            queryWrapper.lambda().eq(YwAccount::getBankAddr, pageWrap.getModel().getBankAddr());
+        }
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(ywAccountMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(YwAccount ywAccount) {
+        QueryWrapper<YwAccount> wrapper = new QueryWrapper<>(ywAccount);
+        return ywAccountMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
index b006830..3a3071e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwBuildingServiceImpl.java
@@ -1,10 +1,13 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.YwBuildingMapper;
 import com.doumee.dao.business.model.YwBuilding;
+import com.doumee.dao.business.model.YwProject;
 import com.doumee.service.business.YwBuildingService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -14,6 +17,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -28,14 +32,25 @@
     private YwBuildingMapper ywBuildingMapper;
 
     @Override
-    public Integer create(YwBuilding ywBuilding) {
-        ywBuildingMapper.insert(ywBuilding);
-        return ywBuilding.getId();
+    public Integer create(YwBuilding model) {
+        model.setCreator(model.getLoginUserInfo().getId());
+        model.setIsdeleted(Constants.ZERO);
+        model.setCreateDate(new Date());
+        model.setStatus(Constants.ZERO);
+        model.setEditDate(model.getCreateDate());
+        model.setEditor(model.getCreator());
+        ywBuildingMapper.insert(model);
+        return model.getId();
     }
 
     @Override
-    public void deleteById(Integer id) {
-        ywBuildingMapper.deleteById(id);
+    public void deleteById(Integer id, LoginUserInfo user) {
+        YwBuilding model = new YwBuilding();
+        model.setId(id);
+        model.setEditDate(new Date());
+        model.setEditor(user.getId());
+        model.setIsdeleted(Constants.ONE);
+        ywBuildingMapper.updateById(model);
     }
 
     @Override
@@ -45,16 +60,20 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
-        ywBuildingMapper.deleteBatchIds(ids);
+        for(Integer id : ids){
+            this.deleteById(id,user);
+        }
     }
 
     @Override
-    public void updateById(YwBuilding ywBuilding) {
-        ywBuildingMapper.updateById(ywBuilding);
+    public void updateById(YwBuilding  model) {
+        model.setEditDate(new Date());
+        model.setEditor(model.getLoginUserInfo().getId());
+        ywBuildingMapper.updateById(model);
     }
 
     @Override
@@ -80,6 +99,7 @@
 
     @Override
     public List<YwBuilding> findList(YwBuilding ywBuilding) {
+        ywBuilding.setIsdeleted(Constants.ZERO);
         QueryWrapper<YwBuilding> wrapper = new QueryWrapper<>(ywBuilding);
         return ywBuildingMapper.selectList(wrapper);
     }
@@ -89,6 +109,9 @@
         IPage<YwBuilding> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<YwBuilding> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        queryWrapper.select("*,(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=yw_building.id) as roomNum"+
+                ",(select count(1) from yw_room a where a.isdeleted=0 and a.BUILDING_ID=yw_building.id and a.IS_INVESTMENT=1) as roomRentNum");
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(YwBuilding::getId, pageWrap.getModel().getId());
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
index b592fdd..730db94 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywContractBillMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractDetailServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractDetailServiceImpl.java
index 0b455a9..9ba3106 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractDetailServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractDetailServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywContractDetailMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRoomServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRoomServiceImpl.java
index 9544c78..521d552 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRoomServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRoomServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywContractRoomMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
index bfae567..bb21643 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywContractMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
index cc0f54b..840edc8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywCustomerMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
index b58dbd4..7d0be5b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceRecordServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywDeviceRecordMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
index 77e981f..0684415 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwDeviceServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywDeviceMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java
new file mode 100644
index 0000000..38f62cf
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwFloorServiceImpl.java
@@ -0,0 +1,196 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwBuildingMapper;
+import com.doumee.dao.business.YwFloorMapper;
+import com.doumee.dao.business.model.YwBuilding;
+import com.doumee.dao.business.model.YwFloor;
+import com.doumee.dao.business.model.YwRoom;
+import com.doumee.service.business.YwFloorService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 杩愮淮妤煎眰淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/11/20 15:03
+ */
+@Service
+public class YwFloorServiceImpl implements YwFloorService {
+
+    @Autowired
+    private YwFloorMapper ywFloorMapper;
+    @Autowired
+    private YwBuildingMapper ywBuildingMapper;
+
+    @Override
+    public Integer create(YwFloor model) {
+        if(model.getBuildingId()==null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
+        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        model.setProjectId(ywBuilding.getProjectId());
+        model.setCreator(model.getLoginUserInfo().getId());
+        model.setIsdeleted(Constants.ZERO);
+        model.setCreateDate(new Date());
+        model.setStatus(Constants.ZERO);
+        model.setEditDate(model.getCreateDate());
+        model.setEditor(model.getCreator());
+        ywFloorMapper.insert(model);
+        return model.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id, LoginUserInfo user) {
+        YwFloor model = new YwFloor();
+        model.setId(id);
+        model.setEditDate(new Date());
+        model.setEditor(user.getId());
+        model.setIsdeleted(Constants.ONE);
+        ywFloorMapper.updateById(model);
+    }
+
+    @Override
+    public void delete(YwFloor ywFloor) {
+        UpdateWrapper<YwFloor> deleteWrapper = new UpdateWrapper<>(ywFloor);
+        ywFloorMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        for (Integer ywProject: ids) {
+            this.deleteById(ywProject,user);
+        }
+    }
+
+    @Override
+    public void updateById(YwFloor model) {
+        if(model.getBuildingId()==null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
+        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        model.setProjectId(ywBuilding.getProjectId());
+        model.setEditDate(new Date());
+        model.setEditor(model.getLoginUserInfo().getId());
+        ywFloorMapper.updateById(model);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<YwFloor> ywFloors) {
+        if (CollectionUtils.isEmpty(ywFloors)) {
+            return;
+        }
+        for (YwFloor ywFloor: ywFloors) {
+            this.updateById(ywFloor);
+        }
+    }
+
+    @Override
+    public YwFloor findById(Integer id) {
+        return ywFloorMapper.selectById(id);
+    }
+
+    @Override
+    public YwFloor findOne(YwFloor ywFloor) {
+        QueryWrapper<YwFloor> wrapper = new QueryWrapper<>(ywFloor);
+        return ywFloorMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<YwFloor> findList(YwFloor ywFloor) {
+        QueryWrapper<YwFloor> wrapper = new QueryWrapper<>(ywFloor);
+        return ywFloorMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<YwFloor> findPage(PageWrap<YwFloor> pageWrap) {
+        IPage<YwFloor> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<YwFloor> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        if (pageWrap.getModel().getId() != null) {
+            queryWrapper.lambda().eq(YwFloor::getId, pageWrap.getModel().getId());
+        }
+        if (pageWrap.getModel().getCreator() != null) {
+            queryWrapper.lambda().eq(YwFloor::getCreator, pageWrap.getModel().getCreator());
+        }
+        if (pageWrap.getModel().getCreateDate() != null) {
+            queryWrapper.lambda().ge(YwFloor::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.lambda().le(YwFloor::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+        }
+        if (pageWrap.getModel().getEditor() != null) {
+            queryWrapper.lambda().eq(YwFloor::getEditor, pageWrap.getModel().getEditor());
+        }
+        if (pageWrap.getModel().getEditDate() != null) {
+            queryWrapper.lambda().ge(YwFloor::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.lambda().le(YwFloor::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+        }
+        if (pageWrap.getModel().getIsdeleted() != null) {
+            queryWrapper.lambda().eq(YwFloor::getIsdeleted, pageWrap.getModel().getIsdeleted());
+        }
+        if (pageWrap.getModel().getName() != null) {
+            queryWrapper.lambda().eq(YwFloor::getName, pageWrap.getModel().getName());
+        }
+        if (pageWrap.getModel().getRemark() != null) {
+            queryWrapper.lambda().eq(YwFloor::getRemark, pageWrap.getModel().getRemark());
+        }
+        if (pageWrap.getModel().getStatus() != null) {
+            queryWrapper.lambda().eq(YwFloor::getStatus, pageWrap.getModel().getStatus());
+        }
+        if (pageWrap.getModel().getSortnum() != null) {
+            queryWrapper.lambda().eq(YwFloor::getSortnum, pageWrap.getModel().getSortnum());
+        }
+        if (pageWrap.getModel().getImgurl() != null) {
+            queryWrapper.lambda().eq(YwFloor::getImgurl, pageWrap.getModel().getImgurl());
+        }
+        if (pageWrap.getModel().getArea() != null) {
+            queryWrapper.lambda().eq(YwFloor::getArea, pageWrap.getModel().getArea());
+        }
+        if (pageWrap.getModel().getFloor() != null) {
+            queryWrapper.lambda().eq(YwFloor::getFloor, pageWrap.getModel().getFloor());
+        }
+        if (pageWrap.getModel().getProjectId() != null) {
+            queryWrapper.lambda().eq(YwFloor::getProjectId, pageWrap.getModel().getProjectId());
+        }
+        if (pageWrap.getModel().getBuildingId() != null) {
+            queryWrapper.lambda().eq(YwFloor::getBuildingId, pageWrap.getModel().getBuildingId());
+        }
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(ywFloorMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(YwFloor ywFloor) {
+        QueryWrapper<YwFloor> wrapper = new QueryWrapper<>(ywFloor);
+        return ywFloorMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java
index 767f255..76fb7ed 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwLinePointServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywLinePointMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
index 9b12603..cc81d81 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolLineServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywPatrolLineMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java
index 5174aaf..0af2a22 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolPointServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywPatrolPointMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
index 2b4e432..5b4cd7b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywPatrolSchemeMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
index 20307e3..556a5b5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +35,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywPatrolTaskMapper.deleteById(id);
     }
 
@@ -45,7 +46,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
index 808d9b1..5e27677 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProjectServiceImpl.java
@@ -1,9 +1,12 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.YwProjectMapper;
+import com.doumee.dao.business.model.Company;
 import com.doumee.dao.business.model.YwProject;
 import com.doumee.service.business.YwProjectService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -14,6 +17,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -28,14 +32,25 @@
     private YwProjectMapper ywProjectMapper;
 
     @Override
-    public Integer create(YwProject ywProject) {
-        ywProjectMapper.insert(ywProject);
-        return ywProject.getId();
+    public Integer create(YwProject  model) {
+        model.setCreator(model.getLoginUserInfo().getId());
+        model.setIsdeleted(Constants.ZERO);
+        model.setCreateDate(new Date());
+        model.setStatus(Constants.ZERO);
+        model.setEditDate(model.getCreateDate());
+        model.setEditor(model.getCreator());
+        ywProjectMapper.insert(model);
+        return model.getId();
     }
 
     @Override
-    public void deleteById(Integer id) {
-        ywProjectMapper.deleteById(id);
+    public void deleteById(Integer id, LoginUserInfo user) {
+        YwProject model = new YwProject();
+        model.setId(id);
+        model.setEditDate(new Date());
+        model.setEditor(user.getId());
+        model.setIsdeleted(Constants.ONE);
+        ywProjectMapper.updateById(model);
     }
 
     @Override
@@ -45,16 +60,20 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
-        ywProjectMapper.deleteBatchIds(ids);
+        for(Integer id : ids){
+            this.deleteById(id,user);
+        }
     }
 
     @Override
-    public void updateById(YwProject ywProject) {
-        ywProjectMapper.updateById(ywProject);
+    public void updateById(YwProject model) {
+        model.setEditDate(new Date());
+        model.setEditor(model.getLoginUserInfo().getId());
+        ywProjectMapper.updateById(model);
     }
 
     @Override
@@ -80,6 +99,7 @@
 
     @Override
     public List<YwProject> findList(YwProject ywProject) {
+        ywProject.setIsdeleted(Constants.ZERO);
         QueryWrapper<YwProject> wrapper = new QueryWrapper<>(ywProject);
         return ywProjectMapper.selectList(wrapper);
     }
@@ -89,6 +109,9 @@
         IPage<YwProject> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<YwProject> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        queryWrapper.select("*,(select count(1) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id) as roomNum"+
+                ",(select count(1) from yw_room a where a.isdeleted=0 and a.PROJECT_ID=yw_project.id and a.IS_INVESTMENT=1) as roomRentNum");
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(YwProject::getId, pageWrap.getModel().getId());
         }
@@ -130,13 +153,7 @@
         if (pageWrap.getModel().getAddr() != null) {
             queryWrapper.lambda().eq(YwProject::getAddr, pageWrap.getModel().getAddr());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.lambda().orderByDesc(YwProject::getCreateDate);
         return PageData.from(ywProjectMapper.selectPage(page, queryWrapper));
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
index 29fa036..32ce71d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java
@@ -1,9 +1,16 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwBuildingMapper;
 import com.doumee.dao.business.YwRoomMapper;
+import com.doumee.dao.business.model.YwBuilding;
+import com.doumee.dao.business.model.YwProject;
 import com.doumee.dao.business.model.YwRoom;
 import com.doumee.service.business.YwRoomService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -14,6 +21,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -26,16 +34,37 @@
 
     @Autowired
     private YwRoomMapper ywRoomMapper;
+    @Autowired
+    private YwBuildingMapper ywBuildingMapper;
 
     @Override
-    public Integer create(YwRoom ywRoom) {
-        ywRoomMapper.insert(ywRoom);
-        return ywRoom.getId();
+    public Integer create(YwRoom model) {
+        if(model.getBuildingId()==null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
+        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        model.setProjectId(ywBuilding.getProjectId());
+        model.setCreator(model.getLoginUserInfo().getId());
+        model.setIsdeleted(Constants.ZERO);
+        model.setCreateDate(new Date());
+        model.setStatus(Constants.ZERO);
+        model.setEditDate(model.getCreateDate());
+        model.setEditor(model.getCreator());
+        ywRoomMapper.insert(model);
+        return model.getId();
     }
 
     @Override
-    public void deleteById(Integer id) {
-        ywRoomMapper.deleteById(id);
+    public void deleteById(Integer id, LoginUserInfo user) {
+        YwRoom model = new YwRoom();
+        model.setId(id);
+        model.setEditDate(new Date());
+        model.setEditor(user.getId());
+        model.setIsdeleted(Constants.ONE);
+        ywRoomMapper.updateById(model);
     }
 
     @Override
@@ -45,16 +74,28 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
-        ywRoomMapper.deleteBatchIds(ids);
+        for (Integer ywProject: ids) {
+            this.deleteById(ywProject,user);
+        }
     }
 
     @Override
-    public void updateById(YwRoom ywRoom) {
-        ywRoomMapper.updateById(ywRoom);
+    public void updateById(YwRoom model) {
+        if(model.getBuildingId()==null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        YwBuilding ywBuilding = ywBuildingMapper.selectById(model.getBuildingId());
+        if(ywBuilding ==null ||Constants.equalsInteger(ywBuilding.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勬ゼ瀹囦俊鎭紒");
+        }
+        model.setProjectId(ywBuilding.getProjectId());
+        model.setEditDate(new Date());
+        model.setEditor(model.getLoginUserInfo().getId());
+        ywRoomMapper.updateById(model);
     }
 
     @Override
@@ -80,7 +121,8 @@
 
     @Override
     public List<YwRoom> findList(YwRoom ywRoom) {
-        QueryWrapper<YwRoom> wrapper = new QueryWrapper<>(ywRoom);
+        ywRoom.setIsdeleted(Constants.ZERO);
+        QueryWrapper<YwRoom> wrapper = new QueryWrapper< >(ywRoom);
         return ywRoomMapper.selectList(wrapper);
     }
   
@@ -88,6 +130,7 @@
     public PageData<YwRoom> findPage(PageWrap<YwRoom> pageWrap) {
         IPage<YwRoom> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<YwRoom> queryWrapper = new QueryWrapper<>();
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
         Utils.MP.blankToNull(pageWrap.getModel());
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(YwRoom::getId, pageWrap.getModel().getId());
@@ -151,13 +194,7 @@
         if (pageWrap.getModel().getBuildingId() != null) {
             queryWrapper.lambda().eq(YwRoom::getBuildingId, pageWrap.getModel().getBuildingId());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
+        queryWrapper.lambda().orderByAsc(YwRoom::getRoomNum);
         return PageData.from(ywRoomMapper.selectPage(page, queryWrapper));
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
index 0223ac9..cc78386 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
@@ -1,5 +1,7 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
@@ -34,7 +36,7 @@
     }
 
     @Override
-    public void deleteById(Integer id) {
+    public void deleteById(Integer id, LoginUserInfo user) {
         ywWorkorderMapper.deleteById(id);
     }
 
@@ -45,7 +47,7 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }

--
Gitblit v1.9.3