package com.app.hxqh.udlld;

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-07-04
 */
public class FldWorkorder extends MAXTableDomain {

    public FldWorkorder(MboValue mbv) {
        super(mbv);
        String thisAttr = getMboValue().getAttributeName();
        setRelationship("UDWORKORDER", "");
        String[] FromStr = { "WONUM","UDWORKORDERID" };
        String[] ToStr = { thisAttr,"UDWORKORDERID" };
        setLookupKeyMapInOrder(ToStr, FromStr);
    }

    public MboSetRemote getList() throws MXException, RemoteException {
        MboRemote mbo = getMboValue().getMbo();
        String woappname=mbo.getString("WOAPPNAME");
        if(null!=woappname || !"".equalsIgnoreCase(woappname)){
            setListCriteria(" APPNAME LIKE '%"+woappname+"%' and SITEID='"+mbo.getString("SITEID")+"' and ORGID='"+mbo.getString("ORGID")+"' ");//20240612提出取消状态限制 AND STATUS NOT IN('COMP','CLOSE')
        }else{
            setListCriteria(" SITEID='"+mbo.getString("SITEID")+"' and ORGID='"+mbo.getString("ORGID")+"'  ");//20240612提出取消状态限制 AND STATUS NOT IN('COMP','CLOSE')
        }
        return super.getList();
    }

    @Override
    public void action() throws MXException, RemoteException {
        super.action();
        MboRemote mbo=getMboValue().getMbo();
        mbo.setValue("SJYDTYPE", "Z43", 11L);
        String siteid=mbo.getString("SITEID");
        String orgid=mbo.getString("ORGID");
        String wonum=mbo.getString("WORKORDER");
        MboSetRemote workSet=mbo.getMboSet("$UDWORKORDER", "UDWORKORDER", "SITEID='"+siteid+"' and ORGID='"+orgid+"' AND WONUM='"+wonum+"'");
        if(null!=workSet && !workSet.isEmpty()){
            String appname=workSet.getMbo(0).getString("APPNAME");
            if("UDWORKORDERAPP".equalsIgnoreCase(appname)){
                mbo.setValue("WOAPPNAME", "UDWORKORDER", 11L);
            }else if("UDPMWOORDERAPP".equalsIgnoreCase(appname)){
                mbo.setValue("WOAPPNAME", "UDPMWOORDER", 11L);
            }else{
                mbo.setValue("WOAPPNAME", appname, 11L);
            }
        }else{
            mbo.setValueNull("WORKORDER", 2L);
            mbo.setValueNull("WOAPPNAME", 2L);
        }
    }

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

    }

}
