Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java =================================================================== diff -u -r27068 -r27123 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 27068) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 27123) @@ -6,6 +6,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; @@ -270,5 +271,10 @@ * @param videoRecordIds 视频记录id,json数组格式.如[123]、[123,456]等 */ public void addPackingRecordVideo(String packingRecordIds , String videoRecordIds); + /** + * 通过包实例id,批量修改对应的装配记录的审核人 + * @param ids + */ + public void updateReviewersOfPackingRecordByTousseInstanceIds(String reviewer, Set ids); } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r27068 -r27123 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 27068) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 27123) @@ -2322,7 +2322,11 @@ boolean needToModifySterileDate = CssdUtils.getSystemSetConfigByNameBool("printLabelWhenReviewing", false); // 灭菌开始时间 String sterileStartTime = TousseInstanceUtils.buildSterileStartTime(sterileDate); + Set idsForUpdateReviewer = new HashSet(); for (TousseInstance tousseInstance : tousses) { + if(DatabaseUtil.isPoIdValid(tousseInstance.getPackingRecord_id())){ + idsForUpdateReviewer.add(tousseInstance.getPackingRecord_id()); + } //获取审核前虚拟篮筐 String virtualBasketSeqNum = tousseInstance.getVirtualBasketSeqNum(); if(StringUtils.isNotBlank(virtualBasketSeqNum) && !virtualBasketNameList.contains(virtualBasketSeqNum)){ @@ -2571,7 +2575,8 @@ tousseInstanceManager.save(tousseInstance); } - + //联动需改装配记录的审核人 + updateReviewersOfPackingRecordByTousseInstanceIds(reviewerName, idsForUpdateReviewer); if(reviewedBasket != null){ ResultSet rs = null; //查出该篮筐实例中所有包实例的所有的灭菌方式(去除重复值后)、因为一个篮筐也有可能同时有多人用来做审核、同时前端页面也没有刷新 @@ -7527,4 +7532,21 @@ } } } + @Override + public void updateReviewersOfPackingRecordByTousseInstanceIds( + String reviewer, Set ids) { + if(StringUtils.isBlank(reviewer) || CollectionUtils.isEmpty(ids)){ + return; + } + String idSql = null; + if(ids.size() == 1){ + idSql = "id=" + ids.iterator().next(); + }else{ + idSql = SqlUtils.getStringFieldInLargeCollectionsPredicate("id", ids); + } + StringBuffer sbf = new StringBuffer(200); + sbf.append("update ").append(PackingRecord.class.getSimpleName()).append(" set reviewer='") + .append(reviewer).append("'").append(" where ").append(idSql); + objectDao.excuteSQL(sbf.toString()); + } }