feat:使用订舱中非预收金额合计判断是否回款

This commit is contained in:
zzs 2024-12-23 14:46:31 +08:00
parent 7a3638ca84
commit a0d082a2cc

View File

@ -58,21 +58,24 @@ public class ExportPresentWarningTask extends AbstractTask {
DynamicObject order = salesorderEntry.getValue();
salesorderNo.put(order.getString("billno"), orderId);
}
Map<Object, DynamicObject> stOrder = BusinessDataServiceHelper.loadFromCache("yem_es_storagetrans", "id, billno, yem_es_salescontrac_s.yem_rapamt, yem_es_salescontrac_s.yem_contractnumbers_p", new QFilter[]{new QFilter("yem_es_salescontrac_s.yem_contractnumbers_p", "in", salesorderNo.keySet())});
Map<Object, DynamicObject> stOrder = BusinessDataServiceHelper.loadFromCache("yem_es_storagetrans", "id, billno, yem_es_salescontrac_s.yem_rapamt, yem_es_salescontrac_s.yem_contractnumbers_p, yem_es_salescontrac_s.yem_ispre", new QFilter[]{new QFilter("yem_es_salescontrac_s.yem_contractnumbers_p", "in", salesorderNo.keySet())});
// 合同号-收汇金额合计
Map<String, BigDecimal> receiveAmt = new HashMap<>();
for (DynamicObject stBill : stOrder.values()) {
DynamicObjectCollection collection = stBill.getDynamicObjectCollection("yem_es_salescontrac_s");
for (DynamicObject d : collection) {
BigDecimal rapamt = d.getBigDecimal("yem_rapamt");
String contractnumbers = d.getString("yem_contractnumbers_p");
BigDecimal calc;
if (receiveAmt.containsKey(contractnumbers)) {
calc = receiveAmt.get(contractnumbers).add(rapamt);
} else {
calc = rapamt;
boolean ispre = d.getBoolean("yem_ispre");
if (ispre) {
BigDecimal rapamt = d.getBigDecimal("yem_rapamt");
String contractnumbers = d.getString("yem_contractnumbers_p");
BigDecimal calc;
if (receiveAmt.containsKey(contractnumbers)) {
calc = receiveAmt.get(contractnumbers).add(rapamt);
} else {
calc = rapamt;
}
receiveAmt.put(contractnumbers, calc);
}
receiveAmt.put(contractnumbers, calc);
}
}
for (Map.Entry<String, Long> salesorderEntry : salesorderNo.entrySet()) {