Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/washTransition/service/WashTransitionItemManagerImpl.java =================================================================== diff -u -r15783 -r15786 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/washTransition/service/WashTransitionItemManagerImpl.java (.../WashTransitionItemManagerImpl.java) (revision 15783) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/washTransition/service/WashTransitionItemManagerImpl.java (.../WashTransitionItemManagerImpl.java) (revision 15786) @@ -41,11 +41,30 @@ this.idCardDefinitionManager = idCardDefinitionManager; } + /** + * 验证标识牌是否已经做过清洗交接。返回true表示已经交接过,false则还没有交接 + * @param idCardInstance 标识牌.如果为null,返回false + * @return + */ + private boolean idCardTransited(IDCardInstance idCardInstance){ + if(idCardInstance == null){ + return false; + } + String where = "po.idCardBarcode='" + idCardInstance.getBarcode()+"'"; + if(DatabaseUtil.isPoIdValid(idCardInstance.getLastTousseInstanceId())){ + where += " and po.tousseInstanceId=" + idCardInstance.getLastTousseInstanceId(); + } + + return getFirst(where) != null; + } @Override public JSONObject buildWashTransitionItem(IDCardInstance idCardInstance) { if(idCardInstance == null){ return null; } + if(idCardTransited(idCardInstance)){ + return JSONUtil.buildJsonObject(false, "此标识牌已经录过交接记录,请不要重复录入"); + } IDCardDefinition idCardDefinition = idCardDefinitionManager.get(idCardInstance.getIdCardDefinitionID()); if(idCardDefinition == null){ return JSONUtil.buildJsonObject(false, "标识牌定义未找到");