Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/tousseitem/TousseItem.java =================================================================== diff -u -r19140 -r19903 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/tousseitem/TousseItem.java (.../TousseItem.java) (revision 19140) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/tousseitem/TousseItem.java (.../TousseItem.java) (revision 19903) @@ -708,6 +708,12 @@ public void setIsInvoice(String isInvoice) { this.isInvoice = isInvoice; } + /** + * 是否需要发货 + */ + public boolean needInvoice(){ + return StringUtils.equals(isInvoice, Constants.STR_YES); + } public String getErrorRemark() { return errorRemark; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r19832 -r19903 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 19832) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 19903) @@ -15,7 +15,6 @@ import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Index; -import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; @@ -31,7 +30,6 @@ import org.hibernate.Session; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; -import org.hibernate.annotations.Cascade; import com.fasterxml.jackson.annotation.JsonIgnore; import com.forgon.Constants; @@ -873,6 +871,10 @@ public void setIsPacking(String isPacking) { this.isPacking = isPacking; } + @Transient + public boolean needPacking(){ + return StringUtils.equals(isPacking, Constants.STR_YES); + } public String getIsPrint() { return isPrint; Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r19889 -r19903 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 19889) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 19903) @@ -1629,7 +1629,16 @@ } } } - + InvoicePlan invoicePlan = recyclingRecord.getRecyclingApplication(); + boolean isUserecordApplication = false; + List applicationItems = null; + if(invoicePlan != null){ + applicationItems = invoicePlan.getApplicationItems(); + if(invoicePlan instanceof RecyclingApplication){ + RecyclingApplication rapp = (RecyclingApplication)invoicePlan; + isUserecordApplication = rapp.getUseRecord() != null; + } + } //标识牌装配任务 Map idCardTaskMap = new HashMap(); @@ -1660,13 +1669,16 @@ TousseDefinition tousseDefinition = getTousseDefinition(tousseDefinitions, tousseDefinitionID); - - String tousseType = tousseDefinition.getTousseType(); - String isPacking = tousseDefinition.getIsPacking(); + TousseItem tousseItem = tousseItemManager.find(applicationItems, tousseDefinitionID); + boolean mergeForeign = CssdUtils.getSystemSetConfigByNameBool("foreignTousseAndInsideTousseMergeToTheSameComboApplicationAfterUseRecordConvert"); + if(mergeForeign && isUserecordApplication && tousseDefinition.isForeignOrSplitTousse() + && tousseItem != null && !tousseItem.needInvoice()){ + //不需要装配任务 + continue; + } // 非敷料包的,回收都会产生装配任务(消毒物品不追溯时,也不生产装配任务) - if (!TousseDefinition.PACKAGE_TYPE_DRESSING - .equals(tousseType) && !TousseDefinition.PACKAGE_TYPE_HOMEMADE - .equals(tousseType) && TousseDefinition.STR_YES.equals(isPacking)) { + if (!tousseDefinition.isDressing()&& !tousseDefinition.isHomeMadeTousse() + &&tousseDefinition.needPacking()) { PackingTask task = packingManager.getUnfinishedTask( recyclingRecord.getId(), basketBarcode, tousseDefinitionID,