fix:
贷记单提交计算扣减后金额
This commit is contained in:
parent
18a463e84a
commit
32cb30599b
@ -52,22 +52,42 @@ public class DebCredNewSubmitOp extends AbstractOperationServicePlugIn {
|
|||||||
public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
|
public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
|
||||||
super.beforeExecuteOperationTransaction(e);
|
super.beforeExecuteOperationTransaction(e);
|
||||||
for (ExtendedDataEntity dataEntity : e.getSelectedRows()) {
|
for (ExtendedDataEntity dataEntity : e.getSelectedRows()) {
|
||||||
DynamicObject billObj = dataEntity.getDataEntity();
|
DynamicObject dynamicObject = dataEntity.getDataEntity();
|
||||||
getlast(billObj);
|
DynamicObject billObj = BusinessDataServiceHelper.loadSingle(dynamicObject.getPkValue(), dynamicObject.getDynamicObjectType().getName());
|
||||||
|
DynamicObject yemCurrency = billObj.getDynamicObject("yem_currency");
|
||||||
|
getlast(dynamicObject);
|
||||||
|
if (yemCurrency != null) {
|
||||||
|
/*
|
||||||
|
(1)如果结算币别=美元:
|
||||||
|
① 扣减后金额(美元)=上次美元金额(实际)+ 配件资金池增加金额-配件资金池扣减金额;
|
||||||
|
② 扣减后金额(人民币)= 上次人民币金额(实际);
|
||||||
|
(2)如果结算币别=人民币:
|
||||||
|
① 扣减后金额(美元)=上次美元金额(实际);
|
||||||
|
② 扣减后金额(人民币)= 上次人民币金额(实际)+ 配件资金池增加金额-配件资金池扣减金额;
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
|
SaveServiceHelper.update(dynamicObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算上次美元金额(实际) 上次人民币金额(实际)
|
* 计算上次美元金额(实际) 上次人民币金额(实际)
|
||||||
|
*
|
||||||
* @param temp
|
* @param temp
|
||||||
*/
|
*/
|
||||||
public void getlast(DynamicObject temp){
|
public void getlast(DynamicObject temp) {
|
||||||
temp = BusinessDataServiceHelper.loadSingle(temp.getPkValue(), temp.getDynamicObjectType().getName());
|
temp = BusinessDataServiceHelper.loadSingle(temp.getPkValue(), temp.getDynamicObjectType().getName());
|
||||||
|
DynamicObject yemCurrency = temp.getDynamicObject("yem_currency");
|
||||||
//借贷业务类型
|
//借贷业务类型
|
||||||
DynamicObject yem_credittype = temp.getDynamicObject("yem_credittype");
|
DynamicObject yem_credittype = temp.getDynamicObject("yem_credittype");
|
||||||
//集团客户
|
//集团客户
|
||||||
DynamicObject yem_customer = temp.getDynamicObject("yem_groupcusfields");
|
DynamicObject yem_customer = temp.getDynamicObject("yem_groupcusfields");
|
||||||
//产品类型
|
//产品类型
|
||||||
DynamicObject yem_bd_products = temp.getDynamicObject("yem_bd_products");
|
DynamicObject yem_bd_products = temp.getDynamicObject("yem_bd_products");
|
||||||
|
|
||||||
|
BigDecimal yemAmount = temp.getBigDecimal("yem_amount");//配件资金池增加金额
|
||||||
|
BigDecimal yemAmountSub = temp.getBigDecimal("yem_amount_sub");//配件资金池扣减金额
|
||||||
QFilter qFilter1 = new QFilter("billstatus", QCP.equals, "C");
|
QFilter qFilter1 = new QFilter("billstatus", QCP.equals, "C");
|
||||||
qFilter1.and(new QFilter("yem_credittype.id", QCP.equals, yem_credittype.getLong("id")));
|
qFilter1.and(new QFilter("yem_credittype.id", QCP.equals, yem_credittype.getLong("id")));
|
||||||
qFilter1.and(new QFilter("yem_groupcusfields.id", QCP.equals, yem_customer.getLong("id")));
|
qFilter1.and(new QFilter("yem_groupcusfields.id", QCP.equals, yem_customer.getLong("id")));
|
||||||
@ -132,10 +152,31 @@ public class DebCredNewSubmitOp extends AbstractOperationServicePlugIn {
|
|||||||
String number = yem_em_replace.getString("number");
|
String number = yem_em_replace.getString("number");
|
||||||
if (number.equals("CNY")) {
|
if (number.equals("CNY")) {
|
||||||
temp.set("yem_creditrmbamt", bigDecimal);
|
temp.set("yem_creditrmbamt", bigDecimal);
|
||||||
|
if (yemCurrency != null) {
|
||||||
|
String numbers = yemCurrency.getString("number");
|
||||||
|
if ("CNY".equals(numbers)) {
|
||||||
|
// temp.set("yem_koujianusd", bigDecimal);
|
||||||
|
temp.set("yem_koujiancny", bigDecimal.add(yemAmount.subtract(yemAmountSub)));
|
||||||
|
} else if ("USD".equals(numbers)) {
|
||||||
|
// temp.set("yem_koujianusd", bigDecimal.add(yemAmount.subtract(yemAmountSub)));
|
||||||
|
temp.set("yem_koujiancny", bigDecimal);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (number.equals("USD")) {
|
if (number.equals("USD")) {
|
||||||
temp.set("yem_creditusdamt", bigDecimal);
|
temp.set("yem_creditusdamt", bigDecimal);
|
||||||
|
if (yemCurrency != null) {
|
||||||
|
String numbers = yemCurrency.getString("number");
|
||||||
|
if ("CNY".equals(numbers)) {
|
||||||
|
temp.set("yem_koujianusd", bigDecimal);
|
||||||
|
// temp.set("yem_koujiancny", bigDecimal.add(yemAmount.subtract(yemAmountSub)));
|
||||||
|
} else if ("USD".equals(numbers)) {
|
||||||
|
temp.set("yem_koujianusd", bigDecimal.add(yemAmount.subtract(yemAmountSub)));
|
||||||
|
// temp.set("yem_koujiancny", bigDecimal);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -154,8 +195,9 @@ public class DebCredNewSubmitOp extends AbstractOperationServicePlugIn {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
SaveServiceHelper.update(temp);
|
SaveServiceHelper.update(temp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user