namespace Admin.NET.Plugin.AiDOP.Order;
///
/// 合同评审服务 📋
/// 路由前缀:/api/Order/contract/...
/// 流程:意见评审(法律事务部→技术售前组→综合主计划→试验站)→意见反馈→二次评审→领导意见→合同盖章
///
[ApiDescriptionSettings(Order = 250, Description = "合同评审")]
[Route("api/Order")]
[AllowAnonymous]
[NonUnify]
public class ContractReviewService : IDynamicApiController, ITransient
{
private readonly ISqlSugarClient _db;
private readonly SqlSugarRepository _reviewRep;
private readonly SqlSugarRepository _flowRep;
private readonly UserManager _userManager;
// 流程节点模板(stageNo, stageName, department, deptNo, seq)
private static readonly (int StageNo, string StageName, string Department, string DeptNo, int Seq)[] FlowTemplate =
{
(1, "意见评审", "法律事务部", "DEPT_LAW", 1),
(1, "意见评审", "技术售前组", "DEPT_TECH", 2),
(1, "意见评审", "综合主计划", "DEPT_PLAN", 3),
(1, "意见评审", "试验站", "DEPT_TEST", 4),
(2, "意见反馈", "申请部门", "", 1),
(3, "二次评审", "评审委员会", "", 1),
(4, "领导意见", "领导审批", "", 1),
(5, "合同盖章", "合同管理部", "", 1),
};
private static readonly string[] StageNames = { "", "意见评审", "意见反馈", "二次评审", "领导意见", "合同盖章" };
public ContractReviewService(
ISqlSugarClient db,
SqlSugarRepository reviewRep,
SqlSugarRepository flowRep,
UserManager userManager)
{
_db = db;
_reviewRep = reviewRep;
_flowRep = flowRep;
_userManager = userManager;
}
// ══════════════════════════════════════════════════════════════
// 列表 GET /api/Order/contract/list
// ══════════════════════════════════════════════════════════════
/// 获取合同评审分页列表 📋
[DisplayName("获取合同评审列表")]
[HttpGet("contract/list")]
public async Task