fix(so): 同步 CLM 合同销售订单字段值优化

This commit is contained in:
mzr 2025-08-19 21:24:38 +08:00
parent a79c93639e
commit e5feb4fc2e
3 changed files with 10 additions and 9 deletions

View File

@ -210,7 +210,7 @@ public class Rewrite30For33Impl implements IRewrite30For33 {
// 更新信用调用后
processer.addAfterRule(new RenovateARByBidsEndRule(engrossAction));
// 同步CLM合同销售订单
processer.addAfterRule(new SyncClmNumRule("totalaccrued"));
processer.addAfterRule(new SyncClmNumRule("ntotalarmny"));
}
private void addRuleForOutRush(AroundProcesser<SaleOrderViewVO> processer, M30EngrossAction engrossAction) {

View File

@ -3,6 +3,7 @@ package nc.pubimpl.so.rule;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import nc.impl.pubapp.pattern.rule.IRule;
import nc.vo.pub.lang.UFDouble;
import nc.vo.so.m30.entity.SaleOrderBVO;
import nc.vo.so.m30.entity.SaleOrderHVO;
import nc.vo.so.m30.entity.SaleOrderViewVO;
@ -38,13 +39,13 @@ public class SyncClmNumRule implements IRule<SaleOrderViewVO> {
continue;
}
// 累计安排生产订单主数量
Object narrangemonum = body.getAttributeValue("narrangemonum");
UFDouble narrangemonum = body.getNarrangemonum();
if ("narrangemonum".equals(flag) && narrangemonum == null) {
continue;
}
// 累计确认应收金额
Object totalaccrued = body.getAttributeValue("totalaccrued");
if ("totalaccrued".equals(flag) && totalaccrued == null) {
UFDouble ntotalarmny = body.getNtotalarmny();
if ("ntotalarmny".equals(flag) && ntotalarmny == null) {
continue;
}
JSONObject oneJson = new JSONObject();
@ -53,10 +54,10 @@ public class SyncClmNumRule implements IRule<SaleOrderViewVO> {
bodyMap.put("id", vbdef11);
if (narrangemonum != null) {
bodyMap.put("narrangemonum", narrangemonum);
bodyMap.put("narrangemonum", narrangemonum.toString());
}
if (totalaccrued != null) {
bodyMap.put("totalAccrued", totalaccrued);
if (ntotalarmny != null) {
bodyMap.put("totalAccrued", ntotalarmny.toString());
}
bodyList.add(bodyMap);

View File

@ -98,14 +98,14 @@ public class HttpClmUtil {
String signature = URLEncoder.encode(base64String, StandardCharsets.UTF_8);
params.put("signature", signature);
String responseString = doGet(baseUrl + tokenUrl, params);
Logger.error("HttpClmUtil-responseString = " + responseString);
// Logger.error("HttpClmUtil-responseString = " + responseString);
Gson gson = new Gson();
Map result = gson.fromJson(responseString, Map.class);
if (StringUtils.equals("00000", result.getOrDefault("code", "") + "")) {
Map<String, Object> tokenInfo = (Map<String, Object>) result.get("data");
access_token = (String) tokenInfo.getOrDefault("access_token", "");
}
Logger.error("HttpClmUtil-getAccessToken = " + access_token);
// Logger.error("HttpClmUtil-getAccessToken = " + access_token);
return access_token;
}