Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r18727 -r18806 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 18727) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 18806) @@ -553,12 +553,17 @@ packingTaskForDisplay.setNameForDisplay(name); } } - @Override public PackingTask getUnfinishedTask(Long sourceId,String basketBarcode,Long tousseDefinitionId,Integer taskType) { + return getUnfinishedTask(sourceId,basketBarcode,tousseDefinitionId,taskType,false); + } + @Override + public PackingTask getUnfinishedTask(Long sourceId,String basketBarcode,Long tousseDefinitionId,Integer taskType,boolean includeForeignTousse) { Criteria criteria = objectDao.getHibernateSession().createCriteria(PackingTask.class); criteria.createAlias("tousseDefinition", "td"); - criteria.add(Restrictions.ne("td.tousseType", TousseDefinition.PACKAGE_TYPE_FOREIGN)); + if(!includeForeignTousse){ + criteria.add(Restrictions.ne("td.tousseType", TousseDefinition.PACKAGE_TYPE_FOREIGN)); + } if(sourceId != null){ criteria.add(Restrictions.eq("sourceId", sourceId)); } @@ -3287,7 +3292,7 @@ } // List packingTasks = query.list(); - List packingTasks = (List)objectDao.findByIds_ForUpdate(PackingTask.class.getSimpleName(), ids); + List packingTasks = objectDao.findByIds_ForUpdate(PackingTask.class.getSimpleName(), ids); Set recyclingRecordIds = new HashSet(); for (PackingTask packingTask : packingTasks) { logger.debug("装配任务packingTask[id=" + packingTask.getId() + "],tousseName=" + packingTask.getTousseDefinition().getName()+ "], [待装配数量=" + packingTask.getUnPackAmount() + "]"); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java =================================================================== diff -u -r18575 -r18806 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 18575) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 18806) @@ -58,9 +58,18 @@ public PackingTask getPackingTaskByIdForUpdate_TRANS_MANDATORY(String id); public List getAllTaskGroup(); - public PackingTask getUnfinishedTask(Long sourceId,String basketBarcode,Long tousseDefinitionId,Integer taskType); /** + * 获取未装配的装配任务 + * @param sourceId + * @param basketBarcode + * @param tousseDefinitionId + * @param taskType + * @param includeForeignTousse 是否包含外来器械。之前是不包含外来器械的。添加外来器械换筐功能后,需要将外来器械也包含在内进行查询 + * @return + */ + public PackingTask getUnfinishedTask(Long sourceId,String basketBarcode,Long tousseDefinitionId,Integer taskType,boolean includeForeignTousse); + /** * 获取未装配的装配任务。用于更新 * @param sourceId * @param tousseDefinitionId Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/recyclingrecord/RecyclingRecord.java =================================================================== diff -u -r18759 -r18806 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/recyclingrecord/RecyclingRecord.java (.../RecyclingRecord.java) (revision 18759) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/recyclingrecord/RecyclingRecord.java (.../RecyclingRecord.java) (revision 18806) @@ -25,6 +25,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; +import com.forgon.tools.string.StringTools; /** * @author songwei @@ -149,7 +150,13 @@ public void setStatus(String status) { this.status = status; } - + /** + * 判断是否已确认状态 + * @return + */ + public boolean statusComfirmed(){ + return StringTools.equals(status, STATUS_CONFIRMED); + } public String getOperator() { return operator; } Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r18765 -r18806 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 18765) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 18806) @@ -2786,7 +2786,7 @@ RecyclingApplicationTableManager.getRecyclingApplicationForRecycle(recyclingApplicationId,function(application){ if(application == null) return; - if(application.recyclingRecordId != null){ + if(application.recyclingRecordId != null && application.type != '外来器械包申请单'){//外来器械申请单二次回收,会有历史回收记录 loadRecyclingRecordById(application.recyclingRecordId); }else{ if (sstsConfig.showSettleAccountsDepartInRecycling){ @@ -3001,10 +3001,10 @@ $('#saveAndNewBtnTd').hide(); } - if(record.recyclingApplicationType == '外来器械包申请单'){ - $('#saveBtnTd').hide(); - $('#saveAndNewBtnTd').hide(); - } +// if(record.recyclingApplicationType == '外来器械包申请单'){ +// $('#saveBtnTd').hide(); +// $('#saveAndNewBtnTd').hide(); +// } var row = 0; //快速回收后未回收的包 var recyclingApplication = record.recyclingApplication; Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java =================================================================== diff -u -r18645 -r18806 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 18645) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 18806) @@ -612,9 +612,11 @@ // System.out.println(params.toString()); // 一条回收记录只能有一个对应的回收申请单/器械包申请单 if (recyclingRecord.getId() == null && application != null - && application.getRecyclingRecord(objectDao) != null) { + && application.getRecyclingRecord(objectDao) != null + && !application.isForeignTousseAppliaction()) { + //外来器械待回收状态,是可以再回收的,即使已经回收过了。因为有二次回收 message = "当前申请单已回收,不能重复回收!"; - }else if(RecyclingRecord.STATUS_CONFIRMED.equals(recyclingRecord.getStatus())){ + }else if(recyclingRecord.statusComfirmed()){ message = "当前申请单已确认,不能保存!"; }else{ try { Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r18674 -r18806 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 18674) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 18806) @@ -1624,7 +1624,7 @@ PackingTask task = packingManager.getUnfinishedTask( recyclingRecord.getId(), basketBarcode, tousseDefinitionID, - PackingTask.TASK_RECYCLINGRECORD); + PackingTask.TASK_RECYCLINGRECORD,true); IDCardInstance idCardInstance = null; TousseInstance idCardTousseInstance = null; @@ -2296,7 +2296,7 @@ ftApplication.setReceiveTime(new Date()); ftApplication.setPackageStatus(ForeignTousseApplication.APPLICATION_STATUS_SIGNED); ftApplication.setOrderByFiled(InvoicePlan.DELIVER_DELIVERED); - record.setRecyclingApplication(null); +// record.setRecyclingApplication(null); }else if(InvoicePlan.RECYCLINGSTATUS_AWAITRECYCLE.equals(oldRecyclingStatus)){ ftApplication.setRecyclingStatus(InvoicePlan.RECYCLINGSTATUS_RECYCLED); ftApplication.setRecylingTime(new Date());