#include "util.h" int jd_check_bom_99(EPM_rule_message_t msg) { POM_AM__set_application_bypass(true); tag_t root_task, *attachments; int att_cnt; //获得根节点 EPM_ask_root_task(msg.task, &root_task); //获得根任务下的组件 EPM_ask_attachments(root_task, EPM_target_attachment, &att_cnt, &attachments); //判断参数是否符合要求 for (int i = 0; i < att_cnt; i++) { if (isTypeOf(attachments[i], "ItemRevision")) { char *object_string; //获取当前对象的 object_string AOM_ask_value_string(attachments[i], "object_string", &object_string); //转换截取后判断是否以 99 开头 是则不能发起流程 string taskName = object_string; string str = taskName.substr(0, 2); const char *p = str.c_str(); if (strcmp(p, "99") == 0) { cout << "Exception:" << "散件与整机请分开发流程" << endl; POM_AM__set_application_bypass(false); return EMH_store_error_s1(EMH_severity_error, EMH_IDGENERATION_ERROR_BASE, "散件与整机请分开发流程"); } } } POM_AM__set_application_bypass(false); return EPM_go; }