Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryItemManagerImpl.java =================================================================== diff -u -r22637 -r22855 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryItemManagerImpl.java (.../GodownEntryItemManagerImpl.java) (revision 22637) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryItemManagerImpl.java (.../GodownEntryItemManagerImpl.java) (revision 22855) @@ -215,6 +215,7 @@ newItem.setHasInvoice(source.getHasInvoice()); newItem.setBarcode(source.getBarcode()); newItem.setExpensiveDisposableGoodsId(source.getExpensiveDisposableGoodsId()); + newItem.setGrade(source.getGrade()); return newItem; } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r22172 -r22855 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 22172) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 22855) @@ -1493,7 +1493,7 @@ * @param disposableGoods 修改后的包定义 * @return */ - public String comparedisposableGoodsDefinition(DisposableGoods origineDG , DisposableGoods disposableGoods){ + private String comparedisposableGoodsDefinition(DisposableGoods origineDG , DisposableGoods disposableGoods){ StringBuffer modifyContent = new StringBuffer(""); if(!StringUtils.equals(origineDG.getName(), disposableGoods.getName())){ modifyContent.append("name属性修改前=").append(origineDG.getName()).append(",修改后=").append(disposableGoods.getName()).append(";"); Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.js =================================================================== diff -u -r21470 -r22855 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.js (.../godownEntryView.js) (revision 21470) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.js (.../godownEntryView.js) (revision 22855) @@ -1655,14 +1655,15 @@ hasInvoice : action.result.data.itemsList[i].hasInvoice, grade : action.result.data.itemsList[i].grade }); - top.Ext.getCmp('godownEntryItemGrid').getStore().add(godownEntryItem); } setTotalMoney(top.Ext.getCmp('godownEntryItemGrid')); // 保存原始数据,只需要保存需要修改的属性 setOriginalFormParams(form,['id','remark','time','warehouseName','warehouseID']); - var originalItems = buildJSONStringFromStore(top.Ext.getCmp('godownEntryItemGrid').getStore()); - //alert(originalItems); + var itemsJSONArray = buildJSONArrayFromStore(top.Ext.getCmp('godownEntryItemGrid').getStore()); + var originalItems = top.Ext4.JSON.encode(itemsJSONArray);//利用ext4把json对象转换成字符串防止日期不正确 +// var originalItems = buildJSONStringFromStore(top.Ext.getCmp('godownEntryItemGrid').getStore()); +// console.log(originalItems); top.Ext.getCmp("originalItems").setValue(originalItems); }, Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java =================================================================== diff -u -r22690 -r22855 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 22690) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 22855) @@ -1082,6 +1082,8 @@ // 入库单已被删除 throw new RuntimeException("入库单已被删除!"); } + //克隆入库单用于保存日志 + GodownEntry cloneEntry = clone(curGodownEntry); // 获取并锁定一次性物品相关资源 lockAndGetDiposableGoodsResources(GodownEntry.TYPE_IN,original.getWarehouseID(),original.getWarehouseName(),disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,disposableGoodsIDToDisposableGoodsStockMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, @@ -1371,6 +1373,8 @@ curGodownEntry.calculateTotalPrice(); // 更新入库单对象 saveOrUpdate(curGodownEntry); + //记录修改日志 + saveLogUpdateEntry(curGodownEntry,cloneEntry); // 设置GodownEntryItem详细列表 setReturnDetails(curGodownEntry,idToDisposableGoodsBatchMap, idToDisposableGoodsBatchStockMap,result); } @@ -2927,6 +2931,65 @@ appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_DISPOSABLEGOODS,Log.TYPE_ADD,operationDescription); } + //干预修改入库单保存日志 + private void saveLogUpdateEntry(GodownEntry entry,GodownEntry original){ + JSONObject operationDescription = new JSONObject(); + String originalEntryLong = getLogGodownEntry(original).toString(); + String entryAfterLong = getLogGodownEntry(entry).toString(); + operationDescription.put("干预入库单号:", entry.getSerialNumber()+"的入库单"); + operationDescription.put("干预前:",originalEntryLong); + operationDescription.put("干预后:",entryAfterLong); + //保存日志 + logger.debug(operationDescription); + appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_DISPOSABLEGOODS,Log.TYPE_UPDATE,operationDescription.toString()); + } + //日志记录入库单信息 + private JSONObject getLogGodownEntry(GodownEntry entry){ + if(entry == null){ + return null; + } + JSONObject godownEntryJsonObject = new JSONObject(); + JSONArray entoryItemJsonArry = new JSONArray(); + List godownEntryItemList = entry.getItemsList(); + //入库单 + JSONObject entryJson = new JSONObject(); + entryJson.put("仓库", entry.getWarehouseName()); + String timeStr = ""; + Date time = entry.getTime(); + if(time != null){ + timeStr = Constants.SIMPLEDATEFORMAT_YYYYMMDD.format(time); + } + entryJson.put("入库时间",timeStr); + //明细 + for (GodownEntryItem godownEntryItem : godownEntryItemList) { + JSONObject Item = new JSONObject(); + DisposableGoods disposableGoods = diposableGoodsManager.get(godownEntryItem.getDisposableGoodsID()); + if(disposableGoods!=null){ + Item.put("名称", disposableGoods.getName()); + Item.put("规格", disposableGoods.getSpecification()); + } + Item.put("数量", godownEntryItem.getAmount()); + Item.put("批次", godownEntryItem.getBatchNumber()); + Item.put("单价", godownEntryItem.getCost()); + String expDateStr = ""; + Date expDate = godownEntryItem.getExpDate(); + if(expDate != null){ + expDateStr = Constants.SIMPLEDATEFORMAT_YYYYMMDD.format(expDate); + } + Item.put("失效日期",expDateStr); + Item.put("供应商", godownEntryItem.getSupplierName()); + Item.put("灭菌批号", godownEntryItem.getSterileBatchNumber()); + Item.put("生产厂家", godownEntryItem.getManufacturer()); + Item.put("产地", godownEntryItem.getProducingArea()); + Item.put("注册证号", godownEntryItem.getCertification()); + Item.put("类别", godownEntryItem.getGrade()); + entoryItemJsonArry.add(Item); + } + godownEntryJsonObject.put("入库单信息", entryJson); + godownEntryJsonObject.put("入库单明细信息", entoryItemJsonArry); + return godownEntryJsonObject; + } + @Override public String printyGodownEntryDisposableGoodsBatch(List godownEntryIdsStrList){ if(CollectionUtils.isNotEmpty(godownEntryIdsStrList)){ Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.jsp =================================================================== diff -u -r20273 -r22855 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.jsp (.../godownEntryView.jsp) (revision 20273) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.jsp (.../godownEntryView.jsp) (revision 22855) @@ -8,6 +8,7 @@ String userName = AcegiHelper.getLoginUser().getUserFullName(); request.setAttribute("userName",userName); %> +<%@ include file="/common/includeExtJs4_2.jsp"%>