コード例 #1
0
        public async Task <IActionResult> ApproveReportList([FromBody] ApproveReportListRequest requestDto)
        {
            //申请人审批 也可以不是申请人
            var commonReportBiz = new CommonReportThemeBiz();
            var approveModel    = await commonReportBiz.GetReportApproveModelByGuid(requestDto.ApproveGuid);

            if (approveModel == null)
            {
                return(Failed(ErrorCode.DataBaseError, "无审批数据,请检查!"));
            }
            if (!approveModel.ApplyUserGuid.Equals(UserID))
            {
                return(Failed(ErrorCode.DataBaseError, "不是申请人,无权限操作该记录!"));
            }
            if (IsRightStatusForOperation(approveModel))
            {
                approveModel.ListApproverGuid = UserID;
                approveModel.ApprovedReason   = requestDto.ApprovedReason;
                approveModel.ApprovedDatetime = DateTime.Now;
                if (requestDto.ApproveStatus.ToString().Equals(ReportApproveStatusEnum.Adopt.ToString()))
                {
                    //注意多一个状态
                    approveModel.ApproveScheduleEnum = ReportApproveScheduleEnums.Complete.ToString();
                    approveModel.ApproveStatus       = ReportApproveStatusEnum.Adopt.ToString();
                }
                if (requestDto.ApproveStatus.ToString().Equals(ReportApproveStatusEnum.Reject.ToString()))
                {
                    //运营拒绝后,审批单到了SqlWrite 还是 SqlApprove,暂定 SqlApprove
                    // SqlApprove可自己重写sql,也可以拒绝后到SqlWrite
                    approveModel.ApproveScheduleEnum = ReportApproveScheduleEnums.Approve.ToString();
                    approveModel.ApproveStatus       = ReportApproveStatusEnum.Reject.ToString();
                }
                var result = await commonReportBiz.UpdateApproveModel(approveModel);

                return(Success(result));
            }
            else
            {
                return(Failed(ErrorCode.DataBaseError, "该申请状态不是可审批状态,请检查!"));
            }
        }
コード例 #2
0
        public async Task <IActionResult> CancelMyApprove([FromBody] CancelMyApproveRequest requestDto)
        {
            var commonReportBiz = new CommonReportThemeBiz();
            var approveModel    = await commonReportBiz.GetReportApproveModelByGuid(requestDto.ApproveGuid);

            if (!approveModel.ApplyUserGuid.Equals(UserID))
            {
                return(Failed(ErrorCode.UserData, "您不是该记录申请人,无法取消!"));
            }
            if (approveModel.ApproveScheduleEnum.Equals(ReportApproveScheduleEnums.Complete.ToString()))
            {
                return(Failed(ErrorCode.DataBaseError, "该记录状态为已完成,无法取消!"));
            }
            approveModel.ApproveStatus   = ReportApproveStatusEnum.Cancel.ToString();//取消
            approveModel.LastUpdatedDate = DateTime.Now;
            approveModel.LastUpdatedBy   = UserID;

            var result = await commonReportBiz.UpdateApproveModel(approveModel);

            return(Success(result));
        }
コード例 #3
0
        public async Task <IActionResult> ITApproveSql([FromBody] ITApproveSqlRequest requestDto)
        {
            //var currentUserGuid = "f071f4959e9a4f118095f58de3ce548a";//zhikai
            //if (!UserID.Equals(currentUserGuid))
            //{
            //    return Failed(ErrorCode.DataBaseError, "您不是SQL审核人,无法操作!");
            //}
            var commonReportBiz = new CommonReportThemeBiz();
            var approveModel    = await commonReportBiz.GetReportApproveModelByGuid(requestDto.ApproveGuid);

            if (approveModel == null)
            {
                return(Failed(ErrorCode.DataBaseError, "无审批数据,请检查!"));
            }
            if (approveModel.SQLWriterGuid.Equals(UserID))
            {
                return(Failed(ErrorCode.DataBaseError, "无法审批,SQL审批需要不同的人操作!"));
            }
            var themeModel = await commonReportBiz.GetReportThemeModelByThemeGuid(approveModel.ThemeGuid);

            if (themeModel == null)
            {
                return(Failed(ErrorCode.DataBaseError, "无主题数据,请检查!"));
            }

            if (IsITSQLRightStatusForOperation(approveModel))
            {
                approveModel.ApprovedReason   = requestDto.ApprovedReason;
                approveModel.ApprovedDatetime = DateTime.Now;
                approveModel.SQLApproverGuid  = UserID;
                approveModel.LastUpdatedBy    = UserID;
                approveModel.LastUpdatedDate  = DateTime.Now;
                var result = false;
                if (requestDto.ApproveStatus.ToString().Equals(ReportApproveStatusEnum.Adopt.ToString()))
                {
                    if (!IsRightSQLStr(requestDto.ThemeSqlStr))
                    {
                        return(Failed(ErrorCode.UserData, "SQL有误,请检查!"));
                    }
                    themeModel.SQLStr          = requestDto.ThemeSqlStr;
                    themeModel.LastUpdatedBy   = UserID;
                    themeModel.LastUpdatedDate = DateTime.Now;

                    approveModel.ApproveScheduleEnum = ReportApproveScheduleEnums.Approve.ToString();
                    approveModel.ApproveStatus       = ReportApproveStatusEnum.Pending.ToString();

                    result = await commonReportBiz.UpdateThemeAndApproveModel(themeModel, approveModel);
                }
                if (requestDto.ApproveStatus.ToString().Equals(ReportApproveStatusEnum.Reject.ToString()))
                {
                    if (string.IsNullOrWhiteSpace(requestDto.ApprovedReason))
                    {
                        return(Failed(ErrorCode.UserData, "审核驳回,原因不能为空!"));
                    }
                    approveModel.ApproveScheduleEnum = ReportApproveScheduleEnums.SqlWrite.ToString();
                    approveModel.ApproveStatus       = ReportApproveStatusEnum.Reject.ToString();
                    result = await commonReportBiz.UpdateApproveModel(approveModel);
                }
                return(Success(result));
            }
            else
            {
                return(Failed(ErrorCode.DataBaseError, "该申请状态不是可审批状态,请检查!"));
            }
        }
コード例 #4
0
        public async Task <IActionResult> ITSubmitSqlOrRefuseDemand([FromBody] ITSubmitSqlOrRefuseDemandRequest requestDto)
        {
            //var currentUserGuid = "942c0c1db7794095ac9e2abfe6bde264";//zhiliang 942c0c1db7794095ac9e2abfe6bde264
            //if (!UserID.Equals(currentUserGuid))
            //{
            //    return Failed(ErrorCode.DataBaseError, "您不是SQL撰写人,无法操作!");
            //}
            var commonReportBiz = new CommonReportThemeBiz();
            var approveModel    = await commonReportBiz.GetReportApproveModelByGuid(requestDto.ApproveGuid);

            if (approveModel == null)
            {
                return(Failed(ErrorCode.DataBaseError, "无审批数据,请检查!"));
            }
            var themeModel = await commonReportBiz.GetReportThemeModelByThemeGuid(approveModel.ThemeGuid);

            if (themeModel == null)
            {
                return(Failed(ErrorCode.DataBaseError, "无主题数据,请检查!"));
            }
            if (IsITRightStatusForOperation(approveModel))
            {
                approveModel.ApprovedReason   = requestDto.ApprovedReason;
                approveModel.ApprovedDatetime = DateTime.Now;
                approveModel.SQLWriterGuid    = UserID;
                approveModel.LastUpdatedBy    = UserID;
                approveModel.LastUpdatedDate  = DateTime.Now;
                var result = false;
                if (requestDto.ApproveStatus.ToString().Equals(ReportApproveStatusEnum.Adopt.ToString()))
                {
                    if (!IsRightSQLStr(requestDto.Sqlstr))
                    {
                        return(Failed(ErrorCode.UserData, "SQL有误,请检查!"));
                    }
                    themeModel.SQLStr          = requestDto.Sqlstr;
                    themeModel.LastUpdatedBy   = UserID;
                    themeModel.LastUpdatedDate = DateTime.Now;

                    approveModel.ApproveScheduleEnum = ReportApproveScheduleEnums.SqlWrite.ToString();
                    approveModel.ApproveStatus       = ReportApproveStatusEnum.Pending.ToString();

                    var conditionModelList = new List <ReportConditionModel>();
                    foreach (var item in requestDto.ConditionInfoList)
                    {
                        if (!IsRightConditionSQLStr(item.FieldValueSql))
                        {
                            return(Failed(ErrorCode.UserData, "条件SQL有误,请检查!"));
                        }
                        var model = new ReportConditionModel
                        {
                            ConditionGuid   = Guid.NewGuid().ToString("N"),
                            ThemeGuid       = approveModel.ThemeGuid,
                            Name            = item.Name,
                            FieldCode       = item.FieldCode,
                            FieldValueSql   = item.FieldValueSql,//需要加验证
                            IsRightSql      = item.IsRightSql,
                            ValueType       = item.ValueType,
                            ValueRange      = item.ValueRange,
                            ExtensionField  = "",
                            Sort            = item.Sort,
                            CreatedBy       = UserID,
                            CreationDate    = DateTime.Now,
                            LastUpdatedBy   = UserID,
                            LastUpdatedDate = DateTime.Now,
                            OrgGuid         = "..",
                            Enable          = true
                        };
                        conditionModelList.Add(model);
                    }
                    result = await commonReportBiz.UpdateThemeAndApproveModel(themeModel, approveModel, conditionModelList);
                }

                if (requestDto.ApproveStatus.ToString().Equals(ReportApproveStatusEnum.Reject.ToString()))
                {
                    if (string.IsNullOrWhiteSpace(requestDto.ApprovedReason))
                    {
                        return(Failed(ErrorCode.UserData, "审核驳回,原因不能为空!"));
                    }
                    approveModel.ApproveScheduleEnum = ReportApproveScheduleEnums.Apply.ToString();
                    approveModel.ApproveStatus       = ReportApproveStatusEnum.Reject.ToString();
                    result = await commonReportBiz.UpdateApproveModel(approveModel);
                }
                return(Success(result));
            }
            else
            {
                return(Failed(ErrorCode.DataBaseError, "该申请状态不是可审批状态,请检查!"));
            }
        }