package com.app.hxqh.udworkorder;

import psdi.mbo.MAXTableDomain;
import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.mbo.MboValue;
import psdi.util.MXException;

import java.rmi.RemoteException;

/**
 * 日常维修工单选择资产
 * edit 2023-04-27
 */
public class FldAssetnum extends MAXTableDomain {

    public FldAssetnum(MboValue mbv) throws MXException,RemoteException {
        super(mbv);
        String thisAttr = getMboValue().getAttributeName();
        setRelationship("ASSET", "");
        String[] FromStr = { "ASSETNUM" };
        String[] ToStr = { thisAttr };
        setLookupKeyMapInOrder(ToStr, FromStr);
    }

    public void init() throws RemoteException, MXException {
        super.init();
    }
    public void action() throws RemoteException, MXException {
        super.action();
        MboRemote mbo=getMboValue().getMbo();
        MboSetRemote assetSet= mbo.getMboSet("ASSET");
        if(null!=assetSet && !assetSet.isEmpty()){
            MboRemote assetMbo=assetSet.getMbo(0);
            mbo.setValue("LOCATION", assetMbo.getString("LOCATION"),11L);//位置
            mbo.setValue("KOSTL", assetMbo.getString("COSTCENTER"),11L);//成本中心
            MboSetRemote udzxzSet=mbo.getMboSet("$UDCJZ","UDCJZ","TYPE='MainGroup' AND ASSETID ="+mbo.getString("ASSETNUM")+"");
            if(null!=udzxzSet && !udzxzSet.isEmpty()){
                String udzxzgh=udzxzSet.getMbo(0).getString("UDZXZGH");
                mbo.setValue("PERSONGROUP", udzxzgh, 2L);
            }
        }
    }

    public MboSetRemote getList() throws RemoteException, MXException {
        MboSetRemote set = super.getList();
        MboRemote mbo=getMboValue().getMbo();
        String orgid=mbo.getString("ORGID");
        String siteid=mbo.getString("SITEID");
        String appName = mbo.getThisMboSet().getApp();
        if("UDWORKORDER".equalsIgnoreCase(appName) ) { //日常维修工单
            set.setWhere(" ORGID='"+orgid+"' and SITEID='"+siteid+"' ");
            set.reset();
        } else if ("UDCLWXGD".equalsIgnoreCase(appName)) {//车辆日常维修工单
            set.setWhere(" ORGID='"+orgid+"' and SITEID='"+siteid+"' and ATYPE='2' "); //2024-12-05
            set.reset();
        }
        return set;
    }
}