feat: 花名册操作自动创建电子签署流程
## 新增 esign.service.ts - autoCreateEsignRecord 公共方法,供其他业务模块调用 - 自动渲染模板文件内容 + 创建证据链 ## 自动触发签署 - 增加员工(创建合同时):自动创建劳动合同电子签署记录(scene=CONTRACT) - 主动离职(createDraft type=RESIGNATION):自动创建离职协议签署(scene=RESIGNATION) - 公司解聘(executeTermination type=TERMINATION):执行完成后自动创建离职协议签署 ## 前端提示 - 添加员工成功后提示"劳动合同电子签署已自动发起",可跳转签署页面 - 主动离职成功后提示"离职协议电子签署已自动发起" Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
@@ -2,6 +2,7 @@ import { Router } from 'express'
|
||||
import { authMiddleware, AuthRequest } from '../middleware/auth'
|
||||
import { auditLog } from '../middleware/auditLog'
|
||||
import { createEvidence } from '../services/evidence.service'
|
||||
import { autoCreateEsignRecord } from '../services/esign.service'
|
||||
import prisma from '../lib/prisma'
|
||||
import { sha256, decrypt } from '../lib/crypto'
|
||||
import {
|
||||
@@ -310,7 +311,19 @@ router.post('/contracts', authMiddleware, async (req: AuthRequest, res, next) =>
|
||||
events: [{ action: '合同签订', timestamp: new Date().toISOString(), ip: req.ip, userAgent: req.headers['user-agent'] }],
|
||||
createdBy: req.user!.id,
|
||||
}).catch(() => {})
|
||||
res.json({ success: true, data: result })
|
||||
|
||||
// 自动创建劳动合同电子签署记录
|
||||
const esignRecord = await autoCreateEsignRecord({
|
||||
orgId: req.user!.orgId,
|
||||
employeeId: data.employeeId,
|
||||
scene: 'CONTRACT',
|
||||
documentTitle: `${emp?.name || ''}的劳动合同`,
|
||||
contractId: result.id,
|
||||
remark: '新增员工合同时自动发起',
|
||||
createdBy: req.user!.id,
|
||||
})
|
||||
|
||||
res.json({ success: true, data: result, esignRecord })
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user