Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java =================================================================== diff -u -r26927 -r29145 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java (.../ContainerManagerImpl.java) (revision 26927) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java (.../ContainerManagerImpl.java) (revision 29145) @@ -3,7 +3,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Set; import net.sf.json.JSONObject; @@ -22,6 +25,7 @@ import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.db.InitDbConnection; import com.forgon.tools.hibernate.BasePoManagerImpl; +import com.forgon.tools.util.SqlUtils; /** * @author WangYi @@ -651,5 +655,23 @@ } return list; } - + @Override + public Map getBarcodeToContainerMap( + Set basketBarcodes) { + ResultSet rs = null; + Map resultMap = new HashMap(); + try { + List containers = getContainerListBySql(String.format(" where %s ", SqlUtils.getStringFieldInLargeCollectionsPredicate("po.barcode", basketBarcodes)), 0, 0); + if(CollectionUtils.isNotEmpty(containers)){ + for(Container container : containers){ + resultMap.put(container.getBarcode(), container); + } + } + } catch (Exception e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(rs); + } + return resultMap; + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java =================================================================== diff -u -r26927 -r29145 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java (.../ContainerManager.java) (revision 26927) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java (.../ContainerManager.java) (revision 29145) @@ -1,6 +1,8 @@ package com.forgon.disinfectsystem.basedatamanager.container.service; import java.util.List; +import java.util.Map; +import java.util.Set; import com.forgon.disinfectsystem.basedatamanager.container.ContainerWaitPackingTaskVo; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; @@ -101,5 +103,11 @@ * @return 装配任务的 */ public List getPackingTask(String basketBarcode); + /** + * 根据篮筐条码获取条码对应容器的map + * @param basketBarcodes 篮筐条码 + * @return key 篮筐条码 value Container + */ + public Map getBarcodeToContainerMap(Set basketBarcodes); } Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r29134 -r29145 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 29134) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 29145) @@ -7172,6 +7172,16 @@ if(CollectionUtils.isEmpty(classifyBaskets)){ return "[]"; } + //统一获取容器信息 + Set containerBarcodes = new HashSet(); + for (ClassifyBasket classifyBasket : classifyBaskets) { + containerBarcodes.add(classifyBasket.getContainerBarcode()); + } + Map barcodeToContainerMap = new HashMap(); + if(CollectionUtils.isNotEmpty(containerBarcodes)){ + barcodeToContainerMap = containerManager.getBarcodeToContainerMap(containerBarcodes); + } + JSONArray classifyBasketsJson = new JSONArray(); for (ClassifyBasket classifyBasket : classifyBaskets) { JSONObject classifyBasketJson = new JSONObject(); @@ -7196,6 +7206,12 @@ classifyBasketJson.put("id", classifyBasket.getId()); classifyBasketJson.put("classifiedItems", classifiedItemsJson); classifyBasketJson.put("percentage", percentage); + Container container = barcodeToContainerMap.get(classifyBasket.getContainerBarcode()); + if(container != null){ + classifyBasketJson.put("containerStatus",container.getStatus()); + classifyBasketJson.put("washClassifyType",container.getWashClassifyType()); + } + classifyBasketJson.put("", classifyBasket.getContainerStatus()); classifyBasketJson.put("containerName", classifyBasket.getContainerName()); classifyBasketJson.put("containerBarcode", classifyBasket.getContainerBarcode()); classifyBasketsJson.add(classifyBasketJson);