package com.app.hxqh.udaqdjwz;

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

import java.rmi.RemoteException;
import java.util.Date;

/**
 * 安全点检位置主表
 * edit 20240703
 */
public class UdAqdjwzMbo extends Mbo implements MboRemote {

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

    @Override
    public void add() throws MXException, RemoteException {
        super.add();
        setValue("STATUS", "EDIT",2L);
    }

    @Override
    public void init() throws MXException {
        super.init();
        try{
            String status = getString("STATUS");
            String[] mainFields = new String[] {"LOCATION","DESCRIPTION","PARENT","REMARKS","ISNODJ"};
           if(!"EDIT".equalsIgnoreCase(status) && !isNew()){
               setFieldFlag(mainFields, 7L, true);
               getMboSet("UDAQDJWZDJBZ").setFlag(7L, true);
               getMboSet("UDAQDJWZZXZ").setFlag(7L, true);
            }
        }catch (Exception e){

        }
    }

    @Override
    public void save() throws MXException, RemoteException {
        super.save();
        if(isModified("LOCATION")){
            String location=getString("LOCATION");
            MboSetRemote udaqdjwzSet=getMboSet("$UDAQDJWZ", "UDAQDJWZ","LOCATION='"+location+"'");
            if(null!=udaqdjwzSet){
                int count=udaqdjwzSet.count();
                if(count>0){
                    throw new MXApplicationException("udaqdjwz","udaqdjwz_loc",new String[]{location});
                }
            }
        }

    }
}
