|
|
@@ -40,7 +40,7 @@ public class SupplierServiceImpl implements SupplierService {
|
|
|
@Autowired
|
|
|
private DDClient_Notice ddClient_notice;
|
|
|
@Override
|
|
|
- public List<Map<String,Object>> getAllSupplierInfos() {
|
|
|
+ public List<Map<String,Object>> getAllSupplierInfos(int startRow) {
|
|
|
log.info("开始从金蝶获取供应商信息");
|
|
|
Map meta = _getMeta();
|
|
|
meta = (Map) meta.get("SUPPLIER");
|
|
|
@@ -50,7 +50,7 @@ public class SupplierServiceImpl implements SupplierService {
|
|
|
query.setFormId("BD_Supplier");
|
|
|
query.setFieldKeys(fieldKeys);
|
|
|
query.setLimit(9999);
|
|
|
- query.setStartRow(2000);
|
|
|
+ query.setStartRow(startRow);
|
|
|
try {
|
|
|
//调用接口
|
|
|
List<List<Object>> billQuery = client.executeBillQuery(JSON.toJSONString(query));
|
|
|
@@ -91,8 +91,20 @@ public class SupplierServiceImpl implements SupplierService {
|
|
|
// String isoStartTime = startTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
|
|
|
// String isoEndTime = startTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
|
|
|
//获取所有供应商数据
|
|
|
- List<Map<String,Object>> allSupplierInfos = getAllSupplierInfos();
|
|
|
- log.info("获取供应商:{}",allSupplierInfos.toString());
|
|
|
+ List<Map<String,Object>> allSupplierInfos = new ArrayList<>();
|
|
|
+ boolean hasMore = true;
|
|
|
+ int page = 0;
|
|
|
+ while (hasMore){
|
|
|
+ int startRow = page * 2000;
|
|
|
+ List<Map<String,Object>> supplierInfos = getAllSupplierInfos(startRow);
|
|
|
+ log.info("单次获取供应商:{}",supplierInfos.toString());
|
|
|
+ allSupplierInfos.addAll(supplierInfos);
|
|
|
+ if (supplierInfos.size() < 2000){
|
|
|
+ hasMore = false;
|
|
|
+ }else {
|
|
|
+ page++;
|
|
|
+ }
|
|
|
+ }
|
|
|
//所有供应商数据分组过滤是否含统一信用代码
|
|
|
Map<String, List<Map<String, Object>>> grouped = allSupplierInfos.stream()
|
|
|
.filter(map -> startTime.isBefore(LocalDateTime.parse(UtilMap.getString(map, "FModifyDate"))) &&
|