1
This commit is contained in:
@@ -76,19 +76,14 @@ namespace Gatedge.K3.Pilot.PlugIn.BOSPlugIn.Sal_Order
|
||||
//实际户折扣率
|
||||
var F_ActualDiscountRate = settlementPrice == 0 ? 100M : price / settlementPrice * 100;
|
||||
this.Model.SetValue("F_ActualDiscountRate", F_ActualDiscountRate, e.Row);
|
||||
|
||||
if (isBigCustFlag && (F_BigCustSaleDiscountRate == 0 || (F_ActualDiscountRate > 0 && F_ActualDiscountRate < F_BigCustSaleDiscountRate)))
|
||||
F_BigCustSaleDiscountRate = F_ActualDiscountRate;
|
||||
|
||||
if (!isBigCustFlag && (F_CustSaleDiscountRate == 0 || (F_ActualDiscountRate > 0 && F_ActualDiscountRate < F_CustSaleDiscountRate)))
|
||||
F_CustSaleDiscountRate = F_ActualDiscountRate;
|
||||
this.View.InvokeFieldUpdateService("F_ActualDiscountRate", e.Row);
|
||||
|
||||
}
|
||||
|
||||
//普通客户折扣率
|
||||
this.Model.SetValue("F_CustSaleDiscountRate", F_CustSaleDiscountRate);
|
||||
//大客户折扣率
|
||||
this.Model.SetValue("F_BigCustSaleDiscountRate", F_BigCustSaleDiscountRate);
|
||||
////普通客户折扣率
|
||||
//this.Model.SetValue("F_CustSaleDiscountRate", F_CustSaleDiscountRate);
|
||||
////大客户折扣率
|
||||
//this.Model.SetValue("F_BigCustSaleDiscountRate", F_BigCustSaleDiscountRate);
|
||||
}
|
||||
|
||||
//销售价格
|
||||
@@ -150,19 +145,14 @@ namespace Gatedge.K3.Pilot.PlugIn.BOSPlugIn.Sal_Order
|
||||
//实际户折扣率
|
||||
var F_ActualDiscountRate = settlementPrice == 0 ? 100M : price / settlementPrice * 100;
|
||||
this.Model.SetValue("F_ActualDiscountRate", F_ActualDiscountRate, e.Row);
|
||||
|
||||
if (isBigCustFlag && (F_BigCustSaleDiscountRate == 0 || (F_ActualDiscountRate > 0 && F_ActualDiscountRate < F_BigCustSaleDiscountRate)))
|
||||
F_BigCustSaleDiscountRate = F_ActualDiscountRate;
|
||||
|
||||
if (!isBigCustFlag && (F_CustSaleDiscountRate == 0 || (F_ActualDiscountRate > 0 && F_ActualDiscountRate < F_CustSaleDiscountRate)))
|
||||
F_CustSaleDiscountRate = F_ActualDiscountRate;
|
||||
this.View.InvokeFieldUpdateService("F_ActualDiscountRate", e.Row);
|
||||
|
||||
}
|
||||
|
||||
//普通客户折扣率
|
||||
this.Model.SetValue("F_CustSaleDiscountRate", F_CustSaleDiscountRate);
|
||||
//大客户折扣率
|
||||
this.Model.SetValue("F_BigCustSaleDiscountRate", F_BigCustSaleDiscountRate);
|
||||
////普通客户折扣率
|
||||
//this.Model.SetValue("F_CustSaleDiscountRate", F_CustSaleDiscountRate);
|
||||
////大客户折扣率
|
||||
//this.Model.SetValue("F_BigCustSaleDiscountRate", F_BigCustSaleDiscountRate);
|
||||
}
|
||||
|
||||
//客户
|
||||
@@ -234,20 +224,76 @@ namespace Gatedge.K3.Pilot.PlugIn.BOSPlugIn.Sal_Order
|
||||
//大客户折扣率
|
||||
var F_ActualDiscountRate = settlementPrice == 0 ? 100M : price / settlementPrice * 100;
|
||||
this.Model.SetValue("F_ActualDiscountRate", F_ActualDiscountRate, rowIndex);
|
||||
this.View.InvokeFieldUpdateService("F_ActualDiscountRate", rowIndex);
|
||||
|
||||
if (isBigCustFlag && (F_BigCustSaleDiscountRate == 0 || (F_ActualDiscountRate > 0 && F_ActualDiscountRate < F_BigCustSaleDiscountRate)))
|
||||
F_BigCustSaleDiscountRate = F_ActualDiscountRate;
|
||||
|
||||
if (!isBigCustFlag && (F_CustSaleDiscountRate == 0 || (F_ActualDiscountRate > 0 && F_ActualDiscountRate < F_CustSaleDiscountRate)))
|
||||
F_CustSaleDiscountRate = F_ActualDiscountRate;
|
||||
}
|
||||
|
||||
//普通客户折扣率
|
||||
this.Model.SetValue("F_CustSaleDiscountRate", F_CustSaleDiscountRate);
|
||||
//大客户折扣率
|
||||
this.Model.SetValue("F_BigCustSaleDiscountRate", F_BigCustSaleDiscountRate);
|
||||
////普通客户折扣率
|
||||
//this.Model.SetValue("F_CustSaleDiscountRate", F_CustSaleDiscountRate);
|
||||
////大客户折扣率
|
||||
//this.Model.SetValue("F_BigCustSaleDiscountRate", F_BigCustSaleDiscountRate);
|
||||
}
|
||||
}
|
||||
|
||||
if (e.Field.Key.EqualsIgnoreCase("F_ActualDiscountRate"))
|
||||
{
|
||||
//普通客户折扣率
|
||||
this.Model.SetValue("F_CustSaleDiscountRate", 0);
|
||||
//大客户折扣率
|
||||
this.Model.SetValue("F_BigCustSaleDiscountRate", 0);
|
||||
|
||||
var details = this.View.BusinessInfo.GetEntity("FSaleOrderEntry");
|
||||
if (details != null)
|
||||
{
|
||||
var entrys = this.View.Model.GetEntityDataObject(details);
|
||||
bool isBigCustFlag = false;
|
||||
var custId_Id = this.View.Model.DataObject["CustId_Id"].Long2Int();
|
||||
if (custId_Id > 0)
|
||||
{
|
||||
var custId = this.View.Model.DataObject["CustId"] as DynamicObject;
|
||||
var creditClassification = custId["F_CreditClassification"] as DynamicObject;
|
||||
if (creditClassification != null && creditClassification["Number"] != null)
|
||||
{
|
||||
isBigCustFlag = creditClassification["Number"].ToString().EqualsIgnoreCase("KHXYFL013");
|
||||
}
|
||||
}
|
||||
|
||||
var actualDiscountRate = 0M;
|
||||
foreach (var entry in entrys)
|
||||
{
|
||||
var rowIndex = this.View.Model.GetRowIndex(details, entry);
|
||||
|
||||
var materialId_Id = entry["MaterialId_Id"].Long2Int();
|
||||
|
||||
var price = entry["TaxPrice"].Convert<decimal>();
|
||||
|
||||
if (materialId_Id > 0)
|
||||
{
|
||||
var tempRate = entry["ActualDiscountRate"].Convert<decimal>();
|
||||
|
||||
if (actualDiscountRate == 0)
|
||||
actualDiscountRate = tempRate;
|
||||
else
|
||||
actualDiscountRate = tempRate < actualDiscountRate ? tempRate : actualDiscountRate;
|
||||
}
|
||||
}
|
||||
|
||||
if (custId_Id > 0)
|
||||
{
|
||||
if (isBigCustFlag)
|
||||
{
|
||||
//普通客户折扣率
|
||||
this.Model.SetValue("F_CustSaleDiscountRate", actualDiscountRate);
|
||||
}
|
||||
else
|
||||
{
|
||||
//大客户折扣率
|
||||
this.Model.SetValue("F_BigCustSaleDiscountRate", actualDiscountRate);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user