Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r29023 -r29375 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 29023) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 29375) @@ -3351,12 +3351,12 @@ @SuppressWarnings("unchecked") @Override - public List getInvoicePlanByDisposableGoods(DisposableGoods diposableGoods, String deliverStatus) { + public List getInvoicePlanByDisposableGoods(DisposableGoods diposableGoods, List deliverStatus) { if(diposableGoods == null || !DatabaseUtil.isPoIdValid(diposableGoods.getId())){ return null; } String hql = String.format("select po from %s po inner join fetch po.applicationItems ti where ti.diposable = '%s' and ti.disposableGoodsId = %s " - + (StringUtils.isBlank(deliverStatus) ? "" : (" and po.deliverStatus = '" + deliverStatus + "' ")), + + (CollectionUtils.isEmpty(deliverStatus) ? "" : " and " + SqlUtils.getStringFieldInLargeCollectionsPredicate("po.deliverStatus", deliverStatus)), InvoicePlan.class.getSimpleName(), Constants.STR_YES, diposableGoods.getId()); List list = objectDao.findByHql(hql); if(CollectionUtils.isEmpty(list)){ Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r28970 -r29375 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 28970) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 29375) @@ -209,7 +209,10 @@ } //如果管理人员修改一次性物品定义的申领单位,保存前要检查是否还有申请单上有该物品未发货,如果有,则不允许修改(GDSZYY-15) if(diposableGoods != null && !StringUtils.equals(diposableGoods.getOrginalMiddlePackageUnit(), diposableGoods.getMiddlePackageUnit())){ - List invoicePlans = diposableGoodsManager.getInvoicePlanByDisposableGoods(diposableGoods, InvoicePlan.DELIVERSTATUS_AWAITDELIVER); + List deliverStatus = new ArrayList(); + deliverStatus.add(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); + deliverStatus.add(InvoicePlan.DELIVERSTATUS_PARTDELIVERED); + List invoicePlans = diposableGoodsManager.getInvoicePlanByDisposableGoods(diposableGoods, deliverStatus); if(CollectionUtils.isNotEmpty(invoicePlans)){ String message = "【不能修改申领单位,有如下申请单上还有该物品未完成发货,请发完货再修改!单号如下:"; List serialNumberList = new ArrayList(); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r28966 -r29375 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 28966) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 29375) @@ -353,5 +353,5 @@ * @param deliverStatus 发货状态 * @return */ - public List getInvoicePlanByDisposableGoods(DisposableGoods diposableGoods, String deliverStatus); + public List getInvoicePlanByDisposableGoods(DisposableGoods diposableGoods, List deliverStatus); }