Index: ssts-web/src/test/java/test/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManagerTests.java =================================================================== diff -u -r17849 -r17865 --- ssts-web/src/test/java/test/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManagerTests.java (.../TousseTransitionRecordManagerTests.java) (revision 17849) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManagerTests.java (.../TousseTransitionRecordManagerTests.java) (revision 17865) @@ -4,6 +4,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; + import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -20,6 +21,7 @@ import com.forgon.disinfectsystem.entity.toussetransition.TousseTransitionPlanItem; import com.forgon.disinfectsystem.entity.toussetransition.TousseTransitionRecord; import com.forgon.disinfectsystem.entity.useRecord.UseRecord; +import com.forgon.disinfectsystem.entity.useRecord.UseRecordToRecycleApplication; import com.forgon.disinfectsystem.toussetransition.service.TousseTransitionItemManager; import com.forgon.disinfectsystem.toussetransition.service.TousseTransitionRecordManager; import com.forgon.serialnumber.model.SerialNum; @@ -41,6 +43,10 @@ UseRecord ur = prepareUseRecord(); poToDelete.add(ur); RecyclingApplication ip = prepareInvoicePlan(); + UseRecordToRecycleApplication urtra = new UseRecordToRecycleApplication(); + urtra.setInvoicePlanId(ip.getId()); + urtra.setUseRecordId(ur.getId()); + objectDao.saveOrUpdate(urtra); ip.setUseRecord(ur); poToDelete.add(ip); TousseInstance ti = prepareTousseInstance(ur,poToDelete); @@ -60,31 +66,16 @@ TousseTransitionPlanItem pItem = tousseTransitionPlanItemManager.find(pItems, tis.get(0).getId()); //开胸包 - JSONObject item = new JSONObject(); - item.put("id", pItem.getId()); - item.put("prepareRecycleAmount", 2); - item.put("scanedAmount", 1); - item.put("unscanedAmount", 1); - item.put("urgentLevel", "加急"); + JSONObject item = buildPrepareItemParam(pItem,2,1,"加急"); itemArray.add(item); pItem = tousseTransitionPlanItemManager.find(pItems, tis.get(1).getId()); //开口包 - item = new JSONObject(); - item.put("id", pItem.getId()); - item.put("prepareRecycleAmount", 2); - item.put("scanedAmount", 0); - item.put("unscanedAmount", 2); - item.put("urgentLevel", "无"); + item = buildPrepareItemParam(pItem,2,0,"无"); itemArray.add(item); //添加一个 Test开颅包 TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName("Test开颅包"); - item = new JSONObject(); - item.put("td_id", td.getId()); - item.put("prepareRecycleAmount", 2); - item.put("scanedAmount", 0); - item.put("unscanedAmount", 2); - item.put("urgentLevel", "无"); + item = buildPrepareItemParam(td,2,0,"无"); itemArray.add(item); // item.put("", 1); @@ -187,6 +178,24 @@ // clean(poToDelete); } + private JSONObject buildPrepareItemParam(TousseTransitionPlanItem pItem,int prepareRecycleAmount,int scanedAmount,String urgentLevel) { + JSONObject item = new JSONObject(); + item.put("id", pItem.getId()); + item.put("prepareRecycleAmount", prepareRecycleAmount); + item.put("scanedAmount", scanedAmount); + item.put("unscanedAmount", prepareRecycleAmount - scanedAmount); + item.put("urgentLevel", urgentLevel); + return item; + } + private JSONObject buildPrepareItemParam(TousseDefinition td,int prepareRecycleAmount,int scanedAmount,String urgentLevel){ + JSONObject item = new JSONObject(); + item.put("td_id", td.getId()); + item.put("prepareRecycleAmount", 2); + item.put("scanedAmount", 0); + item.put("unscanedAmount", 2); + item.put("urgentLevel", "无"); + return item; + } private TousseInstance prepareTousseInstance(UseRecord ur,Set poToDelete){ TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName("Test开胸包"); TousseInstance ti = new TousseInstance(); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManagerImpl.java =================================================================== diff -u -r17862 -r17865 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManagerImpl.java (.../TousseTransitionRecordManagerImpl.java) (revision 17862) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/toussetransition/service/TousseTransitionRecordManagerImpl.java (.../TousseTransitionRecordManagerImpl.java) (revision 17865) @@ -149,6 +149,7 @@ JSONObject obj = array.getJSONObject(i); String id = obj.optString("id"); boolean newAdded = false; //在器械交接界面新添加的器械包 + boolean prepareAmountAdded = false; TousseTransitionPlanItem tousseTransitionPlanItem = null; TousseItem tousseItem = null; if(StringUtils.isNotBlank(id)){ @@ -184,6 +185,7 @@ } tousseItem.setPrepareRecycleAmount(MathTools.add( tousseItem.getPrepareRecycleAmount(), prepareRecycleAmount).intValue()); + prepareAmountAdded = true; String tousseName = td.getName(); if (td.isDisinfection()) { recyclingApplicationManager.addDisinfectTousseItem(plan, prepareRecycleAmount, @@ -217,9 +219,12 @@ JSONUtil.buildErrorMsgJsonResult("未找到对应的器械包"); } } - tousseItem.setPrepareRecycleAmount(prepareRecycleAmount); - tousseItem.setScanedAmount(scanedAmount); - tousseItem.setUnscanedAmount(unscanedAmount); + if(!prepareAmountAdded){ + tousseItem.setPrepareRecycleAmount(MathTools.add( + tousseItem.getPrepareRecycleAmount(), prepareRecycleAmount).intValue()); + } + tousseItem.setScanedAmount(MathTools.add(tousseItem.getScanedAmount(), scanedAmount).intValue()); + tousseItem.setUnscanedAmount(MathTools.add(tousseItem.getUnscanedAmount(), unscanedAmount).intValue()); tousseItem.setUrgentLevel(urgentLevel); tousseItemManager.saveOrUpdate(tousseItem); Index: ssts-web/src/test/java/test/forgon/disinfectsystem/toussetransition/service/TousseTransitionModelTestsBase.java =================================================================== diff -u -r17849 -r17865 --- ssts-web/src/test/java/test/forgon/disinfectsystem/toussetransition/service/TousseTransitionModelTestsBase.java (.../TousseTransitionModelTestsBase.java) (revision 17849) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/toussetransition/service/TousseTransitionModelTestsBase.java (.../TousseTransitionModelTestsBase.java) (revision 17865) @@ -40,6 +40,7 @@ ip.setDepartCoding(Constants.ORG_UNIT_CODE_WAIKE); ip.setHandleDepart(Constants.ORG_UNIT_NAME_CSSD); ip.setHandleDepartCoding(Constants.ORG_UNIT_CODE_CSSD); + invoicePlanManager.save(ip); return ip; }