|
@@ -8,8 +8,10 @@ import kd.bos.logging.Log;
|
|
import kd.bos.logging.LogFactory;
|
|
import kd.bos.logging.LogFactory;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.orm.query.QFilter;
|
|
|
|
+import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import kd.bos.servicehelper.QueryServiceHelper;
|
|
import kd.bos.servicehelper.QueryServiceHelper;
|
|
|
|
|
|
|
|
+import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
import kd.bos.util.StringUtils;
|
|
import kd.bos.util.StringUtils;
|
|
import nckd.jimin.jyyy.fi.mservice.SynSapService;
|
|
import nckd.jimin.jyyy.fi.mservice.SynSapService;
|
|
import nckd.jimin.jyyy.fi.mservice.SyncSapFIUtils;
|
|
import nckd.jimin.jyyy.fi.mservice.SyncSapFIUtils;
|
|
@@ -108,6 +110,35 @@ public class SynSapFIServiceImpl implements SynSapService {
|
|
logger.info("同步SAP凭证:" + voucherInfo + ",错误信息:" + msg + "|" + notes);
|
|
logger.info("同步SAP凭证:" + voucherInfo + ",错误信息:" + msg + "|" + notes);
|
|
errCount++;
|
|
errCount++;
|
|
}else{
|
|
}else{
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 需要保存SAP返回的值
|
|
|
|
+ */
|
|
|
|
+ // 1. 查询 gl_voucher 对象
|
|
|
|
+ DynamicObject voucherDyn = BusinessDataServiceHelper.loadSingle(vouchsreId, "gl_voucher");
|
|
|
|
+
|
|
|
|
+ if (voucherDyn != null) {
|
|
|
|
+ /**
|
|
|
|
+ * 2. 解析 SAP 返回的 JSON 数据
|
|
|
|
+ * 同步SAP凭证 retur:{"E_MESSAGE":"创建成功!","E_TYPE":"S","E_XBLNR"."" "ET RETURN":{"item":[{"BKTXT":"BX2010202506-0030","ZZTM""FDZT","TYPE":"S","MESSAGE":"V凭证已成功预制:BKPFF 160000005620102025 S4DCLIT120"}]}}
|
|
|
|
+ * */
|
|
|
|
+ String regex = ".*\\s(\\d+)\\s([A-Z0-9]+)";
|
|
|
|
+
|
|
|
|
+ java.util.regex.Pattern pattern = java.util.regex.Pattern.compile(regex);
|
|
|
|
+ java.util.regex.Matcher matcher = pattern.matcher(msg);
|
|
|
|
+
|
|
|
|
+ if (matcher.find()) {
|
|
|
|
+ String eXblnr = matcher.group(1); // 160000005620102025
|
|
|
|
+ String bktxt = matcher.group(2); // S4DCLIT120
|
|
|
|
+ // 3. 设置 gl_voucher 对象的字段
|
|
|
|
+ voucherDyn.set("nckd_xblnr", eXblnr); // 设置 E_XBLNR 到 nckd_xblnr
|
|
|
|
+ voucherDyn.set("nckd_xrlnr_alt", bktxt); // 设置 BKTXT 到 nckd_xrlnr_alt
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 保存更新后的 gl_voucher 对象
|
|
|
|
+ SaveServiceHelper.save(new DynamicObject[]{voucherDyn});
|
|
|
|
+ }
|
|
|
|
+
|
|
count++;
|
|
count++;
|
|
}
|
|
}
|
|
}
|
|
}
|