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.
248 lines
6.8 KiB
248 lines
6.8 KiB
#include <server_exits/user_server_exits.h>
|
|
#include <epm/epm.h>
|
|
|
|
|
|
#include <time.h>
|
|
#include <bom/bom_msg.h>
|
|
#include <tccore/item_msg.h>
|
|
#include <vector>
|
|
#include <string.h>
|
|
/**
|
|
* @headerfile user's header files
|
|
*/
|
|
#include "epm_register_handler.h"
|
|
#include "epm_handler_common.h"
|
|
#include "RB_AutoSignServer.h"
|
|
|
|
using namespace std;
|
|
|
|
// Method and Workflow Handler
|
|
extern DLLAPI int CUST_init_module(int *decision, va_list args)
|
|
{
|
|
int ifail = ITK_ok;
|
|
|
|
|
|
//检查交付和物料关系
|
|
ifail = EPM_register_action_handler("RB_CheckForCompletion", "RB_CheckForCompletion",
|
|
(EPM_action_handler_t)RB_CheckForCompletion);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_CheckForCompletion completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_CheckForCompletion failed %d!\n", ifail);
|
|
}
|
|
|
|
|
|
//对象下发到SAP
|
|
ifail = EPM_register_action_handler("RB_SendSapItem", "RB_SendSapItem",
|
|
(EPM_action_handler_t)RB_SendErpItem);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendSapItem completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendSapItem failed %d!\n", ifail);
|
|
}
|
|
//对象下发到SAP-新版本
|
|
ifail = EPM_register_action_handler("RB_SendErpItem_New", "RB_SendErpItem_New",
|
|
(EPM_action_handler_t)RB_SendErpItem_New);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendErpItem_New completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendErpItem_New failed %d!\n", ifail);
|
|
}
|
|
|
|
//对象下发到SAP-新版本 Rule
|
|
ifail = EPM_register_rule_handler("RB_SendErpItem_New_Rule", "RB_SendErpItem_New_Rule",
|
|
(EPM_rule_handler_t)RB_SendErpItem_New_Rule);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering rule handler RB_SendErpItem_New_Rule completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering rule handler RB_SendErpItem_New_Rule failed %d!\n", ifail);
|
|
}
|
|
|
|
|
|
|
|
//对象下发到SAP-新版本 Rule Release
|
|
ifail = EPM_register_rule_handler("RB_SendErpItem_New_Rule_Release", "RB_SendErpItem_New_Rule_Release",
|
|
(EPM_rule_handler_t)RB_SendErpItem_New_Rule_Release);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering rule handler RB_SendErpItem_New_Rule_Release completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering rule handler RB_SendErpItem_New_Rule_Release failed %d!\n", ifail);
|
|
}
|
|
|
|
|
|
|
|
|
|
//BOM下发到SAP
|
|
ifail = EPM_register_action_handler("RB_SendSapBom", "RB_SendSapBom",
|
|
(EPM_action_handler_t)RB_SendErpBom);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendSapBom completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendSapBom failed %d!\n", ifail);
|
|
}
|
|
//BOM下发到SAP--新版本
|
|
ifail = EPM_register_action_handler("RB_SendErpBom_New", "RB_SendErpBom_New",
|
|
(EPM_action_handler_t)RB_SendErpBom_New);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendErpBom_New completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendErpBom_New failed %d!\n", ifail);
|
|
}
|
|
|
|
//BOM下发到SAP--新版本rule
|
|
ifail = EPM_register_rule_handler("RB_SendErpBom_New_Rule", "RB_SendErpBom_New_Rule",
|
|
(EPM_rule_handler_t)RB_SendErpBom_New_Rule);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering rule handler RB_SendErpBom_New_Rule completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering rule handler RB_SendErpBom_New_Rule failed %d!\n", ifail);
|
|
}
|
|
|
|
|
|
//BOM下发到SAP--新版本rule Release
|
|
ifail = EPM_register_rule_handler("RB_SendErpBom_New_Rule_Release", "RB_SendErpBom_New_Rule_Release",
|
|
(EPM_rule_handler_t)RB_SendErpBom_New_Rule_Release);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering rule handler RB_SendErpBom_New_Rule_Release completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering rule handler RB_SendErpBom_New_Rule_Release failed %d!\n", ifail);
|
|
}
|
|
|
|
//工序下发到SAP--新版本
|
|
ifail = EPM_register_action_handler("RB_SendGX_New", "RB_SendGX_New",
|
|
(EPM_action_handler_t)RB_SendGX_New);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendGX_New completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_SendGX_New failed %d!\n", ifail);
|
|
}
|
|
//工艺路线下发到SAP--新版本
|
|
ifail = EPM_register_action_handler("RB_Send_MDM_GYLX_New", "RB_Send_MDM_GYLX_New",
|
|
(EPM_action_handler_t)RB_Send_MDM_GYLX_New);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_Send_MDM_GYLX_New completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_Send_MDM_GYLX_New failed %d!\n", ifail);
|
|
}
|
|
//传递TC检测分析委托单信息至LIMS
|
|
ifail = EPM_register_action_handler("RB_PLM2LIMS_JCSY", "RB_PLM2LIMS_JCSY",
|
|
(EPM_action_handler_t)RB_PLM2LIMS_JCSY);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_PLM2LIMS_JCSY completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_PLM2LIMS_JCSY failed %d!\n", ifail);
|
|
}
|
|
|
|
//传递TC检测分析委托单信息至LIMS
|
|
ifail = EPM_register_action_handler("RB_testquery_ID", "RB_testquery_ID",
|
|
(EPM_action_handler_t)RB_testquery_ID);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_testquery_ID completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_testquery_ID failed %d!\n", ifail);
|
|
}
|
|
|
|
ifail = EPM_register_action_handler("RB_BOM_TO_ERP", "RB_BOM_TO_ERP",
|
|
(EPM_action_handler_t)RB_BOM_TO_ERP);
|
|
if (ifail == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_BOM_TO_ERP completed!\n");
|
|
}
|
|
else
|
|
{
|
|
fprintf(stdout, "Registering action handler RB_BOM_TO_ERP failed %d!\n", ifail);
|
|
}
|
|
|
|
return ifail;
|
|
}
|
|
//
|
|
////register service method
|
|
extern DLLAPI int USERSERVICE_custom_register_methods()
|
|
{
|
|
int
|
|
status = ITK_ok,
|
|
numberOfArguments = 0,
|
|
returnValueType = USERARG_STRING_TYPE,
|
|
*argumentList = NULL;
|
|
USER_function_t functionPtr;
|
|
|
|
METHOD_id_t mth_tag;
|
|
|
|
//===========================================
|
|
|
|
/*METHOD_find_method("ScheduleTask", ITEM_create_msg, &mth_tag);
|
|
if (mth_tag.id)
|
|
{
|
|
status = METHOD_add_action(mth_tag, METHOD_post_action_type, (METHOD_function_t)ML_Test, NULL);
|
|
if (status == ITK_ok)
|
|
{
|
|
printf("register wx3_tzcpxh_check successfully\n ");
|
|
}
|
|
else
|
|
{
|
|
printf("register wx3_tzcpxh_check failed\n ");
|
|
}
|
|
|
|
}*/
|
|
|
|
//===========================================
|
|
//提取流程节点自动跳过
|
|
numberOfArguments = 2;
|
|
functionPtr = RB_AutoSignServer;
|
|
argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int));
|
|
argumentList[0] = USERARG_STRING_TYPE; //需要执行的signoff的puid
|
|
argumentList[1] = USERARG_STRING_TYPE; //跳过的节点的PUID
|
|
returnValueType = USERARG_STRING_TYPE; //返回值
|
|
ITKCALL(status = USERSERVICE_register_method("RB_AutoSignServer", functionPtr, numberOfArguments, argumentList, returnValueType));
|
|
MEM_free(argumentList);
|
|
if (status == ITK_ok)
|
|
{
|
|
fprintf(stdout, "Registering userservice RB_AutoSignServer successful !\n");
|
|
}
|
|
else {
|
|
fprintf(stdout, "Registering userservice RB_AutoSignServer failed %d\n", status);
|
|
}
|
|
return(status);
|
|
}
|
|
|
|
|