|
@@ -26,11 +26,14 @@ import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
public class MonthlySettlementBillTask extends AbstractTask {
|
|
public class MonthlySettlementBillTask extends AbstractTask {
|
|
|
|
|
|
|
|
private static Logger log = LoggerFactory.getLogger(MonthlySettlementBillTask.class);
|
|
private static Logger log = LoggerFactory.getLogger(MonthlySettlementBillTask.class);
|
|
|
|
|
|
|
|
|
|
+ private final String select = "server,billnum,settlemain,operationtype,billstatusname,currency,settlementamount,periodstartdate,periodenddate,formid,invoiceentry,invoiceentry.invoicetype,invoiceentry.invoicecode,invoiceentry.invoiceno,invoiceentry.flightitineraryandtrain,invoiceentry.totalamount,invoiceentry.taxamount_invoice,invoiceentry.checkingbillno,invoiceentry.passengername,invoiceentry.invoicefromcity,invoiceentry.invoicetocity,invoiceentry.buyerorgname,invoiceentry.makeoutcompname,invoiceentry.downloadurl,invoiceentry.ticketno,invoiceentry.orderstatus,invoiceentry.innerdownloadurl,invoiceentry.departtime,invoiceentry.number";
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 总页码,不处理总数,
|
|
* 总页码,不处理总数,
|
|
|
* 每当当前页码数据小于1000 停止接口查询
|
|
* 每当当前页码数据小于1000 停止接口查询
|
|
@@ -75,6 +78,17 @@ public class MonthlySettlementBillTask extends AbstractTask {
|
|
|
log.info("月结账单查询接口 暂无数据-----");
|
|
log.info("月结账单查询接口 暂无数据-----");
|
|
|
return ;
|
|
return ;
|
|
|
}
|
|
}
|
|
|
|
|
+ //批量查询月结账单,如果已存在则更新,否则保存
|
|
|
|
|
+ DynamicObject[] load = BusinessDataServiceHelper.load("er_checkingbill", select, null);
|
|
|
|
|
+ Map<String, DynamicObject> billMap = Arrays.stream(load)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .filter(dynamicObject -> dynamicObject.getString("billnum") != null)
|
|
|
|
|
+ .collect(Collectors.toMap(
|
|
|
|
|
+ dynamicObject -> dynamicObject.getString("billnum"),
|
|
|
|
|
+ dynamicObject -> dynamicObject,
|
|
|
|
|
+ (existing, replacement) -> existing // 处理重复key,保留第一个
|
|
|
|
|
+ ));
|
|
|
|
|
+ //DynamicObjectCollection query = QueryServiceHelper.query("er_checkingbill", "billnum", null);
|
|
|
List<DynamicObject> ids = new ArrayList<>();
|
|
List<DynamicObject> ids = new ArrayList<>();
|
|
|
for (Map<String, Object> resultMap : resultLists) {
|
|
for (Map<String, Object> resultMap : resultLists) {
|
|
|
//供应商名称-供应商编号
|
|
//供应商名称-供应商编号
|
|
@@ -139,7 +153,13 @@ public class MonthlySettlementBillTask extends AbstractTask {
|
|
|
// Object departtime = resultMap.get("startTime");
|
|
// Object departtime = resultMap.get("startTime");
|
|
|
// Object number = resultMap.get("tmcSettlementid");
|
|
// Object number = resultMap.get("tmcSettlementid");
|
|
|
|
|
|
|
|
- DynamicObject dynamicBillObj = BusinessDataServiceHelper.newDynamicObject("er_checkingbill");
|
|
|
|
|
|
|
+ DynamicObject dynamicBillObj = null;
|
|
|
|
|
+ if (billMap.containsKey(billnum.toString())){
|
|
|
|
|
+ dynamicBillObj = billMap.get(billnum.toString());
|
|
|
|
|
+
|
|
|
|
|
+ }else {
|
|
|
|
|
+ dynamicBillObj = BusinessDataServiceHelper.newDynamicObject("er_checkingbill");
|
|
|
|
|
+ }
|
|
|
//供应商名称
|
|
//供应商名称
|
|
|
dynamicBillObj.set("server", service);
|
|
dynamicBillObj.set("server", service);
|
|
|
//账单编号
|
|
//账单编号
|