1.采购订单下推采购退货减去退货占单数量
This commit is contained in:
parent
0f2f54efd9
commit
2827c64d12
|
|
@ -41,6 +41,7 @@ public class PurOrderPushPurRefundConverPlugin extends AbstractConvertPlugIn imp
|
|||
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
||||
DynamicObjectCollection dynamicObjectCollection = dataEntity.getDynamicObjectCollection("billentry");
|
||||
DynamicObject[] im_purinblil = null;
|
||||
DynamicObject[] pm_purrefundapplybill = null;
|
||||
for (DynamicObject entry : dynamicObjectCollection) {
|
||||
String mainbillnumber = entry.getString("mainbillnumber");
|
||||
//采购订单
|
||||
|
|
@ -55,7 +56,8 @@ public class PurOrderPushPurRefundConverPlugin extends AbstractConvertPlugIn imp
|
|||
"billentry.discountamount,billentry.amountandtax,billentry.curamountandtax,billentry.returnqty," +
|
||||
"billentry.returnbaseqty,billentry.tqq9_yyhyflje,billentry.tqq9_yyhwflje,billentry.lotnumber," +
|
||||
"billentry.tqq9_goods,billentry.tqq9_wmsdetailid,billentry.producedate,billentry.expirydate,creator,createtime,modifier,modifytime,billentry.owner,billentry.taxrate,billentry.srcbillnumber,billentry.tqq9_inwarebillentryid", new QFilter[]{new QFilter("billentry.mainbillnumber", QCP.equals, mainbillnumber).and("billstatus", QCP.equals, "C")});
|
||||
|
||||
//采购退货申请单
|
||||
pm_purrefundapplybill = BusinessDataServiceHelper.load("pm_purrefundapplybill", "id,name,billentry.material,billentry.qty,billentry.returnqty,billentry.tqq9_inwarebillentryid,", new QFilter[]{new QFilter("billentry.mainbillnumber", QCP.equals, mainbillnumber).and("billstatus", QCP.equals, "C")});
|
||||
|
||||
}
|
||||
BigDecimal zero = BigDecimal.ZERO;
|
||||
|
|
@ -211,17 +213,49 @@ public class PurOrderPushPurRefundConverPlugin extends AbstractConvertPlugIn imp
|
|||
if (StringUtils.equals(inwarebillentryid, id)) {
|
||||
BigDecimal qty2 = dynamicObject1.getBigDecimal("qty");
|
||||
BigDecimal add = qty2.add(qty1);
|
||||
if (add.compareTo(BigDecimal.ZERO) > 0) {
|
||||
dynamicObject1.set("tqq9_inwarebillentryqty", add);
|
||||
dynamicObject1.set("tqq9_maxqty", add);
|
||||
dynamicObject1.set("qty", add);
|
||||
dynamicObject1.set("baseqty", add);
|
||||
} else {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//采购退货申请锁定数量扣减
|
||||
if (pm_purrefundapplybill != null) {
|
||||
for (DynamicObject dynamicObject : pm_purrefundapplybill) {
|
||||
DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry");
|
||||
for (DynamicObject object : billentry) {
|
||||
BigDecimal returnqty = object.getBigDecimal("returnqty");
|
||||
BigDecimal qty = object.getBigDecimal("qty");
|
||||
BigDecimal subtract = qty.subtract(returnqty);
|
||||
if (subtract.compareTo(zero) > 0) {
|
||||
String id = object.getString("tqq9_inwarebillentryid");
|
||||
ListIterator<DynamicObject> iterator = dynamicObjectCollection.listIterator();
|
||||
while (iterator.hasNext()) {
|
||||
DynamicObject dynamicObject1 = iterator.next();
|
||||
String inwarebillentryid = dynamicObject1.getString("tqq9_inwarebillentryid");
|
||||
if (StringUtils.equals(inwarebillentryid, id)) {
|
||||
BigDecimal qty1 = dynamicObject1.getBigDecimal("qty");
|
||||
BigDecimal subtract1 = qty1.subtract(subtract);
|
||||
if (subtract1.compareTo(BigDecimal.ZERO) > 0) {
|
||||
dynamicObject1.set("tqq9_inwarebillentryqty", subtract1);
|
||||
dynamicObject1.set("tqq9_maxqty", subtract1);
|
||||
dynamicObject1.set("qty", subtract1);
|
||||
dynamicObject1.set("baseqty", subtract1);
|
||||
} else {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue