Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r31951 -r31967 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 31951) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 31967) @@ -6551,12 +6551,48 @@ try { JSONObject obj = recyclingRecordToJson(recyclingRecord); setLastTousseBarcode(recyclingRecord, obj); + boolean enableUrgentFunction = CssdUtils.getSystemSetConfigByNameBool("enableUrgentFunction", false); + if(enableUrgentFunction){//如果开启了加急,获取加急数量为0且未装配的物品。 NYSY-39 针对已经回收但未装配的物品的器械包允许在历史回收记录里添加加急状态 + setPackingInfo(recyclingRecord.getId(), obj); + } json = obj.toString(); } catch (Exception e) { e.printStackTrace(); } return json; } + /** + * 回收记录信息 + * @param recyclingRecordId 回收记录id + * @param obj 回收记录信息,也就是recyclingRecordToJson(recyclingRecord)得到的返回值 + */ + public void setPackingInfo(Long recyclingRecordId, JSONObject obj){ + JSONArray items = obj.optJSONArray("items"); + if(CollectionUtils.isEmpty(items)){ + return; + } + for (int i = 0; i < items.size(); i++) { + JSONObject item = (JSONObject)items.get(i); + Long tousseDefinitionId = item.optLong("tousseDefinitionId"); + List tousseInstances = objectDao.findBySql( + TousseInstance.class.getSimpleName(), String.format("where recyclingRecordId=%s and tousseDefinition.id=%s ", + recyclingRecordId, tousseDefinitionId)); + //tousseInstances为空有可能是外来器械拆包装配了,尝试再次查找 + if (CollectionUtils.isEmpty(tousseInstances)) { + String tousseType = item.optString("tousseType"); + if((StringUtils.equals(tousseType, TousseDefinition.PACKAGE_TYPE_FOREIGN) || StringUtils.equals(tousseType, TousseDefinition.PACKAGE_TYPE_SPLIT))){ + tousseInstances = objectDao.findBySql( + TousseInstance.class.getSimpleName(), String.format("where po.recyclingRecordId=%s and tousseDefinition.parentID=%s ", + recyclingRecordId, tousseDefinitionId)); + } + } + if(CollectionUtils.isNotEmpty(tousseInstances)){ + item.put("packed", true); + }else{ + item.put("packed", false); + } + } + } /**