Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java =================================================================== diff -u -r25754 -r26256 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java (.../SupplyRoomConfigManagerImpl.java) (revision 25754) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java (.../SupplyRoomConfigManagerImpl.java) (revision 26256) @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.regex.Matcher; @@ -23,6 +24,7 @@ import com.forgon.directory.model.OrgUnit; import com.forgon.directory.service.OrgUnitManager; import com.forgon.directory.vo.LoginUserData; +import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.systemsetting.service.SystemSettingManager; @@ -882,4 +884,56 @@ + "' and (po.supplyRoomType = " + SupplyRoomConfig.SUPPLYROOM_TYPE_EXPENSIVEGOODS_APPLY + ")"); } + + @Override + public String getOrderRuleOfDepartApplicationView() { + String orderRuleOfDepartApplicationView = CssdUtils.getSystemSetConfigByName("orderRuleOfDepartApplicationView"); + String orderColumnSqlByConfig = ""; + if(StringUtils.isNotBlank(orderRuleOfDepartApplicationView)){ + JSONArray jsonArray= JSONArray.fromObject(orderRuleOfDepartApplicationView); + if(jsonArray != null){ + for (Object obj : jsonArray) { + JSONObject jsonObject = (JSONObject)obj; + Iterator keys = jsonObject.keys(); + if(keys != null){ + while (keys.hasNext()) { + String columnName = keys.next(); + String order = jsonObject.optString(columnName); + //如果是按申请时间排序 + if("applicationTime".equalsIgnoreCase(columnName)){ + orderColumnSqlByConfig += ",applicationTime " + order; + break; + } + //如果是按提交状态排序 + if("committedStatus".equalsIgnoreCase(columnName)){ + orderColumnSqlByConfig += ",committedStatus " + order; + break; + } + //如果是按是否打印排序 + if("printed".equalsIgnoreCase(columnName)){ + orderColumnSqlByConfig += ",printed " + order; + break; + } + //如果是按科室名称排序 + if("depart".equalsIgnoreCase(columnName)){ + orderColumnSqlByConfig += ",depart " + order; + break; + } + //如果是按单状态排序 + if("orderByFiled".equalsIgnoreCase(columnName)){ + orderColumnSqlByConfig += ",orderByFiled " + order; + break; + } + } + } + } + if(!"".equals(orderColumnSqlByConfig)){//出掉多余的,号 + orderColumnSqlByConfig = orderColumnSqlByConfig.replaceFirst(",", ""); + } + } + }else{//默认排序 + orderColumnSqlByConfig = "committedStatus asc,printed asc,orderByFiled asc,applicationTime"; + } + return orderColumnSqlByConfig; + } } Index: ssts-web/src/main/webapp/disinfectsystem/config/gzzyyfy/config.js =================================================================== diff -u -r26254 -r26256 --- ssts-web/src/main/webapp/disinfectsystem/config/gzzyyfy/config.js (.../config.js) (revision 26254) +++ ssts-web/src/main/webapp/disinfectsystem/config/gzzyyfy/config.js (.../config.js) (revision 26256) @@ -147,5 +147,7 @@ //是否在回收模块废弃物品 isDiscardWithRecovery:true, //是否启用"一键扫描一次性物品"按钮,没配置或值为false,不启用该功能;值为true,启动该功能。 - oneKeyScanDisposableGoodsForPDA : true + oneKeyScanDisposableGoodsForPDA : true, + //科室申领视图列表的排序规则;最后对象的value为空,默认取对应js文件里的defaultSortDirection的value,现在为DESC;默认排序:committedStatus asc,printed asc,orderByFiled asc,applicationTime desc + orderRuleOfDepartApplicationView : '[{committedStatus:"ASC",},{printed:"ASC"},{depart:"ASC"},{orderByFiled:"ASC"},{applicationTime:""}]' } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp =================================================================== diff -u -r25556 -r26256 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 25556) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 26256) @@ -29,6 +29,8 @@ String currentOrgUnitCode = userData.getCurrentOrgUnitCode(); double toussePriceFluctuation = 1; SupplyRoomConfig sysParamsObj = supplyRoomConfigManager.getSystemParamsObj(); + String orderField = supplyRoomConfigManager.getOrderRuleOfDepartApplicationView(); + request.setAttribute("orderField",orderField); if (sysParamsObj != null){ toussePriceFluctuation = sysParamsObj.getToussePriceFluctuation(); } @@ -248,6 +250,10 @@ if(isCssdUser == 'true'){ sortFieldStr = 'committedStatus ASC, printed ASC, po.orderByFiled ASC, po.applicationTime'; } +var orderField = '<%=request.getAttribute("orderField")%>'; +if(orderField != ""){ + sortFieldStr = orderField; +} var TYPE_SUPPLIER = encodeURIComponent('<%=Supplier.SUPPLIER_TYPE_RENTTOUSSE%>'); var tousseType_tousse = '<%=TousseDefinition.PACKAGE_TYPE_INSIDE%>'; //器械包 Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManager.java =================================================================== diff -u -r23714 -r26256 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManager.java (.../SupplyRoomConfigManager.java) (revision 23714) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManager.java (.../SupplyRoomConfigManager.java) (revision 26256) @@ -248,4 +248,8 @@ * @return */ public SupplyRoomConfig getSupplyRoomConfigByOrgUnitCodingAndType(String orgUnitCoding, int type); + /** + * 获取config设置的科室申领排序规则,构建排序字段 + */ + public String getOrderRuleOfDepartApplicationView(); }