feat: 实现员工同步任务的WebSocket支持及合同名称锁定功能

- 为EmployeesSyncTask添加WebSocket客户端和服务端支持,实现实时任务进度反馈
- 新增合同名称锁定功能,防止误修改重要合同名称
- 优化SmbFileService的连接异常处理,提高稳定性
- 重构ContractFilesRebuildTasker的任务执行逻辑,改进错误处理
- 更新tasker_mapper.json注册EmployeesSyncTask
- 添加相关任务文档和验收报告

修复WebSocketClientSession的任务完成状态处理问题
改进UITools中任务执行的线程管理
优化DepartmentService的findByCode方法返回类型
This commit is contained in:
2025-11-20 16:26:34 +08:00
parent 02afa189f8
commit a784438e97
28 changed files with 983 additions and 329 deletions

View File

@@ -4,14 +4,11 @@ import java.util.HashMap;
import java.util.Locale;
import java.util.logging.Level;
import com.ecep.contract.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import com.ecep.contract.Desktop;
import com.ecep.contract.Message;
import com.ecep.contract.MessageHolder;
import com.ecep.contract.SpringApp;
import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.EmployeeService;
import com.ecep.contract.service.SysConfService;
@@ -63,6 +60,22 @@ public abstract class Tasker<T> extends Task<T> {
return currentUser;
}
@Override
public void run() {
if (this instanceof WebSocketClientTasker) {
this.getState();
}
super.run();
}
@Override
public boolean cancel(boolean mayInterruptIfRunning) {
if (this instanceof WebSocketClientTasker) {
((WebSocketClientTasker) this).cancelTask();
}
return super.cancel(mayInterruptIfRunning);
}
@Override
protected T call() throws Exception {
MessageHolderImpl holder = new MessageHolderImpl();