#include "util.h" using namespace Teamcenter; string getYMD(date_t dat); void AccessDesignTask(vector vecs); void getSch(tag_t task, bool *flag, tag_t *sch, int level); int chint_Design_Task(tag_t task) { tag_t root_task; int t_cnt; tag_t *t_tag; POM_AM__set_application_bypass(true); EPM_ask_root_task(task, &root_task); /*TC_argument_list_t * arguments = arguments; int arg_cnt = TC_number_of_arguments(arguments); char *temp_key, *temp_val; map texts; vector vec_tags; for (int i = 0; i < arg_cnt; i++) { ITK_ask_argument_named_value(TC_next_argument(arguments), &temp_key, &temp_val); if (temp_key == NULL || temp_key == "") continue; //vec_tags.push_back() texts[temp_key] = temp_val; printf("参数:%s,值:%s\r\n",temp_key,temp_val); } */ tag_t *s_tasks; //时间表任务 int s_cnt; AOM_ask_value_tags(root_task,"fnd0RootScheduleTask",&s_cnt,&s_tasks); printf("当前流程一共挂载%d个时间表任务\r\n",s_cnt); tag_t sch_task; char *s_name;//时间表任务名称 bool flag = false; for (auto i = 0; i < s_cnt; i++) { AOM_ask_value_string(s_tasks[i], "object_name", &s_name); LINFO<<"时间表任务名称:"<(pro_Folder); vector tasks_vec; vector tasks_cnt; item->getTagArray("zt2_Tasks", tasks_vec, tasks_cnt); printf("设计任务个数:%d\r\n",tasks_cnt.size()); vector vecs; for (auto j = 0; j < tasks_cnt.size(); j++) { char *acName, *acNo, *plansEnd, *planStart; AOM_ask_value_string(tasks_vec[j], "zt2_activeName", &acName); AOM_ask_value_string(tasks_vec[j], "zt2_activeNo", &acNo); printf("%d-%s|%s\r\n",j,acName,acNo); vecs.push_back(item_id); vecs.push_back(acNo); vecs.push_back(acName); vecs.push_back(getYMD(ISDD)); vecs.push_back(getYMD(IEDD)); } AccessDesignTask(vecs); } } return 0; } void getSch(tag_t task, bool *flag, tag_t *sch, int level) { char *folder_Name, *object_type; ITKCALL(AOM_ask_value_string(task, "object_name", &folder_Name)); ITKCALL(AOM_ask_value_string(task, "object_type", &object_type)); //printf("第%d层object_name:%s|object_type:%s|flag:%d \r\n",level,folder_Name,object_type,*flag); if (*flag) return; tag_t *refs; int cnt = 0, *levels; char **relations; ITKCALL(WSOM_where_referenced2(task, 1, &cnt, &levels, &refs, &relations)); //printf("level:%d|cnt:%d\r\n",level,cnt); if (cnt == 0) return; for (auto i = 0; i vecs) { printf("vecs size:%d\r\n", vecs.size()); if (vecs.size() % 5 != 0 && vecs.size()!=0) { printf("传入的参数不正确,请检查"); return; } string AUFNR = vecs[0]; //网络编码 string VORNR = vecs[1]; //活动编码 string LTXA1 = vecs[2]; //活动名称 string ISDD = vecs[3]; //实际开始时间 string IEDD = vecs[4]; //实际完成时间 printf("[AUFNR=%s;VORNR=%s;LTXA1=%s;ISDD=%s;IEDD=%s]\r\n", AUFNR, VORNR, LTXA1, ISDD, IEDD); vector isRep; string filesStr; filesStr.append("\""); for (int i = 0; i vec) { for(auto i=0;i