Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java =================================================================== diff -u -r35141 -r35341 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 35141) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 35341) @@ -53,6 +53,7 @@ import com.forgon.disinfectsystem.basedata.becleanitem.service.ClassifyBasketManager; import com.forgon.disinfectsystem.basedatamanager.departmentgroup.service.DepartmentGroupManager; import com.forgon.disinfectsystem.basedatamanager.reportoption.GoodsOptionManager; +import com.forgon.disinfectsystem.basedatamanager.specialInfection.service.SpecialInfectionManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseDefinitionUtils; import com.forgon.disinfectsystem.common.CssdUtils; @@ -79,6 +80,7 @@ import com.forgon.disinfectsystem.entity.recyclingerror.RecyclingError; import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingItem; import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; +import com.forgon.disinfectsystem.entity.specialInfection.SpecialInfection; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.entity.urgentgoodswarning.UrgentGoodsWarning; import com.forgon.disinfectsystem.entity.useRecord.UseRecord; @@ -191,6 +193,12 @@ private ImageFileManager imageFileManager; + private SpecialInfectionManager specialInfectionManager; + + public void setSpecialInfectionManager( + SpecialInfectionManager specialInfectionManager) { + this.specialInfectionManager = specialInfectionManager; + } public void setImageFileManager(ImageFileManager imageFileManager) { this.imageFileManager = imageFileManager; } @@ -1008,6 +1016,8 @@ //申请单和对应的包条码 Map> invoicePlanIdAndTousseBarcodesMap = new HashMap>(); Set barcodes = new HashSet();// 指定申请单的所有包条码 + //因为申请单只记有感染名称 没有颜色和id 所以需要查出名称对应的颜色 + Map specialInfectionMap = specialInfectionManager.getSpecialInfectionMap(); if(CollectionUtils.isNotEmpty(invoicePlanList)){ for(InvoicePlan ip : invoicePlanList){ if(extraQuerys != null && (extraQuerys.contains("物品清单") || extraQuerys.contains("包数"))){ @@ -1022,13 +1032,13 @@ if(StringUtils.isBlank(applyTimeOrder) && InvoicePlan.TYPE_DISINFECT_GOODS_APPLICATION_FORM.equals(ip.getType())){ disinfectApp.add(ip); }else{ - buildJsonItem(jsonArray, ip); + buildJsonItem(jsonArray, ip, specialInfectionMap); } } } //消毒物品申请单排在最后 for (InvoicePlan ip : disinfectApp) { - buildJsonItem(jsonArray, ip); + buildJsonItem(jsonArray, ip, specialInfectionMap); } if(CollectionUtils.isNotEmpty(invoicePlanIds)){ setListOfItemsAndTousseAmount(extraQuerys, barcodes, invoicePlanIds, invoicePlanIdAndTousseBarcodesMap, jsonArray); @@ -1133,7 +1143,7 @@ invoicePlanObj.put("listOfItems", listOfItems); } } - private void buildJsonItem(JSONArray jsonArray, InvoicePlan ip) { + private void buildJsonItem(JSONArray jsonArray, InvoicePlan ip, Map specialInfectionMap) { JSONObject obj = new JSONObject(); obj.put("id",ip.getId()); obj.put("depart", StringTools.getDefaultString((ip.getDepart()))); @@ -1151,6 +1161,9 @@ obj.put("urgentLevel", ip.getUrgentLevel()); obj.put("urgent",ip.getUrgent()); obj.put("specialInfection",ip.getSpecialInfection()); + if(StringUtils.isNotBlank(ip.getSpecialInfection()) && specialInfectionMap != null && specialInfectionMap.containsKey(ip.getSpecialInfection())){ + obj.put("specialInfectionColorCode", specialInfectionMap.get(ip.getSpecialInfection()).getColorCode()); + } jsonArray.add(obj); } /**