Index: ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/action/ExpensiveGoodsAction.java =================================================================== diff -u -r22540 -r23627 --- ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/action/ExpensiveGoodsAction.java (.../ExpensiveGoodsAction.java) (revision 22540) +++ ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/action/ExpensiveGoodsAction.java (.../ExpensiveGoodsAction.java) (revision 23627) @@ -802,11 +802,12 @@ List expensiveGoodsModelList = expensiveGoodsManager .getExpensiveGoodsModel(expensiveGoodsID,spelling); if (CollectionUtils.isNotEmpty(expensiveGoodsModelList)) { - for (ExpensiveGoodsModel expensiveGoodsBatch : expensiveGoodsModelList) { - JSONObject expensiveGoodsBatchJson = new JSONObject(); - expensiveGoodsBatchJson.put("id", expensiveGoodsBatch.getId()); - expensiveGoodsBatchJson.put("model", expensiveGoodsBatch.getModel()); - data.add(expensiveGoodsBatchJson); + for (ExpensiveGoodsModel expensiveGoodsModel : expensiveGoodsModelList) { + JSONObject expensiveGoodsModelJson = new JSONObject(); + expensiveGoodsModelJson.put("id", expensiveGoodsModel.getId()); + expensiveGoodsModelJson.put("model", expensiveGoodsModel.getModel()); + expensiveGoodsModelJson.put("modelReferencePrice", expensiveGoodsModel.getReferencePrice());//参考价格 + data.add(expensiveGoodsModelJson); } } PageUtil.outPutResult(PageUtil.getPagePara(), data); Index: ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsGodownEntryManagerImpl.java =================================================================== diff -u -r23581 -r23627 --- ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsGodownEntryManagerImpl.java (.../ExpensiveGoodsGodownEntryManagerImpl.java) (revision 23581) +++ ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/service/ExpensiveGoodsGodownEntryManagerImpl.java (.../ExpensiveGoodsGodownEntryManagerImpl.java) (revision 23627) @@ -828,6 +828,8 @@ newExpensiveGoodsBatch(expensiveGoodsGodownEntryItem); } //处理型号定义 + //是否有选型号 + boolean idNullModel = false; ExpensiveGoodsModel expensiveGoodsModel = new ExpensiveGoodsModel(); if(StringUtils.isNotBlank(model)){ // 按型号,高值耗材id查找型号定义 @@ -840,6 +842,7 @@ }else{ //按高值耗材id查找默认的型号定义 expensiveGoodsModel = expensiveGoodsManager.getDefaultExpensiveGoodsModel(expensiveGoodsId); + idNullModel = true; if(expensiveGoodsModel == null){ throw new RuntimeException("未找expensiveGoodsId为:"+expensiveGoodsId+"的默认型号对象"); } @@ -851,9 +854,15 @@ expensiveGoodsModelStock = newExpensiveGoodsModelStock(expensiveGoods, expensiveGoodsStock, expensiveGoodsModel, warehouseID, warehouseName, expensiveGoodsGodownEntryItem); idToExpensiveGoodsModelStockMap.put(expensiveGoodsModelStock.getId(), expensiveGoodsModelStock); } - // 更新一次性物品定义 - expensiveGoods.setReferencePrice(expensiveGoodsGodownEntryItem.getCost()); - expensiveGoodsStock.setReferencePrice(expensiveGoodsGodownEntryItem.getCost()); + // 调整型号参考价格 + expensiveGoodsModel.setReferencePrice(expensiveGoodsGodownEntryItem.getCost()); + //若型号为默认型号 + if(idNullModel){ + // 调整物品定义参考价格 + expensiveGoods.setReferencePrice(expensiveGoodsGodownEntryItem.getCost()); + // 调整库存参考价格 + expensiveGoodsStock.setReferencePrice(expensiveGoodsGodownEntryItem.getCost()); + } //调整库存 if(StringUtils.equals(expensiveGoodsGodownEntry.getType(), ExpensiveGoodsGodownEntry.TYPE_IN)){ expensiveGoodsModelStock.adjustAmount(1); @@ -864,9 +873,10 @@ } objectDao.saveOrUpdate(expensiveGoods); objectDao.saveOrUpdate(expensiveGoodsStock); + objectDao.saveOrUpdate(expensiveGoodsModel); objectDao.saveOrUpdate(expensiveGoodsModelStock); - // 高值耗材的处理 + // 高值耗材实例的处理 newExpensiveGoodsInstance(expensiveGoodsStock, expensiveGoodsGodownEntry, expensiveGoodsGodownEntryItem,expensiveGoodsModel,expensiveGoodsModelStock,invoicePlan); } @@ -882,7 +892,7 @@ expensiveGoodsInstance.setExpensiveGoods(expensiveGoodsStock.getExpensiveGoods()); expensiveGoodsInstance.setExpensiveGoodsStockId(expensiveGoodsStock.getId()); expensiveGoodsInstance.setEntryDate(entryDate); - expensiveGoodsInstance.setPrice(expensiveGoodsStock.getReferencePrice()); + expensiveGoodsInstance.setPrice(expensiveGoodsGodownEntryItem.getCost());//价格 expensiveGoodsInstance.setWarehouseID(expensiveGoodsStock.getWarehouseID()); expensiveGoodsInstance.setWarehouseName(expensiveGoodsStock.getWarehouseName()); expensiveGoodsInstance.setGodownEntryId(expensiveGoodsGodownEntryItem.getExpensiveGoodsGodownEntry().getId()); Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownEntryForm.js =================================================================== diff -u -r23441 -r23627 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownEntryForm.js (.../expensiveGoodsGodownEntryForm.js) (revision 23441) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownEntryForm.js (.../expensiveGoodsGodownEntryForm.js) (revision 23627) @@ -675,6 +675,7 @@ anchor : '95%', listeners : { select : function(combo, record, index) { + top.Ext.getCmp('cost1').setValue(record.data.modelReferencePrice); top.Ext.getCmp('model1').setValue(record.data.model); }, specialkey : function(field, e) { Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownEntryView.js =================================================================== diff -u -r23460 -r23627 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownEntryView.js (.../expensiveGoodsGodownEntryView.js) (revision 23460) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownEntryView.js (.../expensiveGoodsGodownEntryView.js) (revision 23627) @@ -188,7 +188,8 @@ root : 'data' }, [ {name : 'id',mapping : 'id'}, - {name : 'model',mapping : 'model'} + {name : 'model',mapping : 'model'}, + {name : 'modelReferencePrice',mapping : 'modelReferencePrice'} ]), listeners: { beforeload: function(s,options){ Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationForm.js =================================================================== diff -u -r23470 -r23627 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationForm.js (.../expensiveGoodsApplicationForm.js) (revision 23470) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationForm.js (.../expensiveGoodsApplicationForm.js) (revision 23627) @@ -1,5 +1,7 @@ //高值耗材的store var expensiveGoodsStore = null; +//高值耗材型号的store +var expensiveGoodsModelStore = null; //高值耗材申请项top.Ext4.tree.Panel的数据仓库 var treePanelStore = null; var selectedExpensiveGoods = null; //已经选择的高值耗材 @@ -150,11 +152,12 @@ /** * 型号的store */ - var expensiveGoodsModelStore = new top.Ext4.data.Store({ + expensiveGoodsModelStore = new top.Ext4.data.Store({ pageSize: 100, fields: [ {name : 'id'}, //型号的id - {name : 'model'} //型号名称 + {name : 'model'}, //型号名称 + {name : 'modelReferencePrice'} //型号参考价 ], proxy : { type : 'ajax', @@ -172,8 +175,9 @@ if (rawValue && value) { store.proxy.extraParams.expensiveGoodsID = value; } else { - showResult('请先选择物品!'); - return false; + store.proxy.extraParams.expensiveGoodsID = ''; +// showResult('请先选择物品!'); +// return false; } } } @@ -951,6 +955,7 @@ var expensiveGoodsSupplier = top.Ext4.getCmp('expensiveGoodsSupplier').getRawValue(); var expensiveGoodsModelId = top.Ext4.getCmp('expensiveGoodsModel').getValue(); //型号id var expensiveGoodsModelName = top.Ext4.getCmp('expensiveGoodsModel').getRawValue(); //型号名称 + var selectRecordModel = expensiveGoodsModelStore.findRecord('id',expensiveGoodsModelId); var selectRecord = expensiveGoodsStore.findRecord('id', id); //1、先校验物品和数量 @@ -983,6 +988,13 @@ if (findNode) { findNode.set('amount', amount); } else { + //参考价:若有型号参考价就用型号参考价 + var referencePrice = selectRecord.get('referencePrice'); + if(!isUndefinedOrNullOrEmpty(selectRecordModel)){ + if(!isUndefinedOrNullOrEmpty(selectRecordModel.get('modelReferencePrice'))){ + referencePrice = selectRecordModel.get('modelReferencePrice'); + } + } var node = top.Ext4.create('ExpensiveGoodsModel', { nodeId: nodeId, id : 0, @@ -994,7 +1006,7 @@ supplierName : expensiveGoodsSupplier, expensiveGoodsModelId: expensiveGoodsModelId, expensiveGoodsModelName: expensiveGoodsModelName, - referencePrice : selectRecord.get('referencePrice') + referencePrice : referencePrice }); treePanelStore.getRootNode().appendChild(node); } @@ -1005,6 +1017,8 @@ //解决添加完上一个物品后,接下来选物品时还是之前的那些选项的问题。现已改为添加上一个物品,再去选物品时下拉选项为所有物品 expensiveGoodsStore.proxy.extraParams.supplierId = ''; expensiveGoodsStore.load(); + expensiveGoodsModelStore.proxy.extraParams.expensiveGoodsID = ''; + expensiveGoodsModelStore.load(); selectedExpensiveGoods = null; } }