From bf92790ad1941d52fbb22585119df06b941a1aff Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 23 六月 2025 15:00:29 +0800
Subject: [PATCH] 2025-06-23 设备报修接口

---
 src/main/java/com/ruoyi/device/controller/DeviceRepairController.java    |   66 +++++++++++++
 src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java |   55 +++++++++++
 src/main/resources/mapper/device/DeviceRepairMapper.xml                  |   24 ++++
 src/main/java/com/ruoyi/device/pojo/DeviceRepair.java                    |   29 ++---
 src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java                  |   70 ++++++++++++++
 src/main/java/com/ruoyi/device/mapper/DeviceRepairMapper.java            |   14 ++
 6 files changed, 243 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
new file mode 100644
index 0000000..9dd898a
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/controller/DeviceRepairController.java
@@ -0,0 +1,66 @@
+package com.ruoyi.device.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.device.dto.DeviceRepairDto;
+import com.ruoyi.device.pojo.DeviceLedger;
+import com.ruoyi.device.pojo.DeviceRepair;
+import com.ruoyi.device.service.IDeviceLedgerService;
+import com.ruoyi.device.service.IDeviceRepairService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+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;
+
+@Api(tags = "璁惧鎶ヤ慨绠$悊")
+@RequestMapping("/device/reppair")
+@RestController
+public class DeviceRepairController {
+
+    @Autowired
+    private IDeviceRepairService deviceRepairService;
+
+    @ApiModelProperty("璁惧鎶ヤ慨鍒楄〃")
+    @GetMapping("/page")
+    public AjaxResult page(Page page , DeviceRepairDto deviceRepairDto) {
+        return AjaxResult.success(deviceRepairService.queryPage(page,deviceRepairDto));
+    }
+
+    @PostMapping()
+    @ApiModelProperty("娣诲姞璁惧鎶ヤ慨")
+    public AjaxResult add(DeviceRepair deviceRepair) {
+        return deviceRepairService.saveDeviceRepair(deviceRepair);
+    }
+
+    @ApiModelProperty("鏍规嵁id鏌ヨ璁惧鎶ヤ慨")
+    @GetMapping("/{id}")
+    public AjaxResult detail(@PathVariable Long id) {
+        return AjaxResult.success(deviceRepairService.getById(id));
+    }
+
+    @PutMapping ()
+    @ApiModelProperty("淇敼璁惧鎶ヤ慨")
+    public AjaxResult update(DeviceRepair deviceRepair) {
+        return deviceRepairService.updateDeviceRepair(deviceRepair);
+    }
+
+    @DeleteMapping("/{id}")
+    @ApiModelProperty("鍒犻櫎璁惧鎶ヤ慨")
+    public AjaxResult delete(@PathVariable ArrayList<Long> ids) {
+        boolean b = deviceRepairService.removeBatchByIds(ids);
+        if (!b) {
+            return AjaxResult.error("鍒犻櫎澶辫触");
+        }
+        return AjaxResult.success();
+    }
+
+    @PostMapping("export")
+    @ApiModelProperty("瀵煎嚭璁惧鎶ヤ慨")
+    public void export(HttpServletResponse response, Long[] ids) {
+        deviceRepairService.export(response, ids);
+    }
+}
diff --git a/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java b/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
new file mode 100644
index 0000000..8df1411
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
@@ -0,0 +1,70 @@
+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.time.LocalDateTime;
+import java.util.Date;
+
+@Data
+public class DeviceRepairDto {
+
+    @ApiModelProperty("璁惧鎶ヤ慨id")
+    private Long id;
+
+    @ApiModelProperty("璁惧鍙拌处id")
+    private String deviceLedgerId;
+
+    @ApiModelProperty("璁惧鍚嶇О")
+    private String deviceName;
+
+    @ApiModelProperty("璁惧鍨嬪彿")
+    private String deviceModel;
+
+    @ApiModelProperty("鎶ヤ慨鏃堕棿")
+    private Date repairTime;
+
+    @ApiModelProperty("鎶ヤ慨浜�")
+    private String repairName;
+
+    @ApiModelProperty("鎶ヤ慨鍐呭")
+    private String remark;
+
+    @ApiModelProperty("缁翠慨浜�")
+    private String maintenanceName;
+
+    @ApiModelProperty("缁翠慨鏃堕棿")
+    private Date maintenanceTime;
+
+    @ApiModelProperty("缁翠慨缁撴灉")
+    private String maintenanceResult;
+
+    @ApiModelProperty("鐘舵��")
+    private Integer status;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("鏇存柊鏃堕棿")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime 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/mapper/DeviceRepairMapper.java b/src/main/java/com/ruoyi/device/mapper/DeviceRepairMapper.java
new file mode 100644
index 0000000..5b1da18
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/mapper/DeviceRepairMapper.java
@@ -0,0 +1,14 @@
+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.DeviceRepairDto;
+import com.ruoyi.device.pojo.DeviceRepair;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface DeviceRepairMapper extends BaseMapper<DeviceRepair> {
+    IPage<DeviceRepairDto> queryPage(Page page, @Param("deviceRepairDto") DeviceRepairDto deviceRepairDto);
+}
diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java b/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
index 3d68c65..6e5234e 100644
--- a/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
@@ -16,53 +16,52 @@
 @TableName("device_repair")
 public class DeviceRepair {
 
+    @ApiModelProperty("璁惧鎶ヤ慨id")
     private Long id;
 
-    @TableField(value = "device_ledger_id")
     @ApiModelProperty("璁惧鍙拌处id")
     private String deviceLedgerId;
 
-    @TableField(value = "repair_time")
-    @ApiModelProperty("缁翠慨鏃堕棿")
+    @ApiModelProperty("鎶ヤ慨鏃堕棿")
     private Date repairTime;
 
-    @TableField(value = "repair_name")
-    @ApiModelProperty("缁翠慨浜�")
+    @ApiModelProperty("鎶ヤ慨浜�")
     private String repairName;
 
-    @TableField(value = "remark")
-    @ApiModelProperty("澶囨敞")
+    @ApiModelProperty("鎶ヤ慨鍐呭")
     private String remark;
 
-    @TableField(value = "maintenance_name")
     @ApiModelProperty("缁翠慨浜�")
     private String maintenanceName;
 
-    @TableField(value = "maintenance_time")
     @ApiModelProperty("缁翠慨鏃堕棿")
-    private LocalDateTime maintenanceTime;
+    private Date maintenanceTime;
 
-    @TableField(value = "maintenance_result")
     @ApiModelProperty("缁翠慨缁撴灉")
     private String maintenanceResult;
 
-    @ApiModelProperty("鐘舵��")
+    @ApiModelProperty("鐘舵�� 0 寰呯淮淇� 1瀹岀粨")
     private Integer status;
 
-    @TableField(value = "create_time" ,fill = FieldFill.INSERT)
     @ApiModelProperty("鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
     private LocalDateTime createTime;
 
-    @ApiModelProperty("淇敼鏃堕棿")
+    @ApiModelProperty("鏇存柊鏃堕棿")
+    @TableField(fill = FieldFill.UPDATE)
     private LocalDateTime updateTime;
 
     @ApiModelProperty("鍒涘缓浜�")
+    @TableField(fill = FieldFill.INSERT)
     private String createUser;
 
-    @ApiModelProperty("淇敼浜�")
+    @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/service/impl/DeviceRepairServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
new file mode 100644
index 0000000..4a0c662
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
@@ -0,0 +1,55 @@
+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.device.dto.DeviceRepairDto;
+import com.ruoyi.device.mapper.DeviceRepairMapper;
+import com.ruoyi.device.pojo.DeviceRepair;
+import com.ruoyi.device.service.IDeviceRepairService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+
+@Service
+@AllArgsConstructor
+@Slf4j
+public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, DeviceRepair> implements IDeviceRepairService {
+
+
+    @Autowired
+    private DeviceRepairMapper deviceRepairMapper;
+
+    @Override
+    public IPage<DeviceRepairDto> queryPage(Page page, DeviceRepairDto deviceRepairDto) {
+
+        return deviceRepairMapper.queryPage(page, deviceRepairDto);
+    }
+
+    @Override
+    public AjaxResult saveDeviceRepair(DeviceRepair deviceRepair) {
+        boolean save = this.save(deviceRepair);
+        if (save){
+            return AjaxResult.success();
+        }
+        return AjaxResult.error();
+    }
+
+    @Override
+    public AjaxResult updateDeviceRepair(DeviceRepair deviceRepair) {
+        if (this.updateById(deviceRepair)) {
+            return AjaxResult.success();
+        }
+        return AjaxResult.error();
+    }
+
+    @Override
+    public void export(HttpServletResponse response, Long[] ids) {
+
+    }
+
+}
diff --git a/src/main/resources/mapper/device/DeviceRepairMapper.xml b/src/main/resources/mapper/device/DeviceRepairMapper.xml
new file mode 100644
index 0000000..0dd7b3a
--- /dev/null
+++ b/src/main/resources/mapper/device/DeviceRepairMapper.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.DeviceRepairMapper">
+
+    <select id="queryPage" resultType="com.ruoyi.device.dto.DeviceRepairDto">
+        select dr.*,
+               dl.device_name,
+               dl.device_model
+        from device_repair dr
+        left join device_ledger dl on dr.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>

--
Gitblit v1.9.3