Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r27551 -r27576 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 27551) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 27576) @@ -2242,6 +2242,7 @@ * @param reviewerCode 审核人编码 * @param sterileDate 灭菌日期 */ + @SuppressWarnings("unchecked") @Override public JSONObject reviewTousseInstance(String idsStr, String sterileBasketBarcode, String taskGroup, String reviewerName, String reviewerCode, Date sterileDate) { @@ -2559,7 +2560,16 @@ tousseInstanceManager.save(tousseInstance); } //联动需改装配记录的审核人 - updateReviewersOfPackingRecordByTousseInstanceIds(reviewerName, idsForUpdateReviewer); + Set idsWithoutReviewer = new HashSet(); + List packRecords = objectDao.findByIds(PackingRecord.class.getSimpleName(), new ArrayList(idsForUpdateReviewer)); + for (PackingRecord packingRecord : packRecords) { + //审核每一个消毒包时,需要检查这个包所关联的装配记录的审核人是否为空,如果为空,则需要进行赋值;如果不为空,不进行赋值。 + if(StringUtils.isBlank(packingRecord.getReviewer())){ + idsWithoutReviewer.add(packingRecord.getId()); + } + } + updateReviewersOfPackingRecordByTousseInstanceIds( + StringUtils.isBlank(reviewerName) ? loginUser.getUserFullName() : reviewerName, idsWithoutReviewer); if(reviewedBasket != null){ ResultSet rs = null; //查出该篮筐实例中所有包实例的所有的灭菌方式(去除重复值后)、因为一个篮筐也有可能同时有多人用来做审核、同时前端页面也没有刷新 @@ -3155,6 +3165,10 @@ packingRecord.setInspector(inspector); packingRecord.setPacker(operator); packingRecord.setReviewer(reviewer); + if(StringUtils.equals(tousseDefinition.getIsReview(), TousseDefinition.STR_NO) && StringUtils.isBlank(reviewer)){ + // 包定义【是否审核】属性均为否,并且装配界面输入的审核人字段为空,则将新产生的装配记录的审核人赋值为装配人 + packingRecord.setReviewer(packingRecord.getPacker()); + } packingRecord.setWrapper(wrapper); packingRecord.setPackTime(packingDate); String tousseName = tousseDefinition.getName();