package com.app.hxqh.udmoldmgr;

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

import java.rmi.RemoteException;

/**
 * 模具子表-上下机管理-Mbo
 */
public class UdMoldMagLineMbo extends Mbo implements MboRemote {

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

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

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void save() throws MXException, RemoteException {
        super.save();
        MboRemote ownerMbo = this.getThisMboSet().getOwner();
        MboSetRemote lineSet = this.getThisMboSet();
        if(lineSet!=null){
            String parentid = lineSet.getMbo(0).getString("PARENTID");
            double total = lineSet.sum("TOTAL");//子表total 求和
            String totalStr = String.valueOf(total);
            if(ownerMbo!=null){
                ownerMbo.setValue("EQ1",totalStr,11L);
            }else{
                MboSetRemote assetSet = MXServer.getMXServer().getMboSet("ASSET", MXServer.getMXServer().getSystemUserInfo());
                assetSet.setWhere("assetuid='"+parentid+"'");
                assetSet.reset();
                MboRemote mbo = assetSet.getMbo(0);
                mbo.setValue("EQ1",totalStr,11L);
                mbo.getThisMboSet().save(11L);
            }
        }
    }

    @Override
    public void add() throws MXException, RemoteException {
        super.add();
        String app = getThisMboSet().getApp();
        if("UDMC".equals(app)){
            setValue("STATUS", "EDIT",2L);//新增 默认状态值
            String personid=getUserInfo().getPersonId();
            MboSetRemote personSet = MXServer.getMXServer().getMboSet("PERSON", MXServer.getMXServer().getSystemUserInfo());
            personSet.setWhere("PERSONID='"+personid+"'");
            personSet.reset();
            if(personSet!=null && !personSet.isEmpty()){
                String DEPARTMENT = personSet.getMbo(0).getString("DEPARTMENT");//获取部门
                setValue("DEPTNUM", DEPARTMENT,11L);//新增 部门的默认值
            }
        }
    }
}
