diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/AccountMoveLineJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/AccountMoveLineJob.java index afd4cec..34ea093 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/AccountMoveLineJob.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/AccountMoveLineJob.java @@ -1,5 +1,6 @@ package com.ruoyi.quartz.task.odoo; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.enums.TableRelationTypeEnum; import com.ruoyi.common.utils.DateUtils; @@ -60,15 +61,22 @@ public class AccountMoveLineJob extends OdooAbstrackob { protected Map buildLarkBodyMap(JSONObject date) { Map map = new HashMap<>(); map.put("id",date.getString("id")); - map.put("partner_id",date.getString("partner_id")); + JSONArray partnerArr = parseJsonArray(date.getString("partner_id"),2); + map.put("partner_id",partnerArr.getString(0)); + map.put("partner_name",partnerArr.getString(1)); map.put("date",date.getString("date")); map.put("quantity",date.getString("quantity")); - map.put("product_id",date.getString("product_id")); + JSONArray productArr = parseJsonArray(date.getString("product_id"),2); + map.put("product_id",productArr.getString(0)); + map.put("product_name",productArr.getString(1)); map.put("price_unit",date.getString("price_unit")); - map.put("company_id",date.getString("company_id")); + JSONArray companyArr = parseJsonArray(date.getString("company_id"),2); + map.put("company_id",companyArr.getString(0)); + map.put("company_name",companyArr.getString(1)); return map; } + @Override protected TableRelationTypeEnum syncLarkType() { return TableRelationTypeEnum.SYNC_ODOO_ACCOUNT_MOVE_LINE; diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/OdooAbstrackob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/OdooAbstrackob.java index 2c0872a..e96b0da 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/OdooAbstrackob.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/OdooAbstrackob.java @@ -1,5 +1,6 @@ package com.ruoyi.quartz.task.odoo; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.lark.oapi.service.bitable.v1.model.CreateAppTableRecordRespBody; import com.ruoyi.common.enums.AppType; @@ -226,6 +227,21 @@ public abstract class OdooAbstrackob { //获取待同步飞书表格信息 protected abstract TableRelationTypeEnum syncLarkType(); + protected JSONArray parseJsonArray(String value, int count){ + JSONArray jsonArray = new JSONArray(); + try { + jsonArray = JSONArray.parseArray(value); + for (int i= jsonArray.size();i getDate(OdooContext odooContext, Map pageMap, List errorList) { try { XmlRpcClient models = odooContext.getModels(); diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/ProductProductJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/ProductProductJob.java index 1126e8d..4de2b49 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/ProductProductJob.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/odoo/ProductProductJob.java @@ -1,5 +1,6 @@ package com.ruoyi.quartz.task.odoo; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.enums.TableRelationTypeEnum; import lombok.extern.slf4j.Slf4j; @@ -50,7 +51,7 @@ public class ProductProductJob extends OdooAbstrackob { // }}; return new HashMap() {{ put("fields", Arrays.asList("id","default_code", "name", "description_purchase" - , "qty_available", "incoming_qty", "packaging_ids", "total_cost", "categ_id", "free_qty")); + , "qty_available", "incoming_qty", "packaging_ids", "standard_price", "categ_id")); }}; } @@ -63,9 +64,11 @@ public class ProductProductJob extends OdooAbstrackob { map.put("description_purchase",date.getString("description_purchase")); map.put("qty_available",date.getString("qty_available")); map.put("incoming_qty",date.getString("incoming_qty")); - map.put("packaging_ids",date.getString("packaging_ids")); - map.put("total_cost",date.getString("total_cost")); - map.put("categ_id",date.getString("categ_id")); + JSONArray packagingArr = parseJsonArray(date.getString("packaging_ids"),1); + map.put("packaging_ids",packagingArr.getString(0)); + map.put("standard_price",date.getString("standard_price")); + JSONArray categArr = parseJsonArray(date.getString("categ_id"),2); + map.put("categ_id",categArr.getString(1)); map.put("free_qty",date.getString("free_qty")); return map; }