feat: 新增前驱后驱主路线字段特殊处理

pull/1/head
德 赫尔 2 months ago
parent b595e4c71b
commit cd708dd4b9

Binary file not shown.

Binary file not shown.

@ -29,6 +29,8 @@
#include "ado.h" #include "ado.h"
#include <stdio.h> #include <stdio.h>
#include <time.h> #include <time.h>
#include "k_util.h"
#include "curl_utils.h"
using namespace std; using namespace std;
#define GUID_LEN 64 #define GUID_LEN 64
@ -39,6 +41,31 @@ struct CHILD
tag_t item; tag_t item;
string clone_id; string clone_id;
}; };
struct FlowBean {
vector<tag_t> flowList;
tag_t flow_split = NULLTAG;
tag_t flow_combine = NULLTAG;
tag_t flow_end = NULLTAG;
char* BEZFL; // 参考顺序
string PLNFL = ""; // 序列
boolean isMain = true;
boolean isOther = false;
vector<tag_t> flow_combine_list;
};
struct FlowInfo {
string pre_id;
string pre_rev_id;
string suc_id;
string suc_rev_id;
};
struct MaxFlowInfo {
tag_t start_line;
vector<tag_t> all_line;
};
extern "C" int POM_AM__set_application_bypass(logical bypass); extern "C" int POM_AM__set_application_bypass(logical bypass);
string getGuid() { string getGuid() {
@ -53,8 +80,147 @@ string getGuid() {
return buffer; return buffer;
} }
// 存在问题,工序明显表的主键未取到,孙子节点获取到的是子节点的对象需要处理
vector<tag_t> getFlowStartsYH(int num, tag_t* c_line_tags) {
vector<tag_t> starts;
for (int i = 0; i < num; i++) {
tag_t gxLine = c_line_tags[i], * successors, * Mfg0predecessors;
int sucCnt = 0, preCnt = 0;
ITKCALL(AOM_ask_value_tags(gxLine, "Mfg0successors", &sucCnt, &successors));
ITKCALL(AOM_ask_value_tags(gxLine, "Mfg0predecessors", &preCnt, &Mfg0predecessors));
if (preCnt == 0 && sucCnt > 0) {
starts.push_back(gxLine);
}
}
return starts;
}
MaxFlowInfo copy(MaxFlowInfo old_info) {
MaxFlowInfo new_info;
new_info.start_line = old_info.start_line;
for (int num = 0; num < old_info.all_line.size(); num++) {
new_info.all_line.push_back(old_info.all_line[num]);
}
return new_info;
}
void readGXFlow(tag_t gxLine, vector<MaxFlowInfo>& all_line_info, map<string, FlowInfo>& line_info, MaxFlowInfo max_info) {
FlowInfo flow_info;
tag_t* successors, * Mfg0predecessors;
int sucCnt = 0, preCnt = 0;
char* gx_clone_id = NULL;
ITKCALL(AOM_ask_value_tags(gxLine, "Mfg0successors", &sucCnt, &successors));
ITKCALL(AOM_ask_value_tags(gxLine, "Mfg0predecessors", &preCnt, &Mfg0predecessors));
ITKCALL(AOM_ask_value_string(gxLine, "bl_clone_stable_occurrence_id", &gx_clone_id));
string pre_id = "";
string pre_rev_id = "";
string suc_id = "";
string suc_rev_id = "";
if (preCnt > 0) {
for (int g = 0; g < preCnt; g++) {
char* pre_item_id = NULL,
* pre_revision_id = NULL;
tag_t pre_gxRev;
ITKCALL(AOM_ask_value_tag(Mfg0predecessors[g], "bl_line_object", &pre_gxRev));
ITKCALL(AOM_ask_value_string(pre_gxRev, "item_id", &pre_item_id));
ITKCALL(AOM_ask_value_string(pre_gxRev, "item_revision_id", &pre_revision_id));
if (g > 0) {
pre_id.append(";");
pre_rev_id.append(";");
}
pre_id.append(string(pre_item_id));
pre_rev_id.append(string(pre_revision_id));
DOFREE(pre_item_id);
DOFREE(pre_revision_id);
}
}
flow_info.pre_id = pre_id;
flow_info.pre_rev_id = pre_rev_id;
if (sucCnt == 0) {
max_info.all_line.push_back(gxLine);
flow_info.suc_id = suc_id;
flow_info.suc_rev_id = suc_rev_id;
all_line_info.push_back(max_info);
line_info[string(gx_clone_id)] = flow_info;
return;
}
if (sucCnt > 0) {
for (int g = 0; g < sucCnt; g++) {
char* suc_item_id = NULL,
* suc_revision_id = NULL;
tag_t suc_gxRev;
ITKCALL(AOM_ask_value_tag(successors[g], "bl_line_object", &suc_gxRev));
ITKCALL(AOM_ask_value_string(suc_gxRev, "item_id", &suc_item_id));
ITKCALL(AOM_ask_value_string(suc_gxRev, "item_revision_id", &suc_revision_id));
if (g > 0) {
suc_id.append(";");
suc_rev_id.append(";");
}
suc_id.append(string(suc_item_id));
suc_rev_id.append(string(suc_revision_id));
DOFREE(suc_item_id);
DOFREE(suc_revision_id);
}
}
flow_info.suc_id = suc_id;
flow_info.suc_rev_id = suc_rev_id;
line_info[string(gx_clone_id)] = flow_info;
if (sucCnt > 0) {
max_info.all_line.push_back(gxLine);
for (int i = 0; i < sucCnt; i++) {
// 后驱工序存在多个新增多条线
MaxFlowInfo curr_max_info;
curr_max_info = copy(max_info);
readGXFlow(successors[i], all_line_info, line_info, curr_max_info);
}
}
DOFREE(gx_clone_id);
DOFREE(successors);
DOFREE(Mfg0predecessors);
}
void getMainProcess(tag_t* c_line_tags, int c_line_count, map<string, string>& main_flow, map<string, FlowInfo>& line_info) {
int maxLen = 0;
vector<MaxFlowInfo> all_line_info;
if (c_line_count == 0) {
return;
}
vector<tag_t> startLines = getFlowStartsYH(c_line_count, c_line_tags);
if (startLines.size() > 0) {
char* itemID;
ITKCALL(AOM_ask_value_string(startLines[0], "item_id", &itemID));
WriteLog("找到工序流起始点 :%s\n", itemID);
DOFREE(itemID);
}
for (int i = 0; i < startLines.size(); i++) {
MaxFlowInfo max_flow_info;
max_flow_info.start_line = startLines[i];
readGXFlow(startLines[i], all_line_info, line_info, max_flow_info);
}
auto it = std::max_element(all_line_info.begin(), all_line_info.end(),
[](const MaxFlowInfo& a, const MaxFlowInfo& b) {
return a.all_line.size() <= b.all_line.size(); // 注意这里用 <=
// 当 a.size <= b.size 时,认为 a 不大于 b
// 所以当遇到相等的时,不会替换当前的最大值
});
if (it != all_line_info.end()) {
WriteLog("主流程的长度为>%d,路线如下:\n", it->all_line.size());
for (int i = 0; i < it->all_line.size(); i++) {
char* gx_clone_id = NULL;
char* item_id = NULL;
ITKCALL(AOM_ask_value_string(it->all_line[i], "bl_clone_stable_occurrence_id", &gx_clone_id));
ITKCALL(AOM_ask_value_string(it->all_line[i], "bl_item_item_id", &item_id));
WriteLog("->%s", item_id);
main_flow[gx_clone_id] = gx_clone_id;
DOFREE(gx_clone_id);
DOFREE(item_id);
}
WriteLog("\n");
}
}
// 存在问题,工序明显表的主键未取到,孙子节点获取到的是子节点的对象需要处理
string readBOPXML(map<string, map<vector<string>, vector<string>>>& xmlMap, string xmlPath) { string readBOPXML(map<string, map<vector<string>, vector<string>>>& xmlMap, string xmlPath) {
time_t currentTime; time_t currentTime;
struct tm* timeInfo; struct tm* timeInfo;
@ -236,7 +402,7 @@ string loadXml(string xmlUid, map<string, map<vector<string>, vector<string>>>&
return tableName; return tableName;
} }
void loadBom(tag_t top_bom_line_tag, map<string, CHILD>& child_level1, map<string, vector<string>>& level1_level2, map<string, CHILD>& child_level2, map<string, vector<CHILD>> &gx_gb_bom, map<string, vector<CHILD>>& gx_gb_zy) { void loadBom(tag_t top_bom_line_tag, map<string, CHILD>& child_level1, map<string, vector<string>>& level1_level2, map<string, CHILD>& child_level2, map<string, vector<CHILD>> &gx_gb_bom, map<string, vector<CHILD>>& gx_gb_zy, map<string, string>& main_flow, map<string, FlowInfo>& line_info) {
int child_count = 0; int child_count = 0;
tag_t* child_tags = NULLTAG; tag_t* child_tags = NULLTAG;
//ITKCALL(BOM_line_ask_child_lines(top_bom_line_tag, &child_count, &child_tags)); //ITKCALL(BOM_line_ask_child_lines(top_bom_line_tag, &child_count, &child_tags));
@ -244,6 +410,8 @@ void loadBom(tag_t top_bom_line_tag, map<string, CHILD>& child_level1, map<strin
ITKCALL(AOM_ask_value_tags(top_bom_line_tag, "Mfg0sub_elements", &child_count, &child_tags)); ITKCALL(AOM_ask_value_tags(top_bom_line_tag, "Mfg0sub_elements", &child_count, &child_tags));
// 遍历工艺下工序层级 // 遍历工艺下工序层级
WriteLog("工序个数为:%d\n", child_count); WriteLog("工序个数为:%d\n", child_count);
//loadPret(child_tags, child_count);
getMainProcess(child_tags, child_count, main_flow, line_info);
for (int x = 0; x < child_count; x++) for (int x = 0; x < child_count; x++)
{ {
char* gx_clone_id = NULL; char* gx_clone_id = NULL;
@ -335,11 +503,48 @@ void loadBom(tag_t top_bom_line_tag, map<string, CHILD>& child_level1, map<strin
DOFREE(child_tags); DOFREE(child_tags);
} }
// 下载数据集文件到指定地址并发送到Ftp指定位置
string downloadDataset(tag_t dataset, string ftp_dir, char* type_name, string idAndRev, string username, string pwd) {
tag_t spec_dataset_rev = NULLTAG,
* ref_objects = NULLTAG;
int ref_cnt = 0;
char* dataset_type_name = NULL,
* pathname = NULL,
* origin_file_name = NULL;
string path = "";
string dir = "";
ITKCALL(AE_ask_dataset_named_refs(dataset, &ref_cnt, &ref_objects));
ITKCALL(AOM_UIF_ask_value(dataset, "object_type", &dataset_type_name));
for (int jy = 0; jy < ref_cnt; jy++)
{
ITKCALL(IMF_ask_original_file_name2(ref_objects[jy], &origin_file_name));
char temp_file[SS_MAXPATHLEN] = "";
strcpy(temp_file, getenv("TEMP"));
strcat(temp_file, "\\");
strcat(temp_file, origin_file_name);
ITKCALL(IMF_export_file(ref_objects[jy], temp_file));
dir = dir.append(string(type_name)).append("/").append(string(dataset_type_name)).append("/").append(idAndRev).append("/").append(string(origin_file_name));
path = path.append(ftp_dir).append(dir);
int result = sendFileByFtp(ftp_dir, temp_file, path, username, pwd);
if (result == 1) {
path = "FTP传递文件失败";
}
break;
}
DOFREE(pathname);
DOFREE(ref_objects);
DOFREE(origin_file_name);
DOFREE(origin_file_name);
return path;
}
// 工艺路线工序明细表 // 工艺路线工序明细表
void insertGyGxBom(string xmlUid, bool &showError, ado ado0, tag_t gy_line, tag_t gy_item, tag_t gy_rev, map<string, CHILD> child_level1, map<string, string> &gx_cloneid_key) { void insertGyGxBom(string xmlUid, bool &showError, ado ado0, tag_t gy_line, tag_t gy_item, tag_t gy_rev, map<string, CHILD> child_level1, map<string, string> &gx_cloneid_key, map<string, string> main_flow, map<string, FlowInfo> line_info) {
WriteLog("记录工艺路线工序明细表数据库\n"); WriteLog("记录工艺路线工序明细表数据库\n");
int ifail = 0; int ifail = 0;
char* type = NULL;
// //
string sqlStr = "insert into "; string sqlStr = "insert into ";
string updateStr = "update "; string updateStr = "update ";
@ -484,6 +689,7 @@ void insertGyGxBom(string xmlUid, bool &showError, ado ado0, tag_t gy_line, tag_
map<string, CHILD>::iterator child_it; map<string, CHILD>::iterator child_it;
for (child_it = child_level1.begin(); child_it != child_level1.end(); child_it++) { for (child_it = child_level1.begin(); child_it != child_level1.end(); child_it++) {
char* type = NULL;
bool isContinue = false; bool isContinue = false;
string childColumnStr = ""; string childColumnStr = "";
string childSelectStr = ""; string childSelectStr = "";
@ -495,12 +701,14 @@ void insertGyGxBom(string xmlUid, bool &showError, ado ado0, tag_t gy_line, tag_
tag_t rev = child_it->second.rev; tag_t rev = child_it->second.rev;
string clone_id = child_it->second.clone_id; string clone_id = child_it->second.clone_id;
string primay_key = ""; string primay_key = "";
FlowInfo flow_info = line_info[clone_id];
ITKCALL(ifail = AOM_ask_value_string(rev, "object_type", &type)); ITKCALL(ifail = AOM_ask_value_string(rev, "object_type", &type));
for (int j = 0; j < childNameVec.size(); j++) for (int j = 0; j < childNameVec.size(); j++)
{ {
string columnName = childNameVec[j]; string columnName = childNameVec[j];
string propertyName = childValueVec[j]; string propertyName = childValueVec[j];
string tempValue = " "; string tempValue = " ";
bool isInt = false;
if (strcmp(columnName.c_str(), "_FILTERTYPE") == 0) { if (strcmp(columnName.c_str(), "_FILTERTYPE") == 0) {
if (strcmp(propertyName.c_str(), "ALL") == 0) { if (strcmp(propertyName.c_str(), "ALL") == 0) {
@ -527,6 +735,28 @@ void insertGyGxBom(string xmlUid, bool &showError, ado ado0, tag_t gy_line, tag_
childUpdateSelectStr = childUpdateSelectStr.append(columnName).append("='").append(tempValue).append("' "); childUpdateSelectStr = childUpdateSelectStr.append(columnName).append("='").append(tempValue).append("' ");
childUpdateWhere = childUpdateWhere.append(columnName).append("='").append(tempValue).append("'"); childUpdateWhere = childUpdateWhere.append(columnName).append("='").append(tempValue).append("'");
} }
else if (strcmp(columnName.c_str(), "MES_PRE_BP_ID") == 0) {
tempValue = flow_info.pre_id;
}
else if (strcmp(columnName.c_str(), "MES_PRE_BP_VERSION") == 0) {
tempValue = flow_info.pre_rev_id;
}
else if (strcmp(columnName.c_str(), "MES_NEXT_BP_ID") == 0) {
tempValue = flow_info.suc_id;
}
else if (strcmp(columnName.c_str(), "MES_NEXT_BP_VERSION") == 0) {
tempValue = flow_info.suc_rev_id;
}
else if (strcmp(columnName.c_str(), "MES_CRITICAL_PATH") == 0) {
isInt = true;
auto it = main_flow.find(clone_id);
if (it != main_flow.end()) {
tempValue = "1";
}
else {
tempValue = "0";
}
}
else { else {
vector<string> propertyVec; vector<string> propertyVec;
Split(propertyName, ".", propertyVec); Split(propertyName, ".", propertyVec);
@ -573,12 +803,20 @@ void insertGyGxBom(string xmlUid, bool &showError, ado ado0, tag_t gy_line, tag_
if (j < childNameVec.size() - 1) { if (j < childNameVec.size() - 1) {
childColumnStr = childColumnStr.append(","); childColumnStr = childColumnStr.append(",");
} }
childValueStr = childValueStr.append("'").append(tempValue); if (isInt) {
if (j < childNameVec.size() - 1) { childValueStr = childValueStr.append("").append(tempValue);
childValueStr = childValueStr.append("',"); if (j < childNameVec.size() - 1) {
childValueStr = childValueStr.append(",");
}
} }
else { else {
childValueStr = childValueStr.append("'"); childValueStr = childValueStr.append("'").append(tempValue);
if (j < childNameVec.size() - 1) {
childValueStr = childValueStr.append("',");
}
else {
childValueStr = childValueStr.append("'");
}
} }
} }
if (isContinue) { if (isContinue) {
@ -612,9 +850,9 @@ void insertGyGxBom(string xmlUid, bool &showError, ado ado0, tag_t gy_line, tag_
selectVec.push_back(selectSql); selectVec.push_back(selectSql);
selectAfterUpdateVec.push_back(updateSelectSql); selectAfterUpdateVec.push_back(updateSelectSql);
insertClonIdVec.push_back(clone_id); insertClonIdVec.push_back(clone_id);
char sendChar[400] = ""; char sendChar[512] = "";
strcpy(sendChar, insertSql.c_str()); strcpy(sendChar, insertSql.c_str());
char sendChar2[400] = ""; char sendChar2[1024] = "";
strcpy(sendChar2, selectSql.c_str()); strcpy(sendChar2, selectSql.c_str());
int result = ado0.ado_QuerySQLNoInputParam(sendChar2); int result = ado0.ado_QuerySQLNoInputParam(sendChar2);
bool resultSql = ado0.executeInsert(sendChar2, sendChar, result); bool resultSql = ado0.executeInsert(sendChar2, sendChar, result);
@ -622,48 +860,8 @@ void insertGyGxBom(string xmlUid, bool &showError, ado ado0, tag_t gy_line, tag_
//if (!resultSql) { //if (!resultSql) {
// WriteLog("数据库语句插入失败\n"); // WriteLog("数据库语句插入失败\n");
//} //}
DOFREE(type);
} }
DOFREE(type);
//WriteLog("开始更新数据库\n");
//更新数据库
//for (int i = 0; i < updateVec.size(); i++) {
// int outputColumn = 0, outputValueCount = 0;
// char*** outputValue = NULL;
// //string updateSql = updateVec[i];
// //string selectSql = selectVec[i];
// //string insertSql = insertVec[i];
// string selectUpdate = selectAfterUpdateVec[i];
// string clone_id = insertClonIdVec[i];
// char sendChar[400] = "";
// char sendChar2[400] = "";
// char sendChar3[400] = "";
// //strcpy(sendChar, updateSql.c_str());
// //strcpy(sendChar2, selectSql.c_str());
// strcpy(sendChar3, selectUpdate.c_str());
// int result = 0;
// //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);
// WriteLog("查询数据内容:%s\n", sendChar3);
// result = ado0.ado_QuerySQLNoInputParam2(sendChar3, &outputColumn, &outputValueCount, &outputValue);
// WriteLog("查询数据结果:%d\n", result);
// if (result == 0) {
// showError = true;
// //WriteLog("工序明细更新失败:%s\n", updateSql.c_str());
// }
// else{
// if (outputValueCount > 0) {
// WriteLog("设值gx_cloneid_key1\n");
// gx_cloneid_key[clone_id] = string(outputValue[0][0]);
// WriteLog("设值gx_cloneid_key2\n");
// }
// }
// //}
//}
} }
// 工序工步关系表 // 工序工步关系表
@ -1335,7 +1533,7 @@ void insertGyGxProp(string xmlUid, bool& showError, ado ado0, tag_t gy_line, tag
} }
// 工序工艺文件 // 工序工艺文件
void insertGyGxGywj(string xmlUid, bool& showError, ado ado0, tag_t gy_line, tag_t gy_item, tag_t gy_rev, map<string, CHILD> child_level1, map<string, vector<string>> level1_level2, map<string, CHILD> child_level2) { void insertGyGxGywj(string xmlUid, string ftp_dir, string username, string pwd, bool& showError, ado ado0, tag_t gy_line, tag_t gy_item, tag_t gy_rev, map<string, CHILD> child_level1, map<string, vector<string>> level1_level2, map<string, CHILD> child_level2) {
WriteLog("记录工序工艺文件数据库\n"); WriteLog("记录工序工艺文件数据库\n");
int ifail = 0; int ifail = 0;
char* type = NULL; char* type = NULL;
@ -1631,6 +1829,34 @@ void insertGyGxGywj(string xmlUid, bool& showError, ado ado0, tag_t gy_line, tag
childLevel2UpdateWhere = childLevel2UpdateWhere.append(columnName).append("='").append(tempValue).append("'"); childLevel2UpdateWhere = childLevel2UpdateWhere.append(columnName).append("='").append(tempValue).append("'");
DOFREE(spuid); DOFREE(spuid);
} }
else if (strcmp(columnName.c_str(), "FILE_PATH") == 0) {
// 数据集通过ftp传递
int related_cnt = 0;
char* type_name = NULL,
* item_id = NULL,
* rev_id = NULL;
GRM_relation_t* related_objects = NULL;
ITKCALL(ifail = AOM_ask_value_string(zy_rev, "item_id", &item_id));
ITKCALL(ifail = AOM_ask_value_string(zy_rev, "item_revision_id", &rev_id));
ITKCALL(AOM_UIF_ask_value(zy_rev, "object_type", &type_name));
ITKCALL(GRM_list_all_related_objects(zy_rev, &related_cnt, &related_objects));
string idAndRev = string(item_id) + "-" + string(rev_id);
for (int i = 0; i < related_cnt; i++)
{
// 判断是否为数据集
if (checkIsTypeOrSubtype(related_objects[i].secondary, "Dataset") == 1)
{
string path = downloadDataset(related_objects[i].secondary, ftp_dir, type_name, idAndRev, username, pwd);
if (i > 0) {
tempValue = tempValue.append(";");
}
tempValue = tempValue.append(path);
}
}
DOFREE(type_name);
DOFREE(item_id);
DOFREE(rev_id);
}
else { else {
vector<string> propertyVec; vector<string> propertyVec;
Split(propertyName, ".", propertyVec); Split(propertyName, ".", propertyVec);
@ -2559,8 +2785,9 @@ int JD_BOPInfoToMediDatabase(EPM_action_message_t msg) {
MEM_free(argvalue); MEM_free(argvalue);
} }
//先获取首选项Jd_MES_Info_Connect解析其中的用户名密码配置文件等信息 //先获取首选项Jd_MES_Info_Connect解析其中的用户名密码配置文件等信息
vector<string> pref_vec1; vector<string> pref_vec1, pref_vec2;
getPrefStrings1("Jd_MES_Info_Connect", TC_preference_site, pref_vec1); getPrefStrings1("Jd_MES_Info_Connect", TC_preference_site, pref_vec1);
getPrefStrings1("Jd_MES_Info_Connect", TC_preference_site, pref_vec2);
string ip = pref_vec1[0]; string ip = pref_vec1[0];
string databaseName = pref_vec1[1]; string databaseName = pref_vec1[1];
string user = pref_vec1[2]; string user = pref_vec1[2];
@ -2571,6 +2798,9 @@ int JD_BOPInfoToMediDatabase(EPM_action_message_t msg) {
string xmlUid4 = pref_vec1[7]; string xmlUid4 = pref_vec1[7];
string xmlUid5 = pref_vec1[8]; string xmlUid5 = pref_vec1[8];
string xmlUid6 = pref_vec1[9]; string xmlUid6 = pref_vec1[9];
string ftp_dir = pref_vec2[0];
string username = pref_vec2[1];
string ftp_pwd = pref_vec2[2];
WriteLog("ip:%s\n", ip.c_str()); WriteLog("ip:%s\n", ip.c_str());
WriteLog("databaseName:%s\n", databaseName.c_str()); WriteLog("databaseName:%s\n", databaseName.c_str());
WriteLog("user:%s\n", user.c_str()); WriteLog("user:%s\n", user.c_str());
@ -2581,6 +2811,7 @@ int JD_BOPInfoToMediDatabase(EPM_action_message_t msg) {
WriteLog("工序工艺文件xmlUid:%s\n", xmlUid4.c_str()); WriteLog("工序工艺文件xmlUid:%s\n", xmlUid4.c_str());
WriteLog("工艺资源xmlUid:%s\n", xmlUid5.c_str()); WriteLog("工艺资源xmlUid:%s\n", xmlUid5.c_str());
WriteLog("工步资源 xmlUid:%s\n", xmlUid6.c_str()); WriteLog("工步资源 xmlUid:%s\n", xmlUid6.c_str());
WriteLog("FTP地址:%s\n", ftp_dir.c_str());
ado ado0; ado ado0;
char userName[100]; char userName[100];
strcpy(userName, user.c_str()); strcpy(userName, user.c_str());
@ -2631,11 +2862,13 @@ int JD_BOPInfoToMediDatabase(EPM_action_message_t msg) {
map<string, vector<string>> level1_level2; map<string, vector<string>> level1_level2;
map<string, CHILD> child_level2; map<string, CHILD> child_level2;
map<string, vector<CHILD>> gx_gb_zy; map<string, vector<CHILD>> gx_gb_zy;
map<string, string> main_flow;
map<string, FlowInfo> line_info;
ITKCALL(ifail = ME_create_bop_window(&bom_window_tag)); ITKCALL(ifail = ME_create_bop_window(&bom_window_tag));
ITKCALL(ifail = BOM_set_window_top_line_bvr(bom_window_tag, only_bom, &top_bom_line_tag)); ITKCALL(ifail = BOM_set_window_top_line_bvr(bom_window_tag, only_bom, &top_bom_line_tag));
/*ITKCALL(ifail = BOM_create_window(&bom_window_tag)); /*ITKCALL(ifail = BOM_create_window(&bom_window_tag));
ITKCALL(ifail = BOM_set_window_top_line_bvr(bom_window_tag, only_bom, &top_bom_line_tag));*/ ITKCALL(ifail = BOM_set_window_top_line_bvr(bom_window_tag, only_bom, &top_bom_line_tag));*/
loadBom(top_bom_line_tag, child_level1, level1_level2, child_level2, gx_gbs_bom, gx_gb_zy); loadBom(top_bom_line_tag, child_level1, level1_level2, child_level2, gx_gbs_bom, gx_gb_zy, main_flow, line_info);
map<string, CHILD>::iterator it1; map<string, CHILD>::iterator it1;
for (it1 = child_level1.begin(); it1 != child_level1.end(); it1++) { for (it1 = child_level1.begin(); it1 != child_level1.end(); it1++) {
@ -2661,13 +2894,22 @@ int JD_BOPInfoToMediDatabase(EPM_action_message_t msg) {
WriteLog("工序clone及工部uid:%s,工部资源数量:%d\n", it5->first.c_str(), it5->second.size()); WriteLog("工序clone及工部uid:%s,工部资源数量:%d\n", it5->first.c_str(), it5->second.size());
} }
insertGyGxBom(xmlUid1, showError, ado0, top_bom_line_tag, partItem, attachments[i], child_level1, gx_cloneid_key); map<string, string>::iterator it5_5;
for (it5_5 = main_flow.begin(); it5_5 != main_flow.end(); it5_5++) {
WriteLog("主路线工序clone:%s\n", it5_5->first.c_str());
}
map<string, FlowInfo>::iterator it5_6;
for (it5_6 = line_info.begin(); it5_6 != line_info.end(); it5_6++) {
WriteLog("工序clone:%s,前驱:%s,后驱:%s\n", it5_6->first.c_str(), it5_6->second.pre_id.c_str(), it5_6->second.suc_id.c_str());
}
insertGyGxBom(xmlUid1, showError, ado0, top_bom_line_tag, partItem, attachments[i], child_level1, gx_cloneid_key, main_flow, line_info);
map<string, string>::iterator it6; map<string, string>::iterator it6;
for (it6 = gx_cloneid_key.begin(); it6 != gx_cloneid_key.end(); it6++) { for (it6 = gx_cloneid_key.begin(); it6 != gx_cloneid_key.end(); it6++) {
WriteLog("工序gx_cloneid_key,key:%s,val:%s\n", it6->first.c_str(), it6->second.c_str()); WriteLog("工序gx_cloneid_key,key:%s,val:%s\n", it6->first.c_str(), it6->second.c_str());
} }
insertGxGb(xmlUid2, showError, ado0, child_level1, gx_cloneid_key, gx_gbs_bom, gx_gb_key); insertGxGb(xmlUid2, showError, ado0, child_level1, gx_cloneid_key, gx_gbs_bom, gx_gb_key);
map<string, string>::iterator it7; map<string, string>::iterator it7;
@ -2675,7 +2917,7 @@ int JD_BOPInfoToMediDatabase(EPM_action_message_t msg) {
WriteLog("工序gx_gb_key,key:%s,val:%s\n", it7->first.c_str(), it7->second.c_str()); WriteLog("工序gx_gb_key,key:%s,val:%s\n", it7->first.c_str(), it7->second.c_str());
} }
insertGyGxProp(xmlUid3, showError, ado0, top_bom_line_tag, partItem, attachments[i], child_level1, gx_cloneid_key); insertGyGxProp(xmlUid3, showError, ado0, top_bom_line_tag, partItem, attachments[i], child_level1, gx_cloneid_key);
insertGyGxGywj(xmlUid4, showError, ado0, top_bom_line_tag, partItem, attachments[i], child_level1, level1_level2, child_level2); insertGyGxGywj(xmlUid4, ftp_dir, username, ftp_pwd, showError, ado0, top_bom_line_tag, partItem, attachments[i], child_level1, level1_level2, child_level2);
insertGyGxGyzy(xmlUid5, showError, ado0, top_bom_line_tag, partItem, attachments[i], child_level1, level1_level2, child_level2); insertGyGxGyzy(xmlUid5, showError, ado0, top_bom_line_tag, partItem, attachments[i], child_level1, level1_level2, child_level2);
insertGbzy(xmlUid6, showError, ado0, child_level1, gx_gb_key, gx_gbs_bom, gx_gb_zy); insertGbzy(xmlUid6, showError, ado0, child_level1, gx_gb_key, gx_gbs_bom, gx_gb_zy);
ITKCALL(ifail = ME_close_bop_window(bom_window_tag));//有开必有关 ITKCALL(ifail = ME_close_bop_window(bom_window_tag));//有开必有关

@ -138,7 +138,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions> <IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_AMD64_;_USRDLL;CONNOR_JD_EXPORTS;IPLIB=none;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>NDEBUG;_WINDOWS;_AMD64_;_USRDLL;CONNOR_JD_EXPORTS;IPLIB=none;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck> <SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>D:\WorkEnvironment\tc13ITK\include;D:\WorkEnvironment\tc13ITK\include_cpp;C:\TC13\tclib\include;C:\TC13\tclib\include_cpp;C:\environment\Teamcenter-ENV\ITK_Configuration_File\LiYuan\include;C:\environment\Teamcenter-ENV\ITK_Configuration_File\LiYuan\include_cpp;D:\file store\TC\TC13.3\include;DD:\file store\TC\TC13.3\include_cpp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>D:\WorkEnvironment\tc13ITK\include;D:\WorkEnvironment\tc13ITK\include_cpp;C:\TC13\tclib\include;C:\TC13\tclib\include_cpp;C:\environment\Teamcenter-ENV\ITK_Configuration_File\LiYuan\include;C:\environment\Teamcenter-ENV\ITK_Configuration_File\LiYuan\include_cpp;D:\file store\TC\TC13.3\include;DD:\file store\TC\TC13.3\include_cpp;D:\file store\TC\curllaoban\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
@ -155,6 +155,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="ado.h" /> <ClInclude Include="ado.h" />
<ClInclude Include="curl_utils.h" />
<ClInclude Include="handlers.h" /> <ClInclude Include="handlers.h" />
<ClInclude Include="k_util.h" /> <ClInclude Include="k_util.h" />
<ClInclude Include="register_main.h" /> <ClInclude Include="register_main.h" />
@ -167,6 +168,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="ADOConn.cpp" /> <ClCompile Include="ADOConn.cpp" />
<ClCompile Include="curl_utils.cxx" />
<ClCompile Include="JD_BOMInfoToMediDatabase.cpp" /> <ClCompile Include="JD_BOMInfoToMediDatabase.cpp" />
<ClCompile Include="JD_BOPInfoToMediDatabase.cxx" /> <ClCompile Include="JD_BOPInfoToMediDatabase.cxx" />
<ClCompile Include="JD_FileInfoToMediDatabase.cpp" /> <ClCompile Include="JD_FileInfoToMediDatabase.cpp" />

@ -48,6 +48,9 @@
<ClInclude Include="k_util.h"> <ClInclude Include="k_util.h">
<Filter>头文件</Filter> <Filter>头文件</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="curl_utils.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="lidy_main.cpp"> <ClCompile Include="lidy_main.cpp">
@ -110,5 +113,8 @@
<ClCompile Include="JD_BOPInfoToMediDatabase.cxx"> <ClCompile Include="JD_BOPInfoToMediDatabase.cxx">
<Filter>源文件</Filter> <Filter>源文件</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="curl_utils.cxx">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
</Project> </Project>

@ -0,0 +1,162 @@
#include "curl_utils.h"
#include <chrono>
// 回调函数,用于处理从服务器接收到的数据
size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
size_t totalSize = size * nmemb;
userp->append((char*)contents, totalSize);
return totalSize;
}
// 回调函数,用于处理接收到的响应头
size_t HeaderCallback(char* buffer, size_t size, size_t nitems, void* userdata) {
HeaderData* headerData = static_cast<HeaderData*>(userdata);
std::string header(buffer, size * nitems);
if (!headerData->found && header.find("x-csrf-token:") == 0) {
size_t colonPos = header.find(':');
if (colonPos != std::string::npos) {
headerData->value = header.substr(colonPos + 1);
headerData->value.erase(0, headerData->value.find_first_not_of(" \t"));
headerData->value.erase(headerData->value.length() - 2);
headerData->found = true; // 标记为已找到
}
}
return size * nitems;
}
vector<string> split_regex(const string& str, const string& pattern) {
vector<string> tokens;
regex rgx(pattern);
sregex_token_iterator iter(str.begin(), str.end(), rgx, -1);
sregex_token_iterator end;
while (iter != end) {
tokens.push_back(*iter++);
}
return tokens;
}
// 写入回调函数(用于上传文件)
size_t read_callback(void* ptr, size_t size, size_t nmemb, FILE* stream) {
size_t retcode = fread(ptr, size, nmemb, stream);
return retcode;
}
int sendFileByFtp(string ftp_url, string file_path, string file_dir, string user, string pwd)
{
int result = 0;
CURL* curl;
CURLcode res;
// 初始化libcurl
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
// 1. 创建远程目录
curl_easy_setopt(curl, CURLOPT_URL, ftp_url.c_str());
curl_easy_setopt(curl, CURLOPT_USERNAME, user.c_str());
curl_easy_setopt(curl, CURLOPT_PASSWORD, pwd.c_str());
curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, CURLFTP_CREATE_DIR);
// 执行目录创建
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
WriteLog("创建目录失败>%s\n", curl_easy_strerror(res));
}
// 2. 上传文件到新目录
FILE* file = nullptr;
errno_t err = fopen_s(&file, file_path.c_str(), "rb");
if (err != 0 || file == nullptr) {
// 处理错误
WriteLog("无法打开本地文件>%s\n", file_path.c_str());
result = 1;
goto end;
}
//FILE* file = fopen(file_path.c_str(), "rb");
//if (!file) {
// WriteLog("无法打开本地文件>%s\n", file_path.c_str());
// result = 1;
// goto end;
//}
// 设置FTP上传选项
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
curl_easy_setopt(curl, CURLOPT_URL, (ftp_url + file_dir).c_str());
curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
curl_easy_setopt(curl, CURLOPT_READDATA, file);
// 获取文件大小
fseek(file, 0, SEEK_END);
curl_off_t file_size = ftell(file);
fseek(file, 0, SEEK_SET);
curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, file_size);
// 执行文件上传
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
WriteLog("上传文件失败:%s\n", curl_easy_strerror(res));
result = 1;
}
else {
WriteLog("文件上传成功\n");
}
fclose(file);
curl_easy_cleanup(curl);
}
end:
curl_global_cleanup();
return result;
}
string postJSON(string url, string body, long& http_code, string& error)
{
string response_data = "";
CURL* curl;
CURLcode res;
// 初始化 libcurl 会话
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
// 设置要访问的 URL
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "http");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
// 设置请求头
struct curl_slist* headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json; charset=UTF-8");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body.c_str());
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, body.size());
// 设置回调函数以接收响应数据
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response_data);
// 执行请求
res = curl_easy_perform(curl);
// 检查错误
if (res != CURLE_OK)
{
error = curl_easy_strerror(res);
}
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_code);
// 清理资源
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
// 清理全局环境
curl_global_cleanup();
return response_data;
}

@ -0,0 +1,18 @@
#pragma once
#include <vector>
#include <iostream>
#include <curl/curl.h>
#include <string>
#include <regex>
#include "tc_log.h"
using namespace std;
struct HeaderData {
std::string value;
bool found; // 记录是否找到
};
int sendFileByFtp(string ftp_url, string file_path, string file_dir, string user, string pwd);
string postJSON(string url, string token, vector<string> header, string body, long& http_code, string& error);
string postJSON(string url, string body, long& http_code, string& error);

@ -187,6 +187,35 @@ bool isType(tag_t item, const char* type) {
return false; return false;
} }
/**
*
*
* @param objtag
* @param type_name
*
*/
int checkIsTypeOrSubtype(tag_t objtag, char* type_name) {
tag_t type = NULLTAG,
item_type = NULLTAG;
int is_type = 0;
ITKCALL(TCTYPE_ask_object_type(objtag, &type));
ITKCALL(TCTYPE_find_type(type_name, "", &item_type));
logical isok = false;
if (item_type != NULLTAG) {
logical isok = FALSE;
ITKCALL(TCTYPE_is_type_of(type, item_type, &isok));
if (isok)
{
is_type = 1;
}
else
{
is_type = 0;
}
}
return is_type;
}
int WriteToFile(const char* file_path, const char* content) { int WriteToFile(const char* file_path, const char* content) {
ofstream file; ofstream file;

@ -65,5 +65,6 @@ int WriteToFile(const char* file_path, const char* content);
char* G2U(const char* gb2312); char* G2U(const char* gb2312);
char* U2G(const char* utf8); char* U2G(const char* utf8);
bool isType(tag_t item, const char* type); bool isType(tag_t item, const char* type);
int checkIsTypeOrSubtype(tag_t objtag, char* type_name);
int GetDatasets(tag_t target_tag, string dataset_rel, string dataset_type, vector<tag_t>& dataset_tags); int GetDatasets(tag_t target_tag, string dataset_rel, string dataset_type, vector<tag_t>& dataset_tags);
void set_bypass(logical bypass); void set_bypass(logical bypass);

@ -1,5 +1,4 @@
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\vc142.pdb d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\vc142.pdb
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\tinyxmlparser.obj
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\tinyxmlerror.obj d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\tinyxmlerror.obj
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\tinyxml.obj d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\tinyxml.obj
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\tinystr.obj d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\tinystr.obj
@ -18,7 +17,9 @@ d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\jd_i
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\jd_fileinfotomedidatabase.obj d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\jd_fileinfotomedidatabase.obj
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\jd_bopinfotomedidatabase.obj d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\jd_bopinfotomedidatabase.obj
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\jd_bominfotomedidatabase.obj d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\jd_bominfotomedidatabase.obj
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\curl_utils.obj
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\adoconn.obj d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\adoconn.obj
d:\file store\项目代码\精雕\jingdiao_connor_jd\connor_ldy\x64\release\tinyxmlparser.obj
d:\file store\项目代码\精雕\jingdiao_connor_jd\x64\release\connor_jd.lib d:\file store\项目代码\精雕\jingdiao_connor_jd\x64\release\connor_jd.lib
d:\file store\项目代码\精雕\jingdiao_connor_jd\x64\release\connor_jd.exp d:\file store\项目代码\精雕\jingdiao_connor_jd\x64\release\connor_jd.exp
d:\file store\项目代码\精雕\jingdiao_connor_jd\x64\release\connor_jd.dll d:\file store\项目代码\精雕\jingdiao_connor_jd\x64\release\connor_jd.dll

@ -1,6 +1,7 @@
 ADOConn.cpp  ADOConn.cpp
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\ADOConn.cpp(88,13): warning C4305: “return”: 从“int”到“bool”截断 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\ADOConn.cpp(88,13): warning C4305: “return”: 从“int”到“bool”截断
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\ADOConn.cpp(257,12): warning C4477: “printf”: 格式字符串“%s”需要类型“char *”的参数,但可变参数 1 拥有了类型“_bstr_t” D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\ADOConn.cpp(257,12): warning C4477: “printf”: 格式字符串“%s”需要类型“char *”的参数,但可变参数 1 拥有了类型“_bstr_t”
curl_utils.cxx
JD_BOMInfoToMediDatabase.cpp JD_BOMInfoToMediDatabase.cpp
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\string_utils.h(134,50): warning C4190: “replace”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string<char,std::char_traits<char>,std::allocator<char>>” D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\string_utils.h(134,50): warning C4190: “replace”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”
D:\Installation directory\Microsoft Visual Studio2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明 D:\Installation directory\Microsoft Visual Studio2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明
@ -46,62 +47,68 @@ D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\string_utils.h(1
D:\Installation directory\Microsoft Visual Studio2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明 D:\Installation directory\Microsoft Visual Studio2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\string_utils.h(137,39): warning C4190: “Utf8ToGbk”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string<char,std::char_traits<char>,std::allocator<char>>” D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\string_utils.h(137,39): warning C4190: “Utf8ToGbk”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”
D:\Installation directory\Microsoft Visual Studio2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明 D:\Installation directory\Microsoft Visual Studio2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(51,2): warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(78,2): warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(94,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(260,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(97,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(263,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(109,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(275,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(112,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(278,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(147,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(313,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(158,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(324,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(161,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(327,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(184,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(350,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(195,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(361,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(198,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(364,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(65,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(231,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(222,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(388,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(223,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(389,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(224,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(390,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(225,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(391,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(220,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(386,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(226,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(392,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(616,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(524,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(618,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(525,3): 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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(465,6): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(526,3): 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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(551,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(518,2): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(844,28): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(524,21): 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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(973,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(854,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(975,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(856,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(821,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(670,6): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(908,9): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(781,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1301,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1042,28): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1303,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1171,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1148,6): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1173,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1238,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1019,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1502,37): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1106,9): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1714,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1499,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1716,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1501,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1468,6): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1346,6): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1556,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1436,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1655,9): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1700,37): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1918,37): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1940,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2130,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1942,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2132,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1666,6): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1884,6): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1754,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1972,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1841,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2071,9): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(1881,9): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2204,28): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2144,37): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2345,34): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2356,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2474,7): 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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2358,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2476,7): 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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2110,6): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2319,9): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2198,7): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2414,11): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2297,9): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2554,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2430,28): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2586,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2571,34): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2588,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2700,7): 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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2650,35): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2702,7): 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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2522,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2545,9): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2526,97): 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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2640,11): warning C4996: 'AOM_UIF_ask_value': "AOM_UIF_ask_value" deprecated in Teamcenter "11.1"; Use "AOM_ask_displayable_values" instead.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2550,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2780,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2817,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2819,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2883,35): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2748,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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2752,97): 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:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\JD_BOPInfoToMediDatabase.cxx(2776,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.
JD_FileInfoToMediDatabase.cpp JD_FileInfoToMediDatabase.cpp
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\string_utils.h(134,50): warning C4190: “replace”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string<char,std::char_traits<char>,std::allocator<char>>” D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\string_utils.h(134,50): warning C4190: “replace”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”
D:\Installation directory\Microsoft Visual Studio2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明 D:\Installation directory\Microsoft Visual Studio2019\VC\Tools\MSVC\14.29.30133\include\xstring(4871): message : 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明
@ -192,10 +199,10 @@ D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(62,2)
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(76,2): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(76,2): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(82,3): warning C4996: 'mkdir': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _mkdir. See online help for details. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(82,3): warning C4996: 'mkdir': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _mkdir. See online help for details.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(56,7): warning C4101: “guid”: 未引用的局部变量 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(56,7): warning C4101: “guid”: 未引用的局部变量
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(221,2): warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(250,2): warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(216,9): warning C4101: “now”: 未引用的局部变量 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(245,9): warning C4101: “now”: 未引用的局部变量
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(217,13): warning C4101: “p”: 未引用的局部变量 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(246,13): warning C4101: “p”: 未引用的局部变量
D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(234,26): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\k_util.cpp(263,26): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
NHL_SignOff_Handler.cpp NHL_SignOff_Handler.cpp
D:\file store\TC\TC13.3\include\pom\pom\pom.h(801,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 D:\file store\TC\TC13.3\include\pom\pom\pom.h(801,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\file store\TC\TC13.3\include\pom\pom\pom.h(5415,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 D:\file store\TC\TC13.3\include\pom\pom\pom.h(5415,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
@ -265,10 +272,11 @@ D:\file store\项目代码\精雕\JINGDIAO_connor_jd\connor_ldy\tc_util.cpp(63,1
tinystr.cpp tinystr.cpp
tinyxml.cpp tinyxml.cpp
tinyxmlerror.cpp tinyxmlerror.cpp
正在编译...
tinyxmlparser.cpp tinyxmlparser.cpp
正在创建库 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\x64\Release\connor_jd.lib 和对象 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\x64\Release\connor_jd.exp 正在创建库 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\x64\Release\connor_jd.lib 和对象 D:\file store\项目代码\精雕\JINGDIAO_connor_jd\x64\Release\connor_jd.exp
正在生成代码 正在生成代码
Previous IPDB not found, fall back to full compilation. Previous IPDB not found, fall back to full compilation.
All 1757 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. All 2081 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
已完成代码的生成 已完成代码的生成
connor_ldy.vcxproj -> D:\file store\项目代码\精雕\JINGDIAO_connor_jd\x64\Release\connor_jd.dll connor_ldy.vcxproj -> D:\file store\项目代码\精雕\JINGDIAO_connor_jd\x64\Release\connor_jd.dll

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save