Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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();
        }