From 225af805387e665f6bf38692e83fb52ac4416ba2 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 15 五月 2026 14:00:31 +0800
Subject: [PATCH] feat(stock): 添加批号字段并优化出入库记录导出功能
---
src/main/java/com/ruoyi/staff/dto/StaffOnJobExcelDto.java | 14 +-----
src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java | 78 ++++++++++++++++++++++++++++----------
2 files changed, 60 insertions(+), 32 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java b/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java
index 9befe41..5c6149c 100644
--- a/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java
+++ b/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java
@@ -1,12 +1,15 @@
package com.ruoyi.common.utils.reflect;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.Date;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Date;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.apache.poi.ss.usermodel.DateUtil;
@@ -193,22 +196,55 @@
{
args[i] = Convert.toFloat(args[i]);
}
- else if (cs[i] == Date.class)
- {
- if (args[i] instanceof String)
- {
- args[i] = DateUtils.parseDate(args[i]);
+ else if (cs[i] == Date.class)
+ {
+ if (args[i] instanceof String)
+ {
+ args[i] = DateUtils.parseDate(args[i]);
}
else
- {
- args[i] = DateUtil.getJavaDate((Double) args[i]);
- }
- }
- else if (cs[i] == boolean.class || cs[i] == Boolean.class)
- {
- args[i] = Convert.toBool(args[i]);
- }
- }
+ {
+ args[i] = DateUtil.getJavaDate((Double) args[i]);
+ }
+ }
+ else if (cs[i] == LocalDate.class)
+ {
+ if (args[i] instanceof String)
+ {
+ Date date = DateUtils.parseDate(args[i]);
+ args[i] = date == null ? null : DateUtils.toLocalDate(date);
+ }
+ else if (args[i] instanceof Date)
+ {
+ args[i] = DateUtils.toLocalDate((Date) args[i]);
+ }
+ else if (args[i] instanceof Double)
+ {
+ args[i] = DateUtils.toLocalDate(DateUtil.getJavaDate((Double) args[i]));
+ }
+ }
+ else if (cs[i] == LocalDateTime.class)
+ {
+ if (args[i] instanceof String)
+ {
+ Date date = DateUtils.parseDate(args[i]);
+ args[i] = date == null ? null : LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
+ }
+ else if (args[i] instanceof Date)
+ {
+ args[i] = LocalDateTime.ofInstant(((Date) args[i]).toInstant(), ZoneId.systemDefault());
+ }
+ else if (args[i] instanceof Double)
+ {
+ Date date = DateUtil.getJavaDate((Double) args[i]);
+ args[i] = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
+ }
+ }
+ else if (cs[i] == boolean.class || cs[i] == Boolean.class)
+ {
+ args[i] = Convert.toBool(args[i]);
+ }
+ }
}
return (E) method.invoke(obj, args);
}
diff --git a/src/main/java/com/ruoyi/staff/dto/StaffOnJobExcelDto.java b/src/main/java/com/ruoyi/staff/dto/StaffOnJobExcelDto.java
index 285c4f2..a5ef70b 100644
--- a/src/main/java/com/ruoyi/staff/dto/StaffOnJobExcelDto.java
+++ b/src/main/java/com/ruoyi/staff/dto/StaffOnJobExcelDto.java
@@ -1,20 +1,12 @@
package com.ruoyi.staff.dto;
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
-import com.ruoyi.staff.pojo.StaffEducation;
-import com.ruoyi.staff.pojo.StaffEmergencyContact;
-import com.ruoyi.staff.pojo.StaffWorkExperience;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
import java.util.Date;
-import java.util.List;
@Data
public class StaffOnJobExcelDto {
@@ -62,13 +54,13 @@
@Excel(name = "鎵嬫満", sort = 13)
private String phone;
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Schema(description = "鍚堝悓寮�濮嬫椂闂�")
@Excel(name = "鍚堝悓寮�濮嬫棩鏈�", width = 30, dateFormat = "yyyy-MM-dd", sort = 15)
private Date contractStartTime;
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Schema(description = "鍚堝悓缁撴潫鏃堕棿")
@Excel(name = "鍚堝悓缁撴潫鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd", sort = 16)
@@ -80,7 +72,7 @@
@Schema(description = "鍑虹敓鏃ユ湡")
- @JsonFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Excel(name = "鍑虹敓鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd", sort = 18)
private Date birthDate;
--
Gitblit v1.9.3