Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/operationroom/service/OperationRoomManager.java =================================================================== diff -u -r18292 -r27231 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/operationroom/service/OperationRoomManager.java (.../OperationRoomManager.java) (revision 18292) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/operationroom/service/OperationRoomManager.java (.../OperationRoomManager.java) (revision 27231) @@ -43,5 +43,18 @@ * @return */ public List findAllOperationRoomByKeyword(String keyword); + + /** + * 获取当前登录用户所属科室下的手术间 + * @return + */ + public List getOperationRoomByCurrentOrgUnitCode(); + + /** + * 根据科室编码获取手术间 + * @param orgUnitCode 科室编码 + * @return + */ + public List getOperationRoomByOrgUnitCode(String orgUnitCode); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/operationroom/service/OperationRoomManagerImpl.java =================================================================== diff -u -r23823 -r27231 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/operationroom/service/OperationRoomManagerImpl.java (.../OperationRoomManagerImpl.java) (revision 23823) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/operationroom/service/OperationRoomManagerImpl.java (.../OperationRoomManagerImpl.java) (revision 27231) @@ -13,6 +13,7 @@ import org.apache.commons.collections4.CollectionUtils; import com.forgon.Constants; +import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.disinfectsystem.entity.basedatamanager.operationRoom.OperationRoom; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.BasePoManagerImpl; @@ -201,4 +202,17 @@ public OperationRoom get(Long id) { return (OperationRoom) objectDao.getByProperty(OperationRoom.class.getSimpleName(), "id", id); } + + @SuppressWarnings("unchecked") + @Override + public List getOperationRoomByCurrentOrgUnitCode() { + String orgUnitCode = AcegiHelper.getCurrentOrgUnitCode(); + return objectDao.findByProperty(OperationRoom.class.getSimpleName(), "orgUnitCoding", orgUnitCode); + } + + @SuppressWarnings("unchecked") + @Override + public List getOperationRoomByOrgUnitCode(String orgUnitCode) { + return objectDao.findByProperty(OperationRoom.class.getSimpleName(), "orgUnitCoding", orgUnitCode); + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/operationroom/action/OperationRoomAction.java =================================================================== diff -u -r18292 -r27231 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/operationroom/action/OperationRoomAction.java (.../OperationRoomAction.java) (revision 18292) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/operationroom/action/OperationRoomAction.java (.../OperationRoomAction.java) (revision 27231) @@ -1,5 +1,6 @@ package com.forgon.disinfectsystem.basedatamanager.operationroom.action; +import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; @@ -132,6 +133,49 @@ } /** + * 获取当前登录用户所属科室下的手术间 + */ + public void getOperationRoomByCurrentOrgUnitCode() { + List list = operationRoomManager.getOperationRoomByCurrentOrgUnitCode(); + JSONArray jsonArr = new JSONArray(); + for (OperationRoom operationRoom : list) { + JSONObject jsonObj = new JSONObject(); + jsonObj.put("id", operationRoom.getId()); + jsonObj.put("operationRoomName", operationRoom.getOperationRoomName()); + jsonArr.add(jsonObj); + } + JSONObject jsonObj = new JSONObject(); + jsonObj.put("totalCount", jsonArr.size()); + jsonObj.put("data", jsonArr.toString()); + StrutsResponseUtils.output(jsonObj); + } + + /** + * 根据科室编码获取手术间,科室编码为空则返回所有手术间 + * @param orgUnitCode 科室编码 + */ + public void getOperationRoomByOrgUnitCode() { + String orgUnitCode = StrutsParamUtils.getPraramValue("orgUnitCode", ""); + List list = new ArrayList(); + if (StringUtils.isBlank(orgUnitCode)) { + list = operationRoomManager.findAllOperationRoomByKeyword(""); + } else { + list = operationRoomManager.getOperationRoomByOrgUnitCode(orgUnitCode); + } + JSONArray jsonArr = new JSONArray(); + for (OperationRoom operationRoom : list) { + JSONObject jsonObj = new JSONObject(); + jsonObj.put("id", operationRoom.getId()); + jsonObj.put("operationRoomName", operationRoom.getOperationRoomName()); + jsonArr.add(jsonObj); + } + JSONObject jsonObj = new JSONObject(); + jsonObj.put("totalCount", jsonArr.size()); + jsonObj.put("data", jsonArr.toString()); + StrutsResponseUtils.output(jsonObj); + } + + /** * 获取某个手术间在树形视图上的路径 * @param searchId 目标对象的id * @return 返回值格式如:/0/1/2/3