#include "util.h" int jd_rev_release(EPM_rule_message_t msg) { POM_AM__set_application_bypass(true); tag_t root_task, *attachments, *boms, *xjxxds; int att_cnt, bom_cnt, xjxxd_cnt; char *object_string; //获得根任务 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++) { AOM_ask_value_tags(attachments[i], "JD2_BGH", &xjxxd_cnt, &xjxxds); //AOM_ask_value_tags(attachments[i], "FTH4xjxxdgx", &xjxxd_cnt, &xjxxds); for (int i = 0; i < xjxxd_cnt; i++) { //零组件版本 if (isTypeOf(xjxxds[i], "ItemRevision")) { vector tags1(1, xjxxds[i]); vector types1(1, EPM_target_attachment); EPM_add_attachments(root_task, 1, &tags1[0], &types1[0]); AOM_ask_value_tags(xjxxds[i], "structure_revisions", &bom_cnt, &boms); if (bom_cnt > 0) { //bom视图版本 for (int i = 0; i < bom_cnt; i++) { vector tags2(1, boms[i]); vector types2(1, EPM_target_attachment); EPM_add_attachments(root_task, 1, &tags2[0], &types2[0]); } } } //版本表单 if (isTypeOf(xjxxds[i], "Form")) { vector tags3(1, xjxxds[i]); vector types3(1, EPM_target_attachment); EPM_add_attachments(root_task, 1, &tags3[0], &types3[0]); } } } POM_AM__set_application_bypass(false); return EPM_go; }