parent
d102769994
commit
9b7fa08b1e
|
@ -116,67 +116,69 @@ public class DrafttradebillOP extends AbstractOperationServicePlugIn {
|
||||||
Map<String, HashSet<Long>> srcBills = BFTrackerServiceHelper.findSourceBills("cdm_drafttradebill", new Long[]{id});//上查开票登记
|
Map<String, HashSet<Long>> srcBills = BFTrackerServiceHelper.findSourceBills("cdm_drafttradebill", new Long[]{id});//上查开票登记
|
||||||
if (srcBills.containsKey(CdmEntityConst.CDM_PAYABLEBILL)) {
|
if (srcBills.containsKey(CdmEntityConst.CDM_PAYABLEBILL)) {
|
||||||
HashSet<Long> ar_invoice = srcBills.get(CdmEntityConst.CDM_PAYABLEBILL);
|
HashSet<Long> ar_invoice = srcBills.get(CdmEntityConst.CDM_PAYABLEBILL);
|
||||||
// 获取第一个元素,如果集合不为空
|
List<Long> invoiceList = new ArrayList<>(ar_invoice);
|
||||||
Long firstElement = ar_invoice.stream().findFirst().orElse(null);
|
for (int i = 0; i < invoiceList.size(); i++) {
|
||||||
DynamicObject cdm_payablebill = BusinessDataServiceHelper.loadSingle(firstElement, CdmEntityConst.CDM_PAYABLEBILL);
|
Long firstElement = invoiceList.get(i);
|
||||||
String draftbillstatus = cdm_payablebill.getString("draftbillstatus");
|
DynamicObject cdm_payablebill = BusinessDataServiceHelper.loadSingle(firstElement, CdmEntityConst.CDM_PAYABLEBILL);
|
||||||
String settlementtype = cdm_payablebill.getString("draftbilltype.settlementtype");
|
String draftbillstatus = cdm_payablebill.getString("draftbillstatus");
|
||||||
if (!draftbillstatus.equals("payoffed")) {
|
String settlementtype = cdm_payablebill.getString("draftbilltype.settlementtype");
|
||||||
continue;
|
if (!draftbillstatus.equals("payoffed")) {
|
||||||
}
|
continue;
|
||||||
if (!settlementtype.equals("5")) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
QFilter filter = new QFilter("id", QCP.equals, firstElement);
|
|
||||||
DynamicObject[] CDM_PAYABLEBILLs = BusinessDataServiceHelper.load(CdmEntityConst.CDM_PAYABLEBILL, "id,billno,amount,billstatus,draftbilltranstatus", filter.toArray());
|
|
||||||
Set<Object> draftIds = Arrays.stream(CDM_PAYABLEBILLs).map((s) -> {
|
|
||||||
return s.getPkValue();
|
|
||||||
}).collect(Collectors.toSet());
|
|
||||||
QFilter filter1 = new QFilter("entrys.draftbill.id", "in", draftIds);
|
|
||||||
filter1.and("tradetype", "=", DraftTradeTypeEnum.REDEEM.getValue());
|
|
||||||
filter1.and("draftbilltranstatus", "=", "success");
|
|
||||||
Map<Long, BigDecimal> amountMap = new HashMap(16);
|
|
||||||
DataSet rows = QueryServiceHelper.queryDataSet("PayableBillRedeemValidator", "cdm_drafttradebill", "entrys.draftbill.id,entrys.billamt", filter1.toArray(), null);
|
|
||||||
Throwable var8 = null;
|
|
||||||
try {
|
|
||||||
Iterator var9 = rows.iterator();
|
|
||||||
|
|
||||||
while (var9.hasNext()) {
|
|
||||||
Row row = (Row) var9.next();
|
|
||||||
Long draftBillId = row.getLong("entrys.draftbill.id");
|
|
||||||
BigDecimal orDefault = amountMap.getOrDefault(draftBillId, BigDecimal.ZERO);
|
|
||||||
amountMap.put(draftBillId, orDefault.add(row.getBigDecimal("entrys.billamt")));
|
|
||||||
}
|
}
|
||||||
} catch (Throwable throwable) {
|
if (!settlementtype.equals("5")) {
|
||||||
var8 = throwable;
|
continue;
|
||||||
throw throwable;
|
}
|
||||||
} finally {
|
|
||||||
if (rows != null) {
|
QFilter filter = new QFilter("id", QCP.equals, firstElement);
|
||||||
if (var8 != null) {
|
DynamicObject[] CDM_PAYABLEBILLs = BusinessDataServiceHelper.load(CdmEntityConst.CDM_PAYABLEBILL, "id,billno,amount,billstatus,draftbilltranstatus", filter.toArray());
|
||||||
try {
|
Set<Object> draftIds = Arrays.stream(CDM_PAYABLEBILLs).map((s) -> {
|
||||||
rows.close();
|
return s.getPkValue();
|
||||||
} catch (Throwable var25) {
|
}).collect(Collectors.toSet());
|
||||||
var8.addSuppressed(var25);
|
QFilter filter1 = new QFilter("entrys.draftbill.id", "in", draftIds);
|
||||||
}
|
filter1.and("tradetype", "=", DraftTradeTypeEnum.REDEEM.getValue());
|
||||||
} else {
|
filter1.and("draftbilltranstatus", "=", "success");
|
||||||
rows.close();
|
Map<Long, BigDecimal> amountMap = new HashMap(16);
|
||||||
|
DataSet rows = QueryServiceHelper.queryDataSet("PayableBillRedeemValidator", "cdm_drafttradebill", "entrys.draftbill.id,entrys.billamt", filter1.toArray(), null);
|
||||||
|
Throwable var8 = null;
|
||||||
|
try {
|
||||||
|
Iterator var9 = rows.iterator();
|
||||||
|
|
||||||
|
while (var9.hasNext()) {
|
||||||
|
Row row = (Row) var9.next();
|
||||||
|
Long draftBillId = row.getLong("entrys.draftbill.id");
|
||||||
|
BigDecimal orDefault = amountMap.getOrDefault(draftBillId, BigDecimal.ZERO);
|
||||||
|
amountMap.put(draftBillId, orDefault.add(row.getBigDecimal("entrys.billamt")));
|
||||||
}
|
}
|
||||||
|
} catch (Throwable throwable) {
|
||||||
|
var8 = throwable;
|
||||||
|
throw throwable;
|
||||||
|
} finally {
|
||||||
|
if (rows != null) {
|
||||||
|
if (var8 != null) {
|
||||||
|
try {
|
||||||
|
rows.close();
|
||||||
|
} catch (Throwable var25) {
|
||||||
|
var8.addSuppressed(var25);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
rows.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
Long draftId = cdm_payablebill.getLong("id");
|
||||||
|
BigDecimal sumBillAmt = amountMap.getOrDefault(draftId, BigDecimal.ZERO);
|
||||||
|
BigDecimal amount = cdm_payablebill.getBigDecimal("amount");
|
||||||
|
boolean isNoAmount = sumBillAmt.compareTo(BigDecimal.ZERO) != 0 && amount.compareTo(sumBillAmt) == 0;
|
||||||
|
String billStatus = cdm_payablebill.getString("billstatus");
|
||||||
|
String draftbillTranstatus = cdm_payablebill.getString("draftbilltranstatus");
|
||||||
|
if (!BillStatusEnum.AUDIT.getValue().equals(billStatus) || !DraftTranStatusEnum.SUCCESS.getValue().equals(draftbillTranstatus) || isNoAmount) {
|
||||||
|
logger.info("单据编号:" + cdm_payablebill.getString("billno") + "单据状态为“已审核”且票据交易状态为“交易成功”的未兑付票据才能操作票据兑付。");
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list.add(Long.parseLong(cdm_payablebill.getString("id")));
|
||||||
}
|
}
|
||||||
Long draftId = cdm_payablebill.getLong("id");
|
|
||||||
BigDecimal sumBillAmt = amountMap.getOrDefault(draftId, BigDecimal.ZERO);
|
|
||||||
BigDecimal amount = cdm_payablebill.getBigDecimal("amount");
|
|
||||||
boolean isNoAmount = sumBillAmt.compareTo(BigDecimal.ZERO) != 0 && amount.compareTo(sumBillAmt) == 0;
|
|
||||||
String billStatus = cdm_payablebill.getString("billstatus");
|
|
||||||
String draftbillTranstatus = cdm_payablebill.getString("draftbilltranstatus");
|
|
||||||
if (!BillStatusEnum.AUDIT.getValue().equals(billStatus) || !DraftTranStatusEnum.SUCCESS.getValue().equals(draftbillTranstatus) || isNoAmount) {
|
|
||||||
logger.info("单据编号:" + cdm_payablebill.getString("billno") + "单据状态为“已审核”且票据交易状态为“交易成功”的未兑付票据才能操作票据兑付。");
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
list.add(Long.parseLong(cdm_payablebill.getString("id")));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue