From 9a46f15cec245d1efe7c5539dc6b2f38e4980f8a Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 07 二月 2025 11:48:19 +0800
Subject: [PATCH] Merge branch '2.0.1' of http://139.186.142.91:10010/r/productDev/funingyunwei into 2.0.1

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java          |   21 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java               |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwRoomServiceImpl.java             |    3 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java                     |   16 ++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java                    |   38 ++++
 server/visits/dmvisit_service/src/main/resources/application-dev.yml                                            |   12 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelOutVO.java              |   52 ++++++
 server/visits/dmvisit_service/src/main/resources/application-pro.yml                                            |   13 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MemberExcelVO.java                       |   45 +++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java |   21 --
 server/visits/dmvisit_service/src/main/resources/application-test.yml                                           |   12 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java           |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java                           |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java           |   47 +++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwDeviceRecord.java                   |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelInVO.java               |   50 ++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractBillServiceImpl.java     |    1 
 server/system_gateway/src/main/resources/application.yml                                                        |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java                   |   25 ++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java                         |    5 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java                          |   32 +--
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java        |    3 
 22 files changed, 359 insertions(+), 62 deletions(-)

diff --git a/server/system_gateway/src/main/resources/application.yml b/server/system_gateway/src/main/resources/application.yml
index 6503fa3..8994b05 100644
--- a/server/system_gateway/src/main/resources/application.yml
+++ b/server/system_gateway/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 # 椤圭洰淇℃伅閰嶇疆
 project:
-  name: 瀹夋嘲鐗╂祦璁垮绯荤粺
+  name: 闃滃畞鍦洪杩愮淮
   version: 1.0.0
   env: development
 #  env: production
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
index e5f73cb..6386c16 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -20,6 +20,7 @@
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.model.MemberCard;
 import com.doumee.dao.business.model.MemberRole;
+import com.doumee.dao.business.vo.MemberExcelVO;
 import com.doumee.dao.system.dto.UpdatePwdDto;
 import com.doumee.service.business.MemberService;
 import com.doumee.service.business.ext.ERPSyncService;
@@ -27,6 +28,7 @@
 import com.doumee.service.business.impl.hksync.fhk.HkSyncOrgUserFromSelfServiceImpl;
 import io.swagger.annotations.*;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -412,4 +414,18 @@
         return ApiResponse.success(memberService.ywFindPage(pageWrap));
     }
 
+
+    @ApiOperation("闃滃畞 - 瀵煎嚭Excel")
+    @PostMapping("/ywExportExcel")
+    @CloudRequiredPermission("business:member:exportExcel")
+    public void ywExportExcel (@RequestBody PageWrap<Member> pageWrap, HttpServletResponse response, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        List<Member> memberList =  memberService.ywFindPage(pageWrap).getRecords();
+        List<MemberExcelVO> memberExcelVOList = new ArrayList<MemberExcelVO>();
+        for (Member member:memberList) {
+            MemberExcelVO memberExcelVO = new MemberExcelVO();
+            BeanUtils.copyProperties(member,memberExcelVO);
+            memberExcelVOList.add(memberExcelVO);
+        }
+        ExcelExporter.build(MemberExcelVO.class).export(memberExcelVOList, "浜哄憳淇℃伅琛�", response);
+    }
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java
index 23eccac..11c08ca 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/SmsEmailColudController.java
@@ -49,11 +49,30 @@
 
     @LoginNoRequired
     @PreventRepeat
-    @ApiOperation("鑷畾涔夌煭淇″唴瀹�")
-    @PostMapping("/testSendSms")
-    public ApiResponse testSendSms(@RequestBody SmsEmail smsEmail) {
+    @ApiOperation("鑷畾涔夌煭淇″唴瀹筯k")
+    @PostMapping("/testSendSmsHk")
+    public ApiResponse testSendSmsHk(@RequestBody SmsEmail smsEmail) {
         emayService.sendSmsByHk(smsEmail.getPhone(),smsEmail.getContent());
         return ApiResponse.success("鎿嶄綔鎴愬姛");
     }
 
+
+
+    @LoginNoRequired
+    @PreventRepeat
+    @ApiOperation("鑷畾涔夌煭淇″唴瀹�")
+    @PostMapping("/testSendSms")
+    public ApiResponse testSendSms(@RequestBody SmsEmail smsEmail) {
+        smsEmailService.sendBillSms(smsEmail.getContent(),smsEmail.getPhone(),null);
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
+    @LoginNoRequired
+    @PreventRepeat
+    @ApiOperation("鑷畾涔夐偖浠跺唴瀹�")
+    @PostMapping("/testSendEmail")
+    public ApiResponse testSendEmail(@RequestBody SmsEmail smsEmail) {
+        smsEmailService.sendEmail(smsEmail.getEmail(),smsEmail.getContent(),null);
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java
index 07544f7..9ac8faf 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java
@@ -1,5 +1,6 @@
 package com.doumee.cloud.admin;
 
+import cn.emay.sdk.util.StringUtil;
 import com.doumee.api.BaseController;
 import com.doumee.config.annotation.CloudRequiredPermission;
 import com.doumee.core.annotation.excel.ExcelExporter;
@@ -9,10 +10,13 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.business.model.YwOutinbound;
+import com.doumee.dao.business.model.YwOutinboundRecord;
+import com.doumee.dao.business.vo.YwOutinboundExcelInVO;
+import com.doumee.dao.business.vo.YwOutinboundExcelOutVO;
 import com.doumee.service.business.YwOutinboundService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
@@ -82,7 +86,37 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywoutinbound:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwOutinbound> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ExcelExporter.build(YwOutinbound.class).export(ywOutinboundService.findPage(pageWrap).getRecords(), "杩愮淮鍑哄叆搴撲俊鎭〃", response);
+        List<YwOutinbound> ywOutinboundList = ywOutinboundService.findPage(pageWrap).getRecords();
+        Integer inOut = pageWrap.getModel().getInOut();
+        if(Constants.equalsInteger(inOut,Constants.ZERO)){
+            List<YwOutinboundExcelInVO> inList = new ArrayList<>();
+            for (YwOutinbound ywOutinbound:ywOutinboundList) {
+                YwOutinboundExcelInVO inVO = new YwOutinboundExcelInVO();
+                BeanUtils.copyProperties(ywOutinbound,inVO);
+                List<YwOutinboundRecord> ywOutinboundRecordList = ywOutinbound.getRecordList();
+                StringBuffer stringBuffer = new StringBuffer();
+                for (YwOutinboundRecord ywOutinboundRecord:ywOutinboundRecordList) {
+                    stringBuffer.append(ywOutinboundRecord.getMaterialName()+"["+ywOutinboundRecord.getMaterialCode()+"]*"+ywOutinboundRecord.getStock()+ywOutinboundRecord.getMaterialUnitName()+";");
+                }
+                inVO.setOutMaterialNum(stringBuffer.toString());
+                inList.add(inVO);
+            }
+            ExcelExporter.build(YwOutinboundExcelInVO.class).export(inList, "鍏ュ簱淇℃伅琛�", response);
+        }else{
+            List<YwOutinboundExcelOutVO> outList = new ArrayList<>();
+            for (YwOutinbound ywOutinbound:ywOutinboundList) {
+                YwOutinboundExcelOutVO ywOutinboundExcelOutVO = new YwOutinboundExcelOutVO();
+                BeanUtils.copyProperties(ywOutinbound,ywOutinboundExcelOutVO);
+                List<YwOutinboundRecord> ywOutinboundRecordList = ywOutinbound.getRecordList();
+                StringBuffer stringBuffer = new StringBuffer();
+                for (YwOutinboundRecord ywOutinboundRecord:ywOutinboundRecordList) {
+                    stringBuffer.append(ywOutinboundRecord.getMaterialName()+"["+ywOutinboundRecord.getMaterialCode()+"]*"+ywOutinboundRecord.getStock()+ywOutinboundRecord.getMaterialUnitName()+";");
+                }
+                ywOutinboundExcelOutVO.setOutMaterialNum(stringBuffer.toString());
+                outList.add(ywOutinboundExcelOutVO);
+            }
+            ExcelExporter.build(YwOutinboundExcelOutVO.class).export(outList, "鍑哄簱淇℃伅琛�", response);
+        }
     }
 
     @ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java
index bfe3148..7676246 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwStockController.java
@@ -8,7 +8,9 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.model.PageData;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.YwPatrolTask;
 import com.doumee.dao.business.model.YwStock;
+import com.doumee.dao.business.model.YwWorkorder;
 import com.doumee.service.business.YwStockService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -80,9 +82,10 @@
     @PostMapping("/exportExcel")
     @CloudRequiredPermission("business:ywstock:exportExcel")
     public void exportExcel (@RequestBody PageWrap<YwStock> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        ExcelExporter.build(YwStock.class).export(ywStockService.findPage(pageWrap).getRecords(), "杩愮淮搴撳瓨淇℃伅琛�", response);
+        ExcelExporter.build(YwStock.class).export(ywStockService.findPage(pageWrap).getRecords(), "搴撳瓨淇℃伅琛╛"+System.currentTimeMillis(), response);
     }
 
+
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @CloudRequiredPermission("business:ywstock:query")
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 399570e..4e1b250 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
@@ -222,7 +222,6 @@
     private String email;
 
 
-
     @ApiModelProperty(value = "鏈�鍚庢搷浣滀汉")
     @TableField(exist = false)
     private String editorName;
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 1ab32e6..7438d92 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
@@ -32,7 +32,7 @@
     private Integer creator;
 
     @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @ExcelColumn(name="鍒涘缓鏃堕棿",index = 5, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @ExcelColumn(name="鍒涘缓鏃堕棿",index = 5, dateFormat = "yyyy-MM-dd HH:mm:ss",width = 16)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createDate;
 
@@ -50,7 +50,7 @@
     private String remark;
 
     @ApiModelProperty(value = "鐘舵�� 0姝e父 1鎹熷潖 2鎶ュ簾", example = "1")
-    @ExcelColumn(name="璁惧鐘舵��",index = 3, valueMapping = "0=姝e父;1=鎹熷潖;2=鎶ュ簾;")
+    @ExcelColumn(name="璁惧鐘舵��",index = 3, valueMapping = "0=姝e父;1=鎹熷潖;2=鎶ュ簾;",width = 10)
     private Integer status;
 
     @ApiModelProperty(value = "璁惧鍨嬪彿", example = "1")
@@ -67,7 +67,7 @@
     private Date company;
 
     @ApiModelProperty(value = "鎯呭喌璇存槑")
-    @ExcelColumn(name="杩愮淮澶囨敞",index = 4)
+    @ExcelColumn(name="杩愮淮澶囨敞",index = 4,width = 30)
     private String content;
 
     @ApiModelProperty(value = "杩愮淮鏃堕棿")
@@ -75,17 +75,17 @@
     private Date dealDate;
 
     @ApiModelProperty(value = "璁惧鍚嶇О")
-    @ExcelColumn(name="璁惧鍚嶇О",index = 2)
+    @ExcelColumn(name="璁惧鍚嶇О",index = 2,width = 20)
     @TableField(exist = false)
     private String deviceName;
 
     @ApiModelProperty(value = "璁惧缂栧彿")
-    @ExcelColumn(name="璁惧缂栧彿",index = 1)
+    @ExcelColumn(name="璁惧缂栧彿",index = 1,width = 10)
     @TableField(exist = false)
     private String deviceCode;
 
     @ApiModelProperty(value = "杩愮淮浜哄悕绉�")
-    @ExcelColumn(name="杩愮淮浜�",index = 0)
+    @ExcelColumn(name="杩愮淮浜�",index = 0,width = 10)
     @TableField(exist = false)
     private String realName;
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
index ef8a041..379c7ff 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolTaskRecord.java
@@ -75,15 +75,15 @@
 
     @ApiModelProperty(value = "澶勭悊鏃堕棿")
     @ExcelColumn(name="澶勭悊鏃堕棿")
-    @JsonFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date dealDate;
 
     @ApiModelProperty(value = "鏄惁宸℃  0=寰呭紑濮嬶紱1=宸插贰妫�锛�", example = "1")
     @ExcelColumn(name="鏄惁宸℃  0=寰呭紑濮嬶紱1=宸插贰妫�")
     private Integer status;
 
-    @ApiModelProperty(value = "宸℃缁撴灉  0=姝e父锛�1=寮傚父", example = "1")
-    @ExcelColumn(name="宸℃缁撴灉  0=姝e父锛�1=寮傚父")
+    @ApiModelProperty(value = "宸℃缁撴灉  0=姝e父锛�1=寮傚父;2=璺宠繃锛�", example = "1")
+    @ExcelColumn(name="宸℃缁撴灉  0=姝e父锛�1=寮傚父锛�2=璺宠繃锛�")
     private Integer dealStatus;
 
     @ApiModelProperty(value = "澶勭悊澶囨敞")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java
index dc2ec33..16a6200 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java
@@ -2,6 +2,7 @@
 
 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;
@@ -20,65 +21,60 @@
 @Data
 @ApiModel("杩愮淮搴撳瓨淇℃伅琛�")
 @TableName("`yw_stock`")
-public class YwStock {
+public class YwStock  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 = "浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
-    @ExcelColumn(name="浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
     private Integer warehouseId;
 
     @ApiModelProperty(value = "鐗╄祫缂栫爜锛堝叧鑱攜w_material)", example = "1")
-    @ExcelColumn(name="鐗╄祫缂栫爜锛堝叧鑱攜w_material)")
     private Integer materialId;
 
     @ApiModelProperty(value = "鏁伴噺", example = "1")
-    @ExcelColumn(name="鏁伴噺")
+    @ExcelColumn(name="鏁伴噺",index = 6,width = 10)
     private BigDecimal stock;
 
 
-    @ApiModelProperty(value = "璧勪骇缂栫爜")
+    @ApiModelProperty(value = "鐗╂枡缂栫爜")
+    @ExcelColumn(name="鐗╂枡缂栫爜",index = 0,width = 10)
     @TableField(exist = false)
     private String materialCode;
 
-    @ApiModelProperty(value = "璧勪骇鍚嶇О")
+    @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+    @ExcelColumn(name="鐗╂枡鍚嶇О",index = 1,width = 10)
     @TableField(exist = false)
     private String materialName;
 
-    @ApiModelProperty(value = "璧勪骇鏉″舰鐮�")
+    @ApiModelProperty(value = "鏉$爜")
+    @ExcelColumn(name="鏉$爜",index = 2,width = 10)
     @TableField(exist = false)
     private String materialQrcode;
 
-    @ApiModelProperty(value = "璧勪骇鍝佺墝")
+    @ApiModelProperty(value = "鍝佺墝")
+    @ExcelColumn(name="鍝佺墝",index = 3,width = 10)
     @TableField(exist = false)
     private String materialBrand;
 
@@ -86,11 +82,13 @@
     @TableField(exist = false)
     private String materialUnitName;
 
-    @ApiModelProperty(value = "璧勪骇瑙勬牸鍨嬪彿")
+    @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
+    @ExcelColumn(name="瑙勬牸鍨嬪彿",index = 4,width = 10)
     @TableField(exist = false)
     private String materialAttr;
 
-    @ApiModelProperty(value = "浠撳簱鍚嶇О")
+    @ApiModelProperty(value = "鎵�鍦ㄤ粨搴�")
+    @ExcelColumn(name="鎵�鍦ㄤ粨搴�",index = 5,width = 10)
     @TableField(exist = false)
     private String warehouseName;
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MemberExcelVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MemberExcelVO.java
new file mode 100644
index 0000000..210cdc9
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/MemberExcelVO.java
@@ -0,0 +1,45 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 浜哄憳淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Data
+public class MemberExcelVO {
+
+    @ApiModelProperty(value = "瀹㈡埛鍚嶇О", example = "1")
+    @ExcelColumn(name="瀹㈡埛鍚嶇О",width = 10,index = 1)
+    private String customerName;
+
+    @ApiModelProperty(value = "鑱旂郴浜�", example = "1")
+    @ExcelColumn(name="鑱旂郴浜�",width = 10,index = 2)
+    private String name;
+
+    @ApiModelProperty(value = "鑱旂郴鐢佃瘽", example = "1")
+    @ExcelColumn(name="鑱旂郴鐢佃瘽",width = 10,index = 3)
+    private String phone;
+
+    @ApiModelProperty(value = "韬唤 0鑰佹澘/瓒呯骇绠$悊鍛� 1浜轰簨/绠$悊鍛� 2鍛樺伐/鏅�氬憳宸�", example = "1")
+    @ExcelColumn(name="韬唤",width = 10,index = 4,valueMapping = "0=鑰佹澘/瓒呯骇绠$悊鍛�;1=浜轰簨/绠$悊鍛�;2=鍛樺伐/鏅�氬憳宸�;")
+    private Integer highCheckor;
+
+    @ApiModelProperty(value = "鐘舵�� 0姝e父 1绂佺敤 2鎷夐粦/鍐荤粨", example = "1")
+    @ExcelColumn(name="韬唤",width = 10,index = 5,valueMapping = "0=姝e父;1=绂佺敤;")
+    private Integer status;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelInVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelInVO.java
new file mode 100644
index 0000000..1766d31
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelInVO.java
@@ -0,0 +1,50 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 杩愮淮鍑哄叆搴撲俊鎭〃
+ * @author 姹熻箘韫�
+ * @date 2025/01/06 11:05
+ */
+@Data
+public class YwOutinboundExcelInVO {
+
+    @ApiModelProperty(value = "鍗曟嵁缂栧彿")
+    @ExcelColumn(name="鍏ュ簱鍗曞彿",index = 0,width = 16)
+    private String code;
+
+    @ApiModelProperty(value = "浠撳簱鍚嶇О", example = "1")
+    @ExcelColumn(name="鍏ュ簱浠撳簱",index = 1,width = 16)
+    private String warehouseName;
+
+    @ApiModelProperty(value = "绫诲瀷 0閲囪喘鍏ュ簱 1棰嗙敤閫�鍥� 2璋冩暣鍏ュ簱 3鍏朵粬鍏ュ簱 4鐩樼泩鍏ュ簱 5棰嗙敤鍑哄簱 6浠撳簱鍑哄簱 7璋冩暣鍑哄簱 8閲囪喘鍑哄簱 9鍏朵粬鍑哄簱 10鐩樹簭鍑哄簱", example = "1")
+    @ExcelColumn(name="鍏ュ簱绫诲瀷",index = 2,width = 10,valueMapping = "0=閲囪喘鍏ュ簱;1=棰嗙敤閫�鍥�;2=璋冩暣鍏ュ簱;3=鍏朵粬鍏ュ簱;4=鐩樼泩鍏ュ簱;5=棰嗙敤鍑哄簱;6=浠撳簱鍑哄簱;7=璋冩暣鍑哄簱;8=閲囪喘鍑哄簱;9=鍏朵粬鍑哄簱;10=鐩樹簭鍑哄簱;")
+    private Integer type;
+
+    @ApiModelProperty(value = "鍑哄簱鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ExcelColumn(name="鍏ュ簱鏃ユ湡",index = 3,width = 16,dateFormat = "yyyy-MM-dd")
+    private Date doneDate;
+
+    @ApiModelProperty(value = "鍑哄簱鏁伴噺")
+    @ExcelColumn(name="鍏ュ簱鏁伴噺",index = 4,width = 16)
+    private String outMaterialNum;
+
+    @ApiModelProperty(value = "鎿嶄綔浜哄悕绉�", example = "1")
+    @ExcelColumn(name="鎿嶄綔浜�",index = 5,width = 16)
+    private String createUserName;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelColumn(name="鎿嶄綔鏃堕棿",index = 6,width = 16,dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date createDate;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelOutVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelOutVO.java
new file mode 100644
index 0000000..23e6818
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/YwOutinboundExcelOutVO.java
@@ -0,0 +1,52 @@
+package com.doumee.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.dao.business.model.YwOutinboundRecord;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 杩愮淮鍑哄叆搴撲俊鎭〃
+ * @author 姹熻箘韫�
+ * @date 2025/01/06 11:05
+ */
+@Data
+public class YwOutinboundExcelOutVO {
+
+    @ApiModelProperty(value = "鍗曟嵁缂栧彿")
+    @ExcelColumn(name="鍑哄簱鍗曞彿",index = 0,width = 16)
+    private String code;
+
+    @ApiModelProperty(value = "浠撳簱鍚嶇О", example = "1")
+    @ExcelColumn(name="鍑哄簱浠撳簱",index = 1,width = 16)
+    private String warehouseName;
+
+    @ApiModelProperty(value = "绫诲瀷 0閲囪喘鍏ュ簱 1棰嗙敤閫�鍥� 2璋冩暣鍏ュ簱 3鍏朵粬鍏ュ簱 4鐩樼泩鍏ュ簱 5棰嗙敤鍑哄簱 6浠撳簱鍑哄簱 7璋冩暣鍑哄簱 8閲囪喘鍑哄簱 9鍏朵粬鍑哄簱 10鐩樹簭鍑哄簱", example = "1")
+    @ExcelColumn(name="鍑哄簱绫诲瀷",index = 2,width = 10,valueMapping = "0=閲囪喘鍏ュ簱;1=棰嗙敤閫�鍥�;2=璋冩暣鍏ュ簱;3=鍏朵粬鍏ュ簱;4=鐩樼泩鍏ュ簱;5=棰嗙敤鍑哄簱;6=浠撳簱鍑哄簱;7=璋冩暣鍑哄簱;8=閲囪喘鍑哄簱;9=鍏朵粬鍑哄簱;10=鐩樹簭鍑哄簱;")
+    private Integer type;
+
+    @ApiModelProperty(value = "鍑哄簱鏃ユ湡")
+    @ExcelColumn(name="鍑哄簱鏃ユ湡",index = 3,width = 16,dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date doneDate;
+
+    @ApiModelProperty(value = "鍑哄簱鏁伴噺")
+    @ExcelColumn(name="鍑哄簱鏁伴噺",index = 4,width = 16)
+    private String outMaterialNum;
+
+    @ApiModelProperty(value = "鎿嶄綔浜哄悕绉�", example = "1")
+    @ExcelColumn(name="棰嗙敤浜�",index = 5,width = 16)
+    private String createUserName;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鎿嶄綔鏃堕棿",index = 6,width = 16,dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createDate;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index e75dac5..5ae4161 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -7,8 +7,9 @@
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.CategoryMapper;
-import com.doumee.dao.business.model.Category;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.CompanyMapper;
+import com.doumee.dao.business.model.*;
 import com.doumee.service.business.CategoryService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -37,6 +38,22 @@
     @Autowired
     private CategoryMapper categoryMapper;
 
+    @Autowired
+    private YwCustomerMapper ywCustomerMapper;
+
+    @Autowired
+    private YwWorkorderMapper ywWorkorderMapper;
+
+    @Autowired
+    private YwPatrolPointMapper ywPatrolPointMapper;
+
+    @Autowired
+    private YwDeviceMapper ywDeviceMapper;
+
+    @Autowired
+    private YwMaterialMapper ywMaterialMapper;
+
+
     @Override
     public Integer create(Category category) {
         checkUnique(category);
@@ -61,8 +78,32 @@
         return insert.getId();
     }
 
+
     @Override
     public void deleteById(Integer id) {
+        Category category = categoryMapper.selectById(id);
+        if(Objects.isNull(category)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+
+        if(categoryMapper.selectCount(new QueryWrapper<Category>().lambda()
+                .eq(Category::getIsdeleted,Constants.ZERO)
+                .eq(Category::getParentId,id)
+        )>Constants.ZERO){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪瀛愰泦鏁版嵁,鏃犳硶杩涜鍒犻櫎");
+        }
+        //鏌ヨ鏁版嵁鏄惁宸蹭娇鐢�     3杩愮淮-宸ュ崟鍒嗙被 4杩愮淮-宸℃鍖哄煙 5杩愮淮-璁惧鍒嗙被 6=瀹㈡埛琛屼笟 7=璧勪骇鍒嗙被
+        if(Constants.equalsInteger(category.getType(),Constants.THREE)){
+            if(ywWorkorderMapper.selectCount(new QueryWrapper<YwWorkorder>().lambda().eq(YwWorkorder::getIsdeleted,Constants.ZERO).eq(YwWorkorder::getCateId,id))>Constants.ZERO)  throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+        }else if (Constants.equalsInteger(category.getType(),Constants.FOUR)){
+            if(ywPatrolPointMapper.selectCount(new QueryWrapper<YwPatrolPoint>().lambda().eq(YwPatrolPoint::getIsdeleted,Constants.ZERO).eq(YwPatrolPoint::getAreaId,id))>Constants.ZERO)  throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+        }else if (Constants.equalsInteger(category.getType(),Constants.FIVE)){
+            if(ywDeviceMapper.selectCount(new QueryWrapper<YwDevice>().lambda().eq(YwDevice::getIsdeleted,Constants.ZERO).eq(YwDevice::getCateId,id))>Constants.ZERO)  throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+        }else if (Constants.equalsInteger(category.getType(),Constants.SIX)){
+            if(ywCustomerMapper.selectCount(new QueryWrapper<YwCustomer>().lambda().eq(YwCustomer::getIsdeleted,Constants.ZERO).eq(YwCustomer::getIndustryId,id))>Constants.ZERO)  throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+        }else if (Constants.equalsInteger(category.getType(),Constants.SEVEN)){
+            if(ywMaterialMapper.selectCount(new QueryWrapper<YwMaterial>().lambda().eq(YwMaterial::getIsdeleted,Constants.ZERO).eq(YwMaterial::getCateId,id))>Constants.ZERO)  throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍒嗙被宸茶浣跨敤,鏃犳硶杩涜鍒犻櫎");
+        }
         categoryMapper.update(null,new UpdateWrapper<Category>().lambda().set(Category::getIsdeleted,Constants.ONE)
                 .eq(Category::getId,id)
         );
@@ -195,6 +236,8 @@
         wrapper.lambda()
                 .ne(Objects.nonNull(category.getId()),Category::getId,category.getId())
                 .eq(Category::getIsdeleted,Constants.ZERO)
+                .eq(Objects.nonNull(category.getParentId()),Category::getParentId,category.getParentId())
+                .isNull(Objects.isNull(category.getParentId()),Category::getParentId)
                 .eq(Category::getType,category.getType())
                 .eq(Category::getName,category.getName());
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
index 4d4beaf..b760dd1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -106,10 +106,11 @@
         String code = Constants.getRandom6Num();
         SmsConfig smsConfig = smsConfigMapper.selectOne(new QueryWrapper<SmsConfig>().lambda().eq(SmsConfig::getObjType,
                 SmsConstants.inventCode).last(" limit 1 "));
+        String comName = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode();
         //寮�鍚煭淇¢�氱煡
         if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){
             if(StringUtils.isNotBlank(smsConfig.getContent())){
-                String content  = smsConfig.getContent().replace("{楠岃瘉鐮亇",code);
+                String content  = comName + smsConfig.getContent().replace("{楠岃瘉鐮亇",code);
                 emayService.sendSingleSms(smsEmail.getPhone(),content);
                 smsEmail.setRemark(code);
                 smsEmail.setIsdeleted(Constants.ZERO);
@@ -617,6 +618,7 @@
         if(result){
             result=   emailService.sendEmail(email,"璐﹀崟鍌垂",content,null);
         }
+        content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + content;
         SmsEmail smsEmail = new SmsEmail();
         smsEmail.setRemark(result?"閭欢鍙戦�佹垚鍔�":"閭欢鍙戦�佸け璐�");
         smsEmail.setIsdeleted(Constants.ZERO);
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 436e79a..5d36fa2 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
@@ -600,6 +600,7 @@
             .leftJoin(YwContract.class,YwContract::getId,YwContractBill::getContractId)
             .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId)
             .eq(YwContractBill::getIsdeleted,Constants.ZERO)
+            .eq(YwContractBill::getStatus,Constants.ZERO)
             .in(YwContractBill::getPayStatus,Constants.ZERO,Constants.TWO,Constants.THREE,Constants.FOUR)
             .eq(YwContractBill::getContractId,contractId)
             .orderByDesc(YwContractBill::getId);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
index d556571..b1fbb04 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolTaskRecordServiceImpl.java
@@ -249,19 +249,6 @@
                     .set(YwPatrolTask::getEditor,loginUserInfo.getId())
             );
 
-//            if(ywPatrolTaskMapper.selectCount(new QueryWrapper<YwPatrolTask>().lambda()
-//                    .eq(YwPatrolTask::getSchemeId,ywPatrolTask.getSchemeId())
-//                    .in(YwPatrolTask::getStatus,Constants.ZERO,Constants.ONE)
-//                    .ne(YwPatrolTask::getId,ywPatrolTask.getId())
-//            )==Constants.ZERO){
-//                ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
-//                        .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
-//                        .set(YwPatrolScheme::getStatus,Constants.TWO)
-//                        .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
-//                        .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
-//                );
-//            }
-
             //鏍囪寰呭姙宸插鐞�
             noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
                     .set(Notices::getStatus,Constants.ONE)
@@ -279,14 +266,6 @@
                         .set(YwPatrolTask::getEditor,loginUserInfo.getId())
                 );
             }
-//            if(Constants.equalsInteger(ywPatrolScheme.getStatus(),Constants.ZERO)){
-//                ywPatrolSchemeMapper.update(null,new UpdateWrapper<YwPatrolScheme>().lambda()
-//                        .eq(YwPatrolScheme::getId,ywPatrolScheme.getId())
-//                        .set(YwPatrolScheme::getStatus,Constants.ONE)
-//                        .set(YwPatrolScheme::getEditDate,DateUtil.getCurrDateTime())
-//                        .set(YwPatrolScheme::getEditor,loginUserInfo.getId())
-//                );
-//            }
             //鏍囪寰呭姙宸插鐞�
             noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
                     .set(Notices::getParam3,Constants.ONE)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
index 2c33a6c..1571556 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwProblemServiceImpl.java
@@ -263,7 +263,26 @@
                 .le(Objects.nonNull(model.getDealDateEnd()),YwProblem::getDealDate, Utils.Date.getEnd(model.getDealDateEnd()))
                 .eq(Objects.nonNull(model.getDealStatus()),YwProblem::getDealStatus,model.getDealStatus())
         ;
-        IPage iPage = ywProblemMapper.selectJoinPage(page,YwProblem.class,queryWrapper);
+        IPage<YwProblem> iPage = ywProblemMapper.selectJoinPage(page,YwProblem.class,queryWrapper);
+        for (YwProblem ywProblem:iPage.getRecords()) {
+            List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+                    .eq(Multifile::getObjId, ywProblem.getId() )
+                    .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.PROBLEM_FILE.getKey() }))
+                    .eq(Multifile::getIsdeleted,Constants.ZERO));
+            if(multifiles!=null){
+                String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+                        +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_WORKORDER_FILE).getCode();
+                for(Multifile f : multifiles){
+                    if(StringUtils.isBlank(f.getFileurl())){
+                        continue;
+                    }
+                    f.setFileurlFull(path+f.getFileurl());
+                }
+                ywProblem.setFileList(multifiles);
+            }
+        }
+
+
         return PageData.from(iPage);
     }
 
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 b5c03ed..1b7a0a9 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
@@ -138,6 +138,9 @@
         queryWrapper.selectAll(YwRoom.class )
                 .selectAs(YwProject::getName,YwRoom::getProjectName)
                 .selectAs(YwFloor::getName,YwRoom::getFloorName)
+                .select(" ifnull( ( select case when y1.status = 3 then now() BETWEEN y1.START_DATE and y1.BT_DATE else now() BETWEEN y1.START_DATE and y1.END_DATE END  " +
+                        "from yw_contract y1 left join yw_contract_room y2 on y1.id = y2.CONTRACT_ID and y2.TYPE = 0  " +
+                        "where y1.`STATUS` <> 4  and y2.room_id = t.id order by y1.create_date desc  limit 1  ) ,0) ",YwRoom::getLeaseStatus)
                 .selectAs(YwBuilding::getName,YwRoom::getBuildingName)
                 .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId)
                 .leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId)
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 58d10e9..07ad32d 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
@@ -503,6 +503,9 @@
         if (pageWrap.getModel().getRoomId() != null) {
             queryWrapper.eq(YwWorkorder::getRoomId, pageWrap.getModel().getRoomId());
         }
+        if (pageWrap.getModel().getFloorId() != null) {
+            queryWrapper.eq(YwWorkorder::getFloorId, pageWrap.getModel().getFloorId());
+        }
         if (pageWrap.getModel().getUserId() != null) {
             queryWrapper.eq(YwWorkorder::getUserId, pageWrap.getModel().getUserId());
         }
diff --git a/server/visits/dmvisit_service/src/main/resources/application-dev.yml b/server/visits/dmvisit_service/src/main/resources/application-dev.yml
index 29d1baf..b3984c7 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-dev.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-dev.yml
@@ -15,7 +15,15 @@
   jackson:
     time-zone: GMT+8
     date-format: yyyy-MM-dd HH:mm:ss
-
+  mail:
+    default-encoding: UTF-8
+    host: smtp.exmail.qq.com
+    username: jp@doumee.com
+    password: p7iKUE8VvQQpY58S
+    properties:
+      mail:
+        smtp:
+          auth: true
 
 debug_model: true
 
@@ -26,6 +34,8 @@
   need-deal-img: true #鏄惁闇�瑕佸鐞嗗浘鐗囨暟鎹�
 
 
+########################鍘嬬缉鍖呮枃浠朵綅缃�  ########################
+zip_file_path: d://
 # Swagger閰嶇疆
 swagger:
   host: 127.0.0.1
diff --git a/server/visits/dmvisit_service/src/main/resources/application-pro.yml b/server/visits/dmvisit_service/src/main/resources/application-pro.yml
index b27c85b..eeed79a 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-pro.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-pro.yml
@@ -15,10 +15,21 @@
   jackson:
     time-zone: GMT+8
     date-format: yyyy-MM-dd HH:mm:ss
-
+  mail:
+    default-encoding: UTF-8
+    host: smtp.exmail.qq.com
+    username: jp@doumee.com
+    password: p7iKUE8VvQQpY58S
+    properties:
+      mail:
+        smtp:
+          auth: true
 
 debug_model: true
 
+########################鍘嬬缉鍖呮枃浠朵綅缃�  ########################
+zip_file_path: d://
+
 ########################鍚屾鏁版嵁妯″紡  ########################
 data-sync:
   org-user-data-origin: 0 #缁勭粐鏁版嵁 0鑷缓 2浠ユ捣搴蜂负涓� 1鍗庢櫉ERP绯荤粺
diff --git a/server/visits/dmvisit_service/src/main/resources/application-test.yml b/server/visits/dmvisit_service/src/main/resources/application-test.yml
index 6bc2caa..a8d00a5 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-test.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-test.yml
@@ -15,10 +15,20 @@
   jackson:
     time-zone: GMT+8
     date-format: yyyy-MM-dd HH:mm:ss
-
+  mail:
+    default-encoding: UTF-8
+    host: smtp.exmail.qq.com
+    username: jp@doumee.com
+    password: p7iKUE8VvQQpY58S
+    properties:
+      mail:
+        smtp:
+          auth: true
 
 debug_model: true
 
+########################鍘嬬缉鍖呮枃浠朵綅缃�  ########################
+zip_file_path: d://
 ########################鍚屾鏁版嵁妯″紡  ########################
 data-sync:
   org-user-data-origin: 0 #缁勭粐鏁版嵁 0鑷缓 2浠ユ捣搴蜂负涓� 1鍗庢櫉ERP绯荤粺

--
Gitblit v1.9.3