🆗 优化日志打印, 页面显示打卡位置

This commit is contained in:
2025-03-31 10:56:18 +08:00
parent 615eec3b7a
commit 1a06ab6807
3 changed files with 31 additions and 1 deletions

View File

@@ -163,6 +163,17 @@ class HoperunSignController {
monthAttLog.autoDakaBeginTime = autoDaka.beginTime monthAttLog.autoDakaBeginTime = autoDaka.beginTime
monthAttLog.autoDakaEndTime = autoDaka.endTime monthAttLog.autoDakaEndTime = autoDaka.endTime
} }
monthAttResult.forEach {
it.actual_area_begin =
if (!it.actual_area_begin.isNullOrBlank()) {
if (it.actual_area_begin == "buqianka") "补签卡" else
area_regex.find(it.actual_area_begin!!)?.groups?.get(0)?.value
} else null
it.actual_area_end = if (!it.actual_area_end.isNullOrBlank()) {
if (it.actual_area_end == "buqianka") "补签卡" else
area_regex.find(it.actual_area_end!!)?.groups?.get(0)?.value
} else null
}
return monthAttResult return monthAttResult
} }
@@ -374,6 +385,8 @@ class WebResult<T> protected constructor() : java.io.Serializable {
} }
} }
val area_regex = Regex(".*[\\u4e00-\\u9fa5]|[0-9][\\u4e00-\\u9fa5]")
data class MonthAttLog( data class MonthAttLog(
var area_id: String? = null, var area_id: String? = null,
var area_id_begin: String? = null, var area_id_begin: String? = null,
@@ -390,6 +403,8 @@ data class MonthAttLog(
var yearmonth: String? = null, var yearmonth: String? = null,
var autoDakaBeginTime: String? = null, var autoDakaBeginTime: String? = null,
var autoDakaEndTime: String? = null, var autoDakaEndTime: String? = null,
var actual_area_begin: String? = null,
var actual_area_end: String? = null
) )
data class HoperunDakaRequest( data class HoperunDakaRequest(

View File

@@ -45,7 +45,7 @@ class AutoDakaScheduler {
if (daka == null) { if (daka == null) {
daka = generateDakaInfo(v, dakaDate) daka = generateDakaInfo(v, dakaDate)
dakaQueue.add(daka) dakaQueue.add(daka)
logger.info("${v.username},${daka.toCsv()}") logger.info("添加打卡任务: ${v.username}, $daka")
} }
} }
} }
@@ -137,6 +137,9 @@ class AutoDakaScheduler {
schedulerThreadPool as ScheduledThreadPoolExecutor schedulerThreadPool as ScheduledThreadPoolExecutor
val queue = schedulerThreadPool.queue val queue = schedulerThreadPool.queue
logger.info("任务队列数量: ${queue.size}") logger.info("任务队列数量: ${queue.size}")
dakaQueue.forEach {
logger.info(it.toString())
}
} }
private fun getRandomEndTime(): String { private fun getRandomEndTime(): String {
@@ -167,4 +170,8 @@ data class Daka(
fun toCsv(): String { fun toCsv(): String {
return "$employeeNo,$dakaDate,$beginTime,$endTime,$added" return "$employeeNo,$dakaDate,$beginTime,$endTime,$added"
} }
override fun toString(): String {
return "工号: $employeeNo, 日期: $dakaDate, 上班卡: $beginTime, 下班卡: $endTime, 定时开关: $added"
}
} }

View File

@@ -122,6 +122,14 @@ function loadDakaList() {
'">打卡</button>' + '">打卡</button>' +
'<button class="search-buttons card-buttons auto-daka-buttons">自动补卡</button>' + '<button class="search-buttons card-buttons auto-daka-buttons">自动补卡</button>' +
'</div>' : '') + '</div>' : '') +
(index > 3 ?
'<div class="job-card-subtitle">' +
signlog.actual_area_begin +
'</div>' +
(signlog.actual_area_begin !== signlog.actual_area_end ? '<div class="job-card-subtitle">' +
signlog.actual_area_end +
'</div>' : '')
: '') +
'</div>' '</div>'
); );
} }