package shkd.repc.resm.opplugin;

import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;

/**
 * 资质预审审核
 * qeug_resm_prequalific_ext
 */
public class PrequalificationOPPlugin extends AbstractOperationServicePlugIn {

    @Override
    public void afterExecuteOperationTransaction(AfterOperationArgs e) {
        //todo: 资质预审
        //资质预审审核 + OP 判断如果为直接入库,那就查潜在供应商中的正式供应商字段,然后进行取值赋值
        super.afterExecuteOperationTransaction(e);

        String operationKey = e.getOperationKey();
//        if ("audit".equals(operationKey)) {
//            DynamicObject[] dataEntities1 = e.getDataEntities();
//            DynamicObject dynamicObject = dataEntities1[0];
//
//            String inType = dynamicObject.getString("in_type");//入库方式 直接入库:1,供方考察入库:0
//            if ("1".equals(inType)) {
//                DynamicObject preSupplierid = dynamicObject.getDynamicObject("pre_supplierid");//潜在供应商
//                if (null != preSupplierid) {
//                    long preSupplierid_id = preSupplierid.getLong("id");
////                    QFilter q1 = new QFilter("id", QCP.equals, 2065960717911089152L);
//                    QFilter q1 = new QFilter("id", QCP.equals, preSupplierid_id);
//                    //潜在供应商
//                    DynamicObject resm_regsupplier = BusinessDataServiceHelper.loadSingle("resm_regsupplier", new QFilter[]{q1});
//                    if (null != resm_regsupplier) {
//                        DynamicObject officesupplier = resm_regsupplier.getDynamicObject("officesupplier");//正式供应商
//                        if (null != officesupplier) {
//                            long officesupplier_id= officesupplier.getLong("id");
//                            QFilter q2 = new QFilter("id", QCP.equals, officesupplier_id);
//                            //正式供应商
//                            DynamicObject resm_official_supplier = BusinessDataServiceHelper.loadSingle("resm_official_supplier", new QFilter[]{q2});
//                            if (null != resm_official_supplier) {
//                                /**
//                                 * 基本信息核对 qeug_infocheckentry
//                                 */
//                                DynamicObjectCollection qeugInfocheckentry = resm_regsupplier.getDynamicObjectCollection("qeug_infocheckentry");
//                                DynamicObjectCollection qeugInfocheckentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_infocheckentry");
//                                qeugInfocheckentry1.clear();
//                                if (null != qeugInfocheckentry) {
//                                    for (int i = 0; i < qeugInfocheckentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeugInfocheckentry.get(i);
//                                        DynamicObject add = qeugInfocheckentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_bsfieldname", qeugInfocheckentry_item.getString("qeug_bsfieldname"));
//                                        add.set("qeug_bsfield", qeugInfocheckentry_item.getString("qeug_bsfield"));
//                                        add.set("qeug_apifield", qeugInfocheckentry_item.getString("qeug_apifield"));
//                                        add.set("qeug_bsinput", qeugInfocheckentry_item.getString("qeug_bsinput"));
//                                        add.set("qeug_queryresult", qeugInfocheckentry_item.getString("qeug_queryresult"));
//                                        add.set("qeug_issame", qeugInfocheckentry_item.getString("qeug_issame"));
//                                    }
//                                }
//                                /**
//                                 * 基本信息
//                                 */
//                                resm_official_supplier.set("qeug_legalpersonn",resm_regsupplier.getString("qeug_legalpersonn"));
//                                resm_official_supplier.set("qeug_regnumber",resm_regsupplier.getString("qeug_regnumber"));
//                                resm_official_supplier.set("qeug_orgnumber",resm_regsupplier.getString("qeug_orgnumber"));
//                                resm_official_supplier.set("qeug_businessduration",resm_regsupplier.getString("qeug_businessduration"));
//                                resm_official_supplier.set("qeug_reglocation",resm_regsupplier.getString("qeug_reglocation"));
//                                resm_official_supplier.set("qeug_reginstitute",resm_regsupplier.getString("qeug_reginstitute"));
//                                resm_official_supplier.set("qeug_regstatus",resm_regsupplier.getString("qeug_regstatus"));
//                                resm_official_supplier.set("qeug_websitelist",resm_regsupplier.getString("qeug_websitelist"));
//                                resm_official_supplier.set("qeug_photodate",resm_regsupplier.getDate("qeug_photodate"));
//                                resm_official_supplier.set("qeug_creditcode",resm_regsupplier.getString("qeug_creditcode"));
//                                resm_official_supplier.set("qeug_industry",resm_regsupplier.getString("qeug_industry"));
//                                resm_official_supplier.set("qeug_bases",resm_regsupplier.getString("qeug_bases"));
//                                resm_official_supplier.set("qeug_currencyfield",resm_regsupplier.getDynamicObject("qeug_currencyfield"));
//                                resm_official_supplier.set("qeug_regcapitals",resm_regsupplier.getBigDecimal("qeug_regcapitals"));
//                                resm_official_supplier.set("qeug_regcapital",resm_regsupplier.getString("qeug_regcapital"));
//                                resm_official_supplier.set("qeug_companyorgtype",resm_regsupplier.getString("qeug_companyorgtype"));
//                                resm_official_supplier.set("qeug_estiblishtime",resm_regsupplier.getDate("qeug_estiblishtime"));
//                                resm_official_supplier.set("qeug_canceldate",resm_regsupplier.getString("qeug_canceldate"));
//                                resm_official_supplier.set("qeug_city",resm_regsupplier.getString("qeug_city"));
//                                resm_official_supplier.set("qeug_phonenumber",resm_regsupplier.getString("qeug_phonenumber"));
//                                resm_official_supplier.set("qeug_headoffice",resm_regsupplier.getString("qeug_headoffice"));
//                                resm_official_supplier.set("qeug_historynames",resm_regsupplier.getString("qeug_historynames"));
//                                resm_official_supplier.set("qeug_socialstaffnum",resm_regsupplier.getString("qeug_socialstaffnum"));
//                                resm_official_supplier.set("qeug_controllingperson",resm_regsupplier.getString("qeug_controllingperson"));
//                                resm_official_supplier.set("qeug_businessscopes",resm_regsupplier.getString("qeug_businessscopes"));
//                                resm_official_supplier.set("qeug_verify",resm_regsupplier.getString("qeug_verify"));
//
//                                /**
//                                 * 主要人员信息 qeug_entryentity
//                                 */
//                                DynamicObjectCollection qeug_entryentity = resm_regsupplier.getDynamicObjectCollection("qeug_entryentity");
//                                DynamicObjectCollection qeug_entryentity1 = resm_official_supplier.getDynamicObjectCollection("qeug_entryentity");
//                                qeug_entryentity1.clear();
//                                if (null != qeug_entryentity) {
//                                    for (int i = 0; i < qeug_entryentity.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_entryentity.get(i);
//                                        DynamicObject add = qeug_entryentity1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_personnelname", qeugInfocheckentry_item.getString("qeug_personnelname"));
//                                        add.set("qeug_position", qeugInfocheckentry_item.getString("qeug_position"));
//                                    }
//                                }
//
//                                /**
//                                 * 股东信息 qeug_shareholderentry
//                                 */
//                                DynamicObjectCollection qeug_shareholderentry = resm_regsupplier.getDynamicObjectCollection("qeug_shareholderentry");
//                                DynamicObjectCollection qeug_shareholderentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_shareholderentry");
//                                qeug_shareholderentry1.clear();
//                                if (null != qeug_shareholderentry) {
//                                    for (int i = 0; i < qeug_shareholderentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_shareholderentry.get(i);
//                                        DynamicObject add = qeug_shareholderentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_name", qeugInfocheckentry_item.getString("qeug_name"));
//                                        add.set("qeug_typename", qeugInfocheckentry_item.getString("qeug_typename"));
//                                    }
//                                }
//
//                                /**
//                                 * 分支信息 qeug_icentry
//                                 */
//                                DynamicObjectCollection qeug_icentry = resm_regsupplier.getDynamicObjectCollection("qeug_icentry");
//                                DynamicObjectCollection qeug_icentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_icentry");
//                                qeug_icentry1.clear();
//                                if (null != qeug_icentry) {
//                                    for (int i = 0; i < qeug_icentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_icentry.get(i);
//                                        DynamicObject add = qeug_icentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_branchlistname", qeugInfocheckentry_item.getString("qeug_branchlistname"));
//                                        add.set("qeug_regstatusic", qeugInfocheckentry_item.getString("qeug_regstatusic"));
//                                    }
//                                }
//
//                                /**
//                                 * 变更信息 qeug_changeinfo
//                                 */
//                                DynamicObjectCollection qeug_changeinfo = resm_regsupplier.getDynamicObjectCollection("qeug_changeinfo");
//                                DynamicObjectCollection qeug_changeinfo1 = resm_official_supplier.getDynamicObjectCollection("qeug_changeinfo");
//                                qeug_changeinfo1.clear();
//                                if (null != qeug_changeinfo) {
//                                    for (int i = 0; i < qeug_changeinfo.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_changeinfo.get(i);
//                                        DynamicObject add = qeug_changeinfo1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_changeitem", qeugInfocheckentry_item.getString("qeug_changeitem"));
//                                        add.set("qeug_changetime", qeugInfocheckentry_item.getString("qeug_changetime"));
//                                        add.set("qeug_contentbefore", qeugInfocheckentry_item.getString("qeug_contentbefore"));
//                                        add.set("qeug_contentafter", qeugInfocheckentry_item.getString("qeug_contentafter"));
//                                    }
//                                }
//
//                                /**
//                                 * 异常信息 qeug_abnormal
//                                 */
//                                DynamicObjectCollection qeug_abnormal = resm_regsupplier.getDynamicObjectCollection("qeug_abnormal");
//                                DynamicObjectCollection qeug_abnormal1 = resm_official_supplier.getDynamicObjectCollection("qeug_abnormal");
//                                qeug_abnormal1.clear();
//                                if (null != qeug_abnormal) {
//                                    for (int i = 0; i < qeug_abnormal.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_abnormal.get(i);
//                                        DynamicObject add = qeug_abnormal1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_putreason", qeugInfocheckentry_item.getString("qeug_putreason"));
//                                        add.set("qeug_putdate", qeugInfocheckentry_item.getString("qeug_putdate"));
//                                        add.set("qeug_removereason", qeugInfocheckentry_item.getString("qeug_removereason"));
//                                        add.set("qeug_removedate", qeugInfocheckentry_item.getString("qeug_removedate"));
//                                    }
//                                }
//
//                                /**
//                                 * 资质信息 qeug_certificateentry
//                                 */
//                                DynamicObjectCollection qeug_certificateentry = resm_regsupplier.getDynamicObjectCollection("qeug_certificateentry");
//                                DynamicObjectCollection qeug_certificateentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_certificateentry");
//                                qeug_certificateentry1.clear();
//                                if (null != qeug_certificateentry) {
//                                    for (int i = 0; i < qeug_certificateentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_certificateentry.get(i);
//                                        DynamicObject add = qeug_certificateentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_certno", qeugInfocheckentry_item.getString("qeug_certno"));
//                                        add.set("qeug_certificatename", qeugInfocheckentry_item.getString("qeug_certificatename"));
//                                        add.set("qeug_startdate", qeugInfocheckentry_item.getString("qeug_startdate"));
//                                        add.set("qeug_enddate", qeugInfocheckentry_item.getString("qeug_enddate"));
//                                    }
//                                }
//
//                                /**
//                                 * 工程资质 qeug_qualificationentry
//                                 */
//                                DynamicObjectCollection qeug_qualificationentry = resm_regsupplier.getDynamicObjectCollection("qeug_qualificationentry");
//                                DynamicObjectCollection qeug_qualificationentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_qualificationentry");
//                                qeug_qualificationentry1.clear();
//                                if (null != qeug_qualificationentry) {
//                                    for (int i = 0; i < qeug_qualificationentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_qualificationentry.get(i);
//                                        DynamicObject add = qeug_qualificationentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_certificatenum", qeugInfocheckentry_item.getString("qeug_certificatenum"));
//                                        add.set("qeug_qualificationname", qeugInfocheckentry_item.getString("qeug_qualificationname"));
//                                        add.set("qeug_issuingcertificateti", qeugInfocheckentry_item.getString("qeug_issuingcertificateti"));
//                                        add.set("qeug_effectivetime", qeugInfocheckentry_item.getString("qeug_effectivetime"));
//                                        add.set("qeug_organ", qeugInfocheckentry_item.getString("qeug_organ"));
//                                    }
//                                }
//
//                                /**
//                                 * 建筑资质-不良行为 qeug_badconductentry
//                                 */
//                                DynamicObjectCollection qeug_badconductentry = resm_regsupplier.getDynamicObjectCollection("qeug_badconductentry");
//                                DynamicObjectCollection qeug_badconductentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_badconductentry");
//                                qeug_badconductentry1.clear();
//                                if (null != qeug_badconductentry) {
//                                    for (int i = 0; i < qeug_badconductentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_badconductentry.get(i);
//                                        DynamicObject add = qeug_badconductentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_integritysubject", qeugInfocheckentry_item.getString("qeug_integritysubject"));
//                                        add.set("qeug_crediticon", qeugInfocheckentry_item.getString("qeug_crediticon"));
//                                        add.set("qeug_decisioncontent", qeugInfocheckentry_item.getString("qeug_decisioncontent"));
//                                        add.set("qeug_decisioncontent2", qeugInfocheckentry_item.getString("qeug_decisioncontent2"));
//                                        add.set("qeug_reasons", qeugInfocheckentry_item.getString("qeug_reasons"));
//                                        add.set("qeug_decisiondate", qeugInfocheckentry_item.getString("qeug_decisiondate"));
//                                        add.set("qeug_publishvalidityperio", qeugInfocheckentry_item.getString("qeug_publishvalidityperio"));
//                                    }
//                                }
//
//                                /**
//                                 * 建筑资质-工程项目 qeug_projectentry
//                                 */
//                                DynamicObjectCollection qeug_projectentry = resm_regsupplier.getDynamicObjectCollection("qeug_projectentry");
//                                DynamicObjectCollection qeug_projectentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_projectentry");
//                                qeug_projectentry1.clear();
//                                if (null != qeug_projectentry) {
//                                    for (int i = 0; i < qeug_projectentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_projectentry.get(i);
//                                        DynamicObject add = qeug_projectentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_proname", qeugInfocheckentry_item.getString("qeug_proname"));
//                                        add.set("qeug_base", qeugInfocheckentry_item.getString("qeug_base"));
//                                        add.set("qeug_protype", qeugInfocheckentry_item.getString("qeug_protype"));
//                                        add.set("qeug_buildcompanys", qeugInfocheckentry_item.getString("qeug_buildcompanys"));
//                                    }
//                                }
//
//                                /**
//                                 * 建筑资质-注册人员 qeug_reghumanentry
//                                 */
//                                DynamicObjectCollection qeug_reghumanentry = resm_regsupplier.getDynamicObjectCollection("qeug_reghumanentry");
//                                DynamicObjectCollection qeug_reghumanentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_reghumanentry");
//                                qeug_reghumanentry1.clear();
//                                if (null != qeug_reghumanentry) {
//                                    for (int i = 0; i < qeug_reghumanentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_reghumanentry.get(i);
//                                        DynamicObject add = qeug_reghumanentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_registertype", qeugInfocheckentry_item.getString("qeug_registertype"));
//                                        add.set("qeug_humanname", qeugInfocheckentry_item.getString("qeug_humanname"));
//                                    }
//                                }
//
//                                /**
//                                 * 行政处罚 qeug_punishmentinfoentry
//                                 */
//                                DynamicObjectCollection qeug_punishmentinfoentry = resm_regsupplier.getDynamicObjectCollection("qeug_punishmentinfoentry");
//                                DynamicObjectCollection qeug_punishmentinfoentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_punishmentinfoentry");
//                                qeug_punishmentinfoentry1.clear();
//                                if (null != qeug_punishmentinfoentry) {
//                                    for (int i = 0; i < qeug_punishmentinfoentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_punishmentinfoentry.get(i);
//                                        DynamicObject add = qeug_punishmentinfoentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_decisiondatepun", qeugInfocheckentry_item.getString("qeug_decisiondatepun"));
//                                        add.set("qeug_punishnumber", qeugInfocheckentry_item.getString("qeug_punishnumber"));
//                                        add.set("qeug_punishnumberpun", qeugInfocheckentry_item.getString("qeug_punishnumberpun"));
//                                        add.set("qeug_content", qeugInfocheckentry_item.getString("qeug_content"));
//                                        add.set("qeug_departmentname", qeugInfocheckentry_item.getString("qeug_departmentname"));
//                                        add.set("qeug_legalpersonname", qeugInfocheckentry_item.getString("qeug_legalpersonname"));
//                                        add.set("qeug_punishstatus", qeugInfocheckentry_item.getString("qeug_punishstatus"));
//                                        add.set("qeug_punishname", qeugInfocheckentry_item.getString("qeug_punishname"));
//                                    }
//                                }
//
//                                /**
//                                 * 严重违法 qeug_illegalinfoentry
//                                 */
//                                DynamicObjectCollection qeug_illegalinfoentry = resm_regsupplier.getDynamicObjectCollection("qeug_illegalinfoentry");
//                                DynamicObjectCollection qeug_illegalinfoentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_illegalinfoentry");
//                                qeug_illegalinfoentry1.clear();
//                                if (null != qeug_illegalinfoentry) {
//                                    for (int i = 0; i < qeug_illegalinfoentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_illegalinfoentry.get(i);
//                                        DynamicObject add = qeug_illegalinfoentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_removedateil", qeugInfocheckentry_item.getString("qeug_removedateil"));
//                                        add.set("qeug_putreasonil", qeugInfocheckentry_item.getString("qeug_putreasonil"));
//                                        add.set("qeug_putdepartment", qeugInfocheckentry_item.getString("qeug_putdepartment"));
//                                        add.set("qeug_removedepartment", qeugInfocheckentry_item.getString("qeug_removedepartment"));
//                                        add.set("qeug_removereasonil", qeugInfocheckentry_item.getString("qeug_removereasonil"));
//                                        add.set("qeug_putdateil", qeugInfocheckentry_item.getString("qeug_putdateil"));
//                                    }
//                                }
//
//                                /**
//                                 * 诉讼 qeug_lawsuitentry
//                                 */
//                                DynamicObjectCollection qeug_lawsuitentry = resm_regsupplier.getDynamicObjectCollection("qeug_lawsuitentry");
//                                DynamicObjectCollection qeug_lawsuitentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_lawsuitentry");
//                                qeug_lawsuitentry1.clear();
//                                if (null != qeug_lawsuitentry) {
//                                    for (int i = 0; i < qeug_lawsuitentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_lawsuitentry.get(i);
//                                        DynamicObject add = qeug_lawsuitentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_doctype", qeugInfocheckentry_item.getString("qeug_doctype"));
//                                        add.set("qeug_title", qeugInfocheckentry_item.getString("qeug_title"));
//                                        add.set("qeug_court", qeugInfocheckentry_item.getString("qeug_court"));
//                                        add.set("qeug_judgetime", qeugInfocheckentry_item.getString("qeug_judgetime"));
//                                        add.set("qeug_caseno", qeugInfocheckentry_item.getString("qeug_caseno"));
//                                        add.set("qeug_casetype", qeugInfocheckentry_item.getString("qeug_casetype"));
//                                        add.set("qeug_casereason", qeugInfocheckentry_item.getString("qeug_casereason"));
//                                    }
//                                }
//
//                                /**
//                                 * 失信执行 qeug_jr_dishonestentry
//                                 */
//                                DynamicObjectCollection qeug_jr_dishonestentry = resm_regsupplier.getDynamicObjectCollection("qeug_jr_dishonestentry");
//                                DynamicObjectCollection qeug_jr_dishonestentry1 = resm_official_supplier.getDynamicObjectCollection("qeug_jr_dishonestentry");
//                                qeug_jr_dishonestentry1.clear();
//                                if (null != qeug_jr_dishonestentry) {
//                                    for (int i = 0; i < qeug_jr_dishonestentry.size(); i++) {
//                                        DynamicObject qeugInfocheckentry_item = qeug_jr_dishonestentry.get(i);
//                                        DynamicObject add = qeug_jr_dishonestentry1.addNew();
//                                        add.set("seq",i);
//                                        add.set("qeug_iname", qeugInfocheckentry_item.getString("qeug_iname"));
//                                        add.set("qeug_disrupttypename", qeugInfocheckentry_item.getString("qeug_disrupttypename"));
//                                        add.set("qeug_casecode", qeugInfocheckentry_item.getString("qeug_casecode"));
//                                        add.set("qeug_performance", qeugInfocheckentry_item.getString("qeug_performance"));
//                                        add.set("qeug_regdate", qeugInfocheckentry_item.getString("qeug_regdate"));
//                                        add.set("qeug_publishdate", qeugInfocheckentry_item.getString("qeug_publishdate"));
//                                        add.set("qeug_gistunit", qeugInfocheckentry_item.getString("qeug_gistunit"));
//                                    }
//                                }
//                                SaveServiceHelper.save(new DynamicObject[]{resm_official_supplier});
//                            }
//                        }
//                    }
//                }
//            }
//        }
    }
}