From fb1c355f7b38d493816b4cf94a20060887c524a0 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期日, 29 九月 2024 10:25:42 +0800
Subject: [PATCH] 设备状态特性

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java             |    2 
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DeviceMapper.java              |    5 ++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceServiceImpl.java           |    9 ++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DeviceController.java   |   11 +++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java            |    6 ++-
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceRespVO.java    |   10 +---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceService.java               |    7 +++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevicePageReqVO.java |    7 +--
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceSaveReqVO.java |    4 +-
 9 files changed, 44 insertions(+), 17 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DeviceController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DeviceController.java
index f06700f..9e70728 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DeviceController.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DeviceController.java
@@ -7,6 +7,7 @@
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Operation;
 
+import java.time.LocalDate;
 import java.util.*;
 import java.io.IOException;
 
@@ -80,6 +81,16 @@
         return success(BeanUtils.toBean(device, DeviceRespVO.class));
     }
 
+    @PostMapping("/update-dev-state")
+    @Operation(summary = "鏇存柊璁惧鐘舵��")
+    @Parameter(name = "devId", description = "缂栧彿", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('ecg:doctor:task')")
+    public CommonResult<Integer> updateDeviceState(@Valid @RequestBody DeviceSaveReqVO updateReqVO) {
+        updateReqVO.setStateDate( LocalDate.now() );
+        Integer ret =  deviceService.updateDeviceState(updateReqVO);
+        return success(ret);
+    }
+
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱璁惧鍒嗛〉")
     @PreAuthorize("@ss.hasPermission('ecg:device:query')")
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevicePageReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevicePageReqVO.java
index d70f024..5f22afd 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevicePageReqVO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DevicePageReqVO.java
@@ -37,12 +37,9 @@
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
-    @Schema(description = "閬楀け")
-    private Integer lost;
-
-    @Schema(description = "閬楀け鏃ユ湡")
+    @Schema(description = "鐘舵�佹棩鏈�")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private LocalDate loseDate[];
+    private LocalDate stateDate[];
 
     /**
      * 0 - 绌洪棽 10 - 浣跨敤涓� 20 - 宸查仐澶�
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceRespVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceRespVO.java
index 70235e7..8c72b3a 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceRespVO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceRespVO.java
@@ -42,13 +42,9 @@
     @ExcelProperty("鍒涘缓鏃堕棿")
     private LocalDateTime createTime;
 
-    @Schema(description = "閬楀け")
-    @ExcelProperty("鏄惁閬楀け")
-    private Integer lost;
-
-    @Schema(description = "閬楀け鏃ユ湡")
-    @ExcelProperty("閬楀け鏃ユ湡")
-    private LocalDate loseDate;
+    @Schema(description = "鐘舵�佹棩鏈�")
+    @ExcelProperty("鐘舵�佹棩鏈�")
+    private LocalDate stateDate;
 
     /**
      * 0 - 绌洪棽 10 - 浣跨敤涓� 20 - 宸查仐澶�
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceSaveReqVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceSaveReqVO.java
index da52530..ffd62fa 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceSaveReqVO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/DeviceSaveReqVO.java
@@ -34,8 +34,8 @@
     @Schema(description = "閲囪喘鏃ユ湡")
     private LocalDate purchaseDate;
 
-    @Schema(description = "閬楀け鏍囪")
-    private Integer lost;
+    @Schema(description = "鐘舵�佹棩鏈�")
+    private LocalDate stateDate;
 
     /**
      * 0 - 绌洪棽 10 - 浣跨敤涓� 20 - 宸查仐澶�
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java
index fa7ab6a..1dfce85 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/dataobject/devmanage/DeviceDO.java
@@ -54,7 +54,7 @@
      * 閬楀け鏃ユ湡
      */
     @TableField(updateStrategy = FieldStrategy.ALWAYS)
-    private LocalDate loseDate;
+    private LocalDate stateDate;
 
     /**
      * 0 - 绌洪棽 10 - 浣跨敤涓� 20 - 宸查仐澶�
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DeviceMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DeviceMapper.java
index b7434bd..2f09bae 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DeviceMapper.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DeviceMapper.java
@@ -1,5 +1,6 @@
 package cn.lihu.jh.module.ecg.dal.mysql.devmanage;
 
+import java.time.LocalDate;
 import java.util.*;
 
 import cn.lihu.jh.framework.common.pojo.PageResult;
@@ -10,6 +11,7 @@
 import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 
 /**
  * 璁惧 Mapper
@@ -33,4 +35,7 @@
     @Select("select * from lihu.device where dev_id=#{devId}")
     DeviceDO getDeviceByDevId(@Param("devId") String devId);
 
+    @Update("update lihu.device set state=#{state}, state_date=#{stateDate} where dev_id=#{devId}")
+    Integer updateDevState(@Param("devId") String devId, @Param("state") Integer state, @Param("stateDate") LocalDate stateDate);
+
 }
\ No newline at end of file
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceService.java
index f36fcdc..17eca34 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceService.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceService.java
@@ -31,6 +31,13 @@
     void updateDevice(@Valid DeviceSaveReqVO updateReqVO);
 
     /**
+     * 鏇存柊璁惧鐘舵��
+     *
+     * @param updateReqVO 鏇存柊淇℃伅
+     */
+    Integer updateDeviceState(@Valid DeviceSaveReqVO updateReqVO);
+
+    /**
      * 鍒犻櫎璁惧
      *
      * @param id 缂栧彿
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceServiceImpl.java
index 53c37c1..97fcbdc 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DeviceServiceImpl.java
@@ -49,6 +49,15 @@
     }
 
     @Override
+    public Integer updateDeviceState(DeviceSaveReqVO updateReqVO) {
+        // 鏍¢獙瀛樺湪
+        validateDeviceExists(updateReqVO.getId());
+        // 鏇存柊
+        DeviceDO updateObj = BeanUtils.toBean(updateReqVO, DeviceDO.class);
+        return deviceMapper.updateDevState(updateObj.getDevId(), updateObj.getState(), updateObj.getStateDate());
+    }
+
+    @Override
     public void deleteDevice(Integer id) {
         // 鏍¢獙瀛樺湪
         validateDeviceExists(id);
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
index a0aa589..c6485dd 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -421,6 +421,7 @@
         DeviceDO deviveDO = deviceMapper.getDeviceByDevId(devId);
         if (null != deviveDO && deviveDO.getState() == DevStateEnum.FREE.getState()) {
             deviveDO.setState( DevStateEnum.RECEIVED.getState() );
+            deviveDO.setStateDate( LocalDate.now() );
             return deviceMapper.updateById(deviveDO);
         }
 
@@ -432,6 +433,7 @@
         DeviceDO deviveDO = deviceMapper.getDeviceByDevId(devId);
         if (null != deviveDO && deviveDO.getState() == DevStateEnum.RECEIVED.getState()) {
             deviveDO.setState( DevStateEnum.INUSE.getState() );
+            deviveDO.setStateDate( LocalDate.now() );
             return deviceMapper.updateById(deviveDO);
         }
 
@@ -443,7 +445,7 @@
         DeviceDO deviveDO = deviceMapper.getDeviceByDevId(devId);
         if (null != deviveDO) {
             deviveDO.setState( DevStateEnum.LOST.getState() );
-            deviveDO.setLoseDate( localDate ); // createReqVO.getReturnTime().toLocalDate()
+            deviveDO.setStateDate( localDate );
             return deviceMapper.updateById(deviveDO);
         }
 
@@ -455,7 +457,7 @@
         DeviceDO deviveDO = deviceMapper.getDeviceByDevId( devId );
         if (null != deviveDO) {
             deviveDO.setState( DevStateEnum.FREE.getState() );
-            deviveDO.setLoseDate( null );
+            deviveDO.setStateDate( LocalDate.now() );
             return deviceMapper.updateById(deviveDO);
         }
         

--
Gitblit v1.9.3