Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r13557 -r13719 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 13557) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 13719) @@ -210,16 +210,18 @@ /** * 今天审核的未入筐器械包 */ - @Override - public List getTodayReviewedTousseInstanceWithOutBasket( - String orgUnitCode) { + public List getAllReviewedTousseInstanceWithOutBasket( + String orgUnitCode , String beginDate , String endDate){ String sql = " where po.status = '" + TousseInstance.STATUS_REVIEWED + "' and reviewBasket_id is null"; - String todayStr = DateTools.getCurrentDayByFormat("yyyy-MM-dd"); - sql += " and po.reviewTime >= " - + dateQueryAdapter.dateAdapter(todayStr + " 00:00:00") - + " and po.reviewTime <= " - + dateQueryAdapter.dateAdapter(todayStr + " 23:59:59"); + if(StringUtils.isNotBlank(beginDate)){ + sql += " and po.reviewTime >= " + + dateQueryAdapter.dateAdapter(beginDate + " 00:00:00"); + } + if(StringUtils.isNotBlank(beginDate)){ + sql += " and po.reviewTime <= " + + dateQueryAdapter.dateAdapter(endDate + " 23:59:59"); + } if (StringUtils.isNotBlank(orgUnitCode)) { sql += " and (po.orgUnitCoding = '" + orgUnitCode + "' or (po.orgUnitCoding != '" + orgUnitCode @@ -234,6 +236,16 @@ } /** + * 今天审核的未入筐器械包 + */ + @Override + public List getTodayReviewedTousseInstanceWithOutBasket( + String orgUnitCode) { + String todayStr = DateTools.getCurrentDayByFormat("yyyy-MM-dd"); + return getAllReviewedTousseInstanceWithOutBasket(orgUnitCode , todayStr + " 00:00:00" , todayStr + " 23:59:59"); + } + + /** * 将器械包从它所对应的篮筐中移除 */ @Override @@ -483,7 +495,7 @@ if (isTraceable && tousseInstance.getUnTraceableTousse()) { String tousseName = tousseInstance.getTousseName(); Query query = objectDao.getHibernateSession().createQuery( - "SELECT po.barcode FROM TousseInstance" + "SELECT po.barcode FROM TousseInstance po" + " WHERE po.tousseName = :tousseName" + " AND po.unTraceableTousse = 1" + " AND po.status = :status"); Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js =================================================================== diff -u -r13710 -r13719 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js (.../sterilizationLoadingForm.js) (revision 13710) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js (.../sterilizationLoadingForm.js) (revision 13719) @@ -3,6 +3,8 @@ var reviewedPanel;//所有整理中的篮筐明细 var reviewedStatisticsGrid;//所有整理中的篮筐的器械包统计信息 var reviewedStatisticsStore;//所有整理中篮筐的器械包统计信息 +var waitSterileLoadingTousseStore;//待灭菌装载的器械包 +var waitSterileLoadingTousseGrid;//待灭菌装载的器械包 var barcodeLable = '条码扫描'; //灭菌装载是否启用首尾条码机制(只有为true时才启用,未配置或配置其它值时则不启用) @@ -24,6 +26,8 @@ success : function(response, options) { tousseStore.remove(row); stasticsStore.load(); + //待灭菌装载列表数据源重新刷新 + waitSterileLoadingTousseStore.reload(); //如果篮筐内器械包数量为空,删除此篮筐记录(释放篮筐) if(tousseStore.getCount() == 0) { delEmptyBasket(); @@ -159,6 +163,8 @@ barcode: ObjBarcode }); Ext.getCmp('tousseGrid').getStore().insert(0,currentTousseInstance);//最新扫描的器械包放到第一行 + //待灭菌装载列表数据源重新刷新 + waitSterileLoadingTousseStore.reload(); } else { showResult(result.msg); } @@ -220,6 +226,19 @@ } + function renderformBtn(v,p,record){console.log(record); + var total = record.statisticsTotal; + var barcode = record.data.objBarcode; + if(total != null || total > 0){ + return null; + }else{ + return ""; + } + +} + //条码(首)扫描监听事件函数 function keypressBeginBarcodeCallBack(e) { if (e.getKey() == 13) { @@ -563,6 +582,8 @@ layout: 'column', items : [{ xtype : 'fieldset', + width : document.body.clientWidth/2, + height : 60, title : '条码扫描框', layout : 'column', items : [{ @@ -637,20 +658,51 @@ reviewedStatisticsGrid = new Ext.grid.GridPanel({ id : 'reviewedStatisticsGrid', title : '入筐器械包统计信息', - width : document.body.clientWidth/2-24, - height : 200, + width : document.body.clientWidth/4, + height : 280, bodyStyle : 'border:1px solid #afd7af', store: reviewedStatisticsStore, viewConfig: { forceFit:true }, columns: [ {header: "器械包类型", width: 250, sortable: true, dataIndex: 'tousseType'}, - {header: "数量", width: 250, sortable: true, dataIndex: 'tousseCount'} + {header: "数量", width: 50, sortable: true, dataIndex: 'tousseCount'} ], sm : new Ext.grid.RowSelectionModel({singleSelect:true}) }); + //待灭菌装载数据源 + waitSterileLoadingTousseStore = new Ext.data.Store({ + autoLoad : true, + url : WWWROOT + '/disinfectSystem/tousseInstanceAction!getWaitSterileLoadingTousseInstance.do', + reader: new Ext.data.JsonReader({ + fields: [ + {name: 'id'}, + {name: 'tousseName'}, + {name: 'objBarcode'} + ] + }) + }); + waitSterileLoadingTousseGrid = new Ext.grid.GridPanel({ + id : 'waitSterileLoadingTousseGrid', + title : '待灭菌装载器械包信息', + width : document.body.clientWidth/4, + height : 280, + bodyStyle : 'border:1px solid #afd7af', + store: waitSterileLoadingTousseStore, + viewConfig: { + forceFit:true + }, + columns: [ + {header: "id", hidden: true, dataIndex: 'id'}, + {header: "名称", width: 150, sortable: true, dataIndex: 'tousseName'}, + {header: "条形码", width: 100, sortable: true, dataIndex: 'objBarcode'}, + {header: "装载", width: 50, sortable: true, dataIndex: 'objBarcode',renderer:renderformBtn} + ], + sm : new Ext.grid.RowSelectionModel({singleSelect:true}) + }); + reviewedPanel = new Ext.tree.ColumnTree({ rootVisible : false, autoScroll : true, @@ -707,9 +759,17 @@ layout : 'border', items : [{ region : 'north', - height : 200, - layout : 'fit', - items : [reviewedStatisticsGrid] + height : 280, + layout : 'border', + items : [{ + region : 'west', + autoHeight:true, + width : document.body.clientWidth/4-10, + items : [waitSterileLoadingTousseGrid] + },{ + region : 'center', + items : [reviewedStatisticsGrid] + }] },{ region : 'center', layout : 'fit', Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r13557 -r13719 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 13557) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 13719) @@ -54,6 +54,16 @@ public List getTodayReviewedTousseInstanceWithOutBasket( String orgUnitCode); + /** + * 根据时间段及科室编码查询所有已审核的器械包实例 + * @param orgUnitCode + * @param beginDate + * @param endDate + * @return + */ + public List getAllReviewedTousseInstanceWithOutBasket( + String orgUnitCode , String beginDate , String endDate); + public List getTodayReviewedTousseInstanceByNameAndOrgUnitCode( String orgUnitCode,String name); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r13710 -r13719 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 13710) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 13719) @@ -598,7 +598,44 @@ Container container = containerManager.getContainerByBarcode(basketBarcode); return container.getContainerName(); } + + /** + * 加载所有已审核且未加入至任何灭菌筐的器械包(按用户所在科室对应供应室处理器械包配置的器械包) + */ + public void getWaitSterileLoadingTousseInstance(){ + try { + JSONArray jsonArray = new JSONArray(); + List tousses = + tousseInstanceManager.getAllReviewedTousseInstanceWithOutBasket(acegiHelper.getCurrentOrgUnitCode(), null, null); + + //将set转换成list,按id降序排序 + List tousseList = new ArrayList(); + tousseList.addAll(tousses); + Collections.sort(tousseList); + + for (TousseInstance tousseInstance : tousseList) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("id", tousseInstance.getId()); + jsonObject.put("tousseName", tousseInstance.getShowTousseName()); + jsonObject.put("objBarcode", tousseInstance.getBarcode()); + jsonArray.add(jsonObject); + } + HttpServletResponse response = StrutsParamUtils.getResponse(); + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out; + try { + out = response.getWriter(); + out.print(jsonArray); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + /** * 加载篮筐内的所有已审核器械包 */