1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
| public void firstUpdateDocument(Fbill firstBill) throws Exception { var api = new K3CloudApi();
Fbill fbill = new Fbill(); fbill.setFid(firstBill.getFid()); List<Fbill> fbills = fbillMapper.selectFbillList(fbill);
if (fbills.isEmpty()){ return ; }
JSONArray entityArray = new JSONArray(); JSONObject model = new JSONObject(); model.put("FID", firstBill.getFid()); model.put("FDescription", firstBill.getfDescription()); //遍历所有的编号 for (Fbill bill:fbills){ JSONObject entry = new JSONObject(); entry.put("FEntryID", Integer.parseInt(bill.getfEntityId())); entry.put("FInspectQty", Double.parseDouble(bill.getfInspectQty())); if (bill.getfEntityId().equals(firstBill.getfEntityId())){ entry.put("FQualifiedQty", Double.parseDouble(firstBill.getfQualifiedQty())); entry.put("FUnqualifiedQty", Double.parseDouble(firstBill.getfUnqualifiedQty())); }else { entry.put("FQualifiedQty", Double.parseDouble(bill.getfQualifiedQty())); entry.put("FUnqualifiedQty", Double.parseDouble(bill.getfUnqualifiedQty())); }
entityArray.add(entry); }
model.put("FEntity", entityArray);
JSONObject request = new JSONObject(); request.put("NeedUpDateFields", Arrays.asList("FDescription", "FQualifiedQty", "FInspectQty", "FUnqualifiedQty")); request.put("IsAutoAdjustField", true); request.put("Model", model);
String json = request.toJSONString(); System.out.println("构建的JSON: " + json);
String result = api.save("QM_InspectBill", json); System.out.println(result);
}
public viod updateDocument(Fbill updateFbill) throws Exception { var api = new K3CloudApi();
Fbill fbill = new Fbill(); fbill.setFid(updateFbill.getFid()); List<Fbill> fbills = fbillMapper.selectFbillList(fbill);
if (fbills.isEmpty()) { return ; }
StringBuilder entityBuilder = new StringBuilder(); for (int i = 0; i < fbills.size(); i++) { Fbill bill = fbills.get(i);
StringBuilder policyDetailBuilder = new StringBuilder(); if (bill.getfEntityId().equals(updateFbill.getfEntityId())){ if ("0".equals(updateFbill.getfQualifiedQty())){ updateFbill.setQualifiedId(null); } if ("0".equals(updateFbill.getfUnqualifiedQty())){ updateFbill.setUnqualifiedId(null); } if (updateFbill.getQualifiedId() != null) { policyDetailBuilder.append("{") .append("\"FDetailID\": ").append(updateFbill.getQualifiedId()).append(", ") .append("\"FPolicyQty\": ").append(updateFbill.getfQualifiedQty()).append(", ") .append("\"FPolicyType\": \"1\"") .append("},"); } if (updateFbill.getUnqualifiedId() != null) { policyDetailBuilder.append("{") .append("\"FDetailID\": ").append(updateFbill.getUnqualifiedId()).append(", ") .append("\"FPolicyQty\": ").append(updateFbill.getfUnqualifiedQty()).append(", ") .append("\"FPolicyType\": \"2\"") .append("},"); } }else { if (bill.getQualifiedId() != null) { policyDetailBuilder.append("{") .append("\"FDetailID\": ").append(bill.getQualifiedId()).append(", ") .append("\"FPolicyQty\": ").append(bill.getfQualifiedQty()).append(", ") .append("\"FPolicyType\": \"1\"") .append("},"); } if (bill.getUnqualifiedId() != null) { policyDetailBuilder.append("{") .append("\"FDetailID\": ").append(bill.getUnqualifiedId()).append(", ") .append("\"FPolicyQty\": ").append(bill.getfUnqualifiedQty()).append(", ") .append("\"FPolicyType\": \"2\"") .append("},"); } }
// 移除最后一个逗号 if (policyDetailBuilder.length() > 0 && policyDetailBuilder.charAt(policyDetailBuilder.length() - 1) == ',') { policyDetailBuilder.setLength(policyDetailBuilder.length() - 1); }
entityBuilder.append("{") .append("\"FEntryID\": ").append(bill.getfEntityId()).append(", ") .append("\"FPolicyDetail\": [").append(policyDetailBuilder).append("]") .append("}");
if (i != fbills.size() - 1) { entityBuilder.append(","); } }
// 拼接最终 JSON String json = "{" + "\"NeedUpDateFields\": [\"FDescription\", \"FQualifiedQty\", \"FPolicyQty\"]," + "\"IsAutoAdjustField\": true," + "\"Model\": {" + "\"FID\": " + updateFbill.getFid() + "," + "\"FDescription\": \"" + updateFbill.getfDescription() + "\"," + "\"FEntity\": [" + entityBuilder + "]" + "}" + "}";
System.out.println("最终构建JSON: " + json);
String result = api.save("QM_InspectBill", json); System.out.println("第一次调用结果: " + result);
}
|