Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/dwr/table/TousseDefinitionTableManager.java =================================================================== diff -u -r39804 -r40599 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/dwr/table/TousseDefinitionTableManager.java (.../TousseDefinitionTableManager.java) (revision 39804) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/dwr/table/TousseDefinitionTableManager.java (.../TousseDefinitionTableManager.java) (revision 40599) @@ -659,12 +659,16 @@ /** * 根据拼音简拼,获取内部器械包和一次性物品NAME和ID - * + * @param spell + * @param pages + * @param countOfLI + * @param appCode + * @param tousseType + * @param onlyQueryAppCode 只查询包定义所属科室为当前科室的包 * @return - * @throws Exception */ public String getInsideTousseAndDiposableGoods(String spell, String pages, - String countOfLI, String appCode, String tousseType) { + String countOfLI, String appCode, String tousseType, Boolean onlyQueryAppCode) { if (spell == null) { return null; } @@ -683,7 +687,7 @@ countOfLI = "10"; } return tousseDefinitionManager.searchInsideTousse(spell, pages, - countOfLI, appCode, tousseType); + countOfLI, appCode, tousseType, onlyQueryAppCode); } catch (UnsupportedEncodingException e) { e.printStackTrace(); Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java =================================================================== diff -u -r40302 -r40599 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 40302) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 40599) @@ -197,8 +197,9 @@ * 触摸屏回收(只搜索需要回收的器械包和消毒物品). * @param appCode 申请科室编码(ZJJSRM-2 根据科室编码查找黑白名单,并根据黑白名单过滤物品) * @param tousseType 制定查询的包类型 只有isSeachTousse=true 才有效 + * @param onlyQueryAppCode 只查询包定义归属科室 */ - public String searchInsideTousse(String simpleSpell,String pages,String countOfLI, String appCode, String tousseType); + public String searchInsideTousse(String simpleSpell,String pages,String countOfLI, String appCode, String tousseType, Boolean onlyQueryAppCode); /** * 搜索器械包(含消毒物品)和一次性物品,返回JSONObject对象. @@ -498,6 +499,37 @@ String pageIndex, String countOfLI, boolean showDisableGoods, boolean showExternalCodeOfDisposableGoods,String settleAccountsDepartCoding,String handleDepartCode,String specifyDisposableTypes,boolean useAssetsBelong, String tousseType); /** + * 根据关键字进行检索,获取器械包或一次性物品..
+ * 如果searchString为中文,则按照器械包的(拼音码、五笔码、外部编码、名称)这四个字段进行检索
+ * 如果searchString为英文,则根据用户属性表的searchMode字段来决定
+ * + * @param simpleSpell 检索的关键字 + * @param isSeachTousse 为true时只查询器械包,为false时只查询一次性物品 + * @param includeCoustomTousse 为true时不过滤自定义器械包,为false时过滤自定义器械包 + * @param includeForeignTousse 为true时包含外来器械包,为false时过滤外来器械包 + * @param searchTousseBelonged 是否只搜索登录用户当前科室能处理的器械包 + * @param onlySearchRecyclingTousse 是否只搜索要回收的器械包 + * @param pageIndex 页码 + * @param countOfLI 显示数目,当countOfLI为0时查询所有的记录,不分页 + * @param showDisableGoods 是否显示禁用物品 + * @param showExternalCodeOfDisposableGoods 是否显示一次性物品的外部编码 + * @param settleAccountsDepartCoding + * @param handleDepartCode + * @param specifyDisposableTypes 是否包含指定的一次性物品类型,格式:{include:是否包含,disposableTypes:'一次性物品类型集合'} + * @param useAssetsBelong 使用资产归属过滤 + * @param tousseType 制定查询的包类型 只有isSeachTousse=true 才有效 + * @param tousseDefinitionBelongDepartCode 包定义所属科室 + * @return + */ + public List> searchTousseOrDiposableGoodsBySpellAndWbCode( + String simpleSpell, boolean isSeachTousse, + boolean includeCoustomTousse, boolean searchTousseBelonged, + boolean onlySearchRecyclingTousse, boolean displayPrice, + boolean includeForeignTousse, + String pageIndex, String countOfLI, boolean showDisableGoods, + boolean showExternalCodeOfDisposableGoods,String settleAccountsDepartCoding,String handleDepartCode,String specifyDisposableTypes,boolean useAssetsBelong + , String tousseType, String tousseDefinitionBelongDepartCode); + /** * 根据包定义查找包定义,因为可能会存在多个,这里取id最大的. * @param tousseDefinition * @return Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r40302 -r40599 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 40302) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 40599) @@ -1777,7 +1777,8 @@ boolean showDisableGoods, boolean showExternalCodeOfDisposableGoods, String settleAccountsDepartCoding, String handleDepartCode, - String specifyDisposableTypes, boolean useAssetsBelong, String tousseType) { + String specifyDisposableTypes, boolean useAssetsBelong, String tousseType, String tousseDefinitionBelongDepartCode) { + // 有些输入法会输入"'",要过滤掉,不过滤执行sql会报异常 if(StringUtils.isNotBlank(simpleSpell)){ simpleSpell = simpleSpell.replace("'", ""); @@ -1796,6 +1797,11 @@ if (onlySearchRecyclingTousse){ sql += " and po.isRecycling = '"+TousseDefinition.STR_YES+"' and po.tousseType in ('"+ TousseDefinition.PACKAGE_TYPE_INSIDE +"','"+ TousseDefinition.PACKAGE_TYPE_DISINFECTION +"') "; } + if(StringUtils.isNotBlank(tousseDefinitionBelongDepartCode)){ + sql += " and exists (select 1 from " + + TousseDefinitionBelongDepart.class.getSimpleName() + + " tdbd where tdbd.tousseDefinitionId=po.id and tdbd.orgUnitCoding='"+ tousseDefinitionBelongDepartCode +"')"; + } if(StringUtils.isNotBlank(tousseType)){ sql += (" and po.tousseType = '" + tousseType + "'"); @@ -2434,10 +2440,13 @@ */ @Override public String searchInsideTousse(String simpleSpell, String pages, - String countOfLI, String appCode, String tousseType) { + String countOfLI, String appCode, String tousseType, Boolean onlyQueryAppCode) { boolean showNonRecyclableTousseInRecycle = CssdUtils.getSystemSetConfigByNameBool("showNonRecyclableTousseInRecycle", false); List> mapList = searchTousseOrDiposableGoodsBySpellAndWbCode( - simpleSpell, true, false, true, !showNonRecyclableTousseInRecycle,false, pages, countOfLI,false,false,null,null,null,true,tousseType); + simpleSpell, true, false, true + , !showNonRecyclableTousseInRecycle,false, false, pages, countOfLI,false + ,false,null,null,null,true,tousseType + , onlyQueryAppCode != null && onlyQueryAppCode?appCode:null); JSONArray array = new JSONArray(); int countOfLIInt = Integer.valueOf(countOfLI); String appIsUseBwList = CssdUtils.getSystemSetConfigByName("appIsUseBwList"); @@ -8774,5 +8783,16 @@ tousseNoteViewRecord.setViewTime(new Date()); objectDao.saveOrUpdate(tousseNoteViewRecord); } - + @Override + public List> searchTousseOrDiposableGoodsBySpellAndWbCode( + String simpleSpell, boolean isSeachTousse, + boolean includeCoustomTousse, boolean searchTousseBelonged, + boolean onlySearchRecyclingTousse, boolean displayPrice, + boolean includeForeignTousse, String pageIndex, String countOfLI, + boolean showDisableGoods, + boolean showExternalCodeOfDisposableGoods, + String settleAccountsDepartCoding, String handleDepartCode, + String specifyDisposableTypes, boolean useAssetsBelong, String tousseType) { + return searchTousseOrDiposableGoodsBySpellAndWbCode(simpleSpell, isSeachTousse, includeCoustomTousse, searchTousseBelonged, onlySearchRecyclingTousse, displayPrice, includeForeignTousse, pageIndex, countOfLI, showDisableGoods, showExternalCodeOfDisposableGoods, settleAccountsDepartCoding, handleDepartCode, specifyDisposableTypes, useAssetsBelong, tousseType, null); + } }