From 6d0410c352afeceed069f8eb5f5b6b074fdc4814 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期一, 31 三月 2025 16:44:40 +0800
Subject: [PATCH] 设备维保 设备租赁先
---
platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml | 18 +
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceScrap.java | 48 ++++
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java | 2
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java | 9
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java | 7
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryDetailVo.java | 29 ++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java | 132 ++++++++++++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceScrapService.java | 10
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceScrapMapper.java | 11 +
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceRepair.java | 53 ++++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java | 20 +
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceRepairMapper.java | 11 +
platformx-device-biz/src/main/resources/mapper/DeviceScrapMapper.xml | 21 +
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceInventoryMapper.java | 3
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceRepairService.java | 12 +
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java | 45 ++++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java | 36 +++
platformx-device-biz/src/main/resources/mapper/DeviceRepairMapper.xml | 22 ++
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java | 6
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java | 145 +++++++++++++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java | 2
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java | 1
22 files changed, 641 insertions(+), 2 deletions(-)
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java
index e862309..6ded1eb 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceInventory.java
@@ -45,6 +45,10 @@
private Integer source;
@Schema(description = "搴撳瓨鐘舵��")
- @Column(columnDefinition="int comment '搴撳瓨鐘舵�� 1 鍙敤 2 绉熻祦涓� 3 鍐荤粨 4 鎶ュ簾'")
+ @Column(columnDefinition="int comment '搴撳瓨鐘舵�� 1 鍙敤 2 绉熻祦涓� 3 缁翠慨涓� 4 鎶ュ簾'")
private Integer inventoryStatus;
+
+ @Schema(description = "鍏宠仈鍙拌处鏄庣粏ID")
+ @Column(columnDefinition="bigint comment '鍏宠仈鍙拌处鏄庣粏ID'")
+ private Long ledgerItemId;
}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java
index e2ba23c..f676182 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceLeasingLedger.java
@@ -93,7 +93,7 @@
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Schema(description = "鍑虹鏃ユ湡")
- @Column(columnDefinition="datetime comment '鍒拌揣楠屾敹鏃ユ湡'")
+ @Column(columnDefinition="datetime comment '鍑虹鏃ユ湡'")
private Date deliveryDate;
}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceRepair.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceRepair.java
new file mode 100644
index 0000000..de9b0fb
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceRepair.java
@@ -0,0 +1,53 @@
+package com.by4cloud.platformx.device.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.hibernate.annotations.Table;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import java.util.Date;
+
+@Data
+@Entity
+@TableName("device_repair")
+@javax.persistence.Table(name = "device_repair")
+@Table(appliesTo = "device_repair", comment = "璁惧缁翠慨")
+public class DeviceRepair extends BaseModel<DeviceRepair> {
+
+ @Schema(description = "璁惧ID")
+ @Column(columnDefinition="long comment '璁惧ID'")
+ private Long deviceId;
+
+ @Schema(description = "璁惧搴撳瓨ID")
+ @Column(columnDefinition="long comment '璁惧搴撳瓨ID'")
+ private Long inventoryId;
+
+ @Schema(description = "璁惧搴忓垪鍙�")
+ @Column(columnDefinition="VARCHAR(64) comment '搴忓垪鍙�'")
+ private String serialNo;
+
+ @Schema(description = "璁惧缂栫爜")
+ @Column(columnDefinition="VARCHAR(64) comment '璁惧缂栫爜'")
+ private String deviceCode;
+
+ @Schema(description = "璁惧缁翠慨鐘舵��")
+ @Column(columnDefinition="int comment '璁惧缁翠慨鐘舵�� 1 寰呭鎵� 2 缁翠慨涓� 3 瀹屾垚'")
+ private Integer status;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Schema(description = "缁翠慨寮�濮嬫棩鏈�")
+ @Column(columnDefinition = "datetime comment '缁翠慨寮�濮嬫棩鏈�'")
+ private Date repairStartDate;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Schema(description = "缁翠慨缁撴潫鏃ユ湡")
+ @Column(columnDefinition = "datetime comment '缁翠慨缁撴潫鏃ユ湡'")
+ private Date repairEndDate;
+}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceScrap.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceScrap.java
new file mode 100644
index 0000000..dda46cb
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceScrap.java
@@ -0,0 +1,48 @@
+package com.by4cloud.platformx.device.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.hibernate.annotations.Table;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import java.util.Date;
+
+@Data
+@Entity
+@TableName("device_scrap")
+@javax.persistence.Table(name = "device_scrap")
+@Table(appliesTo = "device_scrap", comment = "璁惧鎶ュ簾")
+public class DeviceScrap extends BaseModel<DeviceScrap> {
+
+ @Schema(description = "璁惧ID")
+ @Column(columnDefinition="long comment '璁惧ID'")
+ private Long deviceId;
+
+ @Schema(description = "璁惧缂栫爜")
+ @Column(columnDefinition="VARCHAR(64) comment '璁惧缂栫爜'")
+ private String deviceCode;
+
+ @Schema(description = "璁惧搴撳瓨ID")
+ @Column(columnDefinition="long comment '璁惧搴撳瓨ID'")
+ private Long inventoryId;
+
+ @Schema(description = "璁惧搴忓垪鍙�")
+ @Column(columnDefinition="VARCHAR(64) comment '搴忓垪鍙�'")
+ private String serialNo;
+
+ @Schema(description = "璁惧鎶ュ簾鐘舵��")
+ @Column(columnDefinition="int comment '璁惧鎶ュ簾鐘舵�� 1 寰呭鎵� 2 瀹屾垚'")
+ private Integer status;
+
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Schema(description = "鎶ュ簾鏃ユ湡")
+ @Column(columnDefinition = "datetime comment '鎶ュ簾鏃ユ湡'")
+ private Date scrapDate;
+
+}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryDetailVo.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryDetailVo.java
new file mode 100644
index 0000000..371f3f4
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/vo/InventoryDetailVo.java
@@ -0,0 +1,29 @@
+package com.by4cloud.platformx.device.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@Schema(description = "璁惧搴撳瓨璇︽儏")
+public class InventoryDetailVo {
+
+ @Schema(description = "鍚堝悓鍚嶇О")
+ private String contractName;
+
+ @Schema(description = "绉熻祦鏂�")
+ private String partyb;
+
+ @Schema(description = "璁惧缂栧彿")
+ private String deviceNumber;
+
+ @Schema(description = "璁惧搴忓垪鍙�")
+ private String serialNo;
+
+ @Schema(description = "鍑虹鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date deliveryDate;
+
+}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java
index 80e083d..3f4dadc 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceController.java
@@ -212,4 +212,13 @@
public List<Device> export(Device device,Long[] ids) {
return deviceService.list(Wrappers.lambdaQuery(device).in(ArrayUtil.isNotEmpty(ids), Device::getId, ids));
}
+
+ /**
+ * 鎵�鏈夎澶囦笅鎷�
+ * @return
+ */
+ @GetMapping("/getDropdowmList" )
+ public R getDeviceList() {
+ return R.ok(deviceService.list());
+ }
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java
index 3268151..9c25d1a 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java
@@ -145,4 +145,24 @@
public List<DeviceInventory> export(DeviceInventory deviceInventory,Long[] ids) {
return deviceInventoryService.list(Wrappers.lambdaQuery(deviceInventory).in(ArrayUtil.isNotEmpty(ids), DeviceInventory::getId, ids));
}
+
+ /**
+ * 璁惧涓嬫墍鏈夊簭鍒楀彿涓嬫媺
+ * @return
+ */
+ @GetMapping("/getDropdowmList/{deviceId}" )
+ public R getDeviceList(@PathVariable("deviceId")Long deviceId) {
+ QueryWrapper<DeviceInventory> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("device_id",deviceId);
+ return R.ok(deviceInventoryService.list(queryWrapper));
+ }
+
+ /**
+ * 绉熻祦鐘舵�佷笅鐨勮澶囩璧佽鎯�
+ * @return
+ */
+ @GetMapping("/getReleaseDetail/{id}" )
+ public R getReleaseDetail(@PathVariable("id")Long id) {
+ return deviceInventoryService.getReleaseDetail(id);
+ }
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java
new file mode 100644
index 0000000..f570bff
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java
@@ -0,0 +1,145 @@
+package com.by4cloud.platformx.device.controller;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.device.entity.DeviceInventory;
+import com.by4cloud.platformx.device.entity.DeviceRepair;
+import com.by4cloud.platformx.device.service.DeviceRepairService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.api.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 璁惧缁翠慨
+ *
+ * @author syt
+ * @date 2025-03-31 13:51:53
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/deviceRepair" )
+@Tag(description = "deviceRepair" , name = "璁惧缁翠慨绠$悊" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class DeviceRepairController {
+
+ private final DeviceRepairService deviceRepairService;
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ * @param page 鍒嗛〉瀵硅薄
+ * @param deviceRepair 璁惧缁翠慨
+ * @return
+ */
+ @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+ @GetMapping("/page" )
+ @PreAuthorize("@pms.hasPermission('device_deviceRepair_view')" )
+ public R getDeviceRepairPage(@ParameterObject Page page, @ParameterObject DeviceRepair deviceRepair) {
+ LambdaQueryWrapper<DeviceRepair> wrapper = Wrappers.lambdaQuery();
+ wrapper.eq(StrUtil.isNotBlank(deviceRepair.getSerialNo()),DeviceRepair::getSerialNo,deviceRepair.getSerialNo());
+ wrapper.orderByDesc(DeviceRepair::getCreateTime);
+ return R.ok(deviceRepairService.page(page, wrapper));
+ }
+
+
+ /**
+ * 閫氳繃id鏌ヨ璁惧缁翠慨
+ * @param id id
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+ @GetMapping("/{id}" )
+ @PreAuthorize("@pms.hasPermission('device_deviceRepair_view')" )
+ public R getById(@PathVariable("id" ) Long id) {
+ return R.ok(deviceRepairService.getById(id));
+ }
+
+ /**
+ * 鏂板璁惧缁翠慨
+ * @param deviceRepair 璁惧缁翠慨
+ * @return R
+ */
+ @Operation(summary = "鏂板璁惧缁翠慨" , description = "鏂板璁惧缁翠慨" )
+ @SysLog("鏂板璁惧缁翠慨" )
+ @PostMapping
+ @PreAuthorize("@pms.hasPermission('device_deviceRepair_add')" )
+ public R save(@RequestBody DeviceRepair deviceRepair) {
+ deviceRepair.setStatus(1);
+ return R.ok(deviceRepairService.save(deviceRepair));
+ }
+
+ /**
+ * 淇敼璁惧缁翠慨
+ * @param deviceRepair 璁惧缁翠慨
+ * @return R
+ */
+ @Operation(summary = "淇敼璁惧缁翠慨" , description = "淇敼璁惧缁翠慨" )
+ @SysLog("淇敼璁惧缁翠慨" )
+ @PutMapping
+ @PreAuthorize("@pms.hasPermission('device_deviceRepair_edit')" )
+ public R updateById(@RequestBody DeviceRepair deviceRepair) {
+ return R.ok(deviceRepairService.updateById(deviceRepair));
+ }
+
+ /**
+ * 閫氳繃id鍒犻櫎璁惧缁翠慨
+ * @param ids id鍒楄〃
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鍒犻櫎璁惧缁翠慨" , description = "閫氳繃id鍒犻櫎璁惧缁翠慨" )
+ @SysLog("閫氳繃id鍒犻櫎璁惧缁翠慨" )
+ @DeleteMapping
+ @PreAuthorize("@pms.hasPermission('device_deviceRepair_del')" )
+ public R removeById(@RequestBody Long[] ids) {
+ return R.ok(deviceRepairService.removeBatchByIds(CollUtil.toList(ids)));
+ }
+
+
+ /**
+ * 瀵煎嚭excel 琛ㄦ牸
+ * @param deviceRepair 鏌ヨ鏉′欢
+ * @param ids 瀵煎嚭鎸囧畾ID
+ * @return excel 鏂囦欢娴�
+ */
+ @ResponseExcel
+ @GetMapping("/export")
+ @PreAuthorize("@pms.hasPermission('device_deviceRepair_export')" )
+ public List<DeviceRepair> export(DeviceRepair deviceRepair,Long[] ids) {
+ return deviceRepairService.list(Wrappers.lambdaQuery(deviceRepair).in(ArrayUtil.isNotEmpty(ids), DeviceRepair::getId, ids));
+ }
+
+ /**
+ * 璁惧缁翠慨瀹℃壒閫氳繃
+ * @return
+ */
+ @GetMapping("/approved/{id}" )
+ @PreAuthorize("@pms.hasPermission('device_deviceRepair_approved')" )
+ public R approved(@PathVariable("id")Long id) {
+ return deviceRepairService.approved(id);
+ }
+
+ /**
+ * 璁惧缁翠慨瀹屾垚
+ * @return
+ */
+ @GetMapping("/complete/{id}" )
+ @PreAuthorize("@pms.hasPermission('device_deviceRepair_complete')" )
+ public R complete(@PathVariable("id")Long id) {
+ return deviceRepairService.complete(id);
+ }
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java
new file mode 100644
index 0000000..7ac2bfd
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java
@@ -0,0 +1,132 @@
+package com.by4cloud.platformx.device.controller;
+
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.device.entity.DeviceRepair;
+import com.by4cloud.platformx.device.entity.DeviceScrap;
+import com.by4cloud.platformx.device.service.DeviceScrapService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.api.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 璁惧鎶ュ簾
+ *
+ * @author syt
+ * @date 2025-03-31 13:49:43
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/deviceScrap" )
+@Tag(description = "deviceScrap" , name = "璁惧鎶ュ簾绠$悊" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class DeviceScrapController {
+
+ private final DeviceScrapService deviceScrapService;
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ * @param page 鍒嗛〉瀵硅薄
+ * @param deviceScrap 璁惧鎶ュ簾
+ * @return
+ */
+ @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+ @GetMapping("/page" )
+ @PreAuthorize("@pms.hasPermission('device_deviceScrap_view')" )
+ public R getDeviceScrapPage(@ParameterObject Page page, @ParameterObject DeviceScrap deviceScrap) {
+ LambdaQueryWrapper<DeviceScrap> wrapper = Wrappers.lambdaQuery();
+ wrapper.orderByDesc(DeviceScrap::getCreateTime);
+ return R.ok(deviceScrapService.page(page, wrapper));
+ }
+
+
+ /**
+ * 閫氳繃id鏌ヨ璁惧鎶ュ簾
+ * @param id id
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+ @GetMapping("/{id}" )
+ @PreAuthorize("@pms.hasPermission('device_deviceScrap_view')" )
+ public R getById(@PathVariable("id" ) Long id) {
+ return R.ok(deviceScrapService.getById(id));
+ }
+
+ /**
+ * 鏂板璁惧鎶ュ簾
+ * @param deviceScrap 璁惧鎶ュ簾
+ * @return R
+ */
+ @Operation(summary = "鏂板璁惧鎶ュ簾" , description = "鏂板璁惧鎶ュ簾" )
+ @SysLog("鏂板璁惧鎶ュ簾" )
+ @PostMapping
+ @PreAuthorize("@pms.hasPermission('device_deviceScrap_add')" )
+ public R save(@RequestBody DeviceScrap deviceScrap) {
+ deviceScrap.setStatus(1);
+ return R.ok(deviceScrapService.save(deviceScrap));
+ }
+
+ /**
+ * 淇敼璁惧鎶ュ簾
+ * @param deviceScrap 璁惧鎶ュ簾
+ * @return R
+ */
+ @Operation(summary = "淇敼璁惧鎶ュ簾" , description = "淇敼璁惧鎶ュ簾" )
+ @SysLog("淇敼璁惧鎶ュ簾" )
+ @PutMapping
+ @PreAuthorize("@pms.hasPermission('device_deviceScrap_edit')" )
+ public R updateById(@RequestBody DeviceScrap deviceScrap) {
+ return R.ok(deviceScrapService.updateById(deviceScrap));
+ }
+
+ /**
+ * 閫氳繃id鍒犻櫎璁惧鎶ュ簾
+ * @param ids id鍒楄〃
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鍒犻櫎璁惧鎶ュ簾" , description = "閫氳繃id鍒犻櫎璁惧鎶ュ簾" )
+ @SysLog("閫氳繃id鍒犻櫎璁惧鎶ュ簾" )
+ @DeleteMapping
+ @PreAuthorize("@pms.hasPermission('device_deviceScrap_del')" )
+ public R removeById(@RequestBody Long[] ids) {
+ return R.ok(deviceScrapService.removeBatchByIds(CollUtil.toList(ids)));
+ }
+
+
+ /**
+ * 瀵煎嚭excel 琛ㄦ牸
+ * @param deviceScrap 鏌ヨ鏉′欢
+ * @param ids 瀵煎嚭鎸囧畾ID
+ * @return excel 鏂囦欢娴�
+ */
+ @ResponseExcel
+ @GetMapping("/export")
+ @PreAuthorize("@pms.hasPermission('device_deviceScrap_export')" )
+ public List<DeviceScrap> export(DeviceScrap deviceScrap,Long[] ids) {
+ return deviceScrapService.list(Wrappers.lambdaQuery(deviceScrap).in(ArrayUtil.isNotEmpty(ids), DeviceScrap::getId, ids));
+ }
+
+ /**
+ * 璁惧缁翠慨瀹℃壒閫氳繃
+ * @return
+ */
+ @GetMapping("/approved/{id}" )
+ @PreAuthorize("@pms.hasPermission('device_deviceScrap_approved')" )
+ public R approved(@PathVariable("id")Long id) {
+ return deviceScrapService.approved(id);
+ }
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceInventoryMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceInventoryMapper.java
index c059f90..0db9e94 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceInventoryMapper.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceInventoryMapper.java
@@ -2,10 +2,13 @@
import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
import com.by4cloud.platformx.device.entity.DeviceInventory;
+import com.by4cloud.platformx.device.entity.vo.InventoryDetailVo;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
@Mapper
public interface DeviceInventoryMapper extends PlatformxBaseMapper<DeviceInventory> {
+ InventoryDetailVo getReleaseDetail(@Param("id") Long id);
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceRepairMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceRepairMapper.java
new file mode 100644
index 0000000..d93cca8
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceRepairMapper.java
@@ -0,0 +1,11 @@
+package com.by4cloud.platformx.device.mapper;
+
+import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import com.by4cloud.platformx.device.entity.DeviceRepair;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DeviceRepairMapper extends PlatformxBaseMapper<DeviceRepair> {
+
+
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceScrapMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceScrapMapper.java
new file mode 100644
index 0000000..ebfb2e1
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/DeviceScrapMapper.java
@@ -0,0 +1,11 @@
+package com.by4cloud.platformx.device.mapper;
+
+import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import com.by4cloud.platformx.device.entity.DeviceScrap;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DeviceScrapMapper extends PlatformxBaseMapper<DeviceScrap> {
+
+
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java
index 7083605..c559473 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceInventoryService.java
@@ -1,9 +1,11 @@
package com.by4cloud.platformx.device.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.entity.DeviceInventory;
import com.by4cloud.platformx.device.entity.InventoryFlowWater;
public interface DeviceInventoryService extends IService<DeviceInventory> {
+ R getReleaseDetail(Long id);
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceRepairService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceRepairService.java
new file mode 100644
index 0000000..055fd4e
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceRepairService.java
@@ -0,0 +1,12 @@
+package com.by4cloud.platformx.device.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.entity.DeviceRepair;
+
+public interface DeviceRepairService extends IService<DeviceRepair> {
+
+ R approved(Long id);
+
+ R complete(Long id);
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceScrapService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceScrapService.java
new file mode 100644
index 0000000..8d4cf0f
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/DeviceScrapService.java
@@ -0,0 +1,10 @@
+package com.by4cloud.platformx.device.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.entity.DeviceScrap;
+
+public interface DeviceScrapService extends IService<DeviceScrap> {
+
+ R approved(Long id);
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java
index da0b221..bb6f0fd 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java
@@ -1,8 +1,10 @@
package com.by4cloud.platformx.device.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.entity.DeviceInventory;
import com.by4cloud.platformx.device.entity.InventoryFlowWater;
+import com.by4cloud.platformx.device.entity.vo.InventoryDetailVo;
import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
import com.by4cloud.platformx.device.mapper.InventoryFlowWaterMapper;
import com.by4cloud.platformx.device.service.DeviceInventoryService;
@@ -17,4 +19,9 @@
*/
@Service
public class DeviceInventoryServiceImpl extends ServiceImpl<DeviceInventoryMapper, DeviceInventory> implements DeviceInventoryService {
+ @Override
+ public R getReleaseDetail(Long id) {
+ InventoryDetailVo detailVo = baseMapper.getReleaseDetail(id);
+ return R.ok(detailVo);
+ }
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java
index 2e5479b..e3862fa 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceLeasingLedgerServiceImpl.java
@@ -113,6 +113,7 @@
//鍑哄簱鎿嶄綔 搴撳瓨鐘舵�佷负 绉熻祦涓�
inventory.setInventoryStatus(2);
}
+ inventory.setLedgerItemId(item.getId());
//搴撳瓨璋冩暣
inventoryMapper.insert(inventory);
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java
new file mode 100644
index 0000000..c483823
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java
@@ -0,0 +1,45 @@
+package com.by4cloud.platformx.device.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.entity.DeviceInventory;
+import com.by4cloud.platformx.device.entity.DeviceRepair;
+import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
+import com.by4cloud.platformx.device.mapper.DeviceRepairMapper;
+import com.by4cloud.platformx.device.service.DeviceRepairService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+/**
+ * 璁惧缁翠慨
+ *
+ * @author syt
+ * @date 2025-03-31 13:51:53
+ */
+@Service
+@AllArgsConstructor
+public class DeviceRepairServiceImpl extends ServiceImpl<DeviceRepairMapper, DeviceRepair> implements DeviceRepairService {
+
+ private final DeviceInventoryMapper inventoryMapper;
+
+ @Override
+ public R approved(Long id) {
+ DeviceRepair repair = baseMapper.selectById(id);
+ repair.setStatus(2);
+ baseMapper.updateById(repair);
+ DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId());
+ inventory.setInventoryStatus(3);
+ inventoryMapper.updateById(inventory);
+ return R.ok();
+ }
+
+ @Override
+ public R complete(Long id) {
+ DeviceRepair repair = baseMapper.selectById(id);
+ repair.setStatus(3);
+ baseMapper.updateById(repair);
+ DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId());
+ inventory.setInventoryStatus(1);
+ inventoryMapper.updateById(inventory);
+ return R.ok();
+ }
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java
new file mode 100644
index 0000000..2dd8044
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java
@@ -0,0 +1,36 @@
+package com.by4cloud.platformx.device.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.entity.DeviceInventory;
+import com.by4cloud.platformx.device.entity.DeviceRepair;
+import com.by4cloud.platformx.device.entity.DeviceScrap;
+import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
+import com.by4cloud.platformx.device.mapper.DeviceScrapMapper;
+import com.by4cloud.platformx.device.service.DeviceScrapService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+/**
+ * 璁惧鎶ュ簾
+ *
+ * @author syt
+ * @date 2025-03-31 13:49:43
+ */
+@Service
+@AllArgsConstructor
+public class DeviceScrapServiceImpl extends ServiceImpl<DeviceScrapMapper, DeviceScrap> implements DeviceScrapService {
+
+ private final DeviceInventoryMapper inventoryMapper;
+
+ @Override
+ public R approved(Long id) {
+ DeviceScrap scrap = baseMapper.selectById(id);
+ scrap.setStatus(2);
+ baseMapper.updateById(scrap);
+ DeviceInventory inventory = inventoryMapper.selectById(scrap.getInventoryId());
+ inventory.setInventoryStatus(4);
+ inventoryMapper.updateById(inventory);
+ return R.ok();
+ }
+
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceRepairMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceRepairMapper.xml
new file mode 100644
index 0000000..f85d139
--- /dev/null
+++ b/platformx-device-biz/src/main/resources/mapper/DeviceRepairMapper.xml
@@ -0,0 +1,22 @@
+<?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.by4cloud.platformx.device.mapper.DeviceRepairMapper">
+
+ <resultMap id="deviceRepairMap" type="com.by4cloud.platformx.device.entity.DeviceScrap">
+ <id property="id" column="id"/>
+ <result property="compId" column="comp_id"/>
+ <result property="deviceCoder" column="device_coder"/>
+ <result property="deviceId" column="device_id"/>
+ <result property="inventoryId" column="inventory_id"/>
+ <result property="repairEndDate" column="repair_end_date"/>
+ <result property="repairStartDate" column="repair_start_date"/>
+ <result property="serialNo" column="serial_no"/>
+ <result property="status" column="status"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="delFlag" column="del_flag"/>
+ </resultMap>
+</mapper>
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceScrapMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceScrapMapper.xml
new file mode 100644
index 0000000..13c0b83
--- /dev/null
+++ b/platformx-device-biz/src/main/resources/mapper/DeviceScrapMapper.xml
@@ -0,0 +1,21 @@
+<?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.by4cloud.platformx.device.mapper.DeviceScrapMapper">
+
+ <resultMap id="deviceScrapMap" type="com.by4cloud.platformx.device.entity.DeviceScrap">
+ <id property="id" column="id"/>
+ <result property="compId" column="comp_id"/>
+ <result property="deviceCoder" column="device_coder"/>
+ <result property="deviceId" column="device_id"/>
+ <result property="inventoryId" column="inventory_id"/>
+ <result property="scrapDate" column="scrap_date"/>
+ <result property="serialNo" column="serial_no"/>
+ <result property="status" column="status"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="delFlag" column="del_flag"/>
+ </resultMap>
+</mapper>
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml b/platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml
index b84b53e..ac2a1b0 100644
--- a/platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/deviceInventoryMapper.xml
@@ -18,4 +18,22 @@
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
</resultMap>
+ <select id="getReleaseDetail" resultType="com.by4cloud.platformx.device.entity.vo.InventoryDetailVo">
+ select
+ c.name contractName,
+ c.partyb,
+ di.device_number,
+ di.serial_no,
+ dll.delivery_date
+ from
+ device_inventory di
+ join device_leasing_ledger_item dlli on
+ di.ledger_item_id = dlli.id
+ join device_leasing_ledger dll on
+ dll.id = dlli.ledger_id
+ join contract c on
+ c.`number` = dll.contract_code
+ where
+ di.id =#{id}
+ </select>
</mapper>
--
Gitblit v1.9.1