diff --git a/.vs/DFL_WL_BOM_TOSRM/v16/.suo b/.vs/DFL_WL_BOM_TOSRM/v16/.suo new file mode 100644 index 0000000..a9c5e30 Binary files /dev/null and b/.vs/DFL_WL_BOM_TOSRM/v16/.suo differ diff --git a/.vs/DFL_WL_BOM_TOSRM/v16/Browse.VC.db b/.vs/DFL_WL_BOM_TOSRM/v16/Browse.VC.db new file mode 100644 index 0000000..c05637d Binary files /dev/null and b/.vs/DFL_WL_BOM_TOSRM/v16/Browse.VC.db differ diff --git a/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/19f56483ff14927e/DFL_WL_BOM_TOSRM.ipch b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/19f56483ff14927e/DFL_WL_BOM_TOSRM.ipch new file mode 100644 index 0000000..58fd352 Binary files /dev/null and b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/19f56483ff14927e/DFL_WL_BOM_TOSRM.ipch differ diff --git a/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/c47bf696d93ffdde/COMMON_ITK_UTIL.ipch b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/c47bf696d93ffdde/COMMON_ITK_UTIL.ipch new file mode 100644 index 0000000..3c3a479 Binary files /dev/null and b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/c47bf696d93ffdde/COMMON_ITK_UTIL.ipch differ diff --git a/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/df822c026b0f7b41/WTYPESBASE.ipch b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/df822c026b0f7b41/WTYPESBASE.ipch new file mode 100644 index 0000000..d2bcc50 Binary files /dev/null and b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/df822c026b0f7b41/WTYPESBASE.ipch differ diff --git a/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/ea35185c947d304f/TC_LOG.ipch b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/ea35185c947d304f/TC_LOG.ipch new file mode 100644 index 0000000..3f0e2fd Binary files /dev/null and b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/ea35185c947d304f/TC_LOG.ipch differ diff --git a/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/ea49433211dd9158/CONNOR_ITK_UTIL.ipch b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/ea49433211dd9158/CONNOR_ITK_UTIL.ipch new file mode 100644 index 0000000..2bdc99e Binary files /dev/null and b/.vs/DFL_WL_BOM_TOSRM/v16/ipch/AutoPCH/ea49433211dd9158/CONNOR_ITK_UTIL.ipch differ diff --git a/DFL_WL_BOM_TOERP.sdf b/DFL_WL_BOM_TOERP.sdf new file mode 100644 index 0000000..c7f0938 Binary files /dev/null and b/DFL_WL_BOM_TOERP.sdf differ diff --git a/DFL_WL_BOM_TOERP.v11.suo b/DFL_WL_BOM_TOERP.v11.suo new file mode 100644 index 0000000..4b1ac5b Binary files /dev/null and b/DFL_WL_BOM_TOERP.v11.suo differ diff --git a/DFL_WL_BOM_TOERP/DFL_WL_BOM_TOSRM.cpp b/DFL_WL_BOM_TOERP/DFL_WL_BOM_TOSRM.cpp index 4e5e512..c42a505 100644 --- a/DFL_WL_BOM_TOERP/DFL_WL_BOM_TOSRM.cpp +++ b/DFL_WL_BOM_TOERP/DFL_WL_BOM_TOSRM.cpp @@ -197,38 +197,300 @@ int DFL_WL_TO_SRM(char** c_sql_values, const char* flow_uid) { if (strcmp("T2_outsourceRevision", type1) == 0) { //判断是否存在dwg文件 //获取版本下的数据集 - char* file_name; - char* origin_file_name; + char* file_name = NULL; + char* origin_file_name = NULL; tag_t* ref_object = NULL; int n_found = 0; //数据 - char* itemId; - char* objectname; - char* datesetname; - char* fileurl; - char* revision; + char* itemId = NULL; + char* objectname = NULL; + char* datesetname = NULL; + char* fileurl = NULL; + char* revision = NULL; int released = 0; date_t createtime; - char* createtime_str; + char* createtime_str = NULL; date_t updatetime; - char* updatetime_str; - char* urlcreatetime; - string finishtime; - string exportName = ""; + char* updatetime_str = NULL; + string urlCreateTime = ""; + string finishtime = ""; string urlName = ""; + string filePaths = ""; + string zipPaths = ""; ITKCALL(AOM_ask_value_tags(tagt1, "IMAN_specification", &dataset_num, &dataset_tags)); - for (int k = 0; k < dataset_num; k++) + int count = 0; + //循环一遍判断有几个dwg数据集 + for (int f = 0; f < dataset_num; f++) { + ITKCALL(AOM_ask_value_string(dataset_tags[f], "object_name", &file_name)); + if (strstr(file_name, dwg) || strstr(file_name, DWG)) { + count++; + } + } + if (count == 1) { + for (int k = 0; k < dataset_num; k++) + { + string exportName = ""; + ITKCALL(AOM_ask_value_string(dataset_tags[k], "object_name", &file_name)); + + if (strstr(file_name, dwg) || strstr(file_name, DWG)) { + //获取数据集文件名称 + ITKCALL(AOM_ask_value_string(dataset_tags[k], "current_name", &origin_file_name)); + //ftp上传数据集 + ITKCALL(AE_ask_dataset_named_refs(dataset_tags[k], &n_found, &ref_object)); + + WriteLog("n_found=%d\n", n_found); + if (n_found > 0) { + //存在.dwg数据集 + //设置处理开始时间 + if (ConnServer(c_sql_values[1], c_sql_values[2], c_sql_values[0]))//"tc11","infodba","//172.16.50.40/tc11" "TC12","infodba","172.16.68.13/tc1" + { + WriteLog("提示:中间数据表访问失败\n"); + return ifail; + } + else { + juede = 1; + time_t curtime1; + time(&curtime1); + tm* nowtime1 = localtime(&curtime1); + string dealBeginTime; + dealBeginTime.append(std::to_string(1900 + nowtime1->tm_year)).append("-").append(std::to_string(1 + nowtime1->tm_mon)).append("-").append(std::to_string(nowtime1->tm_mday)).append(" ").append(std::to_string(nowtime1->tm_hour)).append("-").append(std::to_string(nowtime1->tm_min)).append("-").append(std::to_string(nowtime1->tm_sec)); + WriteLog("提示:中间数据表访问成功\n"); + char sql1[1024] = "\0"; + sprintf(sql1, "update DFL_DRAWING_TO_SRM_TASK set starttime = '%s' where flowid = '%s'", dealBeginTime.c_str(), flow_uid); + WriteLog("提示:sql1==%s\n", sql1); + if (ExecuteSQLNoInputParam(sql1) == -1) + { + WriteLog("提示:数据插入 失败, %s \n", sql1); + return 1; + } + else { + ExecuteSQLNoInputParam("commit"); + } + } + //1.下载文件到ftp目录 + time_t curtime2; + time(&curtime2); + tm* nowtime = localtime(&curtime2); + // 输出tm结构的年月日 + cout << "年: " << 1900 + nowtime->tm_year << endl; + cout << "月: " << 1 + nowtime->tm_mon << endl; + cout << "日: " << nowtime->tm_mday << endl; + urlCreateTime.append(std::to_string(1900 + nowtime->tm_year)).append("-").append(std::to_string(1 + nowtime->tm_mon)).append("-").append(std::to_string(nowtime->tm_mday)).append(" ").append(std::to_string(nowtime->tm_hour)).append("-").append(std::to_string(nowtime->tm_min)).append("-").append(std::to_string(nowtime->tm_sec)); + //拼接文件夹 年-》月-》日 + //创建文件夹 + string mdCommandYear = "md "; + string mdCommandMonth = "md "; + string mdCommandDay = "md "; + //string localPath = "C:\\Siemens\\ftp\\"; + string localPath = ""; + string dPath = localPath.append(position).append(std::to_string(1900 + nowtime->tm_year));//文件夹年路径 + WriteLog("position11111111111->%s", position); + WriteLog("dPath1->%s", dPath.c_str()); + //创建目录 复制文件 + if (_access(dPath.c_str(), 0) != 0) {//判断年是否存在 + //创建年 + system(mdCommandYear.append(dPath).c_str()); + } + + dPath.append("\\").append(std::to_string(1 + nowtime->tm_mon)); + WriteLog("dPath2->%s", dPath.c_str()); + if (_access(dPath.c_str(), 0) != 0) {//判断月是否存在 + //创建月 + system(mdCommandMonth.append(dPath).c_str()); + } + + dPath.append("\\").append(std::to_string(nowtime->tm_mday)); + WriteLog("dPath3->%s", dPath.c_str()); + if (_access(dPath.c_str(), 0) != 0) {//判断日是否存在 + //创建日 + system(mdCommandDay.append(dPath).c_str()); + //数据集文件下载该目录 + IMF_export_file(ref_object[0], exportName.append(dPath).append("\\").append(origin_file_name).c_str()); + } + else { + IMF_export_file(ref_object[0], exportName.append(dPath).append("\\").append(origin_file_name).c_str()); + } + //3.封装数据存入 信息写入DFL_ DRAWING_TO_SRM_DETIALS + urlName.append(tomcatIp).append(std::to_string(1900 + nowtime->tm_year)).append("\\").append(std::to_string(1 + nowtime->tm_mon)).append("\\").append(std::to_string(nowtime->tm_mday)).append("\\").append(origin_file_name); + ITKCALL(AOM_ask_value_string(tagt1, "item_id", &itemId)); + ITKCALL(AOM_ask_value_string(tagt1, "object_name", &objectname)); + ITKCALL(AOM_ask_value_string(dataset_tags[k], "object_name", &datesetname)); + ITKCALL(AOM_ask_value_string(tagt1, "item_revision_id", &revision)); + //发布状态 + int wl_release_count = 0; + tag_t* wl_release_tags = NULL; + char* released_str; + //获取发布状态 + ITKCALL(AOM_ask_value_tags(dataset_tags[k], "release_status_list", &wl_release_count, &wl_release_tags)); + WriteLog("发布=>%d", wl_release_count); + if (wl_release_count > 0) { + //发布状态给0,封存状态给1(T2_D),其余状态都是0,取最后一次发布的状态 + tag_t released_tag = wl_release_tags[wl_release_count - 1]; + ITKCALL(AOM_ask_value_string(released_tag, "object_name", &released_str)); + WriteLog("released_str=%s\n", released_str); + if (strcmp(released_str, "T2_D") == 0) { + released = 1; + } + } + ITKCALL(AOM_ask_value_date(dataset_tags[k], "creation_date", &createtime)); + ITKCALL(DATE_date_to_string(createtime, "%Y-%m-%d %H:%M:%S", &createtime_str)); + ITKCALL(AOM_ask_value_date(dataset_tags[k], "last_mod_date", &updatetime)); + ITKCALL(DATE_date_to_string(updatetime, "%Y-%m-%d %H:%M:%S", &updatetime_str)); + //urlcreatetime + //调用sql插入数据 + if (juede == 1) { + char sql2[1024] = "\0"; + sprintf(sql2, "insert into DFL_DRAWING_TO_SRM_DETIALS(itemid,objectname,datesetname,fileurl,revision,released,createtime,updatetime,urlcreatetime,urlstatus) values('%s','%s','%s','%s','%s',%d,'%s','%s','%s','%s')", itemId, objectname, datesetname, urlName.c_str(), revision, released, createtime_str, updatetime_str, urlCreateTime.c_str(), "未同步"); + WriteLog("提示:sql2==%s\n", sql2); + if (ExecuteSQLNoInputParam(sql2) == -1) + { + WriteLog("提示:数据插入 失败, %s \n", sql2); + return 1; + } + else { + ExecuteSQLNoInputParam("commit"); + } + } + //4.调用SRM接口 + //拼接json + cJSON* array = cJSON_CreateArray(); + cJSON* data = cJSON_CreateObject(); + cJSON_AddStringToObject(data, "materialCode", itemId); + cJSON_AddStringToObject(data, "materialName", GbkToUtf8(objectname).c_str()); + cJSON_AddStringToObject(data, "materialDrawingName", GbkToUtf8(datesetname).c_str()); + cJSON_AddStringToObject(data, "fileUrl", GbkToUtf8(urlName).c_str()); + cJSON_AddStringToObject(data, "version", revision); + cJSON_AddStringToObject(data, "status", std::to_string(released).c_str()); + cJSON_AddStringToObject(data, "createTime", createtime_str); + cJSON_AddStringToObject(data, "publishTime", updatetime_str); + cJSON_AddItemToArray(array, data); + //发json + CURL* curl; + CURLcode res; + curl = curl_easy_init(); + if (curl) { + stringstream out; + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); + //curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.1.68/gateway/serviceApi/invoke/QZbycode/DFL-SRM-005"); + curl_easy_setopt(curl, CURLOPT_URL, url); + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); + curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); + struct curl_slist* headers = NULL; + headers = curl_slist_append(headers, "Content-Type: application/json"); + //headers = curl_slist_append(headers, "Authorization: Basic UExNOkFmdGpzcFBQWW1DU2pNaWNROWh3U3htNDJ4eXpXUkhi"); + headers = curl_slist_append(headers, "Authorization: Basic UExNOmJlMVBYVzA5NzlKZGhEYWYxUXp4NzZaY3NEdE4zU3Iy"); + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); + //const char* data = "[{\r\n \"materialCode\": \"1\",\r\n \"materialName\": \"物料TEST001\",\r\n \"materialDrawingName\": \"图纸名称\",\r\n \"fileUrl\": \"www.baidu.com\",\r\n \"version\": \"1.1\",\r\n \"status\": \"\",\r\n \"createTime\": \"2023-11-26 11:11:10\",\r\n \"publishTime\": \"2023-11-27 11:11:10\"\r\n}]\r\n"; + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &out); + char* json_to_char = NULL; + WriteLog("JSON拼接完成\n"); + /* 打印JSON对象(整条链表)的所有数据 */ + json_to_char = cJSON_Print(array); + //cout << "JSON:" << json_to_char << endl; + WriteLog("json->%s\n", U2G(json_to_char)); + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_to_char); + WriteLog("9\n"); + res = curl_easy_perform(curl); + //设置写数据 + + if (res != CURLE_OK) { + WriteLog("curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); + } + else { + + WriteLog("====>>>>OK\n"); + + } + long retcode = 0; + CURLcode code = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &retcode); + WriteLog("====>>>>retcode:%d\n", retcode); + if (code != CURLE_OK || retcode != 200) + { + WriteLog("发送数据给ERP失败\n"); + return 1; + } + else + { + WriteLog("发送数据给ERP成功\n"); + } + string str_json = out.str(); + WriteLog("return Msg===>%s\n", U2G(str_json.c_str())); + //5.如果接口调用成功了 修改两张表 + char* a = "同步成功"; + if (strstr(U2G(str_json.c_str()), a) != NULL) {//存在 + //task表 + time_t curtime3; + time(&curtime3); + tm* nowtime3 = localtime(&curtime3); + // 输出tm结构的年月日 + cout << "年: " << 1900 + nowtime3->tm_year << endl; + cout << "月: " << 1 + nowtime3->tm_mon << endl; + cout << "日: " << nowtime3->tm_mday << endl; + finishtime.append(std::to_string(1900 + nowtime3->tm_year)).append("-").append(std::to_string(1 + nowtime3->tm_mon)).append("-").append(std::to_string(nowtime3->tm_mday)).append(" ").append(std::to_string(nowtime3->tm_hour)).append("-").append(std::to_string(nowtime3->tm_min)).append("-").append(std::to_string(nowtime3->tm_sec)); + + char sql3[1024] = "\0"; + sprintf(sql3, "update DFL_DRAWING_TO_SRM_TASK set finishtime = '%s',status = '%s' where flowid = '%s'", finishtime.c_str(), "已推送", flow_uid); + WriteLog("提示:sql3==%s\n", sql3); + if (ExecuteSQLNoInputParam(sql3) == -1) + { + WriteLog("提示:数据插入 失败, %s \n", sql3); + return 1; + } + else { + ExecuteSQLNoInputParam("commit"); + } + + + //detail表 + char sql4[1024] = "\0"; + sprintf(sql4, "update DFL_DRAWING_TO_SRM_DETIALS set urlstatus = '%s' where itemid = '%s' and revision = '%s'", "已同步", itemId, revision); + WriteLog("提示:sql4==%s\n", sql4); + if (ExecuteSQLNoInputParam(sql4) == -1) + { + WriteLog("提示:数据插入 失败, %s \n", sql4); + return 1; + } + else { + ExecuteSQLNoInputParam("commit"); + } + } + else { + char sql5[1024] = "\0"; + sprintf(sql5, "update DFL_DRAWING_TO_SRM_DETIALS set urlstatus = '%s' where itemid = '%s' and revision = '%s'", "同步失败", itemId, revision); + WriteLog("提示:sql5==%s\n", sql5); + if (ExecuteSQLNoInputParam(sql5) == -1) + { + WriteLog("提示:数据插入 失败, %s \n", sql5); + return 1; + } + else { + ExecuteSQLNoInputParam("commit"); + } + } + } + curl_easy_cleanup(curl); + + + } + } + } + } + else if(count > 1){ + for (int k = 0; k < dataset_num; k++) + { + string exportName = ""; ITKCALL(AOM_ask_value_string(dataset_tags[k], "object_name", &file_name)); - + if (strstr(file_name, dwg) || strstr(file_name, DWG)) { //获取数据集文件名称 ITKCALL(AOM_ask_value_string(dataset_tags[k], "current_name", &origin_file_name)); //ftp上传数据集 ITKCALL(AE_ask_dataset_named_refs(dataset_tags[k], &n_found, &ref_object)); - + WriteLog("n_found=%d\n", n_found); if (n_found > 0) { //存在.dwg数据集 @@ -266,7 +528,7 @@ int DFL_WL_TO_SRM(char** c_sql_values, const char* flow_uid) { cout << "年: " << 1900 + nowtime->tm_year << endl; cout << "月: " << 1 + nowtime->tm_mon << endl; cout << "日: " << nowtime->tm_mday << endl; - string urlCreateTime; + urlCreateTime.append(std::to_string(1900 + nowtime->tm_year)).append("-").append(std::to_string(1 + nowtime->tm_mon)).append("-").append(std::to_string(nowtime->tm_mday)).append(" ").append(std::to_string(nowtime->tm_hour)).append("-").append(std::to_string(nowtime->tm_min)).append("-").append(std::to_string(nowtime->tm_sec)); //拼接文件夹 年-》月-》日 //创建文件夹 @@ -281,9 +543,9 @@ int DFL_WL_TO_SRM(char** c_sql_values, const char* flow_uid) { //创建目录 复制文件 if (_access(dPath.c_str(), 0) != 0) {//判断年是否存在 //创建年 - system(mdCommandYear.append(dPath).c_str()); + system(mdCommandYear.append(dPath).c_str()); } - + dPath.append("\\").append(std::to_string(1 + nowtime->tm_mon)); WriteLog("dPath2->%s", dPath.c_str()); if (_access(dPath.c_str(), 0) != 0) {//判断月是否存在 @@ -302,12 +564,19 @@ int DFL_WL_TO_SRM(char** c_sql_values, const char* flow_uid) { else { IMF_export_file(ref_object[0], exportName.append(dPath).append("\\").append(origin_file_name).c_str()); } + filePaths.append(exportName).append(";"); //3.封装数据存入 信息写入DFL_ DRAWING_TO_SRM_DETIALS - urlName.append(tomcatIp).append(std::to_string(1900 + nowtime->tm_year)).append("\\").append(std::to_string(1 + nowtime->tm_mon)).append("\\").append(std::to_string(nowtime->tm_mday)).append("\\").append(origin_file_name); + ITKCALL(AOM_ask_value_string(tagt1, "item_id", &itemId)); ITKCALL(AOM_ask_value_string(tagt1, "object_name", &objectname)); ITKCALL(AOM_ask_value_string(dataset_tags[k], "object_name", &datesetname)); ITKCALL(AOM_ask_value_string(tagt1, "item_revision_id", &revision)); + + if (urlName.size() == 0) { + urlName.append(tomcatIp).append(std::to_string(1900 + nowtime->tm_year)).append("\\").append(std::to_string(1 + nowtime->tm_mon)).append("\\").append(std::to_string(nowtime->tm_mday)).append("\\"); + zipPaths.append(dPath).append("\\").append(itemId).append("-").append(objectname).append(".zip"); + } + //发布状态 int wl_release_count = 0; tag_t* wl_release_tags = NULL; @@ -317,10 +586,10 @@ int DFL_WL_TO_SRM(char** c_sql_values, const char* flow_uid) { WriteLog("发布=>%d", wl_release_count); if (wl_release_count > 0) { //发布状态给0,封存状态给1(T2_D),其余状态都是0,取最后一次发布的状态 - tag_t released_tag = wl_release_tags[wl_release_count-1]; + tag_t released_tag = wl_release_tags[wl_release_count - 1]; ITKCALL(AOM_ask_value_string(released_tag, "object_name", &released_str)); WriteLog("released_str=%s\n", released_str); - if (strcmp(released_str,"T2_D")==0) { + if (strcmp(released_str, "T2_D") == 0) { released = 1; } } @@ -328,145 +597,166 @@ int DFL_WL_TO_SRM(char** c_sql_values, const char* flow_uid) { ITKCALL(DATE_date_to_string(createtime, "%Y-%m-%d %H:%M:%S", &createtime_str)); ITKCALL(AOM_ask_value_date(dataset_tags[k], "last_mod_date", &updatetime)); ITKCALL(DATE_date_to_string(updatetime, "%Y-%m-%d %H:%M:%S", &updatetime_str)); - //urlcreatetime - //调用sql插入数据 - if (juede == 1) { - char sql2[1024] = "\0"; - sprintf(sql2, "insert into DFL_DRAWING_TO_SRM_DETIALS(itemid,objectname,datesetname,fileurl,revision,released,createtime,updatetime,urlcreatetime,urlstatus) values('%s','%s','%s','%s','%s',%d,'%s','%s','%s','%s')", itemId,objectname,datesetname, urlName.c_str(),revision,released,createtime_str,updatetime_str, urlCreateTime.c_str(),"未同步"); - WriteLog("提示:sql2==%s\n", sql2); - if (ExecuteSQLNoInputParam(sql2) == -1) - { - WriteLog("提示:数据插入 失败, %s \n", sql2); - return 1; - } - else { - ExecuteSQLNoInputParam("commit"); - } - } - //4.调用SRM接口 - //拼接json - cJSON* array = cJSON_CreateArray(); - cJSON* data = cJSON_CreateObject(); - cJSON_AddStringToObject(data, "materialCode", itemId); - cJSON_AddStringToObject(data, "materialName", GbkToUtf8(objectname).c_str()); - cJSON_AddStringToObject(data, "materialDrawingName", GbkToUtf8(datesetname).c_str()); - cJSON_AddStringToObject(data, "fileUrl", GbkToUtf8(urlName).c_str()); - cJSON_AddStringToObject(data, "version", revision); - cJSON_AddStringToObject(data, "status", std::to_string(released).c_str()); - cJSON_AddStringToObject(data, "createTime", createtime_str); - cJSON_AddStringToObject(data, "publishTime", updatetime_str); - cJSON_AddItemToArray(array, data); - //发json - CURL* curl; - CURLcode res; - curl = curl_easy_init(); - if (curl) { - stringstream out; - curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); - //curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.1.68/gateway/serviceApi/invoke/QZbycode/DFL-SRM-005"); - curl_easy_setopt(curl, CURLOPT_URL, url); - curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); - curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); - struct curl_slist* headers = NULL; - headers = curl_slist_append(headers, "Content-Type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic UExNOkFmdGpzcFBQWW1DU2pNaWNROWh3U3htNDJ4eXpXUkhi"); - curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); - //const char* data = "[{\r\n \"materialCode\": \"1\",\r\n \"materialName\": \"物料TEST001\",\r\n \"materialDrawingName\": \"图纸名称\",\r\n \"fileUrl\": \"www.baidu.com\",\r\n \"version\": \"1.1\",\r\n \"status\": \"\",\r\n \"createTime\": \"2023-11-26 11:11:10\",\r\n \"publishTime\": \"2023-11-27 11:11:10\"\r\n}]\r\n"; - curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); - curl_easy_setopt(curl, CURLOPT_WRITEDATA, &out); - char* json_to_char = NULL; - WriteLog("JSON拼接完成\n"); - /* 打印JSON对象(整条链表)的所有数据 */ - json_to_char = cJSON_Print(array); - //cout << "JSON:" << json_to_char << endl; - WriteLog("json->%s\n",U2G(json_to_char) ); - curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_to_char); - WriteLog("9\n"); - res = curl_easy_perform(curl); - //设置写数据 + //urlcreatetime + - if (res != CURLE_OK) { - WriteLog("curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); - } - else { - - WriteLog("====>>>>OK\n"); - - } - long retcode = 0; - CURLcode code = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &retcode); - WriteLog("====>>>>retcode:%d\n", retcode); - if (code != CURLE_OK || retcode != 200) - { - WriteLog("发送数据给ERP失败\n"); - return 1; - } - else - { - WriteLog("发送数据给ERP成功\n"); - } - string str_json = out.str(); - WriteLog("return Msg===>%s\n", U2G(str_json.c_str())); - //5.如果接口调用成功了 修改两张表 - char* a = "同步成功"; - if (strstr(U2G(str_json.c_str()), a) != NULL) {//存在 - //task表 - time_t curtime3; - time(&curtime3); - tm* nowtime3 = localtime(&curtime3); - // 输出tm结构的年月日 - cout << "年: " << 1900 + nowtime3->tm_year << endl; - cout << "月: " << 1 + nowtime3->tm_mon << endl; - cout << "日: " << nowtime3->tm_mday << endl; - finishtime.append(std::to_string(1900 + nowtime3->tm_year)).append("-").append(std::to_string(1 + nowtime3->tm_mon)).append("-").append(std::to_string(nowtime3->tm_mday)).append(" ").append(std::to_string(nowtime3->tm_hour)).append("-").append(std::to_string(nowtime3->tm_min)).append("-").append(std::to_string(nowtime3->tm_sec)); - - char sql3[1024] = "\0"; - sprintf(sql3, "update DFL_DRAWING_TO_SRM_TASK set finishtime = '%s',status = '%s' where flowid = '%s'", finishtime.c_str(), "已推送", flow_uid); - WriteLog("提示:sql3==%s\n", sql3); - if (ExecuteSQLNoInputParam(sql3) == -1) - { - WriteLog("提示:数据插入 失败, %s \n", sql3); - return 1; - } - else { - ExecuteSQLNoInputParam("commit"); - } + } + } + } + //调用jar包生成zip + WriteLog("提示:filePaths.c_str()==%s\n", filePaths.c_str()); + + char cmd[256] = ""; + char* tc_root_dir = getenv("tc_root"); + strcpy(cmd, "java -jar "); + strcat(cmd, tc_root_dir); + strcat(cmd, "\\bin\\DFL_ZIP.jar"); + strcat(cmd, " \""); + strcat(cmd, filePaths.c_str()); + strcat(cmd, "\" \""); + strcat(cmd, zipPaths.c_str()); + strcat(cmd, "\""); + WriteLog("\n%s\n", cmd); + system(cmd); + //调用sql插入数据 + urlName.append(itemId).append("-").append(objectname).append(".zip"); + if (juede == 1) { + char sql2[1024] = "\0"; + sprintf(sql2, "insert into DFL_DRAWING_TO_SRM_DETIALS(itemid,objectname,datesetname,fileurl,revision,released,createtime,updatetime,urlcreatetime,urlstatus) values('%s','%s','%s','%s','%s',%d,'%s','%s','%s','%s')", itemId, objectname, datesetname, urlName.c_str(), revision, released, createtime_str, updatetime_str, urlCreateTime.c_str(), "未同步"); + WriteLog("提示:sql2==%s\n", sql2); + if (ExecuteSQLNoInputParam(sql2) == -1) + { + WriteLog("提示:数据插入 失败, %s \n", sql2); + return 1; + } + else { + ExecuteSQLNoInputParam("commit"); + } + } + //4.调用SRM接口 + //拼接json + cJSON* array = cJSON_CreateArray(); + cJSON* data = cJSON_CreateObject(); + cJSON_AddStringToObject(data, "materialCode", itemId); + cJSON_AddStringToObject(data, "materialName", GbkToUtf8(objectname).c_str()); + cJSON_AddStringToObject(data, "materialDrawingName", GbkToUtf8(datesetname).c_str()); + cJSON_AddStringToObject(data, "fileUrl", GbkToUtf8(urlName).c_str()); + cJSON_AddStringToObject(data, "version", revision); + cJSON_AddStringToObject(data, "status", std::to_string(released).c_str()); + cJSON_AddStringToObject(data, "createTime", createtime_str); + cJSON_AddStringToObject(data, "publishTime", updatetime_str); + cJSON_AddItemToArray(array, data); + //发json + CURL* curl; + CURLcode res; + curl = curl_easy_init(); + if (curl) { + stringstream out; + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); + //curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.1.68/gateway/serviceApi/invoke/QZbycode/DFL-SRM-005"); + curl_easy_setopt(curl, CURLOPT_URL, url); + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); + curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); + struct curl_slist* headers = NULL; + headers = curl_slist_append(headers, "Content-Type: application/json"); + //headers = curl_slist_append(headers, "Authorization: Basic UExNOkFmdGpzcFBQWW1DU2pNaWNROWh3U3htNDJ4eXpXUkhi"); + headers = curl_slist_append(headers, "Authorization: Basic UExNOmJlMVBYVzA5NzlKZGhEYWYxUXp4NzZaY3NEdE4zU3Iy"); + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); + //const char* data = "[{\r\n \"materialCode\": \"1\",\r\n \"materialName\": \"物料TEST001\",\r\n \"materialDrawingName\": \"图纸名称\",\r\n \"fileUrl\": \"www.baidu.com\",\r\n \"version\": \"1.1\",\r\n \"status\": \"\",\r\n \"createTime\": \"2023-11-26 11:11:10\",\r\n \"publishTime\": \"2023-11-27 11:11:10\"\r\n}]\r\n"; + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &out); + char* json_to_char = NULL; + WriteLog("JSON拼接完成\n"); + /* 打印JSON对象(整条链表)的所有数据 */ + json_to_char = cJSON_Print(array); + //cout << "JSON:" << json_to_char << endl; + WriteLog("json->%s\n", U2G(json_to_char)); + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_to_char); + WriteLog("9\n"); + res = curl_easy_perform(curl); + //设置写数据 + + if (res != CURLE_OK) { + WriteLog("curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); + } + else { - //detail表 - char sql4[1024] = "\0"; - sprintf(sql4, "update DFL_DRAWING_TO_SRM_DETIALS set urlstatus = '%s' where itemid = '%s' and revision = '%s'", "已同步", itemId,revision); - WriteLog("提示:sql4==%s\n", sql4); - if (ExecuteSQLNoInputParam(sql4) == -1) - { - WriteLog("提示:数据插入 失败, %s \n", sql4); - return 1; - } - else { - ExecuteSQLNoInputParam("commit"); - } - } - else { - char sql5[1024] = "\0"; - sprintf(sql5, "update DFL_DRAWING_TO_SRM_DETIALS set urlstatus = '%s' where itemid = '%s' and revision = '%s'", "同步失败", itemId, revision); - WriteLog("提示:sql5==%s\n", sql5); - if (ExecuteSQLNoInputParam(sql5) == -1) - { - WriteLog("提示:数据插入 失败, %s \n", sql5); - return 1; - } - else { - ExecuteSQLNoInputParam("commit"); - } - } - } - curl_easy_cleanup(curl); + WriteLog("====>>>>OK\n"); - + } + long retcode = 0; + CURLcode code = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &retcode); + WriteLog("====>>>>retcode:%d\n", retcode); + if (code != CURLE_OK || retcode != 200) + { + WriteLog("发送数据给ERP失败\n"); + return 1; + } + else + { + WriteLog("发送数据给ERP成功\n"); + + } + string str_json = out.str(); + WriteLog("return Msg===>%s\n", U2G(str_json.c_str())); + //5.如果接口调用成功了 修改两张表 + char* a = "同步成功"; + if (strstr(U2G(str_json.c_str()), a) != NULL) {//存在 + //task表 + time_t curtime3; + time(&curtime3); + tm* nowtime3 = localtime(&curtime3); + // 输出tm结构的年月日 + cout << "年: " << 1900 + nowtime3->tm_year << endl; + cout << "月: " << 1 + nowtime3->tm_mon << endl; + cout << "日: " << nowtime3->tm_mday << endl; + finishtime.append(std::to_string(1900 + nowtime3->tm_year)).append("-").append(std::to_string(1 + nowtime3->tm_mon)).append("-").append(std::to_string(nowtime3->tm_mday)).append(" ").append(std::to_string(nowtime3->tm_hour)).append("-").append(std::to_string(nowtime3->tm_min)).append("-").append(std::to_string(nowtime3->tm_sec)); + + char sql3[1024] = "\0"; + sprintf(sql3, "update DFL_DRAWING_TO_SRM_TASK set finishtime = '%s',status = '%s' where flowid = '%s'", finishtime.c_str(), "已推送", flow_uid); + WriteLog("提示:sql3==%s\n", sql3); + if (ExecuteSQLNoInputParam(sql3) == -1) + { + WriteLog("提示:数据插入 失败, %s \n", sql3); + return 1; + } + else { + ExecuteSQLNoInputParam("commit"); + } + + + //detail表 + char sql4[1024] = "\0"; + sprintf(sql4, "update DFL_DRAWING_TO_SRM_DETIALS set urlstatus = '%s' where itemid = '%s' and revision = '%s'", "已同步", itemId, revision); + WriteLog("提示:sql4==%s\n", sql4); + if (ExecuteSQLNoInputParam(sql4) == -1) + { + WriteLog("提示:数据插入 失败, %s \n", sql4); + return 1; + } + else { + ExecuteSQLNoInputParam("commit"); + } + } + else { + char sql5[1024] = "\0"; + sprintf(sql5, "update DFL_DRAWING_TO_SRM_DETIALS set urlstatus = '%s' where itemid = '%s' and revision = '%s'", "同步失败", itemId, revision); + WriteLog("提示:sql5==%s\n", sql5); + if (ExecuteSQLNoInputParam(sql5) == -1) + { + WriteLog("提示:数据插入 失败, %s \n", sql5); + return 1; + } + else { + ExecuteSQLNoInputParam("commit"); } } } + curl_easy_cleanup(curl); + } + } } @@ -531,7 +821,7 @@ int ITK_user_main(int argc, char* argv[]) else { WriteLog("Info: The data table is accessed successfully\n"); char sql_cx[1024] = "\0"; - sprintf(sql_cx, "select flowid from DFL_DRAWING_TO_SRM_TASK where STATUS ='未开始'ORDER BY CODE ASC"); + sprintf(sql_cx, "select flowid from DFL_DRAWING_TO_SRM_TASK where STATUS ='未开始'ORDER BY CODE DESC"); WriteLog("Tip: Process UID query started\n"); WriteLog("Info:sql==%s\n", sql_cx); if (QuerySQLNoInputParam(sql_cx, &outputColumn, &outputValueCount, &flowUID_values) == -1) @@ -554,11 +844,12 @@ int ITK_user_main(int argc, char* argv[]) } - - flowuid = flowUID_values[0][0]; - - WriteLog("flowUID is:%s\n", flowuid); - ifail = DFL_WL_TO_SRM(option_values, flowuid); + for (int k = 0; k < outputValueCount; k++) { + flowuid = flowUID_values[k][0]; + WriteLog("flowUID is:%s\n", flowuid); + ifail = DFL_WL_TO_SRM(option_values, flowuid); + } + DisConnServer(); CloseLog(); return ifail; diff --git a/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOERP.log b/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOERP.log index 5c89d41..84a7ea4 100644 --- a/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOERP.log +++ b/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOERP.log @@ -11,23 +11,31 @@ D:\Clibs\12\include\pom\pom\pom.h(806,1): warning C4819: 该文件包含不能 D:\Clibs\12\include\pom\pom\pom.h(5417,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 D:\Clibs\12\include_cpp\base_utils\IFail.hxx(114,17): warning C4251: “IFail::m_message”: class“std::basic_string,std::allocator>”需要有 dll 接口由 class“IFail”的客户端使用 C:\VS2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 参见“std::basic_string,std::allocator>”的声明 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(328,8): warning C4476: "printf": 格式说明符中的类型字段字符“Y”未知 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(328,8): warning C4476: "printf": 格式说明符中的类型字段字符“m”未知 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(328,8): warning C4473: “printf”: 没有为格式字符串传递足够的参数 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(328,8): message : 占位符和其参数预计 2 可变参数,但提供的却是 0 参数 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(328,8): message : 缺失的可变参数 1 为格式字符串“%d”所需 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(330,8): warning C4476: "printf": 格式说明符中的类型字段字符“Y”未知 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(330,8): warning C4476: "printf": 格式说明符中的类型字段字符“m”未知 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(330,8): warning C4473: “printf”: 没有为格式字符串传递足够的参数 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(330,8): message : 占位符和其参数预计 2 可变参数,但提供的却是 0 参数 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(330,8): message : 缺失的可变参数 1 为格式字符串“%d”所需 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(338,9): warning C4476: "printf": 格式说明符中的类型字段字符“Y”未知 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(338,9): warning C4476: "printf": 格式说明符中的类型字段字符“m”未知 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(338,9): warning C4473: “printf”: 没有为格式字符串传递足够的参数 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(338,9): message : 占位符和其参数预计 2 可变参数,但提供的却是 0 参数 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(338,9): message : 缺失的可变参数 1 为格式字符串“%d”所需 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(340,9): warning C4476: "printf": 格式说明符中的类型字段字符“Y”未知 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(340,9): warning C4476: "printf": 格式说明符中的类型字段字符“m”未知 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(340,9): warning C4473: “printf”: 没有为格式字符串传递足够的参数 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(340,9): message : 占位符和其参数预计 2 可变参数,但提供的却是 0 参数 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(340,9): message : 缺失的可变参数 1 为格式字符串“%d”所需 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(597,8): warning C4476: "printf": 格式说明符中的类型字段字符“Y”未知 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(597,8): warning C4476: "printf": 格式说明符中的类型字段字符“m”未知 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(597,8): warning C4473: “printf”: 没有为格式字符串传递足够的参数 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(597,8): message : 占位符和其参数预计 2 可变参数,但提供的却是 0 参数 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(597,8): message : 缺失的可变参数 1 为格式字符串“%d”所需 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(599,8): warning C4476: "printf": 格式说明符中的类型字段字符“Y”未知 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(599,8): warning C4476: "printf": 格式说明符中的类型字段字符“m”未知 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(599,8): warning C4473: “printf”: 没有为格式字符串传递足够的参数 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(599,8): message : 占位符和其参数预计 2 可变参数,但提供的却是 0 参数 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(599,8): message : 缺失的可变参数 1 为格式字符串“%d”所需 D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(135,8): warning C4101: “executor”: 未引用的局部变量 D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(185,9): warning C4101: “group_name1”: 未引用的局部变量 D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(137,8): warning C4101: “user_uid”: 未引用的局部变量 D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(186,10): warning C4101: “creDate”: 未引用的局部变量 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(209,11): warning C4101: “fileurl”: 未引用的局部变量 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(216,11): warning C4101: “urlcreatetime”: 未引用的局部变量 -D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(492,6): warning C4101: “len”: 未引用的局部变量 +D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\DFL_WL_BOM_TOSRM.cpp(782,6): warning C4101: “len”: 未引用的局部变量 ocilib.cpp D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\ocilib.cpp(158,5): warning C4267: “参数”: 从“size_t”转换到“ub4”,可能丢失数据 D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\ocilib.cpp(181,5): warning C4267: “参数”: 从“size_t”转换到“ub4”,可能丢失数据 @@ -35,5 +43,5 @@ D:\source\东富龙\DFL_WL_BOM_TOSRM\DFL_WL_BOM_TOERP\ocilib.cpp(181,5): warning Previous IPDB not found, fall back to full compilation. All 210 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. 已完成代码的生成 -itk_main.obj : warning LNK4099: 未找到 PDB“”(使用“itk_main.obj”或在“”中寻找);正在链接对象,如同没有调试信息一样 +itk_main.obj : warning LNK4099: 未找到 PDB“vc150.pdb”(使用“itk_main.obj”或在“D:\source\东富龙\DFL_WL_BOM_TOSRM\x64\Release\vc150.pdb”中寻找);正在链接对象,如同没有调试信息一样 DFL_WL_BOM_TOERP.vcxproj -> D:\source\东富龙\DFL_WL_BOM_TOSRM\x64\Release\DFL_WL_BOM_TOSRM.exe diff --git a/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.iobj b/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.iobj index f4359cf..31d9adb 100644 Binary files a/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.iobj and b/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.iobj differ diff --git a/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.ipdb b/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.ipdb index e40a4a8..24313ad 100644 Binary files a/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.ipdb and b/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.ipdb differ diff --git a/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.obj b/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.obj index edb0799..af5c881 100644 Binary files a/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.obj and b/DFL_WL_BOM_TOERP/x64/Release/DFL_WL_BOM_TOSRM.obj differ diff --git a/DFL_WL_BOM_TOERP/x64/Release/cJSON.obj b/DFL_WL_BOM_TOERP/x64/Release/cJSON.obj index 71501e4..31a8ae6 100644 Binary files a/DFL_WL_BOM_TOERP/x64/Release/cJSON.obj and b/DFL_WL_BOM_TOERP/x64/Release/cJSON.obj differ diff --git a/DFL_WL_BOM_TOERP/x64/Release/common_itk_util.obj b/DFL_WL_BOM_TOERP/x64/Release/common_itk_util.obj index de76ded..b7198c2 100644 Binary files a/DFL_WL_BOM_TOERP/x64/Release/common_itk_util.obj and b/DFL_WL_BOM_TOERP/x64/Release/common_itk_util.obj differ diff --git a/DFL_WL_BOM_TOERP/x64/Release/ocilib.obj b/DFL_WL_BOM_TOERP/x64/Release/ocilib.obj index 4b2ee26..2ff3780 100644 Binary files a/DFL_WL_BOM_TOERP/x64/Release/ocilib.obj and b/DFL_WL_BOM_TOERP/x64/Release/ocilib.obj differ diff --git a/DFL_WL_BOM_TOERP/x64/Release/vc142.pdb b/DFL_WL_BOM_TOERP/x64/Release/vc142.pdb index 866b263..bdc70df 100644 Binary files a/DFL_WL_BOM_TOERP/x64/Release/vc142.pdb and b/DFL_WL_BOM_TOERP/x64/Release/vc142.pdb differ diff --git a/DFL_WL_BOM_TOSRM.sln b/DFL_WL_BOM_TOSRM.sln new file mode 100644 index 0000000..cc84a13 --- /dev/null +++ b/DFL_WL_BOM_TOSRM.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.1758 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DFL_WL_BOM_TOERP", "DFL_WL_BOM_TOERP\DFL_WL_BOM_TOERP.vcxproj", "{80658E28-1D8D-406B-B96C-6F8B3009168B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {80658E28-1D8D-406B-B96C-6F8B3009168B}.Debug|x64.ActiveCfg = Release|x64 + {80658E28-1D8D-406B-B96C-6F8B3009168B}.Debug|x64.Build.0 = Release|x64 + {80658E28-1D8D-406B-B96C-6F8B3009168B}.Debug|x86.ActiveCfg = Debug|Win32 + {80658E28-1D8D-406B-B96C-6F8B3009168B}.Debug|x86.Build.0 = Debug|Win32 + {80658E28-1D8D-406B-B96C-6F8B3009168B}.Release|x64.ActiveCfg = Release|x64 + {80658E28-1D8D-406B-B96C-6F8B3009168B}.Release|x64.Build.0 = Release|x64 + {80658E28-1D8D-406B-B96C-6F8B3009168B}.Release|x86.ActiveCfg = Release|Win32 + {80658E28-1D8D-406B-B96C-6F8B3009168B}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {151F20CA-9805-4F18-9FA7-A9CBE2CE8376} + EndGlobalSection +EndGlobal diff --git a/x64/Release/DFL_WL_BOM_TOSRM.exe b/x64/Release/DFL_WL_BOM_TOSRM.exe new file mode 100644 index 0000000..1f93a24 Binary files /dev/null and b/x64/Release/DFL_WL_BOM_TOSRM.exe differ diff --git a/x64/Release/DFL_WL_BOM_TOSRM.pdb b/x64/Release/DFL_WL_BOM_TOSRM.pdb new file mode 100644 index 0000000..1ec7463 Binary files /dev/null and b/x64/Release/DFL_WL_BOM_TOSRM.pdb differ