Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java =================================================================== diff -u -r37849 -r37859 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 37849) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 37859) @@ -408,12 +408,14 @@ TousseInstance tousseInstance = null; InvoicePlan application = null; boolean foreignTousseInvoicedAndNoUse = false; + String tiStatus = null; if (barcodeDevice != null){ // 是否器械包实例 if (barcodeDevice instanceof TousseInstance) { tousseInstance = (TousseInstance) barcodeDevice; isTousseInstanceBarcode = true; + tiStatus = tousseInstance.getStatus(); // 是否器械包标识牌实例 }else if (barcodeDevice instanceof IDCardInstance) { isIdCardBarcode = true; @@ -491,15 +493,16 @@ boolean enableSecondRecyclingAfterInvoiceFunction = CssdUtils.getSystemSetConfigByNameBool("enableSecondRecyclingAfterInvoiceFunction", false); if(enableSecondRecyclingAfterInvoiceFunction){ if(StringTools.equals(td.getTousseType(), TousseDefinition.PACKAGE_TYPE_SPLIT) - && DatabaseUtil.isPoIdValid(td.getParentID()) - && objectDao.countBySql("select count(*) from " - + TousseInstance.class.getSimpleName() - +" ti join "+ TousseDefinition.class.getSimpleName() - +" td on td.id=ti.TousseDefinition_id " - + " where ti.status<>'"+ TousseInstance.STATUS_SHIPPED +"' and td.parentID="+ - td.getParentID() - +" and td.invoicePlanID="+ td.getParentID()) < 1){ - application = invoicePlanManager.get(td.getInvoicePlanID()); + && DatabaseUtil.isPoIdValid(td.getParentID())){ + if(objectDao.countBySql("select count(*) from " + + TousseInstance.class.getSimpleName() + +" ti join "+ TousseDefinition.class.getSimpleName() + +" td on td.id=ti.TousseDefinition_id " + + " where ti.status<>'"+ TousseInstance.STATUS_SHIPPED +"' and td.parentID="+ + td.getParentID() + +" and td.invoicePlanID="+ td.getInvoicePlanID()) < 1){ + application = invoicePlanManager.get(td.getInvoicePlanID()); + } }else{ application = invoicePlanManager.get(td.getInvoicePlanID()); } @@ -607,6 +610,7 @@ jsonObject.put("orgUnitCoding", orgUnitCoding); jsonObject.put("isIdCardBarcode", isIdCardBarcode); jsonObject.put("isTousseInstanceBarcode", isTousseInstanceBarcode); + jsonObject.put("tiStatus", tiStatus); String result = jsonObject.toString(); StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r37855 -r37859 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 37855) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 37859) @@ -2100,10 +2100,9 @@ } } if(ipRemark.length() > 0){ - ipRemark.substring(0, ipRemark.length() - 1); InvoicePlan ip = record.getRecyclingApplication(); if(StringUtils.isBlank(ip.getRemark())){ - ip.setRemark("发货后直接回收。"); + ip.setRemark(ipRemark.substring(0, ipRemark.length() - 1)+"发货后直接回收。"); }else{ ip.setRemark(ip.getRemark() + ";" + ipRemark.substring(0, ipRemark.length() - 1)+"发货后直接回收。"); } @@ -5738,7 +5737,7 @@ } else if (CollectionUtils.matchesAll(needRecycleTousseItemsExcludeTerminated, recycledPred)){ //回收时允许保存未入筐的消毒包(必须开启了部分回收功能enablePartRecycle:true) boolean recyclingAllowsSaveOfNonBasketDisinfectionTousse = CssdUtils.getSystemSetConfigByNameBool("recyclingAllowsSaveOfNonBasketDisinfectionTousse", false); - boolean enablePartRecycle = CssdUtils.getSystemSetConfigByNameBool("enablePartRecycle", false); + boolean enableForeignToussePartRecycle = CssdUtils.getSystemSetConfigByNameBool("enableForeignToussePartRecycle", false); recyclingAllowsSaveOfNonBasketDisinfectionTousse = true; Predicate recycledPredOfAmount = new Predicate() { @Override @@ -5752,7 +5751,7 @@ } }; //所有应回收的物品,都已回收(如果开启了回收时允许保存未入筐的消毒包和部分回收功能,回收数量都不为0,状态才算已回收,否则就是部分回收) - if(recyclingAllowsSaveOfNonBasketDisinfectionTousse && enablePartRecycle + if(recyclingAllowsSaveOfNonBasketDisinfectionTousse && enableForeignToussePartRecycle && !CollectionUtils.matchesAll(needRecycleTousseItemsExcludeTerminated, recycledPredOfAmount)){ if(twoRecyclingtimes){ recyclingStatus = InvoicePlan.RECYCLINGSTATUS_PARTRECYCLE;