新增银行批量查询,对部门和标书购买申请做了优化
This commit is contained in:
parent
d7ef48fed4
commit
f4e5898b6c
@ -293,7 +293,7 @@ public class BankInfoController {
|
|||||||
deptReq.put("pageSize", 1999);
|
deptReq.put("pageSize", 1999);
|
||||||
|
|
||||||
//开始获取金蝶token
|
//开始获取金蝶token
|
||||||
String accessToken = new KDTokenController().getKDAppToken();
|
String accessToken = new KDTokenController().getKDAccessTokenTest();
|
||||||
|
|
||||||
if (accessToken == null || accessToken.equals("")) {
|
if (accessToken == null || accessToken.equals("")) {
|
||||||
log.info("金蝶token为空或不存在");
|
log.info("金蝶token为空或不存在");
|
||||||
@ -438,4 +438,237 @@ public class BankInfoController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量翻页执行银行信息
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @Author weiloong_zhang
|
||||||
|
*/
|
||||||
|
@PostMapping("/batch/sync/bank")
|
||||||
|
public void bankInfoBatch() {
|
||||||
|
|
||||||
|
int page = 1;
|
||||||
|
int pageSize = 2000;
|
||||||
|
|
||||||
|
Boolean flag = true;
|
||||||
|
|
||||||
|
while (flag) {
|
||||||
|
CrmRequestUtil crmRequestUtil = new CrmRequestUtil();
|
||||||
|
|
||||||
|
log.info("开始同步银行信息");
|
||||||
|
|
||||||
|
//获取当前时间
|
||||||
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
log.info("当前时间:{}", now);
|
||||||
|
//获取两天前的时间
|
||||||
|
LocalDateTime twoDaysAgo = now.minusDays(30);
|
||||||
|
|
||||||
|
//将时间转换样式
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
|
String twoDaysAgoStr = twoDaysAgo.format(formatter);
|
||||||
|
String nowStr = now.format(formatter);
|
||||||
|
|
||||||
|
//开始查询部门(暂时使用固定值)
|
||||||
|
Map data = new HashMap<>();
|
||||||
|
data.put("startTime", twoDaysAgoStr);
|
||||||
|
data.put("endTime", nowStr);
|
||||||
|
//data.put("number", Arrays.asList("ZHY002.005.003.004"));
|
||||||
|
// data.put("level", "3");
|
||||||
|
|
||||||
|
Map deptReq = new HashMap<>();
|
||||||
|
deptReq.put("data", data);
|
||||||
|
deptReq.put("pageNo", page);
|
||||||
|
deptReq.put("pageSize", pageSize);
|
||||||
|
|
||||||
|
//开始获取金蝶token
|
||||||
|
String accessToken = new KDTokenController().getKDAccessTokenTest();
|
||||||
|
|
||||||
|
if (accessToken == null || accessToken.equals("")) {
|
||||||
|
log.info("金蝶token为空或不存在");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
//开始封装请求头
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||||
|
headers.set("accessToken", accessToken);
|
||||||
|
|
||||||
|
HttpEntity bankReqEntity = new HttpEntity(deptReq, headers);
|
||||||
|
|
||||||
|
//开始发起请求
|
||||||
|
//String bankInfoUrl = ERPURLConstant.ERP_URL +"/ierp/kapi/v2/f9w5/basedata/bd_bebank/bebankQuery";
|
||||||
|
String bankInfoUrl = "https://lxr2.zhydsp.cn:40448/ierp/kapi/v2/f9w5/basedata/bd_bebank/bebankQuery";
|
||||||
|
|
||||||
|
String bankInfoResStr = "";
|
||||||
|
|
||||||
|
//开始发起请求
|
||||||
|
try {
|
||||||
|
bankInfoResStr = restTemplate.postForObject(bankInfoUrl, bankReqEntity, String.class);
|
||||||
|
} catch (RestClientException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject bankInfoRes = JSONObject.parseObject(bankInfoResStr);
|
||||||
|
|
||||||
|
System.out.println("获取到金蝶银行信息:" + bankInfoRes);
|
||||||
|
|
||||||
|
if (!"0".equals(bankInfoRes.getString("errorCode")) || bankInfoRes.getJSONObject("data").isEmpty() || bankInfoRes.getJSONObject("data").getJSONArray("rows").isEmpty()) {
|
||||||
|
log.info("金蝶查询银行信息失败或者没有符合条件的数据");
|
||||||
|
flag = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("数据存在,将继续向下执行");
|
||||||
|
|
||||||
|
for (Object bankInfoObj : bankInfoRes.getJSONObject("data").getJSONArray("rows")) {
|
||||||
|
JSONObject bankInfoData = JSON.parseObject(JSON.toJSONString(bankInfoObj));
|
||||||
|
|
||||||
|
//开始截取关键数据
|
||||||
|
//银行名称
|
||||||
|
String bankName = bankInfoData.getString("name");
|
||||||
|
//行号
|
||||||
|
String bankNumber = bankInfoData.getString("number");
|
||||||
|
//todo 创建时间
|
||||||
|
String createTime = "2025-05-14 00:00:00";
|
||||||
|
|
||||||
|
//开始查询是否已经集成过了
|
||||||
|
JSONObject isLog = new JSONObject();
|
||||||
|
|
||||||
|
try {
|
||||||
|
isLog = restTemplate.getForObject("http://localhost:18085/Log/query/log_data?table=send_log_bank&log_type=BANK&dataId=" + bankNumber + "&mark=" + createTime, JSONObject.class);
|
||||||
|
} catch (RestClientException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isLog.getJSONArray("data").isEmpty()) {
|
||||||
|
log.info("当前银行已经集成过了,将不再向下执行");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
//开始封装数据
|
||||||
|
Map bankInfoMap = new HashMap<>();
|
||||||
|
bankInfoMap.put("name", bankNumber);//行号
|
||||||
|
bankInfoMap.put("bank_name__c", bankName);//银行名称
|
||||||
|
bankInfoMap.put("province__c", bankInfoData.getString("province_name") != null ? bankInfoData.getString("province_name") : "");//省份
|
||||||
|
bankInfoMap.put("city_banking__c", bankInfoData.getString("city_name") != null ? bankInfoData.getString("city_name") : "");//市
|
||||||
|
bankInfoMap.put("country_region__c", bankInfoData.getString("country_fullname") != null ? bankInfoData.getString("country_fullname") : "");//国家地区
|
||||||
|
bankInfoMap.put("branch_number__c", bankInfoData.getString("union_number") != null ? bankInfoData.getString("union_number") : "");//联行号
|
||||||
|
bankInfoMap.put("dataObjectApiName", "bank_info__c");
|
||||||
|
|
||||||
|
//发起请求前查询是否已存在该数据
|
||||||
|
JSONObject isCrmExist = crmRequestUtil.getCRMList(Arrays.asList(
|
||||||
|
new Filter("EQ", "name", Arrays.asList(bankNumber)),
|
||||||
|
new Filter("EQ", "bank_name__c", Arrays.asList(bankName))
|
||||||
|
), "bank_info__c");
|
||||||
|
|
||||||
|
JSONObject isCrmExistRes = new JSONObject();
|
||||||
|
|
||||||
|
try {
|
||||||
|
isCrmExistRes = restTemplate.postForObject(URLConstant.GET_CUSTOMIZE_LIST_URL, isCrmExist, JSONObject.class);
|
||||||
|
} catch (RestClientException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("success".equals(isCrmExistRes.getString("errorDescription")) && !isCrmExistRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
|
||||||
|
log.info("数据已存在,将执行更新");
|
||||||
|
JSONObject isCrmExistData = isCrmExistRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0);
|
||||||
|
|
||||||
|
bankInfoMap.put("_id", isCrmExistData.getString("_id"));
|
||||||
|
|
||||||
|
//更新请求
|
||||||
|
JSONObject updateReq = crmRequestUtil.updateCRM(bankInfoMap);
|
||||||
|
|
||||||
|
JSONObject updateRes = new JSONObject();
|
||||||
|
|
||||||
|
try {
|
||||||
|
updateRes = restTemplate.postForObject(URLConstant.UPDATE_CRM_CUSTOMIZE, updateReq, JSONObject.class);
|
||||||
|
} catch (RestClientException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("更新结果为:" + JSON.parseObject(JSON.toJSONString(updateRes)));
|
||||||
|
|
||||||
|
//记录日志
|
||||||
|
//开始封装日志
|
||||||
|
Map logMap = new HashMap<>();
|
||||||
|
logMap.put("log_id", UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
logMap.put("log_type", "BANKUP");
|
||||||
|
logMap.put("syn_type", "0");
|
||||||
|
logMap.put("data_name", bankName);
|
||||||
|
logMap.put("data_id", bankNumber);
|
||||||
|
logMap.put("mark", createTime);
|
||||||
|
logMap.put("send_body", JSON.toJSONString(updateReq));
|
||||||
|
logMap.put("send_res", JSON.toJSONString(updateRes));
|
||||||
|
logMap.put("tableName", "send_log_bank");
|
||||||
|
|
||||||
|
//判断
|
||||||
|
if ("success".equals(updateRes.getString("errorDescription"))) {
|
||||||
|
logMap.put("log_status", "0");
|
||||||
|
logMap.put("res_body", "同步成功");
|
||||||
|
} else {
|
||||||
|
logMap.put("log_status", "1");
|
||||||
|
logMap.put("res_body", "同步失败" + updateRes.getString("errorMessage"));
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject logRes = new JSONObject();
|
||||||
|
|
||||||
|
try {
|
||||||
|
logRes = restTemplate.postForObject("http://localhost:18085/Log/insert/log_data", logMap, JSONObject.class);
|
||||||
|
} catch (RestClientException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("数据不存在,将执行创建");
|
||||||
|
|
||||||
|
JSONObject createReq = crmRequestUtil.createCRM(bankInfoMap);
|
||||||
|
|
||||||
|
JSONObject createRes = new JSONObject();
|
||||||
|
|
||||||
|
try {
|
||||||
|
createRes = restTemplate.postForObject(URLConstant.CREATE_CRM_CUSTOMER_MAIN, createReq, JSONObject.class);
|
||||||
|
} catch (RestClientException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("创建结果为:" + JSON.parseObject(JSON.toJSONString(createRes)));
|
||||||
|
|
||||||
|
Map logMap = new HashMap<>();
|
||||||
|
logMap.put("log_id", UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
logMap.put("log_type", "BANK");
|
||||||
|
logMap.put("syn_type", "0");
|
||||||
|
logMap.put("data_name", bankName);
|
||||||
|
logMap.put("data_id", bankNumber);
|
||||||
|
logMap.put("mark", createTime);
|
||||||
|
logMap.put("send_body", JSON.toJSONString(createReq));
|
||||||
|
logMap.put("send_res", JSON.toJSONString(createRes));
|
||||||
|
logMap.put("tableName", "send_log_bank");
|
||||||
|
|
||||||
|
//判断
|
||||||
|
if ("success".equals(createRes.getString("errorDescription"))) {
|
||||||
|
logMap.put("log_status", "0");
|
||||||
|
logMap.put("res_body", "同步成功");
|
||||||
|
} else {
|
||||||
|
logMap.put("log_status", "1");
|
||||||
|
logMap.put("res_body", "同步失败" + createRes.getString("errorMessage"));
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONObject logRes = new JSONObject();
|
||||||
|
|
||||||
|
try {
|
||||||
|
logRes = restTemplate.postForObject("http://localhost:18085/Log/insert/log_data", logMap, JSONObject.class);
|
||||||
|
} catch (RestClientException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(logRes);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
page++;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,9 +202,10 @@ public class DeptController {
|
|||||||
//判断部门是否在crm中存在
|
//判断部门是否在crm中存在
|
||||||
//请求封装
|
//请求封装
|
||||||
JSONObject deptIsExistReq = crmRequestUtil.getCRMList(Arrays.asList(
|
JSONObject deptIsExistReq = crmRequestUtil.getCRMList(Arrays.asList(
|
||||||
new Filter("EQ", "name", Arrays.asList(deptName)),
|
//new Filter("EQ", "name", Arrays.asList(deptName)),
|
||||||
new Filter("EQ", "field_v711K__c", Arrays.asList(parentDeptName)),
|
new Filter("EQ", "erp_id__c", Arrays.asList(deptId))
|
||||||
new Filter("EQ", "field_31u4r__c", Arrays.asList(parentDeptCode))
|
//new Filter("EQ", "field_v711K__c", Arrays.asList(parentDeptName)),
|
||||||
|
//new Filter("EQ", "field_31u4r__c", Arrays.asList(parentDeptCode))
|
||||||
), "DepartmentObj");
|
), "DepartmentObj");
|
||||||
|
|
||||||
//开始发起请求
|
//开始发起请求
|
||||||
|
@ -124,7 +124,7 @@ public class TenderingController {
|
|||||||
|
|
||||||
tenderingMapReq.put("f9w5_applytype", applyTypeStr);//申请类型
|
tenderingMapReq.put("f9w5_applytype", applyTypeStr);//申请类型
|
||||||
tenderingMapReq.put("f9w5_lot", tenderingData.getString("batch_name__c") != null ? tenderingData.getString("batch_name__c") : "");//批次名称
|
tenderingMapReq.put("f9w5_lot", tenderingData.getString("batch_name__c") != null ? tenderingData.getString("batch_name__c") : "");//批次名称
|
||||||
tenderingMapReq.put("createorg_number", tenderingData.getString("erp_organization__c__v") != null ? tenderingData.getString("erp_organization__c__v") : "");//组织
|
tenderingMapReq.put("createorg_number", tenderingData.getString("erp_organization__c") != null ? tenderingData.getString("erp_organization__c") : "");//组织
|
||||||
|
|
||||||
//供应商ID
|
//供应商ID
|
||||||
String vendorId = tenderingData.getString("bidding_agency__c") != null ? tenderingData.getString("bidding_agency__c") : "";
|
String vendorId = tenderingData.getString("bidding_agency__c") != null ? tenderingData.getString("bidding_agency__c") : "";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user