diff --git a/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/domain/ZsjyInternshipDaily.java b/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/domain/ZsjyInternshipDaily.java
index 16e0229b..df363b7e 100644
--- a/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/domain/ZsjyInternshipDaily.java
+++ b/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/domain/ZsjyInternshipDaily.java
@@ -69,25 +69,25 @@ public class ZsjyInternshipDaily extends BaseEntity {
* 签到地点 (对应数据库check_in_location字段)
*/
@TableField("check_in_location")
- private String checkOutLocation;
+ private String checkInLocation;
/**
* 签到经度 (对应数据库longitude字段)
*/
@TableField("longitude")
- private BigDecimal checkOutLongitude;
+ private BigDecimal longitude;
/**
* 签到纬度 (对应数据库latitude字段)
*/
@TableField("latitude")
- private BigDecimal checkOutLatitude;
+ private BigDecimal latitude;
/**
* 工作内容/日总结
*/
@TableField("daily_summary")
- private String workContent;
+ private String dailySummary;
/**
* 图片附件(JSON格式)
@@ -157,11 +157,7 @@ public class ZsjyInternshipDaily extends BaseEntity {
@TableField(exist = false)
private String position;
- /**
- * 签到地点 (业务扩展字段,当前只有签退地点)
- */
- @TableField(exist = false)
- private String checkInLocation;
+
/**
* 签到经度 (业务扩展字段,当前只有签退经度)
diff --git a/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/domain/vo/ZsjyInternshipDailyVo.java b/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/domain/vo/ZsjyInternshipDailyVo.java
index 8f7e4844..61b1e74e 100644
--- a/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/domain/vo/ZsjyInternshipDailyVo.java
+++ b/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/domain/vo/ZsjyInternshipDailyVo.java
@@ -7,7 +7,7 @@ import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
-import java.sql.Time;
+import java.time.LocalTime;
import java.util.Date;
/**
@@ -53,7 +53,14 @@ public class ZsjyInternshipDailyVo implements Serializable {
*/
@Schema(description = "签到时间")
@JsonFormat(pattern = "HH:mm:ss")
- private Time checkInTime;
+ private LocalTime checkInTime;
+
+ /**
+ * 签退时间
+ */
+ @Schema(description = "签退时间")
+ @JsonFormat(pattern = "HH:mm:ss")
+ private LocalTime checkOutTime;
/**
* 签到位置
@@ -155,6 +162,18 @@ public class ZsjyInternshipDailyVo implements Serializable {
@Schema(description = "学号")
private String studentNo;
+ /**
+ * 学号(前端兼容字段)
+ */
+ @Schema(description = "学号")
+ private String studentNumber;
+
+ /**
+ * 工作时长(小时)
+ */
+ @Schema(description = "工作时长")
+ private BigDecimal workDuration;
+
/**
* 公司名称
*/
diff --git a/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/service/impl/ZsjyInternshipDailyServiceImpl.java b/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/service/impl/ZsjyInternshipDailyServiceImpl.java
index f18eecc9..724291dd 100644
--- a/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/service/impl/ZsjyInternshipDailyServiceImpl.java
+++ b/backend/ruoyi-modules/ruoyi-zsjy/src/main/java/org/dromara/zsjy/service/impl/ZsjyInternshipDailyServiceImpl.java
@@ -97,10 +97,10 @@ public class ZsjyInternshipDailyServiceImpl implements IZsjyInternshipDailyServi
entity.setStudentId(addBo.getStudentId());
entity.setCheckDate(addBo.getCheckDate());
entity.setCheckInTime(addBo.getCheckInTime());
- entity.setCheckOutLocation(addBo.getCheckOutLocation()); // 对应数据库check_in_location字段
- entity.setCheckOutLatitude(addBo.getCheckOutLatitude()); // 对应数据库latitude字段
- entity.setCheckOutLongitude(addBo.getCheckOutLongitude()); // 对应数据库longitude字段
- entity.setWorkContent(addBo.getWorkContent()); // 对应数据库daily_summary字段
+ entity.setCheckInLocation(addBo.getCheckOutLocation()); // 对应数据库check_in_location字段
+ entity.setLatitude(addBo.getCheckOutLatitude()); // 对应数据库latitude字段
+ entity.setLongitude(addBo.getCheckOutLongitude()); // 对应数据库longitude字段
+ entity.setDailySummary(addBo.getWorkContent()); // 对应数据库daily_summary字段
entity.setImages(addBo.getImages());
entity.setIsException(addBo.getIsException());
entity.setExceptionReason(addBo.getExceptionReason());
@@ -188,11 +188,10 @@ public class ZsjyInternshipDailyServiceImpl implements IZsjyInternshipDailyServi
// 2. 补充统计信息
if (ObjectUtil.isNull(statistics)) {
statistics = new HashMap<>();
- statistics.put("totalDays", 0);
- statistics.put("attendanceDays", 0);
- statistics.put("exceptionDays", 0);
- statistics.put("pendingExceptions", 0);
- statistics.put("attendanceRate", 0.0);
+ statistics.put("totalStudents", 0);
+ statistics.put("todayCheckedIn", 0);
+ statistics.put("todayLate", 0);
+ statistics.put("attendanceRate", "0%");
}
return R.ok(statistics);
diff --git a/backend/ruoyi-modules/ruoyi-zsjy/src/main/resources/mapper/ZsjyInternshipDailyMapper.xml b/backend/ruoyi-modules/ruoyi-zsjy/src/main/resources/mapper/ZsjyInternshipDailyMapper.xml
index 55e10ec7..e1904a0e 100644
--- a/backend/ruoyi-modules/ruoyi-zsjy/src/main/resources/mapper/ZsjyInternshipDailyMapper.xml
+++ b/backend/ruoyi-modules/ruoyi-zsjy/src/main/resources/mapper/ZsjyInternshipDailyMapper.xml
@@ -9,6 +9,7 @@
{{ parseTime(todayRecord.checkInTime, '{h}:{i}') }}
+{{ todayRecord.checkInTime }}