Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r36485 -r36486 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 36485) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 36486) @@ -3661,18 +3661,27 @@ if(recyclingRecord == null || CollectionUtils.isEmpty(recyclingRecord.getItems())){ return; } - List list = packingManager.getUnfinishedTaskForUpdate(recyclingRecord.getId(), PackingTask.TASK_RECYCLINGRECORD); - if(CollectionUtils.isNotEmpty(list)){ - for(PackingTask task : list){ - RecyclingItem ri = findRecyclingItem(recyclingRecord, task.getTousseDefinition().getId()); - if(ri != null){ - task.setErrorRemark(ri.getErrorRemark()); - task.setDamageRemark(ri.getDamageRemark()); - task.setRecyclingItemRemark(ri.getRemark()); - packingManager.save(task); - } - } - } + StringBuffer sql = new StringBuffer(); + sql.append("update "); + sql.append(PackingTask.class.getSimpleName()); + sql.append(" set errorRemark=(select max(errorRemark) from "); + sql.append(RecyclingItem.class.getSimpleName()); + sql.append(" where recyclingRecord_id="); + sql.append(recyclingRecord.getId()); + sql.append(" and tousseDefinitionId=PackingTask.tousseDefinition_id),damageRemark=(select max(damageRemark) from "); + sql.append(RecyclingItem.class.getSimpleName()); + sql.append(" where recyclingRecord_id="); + sql.append(recyclingRecord.getId()); + sql.append(" and tousseDefinitionId=PackingTask.tousseDefinition_id),recyclingItemRemark=(select max(remark) from "); + sql.append(RecyclingItem.class.getSimpleName()); + sql.append(" where recyclingRecord_id="); + sql.append(recyclingRecord.getId()); + sql.append(" and tousseDefinitionId=PackingTask.tousseDefinition_id) where sourceId="); + sql.append(recyclingRecord.getId()); + sql.append(" and taskType="); + sql.append(PackingTask.TASK_RECYCLINGRECORD); + jdbcTemplate.execute(sql.toString()); + } /** * 获取使用记录上标识牌对应的加急额外信息id