Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentinstance/service/InstrumentInstanceManagerImpl.java =================================================================== diff -u -r40852 -r40867 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentinstance/service/InstrumentInstanceManagerImpl.java (.../InstrumentInstanceManagerImpl.java) (revision 40852) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentinstance/service/InstrumentInstanceManagerImpl.java (.../InstrumentInstanceManagerImpl.java) (revision 40867) @@ -9,10 +9,12 @@ import java.util.Comparator; import java.util.Date; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import net.sf.json.JSONArray; @@ -2022,16 +2024,40 @@ String countSql = String.format("select count(*) from %s %s ", InstrumentRepair.class.getSimpleName(), sqlBuffer.toString()); int rowCount = objectDao.countBySql(countSql); if(rowCount > 0){ + List> instrumentRepairMapList = new ArrayList>(); List instrumentRepairList = objectDao.findBySql(InstrumentRepair.class.getSimpleName(), sqlBuffer.toString(), firstIndex, maxResults, "registerDateTime desc"); - page.setList(instrumentRepairList); + if(CollectionUtils.isNotEmpty(instrumentRepairList)){ + for (InstrumentRepair instrumentRepair : instrumentRepairList) { + Map instrumentRepairMap = new HashMap(); + instrumentRepairMap.put("id", instrumentRepair.getId()); + instrumentRepairMap.put("registerDateTime", instrumentRepair.getRegisterDateTime() == null ? "" : DateTools.getFormatDateStr(instrumentRepair.getRegisterDateTime(), DateTools.COMMON_DATE_HM)); + instrumentRepairMap.put("repairStatus", instrumentRepair.getRepairStatus()); + instrumentRepairMap.put("registrantName", instrumentRepair.getRegistrantName()); + instrumentRepairMap.put("returnHandoverDateTime", instrumentRepair.getReturnHandoverDateTime() == null ? "" : DateTools.getFormatDateStr(instrumentRepair.getReturnHandoverDateTime(), DateTools.COMMON_DATE_HM)); + String firstTousseDefinitionName = ""; + List instrumentRepairGoodsList = instrumentRepair.getInstrumentRepairGoodsList(); + if(CollectionUtils.isNotEmpty(instrumentRepairGoodsList)){ + for (InstrumentRepairGoods instrumentRepairGoods : instrumentRepairGoodsList) { + if(StringUtils.equals(instrumentRepairGoods.getInstrumentBarcode(), instrumentInstance.getInstrumentBarcode())){ + if(StringUtils.isNotBlank(instrumentRepairGoods.getIdCardInstanceBarcode())){ + firstTousseDefinitionName = String.format("%s(%s)", instrumentRepairGoods.getTousseDefinitionName(), instrumentRepairGoods.getIdCardInstanceBarcode()); + }else{ + firstTousseDefinitionName = instrumentRepairGoods.getTousseDefinitionName(); + } + break; + } + } + } + instrumentRepairMap.put("firstTousseDefinitionName", firstTousseDefinitionName); + instrumentRepairMapList.add(instrumentRepairMap); + } + } + page.setList(instrumentRepairMapList); + } page.setCount(rowCount); - JsonConfig jsonConfig = new JsonConfig(); - jsonConfig.setExcludes(new String[]{"instrumentRepairGoodsList"}); - jsonConfig.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm")); - - return JSONUtil.buildJsonObject(true, JSONObject.fromObject(page, jsonConfig)); + return JSONUtil.buildJsonObject(true, JSONObject.fromObject(page)); } @SuppressWarnings("unchecked") @@ -2069,16 +2095,62 @@ int rowCount = objectDao.countBySql(countSql); if(rowCount > 0){ List tousseMaintainList = objectDao.findBySql(TousseMaintain.class.getSimpleName(), sqlBuffer.toString(), firstIndex, maxResults, "id"); - page.setList(tousseMaintainList); + List> tousseMaintainMapList = new ArrayList>(); + if(CollectionUtils.isNotEmpty(tousseMaintainList)){ + Map idIDCardInstanceMap = getTousseMaintainIDCardInstanceMap(tousseMaintainList); + for (TousseMaintain tousseMaintain : tousseMaintainList) { + Map tousseMaintainMap = new HashMap(); + tousseMaintainMap.put("id", tousseMaintain.getId()); + tousseMaintainMap.put("maintainUser", tousseMaintain.getMaintainUser()); + tousseMaintainMap.put("maintainTime", tousseMaintain.getMaintainTime()); + IDCardInstance idCardInstance = idIDCardInstanceMap.get(tousseMaintain.getIdCardInstanceID()); + if(idCardInstance != null){ + tousseMaintainMap.put("tousseName", String.format("%s(%s)", tousseMaintain.getTousseName(), idCardInstance.getBarcode())); + }else{ + tousseMaintainMap.put("tousseName", tousseMaintain.getTousseName()); + } + tousseMaintainMapList.add(tousseMaintainMap); + } + } + page.setList(tousseMaintainMapList); } page.setCount(rowCount); - JsonConfig jsonConfig = new JsonConfig(); - jsonConfig.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm")); - - return JSONUtil.buildJsonObject(true, JSONObject.fromObject(page, jsonConfig)); + return JSONUtil.buildJsonObject(true, JSONObject.fromObject(page)); } + /** + * 查询器械保养记录关联的标识牌 + * @param tousseMaintainList 器械保养记录 + * @return 标识牌实例map + */ + @SuppressWarnings("unchecked") + private Map getTousseMaintainIDCardInstanceMap(List tousseMaintainList) { + Map idIDCardInstanceMap = new HashMap(); + if(CollectionUtils.isEmpty(tousseMaintainList)){ + return idIDCardInstanceMap; + } + Set idCardInstanceIdSet = new HashSet(); + for (TousseMaintain tousseMaintain : tousseMaintainList) { + Long idCardInstanceID = tousseMaintain.getIdCardInstanceID(); + if(DatabaseUtil.isPoIdValid(idCardInstanceID)){ + idCardInstanceIdSet.add(idCardInstanceID); + } + } + if(CollectionUtils.isEmpty(idCardInstanceIdSet)){ + return idIDCardInstanceMap; + } + List idCardInstanceIdList = new ArrayList(); + idCardInstanceIdList.addAll(idCardInstanceIdSet); + List idCardInstanceList = objectDao.findByIds(IDCardInstance.class.getSimpleName(), idCardInstanceIdList ); + if(CollectionUtils.isNotEmpty(idCardInstanceList)){ + for (IDCardInstance idCardInstance : idCardInstanceList) { + idIDCardInstanceMap.put(idCardInstance.getId(), idCardInstance); + } + } + return idIDCardInstanceMap; + } + @Override public JSONObject loadInstrumentInstanceByBarcode(String instrumentBarcode, String idCardInstanceBarcode) { if(StringUtils.isBlank(instrumentBarcode)){ Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/service/InstrumentRepairManagerImpl.java =================================================================== diff -u -r40856 -r40867 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/service/InstrumentRepairManagerImpl.java (.../InstrumentRepairManagerImpl.java) (revision 40856) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/service/InstrumentRepairManagerImpl.java (.../InstrumentRepairManagerImpl.java) (revision 40867) @@ -158,7 +158,7 @@ String instrumentBarcode = instrumentRepairGoods.getInstrumentBarcode(); if(StringUtils.isNotBlank(instrumentBarcode)){ if(repairInstrumentBarcodeList.contains(instrumentBarcode)){ - throw new SystemException(String.format("重复的器械条码%s!", instrumentBarcode)); + throw new SystemException(String.format("%s(%s)已经添加,不需要重复添加。", instrumentRepairGoods.getMaterialDefinitionName(), instrumentBarcode)); } repairInstrumentBarcodeList.add(instrumentBarcode); }