Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java =================================================================== diff -u -r21050 -r21151 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 21050) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 21151) @@ -556,7 +556,7 @@ */ JSONObject handleUrgentAmountAndAmount(TousseItemVo tousseItemVo); /** - * 验证供应室是否有配置处理某个名称的器械包. + * 验证供应室是否有配置处理某个名称的器械包,没有则抛运行时异常. * @param cssdOrgUnitCode 供应室编码 * @param cssdOrgUnitName 供应室名称 * @param tousseType 器械包类型 Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r21125 -r21151 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 21125) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 21151) @@ -3096,6 +3096,12 @@ if (!this.isNeedToResetAmountAndUnit(tousseItem, newItemVo)){ tousseItem.setEditAmount(newItemVo.getAmount()); } + + //修改后的数量不能小于已经发货的数量 + if (tousseItem.getEditAmount() < tousseItem.getSendOutAmount()) { + throw new RuntimeException("修改后的数量不能小于已经发货的数量!"); + } + tousseItem.setPrice(newItemVo.getPrice()); tousseItem.setRowPrice(newItemVo.getRowPrice()); //region 东莞东华医院要求 @@ -3178,7 +3184,7 @@ * 判断是否需要重新设置数量和单位. * @param tousseItem {@link TousseItem} * @param newItemVo {@link TousseItemVo} - * @return 如果是true则不用重新设置editAmount,false就要重新设置editAmount + * @return 如果是true则不用重新设置editAmount(因为此物品启用中包装规格的,editAmount已经被设置成最小单位的数量了),false就要重新设置editAmount */ private boolean isNeedToResetAmountAndUnit(TousseItem tousseItem,TousseItemVo newItemVo){ Integer unitCount = newItemVo.getUnitCount(); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/tousseitem/TousseItem.java =================================================================== diff -u -r21088 -r21151 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/tousseitem/TousseItem.java (.../TousseItem.java) (revision 21088) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/tousseitem/TousseItem.java (.../TousseItem.java) (revision 21151) @@ -108,6 +108,9 @@ */ private Integer sendOutAmount = 0; + /** + * 单位 + */ private String unit = ""; /**