Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/adverseeventrecord/AdverseEventRecord.java =================================================================== diff -u -r32914 -r32981 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/adverseeventrecord/AdverseEventRecord.java (.../AdverseEventRecord.java) (revision 32914) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/adverseeventrecord/AdverseEventRecord.java (.../AdverseEventRecord.java) (revision 32981) @@ -1,7 +1,6 @@ package com.forgon.disinfectsystem.entity.adverseeventrecord; import java.util.Date; -import java.util.Map; import javax.persistence.Entity; import javax.persistence.FetchType; @@ -87,7 +86,7 @@ this.eventTime = eventTime; } @ManyToOne(fetch = FetchType.EAGER) - @Cascade(value = { CascadeType.SAVE_UPDATE }) + @Cascade(value = { CascadeType.SAVE_UPDATE, CascadeType.DELETE}) @JoinColumn(name = "recyclingApplication_ID") public InvoicePlan getInvoicePlan() { return invoicePlan; Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/adverseeventrecord/service/AdverseEventRecordManagerImpl.java =================================================================== diff -u -r32977 -r32981 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/adverseeventrecord/service/AdverseEventRecordManagerImpl.java (.../AdverseEventRecordManagerImpl.java) (revision 32977) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/adverseeventrecord/service/AdverseEventRecordManagerImpl.java (.../AdverseEventRecordManagerImpl.java) (revision 32981) @@ -96,6 +96,7 @@ adverseEventRecord.setTimeoutHandType(timeoutHandType); adverseEventRecord.setInvoicePlan(invoicePlan); objectDao.save(adverseEventRecord); + invoicePlan.getAdverseEventRecords().add(adverseEventRecord); } } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java =================================================================== diff -u -r32965 -r32981 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 32965) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 32981) @@ -122,10 +122,4 @@ * @return */ public JSONArray queryForeignTousseSpecificationStore(); - - /** - * 删除外来器械包申请单 - */ - public boolean delete(ForeignTousseApplication foreignTousseApplication); - } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java =================================================================== diff -u -r32640 -r32981 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java (.../InvoicePlan.java) (revision 32640) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java (.../InvoicePlan.java) (revision 32981) @@ -26,14 +26,16 @@ import org.apache.commons.lang.StringUtils; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; +import org.hibernate.annotations.Cascade; +import org.hibernate.annotations.CascadeType; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import com.fasterxml.jackson.annotation.JsonIgnore; import com.forgon.disinfectsystem.basedatamanager.invoice.service.InvoiceUtils; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigUtils; import com.forgon.disinfectsystem.common.Constants; -import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.Sterilizer; +import com.forgon.disinfectsystem.entity.adverseeventrecord.AdverseEventRecord; import com.forgon.disinfectsystem.entity.message.SystemMessage; import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; @@ -550,6 +552,11 @@ * 装配任务里生成的代理灭菌单GDSZYY-102 */ private String isConvertPackingRecord; + + /** + * 不良事件 + */ + private List adverseEventRecords = new ArrayList(); /** * 发货计划的ID,数据库的主键,自增类型 @@ -1716,6 +1723,19 @@ this.oldVersion = oldVersion; } + @OneToMany(mappedBy = "invoicePlan",fetch = FetchType.EAGER) + @Cascade(value = { CascadeType.SAVE_UPDATE, CascadeType.DELETE }) + @JsonIgnore + public List getAdverseEventRecords() { + return adverseEventRecords; + } + + + public void setAdverseEventRecords(List adverseEventRecords) { + this.adverseEventRecords = adverseEventRecords; + } + + @Transient public String getApplyRecycleDifferentMsg() { return applyRecycleDifferentMsg; Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r32979 -r32981 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 32979) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 32981) @@ -542,8 +542,6 @@ } } } - //删除申请单关联的不良事件GYEY-758 - adverseEventRecordManager.deleteInvoicePlanAdverseEventRecord(invoicePlan); logDeleteInvoicePlan(invoicePlan); objectDao.delete(invoicePlan); } @@ -710,8 +708,6 @@ objectDao.saveOrUpdate(returnGoodsRecord); } } - //删除申请单关联的不良事件GYEY-758 - adverseEventRecordManager.deleteInvoicePlanAdverseEventRecord(recyclingApplication); logDeleteInvoicePlan(recyclingApplication); objectDao.delete(recyclingApplication); } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r32965 -r32981 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 32965) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 32981) @@ -2282,18 +2282,49 @@ String foreignTousseTreeData, String actionType, String timeoutHandType) { this.saveOrUpdate(origineFta, foreignTousseApplication, foreignTousseTreeData, actionType); if(ForeignTousseApplication.ACTION_TYPE_ADD.equals(actionType)){ - adverseEventRecordManager.saveAdverseEventRecord(foreignTousseApplication, AdverseEventRecord.EVENTNAME_FOREIGNTOUSSESENDTIMEOUTCODE, AdverseEventRecord.EVENTNAME_FOREIGNTOUSSESENDTIMEOUT, timeoutHandType); + //根据foreiginTousseApplicationWarningTimeRange配置项判断是否保存不良事件 + boolean saveWarningMessage = saveWarningMessageOrNot(new Date()); + if(saveWarningMessage){ + adverseEventRecordManager.saveAdverseEventRecord(foreignTousseApplication, AdverseEventRecord.EVENTNAME_FOREIGNTOUSSESENDTIMEOUTCODE, AdverseEventRecord.EVENTNAME_FOREIGNTOUSSESENDTIMEOUT, timeoutHandType); + } } } - - @Override - public boolean delete(ForeignTousseApplication foreignTousseApplication){ - try { - adverseEventRecordManager.deleteInvoicePlanAdverseEventRecord(foreignTousseApplication); - objectDao.delete(foreignTousseApplication); - } catch (Exception e) { - throw new SystemException(e.getMessage()); + + /** + * 根据foreiginTousseApplicationWarningTimeRange配置项判断是否保存不良事件 + * @return + */ + private boolean saveWarningMessageOrNot(Date now) { + String foreiginTousseApplicationWarningTimeRange + = ConfigUtils.getSystemSetConfigByName("foreiginTousseApplicationWarningTimeRange"); + if(StringUtils.isBlank(foreiginTousseApplicationWarningTimeRange)){ + return false; } - return true; + JSONArray array = JSONArray.fromObject(foreiginTousseApplicationWarningTimeRange); + if(array.size() == 0){ + return false; + } + //当前时间日期 + String nowDateOnlyStr = DateTools.getFormatDateStr(now, DateTools.COMMON_DATE_ONLY); + for(int i = 0; i