package com.app.hxqh.udtransfer;

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;

/**
 *  资产转移和资产修改共用一张表，通用一个处理类
 *   Editor liuxq      20240903
 */
public class UdTransferLineMbo extends Mbo implements MboRemote {

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

    @Override
    public void init() throws MXException {
        super.init();
    }

    @Override
    public void save() throws MXException, RemoteException {
        super.save();
        String ORGID = getString("ORGID");
        String SITEID = getString("SITEID");
        MboRemote owner = this.getOwner();//主表
        String app = owner.getThisMboSet().getApp();
        if("udassetmodif".equalsIgnoreCase(app)){
            //资产修改应用
            String BUSTYPE2 = owner.getString("BUSTYPE2");//业务类型
            if("AA00801".equalsIgnoreCase(BUSTYPE2)) {//同工厂不同部门间转移
                MboSetRemote lineSet = owner.getMboSet("UDTRANSFERLINEGX");//通过关系名获取子表数据
                if(lineSet!=null && !lineSet.isEmpty()){
                    for(int i=0;i<lineSet.getSize();i++){
                        MboRemote mbo = lineSet.getMbo(i);
                        String RESPONSI_COST_CENTER = mbo.getString("RESPONSI_COST_CENTER");//调入成本中心
                        String SDSYBM = mbo.getString("SDSYBM");//调入使用部门
                        String SDWXBM = mbo.getString("SDWXBM");//调入维修部门
                        if(RESPONSI_COST_CENTER==null || "".equalsIgnoreCase(RESPONSI_COST_CENTER) || SDSYBM==null || "".equalsIgnoreCase(SDSYBM) || "".equalsIgnoreCase(SDWXBM) || SDWXBM==null || "".equalsIgnoreCase(SDWXBM)){
                            throw new MXApplicationException("UDZCXG", "UDZCXG_KEY", new String[]{});//提示消息(请选择调入成本中心，使用部门，维修部门)
                        }
                    }
                }
            }
        }
    }

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