Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManager.java =================================================================== diff -u -r15447 -r15638 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManager.java (.../TousseTransitionRecordManager.java) (revision 15447) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManager.java (.../TousseTransitionRecordManager.java) (revision 15638) @@ -36,4 +36,10 @@ * @return */ JSONObject getTousseInfo(TousseInstance tousseInstance,Long recyclingApplicationId); + /** + * 根据申请单id加载器械包交接记录 + * @param recyclingApplicationId + * @return + */ + public JSONObject loadTousseTransition(String recyclingApplicationId); } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManagerImpl.java =================================================================== diff -u -r15447 -r15638 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManagerImpl.java (.../TousseTransitionRecordManagerImpl.java) (revision 15447) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManagerImpl.java (.../TousseTransitionRecordManagerImpl.java) (revision 15638) @@ -11,13 +11,16 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import com.forgon.Constants; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.recyclingapplication.RecyclingApplication; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.entity.toussetransition.TousseTransitionRecord; import com.forgon.disinfectsystem.entity.useRecord.UseRecord; import com.forgon.disinfectsystem.recyclingapplication.service.RecyclingApplicationManager; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.BasePoManagerImpl; @@ -32,20 +35,21 @@ } private TousseTransitionItemManager tousseTransitionItemManager; - private TousseInstanceManager tousseInstanceManager; private RecyclingApplicationManager recyclingApplicationManager; + private TousseDefinitionManager tousseDefinitionManager; public void setTousseTransitionItemManager( TousseTransitionItemManager tousseTransitionItemManager) { this.tousseTransitionItemManager = tousseTransitionItemManager; } - public void setTousseInstanceManager(TousseInstanceManager tousseInstanceManager) { - this.tousseInstanceManager = tousseInstanceManager; - } public void setRecyclingApplicationManager( RecyclingApplicationManager recyclingApplicationManager) { this.recyclingApplicationManager = recyclingApplicationManager; } + public void setTousseDefinitionManager( + TousseDefinitionManager tousseDefinitionManager) { + this.tousseDefinitionManager = tousseDefinitionManager; + } /** * 通过器械包实例条码,获取交接记录 */ @@ -142,5 +146,90 @@ json.put("barcode", tousseInstance.getBarcode()); return json; } - + @Override + public JSONObject loadTousseTransition(String recyclingApplicationId) { + JSONObject obj = null; + JSONArray tousseItemArray = null; + if(!DatabaseUtil.isPoIdValid(recyclingApplicationId)){ + return obj; + } + RecyclingApplication app = recyclingApplicationManager.getRecyclingApplicationById(recyclingApplicationId); + if(app != null){ + if(app.getUseRecord() == null){ + //必须是使用记录转换而来的 + return obj; + } + obj = new JSONObject(); + tousseItemArray = new JSONArray(); + for (TousseItem item : app.getApplicationItems()) { + String tousseType = item.getTousseType(); + if ("一次性物品".equals(tousseType) + || TousseDefinition.PACKAGE_TYPE_DRESSING + .equals(tousseType) + || TousseDefinition.PACKAGE_TYPE_FOREIGN + .equals(tousseType) + || (TousseDefinition.PACKAGE_TYPE_DISINFECTION + .equals(tousseType) && "否".equals(item + .getIsCleanedEntirely())) + || (item.getIsTerminated() != null && item + .getIsTerminated())) { + continue; + } + TousseDefinition td = null; + if(DatabaseUtil.isPoIdValid(item.getTousseDefinitionId())){ + td = tousseDefinitionManager.getTousseDefinitionById(item.getTousseDefinitionId()); + }else{ + td = tousseDefinitionManager.getTousseDefinitionByName(item.getTousseName()); + } + + if (td != null && td.recycling()) { + JSONObject jsonItem = new JSONObject(); + jsonItem.put("id", item.getId()); + String tousseName = item.getTousseName(); + jsonItem.put("tousseName", tousseName); + jsonItem.put("amount", item.getAmount()); + Integer prepareRecycleAmount = item.getPrepareRecycleAmount(); + if(prepareRecycleAmount == null){ + prepareRecycleAmount = item.getAmount(); + } + jsonItem.put("prepareRecycleAmount",prepareRecycleAmount); + jsonItem.put("tousseType", tousseType); + JSONArray barcodes = tousseTransitionItemManager.getJsonArray(item); + int scanedAmount = 0; + int unscanedAmount = 0; + if(item.getScanedAmount() == null || item.getScanedAmount().intValue() == 0){ + scanedAmount = barcodes.size(); + }else{ + scanedAmount = item.getScanedAmount().intValue(); + } + if(item.getUnscanedAmount() == null){ + unscanedAmount = 0; + }else{ + unscanedAmount = item.getUnscanedAmount(); + } + jsonItem.put("scanedAmount", scanedAmount); + jsonItem.put("unscanedAmount", unscanedAmount); + jsonItem.put("tousseDefineId", item.getTousseDefinitionId()); + jsonItem.put("tousseBarcodes", barcodes); + tousseItemArray.add(jsonItem); + } + } + if (app.getPrepareRecycleDateTime() != null) { + obj.put("prepareRecycleDateTime", Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.format(app + .getPrepareRecycleDateTime())); + } + obj.put("applicationTime", app.getApplicationTimeStr()); + obj.put("patientName", app.getUseRecord().getPatientName()); + obj.put("operationRoom", app.getUseRecord().getOperationRoom()); + obj.put("hospitalNum", app.getUseRecord().getHospitalNum()); + obj.put("treatmentNum",app.getUseRecord().getTreatmentNum()); + obj.put("comfirmor", app.getPrepareRecycleComfirmor()); + obj.put("operator", app.getPrepareRecycleOperator()); + obj.put("items", tousseItemArray); + obj.put("serialNumber", app.getSerialNumber()); + obj.put("applicant", app.getApplicant()); + obj.put("depart", app.getDepart()); + } + return obj; + } } Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r15593 -r15638 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 15593) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 15638) @@ -598,7 +598,7 @@ } item.setPrice(price); item.setRowPrice(MathTools.mul(price, - prepareRecycleAmount, 2).doubleValue()); + prepareRecycleAmount).doubleValue()); item.setInvoicePlan(plan); plan.getApplicationItems().add(item); } else { @@ -686,7 +686,7 @@ } item.setPrice(price); item.setRowPrice(MathTools.mul(price, - prepareRecycleAmount, 2).doubleValue()); + prepareRecycleAmount).doubleValue()); item.setInvoicePlan(plan); plan.getApplicationItems().add(item); } else { @@ -892,89 +892,17 @@ * @return */ public String getWaitTransitionItems(JSONObject params){ + JSONObject obj = loadTousseTransition(params); + return obj.toString(); + } + + private JSONObject loadTousseTransition(JSONObject params) { JSONObject obj = new JSONObject(); - JSONArray tousseItemArray = new JSONArray(); - String comfirmor = ""; - String operator = ""; - String prepareRecycleDateTime = ""; if(params != null){ String id = params.optString("id"); - if(StringUtils.isNotBlank(id)){ - InvoicePlan p = invoicePlanManager.getInvoicePlanById(id); - if(p != null && p instanceof RecyclingApplication){ - RecyclingApplication app = (RecyclingApplication)p; - if(app.getUseRecord() == null){ - //必须是使用记录转换而来的 - } - for (TousseItem item : p.getApplicationItems()) { - String tousseType = item.getTousseType(); - if ("一次性物品".equals(tousseType) - || TousseDefinition.PACKAGE_TYPE_DRESSING - .equals(tousseType) - || TousseDefinition.PACKAGE_TYPE_FOREIGN - .equals(tousseType) - || (TousseDefinition.PACKAGE_TYPE_DISINFECTION - .equals(tousseType) && "否".equals(item - .getIsCleanedEntirely())) - || (item.getIsTerminated() != null && item - .getIsTerminated())) { - continue; - } - TousseDefinition td = null; - if(DatabaseUtil.isPoIdValid(item.getTousseDefinitionId())){ - td = tousseDefinitionManager.getTousseDefinitionById(item.getTousseDefinitionId()); - }else{ - td = tousseDefinitionManager.getTousseDefinitionByName(item.getTousseName()); - } - - if (td != null && td.recycling()) { - JSONObject jsonItem = new JSONObject(); - jsonItem.put("id", item.getId()); - String tousseName = item.getTousseName(); - jsonItem.put("tousseName", tousseName); - jsonItem.put("amount", item.getAmount()); - Integer prepareRecycleAmount = item.getPrepareRecycleAmount(); - if(prepareRecycleAmount == null){ - prepareRecycleAmount = item.getAmount(); - } - jsonItem.put("prepareRecycleAmount",prepareRecycleAmount); - jsonItem.put("tousseType", tousseType); - JSONArray barcodes = tousseTransitionItemManager.getJsonArray(item); - int scanedAmount = 0; - int unscanedAmount = 0; - if(item.getScanedAmount() == null || item.getScanedAmount().intValue() == 0){ - scanedAmount = barcodes.size(); - }else{ - scanedAmount = item.getScanedAmount().intValue(); - } - if(item.getUnscanedAmount() == null){ - unscanedAmount = 0; - } - jsonItem.put("scanedAmount", scanedAmount); - jsonItem.put("unscanedAmount", unscanedAmount); - jsonItem.put("tousseDefineId", item.getTousseDefinitionId()); - jsonItem.put("tousseBarcodes", barcodes); - tousseItemArray.add(jsonItem); - } - } - comfirmor = p.getPrepareRecycleComfirmor(); - operator = p.getPrepareRecycleOperator(); - if (p.getPrepareRecycleDateTime() != null) { - prepareRecycleDateTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.format(p - .getPrepareRecycleDateTime()); - } - obj.put("patientName", app.getUseRecord().getPatientName()); - obj.put("operationRoom", app.getUseRecord().getOperationRoom()); - obj.put("hospitalNum", app.getUseRecord().getHospitalNum()); - obj.put("treatmentNum",app.getUseRecord().getTreatmentNum()); - } - } + obj = tousseTransitionRecordManager.loadTousseTransition(id); } - obj.put("comfirmor", comfirmor); - obj.put("operator", operator); - obj.put("prepareRecycleDateTime", prepareRecycleDateTime); - obj.put("items", tousseItemArray); - return obj.toString(); + return obj; } /** * 获取待交接申请单 @@ -3168,7 +3096,7 @@ JSONUtil.addSuccess(json, true); JSONUtil.addProperty(json, "type", "User"); } - return json.toString(); + return json==null?JSONUtil.buildJsonObject(false).toString():json.toString(); } private JsonObject userToJson(User user){