From 3ebacd55c15c949ffb45d8ed0a499ee053ca4208 Mon Sep 17 00:00:00 2001 From: "Mr.j" <2221464500@qq.com> Date: Fri, 1 Aug 2025 15:14:05 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E6=A8=A1=E5=9D=97=E7=BC=96=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4=EF=BC=8C=E6=9F=A5=E7=9C=8B=E8=AF=A6=E6=83=85?= =?UTF-8?q?=EF=BC=8C=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomLocalDateTimeDeserializer.java | 20 +- .../znpt/domain/entity/EquipmentEntity.java | 57 ++++++ .../dite/znpt/domain/vo/EquipmentListReq.java | 12 ++ .../com/dite/znpt/domain/vo/EquipmentReq.java | 72 ++++++++ .../dite/znpt/domain/vo/EquipmentResp.java | 57 ++++++ .../service/impl/EquipmentServiceImpl.java | 171 +++++++++++++++++- 6 files changed, 382 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/config/CustomLocalDateTimeDeserializer.java b/core/src/main/java/com/dite/znpt/config/CustomLocalDateTimeDeserializer.java index 9e3e1e6..5d748f0 100644 --- a/core/src/main/java/com/dite/znpt/config/CustomLocalDateTimeDeserializer.java +++ b/core/src/main/java/com/dite/znpt/config/CustomLocalDateTimeDeserializer.java @@ -10,11 +10,27 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class CustomLocalDateTimeDeserializer extends JsonDeserializer { - private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + private static final DateTimeFormatter FORMATTER1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + private static final DateTimeFormatter FORMATTER2 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm"); @Override public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { String date = p.getText(); - return LocalDateTimeUtil.parse(date, FORMATTER); + if (date == null || date.trim().isEmpty()) { + return null; + } + + try { + // 尝试第一种格式 yyyy-MM-dd HH:mm:ss + return LocalDateTimeUtil.parse(date, FORMATTER1); + } catch (Exception e1) { + try { + // 尝试第二种格式 yyyy/MM/dd HH:mm + return LocalDateTimeUtil.parse(date, FORMATTER2); + } catch (Exception e2) { + // 如果都失败,尝试自动解析 + return LocalDateTimeUtil.parse(date); + } + } } } diff --git a/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java index 9138370..6609199 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java @@ -125,6 +125,63 @@ public class EquipmentEntity extends AuditableEntity implements Serializable { @ApiModelProperty("资产备注") private String assetRemark; + @ApiModelProperty("使用部门/人") + private String usingDepartment; + + @ApiModelProperty("领用时间") + private LocalDateTime borrowingTime; + + @ApiModelProperty("归还时间") + private LocalDateTime returnTime; + + @ApiModelProperty("出库时间") + private LocalDateTime outStockTime; + + @ApiModelProperty("总使用时间") + private String totalUsageTime; + + @ApiModelProperty("折旧率") + private BigDecimal depreciationRate; + + @ApiModelProperty("折旧方法说明") + private String depreciationMethodDesc; + + @ApiModelProperty("发票") + private String invoice; + + @ApiModelProperty("发票状态") + private String invoiceStatus; + + @ApiModelProperty("附件") + private String attachments; + + @ApiModelProperty("照片") + private String photos; + + @ApiModelProperty("条码") + private String barcode; + + @ApiModelProperty("导入人") + private String importer; + + @ApiModelProperty("盘库时间/状态1") + private String inventoryTimeStatus1; + + @ApiModelProperty("盘库时间/状态2") + private String inventoryTimeStatus2; + + @ApiModelProperty("盘库时间/状态3") + private String inventoryTimeStatus3; + + @ApiModelProperty("盘点时间/状态1") + private String inventoryCheckTimeStatus1; + + @ApiModelProperty("盘点时间/状态2") + private String inventoryCheckTimeStatus2; + + @ApiModelProperty("盘点时间/状态3") + private String inventoryCheckTimeStatus3; + @ApiModelProperty("当前使用记录id") @TableField(updateStrategy = FieldStrategy.ALWAYS) private String useRecordId; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentListReq.java index cfeb779..1747ea6 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentListReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentListReq.java @@ -76,6 +76,18 @@ public class EquipmentListReq implements Serializable { @ApiModelProperty("资产备注") private String assetRemark; + @ApiModelProperty("使用部门/人") + private String usingDepartment; + + @ApiModelProperty("发票") + private String invoice; + + @ApiModelProperty("条码") + private String barcode; + + @ApiModelProperty("导入人") + private String importer; + @ApiModelProperty("采购时间开始") private LocalDateTime purchaseTimeStart; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentReq.java b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentReq.java index 947c006..430d19f 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentReq.java @@ -134,4 +134,76 @@ public class EquipmentReq implements Serializable { @ApiModelProperty("资产备注") @Size(max = 1000, message = "资产备注长度不能超过1000个字") private String assetRemark; + + @ApiModelProperty("使用部门/人") + @Size(max = 200, message = "使用部门/人长度不能超过200个字") + private String usingDepartment; + + @ApiModelProperty("领用时间") + private LocalDateTime borrowingTime; + + @ApiModelProperty("归还时间") + private LocalDateTime returnTime; + + @ApiModelProperty("出库时间") + private LocalDateTime outStockTime; + + @ApiModelProperty("总使用时间") + @Size(max = 100, message = "总使用时间长度不能超过100个字") + private String totalUsageTime; + + @ApiModelProperty("折旧率") + private BigDecimal depreciationRate; + + @ApiModelProperty("折旧方法说明") + @Size(max = 500, message = "折旧方法说明长度不能超过500个字") + private String depreciationMethodDesc; + + @ApiModelProperty("发票") + @Size(max = 100, message = "发票长度不能超过100个字") + private String invoice; + + @ApiModelProperty("发票状态") + @Size(max = 50, message = "发票状态长度不能超过50个字") + private String invoiceStatus; + + @ApiModelProperty("附件") + @Size(max = 500, message = "附件长度不能超过500个字") + private String attachments; + + @ApiModelProperty("照片") + @Size(max = 500, message = "照片长度不能超过500个字") + private String photos; + + @ApiModelProperty("条码") + @Size(max = 100, message = "条码长度不能超过100个字") + private String barcode; + + @ApiModelProperty("导入人") + @Size(max = 100, message = "导入人长度不能超过100个字") + private String importer; + + @ApiModelProperty("盘库时间/状态1") + @Size(max = 100, message = "盘库时间/状态1长度不能超过100个字") + private String inventoryTimeStatus1; + + @ApiModelProperty("盘库时间/状态2") + @Size(max = 100, message = "盘库时间/状态2长度不能超过100个字") + private String inventoryTimeStatus2; + + @ApiModelProperty("盘库时间/状态3") + @Size(max = 100, message = "盘库时间/状态3长度不能超过100个字") + private String inventoryTimeStatus3; + + @ApiModelProperty("盘点时间/状态1") + @Size(max = 100, message = "盘点时间/状态1长度不能超过100个字") + private String inventoryCheckTimeStatus1; + + @ApiModelProperty("盘点时间/状态2") + @Size(max = 100, message = "盘点时间/状态2长度不能超过100个字") + private String inventoryCheckTimeStatus2; + + @ApiModelProperty("盘点时间/状态3") + @Size(max = 100, message = "盘点时间/状态3长度不能超过100个字") + private String inventoryCheckTimeStatus3; } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentResp.java b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentResp.java index 1200c27..9125499 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentResp.java @@ -131,6 +131,63 @@ public class EquipmentResp implements Serializable { @ApiModelProperty("资产备注") private String assetRemark; + @ApiModelProperty("使用部门/人") + private String usingDepartment; + + @ApiModelProperty("领用时间") + private LocalDateTime borrowingTime; + + @ApiModelProperty("归还时间") + private LocalDateTime returnTime; + + @ApiModelProperty("出库时间") + private LocalDateTime outStockTime; + + @ApiModelProperty("总使用时间") + private String totalUsageTime; + + @ApiModelProperty("折旧率") + private BigDecimal depreciationRate; + + @ApiModelProperty("折旧方法说明") + private String depreciationMethodDesc; + + @ApiModelProperty("发票") + private String invoice; + + @ApiModelProperty("发票状态") + private String invoiceStatus; + + @ApiModelProperty("附件") + private String attachments; + + @ApiModelProperty("照片") + private String photos; + + @ApiModelProperty("条码") + private String barcode; + + @ApiModelProperty("导入人") + private String importer; + + @ApiModelProperty("盘库时间/状态1") + private String inventoryTimeStatus1; + + @ApiModelProperty("盘库时间/状态2") + private String inventoryTimeStatus2; + + @ApiModelProperty("盘库时间/状态3") + private String inventoryTimeStatus3; + + @ApiModelProperty("盘点时间/状态1") + private String inventoryCheckTimeStatus1; + + @ApiModelProperty("盘点时间/状态2") + private String inventoryCheckTimeStatus2; + + @ApiModelProperty("盘点时间/状态3") + private String inventoryCheckTimeStatus3; + @ApiModelProperty("项目id") private String projectId; diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java index cdb1f64..0e385a2 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java @@ -1,11 +1,12 @@ package com.dite.znpt.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dite.znpt.constant.Message; -import com.dite.znpt.converts.EquipmentConverts; +// 移除EquipmentConverts导入,使用手动转换 import com.dite.znpt.domain.entity.EquipmentEntity; import com.dite.znpt.domain.vo.EquipmentListReq; import com.dite.znpt.domain.vo.EquipmentReq; @@ -22,8 +23,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; +import com.dite.znpt.constant.Constants; /** * @author Bear.G @@ -43,7 +46,7 @@ public class EquipmentServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(EquipmentEntity::getDelFlag, "0"); + // 不需要手动添加 del_flag 条件,@TableLogic 注解会自动处理 // 添加搜索条件并记录日志 int conditionCount = 0; @@ -136,6 +139,28 @@ public class EquipmentServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(EquipmentEntity::getEquipmentId, equipmentId) + .set(EquipmentEntity::getEquipmentStatus, "scrap") + .set(EquipmentEntity::getLocationStatus, "scrapped") + .set(EquipmentEntity::getActualScrapTime, LocalDateTime.now()) + .set(EquipmentEntity::getStatusChangeTime, LocalDateTime.now()); + + boolean updateResult = this.update(updateWrapper); + if (!updateResult) { + log.error("设备状态更新失败,设备ID: {}", equipmentId); + throw new ServiceException("设备状态更新失败,请稍后重试"); + } + + // 执行软删除 - 使用 MyBatis-Plus 的逻辑删除方法 + boolean deleteResult = this.removeById(equipmentId); + + if (deleteResult) { + log.info("设备删除成功,设备ID: {}, 设备名称: {}", equipmentId, equipment.getEquipmentName()); + } else { + log.error("设备删除失败,设备ID: {}", equipmentId); + throw new ServiceException("设备删除失败,请稍后重试"); + } + } + + /** + * 将EquipmentReq转换为EquipmentEntity + */ + private EquipmentEntity convertToEntity(EquipmentReq req) { + EquipmentEntity entity = new EquipmentEntity(); + entity.setAssetCode(req.getAssetCode()); + entity.setEquipmentName(req.getEquipmentName()); + entity.setEquipmentModel(req.getEquipmentModel()); + entity.setEquipmentType(req.getEquipmentType()); + entity.setEquipmentStatus(req.getEquipmentStatus()); + entity.setUseStatus(req.getUseStatus()); + entity.setEquipmentSn(req.getEquipmentSn()); + entity.setBrand(req.getBrand()); + entity.setSpecification(req.getSpecification()); + entity.setLocationStatus(req.getLocationStatus()); + entity.setPhysicalLocation(req.getPhysicalLocation()); + entity.setResponsiblePerson(req.getResponsiblePerson()); + entity.setHealthStatus(req.getHealthStatus()); + entity.setPurchaseTime(req.getPurchaseTime()); + entity.setInStockTime(req.getInStockTime()); + entity.setActivationTime(req.getActivationTime()); + entity.setExpectedScrapTime(req.getExpectedScrapTime()); + entity.setActualScrapTime(req.getActualScrapTime()); + entity.setStatusChangeTime(req.getStatusChangeTime()); + entity.setPurchaseOrder(req.getPurchaseOrder()); + entity.setSupplierName(req.getSupplierName()); + entity.setPurchasePrice(req.getPurchasePrice()); + entity.setCurrentNetValue(req.getCurrentNetValue()); + entity.setDepreciationMethod(req.getDepreciationMethod()); + entity.setDepreciationYears(req.getDepreciationYears()); + entity.setSalvageValue(req.getSalvageValue()); + entity.setWarrantyExpireDate(req.getWarrantyExpireDate()); + entity.setLastMaintenanceDate(req.getLastMaintenanceDate()); + entity.setNextMaintenanceDate(req.getNextMaintenanceDate()); + entity.setMaintenancePerson(req.getMaintenancePerson()); + entity.setInventoryBarcode(req.getInventoryBarcode()); + entity.setAssetRemark(req.getAssetRemark()); + + // 新增字段转换 + entity.setUsingDepartment(req.getUsingDepartment()); + entity.setBorrowingTime(req.getBorrowingTime()); + entity.setReturnTime(req.getReturnTime()); + entity.setOutStockTime(req.getOutStockTime()); + entity.setTotalUsageTime(req.getTotalUsageTime()); + entity.setDepreciationRate(req.getDepreciationRate()); + entity.setDepreciationMethodDesc(req.getDepreciationMethodDesc()); + entity.setInvoice(req.getInvoice()); + entity.setInvoiceStatus(req.getInvoiceStatus()); + entity.setAttachments(req.getAttachments()); + entity.setPhotos(req.getPhotos()); + entity.setBarcode(req.getBarcode()); + entity.setImporter(req.getImporter()); + entity.setInventoryTimeStatus1(req.getInventoryTimeStatus1()); + entity.setInventoryTimeStatus2(req.getInventoryTimeStatus2()); + entity.setInventoryTimeStatus3(req.getInventoryTimeStatus3()); + entity.setInventoryCheckTimeStatus1(req.getInventoryCheckTimeStatus1()); + entity.setInventoryCheckTimeStatus2(req.getInventoryCheckTimeStatus2()); + entity.setInventoryCheckTimeStatus3(req.getInventoryCheckTimeStatus3()); + + return entity; } /** @@ -413,6 +552,28 @@ public class EquipmentServiceImpl extends ServiceImpl Date: Mon, 4 Aug 2025 22:47:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Revert=20"=E5=AE=9E=E7=8E=B0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E4=B8=AD=E5=BF=83=E6=A8=A1=E5=9D=97=E7=BC=96=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E5=88=A0=E9=99=A4=EF=BC=8C=E6=9F=A5=E7=9C=8B=E8=AF=A6?= =?UTF-8?q?=E6=83=85=EF=BC=8C=E6=9F=A5=E7=9C=8B"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 3ebacd55c15c949ffb45d8ed0a499ee053ca4208. --- .../CustomLocalDateTimeDeserializer.java | 20 +- .../znpt/domain/entity/EquipmentEntity.java | 57 ------ .../dite/znpt/domain/vo/EquipmentListReq.java | 12 -- .../com/dite/znpt/domain/vo/EquipmentReq.java | 72 -------- .../dite/znpt/domain/vo/EquipmentResp.java | 57 ------ .../service/impl/EquipmentServiceImpl.java | 171 +----------------- 6 files changed, 7 insertions(+), 382 deletions(-) diff --git a/core/src/main/java/com/dite/znpt/config/CustomLocalDateTimeDeserializer.java b/core/src/main/java/com/dite/znpt/config/CustomLocalDateTimeDeserializer.java index 5d748f0..9e3e1e6 100644 --- a/core/src/main/java/com/dite/znpt/config/CustomLocalDateTimeDeserializer.java +++ b/core/src/main/java/com/dite/znpt/config/CustomLocalDateTimeDeserializer.java @@ -10,27 +10,11 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class CustomLocalDateTimeDeserializer extends JsonDeserializer { - private static final DateTimeFormatter FORMATTER1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - private static final DateTimeFormatter FORMATTER2 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm"); + private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); @Override public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { String date = p.getText(); - if (date == null || date.trim().isEmpty()) { - return null; - } - - try { - // 尝试第一种格式 yyyy-MM-dd HH:mm:ss - return LocalDateTimeUtil.parse(date, FORMATTER1); - } catch (Exception e1) { - try { - // 尝试第二种格式 yyyy/MM/dd HH:mm - return LocalDateTimeUtil.parse(date, FORMATTER2); - } catch (Exception e2) { - // 如果都失败,尝试自动解析 - return LocalDateTimeUtil.parse(date); - } - } + return LocalDateTimeUtil.parse(date, FORMATTER); } } diff --git a/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java index 6609199..9138370 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/EquipmentEntity.java @@ -125,63 +125,6 @@ public class EquipmentEntity extends AuditableEntity implements Serializable { @ApiModelProperty("资产备注") private String assetRemark; - @ApiModelProperty("使用部门/人") - private String usingDepartment; - - @ApiModelProperty("领用时间") - private LocalDateTime borrowingTime; - - @ApiModelProperty("归还时间") - private LocalDateTime returnTime; - - @ApiModelProperty("出库时间") - private LocalDateTime outStockTime; - - @ApiModelProperty("总使用时间") - private String totalUsageTime; - - @ApiModelProperty("折旧率") - private BigDecimal depreciationRate; - - @ApiModelProperty("折旧方法说明") - private String depreciationMethodDesc; - - @ApiModelProperty("发票") - private String invoice; - - @ApiModelProperty("发票状态") - private String invoiceStatus; - - @ApiModelProperty("附件") - private String attachments; - - @ApiModelProperty("照片") - private String photos; - - @ApiModelProperty("条码") - private String barcode; - - @ApiModelProperty("导入人") - private String importer; - - @ApiModelProperty("盘库时间/状态1") - private String inventoryTimeStatus1; - - @ApiModelProperty("盘库时间/状态2") - private String inventoryTimeStatus2; - - @ApiModelProperty("盘库时间/状态3") - private String inventoryTimeStatus3; - - @ApiModelProperty("盘点时间/状态1") - private String inventoryCheckTimeStatus1; - - @ApiModelProperty("盘点时间/状态2") - private String inventoryCheckTimeStatus2; - - @ApiModelProperty("盘点时间/状态3") - private String inventoryCheckTimeStatus3; - @ApiModelProperty("当前使用记录id") @TableField(updateStrategy = FieldStrategy.ALWAYS) private String useRecordId; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentListReq.java index 1747ea6..cfeb779 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentListReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentListReq.java @@ -76,18 +76,6 @@ public class EquipmentListReq implements Serializable { @ApiModelProperty("资产备注") private String assetRemark; - @ApiModelProperty("使用部门/人") - private String usingDepartment; - - @ApiModelProperty("发票") - private String invoice; - - @ApiModelProperty("条码") - private String barcode; - - @ApiModelProperty("导入人") - private String importer; - @ApiModelProperty("采购时间开始") private LocalDateTime purchaseTimeStart; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentReq.java b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentReq.java index 430d19f..947c006 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentReq.java @@ -134,76 +134,4 @@ public class EquipmentReq implements Serializable { @ApiModelProperty("资产备注") @Size(max = 1000, message = "资产备注长度不能超过1000个字") private String assetRemark; - - @ApiModelProperty("使用部门/人") - @Size(max = 200, message = "使用部门/人长度不能超过200个字") - private String usingDepartment; - - @ApiModelProperty("领用时间") - private LocalDateTime borrowingTime; - - @ApiModelProperty("归还时间") - private LocalDateTime returnTime; - - @ApiModelProperty("出库时间") - private LocalDateTime outStockTime; - - @ApiModelProperty("总使用时间") - @Size(max = 100, message = "总使用时间长度不能超过100个字") - private String totalUsageTime; - - @ApiModelProperty("折旧率") - private BigDecimal depreciationRate; - - @ApiModelProperty("折旧方法说明") - @Size(max = 500, message = "折旧方法说明长度不能超过500个字") - private String depreciationMethodDesc; - - @ApiModelProperty("发票") - @Size(max = 100, message = "发票长度不能超过100个字") - private String invoice; - - @ApiModelProperty("发票状态") - @Size(max = 50, message = "发票状态长度不能超过50个字") - private String invoiceStatus; - - @ApiModelProperty("附件") - @Size(max = 500, message = "附件长度不能超过500个字") - private String attachments; - - @ApiModelProperty("照片") - @Size(max = 500, message = "照片长度不能超过500个字") - private String photos; - - @ApiModelProperty("条码") - @Size(max = 100, message = "条码长度不能超过100个字") - private String barcode; - - @ApiModelProperty("导入人") - @Size(max = 100, message = "导入人长度不能超过100个字") - private String importer; - - @ApiModelProperty("盘库时间/状态1") - @Size(max = 100, message = "盘库时间/状态1长度不能超过100个字") - private String inventoryTimeStatus1; - - @ApiModelProperty("盘库时间/状态2") - @Size(max = 100, message = "盘库时间/状态2长度不能超过100个字") - private String inventoryTimeStatus2; - - @ApiModelProperty("盘库时间/状态3") - @Size(max = 100, message = "盘库时间/状态3长度不能超过100个字") - private String inventoryTimeStatus3; - - @ApiModelProperty("盘点时间/状态1") - @Size(max = 100, message = "盘点时间/状态1长度不能超过100个字") - private String inventoryCheckTimeStatus1; - - @ApiModelProperty("盘点时间/状态2") - @Size(max = 100, message = "盘点时间/状态2长度不能超过100个字") - private String inventoryCheckTimeStatus2; - - @ApiModelProperty("盘点时间/状态3") - @Size(max = 100, message = "盘点时间/状态3长度不能超过100个字") - private String inventoryCheckTimeStatus3; } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentResp.java b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentResp.java index 9125499..1200c27 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/EquipmentResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/EquipmentResp.java @@ -131,63 +131,6 @@ public class EquipmentResp implements Serializable { @ApiModelProperty("资产备注") private String assetRemark; - @ApiModelProperty("使用部门/人") - private String usingDepartment; - - @ApiModelProperty("领用时间") - private LocalDateTime borrowingTime; - - @ApiModelProperty("归还时间") - private LocalDateTime returnTime; - - @ApiModelProperty("出库时间") - private LocalDateTime outStockTime; - - @ApiModelProperty("总使用时间") - private String totalUsageTime; - - @ApiModelProperty("折旧率") - private BigDecimal depreciationRate; - - @ApiModelProperty("折旧方法说明") - private String depreciationMethodDesc; - - @ApiModelProperty("发票") - private String invoice; - - @ApiModelProperty("发票状态") - private String invoiceStatus; - - @ApiModelProperty("附件") - private String attachments; - - @ApiModelProperty("照片") - private String photos; - - @ApiModelProperty("条码") - private String barcode; - - @ApiModelProperty("导入人") - private String importer; - - @ApiModelProperty("盘库时间/状态1") - private String inventoryTimeStatus1; - - @ApiModelProperty("盘库时间/状态2") - private String inventoryTimeStatus2; - - @ApiModelProperty("盘库时间/状态3") - private String inventoryTimeStatus3; - - @ApiModelProperty("盘点时间/状态1") - private String inventoryCheckTimeStatus1; - - @ApiModelProperty("盘点时间/状态2") - private String inventoryCheckTimeStatus2; - - @ApiModelProperty("盘点时间/状态3") - private String inventoryCheckTimeStatus3; - @ApiModelProperty("项目id") private String projectId; diff --git a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java index 0e385a2..cdb1f64 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/EquipmentServiceImpl.java @@ -1,12 +1,11 @@ package com.dite.znpt.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dite.znpt.constant.Message; -// 移除EquipmentConverts导入,使用手动转换 +import com.dite.znpt.converts.EquipmentConverts; import com.dite.znpt.domain.entity.EquipmentEntity; import com.dite.znpt.domain.vo.EquipmentListReq; import com.dite.znpt.domain.vo.EquipmentReq; @@ -23,10 +22,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; -import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; -import com.dite.znpt.constant.Constants; /** * @author Bear.G @@ -46,7 +43,7 @@ public class EquipmentServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - // 不需要手动添加 del_flag 条件,@TableLogic 注解会自动处理 + queryWrapper.eq(EquipmentEntity::getDelFlag, "0"); // 添加搜索条件并记录日志 int conditionCount = 0; @@ -139,28 +136,6 @@ public class EquipmentServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.eq(EquipmentEntity::getEquipmentId, equipmentId) - .set(EquipmentEntity::getEquipmentStatus, "scrap") - .set(EquipmentEntity::getLocationStatus, "scrapped") - .set(EquipmentEntity::getActualScrapTime, LocalDateTime.now()) - .set(EquipmentEntity::getStatusChangeTime, LocalDateTime.now()); - - boolean updateResult = this.update(updateWrapper); - if (!updateResult) { - log.error("设备状态更新失败,设备ID: {}", equipmentId); - throw new ServiceException("设备状态更新失败,请稍后重试"); - } - - // 执行软删除 - 使用 MyBatis-Plus 的逻辑删除方法 - boolean deleteResult = this.removeById(equipmentId); - - if (deleteResult) { - log.info("设备删除成功,设备ID: {}, 设备名称: {}", equipmentId, equipment.getEquipmentName()); - } else { - log.error("设备删除失败,设备ID: {}", equipmentId); - throw new ServiceException("设备删除失败,请稍后重试"); - } - } - - /** - * 将EquipmentReq转换为EquipmentEntity - */ - private EquipmentEntity convertToEntity(EquipmentReq req) { - EquipmentEntity entity = new EquipmentEntity(); - entity.setAssetCode(req.getAssetCode()); - entity.setEquipmentName(req.getEquipmentName()); - entity.setEquipmentModel(req.getEquipmentModel()); - entity.setEquipmentType(req.getEquipmentType()); - entity.setEquipmentStatus(req.getEquipmentStatus()); - entity.setUseStatus(req.getUseStatus()); - entity.setEquipmentSn(req.getEquipmentSn()); - entity.setBrand(req.getBrand()); - entity.setSpecification(req.getSpecification()); - entity.setLocationStatus(req.getLocationStatus()); - entity.setPhysicalLocation(req.getPhysicalLocation()); - entity.setResponsiblePerson(req.getResponsiblePerson()); - entity.setHealthStatus(req.getHealthStatus()); - entity.setPurchaseTime(req.getPurchaseTime()); - entity.setInStockTime(req.getInStockTime()); - entity.setActivationTime(req.getActivationTime()); - entity.setExpectedScrapTime(req.getExpectedScrapTime()); - entity.setActualScrapTime(req.getActualScrapTime()); - entity.setStatusChangeTime(req.getStatusChangeTime()); - entity.setPurchaseOrder(req.getPurchaseOrder()); - entity.setSupplierName(req.getSupplierName()); - entity.setPurchasePrice(req.getPurchasePrice()); - entity.setCurrentNetValue(req.getCurrentNetValue()); - entity.setDepreciationMethod(req.getDepreciationMethod()); - entity.setDepreciationYears(req.getDepreciationYears()); - entity.setSalvageValue(req.getSalvageValue()); - entity.setWarrantyExpireDate(req.getWarrantyExpireDate()); - entity.setLastMaintenanceDate(req.getLastMaintenanceDate()); - entity.setNextMaintenanceDate(req.getNextMaintenanceDate()); - entity.setMaintenancePerson(req.getMaintenancePerson()); - entity.setInventoryBarcode(req.getInventoryBarcode()); - entity.setAssetRemark(req.getAssetRemark()); - - // 新增字段转换 - entity.setUsingDepartment(req.getUsingDepartment()); - entity.setBorrowingTime(req.getBorrowingTime()); - entity.setReturnTime(req.getReturnTime()); - entity.setOutStockTime(req.getOutStockTime()); - entity.setTotalUsageTime(req.getTotalUsageTime()); - entity.setDepreciationRate(req.getDepreciationRate()); - entity.setDepreciationMethodDesc(req.getDepreciationMethodDesc()); - entity.setInvoice(req.getInvoice()); - entity.setInvoiceStatus(req.getInvoiceStatus()); - entity.setAttachments(req.getAttachments()); - entity.setPhotos(req.getPhotos()); - entity.setBarcode(req.getBarcode()); - entity.setImporter(req.getImporter()); - entity.setInventoryTimeStatus1(req.getInventoryTimeStatus1()); - entity.setInventoryTimeStatus2(req.getInventoryTimeStatus2()); - entity.setInventoryTimeStatus3(req.getInventoryTimeStatus3()); - entity.setInventoryCheckTimeStatus1(req.getInventoryCheckTimeStatus1()); - entity.setInventoryCheckTimeStatus2(req.getInventoryCheckTimeStatus2()); - entity.setInventoryCheckTimeStatus3(req.getInventoryCheckTimeStatus3()); - - return entity; + this.removeById(equipmentId); } /** @@ -552,28 +413,6 @@ public class EquipmentServiceImpl extends ServiceImpl