1
This commit is contained in:
parent
766bc1d95d
commit
32b6d08106
824
NewAisa_Order_GZTH/NewAisa_Order_GZTH/Sal_Order/DataChageFZ.cs
Normal file
824
NewAisa_Order_GZTH/NewAisa_Order_GZTH/Sal_Order/DataChageFZ.cs
Normal file
@ -0,0 +1,824 @@
|
||||
using Kingdee.BOS.Core.DependencyRules;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
||||
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.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace NewAisa_Order_GZTH.Sal_Order
|
||||
{
|
||||
[Description("表单插件:值更新事件,辅助属性赋值"), HotUpdate]
|
||||
public class DataChageFZ : AbstractDynamicFormPlugIn
|
||||
{
|
||||
public override void DataChanged(DataChangedEventArgs e)
|
||||
{
|
||||
base.DataChanged(e);
|
||||
int setRows = e.Row;
|
||||
//需要修改的地方
|
||||
var entity = this.View.BusinessInfo.GetEntity("FCRMContractEntry");
|
||||
if (entity == null)
|
||||
{
|
||||
entity = this.View.BusinessInfo.GetEntity("FEntity");
|
||||
}
|
||||
if (entity == null)
|
||||
{
|
||||
entity = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
}
|
||||
var tempRow = this.Model.GetEntityDataObject(entity, e.Row);
|
||||
if (e.Field.Key == "FAuxPropId" || e.Field.Key == "FAuxpropId"
|
||||
|| e.Field.Key == "FAUXPROPID")
|
||||
{
|
||||
//判断是否为应收单明细,应收单明细辅助资料属性不同
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
Aux = tempRow["FAUXPROPID"] as DynamicObject;
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
Aux = tempRow["AuxPropId"] as DynamicObject;
|
||||
}
|
||||
//辅助属性 - 长度:$$FAUXPROPID__FF100001,xiugial
|
||||
if (tempRow != null && Aux != null)
|
||||
{
|
||||
|
||||
if (Aux["F100001"] != null)
|
||||
{
|
||||
if (double.TryParse(Aux["F100001"].ToString(), out double length))
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_Length", length, setRows);
|
||||
|
||||
}
|
||||
}
|
||||
else if (Aux["F100001"] == null)
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_Length", 0, setRows);
|
||||
}
|
||||
|
||||
if (Aux["F100002"] != null)
|
||||
{
|
||||
if (double.TryParse(Aux["F100002"].ToString(), out double width))
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_Width", width, setRows);
|
||||
|
||||
}
|
||||
}
|
||||
else if (Aux["F100002"] == null)
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_Width", 0, setRows);
|
||||
}
|
||||
|
||||
if (Aux["F100004"] != null)
|
||||
{
|
||||
if (double.TryParse(Aux["F100004"].ToString(), out double box))
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_Box", box, setRows);
|
||||
|
||||
}
|
||||
}
|
||||
else if (Aux["F100004"] == null)
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_Box", 0, setRows);
|
||||
}
|
||||
|
||||
|
||||
if (Aux["F100006"] != null)
|
||||
{
|
||||
if (double.TryParse(Aux["F100006"].ToString(), out double rollBox))
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_RollBox", rollBox, setRows);
|
||||
|
||||
}
|
||||
}
|
||||
else if (Aux["F100006"] == null)
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_RollBox", 0, setRows);
|
||||
}
|
||||
|
||||
if (Aux["F100007"] != null)
|
||||
{
|
||||
if (double.TryParse(Aux["F100007"].ToString(), out double depth))
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_Depth", depth, setRows);
|
||||
|
||||
}
|
||||
}
|
||||
else if (Aux["F100007"] == null)
|
||||
{
|
||||
this.View.Model.SetItemValueByID("F_Depth", 0, setRows);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (e.Field.Key == "FMaterialId" || e.Field.Key == "FMaterialID"
|
||||
||e.Field.Key == "FMATERIALID")
|
||||
{
|
||||
entity = this.View.BusinessInfo.GetEntity("FCRMContractEntry");
|
||||
if (entity == null)
|
||||
{
|
||||
entity = this.View.BusinessInfo.GetEntity("FEntity");
|
||||
}
|
||||
if (entity == null)
|
||||
{
|
||||
entity = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
}
|
||||
tempRow = this.Model.GetEntityDataObject(entity, e.Row);
|
||||
if (tempRow != null && tempRow["MaterialId"] != null)
|
||||
{
|
||||
|
||||
var WLDS1 = tempRow["MaterialId"] as DynamicObject;
|
||||
//当物料的分组为成品时。
|
||||
if (WLDS1["MaterialGroup_id"].ToString() == "100252" || WLDS1["MaterialGroup_id"].ToString() == "109721" ||
|
||||
WLDS1["MaterialGroup_id"].ToString() == "109723" || WLDS1["MaterialGroup_id"].ToString() == "109724" ||
|
||||
WLDS1["MaterialGroup_id"].ToString() == "109725" || WLDS1["MaterialGroup_id"].ToString() == "109727" ||
|
||||
WLDS1["MaterialGroup_id"].ToString() == "109728" || WLDS1["MaterialGroup_id"].ToString() == "116090" ||
|
||||
WLDS1["MaterialGroup_id"].ToString() == "116149" || WLDS1["MaterialGroup_id"].ToString() == "116093" ||
|
||||
WLDS1["MaterialGroup_id"].ToString() == "124946" || WLDS1["MaterialGroup_id"].ToString() == "116094")
|
||||
{
|
||||
this.View.Model.SetValue("$$FAUXPROPID__FF100007", "0", e.Row);
|
||||
this.View.Model.SetValue("F_Depth", 0, e.Row);
|
||||
this.View.Model.SetItemValueByID("$$FAUXPROPID__FF100003", "6822f8e692e739", e.Row);
|
||||
//设置卷和面积字段锁定
|
||||
this.View.GetFieldEditor("$$FAUXPROPID__FF100005", e.Row).Enabled = false;
|
||||
this.View.GetFieldEditor("F_Area", e.Row).Enabled = false;
|
||||
//当物料的规格型号不为空时
|
||||
if (WLDS1["Specification"] != null)
|
||||
{
|
||||
|
||||
var spec = WLDS1["Specification"].ToString();
|
||||
this.View.Model.SetValue("$$FAUXPROPID__FF100002", WLDS1["Specification"].ToString(), e.Row);
|
||||
this.View.Model.SetItemValueByID("F_Width", WLDS1["Specification"].ToString(), e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
//当物料为半成品时,赋值默认值
|
||||
if (WLDS1["MaterialGroup_id"].ToString() == "112215" || WLDS1["MaterialGroup_id"].ToString() == "112217" || WLDS1["MaterialGroup_id"].ToString() == "112218"
|
||||
|| WLDS1["MaterialGroup_id"].ToString() == "112219" || WLDS1["MaterialGroup_id"].ToString() == "112221" || WLDS1["MaterialGroup_id"].ToString() == "112222"
|
||||
|| WLDS1["MaterialGroup_id"].ToString() == "116091" || WLDS1["MaterialGroup_id"].ToString() == "116150" || WLDS1["MaterialGroup_id"].ToString() == "116095"
|
||||
|| WLDS1["MaterialGroup_id"].ToString() == "124564" || WLDS1["MaterialGroup_id"].ToString() == "129698")
|
||||
{
|
||||
//设置字段锁定
|
||||
this.View.GetFieldEditor("$$FAUXPROPID__FF100005", e.Row).Enabled = true;
|
||||
this.View.GetFieldEditor("F_Area", e.Row).Enabled = false;
|
||||
|
||||
this.View.Model.SetValue("$$FAUXPROPID__FF100007", "0", e.Row);
|
||||
this.View.Model.SetValue("F_Depth", 0, e.Row);
|
||||
this.View.Model.SetValue("$$FAUXPROPID__FF100005", "0", e.Row);
|
||||
this.View.Model.SetValue("F_Roll", 0, e.Row);
|
||||
this.View.Model.SetItemValueByID("$$FAUXPROPID__FF100003", "6822f8e692e739", e.Row);
|
||||
}
|
||||
if (WLDS1["MaterialGroup_id"].ToString() == "116097")
|
||||
{
|
||||
this.View.Model.SetValue("$$FAUXPROPID__FF100005", "0", e.Row);
|
||||
this.View.Model.SetValue("F_Roll", 0, e.Row);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tempRow == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//获取物料对象
|
||||
var WLDS = tempRow["MaterialId"] as DynamicObject;
|
||||
if (WLDS == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//当物料的分组为成品时。
|
||||
if (WLDS["MaterialGroup_id"].ToString() == "100252" || WLDS["MaterialGroup_id"].ToString() == "109721" ||
|
||||
WLDS["MaterialGroup_id"].ToString() == "109723" || WLDS["MaterialGroup_id"].ToString() == "109724" ||
|
||||
WLDS["MaterialGroup_id"].ToString() == "109725" || WLDS["MaterialGroup_id"].ToString() == "109727" ||
|
||||
WLDS["MaterialGroup_id"].ToString() == "109728" || WLDS["MaterialGroup_id"].ToString() == "116090" ||
|
||||
WLDS["MaterialGroup_id"].ToString() == "116149" || WLDS["MaterialGroup_id"].ToString() == "116093" ||
|
||||
WLDS["MaterialGroup_id"].ToString() == "124946" || WLDS["MaterialGroup_id"].ToString() == "116094")
|
||||
{
|
||||
|
||||
//添加箱和卷/箱时,计算卷数
|
||||
if (e.Field.Key == "F_Box")
|
||||
{
|
||||
var BOX = Convert.ToDouble(this.View.Model.GetValue("F_Box", e.Row));
|
||||
var JB = Convert.ToDouble(this.View.Model.GetValue("F_RollBox", e.Row));
|
||||
this.View.Model.SetItemValueByID("F_Roll", BOX * JB, setRows);
|
||||
this.View.Model.SetValue("$$FAUXPROPID__FF100005", BOX * JB, e.Row);
|
||||
|
||||
}
|
||||
if (e.Field.Key == "F_RollBox")
|
||||
{
|
||||
var BOX = Convert.ToDouble(this.View.Model.GetValue("F_Box", e.Row));
|
||||
var JB = Convert.ToDouble(this.View.Model.GetValue("F_RollBox", e.Row));
|
||||
this.View.Model.SetItemValueByID("F_Roll", BOX * JB, setRows);
|
||||
this.View.Model.SetValue("$$FAUXPROPID__FF100005", BOX * JB, e.Row);
|
||||
|
||||
}
|
||||
//处理规格型号
|
||||
//长度:$$FAUXPROPID__FF100001,
|
||||
//宽度:$$FAUXPROPID__FF100002,
|
||||
//厚度$$FAUXPROPID__FF100007
|
||||
if (e.Field.Key == "F_Length" || e.Field.Key == "F_Width"
|
||||
|| e.Field.Key == "F_Depth")
|
||||
{
|
||||
var CD = Convert.ToString(this.Model.GetValue("F_Length", e.Row));
|
||||
var KD = Convert.ToString(this.Model.GetValue("F_Width", e.Row));
|
||||
var HD = Convert.ToString(this.Model.GetValue("F_Depth", e.Row));
|
||||
// 去尾0的辅助方法
|
||||
string TrimTrailingZeros(string input)
|
||||
{
|
||||
if (decimal.TryParse(input, out decimal d))
|
||||
{
|
||||
return d.ToString("G29");
|
||||
}
|
||||
return input;
|
||||
}
|
||||
|
||||
// 初始化规格字符串
|
||||
var spec = "";
|
||||
|
||||
// 处理宽度
|
||||
if (!string.IsNullOrWhiteSpace(KD) && KD != "0")
|
||||
{
|
||||
spec += TrimTrailingZeros(KD);
|
||||
}
|
||||
|
||||
// 处理长度(带M)
|
||||
if (!string.IsNullOrWhiteSpace(CD) && CD != "0")
|
||||
{
|
||||
if (!string.IsNullOrEmpty(spec)) spec += "*";
|
||||
spec += TrimTrailingZeros(CD) + "M";
|
||||
}
|
||||
|
||||
// 处理厚度(带U)
|
||||
if (!string.IsNullOrWhiteSpace(HD) && HD != "0")
|
||||
{
|
||||
if (!string.IsNullOrEmpty(spec)) spec += "*";
|
||||
spec += TrimTrailingZeros(HD) + "U";
|
||||
}
|
||||
|
||||
// 设置规格字段
|
||||
this.Model.SetValue("F_Size", spec, e.Row);
|
||||
//当单位为码的时候
|
||||
if (tempRow["F_Unit2_Id"].ToString() == "68528632a2db53")
|
||||
{
|
||||
//判断规格中是否含有M字母
|
||||
if (tempRow["F_Size"].ToString().Contains("M"))
|
||||
{
|
||||
string newSize = tempRow["F_Size"].ToString().Replace("M", "Y");
|
||||
// 将替换后的值重新赋值
|
||||
this.View.Model.SetValue("F_Size", newSize, e.Row);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (e.Field.Key == "F_Roll" || e.Field.Key == "F_Length" || e.Field.Key == "F_Width" || e.Field.Key == "F_Unit2")
|
||||
{
|
||||
//单位#字段切换时,计算面积#字段
|
||||
if (tempRow["F_Unit2"] != null)
|
||||
{
|
||||
//当单为米时,面积#=长度*宽度*卷数 /1000
|
||||
if (tempRow["F_Unit2_Id"].ToString() == "6852862ca2db51")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Length", e.Row)) != "0" && Convert.ToString(this.View.Model.GetValue("F_Width", e.Row)) != "0"
|
||||
&& Convert.ToString(this.View.Model.GetValue("F_Roll", e.Row)) != "0")
|
||||
{
|
||||
var MJ = Convert.ToDouble(this.View.Model.GetValue("F_Length", e.Row)) * Convert.ToDouble(this.View.Model.GetValue("F_Width", e.Row))
|
||||
* Convert.ToDouble(this.View.Model.GetValue("F_Roll", e.Row)) / 1000;
|
||||
this.View.Model.SetValue("F_Area", MJ, e.Row);
|
||||
//当单价种类默认值为面积时,对销售数量赋值面积
|
||||
if (tempRow["F_UnitTypes_Id"].ToString() == "683fab479cfb2b")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Area", e.Row)) != "0")
|
||||
{
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.View.Model.SetValue("F_Area", 0, e.Row);
|
||||
}
|
||||
}
|
||||
else if (tempRow["F_Unit2_Id"].ToString() == "68528632a2db53")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Length", e.Row)) != "0" && Convert.ToString(this.View.Model.GetValue("F_Width", e.Row)) != "0"
|
||||
&& Convert.ToString(this.View.Model.GetValue("F_Roll", e.Row)) != "0")
|
||||
{
|
||||
var MJ = Convert.ToDouble(this.View.Model.GetValue("F_Length", e.Row)) * Convert.ToDouble(this.View.Model.GetValue("F_Width", e.Row))
|
||||
* Convert.ToDouble(this.View.Model.GetValue("F_Roll", e.Row)) / 1000 * 0.9144;
|
||||
this.View.Model.SetValue("F_Area", MJ, e.Row);
|
||||
//当单价种类默认值为面积时,对销售数量赋值面积
|
||||
if (tempRow["F_UnitTypes_Id"].ToString() == "683fab479cfb2b")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Area", e.Row)) != "0")
|
||||
{
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.View.Model.SetValue("F_Area", 0, e.Row);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (tempRow["F_Unit2"] == null)
|
||||
{
|
||||
this.View.Model.SetValue("F_Area", 0, e.Row);
|
||||
}
|
||||
//触发数量的值更新
|
||||
this.View.RuleContainer.RaiseDataChanged("FQty",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
this.View.RuleContainer.RaiseDataChanged("FTaxPrice",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
|
||||
}
|
||||
//根据单价种类,赋值销售数量
|
||||
if (e.Field.Key == "F_UnitTypes" || e.Field.Key == "F_Area" || e.Field.Key == "F_Roll"
|
||||
|| e.Field.Key == "F_Box")
|
||||
{
|
||||
//单价种类依面积
|
||||
if (tempRow["F_UnitTypes_Id"].ToString() == "683fab479cfb2b")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Area", e.Row)) != "0")
|
||||
{
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", 0, e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", 0, e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//单价种类依卷数
|
||||
else if (tempRow["F_UnitTypes_Id"].ToString() == "683fab589cfb2d")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Roll", e.Row)) != "0")
|
||||
{
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", Convert.ToDouble(this.View.Model.GetValue("F_Roll", e.Row)), e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", Convert.ToDouble(this.View.Model.GetValue("F_Roll", e.Row)), e.Row);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", 0, e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", 0, e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//单价种类依箱数
|
||||
else if (tempRow["F_UnitTypes_Id"].ToString() == "683fab5e9cfb2f")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Box", e.Row)) != "0")
|
||||
{
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", Convert.ToDouble(this.View.Model.GetValue("F_Box", e.Row)), e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,
|
||||
this.View.Model.SetValue("FQty", Convert.ToDouble(this.View.Model.GetValue("F_Box", e.Row)), e.Row);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", 0, e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", 0, e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", 0, e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", 0, e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
//触发数量的值更新
|
||||
this.View.RuleContainer.RaiseDataChanged("FQty",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
this.View.RuleContainer.RaiseDataChanged("FTaxPrice",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
}
|
||||
}
|
||||
//当物料分组为半成品时
|
||||
if (WLDS["MaterialGroup_id"].ToString() == "112215" || WLDS["MaterialGroup_id"].ToString() == "112217" || WLDS["MaterialGroup_id"].ToString() == "112218"
|
||||
|| WLDS["MaterialGroup_id"].ToString() == "112219" || WLDS["MaterialGroup_id"].ToString() == "112221" || WLDS["MaterialGroup_id"].ToString() == "112222"
|
||||
|| WLDS["MaterialGroup_id"].ToString() == "116091" || WLDS["MaterialGroup_id"].ToString() == "116150" || WLDS["MaterialGroup_id"].ToString() == "116095"
|
||||
|| WLDS["MaterialGroup_id"].ToString() == "124564" || WLDS["MaterialGroup_id"].ToString() == "129698")
|
||||
{
|
||||
|
||||
//填写辅助属性卷数时,赋值卷数#字段
|
||||
//判断是否为应收单明细,应收单明细辅助资料属性不同
|
||||
var entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
DynamicObject Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
Aux = tempRow["FAUXPROPID"] as DynamicObject;
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
Aux = tempRow["AuxPropId"] as DynamicObject;
|
||||
}
|
||||
if (Aux == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (Aux["F100005"] != null)
|
||||
{
|
||||
this.View.Model.SetValue("F_Roll", Aux["F100005"], e.Row);
|
||||
}
|
||||
else if(Aux["F100005"] == null)
|
||||
{
|
||||
this.View.Model.SetValue("F_Roll", 0, e.Row);
|
||||
}
|
||||
//处理规格型号
|
||||
//长度:$$FAUXPROPID__FF100001,
|
||||
//宽度:$$FAUXPROPID__FF100002,
|
||||
//厚度$$FAUXPROPID__FF100007
|
||||
if (e.Field.Key == "F_Length" || e.Field.Key == "F_Width"
|
||||
|| e.Field.Key == "F_Depth")
|
||||
{
|
||||
var CD = Convert.ToString(this.Model.GetValue("F_Length", e.Row));
|
||||
var KD = Convert.ToString(this.Model.GetValue("F_Width", e.Row));
|
||||
var HD = Convert.ToString(this.Model.GetValue("F_Depth", e.Row));
|
||||
// 去尾0的辅助方法
|
||||
string TrimTrailingZeros(string input)
|
||||
{
|
||||
if (decimal.TryParse(input, out decimal d))
|
||||
{
|
||||
return d.ToString("G29");
|
||||
}
|
||||
return input;
|
||||
}
|
||||
|
||||
// 初始化规格字符串
|
||||
var spec = "";
|
||||
|
||||
// 处理宽度
|
||||
if (!string.IsNullOrWhiteSpace(KD) && KD != "0")
|
||||
{
|
||||
spec += TrimTrailingZeros(KD);
|
||||
}
|
||||
|
||||
// 处理长度(带M)
|
||||
if (!string.IsNullOrWhiteSpace(CD) && CD != "0")
|
||||
{
|
||||
if (!string.IsNullOrEmpty(spec)) spec += "*";
|
||||
spec += TrimTrailingZeros(CD) + "M";
|
||||
}
|
||||
|
||||
// 处理厚度(带U)
|
||||
if (!string.IsNullOrWhiteSpace(HD) && HD != "0")
|
||||
{
|
||||
if (!string.IsNullOrEmpty(spec)) spec += "*";
|
||||
spec += TrimTrailingZeros(HD) + "U";
|
||||
}
|
||||
|
||||
// 设置规格字段
|
||||
this.Model.SetValue("F_Size", spec, e.Row);
|
||||
//当单位为码的时候
|
||||
if (tempRow["F_Unit2_Id"].ToString() == "68528632a2db53")
|
||||
{
|
||||
//判断规格中是否含有M字母
|
||||
if (tempRow["F_Size"].ToString().Contains("M"))
|
||||
{
|
||||
string newSize = tempRow["F_Size"].ToString().Replace("M", "Y");
|
||||
// 将替换后的值重新赋值
|
||||
this.View.Model.SetValue("F_Size", newSize, e.Row);
|
||||
}
|
||||
}
|
||||
}
|
||||
//当填写长度和宽度时,计算面积
|
||||
if (e.Field.Key == "F_Length" || e.Field.Key == "F_Width")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Length", e.Row)) != "0" && Convert.ToString(this.View.Model.GetValue("F_Width", e.Row)) != "0")
|
||||
{
|
||||
var MJ = Convert.ToDouble(this.View.Model.GetValue("F_Length", e.Row)) * Convert.ToDouble(this.View.Model.GetValue("F_Width", e.Row))/ 1000;
|
||||
this.View.Model.SetValue("F_Area", MJ, e.Row);
|
||||
//当单价种类默认值为面积时,对销售数量赋值面积
|
||||
if (tempRow["F_UnitTypes_Id"].ToString() == "683fab479cfb2b")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Area", e.Row)) != "0")
|
||||
{
|
||||
entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.View.Model.SetValue("F_Area", 0, e.Row);
|
||||
}
|
||||
//触发数量的值更新
|
||||
this.View.RuleContainer.RaiseDataChanged("FQty",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
this.View.RuleContainer.RaiseDataChanged("FTaxPrice",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
}
|
||||
//根据单价种类,赋值销售数量字段
|
||||
if (e.Field.Key == "F_UnitTypes" || e.Field.Key == "F_Area" || e.Field.Key == "F_Roll"
|
||||
|| e.Field.Key == "F_Box")
|
||||
{
|
||||
//单价种类依面积
|
||||
if (tempRow["F_UnitTypes_Id"].ToString() == "683fab479cfb2b")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Area", e.Row)) != "0")
|
||||
{
|
||||
entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", Convert.ToDouble(this.View.Model.GetValue("F_Area", e.Row)), e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", 0, e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", 0, e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//单价种类依卷数
|
||||
else if (tempRow["F_UnitTypes_Id"].ToString() == "683fab589cfb2d")
|
||||
{
|
||||
if (Convert.ToString(this.View.Model.GetValue("F_Roll", e.Row)) != "0")
|
||||
{
|
||||
entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", Convert.ToDouble(this.View.Model.GetValue("F_Roll", e.Row)), e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", Convert.ToDouble(this.View.Model.GetValue("F_Roll", e.Row)), e.Row);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", 0, e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", 0, e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
entity1 = this.View.BusinessInfo.GetEntity("FEntityDetail");
|
||||
Aux = null;
|
||||
if (entity1 != null)
|
||||
{
|
||||
this.View.Model.SetValue("FPriceQty", 0, e.Row);
|
||||
}
|
||||
else
|
||||
{
|
||||
//判断是否为应收单,应收单辅助资料属性字段不同,为FAUXPROPID
|
||||
this.View.Model.SetValue("FQty", 0, e.Row);
|
||||
}
|
||||
|
||||
}
|
||||
//触发数量的值更新
|
||||
this.View.RuleContainer.RaiseDataChanged("FQty",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
this.View.RuleContainer.RaiseDataChanged("FTaxPrice",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
}
|
||||
}
|
||||
//当物料分组为薄膜类
|
||||
if (WLDS["MaterialGroup_id"].ToString() == "116097")
|
||||
{
|
||||
//处理规格型号
|
||||
//长度:$$FAUXPROPID__FF100001,
|
||||
//宽度:$$FAUXPROPID__FF100002,
|
||||
//厚度$$FAUXPROPID__FF100007
|
||||
if (e.Field.Key == "F_Length" || e.Field.Key == "F_Width"
|
||||
|| e.Field.Key == "F_Depth")
|
||||
{
|
||||
var CD = Convert.ToString(this.Model.GetValue("F_Length",e.Row));
|
||||
var KD = Convert.ToString(this.Model.GetValue("F_Width", e.Row));
|
||||
var HD = Convert.ToString(this.Model.GetValue("F_Depth", e.Row));
|
||||
|
||||
|
||||
// 去尾0的辅助方法
|
||||
string TrimTrailingZeros(string input)
|
||||
{
|
||||
if (decimal.TryParse(input, out decimal d))
|
||||
{
|
||||
return d.ToString("G29");
|
||||
}
|
||||
return input;
|
||||
}
|
||||
|
||||
// 初始化规格字符串
|
||||
var spec = "";
|
||||
|
||||
// 1)厚度(带 U)
|
||||
if (!string.IsNullOrWhiteSpace(HD) && HD != "0")
|
||||
spec += TrimTrailingZeros(HD) + "U";
|
||||
|
||||
// 2)宽度
|
||||
if (!string.IsNullOrWhiteSpace(KD) && KD != "0")
|
||||
{
|
||||
if (!string.IsNullOrEmpty(spec)) spec += "*";
|
||||
spec += TrimTrailingZeros(KD);
|
||||
}
|
||||
|
||||
// 3)长度(带 M)
|
||||
if (!string.IsNullOrWhiteSpace(CD) && CD != "0")
|
||||
{
|
||||
if (!string.IsNullOrEmpty(spec)) spec += "*";
|
||||
spec += TrimTrailingZeros(CD) + "M";
|
||||
}
|
||||
|
||||
// 设置规格字段
|
||||
this.Model.SetValue("F_Size", spec, e.Row);
|
||||
//当单位为码的时候
|
||||
if (tempRow["F_Unit2_Id"].ToString() == "68528632a2db53")
|
||||
{
|
||||
//判断规格中是否含有M字母
|
||||
if (tempRow["F_Size"].ToString().Contains("M"))
|
||||
{
|
||||
string newSize = tempRow["F_Size"].ToString().Replace("M", "Y");
|
||||
// 将替换后的值重新赋值
|
||||
this.View.Model.SetValue("F_Size", newSize, e.Row);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//当切换单位字段为码时,将规格型号中的M替换成为Y
|
||||
if (e.Field.Key == "F_Unit2")
|
||||
{
|
||||
//当单位为码的时候
|
||||
if (tempRow["F_Unit2_Id"].ToString() == "68528632a2db53")
|
||||
{
|
||||
//判断规格中是否含有M字母
|
||||
if (tempRow["F_Size"].ToString().Contains("M"))
|
||||
{
|
||||
string newSize = tempRow["F_Size"].ToString().Replace("M", "Y");
|
||||
// 将替换后的值重新赋值
|
||||
this.View.Model.SetValue("F_Size", newSize, e.Row);
|
||||
}
|
||||
}
|
||||
else if (tempRow["F_Unit2_Id"].ToString() == "6852862ca2db51")
|
||||
{
|
||||
//判断规格中是否含有Y字母
|
||||
if (tempRow["F_Size"].ToString().Contains("Y"))
|
||||
{
|
||||
string newSize = tempRow["F_Size"].ToString().Replace("Y", "M");
|
||||
// 将替换后的值重新赋值
|
||||
this.View.Model.SetValue("F_Size", newSize, e.Row);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (e.Field.Key == "FQty" )
|
||||
{
|
||||
//触发字段值更新
|
||||
this.View.RuleContainer.RaiseDataChanged("FQty",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
this.View.InvokeFieldUpdateService("FQty", e.Row);
|
||||
this.View.RuleContainer.RaiseDataChanged("FTaxPrice",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
this.View.InvokeFieldUpdateService("FTaxPrice", e.Row);
|
||||
}
|
||||
//应收单特殊设置
|
||||
if (e.Field.Key == "FPriceQty")
|
||||
{
|
||||
//触发字段值更新
|
||||
this.View.RuleContainer.RaiseDataChanged("FPriceQty",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
this.View.InvokeFieldUpdateService("FPriceQty", e.Row);
|
||||
this.View.RuleContainer.RaiseDataChanged("FTaxPrice",
|
||||
this.Model.DataObject, new BOSActionExecuteContext(this.View));
|
||||
this.View.InvokeFieldUpdateService("FTaxPrice", e.Row);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user