public async Task <IActionResult> GetRecondReportList([FromBody] GetRecondReportListRequest requestDto) { var commonReportBiz = new CommonReportThemeBiz(); var approveModel = await commonReportBiz.GetReportApproveModelByGuid(requestDto.ApproveGuid); if (approveModel == null) { return(Failed(ErrorCode.DataBaseError, "无数据,请检查!")); } if (!IsRightStatusForOperation(approveModel)) { return(Failed(ErrorCode.DataBaseError, "该申请状态暂无权限查看列表,请检查!")); } var themeModel = await commonReportBiz.GetReportThemeModelByThemeGuid(approveModel.ThemeGuid); if (themeModel == null) { return(Failed(ErrorCode.DataBaseError, "无主题数据,请检查!")); } if (string.IsNullOrWhiteSpace(themeModel.SQLStr)) { return(Failed(ErrorCode.DataBaseError, "主题SQL语句为空,请检查!")); } GetReportListRequest request = new GetReportListRequest { SqlStr = themeModel.SQLStr //暂时不分页 //PageIndex = requestDto.PageIndex, //PageSize = requestDto.PageSize }; try { if (!IsRightSQLStr(request.SqlStr)) { return(Failed(ErrorCode.DataBaseError, "SQL语句有误,请检查!")); } var responseDto = commonReportBiz.GetReportList(request); if (responseDto == null) { return(Failed(ErrorCode.DataBaseError, "获取报表数据失败,请检查!")); } //foreach (var item in responseDto.CurrentPage) //{ // item.Phone = Regex.Replace(item.Phone, "(\\d{3})\\d{4}(\\d{4})", "$1****$2"); //} return(Success(responseDto)); } catch (Exception ex) { return(Failed(ErrorCode.DataBaseError, "SQL语句执行错误,请检查!")); } }
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, "该申请状态不是可审批状态,请检查!")); } }
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, "该申请状态不是可审批状态,请检查!")); } }
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)); }