package com.app.hxqh.udaqdjrw;

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;
import java.util.Date;

/**
 * 安全点检任务主表
 * edit 20240711
 */
public class UdAqdjrwMbo extends Mbo implements MboRemote {

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

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

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

    @Override
    public void save() throws MXException, RemoteException {
        super.save();
        if(isModified("STATUS")){
            setValue("STATUSTIME", new Date());
        }
        if(isModified("STATUS") && "COMP".equalsIgnoreCase(getString("STATUS")) && !isNew()){
            System.out.println("----开始执行将异常明细数据写入至安全点检隐患表----");
            int udaqdjrwidid=getInt("UDAQDJRWID");//安全点检任务主表id
            String orgid=getString("ORGID");
            String siteid=getString("SITEID");
            String description=getString("DESCRIPTION");//安全点检任务描述
            String udaqdjrwnum=getString("UDAQDJRWNUM");//安全点检任务编号
            Date createdate=getDate("CREATEDATE");//安全点检任务生成时间
            String xzr=getString("XZR");//下载人

            MboSetRemote udaqdjrwlineSet=getMboSet("$UDAQDJRWLINE","UDAQDJRWLINE","PARENTID="+udaqdjrwidid+" AND DJZT='ABNORMAL' AND ORGID='"+orgid+"' AND SITEID='"+siteid+"'");//安全点检任务明细子表Set
            if(null!=udaqdjrwlineSet && !udaqdjrwlineSet.isEmpty()){
                MboSetRemote udaqdjyhSet=getMboSet("$UDAQDJYH","UDAQDJYH","1=2");//安全点检隐患Set
                for(int i=0;i<udaqdjrwlineSet.count();i++){
                    MboRemote udqadjrwlineMbo=udaqdjrwlineSet.getMbo(i);//安全点检任务明细行Mbo

                    MboRemote udaqdjyhMbo=udaqdjyhSet.add();//安全点检隐患Mbo
                    udaqdjyhMbo.setValue("RWBH", udaqdjrwnum, 2L);//安全点检任务编号
                    udaqdjyhMbo.setValue("DESCRIPTION", description, 2L);//安全点检任务描述
                    udaqdjyhMbo.setValue("CREATEDATE", createdate, 2L);//安全点检任务生成时间
                    udaqdjyhMbo.setValue("XH", udqadjrwlineMbo.getInt("XH"), 2L);//序号
                    udaqdjyhMbo.setValue("LOCATION", udqadjrwlineMbo.getString("LOCATION"), 2L);//位置编号
                    udaqdjyhMbo.setValue("JCXM", udqadjrwlineMbo.getString("JCXM"), 2L);//检查项目
                    udaqdjyhMbo.setValue("JCNRJYQ", udqadjrwlineMbo.getString("DESCRIPTION"), 2L);//检查内容及要求
                    udaqdjyhMbo.setValue("XZR", xzr, 2L);//下载人
                    udaqdjyhMbo.setValue("RWZXTIME",udqadjrwlineMbo.getDate("ZXTIME"), 2L);//任务执行时间
                    udaqdjyhMbo.setValue("RWZT",udqadjrwlineMbo.getString("DJZT"), 2L);//任务状态
                    udaqdjyhMbo.setValue("UDAQDJRWLINEID",udqadjrwlineMbo.getInt("UDAQDJRWLINEID"), 2L);//任务明细行表id
                    udaqdjyhMbo.setValue("ORGID", orgid, 2L);
                    udaqdjyhMbo.setValue("SITEID", siteid, 2L);
                }
            }
        }

    }
}
