diff --git a/HEZON_ITK.VC.db b/HEZON_ITK.VC.db index 749d1ac..4783810 100644 Binary files a/HEZON_ITK.VC.db and b/HEZON_ITK.VC.db differ diff --git a/HEZON_ITK/HEZON_ITK.vcxproj b/HEZON_ITK/HEZON_ITK.vcxproj index ae4ba2e..491fc5b 100644 --- a/HEZON_ITK/HEZON_ITK.vcxproj +++ b/HEZON_ITK/HEZON_ITK.vcxproj @@ -129,7 +129,7 @@ true true WIN32;NDEBUG;_CONSOLE;IPLIB=none;%(PreprocessorDefinitions) - C:\Java\jdk1.8.0_231\include\win32;C:\Java\jdk1.8.0_231\include;C:\work\include11;C:\work\include_cpp11;%(AdditionalIncludeDirectories) + C:\Users\lyf\Documents\tclib\tc12\include;C:\Users\lyf\Documents\tclib\tc12\include_cpp;%(AdditionalIncludeDirectories) Cdecl @@ -139,7 +139,7 @@ true - C:\work\lib11\*.lib;%(AdditionalDependencies) + C:\Users\lyf\Documents\tclib\tc12\lib\*.lib;%(AdditionalDependencies) libuser_exits.ar.lib;%(IgnoreSpecificDefaultLibraries) $(OutDir)\bs.dll /FORCE %(AdditionalOptions) @@ -153,19 +153,22 @@ + + + + - - + - + diff --git a/HEZON_ITK/HEZON_ITK.vcxproj.filters b/HEZON_ITK/HEZON_ITK.vcxproj.filters index 4a71037..a413b68 100644 --- a/HEZON_ITK/HEZON_ITK.vcxproj.filters +++ b/HEZON_ITK/HEZON_ITK.vcxproj.filters @@ -49,10 +49,19 @@ epm-handler - + epm-handler - + + epm-handler + + + epm-handler + + + epm-handler + + epm-handler @@ -63,7 +72,7 @@ epm-handler - + epm-handler diff --git a/HEZON_ITK/bs_sap.cpp b/HEZON_ITK/bs_sap.cpp index 267ee92..4023004 100644 --- a/HEZON_ITK/bs_sap.cpp +++ b/HEZON_ITK/bs_sap.cpp @@ -1,97 +1,4 @@ -#include "epm_handler_common.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "tc/envelope.h" -#include -#include "ae/dataset.h" -#include -#include -#include -#include -#include -#include -#include -#include "ce/ce.h" -#include -#include -#include -#include -#include -#include "string" -#include "sstream" -#include -#include -#include -#include "ctime" -#include "tchar.h" -#using "C:/Users/lyf/source/repos/Testdll/bin/Debug/declib.dll" -using namespace std; -using namespace Testdll; -using namespace System; - -extern "C" int POM_AM__set_application_bypass(logical bypass); -string ConvertToString(System::String^ str) -{ - char* p = (char*)(void*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str); - return p; -} -System::String ^ convert_to_cstring(const char *p) -{ - return System::Runtime::InteropServices::Marshal::PtrToStringAnsi((System::IntPtr)(char *)p); -} -bool isTypeOf(tag_t objtag, const char * type_name) { - tag_t type = NULLTAG; - TCTYPE_ask_object_type(objtag, &type); - tag_t item_type = NULLTAG; - TCTYPE_find_type(type_name, "", &item_type); - bool is_type = false; - if (item_type != NULLTAG) { - logical isok = FALSE; - TCTYPE_is_type_of(type, item_type, &isok); - if (isok) { - is_type = true; - } - } - return is_type; -} -void split(std::string s, const char* delim, std::vector* ret) -{ - size_t last = 0; - size_t index = s.find(delim, last); - int size = strlen(delim); - while (index != std::string::npos) { - ret->push_back(s.substr(last, index - last)); - last = index + size; - index = s.find(delim, last); - } - if (index - last > 0) { - ret->push_back(s.substr(last, index - last)); - } -} +#include "util.h" int bs_sap_material(EPM_action_message_t msg) { printf("start sap material\n"); @@ -101,12 +8,15 @@ int bs_sap_material(EPM_action_message_t msg) int pref_cnt; char **pref_vals; EPM_ask_root_task(msg.task, &rootTask); + map class_map; EPM_ask_attachments(rootTask, EPM_target_attachment, &att_count, &attachments); TC_argument_list_t * arguments = msg.arguments; int arg_cnt = TC_number_of_arguments(arguments), status = 0; POM_AM__set_application_bypass(true); map paras,rel_map; + map prop_map; + vector rel_vec; for (auto i = 0; i < arg_cnt; i++) { @@ -114,6 +24,20 @@ int bs_sap_material(EPM_action_message_t msg) ITK_ask_argument_named_value(TC_next_argument(arguments), &temp_key, &temp_val); paras[temp_key] = temp_val; } + string d0 = "D00", d1 = "D0"; + for(int i=0;i<67;i++) + { + if(i>8) + { + + class_map[1000+i] = d1 + to_string(i + 1); + }else + { + class_map[1000 + i] = d0 + to_string(i + 1); + + + } + } PREF_ask_char_values("connor_sap", &pref_cnt, &pref_vals); split(pref_vals[4], ",", &rel_vec); for(int i=0;i temp_vec; + split(rel_vec[i], "=", &temp_vec); + if (temp_vec.size() == 2) + { + prop_map[temp_vec[0]] = temp_vec[1]; + } + } GRM_find_relation_type("IMAN_master_form", &relation_type); printf("create class\n"); Testclass ^test = gcnew Testclass(); @@ -132,24 +67,22 @@ int bs_sap_material(EPM_action_message_t msg) String^ url = convert_to_cstring(pref_vals[0]); String^ user = convert_to_cstring(pref_vals[2]); String^ password = convert_to_cstring(pref_vals[3]); - map map; - map["MTART"] = "jd2_wllx"; - map["MATNR"] = "item_id"; - map["MAKTX"] = "jd2_wlms"; - map["MEINS"] = "jd2_jldw"; - map["MATKL"] = "jd2_wlz"; - map["PRDHA"] = "jd2_cppc"; - map["EXTWG"] = "jd2_wbwlz"; - map["MSTAE"] = "release_status_list"; - map["VOLUM"] = "jd2_tj"; - map["VOLEH"] = "jd2_tjdw"; - map["BISMT"] = "jd2_jwlh"; - map["ZEINR"] = "jd2_th"; - map["BRGEW"] = "jd2_mz"; - map["NTGEW"] = "jd2_jz"; - map["GEWEI"] = "jd2_zldw"; - map["CLASS"] = "jd2_wllx"; - + // prop_map["MTART"] = "jd2_wllx"; + // prop_map["MATNR"] = "item_id"; + // prop_map["MAKTX"] = "jd2_wlms"; + // prop_map["MEINS"] = "jd2_dldw"; + // prop_map["MATKL"] = "jd2_wlz"; + // prop_map["PRDHA"] = "jd2_cpcc"; + // prop_map["EXTWG"] = "jd2_wbwlz"; + // prop_map["MSTAE"] = "release_status_list"; + // prop_map["VOLUM"] = "jd2_tj"; + // prop_map["VOLEH"] = "jd2_tjdw"; + // prop_map["BISMT"] = "jd2_jwlh"; + // prop_map["ZEINR"] = "jd2_th"; + // prop_map["BRGEW"] = "jd2_mz"; + // prop_map["NTGEW"] = "jd2_jz"; + // prop_map["GEWEI"] = "jd2_zldw"; + // prop_map["CLASS"] = "jd2_wllx"; vector vec{ "jd2_wllx","item_id","jd2_wlms","jd2_jldw","jd2_wlz","jd2_cppc","jd2_wbwlz","release_status_list","jd2_tj","jd2_tjdw","jd2_jwlh","jd2_th","jd2_mz","jd2_jz","jd2_zldw" }; printf("start111\n"); for (int i = 0; i < att_count; i++) @@ -160,7 +93,7 @@ int bs_sap_material(EPM_action_message_t msg) tag_t *rels; GRM_list_secondary_objects_only(attachments[i], relation_type, &rel_cnt, &rels); System::Collections::Generic::Dictionary ^dic = gcnew System::Collections::Generic::Dictionary(); - for (auto j = map.begin(); j != map.end(); j++) + for (auto j = prop_map.begin(); j != prop_map.end(); j++) { char *val=""; string temp_val; @@ -182,8 +115,26 @@ int bs_sap_material(EPM_action_message_t msg) AOM_UIF_ask_value(rels[0], j->second.c_str(), &val); temp_val = val; } + dic[convert_to_cstring(j->first.c_str())] = convert_to_cstring(temp_val.c_str()); } + tag_t class_obj; + ICS_ask_classification_object(attachments[i], &class_obj); + if (class_obj) + { + char ***vals; + int cnt, *ids,*val_count; + ICS_ico_ask_attributes(class_obj, &cnt, &ids, &val_count, &vals); + for(int j=0;jsend_bom(url, user, password, a_list)); printf("result:%s\n", result.c_str()); diff --git a/HEZON_ITK/epm_handler_common.h b/HEZON_ITK/epm_handler_common.h index 3332eb1..ec6ce6c 100644 --- a/HEZON_ITK/epm_handler_common.h +++ b/HEZON_ITK/epm_handler_common.h @@ -39,9 +39,10 @@ extern "C" { int bs_file_transfer(EPM_action_message_t msg); int bs_sap_material(EPM_action_message_t msg); int bs_sap_bom(EPM_action_message_t msg); -int jd_signoff(EPM_action_message_t msg); - - +int bs_bom_check(EPM_rule_message_t msg); +int bs_wl_check(EPM_rule_message_t msg); +int bs_bom_save_check(METHOD_message_t *msg, va_list args); +int bs_sign_cad(EPM_action_message_t msg); ////Ϣǩ汾ȥ //int qtmc_sign_ir(EPM_action_message_t msg); diff --git a/HEZON_ITK/epm_register_handler.cxx b/HEZON_ITK/epm_register_handler.cxx index 62757f6..76ba424 100644 --- a/HEZON_ITK/epm_register_handler.cxx +++ b/HEZON_ITK/epm_register_handler.cxx @@ -52,16 +52,70 @@ extern DLLAPI int CUST_init_module(int *decision, va_list args) *decision = ALL_CUSTOMIZATIONS; - + printf("register start\n"); ifail = EPM_register_action_handler("bs_file_transfer", "bs_file_transfer", (EPM_action_handler_t)bs_file_transfer); + if(ifail) + { + printf("register bs_file_transfer failed\n"); + }else + { + printf("register bs_file_transfer successfully\n"); + + } ifail = EPM_register_action_handler("bs_sap_material", "bs_sap_material", (EPM_action_handler_t)bs_sap_material); + if (ifail) + { + printf("register bs_sap_material failed\n"); + } + else + { + printf("register bs_sap_material successfully\n"); + + } ifail = EPM_register_action_handler("bs_sap_bom", "bs_sap_bom", (EPM_action_handler_t)bs_sap_bom); - ifail = EPM_register_action_handler("jd_signoff", "jd_signoff", - (EPM_action_handler_t)jd_signoff); - + if (ifail) + { + printf("register bs_sap_bom failed\n"); + } + else + { + printf("register bs_sap_bom successfully\n"); + + } + ifail = EPM_register_rule_handler("bs_bom_check", "bs_bom_check", (EPM_rule_handler_t)bs_bom_check); + if (ifail) + { + printf("register bs_bom_check failed\n"); + } + else + { + printf("register bs_bom_check successfully\n"); + + } + ifail = EPM_register_rule_handler("bs_wl_check", "bs_wl_check", (EPM_rule_handler_t)bs_wl_check); + if (ifail) + { + printf("register bs_wl_check failed\n"); + } + else + { + printf("register bs_wl_check successfully\n"); + + } + ifail = EPM_register_action_handler("bs_sign_cad", "bs_sign_cad", + (EPM_action_handler_t)bs_sign_cad); + if (ifail) + { + printf("register bs_sign_cad failed\n"); + } + else + { + printf("register bs_sign_cad successfully\n"); + + } //if(ifail == ITK_ok) //{ // fprintf(stdout,"Registering action handler qtmc-sign-ir completed!\n"); @@ -78,164 +132,25 @@ extern DLLAPI int CUST_init_module(int *decision, va_list args) ////register service method extern DLLAPI int USERSERVICE_custom_register_methods() { - - ////2.7 SP-CUS-007 ��DBOM��������EBOM - //numberOfArguments = 1; - //functionPtr = Q7_ebom_to_pbom; - //argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int) ); - //argumentList[0] = USERARG_TAG_TYPE; - ////argumentList[1] = USERARG_STRING_TYPE + USERARG_ARRAY_TYPE; - //returnValueType = USERARG_STRING_TYPE; - //ITKCALL(status = USERSERVICE_register_method("Q7_ebom_to_pbom", functionPtr, numberOfArguments, - // argumentList, returnValueType )); - //MEM_free(argumentList); - //if(status == ITK_ok) - //{ - // fprintf( stdout, "\n Registering Q7_ebom_to_pbom finished\n" ); - //} - //else - //{ - // fprintf( stdout, "\n Registering Q7_ebom_to_pbom failed %d\n" , status ); - //} - ////QTM_ebom_to_pbom - //numberOfArguments = 1; - //functionPtr = QTM_ebom_to_pbom; - //argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int) ); - //argumentList[0] = USERARG_TAG_TYPE; - ////argumentList[1] = USERARG_STRING_TYPE + USERARG_ARRAY_TYPE; - //returnValueType = USERARG_STRING_TYPE; - //ITKCALL(status = USERSERVICE_register_method("QTM_ebom_to_pbom", functionPtr, numberOfArguments, - // argumentList, returnValueType )); - //MEM_free(argumentList); - //if(status == ITK_ok) - //{ - // fprintf( stdout, "\n Registering QTM_ebom_to_pbom finished\n" ); - //} - //else - //{ - // fprintf( stdout, "\n Registering QTM_ebom_to_pbom failed %d\n" , status ); - //} - ////QTM_ebom_to_mbom - //numberOfArguments = 1; - //functionPtr = QTM_ebom_to_mbom; - //argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int) ); - //argumentList[0] = USERARG_TAG_TYPE; - ////argumentList[1] = USERARG_STRING_TYPE + USERARG_ARRAY_TYPE; - //returnValueType = USERARG_STRING_TYPE; - //ITKCALL(status = USERSERVICE_register_method("QTM_ebom_to_mbom", functionPtr, numberOfArguments, - // argumentList, returnValueType )); - //MEM_free(argumentList); - //if(status == ITK_ok) - //{ - // fprintf( stdout, "\n Registering QTM_ebom_to_mbom finished\n" ); - //} - //else - //{ - // fprintf( stdout, "\n Registering QTM_ebom_to_mbom failed %d\n" , status ); - //} - - ////2.6 SP-CUS-006���е¶���excel��Ϣ�������� - //numberOfArguments = 3; - //functionPtr = qtmc_update_revision_prop; - //argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int) ); - //argumentList[0] = USERARG_TAG_TYPE+USERARG_ARRAY_TYPE; - //argumentList[1] = USERARG_TAG_TYPE; - //argumentList[2] = USERARG_STRING_TYPE; - //returnValueType = USERARG_VOID_TYPE; - //ITKCALL(status = USERSERVICE_register_method("QTMC_update_revision_prop",functionPtr,numberOfArguments,argumentList,returnValueType)); - //if(status == ITK_ok) - //{ - // fprintf(stdout,"Registering user service QTMC_update_revision_prop successful !\n"); - //}else{ - // fprintf(stdout,"Registering user service QTMC_update_revision_prop failed %d\n",status); - //} - - // - - ////SP-CUS-017SolidWorksģ�����浽TC - //numberOfArguments = 7; - //functionPtr = qtmc_import_solidworks_to_tc; - //argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int) ); - //argumentList[0] = USERARG_STRING_TYPE; - //argumentList[1] = USERARG_STRING_TYPE; - //argumentList[2] = USERARG_STRING_TYPE; - //argumentList[3] = USERARG_TAG_TYPE; - //argumentList[4] = USERARG_LOGICAL_TYPE; - //argumentList[5] = USERARG_LOGICAL_TYPE; - //argumentList[6] = USERARG_LOGICAL_TYPE; - //returnValueType = USERARG_LOGICAL_TYPE; - //ITKCALL(status = USERSERVICE_register_method("QTMC_import_solidworks",functionPtr,numberOfArguments,argumentList,returnValueType)); - //if(status == ITK_ok) - //{ - // fprintf(stdout,"Registering user service QTMC_import_solidworks successful !\n"); - //}else{ - // fprintf(stdout,"Registering user service QTMC_import_solidworks failed %d\n",status); - //} - - - ////3.8 SP-CUS-020����ϵ�м��������� - //numberOfArguments = 3; - //functionPtr = qtmc_update_series_parts; - //argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int) ); - //argumentList[0] = USERARG_TAG_TYPE; - //argumentList[1] = USERARG_STRING_TYPE; - //argumentList[2] = USERARG_STRING_TYPE; - //returnValueType = USERARG_TAG_TYPE; - //ITKCALL(status = USERSERVICE_register_method("QTMC_update_series_parts",functionPtr,numberOfArguments,argumentList,returnValueType)); - //if(status == ITK_ok) - //{ - // fprintf(stdout,"Registering user service QTMC_update_series_parts successful !\n"); - //}else{ - // fprintf(stdout,"Registering user service QTMC_update_series_parts failed %d\n",status); - //} - - //numberOfArguments = 1; - //functionPtr = qtmc_by_pass; - //argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int) ); - //argumentList[0] = USERARG_LOGICAL_TYPE; - //returnValueType = USERARG_VOID_TYPE; - //ITKCALL(status = USERSERVICE_register_method("QTMC-bypass",functionPtr,numberOfArguments,argumentList,returnValueType)); - //if(status == ITK_ok) - //{ - // fprintf(stdout,"Registering user service QTMC-bypass successful !\n"); - //}else{ - // fprintf(stdout,"Registering user service QTMC-bypass failed %d\n",status); - //} - - - //numberOfArguments = 3; - //functionPtr = qtmc_qry_service; - //argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int) ); - //argumentList[0] = USERARG_STRING_TYPE; - //argumentList[1] = USERARG_STRING_TYPE+USERARG_ARRAY_TYPE; - //argumentList[2] = USERARG_STRING_TYPE+USERARG_ARRAY_TYPE; - //returnValueType = USERARG_TAG_TYPE+USERARG_ARRAY_TYPE; - //ITKCALL(status = USERSERVICE_register_method("QTMC_Search",functionPtr,numberOfArguments,argumentList,returnValueType)); - //if(status == ITK_ok) - //{ - // fprintf(stdout,"Registering user service QTMC_Search successful !\n"); - //}else{ - // fprintf(stdout,"Registering user service QTMC_Search failed %d\n",status); - //} - - - // - ////7.3 ����HBOM���ݵĵ������� - //numberOfArguments = 4; - //functionPtr = qtmc_update_hbom_bomline_prop; - //argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int) ); - //argumentList[0] = USERARG_TAG_TYPE; - //argumentList[1] = USERARG_TAG_TYPE; - //argumentList[2] = USERARG_STRING_TYPE; - //argumentList[3] = USERARG_STRING_TYPE; - //returnValueType = USERARG_VOID_TYPE; - //ITKCALL(status = USERSERVICE_register_method("QTMC_update_bomline",functionPtr,numberOfArguments,argumentList,returnValueType)); - //if(status == ITK_ok) - //{ - // fprintf(stdout,"Registering user service QTMC_update_bomline successful !\n"); - //}else{ - // fprintf(stdout,"Registering user service QTMC_update_bomline failed %d\n",status); - //} + int status = 0; + + METHOD_id_t mth_tag; + METHOD_find_method("BOMWindow", "BOMWindow_save", &mth_tag); + printf("register service\n"); + if (mth_tag.id) + { + printf("register bomwindow_save\n"); + status=METHOD_add_action(mth_tag, METHOD_pre_action_type, (METHOD_function_t)bs_bom_save_check, NULL); + if(status==ITK_ok) + { + printf("register bomwindow_save success\n"); + + }else + { + printf("register bomwindow_save failed\n"); + + } + } return 0; } diff --git a/HEZON_ITK/jd_clear_field.cpp b/HEZON_ITK/jd_clear_field.cpp index f2a0e4f..3cf44e2 100644 --- a/HEZON_ITK/jd_clear_field.cpp +++ b/HEZON_ITK/jd_clear_field.cpp @@ -30,7 +30,6 @@ #include #include #include "sstream" -#include "libxl.h" #include "atlstr.h" #include @@ -96,6 +95,8 @@ #include #define MAX_PATH_LEN 256 +#define GUID_LEN 64 + #ifdef WIN32 #define ACCESS(fileName,accessMode) _access(fileName,accessMode) #define MKDIR(path) _mkdir(path) @@ -103,9 +104,12 @@ #define ACCESS(fileName,accessMode) access(fileName,accessMode) #define MKDIR(path) mkdir(path,S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) #endif + +#define LOCALJARPATH "D:\\Siemens\\Teamcenter11\\bin\\tc_extra_jar\\" +#define REMOTEJARPATH "D:\\app\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\" + //#include using namespace std; -using namespace libxl; #ifdef __cplusplus extern "C" int POM_AM__set_application_bypass(logical bypass); extern "C" { @@ -232,8 +236,7 @@ extern "C" { std::cout << "Added " << urlPath << " to the classpath." << std::endl; } - int JD_Revise_clear(METHOD_message_t* msg, va_list args) { - + int JD_clear(METHOD_message_t* msg, va_list args, tag_t new_rev) { printf("升版执行\n"); //获取数据集 char *temp_path, *attach_type; @@ -257,20 +260,21 @@ extern "C" { printf("dir:%s\n", dir.str().c_str()); - //获取时间 - //time_t t; - //time(&t); - //tm* time = localtime(&t); - stringstream date; - //date << time->tm_year + 1900 << "-"; - //date << time->tm_mon + 1 << "-"; - //date << time->tm_mday << "-"; - //date << time->tm_hour << "-"; - //date << time->tm_min << "-"; - //date << time->tm_sec; - date << "2"; - - printf("datetime:%s\n",date.str().c_str()); + //获取guid + char buffer[GUID_LEN] = { 0 }; + GUID guid; + + if (CoCreateGuid(&guid)) { + fprintf(stderr, "create guid error\n"); + return -1; + } + _snprintf(buffer, sizeof(buffer), + "%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X", + guid.Data1, guid.Data2, guid.Data3, + guid.Data4[0], guid.Data4[1], guid.Data4[2], + guid.Data4[3], guid.Data4[4], guid.Data4[5], + guid.Data4[6], guid.Data4[7]); + printf("guid: %s\n", buffer); POM_AM__set_application_bypass(true); @@ -278,7 +282,7 @@ extern "C" { wstringstream wss; wss << getenv("JRE_HOME") << "\\bin\\server\\jvm.dll"; - printf("wxs:%s\n",wss.str().c_str()); + printf("wxs:%s\n", wss.str().c_str()); JavaVMInitArgs vmArgs; const int OPTION_COUNT = 1; @@ -321,135 +325,165 @@ extern "C" { } printf("after load jvm\n"); - add_path(env, "D:\\Siemens\\Teamcenter11\\bin\\tc_extra_jar\\sign2fileRunnable.jar"); - //add_path(env, "D:\\app\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\sign2fileRunnable.jar"); + + + stringstream s; + if (ACCESS(LOCALJARPATH, 0) != 0) { + s << REMOTEJARPATH; + s << "sign2fileRunnable.jar"; + add_path(env, s.str().c_str()); + } else { + s << LOCALJARPATH; + s << "sign2fileRunnable.jar"; + add_path(env, s.str().c_str()); + } + printf("add path\n"); jclass class_Test; int file_type = -1; int ifail = ITK_ok, objects_count; - tag_t new_rev = va_arg(args, tag_t), *objects; - char* operation = va_arg(args, char*); + tag_t *objects; + + + ITKCALL(AOM_ask_value_tags(new_rev, "IMAN_master_form_rev", &objects_count, &objects)); + //表单签名 + for (auto iii = 0; iii < objects_count; iii++) { + AOM_lock(objects[iii]); + AOM_set_value_string(objects[iii], "jd2_bz", ""); + AOM_set_value_string(objects[iii], "jd2_bzrq", ""); + AOM_set_value_string(objects[iii], "jd2_jd", ""); + AOM_set_value_string(objects[iii], "jd2_jdrq", ""); + AOM_set_value_string(objects[iii], "jd2_sh", ""); + AOM_set_value_string(objects[iii], "jd2_shrq", ""); + AOM_set_value_string(objects[iii], "jd2_hq", ""); + AOM_set_value_string(objects[iii], "jd2_hqrq", ""); + AOM_set_value_string(objects[iii], "jd2_pz", ""); + AOM_set_value_string(objects[iii], "jd2_pzrq", ""); + ITKCALL(AOM_save(objects[iii])); + AOM_unlock(objects[iii]); + } + MEM_free(objects); + + printf("startSign\n"); + ITKCALL(AOM_ask_value_tags(new_rev, "IMAN_specification", &n_attachs, &dataset)); + for (int i = 0;i < n_attachs;i++) { + stringstream ss; + ss << dir.str().c_str(); + printf(ss.str().c_str()); + ITKCALL(TCTYPE_ask_object_type(dataset[i], &type_tag)); + if (type_tag == wordx_tag || type_tag == word_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "word", ss.str().c_str())); + file_type = 0; + } else if (type_tag == excel_tag || type_tag == excelx_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "excel", ss.str().c_str())); + file_type = 1; + } - if (strcmp(operation, "Revise") == 0 || strcmp(operation, "SaveAs") == 0) { - //todo怎么判断需要操作的类型? - if (isTypeOf(new_rev, "ItemRevision")) { - ITKCALL(AOM_ask_value_tags(new_rev, "IMAN_master_form_rev", &objects_count, &objects)); - //表单签名 - for (auto iii = 0; iii < objects_count; iii++) { - AOM_lock(objects[iii]); - AOM_set_value_string(objects[iii], "jd2_bz", ""); - AOM_set_value_string(objects[iii], "jd2_bzrq", ""); - AOM_set_value_string(objects[iii], "jd2_jd", ""); - AOM_set_value_string(objects[iii], "jd2_jdrq", ""); - AOM_set_value_string(objects[iii], "jd2_sh", ""); - AOM_set_value_string(objects[iii], "jd2_shrq", ""); - AOM_set_value_string(objects[iii], "jd2_hq", ""); - AOM_set_value_string(objects[iii], "jd2_hqrq", ""); - AOM_set_value_string(objects[iii], "jd2_pz", ""); - AOM_set_value_string(objects[iii], "jd2_pzrq", ""); - ITKCALL(AOM_save(objects[iii])); - AOM_unlock(objects[iii]); + printf("file_type:%d\n", file_type); + if (file_type == 0) { + class_Test = env->FindClass("sign2file/SignToWord"); + int res = sign(env, class_Test, ss.str().c_str(), "", 54); + if (res) { + replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word"); } - MEM_free(objects); - - printf("startSign\n"); - ITKCALL(AOM_ask_value_tags(new_rev, "IMAN_specification", &n_attachs, &dataset)); - for (int i = 0;i < n_attachs;i++) { - stringstream ss; - ss << dir.str().c_str(); - printf(ss.str().c_str()); - ITKCALL(TCTYPE_ask_object_type(dataset[i], &type_tag)); - if (type_tag == wordx_tag || type_tag == word_tag) { - ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref)); - char *file_name; - ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name)); - ss << date.str().c_str(); - ss << "_"; - ss << file_name; - printf("path:%s\n", ss.str().c_str()); - ITKCALL(AE_export_named_ref(dataset[i], "word", ss.str().c_str())); - file_type = 0; - } else if (type_tag == excel_tag || type_tag == excelx_tag) { - ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref)); - char *file_name; - ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name)); - ss << date.str().c_str(); - ss << "_"; - ss << file_name; - printf("path:%s\n", ss.str().c_str()); - ITKCALL(AE_export_named_ref(dataset[i], "excel", ss.str().c_str())); - file_type = 1; - } + } else if (file_type == 1) { + class_Test = env->FindClass("sign2file/SignToExcel"); + int res = sign(env, class_Test, ss.str().c_str(), "", 54); + if (res) { + replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel"); + } + } + file_type = -1; + } + MEM_free(dataset); + AOM_ask_value_tags(new_rev, "TC_Attaches", &n_attachs, &dataset); + for (int i = 0;i < n_attachs;i++) { + stringstream ss; + ss << dir.str().c_str(); + ITKCALL(TCTYPE_ask_object_type(dataset[i], &type_tag)); + if (type_tag == wordx_tag || type_tag == word_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "word", ss.str().c_str())); + file_type = 0; + } else if (type_tag == excel_tag || type_tag == excelx_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "excel", ss.str().c_str())); + file_type = 1; + } - printf("file_type:%d\n", file_type); - if (file_type == 0) { - class_Test = env->FindClass("sign2file/SignToWord"); - int res = sign(env, class_Test, ss.str().c_str(), "", 54); - if (res) { - replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word"); - } - } else if (file_type == 1) { - class_Test = env->FindClass("sign2file/SignToExcel"); - int res = sign(env, class_Test, ss.str().c_str(), "", 54); - if (res) { - replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel"); - } - } - file_type = -1; + printf("file_type:%d\n", file_type); + if (file_type == 0) { + class_Test = env->FindClass("sign2file/SignToWord"); + int res = sign(env, class_Test, ss.str().c_str(), "", 54); + if (res) { + replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word"); } - MEM_free(dataset); - AOM_ask_value_tags(new_rev, "TC_Attaches", &n_attachs, &dataset); - for (int i = 0;i < n_attachs;i++) { - stringstream ss; - ss << dir.str().c_str(); - ITKCALL(TCTYPE_ask_object_type(dataset[i], &type_tag)); - if (type_tag == wordx_tag || type_tag == word_tag) { - ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref)); - char *file_name; - ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name)); - ss << date.str().c_str(); - ss << "_"; - ss << file_name; - printf("path:%s\n", ss.str().c_str()); - ITKCALL(AE_export_named_ref(dataset[i], "word", ss.str().c_str())); - file_type = 0; - } else if (type_tag == excel_tag || type_tag == excelx_tag) { - ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref)); - char *file_name; - ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name)); - ss << date.str().c_str(); - ss << "_"; - ss << file_name; - printf("path:%s\n", ss.str().c_str()); - ITKCALL(AE_export_named_ref(dataset[i], "excel", ss.str().c_str())); - file_type = 1; - } + } else if (file_type == 1) { + class_Test = env->FindClass("sign2file/SignToExcel"); + int res = sign(env, class_Test, ss.str().c_str(), "", 54); + if (res) { + replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel"); + } + } + file_type = -1; + } + MEM_free(dataset); + printf("endSign\n"); + + FreeLibrary(hModule); + POM_AM__set_application_bypass(false); + return ITK_ok; + } + + int JD_Revise_clear(METHOD_message_t* msg, va_list args) { + + tag_t new_rev = va_arg(args, tag_t); + char *operation = va_arg(args, char*), **pref_values, *type; + int ifail = ITK_ok, pref_count; + AOM_ask_value_string(new_rev, "object_type", &type); - printf("file_type:%d\n", file_type); - if (file_type == 0) { - class_Test = env->FindClass("sign2file/SignToWord"); - int res = sign(env, class_Test, ss.str().c_str(), "", 54); - if (res) { - replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word"); - } - } else if (file_type == 1) { - class_Test = env->FindClass("sign2file/SignToExcel"); - int res = sign(env, class_Test, ss.str().c_str(), "", 54); - if (res) { - replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel"); - } + if (strcmp(operation, "Revise") == 0 || strcmp(operation, "SaveAs") == 0) { + if (isTypeOf(new_rev, "ItemRevision")) { + //获取首选项 + PREF_ask_char_values("jd_revise_clear_revisions",&pref_count,&pref_values); + for (int i = 0;i < pref_count;i++) { + if (strcmp(pref_values[i],type)==0) { + JD_clear(msg, args, new_rev); + break; } - file_type = -1; } - MEM_free(dataset); - printf("endSign\n"); } } - FreeLibrary(hModule); - POM_AM__set_application_bypass(false); + return ifail; } @@ -457,13 +491,13 @@ extern "C" { int status = ITK_ok; char *err_string, *err_function; int err_line = -1; - printf("JD_Revise_clear函数\n"); + printf("JD_Revise_clear函数开始注册\n"); METHOD_id_t mth_tag; ITKCALL(status = METHOD_find_method("ItemRevision", ITEM_deep_copy_msg, &mth_tag)); if (mth_tag.id != 0) { ITKCALL(METHOD_add_action(mth_tag, METHOD_post_action_type, JD_Revise_clear, NULL)); - printf("JD_Revise_clear注册成功"); + printf("JD_Revise_clear注册成功\n"); } return status; } diff --git a/HEZON_ITK/jd_signoff.cpp b/HEZON_ITK/jd_signoff.cpp index 9c0cd95..5c70ac8 100644 --- a/HEZON_ITK/jd_signoff.cpp +++ b/HEZON_ITK/jd_signoff.cpp @@ -70,6 +70,9 @@ #define MKDIR(path) mkdir(path,S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) #endif +#define LOCALJARPATH "D:\\Siemens\\Teamcenter11\\bin\\tc_extra_jar\\" +#define REMOTEJARPATH "D:\\app\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\" + using namespace std; extern "C" int POM_AM__set_application_bypass(logical bypass); @@ -198,7 +201,7 @@ void add_path(JNIEnv* env, const std::string& path) //吉德表单签名 int jd_signoff(EPM_action_message_t msg) { - const char bz = '1', jd = '2', sh = '3', hq = '4', pz = '5', bz_back = '0'; + const char bz = '1', jd = '2', sh = '3', hq = '4', pz = '5', bz_back = '0', clear='6'; int ifail = ITK_ok, att_count, objects_count, step; tag_t rootTask, *attachments, user_tag, *objects; @@ -346,8 +349,18 @@ int jd_signoff(EPM_action_message_t msg) { } printf("after load jvm\n"); - add_path(env, "D:\\Siemens\\Teamcenter11\\bin\\tc_extra_jar\\sign2fileRunnable.jar"); - //add_path(env, "D:\\app\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\sign2fileRunnable.jar"); + + stringstream s; + if (ACCESS(LOCALJARPATH, 0) != 0) { + s << REMOTEJARPATH; + s << "sign2fileRunnable.jar"; + add_path(env, s.str().c_str()); + } else { + s << LOCALJARPATH; + s << "sign2fileRunnable.jar"; + add_path(env, s.str().c_str()); + } + printf("add path\n"); jclass class_Test; int file_type = -1; @@ -367,23 +380,32 @@ int jd_signoff(EPM_action_message_t msg) { case bz: AOM_set_value_string(objects[iii], "jd2_bz", user_name); AOM_set_value_string(objects[iii], "jd2_bzrq", date.str().c_str()); + printf("bz signoff\n"); break; case jd: AOM_set_value_string(objects[iii], "jd2_jd", user_name); AOM_set_value_string(objects[iii], "jd2_jdrq", date.str().c_str()); + printf("jd signoff\n"); break; case sh: AOM_set_value_string(objects[iii], "jd2_sh", user_name); AOM_set_value_string(objects[iii], "jd2_shrq", date.str().c_str()); + printf("sh signoff\n"); break; case hq: AOM_set_value_string(objects[iii], "jd2_hq", user_name); AOM_set_value_string(objects[iii], "jd2_hqrq", date.str().c_str()); + printf("hq signoff\n"); break; case pz: AOM_set_value_string(objects[iii], "jd2_pz", user_name); AOM_set_value_string(objects[iii], "jd2_pzrq", date.str().c_str()); + printf("pz signoff\n"); break; + case clear: + AOM_set_value_string(objects[iii], "jd2_bz", ""); + AOM_set_value_string(objects[iii], "jd2_bzrq", ""); + printf("clear signoff\n"); case bz_back: AOM_set_value_string(objects[iii], "jd2_jd", ""); AOM_set_value_string(objects[iii], "jd2_jdrq", ""); @@ -393,6 +415,7 @@ int jd_signoff(EPM_action_message_t msg) { AOM_set_value_string(objects[iii], "jd2_hqrq", ""); AOM_set_value_string(objects[iii], "jd2_pz", ""); AOM_set_value_string(objects[iii], "jd2_pzrq", ""); + printf("bz_back signoff\n"); break; } ITKCALL(AOM_save(objects[iii])); diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.log b/HEZON_ITK/x64/Release/HEZON_ITK.log index d6eb184..8cbf9ee 100644 --- a/HEZON_ITK/x64/Release/HEZON_ITK.log +++ b/HEZON_ITK/x64/Release/HEZON_ITK.log @@ -1,29 +1,17 @@ - jd_clear_field.cpp -C:\work\include11\pom/pom/pom.h(816): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 -C:\work\include11\pom/pom/pom.h(5419): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 -C:\work\include11\qry/qry.h(591): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 -C:\work\include11\qry/qry.h(591): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 -jd_clear_field.cpp(115): warning C4267: “初始化”: 从“size_t”转换到“uint32_t”,可能丢失数据 -jd_clear_field.cpp(177): warning C4190: “GBKToUTF8”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string,std::allocator>” - C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xstring(2633): note: 参见“std::basic_string,std::allocator>”的声明 -jd_clear_field.cpp(248): 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. + jd_signoff.cpp +C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +jd_signoff.cpp(80): warning C4267: “初始化”: 从“size_t”转换到“uint32_t”,可能丢失数据 +jd_signoff.cpp(213): 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. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\time.h(505): note: 参见“localtime”的声明 +jd_signoff.cpp(233): 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. C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明 -jd_clear_field.cpp(279): 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. +jd_signoff.cpp(309): 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. C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明 -jd_clear_field.cpp(281): warning C4477: “printf”: 格式字符串“%s”需要类型“char *”的参数,但可变参数 1 拥有了类型“const wchar_t *” - jd_clear_field.cpp(281): note: 请考虑在格式字符串中使用“%ls” - jd_clear_field.cpp(281): note: 请考虑在格式字符串中使用“%lls” - jd_clear_field.cpp(281): note: 请考虑在格式字符串中使用“%Ls” - jd_clear_field.cpp(281): note: 请考虑在格式字符串中使用“%ws” -jd_clear_field.cpp(242): warning C4101: “rev_attachments”: 未引用的局部变量 -jd_clear_field.cpp(241): warning C4101: “ref_obj”: 未引用的局部变量 -jd_clear_field.cpp(239): warning C4101: “attach_type”: 未引用的局部变量 -jd_clear_field.cpp(458): warning C4101: “err_function”: 未引用的局部变量 -jd_clear_field.cpp(458): warning C4101: “err_string”: 未引用的局部变量 -c:\work\vs_workspace\jditk\hezon_itk\jd_clear_field.cpp(332): warning C4793: “JD_Revise_clear”: 编译为本机的函数: - 托管代码中发现一个不受支持的内部函数 -c:\work\vs_workspace\jditk\hezon_itk\jd_clear_field.cpp(333): warning C4793: “JD_Revise_clear”: 编译为本机的函数: - 托管代码中发现一个不受支持的内部函数 +jd_signoff.cpp(209): warning C4101: “verdict”: 未引用的局部变量 +jd_signoff.cpp(227): warning C4101: “rev_attachments”: 未引用的局部变量 +jd_signoff.cpp(226): warning C4101: “ref_obj”: 未引用的局部变量 +jd_signoff.cpp(224): warning C4101: “attach_type”: 未引用的局部变量 c:\java\jdk1.8.0_231\include\jni.h(1442): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数: /clr 下不支持 varargs c:\java\jdk1.8.0_231\include\jni.h(1445): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数: @@ -52,7 +40,7 @@ C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.target C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1191,5): warning MSB8012: TargetName(HEZON_ITK) does not match the Linker's OutputFile property value (bs). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). jd_signoff.obj : warning LNK4006: "bool __cdecl isTypeOf(unsigned int,char const *)" (?isTypeOf@@$$FYA_NIPEBD@Z) 已在 bs_sap.obj 中定义;已忽略第二个定义 jd_signoff.obj : warning LNK4006: "bool __cdecl isTypeOf(unsigned int,char const *)" (?isTypeOf@@YA_NIPEBD@Z) 已在 bs_sap.obj 中定义;已忽略第二个定义 -LINK : warning LNK4103: 导入删除的析构函数“[thunk]:public: virtual void * __ptr64 __cdecl std::basic_stringstream,class std::allocator >::`vector deleting destructor'`vtordisp{4294967292,0}' (unsigned int) __ptr64”;映像可能不能正确运行 +MSVCRT.lib(default_local_stdio_options.obj) : warning LNK4006: __local_stdio_printf_options 已在 libassy_jt.lib(libassy_jt.dll) 中定义;已忽略第二个定义 正在创建库 C:\work\vs_workspace\jditk\x64\Release\\bs.lib 和对象 C:\work\vs_workspace\jditk\x64\Release\\bs.exp jd_signoff.obj : warning LNK4248: 无法解析 typeref 标记(01000016)(为“_jmethodID”);映像可能无法运行 jd_clear_field.obj : warning LNK4248: 无法解析 typeref 标记(01000017)(为“_jmethodID”);映像可能无法运行 diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.command.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.command.1.tlog index caffd32..71ed42e 100644 Binary files a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.command.1.tlog and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.command.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.read.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.read.1.tlog index 858ea63..9f6c39e 100644 Binary files a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.read.1.tlog and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.read.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.write.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.write.1.tlog index 1731762..d1eaaf0 100644 Binary files a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.write.1.tlog and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.write.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.command.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.command.1.tlog index f5b4ef0..f72c52c 100644 Binary files a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.command.1.tlog and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.command.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.read.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.read.1.tlog index 5fb96ba..0a1ccb1 100644 Binary files a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.read.1.tlog and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.read.1.tlog differ diff --git a/HEZON_ITK/x64/Release/vc140.pdb b/HEZON_ITK/x64/Release/vc140.pdb index 136c89f..4c98a22 100644 Binary files a/HEZON_ITK/x64/Release/vc140.pdb and b/HEZON_ITK/x64/Release/vc140.pdb differ diff --git a/x64/Release/HEZON_ITK.pdb b/x64/Release/HEZON_ITK.pdb index e62f2cf..55681ab 100644 Binary files a/x64/Release/HEZON_ITK.pdb and b/x64/Release/HEZON_ITK.pdb differ diff --git a/x64/Release/bs.exp b/x64/Release/bs.exp index abc5e7a..46176db 100644 Binary files a/x64/Release/bs.exp and b/x64/Release/bs.exp differ