/*=================================================================================================== Copyright(c) 2011 Siemens PLM Software Corp. All rights reserved. Unpublished - All rights reserved ==================================================================================================== File description: Filename : epm_register_handler.c This file registers functions which are called when Teamcenter is being initialized ==================================================================================================== Date Name Description of Change 2011-8-21 Ray wei creation $HISTORY$ ==================================================================================================*/ #pragma warning (disable: 4819) /** * @headerfile tcua ͷ�ļ� */ #include #include #include /** * @headerfile standard c & cpp header files */ #include #include #include #include #include /** * @headerfile user's header files */ #include "epm_register_handler.h" #include "epm_handler_common.h" #include "util.h" // Method and Workflow Handler extern DLLAPI int CUST_init_module(int *decision, va_list args) { int ifail = ITK_ok, n = 0; char date_buf[80], *expire_date; time_t now; struct tm *p; *decision = ALL_CUSTOMIZATIONS; printf("register start\n"); ifail = EPM_register_action_handler("bs_file_transfer", "bs_file_transfer", (EPM_action_handler_t)bs_file_transfer); if (ifail) { printf("register bs_file_transfer failed\n"); } else { printf("register bs_file_transfer successfully\n"); } ifail = EPM_register_action_handler("bs_sap_material", "bs_sap_material", (EPM_action_handler_t)bs_sap_material); if (ifail) { printf("register bs_sap_material failed\n"); } else { printf("register bs_sap_material successfully\n"); } ifail = EPM_register_action_handler("bs_sap_bom", "bs_sap_bom", (EPM_action_handler_t)bs_sap_bom); if (ifail) { printf("register bs_sap_bom failed\n"); } else { printf("register bs_sap_bom successfully\n"); } ifail = EPM_register_rule_handler("bs_bom_check", "bs_bom_check", (EPM_rule_handler_t)bs_bom_check); if (ifail) { printf("register bs_bom_check failed\n"); } else { printf("register bs_bom_check successfully\n"); } ifail = EPM_register_rule_handler("bs_wl_check", "bs_wl_check", (EPM_rule_handler_t)bs_wl_check); if (ifail) { printf("register bs_wl_check failed\n"); } else { printf("register bs_wl_check successfully\n"); } ifail = EPM_register_action_handler("bs_sign_cad", "bs_sign_cad", (EPM_action_handler_t)bs_sign_cad); if (ifail) { printf("register bs_sign_cad failed\n"); } else { printf("register bs_sign_cad successfully\n"); } ifail = EPM_register_action_handler("bs_test_release_check", "bs_test_release_check", (EPM_action_handler_t)bs_test_release_check); if (ifail) { printf("register bs_test_release_check failed\n"); } else { printf("register bs_test_release_check successfully\n"); } ifail = EPM_register_action_handler("jd_signoff", "jd_signoff", (EPM_action_handler_t)jd_signoff); if (ifail) { printf("register jd_signoff failed\n"); } else { printf("register jd_signoff successfully\n"); } ifail = EPM_register_action_handler("jd_schedule_joint", "jd_schedule_joint", (EPM_action_handler_t)jd_schedule_joint); if (ifail == ITK_ok) { fprintf(stdout, "Registering action handler jd_schedule_joint completed!\n"); } else { fprintf(stdout, "Registering action handler jd_schedule_joint failed %d!\n", ifail); } ifail = EPM_register_action_handler("jd_batch_process", "jd_batch_process", (EPM_action_handler_t)jd_batch_process); if (ifail) { printf("register jd_batch_process failed\n"); } else { printf("register jd_batch_process successfully\n"); } ifail = EPM_register_action_handler("jd_add_attachments", "jd_add_attachments", (EPM_action_handler_t)jd_add_attachments); if (ifail) { printf("register jd_add_attachments failed\n"); } else { printf("register jd_add_attachments successfully\n"); } ifail = EPM_register_rule_handler("jd_check_99_bomyt", "jd_check_99_bomyt", (EPM_rule_handler_t)jd_check_99_bomyt); if (ifail) { printf("register jd_check_99_bomyt failed\n"); } else { printf("register jd_check_99_bomyt successfully\n"); } ifail = EPM_register_action_handler("jd_send_mail", "jd_send_mail", (EPM_action_handler_t)jd_send_mail); if (ifail) { printf("register jd_send_mail failed\n"); } else { printf("register jd_send_mail successfully\n"); } ifail = EPM_register_action_handler("jd_get_target", "jd_get_target", (EPM_action_handler_t)jd_get_target); if (ifail) { printf("register jd_get_target failed\n"); } else { printf("register jd_get_target successfully\n"); } ifail = EPM_register_rule_handler("jd_check_wlms_len", "jd_check_wlms_len", (EPM_rule_handler_t)jd_check_wlms_len); if (ifail) { printf("register jd_check_wlms_len failed\n"); } else { printf("register jd_check_wlms_len successfully\n"); } ifail = EPM_register_rule_handler("bs_bom_transmit_check", "bs_bom_transmit_check", (EPM_rule_handler_t)bs_bom_transmit_check); if (ifail) { printf("register bs_bom_transmit_check failed\n"); } else { printf("register bs_bom_transmit_check successfully\n"); } ifail = EPM_register_rule_handler("jd_check_bom_use", "jd_check_bom_use", (EPM_rule_handler_t)jd_check_bom_use); if (ifail) { printf("register jd_check_bom_use failed\n"); } else { printf("register jd_check_bom_use successfully\n"); } ifail = EPM_register_rule_handler("jd_check_bom_99", "jd_check_bom_99", (EPM_rule_handler_t)jd_check_bom_99); if (ifail) { printf("register jd_check_bom_99 failed\n"); } else { printf("register jd_check_bom_99 successfully\n"); } ifail = EPM_register_rule_handler("jd_check_ID_wllx", "jd_check_ID_wllx", (EPM_rule_handler_t)jd_check_ID_wllx); if (ifail) { printf("register jd_check_ID_wllx failed\n"); } else { printf("register jd_check_ID_wllx successfully\n"); } ifail = EPM_register_rule_handler("jd_check_99_cglx", "jd_check_99_cglx", (EPM_rule_handler_t)jd_check_99_cglx); if (ifail) { printf("register jd_check_99_cglx failed\n"); } else { printf("register jd_check_99_cglx successfully\n"); } ifail = EPM_register_action_handler("jd_auto_revise", "jd_auto_revise", (EPM_action_handler_t)jd_auto_revise); if (ifail) { printf("register jd_auto_revise failed\n"); } else { printf("register jd_auto_revise successfully\n"); } ifail = EPM_register_action_handler("jd_send_mail2", "jd_send_mail2", (EPM_action_handler_t)jd_send_mail2); if (ifail) { printf("register jd_send_mail2 failed\n"); } else { printf("register jd_send_mail2 successfully\n"); } ifail = EPM_register_action_handler("jd_get_target2", "jd_get_target2", (EPM_action_handler_t)jd_get_target2); if (ifail) { printf("register jd_get_target2 failed\n"); } else { printf("register jd_get_target2 successfully\n"); } ifail = EPM_register_rule_handler("jd_rev_release", "jd_rev_release", (EPM_rule_handler_t)jd_rev_release); if (ifail) { printf("register jd_rev_release failed\n"); } else { printf("register jd_rev_release successfully\n"); } ifail = EPM_register_action_handler("jd_splicing_task", "jd_splicing_task", (EPM_action_handler_t)jd_splicing_task); if (ifail) { printf("register jd_splicing_task failed\n"); } else { printf("register jd_splicing_task successfully\n"); } //if(ifail == ITK_ok) //{ // fprintf(stdout,"Registering action handler qtmc-sign-ir completed!\n"); //} //else //{ // fprintf(stdout , "Registering action handler qtmc-sign-ir failed %d!\n",ifail); //} ifail = EPM_register_rule_handler("check_release_issus", "check_release_issus", (EPM_rule_handler_t)check_release_issus); if (ifail) { printf("register check_release_issus failed\n"); } else { printf("register check_release_issus successfully\n"); } ifail = EPM_register_rule_handler("Sample_confirmation_sheet", "Sample_confirmation_sheet", (EPM_rule_handler_t)Sample_confirmation_sheet); if (ifail) { printf("register Sample_confirmation_sheet failed\n"); } else { printf("register Sample_confirmation_sheet successfully\n"); } return ifail; } // ////register service method extern DLLAPI int USERSERVICE_custom_register_methods() { int status = 0; METHOD_id_t mth_tag; METHOD_find_method("BOMWindow", "BOMWindow_save", &mth_tag); printf("register service\n"); if (mth_tag.id) { printf("register bomwindow_save\n"); status = METHOD_add_action(mth_tag, METHOD_pre_action_type, (METHOD_function_t)bs_bom_save_check, NULL); if (status == ITK_ok) { printf("register bomwindow_save success\n"); } else { printf("register bomwindow_save failed\n"); } int numberOfArguments = 1, returnValueType = USERARG_STRING_TYPE, *argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int)); argumentList[0] = USERARG_LOGICAL_TYPE;; USER_function_t functionPtr; functionPtr = bs_bypass; status = USERSERVICE_register_method("bs_bypass", functionPtr, numberOfArguments, argumentList, returnValueType); if (status == ITK_ok) { printf("register bs_bypass success\n"); } else { printf("register bs_bypass failed\n"); } } vector form_types; form_types.push_back("JD2_GTZJRevisionMaster"); form_types.push_back("JD2_GTBJRevisionMaster"); form_types.push_back("JD2_BLZJRevisionMaster"); form_types.push_back("JD2_BLBJRevisionMaster"); form_types.push_back("JD2_BXZJRevisionMaster"); form_types.push_back("JD2_BXBJRevisionMaster"); form_types.push_back("JD2_YFSBZJRevisionMaster"); form_types.push_back("JD2_YFSBBJRevisionMaster"); form_types.push_back("JD2_YLRevisionMaster"); form_types.push_back("JD2_FLRevisionMaster"); form_types.push_back("JD2_RHRevisionMaster"); form_types.push_back("JD2_LSWLRevisionMaster"); form_types.push_back("JD2_RHRevisionMaster"); form_types.push_back("JD2_CDRevisionMaster"); for (int i = 0; i < form_types.size(); i++) { METHOD_find_prop_method(form_types[i].c_str(), "jd2_flbm", PROP_set_value_string_msg, &mth_tag); if (mth_tag.id) { status = METHOD_add_action(mth_tag, METHOD_post_action_type, (METHOD_function_t)jd_prop_relate, NULL); if (status == ITK_ok) { cout << "register " << form_types[i].c_str() << " success" << endl; } else { cout << "register " << form_types[i].c_str() << " failed" << endl; } } } return 0; }