Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsInstanceView.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsInstanceView.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsInstanceView.js (revision 20862)
@@ -0,0 +1,555 @@
+var entityName = "高值耗材";
+var grid;
+var root;
+var formObj;
+var formWindow;
+var autoFillExternalCodeOfDisposableGoods = false;
+var SUPPLIER_TYPE_SUPPLIER = '高值耗材供应商';
+function addExpensiveGoods(id) {}
+
+var diposableGoodsBatchNumStore = null;
+var BatchRecord = null;
+var selCertification = null;
+function onSelCertification(){
+ if(selCertification == null){
+ return;
+ }
+ top.Ext.getCmp('certificationId').setValue(selCertification.id);
+ top.Ext.getCmp('registrationCertification').setValue(selCertification.certification);
+}
+function setBatchNumbers(batches,fireSelect) {
+ for(var i = 0;i 0){
+ top.Ext.Msg.show({
+ title: '输入框',
+ msg: '打印数量:',
+ width: 100,
+ buttons: Ext.MessageBox.OKCANCEL,
+ prompt : true,
+ fn: function(bu, txt) {
+ if(bu == 'ok'){
+ if(isNaN(txt) == false){
+ var godownEntryItem = barcodeStr.split(";");
+ var specification = top.Ext.getCmp('specification').getValue();
+ for(var j = 0 ; j< Number(txt) ; j++){
+ for ( var i = 0; i < godownEntryItem.length; i++) {
+ var resultItem = godownEntryItem[i].split("#&");
+ var name =resultItem[0];
+ var barcode = resultItem[1];
+ var expDate = resultItem[2];
+ var supplierName = resultItem[3];
+ var batchNumber = resultItem[4];
+ printExpensiveGoodsInfo(barcode,name,expDate,supplierName,batchNumber,0,specification);
+ }
+ }
+ }else{
+ showResult("打印数量必须是数字,请重新输入!");
+ }
+ }
+ },
+ animEl: 'addAddressBtn',
+ value:'1'
+ });
+ }
+}
+
+function submitForSaveDisposableGoods(){
+ formObj.form.submit( {
+ url : WWWROOT + '/disinfectSystem/expensiveGoodsAction!saveExpensiveGoods.do',
+ method : 'POST',
+ waitMsg : '正在保存数据,请稍候',
+ waitTitle : '提交表单',
+ success : function(form, action) {
+ var result = Ext.decode(action.response.responseText);
+ if(isUndefinedOrNullOrEmpty(result.errorMessage)){
+ showResult('保存成功');
+ formWindow.close();
+ grid.dwrReload();
+ }else{
+ showResult('保存出错, ' + result.errorMessage);
+ top.Ext.getCmp('saveBtn').enable();
+ }
+ },
+ failure : function(form, action) {
+ showResult('保存出错');
+ top.Ext.getCmp('saveBtn').enable();
+ }
+ });
+}
+function validateAndSubmit(){
+// var originalGoodsType = top.Ext.getCmp("originalGoodsType").getValue();
+// var goodsType = top.Ext.getCmp("goodsType").getValue();
+ var orginalName = top.Ext.getCmp("orginalName").getValue();
+ var orginalSpecification = top.Ext.getCmp("orginalSpecification").getValue();
+ var name = top.Ext.getCmp("name").getValue();
+ var specification = top.Ext.getCmp("specification").getValue();
+ var msg = '';
+ var id = top.Ext.getCmp('id').getValue();
+
+ if(id != null && id != ''){
+ if(!stringLooksEquals(orginalName,name) && (!stringLooksEquals(orginalSpecification,specification))){
+ msg = "是否确定修改名称和规格?"
+ }else if(!stringLooksEquals(orginalName,name)){
+ msg = "是否确定修改高值耗材名称?"
+ }else if(!stringLooksEquals(orginalSpecification,specification)){
+ msg = "是否确定修改高值耗材规格?"
+ }
+ }
+
+// if(!stringLooksEquals(originalGoodsType,goodsType)){
+// msg += "是否确定更改物品类型?"
+// }
+ if(msg == ''){
+ submitForSaveDisposableGoods();
+ return;
+ }
+ top.Ext.MessageBox.confirm("请确认",msg,
+ function(button, text) {
+ if ("yes" == button){
+ submitForSaveDisposableGoods();
+ }else{
+ top.Ext.getCmp('saveBtn').enable();
+ }
+ });
+}
+
+function save(){
+ //if(!form.getForm().isValid()){
+ if(!formObj.getForm().isValid()){
+ showResult('请正确填写表单各值');
+ return false;
+ }
+ var max = top.Ext.getCmp('maxStorage').getValue();
+ var min = top.Ext.getCmp('minStorage').getValue();
+ var minApply = top.Ext.getCmp('minApplyAmount').getValue();
+ var maxApply = top.Ext.getCmp('maxApplyAmount').getValue();
+ if(typeof max == 'number' && typeof min == 'number'){
+ if(min>max){
+ showResult('最小库存不能大于最大库存');
+ top.Ext.getCmp('minStorage').focus();
+ return false;
+ }
+ if(minApply > maxApply){
+ showResult('最小申请数不能大于最大申请数');
+ top.Ext.getCmp('minApplyAmount').focus();
+ return false;
+ }
+ }
+
+ this.disable();
+ validateAndSubmit();
+}
+
+function printBatchNum(barcodeStr){
+ if(barcodeStr!=null && barcodeStr.length > 0){
+ Ext.Msg.show({
+ title: '输入框',
+ msg: '打印数量:',
+ width: 100,
+ buttons: Ext.MessageBox.OKCANCEL,
+ prompt : true,
+ fn: function(bu, txt) {
+ if(bu == 'ok'){
+ if(isNaN(txt) == false){
+ var godownEntryItem = barcodeStr.split(";");
+ for(var j = 0 ; j< Number(txt) ; j++){
+ for ( var i = 0; i < godownEntryItem.length; i++) {
+ var resultItem = godownEntryItem[i].split("#&");
+ var name =resultItem[0];
+ var barcode = resultItem[1];
+ var expDate = resultItem[2];
+ var supplierName = resultItem[3];
+ var batchNumber = resultItem[4];
+ var specification = resultItem[5];
+ printExpensiveGoodsInfo(barcode,name,expDate,supplierName,batchNumber,0,specification);
+ }
+ }
+ }else{
+ showResult("打印数量必须是数字,请重新输入!");
+ }
+ }
+ },
+ animEl: 'addAddressBtn',
+ value:'1'
+ });
+ }
+}
+function onStorageRecordDetail(grid){
+ var records = grid.getSelectionModel().getSelections();
+ if(records.length == 0){
+ showResult("请选择高值耗材");
+ return;
+ }
+ if(records.length != 1){
+ showResult("只能选择一个高值耗材");
+ return;
+ }
+
+ var storageRecord = new StorageRecord();
+ storageRecord.setDisposableGoodsId(records[0].data['id']);
+ storageRecord.showDetail();
+}
+
+function printExpensiveDisposableGoodsBarcode(grid){
+ var records = grid.getSelectionModel().getSelections();
+ if(records.length == 0){
+ showResult("请选择要打印的物品");
+ }else{
+ var ids = "";
+ for(var i = 0,len=records.length;i 1) {
+ showResult("一次只能修改一个高值耗材!");
+ return false;
+ }
+ id = records[0].data['id'];
+ addExpensiveGoods(id);
+ top.Ext.getCmp('expensiveGoodsForm').form.load({
+ url : WWWROOT + '/disinfectSystem/expensiveGoodsAction!loadExpensiveGoods.do',
+ method : 'GET',
+ waitMsg : '正在加载数据,请稍候',
+ params : {id : id},
+ success : function(form, action) {
+ var expensiveGoods = action.result.data;
+ top.Ext.getCmp("orginalName").setValue(expensiveGoods.name);
+ top.Ext.getCmp("orginalSpecification").setValue(expensiveGoods.specification);
+ top.Ext.getCmp("registrationCertification").setValue(expensiveGoods.registrationCertification);
+ },
+ failure : function(form, action) {
+ }
+ });
+};
+
+function reloadGrid(type){
+ $Id("parm_s_type").value = type;
+ grid.dwrReload();
+}
+
+function modify(){
+ loadFormData(grid);
+}
+
+function rendeColor(v, p, record){
+ var data = record.data;
+ var amount = data.amount;
+ if(typeof amount=='number'){
+ if((typeof data.minStorage=='number' && data.minStorage>amount) || (typeof data.maxStorage=='number' && data.maxStorage" + v + "
";
+ }
+ }
+ return "" + v + "";
+}
+
+Ext.onReady(function() {
+ Ext.QuickTips.init();
+
+ //********* 1、Tree ***********
+ root = new Ext.tree.AsyncTreeNode({
+ text:'高值耗材类型',
+ id:'0',
+ draggable:false,
+ listeners:{
+ click:function(node,event){
+ reloadGrid("");
+ }
+ }
+ });
+
+ var myLoader = new Ext.tree.TreeLoader({dataUrl:WWWROOT + '/disinfectSystem/expensiveGoodsAction!treeLoad.do'});
+
+ //********* 2、ForgonGrid ***********
+ var columns = [
+ {header : "条码",width : 100,dataIndex : 'barcode'},
+ {id : 'expensiveGoodsName',header : "名称",width : 150,dataIndex : 'expensiveGoods.name'},
+ {header : "规格",width : 100,dataIndex : 'expensiveGoods.specification'},
+ {header : "入库日期",width : 150,dataIndex : 'entryDate'},
+ {header : "入库类型",width : 80,dataIndex : 'entryType'},
+ {header : "打印时间",width : 80,dataIndex : 'printTime'},
+ {header : "单价",width : 80,dataIndex : 'price'},
+ {header : "状态",width : 80,dataIndex : 'status'},
+ {header : "科室",width : 80,dataIndex : 'locationForDisplay'},
+ {header : "自带条码1",width : 120,dataIndex : 'firstBodyCode'},
+ {header : "自带条码2",width : 120,dataIndex : 'secondBodyCode'},
+ {header : "自带条码3",width : 120,dataIndex : 'thirdBodyCode'}
+// {header : "类别",width : 80,dataIndex : 'expensiveGoods.grade'},
+// {header : "包装规格",width : 80,dataIndex : 'expensiveGoods.packageSpec'},
+// {header : "参考价",width : 60,dataIndex : 'expensiveGoods.referencePrice'}
+// {header : "单位",width : 50,dataIndex : 'expensiveGoods.unit'},
+// {header : "顺序号",width : 50,dataIndex : 'expensiveGoods.sequence'}
+// {header : "拼音码",width : 90,dataIndex : 'expensiveGoods.spelling'},
+// {header : "五笔码",width : 90,dataIndex : 'expensiveGoods.wbCode'}
+
+ ];
+
+ var readerDetail = [
+ {name : 'id'},
+ {name : 'barcode'},
+ {name : 'expensiveGoods.externalCode'},
+ {name : 'expensiveGoods.name'},
+ {name : 'expensiveGoods.specification'},
+ {name : 'entryDate'},
+ {name : 'entryType'},
+ {name : 'printTime'},
+ {name : 'price'},
+ {name : 'status'},
+ {name : 'locationForDisplay'},
+ {name : 'firstBodyCode'},
+ {name : 'secondBodyCode'},
+ {name : 'thirdBodyCode'},
+ {name : 'expensiveGoods.grade'},
+ {name : 'expensiveGoods.packageSpec'},
+ {name : 'expensiveGoods.referencePrice'},
+ {name : 'expensiveGoods.unit'},
+ {name : 'expensiveGoods.sequence'},
+ {name : 'expensiveGoods.spelling'},
+ {name : 'expensiveGoods.wbCode'}
+ ];
+
+ var filters = new Ext.grid.GridFilters({
+ filters:[
+ {type: 'string', dataIndex: 'name'},
+ {type: 'string', dataIndex: 'externalCode'},
+ {type: 'numeric', dataIndex: 'amount'},
+ {type: 'numeric', dataIndex: 'minApplyAmount'},
+ {type: 'numeric', dataIndex: 'maxApplyAmount'},
+ {type: 'string', dataIndex: 'unit'},
+ {type: 'numeric', dataIndex: 'sequence'},
+ {type: 'numeric', dataIndex: 'minStorage'},
+ {type: 'numeric', dataIndex: 'maxStorage'},
+ {type: 'string', dataIndex: 'spelling'},
+ {type: 'string', dataIndex: 'wbCode'},
+ {type: 'string', dataIndex: 'isPartOfTousseMaterial'},
+ {type: 'string', dataIndex: 'isApplicationMaterial'},
+ {type: 'string', dataIndex: 'isSupplyRoomGoods'},
+ {type: 'numeric', dataIndex: 'referencePrice'}
+ ]}
+ );
+
+ var tbar = [ {
+ text : '添加',
+// hidden : SSTS_ExpensiveGoods_Create,
+ hidden : true,
+ iconCls : 'btn_ext_application_add',
+ handler : function() {
+ addExpensiveGoods(0);
+ }
+ }, '-', {
+ text : '修改',
+// hidden : SSTS_ExpensiveGoods_Update,
+ hidden : true,
+ iconCls : 'btn_ext_application_edit',
+ id : 'editTbar',
+ handler : function() {
+ loadFormData(grid);
+ }
+ }, '-', {
+ text : '删除',
+// hidden : SSTS_ExpensiveGoods_Delete,
+ hidden : true,
+ iconCls : 'btn_ext_application_del',
+ handler : function() {
+ deleteExpensiveGoods(grid);
+ }
+ },'-',{
+ text : '出入库记录',
+ hidden: true,
+ iconCls : 'btn_ext_refresh',
+ handler : function(){
+ onStorageRecordDetail(grid);
+ }
+ }, '-' , {
+ text : '打印高值耗材',
+ hidden: true,
+ iconCls : 'icon_print',
+ handler : function(){
+ printExpensiveDisposableGoodsBarcode(grid);
+ }
+ }/*
+ , '-' , {
+ //用于程序员调试
+ text : '更新旧数据',
+ hidden : false,
+ handler : function() {
+ ExpensiveGoodsTableManager.updateOldData(function(msg){showResult(msg);});
+ }
+ }, '-' , {
+ //将属于供应室领用的高值耗材进行分类
+ text : '分类供应室领用类型',
+ hadden : false,
+ handler : function() {
+ ExpensiveGoodsTableManager.updateSupplyRoomExpensiveGoodsType(function(msg){showResult('更新成功,请刷新页面')});
+ }
+ }
+ , '-' , {
+ text : '导出高值耗材库存',
+ handler : function() {
+ window.location.href = WWWROOT+"/disinfectsystem/reportforms/expensiveGoodsStorageReportExportForm.jsp";
+ }
+ }, '-' , {
+ text : '导出物资收发存汇总',
+ handler : function() {
+ window.location.href = WWWROOT+"/disinfectsystem/reportforms/expensiveGoodsPriceStatisticsReportExportForm.jsp";
+ }
+ }, '-' , {
+ //用于程序员调试
+ text : '更新旧数据',
+ hidden : false,
+ handler : function() {
+ ExpensiveGoodsTableManager.updateOldData(function(msg){showResult(msg);});
+ }
+ }, '-', {
+ text : '导入高值耗材库存EXCEL',
+ hidden : false,
+ handler : function() {
+ location.href = WWWROOT
+ + "/disinfectsystem/basedatamanager/importbasedata/amendExpensiveGoodsStorage.mhtml";
+ }
+ }
+ */
+ ];
+
+ grid = new Ext.ux.ForgonPageGrid( {
+ tbar : tbar,
+ pageSize : 20,
+ defaultSortField : 'barcode',
+ title : '高值耗材列表',
+ defaultSortDirection : 'ASC',
+ isCheckboxSelectionModel : true,
+ rememberSelected : false,
+ isShowSearchField : true,
+ plugins: filters,
+ columns : columns,
+// autoExpandColumn : 'expensiveGoodsName',
+ renderTo : 'gridDiv',
+ frame : false
+ }, readerDetail,
+ ExpensiveGoodsTableManager.findExpensiveGoodsInstanceTableList,
+ null
+ );
+
+ var viewport = new Ext.Viewport({
+ layout:'border',
+ items:[{
+ region:'west',
+ id:'west-panel',
+ lines : false,
+ margins : '0 0 5 5',
+ cmargins : '0 0 0 0',
+ layout : 'accordion',
+ layoutConfig : {animate : true},
+ collapsible: true, //允许折叠
+ animCollapse:true, //折叠时是否有动画效果
+ split: true, //是否允许拖动大小,与下面的折叠形式配合
+ collapseMode:'mini', //折叠形式
+ width: 200,
+ minSize : 130,
+ maxSize : 400,
+ xtype: 'treepanel',
+ loader: myLoader, //数据加载
+ autoScroll: true,
+ root: root,
+ tbar:[
+ new Ext.Action({
+ text: '展开所有',
+ handler: function(){
+ var treePanel = viewport.findById('west-panel');
+ treePanel.expandAll();
+ }
+ }),
+ new Ext.Action({
+ text: '折叠所有',
+ handler: function(){
+ var treePanel = viewport.findById('west-panel');
+ treePanel.collapseAll();
+ }
+ })
+ ]
+ },{
+ region:'center',
+ margins:'0 5 5 0',
+ xtype : 'panel',
+ autoScroll:true,
+ layout: 'fit',
+ items:grid
+ }]
+ });
+
+ root.expand(false, /*no anim*/ false);
+});
\ No newline at end of file
Index: ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/dwr/table/ExpensiveGoodsTableManager.java
===================================================================
diff -u -r20845 -r20862
--- ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/dwr/table/ExpensiveGoodsTableManager.java (.../ExpensiveGoodsTableManager.java) (revision 20845)
+++ ssts-expensivegoods/src/main/java/com/forgon/disinfectsystem/expensiveGoods/dwr/table/ExpensiveGoodsTableManager.java (.../ExpensiveGoodsTableManager.java) (revision 20862)
@@ -26,6 +26,7 @@
import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock;
import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveDisposablegoods;
import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveGoods;
+import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveGoodsInstance;
import com.forgon.disinfectsystem.entity.basedatamanager.datasynchronization.HisMaterialDefinition;
import com.forgon.disinfectsystem.entity.basedatamanager.datasynchronization.HisMaterialType;
import com.forgon.disinfectsystem.entity.basedatamanager.supplier.RegistrationCertification;
@@ -135,6 +136,27 @@
null);
}
+ public String findExpensiveGoodsInstanceTableList(
+ Map> parameterMap) {
+ Map sqlWhereParamMap = gridManager
+ .getParamFromView(parameterMap);
+
+ // 关键字查询-》把小写字母转换成大写字母
+ if (!parameterMap.get("grid_search_query").isEmpty()) {
+ List keyList = parameterMap.get("grid_search_query");
+ List queryKey = new ArrayList(keyList.size());
+ for (int i = 0; i < keyList.size(); i++) {
+ queryKey.add(((String) keyList.get(i)).toUpperCase());
+ }
+ parameterMap.put("grid_search_query", queryKey);
+ }
+
+ return gridManager.renderGrid(parameterMap,
+ ExpensiveGoodsInstance.class.getSimpleName(), null,
+ null);
+ }
+
+
// 高值耗材使用记录
public String findExpensiveDisposableGoodsUseRecordList(
Map> parameterMap) {
Index: ssts-web/src/main/webapp/homepage/menuconfigure.js
===================================================================
diff -u -r20850 -r20862
--- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 20850)
+++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 20862)
@@ -321,6 +321,7 @@
hidden:SSTS_ExpensiveGoods_Menu,
children:[
{hidden :SSTS_ExpensiveGoods_Menu,text:"高值耗材管理",href:WWWROOT+'/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsView.jsp',hrefTarget:linkTarget,leaf:true},
+ {hidden :SSTS_ExpensiveGoods_Menu,text:"高值耗材实例列表",href:WWWROOT+'/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsInstanceView.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_ExpensiveGoods_Menu,text:"高值耗材使用记录",href:WWWROOT+'/disinfectsystem/assestManagement/expensiveGoods/expensiveDisposableGoodsUseRecordView.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_ExpensiveGoods_Menu,text:"高值耗材库存",href:WWWROOT+'/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsStockView.jsp',hrefTarget:linkTarget,leaf:true},
//{hidden :SSTS_ExpensiveGoods_Menu,text:"高值耗材出入库记录",href:WWWROOT+'/disinfectsystem/assestManagement/expensiveGoods/storageRecordView.jsp',hrefTarget:linkTarget,leaf:true},
Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsInstanceView.jsp
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsInstanceView.jsp (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsInstanceView.jsp (revision 20862)
@@ -0,0 +1,63 @@
+<%@ page contentType="text/html; charset=UTF-8"%>
+<%@ include file="/common/taglibs.jsp"%>
+<%@page import="com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods,com.forgon.Constants"%>
+
+
+
+
+一次性物品信息
+
+
+<%@ include file="/common/includeExtJsAndCss.jsp"%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file