using System; using System.Collections.Generic; using System.Threading; using System.Web.Http; using System.Web.Http.Description; using ESCG = CommercialApi.GeneralMethod; using ESCM = CommercialApi.Model; using Newtonsoft.Json; using HZQR.Common; namespace CommercialApi.Controllers { /// /// 财务预算相关接口 /// public class BudgetController : BaseController { #region 获取安徽财务预算表列表 /// /// 获取安徽财务预算表列表 /// /// 查询条件对象 /// [Route("Budget/GetBUDGETPROJECT_AHList")] [AcceptVerbs("POST")] [ResponseType(typeof(Models.JsonMsg>))] public IHttpActionResult GetBUDGETPROJECT_AHList(ESCM.SearchModel searchModel) { string Parameter = "入参信息:" + JsonConvert.SerializeObject(searchModel); try { int TotalCount = 0; //获取安徽财务预算表列表 List BUDGETPROJECT_AHList = ESCG.BUDGETPROJECT_AHHelper.GetBUDGETPROJECT_AHList( transaction, ref TotalCount, searchModel); //转化json形式 Models.JsonList jsonList = Models.JsonList.Success( BUDGETPROJECT_AHList, TotalCount, searchModel.PageIndex, searchModel.PageSize); return Ok(Models.JsonMsg>.Success(jsonList, 100, "查询成功")); } catch (Exception ex) { //事务回滚 transaction.Rollback(); LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter, DateTime.Now.ToString("yyyyMMdd") + "_GetBUDGETPROJECT_AHList"); return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message)); } } #endregion #region 获取安徽财务预算表明细 /// /// 获取安徽财务预算表明细 /// /// 安徽财务预算表内码 /// [Route("Budget/GetBUDGETPROJECT_AHDetail")] [AcceptVerbs("GET")] [ResponseType(typeof(Models.JsonMsg))] public IHttpActionResult GetBUDGETPROJECT_AHDetail(int BUDGETPROJECT_AHId) { string Parameter = "入参信息:安徽财务预算表内码【" + BUDGETPROJECT_AHId + "】"; try { //获取安徽财务预算表明细 ESCM.BUDGETPROJECT_AHModel budgetproject_ahModel = ESCG.BUDGETPROJECT_AHHelper.GetBUDGETPROJECT_AHDetail(transaction, BUDGETPROJECT_AHId); return Ok(Models.JsonMsg.Success(budgetproject_ahModel, 100, "查询成功")); } catch (Exception ex) { //事务回滚 transaction.Rollback(); LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter, DateTime.Now.ToString("yyyyMMdd") + "_GetBUDGETPROJECT_AHDetail"); return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message)); } } #endregion #region 同步安徽财务预算表 /// /// 同步安徽财务预算表 /// /// /// [Route("Budget/SynchroBUDGETPROJECT_AH")] [AcceptVerbs("POST")] [ResponseType(typeof(Models.JsonMsg))] public IHttpActionResult SynchroBUDGETPROJECT_AH(ESCM.BUDGETPROJECT_AHModel budgetproject_ahModel) { try { //新增安徽财务预算表 bool SynchroFlag = ESCG.BUDGETPROJECT_AHHelper.SynchroBUDGETPROJECT_AH(transaction, budgetproject_ahModel); if (SynchroFlag) { return Ok(ESCG.Common.ReturnJson(100, "同步成功", budgetproject_ahModel)); } else { return Ok(ESCG.Common.ReturnJson(200, "更新失败,数据不存在!")); } } catch (Exception ex) { //事务回滚 transaction.Rollback(); LogUtil.WriteLog(null, "同步失败!失败原因:" + ex.Message, DateTime.Now.ToString("yyyyMMdd") + "_SynchroBUDGETPROJECT_AH"); return Ok(ESCG.Common.ReturnJson(999, "同步失败" + ex.Message)); } } #endregion #region 删除安徽财务预算表 /// /// 删除安徽财务预算表 /// /// 安徽财务预算表内码 /// [Route("Budget/DeleteBUDGETPROJECT_AH")] [AcceptVerbs("GET", "POST")] [ResponseType(typeof(Models.JsonMsg))] public IHttpActionResult DeleteBUDGETPROJECT_AH(int BUDGETPROJECT_AHId) { string Parameter = "入参信息:安徽财务预算表内码【" + BUDGETPROJECT_AHId + "】"; try { //删除安徽财务预算表 bool DeleteFlag = ESCG.BUDGETPROJECT_AHHelper.DeleteBUDGETPROJECT_AH(transaction, BUDGETPROJECT_AHId); if (DeleteFlag) { return Ok(ESCG.Common.ReturnJson(100, "删除成功")); } else { return Ok(ESCG.Common.ReturnJson(200, "删除失败,数据不存在!")); } } catch (Exception ex) { //事务回滚 transaction.Rollback(); LogUtil.WriteLog(null, "删除失败!失败原因:" + ex.Message + "\r\n" + Parameter, DateTime.Now.ToString("yyyyMMdd") + "_DeleteBUDGETPROJECT_AH"); return Ok(ESCG.Common.ReturnJson(999, "删除失败" + ex.Message)); } } #endregion #region 获取月度安徽财务预算明细表数据 /// /// 获取月度安徽财务预算明细表数据 /// /// /// 接口应用描述:
/// 展示服务区每个月的预算分解数据,可以根据一级科目代码查询预算数据
/// 业务逻辑描述:
/// 1、从【安徽财务预算表】和【安徽财务预算明细表】查询当前片区下服务区的预算分解数据
/// 2、从枚举表获取科目代码数据,从一级科目代码开始遍历,逐级绑定科目代码预算分解数据 ///
/// 预算项目ID /// 项目年份 /// 统计月份 /// 服务区内码 /// 一级科目代码,多个用,隔开 /// 结算日期 /// /// 涉及到的数据表: /// 1、安徽财务预算表:FINANCE_STORAGE.T_BUDGETPROJECT_AH
/// 2、安徽财务预算明细表:FINANCE_STORAGE.T_BUDGETDETAIL_AH
/// 3、枚举字段对象:FieldExplain;枚举解释对象:FieldEnum ///
/// /// /// /// [Route("Budget/GetBudgetProjectDetailList")] [AcceptVerbs("GET")] [ResponseType(typeof(Models.JsonMsg>>))] public IHttpActionResult GetBudgetProjectDetailList(int? BUDGETPROJECT_AH_ID = null, int? BUDGETPROJECT_YEAR = null, int? STATISTICS_MONTH = null, string SERVERPART_ID = "", string ACCOUNT_CODE = "", string STATISTICS_DATE = "") { string Parameter = "入参信息:预算项目ID【" + BUDGETPROJECT_AH_ID + "】,项目年份【" + BUDGETPROJECT_YEAR + "】," + "统计月份【" + STATISTICS_MONTH + "】,服务区内码【" + SERVERPART_ID + "】," + "科目代码【" + ACCOUNT_CODE + "】,结算日期【" + STATISTICS_DATE + "】"; try { //获取月度安徽财务预算明细表数据 List> BUDGETPROJECTList = ESCG.BUDGETDETAIL_AHHelper.GetBudgetProjectDetailList(transaction, BUDGETPROJECT_AH_ID, BUDGETPROJECT_YEAR, STATISTICS_MONTH, SERVERPART_ID, ACCOUNT_CODE, STATISTICS_DATE); Models.JsonList> jsonList = Models.JsonList>.Success( BUDGETPROJECTList, BUDGETPROJECTList.Count, 1, BUDGETPROJECTList.Count); return Ok(Models.JsonMsg>>.Success(jsonList, 100, "查询成功")); } catch (Exception ex) { transaction.Rollback(); LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter, DateTime.Now.ToString("yyyyMMdd") + "_GetBudgetProjectDetailList"); return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message)); } } #endregion #region 获取安徽财务预算表明细 /// /// 获取安徽财务预算表明细 /// /// 安徽财务预算表内码 /// [Route("Budget/GetBudgetMainShow")] [AcceptVerbs("GET")] [ResponseType(typeof(Models.JsonMsg))] public IHttpActionResult GetBudgetMainShow(string serverpartId, int year, int month) { string Parameter = "入参信息:安徽财务预算表内码【" + serverpartId + "】"; try { //获取安徽财务预算表明细 ESCM.BudgetMain budgetproject_ahModel = ESCG.BudgetShowAhHelper.GetBudgetMainShow(transaction, serverpartId, year, month); return Ok(Models.JsonMsg.Success(budgetproject_ahModel, 100, "查询成功")); } catch (Exception ex) { //事务回滚 transaction.Rollback(); LogUtil.WriteLog(null, "查询失败!失败原因:" + ex.Message + "\r\n" + Parameter, DateTime.Now.ToString("yyyyMMdd") + "_GetBUDGETPROJECT_AHDetail"); return Ok(ESCG.Common.ReturnJson(999, "查询失败" + ex.Message)); } } #endregion } }