Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r21783 -r21899 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 21783) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 21899) @@ -991,6 +991,8 @@ // 生成发货单明细 List tousseItems = new ArrayList(); recyclingApplication.setApplicationItems(tousseItems); + + BigDecimal disposableGoodsFluctuation = supplyRoomConfigManager.getDisposableGoodsFluctuationByOrgUnitCoding(recyclingApplication.getDepartCoding()); for(ReturnGoodsItem returnGoodsItem : returnGoodsRecord.getReturnGoodsItems()){ if (!"是".equals(returnGoodsItem.getIsDelivery())) continue; @@ -1017,7 +1019,11 @@ if(!DatabaseUtil.isPoIdValid(item.getDisposableGoodsId())){ throw new RuntimeException("申请项的一次性物品id不能为空!"); } + Double price = diposableGoodsManager.getRecentPrice(disposableGoods); item.setDisposableGoodsType(disposableGoods.getType()); + // 浮动系数 + item.setPrice(price); + item.setRowPrice(MathTools.mul(returnGoodsItem.getAmount(),price).doubleValue()); }else{ TousseDefinition td = returnGoodsItem.getTousseDefinition(); if(td != null){ @@ -1031,11 +1037,12 @@ }else{ tousseType = TousseDefinition.PACKAGE_TYPE_INSIDE; } + item.setPrice(returnGoodsItem.getFluctuationPrice()); + item.setRowPrice(MathTools.mul(returnGoodsItem.getAmount(), + returnGoodsItem.getPrice()).doubleValue()); } item.setTousseType(tousseType); - item.setPrice(returnGoodsItem.getFluctuationPrice()); - item.setRowPrice(MathTools.mul(returnGoodsItem.getAmount(), - returnGoodsItem.getPrice()).doubleValue()); + item.setInvoicePlan(recyclingApplication); } @@ -1073,6 +1080,7 @@ recyclingApplication.setSubmitTime(returnGoodsRecord.getReturnTime()); recyclingApplication.setHandleDepartCoding(AcegiHelper.getCurrentOrgUnitCode()); recyclingApplication.setHandleDepart(AcegiHelper.getCurrentOrgUnitName()); + recyclingApplication.setDisposablePriceFluctuation(disposableGoodsFluctuation); recyclingApplicationManager.saveOrUpdate(recyclingApplication); returnGoodsRecord.setRecyclingApplication(recyclingApplication); return true;