Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/SimpleTousseItemImpl.java =================================================================== diff -u --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/SimpleTousseItemImpl.java (revision 0) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/SimpleTousseItemImpl.java (revision 23462) @@ -0,0 +1,44 @@ +package com.forgon.disinfectsystem.recyclingrecord.vo; + +public class SimpleTousseItemImpl implements SimpleTousseItem { + /** + * 包定义id + */ + private Long tousseDefinitionID; + /** + * 包名称或者材料名称 + */ + private String tousseName; + /** + * 数量 + */ + private Integer amount; + + public SimpleTousseItemImpl(Long tousseDefinitionId,String tousseName,Integer amount){ + this.tousseDefinitionID = tousseDefinitionId; + this.tousseName = tousseName; + this.amount = amount; + } + @Override + public Long getTousseDefinitionID() { + return tousseDefinitionID; + } + @Override + public String getTousseName() { + return tousseName; + } + @Override + public Integer getAmount() { + return amount; + } + @Override + public void setTousseDefinitionID(Long tousseDefinitionID) { + this.tousseDefinitionID = tousseDefinitionID; + } + public void setTousseName(String tousseName) { + this.tousseName = tousseName; + } + public void setAmount(Integer amount) { + this.amount = amount; + } +} Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r23444 -r23462 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 23444) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 23462) @@ -81,6 +81,8 @@ import com.forgon.disinfectsystem.recyclingrecord.vo.RecyclingBasketItemVo; import com.forgon.disinfectsystem.recyclingrecord.vo.RecyclingContext; import com.forgon.disinfectsystem.recyclingrecord.vo.RecyclingPrintData; +import com.forgon.disinfectsystem.recyclingrecord.vo.SimpleTousseItem; +import com.forgon.disinfectsystem.recyclingrecord.vo.SimpleTousseItemImpl; import com.forgon.disinfectsystem.recyclingrecord.vo.TousseDefinitionAble; import com.forgon.disinfectsystem.recyclingrecord.vo.TousseIntoBasketService; import com.forgon.disinfectsystem.recyclingrecord.vo.UrgentTousseItem; @@ -1228,7 +1230,7 @@ && !application.isForeignTousseAppliaction()) { //外来器械待回收状态,是可以再回收的,即使已经回收过了。因为有二次回收 throw new SystemException("当前申请单已回收,不能重复回收!"); - }else if(recyclingRecord.statusComfirmed()){ + }else if(recyclingRecord.statusComfirmed() && (application == null || !application.recyclingSTatusPartRecycle())){ throw new SystemException("当前申请单已确认,不能保存!"); }else{ save(recyclingRecord,recyclingContext); @@ -1417,7 +1419,7 @@ boolean isChangeApplyDepart = isChangeApplyDepartment(record); //更新申请单 updateInvoicePlan(record, tousseItemJson, deleteTousseItems, tousseDefinitions, - errorDamageDetail, basketItemJson, urgentTousseItems,isForeignTousseApplication,isChangeApplyDepart); + errorDamageDetail, basketItemJson, urgentTousseItems,isForeignTousseApplication,isChangeApplyDepart,tousseDefIdTousseItemVoMap); //修改已清洗或清洗中的篮筐,清洗工作量需要重新计算 Map toReSetWorkloadMap = new HashMap(); @@ -2521,14 +2523,116 @@ } return historyPackingTaskId; } + private void addApplicationItem(SimpleTousseItem recyclingBasketItem,Map appTousseItemMap, + List tousseDefinitions,InvoicePlan application,boolean isNotInvoice, + List applicationItemList,String invoiceOrigin,RecyclingRecord record, + List errorDamages,List urgentTousseItems, + List basketItemJson){ + String tousseName = recyclingBasketItem.getTousseName(); + Long tousseDefinitionID = recyclingBasketItem.getTousseDefinitionID(); + Integer amount = recyclingBasketItem.getAmount(); + + if(amount > 9999){ + throw new RuntimeException(tousseName + ",回收数量不能大于9999!"); + } + TousseItem appItem = appTousseItemMap.get(tousseDefinitionID); + //回收新添加物品 + boolean isNewAddTousse = false; + if(appItem == null){ + if(amount == 0){ + return; + } + //tousseDefinitionID可能是祖先包定义的id(如消毒物品),那根据祖先id查找申请项 + List tds = tousseDefinitionManager.getCollection(appTousseItemMap.keySet()); + if(CollectionUtils.isNotEmpty(tds)){ + TousseDefinition findTd = tousseDefinitionManager.findByAncestorId(tds, tousseDefinitionID); + if(findTd != null){ + appItem = appTousseItemMap.get(findTd.getId()); + } + } + if(appItem == null){ + appItem = newApplicationItem(tousseDefinitions, application, tousseName,tousseDefinitionID,amount); + if(isNotInvoice){ + appItem.setIsInvoice(Constants.STR_NO); + } + applicationItemList.add(appItem); +// addTousseItems.add(json); + appTousseItemMap.put(tousseDefinitionID, appItem); + isNewAddTousse = true; + } + } + Integer recyclingAmount = appItem.getRecyclingAmount() == null ? 0 : appItem.getRecyclingAmount(); + Integer currentAmount = recyclingAmount + amount; + //删除的物品 + if(currentAmount <= 0){ + currentAmount = 0; + logger.debug("申请物品tousseItem表:id="+appItem.getId()+",tousseDefinitionId="+appItem.getTousseDefinitionId()+",tousseName=" + appItem.getTousseName() + "是否已打印isPrinted设置为1."); + //回收换筐后,可能出现这种情况,由于打印的地方有限制数量为0的数据不打印,所以此处暂时注释 + //appItem.setIsPrinted(true); + } + //外来器械二次回收,如果是外来器械申请单,那就不是使用记录转换的申请单,需要设置回收数量,不然状态就不对(回收后还是待回收状态) + //如果是外来器械申请单,并且是二次回收,那不是使用记录转换而合并单的情况,而是原来的申请单,不修改回收数量 + if(!(application.isSecondRecycleForForeignTousse() && application.isForeignTousseAppliaction())){ + appItem.setRecyclingAmount(currentAmount); + } + if(SupplyRoomConfig.INVOICE_ORIGIN_RECYCLING.equals(invoiceOrigin)){ + TousseDefinition td = getTousseDefinition(tousseDefinitions,appItem.getTousseDefinitionId()); + //不装配不追溯物品 + if (amount != 0) { + newUnPackingTousseInstanceOrDisinfectGoodsDefinition( + record, application, amount, isNewAddTousse,td, appItem, + recyclingBasketItem, errorDamages,basketItemJson, urgentTousseItems,appTousseItemMap); + } + } + } + private void newTousseItem(SimpleTousseItem recyclingBasketItem,Map appTousseItemMap, + List tousseDefinitions,InvoicePlan application,boolean isNotInvoice, + List applicationItemList,String invoiceOrigin,RecyclingRecord record, + List errorDamages,List urgentTousseItems, + List basketItemJson){ + String tousseName = recyclingBasketItem.getTousseName(); + Long tousseDefinitionID = recyclingBasketItem.getTousseDefinitionID(); + Integer amount = recyclingBasketItem.getAmount(); + + TousseItem appItem = appTousseItemMap.get(tousseDefinitionID); + if(appItem == null){ + //tousseDefinitionID可能是祖先包定义的id(如消毒物品),那根据祖先id查找申请项 + List tds = tousseDefinitionManager.getCollection(appTousseItemMap.keySet()); + if(CollectionUtils.isNotEmpty(tds)){ + TousseDefinition findTd = tousseDefinitionManager.findByAncestorId(tds, tousseDefinitionID); + if(findTd != null){ + appItem = appTousseItemMap.get(findTd.getId()); + } + } + if(appItem == null){ + appItem = newApplicationItem(tousseDefinitions, application, tousseName,tousseDefinitionID,amount); + if(isNotInvoice){ + appItem.setIsInvoice(Constants.STR_NO); + } + applicationItemList.add(appItem); + appTousseItemMap.put(tousseDefinitionID, appItem); + appItem.setRecyclingAmount(amount); + if(SupplyRoomConfig.INVOICE_ORIGIN_RECYCLING.equals(invoiceOrigin)){ + TousseDefinition td = getTousseDefinition(tousseDefinitions,appItem.getTousseDefinitionId()); + //创建消毒物品包定义 + if(td.isDisinfection()){ + newDisinfectTousseDefinition(application, td, + appItem, recyclingBasketItem, errorDamages, basketItemJson, + urgentTousseItems, appTousseItemMap); + } + } + } + } + } /** * 如果系统配置为发货单来源于回收记录 则保存回收记录时,将回收物品的数量复制至申请单申请物品栏 * @throws RecyclingRecordException */ private void updateInvoicePlan(RecyclingRecord record, List itemJsonList, JSONArray deleteTousseItems, List tousseDefinitions, List errorDamages, List basketItemJson, - List urgentTousseItems,boolean isForeignTousseApplication,boolean isChangeApplyDepart) { + List urgentTousseItems,boolean isForeignTousseApplication,boolean isChangeApplyDepart, + Map tousseDefIdTousseItemVoMap) { InvoicePlan application = record.getRecyclingApplication(); String invoiceOrigin = supplyRoomConfigManager.getInvoiceOrigin(); @@ -2557,63 +2661,19 @@ // List addTousseItems = new ArrayList(); //篮筐内的物品 for (RecyclingBasketItemVo json : itemJsonList) { - String tousseName = json.getTousseName(); - Long tousseDefinitionID = json.getTousseDefinitionID(); - Integer amount = json.getAmount(); - - if(amount > 9999){ - throw new RuntimeException(tousseName + ",回收数量不能大于9999!"); + addApplicationItem(json, appTousseItemMap, tousseDefinitions, application, isNotInvoice, + applicationItemList, invoiceOrigin, record, errorDamages, urgentTousseItems, basketItemJson); + } + //未入筐添加的物品 + for(Map.Entry entry : tousseDefIdTousseItemVoMap.entrySet()){ + Long tousseDefinitionId = entry.getKey(); + TousseItemVo tousseItemVo = tousseDefIdTousseItemVoMap.get(tousseDefinitionId); + if(tousseItemVo != null){ + SimpleTousseItem simpleTousseItem = new SimpleTousseItemImpl(tousseDefinitionId, tousseItemVo.getTousseName(), + tousseItemVo.getAmount()); + newTousseItem(simpleTousseItem, appTousseItemMap, tousseDefinitions, application, isNotInvoice, + applicationItemList, invoiceOrigin, record, errorDamages, urgentTousseItems, basketItemJson); } - TousseItem appItem = appTousseItemMap.get(tousseDefinitionID); - //回收新添加物品 - boolean isNewAddTousse = false; - if(appItem == null){ - if(amount == 0){ - continue; - } - //tousseDefinitionID可能是祖先包定义的id(如消毒物品),那根据祖先id查找申请项 - List tds = tousseDefinitionManager.getCollection(appTousseItemMap.keySet()); - if(CollectionUtils.isNotEmpty(tds)){ - TousseDefinition findTd = tousseDefinitionManager.findByAncestorId(tds, tousseDefinitionID); - if(findTd != null){ - appItem = appTousseItemMap.get(findTd.getId()); - } - } - if(appItem == null){ - appItem = newApplicationItem(tousseDefinitions, application, tousseName,tousseDefinitionID,amount); - if(isNotInvoice){ - appItem.setIsInvoice(Constants.STR_NO); - } - applicationItemList.add(appItem); -// addTousseItems.add(json); - appTousseItemMap.put(tousseDefinitionID, appItem); - isNewAddTousse = true; - } - } - Integer recyclingAmount = appItem.getRecyclingAmount() == null ? 0 : appItem.getRecyclingAmount(); - Integer currentAmount = recyclingAmount + amount; - //删除的物品 - if(currentAmount <= 0){ - currentAmount = 0; - logger.debug("申请物品tousseItem表:id="+appItem.getId()+",tousseDefinitionId="+appItem.getTousseDefinitionId()+",tousseName=" + appItem.getTousseName() + "是否已打印isPrinted设置为1."); - //回收换筐后,可能出现这种情况,由于打印的地方有限制数量为0的数据不打印,所以此处暂时注释 - //appItem.setIsPrinted(true); - } - //外来器械二次回收,如果是外来器械申请单,那就不是使用记录转换的申请单,需要设置回收数量,不然状态就不对(回收后还是待回收状态) - //如果是外来器械申请单,并且是二次回收,那不是使用记录转换而合并单的情况,而是原来的申请单,不修改回收数量 - if(!(application.isSecondRecycleForForeignTousse() && application.isForeignTousseAppliaction())){ - appItem.setRecyclingAmount(currentAmount); - } - - if(SupplyRoomConfig.INVOICE_ORIGIN_RECYCLING.equals(invoiceOrigin)){ - TousseDefinition td = getTousseDefinition(tousseDefinitions,appItem.getTousseDefinitionId()); - //不装配不追溯物品 - if (amount != 0) { - newUnPackingTousseInstanceOrDisinfectGoodsDefinition( - record, application, amount, isNewAddTousse,td, appItem, - json, errorDamages,basketItemJson, urgentTousseItems,appTousseItemMap); - } - } } for(Map.Entry entry : appTousseItemMap.entrySet()){ TousseItem appItem = entry.getValue(); @@ -2630,19 +2690,35 @@ price = tousseDefinitionManager.getDisinfectGoodsTotalPrice(td); } appItem.setPrice(price); -// appItem.setRowPrice(MathTools.mul(amount, price).doubleValue()); } } //未入篮筐直接删除的物品 if(deleteTousseItems != null){ + JSONArray details = new JSONArray(); for(int i=0;i 0){ + applicationLogManager.saveApplicationLog(application, details.toString(), ApplicationLogStatusEnum.DELETE); + } } application.setApplicationItems(applicationItemList); application.setRecyclingTime(record.getRecyclingTime()); @@ -2754,6 +2830,17 @@ isNewAddTousse, td, item, json, errorDamages, basketItemJson, urgentTousseItems,itemMap); } + //未入筐添加的物品 + for(Map.Entry entry : tousseDefIdTousseItemVoMap.entrySet()){ + Long tousseDefinitionId = entry.getKey(); + TousseItemVo tousseItemVo = tousseDefIdTousseItemVoMap.get(tousseDefinitionId); + if(tousseItemVo != null){ + SimpleTousseItem simpleTousseItem = new SimpleTousseItemImpl(tousseDefinitionId, tousseItemVo.getTousseName(), + tousseItemVo.getAmount()); + newTousseItem(simpleTousseItem, itemMap, tousseDefinitions, application, isNotInvoice, + tousseItems, invoiceOrigin, record, errorDamages, urgentTousseItems, basketItemJson); + } + } application.setApplicationItems(tousseItems); //验证器械包处理科室 List vos = new ArrayList(); @@ -2901,43 +2988,57 @@ private void newUnPackingTousseInstanceOrDisinfectGoodsDefinition( RecyclingRecord record, InvoicePlan application, Integer amount, boolean isNewAddTousse, TousseDefinition td, TousseItem appItem, - RecyclingBasketItemVo basketItemJson, List errorDamageDetail, + SimpleTousseItem basketItemJson, List errorDamageDetail, List basketItems, List urgentTousseItems, Map toussItemMap) { TousseDefinition createInstanceTD = td; //创建消毒物品包定义 if(isNewAddTousse && td.isDisinfection()){ - JSONArray materialArray = new JSONArray(); - for(MaterialInstance mi : td.getMaterialInstances()){ - JSONObject obj = new JSONObject(); - obj.put("name", CssdUtils.getMaterialName(mi.getMaterialDefinition())); - obj.put("tousseType", "器械"); - obj.put("count", mi.getCount()); - materialArray.add(obj); - } - createInstanceTD = tousseDefinitionManager.newDisinfectGoodsDefinition(td, - materialArray, application.getId()); - appItem.setTousseDefinitionId(createInstanceTD.getId()); - appItem.setIsInvoice(createInstanceTD.getIsInvoice()); - //把页面中传到后台的JSON tousseDefinitionID都替换成新的器械包定义 id - long originalId = basketItemJson.getTousseDefinitionID(); - basketItemJson.setTousseDefinitionID(createInstanceTD.getId()); - resetJsonPropertyTousseDefinitionId(errorDamageDetail,originalId,createInstanceTD.getId()); - resetJsonPropertyTousseDefinitionId(basketItems,originalId,createInstanceTD.getId()); - resetJsonPropertyTousseDefinitionId(urgentTousseItems, originalId, createInstanceTD.getId()); - TousseItem tousseItem = toussItemMap.get(originalId); - if(tousseItem != null && originalId != createInstanceTD.getId()){ - toussItemMap.put(createInstanceTD.getId(), tousseItem); - toussItemMap.remove(originalId, tousseItem); - } + createInstanceTD = newDisinfectTousseDefinition(application, td, + appItem, basketItemJson, errorDamageDetail, basketItems, + urgentTousseItems, toussItemMap); } //创建不装配、不追溯的包实例 if(TousseDefinition.STR_NO.equals(td.getIsPacking())){ recyclingApplicationManager.newUnPackingTousseInstance( createInstanceTD, amount, application, record); } } + + private TousseDefinition newDisinfectTousseDefinition( + InvoicePlan application, TousseDefinition td, TousseItem appItem, + SimpleTousseItem basketItemJson, + List errorDamageDetail, + List basketItems, + List urgentTousseItems, + Map toussItemMap) { + TousseDefinition createInstanceTD; + JSONArray materialArray = new JSONArray(); + for(MaterialInstance mi : td.getMaterialInstances()){ + JSONObject obj = new JSONObject(); + obj.put("name", CssdUtils.getMaterialName(mi.getMaterialDefinition())); + obj.put("tousseType", "器械"); + obj.put("count", mi.getCount()); + materialArray.add(obj); + } + createInstanceTD = tousseDefinitionManager.newDisinfectGoodsDefinition(td, + materialArray, application.getId()); + appItem.setTousseDefinitionId(createInstanceTD.getId()); + appItem.setIsInvoice(createInstanceTD.getIsInvoice()); + //把页面中传到后台的JSON tousseDefinitionID都替换成新的器械包定义 id + long originalId = basketItemJson.getTousseDefinitionID(); + basketItemJson.setTousseDefinitionID(createInstanceTD.getId()); + resetJsonPropertyTousseDefinitionId(errorDamageDetail,originalId,createInstanceTD.getId()); + resetJsonPropertyTousseDefinitionId(basketItems,originalId,createInstanceTD.getId()); + resetJsonPropertyTousseDefinitionId(urgentTousseItems, originalId, createInstanceTD.getId()); + TousseItem tousseItem = toussItemMap.get(originalId); + if(tousseItem != null && originalId != createInstanceTD.getId()){ + toussItemMap.put(createInstanceTD.getId(), tousseItem); + toussItemMap.remove(originalId, tousseItem); + } + return createInstanceTD; + } /** * 重新设置消毒物品包定义新的Id @@ -3021,7 +3122,7 @@ appItem.setIsApplyEntireTousse(td.getIsApplyEntireTousse()); boolean isIDCard = tousseDefinitionManager.isThereIDCard(td); appItem.setIsThereIdentificationCard(isIDCard?"是":"否"); - if(!TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(td.getTousseType())){ + if(!td.isDisinfection()){ appItem.setPrice(td.getPrice()); appItem.setRowPrice(MathTools.mul(appItem.getPrice(),recyclingAmount).doubleValue()); } Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingBasketItemVo.java =================================================================== diff -u -r19799 -r23462 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingBasketItemVo.java (.../RecyclingBasketItemVo.java) (revision 19799) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingBasketItemVo.java (.../RecyclingBasketItemVo.java) (revision 23462) @@ -14,7 +14,7 @@ * @author kzh * */ -public class RecyclingBasketItemVo implements TousseDefinitionAble { +public class RecyclingBasketItemVo implements TousseDefinitionAble,SimpleTousseItem { public static final String ITEM_TYPE_MATERIAL = "材料"; public static final String ITEM_TYPE_TOUSSE = "器械包"; /** @@ -66,12 +66,14 @@ public void setItemType(String itemType) { this.itemType = itemType; } + @Override public String getTousseName() { return tousseName; } public void setTousseName(String tousseName) { this.tousseName = tousseName; } + @Override public Integer getAmount() { return amount; } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r23439 -r23462 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 23439) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 23462) @@ -3187,7 +3187,6 @@ vo.setDepart(invoicePlan.getDepart()); vo.setSettleAccountsDepart(invoicePlan.getSettleAccountsDepart()); vo.setSettleAccountsDepartCoding(invoicePlan.getSettleAccountsDepartCoding()); - vo.setRecyclingStatus(invoicePlan.getReturnStatus()); vo.setRecyclingStatus(invoicePlan.getRecyclingStatus()); vo.setDeliverStatus(invoicePlan.getDeliverStatus()); vo.setType(invoicePlan.getType()); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java =================================================================== diff -u -r23404 -r23462 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java (.../InvoicePlan.java) (revision 23404) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java (.../InvoicePlan.java) (revision 23462) @@ -533,6 +533,10 @@ public boolean recyclingStatusAwaitRecycle(){ return StringTools.equals(RECYCLINGSTATUS_AWAITRECYCLE,recyclingStatus); } + @Transient + public boolean recyclingSTatusPartRecycle(){ + return RECYCLINGSTATUS_PARTRECYCLE.equals(recyclingStatus); + } public String getDeliverStatus() { return deliverStatus; Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/SimpleTousseItem.java =================================================================== diff -u --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/SimpleTousseItem.java (revision 0) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/SimpleTousseItem.java (revision 23462) @@ -0,0 +1,29 @@ +package com.forgon.disinfectsystem.recyclingrecord.vo; +/** + * 简单器械包申请项接口,只包含包名称,包定义id及数量 + * @author kzh + * + */ +public interface SimpleTousseItem { + /** + * 器械包名称 + * @return + */ + public String getTousseName(); + /** + * 器械包数量 + * @return + */ + public Integer getAmount(); + /** + * 包定义id + * @return + */ + public Long getTousseDefinitionID(); + /** + * 设置包定义id + * @param tousseDefinitionId + * @return + */ + public void setTousseDefinitionID(Long tousseDefinitionId); +} Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r23404 -r23462 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 23404) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 23462) @@ -3407,11 +3407,13 @@ document.onkeydown = showKeyDown; var recyclingApplicationId = params_appId; var barcode = params_barcode; + var recyclingStatus = null; if(!isUndefinedOrNullOrEmpty(recyclingApplicationId)){ DWREngine.setAsync(false); RecyclingApplicationTableManager.getRecyclingApplicationForRecycle(recyclingApplicationId,function(application){ if(application == null) return; + recyclingStatus = application.recyclingStatus; if(application.recyclingRecordId != null && application.type != TYPE_FOREIGNTOUSSEAPPLIACTION){//外来器械申请单二次回收,会有历史回收记录 loadRecyclingRecordById(application.recyclingRecordId); }else{ @@ -3585,6 +3587,9 @@ }else{ $('#saveAndPrintBtnTd').hide(); } + if(recyclingStatus == '部分回收'){ + $('#saveBtnTd').show(); + } refreshSplitBasketView(); refreshAllBasketTotalNum(); if('history' != params_recordType || !getSystemSetConfig('confirmRecyclingAmount',true)){ @@ -3666,11 +3671,12 @@ $('#saveAndNewBtnTd').hide(); $('#recyclingAmountConfirm').hide(); } - -// if(record.recyclingApplicationType == '外来器械包申请单'){ -// $('#saveBtnTd').hide(); -// $('#saveAndNewBtnTd').hide(); -// } + if(application != null){ + //部分回收需要能够再次保存 + if(application.recyclingStatus == '部分回收'){ + $('#saveBtnTd').show(); + } + } var row = 0; //快速回收后未回收的包 var recyclingApplication = record.recyclingApplication;