From af73f49872f899a1cb301ae6e3ee23ebc28daf20 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 23 六月 2025 17:15:07 +0800
Subject: [PATCH] 2025-06-23 设备台账接口对接完成

---
 src/main/java/com/ruoyi/device/pojo/DeviceLedger.java                         |   16 
 src/main/java/com/ruoyi/device/controller/DeviceRepairController.java         |   11 
 src/main/java/com/ruoyi/device/mapper/DeviceLedgerMapper.java                 |    6 
 src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java         |   22 +
 src/main/resources/mapper/device/DeviceMaintenanceMapper.xml                  |   24 +
 src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java                  |   61 ++++
 src/main/java/com/ruoyi/device/pojo/DeviceRepair.java                         |   15 
 src/main/resources/mapper/sales/ReceiptPaymentMapper.xml                      |   76 +++--
 src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java              |    3 
 src/main/java/com/ruoyi/device/execl/DeviceMaintenanceExeclDto.java           |   52 +++
 src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java         |   12 
 src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java        |   20 
 src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java      |   51 ++-
 src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java                |   32 -
 src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java                |    4 
 src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java                       |   44 +-
 src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java      |   35 ++
 src/main/java/com/ruoyi/device/execl/DeviceRepairExeclDto.java                |   64 ++++
 src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java |   74 +++++
 src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java     |   14 
 src/main/resources/mapper/device/DeviceLedgerMapper.xml                       |   37 +-
 src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java    |   69 ++++
 src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java            |   16 +
 src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java                    |   63 ++++
 24 files changed, 680 insertions(+), 141 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java b/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
index d188d91..e39c658 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.device.dto.DeviceLedgerDto;
 import com.ruoyi.device.pojo.DeviceLedger;
 import com.ruoyi.device.service.IDeviceLedgerService;
 import com.ruoyi.framework.web.domain.AjaxResult;
@@ -26,13 +27,13 @@
 
     @ApiModelProperty("璁惧鍙拌处鍒楄〃")
     @GetMapping("/page")
-    public AjaxResult page(Page page , DeviceLedger deviceLedger) {
+    public AjaxResult page(Page page , DeviceLedgerDto deviceLedger) {
         return AjaxResult.success(deviceLedgerService.queryPage(page,deviceLedger));
     }
 
     @PostMapping()
     @ApiModelProperty("娣诲姞璁惧鍙拌处")
-    public AjaxResult add(DeviceLedger deviceLedger) {
+    public AjaxResult add(@RequestBody DeviceLedger deviceLedger) {
 
         return deviceLedgerService.saveDeviceLedger(deviceLedger);
     }
@@ -45,14 +46,13 @@
 
     @PutMapping ()
     @ApiModelProperty("淇敼璁惧鍙拌处")
-    public AjaxResult update(DeviceLedger deviceLedger) {
-
+    public AjaxResult update(@RequestBody DeviceLedger deviceLedger) {
         return deviceLedgerService.updateDeviceLedger(deviceLedger);
     }
 
-    @DeleteMapping("/{id}")
+    @DeleteMapping("/{ids}")
     @ApiModelProperty("鍒犻櫎璁惧鍙拌处")
-    public AjaxResult delete(@PathVariable ArrayList<Long> ids) {
+    public AjaxResult delete(@PathVariable("ids") ArrayList<Long> ids) {
         boolean b = deviceLedgerService.removeBatchByIds(ids);
         if (!b) {
             return AjaxResult.error("鍒犻櫎澶辫触");
diff --git a/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java b/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java
new file mode 100644
index 0000000..1b6cfb5
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java
@@ -0,0 +1,69 @@
+package com.ruoyi.device.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.device.dto.DeviceMaintenanceDto;
+import com.ruoyi.device.dto.DeviceRepairDto;
+import com.ruoyi.device.pojo.DeviceMaintenance;
+import com.ruoyi.device.pojo.DeviceRepair;
+import com.ruoyi.device.service.IDeviceMaintenanceService;
+import com.ruoyi.device.service.IDeviceRepairService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+
+
+@RestController
+@RequestMapping("/device/maintenance")
+public class DeviceMaintenanceController {
+
+
+    @Autowired
+    private IDeviceMaintenanceService deviceMaintenanceService;
+
+    @ApiModelProperty("璁惧鎶ヤ慨鍒楄〃")
+    @GetMapping("/page")
+    public AjaxResult page(Page page , DeviceMaintenanceDto deviceMaintenanceDto) {
+        return AjaxResult.success(deviceMaintenanceService.queryPage(page,deviceMaintenanceDto));
+    }
+
+    @PostMapping()
+    @ApiModelProperty("娣诲姞璁惧鎶ヤ慨")
+    public AjaxResult add(@RequestBody DeviceMaintenance deviceRepair) {
+        return deviceMaintenanceService.saveDeviceRepair(deviceRepair);
+    }
+
+    @ApiModelProperty("鏍规嵁id鏌ヨ璁惧鎶ヤ慨")
+    @GetMapping("/{id}")
+    public AjaxResult detail(@PathVariable Long id) {
+        return AjaxResult.success(deviceMaintenanceService.getById(id));
+    }
+
+    @PutMapping ()
+    @ApiModelProperty("淇敼璁惧鎶ヤ慨")
+    public AjaxResult update(@RequestBody DeviceMaintenance deviceMaintenance) {
+        return deviceMaintenanceService.updateDeviceRepair(deviceMaintenance);
+    }
+
+    @DeleteMapping("/{id}")
+    @ApiModelProperty("鍒犻櫎璁惧鎶ヤ慨")
+    public AjaxResult delete(@PathVariable ArrayList<Long> ids) {
+        boolean b = deviceMaintenanceService.removeBatchByIds(ids);
+        if (!b) {
+            return AjaxResult.error("鍒犻櫎澶辫触");
+        }
+        return AjaxResult.success();
+    }
+
+    @PostMapping("export")
+    @ApiModelProperty("瀵煎嚭璁惧鎶ヤ慨")
+    public void export(HttpServletResponse response, Long[] ids) {
+        deviceMaintenanceService.export(response, ids);
+    }
+
+
+}
diff --git a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
index 9dd898a..44021a9 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
+++ b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
@@ -15,6 +15,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
+import java.util.Arrays;
 
 @Api(tags = "璁惧鎶ヤ慨绠$悊")
 @RequestMapping("/device/reppair")
@@ -32,7 +33,7 @@
 
     @PostMapping()
     @ApiModelProperty("娣诲姞璁惧鎶ヤ慨")
-    public AjaxResult add(DeviceRepair deviceRepair) {
+    public AjaxResult add( @RequestBody DeviceRepair deviceRepair) {
         return deviceRepairService.saveDeviceRepair(deviceRepair);
     }
 
@@ -44,14 +45,14 @@
 
     @PutMapping ()
     @ApiModelProperty("淇敼璁惧鎶ヤ慨")
-    public AjaxResult update(DeviceRepair deviceRepair) {
+    public AjaxResult update( @RequestBody DeviceRepair deviceRepair) {
         return deviceRepairService.updateDeviceRepair(deviceRepair);
     }
 
-    @DeleteMapping("/{id}")
+    @DeleteMapping("/{ids}")
     @ApiModelProperty("鍒犻櫎璁惧鎶ヤ慨")
-    public AjaxResult delete(@PathVariable ArrayList<Long> ids) {
-        boolean b = deviceRepairService.removeBatchByIds(ids);
+    public AjaxResult delete(@PathVariable("ids") Long[] ids) {
+        boolean b = deviceRepairService.removeBatchByIds(Arrays.asList(ids));
         if (!b) {
             return AjaxResult.error("鍒犻櫎澶辫触");
         }
diff --git a/src/main/java/com/ruoyi/device/dto/DeviceLedgerExeclDto.java b/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
similarity index 61%
copy from src/main/java/com/ruoyi/device/dto/DeviceLedgerExeclDto.java
copy to src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
index 6613c27..f299773 100644
--- a/src/main/java/com/ruoyi/device/dto/DeviceLedgerExeclDto.java
+++ b/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
@@ -2,92 +2,100 @@
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
-import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
+/**
+ * 璁惧鍙拌处瀹炰綋绫�
+ */
 @Data
-public class DeviceLedgerExeclDto {
+@TableName("device_ledger")
+public class DeviceLedgerDto {
 
+    /**
+     * 涓婚敭ID锛岃嚜澧�
+     */
+
+    private Long id;
 
     /**
      * 璁惧鍚嶇О
      */
-    @Excel(name = "璁惧鍚嶇О")
     private String deviceName;
 
     /**
      * 瑙勬牸鍨嬪彿
      */
-    @Excel(name = "瑙勬牸鍨嬪彿")
     private String deviceModel;
 
     /**
      * 渚涘簲鍟嗗悕绉�
      */
-    @Excel(name = "渚涘簲鍟嗗悕绉�")
     private String supplierName;
 
     /**
      * 鍗曚綅
      */
-    @Excel(name = "鍗曚綅")
     private String unit;
 
     /**
      * 鏁伴噺
      */
-    @Excel(name = "鏁伴噺")
     private BigDecimal number;
 
     /**
      * 鍚◣鍗曚环
      */
-    @Excel(name = "鍚◣鍗曚环")
     private BigDecimal taxIncludingPriceUnit;
 
     /**
      * 鍚◣鎬讳环
      */
-    @Excel(name = "鍚◣鎬讳环")
     private BigDecimal taxIncludingPriceTotal;
 
     /**
      * 绋庣巼
      */
-    @Excel(name = "绋庣巼")
     private BigDecimal taxRate;
 
     /**
      * 涓嶅惈绋庢�讳环
      */
-    @Excel(name = "涓嶅惈绋庢�讳环")
     private BigDecimal unTaxIncludingPriceTotal;
 
     /**
      * 褰曞叆鏃堕棿
-     *
      */
-    @Excel(name = "褰曞叆鏃堕棿")
     @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
-
+    /**
+     * 鏇存柊鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
 
     /**
      * 褰曞叆浜�
      */
-    @Excel(name = "褰曞叆浜�")
-    @TableField(fill = FieldFill.INSERT)
     private String createUser;
 
-
+    /**
+     * 鏇存柊浜�
+     */
+    private String updateUser;
 
     /**
      * 绉熸埛ID
      */
-    @TableField(fill = FieldFill.INSERT)
     private Long tenantId;
 }
diff --git a/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java b/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java
new file mode 100644
index 0000000..dffcdd5
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java
@@ -0,0 +1,61 @@
+package com.ruoyi.device.dto;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class DeviceMaintenanceDto {
+
+
+    @ApiModelProperty("璁惧淇濆吇id")
+
+    private Long id;
+
+    @ApiModelProperty("璁惧鍙拌处id")
+    private String deviceLedgerId;
+
+    @ApiModelProperty("璁惧鍚嶇О")
+    private String deviceName;
+
+    @ApiModelProperty("瑙勬牸鍨嬪彿")
+    private String deviceModel;
+
+    @ApiModelProperty("璁″垝淇濆吇鏃ユ湡")
+    private Date maintenancePlanTime;
+
+    @ApiModelProperty("瀹為檯淇濆吇浜�")
+    private String maintenanceActuallyName;
+
+    @ApiModelProperty("瀹為檯淇濆吇鏃ユ湡")
+    private Date maintenanceActuallyTime;
+
+    @ApiModelProperty("淇濆吇缁撴灉 0 缁翠慨 1 瀹屽ソ")
+    private Integer maintenanceResult;
+
+    @ApiModelProperty("鐘舵�� 0 寰呬繚鍏� 1 瀹岀粨")
+    private Integer status;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    @ApiModelProperty("鏇存柊鏃堕棿")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateTime;
+
+    @ApiModelProperty("鍒涘缓浜�")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    @ApiModelProperty("鏇存柊浜�")
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateUser;
+
+    @ApiModelProperty("绉熸埛id")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/device/dto/DeviceLedgerExeclDto.java b/src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java
similarity index 65%
rename from src/main/java/com/ruoyi/device/dto/DeviceLedgerExeclDto.java
rename to src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java
index 6613c27..576bef0 100644
--- a/src/main/java/com/ruoyi/device/dto/DeviceLedgerExeclDto.java
+++ b/src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java
@@ -1,4 +1,4 @@
-package com.ruoyi.device.dto;
+package com.ruoyi.device.execl;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -15,63 +15,62 @@
     /**
      * 璁惧鍚嶇О
      */
-    @Excel(name = "璁惧鍚嶇О")
+    @Excel(name = "璁惧鍚嶇О" ,sort = 1)
     private String deviceName;
 
     /**
      * 瑙勬牸鍨嬪彿
      */
-    @Excel(name = "瑙勬牸鍨嬪彿")
+    @Excel(name = "瑙勬牸鍨嬪彿" ,sort = 2)
     private String deviceModel;
 
     /**
      * 渚涘簲鍟嗗悕绉�
      */
-    @Excel(name = "渚涘簲鍟嗗悕绉�")
+    @Excel(name = "渚涘簲鍟嗗悕绉�",sort = 3)
     private String supplierName;
 
     /**
      * 鍗曚綅
      */
-    @Excel(name = "鍗曚綅")
+    @Excel(name = "鍗曚綅",sort = 4)
     private String unit;
 
     /**
      * 鏁伴噺
      */
-    @Excel(name = "鏁伴噺")
+    @Excel(name = "鏁伴噺",sort = 5)
     private BigDecimal number;
 
     /**
      * 鍚◣鍗曚环
      */
-    @Excel(name = "鍚◣鍗曚环")
+    @Excel(name = "鍚◣鍗曚环",sort = 6)
     private BigDecimal taxIncludingPriceUnit;
 
     /**
      * 鍚◣鎬讳环
      */
-    @Excel(name = "鍚◣鎬讳环")
+    @Excel(name = "鍚◣鎬讳环",sort = 7)
     private BigDecimal taxIncludingPriceTotal;
 
     /**
      * 绋庣巼
      */
-    @Excel(name = "绋庣巼")
+    @Excel(name = "绋庣巼",sort = 8)
     private BigDecimal taxRate;
 
     /**
      * 涓嶅惈绋庢�讳环
      */
-    @Excel(name = "涓嶅惈绋庢�讳环")
+    @Excel(name = "涓嶅惈绋庢�讳环",sort = 9)
     private BigDecimal unTaxIncludingPriceTotal;
 
     /**
      * 褰曞叆鏃堕棿
      *
      */
-    @Excel(name = "褰曞叆鏃堕棿")
-    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "褰曞叆鏃堕棿",sort = 10)
     private LocalDateTime createTime;
 
 
@@ -79,15 +78,10 @@
     /**
      * 褰曞叆浜�
      */
-    @Excel(name = "褰曞叆浜�")
-    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "褰曞叆浜�",sort = 9)
     private String createUser;
 
 
 
-    /**
-     * 绉熸埛ID
-     */
-    @TableField(fill = FieldFill.INSERT)
-    private Long tenantId;
+
 }
diff --git a/src/main/java/com/ruoyi/device/execl/DeviceMaintenanceExeclDto.java b/src/main/java/com/ruoyi/device/execl/DeviceMaintenanceExeclDto.java
new file mode 100644
index 0000000..92dd71a
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/execl/DeviceMaintenanceExeclDto.java
@@ -0,0 +1,52 @@
+package com.ruoyi.device.execl;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+@Data
+public class DeviceMaintenanceExeclDto {
+
+
+
+
+    @ApiModelProperty("璁惧鍚嶇О")
+    @Excel(name = "璁惧鍚嶇О")
+    private String deviceName;
+
+    @Excel(name = "瑙勬牸鍨嬪彿")
+    @ApiModelProperty("瑙勬牸鍨嬪彿")
+    private String deviceModel;
+
+    @Excel(name = "璁″垝淇濆吇鏃ユ湡")
+    @ApiModelProperty("璁″垝淇濆吇鏃ユ湡")
+    private Date maintenancePlanTime;
+
+    @ApiModelProperty("瀹為檯淇濆吇浜�")
+    @Excel(name = "瀹為檯淇濆吇浜�")
+    private String maintenanceActuallyName;
+
+    @ApiModelProperty("瀹為檯淇濆吇鏃ユ湡")
+    @Excel(name = "瀹為檯淇濆吇鏃ユ湡")
+    private LocalDateTime maintenanceActuallyTime;
+
+    @ApiModelProperty("淇濆吇缁撴灉 0 缁翠慨 1 瀹屽ソ")
+    @Excel(name = "淇濆吇缁撴灉")
+    private String maintenanceResult;
+
+    @ApiModelProperty("鐘舵�� 0 寰呬繚鍏� 1 瀹岀粨")
+    @Excel(name = "鐘舵��")
+    private String status;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @Excel(name = "褰曞叆鏃堕棿")
+    private Date createTime;
+
+    @ApiModelProperty("鍒涘缓浜�")
+    @Excel(name = "褰曞叆浜�")
+    private String createUser;
+
+}
diff --git a/src/main/java/com/ruoyi/device/execl/DeviceRepairExeclDto.java b/src/main/java/com/ruoyi/device/execl/DeviceRepairExeclDto.java
new file mode 100644
index 0000000..958db15
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/execl/DeviceRepairExeclDto.java
@@ -0,0 +1,64 @@
+package com.ruoyi.device.execl;
+
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+@Data
+public class DeviceRepairExeclDto {
+
+    @ApiModelProperty("璁惧鍚嶇О")
+    @Excel(name = "璁惧鍚嶇О")
+    private String deviceName;
+
+    @ApiModelProperty("璁惧鍨嬪彿")
+    @Excel(name = "璁惧鍨嬪彿")
+    private String deviceModel;
+
+    @ApiModelProperty("鎶ヤ慨鏃堕棿")
+    @Excel(name = "鎶ヤ慨鏃堕棿")
+    private Date repairTime;
+
+    @ApiModelProperty("鎶ヤ慨浜�")
+    @Excel(name = "鎶ヤ慨浜�")
+    private String repairName;
+
+    @ApiModelProperty("鎶ヤ慨鍐呭")
+    @Excel(name = "鎶ヤ慨鍐呭")
+    private String remark;
+
+    @ApiModelProperty("缁翠慨浜�")
+    @Excel(name = "缁翠慨浜�")
+    private String maintenanceName;
+
+    @ApiModelProperty("缁翠慨鏃堕棿")
+    @Excel(name = "缁翠慨鏃堕棿")
+    private Date maintenanceTime;
+
+    @ApiModelProperty("缁翠慨缁撴灉")
+    @Excel(name = "缁翠慨缁撴灉")
+    private String maintenanceResult;
+
+    @ApiModelProperty("鐘舵��")
+    @Excel(name = "鐘舵��")
+    private String statusStr;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @Excel(name = "褰曞叆鏃堕棿")
+    private LocalDateTime createTime;
+
+    @Excel(name = "褰曞叆浜�")
+    @ApiModelProperty("鍒涘缓浜�")
+    private String createUser;
+
+
+
+
+}
+
diff --git a/src/main/java/com/ruoyi/device/mapper/DeviceLedgerMapper.java b/src/main/java/com/ruoyi/device/mapper/DeviceLedgerMapper.java
index 1a9ed7c..558b55b 100644
--- a/src/main/java/com/ruoyi/device/mapper/DeviceLedgerMapper.java
+++ b/src/main/java/com/ruoyi/device/mapper/DeviceLedgerMapper.java
@@ -3,16 +3,18 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.device.dto.DeviceLedgerExeclDto;
+import com.ruoyi.device.dto.DeviceLedgerDto;
+import com.ruoyi.device.execl.DeviceLedgerExeclDto;
 import com.ruoyi.device.pojo.DeviceLedger;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 @Mapper
 public interface DeviceLedgerMapper extends BaseMapper<DeviceLedger> {
 
-    IPage<DeviceLedger> queryPage(Page page, DeviceLedger deviceLedger);
+    IPage<DeviceLedgerDto> queryPage(Page page, @Param("deviceLedger") DeviceLedgerDto deviceLedgerDto);
 
     List<DeviceLedgerExeclDto> deviceLedgerExportList(DeviceLedger deviceLedger);
 }
diff --git a/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java b/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java
new file mode 100644
index 0000000..b1bee95
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.device.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.device.dto.DeviceMaintenanceDto;
+import com.ruoyi.device.dto.DeviceRepairDto;
+import com.ruoyi.device.pojo.DeviceMaintenance;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DeviceMaintenanceMapper extends BaseMapper<DeviceMaintenance> {
+
+    IPage<DeviceMaintenanceDto> queryPage(Page page, DeviceMaintenanceDto deviceMaintenanceDto);
+}
diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java b/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
index f9c05b4..597e51b 100644
--- a/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
@@ -3,8 +3,12 @@
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
 
@@ -70,25 +74,29 @@
      * 褰曞叆鏃堕棿
      */
     @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
     /**
      * 鏇存柊鏃堕棿
      */
-    @TableField(fill = FieldFill.UPDATE)
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateTime;
 
     /**
      * 褰曞叆浜�
      */
     @TableField(fill = FieldFill.INSERT)
-    private String createUser;
+    private Integer createUser;
 
     /**
      * 鏇存柊浜�
      */
-    @TableField(fill = FieldFill.UPDATE)
-    private String updateUser;
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
 
     /**
      * 绉熸埛ID
diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java b/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
new file mode 100644
index 0000000..431188d
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
@@ -0,0 +1,63 @@
+package com.ruoyi.device.pojo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.models.auth.In;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+@Data
+@TableName("device_maintenance")
+@ApiModel("璁惧淇濆吇璁板綍")
+public class DeviceMaintenance {
+
+    @ApiModelProperty("璁惧淇濆吇id")
+    private Long id;
+
+    @ApiModelProperty("璁惧鍙拌处id")
+    private String deviceLedgerId;
+
+    @ApiModelProperty("璁″垝淇濆吇鏃ユ湡")
+    private Date maintenancePlanTime;
+
+    @ApiModelProperty("瀹為檯淇濆吇浜�")
+    private String maintenanceActuallyName;
+
+    @ApiModelProperty("瀹為檯淇濆吇鏃ユ湡")
+    private Date maintenanceActuallyTime;
+
+    @ApiModelProperty("淇濆吇缁撴灉 0 缁翠慨 1 瀹屽ソ")
+    private Integer maintenanceResult;
+
+    @ApiModelProperty("鐘舵�� 0 寰呬繚鍏� 1 瀹岀粨")
+    private Integer status;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty("鍒涘缓浜�")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ApiModelProperty("鏇存柊浜�")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty("绉熸埛id")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java b/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
index 6e5234e..b493cd4 100644
--- a/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
@@ -3,12 +3,15 @@
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import nonapi.io.github.classgraph.json.Id;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
 
@@ -45,19 +48,23 @@
 
     @ApiModelProperty("鍒涘缓鏃堕棿")
     @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
     @ApiModelProperty("鏇存柊鏃堕棿")
-    @TableField(fill = FieldFill.UPDATE)
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateTime;
 
     @ApiModelProperty("鍒涘缓浜�")
     @TableField(fill = FieldFill.INSERT)
-    private String createUser;
+    private Integer createUser;
 
     @ApiModelProperty("鏇存柊浜�")
-    @TableField(fill = FieldFill.UPDATE)
-    private String updateUser;
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
 
     @ApiModelProperty("绉熸埛id")
     @TableField(fill = FieldFill.INSERT)
diff --git a/src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java b/src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java
index 78cf436..e056a85 100644
--- a/src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java
+++ b/src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.device.dto.DeviceLedgerDto;
 import com.ruoyi.device.pojo.DeviceLedger;
 import com.ruoyi.framework.web.domain.AjaxResult;
 
@@ -10,7 +11,7 @@
 import java.util.ArrayList;
 
 public interface IDeviceLedgerService  extends IService<DeviceLedger> {
-    IPage<DeviceLedger> queryPage(Page page, DeviceLedger deviceLedger);
+    IPage<DeviceLedgerDto> queryPage(Page page, DeviceLedgerDto deviceLedger);
 
     AjaxResult saveDeviceLedger(DeviceLedger deviceLedger);
 
diff --git a/src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java b/src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java
new file mode 100644
index 0000000..ff595e5
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/service/IDeviceMaintenanceService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.device.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.device.dto.DeviceMaintenanceDto;
+import com.ruoyi.device.pojo.DeviceMaintenance;
+import com.ruoyi.framework.web.domain.AjaxResult;
+
+import javax.servlet.http.HttpServletResponse;
+
+public interface IDeviceMaintenanceService extends IService<DeviceMaintenance> {
+
+    IPage<DeviceMaintenanceDto> queryPage(Page page, DeviceMaintenanceDto deviceMaintenanceDto);
+
+    AjaxResult saveDeviceRepair(DeviceMaintenance deviceMaintenance);
+
+    AjaxResult updateDeviceRepair(DeviceMaintenance deviceMaintenance);
+
+    void export(HttpServletResponse response, Long[] ids);
+
+}
diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
index ee8d002..006ed90 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -5,11 +5,13 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.device.dto.DeviceLedgerExeclDto;
+import com.ruoyi.device.dto.DeviceLedgerDto;
+import com.ruoyi.device.execl.DeviceLedgerExeclDto;
 import com.ruoyi.device.mapper.DeviceLedgerMapper;
 import com.ruoyi.device.pojo.DeviceLedger;
 import com.ruoyi.device.service.IDeviceLedgerService;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.project.system.mapper.SysUserMapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,9 +29,11 @@
 
     @Autowired
     private DeviceLedgerMapper deviceLedgerMapper;
+    @Autowired
+    private SysUserMapper sysUserMapper;
 
     @Override
-    public IPage<DeviceLedger> queryPage(Page page, DeviceLedger deviceLedger) {
+    public IPage<DeviceLedgerDto> queryPage(Page page, DeviceLedgerDto deviceLedger) {
 
         return deviceLedgerMapper.queryPage(page, deviceLedger);
     }
@@ -53,18 +57,35 @@
 
     @Override
     public void export(HttpServletResponse response, Long[] ids) {
-        ArrayList<Long> arrayList = new ArrayList<>();
-        Arrays.stream(ids).map(id -> {
-            return arrayList.add( id);
-        });
-        List<DeviceLedger> supplierManageList = deviceLedgerMapper.selectBatchIds(arrayList);
-        ArrayList<DeviceLedgerExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
-        supplierManageList.stream().forEach(deviceLedger -> {
-            DeviceLedgerExeclDto deviceLedgerExeclDto = new DeviceLedgerExeclDto();
-            BeanUtils.copyProperties(deviceLedger,deviceLedgerExeclDto);
-            deviceLedgerExeclDtos.add(deviceLedgerExeclDto);
-        });
-        ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
-        util.exportExcel(response, deviceLedgerExeclDtos, "璁惧鍙拌处瀵煎嚭");
+
+        if (ids == null || ids.length == 0) {
+            List<DeviceLedger> supplierManageList = this.list();
+
+            ArrayList<DeviceLedgerExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
+            supplierManageList.stream().forEach(deviceLedger -> {
+                DeviceLedgerExeclDto deviceLedgerExeclDto = new DeviceLedgerExeclDto();
+                BeanUtils.copyProperties(deviceLedger,deviceLedgerExeclDto);
+                deviceLedgerExeclDto.setCreateUser(sysUserMapper.selectUserById(Long.valueOf(deviceLedger.getCreateUser().toString())).getUserName());
+                deviceLedgerExeclDtos.add(deviceLedgerExeclDto);
+            });
+            ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
+            util.exportExcel(response, deviceLedgerExeclDtos, "璁惧鍙拌处瀵煎嚭");
+        }else  {
+            ArrayList<Long> arrayList = new ArrayList<>();
+            Arrays.stream(ids).map(id -> {
+                return arrayList.add( id);
+            });
+            List<DeviceLedger> supplierManageList = deviceLedgerMapper.selectBatchIds(arrayList);
+            ArrayList<DeviceLedgerExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
+            supplierManageList.stream().forEach(deviceLedger -> {
+                DeviceLedgerExeclDto deviceLedgerExeclDto = new DeviceLedgerExeclDto();
+                BeanUtils.copyProperties(deviceLedger,deviceLedgerExeclDto);
+                deviceLedgerExeclDto.setCreateUser(sysUserMapper.selectUserById(Long.valueOf(deviceLedger.getCreateUser().toString())).getUserName());
+                deviceLedgerExeclDtos.add(deviceLedgerExeclDto);
+            });
+            ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
+            util.exportExcel(response, deviceLedgerExeclDtos, "璁惧鍙拌处瀵煎嚭");
+        }
+
     }
 }
diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
new file mode 100644
index 0000000..4a92286
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceServiceImpl.java
@@ -0,0 +1,74 @@
+package com.ruoyi.device.service.impl;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.device.dto.DeviceMaintenanceDto;
+import com.ruoyi.device.execl.DeviceMaintenanceExeclDto;
+import com.ruoyi.device.mapper.DeviceMaintenanceMapper;
+import com.ruoyi.device.pojo.DeviceMaintenance;
+import com.ruoyi.device.service.IDeviceMaintenanceService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+
+@Service
+public class DeviceMaintenanceServiceImpl extends ServiceImpl<DeviceMaintenanceMapper, DeviceMaintenance> implements IDeviceMaintenanceService {
+
+
+
+    @Autowired
+    private DeviceMaintenanceMapper deviceMaintenanceMapper;
+
+    @Override
+    public IPage<DeviceMaintenanceDto> queryPage(Page page, DeviceMaintenanceDto deviceMaintenanceDto) {
+
+        return deviceMaintenanceMapper.queryPage(page, deviceMaintenanceDto);
+    }
+
+    @Override
+    public AjaxResult saveDeviceRepair(DeviceMaintenance deviceRepair) {
+        boolean save = this.save(deviceRepair);
+        if (save){
+            return AjaxResult.success();
+        }
+        return AjaxResult.error();
+    }
+
+    @Override
+    public AjaxResult updateDeviceRepair(DeviceMaintenance deviceRepair) {
+        if (this.updateById(deviceRepair)) {
+            return AjaxResult.success();
+        }
+        return AjaxResult.error();
+    }
+
+    @Override
+    public void export(HttpServletResponse response, Long[] ids) {
+        ArrayList<Long> arrayList = new ArrayList<>();
+        Arrays.stream(ids).map(id -> {
+            return arrayList.add( id);
+        });
+        List<DeviceMaintenance> supplierManageList = deviceMaintenanceMapper.selectBatchIds(arrayList);
+        ArrayList<DeviceMaintenanceExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
+        supplierManageList.stream().forEach(deviceMaintenance -> {
+            DeviceMaintenanceExeclDto deviceRepairExeclDto = new DeviceMaintenanceExeclDto();
+            BeanUtils.copyProperties(deviceMaintenance,deviceRepairExeclDto);
+            deviceRepairExeclDto.setStatus(deviceMaintenance.getStatus() == 0 ? "寰呯淮淇�" : "瀹岀粨");
+            deviceRepairExeclDto.setMaintenanceResult(deviceMaintenance.getMaintenanceResult() == 0 ? "缁翠慨" : "瀹屽ソ");
+
+            deviceLedgerExeclDtos.add(deviceRepairExeclDto);
+        });
+        ExcelUtil<DeviceMaintenanceExeclDto> util = new ExcelUtil<DeviceMaintenanceExeclDto>(DeviceMaintenanceExeclDto.class);
+        util.exportExcel(response, deviceLedgerExeclDtos, "璁惧鎶ヤ慨瀵煎嚭");
+    }
+}
diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
index 4a0c662..707063b 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
@@ -3,7 +3,10 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.device.dto.DeviceRepairDto;
+import com.ruoyi.device.execl.DeviceRepairExeclDto;
 import com.ruoyi.device.mapper.DeviceRepairMapper;
 import com.ruoyi.device.pojo.DeviceRepair;
 import com.ruoyi.device.service.IDeviceRepairService;
@@ -14,6 +17,9 @@
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 @Service
 @AllArgsConstructor
@@ -49,6 +55,35 @@
 
     @Override
     public void export(HttpServletResponse response, Long[] ids) {
+        if (ids == null || ids.length == 0) {
+            List<DeviceRepair> supplierManageList = this.list();
+            ArrayList<DeviceRepairExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
+            supplierManageList.stream().forEach(deviceRepair -> {
+                DeviceRepairExeclDto deviceRepairExeclDto = new DeviceRepairExeclDto();
+                BeanUtils.copyProperties(deviceRepair,deviceRepairExeclDto);
+                deviceRepairExeclDto.setStatusStr(deviceRepair.getStatus() == 0 ? "寰呯淮淇�" : "瀹岀粨");
+
+                deviceLedgerExeclDtos.add(deviceRepairExeclDto);
+            });
+            ExcelUtil<DeviceRepairExeclDto> util = new ExcelUtil<DeviceRepairExeclDto>(DeviceRepairExeclDto.class);
+            util.exportExcel(response, deviceLedgerExeclDtos, "璁惧鎶ヤ慨瀵煎嚭");
+        }else {
+            ArrayList<Long> arrayList = new ArrayList<>();
+            Arrays.stream(ids).map(id -> {
+                return arrayList.add( id);
+            });
+            List<DeviceRepair> supplierManageList = deviceRepairMapper.selectBatchIds(arrayList);
+            ArrayList<DeviceRepairExeclDto> deviceLedgerExeclDtos = new ArrayList<>();
+            supplierManageList.stream().forEach(deviceRepair -> {
+                DeviceRepairExeclDto deviceRepairExeclDto = new DeviceRepairExeclDto();
+                BeanUtils.copyProperties(deviceRepair,deviceRepairExeclDto);
+                deviceRepairExeclDto.setStatusStr(deviceRepair.getStatus() == 0 ? "寰呯淮淇�" : "瀹岀粨");
+
+                deviceLedgerExeclDtos.add(deviceRepairExeclDto);
+            });
+            ExcelUtil<DeviceRepairExeclDto> util = new ExcelUtil<DeviceRepairExeclDto>(DeviceRepairExeclDto.class);
+            util.exportExcel(response, deviceLedgerExeclDtos, "璁惧鎶ヤ慨瀵煎嚭");
+        }
 
     }
 
diff --git a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
index ec9ce02..98b1105 100644
--- a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
@@ -104,18 +104,16 @@
 
     @ApiModelProperty("瀵煎嚭鍥炴鐧昏")
     @PostMapping("/export")
-    public void export(HttpServletResponse response, @RequestParam("ids") String idsStr) {
-        if (idsStr == null || idsStr.trim().isEmpty()) {
-            throw new RuntimeException("璇烽�夋嫨瑕佸鍑虹殑璁板綍");
+    public void export(HttpServletResponse response, String ids) {
+        if (ids == null || ids.isEmpty()) {
+            receiptPaymentService.exportPaymentList(response, null);
+        } else {
+            ArrayList<Long> idList = (ArrayList<Long>) Arrays.stream(ids.split(","))
+                    .map(s -> s.replaceAll("[\\[\\]]", "").trim())
+                    .map(Long::valueOf)
+                    .collect(Collectors.toList());
+            receiptPaymentService.exportPaymentList(response, idList);
         }
-
-        ArrayList<Long> ids = (ArrayList<Long>) Arrays.stream(idsStr.split(","))
-                .map(s -> s.replaceAll("[\\[\\]]", "").trim())
-                .map(Long::valueOf)
-                .collect(Collectors.toList());
-
-
-        receiptPaymentService.exportPaymentList(response, ids);
     }
 
 
diff --git a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
index ac590cf..e7b34ed 100644
--- a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
+++ b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
@@ -74,5 +74,7 @@
 
     List<ReceiptPaymentDto> bindInvoiceNoRegListAll();
 
-    List<ReceiptPaymentExeclDto> bindInvoiceNoRegListByIds(List<Long> ids);
+    List<ReceiptPaymentExeclDto> bindInvoiceNoRegListByIds(List<Long> ids,Long tenantId);
+
+
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
index 8f04726..fe9550b 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.sales.dto.CustomerInteractionDto;
 import com.ruoyi.sales.dto.InvoiceLedgerDto;
@@ -266,8 +267,15 @@
 
     @Override
     public void exportPaymentList(HttpServletResponse response, List<Long> ids) {
-        List<ReceiptPaymentExeclDto> receiptPaymentDtoList =  receiptPaymentMapper.bindInvoiceNoRegListByIds(ids);
-        ExcelUtil<ReceiptPaymentExeclDto> util = new ExcelUtil<ReceiptPaymentExeclDto>(ReceiptPaymentExeclDto.class);
-        util.exportExcel(response, receiptPaymentDtoList, "鍥炴鐧昏");
+        if (ids == null) {
+            List<ReceiptPaymentExeclDto> receiptPaymentDtoList =  receiptPaymentMapper.bindInvoiceNoRegListByIds(new ArrayList<>(), SecurityUtils.getLoginUser().getTenantId());
+            ExcelUtil<ReceiptPaymentExeclDto> util = new ExcelUtil<ReceiptPaymentExeclDto>(ReceiptPaymentExeclDto.class);
+            util.exportExcel(response, receiptPaymentDtoList, "鍥炴鐧昏");
+        }else {
+            List<ReceiptPaymentExeclDto> receiptPaymentDtoList =  receiptPaymentMapper.bindInvoiceNoRegListByIds(ids,SecurityUtils.getLoginUser().getTenantId());
+            ExcelUtil<ReceiptPaymentExeclDto> util = new ExcelUtil<ReceiptPaymentExeclDto>(ReceiptPaymentExeclDto.class);
+            util.exportExcel(response, receiptPaymentDtoList, "鍥炴鐧昏");
+        }
+
     }
 }
diff --git a/src/main/resources/mapper/device/DeviceLedgerMapper.xml b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
index 43b7472..588e518 100644
--- a/src/main/resources/mapper/device/DeviceLedgerMapper.xml
+++ b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
@@ -5,24 +5,25 @@
 
 <mapper namespace="com.ruoyi.device.mapper.DeviceLedgerMapper">
 
-    <select id="queryPage" resultType="com.ruoyi.device.pojo.DeviceLedger">
+    <select id="queryPage" resultType="com.ruoyi.device.dto.DeviceLedgerDto">
         SELECT
-        id,
-        device_name AS deviceName,
-        device_model AS deviceModel,
-        supplier_name AS supplierName,
-        unit,
-        number,
-        tax_including_price_unit AS taxIncludingPriceUnit,
-        tax_including_price_total AS taxIncludingPriceTotal,
-        tax_rate AS taxRate,
-        un_tax_including_price_total AS unTaxIncludingPriceTotal,
-        create_time AS createTime,
-        update_time AS updateTime,
-        create_user AS createUser,
-        update_user AS updateUser,
-        tenant_id AS tenantId
-        FROM device_ledger
+        dl.id,
+        dl.device_name,
+        dl.device_model,
+        dl.supplier_name,
+        dl.unit,
+        dl.number,
+        dl.tax_including_price_unit,
+        dl.tax_including_price_total,
+        dl.tax_rate,
+        dl.un_tax_including_price_total,
+        dl.create_time,
+        dl.update_time ,
+        su.user_name AS createUser,
+        dl.update_user,
+        dl.tenant_id
+        FROM device_ledger dl
+        left join  sys_user  su on dl.create_user = su.user_id
         <where>
             <!-- 璁惧鍚嶇О -->
             <if test="deviceLedger.deviceName != null and deviceLedger.deviceName != ''">
@@ -61,7 +62,7 @@
         </where>
         ORDER BY create_time DESC
     </select>
-    <select id="deviceLedgerExportList" resultType="com.ruoyi.device.dto.DeviceLedgerExeclDto">
+    <select id="deviceLedgerExportList" resultType="com.ruoyi.device.execl.DeviceLedgerExeclDto">
 
     </select>
 
diff --git a/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml b/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml
new file mode 100644
index 0000000..9072d29
--- /dev/null
+++ b/src/main/resources/mapper/device/DeviceMaintenanceMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.ruoyi.device.mapper.DeviceMaintenanceMapper">
+
+    <select id="queryPage" resultType="com.ruoyi.device.dto.DeviceMaintenanceDto">
+        select dm.*,
+               dl.device_name,
+               dl.device_model
+        from device_maintenance dm
+        left join device_ledger dl on dm.device_ledger_id = dl.id
+        <where>
+            <if test="deviceRepairDto.deviceName != null">
+                and dl.device_name like concat('%',#{deviceRepairDto.deviceName},'%')
+            </if>
+            <if test="deviceRepairDto.deviceModel != null">
+                and dl.device_model like concat('%',#{deviceRepairDto.deviceModel},'%')
+            </if>
+        </where>
+    </select>
+
+</mapper>
diff --git a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
index 0f2bc4c..26ef5f8 100644
--- a/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
+++ b/src/main/resources/mapper/sales/ReceiptPaymentMapper.xml
@@ -370,43 +370,51 @@
     </select>
     <select id="bindInvoiceNoRegListByIds" resultType="com.ruoyi.sales.dto.ReceiptPaymentExeclDto">
         SELECT
-            T1.id ,
-            T1.invoice_no ,
-            T1.invoice_total ,
-            T3.project_name,
-            T1.invoice_person ,
-            T1.invoice_date ,
-            T1.create_time ,
-            T1.create_user ,
-            T1.update_time ,
-            T1.update_user ,
-            T1.tenant_id ,
-            T2.tax_rate,
-            T3.sales_contract_no,
-            T3.customer_contract_no,
-            T3.customer_name,
-            T4.invoiceFileName,
-            T5.product_category,
-            IFNULL(T6.receipt_payment_amount_total ,0) AS receipt_payment_amount_total,
-            (T1.invoice_total - IFNULL(T6.receipt_payment_amount_total ,0)) AS no_receipt_amount
+        T1.id ,
+        T1.invoice_no ,
+        T1.invoice_total ,
+        T3.project_name,
+        T1.invoice_person ,
+        T1.invoice_date ,
+        T1.create_time ,
+        T1.create_user ,
+        T1.update_time ,
+        T1.update_user ,
+        T1.tenant_id ,
+        T2.tax_rate,
+        T3.sales_contract_no,
+        T3.customer_contract_no,
+        T3.customer_name,
+        T4.invoiceFileName,
+        T5.product_category,
+        IFNULL(T6.receipt_payment_amount_total ,0) AS receipt_payment_amount_total,
+        (T1.invoice_total - IFNULL(T6.receipt_payment_amount_total ,0)) AS no_receipt_amount
         FROM invoice_ledger T1
-                 LEFT JOIN invoice_registration_product T2 ON T2.id = T1.invoice_registration_product_id
-                 LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_id
-                 LEFT JOIN (
-            SELECT
-                invoice_ledger_id,
-                GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
-            FROM invoice_ledger_file GROUP BY invoice_ledger_id
+        LEFT JOIN invoice_registration_product T2 ON T2.id = T1.invoice_registration_product_id
+        LEFT JOIN sales_ledger T3 ON T3.id = T2.sales_ledger_id
+        LEFT JOIN (
+        SELECT
+        invoice_ledger_id,
+        GROUP_CONCAT( name ORDER BY id ASC SEPARATOR ' | ') AS invoiceFileName
+        FROM invoice_ledger_file GROUP BY invoice_ledger_id
         ) T4 ON T4.invoice_ledger_id = T1.id
-                 LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id
-                 LEFT JOIN (
-            SELECT SUM(receipt_payment_amount) AS receipt_payment_amount_total,invoice_ledger_id FROM receipt_payment GROUP
-                BY invoice_ledger_id
+        LEFT JOIN sales_ledger_product T5 ON T2.sales_ledger_product_id = T5.id
+        LEFT JOIN (
+        SELECT SUM(receipt_payment_amount) AS receipt_payment_amount_total,invoice_ledger_id FROM receipt_payment GROUP
+        BY invoice_ledger_id
         ) T6 ON T1.id = T6.invoice_ledger_id
-        WHERE T1.id IN
-        <foreach item="item" collection="ids" separator="," open="(" close=")">
-            #{item}
-        </foreach>
+        <where>
+        <if test="ids.size() > 0">
+            T1.id IN
+            <foreach item="item" collection="ids" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="tenantId != null " >
+            AND T1.tenant_id = #{tenantId}
+        </if>
+        </where>
+
     </select>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3