Example #1
0
        private void UpdateDetail(string year, List <Dictionary <string, object> > childrenDics, string templateCode)
        {
            //行
            foreach (var child in childrenDics)
            {
                //列
                foreach (var key in child.Keys)
                {
                    //月份列
                    if (!key.Contains(yearAndMonthColPre))
                    {
                        continue;
                    }

                    //排除plan
                    if (key.Contains(yearAndMonthColValueSuf))
                    {
                        continue;
                    }

                    //排除delta
                    if (key.Contains(yearAndMonthColRealDeltaSuf))
                    {
                        continue;
                    }

                    string   month      = key.Replace(yearAndMonthColPre, "");
                    DateTime bDate      = new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), 1);
                    string   templateID = child.GetValue("ID");
                    //唯一数据
                    S_F_CapitalAnalysis_Detail onlyOneDetail = entities.Set <S_F_CapitalAnalysis_Detail>().SingleOrDefault(
                        a => a.TemplateID == templateID &&
                        a.TemplateCode == templateCode &&
                        a.BudgetDate == bDate);

                    if (onlyOneDetail == null)
                    {
                        //没做过计划
                        continue;
                    }

                    onlyOneDetail.RealValue = Convert.ToDecimal(child.GetValue(key));
                }

                var childChildrenDics = JsonHelper.ToList(child.GetValue("children"));
                UpdateDetail(year, childChildrenDics, templateCode);
            }
        }
Example #2
0
        protected override void OnFlowEnd(S_F_CapitalCompanyPlan entity, Workflow.Logic.Domain.S_WF_InsTaskExec taskExec, Workflow.Logic.Domain.S_WF_InsDefRouting routing)
        {
            var detailList = EPCEntites.Set <S_F_CapitalCompanyPlan_Detail>().Where(a => a.S_F_BudgetProjectID == entity.ID).ToList();

            foreach (var detail in detailList)
            {
                //唯一数据
                S_F_CapitalAnalysis_Detail onlyOneDetail = EPCEntites.Set <S_F_CapitalAnalysis_Detail>().SingleOrDefault(
                    a => a.TemplateID == detail.TemplateID &&
                    a.TemplateCode == entity.TemplateCode &&
                    a.BudgetDate == detail.BudgetDate);

                //add
                if (onlyOneDetail == null)
                {
                    onlyOneDetail                  = new S_F_CapitalAnalysis_Detail();
                    onlyOneDetail.ID               = FormulaHelper.CreateGuid();
                    onlyOneDetail.TemplateCode     = entity.TemplateCode;
                    onlyOneDetail.TemplateID       = detail.TemplateID;
                    onlyOneDetail.ParentTemplateID = detail.ParentTemplateID;
                    onlyOneDetail.FullTemplateID   = detail.FullTemplateID;
                    onlyOneDetail.IsReadOnly       = detail.IsReadOnly;
                    onlyOneDetail.SortIndex        = detail.SortIndex;
                    onlyOneDetail.Name             = detail.Name;
                    onlyOneDetail.BudgetDate       = detail.BudgetDate;
                    onlyOneDetail.Year             = detail.Year;
                    onlyOneDetail.Month            = detail.Month;
                    onlyOneDetail.CapitalPlanType  = detail.CapitalPlanType;
                    onlyOneDetail.SourceSQL        = detail.SourceSQL;
                    onlyOneDetail.RealSourceSQL    = detail.RealSourceSQL;
                    onlyOneDetail.SourceLink       = detail.SourceLink;
                    onlyOneDetail.RealSourceLink   = detail.RealSourceLink;
                    EPCEntites.Set <S_F_CapitalAnalysis_Detail>().Add(onlyOneDetail);
                }

                onlyOneDetail.BudgetValue = detail.BudgetValue;
            }
        }