From deeddb799e65877656b678ee2236ee35e72c6ab9 Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Sat, 17 May 2025 21:24:18 +0800 Subject: [PATCH] 2222 --- VapeEZDLL/YSKM_KMDM_GXB/YSKM_KMDM_GXB_Save.cs | 417 ++++++++++++------ 1 file changed, 273 insertions(+), 144 deletions(-) diff --git a/VapeEZDLL/YSKM_KMDM_GXB/YSKM_KMDM_GXB_Save.cs b/VapeEZDLL/YSKM_KMDM_GXB/YSKM_KMDM_GXB_Save.cs index 20b7098..360f762 100644 --- a/VapeEZDLL/YSKM_KMDM_GXB/YSKM_KMDM_GXB_Save.cs +++ b/VapeEZDLL/YSKM_KMDM_GXB/YSKM_KMDM_GXB_Save.cs @@ -37,183 +37,312 @@ namespace VapeEZDLL.YSKM_KMDM_GXB // // var sql_1 = string.Format(@"/*dialect*/Select top 1 FId From F_XMKMDetail"); // // var sql_List1 = DBUtils.ExecuteDynamicObject(Context, sql_1); - + // //} //} - + public int times = 0; public override void DataChanged(DataChangedEventArgs e) - { + { + times = times + 1; + LogHelper.Error(new Exception(), "46"); base.DataChanged(e); int setRows = e.Row; - //if (e.Field.Key.Equals("F_ISSX")) - //{ - // //文本字段触发值更新时,模拟用户点击菜单,此处模拟点击“选项”菜单: - // ((IDynamicFormViewService)this.View).MainBarItemClick("MBBA_tbButton"); - //} - //if (e.Field.Key.Equals("F_061") || e.Field.Key.Equals("F_054") || e.Field.Key.Equals("F_055") || e.Field.Key.Equals("F_056") - // || e.Field.Key.Equals("F_060") || e.Field.Key.Equals("F_057") || e.Field.Key.Equals("F_058")) - //{ - // this.Model.SetValue("F_666", "True", e.Row); - //} - - //Entity fentity = this.View.Bil1BusinessInfo.GetEntity("FEntity"); - //int[] selectedRows = this.View.GetControl("FEntity").GetSelectedRows(); - //DynamicObjectCollection entity0bjs = this.Model.GetEntityDataObject(fentity); - //throw new KDBusinessException("", "测试热更新"); + int keyI = 0; int maoliTxt = 0; int ifupdate = 0; + int qiTaupdate = 0; var entity = this.View.BusinessInfo.GetEntity("F_XMKMDetail"); + LogHelper.Error(new Exception(), "54"); + if (entity == null) + return; var tempRow=this.Model.GetEntityDataObject(entity, e.Row);//行数据包 - DynamicObjectCollection entries = this.View.Model.DataObject["F_XMKMDetail"] as DynamicObjectCollection; - //string json = JsonConverterHelper.Serialize(entries); - //LogHelper.Error(new Exception(), json); - //营业成本:直接材料+直接人工+制造费用 - if (tempRow["F_XM"] != null && (tempRow["F_XM"].ToString().Contains("直接材料") || tempRow["F_XM"].ToString().Contains("直接人工") - || tempRow["F_XM"].ToString().Contains("制造费用"))) + string F_XM = ""; + if (tempRow != null && tempRow["F_XM"]!=null) { - ifupdate = 1; - //营业成本 - var yycb = entries.Where(t => t["F_XM"].ToString()==("营业成本")).FirstOrDefault(); - if (yycb != null) + F_XM = tempRow["F_XM"].ToString(); + LogHelper.Error(new Exception(), "56"); + DynamicObjectCollection entries3 = this.View.Model.DataObject["F_XMKMDetail"] as DynamicObjectCollection; + //string json = JsonConverterHelper.Serialize(entries3); + //LogHelper.Error(new Exception(), json); + //营业成本:直接材料+直接人工+制造费用 + var entries = entries3.Where(t => t["F_XM"] != null).ToList(); + if (tempRow["F_XM"] != null && (F_XM.Contains("直接材料") || F_XM.Contains("直接人工") + || F_XM.Contains("制造费用"))) { - //直接材料+直接人工+制造费用 - var tempList = entries.Where(t => t["F_XM"].ToString().Contains("直接材料") || t["F_XM"].ToString().Contains("直接人工") || t["F_XM"].ToString().Contains("制造费用")).ToList(); - for (int i = 1; i <= 12; i++) + keyI = keyI + 1; + LogHelper.Error(new Exception(), "65"); + ifupdate = 1; + //营业成本 + var yycb = entries.Where(t => t["F_XM"].ToString() == ("营业成本")).FirstOrDefault(); + if (yycb != null) { - yycb["F_Month"+i.ToString()] = tempList.Where(t => t["F_Month" + i.ToString()] != null).Sum(t => decimal.Parse(t["F_Month" + i.ToString()].ToString())); - this.View.Model.SetValue("F_Month" + i.ToString(), yycb["F_Month" + i.ToString()],int.Parse( yycb["Seq"].ToString())-1); - } - - //毛利:营业收入-营业成本 - var maoLi = entries.Where(t => t["F_XM"].ToString() == ("毛利")).FirstOrDefault(); - if (maoLi != null) - { - maoliTxt = 1; - var yysr = entries.Where(t => t["F_XM"].ToString() == ("营业收入")).FirstOrDefault(); - + LogHelper.Error(new Exception(), "80"); + //直接材料+直接人工+制造费用 + var tempList = entries.Where(t => t["F_XM"] != null && (t["F_XM"].ToString().Contains("直接材料") || t["F_XM"].ToString().Contains("直接人工") + || t["F_XM"].ToString().Contains("制造费用"))).ToList(); for (int i = 1; i <= 12; i++) { - maoLi["F_Month" + i.ToString()] = 0; - if (yysr != null) - { - if (yysr["F_Month" + i.ToString()] != null) - maoLi["F_Month" + i.ToString()] = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()) - + decimal.Parse(yysr["F_Month" + i.ToString()].ToString()); - } - if (yycb["F_Month" + i.ToString()] != null) - { - maoLi["F_Month" + i.ToString()] = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()) - - decimal.Parse(yycb["F_Month" + i.ToString()].ToString()); - } - this.View.Model.SetValue("F_Month" + i.ToString(), maoLi["F_Month" + i.ToString()], int.Parse(maoLi["Seq"].ToString()) - 1); + LogHelper.Error(new Exception(), "85"); + yycb["F_Month" + i.ToString()] = tempList.Where(t => t["F_Month" + i.ToString()] != null).Sum(t => decimal.Parse(t["F_Month" + i.ToString()].ToString())); + LogHelper.Error(new Exception(), yycb["Seq"].ToString() + " 87"); + this.View.Model.SetValue("F_Month" + i.ToString(), yycb["F_Month" + i.ToString()], int.Parse(yycb["Seq"].ToString()) - 1); } + LogHelper.Error(new Exception(), "88"); + //毛利:营业收入-营业成本 + var maoLi = entries.Where(t => t["F_XM"].ToString() == ("毛利")).FirstOrDefault(); + if (maoLi != null) + { + LogHelper.Error(new Exception(), "93"); + maoliTxt = 1; + var yysr = entries.Where(t => t["F_XM"].ToString() == ("营业收入")).FirstOrDefault(); + for (int i = 1; i <= 12; i++) + { + maoLi["F_Month" + i.ToString()] = 0; + if (yysr != null) + { + if (yysr["F_Month" + i.ToString()] != null) + maoLi["F_Month" + i.ToString()] = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()) + + decimal.Parse(yysr["F_Month" + i.ToString()].ToString()); + } + if (yycb["F_Month" + i.ToString()] != null) + { + maoLi["F_Month" + i.ToString()] = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()) + - decimal.Parse(yycb["F_Month" + i.ToString()].ToString()); + } + this.View.Model.SetValue("F_Month" + i.ToString(), maoLi["F_Month" + i.ToString()], int.Parse(maoLi["Seq"].ToString()) - 1); + } + + } + LogHelper.Error(new Exception(), "114"); } - } - } - //其他:制造费用-工资-职工福利费-社保、公积金-房租-水电费-物料消耗-摊销、折旧 - if (tempRow["F_XM"] != null && (tempRow["F_XM"].ToString().Contains("制造费用") || tempRow["F_XM"].ToString().Contains("工资") - || (tempRow["F_XM"].ToString().Contains("社保") && tempRow["F_XM"].ToString().Contains("公积金")) || tempRow["F_XM"].ToString().Contains("房租") - || tempRow["F_XM"].ToString().Contains("水电费") || tempRow["F_XM"].ToString().Contains("物料消耗") || (tempRow["F_XM"].ToString().Contains("摊销") - && tempRow["F_XM"].ToString().Contains("折旧")))) - { - ifupdate = 1; - //其他 - var qiTa = entries.Where(t => t["F_XM"].ToString()==("其他")).FirstOrDefault(); - if (qiTa != null) + //其他:制造费用-工资-职工福利费-社保、公积金-房租-水电费-物料消耗-摊销、折旧 + if (tempRow["F_XM"] != null && (F_XM.Contains("制造费用") || F_XM.Contains("工资") + || (F_XM.Contains("社保") && F_XM.Contains("公积金")) || F_XM.Contains("房租") + || F_XM.Contains("水电费") || F_XM.Contains("物料消耗") || (F_XM.Contains("摊销") + && F_XM.Contains("折旧")))) { - //直接材料+直接人工+制造费用 - var tempList = entries.Where(t => - t["F_XM"] != null && (t["F_XM"].ToString().Contains("制造费用") || t["F_XM"].ToString().Contains("工资") - || (t["F_XM"].ToString().Contains("社保") && t["F_XM"].ToString().Contains("公积金") )|| t["F_XM"].ToString().Contains("房租") - || t["F_XM"].ToString().Contains("水电费") || t["F_XM"].ToString().Contains("物料消耗") || (t["F_XM"].ToString().Contains("摊销") - && t["F_XM"].ToString().Contains("折旧")))).ToList(); - for (int i = 1; i <= 12; i++) + keyI = keyI + 1; + LogHelper.Error(new Exception(), "119"); + qiTaupdate = 1; + //其他 + var qiTa = entries.Where(t => t["F_XM"].ToString() == ("其他")).FirstOrDefault(); + if (qiTa != null) { - qiTa["F_Month" + i.ToString()] = tempList.Where(t => t["F_Month" + i.ToString()] != null).Sum(t => decimal.Parse(t["F_Month" + i.ToString()].ToString())); - this.View.Model.SetValue("F_Month" + i.ToString(), qiTa["F_Month" + i.ToString()], int.Parse(qiTa["Seq"].ToString()) - 1); - } - } - } - - //营业收入 联动修改毛利和毛利率 - if (tempRow["F_XM"] != null && (tempRow["F_XM"].ToString()==("营业收入"))) - { - ifupdate = 1; - //营业收入 - var yysr = entries.Where(t => t["F_XM"].ToString() == ("营业收入")).FirstOrDefault(); - if (yysr != null) - { - //毛利:营业收入-营业成本 - var maoLi = entries.Where(t => t["F_XM"].ToString() == ("毛利")).FirstOrDefault(); - if (maoLi != null) - { - maoliTxt = 1; - var yycb = entries.Where(t => t["F_XM"].ToString() == ("营业成本")).FirstOrDefault(); + LogHelper.Error(new Exception(), "129"); + //制造费用-工资-职工福利费-社保、公积金-房租-水电费-物料消耗-摊销、折旧 + var tempList = entries.Where(t => + t["F_XM"] != null && (t["F_XM"].ToString().Contains("制造费用") || t["F_XM"].ToString().Contains("工资") + || (t["F_XM"].ToString().Contains("社保") && t["F_XM"].ToString().Contains("公积金")) || t["F_XM"].ToString().Contains("房租") + || t["F_XM"].ToString().Contains("水电费") || t["F_XM"].ToString().Contains("物料消耗") || (t["F_XM"].ToString().Contains("摊销") + && t["F_XM"].ToString().Contains("折旧")))).ToList(); for (int i = 1; i <= 12; i++) { - maoLi["F_Month" + i.ToString()] = 0; - if (yysr != null) + qiTa["F_Month" + i.ToString()] = tempList.Where(t => t["F_Month" + i.ToString()] != null).Sum(t => decimal.Parse(t["F_Month" + i.ToString()].ToString())); + this.View.Model.SetValue("F_Month" + i.ToString(), qiTa["F_Month" + i.ToString()], int.Parse(qiTa["Seq"].ToString()) - 1); + } + LogHelper.Error(new Exception(), "141"); + } + } + + //营业收入 联动修改毛利和毛利率 + if (tempRow["F_XM"] != null && (F_XM == ("营业收入") || ifupdate == 1)) + { + keyI = keyI + 1; + LogHelper.Error(new Exception(), "144"); + ifupdate = 1; + //营业收入 + var yysr = entries.Where(t => t["F_XM"].ToString() == ("营业收入")).FirstOrDefault(); + if (yysr != null) + { + LogHelper.Error(new Exception(), "150"); + //毛利:营业收入-营业成本 + var maoLi = entries.Where(t => t["F_XM"].ToString().Contains("毛利") && !t["F_XM"].ToString().Contains("毛利率")).FirstOrDefault(); + if (maoLi != null) + { + LogHelper.Error(new Exception(), "155"); + maoliTxt = 1; + var yycb = entries.Where(t => t["F_XM"].ToString() == ("营业成本")).FirstOrDefault(); + + for (int i = 1; i <= 12; i++) { - if (yysr["F_Month" + i.ToString()] != null) - maoLi["F_Month" + i.ToString()] = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()) - + decimal.Parse(yysr["F_Month" + i.ToString()].ToString()); + maoLi["F_Month" + i.ToString()] = 0; + if (yysr != null) + { + if (yysr["F_Month" + i.ToString()] != null) + maoLi["F_Month" + i.ToString()] = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()) + + decimal.Parse(yysr["F_Month" + i.ToString()].ToString()); + } + if (yycb != null) + { + if (yycb["F_Month" + i.ToString()] != null) + { + maoLi["F_Month" + i.ToString()] = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()) + - decimal.Parse(yycb["F_Month" + i.ToString()].ToString()); + } + } + + this.View.Model.SetValue("F_Month" + i.ToString(), maoLi["F_Month" + i.ToString()], int.Parse(maoLi["Seq"].ToString()) - 1); } - if (yycb["F_Month" + i.ToString()] != null) - { - maoLi["F_Month" + i.ToString()] = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()) - - decimal.Parse(yycb["F_Month" + i.ToString()].ToString()); - } - this.View.Model.SetValue("F_Month" + i.ToString(), maoLi["F_Month" + i.ToString()], int.Parse(maoLi["Seq"].ToString()) - 1); } } } - } - if (maoliTxt == 1) - { - ifupdate = 1; - // 毛利率:百分百后两位小数显示,四舍五入操作。公式:毛利/营业收入 - var yysr = entries.Where(t => t["F_XM"].ToString() == ("营业收入")).FirstOrDefault(); - var maoLi = entries.Where(t => t["F_XM"].ToString() == ("毛利")).FirstOrDefault(); - var maoLiLv = entries.Where(t => t["F_XM"].ToString() == ("毛利率")).FirstOrDefault(); - if (yysr != null && maoLi != null && maoLiLv!=null) - { - for (int i = 1; i <= 12; i++) + + + LogHelper.Error(new Exception(), "177"); + if (maoliTxt == 1) + { + LogHelper.Error(new Exception(), "180"); + ifupdate = 1; + // 毛利率:百分百后两位小数显示,四舍五入操作。公式:毛利/营业收入 + var yysr = entries.Where(t => t["F_XM"].ToString().Contains("营业收入")).FirstOrDefault(); + var maoLi = entries.Where(t => t["F_XM"].ToString().Contains("毛利") && t["F_XM"].ToString() != ("毛利率")).FirstOrDefault(); + var maoLiLv = entries.Where(t => t["F_XM"].ToString().Contains("毛利率")).FirstOrDefault(); + if (yysr != null && maoLi != null && maoLiLv != null) { - maoLiLv["F_Month" + i.ToString()] = 0; - decimal maoliD = 0.000m; - decimal shouRu = 0.000m; - decimal maoLiLv2 = 0.000m; - maoliD = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()); - shouRu = decimal.Parse(yysr["F_Month" + i.ToString()].ToString()); - if (shouRu != 0) - maoLiLv2 =Math.Round( maoliD / shouRu * 100); - this.View.Model.SetValue("F_Month" + i.ToString(), maoLiLv2, int.Parse(maoLiLv["Seq"].ToString()) - 1); + for (int i = 1; i <= 12; i++) + { + maoLiLv["F_Month" + i.ToString()] = 0; + decimal maoliD = 0.000m; + decimal shouRu = 0.000m; + decimal maoLiLv2 = 0.000m; + maoliD = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()); + shouRu = decimal.Parse(yysr["F_Month" + i.ToString()].ToString()); + if (shouRu != 0) + maoLiLv2 = Math.Round(maoliD * 1.000m / shouRu, 2); + this.View.Model.SetValue("F_Month" + i.ToString(), maoLiLv2, int.Parse(maoLiLv["Seq"].ToString()) - 1); + } } } - } - - //当修改到计算项时,阻止修改 - if (tempRow["F_XM"] != null && (tempRow["F_XM"].ToString() == ("营业成本") || tempRow["F_XM"].ToString()==("其他") || tempRow["F_XM"].ToString().Contains("毛利") - || tempRow["F_XM"].ToString()==("毛利率") || tempRow["F_XM"].ToString().Contains("经营性利润") || tempRow["F_XM"].ToString().Contains("利润总额") || tempRow["F_XM"].ToString() == ("净利润"))) - { - if (e.Field.Key.Contains("F_Month")) + //三、经营性利润:毛利-税金及附加-销售费用-管理费用-研发费用 + if (tempRow["F_XM"] != null && ((F_XM.Contains("毛利") && !F_XM.Contains("毛利率")) || F_XM.Contains("税金及附加") + || F_XM.Contains("销售费用") || F_XM.Contains("管理费用") || F_XM.Contains("研发费用") || ifupdate == 1)) { - //string json=JsonConverterHelper.Serialize(e); - //LogHelper.Error(new Exception(), json); - var old = decimal.Parse(e.OldValue.ToString()) ; - this.View.Model.SetValue(e.Field.Key, old, e.Row); - this.View.ShowMessage("该项目需要通过子项目计算得到结果,不能直接修改值"); + keyI = keyI + 1; + LogHelper.Error(new Exception(), "206"); + ifupdate = 1; + //经营性利润 + var qiTa = entries.Where(t => t["F_XM"].ToString().Contains("经营性利润")).FirstOrDefault(); + if (qiTa != null) + { + LogHelper.Error(new Exception(), "219"); + //毛利 + var maoLi = entries.Where(t => t["F_XM"].ToString().Contains("毛利") && t["F_XM"].ToString() != ("毛利率")).FirstOrDefault(); + //经营性利润:毛利-税金及附加-销售费用-管理费用-研发费用 + var tempList = entries.Where(t => + t["F_XM"] != null && (t["F_XM"].ToString().Contains("税金及附加") + || t["F_XM"].ToString().Contains("销售费用") || t["F_XM"].ToString().Contains("管理费用") + || t["F_XM"].ToString().Contains("研发费用"))).ToList(); + for (int i = 1; i <= 12; i++) + { + decimal tempMaoli = 0; + if (maoLi != null) + { + tempMaoli = decimal.Parse(maoLi["F_Month" + i.ToString()].ToString()); + } + qiTa["F_Month" + i.ToString()] = tempMaoli - tempList.Where(t => t["F_Month" + i.ToString()] != null).Sum(t => decimal.Parse(t["F_Month" + i.ToString()].ToString())); + this.View.Model.SetValue("F_Month" + i.ToString(), qiTa["F_Month" + i.ToString()], int.Parse(qiTa["Seq"].ToString()) - 1); + } + //LogHelper.Error(new Exception(), "141"); + } } - } - if (ifupdate == 1) - { - this.View.UpdateView("F_XMKMDetail"); - this.View.GetControl("F_XMKMDetail").SetFocusRowIndex(setRows); - //var newvalue = e.OldValue as DynamicObject; - //this.View.Model.SetValue(e.Field.Key, newvalue, e.Row); + + //三、利润总额(亏损总额以“-”号填列):经营性利润-财务费用+其他(补贴)+营业外收入-营业外支出 + if (tempRow["F_XM"] != null && (F_XM.Contains("经营性利润") || F_XM.Contains("其他(补贴)") + || F_XM.Contains("营业外收入") || F_XM.Contains("营业外支出") || ifupdate == 1)) + { + keyI = keyI + 1; + LogHelper.Error(new Exception(), "238"); + ifupdate = 1; + //利润总额 + var qiTa = entries.Where(t => t["F_XM"].ToString().Contains("利润总额")).FirstOrDefault(); + if (qiTa != null) + { + //LogHelper.Error(new Exception(), "129"); + //三、利润总额(亏损总额以“-”号填列):经营性利润-财务费用+其他(补贴)+营业外收入-营业外支出 + var addList = entries.Where(t => + t["F_XM"] != null && (t["F_XM"].ToString().Contains("经营性利润") || t["F_XM"].ToString().Contains("其他(补贴)") + || t["F_XM"].ToString().Contains("营业外收入"))).ToList(); + var jianList = entries.Where(t => + t["F_XM"] != null && (t["F_XM"].ToString().Contains("财务费用") || t["F_XM"].ToString().Contains("营业外支出"))).ToList(); + for (int i = 1; i <= 12; i++) + { + qiTa["F_Month" + i.ToString()] = addList.Where(t => t["F_Month" + i.ToString()] != null).Sum(t => decimal.Parse(t["F_Month" + i.ToString()].ToString())) + - jianList.Where(t => t["F_Month" + i.ToString()] != null).Sum(t => decimal.Parse(t["F_Month" + i.ToString()].ToString())); + + this.View.Model.SetValue("F_Month" + i.ToString(), qiTa["F_Month" + i.ToString()], int.Parse(qiTa["Seq"].ToString()) - 1); + } + LogHelper.Error(new Exception(), "263"); + } + } + + // 四、净利润(净亏损以“-”号填列):利润总额-所得税费用 + if (tempRow["F_XM"] != null && (F_XM.Contains("利润总额") + || F_XM.Contains("所得税费用")) || ifupdate == 1) + { + keyI = keyI + 1; + LogHelper.Error(new Exception(), "266"); + ifupdate = 1; + //利润总额 + var qiTa = entries.Where(t => t["F_XM"].ToString().Contains("净利润")).FirstOrDefault(); + if (qiTa != null) + { + //LogHelper.Error(new Exception(), "129"); + //四、净利润(净亏损以“-”号填列):利润总额-所得税费用 + var addList = entries.Where(t => + t["F_XM"] != null && (t["F_XM"].ToString().Contains("利润总额"))).ToList(); + var jianList = entries.Where(t => + t["F_XM"] != null && (t["F_XM"].ToString().Contains("所得税费用"))).ToList(); + for (int i = 1; i <= 12; i++) + { + qiTa["F_Month" + i.ToString()] = addList.Where(t => t["F_Month" + i.ToString()] != null).Sum(t => decimal.Parse(t["F_Month" + i.ToString()].ToString())) + - jianList.Where(t => t["F_Month" + i.ToString()] != null).Sum(t => decimal.Parse(t["F_Month" + i.ToString()].ToString())); + + this.View.Model.SetValue("F_Month" + i.ToString(), qiTa["F_Month" + i.ToString()], int.Parse(qiTa["Seq"].ToString()) - 1); + } + LogHelper.Error(new Exception(), "288"); + } + } + + + + if (ifupdate == 1 || qiTaupdate == 1) + { + LogHelper.Error(new Exception(), "219"); + this.View.UpdateView("F_XMKMDetail"); + //this.View.ShowMessage(tempRow["Seq"].ToString()+"该项目需要通过子项目计算得到结果,不能直接修改值" + e.Row+ name); + //var dd= this.View.GetControl("F_XMKMDetail").GetFocusRowIndex(); + this.View.GetControl("F_XMKMDetail").SetFocusRowIndex(e.Row); + //var newvalue = e.OldValue as DynamicObject; + //this.View.Model.SetValue(e.Field.Key, newvalue, e.Row); + LogHelper.Error(new Exception(), "315"); + times = 0; + } + + //当修改到计算项时,阻止修改 + if (times <= 1 && (F_XM.Contains("营业成本") || F_XM == ("其他") + || F_XM.Contains("毛利") + || F_XM.Contains("毛利率") || F_XM.Contains("经营性利润") || F_XM.Contains("利润总额") || F_XM.Contains("净利润"))) + { + keyI = keyI + 1; + LogHelper.Error(new Exception(), "293"); + if (e.Field.Key.Contains("F_Month")) + { + LogHelper.Error(new Exception(), "209"); + //string json=JsonConverterHelper.Serialize(e); + //LogHelper.Error(new Exception(), json); + var old = decimal.Parse(e.OldValue.ToString()); + this.View.Model.SetValue(e.Field.Key, old, e.Row); + this.View.ShowMessage("该项目需要通过子项目计算得到结果,不能直接修改值" + setRows); + times = 0; + } + } + //else + //{ + // this.View.ShowMessage(times.ToString()); + //} } }