package com.amarsoft.acct.accounting.web; import java.util.List; import com.amarsoft.app.base.businessobject.BusinessObject; import com.amarsoft.app.base.businessobject.BusinessObjectManager; import com.amarsoft.app.base.trans.TransactionHelper; import com.amarsoft.are.jbo.JBOTransaction; import com.amarsoft.are.lang.StringX; import jbo.app.ASSET_INFO; import jbo.sys.FLOW_OBJECT; import jbo.sys.FLOW_OPINION; import jbo.sys.FLOW_TASK; public class DeleteTransaction { private String serialno; private String objectNo; private String applyType; private String assetStatus; private String objectType; public String getSerialno() { return this.serialno; } public void setSerialno(String serialno) { this.serialno = serialno; } public String getApplyType() { return applyType; } public void setApplyType(String applyType) { this.applyType = applyType; } public String getAssetStatus() { return assetStatus; } public void setAssetStatus(String assetStatus) { this.assetStatus = assetStatus; } public String getObjectType() { return objectType; } public void setObjectType(String objectType) { this.objectType = objectType; } public String getObjectNo() { return objectNo; } public void setObjectNo(String objectNo) { this.objectNo = objectNo; } public String deleteTransaction(JBOTransaction tx) throws Exception{ if(StringX.isEmpty(this.serialno)) return "false@删除失败"; BusinessObjectManager bomanager = BusinessObjectManager.createBusinessObjectManager(tx); //删除当前的交易 TransactionHelper.deleteTransaction(this.serialno, bomanager); // 删除flow_object,flow_task,flow_opinion三张表的数据 List foList = bomanager.loadBusinessObjects(FLOW_OBJECT.CLASS_NAME, "ObjectNo =:ObjectNo and ObjectType =:ObjectType","ObjectNo", serialno,"ObjectType",objectType); bomanager.deleteBusinessObjects(foList); List ftList = bomanager.loadBusinessObjects(FLOW_TASK.CLASS_NAME, "ObjectNo =:ObjectNo and ObjectType =:ObjectType","ObjectNo", serialno,"ObjectType",objectType); bomanager.deleteBusinessObjects(ftList); List fnList = bomanager.loadBusinessObjects(FLOW_OPINION.CLASS_NAME, "ObjectNo =:ObjectNo and ObjectType =:ObjectType","ObjectNo", serialno,"ObjectType",objectType); bomanager.deleteBusinessObjects(fnList); if(assetStatus!=null&&assetStatus.equals("0030"))//出库申请撤销还原为已入库 { BusinessObject ai = bomanager.keyLoadBusinessObject(ASSET_INFO.CLASS_NAME, objectNo); if (ai!=null) { ai.setAttributeValue("assetStatus", "0120"); bomanager.updateBusinessObject(ai); } } if(assetStatus!=null&&assetStatus.equals("0020"))//入库申请撤销还原为未抵押未质押 { BusinessObject ai = bomanager.keyLoadBusinessObject(ASSET_INFO.CLASS_NAME, objectNo); if (ai!=null) { ai.setAttributeValue("assetStatus", "0000"); bomanager.updateBusinessObject(ai); } } bomanager.updateDB(); bomanager.commit(); return "true@删除成功"; } }