package com.app.hxqh.udpdplan;

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;

/**
 * 盘点计划-主表
 * createby  liuxq  20240618
 */
public class UdPDPLANMbo extends Mbo implements MboRemote {

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

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

    @Override
    public void init() throws MXException {
        super.init();
        try{
//            String status = getString("STATUS");
//
//            if("EDIT".equalsIgnoreCase(status) && !isNew()){
//                setFlag(7L, false);
//            }
//            if("PUB".equalsIgnoreCase(status)){//已发布
//                String[] mainFields = new String[] {"DESCRIPTION","PDTYPE","PLANSTART","PLANEND","FIDUTY"};
//                setFieldFlag(mainFields, 7L, true);
//                getMboSet("PDPLANLINE").setFlag(7L, true);
//            }
//            if("COMP".equalsIgnoreCase(status)){
//                setFlag(7L, true);
//            }
        }catch (Exception e){

        }
    }

    @Override
    public void save() throws MXException, RemoteException {
        super.save();
        String ORGID = getString("ORGID");//组织
        String SITEID = getString("SITEID");//地点
        String pdtype=getString("PDTYPE");//盘点类型
        if("NP".equalsIgnoreCase(pdtype) && isModified("PDTYPE")){//全盘
            MboSetRemote pdplanlineSet=getMboSet("PDPLANLINE");
            String sql="ORGID='"+ORGID+"' AND SITEID='"+SITEID+"'";
            //20241011 盘点计划程序取部门时，快消线组织 FMCG 的取1开头的部门编码
            if("FMCG".equalsIgnoreCase(ORGID)){
                sql+=" AND DEPTNUM LIKE '1%' ";
            }
            System.out.println("--sql--"+sql);
            MboSetRemote deptSet=getMboSet("$DEPT","DEPT",sql);
            if(null!=deptSet && !deptSet.isEmpty()){
                for(int i=0;i<deptSet.count();i++){
                    MboRemote pdplineMbo=pdplanlineSet.add();
                    MboRemote deptMbo=deptSet.getMbo(i);
                    //设置关联关系：
                    pdplineMbo.setValue("UDPDPLANID",getInt("UDPDPLANID"));
                    pdplineMbo.setValue("ORGID",ORGID);
                    pdplineMbo.setValue("SITEID",SITEID);
                    //写入子表数据
                    pdplineMbo.setValue("DEPTNUM",deptMbo.getString("deptnum"));
                }
            }
        }
    }
}
