You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

342 lines
9.8 KiB

/*===================================================================================================
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 ͷ<>ļ<EFBFBD>
*/
#include <server_exits/user_server_exits.h>
#include <tccore/custom.h>
#include <epm/epm.h>
/**
* @headerfile standard c & cpp header files
*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <time.h>
/**
* @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);
//}
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<string> 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;
}