入库单优化
This commit is contained in:
parent
272f4a9eff
commit
6cbc0c2b21
|
|
@ -1755,13 +1755,16 @@ public class MaterialInBillEditPluginExt extends AbstractEcmaBillPlugin implemen
|
||||||
this.clearHead();
|
this.clearHead();
|
||||||
this.sumMaoftaxAmount();
|
this.sumMaoftaxAmount();
|
||||||
this.sumMaTaxAmount();
|
this.sumMaTaxAmount();
|
||||||
|
Object splitType = this.getModel().getValue("splittype");//分摊类型
|
||||||
EntryGrid grid = (EntryGrid) this.getControl("entryentity");
|
EntryGrid grid = (EntryGrid) this.getControl("entryentity");
|
||||||
BigDecimal sum = grid.getSum("ftransamount");//入库单-运费金额合计
|
BigDecimal sum = grid.getSum("ftransamount");//入库单-运费金额合计
|
||||||
this.getModel().setValue("transamount", sum);//总运费
|
|
||||||
BigDecimal zcgj_transtaxamount = grid.getSum("zcgj_transtaxamount");//入库单-运费税额合计
|
BigDecimal zcgj_transtaxamount = grid.getSum("zcgj_transtaxamount");//入库单-运费税额合计
|
||||||
this.getModel().setValue("transtaxamount", zcgj_transtaxamount);//运费总税额
|
|
||||||
BigDecimal taxtransamount = grid.getSum("taxtransamount");//入库单-含税运费
|
BigDecimal taxtransamount = grid.getSum("taxtransamount");//入库单-含税运费
|
||||||
|
if (splitType != null && !splitType.equals("3")) {
|
||||||
|
this.getModel().setValue("transamount", sum);//总运费
|
||||||
|
this.getModel().setValue("transtaxamount", zcgj_transtaxamount);//运费总税额
|
||||||
this.getModel().setValue("transoftaxamount", taxtransamount);//含税总运费
|
this.getModel().setValue("transoftaxamount", taxtransamount);//含税总运费
|
||||||
|
}
|
||||||
this.getView().updateView("matamount");
|
this.getView().updateView("matamount");
|
||||||
this.getView().updateView("matoftaxamount");
|
this.getView().updateView("matoftaxamount");
|
||||||
this.getView().updateView("mataxamount");
|
this.getView().updateView("mataxamount");
|
||||||
|
|
|
||||||
|
|
@ -406,7 +406,7 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
|
||||||
DynamicObject purchaseApplyEntry = purchaseApplyEntryCollection.get(i);
|
DynamicObject purchaseApplyEntry = purchaseApplyEntryCollection.get(i);
|
||||||
DynamicObject zcgj_purchaseapply_f7 = purchaseApplyEntry.getDynamicObject("zcgj_purchaseapply_f7");//采购申请
|
DynamicObject zcgj_purchaseapply_f7 = purchaseApplyEntry.getDynamicObject("zcgj_purchaseapply_f7");//采购申请
|
||||||
if (zcgj_purchaseapply_f7 != null) {
|
if (zcgj_purchaseapply_f7 != null) {
|
||||||
if (row == i){
|
if (row == i) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
qFilters.add(new QFilter("id", QCP.not_equals, zcgj_purchaseapply_f7.get("id")));
|
qFilters.add(new QFilter("id", QCP.not_equals, zcgj_purchaseapply_f7.get("id")));
|
||||||
|
|
@ -628,6 +628,12 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
|
||||||
* @param expenseSummaryCollection 费用汇总分录集合
|
* @param expenseSummaryCollection 费用汇总分录集合
|
||||||
*/
|
*/
|
||||||
private void handleUnsplitFreightLine(DynamicObjectCollection expenseSummaryCollection) {
|
private void handleUnsplitFreightLine(DynamicObjectCollection expenseSummaryCollection) {
|
||||||
|
// 判断是否存在运费,如果运费为0或空则不创建运费行
|
||||||
|
BigDecimal transAmount = (BigDecimal) getModel().getValue("transamount"); // 总运费
|
||||||
|
if (transAmount == null || transAmount.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
|
return; // 无运费时不创建运费行
|
||||||
|
}
|
||||||
|
|
||||||
DynamicObject newFreightLine = new DynamicObject(expenseSummaryCollection.getDynamicObjectType());
|
DynamicObject newFreightLine = new DynamicObject(expenseSummaryCollection.getDynamicObjectType());
|
||||||
|
|
||||||
// 设置运费行标识
|
// 设置运费行标识
|
||||||
|
|
@ -635,7 +641,6 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
|
||||||
|
|
||||||
// 使用单据头上的字段(汇总值)
|
// 使用单据头上的字段(汇总值)
|
||||||
BigDecimal transSoftTaxAmount = (BigDecimal) getModel().getValue("transoftaxamount"); // 含税运费
|
BigDecimal transSoftTaxAmount = (BigDecimal) getModel().getValue("transoftaxamount"); // 含税运费
|
||||||
BigDecimal transAmount = (BigDecimal) getModel().getValue("transamount"); // 总运费
|
|
||||||
BigDecimal transtaxAmount = (BigDecimal) getModel().getValue("transtaxamount"); // 运费总税额
|
BigDecimal transtaxAmount = (BigDecimal) getModel().getValue("transtaxamount"); // 运费总税额
|
||||||
DynamicObject taxRate = (DynamicObject) getModel().getValue("taxrate"); // 运费税率
|
DynamicObject taxRate = (DynamicObject) getModel().getValue("taxrate"); // 运费税率
|
||||||
|
|
||||||
|
|
@ -667,19 +672,37 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
|
||||||
* @param expenseSummaryCollection 费用汇总分录集合
|
* @param expenseSummaryCollection 费用汇总分录集合
|
||||||
*/
|
*/
|
||||||
private void handleSplitFreightLines(DynamicObjectCollection entryEntityCollection, DynamicObjectCollection expenseSummaryCollection) {
|
private void handleSplitFreightLines(DynamicObjectCollection entryEntityCollection, DynamicObjectCollection expenseSummaryCollection) {
|
||||||
|
boolean hasFreight = false;
|
||||||
|
|
||||||
|
// 先检查是否存在运费
|
||||||
|
for (DynamicObject entryEntity : entryEntityCollection) {
|
||||||
|
BigDecimal ftransamount = (BigDecimal) entryEntity.get("ftransamount"); // 运费
|
||||||
|
if (ftransamount != null && ftransamount.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
hasFreight = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果没有运费则不创建运费行
|
||||||
|
if (!hasFreight) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 获取单据头上的税率
|
// 获取单据头上的税率
|
||||||
DynamicObject taxRate = (DynamicObject) getModel().getValue("taxrate");
|
DynamicObject taxRate = (DynamicObject) getModel().getValue("taxrate");
|
||||||
BigDecimal rateValue = taxRate != null ? (BigDecimal) taxRate.get("taxrate") : BigDecimal.ZERO;
|
BigDecimal rateValue = taxRate != null ? (BigDecimal) taxRate.get("taxrate") : BigDecimal.ZERO;
|
||||||
|
|
||||||
// 遍历入库单明细,为每条记录创建一条运费行
|
// 遍历入库单明细,为每条有运费的记录创建一条运费行
|
||||||
for (DynamicObject entryEntity : entryEntityCollection) {
|
for (DynamicObject entryEntity : entryEntityCollection) {
|
||||||
|
BigDecimal ftransamount = (BigDecimal) entryEntity.get("ftransamount"); // 运费
|
||||||
|
// 只有当运费大于0时才创建运费行
|
||||||
|
if (ftransamount != null && ftransamount.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
DynamicObject newFreightLine = new DynamicObject(expenseSummaryCollection.getDynamicObjectType());
|
DynamicObject newFreightLine = new DynamicObject(expenseSummaryCollection.getDynamicObjectType());
|
||||||
|
|
||||||
// 设置运费行标识
|
// 设置运费行标识
|
||||||
newFreightLine.set("zcgj_isfreightline", true);
|
newFreightLine.set("zcgj_isfreightline", true);
|
||||||
|
|
||||||
// 获取运费相关字段
|
// 获取运费相关字段
|
||||||
BigDecimal ftransamount = (BigDecimal) entryEntity.get("ftransamount"); // 运费
|
|
||||||
BigDecimal zcgj_transtaxamount = (BigDecimal) entryEntity.get("zcgj_transtaxamount"); // 运费税额
|
BigDecimal zcgj_transtaxamount = (BigDecimal) entryEntity.get("zcgj_transtaxamount"); // 运费税额
|
||||||
BigDecimal taxtransamount = (BigDecimal) entryEntity.get("taxtransamount"); // 含税运费
|
BigDecimal taxtransamount = (BigDecimal) entryEntity.get("taxtransamount"); // 含税运费
|
||||||
|
|
||||||
|
|
@ -717,6 +740,8 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement
|
||||||
expenseSummaryCollection.add(newFreightLine);
|
expenseSummaryCollection.add(newFreightLine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取运费对应的费用项目
|
* 获取运费对应的费用项目
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue