Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r13535 -r13537 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 13535) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 13537) @@ -72,6 +72,7 @@ import com.forgon.disinfectsystem.entity.stocktakerecordmanager.StockDiposableGoods; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.vo.PriceAmount; +import com.forgon.log.service.LogManager; import com.forgon.security.tools.Util; import com.forgon.serialnumber.model.SerialNum; import com.forgon.serialnumber.service.SerialNumManager; @@ -111,10 +112,16 @@ private WareHouseManager wareHouseManager; + private LogManager appLogManager; + public void setWareHouseManager(WareHouseManager wareHouseManager) { this.wareHouseManager = wareHouseManager; } + public void setAppLogManager(LogManager appLogManager) { + this.appLogManager = appLogManager; + } + public void setAttachFileManager(AttachFileManager attachFileManager) { this.attachFileManager = attachFileManager; } @@ -2003,7 +2010,6 @@ changeGoodsToExpensiveDiposablegoods_internal(disposableGoods); } private void changeGoodsToExpensiveDiposablegoods_internal(DisposableGoods disposableGoods) { - if (disposableGoods.expensiveDiposablegoods()) { // 已经是高值耗材,那么直接返回 return; @@ -2048,6 +2054,13 @@ objectDao.executeUpdate(String.format( " delete from %s where disposableGoodsID=%s ", DisposableGoodsIdentification.class.getSimpleName(), disposableGoods.getId())); + + // 记录日志 + JSONObject jobj = new JSONObject(); + jobj.put("method", "changeGoodsToExpensiveDiposablegoods"); + jobj.put("disposableGoodsName", disposableGoods.getShowName()); + jobj.put("disposableGoodsId", disposableGoods.getId()); + appLogManager.saveLog(AcegiHelper.getLoginUser(), "一次性物品", "普通物品转高值耗材", jobj.toString()); } public void saveOrUpdate(ExpensiveDisposablegoods expensiveDiposablegoods){ @@ -2130,6 +2143,13 @@ // 删除高值耗材,仅删除未发货,未领用的? objectDao.executeUpdate(String.format(" delete from %s where disposableGoodsID=%s and invoiceId is null ", ExpensiveDisposablegoods.class.getSimpleName(),disposableGoods.getId())); + + // 记录日志 + JSONObject jobj = new JSONObject(); + jobj.put("method", "changeExpensiveDiposablegoodsToGoods"); + jobj.put("disposableGoodsName", disposableGoods.getShowName()); + jobj.put("disposableGoodsId", disposableGoods.getId()); + appLogManager.saveLog(AcegiHelper.getLoginUser(), "一次性物品", "高值耗材转普通物品", jobj.toString()); } public List newExpensivediposablegoods( Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java =================================================================== diff -u -r13528 -r13537 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 13528) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 13537) @@ -924,9 +924,12 @@ if(disposableGoodsBatchStock == null){ throw new RuntimeException("物品批次库存不存在!"); } - if(identification == null){ - throw new RuntimeException("标识号已被删除!"); + if(!disposableGoods.expensiveDiposablegoods()){ + if(identification == null){ + throw new RuntimeException("标识号已被删除!"); + } } + boolean updateBatchStock = false; boolean updateDiposableGoods = false; // 修改普通属性 @@ -981,7 +984,13 @@ throw new RuntimeException("库存已被修改!"); } Long amountChange = amount - originalAmount; - identification.adjustAmount(amountChange); + if(disposableGoods.expensiveDiposablegoods()){ +// diposableGoodsManager.newExpensivediposablegoods(disposableGoodsBatchStock, amountChange, godownEntryItem.getConclusion(), entry.getTime(), godownEntryItem.getIdentification()); + throw new RuntimeException("暂不支持修改高值耗材库存!"); + }else{ + identification.adjustAmount(amountChange); + } + curGodownEntryItem.setAmount(amount); updateBatchStock = true; updateDiposableGoods = true; @@ -992,13 +1001,18 @@ Double curPrice = curGodownEntryItem.getCost(); if(!originalPrice.equals(price)){ if(!price.equals(curPrice)){// 这个判断是有必要的,有可能价格已经被并发修改过了。所以就不需要再修改。 - identification.setPrice(price); disposableGoodsBatchStock.setCost(price); disposableGoodsBatch.setCost(price); disposableGoods.setReferencePrice(price); curGodownEntryItem.setCost(price); - // 同步修改发货和退货记录 - synchronizePriceFromIdentificationToInvoiceAndReturnRecord(identification,originalPrice,price); + + if(disposableGoods.expensiveDiposablegoods()){ + throw new RuntimeException("暂不支持修改高值耗材价格!"); + }else{ + identification.setPrice(price); + // 同步修改发货和退货记录 + synchronizePriceFromIdentificationToInvoiceAndReturnRecord(identification,originalPrice,price); + } updateBatchStock = true; } }