#include "util.h" #include "common_itk_util.h" //INITIALIZE_EASYLOGGINGPP; string Utf8ToGbk(const char *src_str) { int len = MultiByteToWideChar(CP_UTF8, 0, src_str, -1, NULL, 0); wchar_t* wszGBK = new wchar_t[len + 1]; memset(wszGBK, 0, len * 2 + 2); MultiByteToWideChar(CP_UTF8, 0, src_str, -1, wszGBK, len); len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL); char* szGBK = new char[len + 1]; memset(szGBK, 0, len + 1); WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, szGBK, len, NULL, NULL); string strTemp(szGBK); if (wszGBK) delete[] wszGBK; if (szGBK) delete[] szGBK; return strTemp; } string GbkToUtf8(const char *src_str) { int len = MultiByteToWideChar(CP_ACP, 0, src_str, -1, NULL, 0); wchar_t* wstr = new wchar_t[len + 1]; memset(wstr, 0, len + 1); MultiByteToWideChar(CP_ACP, 0, src_str, -1, wstr, len); len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL); char* str = new char[len + 1]; memset(str, 0, len + 1); WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL); string strTemp = str; if (wstr) delete[] wstr; if (str) delete[] str; return strTemp; } void Split(string strArg, string spliter, vector &ans) { ans.clear(); size_t index0 = 0; string one_arg; if (strArg.find_first_not_of(' ') == string::npos) strArg = ""; while (strArg.size() > 0) { index0 = strArg.find_first_of(spliter); if (index0 != string::npos) { one_arg = strArg.substr(0, index0); strArg = strArg.substr(index0 + 1); ans.push_back(one_arg); } else { ans.push_back(strArg); break; } } } 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; printf("kl_erp_save1\n"); CreateLogFile("C:\\logs\\testLog.log"); PREF_ask_char_values(pref1.c_str(), &pref_cnt, &pref_vals); PREF_ask_char_values(pref2.c_str(), &pref_cnt2, &pref_vals2); vector configs; Document doc0, doc1, doc2, doc3, doc4, doc5,doc6,doc7,doc8,doc9; vector 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); vec.push_back(&doc8); vec.push_back(&doc9); printf("kl_erp_save2\n"); for (auto i = 0; iParse(pref_vals2[i]); configs.push_back(vec[i]); } printf("kl_erp_save3\n"); string ip = pref_vals[0]; string token_url = ip + "/K3API/Token/Create?authorityCode=" + pref_vals[1]; printf("kl_erp_save4\n"); Testclass ^class1 = gcnew Testclass(); System::String ^key = convert_to_cstring(key_str.c_str()); printf("kl_erp_save5\n"); 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 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("不存在或是没有访问权限")!=-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 == "禁用") 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) { printf("开始执行修改代码\n"); char* neima; AOM_UIF_ask_value(atts[i], "kl3_jhy", &neima); printf("获取的值为%s\n",&neima); int pref_cnt = 0; char ** pref_vals = NULL; //获取首选项的值 PREF_ask_char_values("kl3_jhy_config", &pref_cnt, &pref_vals); printf("获取到了%d个",&pref_cnt); if(pref_cnt>0){ for(int i=0; i ans; printf("2"); Split(str,"-",ans); printf("3"); if(ans.size()>0){ if(strcmp(neima,ans[0].c_str())==0){ printf("获取到了\n"); neima = const_cast(ans[1].c_str()); printf("获取的值为%s\n",neima); // 如果neima是char*类型的指针,则应该使用%s来输出 data.AddMember("FPlanner", Value().SetString(neima, al), al); break; } } printf("没有获取到\n"); } printf("获取的值为%s\n",neima); } printf("10"); printf("开始赋值"); //int num = atoi(neima); if(neima == nullptr || strlen(neima) == 0) { // neima为空或者指向的字符串为空 // 处理代码 printf("内码为空"); } else { } //data.AddMember("F_131", Value().SetString(get_val(atts[i], "kl3_clfl"), al), al); string inspect = get_val(atts[i], "kl3_cgjyfs"); int inspect_val = 353; if (inspect == "全检") { inspect_val = 351; } else if (inspect == "免检") { inspect_val = 352; }else if (inspect == "抽检") { 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=="注塑制造部") { source_val.AddMember("FName", "注塑制造部", al); source_val.AddMember("FNumber", "13", al); }else if(ly_val=="胶条制造部") { source_val.AddMember("FName", "胶条制造部", 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_pcs"), al), al);//kl3_bzyf 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 = "是"; 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); data.AddMember("F_146", Value().SetString(get_val(atts[i], "kl3_cpdl"), al), al); data.AddMember("F_147", Value().SetString(get_val(atts[i], "kl3_cpxl"), al), al); data.AddMember("F_148", Value().SetString(get_val(atts[i], "kl3_pplx"), al), al); data.AddMember("F_150", Value().SetString(get_val(atts[i], "kl3_qclx"), al), al); data.AddMember("F_152", Value().SetString(get_val(atts[i], "kl3_qcbw"), al), al); data.AddMember("F_151", Value().SetString(get_val(atts[i], "kl3_lccx_ihs"), al), al); data.AddMember("F_153", Value().SetString(get_val(atts[i], "kl3_kflx"), al), al); data.AddMember("F_149", Value().SetString(get_val(atts[i], "kl3_kfzt"), al), al); data.AddMember("F_156", Value().SetString(get_val(atts[i], "kl3_bz1"), al), al); data.AddMember("F_157", Value().SetString(get_val(atts[i], "kl3_bz2"), 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=="注塑制造部") { source_val.AddMember("FName", "注塑制造部", al); source_val.AddMember("FNumber", "13", al); }else if(ly_val=="胶条制造部") { source_val.AddMember("FName", "胶条制造部", 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) { printf("开始执行修改代码\n"); char* neima; AOM_UIF_ask_value(atts[i], "kl3_jhy", &neima); printf("获取的值为%s\n",&neima); int pref_cnt = 0; char ** pref_vals = NULL; //获取首选项的值 PREF_ask_char_values("kl3_jhy_config", &pref_cnt, &pref_vals); printf("获取到了%d个",&pref_cnt); if(pref_cnt>0){ for(int i=0; i ans; printf("2"); Split(str,"-",ans); printf("3"); if (ans.size() > 0) { if (strcmp(neima, ans[0].c_str()) == 0) { printf("获取到了\n"); neima = const_cast(ans[1].c_str()); printf("获取的值为%s\n", neima); // 如果neima是char*类型的指针,则应该使用%s来输出 data.AddMember("FPlanner", Value().SetString(neima, al), al); break; } } printf("没有获取到\n"); } }else{ neima = ""; } printf("10"); printf("开始赋值"); //int num = atoi(neima); //data.AddMember("F_131", Value().SetString(get_val(atts[i], "kl3_clfl"), al), al); string inspect = get_val(atts[i], "kl3_cgjyfs"); int inspect_val = 353; if (inspect == "全检") { inspect_val = 351; } else if (inspect == "免检") { inspect_val = 352; }else if (inspect == "抽检") { inspect_val = 353; } data.AddMember("FInspectionLevel", inspect_val, al); } else { data.AddMember("FPlanner",Value().SetString("", al) , al); 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_pcs"), al), al);//kl3_bzyf 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="是"; 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); data.AddMember("F_146", Value().SetString(get_val(atts[i], "kl3_cpdl"), al), al); data.AddMember("F_147", Value().SetString(get_val(atts[i], "kl3_cpxl"), al), al); data.AddMember("F_148", Value().SetString(get_val(atts[i], "kl3_pplx"), al), al); data.AddMember("F_150", Value().SetString(get_val(atts[i], "kl3_qclx"), al), al); data.AddMember("F_152", Value().SetString(get_val(atts[i], "kl3_qcbw"), al), al); data.AddMember("F_151", Value().SetString(get_val(atts[i], "kl3_lccx_ihs"), al), al); data.AddMember("F_153", Value().SetString(get_val(atts[i], "kl3_kflx"), al), al); data.AddMember("F_149", Value().SetString(get_val(atts[i], "kl3_kfzt"), al), al); data.AddMember("F_156", Value().SetString(get_val(atts[i], "kl3_bz1"), al), al); data.AddMember("F_157", Value().SetString(get_val(atts[i], "kl3_bz2"), 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 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)); char *txtfile = ""; if(result[0]=='s') { //LOG(INFO) << result; WriteLog("INFO", result.c_str()); printf("result:%s\n", result.c_str()); }else { POM_AM__set_application_bypass(false); //LOG(ERROR) << result; WriteLog("ERROR", result.c_str()); CloseLog(); printf("result(ERROR):%s\n", result.c_str()); EMH_store_error_s1(EMH_severity_error, EMH_ATTR_error_base, result.c_str()); return 1; } printf("result:%s\n", result.c_str()); } CloseLog(); 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