Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationViewVersion2.jsp =================================================================== diff -u -r14668 -r15366 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationViewVersion2.jsp (.../goodsApplicationViewVersion2.jsp) (revision 14668) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationViewVersion2.jsp (.../goodsApplicationViewVersion2.jsp) (revision 15366) @@ -49,13 +49,13 @@ 申请消毒物品 -
  • +
  • 申请敷料包
  • -
  • +
  • Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java =================================================================== diff -u -r15324 -r15366 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java (.../InvoicePlan.java) (revision 15324) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java (.../InvoicePlan.java) (revision 15366) @@ -224,6 +224,8 @@ public final static String TYPE_DIPOSABLE_GOODS_APPLICATION_FORM = "一次性物品申请单"; public final static String TYPE_DISINFECT_GOODS_APPLICATION_FORM = "消毒物品申请单"; public final static String TYPE_BORROWINGSINGLE = "借物单"; + public final static String TYPE_DRESSING_APPLICATION_FROM = "敷料包申请单"; + public final static String TYPE_SPECIALIZED_INSTRUMENT_APPLICATION_FROM = "专科器械申请单"; public final static String TYPE_APPLYING_FOR_RETURN_FORM= "申请还物单"; public final static String TYPE_PROXYDISINFECTION = "代理灭菌单"; public final static String TYPE_FOREIGNPROXYDISINFECTION = "外部器械包代理灭菌申请单"; Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java =================================================================== diff -u -r15254 -r15366 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 15254) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 15366) @@ -21,6 +21,7 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionHelper; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; @@ -1467,20 +1468,11 @@ } String showExternalCode = StrutsParamUtils.getPraramValue("showExternalCodeOfDisposableGoods", "false"); - - if (tousseType.indexOf(TousseDefinition.PACKAGE_TYPE_INSIDE) >= 0){ - tousseType = TousseDefinition.PACKAGE_TYPE_INSIDE; - } - else if (tousseType.indexOf(TousseItem.TYPE_DIPOSABLE_GOODS) >= 0){ - tousseType = TousseItem.TYPE_DIPOSABLE_GOODS; - } - else if (tousseType.indexOf(TousseDefinition.PACKAGE_TYPE_DISINFECTION) >= 0){ - tousseType = TousseDefinition.PACKAGE_TYPE_DISINFECTION; - } - else{ - tousseType = ""; - } - + + TousseDefinitionHelper tousseDefinitionHelper = TousseDefinitionHelper.getInstance(); + tousseDefinitionHelper.setTousseDefinitionManager(tousseDefinitionManager); + tousseType = tousseDefinitionHelper.setGoodTypeByFormType(tousseType); + if (spell == null) { spell = ""; } @@ -1512,40 +1504,8 @@ if(CollectionUtils.isNotEmpty(tousseDefinitiionList)){ for(TousseDefinition tousseDefinition : tousseDefinitiionList){ - Map map = null; - Double price = tousseDefinition.getPrice(); - if(tousseDefinition.isDisinfection()){ - price = tousseDefinitionManager.getDisinfectGoodsPrice(tousseDefinition); - } - //如果类型为消毒物品,则只保留类型为消毒物品的数据 - if(TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(tousseType)){ - if(tousseDefinition.isDisinfection()){ - map = new HashMap(); - map.put("id", tousseDefinition.getId()); - map.put("name", tousseDefinition.getName()); - map.put("borrowPrice", tousseDefinition.getBorrowPrice() == null ? 0 : tousseDefinition.getBorrowPrice()); - map.put("displayName", StringUtils.isNotBlank(tousseDefinition.getExternalCode()) ? tousseDefinition.getExternalCode() + " " + tousseDefinition.getName() : tousseDefinition.getName()); - map.put("isCleanedEntirely", tousseDefinition.getIsCleanedEntirely()); - map.put("price", price); - map.put("spelling", tousseDefinition.getSpelling()); - map.put("tousseType", tousseDefinition.getTousseType()); - map.put("type", tousseDefinition.getTousseType()); - map.put("unit", tousseDefinition.getUnit()); - } - }else{ - map = new HashMap(); - map.put("id", tousseDefinition.getId()); - map.put("name", tousseDefinition.getName()); - map.put("borrowPrice", tousseDefinition.getBorrowPrice() == null ? 0 : tousseDefinition.getBorrowPrice()); - map.put("displayName", StringUtils.isNotBlank(tousseDefinition.getExternalCode()) ? tousseDefinition.getExternalCode() + " " + tousseDefinition.getName() : tousseDefinition.getName()); - map.put("isCleanedEntirely", tousseDefinition.getIsCleanedEntirely()); - map.put("price", price); - map.put("spelling", tousseDefinition.getSpelling()); - map.put("tousseType", tousseDefinition.getTousseType()); - map.put("type", tousseDefinition.getTousseType()); - map.put("unit", tousseDefinition.getUnit()); - } - + Map map = tousseDefinitionHelper.filterResultByTousseType(tousseType,tousseDefinition); + if(map != null){ map.put("isApplyEntireTousse", tousseDefinition.getIsApplyEntireTousse()); String isDisableIDCard = tousseDefinition.getIsDisableIDCard(); @@ -1589,7 +1549,8 @@ result.put("totalCount", mapList.size()); result.put("data", mapDataList); json = JSONObject.fromObject(result); - }else{ + } + else{ Map result = tousseDefinitionManager.searchComboGoods(spell, tousseType,showReferencePrice,showExternalCodeOfDisposableGoods,null); List> mapList = (List>)result.get("data"); List> mapDataList = mapList; @@ -1606,14 +1567,7 @@ } json = JSONObject.fromObject(result); } - - HttpServletResponse response = StrutsParamUtils.getResponse(); - response.setCharacterEncoding("UTF-8"); - PrintWriter out; - - out = response.getWriter(); - out.print(json); - out.close(); + StrutsResponseUtils.output(json); } catch (IOException e) { e.printStackTrace(); } Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp =================================================================== diff -u -r15256 -r15366 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 15256) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 15366) @@ -106,6 +106,8 @@ var tousseApplicationForm = '<%=InvoicePlan.TYPE_TOUSSE_APPLICATION_FORM%>';//器械包申请单 var diposableGoodsApplicationForm = '<%=InvoicePlan.TYPE_DIPOSABLE_GOODS_APPLICATION_FORM%>';//一次性物品申请单 var disinfectGoodsApplicationForm = '<%=InvoicePlan.TYPE_DISINFECT_GOODS_APPLICATION_FORM%>';//消毒物品申请单 +var dressingApplicationForm = '<%=InvoicePlan.TYPE_DRESSING_APPLICATION_FROM%>';//敷料包申请单 +var spInstrumentApplicationForm = '<%=InvoicePlan.TYPE_SPECIALIZED_INSTRUMENT_APPLICATION_FROM%>';//专科器械申请单 var customTousseApplicationForm = '<%=InvoicePlan.TYPE_CUSTOM_TOUSSE_APPLIACTION_FORM%>';//自定义器械包申请单 var tousseLeaseApplicationForm = '<%=InvoicePlan.TYPE_BORROWINGSINGLE%>';//借物单 var foreignPorxyApplicationForm = '<%=InvoicePlan.TYPE_FOREIGNPROXYDISINFECTION%>';//外部代理灭菌单 Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationViewVersion2.js =================================================================== diff -u -r14719 -r15366 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationViewVersion2.js (.../goodsApplicationViewVersion2.js) (revision 14719) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationViewVersion2.js (.../goodsApplicationViewVersion2.js) (revision 15366) @@ -19,8 +19,17 @@ Ext.get('disinfectGoodsApplication').addListener('click', function (e) { openApplication(invoicePlanForTousseType_Tousse, disinfectGoodsApplicationForm); // addAndEditUntracableTousse('', 0, "01", function () { }); + }); + //敷料包申请单 + Ext.get('dressingApplication').addListener('click', function (e) { + openApplication(invoicePlanForTousseType_Tousse, dressingApplicationForm); }); + + //专科器械申请单 + Ext.get('spInstrumentApplication').addListener('click', function (e) { + openApplication(invoicePlanForTousseType_Tousse, spInstrumentApplicationForm); + }); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r15308 -r15366 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 15308) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 15366) @@ -120,6 +120,7 @@ public static final String PACKAGE_TYPE_DRESSING = "敷料包"; public static final String PACKAGE_TYPE_HOMEMADE = "自制物品"; + public static final String TOUSSE_GROUP_SPECIALIZED_INSTRUMENT = "专科器械组"; private static String MATERIALSMD5_SEPARATOR = "_#$&_";// 材料md5分隔符 Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r15249 -r15366 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 15249) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 15366) @@ -10,8 +10,6 @@ import com.forgon.disinfectsystem.entity.basedatamanager.departmentapplicationtemplate.DepartmentAppTemplate; import com.forgon.disinfectsystem.entity.basedatamanager.departmentapplicationtemplate.DiposableGoodsTemplateItem; import com.forgon.disinfectsystem.entity.basedatamanager.departmentapplicationtemplate.TousseDefinitionTemplateItem; -import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; -import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.invoicemanager.Invoice; @@ -27,12 +25,12 @@ import com.forgon.disinfectsystem.recyclingapplication.service.RecyclingApplicationManager; import com.forgon.disinfectsystem.tousse.imagefilemanager.service.ImageFileManager; import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionHelper; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.disinfectsystem.tousseitem.service.TousseItemManager; import com.forgon.disinfectsystem.vo.TousseItemVo; import com.forgon.serialnumber.model.SerialNum; import com.forgon.serialnumber.service.SerialNumManager; -import com.forgon.tools.ImageUtils; import com.forgon.tools.MathTools; import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.StrutsResponseUtils; @@ -64,9 +62,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.io.OutputStream; import java.io.PrintWriter; -import java.net.URLDecoder; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; @@ -75,7 +71,6 @@ import java.util.Date; import java.util.HashMap; import java.util.Iterator; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -679,6 +674,11 @@ String applicationFormType = StrutsParamUtils.getPraramValue("applicationType", ""); boolean isTousseApplicationForm = applicationFormType.equals(InvoicePlan.TYPE_TOUSSE_APPLICATION_FORM); boolean isTousseDisinfectFrom = applicationFormType.equals(InvoicePlan.TYPE_DISINFECT_GOODS_APPLICATION_FORM); + boolean isDressFrom = applicationFormType.equals(InvoicePlan.TYPE_DRESSING_APPLICATION_FROM); + boolean isSpInstrumentFrom = applicationFormType.equals(InvoicePlan.TYPE_SPECIALIZED_INSTRUMENT_APPLICATION_FROM); + TousseDefinitionHelper tousseDefinitionHelper = TousseDefinitionHelper.getInstance(); + //根据申请单类型来设置物品类型,用于后面filterGoodByType()方法来过滤对应的物品 + String goodType = tousseDefinitionHelper.setGoodTypeByFormType(applicationFormType); // 模板Id String templateId = StrutsParamUtils.getPraramValue("templateId", null); // 申请单Id @@ -787,8 +787,8 @@ // 供应室默认拿第一个模板(供应室支持多张模板,页面提供模板切换功能) if (isSupplyRoom) { - //如果是机械包申请单或者消毒物品申请单 - if (isTousseApplicationForm || isTousseDisinfectFrom) { + //如果是机械包申请单或者消毒物品申请单或者敷料包申请单或者专科器械申请单 + if (isTousseApplicationForm || isTousseDisinfectFrom || isDressFrom || isSpInstrumentFrom) { if (templates != null && templates.size() > 0) { for (DepartmentAppTemplate template : templates) { String templateType = template.getTemplateType(); @@ -799,8 +799,8 @@ .equals(templateType)) { JSONArray toussesJsonArray = new JSONArray(); - //如果是普通机械包申请单则要过滤掉消毒物品,如果是消毒物品申请单则要过滤机械包的普通物品(只留消毒物品) - List tempList = this.filterGoodByType(template,isTousseApplicationForm ? TousseDefinition.PACKAGE_TYPE_DISINFECTION:TousseDefinition.PACKAGE_TYPE_INSIDE); + // List tempList = this.filterGoodByType(template,isTousseApplicationForm ? TousseDefinition.PACKAGE_TYPE_DISINFECTION:TousseDefinition.PACKAGE_TYPE_INSIDE); + List tempList = tousseDefinitionHelper.filterGoodByType(template,goodType, isSpInstrumentFrom ? "tousseGroupName" : "tousseType"); departmentAppTemplateManager.tousseDefinitionTemplateItems2JsonArray(toussesJsonArray, tempList, tousseDefinitionFloatPercent); updateItemsApplyInfo(applicationItemMap, toussesJsonArray,applicationId); @@ -862,14 +862,15 @@ } // 临床科室查询所有申请模板后合并所有模板 } else { - if (isTousseApplicationForm || isTousseDisinfectFrom) { + if (isTousseApplicationForm || isTousseDisinfectFrom || isDressFrom || isSpInstrumentFrom) { if (templates != null) { for (DepartmentAppTemplate template : templates) { JSONArray toussesJsonArray = new JSONArray(); - //如果是普通机械包申请单则要过滤掉消毒物品,如果是消毒物品申请单则要过滤机械包的普通物品(只留消毒物品) - List tempList = this.filterGoodByType(template,isTousseApplicationForm ? TousseDefinition.PACKAGE_TYPE_DISINFECTION:TousseDefinition.PACKAGE_TYPE_INSIDE); + //根据申请单来过滤相关物品,器械包申请单只有器械包,消毒物品申请单只有消毒物品,敷料包申请单只有敷料包 + // List tempList = this.filterGoodByType(template,goodType); + List tempList = tousseDefinitionHelper.filterGoodByType(template,goodType, isSpInstrumentFrom ? "tousseGroupName" : "tousseType"); //按照sortNumber重新排序 departmentAppTemplateManager.sortTousseTemplateItems(tempList); departmentAppTemplateManager.tousseDefinitionTemplateItems2JsonArray(toussesJsonArray, tempList, tousseDefinitionFloatPercent); @@ -1045,22 +1046,6 @@ } } - /** - * 迭代模板查出来的物品,根据提供的物品种类来过滤相关的物品 - * @param template 申请模板 - * @param goodType 物品种类 - * @return 返回过滤后的物品 - */ - private List filterGoodByType(DepartmentAppTemplate template,String goodType){ - List tempList = new LinkedList<>(); - List tempLists = template.getTousseDefinitionTemplateItems(); - for (TousseDefinitionTemplateItem t : tempLists) { - if (!goodType.equals(t.getTousseDefinition().getTousseType())){ - tempList.add(t); - } - } - return tempList; - } private void setApplicationReaded(RecyclingApplication application, SupplyRoomConfig config) { Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js =================================================================== diff -u -r15276 -r15366 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 15276) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 15366) @@ -1171,7 +1171,10 @@ hideDiposableGoodsPrice = true; } comboGoodsStore.proxy.extraParams = {tousseType : type,hideDiposableGoodsPrice :hideDiposableGoodsPrice}; - + + // 设置申请单的类型,如果是消毒物品申请单,敷料包申请单和专科器械申请单,他们都属于器械包申请单,因此提交后申请单类型都算器械包申请单 + var formType = type == disinfectGoodsApplicationForm || type == dressingApplicationForm || type == spInstrumentApplicationForm ? tousseApplicationForm : type; + var departmentTemplateTitleStore = new Ext4.data.Store({ proxy : { type : 'ajax', @@ -1338,7 +1341,9 @@ icon: Ext4.Msg.INFO }); } - grid.dwrReload(); + if (!isUndefinedOrNullOrEmpty(grid)){ + grid.dwrReload(); + } }else{ showResult(action.result.message); } @@ -2140,7 +2145,7 @@ xtype : 'hidden', name : 'type', id : 'type', - value : type + value : formType }, { xtype : 'textfield', Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionHelper.java =================================================================== diff -u --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionHelper.java (revision 0) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionHelper.java (revision 15366) @@ -0,0 +1,155 @@ +package com.forgon.disinfectsystem.tousse.toussedefinition.service; + +import com.forgon.disinfectsystem.entity.basedatamanager.departmentapplicationtemplate.DepartmentAppTemplate; +import com.forgon.disinfectsystem.entity.basedatamanager.departmentapplicationtemplate.TousseDefinitionTemplateItem; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; +import org.apache.commons.lang.StringUtils; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * Created by zhonghaowen on 2016/10/18. + * TousseDefinition帮助类,用于按照一定的条件来过滤相关物品 + */ +public class TousseDefinitionHelper { + + + private static TousseDefinitionHelper tousseDefinitionHelper; + + private TousseDefinitionHelper() { + } + + private TousseDefinitionManager tousseDefinitionManager; + + + public static TousseDefinitionHelper getInstance() { + if (tousseDefinitionHelper == null) { + synchronized (TousseDefinitionHelper.class) { + if (tousseDefinitionHelper == null) { + tousseDefinitionHelper = new TousseDefinitionHelper(); + } + } + } + return tousseDefinitionHelper; + } + + public void setTousseDefinitionManager(TousseDefinitionManager tousseDefinitionManager) { + this.tousseDefinitionManager = tousseDefinitionManager; + } + + /** + * 根据tousseType来过滤对应的物品 + * + * @param tousseType 器械包类型 + * @param tousseDefinition 要过滤的物品po + * @return 过滤好的结果 + */ + public Map filterResultByTousseType(String tousseType, TousseDefinition tousseDefinition) { + Map map = null; + Double price = tousseDefinition.getPrice(); + //如果类型为消毒物品,则只保留类型为消毒物品的数据 + if (TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(tousseType)) { + if (tousseDefinition.isDisinfection()) { + price = tousseDefinitionManager.getDisinfectGoodsPrice(tousseDefinition); + map = this.setReturnResult(tousseDefinition, price); + } + } + //如果类型为敷料包,则只保留类型为敷料包的数据 + else if (TousseDefinition.PACKAGE_TYPE_DRESSING.equals(tousseType)) { + if (TousseDefinition.PACKAGE_TYPE_DRESSING.equals(tousseDefinition.getTousseType())) { + map = this.setReturnResult(tousseDefinition, price); + } + } + //如果器械包分组为专科器械组,则只保留类型为专科器械组的数据 + else if (TousseDefinition.TOUSSE_GROUP_SPECIALIZED_INSTRUMENT.equals(tousseType)) { + if (TousseDefinition.TOUSSE_GROUP_SPECIALIZED_INSTRUMENT.equals(tousseDefinition.getTousseGroupName())) { + map = this.setReturnResult(tousseDefinition, price); + } + } + else { + map = this.setReturnResult(tousseDefinition, price); + } + return map; + } + + + /** + * 根据申请单类型设置物品类型 + * + * @param applicationFormType 申请单类型 + * @return + */ + public String setGoodTypeByFormType(String applicationFormType) { + String goodType = ""; + switch (applicationFormType) { + case InvoicePlan.TYPE_TOUSSE_APPLICATION_FORM: + goodType = TousseDefinition.PACKAGE_TYPE_INSIDE; + break; + case InvoicePlan.TYPE_DISINFECT_GOODS_APPLICATION_FORM: + goodType = TousseDefinition.PACKAGE_TYPE_DISINFECTION; + break; + case InvoicePlan.TYPE_DRESSING_APPLICATION_FROM: + goodType = TousseDefinition.PACKAGE_TYPE_DRESSING; + break; + case InvoicePlan.TYPE_SPECIALIZED_INSTRUMENT_APPLICATION_FROM: + goodType = TousseDefinition.TOUSSE_GROUP_SPECIALIZED_INSTRUMENT; + break; + } + return goodType; + } + + /** + * 迭代模板查出来的物品,根据提供的物品种类来过滤相关的物品 + * + * @param template 申请模板 + * @param goodType 物品种类 + * @param useWhatFilter 运用什么过滤,tousseType或者tousseGroupName + * @return 返回过滤后的物品 + */ + public List filterGoodByType(DepartmentAppTemplate template, String goodType, String useWhatFilter) { + List tempList = new LinkedList<>(); + List tempLists = template.getTousseDefinitionTemplateItems(); + for (TousseDefinitionTemplateItem t : tempLists) { + // if (!goodType.equals(t.getTousseDefinition().getTousseType())){ + if ("tousseType".equals(useWhatFilter)) { + if (goodType.equals(t.getTousseDefinition().getTousseType())) { + tempList.add(t); + } + } + else if ("tousseGroupName".equals(useWhatFilter)) { + if (goodType.equals(t.getTousseDefinition().getTousseGroupName())) { + tempList.add(t); + } + } + } + return tempList; + } + + /** + * 设置返回结果 + * + * @param tousseDefinition + * @param price + * @return + */ + private Map setReturnResult(TousseDefinition tousseDefinition, Double price) { + Map map = new HashMap<>(); + map.put("id", tousseDefinition.getId()); + map.put("name", tousseDefinition.getName()); + map.put("borrowPrice", tousseDefinition.getBorrowPrice() == null ? 0 : tousseDefinition.getBorrowPrice()); + map.put("displayName", StringUtils.isNotBlank(tousseDefinition.getExternalCode()) ? tousseDefinition.getExternalCode() + " " + tousseDefinition.getName() : tousseDefinition.getName()); + map.put("isCleanedEntirely", tousseDefinition.getIsCleanedEntirely()); + map.put("price", price); + map.put("spelling", tousseDefinition.getSpelling()); + map.put("tousseType", tousseDefinition.getTousseType()); + map.put("type", tousseDefinition.getTousseType()); + map.put("unit", tousseDefinition.getUnit()); + return map; + } + + +}