王 垚
2022-09-05 226dd2b152c0fb06b3f8108ac7740216a8a453c6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
 
namespace Demo.BillView.PRD
{
    [Description("[日计划用料清单]Datachange事件分子分母更改")]
    [HotUpdate]
    public class Pro_RjhylqdDatachange : AbstractBillPlugIn
    {
        public override void DataChanged(DataChangedEventArgs e)
        {
            //if (!isSearched) return;
            base.DataChanged(e);
            var model = this.View.Model;
            decimal FHQty = Convert.ToDecimal(model.GetValue("FHQty"));
            //分子
            if (e.Field.Key.Contains("FNumerator") || e.Field.Key.Contains("FDenominator") || e.Field.Key.Contains("FUseRate"))
            {
                decimal FNumerator = Convert.ToDecimal(model.GetValue("FNumerator", e.Row));//分子
                decimal FDenominator = Convert.ToDecimal(model.GetValue("FDenominator", e.Row));//分母
                decimal FUseRate = Convert.ToDecimal(model.GetValue("FUseRate", e.Row));//使用比例
                if (FNumerator == 0 || FDenominator == 0)
                    return;
                var Hqty = Math.Ceiling((FNumerator / FDenominator) * FHQty * (FUseRate / 100));
                this.View.Model.SetValue("FHQtySub", Hqty, e.Row);//计划数量
                this.View.Model.SetValue("FHQtyMust", Hqty, e.Row);//应发数量
                this.View.Model.SetValue("FDwyl", FNumerator / FDenominator, e.Row);//单位用量
 
 
            }
 
 
        }
    }
}