diff --git a/connor_ldy/JD_GYInfoToMediDatabase.cxx b/connor_ldy/JD_GYInfoToMediDatabase.cxx new file mode 100644 index 0000000..601ea71 --- /dev/null +++ b/connor_ldy/JD_GYInfoToMediDatabase.cxx @@ -0,0 +1,521 @@ +#pragma warning (disable: 4996) +#pragma warning (disable: 4819) +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tc_util.h" +#include "tc_log.h" +#include +#include +#include +#include "string_utils.h" +#include "tinyxml.h" +#include "ado.h" +#include +#include +using namespace std; +extern "C" int POM_AM__set_application_bypass(logical bypass); + + +#include +#include +#include + + +#include +#include +#include + + +bool endsWith(const std::string& str, const std::string& suffix) { + if (str.length() < suffix.length()) { + return false; + } + return str.compare(str.length() - suffix.length(), suffix.length(), suffix) == 0; +} + + +std::string removeTrailingAndGY(const std::string& str) { + const std::string suffix = " and "; + if (str.length() >= suffix.length() && + str.compare(str.length() - suffix.length(), suffix.length(), suffix) == 0) { + return str.substr(0, str.length() - suffix.length()); + } + return str; +} + + +string readXMLGY(map, vector>> &xmlMap, string xmlPath) { + time_t currentTime; + struct tm *timeInfo; + char timeString[80]; + // 获取当前时间 + time(¤tTime); + // 将时间转换为本地时间 + timeInfo = localtime(¤tTime); + TiXmlDocument* pDoc = new TiXmlDocument(); + pDoc->LoadFile(xmlPath.c_str()); + //pDoc->Print(); + //获取根节点 + TiXmlElement* pRoot = pDoc->RootElement(); + string rootName = pRoot->Value(); + string t_Item_info = rootName;// + //获取Item标签 + TiXmlElement* itemElement = pRoot->FirstChildElement("ITEM");//物料类型 + string itemLable = itemElement->Value(); + TiXmlElement *nextItemElement = itemElement; + //循环遍历根节点下的兄弟节点 + char type[50] = ""; + char sessionId[50] = ""; + char transNowTime[50] = ""; + char transStatus[50] = ""; + char itemId[50] = ""; + char itemRev[50] = ""; + char itemName[50] = ""; + char itemRelease[50] = ""; + while (nextItemElement) { + map, vector> propertyMap;//字段名集合,值的集合 + vector nameVec; + vector valueVec; + const char* attribute_value = nextItemElement->Attribute("type"); + if (attribute_value == NULL) { + strcpy(type, "通用"); + } + else { + strcpy(type, attribute_value); + } + WriteLog("type=%s\n", type); + string materialType = type; + TiXmlElement* pChild = nextItemElement->FirstChildElement(); + if (pChild != NULL) { + string childLabnelName = pChild->Value(); + attribute_value = pChild->Attribute("val"); + strcpy(sessionId, attribute_value); // 将 str 复制给 copy + string tempValue = sessionId; + nameVec.push_back(childLabnelName); + valueVec.push_back(tempValue); + } + pChild = pChild->NextSiblingElement(); + while (true) { + if (pChild != NULL) { + string childLabnelName = pChild->Value(); + attribute_value = pChild->Attribute("val"); + strcpy(sessionId, attribute_value); // 将 str 复制给 copy + string tempValue = sessionId; + nameVec.push_back(childLabnelName); + + + WriteLog("childLabnelName==== %s\n", childLabnelName.c_str()); + + + + if (strcmp("TRANSNO", childLabnelName.c_str()) == 0) { + strftime(timeString, sizeof(timeString), sessionId, timeInfo); + + + WriteLog("timeString==== %s\n", timeString); + + + + tempValue = timeString; + } + valueVec.push_back(tempValue); + } + ; + pChild = pChild->NextSiblingElement(); + if (pChild == NULL) { + break; + } + } + propertyMap[nameVec] = valueVec; + xmlMap[materialType] = propertyMap; + nextItemElement = nextItemElement->NextSiblingElement(); + } + delete pDoc;// + return t_Item_info; +} + +/** + * 去掉字符串首尾的单引号 + */ +void removeQuotesGY(char* tempValue) { + if (tempValue == nullptr) return; + + size_t len = strlen(tempValue); + + // 移除开头的单引号 + if (len > 0 && tempValue[0] == '\'') { + memmove(tempValue, tempValue + 1, len); + len--; + } + + // 移除末尾的单引号 + if (len > 0 && tempValue[len - 1] == '\'') { + tempValue[len - 1] = '\0'; + } +} + +int JD_GYInfoToMediDatabase(EPM_action_message_t msg) { + bool showError = false; + nowTime(); + time_t now; + struct tm *p; + //获取当前时间 + time(&now); + //本地化时间,可以细分为年月日时分秒等 + p = localtime(&now); + char TC_LOG_FILE[128] = ""; + createDir();//创建日志目录 + // 把日志名称赋予给某变量 + sprintf_s(TC_LOG_FILE, "%s\\tmplog\\JD_GYInfoToMediDatabase_log_[%d-%d-%d-%d-%02d-%02d].txt", getenv("TEMP"), 1900 + p->tm_year, p->tm_mon + 1, p->tm_mday, p->tm_hour, p->tm_min,p->tm_sec); + ECHO("创建日志文件[%s]\n", TC_LOG_FILE); + CreateLogFile(TC_LOG_FILE); + //流程节点相关 + tag_t root_task = NULLTAG, *sub_tasks = NULL, current_task = NULLTAG, type_tag = NULLTAG; + int arg_cnt = 0, ifail = 0; + char arg1value[1024] = "";//物料类型 + char *argflag = NULL, *argvalue = NULL, *arg = NULL; + //得到触发此函数的节点 + current_task = msg.task; + WriteLog("=========================================================\n"); + WriteLog("JD_GYInfoToMediDatabase 开始执行\n"); + WriteLog("=========================================================\n"); + //获取handler的参数的个数 + arg_cnt = TC_number_of_arguments(msg.arguments); + WriteLog("参数个数为:%d\n", arg_cnt); + if (arg_cnt > 0) + { + for (int i = 0; i < arg_cnt; i++) + { + //获取下一个参数(从0开始) + arg = TC_next_argument(msg.arguments); + //获取参数的名称和值 + ifail = ITK_ask_argument_named_value((const char*)arg, &argflag, &argvalue); + if (stricmp(argflag, "PartItem") == 0) + { + if (argvalue != NULL) + { + strcpy(arg1value, argvalue); + } + } + } + MEM_free(argflag); + MEM_free(argvalue); + } + //先获取首选项Jd_Erp_Info_Connect,解析其中的用户名,密码,配置文件等信息 + vector pref_vec1; + getPrefStrings1("Jd_MES_Info_Connect", TC_preference_site, pref_vec1); + string ip = pref_vec1[0]; + string databaseName = pref_vec1[1]; + string user = pref_vec1[2]; + string password = pref_vec1[3]; + string xmlUid = pref_vec1[11]; + WriteLog("ip:%s\n", ip.c_str()); + WriteLog("databaseName:%s\n", databaseName.c_str()); + WriteLog("user:%s\n", user.c_str()); + WriteLog("password:%s\n", password.c_str()); + WriteLog("xmlUid:%s\n", xmlUid.c_str()); + ado ado0; + char userName[100]; + strcpy(userName, user.c_str()); + char pwd[100]; + strcpy(pwd, password.c_str()); + string info = "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog="; + info.append(databaseName).append(";Data Source=").append(ip); + WriteLog("连接信息:%s\n", info.c_str()); + bool log = ado0.open(userName, pwd, info.c_str()); + tag_t wlinfoXml = NULL; + ITK__convert_uid_to_tag(xmlUid.c_str(), &wlinfoXml); + //获取文件 + char *temp_dir = getenv("temp");//获得缓存路径 + char output_file_xml_temp[SS_MAXPATHLEN] = ""; + strcpy(output_file_xml_temp, temp_dir); + strcat(output_file_xml_temp, "\\"); + strcat(output_file_xml_temp, xmlUid.c_str()); + strcat(output_file_xml_temp, ".xml"); + if (access(output_file_xml_temp, 0) == 0) {//存在 + if (remove(output_file_xml_temp) == 0) { + cout << "exist" << output_file_xml_temp << "delete" << endl; + } + } + POM_AM__set_application_bypass(true); + ITKCALL(AE_export_named_ref(wlinfoXml, "XMLRendering", output_file_xml_temp)); + POM_AM__set_application_bypass(false); + string path = output_file_xml_temp; + //解析xml文件 + //创建一个XML结构并载入文件内容 + map, vector>> xmlMap;//物料类型,<字段名,属性取值> + string tableName = readXMLGY(xmlMap, path); + WriteLog("中间表:%s\n", tableName.c_str()); + //遍历map所有层级 + string revType = arg1value; + vector revTypeVec; + Split(revType, ";", revTypeVec); + int att_cnt = 0; + tag_t *attachments = NULL; + //获取根流程节点 + tag_t task_tag = msg.task; + tag_t rootTask_tag = NULL; + ifail = EPM_ask_root_task(task_tag, &rootTask_tag); + vector insertVec; + vector updateVec; + vector selectVec; + vector selectAfterUpdateVec; + //获取目标引用对象 + ifail = EPM_ask_attachments(rootTask_tag, EPM_target_attachment, &att_cnt, &attachments); + for (int i = 0; i < att_cnt; i++) { + char *object_TYPE_1 = NULL; + ifail = AOM_ask_value_string(attachments[i], "object_type", &object_TYPE_1);//对象类型 + WriteLog("当前类型对象为 %s\n", object_TYPE_1); + string partType = object_TYPE_1; + if (hasElement(revTypeVec, partType) == 0) { + // + string sqlStr = "insert into "; + string updateStr = "update "; + string selectStr = "select * from "; + string selectAfterUpdateStr = "select * from "; + string updateWhere = ""; + sqlStr = sqlStr.append(tableName).append(" ("); + selectStr = selectStr.append(tableName).append(" "); + selectAfterUpdateStr = selectAfterUpdateStr.append(tableName).append(" "); + string valueStr = " VALUES ("; + //包含类型,连接数据库 + if (log == false) { + cout << "登陆成功" << endl; + tag_t partItem = NULL; + ITEM_ask_item_of_rev(attachments[i], &partItem); + char *itemType = NULL; + AOM_ask_value_string(partItem, "object_type", &itemType); + string itemTypeString = itemType; + map, vector> propertyMap; + propertyMap = xmlMap[itemType]; + if (propertyMap.size() == 0) { + propertyMap = xmlMap["通用"]; + } + map, vector>::iterator rev_it2; + for (rev_it2 = propertyMap.begin(); rev_it2 != propertyMap.end(); rev_it2++) { + vector nameVec = rev_it2->first; + vector valueVec = rev_it2->second; + for (int j = 0; j < nameVec.size(); j++) { + string columnName = nameVec[j]; + string columnValue = valueVec[j]; + WriteLog("字段名 %s, 取值 %s\n", columnName.c_str(), columnValue.c_str()); + WriteLog("字段名 %s, 取值 %s\n", columnName.c_str(), columnValue.c_str()); + sqlStr = sqlStr.append(columnName); + if (strcmp(columnName.c_str(), "TRANSNO") == 0) { + //时间已经处理,直接获取即可 + valueStr.append("'").append(columnValue).append("'"); + if (updateWhere.length() == 0) { + updateWhere = updateWhere.append(" where "); + updateWhere = updateWhere.append(columnName).append("='").append(columnValue).append("' and "); + selectStr = selectStr.append(" where "); + selectStr = selectStr.append(columnName).append("='").append(columnValue).append("' and "); + selectAfterUpdateStr = selectAfterUpdateStr.append(" where "); + selectAfterUpdateStr = selectAfterUpdateStr.append(columnName).append("='").append(columnValue).append("' and "); + } + else { + updateWhere = updateWhere.append(columnName).append("='").append(columnValue).append("'"); + selectStr = selectStr.append(columnName).append("='").append(columnValue).append("'"); + selectAfterUpdateStr = selectAfterUpdateStr.append(columnName).append("='").append(columnValue).append("'"); + } + } + else if (strcmp(columnName.c_str(), "SESSIONID") == 0) { + //固定值,直接获取即可 + valueStr.append("'").append(columnValue).append("'"); + } + else if (strcmp(columnName.c_str(), "TRANSSTATUS") == 0) { + //不做任何处理,但在传递完毕后更新 + updateStr = updateStr.append(tableName).append(" set ").append(columnName).append("='").append(columnValue).append("' "); + selectAfterUpdateStr = selectAfterUpdateStr.append(columnName).append("='").append(columnValue).append("' and "); + valueStr.append("'").append(" ").append("'"); + } + else if (strcmp(columnName.c_str(), "PUID") == 0) { + //获取所有发布状态release_status_list + char *puid = NULL; + ITK__convert_tag_to_uid(attachments[i], &puid); + string puidString = puid; + valueStr.append("'").append(puid).append("'"); + if (updateWhere.length() == 0) { + updateWhere = updateWhere.append(" where "); + updateWhere = updateWhere.append(columnName).append("='").append(puid).append("' and "); + selectStr = selectStr.append(" where "); + selectStr = selectStr.append(columnName).append("='").append(columnValue).append("' and "); + selectAfterUpdateStr = selectAfterUpdateStr.append(" where "); + selectAfterUpdateStr = selectAfterUpdateStr.append(columnName).append("='").append(columnValue).append("' and "); + } + else { + updateWhere = updateWhere.append(columnName).append("='").append(puid).append("'"); + selectStr = selectStr.append(columnName).append("='").append(puid).append("'"); + selectAfterUpdateStr = selectAfterUpdateStr.append(columnName).append("='").append(puid).append("'"); + } + DOFREE(puid); + } + else { + //其他情况获取属性 + vector vec; + if (columnValue.size() > 0) { + Split(columnValue, ".", vec); + char *tempValue = NULL; + if (vec.size() == 2) { + tag_t objTag = NULL; + if (strcmp(vec[0].c_str(), "item") == 0) { + objTag = partItem; + } + else if (strcmp(vec[0].c_str(), "rev") == 0) { + objTag = attachments[i]; + } + //需要注意,如果属性不存在或者说不准确,就传空值 + + string tempValueString = " "; + if (endsWith(columnName, "Date")) { + // 是以 "Date" 结尾 + date_t creation_date; + AOM_ask_value_date(objTag, vec[1].c_str(), &creation_date);//zt2_ChangeDate + tempValueString.append(to_string(creation_date.year)).append("-"). + append(to_string(creation_date.month + 1)).append("-"). + append(to_string(creation_date.day)).append(" "). + append(to_string(creation_date.hour)).append(":"). + append(to_string(creation_date.minute)).append(":").append(to_string(creation_date.second)); + + + + } + else { + + ITKCALL(ifail = AOM_UIF_ask_value(objTag, vec[1].c_str(), &tempValue)); + + removeQuotesGY(tempValue); + + + if (ifail == 0) { + + tempValueString = tempValue; + } + else { + showError = true; + WriteLog("属性异常:%s\n", vec[1].c_str()); + } + + + } + + + + + + + + EMH_clear_errors(); + valueStr.append("'").append(tempValueString).append("'"); + } + DOFREE(tempValue); + } + else { + valueStr.append("' '"); + } + } + if (j < nameVec.size() - 1) { + valueStr.append(","); + sqlStr = sqlStr.append(","); + } + else { + valueStr.append(")"); + sqlStr = sqlStr.append(") "); + } + } + } + sqlStr = sqlStr.append(valueStr); + //正式系统编码utf-8,测试系统gbk + updateStr = updateStr.append(updateWhere); + sqlStr = Utf8ToGbk(sqlStr.c_str()); + updateStr = Utf8ToGbk(updateStr.c_str()); + selectStr= Utf8ToGbk(selectStr.c_str()); + + + + updateStr = removeTrailingAndGY(updateStr); + sqlStr = removeTrailingAndGY(sqlStr); + updateStr = removeTrailingAndGY(updateStr); + selectStr = removeTrailingAndGY(selectStr); + selectAfterUpdateStr = removeTrailingAndGY(selectAfterUpdateStr); + + + + + selectAfterUpdateStr = Utf8ToGbk(selectAfterUpdateStr.c_str()); + WriteLog("gbk插入语句:%s\n", sqlStr.c_str()); + WriteLog("更新语句:%s\n", updateStr.c_str()); + WriteLog("查询语句:%s\n", selectStr.c_str()); + WriteLog("更新后查询语句:%s\n", selectAfterUpdateStr.c_str()); + insertVec.push_back(sqlStr); + updateVec.push_back(updateStr); + selectVec.push_back(selectStr); + selectAfterUpdateVec.push_back(selectAfterUpdateStr); + char sendChar[2000] = ""; + strcpy(sendChar, sqlStr.c_str()); + char sendChar2[2000] = ""; + strcpy(sendChar2, selectStr.c_str()); + int result = ado0.ado_QuerySQLNoInputParam(sendChar2); + bool resultSql = ado0.executeInsert(sendChar2, sendChar, result); + } + else { + cout << "登录失败" << endl; + } + } + DOFREE(object_TYPE_1); + } + WriteLog("8\n"); + //更新数据库 + for (int i = 0; i < updateVec.size(); i++) { + string updateSql = updateVec[i]; + string selectSql = selectVec[i]; + string insertSql = insertVec[i]; + string selectUpdate = selectAfterUpdateVec[i]; + char sendChar[2000] = ""; + char sendChar2[2000] = ""; + char sendChar3[2000] = ""; + strcpy(sendChar, updateSql.c_str()); + strcpy(sendChar2, selectSql.c_str()); + strcpy(sendChar3, selectUpdate.c_str()); + WriteLog("9\n"); + int result = ado0.ado_QuerySQLNoInputParam(sendChar2); + if (result==0) { + showError = true; + WriteLog("插入失败:%s\n", insertSql.c_str()); + } + else { + bool resultSql = ado0.execute2(sendChar2, sendChar, result); + result = ado0.ado_QuerySQLNoInputParam(sendChar3); + if (result == 0) { + showError = true; + WriteLog("更新失败:%s\n", updateSql.c_str()); + } + } + } + ado0.close(); + //EMH_clear_errors(); + DOFREE(attachments); + //if (showError == true) { + // string logName = "数据异常,详见服务器日志:"; + // logName = logName.append(TC_LOG_FILE); + // EMH_store_error_s1(EMH_severity_warning, EMH_AE_error_base, logName.c_str()); + //} + WriteLog("=========================================================\n"); + WriteLog("JD_GYInfoToMediDatabase 结束\n"); + WriteLog("=========================================================\n"); + return 0; +} \ No newline at end of file diff --git a/connor_ldy/connor_ldy.vcxproj b/connor_ldy/connor_ldy.vcxproj index fe0e8c7..3035ed7 100644 --- a/connor_ldy/connor_ldy.vcxproj +++ b/connor_ldy/connor_ldy.vcxproj @@ -171,6 +171,7 @@ + diff --git a/connor_ldy/connor_ldy.vcxproj.filters b/connor_ldy/connor_ldy.vcxproj.filters index d406163..58abd24 100644 --- a/connor_ldy/connor_ldy.vcxproj.filters +++ b/connor_ldy/connor_ldy.vcxproj.filters @@ -113,5 +113,8 @@ 婧愭枃浠 + + 婧愭枃浠 + \ No newline at end of file diff --git a/connor_ldy/handlers.h b/connor_ldy/handlers.h index a5d0e06..98eb65a 100644 --- a/connor_ldy/handlers.h +++ b/connor_ldy/handlers.h @@ -13,3 +13,4 @@ int USERSERVICE_changeUnit(void* returnValue); int SynchronizeDataSet(EPM_action_message_t msg); int JD_BOPInfoToMediDatabase(EPM_action_message_t msg); int JD_GXInfoToMediDatabase(EPM_action_message_t msg); +int JD_GYInfoToMediDatabase(EPM_action_message_t msg); \ No newline at end of file diff --git a/connor_ldy/register_handler.cpp b/connor_ldy/register_handler.cpp index 1ca60de..b142093 100644 --- a/connor_ldy/register_handler.cpp +++ b/connor_ldy/register_handler.cpp @@ -73,7 +73,13 @@ extern DLLAPI int ldy_register_handlers(int *decision, va_list args) printf("=================Registering action handler JD_GXInfoToMediDatabase failed %d!\n", ifail); } - + ITKCALL(ifail = EPM_register_action_handler("JD_GYInfoToMediDatabase", "标准工艺对象集成", (EPM_action_handler_t)JD_GYInfoToMediDatabase)); + if (ifail == ITK_ok) { + printf("================Registering action handler JD_GYInfoToMediDatabase successful!\n"); + } + else { + printf("=================Registering action handler JD_GYInfoToMediDatabase failed %d!\n", ifail); + } //升版二开后操 METHOD_id_t mth_tag; ifail = METHOD_find_method("ItemRevision", ITEM_copy_rev_msg, &mth_tag);//参数1:类型,支持原生和客制化的;参数2:操作类型 diff --git a/connor_ldy/x64/Release/ADOConn.obj b/connor_ldy/x64/Release/ADOConn.obj index b6b532b..3526bea 100644 Binary files a/connor_ldy/x64/Release/ADOConn.obj and b/connor_ldy/x64/Release/ADOConn.obj differ diff --git a/connor_ldy/x64/Release/JD_BOMInfoToMediDatabase.obj b/connor_ldy/x64/Release/JD_BOMInfoToMediDatabase.obj index 67761c1..a1d04f5 100644 Binary files a/connor_ldy/x64/Release/JD_BOMInfoToMediDatabase.obj and b/connor_ldy/x64/Release/JD_BOMInfoToMediDatabase.obj differ diff --git a/connor_ldy/x64/Release/JD_BOPInfoToMediDatabase.obj b/connor_ldy/x64/Release/JD_BOPInfoToMediDatabase.obj index b54d7d9..1f5f0d9 100644 Binary files a/connor_ldy/x64/Release/JD_BOPInfoToMediDatabase.obj and b/connor_ldy/x64/Release/JD_BOPInfoToMediDatabase.obj differ diff --git a/connor_ldy/x64/Release/JD_Check_StatusAndProp.obj b/connor_ldy/x64/Release/JD_Check_StatusAndProp.obj index 3b87fc1..eface8c 100644 Binary files a/connor_ldy/x64/Release/JD_Check_StatusAndProp.obj and b/connor_ldy/x64/Release/JD_Check_StatusAndProp.obj differ diff --git a/connor_ldy/x64/Release/JD_FileInfoToMediDatabase.obj b/connor_ldy/x64/Release/JD_FileInfoToMediDatabase.obj index 67db4b0..3ca3375 100644 Binary files a/connor_ldy/x64/Release/JD_FileInfoToMediDatabase.obj and b/connor_ldy/x64/Release/JD_FileInfoToMediDatabase.obj differ diff --git a/connor_ldy/x64/Release/JD_GXInfoToMediDatabase.obj b/connor_ldy/x64/Release/JD_GXInfoToMediDatabase.obj index e5d8ccd..5b27889 100644 Binary files a/connor_ldy/x64/Release/JD_GXInfoToMediDatabase.obj and b/connor_ldy/x64/Release/JD_GXInfoToMediDatabase.obj differ diff --git a/connor_ldy/x64/Release/JD_GYInfoToMediDatabase.obj b/connor_ldy/x64/Release/JD_GYInfoToMediDatabase.obj new file mode 100644 index 0000000..457ffe5 Binary files /dev/null and b/connor_ldy/x64/Release/JD_GYInfoToMediDatabase.obj differ diff --git a/connor_ldy/x64/Release/JD_ItemInfoToMediDatabase.obj b/connor_ldy/x64/Release/JD_ItemInfoToMediDatabase.obj index 0ea17cc..5ee492f 100644 Binary files a/connor_ldy/x64/Release/JD_ItemInfoToMediDatabase.obj and b/connor_ldy/x64/Release/JD_ItemInfoToMediDatabase.obj differ diff --git a/connor_ldy/x64/Release/NHL_SignOff_Handler.obj b/connor_ldy/x64/Release/NHL_SignOff_Handler.obj index cfa2084..ba9659a 100644 Binary files a/connor_ldy/x64/Release/NHL_SignOff_Handler.obj and b/connor_ldy/x64/Release/NHL_SignOff_Handler.obj differ diff --git a/connor_ldy/x64/Release/connor_jd.Build.CppClean.log b/connor_ldy/x64/Release/connor_jd.Build.CppClean.log index 999c7ec..434c484 100644 --- a/connor_ldy/x64/Release/connor_jd.Build.CppClean.log +++ b/connor_ldy/x64/Release/connor_jd.Build.CppClean.log @@ -1,5 +1,4 @@ d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\vc142.pdb -d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\tinyxmlerror.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\tinyxml.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\tinystr.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\testreadxml.obj @@ -14,12 +13,14 @@ d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\lidy_main.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\nhl_signoff_handler.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\k_util.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\jd_iteminfotomedidatabase.obj +d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\jd_gyinfotomedidatabase.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\jd_gxinfotomedidatabase.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\jd_fileinfotomedidatabase.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\jd_bopinfotomedidatabase.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\jd_bominfotomedidatabase.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\adoconn.obj d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\tinyxmlparser.obj +d:\source\绮鹃洉\jingdiao_connor_jd\connor_ldy\x64\release\tinyxmlerror.obj d:\source\绮鹃洉\jingdiao_connor_jd\x64\release\connor_jd.lib d:\source\绮鹃洉\jingdiao_connor_jd\x64\release\connor_jd.exp d:\source\绮鹃洉\jingdiao_connor_jd\x64\release\connor_jd.dll diff --git a/connor_ldy/x64/Release/connor_jd.iobj b/connor_ldy/x64/Release/connor_jd.iobj index b3ec65c..1aa9a46 100644 Binary files a/connor_ldy/x64/Release/connor_jd.iobj and b/connor_ldy/x64/Release/connor_jd.iobj differ diff --git a/connor_ldy/x64/Release/connor_jd.ipdb b/connor_ldy/x64/Release/connor_jd.ipdb index f9f5c05..8db038e 100644 Binary files a/connor_ldy/x64/Release/connor_jd.ipdb and b/connor_ldy/x64/Release/connor_jd.ipdb differ diff --git a/connor_ldy/x64/Release/connor_jd.tlog/CL.command.1.tlog b/connor_ldy/x64/Release/connor_jd.tlog/CL.command.1.tlog index 70421c1..a0bcdb8 100644 Binary files a/connor_ldy/x64/Release/connor_jd.tlog/CL.command.1.tlog and b/connor_ldy/x64/Release/connor_jd.tlog/CL.command.1.tlog differ diff --git a/connor_ldy/x64/Release/connor_jd.tlog/CL.read.1.tlog b/connor_ldy/x64/Release/connor_jd.tlog/CL.read.1.tlog index 7a7c800..ee6ae41 100644 Binary files a/connor_ldy/x64/Release/connor_jd.tlog/CL.read.1.tlog and b/connor_ldy/x64/Release/connor_jd.tlog/CL.read.1.tlog differ diff --git a/connor_ldy/x64/Release/connor_jd.tlog/CL.write.1.tlog b/connor_ldy/x64/Release/connor_jd.tlog/CL.write.1.tlog index 6d4524d..de81a74 100644 Binary files a/connor_ldy/x64/Release/connor_jd.tlog/CL.write.1.tlog and b/connor_ldy/x64/Release/connor_jd.tlog/CL.write.1.tlog differ diff --git a/connor_ldy/x64/Release/connor_jd.tlog/link.command.1.tlog b/connor_ldy/x64/Release/connor_jd.tlog/link.command.1.tlog index 82d4e8a..c16f4b8 100644 Binary files a/connor_ldy/x64/Release/connor_jd.tlog/link.command.1.tlog and b/connor_ldy/x64/Release/connor_jd.tlog/link.command.1.tlog differ diff --git a/connor_ldy/x64/Release/connor_jd.tlog/link.read.1.tlog b/connor_ldy/x64/Release/connor_jd.tlog/link.read.1.tlog index ee5f56a..77c5361 100644 Binary files a/connor_ldy/x64/Release/connor_jd.tlog/link.read.1.tlog and b/connor_ldy/x64/Release/connor_jd.tlog/link.read.1.tlog differ diff --git a/connor_ldy/x64/Release/connor_jd.tlog/link.write.1.tlog b/connor_ldy/x64/Release/connor_jd.tlog/link.write.1.tlog index 21bcb8c..6a82f59 100644 Binary files a/connor_ldy/x64/Release/connor_jd.tlog/link.write.1.tlog and b/connor_ldy/x64/Release/connor_jd.tlog/link.write.1.tlog differ diff --git a/connor_ldy/x64/Release/connor_ldy.log b/connor_ldy/x64/Release/connor_ldy.log index a347bb5..5e399e1 100644 --- a/connor_ldy/x64/Release/connor_ldy.log +++ b/connor_ldy/x64/Release/connor_ldy.log @@ -173,6 +173,38 @@ D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GXInfoToMediDatabase.cxx(190,8 D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GXInfoToMediDatabase.cxx(226,19): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GXInfoToMediDatabase.cxx(232,6): warning C4996: 'access': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _access. See online help for details. D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GXInfoToMediDatabase.cxx(364,8): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. + JD_GYInfoToMediDatabase.cxx +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\string_utils.h(134,50): warning C4190: 鈥渞eplace鈥濇湁鎸囧畾鐨 C 閾炬帴锛屼絾杩斿洖浜嗕笌 C 涓嶅吋瀹圭殑 UDT鈥渟td::basic_string,std::allocator>鈥 +C:\VS2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 鍙傝鈥渟td::basic_string,std::allocator>鈥濈殑澹版槑 +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\string_utils.h(135,45): warning C4190: 鈥渟tringToUTF8鈥濇湁鎸囧畾鐨 C 閾炬帴锛屼絾杩斿洖浜嗕笌 C 涓嶅吋瀹圭殑 UDT鈥渟td::basic_string,std::allocator>鈥 +C:\VS2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 鍙傝鈥渟td::basic_string,std::allocator>鈥濈殑澹版槑 +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\string_utils.h(136,39): warning C4190: 鈥淕bkToUtf8鈥濇湁鎸囧畾鐨 C 閾炬帴锛屼絾杩斿洖浜嗕笌 C 涓嶅吋瀹圭殑 UDT鈥渟td::basic_string,std::allocator>鈥 +C:\VS2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 鍙傝鈥渟td::basic_string,std::allocator>鈥濈殑澹版槑 +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\string_utils.h(137,39): warning C4190: 鈥淯tf8ToGbk鈥濇湁鎸囧畾鐨 C 閾炬帴锛屼絾杩斿洖浜嗕笌 C 涓嶅吋瀹圭殑 UDT鈥渟td::basic_string,std::allocator>鈥 +C:\VS2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 鍙傝鈥渟td::basic_string,std::allocator>鈥濈殑澹版槑 +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(96,4): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(99,4): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(107,4): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(117,5): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(69,13): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(212,6): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(234,2): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(236,2): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(246,2): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(247,2): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(248,2): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(249,2): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(469,5): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(471,5): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(491,3): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(492,3): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(493,3): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(180,6): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(184,96): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(208,8): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _stricmp. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(244,19): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(250,6): warning C4996: 'access': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _access. See online help for details. +D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\JD_GYInfoToMediDatabase.cxx(399,11): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. JD_ItemInfoToMediDatabase.cpp D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\string_utils.h(134,50): warning C4190: 鈥渞eplace鈥濇湁鎸囧畾鐨 C 閾炬帴锛屼絾杩斿洖浜嗕笌 C 涓嶅吋瀹圭殑 UDT鈥渟td::basic_string,std::allocator>鈥 C:\VS2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 鍙傝鈥渟td::basic_string,std::allocator>鈥濈殑澹版槑 @@ -296,12 +328,12 @@ D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\tc_util.cpp(63,10): warning C4067 testReadXml.cpp tinystr.cpp tinyxml.cpp - tinyxmlerror.cpp 姝e湪缂栬瘧... + tinyxmlerror.cpp tinyxmlparser.cpp 姝e湪鍒涘缓搴 D:\source\绮鹃洉\JINGDIAO_connor_jd\x64\Release\connor_jd.lib 鍜屽璞 D:\source\绮鹃洉\JINGDIAO_connor_jd\x64\Release\connor_jd.exp 姝e湪鐢熸垚浠g爜 Previous IPDB not found, fall back to full compilation. - All 1764 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. + All 1779 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. 宸插畬鎴愪唬鐮佺殑鐢熸垚 connor_ldy.vcxproj -> D:\source\绮鹃洉\JINGDIAO_connor_jd\x64\Release\connor_jd.dll diff --git a/connor_ldy/x64/Release/k_util.obj b/connor_ldy/x64/Release/k_util.obj index dc2f467..1e4420c 100644 Binary files a/connor_ldy/x64/Release/k_util.obj and b/connor_ldy/x64/Release/k_util.obj differ diff --git a/connor_ldy/x64/Release/lidy_main.obj b/connor_ldy/x64/Release/lidy_main.obj index d4fd6ff..dab116f 100644 Binary files a/connor_ldy/x64/Release/lidy_main.obj and b/connor_ldy/x64/Release/lidy_main.obj differ diff --git a/connor_ldy/x64/Release/method.obj b/connor_ldy/x64/Release/method.obj index d75ed02..1880ade 100644 Binary files a/connor_ldy/x64/Release/method.obj and b/connor_ldy/x64/Release/method.obj differ diff --git a/connor_ldy/x64/Release/msado15.tlh b/connor_ldy/x64/Release/msado15.tlh index b77fcff..1779eef 100644 --- a/connor_ldy/x64/Release/msado15.tlh +++ b/connor_ldy/x64/Release/msado15.tlh @@ -3,7 +3,7 @@ // D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\x64\Release\msado15.tlh // // C++ source equivalent of type library c:\program files\common files\system\ado\msado15.dll -// compiler-generated file created 02/06/26 at 11:31:03 - DO NOT EDIT! +// compiler-generated file created 02/11/26 at 17:32:47 - DO NOT EDIT! #pragma once #pragma pack(push, 8) diff --git a/connor_ldy/x64/Release/msado15.tli b/connor_ldy/x64/Release/msado15.tli index 4441843..09a4465 100644 --- a/connor_ldy/x64/Release/msado15.tli +++ b/connor_ldy/x64/Release/msado15.tli @@ -3,7 +3,7 @@ // D:\source\绮鹃洉\JINGDIAO_connor_jd\connor_ldy\x64\Release\msado15.tli // // Wrapper implementations for type library c:\program files\common files\system\ado\msado15.dll -// compiler-generated file created 02/06/26 at 11:31:03 - DO NOT EDIT! +// compiler-generated file created 02/11/26 at 17:32:47 - DO NOT EDIT! #pragma once diff --git a/connor_ldy/x64/Release/register_handler.obj b/connor_ldy/x64/Release/register_handler.obj index 885dfda..8790ed0 100644 Binary files a/connor_ldy/x64/Release/register_handler.obj and b/connor_ldy/x64/Release/register_handler.obj differ diff --git a/connor_ldy/x64/Release/stdafx.obj b/connor_ldy/x64/Release/stdafx.obj index 2bbf5dc..7e0c399 100644 Binary files a/connor_ldy/x64/Release/stdafx.obj and b/connor_ldy/x64/Release/stdafx.obj differ diff --git a/connor_ldy/x64/Release/string_utils.obj b/connor_ldy/x64/Release/string_utils.obj index 55fd55b..a5b626e 100644 Binary files a/connor_ldy/x64/Release/string_utils.obj and b/connor_ldy/x64/Release/string_utils.obj differ diff --git a/connor_ldy/x64/Release/tc_log.obj b/connor_ldy/x64/Release/tc_log.obj index e376ec0..06e91cb 100644 Binary files a/connor_ldy/x64/Release/tc_log.obj and b/connor_ldy/x64/Release/tc_log.obj differ diff --git a/connor_ldy/x64/Release/tc_util.obj b/connor_ldy/x64/Release/tc_util.obj index 2454ba0..b21b188 100644 Binary files a/connor_ldy/x64/Release/tc_util.obj and b/connor_ldy/x64/Release/tc_util.obj differ diff --git a/connor_ldy/x64/Release/testReadXml.obj b/connor_ldy/x64/Release/testReadXml.obj index ed6f211..3417406 100644 Binary files a/connor_ldy/x64/Release/testReadXml.obj and b/connor_ldy/x64/Release/testReadXml.obj differ diff --git a/connor_ldy/x64/Release/tinystr.obj b/connor_ldy/x64/Release/tinystr.obj index e57a7a8..6d3ec9e 100644 Binary files a/connor_ldy/x64/Release/tinystr.obj and b/connor_ldy/x64/Release/tinystr.obj differ diff --git a/connor_ldy/x64/Release/tinyxml.obj b/connor_ldy/x64/Release/tinyxml.obj index f5d4942..0a96922 100644 Binary files a/connor_ldy/x64/Release/tinyxml.obj and b/connor_ldy/x64/Release/tinyxml.obj differ diff --git a/connor_ldy/x64/Release/tinyxmlerror.obj b/connor_ldy/x64/Release/tinyxmlerror.obj index 537d396..0c1a155 100644 Binary files a/connor_ldy/x64/Release/tinyxmlerror.obj and b/connor_ldy/x64/Release/tinyxmlerror.obj differ diff --git a/connor_ldy/x64/Release/tinyxmlparser.obj b/connor_ldy/x64/Release/tinyxmlparser.obj index fdc31ef..6bac4c5 100644 Binary files a/connor_ldy/x64/Release/tinyxmlparser.obj and b/connor_ldy/x64/Release/tinyxmlparser.obj differ diff --git a/connor_ldy/x64/Release/vc142.pdb b/connor_ldy/x64/Release/vc142.pdb index 19b1570..0558a45 100644 Binary files a/connor_ldy/x64/Release/vc142.pdb and b/connor_ldy/x64/Release/vc142.pdb differ diff --git a/connor_ldy/~AutoRecover.connor_ldy.vcxproj b/connor_ldy/~AutoRecover.connor_ldy.vcxproj deleted file mode 100644 index e69de29..0000000 diff --git a/x64/Release/connor_jd.dll b/x64/Release/connor_jd.dll index df1cdd6..18a5639 100644 Binary files a/x64/Release/connor_jd.dll and b/x64/Release/connor_jd.dll differ diff --git a/x64/Release/connor_jd.pdb b/x64/Release/connor_jd.pdb index b57119f..f5f2168 100644 Binary files a/x64/Release/connor_jd.pdb and b/x64/Release/connor_jd.pdb differ