Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java =================================================================== diff -u -r27704 -r29529 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 27704) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 29529) @@ -736,6 +736,22 @@ public String findUnReviewedTousseInstanceList( Map> parameterMap) { Map sqlWhereParamMap = gridManager.getParamFromView(parameterMap); + boolean enableUrgentFunction = CssdUtils.getSystemSetConfigByNameBool("enableUrgentFunction", false); + if(enableUrgentFunction){//清空原有排序,定义新的排序 + if(MapUtils.isNotEmpty(parameterMap)){ + for (String key : parameterMap.keySet()) { + if(StringUtils.isBlank(key)){ + continue; + } + if(key.startsWith(gridManager.GRID_MAPPARAM_SORT_PREFIX)){ + parameterMap.put(key, new ArrayList()); + } + } + List sortOrder = new ArrayList(); + sortOrder.add("desc"); + parameterMap.put("grid_sort_urgentLevel.grade desc,po.id", sortOrder); + } + } //hql语句:where StringBuilder sqlBuilderWhere = new StringBuilder(String.format(" WHERE po.status = '%s'", TousseInstance.STATUS_PACKED)); sqlBuilderWhere.append(String.format(" AND po.orgUnitCoding = '%s'", AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig())); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r29528 -r29529 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 29528) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 29529) @@ -17,10 +17,10 @@ import java.util.Calendar; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.LinkedList; @@ -1746,17 +1746,31 @@ } } if(unScanBasketTaskMap.size() > 0){ + boolean isUrgent = false;//是否有加急 如果有 那么页面上看到的装配任务的文件夹要按照紧急程度排序 for (String name : unScanBasketTaskMap.keySet()) { WaitPackingTaskVo vo = unScanBasketTaskMap.get(name); if(enableUrgentFunction){ Integer urgentAmount = vo.getUrgentAmount(); if(urgentAmount != null && urgentAmount > 0){ //设置WaitPackingTaskVo的最高加急信息 calcAndSetUrgentLevelOfWaitPackingTaskVo(vo); + if(!isUrgent){ + isUrgent = true; + } } } taskVos.add(vo); } + if(isUrgent){ + Collections.sort(taskVos,new Comparator() { + @Override + public int compare(WaitPackingTaskVo b1, + WaitPackingTaskVo b2) { + return b2.getGrade().compareTo( + b1.getGrade()); + } + }); + } } return taskVos; } @@ -1782,6 +1796,7 @@ if(maxUl != null){ vo.setColorCode(maxUl.getColorCode()); vo.setUrgentLevel(maxUl.getName()); + vo.setGrade(maxUl.getGrade()); } } /**