Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java =================================================================== diff -u -r33750 -r33761 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 33750) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 33761) @@ -2257,7 +2257,7 @@ List result = new ArrayList(); List searchOrgUnitList = new ArrayList(); if(StringUtils.isBlank(simpleSpell)){ - String hql = String.format("select po from %s po where po.status is null or po.status = %s", OrgUnit.class.getSimpleName(), OrgUnit.STATUS_ENSABLED); + String hql = String.format("select po from %s po where po.status is null or po.status = %s order by po.parent.id, po.sequenceNumber ASC", OrgUnit.class.getSimpleName(), OrgUnit.STATUS_ENSABLED); searchOrgUnitList = objectDao.findByHql(hql); }else{ searchOrgUnitList = this.searchOrgUnitBySpellOrWbCode(simpleSpell, related); @@ -2316,5 +2316,29 @@ } return ""; } + + @Override + public List getTousseDefinitionBelongOrgUnitCodeBytdId(String tousseDefinitionId) { + + List belongOrgUnitCodeList = new ArrayList(); + if(!DatabaseUtil.isPoIdValid(tousseDefinitionId)){ + return belongOrgUnitCodeList; + } + String sql = "select po.orgUnitCoding from TousseDefinitionBelongDepart po where po.tousseDefinitionId = " + tousseDefinitionId; + ResultSet rs = null; + try { + rs = objectDao.executeSql(sql); + while(rs.next()){ + String orgUnitCoding = rs.getString("orgUnitCoding"); + belongOrgUnitCodeList.add(orgUnitCoding); + } + } catch (SQLException e) { + e.printStackTrace(); + } finally { + DatabaseUtil.closeResultSetAndStatement(rs); + } + + return belongOrgUnitCodeList; + } } Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java =================================================================== diff -u -r33750 -r33761 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 33750) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 33761) @@ -294,5 +294,12 @@ * @return */ public String valideOrgUnit(String orgUnitCodes); + + /** + * 查询器械包定义所属科室的科室编码 + * @param tousseDefinitionId + * @return + */ + public List getTousseDefinitionBelongOrgUnitCodeBytdId(String tousseDefinitionId); } Index: forgon-core/src/main/java/com/forgon/directory/action/OrgUnitAction.java =================================================================== diff -u -r33750 -r33761 --- forgon-core/src/main/java/com/forgon/directory/action/OrgUnitAction.java (.../OrgUnitAction.java) (revision 33750) +++ forgon-core/src/main/java/com/forgon/directory/action/OrgUnitAction.java (.../OrgUnitAction.java) (revision 33761) @@ -27,6 +27,7 @@ import com.forgon.directory.service.OrgUnitManager; import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.StrutsResponseUtils; +import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.json.JsonDefaultValueProcessor; @@ -555,11 +556,17 @@ */ public void searchOrgUnitAndParentBySpellOrWbCode(){ String spell = StrutsParamUtils.getPraramValue("spell", ""); + String tousseDefinitionId = StrutsParamUtils.getPraramValue("tousseDefinitionId", ""); JSONObject result = new JSONObject(); result.put("code", 0); result.put("msg", "操作成功"); JSONArray data = new JSONArray(); List orgUnitList = orgUnitManager.searchOrgUnitAndParentBySpellOrWbCode(spell, "false"); + //根据器械包定义id获得所属科室 + List orgUnitCodeList = new ArrayList(); + if(DatabaseUtil.isPoIdValid(tousseDefinitionId)){ + orgUnitCodeList = orgUnitManager.getTousseDefinitionBelongOrgUnitCodeBytdId(tousseDefinitionId); + } JSONObject root = new JSONObject(); root.put("id", 0); root.put("title", "组织机构"); @@ -578,6 +585,9 @@ json.put("id", orgUnit.getId()); json.put("title", orgUnit.getName()); json.put("checkArr", "0"); + if(orgUnitCodeList.contains(orgUnit.getOrgUnitCoding())){ + json.put("checkArr", "1"); + } OrgUnit parent = (OrgUnit) orgUnit.getParent(); json.put("parentId", -1); if(parent != null){