更新传递方式

main
李岩峰 5 years ago
parent 75d75317d3
commit 31fc859a69

@ -1,6 +1,6 @@
#include "util.h" #include "util.h"
boolean judge(tag_t top,string &status,string &name) void judge(tag_t top,string &status,stringstream &ss)
{ {
int line_cnt; int line_cnt;
tag_t *lines; tag_t *lines;
@ -14,13 +14,11 @@ boolean judge(tag_t top,string &status,string &name)
if (temp.length()>0&&status.find(val) != -1) if (temp.length()>0&&status.find(val) != -1)
{ {
AOM_ask_value_string(lines[j], "bl_rev_object_string", &val); AOM_ask_value_string(lines[j], "bl_rev_object_string", &val);
name = val; ss << val << ',';
return false;
} }
if (!judge(lines[j], status, name)) judge(lines[j], status, ss);
return false;
} }
return true;
} }
int bs_bom_check(EPM_rule_message_t msg) int bs_bom_check(EPM_rule_message_t msg)
@ -34,8 +32,8 @@ int bs_bom_check(EPM_rule_message_t msg)
TC_argument_list_t * arguments = msg.arguments; TC_argument_list_t * arguments = msg.arguments;
int arg_cnt = TC_number_of_arguments(arguments), status = 0; int arg_cnt = TC_number_of_arguments(arguments), status = 0;
vector<string> types; vector<string> types;
string name;
map<string, string> paras; map<string, string> paras;
stringstream ss;
for (auto i = 0; i < arg_cnt; i++) for (auto i = 0; i < arg_cnt; i++)
{ {
char *temp_key, *temp_val; char *temp_key, *temp_val;
@ -61,18 +59,22 @@ int bs_bom_check(EPM_rule_message_t msg)
continue; continue;
printf("begin check \n"); printf("begin check \n");
BOM_set_window_top_line(win, NULLTAG, attachments[i], NULLTAG, &top); BOM_set_window_top_line(win, NULLTAG, attachments[i], NULLTAG, &top);
if(!judge(top, paras["status"],name)) AOM_UIF_ask_value(top, "jd2_last_release_status", &val);
if (tc_strlen(val) && paras["status"].find(val) != -1)
{ {
ifail = EPM_nogo; AOM_ask_value_string(top, "bl_rev_object_string", &val);
break; ss << val << ',';
} }
judge(top, paras["status"], ss);
printf("end check \n"); printf("end check \n");
} }
BOM_close_window(win); BOM_close_window(win);
if (ifail==EPM_nogo) { if (ss.str().length()) {
name += paras["prompt"]; ss<< paras["prompt"];
EMH_store_error_s1(EMH_severity_user_error, EMH_PROP_error_base, name.c_str()); EMH_store_error_s1(EMH_severity_user_error, EMH_PROP_error_base, ss.str().c_str());
ifail = EPM_nogo;
} }
return ifail; return ifail;
} }

@ -122,12 +122,13 @@ int bs_sap_material(EPM_action_message_t msg)
temp_val = val; temp_val = val;
} }
else if (j->second == "release_status_list") { else if (j->second == "release_status_list") {
int status_cnt; // int status_cnt;
tag_t *rel_status; // tag_t *rel_status;
AOM_ask_value_tags(form, j->second.c_str(), &status_cnt, &rel_status); // AOM_ask_value_tags(form, j->second.c_str(), &status_cnt, &rel_status);
if (status_cnt) // if (status_cnt)
AOM_UIF_ask_value(rel_status[status_cnt - 1], "object_string", &val); // AOM_UIF_ask_value(rel_status[status_cnt - 1], "object_string", &val);
temp_val = rel_map[val]; // temp_val = rel_map[val];
temp_val = paras["status"];
}else if(j->second=="jd2_dldw") }else if(j->second=="jd2_dldw")
{ {
AOM_UIF_ask_value(form, j->second.c_str(), &val); AOM_UIF_ask_value(form, j->second.c_str(), &val);

Loading…
Cancel
Save