package com.app.hxqh.udlld;

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

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

/**
 * 领料申请单/出库申请单 子表 Mbo
 */
public class UdlldlineMbo extends Mbo implements MboRemote {

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

    @Override
    public void save() throws MXException, RemoteException {
        super.save();
        //计算单位转换
        MboSetRemote conversionSet=getMboSet("$EAM_CONVERSION","EAM_CONVERSION","MATNR='"+getString("ITEMNUM")+"' and BSTME='"+getString("ORDERUNIT")+"'");
        if(null!=conversionSet && !conversionSet.isEmpty()){
            MboRemote converMbo=conversionSet.getMbo(0);
            double UMREN=Double.parseDouble(converMbo.getString("UMREN"));
            double UMREZ=Double.parseDouble(converMbo.getString("UMREZ"));
            //转换后的=(UMREZ/UMREN)*数量
            double itemqty=getDouble("ORDERQTY");//出库数量
            double covqty=(UMREZ/UMREN)*itemqty;
            setValue("TFITEMQTY", covqty,2L);//转换后数量
            setValue("TFITEMQTYUNIT", getString("ITEMNUM.MEINS"),2L);//转换后单位(基本单位)
            setValue("APPRQUANTITY", covqty,2L);//批准数量，默认和转换后的数量保持一致
        }else{
            setValue("TFITEMQTY", getDouble("ORDERQTY"),2L);//出库数量
            setValue("TFITEMQTYUNIT", getString("UDKC.ISSUEUNIT"),2L);//库存单位
            setValue("APPRQUANTITY", getDouble("ORDERQTY"),2L);//批准数量，默认和出库数量保持一致
        }
    }

    @Override
    public MboRemote duplicate() throws MXException, RemoteException {
        return super.duplicate();
    }

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

    }


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