2222
This commit is contained in:
parent
f757454053
commit
deeddb799e
@ -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<EntryGrid>("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<EntryGrid>("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<EntryGrid>("F_XMKMDetail").GetFocusRowIndex();
|
||||
this.View.GetControl<EntryGrid>("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());
|
||||
//}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user