package com.webclient.beans.spotcan;

import psdi.mbo.MboRemote;
import psdi.mbo.MboSetRemote;
import psdi.server.MXServer;
import psdi.util.MXException;
import psdi.webclient.system.beans.DataBean;

import java.rmi.RemoteException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;

/**
 * 选择点检保养任务
 */
public class SelectTaskTableBean extends DataBean {

    //确定按钮的执行
    @Override
    public synchronized int execute() throws MXException, RemoteException {
        int ex = super.execute();
        MboRemote appMbo=app.getAppBean().getMbo();
        DataBean taskDataBean= app.getDataBean("selectTask_Table");//弹出框表ID
        DataBean targetDataBean= app.getDataBean("1699026376710");//子表的DataBean
        Vector<MboRemote> vec= taskDataBean.getSelection();
        if (!vec.isEmpty() && appMbo!=null) {
            for(int i=0;i<vec.size();i++){
                MboRemote vMbo = (MboRemote)vec.get(i);
                targetDataBean.addrow();
                MboRemote targetMbo = targetDataBean.getMbo(targetDataBean.getCurrentRow());
                MboRemote ownerMbo=targetMbo.getOwner();//父表对象
                //设置关联关系：
                targetMbo.setValue("PARENT",ownerMbo.getString("SPOTCANNUM"));
                targetMbo.setValue("ORGID",appMbo.getString("ORGID"));
                targetMbo.setValue("SITEID",appMbo.getString("SITEID"));
                //写入子表数据
                targetMbo.setValue("SPOTRUNNUM",vMbo.getString("SPOTRUNNUM"));
            }
        }
        return ex;
    }
    //弹出框过滤选择
    @Override
    public MboSetRemote getMboSetRemote() throws MXException, RemoteException {
        // 获得点检任务
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        MboRemote mbo = app.getAppBean().getMbo();//当前主对象
        MboSetRemote spotrunSet = MXServer.getMXServer().getMboSet("SPOTRUN",MXServer.getMXServer().getSystemUserInfo());
        String orgid=mbo.getString("ORGID");
        String siteid=mbo.getString("SITEID");
        String appName = mbo.getThisMboSet().getApp();
        Date TASKDATE = mbo.getDate("TASKDATE");//任务生成时间
        String taskDateStr = sdf.format(TASKDATE);
        String sql = " ORGID='"+orgid+"' AND SITEID='"+siteid+"' AND EQUPMNTDESC='EDIT' AND to_char(CREATEDATE,'yyyy-MM-dd')='"+taskDateStr+"'";
        //设置选择条件
        spotrunSet.setWhere(sql);
        //重置列表
        spotrunSet.reset();
        return spotrunSet;
    }
}
