Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java =================================================================== diff -u -r19716 -r20106 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 19716) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 20106) @@ -942,9 +942,6 @@ } else { sql += SqlUtils.getSearchSQL(searchMode, simpleSpell); } - } else { - sql += " and (po.spelling like '%" + simpleSpell - + "%' or po.wbCode like '%" + simpleSpell + "%') "; } if(StringUtils.equals("true", related)){ sql +=" and po.orgUnitCoding in (select orgUnitCoding from SupplyRoomConfig)"; @@ -955,6 +952,60 @@ } /** + * 根据关键字进行模糊查询科室..(由于spell里面有可能包含了科室名称(多个科室之前采用逗号分隔)) + * @param spell 检索关键字 + * @param related 如果等于“true”,就只查询一级供应室以及所有配置可以申请器械包的科室,否则查全部科室 + * @return + */ + @SuppressWarnings("unchecked") + @Override + public List searchOrgUnitBySpell(String spell, String related) { + List orgUnitList = new ArrayList(); + if(StringUtils.isNotBlank(spell)){ + spell = spell.toUpperCase(); + } + String sql = " where po.id != 0 "; + if(StringUtils.equals("true", related)){ + sql +=" and po.orgUnitCoding in (select orgUnitCoding from SupplyRoomConfig)"; + } + String searchMode = AcegiHelper.getLoginUser().getSearchMode(); + //如果有搜索内容、且包含中文、且有多个搜索值时 + if (spell.trim().length() > 0 && spell.split(",").length > 1) { + String[] departNameArray = spell.split(","); + String inOrNotInDepartNameCondition = "("; + for (int i = 0; i < departNameArray.length; i++) { + inOrNotInDepartNameCondition += "'" + departNameArray[i] + "'"; + if(i < departNameArray.length - 1){ + inOrNotInDepartNameCondition += ","; + } + } + inOrNotInDepartNameCondition += ")"; + //1.先查出有包含这些搜索内容的科室 + String includeOrgUnitNameSql = sql + " and name in " + inOrNotInDepartNameCondition; + List orgUnitTempList = objectDao.findBySql(OrgUnit.class.getSimpleName(), includeOrgUnitNameSql); + if(CollectionUtils.isNotEmpty(orgUnitTempList)){ + orgUnitList.addAll(orgUnitTempList); + } + + //2.再搜出不包含这些内容的科室 + String excludeOrgUnitNameSql = sql + " and name not in " + inOrNotInDepartNameCondition; + orgUnitTempList = objectDao.findBySql(OrgUnit.class.getSimpleName(), excludeOrgUnitNameSql); + if(CollectionUtils.isNotEmpty(orgUnitTempList)){ + orgUnitList.addAll(orgUnitTempList); + } + }else{ + sql += " and (1=1 " + SqlUtils.getSearchSQL(searchMode, spell); + sql += " or po.name like '%" + spell + "%')"; + List orgUnitTempList = objectDao.findBySql(OrgUnit.class.getSimpleName(), sql); + if(CollectionUtils.isNotEmpty(orgUnitTempList)){ + orgUnitList.addAll(orgUnitTempList); + } + } + + return orgUnitList; + } + + /** * 根据检索内容查询相应类型的科室 * @param simpleSpell 检索内容 * @param roomType 科室类别 Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/comboTousseForm.js =================================================================== diff -u -r19425 -r20106 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/comboTousseForm.js (.../comboTousseForm.js) (revision 19425) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/comboTousseForm.js (.../comboTousseForm.js) (revision 20106) @@ -31,6 +31,36 @@ defaultPackageSize = sstsConfig.defaultPackageSize; } +var departStoreCompleteLoad = false;; +var departStoreAlreadyLoad = false; + +var comboArg; +function afterExpandFunc(){ + //监听下拉事件 + var me = comboArg; + me.view.setWidth(200); + me.list.setWidth(200); + var deptCodes = top.Ext.getCmp("handlerDepartCodes").getValue().split(','); + //alert('me.store.getCount()='+me.store.getCount());alert('deptCodes.length='+deptCodes.length); + for (var h = 0; h < me.store.getCount(); h++) { + var rec = me.store.getAt(h); + for (var i = 0; i < deptCodes.length; i++) { + if (rec.get('departCode') == deptCodes[i]) { + try{ + rec.set('check', true); + rec.set('color', '#afd7af'); + break; + }catch(e){ + me.store.add(rec); + rec.set('check', true); + rec.set('color', '#afd7af'); + break; + } + } + } + } +} + var isLastRow = false;//记录当前编辑的行是否是最后一行 //删除视频 function deleteVideo(id, uuid_vedioNames) { @@ -124,19 +154,22 @@ valueField: 'departCode', id: 'handlerDepartName', name: 'handlerDepartName', - typeAhead: false, + //typeAhead: false, width: 120, fieldLabel: '所属科室', matchFieldWidth: false, - triggerAction: 'all', + queryParam : 'spell', + minChars : 0, // emptyText: '请选择', - selectOnFocus: true, forceSelection: true, + lazyInit : true, allowBlank: false, - editable: false, + editable: true, + hideTrigger : false, triggerAction: 'all', - mode: 'local', - // lazyInit: true, + typeAhead : false, + flex : 1, + model:'local', anchor: '100%', // tpl: '
{text}
', tpl: '
{departName}
', @@ -149,13 +182,18 @@ //valueField的值 var strValue = []; me.store.each(function (rc) { - if (rc.get('check')) { - str.push(rc.get('departName')); - strValue.push(rc.get('departCode')); + //如果选中了全部,即判断departCode是否为空 + if(!record.get('departCode')){ + rc.set('check', record.get('check')); + } + //如果当前的record为选中时 + if (rc.get('check') && rc.get('departCode')) { + str.push(rc.get('departName')); + strValue.push(rc.get('departCode')); rc.set('color', '#afd7af'); } else { - rc.set('color', ''); + rc.set('color', ''); } }); me.setValue(str.join()); @@ -165,19 +203,33 @@ }, listeners: { expand: function (value) { - //监听下拉事件 - var me = this; - me.view.setWidth(200); - me.list.setWidth(200); - var deptCodes = top.Ext.getCmp("handlerDepartCodes").getValue().split(','); - for (var i = 0; i < deptCodes.length; i++) { - me.store.findBy(function (item) { - if (item.get('departCode') == deptCodes[i]) { - item.set('check', true); - item.set('color', '#afd7af'); - } - }); - } + comboArg = this; + window.setTimeout('afterExpandFunc()' , 1000); + /*function afterExpandFunc(){alert(3); + //监听下拉事件 + var me = comboArg; + me.view.setWidth(200); + me.list.setWidth(200); + var deptCodes = top.Ext.getCmp("handlerDepartCodes").getValue().split(','); + //alert('me.store.getCount()='+me.store.getCount());alert('deptCodes.length='+deptCodes.length); + for (var h = 0; h < me.store.getCount(); h++) { + var rec = me.store.getAt(h); + for (var i = 0; i < deptCodes.length; i++) { + if (rec.get('departCode') == deptCodes[i]) { + try{ + rec.set('check', true); + rec.set('color', '#afd7af'); + break; + }catch(e){ + me.store.add(rec); + rec.set('check', true); + rec.set('color', '#afd7af'); + break; + } + } + } + } + }*/ } } }) @@ -436,12 +488,12 @@ } } }); - + //所属科室store var departStore = new Ext.data.Store({ autoLoad: true, proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getAllOrgUnitName.do', + url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!findOrgUnitNameForMultiComboBox.do?needAllOption=y', method: 'POST' }), reader: new Ext.data.JsonReader({ @@ -450,7 +502,17 @@ }, [ {name: 'departCode', mapping: 'id'}, {name: 'departName', mapping: 'name'} - ]) + ]), + listeners : { + beforeload : function(){ + //alert('beforeload'); + departStoreCompleteLoad = false; + }, + load : function(){ + //alert('load'); + departStoreCompleteLoad = true; + } + } }); configStore = new Ext.data.Store({ Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java =================================================================== diff -u -r19716 -r20106 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 19716) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 20106) @@ -64,6 +64,14 @@ String related); /** + * 根据关键字进行模糊查询科室.. + * @param spell 检索关键字 + * @param related 如果等于“true”,就只查询一级供应室以及所有配置可以申请器械包的科室,否则查全部科室 + * @return + */ + public List searchOrgUnitBySpell(String spell, String related); + + /** * @param simpleSpell 检索内容 * @param roomType 科室类别 * @return Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java =================================================================== diff -u -r19493 -r20106 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java (.../SupplyRoomConfigManagerImpl.java) (revision 19493) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java (.../SupplyRoomConfigManagerImpl.java) (revision 20106) @@ -626,25 +626,25 @@ @Override public boolean addServiceAllClinicOrgUnit(String orgUnitCoding,String orgUnitName){ String sql = "insert into CssdServiceDepts(cssdOrgUnitCode,cssdOrgUnitName,clinicOrgUnitCode,clinicOrgUnitName,tousseType) " - + "select '" + orgUnitCoding + "','" + orgUnitName + "',orgUnitCoding,name,'" + CssdServiceDepts.TOUSSETYPE_TOUSSE + "' from OrgUnit where orgType=" + OrgUnit.ORGUNIT_TYPE_DEPARTMENT - + "and orgUnitCoding not in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + "," + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")) " - + "and orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where cssdOrgUnitCode='" + orgUnitCoding + "' and clinicOrgUnitCode=OrgUnit.orgUnitCoding and tousseType='" + CssdServiceDepts.TOUSSETYPE_TOUSSE + "');" + + " select '" + orgUnitCoding + "','" + orgUnitName + "',orgUnitCoding,name,'" + CssdServiceDepts.TOUSSETYPE_TOUSSE + "' from OrgUnit where orgType=" + OrgUnit.ORGUNIT_TYPE_DEPARTMENT + + " and orgUnitCoding not in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + "," + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")) " + + " and orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where cssdOrgUnitCode='" + orgUnitCoding + "' and clinicOrgUnitCode=OrgUnit.orgUnitCoding and tousseType='" + CssdServiceDepts.TOUSSETYPE_TOUSSE + "');" + "insert into CssdServiceDepts(cssdOrgUnitCode,cssdOrgUnitName,clinicOrgUnitCode,clinicOrgUnitName,tousseType) " - + "select '" + orgUnitCoding + "','" + orgUnitName + "',orgUnitCoding,name,'" + CssdServiceDepts.TOUSSETYPE_DIPOSABLEGOODS + "' from OrgUnit where orgType=" + OrgUnit.ORGUNIT_TYPE_DEPARTMENT - + "and orgUnitCoding not in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + "," + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")) " - + "and orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where cssdOrgUnitCode='" + orgUnitCoding + "' and clinicOrgUnitCode=OrgUnit.orgUnitCoding and tousseType='" + CssdServiceDepts.TOUSSETYPE_DIPOSABLEGOODS + "');" + + " select '" + orgUnitCoding + "','" + orgUnitName + "',orgUnitCoding,name,'" + CssdServiceDepts.TOUSSETYPE_DIPOSABLEGOODS + "' from OrgUnit where orgType=" + OrgUnit.ORGUNIT_TYPE_DEPARTMENT + + " and orgUnitCoding not in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + "," + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")) " + + " and orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where cssdOrgUnitCode='" + orgUnitCoding + "' and clinicOrgUnitCode=OrgUnit.orgUnitCoding and tousseType='" + CssdServiceDepts.TOUSSETYPE_DIPOSABLEGOODS + "');" ; if(dbConnection.isOracle()){ sql = "insert into CssdServiceDepts(id,cssdOrgUnitCode,cssdOrgUnitName,clinicOrgUnitCode,clinicOrgUnitName,tousseType) " - + "select HIBERNATE_SEQUENCE.nextval,'" + orgUnitCoding + "','" + orgUnitName + "',orgUnitCoding,name,'" + CssdServiceDepts.TOUSSETYPE_TOUSSE + "' from OrgUnit where orgType=" + OrgUnit.ORGUNIT_TYPE_DEPARTMENT - + "and orgUnitCoding not in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + "," + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")) " - + "and orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where cssdOrgUnitCode='" + orgUnitCoding + "' and clinicOrgUnitCode=OrgUnit.orgUnitCoding and tousseType='" + CssdServiceDepts.TOUSSETYPE_TOUSSE + "');" + + " select HIBERNATE_SEQUENCE.nextval,'" + orgUnitCoding + "','" + orgUnitName + "',orgUnitCoding,name,'" + CssdServiceDepts.TOUSSETYPE_TOUSSE + "' from OrgUnit where orgType=" + OrgUnit.ORGUNIT_TYPE_DEPARTMENT + + " and orgUnitCoding not in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + "," + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")) " + + " and orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where cssdOrgUnitCode='" + orgUnitCoding + "' and clinicOrgUnitCode=OrgUnit.orgUnitCoding and tousseType='" + CssdServiceDepts.TOUSSETYPE_TOUSSE + "');" + "insert into CssdServiceDepts(id,cssdOrgUnitCode,cssdOrgUnitName,clinicOrgUnitCode,clinicOrgUnitName,tousseType) " - + "select HIBERNATE_SEQUENCE.nextval,'" + orgUnitCoding + "','" + orgUnitName + "',orgUnitCoding,name,'" + CssdServiceDepts.TOUSSETYPE_DIPOSABLEGOODS + "' from OrgUnit where orgType=" + OrgUnit.ORGUNIT_TYPE_DEPARTMENT - + "and orgUnitCoding not in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + "," + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")) " - + "and orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where cssdOrgUnitCode='" + orgUnitCoding + "' and clinicOrgUnitCode=OrgUnit.orgUnitCoding and tousseType='" + CssdServiceDepts.TOUSSETYPE_DIPOSABLEGOODS + "');" + + " select HIBERNATE_SEQUENCE.nextval,'" + orgUnitCoding + "','" + orgUnitName + "',orgUnitCoding,name,'" + CssdServiceDepts.TOUSSETYPE_DIPOSABLEGOODS + "' from OrgUnit where orgType=" + OrgUnit.ORGUNIT_TYPE_DEPARTMENT + + " and orgUnitCoding not in (select orgUnitCoding from SupplyRoomConfig where supplyRoomType in (" + SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM + "," + SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM + ")) " + + " and orgUnitCoding not in (select clinicOrgUnitCode from CssdServiceDepts where cssdOrgUnitCode='" + orgUnitCoding + "' and clinicOrgUnitCode=OrgUnit.orgUnitCoding and tousseType='" + CssdServiceDepts.TOUSSETYPE_DIPOSABLEGOODS + "');" ; } return objectDao.excuteSQL(sql); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java =================================================================== diff -u -r19493 -r20106 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 19493) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 20106) @@ -996,8 +996,8 @@ } /** - * 根据关键字检索科室的信息(“科室编码”和“科室名称”).. - * @param spell 检索关键字 + * 根据关键字检索科室的信息(“科室编码”和“科室名称”)..用作各个页面的科室下拉单选框的数据源 + * @param spell 检索关键字 * @param withoutBaseOrg 科室名称展现的格式,如果此参数不为空则科室名称需要有层次结果的展现如:“科室1-科室11”,为空则按原来的名称展现 * @param related related如果等于“true”,就只查询一级供应室以及所有配置可以申请器械包的科室,否则查全部的科室 * @@ -1040,6 +1040,7 @@ isApplicationDepart = false; } JSONArray jsonArray = new JSONArray(); + //申请科室只能看到自己 if(isApplicationDepart && StringUtils.isBlank(related)){ if (orgUnitList != null && orgUnitCodeArray != null) { @@ -1084,6 +1085,107 @@ } PageUtil.outPutResult(PageUtil.getPagePara(), jsonArray); } + + /** + * 根据关键字检索科室的信息(“科室编码”和“科室名称”)..用作聚合包定义页面的科室下拉复选框的数据源 + * @param spell 检索关键字 + * @param withoutBaseOrg 科室名称展现的格式,如果此参数不为空则科室名称需要有层次结果的展现如:“科室1-科室11”,为空则按原来的名称展现 + * @param related related如果等于“true”,就只查询一级供应室以及所有配置可以申请器械包的科室,否则查全部的科室 + * + */ + public void findOrgUnitNameForMultiComboBox() { + //搜索简码(适用于拼音码、五笔码、科室名称等,如果为科室名称(多个用逗号分隔),则返回的结果为所有的科室数据,且将已传回的科室排在前面显示并在前台页面标记为选中) + String spell = StrutsParamUtils.getPraramValue("spell", ""); + //是否去掉对应上级科室名称的前缀 + String withoutBaseOrg = StrutsParamUtils.getPraramValue( + "withoutBaseOrg", "true"); + //如果等于“true”,就只查询一级供应室以及所有的申请科室,否则查全部科室 + String related = StrutsParamUtils.getPraramValue("related", ""); + List orgUnitList = orgUnitManager + .searchOrgUnitBySpell(spell, related); + //验证当前登录用户是否属于临床科室 + // terry kwan,需要进一步重构如下代码,目前改为了只取用户的当前科室,下面的代码可以简化。2015-10-10 + String orgCodes = AcegiHelper.getLoginUser().getCurrentOrgUnitCode(); + boolean isApplicationDepart = true; //当前登录用户的当前科室是否属于临床科室(即:非“一级、二级供应室的用户”) + String [] orgUnitCodeArray = null ; + if(StringUtils.isNotBlank(orgCodes)){ //验证当前登录用户的当前科室是否为“一级、二级供应室的用户” + orgUnitCodeArray = orgCodes.split(","); + SupplyRoomConfig firstSupplyRoom = supplyRoomConfigManager.getFirstSupplyRoomConfig(); + List sencondSupplyrooms = supplyRoomConfigManager.getSupplyRoomList(SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM); + if(firstSupplyRoom != null){ + for(int i = 0;i < orgUnitCodeArray.length;i++){ + if(orgUnitCodeArray[i].equals(firstSupplyRoom.getOrgUnitCoding())){ + isApplicationDepart = false; + } + } + } + if(sencondSupplyrooms != null){ + for (SupplyRoomConfig supplyRoomConfig : sencondSupplyrooms) { + for(int i = 0;i < orgUnitCodeArray.length;i++){ + if(orgUnitCodeArray[i].equals(supplyRoomConfig.getOrgUnitCoding())){ + isApplicationDepart = false; + } + } + } + } + } + String userName = AcegiHelper.getLoginUser().getUserName(); + if(userName.equals("admin")){ + isApplicationDepart = false; + } + JSONArray jsonArray = new JSONArray(); + + //申请科室只能看到自己 + if(isApplicationDepart && StringUtils.isBlank(related)){ + if (orgUnitList != null && orgUnitCodeArray != null) { + for(int i = 0;i < orgUnitCodeArray.length;i++){ + for (int j = 0; j < orgUnitList.size(); j++) { + String orgCoding = orgUnitList.get(j).getOrgUnitCoding(); + if(orgUnitCodeArray[i].equals(orgCoding)){ + String orgName = null; + if (StringUtils.equals(withoutBaseOrg, "true")) { + orgName = orgUnitList.get(j).getName(); + } else { + orgName = orgUnitList.get(j).getCurrentOrgUnitNames(); + orgName = orgName.replace("组织机构-", ""); + } + JSONObject obj = new JSONObject(); + obj.put("id", orgCoding); + obj.put("name", orgName); + jsonArray.add(obj); + break; + } + } + } + } + //供应室、手术室可以查看所有科室 + }else{ + if (orgUnitList != null) { + for (int j = 0; j < orgUnitList.size(); j++) { + String orgCoding = orgUnitList.get(j).getOrgUnitCoding(); + String orgName = null; + if (StringUtils.equals(withoutBaseOrg, "true")) { + orgName = orgUnitList.get(j).getName(); + } else { + orgName = orgUnitList.get(j).getCurrentOrgUnitNames(); + orgName = orgName.replace("组织机构-", ""); + } + JSONObject obj = new JSONObject(); + obj.put("id", orgCoding); + obj.put("name", orgName); + jsonArray.add(obj); + } + } + } + //是否需要全选选项为是且时,增加全部的选项并列到最开头(针对聚合包的所属科室下拉多选框的数据源) + if(StringUtils.equals(StrutsParamUtils.getPraramValue("needAllOption", ""), "y") && jsonArray.size() > 1){ + JSONObject obj = new JSONObject(); + obj.put("id", ""); + obj.put("name", "全部"); + jsonArray.add(0, obj); + } + PageUtil.outPutResult(PageUtil.getPagePara(), jsonArray); + } /** * 获取一二级供应室