Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveDisposablegoods.java =================================================================== diff -u -r13901 -r13921 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveDisposablegoods.java (.../ExpensiveDisposablegoods.java) (revision 13901) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveDisposablegoods.java (.../ExpensiveDisposablegoods.java) (revision 13921) @@ -11,6 +11,7 @@ import javax.persistence.Transient; import com.forgon.directory.model.BarcodeDevice; +import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.tools.db.DatabaseUtil; /** @@ -227,6 +228,15 @@ public void setLocationForDisplay(String locationForDisplay) { this.locationForDisplay = locationForDisplay; } + + @Transient + public String getName(){ + String name = ""; + if(disposableGoodsBatchStock != null && disposableGoodsBatchStock.getDiposableGoods() != null){ + name = CssdUtils.getDiposableGoodsName(disposableGoodsBatchStock.getDiposableGoods()); + } + return name; + } @Transient public boolean isAssociatedInfoValidForInvoice() { Index: ssts-web/src/main/webapp/disinfectsystem/borrowRecord/borrowRecordView.js =================================================================== diff -u -r13904 -r13921 --- ssts-web/src/main/webapp/disinfectsystem/borrowRecord/borrowRecordView.js (.../borrowRecordView.js) (revision 13904) +++ ssts-web/src/main/webapp/disinfectsystem/borrowRecord/borrowRecordView.js (.../borrowRecordView.js) (revision 13921) @@ -144,8 +144,8 @@ id : 'borrowRecordItemTree', height : 335, rootVisible : false, - autoScroll : true, - containerScroll : true, + //autoScroll : true, + //containerScroll : true, columns : [ {header : '名称',width : 492,dataIndex : 'name'}, {header : '数量',width : 70,dataIndex : 'amount'}, @@ -427,6 +427,7 @@ layout : 'column', title : '借还明细', height : 270, + autoScroll:true, items : [{ columnWidth : 1, layout : 'fit', @@ -501,9 +502,11 @@ new Date(action.result.data.receivingTime.time), "Y-m-d H:i")); } - var items = action.result.data.items; - var lendItems = action.result.data.lendItems; - var returnedItems = action.result.data.returnedItems; + var items = action.result.data.items;console.log(action.result.data); + var lendTousseItems = action.result.data.lendItems; + var returnedTousseItems = action.result.data.returnedItems; + var lendExpensiveGoodsItems = action.result.data.lendExpensiveGoodsItems; + var returnedExpensiveGoodsItems = action.result.data.returnedExpensiveGoodsItems; top.Ext.getCmp('departName').setDisabled(true); if( $Id('departCoding').value == top.Ext.getCmp('rentalDepartCode').getValue()){ showTbar(); @@ -516,19 +519,33 @@ var tousseNode = createTousseAndInstanceNode(true,items[i].id,items[i].tousseName,items[i].amount,null); var rootNode = top.Ext.getCmp('borrowRecordItemTree').getRootNode(); rootNode.appendChild(tousseNode); - for(var j = 0 ;j < lendItems.length; j++){ - if(lendItems[j].tousseName == items[i].tousseName){ - var instanceNode = createTousseAndInstanceNode(false,'',lendItems[j].barcode,'借用',null); + for(var j = 0 ;j < lendTousseItems.length; j++){ + if(lendTousseItems[j].tousseName == items[i].tousseName){ + var instanceNode = createTousseAndInstanceNode(false,'',lendTousseItems[j].barcode,'借用',null); tousseNode.appendChild(instanceNode); } } - for(var k = 0 ;k < returnedItems.length; k++){ - if(returnedItems[k].tousseName == items[i].tousseName){ - var instanceNode = createTousseAndInstanceNode(false,'',returnedItems[k].barcode,'归还',null); + for(var j = 0 ;j < lendExpensiveGoodsItems.length; j++){ + if(lendExpensiveGoodsItems[j].name == items[i].tousseName){ + var instanceNode = createTousseAndInstanceNode(false,'',lendExpensiveGoodsItems[j].barcode,'借用',null); tousseNode.appendChild(instanceNode); } } + + for(var k = 0 ;k < returnedTousseItems.length; k++){ + if(returnedTousseItems[k].tousseName == items[i].tousseName){ + var instanceNode = createTousseAndInstanceNode(false,'',returnedTousseItems[k].barcode,'归还',null); + tousseNode.appendChild(instanceNode); + } + } + + for(var k = 0 ;k < returnedExpensiveGoodsItems.length; k++){ + if(returnedExpensiveGoodsItems[k].name == items[i].tousseName){ + var instanceNode = createTousseAndInstanceNode(false,'',returnedExpensiveGoodsItems[k].barcode,'归还',null); + tousseNode.appendChild(instanceNode); + } + } } }, failure : function(form, action) { Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/borrowrecord/BorrowRecord.java =================================================================== diff -u -r12331 -r13921 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/borrowrecord/BorrowRecord.java (.../BorrowRecord.java) (revision 12331) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/borrowrecord/BorrowRecord.java (.../BorrowRecord.java) (revision 13921) @@ -17,6 +17,7 @@ import org.hibernate.annotations.Cascade; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveDisposablegoods; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; @@ -57,6 +58,18 @@ @JsonIgnore private List returnedItems; + + /** + * 借出的高值耗材集合 + */ + @JsonIgnore + private List lendExpensiveGoodsItems; + + /** + * 还回的高值耗材集合 + */ + @JsonIgnore + private List returnedExpensiveGoodsItems; @Id @GeneratedValue(strategy = GenerationType.AUTO) @@ -180,4 +193,26 @@ this.returnedItems = returnedItems; } + @OneToMany + @JoinColumn(name = "lendBorrowRecord_id") + public List getLendExpensiveGoodsItems() { + return lendExpensiveGoodsItems; + } + + public void setLendExpensiveGoodsItems( + List lendExpensiveGoodsItems) { + this.lendExpensiveGoodsItems = lendExpensiveGoodsItems; + } + + @OneToMany + @JoinColumn(name = "returnBorrowRecord_id") + public List getReturnedExpensiveGoodsItems() { + return returnedExpensiveGoodsItems; + } + + public void setReturnedExpensiveGoodsItems( + List returnedExpensiveGoodsItems) { + this.returnedExpensiveGoodsItems = returnedExpensiveGoodsItems; + } + } Index: ssts-web/src/main/java/com/forgon/disinfectsystem/borrowrecord/service/BorrowRecordManagerImpl.java =================================================================== diff -u -r13904 -r13921 --- ssts-web/src/main/java/com/forgon/disinfectsystem/borrowrecord/service/BorrowRecordManagerImpl.java (.../BorrowRecordManagerImpl.java) (revision 13904) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/borrowrecord/service/BorrowRecordManagerImpl.java (.../BorrowRecordManagerImpl.java) (revision 13921) @@ -166,6 +166,10 @@ borrowRecord.setItems(tousseItems); borrowRecord.setLendItems(lendInstances); borrowRecord.setReturnedItems(returnInstances); + + borrowRecord.setLendExpensiveGoodsItems(lendExpensiveDisposablegoods); + borrowRecord.setReturnedExpensiveGoodsItems(returnExpensiveDisposablegoods); + String loginUserDepartCode = AcegiHelper.getLoginUser() .getCurrentOrgUnitCode(); if (borrowRecord.getId() != null Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r13861 -r13921 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 13861) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 13921) @@ -22,6 +22,7 @@ import com.forgon.Constants; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.model.OrgUnit; import com.forgon.disinfectsystem.basedatamanager.goodsstock.service.GoodsStockManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseInstanceUtils; @@ -443,6 +444,13 @@ throw new RuntimeException(String.format("高值耗材 %s 状态为 %s,不能退货!", diposableGoodsShowName,expensiveDisposablegoods.getStatus())); } expensiveDisposablegoods.setStatus(ExpensiveDisposablegoods.STATUS_IN_WAREHOUSE); + + //记录高值耗材位置(记录位置为发货的科室编码及名称) + Invoice invoice = invoiceManager.getInvoiceById(expensiveDisposablegoods.getInvoiceId()); + OrgUnit orgUnit = (OrgUnit)objectDao.getBySql(OrgUnit.class.getSimpleName(), "where orgUnitCoding='" + invoice.getOrgUnitCoding() + "'"); + expensiveDisposablegoods.setLocation(invoice.getOrgUnitCoding()); + expensiveDisposablegoods.setLocationForDisplay(orgUnit.getName()); + String batchNumber = returnGoodsItem.getBatchNumber(); DisposableGoodsStock disposableGoodsStock = idToDisposableGoodsStockMap.get(disposableGoodsBatchStockID);