//#include "kutil.h" // ////流程自动指派审批人 //int HS2_AutoAssign(EPM_action_message_t msg) { // // printf("===================================\n"); // printf("流程自动指派审批人 开始\n"); // printf("===================================\n"); // int ifail = ITK_ok; // printf("开超级权限\n"); // POM_AM__set_application_bypass(true); // int att_cnt = 0; // tag_t task_tag = NULL_TAG, // root_task_tag = NULLTAG, // * attachments; // char* argflag = NULL, * argvalue = NULL, * arg = NULL; // int arg_cnt = 0; // char task_name[1024] = ""; // vector vec; // char* message; // //获取handler的参数的个数 // arg_cnt = TC_number_of_arguments(msg.arguments); // ECHO("参数个数为:%d\n", arg_cnt); // // if (arg_cnt > 0) // { // for (int i = 0; i < arg_cnt; i++) // { // //获取下一个参数(从0开始) // arg = TC_next_argument(msg.arguments); // //获取参数的名称和值 // ITK_ask_argument_named_value((const char*)arg, &argflag, &argvalue); // if (strcmp(argflag, "task") == 0) // { // if (argvalue != NULL) // { // strcpy(task_name, argvalue); // } // } // // } // MEM_free(argflag); // MEM_free(argvalue); // } // task_tag = msg.task; // EPM_ask_root_task(task_tag, &root_task_tag); // int cnt_task = 0; tag_t* tasks = NULLTAG; // EPM_ask_sub_tasks(root_task_tag, &cnt_task, &tasks); // //ITKCALL(EPM_ask_tasks(root_task_tag, EPM_started, &cnt_task, &tasks)); // EPM_ask_attachments(root_task_tag, EPM_target_attachment, &att_cnt, &attachments); // if (att_cnt > 0) { // for (int i = 0; i < att_cnt; i++) // { // tag_t rev_tag = attachments[i]; // char* tag_type; // ITKCALL(AOM_ask_value_string(rev_tag, "object_type", &tag_type)); // // if (strcmp("HS2_ChangeTaskRevision", tag_type) == 0) { // int doc_num = 0; // tag_t* doc_tags = NULL; // tag_t* pathFile = NULLTAG; // int Num = 0; // char* excel_path; // ITKCALL(AOM_ask_value_tags(rev_tag, "IMAN_specification", &doc_num, &doc_tags)); // char user[1024] = "\0"; // for (int j = 0; j < cnt_task; j++) // { // tag_t subtask = tasks[j]; // char* sub_task_object_type = NULL; // char* sub_task_object_name = NULL; // ITKCALL(AOM_ask_value_string(subtask, "object_name", &sub_task_object_name)); // cout << "名称--------" << sub_task_object_name << endl; // ITKCALL(AOM_ask_value_string(subtask, "object_type", &sub_task_object_type)); // cout << "类型--------" << sub_task_object_type << endl; // if (strcmp(task_name, sub_task_object_name) == 0) // { // cout << "bingo0" << endl; // // ITKCALL( SA_find_user( "0120160006", &user_tag )); // // ITKCALL( EPM_assign_responsible_party( task, user_tag));//设置编制节点的责任方 // tag_t tmp_select_signoff_task = NULLTAG; // ITKCALL(EPM_ask_sub_task(subtask, EPM_select_signoff_team_task, &tmp_select_signoff_task)); // for (int k = 0; k < vec.size(); k++) // { // //构建器 // tag_t* results; // const char query_name_product[1][QRY_name_size_c + 1] = { "管理 - 员工信息" }; // tag_t query_tag1 = NULLTAG; // int entry_count1 = 0; // char** entries1; // char** values1; // char* other_values1[1]; // char* other_entrys1[1]; // other_values1[0] = (char*)calloc(48, sizeof(char)); // other_entrys1[0] = (char*)calloc(48, sizeof(char)); // int num_found1 = 0; // ITKCALL(QRY_find2(query_name_product[0], &query_tag1)); // if (query_tag1 == NULLTAG) // { // WriteLog("query_tag=NULLTAG,没找到 [%s]查询构建器!\n", query_name_product[0]); // ITK_exit_module(1); // return 0; // } // else // { // WriteLog("找到查询构建器\n"); // } // // ITKCALL(QRY_find_user_entries(query_tag1, &entry_count1, &entries1, &values1));//entries1:查询条件表达式;values1:查询条件值(MEM_free释放) // if (entry_count1 == 0) // { // WriteLog("entry_count1=0,查询构建器中没有配置查询条件!\n"); // //ITK_exit_module(1); // if (entries1 != NULL) { // MEM_free(entries1); // entries1 = NULL; // } // if (values1 != NULL) { // MEM_free(values1); // values1 = NULL; // } // return 0; // } // // //date_tag.second = p->tm_sec ; // // for (int n = 0; n < entry_count1; n++) // { // printf("entries1[%d]=%s\n", n, entries1[n]); // if (tc_strcmp(entries1[n], "人员姓名") == 0) { // //strcpy(values[n],nowtime1); // tc_strcpy(other_entrys1[0], "人员姓名"); // tc_strcpy(other_values1[0], vec[k].c_str());//* 2012-05 NBJF16025 Test001 NBJF16046 16C104 // printf("other_values1[0] %s\n", other_values1[0]); // // } // // printf("values[%d]=%s\n", n, values1[n]); // // } // // ITKCALL(ifail = QRY_execute(query_tag1, 1, other_entrys1, other_values1, &num_found1, &results)); // // if (ifail != ITK_ok) { // EMH_ask_error_text(ifail, &message); // WriteLog("程序异常 : \"%d\",\"%s\"\n", ifail, message); // MEM_free(message); // if (entries1 != NULL) { // MEM_free(entries1); // entries1 = NULL; // } // if (values1 != NULL) { // MEM_free(values1); // values1 = NULL; // } // return 0; // } // if (num_found1 == 0) // { // printf("num_found=0,查询构建器中没找到满足条件的数据!\n"); // //ITK_exit_module(1); // if (entries1 != NULL) { // MEM_free(entries1); // entries1 = NULL; // } // if (values1 != NULL) { // MEM_free(values1); // values1 = NULL; // } // } // //开始获取产品信息 // printf("查询构建器得到ITEM数num_found1: \"%d\" \n", num_found1); // // if (num_found1 != 0) { // tag_t login_group = NULLTAG; // printf("111!\n"); // tag_t user = results[0]; // /* char* user_id; // tag_t user_tag = NULLTAG; // printf("222!\n"); // int mem_cnt = 0; // tag_t* members = NULL;*/ // int signoff_cnt = 0; // tag_t* signoffs = NULL; // /* ITKCALL(AOM_ask_value_string(user, "user_id", &user_id)); // printf("user_id=%s\n", user_id); // ITKCALL(SA_find_user2(user_id, &user_tag)); // ITKCALL(SA_ask_user_login_group(user_tag, &login_group)); // printf("333!\n"); // ITKCALL(SA_find_groupmembers(user_tag, login_group, &mem_cnt, &members)); // printf("mem_cnt=%d\n", mem_cnt); // printf("444!\n"); // ITKCALL(EPM_create_adhoc_signoff(tmp_select_signoff_task, members[0], &signoff_cnt, &signoffs));*/ // ITKCALL(EPM_create_adhoc_signoff(tmp_select_signoff_task, user, &signoff_cnt, &signoffs)); // printf("555!\n"); // ITKCALL(EPM_set_adhoc_signoff_selection_done(tmp_select_signoff_task, true)); // printf("666!\n"); // if (signoffs) // { // MEM_free(signoffs); // signoffs = NULL; // } // } // // } // // // ITKCALL(EPM_trigger_action(tmp_select_signoff_task,EPM_complete_action, "")); // break; // } // //} // //} // } // } // } // // } // // printf("关超级权限\n"); // POM_AM__set_application_bypass(false); // printf("===================================\n"); // printf("流程自动指派审批人 结束\n"); // printf("===================================\n"); // return ifail; //}