Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r17609 -r18175 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 17609) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 18175) @@ -58,6 +58,7 @@ import org.apache.commons.collections4.Transformer; import org.apache.commons.collections4.map.MultiValueMap; import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import org.apache.log4j.Logger; @@ -66,6 +67,7 @@ import org.apache.struts2.convention.annotation.ParentPackage; import org.hibernate.Query; +import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -897,10 +899,10 @@ for (DepartmentAppTemplate template : templates) { JSONArray toussesJsonArray = new JSONArray(); - - //根据申请单来过滤相关物品,器械包申请单只有器械包,消毒物品申请单只有消毒物品,敷料包申请单只有敷料包 + //根据申请单来过滤相关物品,器械包申请单只有器械包,消毒物品申请单只有消毒物品,敷料包申请单只有敷料包,省医版本三则是申领物品的模板要有器械包,消毒物品和敷料包 // List tempList = this.filterGoodByType(template,goodType); - List tempList = tousseDefinitionHelper.filterGoodByType(template,goodType, isSpInstrumentFrom ? "tousseGroupName" : "tousseType"); + String recyclingApplicationVersion = CssdUtils.getSystemSetConfigByName("recyclingApplicationVersion"); + List tempList = tousseDefinitionHelper.filterGoodByType(template, goodType, isSpInstrumentFrom ? "tousseGroupName" : ObjectUtils.equals("3", recyclingApplicationVersion) ? "gdsy3" : "tousseType"); //按照sortNumber重新排序 departmentAppTemplateManager.sortTousseTemplateItems(tempList); departmentAppTemplateManager.tousseDefinitionTemplateItems2JsonArray(toussesJsonArray, tempList, tousseDefinitionFloatPercent); Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionHelper.java =================================================================== diff -u -r17506 -r18175 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionHelper.java (.../TousseDefinitionHelper.java) (revision 17506) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionHelper.java (.../TousseDefinitionHelper.java) (revision 18175) @@ -6,14 +6,16 @@ import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.tools.util.SqlUtils; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; +import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; /** * Created by zhonghaowen on 2016/10/18. @@ -110,7 +112,7 @@ else if ("combo".equals(tousseType) || TousseDefinition.PACKAGE_TYPE_INSIDE.equals(tousseType)) { String type = tousseDefinition.getTousseType(); //器械包和敷料包 - if (tousseDefinition.PACKAGE_TYPE_INSIDE.equals(type) || TousseDefinition.PACKAGE_TYPE_DRESSING.equals(type)) { + if (TousseDefinition.PACKAGE_TYPE_INSIDE.equals(type) || TousseDefinition.PACKAGE_TYPE_DRESSING.equals(type)) { map = this.setReturnResult(tousseDefinition, price); } //消毒物品 @@ -168,10 +170,30 @@ * * @param template 申请模板 * @param goodType 物品种类 - * @param useWhatFilter 运用什么过滤,tousseType或者tousseGroupName + * @param useWhatFilter 运用什么过滤,tousseType或者tousseGroupName或者gdsy3 * @return 返回过滤后的物品 */ public List filterGoodByType(DepartmentAppTemplate template, String goodType, String useWhatFilter) { + List tempLists = template.getTousseDefinitionTemplateItems(); + if (CollectionUtils.isEmpty(tempLists)){ + return new ArrayList<>(); + } + if ("tousseType".equals(useWhatFilter)) { + return tempLists.stream().filter(templateItem -> goodType.equals(templateItem.getTousseDefinition().getTousseType())).collect(Collectors.toList()); + } + if ("tousseGroupName".equals(useWhatFilter)) { + return tempLists.stream().filter(templateItem -> goodType.equals(templateItem.getTousseDefinition().getTousseGroupName())).collect(Collectors.toList()); + } + //省医版本3的过滤 + if ("gdsy3".equals(useWhatFilter)) { + return tempLists.stream().filter(templateItem -> { + String tousseType = templateItem.getTousseDefinition().getTousseType(); + return TousseDefinition.PACKAGE_TYPE_INSIDE.equals(tousseType) || TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(tousseType) || TousseDefinition.PACKAGE_TYPE_DRESSING.equals(tousseType); + }).collect(Collectors.toList()); + } + return new ArrayList<>(); + } + /* public List filterGoodByType(DepartmentAppTemplate template, String goodType, String useWhatFilter) { List tempList = new LinkedList<>(); List tempLists = template.getTousseDefinitionTemplateItems(); for (TousseDefinitionTemplateItem t : tempLists) { @@ -186,9 +208,16 @@ tempList.add(t); } } + //省医版本3的过滤 + else if ("gdsy3".equals(useWhatFilter)) { + String tousseType = t.getTousseDefinition().getTousseType(); + if (TousseDefinition.PACKAGE_TYPE_INSIDE.equals(tousseType) || TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(tousseType) || TousseDefinition.PACKAGE_TYPE_DRESSING.equals(tousseType)) { + tempList.add(t); + } + } } return tempList; - } + }*/ /** * 根据申请单的类型获得过滤的sql条件