2019-12-24 14:58:51 +08:00

109 lines
3.0 KiB
Java

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<BusinessObject> foList = bomanager.loadBusinessObjects(FLOW_OBJECT.CLASS_NAME, "ObjectNo =:ObjectNo and ObjectType =:ObjectType","ObjectNo", serialno,"ObjectType",objectType);
bomanager.deleteBusinessObjects(foList);
List<BusinessObject> ftList = bomanager.loadBusinessObjects(FLOW_TASK.CLASS_NAME, "ObjectNo =:ObjectNo and ObjectType =:ObjectType","ObjectNo", serialno,"ObjectType",objectType);
bomanager.deleteBusinessObjects(ftList);
List<BusinessObject> 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("jbo.app.ASSET_INFO", objectNo);
if (ai!=null)
{
ai.setAttributeValue("assetStatus", "0120");
bomanager.updateBusinessObject(ai);
}
}
if(assetStatus!=null&&assetStatus.equals("0020"))//入库申请撤销还原为未抵押未质押
{
BusinessObject ai = bomanager.keyLoadBusinessObject("jbo.app.ASSET_INFO", objectNo);
if (ai!=null)
{
ai.setAttributeValue("assetStatus", "0000");
bomanager.updateBusinessObject(ai);
}
}
bomanager.updateDB();
bomanager.commit();
return "true@删除成功";
}
}