/// <summary> /// 验证审核的订单 /// </summary> /// <param name="data"></param> /// <returns></returns> private async Task <Result> VerifyAuditOrder(In <AuditOrder> inData) { var data = inData.data; Result result = new Result(); if (data == null) { result.msg = "参数错误"; return(result); } if (string.IsNullOrWhiteSpace(data.order_sn?.Trim())) { result.msg = "订单不存在"; return(result); } data.order_sn = data.order_sn.Trim(); DBHelper db = new DBHelper(); t_procurement order = await ProcurementDao.GetOrder(db, data.order_sn); db.Close(); if (order == null) { result.msg = "订单不存在"; return(result); } int pass_step = ProcurementConfig.PassStep(order.department_id, order.position_id); ProcurementItem step = ProcurementConfig.CurrentStep(order.department_id, pass_step, order.audit_step); if (step == null || step.act != EProcurementAction.Apply || inData.user.position_id != step.id) { result.msg = "无权审批改订单"; return(result); } if (string.IsNullOrWhiteSpace(data.flag?.Trim()) || !int.TryParse(data.flag, out int audit_flag) || !Enum.IsDefined(typeof(EAuditFlag), audit_flag)) { result.msg = "审批状态错误"; return(result); } data.flag = data.flag.Trim(); if (audit_flag == (int)EAuditFlag.Reject && string.IsNullOrWhiteSpace(data.remark?.Trim())) { result.msg = "请填写拒绝理由"; return(result); } data.remark = data.remark?.Trim(); if (data.remark?.Length > 100) { result.msg = "拒绝理由最多100个字符"; return(result); } result.result = true; return(result); }
/// <summary> /// 添加采购单 /// </summary> /// <param name="order_sn">订单号</param> /// <param name="user">用户</param> /// <returns></returns> public static async Task <int> AddProcurement(DBHelper db, string order_sn, LoginResult user) { t_procurement model = new t_procurement { department_id = user.department_id, position_id = user.position_id, user_id = user.user_id, order_sn = order_sn, audit_step = 0, audit_status = (int)EAuditStatus.Progress }; string sql = @"INSERT t_procurement(`order_sn`,`user_id`,`position_id`,`audit_step`,`audit_status`,`department_id`) VALUES(@order_sn,@user_id,@position_id,@audit_step,@audit_status,@department_id); SELECT LAST_INSERT_ID();"; return(await db.ExecAsync <int>(sql, model)); }
/// <summary> /// 拒绝审批 /// </summary> /// <param name="inData"></param> /// <returns></returns> private async Task <Result> AuditReject(DBHelper db, In <AuditOrder> inData) { Result result = new Result(); t_procurement order = await ProcurementDao.GetOrder(db, inData.data.order_sn); bool update_order_flag = await ProcurementDao.AuditRejectOrder(db, inData.data.order_sn, order.audit_step + 1); if (!update_order_flag) { result.msg = "审批失败[1]"; return(result); } bool add_audit_log_flag = await AuditLogDao.AddAuditLog(db, order.order_sn, inData.user.user_id, EAuditFlag.Reject, inData.user.position_id, order.audit_step, inData.data.remark); if (!add_audit_log_flag) { result.msg = "审批失败[2]"; return(result); } result.result = true; return(result); }