Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r40653 -r40717 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 40653) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 40717) @@ -1867,7 +1867,7 @@ /** - * 设置装配任务的申请单的id + * 设置装配任务的申请单的id(*DGSETYY-121 执行完此方法后oracle数据库可能PackingTask的rtInvoicePlanId字段值为空) * @param recyclingApplication * @param returnGoodsRecord */ @@ -1882,13 +1882,26 @@ if(CollectionUtils.isEmpty(tousseDefinitionIdList)){ return; } - String sql = String.format("update %s set rtInvoicePlanId = %s where taskType = %s and sourceId= %s and %s", + //执行完此方法后oracle数据库可能PackingTask的rtInvoicePlanId字段值为空 + /*String sql = String.format("update %s set rtInvoicePlanId = %s where taskType = %s and sourceId= %s and %s", PackingTask.class.getSimpleName(), recyclingApplication.getId(), PackingTask.TASK_RETURNGOODS, returnGoodsRecord.getId(), SqlUtils.getNonStringFieldInLargeCollectionsPredicate("tousseDefinition_id", tousseDefinitionIdList)); - objectDao.excuteSQL(sql); + objectDao.excuteSQL(sql);*/ + + //改成hibernate对象处理的方式 + @SuppressWarnings("unchecked") + List packingTaskList = objectDao.getBySql_ForUpdate2(PackingTask.class.getSimpleName(), + String.format("where taskType = %s and sourceId= %s and %s", PackingTask.TASK_RETURNGOODS,returnGoodsRecord.getId(), + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("tousseDefinition_id", tousseDefinitionIdList))); + if(CollectionUtils.isNotEmpty(packingTaskList)){ + for(PackingTask PackingTask : packingTaskList){ + PackingTask.setRtInvoicePlanId(recyclingApplication.getId()); + packingManager.save(PackingTask); + } + } }