public JsonResult ApportionCost(string DefineID, string InputData, string BelongYear, string BelongMonth) { var dic = this.GetDataDicByID("S_EP_DefineApportion", DefineID, Config.ConnEnum.InfrasBaseConfig); var inputDataDic = new Dictionary <string, object>(); if (!String.IsNullOrEmpty(InputData)) { inputDataDic = JsonHelper.ToObject(InputData); } if (String.IsNullOrEmpty(BelongYear)) { throw new Formula.Exceptions.BusinessValidationException("成本分摊必须指定年份"); } if (String.IsNullOrEmpty(BelongMonth)) { throw new Formula.Exceptions.BusinessValidationException("成本分摊必须指定月份"); } var dt = this.SQLDB.ExecuteDataTable(String.Format("SELECT * FROM S_EP_LockAccount WHERE State='{2}' AND BelongYear='{0}' AND BelongMonth='{1}'", BelongYear, BelongMonth, "Finish")); if (dt.Rows.Count > 0) { throw new Formula.Exceptions.BusinessValidationException(String.Format("{0}年{1}月已经结账锁定,无法进行分摊计算", dic.GetValue("BelongYear"), dic.GetValue("BelongMonth"))); } var define = new S_EP_DefineApportion(dic); var result = define.CalculateCost(inputDataDic); return(Json(result)); }
public JsonResult SaveDefineConfig() { string id = GetQueryString("ID"); string formData = GetQueryString("FormData"); var formDic = JsonHelper.ToObject(formData); S_EP_DefineApportion define = new S_EP_DefineApportion(formDic); define.Validate(); formDic.UpdateDB(this.SQLDB, TableName, id); return(Json(true)); }
protected override void AfterGetData(DataTable dt, bool isNew, string upperVersionID) { if (!isNew) { if (dt.Rows[0]["CtrlSourceAttr"] != null && dt.Rows[0]["CtrlSourceAttr"] != DBNull.Value) { var dic = JsonHelper.ToObject(dt.Rows[0]["CtrlSourceAttr"].ToString()); foreach (var key in dic.Keys) { if (!dt.Columns.Contains(key)) { dt.Columns.Add(key); } dt.Rows[0][key] = dic[key]; } } } string defineCode = GetQueryString("DefineCode"); var allDefines = this.InfrasDB.ExecuteDataTable("select * from S_EP_DefineApportion where Code = '" + defineCode + "'"); var inputHtmlList = new Dictionary <string, object>(); if (allDefines.Rows.Count == 0) { return; } DataRow row = allDefines.Rows[0]; if (row["InputSource"] == null || row["InputSource"] == DBNull.Value) { return; } var define = new S_EP_DefineApportion(FormulaHelper.DataRowToDic(row)); inputHtmlList.Add(row["ID"].ToString(), define.GetInputDefineHtml()); ViewBag.Script += "\n var inputHtmlDic = " + JsonHelper.ToJson(inputHtmlList) + ";"; //分摊明细 string showDetail = (!string.IsNullOrEmpty(define.ModelDic.GetValue("ShowDetail")) && define.ModelDic.GetValue("ShowDetail").ToLower() == "true").ToString().ToLower(); ViewBag.Script += "\n var showDetail = " + showDetail + ";"; ViewBag.Script += "\n var detailUrl = '" + define.ModelDic.GetValue("DetailUrl") + "';"; string paramSetting = JsonHelper.ToJson(define.DetailParamDefineList); ViewBag.Script += "\n var paramSetting = " + paramSetting + ";"; //控件数据源 ViewBag.Script += define.GetFormCtrlDataSoruce(); }