Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r14576 -r14727 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 14576) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 14727) @@ -182,7 +182,7 @@ if(bd != null && bd instanceof ExpensiveDisposablegoods){ ExpensiveDisposablegoods edg = (ExpensiveDisposablegoods)bd; edg.setStatus(ExpensiveDisposablegoods.STATUS_USED); - edg.setUserecordId(useRecord.getId()); + edg.setUseRecord(useRecord); objectDao.saveOrUpdate(edg); } } @@ -431,7 +431,8 @@ BarcodeDevice bd = barcodeManager.getBarcodeByBarcode(ugi.getBarcode()); if(bd != null && bd instanceof ExpensiveDisposablegoods){ ExpensiveDisposablegoods ed = (ExpensiveDisposablegoods)bd; - if(ed.getUserecordId() != null && ed.getUserecordId().longValue() != modified.getId().intValue()){ + UseRecord useRecord = ed.getUseRecord(); + if(useRecord != null && useRecord.getId().longValue() != modified.getId().intValue()){ throw new RuntimeException(String.format("条码为[%s]的高值耗材已被使用,不能重复录入使用记录", ugi.getBarcode())); } modifiedExpensiveDisposablegoodsBarcode.add(bd.getBarcode()); @@ -460,7 +461,7 @@ BarcodeDevice bd = barcodeManager.getBarcodeByBarcode(barcode); if(bd != null && bd instanceof ExpensiveDisposablegoods){ ExpensiveDisposablegoods ed = (ExpensiveDisposablegoods)bd; - ed.setUserecordId(modified.getId()); + ed.setUseRecord(curUseRecord); ed.setStatus(ExpensiveDisposablegoods.STATUS_USED); objectDao.saveOrUpdate(ed); } @@ -472,7 +473,7 @@ BarcodeDevice bd = barcodeManager.getBarcodeByBarcode(barcode); if(bd != null && bd instanceof ExpensiveDisposablegoods){ ExpensiveDisposablegoods ed = (ExpensiveDisposablegoods)bd; - ed.setUserecordId(null); + ed.setUseRecord(null); ed.setStatus(ExpensiveDisposablegoods.STATUS_DELIVERED); objectDao.saveOrUpdate(ed); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveDisposablegoods.java =================================================================== diff -u -r13947 -r14727 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveDisposablegoods.java (.../ExpensiveDisposablegoods.java) (revision 13947) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/ExpensiveDisposablegoods.java (.../ExpensiveDisposablegoods.java) (revision 14727) @@ -6,13 +6,15 @@ import java.util.Date; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Transient; import com.forgon.Constants; import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.common.CssdUtils; +import com.forgon.disinfectsystem.entity.useRecord.UseRecord; import com.forgon.tools.db.DatabaseUtil; /** @@ -31,7 +33,7 @@ private String identification; // 标识号 private Date entryDate; // 入库时间 - + private Date printTime; // 打印时间 private Double price; // 价格 @@ -49,17 +51,19 @@ private Long invoiceItemId;// 明细汇总的Id private Long invoiceId;// 发货单Id - + private Long receiveRecordItemId;// 领用记录item的ID private Long receiveRecordId;// 领用记录的ID - - private Long godownEntryId;// - private Long godownEntryItemId;// - - private Long userecordId;//使用记录id - + + private Long godownEntryId;// + private Long godownEntryItemId;// + + // private Long userecordId;//使用记录id + + private UseRecord useRecord; + private String status = STATUS_IN_WAREHOUSE; - + private String location; // 位置(组织机构code) private String locationForDisplay; // 位置(组织机构名称) @@ -85,14 +89,15 @@ this.entryDate = entryDate; } - @Transient // 用于页面显示 + @Transient + // 用于页面显示 public String getPrintTimeStr() { - if(printTime == null){ + if (printTime == null) { return ""; } return Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(printTime); } - + public Date getPrintTime() { return printTime; } @@ -216,22 +221,32 @@ this.godownEntryItemId = godownEntryItemId; } - public Long getUserecordId() { - return userecordId; - } + // public Long getUserecordId() { + // return userecordId; + // } + // + // public void setUserecordId(Long userecordId) { + // this.userecordId = userecordId; + // } - public void setUserecordId(Long userecordId) { - this.userecordId = userecordId; - } - public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } - + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "userecordId") + public UseRecord getUseRecord() { + return useRecord; + } + + public void setUseRecord(UseRecord useRecord) { + this.useRecord = useRecord; + } + public String getLocation() { return location; } @@ -247,12 +262,14 @@ public void setLocationForDisplay(String locationForDisplay) { this.locationForDisplay = locationForDisplay; } - + @Transient - public String getName(){ + public String getName() { String name = ""; - if(disposableGoodsBatchStock != null && disposableGoodsBatchStock.getDiposableGoods() != null){ - name = CssdUtils.getDiposableGoodsName(disposableGoodsBatchStock.getDiposableGoods()); + if (disposableGoodsBatchStock != null + && disposableGoodsBatchStock.getDiposableGoods() != null) { + name = CssdUtils.getDiposableGoodsName(disposableGoodsBatchStock + .getDiposableGoods()); } return name; } @@ -267,6 +284,7 @@ } return true; } + @Transient public boolean isAssociatedInfoValidForReceive() { if (!DatabaseUtil.isPoIdValid(receiveRecordId)) { @@ -288,13 +306,14 @@ } return true; } + public boolean inWarehouse() { if (STATUS_IN_WAREHOUSE.equals(status)) { return true; } return false; } - + public boolean outWarehouse() { if (STATUS_OUT_WAREHOUSE.equals(status)) { return true; Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/expensiveDisposableGoodsUseRecordView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/expensiveDisposableGoodsUseRecordView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/expensiveDisposableGoodsUseRecordView.js (revision 14727) @@ -0,0 +1,64 @@ +var grid; + + +Ext.onReady(function() { + var columns = new Array(); + columns.push( + {header : "科室",width : 300,dataIndex : 'useRecord.depart'}, + {header : "物品名称",width : 350,dataIndex : 'disposableGoodsBatchStock.diposableGoods.showName'}, + {header : "条码",width : 70,dataIndex : 'barcode'}, + {header : "状态",width : 80,dataIndex : 'status'}, + {header : "使用时间",width : 125,dataIndex : 'useRecord.enteringDate',renderer : myDateFormatBySecond}, + {header : "住院号",width : 100,dataIndex : 'useRecord.hospitalNum'} + ); + + var readerDetail = [ + {name : 'id'}, + {name : 'useRecord.depart'}, + {name : 'disposableGoodsBatchStock.diposableGoods.showName'}, + {name : 'barcode'}, + {name : 'status'}, + {name : 'useRecord.enteringDate'}, + {name : 'useRecord.hospitalNum'} + ]; + + var filters = new Ext.grid.GridFilters({ + filters : [ +// {type : 'string',dataIndex : 'disposableGoodsBatchStock.diposableGoods.showName'}, + {type : 'string',dataIndex : 'useRecord.depart'}, + {type : 'string',dataIndex : 'barcode'}, +// {type : 'string',dataIndex : 'status'}, + {type : 'date',dataIndex : 'useRecord.enteringDate'}, + {type : 'string',dataIndex : 'useRecord.hospitalNum'} + ] + }); + + grid = new Ext.ux.ForgonPageGrid({ + id : 'tousseInstanceGrid', + pageSize : 20, + renderTo : 'gridDiv', + defaultSortField : 'useRecord.enteringDate', + defaultSortDirection : 'DESC', + isCheckboxSelectionModel : true, + rememberSelected : false, + isShowSearchField : false, + columns : columns, + plugins : filters, + frame : false, + border : false + }, + readerDetail, + DiposableGoodsTableManager.findExpensiveDisposableGoodsUseRecordList, + null + ); + + new Ext.Viewport({ + layout : 'border', + items : [ { + region : 'center', + margins : '0 0 0 0', + layout : 'fit', + items : grid + }] + }); +}); Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/expensiveDisposableGoodsUseRecordView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/expensiveDisposableGoodsUseRecordView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/expensiveDisposableGoodsUseRecordView.jsp (revision 14727) @@ -0,0 +1,61 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@page import="com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods,com.forgon.Constants"%> + + +
+ ++ + | +