package com.app.hxqh.prline;

import psdi.app.item.FldItemnum;
import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.mbo.MboValue;
import psdi.util.MXException;

import java.rmi.RemoteException;

public class UdFldItemNum extends FldItemnum {

    public UdFldItemNum(MboValue mbv) throws MXException {
        super(mbv);
    }

    public MboSetRemote getList() throws RemoteException, MXException {
        MboRemote mbo = getMboValue().getMbo();
        String siteid=mbo.getString("SITEID");
        String orgid=mbo.getString("ORGID");
        String sql = " ITEMNUM NOT IN(SELECT ITEMNUM FROM UDITEMSAFE WHERE orgid='"+orgid+"' AND siteid='"+siteid+"' ) ";
        MboSetRemote itemSet=mbo.getMboSet("$ITEM", "ITEM", sql);
        return itemSet;
    }


    public void action() throws MXException, RemoteException {
        super.action();
        MboValue mbovalue = getMboValue();
        MboRemote mbo = mbovalue.getMbo();
        //单价表，定期自动维护
        MboSetRemote gncjgSet=mbo.getMboSet("$UDGNCJG","UDGNCJG","MATNR ='"+mbo.getString("ITEMNUM")+"' and SITEID ='"+mbo.getString("SITEID")+"'");
        if(null!=gncjgSet && !gncjgSet.isEmpty()){
            MboRemote gncjgMbo=gncjgSet.getMbo(0);
            mbo.setValue("UNITCOST", gncjgMbo.getDouble("VERPR"));
            MboRemote itemMbo=mbo.getMboSet("$ITEM", "ITEM", "ITEMNUM='"+mbo.getString("ITEMNUM")+"'").getMbo(0);
            mbo.setValue("ORDERUNIT", itemMbo.getString("MEINS"),11L);
        }

        MboRemote itemMbo2=mbo.getMboSet("$ITEM","ITEM","ITEMNUM='"+mbo.getString("ITEMNUM")+"'").getMbo(0);
        mbo.setValue("DESCRIPTION",itemMbo2.getString("MAKTX"));
        mbo.setValue("ORDERUNIT", itemMbo2.getString("MEINS"),11L);

        MboSetRemote udkcSet=mbo.getMboSet("$UDKC","UDKC","ITEMNUM='"+mbo.getString("ITEMNUM")+"'");
        if(null!=udkcSet && !udkcSet.isEmpty()){
            MboRemote udkcMbo=udkcSet.getMbo(0);
            mbo.setValue("INVQUANTITY", udkcMbo.getDouble("CURBALTOTAL"));
        }

    }
}
