diff --git a/CONNOR_ITK/RB_SendErpBom_Rule.cxx b/CONNOR_ITK/RB_SendErpBom_Rule.cxx index ef47976..98745f1 100644 --- a/CONNOR_ITK/RB_SendErpBom_Rule.cxx +++ b/CONNOR_ITK/RB_SendErpBom_Rule.cxx @@ -168,6 +168,19 @@ void getItemClassRule(char** c_sql_values, char* itemType, tag_t ico_tag, tag_t || strcmp("RB3_XJRevision", itemType) == 0 || strcmp("RB3_WJTLRevision", itemType) == 0) { ITKCALL(AOM_UIF_ask_value(zi_rev, "rb3_bjlx", &field1)); + + //20251117 + if (strcmp("RB3_YCLRevision", itemType) == 0 && ico_tag != NULLTAG) { + char* value = NULL; + ICS_ask_attribute_value(ico_tag, "材料形状", &value); + if (value != NULL) { + int id = attrMap["材料形状"]; + getClassValue(value, id, &field2); + DOFREE(value); + } + } + + } else if (strcmp("RB3_XZCPRevision", itemType) == 0) { @@ -184,9 +197,13 @@ void getItemClassRule(char** c_sql_values, char* itemType, tag_t ico_tag, tag_t } } if (field1 != NULL) { - sprintf(sql, "select PCLASSCODE,PCLASSNAME,NEW_COLUMN,PUNIT from PLM_ERP_CLASS_TABLE where PTYPE= '%s' and PFIELD01= '%s'", itemType, field1); - - //sprintf(sql, "select PCLASSCODE,PCLASSNAME,NEW_COLUMN,PUNIT from PLM_ERP_CLASS_TABLE where PFIELD01= '%s'", field1); + WriteLog("1field1=== %s \n", field1); + if (field2 != NULL) { + sprintf(sql, "select PCLASSCODE,PCLASSNAME,NEW_COLUMN,PUNIT from PLM_ERP_CLASS_TABLE where PTYPE= '%s' and PFIELD01= '%s' and PFIELD02= '%s'", itemType, field1, field2); + } + else { + sprintf(sql, "select PCLASSCODE,PCLASSNAME,NEW_COLUMN,PUNIT from PLM_ERP_CLASS_TABLE where PTYPE= '%s' and PFIELD01= '%s'", itemType, field1); + } } } if (strcmp("", sql) != 0) { @@ -296,20 +313,30 @@ void getBomLinePropertyNewRule(tag_t topLine, char** c_sql_values, vector 0) { + char* fu_item_id = NULL; char* fu_smzqzt = NULL; char* fu_item_revision_id = NULL; @@ -298,20 +319,26 @@ void getBomLinePropertyNewRuleRelease(tag_t topLine, char** c_sql_values, vector if (strcmp("RB3_XZCPRevision", itemType) == 0 || strcmp("RB3_XZLBJRevision", itemType) == 0) { - ITKCALL(AOM_UIF_ask_values(fu_rev, "rb3_xzscgc", &factoryCount, &fu_scgc)); + ITKCALL(AOM_ask_value_strings(fu_rev, "rb3_xzscgc", &factoryCount, &fu_scgc)); + } else if (strcmp("RB3_GNZCRevision", itemType) == 0 || strcmp("RB3_GNLBJRevision", itemType) == 0 || strcmp("RB3_GYZYRevision", itemType) == 0 || strcmp("RB3_BZJRevision", itemType) == 0) { - ITKCALL(AOM_UIF_ask_values(fu_rev, "rb3_scgc", &factoryCount, &fu_scgc)); + ITKCALL(AOM_ask_value_strings(fu_rev, "rb3_scgc", &factoryCount, &fu_scgc)); + } else if (strcmp("RB3_YCLRevision", itemType) == 0 || strcmp("RB3_XJRevision", itemType) == 0 || strcmp("RB3_WJTLRevision", itemType) == 0 || strcmp("RB3_SLRevision", itemType) == 0) { - ITKCALL(AOM_UIF_ask_values(fu_rev, "rb3_sygc1", &factoryCount, &fu_scgc)); + ITKCALL(AOM_ask_value_strings(fu_rev, "rb3_sygc1", &factoryCount, &fu_scgc)); + } else { - ITKCALL(AOM_UIF_ask_values(fu_rev, "rb3_scgc1", &factoryCount, &fu_scgc)); + ITKCALL(AOM_ask_value_strings(fu_rev, "rb3_scgc1", &factoryCount, &fu_scgc)); + } ITKCALL(AOM_ask_value_string(fu_rev, "object_type", &fu_object_type)); + + WriteLog("111\n"); char facttoryNameStr[10000] = "\0"; char factoryCodeStr[10000] = "\0"; @@ -324,6 +351,11 @@ void getBomLinePropertyNewRuleRelease(tag_t topLine, char** c_sql_values, vector for (int i = 0; i < factoryCount; i++) { if (factoryMap.find(fu_scgc[i]) == factoryMap.end()) { + + + WriteLog("提示:fu_scgc[i]==%s\n", fu_scgc[i]); + + char* factoryCode = NULL; char* factoryName = NULL; int factoryColumn = 0, factoryValueCount = 0; @@ -336,7 +368,7 @@ void getBomLinePropertyNewRuleRelease(tag_t topLine, char** c_sql_values, vector } else { - sprintf(factorySql, "select PFACTORYCODE,PFACTORYNAME from PLM_ERP_FACTORY_TABLE where PFACTORY= '%s'", fu_scgc[i]); + sprintf(factorySql, "select PFACTORYCODE,PFACTORYNAME from PLM_ERP_FACTORY_TABLE where PFACTORYEN= '%s'", fu_scgc[i]); } if (!OCI_Initialize(nullptr, nullptr, OCI_ENV_DEFAULT)) { diff --git a/CONNOR_ITK/RB_SendErpItem_New_Rule.cxx b/CONNOR_ITK/RB_SendErpItem_New_Rule.cxx index 43c856a..39abfa9 100644 --- a/CONNOR_ITK/RB_SendErpItem_New_Rule.cxx +++ b/CONNOR_ITK/RB_SendErpItem_New_Rule.cxx @@ -473,17 +473,17 @@ int RB_SendErpItem_New_Rule(EPM_rule_message_t msg) char** factorys = NULL; int factoryCount = 0; if (strcmp("RB3_XZCPRevision", itemType) == 0 || strcmp("RB3_XZLBJRevision", itemType) == 0) { - ITKCALL(AOM_UIF_ask_values(attachments[i], "rb3_xzscgc", &factoryCount, &factorys)); + ITKCALL(AOM_ask_value_strings(attachments[i], "rb3_xzscgc", &factoryCount, &factorys)); } else if (strcmp("RB3_GNZCRevision", itemType) == 0 || strcmp("RB3_GNLBJRevision", itemType) == 0 || strcmp("RB3_GYZYRevision", itemType) == 0 || strcmp("RB3_BZJRevision", itemType) == 0) { - ITKCALL(AOM_UIF_ask_values(attachments[i], "rb3_scgc", &factoryCount, &factorys)); + ITKCALL(AOM_ask_value_strings(attachments[i], "rb3_scgc", &factoryCount, &factorys)); } else if (strcmp("RB3_YCLRevision", itemType) == 0 || strcmp("RB3_XJRevision", itemType) == 0 || strcmp("RB3_WJTLRevision", itemType) == 0 || strcmp("RB3_SLRevision", itemType) == 0) { - ITKCALL(AOM_UIF_ask_values(attachments[i], "rb3_sygc1", &factoryCount, &factorys)); + ITKCALL(AOM_ask_value_strings(attachments[i], "rb3_sygc1", &factoryCount, &factorys)); } else { - ITKCALL(AOM_UIF_ask_values(attachments[i], "rb3_scgc1", &factoryCount, &factorys)); + ITKCALL(AOM_ask_value_strings(attachments[i], "rb3_scgc1", &factoryCount, &factorys)); } WriteLog("factoryCount=%d\n", factoryCount); for (int j = 0; j < factoryCount; j++) @@ -497,7 +497,7 @@ int RB_SendErpItem_New_Rule(EPM_rule_message_t msg) } else { - sprintf(factorySql, "select PFACTORYCODE from PLM_ERP_FACTORY_TABLE where PFACTORY= '%s'", factorys[j]); + sprintf(factorySql, "select PFACTORYCODE from PLM_ERP_FACTORY_TABLE where PFACTORYEN= '%s'", factorys[j]); } WriteLog("提示:factorySql==%s\n", factorySql); diff --git a/CONNOR_ITK/RB_SendErpItem_New_Rule_Release.cxx b/CONNOR_ITK/RB_SendErpItem_New_Rule_Release.cxx index 010b18c..cd775fe 100644 --- a/CONNOR_ITK/RB_SendErpItem_New_Rule_Release.cxx +++ b/CONNOR_ITK/RB_SendErpItem_New_Rule_Release.cxx @@ -484,17 +484,17 @@ int RB_SendErpItem_New_Rule_Release(EPM_rule_message_t msg) char** factorys = NULL; int factoryCount = 0; if (strcmp("RB3_XZCPRevision", itemType) == 0 || strcmp("RB3_XZLBJRevision", itemType) == 0) { - ITKCALL(AOM_UIF_ask_values(attachments[i], "rb3_xzscgc", &factoryCount, &factorys)); + ITKCALL(AOM_ask_value_strings(attachments[i], "rb3_xzscgc", &factoryCount, &factorys)); } else if (strcmp("RB3_GNZCRevision", itemType) == 0 || strcmp("RB3_GNLBJRevision", itemType) == 0 || strcmp("RB3_GYZYRevision", itemType) == 0 || strcmp("RB3_BZJRevision", itemType) == 0) { - ITKCALL(AOM_UIF_ask_values(attachments[i], "rb3_scgc", &factoryCount, &factorys)); + ITKCALL(AOM_ask_value_strings(attachments[i], "rb3_scgc", &factoryCount, &factorys)); } else if (strcmp("RB3_YCLRevision", itemType) == 0 || strcmp("RB3_XJRevision", itemType) == 0 || strcmp("RB3_WJTLRevision", itemType) == 0 || strcmp("RB3_SLRevision", itemType) == 0) { - ITKCALL(AOM_UIF_ask_values(attachments[i], "rb3_sygc1", &factoryCount, &factorys)); + ITKCALL(AOM_ask_value_strings(attachments[i], "rb3_sygc1", &factoryCount, &factorys)); } else { - ITKCALL(AOM_UIF_ask_values(attachments[i], "rb3_scgc1", &factoryCount, &factorys)); + ITKCALL(AOM_ask_value_strings(attachments[i], "rb3_scgc1", &factoryCount, &factorys)); } WriteLog("factoryCount=%d\n", factoryCount); for (int j = 0; j < factoryCount; j++) @@ -508,7 +508,7 @@ int RB_SendErpItem_New_Rule_Release(EPM_rule_message_t msg) } else { - sprintf(factorySql, "select PFACTORYCODE from PLM_ERP_FACTORY_TABLE where PFACTORY= '%s'", factorys[j]); + sprintf(factorySql, "select PFACTORYCODE from PLM_ERP_FACTORY_TABLE where PFACTORYEN= '%s'", factorys[j]); } diff --git a/CONNOR_ITK/epm_handler_common.h b/CONNOR_ITK/epm_handler_common.h index 7dc8c40..2051aa6 100644 --- a/CONNOR_ITK/epm_handler_common.h +++ b/CONNOR_ITK/epm_handler_common.h @@ -37,6 +37,7 @@ #include #include "ocilib.h" #include "connor_itk_util.h" +#include #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF") #pragma comment(lib, "WinInet.lib")