diff --git a/measurement/src/main/java/com/ruoyi/webApi/ApiPostBack.java b/measurement/src/main/java/com/ruoyi/webApi/ApiPostBack.java index 786c199..7c040a6 100644 --- a/measurement/src/main/java/com/ruoyi/webApi/ApiPostBack.java +++ b/measurement/src/main/java/com/ruoyi/webApi/ApiPostBack.java @@ -88,14 +88,16 @@ public class ApiPostBack { fid = needReturnDataItem.getString("FID"); // 取得 FEntity 数组 JSONArray fEntityArray = needReturnDataItem.getJSONArray("FEntity"); - if (fEntityArray != null && !fEntityArray.isEmpty()){ + if (fEntityArray == null || fEntityArray.isEmpty()) { fEntityArray = needReturnDataItem.getJSONArray("FBillEntry"); } - for (int j = 0; j < fEntityArray.size(); j++) { - JSONObject fEntityItem = fEntityArray.getJSONObject(j); - // 取得 FEntryID + if (fEntityArray == null || fEntityArray.isEmpty()) { + fEntityArray = needReturnDataItem.getJSONArray("FDetailEntity"); + } + // 如果找到有效的数组,取第一个 FEntryID + if (fEntityArray != null && !fEntityArray.isEmpty()) { + JSONObject fEntityItem = fEntityArray.getJSONObject(0); fEntryID = fEntityItem.getString("FEntryID"); - break; } } poundBill.setFid(fid); diff --git a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/PURHandler.java b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/PURHandler.java index 773acea..d13fbc5 100644 --- a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/PURHandler.java +++ b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/PURHandler.java @@ -5,6 +5,9 @@ import com.ruoyi.webApi.saveRequestBody.billHandlerUtil.BillHandler; import com.ruoyi.webApi.saveRequestBody.requestbody.DynamicFormRequest; import com.ruoyi.webApi.saveRequestBody.requestbody.RequestData; import com.ruoyi.webApi.saveRequestBody.requestbody.model.PURModel; +import com.sun.tools.javac.util.List; + +import java.util.ArrayList; /** * @author 16358 @@ -16,6 +19,7 @@ public class PURHandler implements BillHandler { public DynamicFormRequest buildRequest(PoundBill bill) { DynamicFormRequest request = new DynamicFormRequest("PUR_ReceiveBill"); RequestData data = new RequestData(); + data.setNeedReturnFields(new ArrayList<>(List.of("FID","FDetailEntity.FEntryid"))); PURModel model = new PURModel(bill); data.setModel(model); request.setData(data); diff --git a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/SALHandler.java b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/SALHandler.java index 45b9bcb..44a9c9e 100644 --- a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/SALHandler.java +++ b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/SALHandler.java @@ -5,6 +5,9 @@ import com.ruoyi.webApi.saveRequestBody.billHandlerUtil.BillHandler; import com.ruoyi.webApi.saveRequestBody.requestbody.DynamicFormRequest; import com.ruoyi.webApi.saveRequestBody.requestbody.RequestData; import com.ruoyi.webApi.saveRequestBody.requestbody.model.SALModel; +import com.sun.tools.javac.util.List; + +import java.util.ArrayList; /** * @author 16358 @@ -16,6 +19,7 @@ public class SALHandler implements BillHandler { public DynamicFormRequest buildRequest(PoundBill bill) { DynamicFormRequest request = new DynamicFormRequest("SAL_DELIVERYNOTICE"); RequestData data = new RequestData(); + data.setNeedReturnFields(new ArrayList<>(List.of("FID","FEntity.FEntryid"))); SALModel model = new SALModel(bill); data.setModel(model); request.setData(data); diff --git a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/SPHandler.java b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/SPHandler.java index 281a2cc..496dc67 100644 --- a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/SPHandler.java +++ b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/SPHandler.java @@ -6,6 +6,9 @@ import com.ruoyi.webApi.saveRequestBody.requestbody.DynamicFormRequest; import com.ruoyi.webApi.saveRequestBody.requestbody.RequestData; import com.ruoyi.webApi.saveRequestBody.requestbody.model.PURModel; import com.ruoyi.webApi.saveRequestBody.requestbody.model.SPModel; +import com.sun.tools.javac.util.List; + +import java.util.ArrayList; /** * @author 16358 @@ -17,6 +20,7 @@ public class SPHandler implements BillHandler { public DynamicFormRequest buildRequest(PoundBill bill) { DynamicFormRequest request = new DynamicFormRequest("SP_InStock"); RequestData data = new RequestData(); + data.setNeedReturnFields(new ArrayList<>(List.of("FID","FEntity.FEntryid"))); SPModel model = new SPModel(bill); data.setModel(model); request.setData(data); diff --git a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/STKHandler.java b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/STKHandler.java index 3b783f8..a9530b5 100644 --- a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/STKHandler.java +++ b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/STKHandler.java @@ -5,6 +5,9 @@ import com.ruoyi.webApi.saveRequestBody.billHandlerUtil.BillHandler; import com.ruoyi.webApi.saveRequestBody.requestbody.DynamicFormRequest; import com.ruoyi.webApi.saveRequestBody.requestbody.RequestData; import com.ruoyi.webApi.saveRequestBody.requestbody.model.STKModel; +import com.sun.tools.javac.util.List; + +import java.util.ArrayList; /** * @author 16358 @@ -16,6 +19,7 @@ public class STKHandler implements BillHandler { public DynamicFormRequest buildRequest(PoundBill bill) { DynamicFormRequest request = new DynamicFormRequest("STK_TRANSFERAPPLY"); RequestData data = new RequestData(); + data.setNeedReturnFields(new ArrayList<>(List.of("FID","FEntity.FEntryid"))); STKModel model = new STKModel(bill); data.setModel(model); request.setData(data); diff --git a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/STKTDHandler.java b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/STKTDHandler.java index e260070..de4595f 100644 --- a/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/STKTDHandler.java +++ b/measurement/src/main/java/com/ruoyi/webApi/saveRequestBody/billHandlerUtil/impl/STKTDHandler.java @@ -6,6 +6,9 @@ import com.ruoyi.webApi.saveRequestBody.requestbody.DynamicFormRequest; import com.ruoyi.webApi.saveRequestBody.requestbody.RequestData; import com.ruoyi.webApi.saveRequestBody.requestbody.model.STKModel; import com.ruoyi.webApi.saveRequestBody.requestbody.model.STKTDModel; +import com.sun.tools.javac.util.List; + +import java.util.ArrayList; /** * @author 16358 @@ -16,6 +19,7 @@ public class STKTDHandler implements BillHandler { public DynamicFormRequest buildRequest(PoundBill bill) { DynamicFormRequest request = new DynamicFormRequest("STK_TransferDirect"); RequestData data = new RequestData(); + data.setNeedReturnFields(new ArrayList<>(List.of("FID","FBillEntry.FEntryid"))); STKTDModel model = new STKTDModel(bill); data.setModel(model); request.setData(data);