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.

54 lines
1.3 KiB

#include "util.h"
int check_release_issus(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);
//判断参数是否符合要求
char* object_string;
std::string names = "";
int bjNum = 0;
//遍历任务组件
for (int i = 0; i < att_cnt; i++) {
if (isTypeOf(attachments[i], "ItemRevision")) {
//判断版本属性 release_status_list (是否发布)
int release_att;
tag_t* release;
AOM_ask_value_tags(attachments[i], "release_status_list", &release_att, &release);
cout << "release_att:" << release_att << endl;
cout << "release:" << release << endl;
if (release_att >= 1) {
continue;
}
else {
//如果date_released没有,打一个标记,并记录所有没有的对象
bjNum = -1;
AOM_ask_value_string(attachments[i], "object_string", &object_string);
names.append(object_string);
names.append(";");
}
}
}
if (bjNum == -1) {
std::string massage = "物料/图纸当前版本未发布!";
names.append(massage);
const char* p = names.c_str();
cout << "Exception:" << p << endl;
EMH_store_error_s1(EMH_severity_error, EMH_IDGENERATION_ERROR_BASE, p);
return EPM_nogo;
}
POM_AM__set_application_bypass(false);
return EPM_go;
}