package com.app.hxqh.udbudgetTask;

import psdi.mbo.Mbo;
import psdi.mbo.MboRemote;
import psdi.mbo.MboSet;
import psdi.util.MXException;

import java.rmi.RemoteException;

/**
 * ???????
 * createby liuxq  2024-3-27
 */
public class UdBudgetTaskMbo extends Mbo implements MboRemote {

    public UdBudgetTaskMbo(MboSet ms) throws MXException, RemoteException {
        super(ms);
    }

    @Override
    public void add() throws MXException, RemoteException {
        super.add();
    }

    @Override
    public void init() throws MXException {
        super.init();
        try {
            String app = getThisMboSet().getApp();
            MboRemote ownerMbo=getOwner();//???????Mbo
            String status = getString("STATUS");
            if("EDIT".equalsIgnoreCase(status) || "CAN".equalsIgnoreCase(status)){
                setFieldFlag("ISPRO",7L,true);//??????????
            }else {
                setFlag(7L,true);//??????��???
                setFieldFlag("NEWOLD",7L,true);//?????
                setFieldFlag("ORD41",7L,true);//????/??????
                setFieldFlag("APPLYTYPE",7L,true);//????????
                setFieldFlag("CAPDATE",7L,true);//	?????????
                setFieldFlag("REASON",7L,true);//??????????
                setFieldFlag("REASON",7L,true);//??????????
                getMboSet("ASSET").setFlag(7L,true);
            }
            if(ownerMbo!=null){
                String PROJECTNUM = ownerMbo.getString("PROJECTNUM");//??????
                //??????��????????????????????????�]????????????????mbo????��??????????
                if(PROJECTNUM==null || "".equalsIgnoreCase(PROJECTNUM)){
                    setFieldFlag("AUFNR",128L,false);//?????????--?????
                }else{
                    setFieldFlag("AUFNR",128L,true);//?????????--????
                }
            }
        } catch (RemoteException e) {
            throw new RuntimeException(e);
        }
    }

    @Override
    public void save() throws MXException, RemoteException {
        super.save();
        String PROJECTNUM = "";
        String app = getThisMboSet().getApp();
        if(app==null || "".equalsIgnoreCase(app)){
            //??????????????????????
            MboRemote ownerMbo=getOwner();//???????Mbo
            if(ownerMbo!=null){
                PROJECTNUM = ownerMbo.getString("PROJECTNUM"); //?????????
            }
        }else{
            //森大和特福应用
            if("udbudgettask".equalsIgnoreCase(app) || "udbudgettasktf".equalsIgnoreCase(app)) {
                PROJECTNUM = getString("UDBUDGET.PROJECTNUM");//?????????
            }
        }
        if(PROJECTNUM==null || "".equalsIgnoreCase(PROJECTNUM)){
            setValue("ISPRO","1",2L);//1 否
        }else{
            setValue("ISPRO","0",2L);//0 是
        }
    }
}
