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.

603 lines
21 KiB

#include "util.h"
int erp_save(tag_t task,string key_str,string pref1,string pref2)
{
printf("start kl_erp_save\n");
tag_t *atts, root_task;
int att_cnt;
EPM_ask_root_task(task, &root_task);
EPM_ask_attachments(root_task, EPM_target_attachment, &att_cnt, &atts);
int pref_cnt, pref_cnt2;
char **pref_vals, **pref_vals2;
PREF_ask_char_values(pref1.c_str(), &pref_cnt, &pref_vals);
PREF_ask_char_values(pref2.c_str(), &pref_cnt2, &pref_vals2);
vector<Value*> configs;
Document doc0, doc1, doc2, doc3, doc4, doc5,doc6,doc7;
vector<Document*> vec;
vec.push_back(&doc0);
vec.push_back(&doc1);
vec.push_back(&doc2);
vec.push_back(&doc3);
vec.push_back(&doc4);
vec.push_back(&doc5);
vec.push_back(&doc6);
vec.push_back(&doc7);
for (auto i = 0; i<pref_cnt2; i++)
{
vec[i]->Parse(pref_vals2[i]);
configs.push_back(vec[i]);
}
string ip = pref_vals[0];
string token_url = ip + "/K3API/Token/Create?authorityCode=" + pref_vals[1];
Testclass ^class1 = gcnew Testclass();
System::String ^key = convert_to_cstring(key_str.c_str());
string token = ConvertToString(class1->GetToken(convert_to_cstring(token_url.c_str()),key));
printf("token:%s\n", token.c_str());
string s_url = ip + "/K3API/Material/Save?token=" + token;
string c_url = ip + "/K3API/Material/GetDetail?token=" + token;
System::String ^save_url = convert_to_cstring(s_url.c_str());
System::String ^check_url = convert_to_cstring(c_url.c_str());
string u_url = ip + "/K3API/Material/Update?token=" + token;
System::String ^update_url = convert_to_cstring(u_url.c_str());
POM_AM__set_application_bypass(true);
printf("att_cnt:%d\n", att_cnt);
for (auto i = 0; i<att_cnt; i++)
{
int type = -1;
if (isTypeOf(atts[i], "KL3_MaterialRevisionMaster"))
{
type = 0;
}
else if (isTypeOf(atts[i], "KL3_SemiProductRevisionMaster"))
{
type = 1;
}
else if (isTypeOf(atts[i], "KL3_ProductRevisionMaster"))
{
type = 2;
}
else if (isTypeOf(atts[i], "KL3_MouldRevisionMaster"))
{
type = 3;
}
else if (isTypeOf(atts[i], "KL3_MMaterialRevisionMaster"))
{
type = 4;
}
else if (isTypeOf(atts[i], "KL3_GJLRevisionMaster"))
{
type = 5;
}
else if (isTypeOf(atts[i], "KL3_VirtualRevisionMaster"))
{
type = 6;
}
printf("type:%d\n", type);
if (type == -1)
continue;
int ref_cnt, *levels;
tag_t *refs, rev = NULLTAG;
char **relations;
WSOM_where_referenced(atts[i], 1, &ref_cnt, &levels, &refs, &relations);
for (auto j = 0; j<ref_cnt; j++)
{
if (isTypeOf(refs[j], "ItemRevision"))
{
rev = refs[j];
break;
}
}
Document doc,check_doc;
check_doc.SetObject();
Document::AllocatorType &check_al = check_doc.GetAllocator();
Value check_data(kObjectType);
check_data.AddMember("FNumber", Value().SetString(get_val(rev, "item_id"), check_al), check_al);
check_doc.AddMember("Data", check_data, check_al);
check_doc.AddMember("GetProperty", false, check_al);
StringBuffer check_sb;
Writer<StringBuffer> check_writer(check_sb);
bool is_update = true;
check_doc.Accept(check_writer);
string check_result = ConvertToString(class1->Send(check_url, convert_to_cstring(check_sb.GetString()), key));
printf("check_result:%s\n", check_result.c_str());
if(check_result[0]!='s')
{
LERROR << "check error:" << check_result;
printf("check error\n");
break;
}
if(check_result.find("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>")!=-1)
{
is_update = false;
}
doc.SetObject();
Document::AllocatorType &al = doc.GetAllocator();
Value data(kObjectType);
printf("is_update:%d\n", is_update);
if(is_update)
{
string syzt = get_val(atts[i], "kl3_syzt");
if (syzt == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
continue;
if (type != 1 && type != 2 && type != 6)
{
data.AddMember("Fmaund", 0, al);
}
else
{
Value maund(kObjectType);
string zldw = get_val(atts[i], "kl3_zldw");
maund.AddMember("FNumber", (*configs[3])[zldw.c_str()], al);
maund.AddMember("FName", Value().SetString(zldw.c_str(), al), al);
data.AddMember("Fmaund", maund, al);
}
printf("111\n");
Value manager(kObjectType);
manager.AddMember("FName", Value().SetString(pref_vals[2], al), al);
manager.AddMember("FNumber", Value().SetString(pref_vals[3], al), al);
data.AddMember("FDSManagerID", manager, al);
data.AddMember("FName", Value().SetString(get_val(rev, "object_name"), al), al);
data.AddMember("FNumber", Value().SetString(get_val(rev, "item_id"), al), al);
data.AddMember("FModel", Value().SetString(get_val(atts[i], "kl3_item_ggxh"), al), al);
// if(type<3||type>5)
// {
// data.AddMember("FKFPeriod", Value().SetString(get_val(atts[i], "kl3_bzqt"), al), al);
// }
// data.AddMember("FISKFPeriod", true, al);
data.AddMember("FFixLeadTime", (type != 1 && type != 2 && type != 6) ? (Value().SetString(get_val(atts[i], "kl3_gdtql"), al)) : Value().SetString("", al), al);
data.AddMember("F_132", (type<3 || type == 6) ? (Value().SetString(get_val(atts[i], "kl3_color"), al)) : Value().SetString("", al), al);
data.AddMember("FErpClsID", get_wlsx(get_val(atts[i], "kl3_item_wlsx"), al, *configs[5]), al);
string jldwz = get_val(atts[i], "kl3_jldwz");
int jldw_index = jldwz.find('/');
jldwz = jldw_index != -1 ? jldwz.substr(0, jldw_index) : jldwz;
Value &jldw_val = (*configs[4])[jldwz.c_str()];
if (!jldw_val.IsNull())
{
Value jldw(kObjectType);
jldw.AddMember("FName", Value().SetString(jldwz.c_str(), al), al);
jldw.AddMember("FNumber", Value().SetString(jldw_val["id"].GetString(), al), al);
data.AddMember("FUnitGroupID", jldw, al);
data.AddMember("FUnitID", get_jldw(get_val(atts[i], "kl3_jbjldw"), al, jldw_val), al);
data.AddMember("FOrderUnitID", get_jldw(get_val(atts[i], "kl3_cgjldw"), al, jldw_val), al);
data.AddMember("FSaleUnitID", get_jldw(get_val(atts[i], "kl3_xsjldw"), al, jldw_val), al);
data.AddMember("FProductUnitID", get_jldw(get_val(atts[i], "kl3_item_scjldw"), al, jldw_val), al);
data.AddMember("FStoreUnitID", get_jldw(get_val(atts[i], "kl3_kcjldw"), al, jldw_val), al);
}
printf("222\n");
if(type!=2){
data.AddMember("FLength", 0, al);
data.AddMember("FWidth", 0, al);
data.AddMember("FHeight", 0, al);
data.AddMember("FSize", 0, al);
}else{
int int_val;
double db_val;
char *ch_val;
AOM_ask_value_int(atts[i],"kl3_chang",&int_val);
db_val=(double)int_val/1000;
data.AddMember("FLength", db_val, al);
AOM_ask_value_int(atts[i],"kl3_kuan",&int_val);
db_val=(double)int_val/1000;
data.AddMember("FWidth", db_val, al);
AOM_ask_value_int(atts[i],"kl3_gao",&int_val);
db_val=(double)int_val/1000;
data.AddMember("FHeight", db_val, al);
AOM_ask_value_string(atts[i],"kl3_dxtj",&ch_val);
db_val=atof(ch_val);
data.AddMember("FSize", db_val, al);
}
switch (type)
{
case 0:
// data.AddMember("FDefaultLoc", 651, al);
// break;
case 1:
case 2:
data.AddMember("FDefaultLoc", (*configs[1])[get_val(atts[i], "kl3_mrck")], al);
break;
case 3:
case 5:
data.AddMember("FDefaultLoc", 666, al);
break;
case 4:
data.AddMember("FDefaultLoc", 667, al);
break;
default:
break;
}
if (type == 0)
{
data.AddMember("FSecInv", Value().SetString(get_val(atts[i], "kl3_aqkcsl"), al), al);
data.AddMember("FQtyMin", Value().SetString(get_val(atts[i], "kl3_zxdhl"), al), al);
data.AddMember("FBatchAppendQty", Value().SetString(get_val(atts[i], "kl3_plzl"), al), al);
data.AddMember("F_112", Value().SetString(get_val(atts[i], "kl3_brand"), al), al);
data.AddMember("F_106", Value().SetString(get_val(atts[i], "kl3_dxsl"), al), al);
data.AddMember("F_131", Value().SetString(get_val(atts[i], "kl3_clfl"), al), al);
}
if (type == 0)
{
string inspect = get_val(atts[i], "kl3_cgjyfs");
int inspect_val = 353;
if (inspect == "ȫ<EFBFBD><EFBFBD>")
{
inspect_val = 351;
}
else if (inspect == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
{
inspect_val = 352;
}else if (inspect == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
{
inspect_val = 353;
}
data.AddMember("FInspectionLevel", inspect_val, al);
}
if(type==1||type==2||type==6)
{
string ly_val = get_val(atts[i], "kl3_ly");
Value source_val(kObjectType);
if(ly_val=="ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첿")
{
source_val.AddMember("FName", "ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첿", al);
source_val.AddMember("FNumber", "13", al);
}else if(ly_val=="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첿")
{
source_val.AddMember("FName", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첿", al);
source_val.AddMember("FNumber", "14", al);
}else
{
source_val.AddMember("FName", "", al);
source_val.AddMember("FNumber", "", al);
}
data.AddMember("FSource", source_val, al);
}
if (type == 2)
{
Value type_id(kObjectType);
string wlfl = get_val(atts[i], "kl3_wlfl");
type_id.AddMember("FID", (*configs[0])[wlfl.c_str()], al);
type_id.AddMember("FName", Value().SetString(wlfl.c_str(), al), al);
data.AddMember("FTypeID", type_id, al);
data.AddMember("F_112", Value().SetString(get_val(atts[i], "kl3_brand"), al), al);
data.AddMember("F_109", Value().SetString(get_val(atts[i], "kl3_bzsj"), al), al);
data.AddMember("F_118", Value().SetString(get_val(atts[i], "kl3_bzyf"), al), al);
data.AddMember("F_113", Value().SetString(get_val(atts[i], "kl3_cx"), al), al);
data.AddMember("F_114", Value().SetString(get_val(atts[i], "kl3_lcrq"), al), al);
data.AddMember("F_104", Value().SetString(get_val(atts[i], "kl3_ncl"), al), al);
data.AddMember("F_105", Value().SetString(get_val(atts[i], "kl3_yl"), al), al);
data.AddMember("F_119", Value().SetString(get_val(atts[i], "kl3_sm"), al), al);
data.AddMember("F_106", Value().SetString(get_val(atts[i], "kl3_dxsl"), al), al);
data.AddMember("F_133", Value().SetString(get_val(atts[i], "kl3_OTSdhrq"), al), al);
data.AddMember("F_134", Value().SetString(get_val(atts[i], "kl3_zjcmc"), al), al);
data.AddMember("F_135", Value().SetString(get_val(atts[i], "kl3_lccxmc"), al), al);
string s = "<EFBFBD><EFBFBD>";
data.AddMember("F_136", s== get_val(atts[i], "kl3_sfyz")?1:0, al);
data.AddMember("F_138", s == get_val(atts[i], "kl3_sfsbz") ? 1 : 0, al);
data.AddMember("F_139", Value().SetString(get_val(atts[i], "kl3_cpzt"), al), al);
data.AddMember("F_142", Value().SetString(get_val(atts[i], "kl3_MOQ"), al), al);
data.AddMember("F_143", Value().SetString(get_val(atts[i], "kl3_ydcgzq"), al), al);
data.AddMember("F_144", Value().SetString(get_val(atts[i], "kl3_dxzl"), al), al);
}
if (type == 4)
{
data.AddMember("FSecInv", Value().SetString(get_val(atts[i], "kl3_aqkc"), al), al);
data.AddMember("FLowLimit", Value().SetString(get_val(atts[i], "kl3_zdkc"), al), al);
data.AddMember("FHighLimit", Value().SetString(get_val(atts[i], "kl3_zgkc"), al), al);
}
Value data2(kObjectType);
data2.AddMember("FNumber", Value().SetString(get_val(rev, "item_id"), al), al);
data2.AddMember("Data", data, al);
doc.AddMember("Data", data2, al);
}else
{
data.AddMember("Fdeleted", 0, al);
data.AddMember("FTrack", 76, al);
data.AddMember("FDefaultReadyLoc", 664, al);
data.AddMember("FCostProject", 57, al);
data.AddMember("FPlanMode", 14036, al);
data.AddMember("FOrderTrategy", 331, al);
data.AddMember("FCtrlType", 14039, al);
data.AddMember("FBeforeExpire", 0, al);
data.AddMember("FSOChkMde", 352, al);
data.AddMember("FWthDrwChkMde", 352, al);
data.AddMember("FOtherChkMde", 352, al);
data.AddMember("FQtyDecimal", 8, al);
data.AddMember("FUseState", 341, al);
data.AddMember("FGrossWeight", 0, al);
data.AddMember("FNetWeight", 0, al);
if(type==1)
{
data.AddMember("FPriceDecimal", 10, al);
}else if(type==2)
{
data.AddMember("FPriceDecimal", 6, al);
}else
{
data.AddMember("FPriceDecimal", 4, al);
}
if(type==1||type==2||type==6)
{
string ly_val = get_val(atts[i], "kl3_ly");
Value source_val(kObjectType);
if(ly_val=="ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첿")
{
source_val.AddMember("FName", "ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첿", al);
source_val.AddMember("FNumber", "13", al);
}else if(ly_val=="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첿")
{
source_val.AddMember("FName", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첿", al);
source_val.AddMember("FNumber", "14", al);
}else
{
source_val.AddMember("FName", "", al);
source_val.AddMember("FNumber", "", al);
}
data.AddMember("FSource", source_val, al);
}
printf("111\n");
if (type != 1 && type != 2 && type != 6)
{
data.AddMember("Fmaund", 0, al);
}
else
{
Value maund(kObjectType);
string zldw = get_val(atts[i], "kl3_zldw");
maund.AddMember("FNumber", (*configs[3])[zldw.c_str()], al);
maund.AddMember("FName", Value().SetString(zldw.c_str(), al), al);
data.AddMember("Fmaund", maund, al);
}
if(type!=2){
data.AddMember("FLength", 0, al);
data.AddMember("FWidth", 0, al);
data.AddMember("FHeight", 0, al);
data.AddMember("FSize", 0, al);
}else{
int int_val;
double db_val;
char *ch_val;
AOM_ask_value_int(atts[i],"kl3_chang",&int_val);
db_val=(double)int_val/1000;
data.AddMember("FLength", db_val, al);
AOM_ask_value_int(atts[i],"kl3_kuan",&int_val);
db_val=(double)int_val/1000;
data.AddMember("FWidth", db_val, al);
AOM_ask_value_int(atts[i],"kl3_gao",&int_val);
db_val=(double)int_val/1000;
data.AddMember("FHeight", db_val, al);
AOM_ask_value_string(atts[i],"kl3_dxtj",&ch_val);
db_val=atof(ch_val);
data.AddMember("FSize", db_val, al);
}
data.AddMember("FLenDecimal", 0, al);
data.AddMember("FCubageDecimal", 0, al);
data.AddMember("FWeightDecimal", 0, al);
Value manager(kObjectType);
manager.AddMember("FName", Value().SetString(pref_vals[2], al), al);
manager.AddMember("FNumber", Value().SetString(pref_vals[3], al), al);
data.AddMember("FDSManagerID", manager, al);
data.AddMember("FName", Value().SetString(get_val(rev, "object_name"), al), al);
data.AddMember("FNumber", Value().SetString(get_val(rev, "item_id"), al), al);
data.AddMember("FModel", Value().SetString(get_val(atts[i], "kl3_item_ggxh"), al), al);
data.AddMember("FPlanTrategy", type<3 ? 321 : 324, al);
if (type == 0)
{
string inspect = get_val(atts[i], "kl3_cgjyfs");
int inspect_val = 353;
if (inspect == "ȫ<EFBFBD><EFBFBD>")
{
inspect_val = 351;
}
else if (inspect == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
{
inspect_val = 352;
}else if (inspect == "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
{
inspect_val = 353;
}
data.AddMember("FInspectionLevel", inspect_val, al);
}
else
{
data.AddMember("FInspectionLevel", type<2 ? 353 : 352, al);
}
data.AddMember("FProChkMde", type<1 ? 353 : 352, al);
data.AddMember("FWWChkMde", type<1 ? 353 : 352, al);
data.AddMember("FStkChkMde", type<5 ? 353 : 352, al);
data.AddMember("FBatchManager", type<3 ? 1 : 0, al);
data.AddMember("FISKFPeriod", (type<3 || type>5) ? 1 : 0, al);
data.AddMember("FKFPeriod", (type<3 || type>5) ? (Value().SetString(get_val(atts[i], "kl3_bzqt"), al)) : Value().SetString("", al), al);
data.AddMember("FFixLeadTime", (type != 1 && type != 2 && type != 6) ? (Value().SetString(get_val(atts[i], "kl3_gdtql"), al)) : Value().SetString("", al), al);
data.AddMember("F_132", (type<3 || type == 6) ? (Value().SetString(get_val(atts[i], "kl3_color"), al)) : Value().SetString("", al), al);
data.AddMember("FErpClsID", get_wlsx(get_val(atts[i], "kl3_item_wlsx"), al, *configs[5]), al);
printf("222\n");
string jldwz = get_val(atts[i], "kl3_jldwz");
int jldw_index = jldwz.find('/');
jldwz = jldw_index != -1 ? jldwz.substr(0, jldw_index) : jldwz;
Value &jldw_val = (*configs[4])[jldwz.c_str()];
if (!jldw_val.IsNull())
{
Value jldw(kObjectType);
jldw.AddMember("FName", Value().SetString(jldwz.c_str(), al), al);
jldw.AddMember("FNumber", Value().SetString(jldw_val["id"].GetString(), al), al);
data.AddMember("FUnitGroupID", jldw, al);
data.AddMember("FUnitID", get_jldw(get_val(atts[i], "kl3_jbjldw"), al, jldw_val), al);
data.AddMember("FOrderUnitID", get_jldw(get_val(atts[i], "kl3_cgjldw"), al, jldw_val), al);
data.AddMember("FSaleUnitID", get_jldw(get_val(atts[i], "kl3_xsjldw"), al, jldw_val), al);
data.AddMember("FProductUnitID", get_jldw(get_val(atts[i], "kl3_item_scjldw"), al, jldw_val), al);
data.AddMember("FStoreUnitID", get_jldw(get_val(atts[i], "kl3_kcjldw"), al, jldw_val), al);
}
string item_id = get_val(rev, "item_id");
item_id = item_id.substr(0, 3);
data.AddMember("FAcctID", get_acct(item_id, al, 0, *configs[2]), al);
data.AddMember("FSaleAcctID", get_acct(item_id, al, 1, *configs[2]), al);
data.AddMember("FCostAcctID", get_acct(item_id, al, 2, *configs[2]), al);
printf("333\n");
switch (type)
{
case 0:
// data.AddMember("FDefaultLoc", 651, al);
// break;
case 1:
case 2:
data.AddMember("FDefaultLoc", (*configs[1])[get_val(atts[i], "kl3_mrck")], al);
break;
case 3:
case 5:
data.AddMember("FDefaultLoc", 666, al);
break;
case 4:
data.AddMember("FDefaultLoc", 667, al);
break;
default:
break;
}
if (type == 0)
{
data.AddMember("FSecInv", Value().SetString(get_val(atts[i], "kl3_aqkcsl"), al), al);
data.AddMember("FQtyMin", Value().SetString(get_val(atts[i], "kl3_zxdhl"), al), al);
data.AddMember("FBatchAppendQty", Value().SetString(get_val(atts[i], "kl3_plzl"), al), al);
data.AddMember("F_112", Value().SetString(get_val(atts[i], "kl3_brand"), al), al);
data.AddMember("F_106", Value().SetString(get_val(atts[i], "kl3_dxsl"), al), al);
data.AddMember("F_131", Value().SetString(get_val(atts[i], "kl3_clfl"), al), al);
data.AddMember("FStockTime", 1, al);
}
if (type == 2)
{
Value type_id(kObjectType);
string wlfl = get_val(atts[i], "kl3_wlfl");
type_id.AddMember("FID", (*configs[0])[wlfl.c_str()], al);
type_id.AddMember("FName", Value().SetString(wlfl.c_str(), al), al);
data.AddMember("FTypeID", type_id, al);
data.AddMember("F_112", Value().SetString(get_val(atts[i], "kl3_brand"), al), al);
data.AddMember("F_109", Value().SetString(get_val(atts[i], "kl3_bzsj"), al), al);
data.AddMember("F_118", Value().SetString(get_val(atts[i], "kl3_bzyf"), al), al);
data.AddMember("F_113", Value().SetString(get_val(atts[i], "kl3_cx"), al), al);
data.AddMember("F_114", Value().SetString(get_val(atts[i], "kl3_lcrq"), al), al);
data.AddMember("F_104", Value().SetString(get_val(atts[i], "kl3_ncl"), al), al);
data.AddMember("F_105", Value().SetString(get_val(atts[i], "kl3_yl"), al), al);
data.AddMember("F_119", Value().SetString(get_val(atts[i], "kl3_sm"), al), al);
data.AddMember("F_106", Value().SetString(get_val(atts[i], "kl3_dxsl"), al), al);
data.AddMember("F_133", Value().SetString(get_val(atts[i], "kl3_OTSdhrq"), al), al);
data.AddMember("F_134", Value().SetString(get_val(atts[i], "kl3_zjcmc"), al), al);
data.AddMember("F_135", Value().SetString(get_val(atts[i], "kl3_lccxmc"), al), al);
string s="<EFBFBD><EFBFBD>";
data.AddMember("F_136", s== get_val(atts[i], "kl3_sfyz")?1:0, al);
data.AddMember("F_138", s == get_val(atts[i], "kl3_sfsbz") ? 1 : 0, al);
//data.AddMember("F_136", 0, al);
//data.AddMember("F_138", 0, al);
data.AddMember("F_139", Value().SetString(get_val(atts[i], "kl3_cpzt"), al), al);
data.AddMember("F_142", Value().SetString(get_val(atts[i], "kl3_MOQ"), al), al);
data.AddMember("F_143", Value().SetString(get_val(atts[i], "kl3_ydcgzq"), al), al);
data.AddMember("F_144", Value().SetString(get_val(atts[i], "kl3_dxzl"), al), al);
}
if (type == 4)
{
data.AddMember("FSecInv", Value().SetString(get_val(atts[i], "kl3_aqkc"), al), al);
data.AddMember("FLowLimit", Value().SetString(get_val(atts[i], "kl3_zdkc"), al), al);
data.AddMember("FHighLimit", Value().SetString(get_val(atts[i], "kl3_zgkc"), al), al);
}
doc.AddMember("Data", data, al);
}
StringBuffer sb;
Writer<StringBuffer> writer(sb);
doc.Accept(writer);
printf("data:%s\n", sb.GetString());
string result = ConvertToString(class1->Send(is_update?update_url:save_url, convert_to_cstring(sb.GetString()),key));
if(result[0]=='s')
{
LOG(INFO) << result;
}else
{
POM_AM__set_application_bypass(false);
LOG(ERROR) << result;
EMH_store_error_s1(EMH_severity_error, EMH_ATTR_error_base, result.c_str());
return 1;
}
printf("result:%s\n", result.c_str());
}
POM_AM__set_application_bypass(false);
return 0;
}
int kl_erp_save(EPM_action_message_t msg)
{
int arg_cnt = TC_number_of_arguments(msg.arguments);
string key, pref1, pref2;
for(auto i=0;i<arg_cnt;i++)
{
char *temp_key, *temp_val;
ITK_ask_argument_named_value(TC_next_argument(msg.arguments), &temp_key, &temp_val);
printf("temp_key:%s\n", temp_key);
if(tc_strcmp(temp_key,"key")==0)
{
key = temp_val;
}else if(tc_strcmp(temp_key,"pref1")==0)
{
pref1 = temp_val;
}else if (tc_strcmp(temp_key, "pref2")==0)
{
pref2 = temp_val;
}
}
printf("key:%s\n", key.c_str());
printf("pref1:%s\n", pref1.c_str());
printf("pref2:%s\n", pref2.c_str());
return erp_save(msg.task,key,pref1,pref2);
}