Exemple #1
0
 /// <summary>
 /// 更新model
 /// </summary>
 /// <param name="enumStr"></param>
 /// <returns></returns>
 public async Task <bool> UpdateApproveModel(ReportApproveModel model)
 {
     using (var conn = MySqlHelper.GetConnection())
     {
         return(await conn.UpdateAsync(model) > 0);
     }
 }
        /// <summary>
        /// 可审批状态-运营
        /// </summary>
        /// <param name="approveModel"></param>
        /// <returns></returns>
        private bool IsRightStatusForOperation(ReportApproveModel approveModel)
        {
            var schedule    = approveModel.ApproveScheduleEnum.Equals(ReportApproveScheduleEnums.Approve.ToString());
            var status      = approveModel.ApproveStatus.Equals(ReportApproveStatusEnum.Pending.ToString());
            var statusFirst = schedule && status;

            if (statusFirst)
            {
                return(true);
            }
            return(false);
        }
Exemple #3
0
 /// <summary>
 /// 更新model
 /// </summary>
 /// <param name="enumStr"></param>
 /// <returns></returns>
 public async Task <bool> UpdateThemeAndApproveModel(ReportThemeModel tModel, ReportApproveModel apModel)
 {
     return(await MySqlHelper.TransactionAsync(async (conn, tran) =>
     {
         if (await conn.UpdateAsync(tModel) < 1)
         {
             return false;
         }
         if (await conn.UpdateAsync(apModel) < 1)
         {
             return false;
         }
         return true;
     }));
 }
Exemple #4
0
 /// <summary>
 /// 添加申请
 /// </summary>
 /// <param name="enumStr"></param>
 /// <returns></returns>
 public async Task <bool> ApplyCreateReport(ReportThemeModel tModel, ReportApproveModel raModel)
 {
     return(await MySqlHelper.TransactionAsync(async (conn, trans) =>
     {
         if (await conn.InsertAsync <int, ReportThemeModel>(tModel) > 0)
         {
             return false;
         }
         if (await conn.InsertAsync <int, ReportApproveModel>(raModel) > 0)
         {
             return false;
         }
         return true;
     }));
 }
        /// <summary>
        /// IT-SQL可审批状态
        /// </summary>
        /// <param name="approveModel"></param>
        /// <returns></returns>
        private bool IsITSQLRightStatusForOperation(ReportApproveModel approveModel)
        {
            var schedule = approveModel.ApproveScheduleEnum.Equals(ReportApproveScheduleEnums.SqlWrite.ToString());
            var status   = approveModel.ApproveStatus.Equals(ReportApproveStatusEnum.Pending.ToString());

            var schedule2 = approveModel.ApproveScheduleEnum.Equals(ReportApproveScheduleEnums.Approve.ToString());
            var status2   = approveModel.ApproveStatus.Equals(ReportApproveStatusEnum.Reject.ToString());

            var statusFirst  = schedule && status;
            var statusSecond = schedule2 && status2;

            if (statusFirst || statusSecond)
            {
                return(true);
            }
            return(false);
        }
Exemple #6
0
 /// <summary>
 /// IT写SQL等更新
 /// </summary>
 /// <param name="tModel"></param>
 /// <param name="apModel"></param>
 /// <param name="conditionModelList"></param>
 /// <returns></returns>
 public async Task <bool> UpdateThemeAndApproveModel(ReportThemeModel tModel, ReportApproveModel apModel, List <ReportConditionModel> conditionModelList)
 {
     return(await MySqlHelper.TransactionAsync(async (conn, tran) =>
     {
         if (await conn.UpdateAsync(tModel) < 1)
         {
             return false;
         }
         if (await conn.UpdateAsync(apModel) < 1)
         {
             return false;
         }
         foreach (var model in conditionModelList)
         {
             if (await conn.InsertAsync(model) < 1)
             {
                 return false;
             }
         }
         return true;
     }));
 }
        public async Task <IActionResult> ApplyCreateReport([FromBody] ApplyCreateReportRequest requestDto)
        {
            var result          = false;
            var commonReportBiz = new CommonReportThemeBiz();

            if (string.IsNullOrWhiteSpace(requestDto.ApproveGuid))
            {
                //新申请
                var themeModel = new ReportThemeModel()
                {
                    ThemeGuid = Guid.NewGuid().ToString("N"),
                    Name      = requestDto.Name,
                    Demand    = requestDto.Demand,
                    //ConditionDemand = requestDto.ConditionDemand,
                    CreatedBy       = UserID,
                    CreationDate    = DateTime.Now,
                    LastUpdatedBy   = UserID,
                    LastUpdatedDate = DateTime.Now,
                    //PlatformType = requestDto.PlatformType,
                    Enable = true
                };
                var approveModel = new ReportApproveModel()
                {
                    ApproveGuid   = Guid.NewGuid().ToString("N"),
                    ThemeGuid     = themeModel.ThemeGuid,
                    ApplyUserGuid = UserID,//申请提交人
                    //SQLWriterGuid = "",//需求审批人
                    //SQLApproverGuid = "",//sql审核人
                    //ListApproverGuid="",//列表审核人
                    //ApprovedReason= null,
                    //ApprovedDatetime = null,
                    ApproveScheduleEnum = ReportApproveScheduleEnums.Apply.ToString(),
                    ApproveStatus       = ReportApproveStatusEnum.Pending.ToString(),
                    CreatedBy           = UserID,
                    CreationDate        = DateTime.Now,
                    LastUpdatedBy       = UserID,
                    LastUpdatedDate     = DateTime.Now,
                    OrgGuid             = "test",
                    Enable = true
                };
                result = await commonReportBiz.ApplyCreateReport(themeModel, approveModel);
            }
            else
            {
                //重新申请
                var approveModel = await commonReportBiz.GetReportApproveModelByGuid(requestDto.ApproveGuid);

                if (approveModel == null)
                {
                    return(Failed(ErrorCode.DataBaseError, "审批记录为空!"));
                }
                //驳回状态才可重新申请
                if (!approveModel.ApproveStatus.Equals(ReportApproveStatusEnum.Reject.ToString()))
                {
                    return(Failed(ErrorCode.DataBaseError, "该审批没有被驳回!"));
                }

                var themeModel = await commonReportBiz.GetReportThemeModelByThemeGuid(approveModel.ThemeGuid);

                if (approveModel == null)
                {
                    return(Failed(ErrorCode.DataBaseError, "查询不到该审批记录的申请信息!"));
                }
                themeModel.Name   = requestDto.Name;
                themeModel.Demand = requestDto.Demand;
                //themeModel.ConditionDemand = requestDto.ConditionDemand;
                themeModel.LastUpdatedBy   = UserID;
                themeModel.LastUpdatedDate = DateTime.Now;

                approveModel.ApproveScheduleEnum = ReportApproveScheduleEnums.Apply.ToString();
                approveModel.ApproveStatus       = ReportApproveStatusEnum.Pending.ToString();
                approveModel.LastUpdatedBy       = UserID;
                approveModel.LastUpdatedDate     = DateTime.Now;
                result = await commonReportBiz.UpdateThemeAndApproveModel(themeModel, approveModel);
            }
            return(Success(result));
        }