优化了一部分内容

This commit is contained in:
itzhang 2025-08-07 15:45:55 +08:00
parent 6c08b4576e
commit f902aae6db
3 changed files with 257 additions and 1 deletions

View File

@ -662,6 +662,21 @@ public class DesignController {
//开始封装明细
designBGDocMap.put("entryList", designDocDetailList);
//
// //开始反关闭
// String erpId = designBGDocData.getString("change_erp_id__c") != null ? designBGDocData.getString("change_erp_id__c") : "";
//
// if (erpId.equals("")) {
// log.info("erpId为空");
// continue;
// }
//
// String unclose = designUnclose(originalId, erpId, originalName);
//
// if (!unclose.equals("0")) {
// log.info("未成功关闭,不再继续向下执行");
// continue;
// }
//开始获取ERPToken
String accessToken = new KDTokenController().getKDAccessTokenTest();
@ -727,7 +742,7 @@ public class DesignController {
logMap.put("log_status", "1");
logMap.put("res_body", "同步失败:" + designDocRes.getString("message"));
backReqMap.put("sync_status__c", "option_sync_failure__c");
backReqMap.put("response_info__c", designBGDocName+"变更失败:" + designDocRes.getString("message"));
backReqMap.put("response_info__c", designBGDocName + "变更失败:" + designDocRes.getString("message"));
}
//开始回写
@ -785,4 +800,115 @@ public class DesignController {
}
}
}
//
// /**
// * 反关闭方法
// *
// * @return java.lang.String
// * @Author weiloong_zhang
// */
// public String designUnclose(String crmId, String erpId, String designName) {
// CrmRequestUtil crmRequestUtil = new CrmRequestUtil();
//
// //开始封装数据
// Map uncloseMap = new HashMap<>();
// uncloseMap.put("id", erpId);
//
// Map uncloseReqMap = new HashMap<>();
// uncloseReqMap.put("data", uncloseMap);
//
// //开始封装请求
// //开始获取token
// String accessToken = new KDTokenController().getKDAccessTokenTest();
//
// if (accessToken == null || accessToken.equals("")) {
// log.info("金蝶token为空或不存在");
// return "金蝶token为空或不存在";
// }
//
// String uuid = UUID.randomUUID().toString().replace("-", "");
// //开始封装请求头
// HttpHeaders headers = new HttpHeaders();
// headers.setContentType(MediaType.APPLICATION_JSON);
// headers.set("accessToken", accessToken);
// headers.set("Idempotency-Key", uuid);
//
// HttpEntity designReqEntity = new HttpEntity(uncloseReqMap, headers);
//
// System.out.println(JSON.parseObject(JSON.toJSONString(designReqEntity)));
//
// String uncloseUrl = ERPURLConstant.ERP_URL + "/ierp/kapi/v2/f9w5/pssc/pm_requirapplybill/unclose";
//
// JSONObject erpUncloseRes = new JSONObject();
//
// try {
// erpUncloseRes = restTemplate.postForObject(uncloseUrl, designReqEntity, JSONObject.class);
// } catch (RestClientException e) {
// e.printStackTrace();
// }
//
// System.out.println("金蝶关闭合同结果为:" + erpUncloseRes);
//
// //开始封装回写程序
// Map backReqMap = new HashMap();
// backReqMap.put("_id", crmId);
// backReqMap.put("dataObjectApiName", "design_file__c");
//
// //开始封装日志
// Map logMap = new HashMap<>();
// logMap.put("log_id", UUID.randomUUID().toString().replace("-", ""));
// logMap.put("log_type", "SJWJGB");
// logMap.put("syn_type", "0");
// logMap.put("data_id", crmId);
// logMap.put("data_name", designName);
// logMap.put("send_body", JSON.toJSONString(designReqEntity));
// logMap.put("send_res", JSON.toJSONString(erpUncloseRes));
// logMap.put("tableName", "send_log_sjwj");
//
// String result = "";
//
// if ("0".equals(erpUncloseRes.getString("errorCode"))) {
// //同步成功
// result = "0";
// logMap.put("log_status", "0");
// logMap.put("res_body", "同步成功");
// backReqMap.put("sync_status__c", "option_sync_success__c");
// backReqMap.put("response_info__c", "该合同已在erp中反关闭并且反关闭成功");
// } else {
// //同步成功
// result = "1";
// logMap.put("log_status", "1");
// logMap.put("res_body", "同步失败:" + erpUncloseRes.getString("message"));
// backReqMap.put("sync_status__c", "option_sync_failure__c");
// backReqMap.put("response_info__c", "该合同在erp中反关闭失败反关闭失败原因" + erpUncloseRes.getString("message"));
// }
//
// JSONObject backReq = crmRequestUtil.updateCRM(backReqMap);
//
// System.out.println("回写请求为:" + JSON.parseObject(JSON.toJSONString(backReq)));
//
// JSONObject backRes = new JSONObject();
//
// try {
// backRes = restTemplate.postForObject(URLConstant.UPDATE_CRM_CUSTOMIZE, backReq, JSONObject.class);
// } catch (RestClientException e) {
// e.printStackTrace();
// }
//
// System.out.println("回写结果为:" + backRes);
//
// logMap.put("send_memo", JSON.toJSONString(backRes));
//
// //开始记录日志
// 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);
//
// return result;
// }
}

View File

@ -391,6 +391,8 @@ public class InvoiceController {
System.out.println("回写结果为:" + backRes);
logMap.put("send_memo", JSON.toJSONString(backRes));
log.info("上锁");
JSONObject lockRes = new JSONObject();
@ -739,6 +741,8 @@ public class InvoiceController {
System.out.println("回写结果为:" + backRes);
logMap.put("send_memo", JSON.toJSONString(backRes));
log.info("上锁");
JSONObject lockRes = new JSONObject();

View File

@ -638,6 +638,27 @@ public class XSHTController {
//原单单据
String originalContractName = contractBGData.getString("name");
BigDecimal contractAmount = contractBGData.getBigDecimal("change_contract_amount__c") != null ? contractBGData.getBigDecimal("change_contract_amount__c") : BigDecimal.ZERO;
if (contractAmount.compareTo(BigDecimal.ZERO) == 0) {
log.info("合同金额等于0将不再进行变更将进行合同关闭");
//crm源单唯一性id
String crmId = contractBGData.getString("original_data");
String crmName = contractBGData.getString("original_data__r");
//erpId
String erpId = contractBGData.getString("change_erp_id__c") != null ? contractBGData.getString("change_erp_id__c") : "";
if (erpId.equals("")) {
log.info("erpId为空");
continue;
}
ContractClose(crmId, erpId, crmName);
continue;
}
//开始查看是否已经同步
JSONObject isLogRes = new JSONObject();
@ -1158,4 +1179,109 @@ public class XSHTController {
}
}
/**
* 销售合同关闭方法
*
* @return void
* @Author weiloong_zhang
*/
public void ContractClose(String crmId, String erpId, String contractName) {
CrmRequestUtil crmRequestUtil = new CrmRequestUtil();
//开始封装数据
Map closeMap = new HashMap<>();
closeMap.put("id", erpId);
Map closeReqMap = new HashMap<>();
closeReqMap.put("data", closeMap);
//开始封装请求
//开始获取token
String accessToken = new KDTokenController().getKDAccessTokenTest();
if (accessToken == null || accessToken.equals("")) {
log.info("金蝶token为空或不存在");
return;
}
String uuid = UUID.randomUUID().toString().replace("-", "");
//开始封装请求头
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("accessToken", accessToken);
headers.set("Idempotency-Key", uuid);
HttpEntity contractReqEntity = new HttpEntity(closeReqMap, headers);
String closeUrl = ERPURLConstant.ERP_URL + "/ierp/kapi/v2/f9w5/conm/conm_salcontract/close";
JSONObject closeRes = new JSONObject();
try {
closeRes = restTemplate.postForObject(closeUrl, contractReqEntity, JSONObject.class);
} catch (RestClientException e) {
e.printStackTrace();
}
System.out.println("金蝶关闭合同结果为:" + closeRes);
//开始封装回写程序
Map backReqMap = new HashMap();
backReqMap.put("_id", crmId);
backReqMap.put("dataObjectApiName", "SaleContractObj");
//开始封装日志
Map logMap = new HashMap<>();
logMap.put("log_id", UUID.randomUUID().toString().replace("-", ""));
logMap.put("log_type", "XSHTGB");
logMap.put("syn_type", "0");
logMap.put("data_id", crmId);
logMap.put("data_name", contractName);
logMap.put("send_body", JSON.toJSONString(contractReqEntity));
logMap.put("send_res", JSON.toJSONString(closeRes));
logMap.put("tableName", "send_log_htxx");
if ("0".equals(closeRes.getString("errorCode"))) {
//同步成功
logMap.put("log_status", "0");
logMap.put("res_body", "同步成功");
backReqMap.put("sync_status__c", "option_sync_success__c");
backReqMap.put("response_info__c", "该合同已在erp中关闭并且关闭成功");
} else {
//同步成功
logMap.put("log_status", "1");
logMap.put("res_body", "同步失败:" + closeRes.getString("message"));
backReqMap.put("sync_status__c", "option_sync_failure__c");
backReqMap.put("response_info__c", "该合同在erp中关闭失败关闭失败原因" + closeRes.getString("message"));
}
JSONObject backReq = crmRequestUtil.updateCRM(backReqMap);
System.out.println("回写请求为:" + JSON.parseObject(JSON.toJSONString(backReq)));
JSONObject backRes = new JSONObject();
try {
backRes = restTemplate.postForObject(URLConstant.UPDATE_CRM_MAIN, backReq, JSONObject.class);
} catch (RestClientException e) {
e.printStackTrace();
}
System.out.println("回写结果为:" + backRes);
logMap.put("send_memo", JSON.toJSONString(backRes));
//开始记录日志
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);
}
}