20251117 erpBOM传递修改

main
李建辉 4 weeks ago
parent cd854ff9b3
commit 77ee83672a

@ -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<string
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[20000] = "\0";
char factoryCodeStr[20000] = "\0";
@ -322,6 +349,9 @@ void getBomLinePropertyNewRule(tag_t topLine, char** c_sql_values, vector<string
for (int i = 0; i < factoryCount; i++)
{
if (factoryMap.find(fu_scgc[i]) == factoryMap.end()) {
char* factoryCode = NULL;
char* factoryName = NULL;
int factoryColumn = 0, factoryValueCount = 0;
@ -332,7 +362,7 @@ void getBomLinePropertyNewRule(tag_t topLine, char** c_sql_values, vector<string
}
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]);
}
WriteLog("Ìáʾ:factorySql==%s\n", factorySql);

@ -143,6 +143,7 @@ void getItemClassRuleRelease(char** c_sql_values, char* itemType, tag_t ico_tag,
DOFREE(new_classId);
}
}
if (field1 != NULL) {
if (field1 != NULL && field2 != NULL) {
sprintf(sql, "select PCLASSCODE,PCLASSNAME,NEW_COLUMN,PUNIT from PLM_ERP_CLASS_TABLE where PFIELD01= '%s' and PFIELD02= '%s'", field1, field2);
@ -169,6 +170,19 @@ void getItemClassRuleRelease(char** c_sql_values, char* itemType, tag_t ico_tag,
|| 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,10 +198,16 @@ void getItemClassRuleRelease(char** c_sql_values, char* itemType, tag_t ico_tag,
DOFREE(value);
}
}
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);
if (field1 != NULL) {
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) {
@ -272,6 +292,7 @@ void getBomLinePropertyNewRuleRelease(tag_t topLine, char** c_sql_values, vector
BOM_line_ask_all_child_lines(topLine, &count, &children_line);
if (count > 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)) {

@ -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);

@ -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]);
}

@ -37,6 +37,7 @@
#include<io.h>
#include "ocilib.h"
#include "connor_itk_util.h"
#include <lov/lov.h>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")
#pragma comment(lib, "WinInet.lib")

Loading…
Cancel
Save