From fc8c86e7a365d5c6bdc37c2b05b9f83115ac2bc3 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 23 四月 2025 17:30:52 +0800
Subject: [PATCH] 巡检任务 设备维修新增是否生成工单
---
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java | 2
platformx-device-biz/src/main/resources/mapper/ResidualRecycleMapper.xml | 30 ++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java | 26 +
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ResidualRecycleServiceImpl.java | 56 ++++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java | 5
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceInventoryController.java | 31 ++
platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/CommonStatusContant.java | 164 +++++++++++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceRepairServiceImpl.java | 15
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java | 5
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceRepairController.java | 5
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ResidualRecycle.java | 128 +++++++++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceInventoryServiceImpl.java | 28 ++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java | 11
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java | 37 ++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceScrapController.java | 3
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ResidualRecycleController.java | 138 +++++++++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ResidualRecycleMapper.java | 11
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java | 13
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java | 3
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DeviceScrapServiceImpl.java | 5
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ResidualRecycleService.java | 12
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java | 5
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java | 71 ++++
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 | 7
25 files changed, 772 insertions(+), 41 deletions(-)
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/CommonStatusContant.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/CommonStatusContant.java
new file mode 100644
index 0000000..a56ab76
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/constant/CommonStatusContant.java
@@ -0,0 +1,164 @@
+package com.by4cloud.platformx.device.constant;
+
+import javax.persistence.criteria.CriteriaBuilder;
+
+public interface CommonStatusContant {
+
+ /**
+ * 娈嬩綋鍥炴敹-寰呭鎵�
+ */
+ Integer RESIDUAL_RECYCLE_STATUS_PENDING_APPROVAL = 1;
+ /**
+ * 娈嬩綋鍥炴敹-澶勭悊涓�
+ */
+ Integer RESIDUAL_RECYCLE_STATUS_HANDLING = 2;
+ /**
+ * 娈嬩綋鍥炴敹-寰呭鎵�
+ */
+ Integer RESIDUAL_RECYCLE_STATUS_COMPLETE = 3;
+ /**
+ * 璁惧搴撳瓨-鍙敤
+ */
+ Integer DEVICE_INVENTORY_USABLE = 1;
+ /**
+ * 璁惧搴撳瓨-绉熻祦涓�
+ */
+ Integer DEVICE_INVENTORY_RENTING = 2;
+ /**
+ * 璁惧搴撳瓨- 缁翠慨涓�
+ */
+ Integer DEVICE_INVENTORY_REPAIRING = 3;
+ /**
+ * 璁惧搴撳瓨-鎶ュ簾
+ */
+ Integer DEVICE_INVENTORY_SCRAPING = 4;
+ /**
+ * 璁惧搴撳瓨-娈嬪�煎洖鏀�
+ */
+ Integer DEVICE_INVENTORY_RECYCLE = 5;
+ /**
+ * 娈嬩綋鍥炴敹-鎷嗚В鍥炴敹
+ */
+ Integer RESIDUAL_RECYCLE_METHOD_DISASSEMBE_RECYCLE = 1;
+ /**
+ * 娈嬩綋鍥炴敹-涓撲笟鏈烘瀯绉讳氦
+ */
+ Integer RESIDUAL_RECYCLE_METHOD_TRANSFER_PROFESSIONAL_INSTITUTION = 2;
+ /**
+ * 娈嬩綋鍥炴敹-鍐嶇璧佹祦杞�
+ */
+ Integer RESIDUAL_RECYCLE_METHOD_CYCLE_RENTING = 3;
+ /**
+ * 鍚堝悓-寰呭鎵�
+ */
+ Integer CONTRACT_STATUS_PENDING_APPROVAL = 0;
+ /**
+ * 鍚堝悓-宸插鎵�
+ */
+ Integer CONTRACT_STATUS_APPROVED = 1;
+ /**
+ * 鍚堝悓-瀹屾垚
+ */
+ Integer CONTRACT_STATUS_COMPLETE = 2;
+ /**
+ * 鍚堝悓-浣滃簾瀹℃壒
+ */
+ Integer CONTRACT_STATUS_INVALID_PENDING_APPROVAL = 3;
+ /**
+ * 鍚堝悓-浣滃簾
+ */
+ Integer CONTRACT_STATUS_INVALID = 4;
+ /**
+ * 搴撳瓨娴佹按-鍏ュ簱
+ */
+ Integer DEVICE_INVENTORY_FLOW_WATER_IN= 2;
+ /**
+ * 搴撳瓨娴佹按-鍑哄簱
+ */
+ Integer DEVICE_INVENTORY_FLOW_WATER_OUT= 1;
+ /**
+ * 搴撳瓨绫诲瀷-浠撳簱
+ */
+ Integer DEVICE_INVENTORY_RESOURCE_WAREHOUSE= 1;
+ /**
+ * 搴撳瓨绫诲瀷-璐拱
+ */
+ Integer DEVICE_INVENTORY_RESOURCE_BUGING= 2;
+ /**
+ * 搴撳瓨绫诲瀷-璐拱
+ */
+ Integer DEVICE_INVENTORY_RESOURCE_UNUSED= 3;
+ /**
+ * 宸℃浠诲姟-鏈紑濮�
+ */
+ Integer INSPECTION_TASK_NO_STARTED= 0;
+ /**
+ * 宸℃浠诲姟-宸℃涓�
+ */
+ Integer INSPECTION_TASK_DURING_INSPECTION= 1;
+ /**
+ * 宸℃浠诲姟-瀹屾垚
+ */
+ Integer INSPECTION_TASK_COMPLETE= 2;
+ /**
+ * 宸ュ崟鐘舵��-寰呭垎閰�
+ */
+ Integer WORK_ORDER_STATUS_ALLOCATED= 1;
+ /**
+ * 宸ュ崟鐘舵��-澶勭悊涓�
+ */
+ Integer WORK_ORDER_STATUS_HANDLING= 2;
+ /**
+ * 宸ュ崟鐘舵��-宸插叧闂�
+ */
+ Integer WORK_ORDER_STATUS_CLOSING= 3;
+ /**
+ * 璁惧缁翠慨鐘舵��-寰呭鎵�
+ */
+ Integer DEVICE_REPAIR_STATUS_PANDING_APPROVAL= 1;
+ /**
+ * 璁惧缁翠慨鐘舵��-缁翠慨涓�
+ */
+ Integer DEVICE_REPAIR_STATUS_REPAIRING= 2;
+ /**
+ * 璁惧缁翠慨鐘舵��-瀹屾垚
+ */
+ Integer DEVICE_REPAIR_STATUS_COMPLETE= 3;
+ /**
+ * 璁惧鎶ュ簾鐘舵��-寰呭鎵�
+ */
+ Integer DEVICE_SCRAP_STATUS_PANDING_APPROVAL= 1;
+ /**
+ * 璁惧鎶ュ簾鐘舵��-缁翠慨涓�
+ */
+ Integer DEVICE_SCRAP_STATUS_COMPLETE= 2;
+ /**
+ * 宸℃璁″垝-鐢熸垚浠诲姟鏍囪瘑
+ */
+ Integer INSPECTION_PLAN_FLAG_GEN_Y = 1;
+ /**
+ * 宸℃璁″垝-鐢熸垚浠诲姟鏍囪瘑
+ */
+ Integer INSPECTION_PLAN_FLAG_GEN_N = 0;
+ /**
+ * 宸℃璁″垝-鐢熸垚浠诲姟鏍囪瘑
+ */
+ Integer DEVICE_REPAIR_FLAG_N = 0;
+ /**
+ * 宸℃璁″垝-鐢熸垚浠诲姟鏍囪瘑
+ */
+ Integer DEVICE_REPAIR_FLAG_Y = 1;
+ /**
+ * 宸ュ崟绫诲瀷-鎶ヤ慨
+ */
+ Integer WORK_ORDER_TYPE_REPAIR = 1;
+ /**
+ * 璁惧閲囪喘璁″垝鐘舵��-寰呭鎵�
+ */
+ Integer DEVICE_PURCHASE_STATUS_PANDING_APPROVAL = 0;
+ /**
+ * 璁惧閲囪喘璁″垝鐘舵��-寰呭鎵�
+ */
+ Integer DEVICE_PURCHASE_STATUS_APPROVED = 1;
+
+}
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ResidualRecycle.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ResidualRecycle.java
new file mode 100644
index 0000000..21f84a0
--- /dev/null
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/ResidualRecycle.java
@@ -0,0 +1,128 @@
+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 javax.persistence.Column;
+import javax.persistence.Entity;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@Entity
+@TableName("residual_recycle")
+@javax.persistence.Table(name = "residual_recycle")
+@Table(appliesTo = "residual_recycle", comment = "娈嬩綋鍥炴敹")
+public class ResidualRecycle extends BaseModel<ResidualRecycle> {
+
+ /**
+ * 璁惧ID
+ */
+ @Schema(description="璁惧ID")
+ @Column(columnDefinition="bigint comment '璁惧ID'")
+ private Long deviceId;
+
+ /**
+ * 璁惧缂栫爜
+ */
+ @Schema(description="璁惧缂栫爜")
+ @Column(columnDefinition="VARCHAR(16) comment '璁惧缂栫爜'")
+ private String deviceCode;
+
+ /**
+ * 璁惧鍚嶇О
+ */
+ @Schema(description="璁惧鍚嶇О")
+ @Column(columnDefinition="VARCHAR(256) comment '璁惧鍚嶇О'")
+ private String deviceName;
+
+ /**
+ * 瑙勬牸鍨嬪彿
+ */
+ @Schema(description="瑙勬牸鍨嬪彿")
+ @Column(columnDefinition="VARCHAR(256) comment '瑙勬牸鍨嬪彿'")
+ private String deviceModels;
+
+ /**
+ * 璁¢噺鍗曚綅
+ */
+ @Schema(description="璁¢噺鍗曚綅")
+ @Column(columnDefinition="VARCHAR(32) comment '璁¢噺鍗曚綅'")
+ private String meteringUnit;
+
+ /**
+ * 璁惧搴忓垪鍙�
+ */
+ @Schema(description="璁惧搴忓垪鍙�")
+ @Column(columnDefinition="VARCHAR(256) comment '璁惧搴忓垪鍙�'")
+ private String serialNo;
+
+ /**
+ * 鍒濆浠峰��
+ */
+ @Schema(description="鍒濆浠峰��")
+ @Column(columnDefinition="decimal(10,2) comment '鍒濆浠峰��'")
+ private BigDecimal initialValue;
+
+ /**
+ * 绱鎶樻棫
+ */
+ @Schema(description="绱鎶樻棫")
+ @Column(columnDefinition="decimal(10,2) comment '绱鎶樻棫'")
+ private BigDecimal accumulatedDepreciation;
+
+ /**
+ * 澶勭疆鏂瑰紡
+ */
+ @Schema(description="澶勭疆鏂瑰紡")
+ @Column(columnDefinition="int comment '澶勭疆鏂瑰紡 1 鎷嗚В鍥炴敹 2 涓撲笟鏈烘瀯绉讳氦 3 鍐嶇璧佹祦杞�'")
+ private Integer handleMethod;
+
+ /**
+ * 澶勭疆鏈烘瀯
+ */
+ @Schema(description="澶勭疆鏈烘瀯")
+ @Column(columnDefinition="VARCHAR(256) comment '澶勭疆鏈烘瀯'")
+ private String handleOrgan;
+
+ /**
+ * 娈嬪�兼祴绠�
+ */
+ @Schema(description="娈嬪�兼祴绠�")
+ @Column(columnDefinition="decimal(10,2) comment '娈嬪�兼祴绠�'")
+ private BigDecimal residualCalculation;
+
+ /**
+ * 瀹為檯鍥炴敹
+ */
+ @Schema(description="瀹為檯鍥炴敹")
+ @Column(columnDefinition="decimal(10,2) comment '瀹為檯鍥炴敹'")
+ private BigDecimal actualResidual;
+
+ /**
+ * 鍥炴敹鐧昏鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Schema(description = "鍥炴敹鐧昏鏃ユ湡")
+ @Column(columnDefinition="datetime comment '鍥炴敹鐧昏鏃ユ湡'")
+ private Date registrationDate;
+
+ /**
+ * 璐㈠姟鏍搁攢鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Schema(description = "璐㈠姟鏍搁攢鏃ユ湡")
+ @Column(columnDefinition="datetime comment '璐㈠姟鏍搁攢鏃ユ湡'")
+ private Date verificationDate;
+
+ /**
+ * 鐘舵��
+ */
+ @Schema(description = "鐘舵��")
+ @Column(columnDefinition="int comment '鐘舵�� 1 寰呭鎵� 2 澶勭悊涓� 3 宸插畬鎴�'")
+ private Integer status;
+}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
index 8d8d98c..c3092ea 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ContractController.java
@@ -133,6 +133,7 @@
* @param id id
* @return R
*/
+ @SysLog("瀹℃壒閫氳繃鍚堝悓" )
@Operation(summary = "瀹℃壒閫氳繃鍚堝悓" , description = "瀹℃壒閫氳繃鍚堝悓" )
@GetMapping("/approved/{id}" )
public R approved(@PathVariable("id" ) Long id) {
@@ -149,4 +150,29 @@
return R.ok(contractService.getApprovedContractList());
}
+ /**
+ * 鍚堝悓鐢宠浣滃簾
+ * @param id id
+ * @return R
+ */
+ @SysLog("鍚堝悓鐢宠浣滃簾" )
+ @Operation(summary = "鍚堝悓鐢宠浣滃簾" , description = "鍚堝悓鐢宠浣滃簾" )
+ @GetMapping("/approvelInvalid/{id}" )
+ @PreAuthorize("@pms.hasPermission('platformx_contract_zfsq')")
+ public R approvelInvalid(@PathVariable("id" ) Long id) {
+ return contractService.approvelInvalid(id);
+ }
+
+ /**
+ * 鍚堝悓鐢宠浣滃簾
+ * @param id id
+ * @return R
+ */
+ @SysLog("鍚堝悓浣滃簾" )
+ @Operation(summary = "鍚堝悓浣滃簾" , description = "鍚堝悓浣滃簾" )
+ @GetMapping("/invalidById/{id}" )
+ @PreAuthorize("@pms.hasPermission('platformx_contract_zf')")
+ public R invalidById(@PathVariable("id" ) Long id) {
+ return contractService.invalidById(id);
+ }
}
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 6a60a0b..f6b9bc9 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
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -52,6 +53,7 @@
wrapper.like(StringUtils.isNotBlank(deviceInventory.getDeviceNumber()),DeviceInventory::getDeviceNumber,deviceInventory.getDeviceNumber());
wrapper.like(StringUtils.isNotBlank(deviceInventory.getSerialNo()),DeviceInventory::getSerialNo,deviceInventory.getSerialNo());
wrapper.like(StringUtils.isNotBlank(deviceInventory.getName()),DeviceInventory::getName,deviceInventory.getName());
+ wrapper.eq(StringUtils.checkValNotNull(deviceInventory.getInventoryStatus()),DeviceInventory::getInventoryStatus,deviceInventory.getInventoryStatus());
wrapper.orderByDesc(DeviceInventory::getCreateTime);
return R.ok(deviceInventoryService.page(page, wrapper));
}
@@ -147,7 +149,7 @@
}
/**
- * 璁惧涓嬫墍鏈夊簭鍒楀彿涓嬫媺
+ * 璁惧涓嬫墍鏈夊彲鐢ㄥ簭鍒楀彿涓嬫媺
* @return
*/
@GetMapping("/getDropdowmList/{deviceId}" )
@@ -155,6 +157,18 @@
QueryWrapper<DeviceInventory> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("device_id",deviceId);
queryWrapper.eq("inventory_status","1");
+ return R.ok(deviceInventoryService.list(queryWrapper));
+ }
+
+ /**
+ * 璁惧涓嬫墍鏈夋姤搴熷簭鍒楀彿涓嬫媺
+ * @return
+ */
+ @GetMapping("/getDropdowmScrapList/{deviceId}" )
+ public R getDropdowmScrapList(@PathVariable("deviceId")Long deviceId) {
+ QueryWrapper<DeviceInventory> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("device_id",deviceId);
+ queryWrapper.eq("inventory_status","4");
return R.ok(deviceInventoryService.list(queryWrapper));
}
@@ -168,13 +182,24 @@
}
/**
- * 淇敼搴撳瓨琛�
+ * 璁惧鏇存柊鐓х墖
* @param deviceInventory 搴撳瓨琛�
* @return R
*/
- @SysLog("淇敼搴撳瓨琛�" )
+ @SysLog("璁惧鏇存柊鐓х墖" )
@PutMapping("/uploadPic")
public R uploadPic(@RequestBody DeviceInventory deviceInventory) {
return R.ok(deviceInventoryService.updateById(deviceInventory));
}
+
+ /**
+ * 淇敼搴撳瓨琛�
+ * @param id 搴撳瓨琛�
+ * @return R
+ */
+ @SysLog("璁惧褰掕繕鍏ュ簱" )
+ @GetMapping("/return/{id}")
+ public R returnDevice(@PathVariable("id")Long id) {
+ return deviceInventoryService.returnDevice(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
index fcc610d..297f4c1 100644
--- 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
@@ -6,6 +6,7 @@
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.constant.CommonStatusContant;
import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO;
import com.by4cloud.platformx.device.entity.DeviceInventory;
import com.by4cloud.platformx.device.entity.DeviceRepair;
@@ -74,8 +75,8 @@
@PostMapping
@PreAuthorize("@pms.hasPermission('device_deviceRepair_add')" )
public R save(@RequestBody DeviceRepair deviceRepair) {
- deviceRepair.setStatus(1);
- deviceRepair.setWoFlag(0);
+ deviceRepair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_PANDING_APPROVAL);
+ deviceRepair.setWoFlag(CommonStatusContant.DEVICE_REPAIR_FLAG_N);
return R.ok(deviceRepairService.save(deviceRepair));
}
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
index 148e3e8..a3d2f0e 100644
--- 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
@@ -6,6 +6,7 @@
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.constant.CommonStatusContant;
import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO;
import com.by4cloud.platformx.device.entity.DeviceScrap;
import com.by4cloud.platformx.device.service.DeviceScrapService;
@@ -72,7 +73,7 @@
@PostMapping
@PreAuthorize("@pms.hasPermission('device_deviceScrap_add')" )
public R save(@RequestBody DeviceScrap deviceScrap) {
- deviceScrap.setStatus(1);
+ deviceScrap.setStatus(CommonStatusContant.DEVICE_SCRAP_STATUS_PANDING_APPROVAL);
return R.ok(deviceScrapService.save(deviceScrap));
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ResidualRecycleController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ResidualRecycleController.java
new file mode 100644
index 0000000..7da3cc5
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/ResidualRecycleController.java
@@ -0,0 +1,138 @@
+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.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.constant.CommonStatusContant;
+import com.by4cloud.platformx.device.entity.ResidualRecycle;
+import com.by4cloud.platformx.device.service.ResidualRecycleService;
+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-04-23 10:28:34
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/residualRecycle" )
+@Tag(description = "residualRecycle" , name = "娈嬩綋鍥炴敹绠$悊" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class ResidualRecycleController {
+
+ private final ResidualRecycleService residualRecycleService;
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ * @param page 鍒嗛〉瀵硅薄
+ * @param residualRecycle 娈嬩綋鍥炴敹
+ * @return
+ */
+ @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+ @GetMapping("/page" )
+ @PreAuthorize("@pms.hasPermission('device_residualRecycle_view')" )
+ public R getResidualRecyclePage(@ParameterObject Page page, @ParameterObject ResidualRecycle residualRecycle) {
+ LambdaQueryWrapper<ResidualRecycle> wrapper = Wrappers.lambdaQuery();
+ wrapper.eq(StrUtil.isNotBlank(residualRecycle.getDeviceName()),ResidualRecycle::getDeviceName,residualRecycle.getDeviceName());
+ wrapper.eq(Objects.nonNull(residualRecycle.getStatus()),ResidualRecycle::getStatus,residualRecycle.getStatus());
+ wrapper.orderByDesc(ResidualRecycle::getCreateTime);
+ return R.ok(residualRecycleService.page(page, wrapper));
+ }
+
+
+ /**
+ * 閫氳繃id鏌ヨ娈嬩綋鍥炴敹
+ * @param id id
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+ @GetMapping("/{id}" )
+ @PreAuthorize("@pms.hasPermission('device_residualRecycle_view')" )
+ public R getById(@PathVariable("id" ) Long id) {
+ return R.ok(residualRecycleService.getById(id));
+ }
+
+ /**
+ * 鏂板娈嬩綋鍥炴敹
+ * @param residualRecycle 娈嬩綋鍥炴敹
+ * @return R
+ */
+ @Operation(summary = "鏂板娈嬩綋鍥炴敹" , description = "鏂板娈嬩綋鍥炴敹" )
+ @SysLog("鏂板娈嬩綋鍥炴敹" )
+ @PostMapping
+ @PreAuthorize("@pms.hasPermission('device_residualRecycle_add')" )
+ public R save(@RequestBody ResidualRecycle residualRecycle) {
+ residualRecycle.setStatus(CommonStatusContant.RESIDUAL_RECYCLE_STATUS_PENDING_APPROVAL);
+ return R.ok(residualRecycleService.save(residualRecycle));
+ }
+
+ /**
+ * 淇敼娈嬩綋鍥炴敹
+ * @param residualRecycle 娈嬩綋鍥炴敹
+ * @return R
+ */
+ @Operation(summary = "淇敼娈嬩綋鍥炴敹" , description = "淇敼娈嬩綋鍥炴敹" )
+ @SysLog("淇敼娈嬩綋鍥炴敹" )
+ @PutMapping
+ @PreAuthorize("@pms.hasPermission('device_residualRecycle_edit')" )
+ public R updateById(@RequestBody ResidualRecycle residualRecycle) {
+ return residualRecycleService.updateByIdNew(residualRecycle);
+ }
+
+ /**
+ * 閫氳繃id鍒犻櫎娈嬩綋鍥炴敹
+ * @param ids id鍒楄〃
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鍒犻櫎娈嬩綋鍥炴敹" , description = "閫氳繃id鍒犻櫎娈嬩綋鍥炴敹" )
+ @SysLog("閫氳繃id鍒犻櫎娈嬩綋鍥炴敹" )
+ @DeleteMapping
+ @PreAuthorize("@pms.hasPermission('device_residualRecycle_del')" )
+ public R removeById(@RequestBody Long[] ids) {
+ return R.ok(residualRecycleService.removeBatchByIds(CollUtil.toList(ids)));
+ }
+
+
+ /**
+ * 瀵煎嚭excel 琛ㄦ牸
+ * @param residualRecycle 鏌ヨ鏉′欢
+ * @param ids 瀵煎嚭鎸囧畾ID
+ * @return excel 鏂囦欢娴�
+ */
+ @ResponseExcel
+ @GetMapping("/export")
+ @PreAuthorize("@pms.hasPermission('device_residualRecycle_export')" )
+ public List<ResidualRecycle> export(ResidualRecycle residualRecycle,Long[] ids) {
+ return residualRecycleService.list(Wrappers.lambdaQuery(residualRecycle).in(ArrayUtil.isNotEmpty(ids), ResidualRecycle::getId, ids));
+ }
+
+ /**
+ * 瀹℃壒閫氳繃id娈嬩綋鍥炴敹
+ * @param id id鍒楄〃
+ * @return R
+ */
+ @Operation(summary = "瀹℃壒閫氳繃id娈嬩綋鍥炴敹" , description = "瀹℃壒閫氳繃id娈嬩綋鍥炴敹" )
+ @SysLog("瀹℃壒閫氳繃id娈嬩綋鍥炴敹" )
+ @GetMapping("/approvedById/{id}")
+ @PreAuthorize("@pms.hasPermission('device_residualRecycle_approved')" )
+ public R approvedById(@PathVariable("id") Long id) {
+ return residualRecycleService.approvedById(id);
+ }
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java
index 4d1beab..afd650b 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/WorkOrderController.java
@@ -52,6 +52,7 @@
wrapper.like(StrUtil.isNotBlank(workOrder.getWoCode()),WorkOrder::getWoCode,workOrder.getWoCode());
wrapper.like(StrUtil.isNotBlank(workOrder.getWoDesc()),WorkOrder::getWoDesc,workOrder.getWoDesc());
wrapper.eq(Objects.nonNull(workOrder.getWoStatus()),WorkOrder::getWoStatus,workOrder.getWoStatus());
+ wrapper.orderByDesc(WorkOrder::getCreateTime);
return R.ok(workOrderService.page(page, wrapper));
}
@@ -91,7 +92,7 @@
@PutMapping
@PreAuthorize("@pms.hasPermission('device_workOrder_edit')" )
public R updateById(@RequestBody WorkOrder workOrder) {
- return R.ok(workOrderService.updateById(workOrder));
+ return workOrderService.updateByIdNew(workOrder);
}
/**
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ResidualRecycleMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ResidualRecycleMapper.java
new file mode 100644
index 0000000..66bfb83
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/ResidualRecycleMapper.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.ResidualRecycle;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ResidualRecycleMapper extends PlatformxBaseMapper<ResidualRecycle> {
+
+
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java
index 1cb9552..4aefb84 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ContractService.java
@@ -1,5 +1,6 @@
package com.by4cloud.platformx.device.service;
+import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.device.entity.Contract;
import com.github.yulichang.extension.mapping.base.MPJDeepService;
@@ -19,4 +20,8 @@
Boolean approved(Long id);
List<Contract> getApprovedContractList();
+
+ R approvelInvalid(Long id);
+
+ R invalidById(Long id);
}
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 c559473..2bd3ee8 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
@@ -8,4 +8,6 @@
public interface DeviceInventoryService extends IService<DeviceInventory> {
R getReleaseDetail(Long id);
+
+ R returnDevice(Long id);
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ResidualRecycleService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ResidualRecycleService.java
new file mode 100644
index 0000000..831b186
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/ResidualRecycleService.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.ResidualRecycle;
+
+public interface ResidualRecycleService extends IService<ResidualRecycle> {
+
+ R approvedById(Long id);
+
+ R updateByIdNew(ResidualRecycle residualRecycle);
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java
index 19159fe..6924b1d 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/WorkOrderService.java
@@ -1,8 +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.WorkOrder;
public interface WorkOrderService extends IService<WorkOrder> {
+ R updateByIdNew(WorkOrder workOrder);
}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
index 930e4e9..4f4e358 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
@@ -3,10 +3,10 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.by4cloud.platformx.device.entity.Contract;
-import com.by4cloud.platformx.device.entity.ContractItem;
-import com.by4cloud.platformx.device.mapper.ContractItemMapper;
-import com.by4cloud.platformx.device.mapper.ContractMapper;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
+import com.by4cloud.platformx.device.entity.*;
+import com.by4cloud.platformx.device.mapper.*;
import com.by4cloud.platformx.device.service.ContractService;
import org.springframework.stereotype.Service;
import cn.hutool.core.collection.CollUtil;
@@ -27,11 +27,16 @@
@RequiredArgsConstructor
public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> implements ContractService {
private final ContractItemMapper contractItemMapper;
+ private final DeviceLeasingLedgerMapper leasingLedgerMapper;
+ private final DeviceLeasingLedgerItemMapper ledgerItemMapper;
+ private final DeviceInventoryMapper inventoryMapper;
+ private final InventoryFlowWaterMapper flowWaterMapper;
+ private final DeviceMapper deviceMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean saveDeep(Contract contract) {
- contract.setStatus(0);
+ contract.setStatus(CommonStatusContant.CONTRACT_STATUS_PENDING_APPROVAL);
baseMapper.insert(contract);
for (ContractItem contractItem : contract.getContractItemList()) {
contractItem.setContractId(contract.getId());
@@ -87,7 +92,7 @@
@Override
public Boolean approved(Long id) {
Contract contract = baseMapper.selectById(id);
- contract.setStatus(1);
+ contract.setStatus(CommonStatusContant.CONTRACT_STATUS_APPROVED);
baseMapper.updateById(contract);
return Boolean.TRUE;
}
@@ -95,8 +100,60 @@
@Override
public List<Contract> getApprovedContractList() {
QueryWrapper<Contract> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("status",1);
+ queryWrapper.eq("status",CommonStatusContant.CONTRACT_STATUS_APPROVED);
List<Contract> list = baseMapper.selectList(queryWrapper);
return list;
}
+
+ @Override
+ public R approvelInvalid(Long id) {
+ Contract contract = baseMapper.selectById(id);
+ contract.setStatus(CommonStatusContant.CONTRACT_STATUS_INVALID_PENDING_APPROVAL);
+ baseMapper.updateById(contract);
+ return R.ok();
+ }
+
+ @Override
+ public R invalidById(Long id) {
+ Contract contract = baseMapper.selectById(id);
+ contract.setStatus(CommonStatusContant.CONTRACT_STATUS_INVALID);
+ baseMapper.updateById(contract);
+ //鏍规嵁鍚堝悓鏌ユ壘鐩稿叧绉熻祦鍙拌处
+ QueryWrapper<DeviceLeasingLedger> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("contract_id",id);
+ DeviceLeasingLedger ledger = leasingLedgerMapper.selectOne(queryWrapper);
+ if (ledger!=null){
+ //鏌ユ壘鐩稿叧鍙拌处鏄庣粏
+ QueryWrapper<DeviceLeasingLedgerItem> ledgerItemQueryWrapper = new QueryWrapper<>();
+ ledgerItemQueryWrapper.eq("ledger_id",ledger.getId());
+ List<DeviceLeasingLedgerItem> ledgerItemList = ledgerItemMapper.selectList(ledgerItemQueryWrapper);
+ if(ledgerItemList.size()>0){
+ //鏍规嵁鍙拌处鏄庣粏鏌ヨ璁惧搴撳瓨
+ ledgerItemList.stream().forEach(deviceLeasingLedgerItem -> {
+ QueryWrapper<DeviceInventory> inventoryQueryWrapper = new QueryWrapper<>();
+ inventoryQueryWrapper.eq("ledger_item_id",deviceLeasingLedgerItem.getId());
+ List<DeviceInventory> inventoryList = inventoryMapper.selectList(inventoryQueryWrapper);
+ //灏嗚澶囧簱瀛樼姸鎬佹洿涓哄彲鐢�
+ if (inventoryList.size()>0){
+ inventoryList.stream().forEach(deviceInventory -> {
+ deviceInventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE);
+ inventoryMapper.updateById(deviceInventory);
+ //搴撳瓨娴佹按
+ InventoryFlowWater flowWater = new InventoryFlowWater();
+ flowWater.setDeviceId(deviceInventory.getDeviceId());
+ Device device = deviceMapper.selectById(deviceInventory.getDeviceId());
+ if (device!=null){
+ flowWater.setClassId(device.getClassId());
+ }
+ flowWater.setInventoryId(deviceInventory.getId());
+ flowWater.setSerialNo(deviceInventory.getSerialNo());
+ flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_IN);
+ flowWaterMapper.insert(flowWater);
+ });
+ }
+ });
+ }
+ }
+ return R.ok();
+ }
}
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 bb6f0fd..23da633 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
@@ -2,13 +2,17 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
+import com.by4cloud.platformx.device.entity.Device;
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.DeviceMapper;
import com.by4cloud.platformx.device.mapper.InventoryFlowWaterMapper;
import com.by4cloud.platformx.device.service.DeviceInventoryService;
import com.by4cloud.platformx.device.service.InventoryFlowWaterService;
+import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
@@ -18,10 +22,34 @@
* @date 2025-03-13 10:22:39
*/
@Service
+@AllArgsConstructor
public class DeviceInventoryServiceImpl extends ServiceImpl<DeviceInventoryMapper, DeviceInventory> implements DeviceInventoryService {
+
+ private final InventoryFlowWaterMapper flowWaterMapper;
+ private final DeviceMapper deviceMapper;
+
@Override
public R getReleaseDetail(Long id) {
InventoryDetailVo detailVo = baseMapper.getReleaseDetail(id);
return R.ok(detailVo);
}
+
+ @Override
+ public R returnDevice(Long id) {
+ DeviceInventory inventory = baseMapper.selectById(id);
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE);
+ baseMapper.updateById(inventory);
+ //搴撳瓨娴佹按璁板綍
+ InventoryFlowWater flowWater = new InventoryFlowWater();
+ flowWater.setDeviceId(inventory.getDeviceId());
+ Device device = deviceMapper.selectById(inventory.getDeviceId());
+ if (device!=null){
+ flowWater.setClassId(device.getClassId());
+ }
+ flowWater.setInventoryId(inventory.getId());
+ flowWater.setSerialNo(inventory.getSerialNo());
+ flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_IN);
+ flowWaterMapper.insert(flowWater);
+ return R.ok();
+ }
}
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 e468074..18f8ff2 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
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
import com.by4cloud.platformx.device.entity.*;
import com.by4cloud.platformx.device.mapper.*;
import com.by4cloud.platformx.device.service.DeviceLeasingLedgerService;
@@ -94,7 +95,7 @@
inventoryQueryWrapper.eq("serial_no",serialNo);
DeviceInventory inventory = inventoryMapper.selectOne(inventoryQueryWrapper);
if (device!=null&&inventory!=null) {
- inventory.setInventoryStatus(2);
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RENTING);
inventory.setLedgerItemId(item.getId());
//搴撳瓨璋冩暣
inventoryMapper.updateById(inventory);
@@ -107,11 +108,11 @@
flowWater.setClassId(device.getClassId());
//鏍规嵁鍚堝悓绫诲瀷 璐拱 鎵跨 娴佹按鎿嶄綔绫诲瀷涓哄叆搴撴搷浣�
if (contract!=null&&(contract.getType()==1||contract.getType()==2)){
- flowWater.setOperateType(2);
+ flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_IN);
}
//鏍规嵁鍚堝悓绫诲瀷 绉熻祦 娴佹按鎿嶄綔绫诲瀷涓哄嚭搴撴搷浣�
if (contract!=null&&contract.getType()==0){
- flowWater.setOperateType(1);
+ flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_OUT);
}
//璁板綍搴撳瓨娴佹按
inventoryFlowWaterMapper.insert(flowWater);
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java
index 339476d..fd7a9c6 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/DevicePurchasePlanServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.security.util.SecurityUtils;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
import com.by4cloud.platformx.device.constant.MaxSizeContant;
import com.by4cloud.platformx.device.dto.DevicePurchasePlanQueryDTO;
import com.by4cloud.platformx.device.entity.DevicePurchasePlan;
@@ -39,7 +40,7 @@
devicePurchasePlan.setReleaseCompId(SecurityUtils.getUser().getCompId());
devicePurchasePlan.setReleaseId(SecurityUtils.getUser().getId());
devicePurchasePlan.setReleaseTime(new Date());
- devicePurchasePlan.setStatus(0);
+ devicePurchasePlan.setStatus(CommonStatusContant.DEVICE_PURCHASE_STATUS_PANDING_APPROVAL);
baseMapper.insert(devicePurchasePlan);
if (devicePurchasePlan.getPlanItemList() != null&&devicePurchasePlan.getPlanItemList().size()>0) {
devicePurchasePlan.getPlanItemList().forEach(item->{
@@ -58,7 +59,7 @@
@Override
public boolean approved(Long id) {
DevicePurchasePlan plan = baseMapper.selectById(id);
- plan.setStatus(1);
+ plan.setStatus(CommonStatusContant.DEVICE_PURCHASE_STATUS_APPROVED);
baseMapper.updateById(plan);
return true;
}
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
index b4d5526..9f287e0 100644
--- 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
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
import com.by4cloud.platformx.device.constant.MaxSizeContant;
import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO;
import com.by4cloud.platformx.device.entity.DeviceInventory;
@@ -33,10 +34,10 @@
@Override
public R approved(Long id) {
DeviceRepair repair = baseMapper.selectById(id);
- repair.setStatus(2);
+ repair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_REPAIRING);
baseMapper.updateById(repair);
DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId());
- inventory.setInventoryStatus(3);
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_REPAIRING);
inventoryMapper.updateById(inventory);
return R.ok();
}
@@ -44,10 +45,10 @@
@Override
public R complete(Long id) {
DeviceRepair repair = baseMapper.selectById(id);
- repair.setStatus(3);
+ repair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_COMPLETE);
baseMapper.updateById(repair);
DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId());
- inventory.setInventoryStatus(1);
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE);
inventoryMapper.updateById(inventory);
return R.ok();
}
@@ -64,10 +65,10 @@
workOrder.setRepairId(id);
workOrder.setWoCode(maxSizeService.nextNo(MaxSizeContant.DEVICE_PURCHASE_CODE));
workOrder.setWoDesc(repair.getRepairDesc());
- workOrder.setWoType(1);
- workOrder.setWoStatus(1);
+ workOrder.setWoType(CommonStatusContant.WORK_ORDER_TYPE_REPAIR);
+ workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_ALLOCATED);
workOrderMapper.insert(workOrder);
- repair.setWoFlag(1);
+ repair.setWoFlag(CommonStatusContant.DEVICE_REPAIR_FLAG_Y);
baseMapper.updateById(repair);
return R.ok();
}
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
index b6777a0..c72ff40 100644
--- 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
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
import com.by4cloud.platformx.device.dto.DeviceRepairQueryDTO;
import com.by4cloud.platformx.device.entity.DeviceInventory;
import com.by4cloud.platformx.device.entity.DeviceRepair;
@@ -28,10 +29,10 @@
@Override
public R approved(Long id) {
DeviceScrap scrap = baseMapper.selectById(id);
- scrap.setStatus(2);
+ scrap.setStatus(CommonStatusContant.DEVICE_SCRAP_STATUS_COMPLETE);
baseMapper.updateById(scrap);
DeviceInventory inventory = inventoryMapper.selectById(scrap.getInventoryId());
- inventory.setInventoryStatus(4);
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_SCRAPING);
inventoryMapper.updateById(inventory);
return R.ok();
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java
index 4b55f15..7770917 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionPlanServiceImpl.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
import com.by4cloud.platformx.device.dto.InspectionPlanQueryDTO;
import com.by4cloud.platformx.device.entity.*;
import com.by4cloud.platformx.device.mapper.*;
@@ -63,10 +64,10 @@
}
//鏍规嵁鏄惁鐢熸垚浠诲姟鏍囪瘑鐢熸垚浠诲姟
- if (inspectionPlan.getTaskFlag()==1){
+ if (inspectionPlan.getTaskFlag()==CommonStatusContant.INSPECTION_PLAN_FLAG_GEN_Y){
InspectionTask task = BeanUtil.copyProperties(inspectionPlan, InspectionTask.class);
task.setId(null);
- task.setTaskStatus(0);
+ task.setTaskStatus(CommonStatusContant.INSPECTION_TASK_NO_STARTED);
task.setTaskName(inspectionPlan.getPlanName()+"鐨勪换鍔�");
task.setPlanId(inspectionPlan.getId());
taskMapper.insert(task);
@@ -171,10 +172,10 @@
}
//鏍规嵁鏄惁鐢熸垚浠诲姟鏍囪瘑鐢熸垚浠诲姟
- if (inspectionPlan.getTaskFlag()==1){
+ if (inspectionPlan.getTaskFlag()==CommonStatusContant.INSPECTION_PLAN_FLAG_GEN_Y){
InspectionTask task = BeanUtil.copyProperties(inspectionPlan, InspectionTask.class);
task.setId(null);
- task.setTaskStatus(0);
+ task.setTaskStatus(CommonStatusContant.INSPECTION_TASK_NO_STARTED);
task.setTaskName(inspectionPlan.getPlanName()+"鐨勪换鍔�");
task.setPlanId(inspectionPlan.getId());
taskMapper.insert(task);
@@ -212,7 +213,7 @@
InspectionPlan plan = getByIdNew(id);
InspectionTask task = BeanUtil.copyProperties(plan, InspectionTask.class);
task.setId(null);
- task.setTaskStatus(0);
+ task.setTaskStatus(CommonStatusContant.INSPECTION_TASK_NO_STARTED);
task.setTaskName(plan.getPlanName()+"鐨勪换鍔�");
task.setPlanId(plan.getId());
taskMapper.insert(task);
@@ -245,7 +246,7 @@
}
//璺熸柊璁″垝鏍囪瘑
- plan.setTaskFlag(1);
+ plan.setTaskFlag(CommonStatusContant.INSPECTION_PLAN_FLAG_GEN_Y);
baseMapper.updateById(plan);
return R.ok();
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java
index 631c268..de1dcea 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/InspectionTaskServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.admin.api.entity.SysUser;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
import com.by4cloud.platformx.device.dto.InspectionTaskQueryDTO;
import com.by4cloud.platformx.device.entity.InspectionTask;
import com.by4cloud.platformx.device.entity.InspectionTaskItem;
@@ -48,7 +49,7 @@
inspectionTask.getItemList().stream().forEach(item->{
itemMapper.updateById(item);
});
- inspectionTask.setTaskStatus(2);
+ inspectionTask.setTaskStatus(CommonStatusContant.INSPECTION_TASK_COMPLETE);
baseMapper.updateById(inspectionTask);
return true;
}
@@ -56,7 +57,7 @@
@Override
public boolean taskStartById(Long id) {
InspectionTask task = baseMapper.selectById(id);
- task.setTaskStatus(1);
+ task.setTaskStatus(CommonStatusContant.INSPECTION_TASK_DURING_INSPECTION);
baseMapper.updateById(task);
return true;
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
index f9bcaa3..beaf1ac 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ReceivingNoteServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
import com.by4cloud.platformx.device.constant.MaxSizeContant;
import com.by4cloud.platformx.device.dto.ReceivingNoteQueryDTO;
import com.by4cloud.platformx.device.entity.*;
@@ -118,12 +119,12 @@
inventory.setName(device.getName());
inventory.setSerialNo(serialNo);
if (contract!=null&&(contract.getType()==1||contract.getType()==2)){
- inventory.setSource(1);
- inventory.setInventoryStatus(1);
+ inventory.setSource(CommonStatusContant.DEVICE_INVENTORY_RESOURCE_WAREHOUSE);
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE);
}
if (contract!=null&&contract.getType()==0){
- inventory.setSource(1);
- inventory.setInventoryStatus(2);
+ inventory.setSource(CommonStatusContant.DEVICE_INVENTORY_RESOURCE_WAREHOUSE);
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RENTING);
}
inventoryMapper.insert(inventory);
//璁惧搴撳瓨娴佹按鍚屾鏂板
@@ -136,7 +137,7 @@
flowWater.setOperateType(2);
}
if (contract!=null&&contract.getType()==0){
- flowWater.setOperateType(1);
+ flowWater.setOperateType(CommonStatusContant.DEVICE_INVENTORY_FLOW_WATER_OUT);
}
inventoryFlowWaterMapper.insert(flowWater);
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ResidualRecycleServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ResidualRecycleServiceImpl.java
new file mode 100644
index 0000000..929d167
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ResidualRecycleServiceImpl.java
@@ -0,0 +1,56 @@
+package com.by4cloud.platformx.device.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
+import com.by4cloud.platformx.device.entity.DeviceInventory;
+import com.by4cloud.platformx.device.entity.ResidualRecycle;
+import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
+import com.by4cloud.platformx.device.mapper.ResidualRecycleMapper;
+import com.by4cloud.platformx.device.service.ResidualRecycleService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+/**
+ * 娈嬩綋鍥炴敹
+ *
+ * @author syt
+ * @date 2025-04-23 10:28:34
+ */
+@Service
+@AllArgsConstructor
+public class ResidualRecycleServiceImpl extends ServiceImpl<ResidualRecycleMapper, ResidualRecycle> implements ResidualRecycleService {
+
+ private final DeviceInventoryMapper inventoryMapper;
+
+ @Override
+ public R approvedById(Long id) {
+ ResidualRecycle residualRecycle = baseMapper.selectById(id);
+ residualRecycle.setStatus(CommonStatusContant.RESIDUAL_RECYCLE_STATUS_HANDLING);
+ baseMapper.updateById(residualRecycle);
+ return R.ok();
+ }
+
+ @Override
+ public R updateByIdNew(ResidualRecycle residualRecycle) {
+ if (residualRecycle.getStatus()==CommonStatusContant.RESIDUAL_RECYCLE_STATUS_HANDLING){
+ residualRecycle.setStatus(CommonStatusContant.RESIDUAL_RECYCLE_STATUS_COMPLETE);
+ QueryWrapper<DeviceInventory> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("device_id",residualRecycle.getDeviceId());
+ queryWrapper.eq("serial_no",residualRecycle.getSerialNo());
+ DeviceInventory inventory = inventoryMapper.selectOne(queryWrapper);
+ if (inventory!=null){
+ if (residualRecycle.getHandleMethod()==CommonStatusContant.RESIDUAL_RECYCLE_METHOD_DISASSEMBE_RECYCLE||
+ residualRecycle.getHandleMethod()==CommonStatusContant.RESIDUAL_RECYCLE_METHOD_TRANSFER_PROFESSIONAL_INSTITUTION){
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RECYCLE);
+ inventoryMapper.updateById(inventory);
+ }else if (residualRecycle.getHandleMethod()==CommonStatusContant.RESIDUAL_RECYCLE_METHOD_CYCLE_RENTING){
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE);
+ inventoryMapper.updateById(inventory);
+ }
+ }
+ }
+ baseMapper.updateById(residualRecycle);
+ return R.ok();
+ }
+}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java
index 2f05f68..dff8d95 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java
@@ -1,9 +1,16 @@
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.constant.CommonStatusContant;
+import com.by4cloud.platformx.device.entity.DeviceInventory;
+import com.by4cloud.platformx.device.entity.DeviceRepair;
import com.by4cloud.platformx.device.entity.WorkOrder;
+import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
+import com.by4cloud.platformx.device.mapper.DeviceRepairMapper;
import com.by4cloud.platformx.device.mapper.WorkOrderMapper;
import com.by4cloud.platformx.device.service.WorkOrderService;
+import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 宸ュ崟
@@ -12,5 +19,35 @@
* @date 2025-04-22 16:01:37
*/
@Service
+@AllArgsConstructor
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
+
+ private final DeviceRepairMapper repairMapper;
+ private final DeviceInventoryMapper inventoryMapper;
+
+ @Override
+ public R updateByIdNew(WorkOrder workOrder) {
+ //宸ュ崟澶勭悊
+ if (workOrder.getWoStatus()==2){
+ workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_CLOSING);
+ }
+ //浜哄憳鍒嗛厤
+ if (workOrder.getWoStatus()==1&&workOrder.getHandleUserId()!=null){
+ workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_HANDLING);
+ }
+
+ baseMapper.updateById(workOrder);
+ //鏇存柊缁翠慨鐘舵��
+ if (workOrder.getRepairId()!=null){
+ DeviceRepair repair = repairMapper.selectById(workOrder.getRepairId());
+ repair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_COMPLETE);
+ repairMapper.updateById(repair);
+ //鏇存柊搴撳瓨鐘舵��
+ DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId());
+ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE);
+ inventoryMapper.updateById(inventory);
+ }
+
+ return R.ok();
+ }
}
\ No newline at end of file
diff --git a/platformx-device-biz/src/main/resources/mapper/ResidualRecycleMapper.xml b/platformx-device-biz/src/main/resources/mapper/ResidualRecycleMapper.xml
new file mode 100644
index 0000000..6943087
--- /dev/null
+++ b/platformx-device-biz/src/main/resources/mapper/ResidualRecycleMapper.xml
@@ -0,0 +1,30 @@
+<?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.ResidualRecycleMapper">
+
+ <resultMap id="residualRecycleMap" type="com.by4cloud.platformx.device.entity.ResidualRecycle">
+ <id property="id" column="id"/>
+ <result property="compId" column="comp_id"/>
+ <result property="accumulatedDepreciation" column="accumulated_depreciation"/>
+ <result property="actualResidual" column="actual_residual"/>
+ <result property="deviceCode" column="device_code"/>
+ <result property="deviceId" column="device_id"/>
+ <result property="deviceModels" column="device_models"/>
+ <result property="deviceName" column="device_name"/>
+ <result property="handleMethod" column="handle_method"/>
+ <result property="handleOrgan" column="handle_organ"/>
+ <result property="initialValue" column="initial_value"/>
+ <result property="meteringUnit" column="metering_unit"/>
+ <result property="registrationDate" column="registration_date"/>
+ <result property="residualCalculation" column="residual_calculation"/>
+ <result property="serialNo" column="serial_no"/>
+ <result property="status" column="status"/>
+ <result property="verificationDate" column="verification_date"/>
+ <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
--
Gitblit v1.9.1