Index: ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java =================================================================== diff -u -r22108 -r22154 --- ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 22108) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 22154) @@ -355,12 +355,20 @@ SSTS_SYSTEMWARNING_REGISTRATIONCERTIFICATION, userOperationIds); if (certificationQuery) { int certificationAmount = getWarningCertifiCatioCount(expensivegoodsRoomType); + int expiredCertificationAmount = getExpiredCertificationCount(expensivegoodsRoomType); if (certificationAmount > 0) { SystemWarningItemVO vo = new SystemWarningItemVO(); vo.setWarningItemType(SystemWarningItemVO.WARNING_TYPE_REGISTRATIONCERTIFICATION); vo.setWarningAmount(certificationAmount); warningList.add(vo); } + //已过期的注册证预警 + if(expiredCertificationAmount > 0){ + SystemWarningItemVO vo = new SystemWarningItemVO(); + vo.setWarningItemType(SystemWarningItemVO.WARNING_TYPE_DISABLED_REGISTRATIONCERTIFICATION); + vo.setWarningAmount(expiredCertificationAmount); + warningList.add(vo); + } } // 高值耗材库存最小提示 @@ -447,11 +455,13 @@ private int getWarningCertifiCatioCount(int supplyRoomType) { // 只有高值耗材处理科室才能看到 if (supplyRoomType == SupplyRoomConfig.SUPPLYROOM_TYPE_EXPENSIVEGOODS_APPLY) { - String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); + String date = new SimpleDateFormat("yyyy-MM-dd ").format(new Date()); String sql = " where po.validityTime > " + dateQueryAdapter.dateAdapter(date) + " and po.warningUntil < " + dateQueryAdapter.dateAdapter(date) + + " or po.validityTime = " + + dateQueryAdapter.dateAdapter(date) + " or po.warningUntil = " + dateQueryAdapter.dateAdapter(date); int certifiCatioCountAmount = objectDao.countObjectBySql(RegistrationCertification.class.getSimpleName(),sql); @@ -468,24 +478,8 @@ private int getWarningExpensiveGoodsCount(int supplyRoomType) { // 只有高值耗材处理科室才能看到 if (supplyRoomType == SupplyRoomConfig.SUPPLYROOM_TYPE_EXPENSIVEGOODS_APPLY) { - String sql = "where 1=1 and " + SqlUtils.getNonStringFieldInCollectionsPredicate("warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds()); - List expensiveGoodsStock = (List) objectDao.findBySql(ExpensiveGoodsStock.class.getSimpleName(),sql); - int goodsAmount = 0; - List expensiveGood = new ArrayList(); - Set set = new HashSet(); - String sql1 = " where po.minStorage > 0 and "+ 0 + "< po.minStorage "; - List expensiveGoods = objectDao.getBySql_ForUpdate2(ExpensiveGoods.class.getSimpleName(),sql1); - set.addAll(expensiveGoods); - if(expensiveGoodsStock.size()>0){ - for(ExpensiveGoodsStock egs : expensiveGoodsStock){ - String sql2 = " where po.minStorage > 0 and "+ egs.getAmount() + "< po.minStorage and po.id = " + egs.getExpensiveGoods().getId(); - expensiveGood = (List) objectDao.getBySql_ForUpdate2(ExpensiveGoods.class.getSimpleName(),sql2); - String sql3 = " where po.minStorage > 0 and "+ egs.getAmount() + "> po.minStorage and po.id = " + egs.getExpensiveGoods().getId(); - expensiveGood.addAll((List) objectDao.getBySql_ForUpdate2(ExpensiveGoods.class.getSimpleName(),sql3)); - set.removeAll(expensiveGood); - } - } - goodsAmount = set.size(); + String sql = " where po.minStorage > 0 and po.amount < po.minStorage "; + int goodsAmount = objectDao.countObjectBySql(ExpensiveGoods.class.getSimpleName(),sql); return goodsAmount; } return 0; @@ -498,19 +492,29 @@ @SuppressWarnings("unchecked") private int getWarningMaxExpensiveGoodsCount(int supplyRoomType) { // 只有高值耗材处理科室才能看到 - if (supplyRoomType == SupplyRoomConfig.SUPPLYROOM_TYPE_EXPENSIVEGOODS_APPLY) { - String sql = "where 1=1 and " + SqlUtils.getNonStringFieldInCollectionsPredicate("warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds()); - List expensiveGoodsStock = (List) objectDao.findBySql(ExpensiveGoodsStock.class.getSimpleName(),sql); - if(expensiveGoodsStock.size()>0){ - int goodsAmount = 0; - for(ExpensiveGoodsStock expensiveGoods : expensiveGoodsStock){ - String sql1 = " where po.minStorage > 0 and "+ expensiveGoods.getAmount() + " >= po.maxStorage and po.id = " + expensiveGoods.getExpensiveGoods().getId(); - goodsAmount += objectDao.countObjectBySql(ExpensiveGoods.class.getSimpleName(),sql1); - } + if(supplyRoomType == SupplyRoomConfig.SUPPLYROOM_TYPE_EXPENSIVEGOODS_APPLY) { + String sql = " where po.minStorage > 0 and po.amount > po.maxStorage "; + int goodsAmount = objectDao.countObjectBySql(ExpensiveGoods.class.getSimpleName(),sql); return goodsAmount; - } } return 0; } + /** + * 过期的高值耗材供应商注册证 + * @param supplyRoomType + * @return + */ + private int getExpiredCertificationCount(int supplyRoomType){ + // 只有高值耗材处理科室才能看到 + if (supplyRoomType == SupplyRoomConfig.SUPPLYROOM_TYPE_EXPENSIVEGOODS_APPLY) { + String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); + String sql = " where po.validityTime < " + + dateQueryAdapter.dateAdapter(date); + int expiredCertifiCatioCountAmount = objectDao.countObjectBySql(RegistrationCertification.class.getSimpleName(),sql); + return expiredCertifiCatioCountAmount; + } + return 0; + } + } Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsWarningView.js =================================================================== diff -u -r21930 -r22154 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsWarningView.js (.../expensiveGoodsWarningView.js) (revision 21930) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsWarningView.js (.../expensiveGoodsWarningView.js) (revision 22154) @@ -6,20 +6,155 @@ var autoFillExternalCodeOfDisposableGoods = false; var SUPPLIER_TYPE_SUPPLIER = '生产厂家'; var supplierStore = null; +var selectedRow = null; -var diposableGoodsBatchNumStore = null; +var registrationCertificationBatchNumStore = null; var batchRecord = null; +var expensiveGoodsModelStoreRecord = null; var selCertification = null; +var expensiveGoodsModelColumnModel = null; +//高值耗材型号store +var expensiveGoodsModelStore = new top.Ext.data.Store({ + reader : new Ext.data.JsonReader({ + fields : [ + {name : 'id'}, + {name : 'expensiveGoodsModel'}, + {name : 'expensiveGoodsModelDescription'}, + {name : 'expensiveGoodsModelSurfaceStatus'} + ] + }) +}); + + +//根据厂家id来查询对应的注册证号,并填入 +function fillCertificationsByExpensiveGoodsSupplierId(expensiveGoodsSupplierId){ + if(isUndefinedOrNullOrEmpty(expensiveGoodsSupplierId)) + return false; + registrationCertificationBatchNumStore.removeAll(); + ExpensiveGoodsTableManager.getCertificationsByExpensiveGoodsSupplierId(expensiveGoodsSupplierId, + function(batchesStr){ + var batches = top.Ext4.JSON.decode(batchesStr); + if(batches.length > 0){ + setBatchNumbers(batches,true); + } + }); +} + +//根据高值耗材id来查询对应的型号,并填入 +function fillModelByExpensiveGoodsId(expensiveGoodsModelList){ + if(isUndefinedOrNullOrEmpty(expensiveGoodsModelList)) + return false; + expensiveGoodsModelStore.removeAll(); +// var Models = top.Ext4.JSON.decode(expensiveGoodsModelList); + for(var i = 0;i 0){ +// setBatchNumbers(batches,true); +// } +// }); +} + function addExpensiveGoods(id) { + expensiveGoodsModelStore.removeAll(); autoFillExternalCodeOfDisposableGoods = getBoolValueFromJs('sstsConfig.autoFillExternalCodeOfDisposableGoods',autoFillExternalCodeOfDisposableGoods); var dType = document.getElementById("parm_s_type").value; var diposableGooodsStore = new Ext.data.SimpleStore({ fields : [ 'typeName' ], url : WWWROOT + '/disinfectSystem/expensiveGoodsAction!getExpensiveGoodsType.do' }); + + function newRow(){ + var n = top.Ext.getCmp('expensiveGoodsModelGirdId').getStore().getCount();// 获得总行数 + var p = new expensiveGoodsModelStoreRecord({ + expensiveGoodsModel : '', + expensiveGoodsModelDescription : '', + expensiveGoodsModelSurfaceStatus : '' + }); + top.Ext.getCmp('expensiveGoodsModelGirdId').stopEditing();// 停止编辑 + expensiveGoodsModelStore.add(p);// 插入到最后一行 + top.Ext.getCmp('expensiveGoodsModelGirdId').getSelectionModel().selectLastRow(); + top.Ext.getCmp('expensiveGoodsModelGirdId').startEditing(n, 0);// 开始编辑0单元格 + } + + + expensiveGoodsModelColumnModel = new top.Ext.grid.ColumnModel([ + { + header : '型号规格', + dataIndex : 'expensiveGoodsModel', + width : 60, + editor : new top.Ext.form.TextField({ + allowBlank : false, + listeners : { + change : function(textField, newValue, oldValue) { +// var rowIndex = top.Ext.getCmp('expensiveGoodsModelGirdId').getStore().getCount();//grid的行数 +// var configStore = top.Ext.getCmp('expensiveGoodsModelGirdId').getStore(); +// var judge = []; +// judge.push(newValue); +//// for(var i =0 ;i < rowIndex ; i++ ){ +//// var electRecord = configStore.getAt(i); +//// var certification = configStore.getAt(i).data.expensiveGoodsModel; +//// var type = configStore.getAt(i).data.type; +//// if(certification != ''){ +//// if(judge.contains(newValue)){ +//// showResult('已包含相同型号:'+ newValue +',不可重复添加!'); +//// judge.splice(0,judge.length); //数组清空 +//// textField.setValue(oldValue); +//// return false; +//// }else{ +//// judge.push(electRecord.get('expensiveGoodsModel')); +//// } +//// } +//// } +//// textField.setValue(newValue); +// var num3 = selectedRow; +// +// configStore.each(function(record){ +// var certification = record.data.expensiveGoodsModel; +// var num1 = textField.getPosition()[0]; +// var num2 = configStore.indexOf(record); +// if(certification != ''){ +// if(judge.contains(newValue) && num2 != selectedRow){ +// showResult('已包含相同型号:'+ newValue +',不可重复添加!'); +// judge.splice(0,judge.length); //数组清空 +// textField.setValue(oldValue); +// return false; +// }else{ +// judge.push(certification); +// } +// } +// }); + } + } + }) + },{ + header : '说明', + dataIndex : 'expensiveGoodsModelDescription', + width : 60, + editor : new top.Ext.form.TextField() + },{ + header : '表面状态', + dataIndex : 'expensiveGoodsModelSurfaceStatus', + width : 60, + editor : new top.Ext.form.TextField() + } + ]); + + + //能否作为器械包材料 var isPartOfTousseMaterialStore = new Ext.data.SimpleStore( { fields : [ 'value'], @@ -47,6 +182,7 @@ fields : [ 'value' ], data : [ ['否' ], ['是' ]] }); + supplierStore = new Ext.data.Store({ pageSize : 100, proxy : new Ext.data.HttpProxy({ @@ -62,8 +198,8 @@ ]) }); - - diposableGoodsBatchNumStore = new Ext.data.Store({ + //注册证store + registrationCertificationBatchNumStore = new Ext.data.Store({ reader : new Ext.data.JsonReader({ fields : [ {name : 'id'}, @@ -74,9 +210,23 @@ }) }); + + expensiveGoodsModelStoreRecord = Ext.data.Record.create([ + {name : 'id'}, + {name : 'expensiveGoodsModel'}, + {name : 'expensiveGoodsModelDescription'}, + {name : 'expensiveGoodsModelSurfaceStatus'} + ]); + +// var modelrecord = new expensiveGoodsModelStoreRecord({id: 1,expensiveGoodsModel: 'name1',expensiveGoodsModelDescription:'description1',expensiveGoodsModelSurfaceStatus:'status1'}); +// var modelrecord1 = new expensiveGoodsModelStoreRecord({id: 1,expensiveGoodsModel: 'name2',expensiveGoodsModelDescription:'description2',expensiveGoodsModelSurfaceStatus:'status2'}); +// var modelrecord2 = new expensiveGoodsModelStoreRecord({id: 1,expensiveGoodsModel: 'name3',expensiveGoodsModelDescription:'description3',expensiveGoodsModelSurfaceStatus:'status3'}); +// expensiveGoodsModelStore.add(modelrecord); +// expensiveGoodsModelStore.add(modelrecord1); +// expensiveGoodsModelStore.add(modelrecord2); + batchRecord = Ext.data.Record.create([ {name : 'id'}, - {name : 'name'}, {name : 'certification'} ]); @@ -87,13 +237,13 @@ labelAlign:'right', labelSeparator : ':', bodyStyle : 'padding:5px 5px 0px 5px', - // autoHeight : true, - height : 400, +// autoHeight : true, + height : 350, // autoScroll : true, items:[{ layout : 'column', items : [{ - columnWidth : 0.5, + columnWidth : 0.3, layout : 'form', labelWidth : 70, items : [{ @@ -130,6 +280,10 @@ id : 'items' },{ xtype : 'hidden', + name : 'expensiveGoodsSupplierId', + id : 'expensiveGoodsSupplierId' + },{ + xtype : 'hidden', name : 'notInventoryDeptCode', id : 'notInventoryDeptCode' },{ @@ -388,20 +542,13 @@ hideTrigger : true, emptyText : '', typeAhead : false, - allowBlank : true, + allowBlank : false, anchor : '95%', listeners : { select : function(combo, record, index) { - diposableGoodsBatchNumStore.removeAll(); - top.Ext.getCmp("registrationCertification").setValue(''); - var diposableGoodsID = record.data.id+''; - ExpensiveGoodsTableManager.getCertificationsByExpensiveGoodsSupplierId(diposableGoodsID, - function(batchesStr){ - var batches = top.Ext4.JSON.decode(batchesStr); - if(batches.length > 0){ - setBatchNumbers(batches,true); - } - }); + top.Ext.getCmp("certification").setValue(''); + var expensiveGoodsSupplierId = record.data.id+''; + fillCertificationsByExpensiveGoodsSupplierId(expensiveGoodsSupplierId); }, specialkey : function(field, ee) { if (ee.getKey() == Ext.EventObject.ENTER) { @@ -412,7 +559,7 @@ }] }] },{ - columnWidth : 0.5, + columnWidth : 0.3, // title: 'Hrp高值耗材数据', id :'hrpContrastDefinition', // hidden:true, @@ -600,28 +747,19 @@ labelWidth : 110, columnWidth : 1, items : [{ -// xtype : 'textfield', -// fieldLabel : '注册证', -// readOnly: true, -// maxLength : '16', -// id : 'registrationCertification', -// name : 'registrationCertification', -// allowBlank : true, -// anchor : '95%' xtype : 'combo', - id : 'registrationCertification', - name : 'registrationCertification', + id : 'certification', + name : 'certification', fieldLabel : '注册证', valueField : 'certification', displayField : 'certification', - store : diposableGoodsBatchNumStore, + store : registrationCertificationBatchNumStore, editable : false, forceSelection : false, mode : 'local', triggerAction : 'all', typeAhead : false, - allowBlank : true, -// width : 150, + allowBlank : false, anchor : '95%', listeners : { blur : function(thiz) {}, @@ -634,20 +772,63 @@ } }] } -// ,{ -// layout : 'form', -// labelWidth : 0, -// columnWidth : 0.2, -// items : [new top.Ext.Button({ -// text:'选择', -// handler : function() { -// selectRegistrationCertification(); -// } -// })] -// } ] }] - }] + } + ,{ + columnWidth : 0.4, + layout : 'column', + // labelWidth : 70, + items : [{ + id : 'expensiveGoodsModelGirdId', + columnWidth : 1, + height: 400, + frame : false, + xtype : 'editorgrid', + store : expensiveGoodsModelStore, + title : "型号列表", + viewConfig: {forceFit:true}, + selModel : new top.Ext.grid.RowSelectionModel({ + singleSelect : false + }), + colModel : expensiveGoodsModelColumnModel, + listeners : { + rowclick : function(grid,rowIndex){ + selectedRow = rowIndex; + } + }, + tbar : [{ + text : '新增', + width : 70 , + iconCls : 'btn_ext_add', + handler : function() { + newRow(); + } + }, { + text : '删除', + iconCls : 'btn_remove', + handler : function() { + var selectModel = top.Ext.getCmp('expensiveGoodsModelGirdId').getSelectionModel(); + var rows = selectModel.getSelections();// 返回值为 Record 数组 + if (rows.length == 0) { + showResult('最少选择一条信息,进行删除!'); + } else { + top.Ext.MessageBox.confirm('提示框', '您确定要进行该操作?', function(btn) { + if (btn == 'yes') { + if (rows) { + for ( var i = 0; i < rows.length; i++) { + expensiveGoodsModelStore.remove(rows[i]); + selectModel.selectPrevious(true); + } + } + } + }); + } + } + }] //tbar + }] + } + ] }], buttons : [{ @@ -671,9 +852,9 @@ id : 'expensiveGoodsWin', layout : 'fit', title : '高值耗材信息', - width : 700, + width : 1000, // height : 620, - height : top.screen.height > 800 ? 415 : 415, + height : top.screen.height > 800 ? 420 : 420, modal : true, // autoHeight : true, border : false, @@ -698,151 +879,14 @@ return; } top.Ext.getCmp('certificationId').setValue(selCertification.id); - top.Ext.getCmp('registrationCertification').setValue(selCertification.certification); + top.Ext.getCmp('certification').setValue(selCertification.certification); } function setBatchNumbers(batches,fireSelect) { for(var i = 0;i 0){ -// setBatchNumbers(batches,true); -// } -// }); -// }, -// specialkey : function(field, ee) { -// if (ee.getKey() == Ext.EventObject.ENTER) { -// top.Ext.getCmp('batchNumber').focus(); -// } -// } -// } -// },{ -// xtype : 'combo', -// id : 'certification2', -// name : 'certification2', -// fieldLabel : '注册证', -// valueField : 'certification', -// displayField : 'certification', -// store : diposableGoodsBatchNumStore, -// editable : false, -// forceSelection : false, -// mode : 'local', -// triggerAction : 'all', -// typeAhead : false, -// allowBlank : true, -// width : 150, -// anchor : '95%', -// listeners : { -// blur : function(thiz) {}, -// select : function(combo, record, index) { -// selCertification = { -// id: record.data.id, -// certification: record.data.certification -// } -// } -// } -// }], -// buttons : [{ -// text : '确定', -// id : 'saveBtn', -// hidden:false, -// handler : function(){ -// var certification = top.Ext.getCmp("certification2").getValue(); -// if(isUndefinedOrNullOrEmpty(certification)){ -// showResult('请选择注册证!'); -// return false; -// } -// top.Ext.getCmp('returnGoodsRecordWin').close(); -// onSelCertification(); -// } -// },{ -// text : '取消', -// handler : function() { -// top.Ext.getCmp('returnGoodsRecordWin').close(); -// } -// }] -// }); -// var win = new top.Ext.Window({ -// id : 'returnGoodsRecordWin', -// layout : 'fit', -// title : '信息', -// width : 500, -// modal : true, -//// autoHeight : true, -// border : false, -// height:150, -// plain : true, -// items : [ form ] -// -// }); -// win.show(); -//} function printAmount() { top.Ext.MessageBox.prompt("输入框", "打印数量:", function(bu, txt) { @@ -885,10 +929,16 @@ } } -function submitForSaveDisposableGoods(){ +function submitForSaveExpensiveGoods(){ + + var lstAddRecord=new Array(); + expensiveGoodsModelStore.each(function(record) { + lstAddRecord.push(record.data); + }); formObj.form.submit( { url : WWWROOT + '/disinfectSystem/expensiveGoodsAction!saveExpensiveGoods.do', method : 'POST', + params:{expensiveGoodsModelLists:top.Ext4.JSON.encode(lstAddRecord)}, waitMsg : '正在保存数据,请稍候', waitTitle : '提交表单', success : function(form, action) { @@ -928,17 +978,48 @@ } } + //判断在型号列表中有没有重复值与空值 + var configStore = top.Ext.getCmp('expensiveGoodsModelGirdId').getStore(); + var judge = []; + var haveSameValue = false; + configStore.each(function(record){ + var certification = record.data.expensiveGoodsModel; + if(certification != ''){ + if(judge.contains(certification)){ + showResult('已包含相同型号:'+ certification +',不可重复添加!'); + judge.splice(0,judge.length); //数组清空 +// textField.setValue(oldValue); + haveSameValue = true; + return false; + }else{ + judge.push(certification); + } + }else{ + haveSameValue = true; + showResult('型号规格不能为空!'); + return false; + + } + }); + if(haveSameValue){ + top.Ext.getCmp('saveBtn').enable(); + return ; + } + + + + // if(!stringLooksEquals(originalGoodsType,goodsType)){ // msg += "是否确定更改物品类型?" // } if(msg == ''){ - submitForSaveDisposableGoods(); + submitForSaveExpensiveGoods(); return; } top.Ext.MessageBox.confirm("请确认",msg, function(button, text) { if ("yes" == button){ - submitForSaveDisposableGoods(); + submitForSaveExpensiveGoods(); }else{ top.Ext.getCmp('saveBtn').enable(); } @@ -1108,8 +1189,11 @@ 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("orginalName").setValue(expensiveGoods.name); + top.Ext.getCmp("orginalSpecification").setValue(expensiveGoods.specification); + var expensiveGoodsSupplierId = top.Ext.getCmp("expensiveGoodsSupplierId").getValue(); + fillCertificationsByExpensiveGoodsSupplierId(expensiveGoodsSupplierId); + fillModelByExpensiveGoodsId(expensiveGoods.expensiveGoodsModelLists); // top.Ext.getCmp("registrationCertification").setValue(expensiveGoods.registrationCertification); // top.Ext.getCmp("manufactor").setValue(expensiveGoods.expensiveGoodsSupplier); }, @@ -1197,7 +1281,7 @@ {header : "最小申请数量",width : 80,dataIndex : 'minApplyAmount'}, {header : "最大申请数量",width : 80,dataIndex : 'maxApplyAmount'}, {header : "单位",width : 50,dataIndex : 'unit'}, - {header : "顺序号",width : 50,dataIndex : 'sequence'}, + {header : "注册证",width : 100,dataIndex : 'certification'}, {header : "拼音码",width : 90,dataIndex : 'spelling'}, {header : "五笔码",width : 90,dataIndex : 'wbCode'}, {header : "能否作为器械包材料",width : 120,dataIndex : 'isPartOfTousseMaterial'}, @@ -1219,7 +1303,7 @@ {name : 'minApplyAmount'}, {name : 'maxApplyAmount'}, {name : 'unit'}, - {name : 'sequence'}, + {name : 'certification'}, {name : 'minStorage'}, {name : 'maxStorage'}, {name : 'spelling'}, @@ -1238,7 +1322,7 @@ {type: 'numeric', dataIndex: 'minApplyAmount'}, {type: 'numeric', dataIndex: 'maxApplyAmount'}, {type: 'string', dataIndex: 'unit'}, - {type: 'numeric', dataIndex: 'sequence'}, + {type: 'string', dataIndex: 'certification'}, {type: 'numeric', dataIndex: 'minStorage'}, {type: 'numeric', dataIndex: 'maxStorage'}, {type: 'string', dataIndex: 'spelling'}, @@ -1345,7 +1429,7 @@ renderTo : 'gridDiv', frame : false }, readerDetail, - ExpensiveGoodsTableManager.findExpensiveGoodsMinAndMaxStockTableList, + ExpensiveGoodsTableManager.findExpensiveGoodsMinAndMaxStockTableList, null ); Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsWarningView.jsp =================================================================== diff -u -r21930 -r22154 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsWarningView.jsp (.../expensiveGoodsWarningView.jsp) (revision 21930) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsWarningView.jsp (.../expensiveGoodsWarningView.jsp) (revision 22154) @@ -38,7 +38,7 @@ - + Index: ssts-web/src/main/webapp/homepage/portalPage.js =================================================================== diff -u -r21930 -r22154 --- ssts-web/src/main/webapp/homepage/portalPage.js (.../portalPage.js) (revision 21930) +++ ssts-web/src/main/webapp/homepage/portalPage.js (.../portalPage.js) (revision 22154) @@ -1371,12 +1371,10 @@ addTab('warningInfo','告警管理',WWWROOT + '/disinfectsystem/assestManagement/tousseGoods/tousseGoodsWarningView.jsp?warningType='+v); }else if(v == warningMaterialGoods ){ addTab('warningInfo','告警管理',WWWROOT + '/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.jsp?warning=warning'); - }else if(v == warningCertification ){ + }else if(v == warningCertification || v == disabledCertification){ addTab('warningInfo','告警管理',WWWROOT + '/disinfectsystem/basedatamanager/supplier/supplierCertificationWarningView.jsp?queryType='+v); - }else if(v == warningExpensiveGoods ){ + }else if(v == warningExpensiveGoods || v == warningMaxExpensiveGoods){ addTab('warningInfo','告警管理',WWWROOT + '/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsWarningView.jsp?queryType='+v); - }else if(v == warningMaxExpensiveGoods ){ - addTab('warningInfo','告警管理',WWWROOT + '/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsWarningView.jsp?queryType='+v); } warningWindow.close(); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/dwr/table/RegistrationCertificateTableManager.java =================================================================== diff -u -r21962 -r22154 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/dwr/table/RegistrationCertificateTableManager.java (.../RegistrationCertificateTableManager.java) (revision 21962) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplier/dwr/table/RegistrationCertificateTableManager.java (.../RegistrationCertificateTableManager.java) (revision 22154) @@ -56,6 +56,8 @@ + dateQueryAdapter.dateAdapter(currentDate) + " and po.warningUntil < " + dateQueryAdapter.dateAdapter(currentDate) + + " or po.validityTime = " + + dateQueryAdapter.dateAdapter(currentDate) + " or po.warningUntil = " + dateQueryAdapter.dateAdapter(currentDate); break; Index: ssts-web/src/main/webapp/homepage/portalPage.jsp =================================================================== diff -u -r21930 -r22154 --- ssts-web/src/main/webapp/homepage/portalPage.jsp (.../portalPage.jsp) (revision 21930) +++ ssts-web/src/main/webapp/homepage/portalPage.jsp (.../portalPage.jsp) (revision 22154) @@ -176,6 +176,7 @@ var disabledTousseGoods = '<%=SystemWarningItemVO.WARNING_TYPE_DISABLED_TOUSSE%>'; var satisfactionSurveyNotice = '<%=SystemWarningItemVO.NOTICE_TYPE_SATISFACTIONSURVEY_TABLE%>'; var warningCertification = '<%=SystemWarningItemVO.WARNING_TYPE_REGISTRATIONCERTIFICATION%>'; +var disabledCertification = '<%=SystemWarningItemVO.WARNING_TYPE_DISABLED_REGISTRATIONCERTIFICATION%>'; var warningExpensiveGoods = '<%=SystemWarningItemVO.WARNING_TYPE_EXPENSIVEGOODS_MIN_STOCK%>'; var warningMaxExpensiveGoods = '<%=SystemWarningItemVO.WARNING_TYPE_EXPENSIVEGOODS_MAX_STOCK%>'; var directOrgUnitCodesWhereUserBelong = '<%=directOrgUnitCodesWhereUserBelong%>';