Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r31103 -r31122 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 31103) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 31122) @@ -1240,6 +1240,27 @@ return dataJSONObject; } + /** + * 根据器械包实例的json对象构造出pda退货前端需要的json对象(精减属性) + * @param tousseInstanceJSONObject 器械包实例json对象,属性比较全 + * @return + */ + private JSONObject buildJSONObjectForReturnTousseInstanceJSONObject( + JSONObject tousseInstanceJSONObject) { + JSONObject dataJSONObject = new JSONObject(); + dataJSONObject.put("tousseName", tousseInstanceJSONObject.optString("tousseName")); + dataJSONObject.put("barcode", tousseInstanceJSONObject.optString("barcode")); + dataJSONObject.put("fluctuationPrice", tousseInstanceJSONObject.optDouble("fluctuationPrice")); + dataJSONObject.put("price", tousseInstanceJSONObject.optDouble("price")); + dataJSONObject.put("location", tousseInstanceJSONObject.optString("location")); + dataJSONObject.put("locationForDisplay", tousseInstanceJSONObject.optString("locationForDisplay")); + dataJSONObject.put("settleAccountsDepart", tousseInstanceJSONObject.optString("settleAccountsDepart")); + dataJSONObject.put("settleAccountsDepartCode", tousseInstanceJSONObject.optString("settleAccountsDepartCode")); + //因为pda的TousseInstance定义的结算科室字段名为settleAccountsDepartCoding,所以多增加返回一个结算科室编码的属性 + dataJSONObject.put("settleAccountsDepartCoding", tousseInstanceJSONObject.optString("settleAccountsDepartCoding")); + return dataJSONObject; + } + // 在发货任务的上下文,根据条码获取信息 public String getInfoByBarcode_InvoicePlan(JSONObject params) { logger.debug("getInfoByBarcode_InvoicePlan params=" + params); @@ -3849,11 +3870,21 @@ if(StringUtils.isNotBlank(departCode) && !StringUtils.equals(departCode, tousseInstance.getLocation())){ return JSONUtil.buildErrorMsgJsonResult("此器械包不属于" + extraParam.optString("depart")); } - + //之前的方法 + //JSONObject json = buildJSONObjectForTousseInstance(tousseInstance); + //现在改为调用退货manager的方法 + JSONObject json = new JSONObject(); + JSONObject returnTousseJSONObject = returnGoodsRecordManager.loadTousseInstanceInfo(barcode, true); + if(returnTousseJSONObject != null && !returnTousseJSONObject.isNullObject() && returnTousseJSONObject.has("tousseInstance")){ + JSONObject tousseJSONObject = returnTousseJSONObject.optJSONObject("tousseInstance"); + if(tousseJSONObject != null && !tousseJSONObject.isNullObject()){ + json = buildJSONObjectForReturnTousseInstanceJSONObject(tousseJSONObject); + } + } return new JSONStringer().object().key("success").value(true) .key("barcode").value(barcode).key("type") .value("tousseInstance").key("data") - .value(buildJSONObjectForTousseInstance(tousseInstance)) + .value(json) .endObject().toString(); } else if (barcodeDevice instanceof DisposableGoodsBatch) { Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r31114 -r31122 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 31114) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 31122) @@ -2079,6 +2079,10 @@ tousseJson.put("settleAccountsDepartOfReturnRecord", invoice.getSettleAccountsDepart()); tousseJson.put("settleAccountsDepartCodeOfReturnRecord", invoice.getSettleAccountsDepartCoding()); } + //pda的退货需要增加的几个属性名 + tousseJson.put("settleAccountsDepart", tousseJson.optString("settleAccountsDepartOfReturnRecord")); + tousseJson.put("settleAccountsDepartCode", tousseJson.optString("settleAccountsDepartCodeOfReturnRecord")); + tousseJson.put("settleAccountsDepartCoding", tousseJson.optString("settleAccountsDepartCodeOfReturnRecord")); } tousseJson.put("price", price);