Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r28087 -r28274 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 28087) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 28274) @@ -946,7 +946,7 @@ TousseDefinition tdOfTi = tousseInstanceList.get(0).getTousseDefinition(); TousseDefinition newTousseDefinition = tousseDefinitionManager.newDisinfectGoodsDefinitionWithoutInvoicePlanId(tousseDefinition, - tousseDefinitionManager.buildMaterialInstances(tdOfTi)); + tousseDefinitionManager.buildMaterialInstances(tdOfTi),false); newItem.setTousseDefinition(newTousseDefinition); newItem.setMaterialAmountAtThatTime(newTousseDefinition.getMaterialAmount()); } @@ -1010,9 +1010,9 @@ }else{ appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_DISPOSABLEGOODS_WRITEBACK, Log.TYPE_WRITE, "未配置物资回写bean:writeBackInventoryHelper"); } -// if(true){ -// throw new RuntimeException("速度测试!"); -// } + /*if(true){ + throw new RuntimeException("速度测试!"); + }*/ return buildSuccessMsgJsonResult(); } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java =================================================================== diff -u -r28273 -r28274 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 28273) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 28274) @@ -652,10 +652,16 @@ JSONArray materialItemsJson, Long invoicePlanId); /** - * 创建消毒物品定义,该定义invoicePlanId为null,用于自定义装配. + * 创建消毒物品定义,该定义invoicePlanId为null, + * 1.用于自定义装配. + * 2.用于退货重发. + * @param ancestorTD 祖先包定义 + * @param materialItemsJson 材料明细 + * @param needCheckExistsTd 是否检查存在相同的包定义(相同材料md5、且invoicePlanId也为空),自定义装配调用此方法时传true,退货调用时传false * @return */ - public TousseDefinition newDisinfectGoodsDefinitionWithoutInvoicePlanId(TousseDefinition ancestorTD,JSONArray materialItemsJson); + public TousseDefinition newDisinfectGoodsDefinitionWithoutInvoicePlanId(TousseDefinition ancestorTD, + JSONArray materialItemsJson,boolean needCheckExistsTd); /** * 根据包定义构造材料实例的json数组(排除数量小于等于0的材料) Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r28111 -r28274 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 28111) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 28274) @@ -6523,7 +6523,7 @@ private TousseDefinition buildDisinfectGoodsDefinition(TousseDefinition td) { JSONArray materialArry = tousseDefinitionManager.buildMaterialInstances(td); - return tousseDefinitionManager.newDisinfectGoodsDefinitionWithoutInvoicePlanId(td, materialArry); + return tousseDefinitionManager.newDisinfectGoodsDefinitionWithoutInvoicePlanId(td, materialArry,true); } /** Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r28273 -r28274 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 28273) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 28274) @@ -3005,7 +3005,8 @@ * @return */ @Override - public TousseDefinition newDisinfectGoodsDefinitionWithoutInvoicePlanId(TousseDefinition ancestorTD,JSONArray materialItemsJson){ + public TousseDefinition newDisinfectGoodsDefinitionWithoutInvoicePlanId(TousseDefinition ancestorTD, + JSONArray materialItemsJson,boolean needCheckExistsTd){ if(ancestorTD == null){ throw new RuntimeException("器械包定义不存在!"); } @@ -3014,7 +3015,10 @@ ancestorTD.getName(),ancestorTD.getMaterialsMD5(),ancestorTD.getId(), TousseDefinition.PACKAGE_TYPE_DISINFECTION, ancestorTD.getIsReview()); - TousseDefinition td = (TousseDefinition)objectDao.getBySql(TousseDefinition.class.getSimpleName(), sql); + TousseDefinition td = null; + if(needCheckExistsTd){ + td = (TousseDefinition)objectDao.getBySql(TousseDefinition.class.getSimpleName(), sql); + } if(td == null){ td = new TousseDefinition(); setTousseDefinitionProperty(ancestorTD, materialItemsJson, td);