|
@@ -118,24 +118,17 @@ public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements
|
|
|
Date bookdate = gzInfo.getDate("bookdate");
|
|
|
String remark = gzInfo.getString("remark");
|
|
|
BigDecimal pricetaxtotal = gzInfo.getBigDecimal("pricetaxtotal");
|
|
|
- BigDecimal expeapproveamount = BigDecimal.ZERO;//核定金额
|
|
|
- BigDecimal orireceiveamount = BigDecimal.ZERO;//收款金额
|
|
|
+ BigDecimal expenseamount = BigDecimal.ZERO;//报销金额
|
|
|
|
|
|
|
|
|
//费用明细分录
|
|
|
DynamicObjectCollection expenseentryentity = this.getModel().getEntryEntity("expenseentryentity");
|
|
|
for (DynamicObject object : expenseentryentity) {
|
|
|
- expeapproveamount = expeapproveamount.add(object.getBigDecimal("expeapproveamount"));
|
|
|
- }
|
|
|
-
|
|
|
- //收款信息分录
|
|
|
- DynamicObjectCollection accountentry = this.getModel().getEntryEntity("accountentry");
|
|
|
- for (DynamicObject object : accountentry) {
|
|
|
- orireceiveamount = orireceiveamount.add(object.getBigDecimal("orireceiveamount"));
|
|
|
+ expenseamount = expenseamount.add(object.getBigDecimal("expenseamount"));
|
|
|
}
|
|
|
|
|
|
//冲销金额
|
|
|
- BigDecimal nckd_accloanamount = expeapproveamount.subtract(orireceiveamount);
|
|
|
+ BigDecimal nckd_accloanamount = expenseamount;
|
|
|
//差额
|
|
|
BigDecimal nckd_sub_amount = pricetaxtotal.subtract(nckd_accloanamount);
|
|
|
//给冲预付借款赋值
|
|
@@ -221,49 +214,18 @@ public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements
|
|
|
BigDecimal assettaxamount = assetexpenseamount.subtract(assetorientryamount);
|
|
|
this.getModel().setValue("assettaxamount", assettaxamount, 0);
|
|
|
}
|
|
|
- } else if (StringUtils.equals("taxrate", fieldKey) || StringUtils.equals("assettaxrate", fieldKey)) {
|
|
|
- ChangeData changeData = e.getChangeSet()[0];
|
|
|
- BigDecimal assettaxrate = (BigDecimal) changeData.getNewValue();
|
|
|
- this.getModel().setValue("assettaxrate", assettaxrate);//税率
|
|
|
|
|
|
- //含税金额 = 含税单价 * 数量
|
|
|
- BigDecimal nckd_amountfield3 = (BigDecimal) this.getModel().getValue("nckd_amountfield3");
|
|
|
- BigDecimal asset_quantity = (BigDecimal) this.getModel().getValue("asset_quantity");
|
|
|
- BigDecimal assetexpenseamount = nckd_amountfield3.multiply(asset_quantity);
|
|
|
- this.getModel().setValue("assetexpenseamount", assetexpenseamount);
|
|
|
-
|
|
|
- //不含税单价 = 含税单价/(1+税率)
|
|
|
- assettaxrate = assettaxrate.divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
|
|
|
- BigDecimal rate = assettaxrate.add(BigDecimal.ONE);
|
|
|
- BigDecimal assetpricewithouttax = nckd_amountfield3.divide(rate, 2 , RoundingMode.HALF_UP);
|
|
|
- this.getModel().setValue("assetpricewithouttax", assetpricewithouttax);
|
|
|
-
|
|
|
- //不含税金额 = 不含税单价*数量
|
|
|
- BigDecimal assetorientryamount = assetpricewithouttax.multiply(asset_quantity);
|
|
|
- this.getModel().setValue("assetorientryamount", assetorientryamount);
|
|
|
-
|
|
|
- //税额 = 含税金额-不含税金额
|
|
|
- BigDecimal assettaxamount = assetexpenseamount.subtract(assetorientryamount);
|
|
|
- this.getModel().setValue("assettaxamount", assettaxamount);
|
|
|
- } else if (StringUtils.equals("expeapproveamount", fieldKey) || StringUtils.equals("orireceiveamount", fieldKey)) {
|
|
|
DynamicObjectCollection nckd_ap_finapbill_detail = this.getModel().getEntryEntity("nckd_ap_finapbill_detail");
|
|
|
if (nckd_ap_finapbill_detail.size() > 0) {
|
|
|
- BigDecimal expeapproveamount = BigDecimal.ZERO;//核定金额
|
|
|
- BigDecimal orireceiveamount = BigDecimal.ZERO;//收款金额
|
|
|
+ BigDecimal expenseamount = BigDecimal.ZERO;//核定金额
|
|
|
//费用明细分录
|
|
|
DynamicObjectCollection expenseentryentity = this.getModel().getEntryEntity("expenseentryentity");
|
|
|
for (DynamicObject object : expenseentryentity) {
|
|
|
- expeapproveamount = expeapproveamount.add(object.getBigDecimal("expeapproveamount"));
|
|
|
- }
|
|
|
-
|
|
|
- //收款信息分录
|
|
|
- DynamicObjectCollection accountentry = this.getModel().getEntryEntity("accountentry");
|
|
|
- for (DynamicObject object : accountentry) {
|
|
|
- orireceiveamount = orireceiveamount.add(object.getBigDecimal("orireceiveamount"));
|
|
|
+ expenseamount = expenseamount.add(object.getBigDecimal("expenseamount"));
|
|
|
}
|
|
|
|
|
|
//冲销金额
|
|
|
- BigDecimal nckd_accloanamount = expeapproveamount.subtract(orireceiveamount);
|
|
|
+ BigDecimal nckd_accloanamount = expenseamount;
|
|
|
//借款余额
|
|
|
BigDecimal nckd_loanamount = nckd_ap_finapbill_detail.get(0).getBigDecimal("nckd_loanamount");
|
|
|
//差额
|
|
@@ -277,6 +239,36 @@ public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements
|
|
|
//刷新冲预付借款分录
|
|
|
this.getView().updateView("nckd_ap_finapbill_detail");
|
|
|
}
|
|
|
+ } else if (StringUtils.equals("taxrate", fieldKey) || StringUtils.equals("assettaxrate", fieldKey)) {
|
|
|
+ String reimbursetype = (String) this.getModel().getValue("reimbursetype");
|
|
|
+ if("asset".equals(reimbursetype)) {
|
|
|
+ if (this.getModel().getEntryEntity("assetentry").size() == 0) {
|
|
|
+ int rowIndex = this.getModel().createNewEntryRow("assetentry");
|
|
|
+ }
|
|
|
+ ChangeData changeData = e.getChangeSet()[0];
|
|
|
+ BigDecimal assettaxrate = (BigDecimal) changeData.getNewValue();
|
|
|
+ this.getModel().setValue("assettaxrate", assettaxrate,0);//税率
|
|
|
+
|
|
|
+ //含税金额 = 含税单价 * 数量
|
|
|
+ BigDecimal nckd_amountfield3 = (BigDecimal) this.getModel().getValue("nckd_amountfield3");
|
|
|
+ BigDecimal asset_quantity = (BigDecimal) this.getModel().getValue("asset_quantity");
|
|
|
+ BigDecimal assetexpenseamount = nckd_amountfield3.multiply(asset_quantity);
|
|
|
+ this.getModel().setValue("assetexpenseamount", assetexpenseamount,0);
|
|
|
+
|
|
|
+ //不含税单价 = 含税单价/(1+税率)
|
|
|
+ assettaxrate = assettaxrate.divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal rate = assettaxrate.add(BigDecimal.ONE);
|
|
|
+ BigDecimal assetpricewithouttax = nckd_amountfield3.divide(rate, 2 , RoundingMode.HALF_UP);
|
|
|
+ this.getModel().setValue("assetpricewithouttax", assetpricewithouttax,0);
|
|
|
+
|
|
|
+ //不含税金额 = 不含税单价*数量
|
|
|
+ BigDecimal assetorientryamount = assetpricewithouttax.multiply(asset_quantity);
|
|
|
+ this.getModel().setValue("assetorientryamount", assetorientryamount,0);
|
|
|
+
|
|
|
+ //税额 = 含税金额-不含税金额
|
|
|
+ BigDecimal assettaxamount = assetexpenseamount.subtract(assetorientryamount);
|
|
|
+ this.getModel().setValue("assettaxamount", assettaxamount, 0);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|