You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.7 KiB

#include <epm\epm.h>
#include <tccore\grm.h>
#include <tccore\grmtype.h>
#include <tccore\aom_prop.h>
#include <ae\dataset.h>
#include <tccore\aom.h>
#include <fclasses\tc_date.h>
#include <epm\signoff.h>
#include <tccore\item.h>
#include <tccore\item.h>
#include <sa\user.h>
#include <string>
#include <vector>
#include <map>
#include <time.h>
#include <bom/bom.h>
#include <tc\folder.h>
#include <curl\curl.h>
#include "ocilib.h"
#include "connor_itk_util.h"
#include "epm_handler_common.h"
using namespace std;
#define EPM_HANDLER_COMMON
#define MAX_PATH_LENGTH 200
#define MAX_PRINTLINE_LENGTH 400000
int RB_BOM_TO_ERP(EPM_action_message_t msg) {
tag_t task_tag = NULL_TAG,
root_task_tag = NULLTAG,
*attachments;;
task_tag = msg.task;
int att_cnt = 0, ifail = 0;
int c_sql_value_count = 0;
char** c_sql_values;
ITKCALL(PREF_ask_char_values("RB3_SQL_Connect2", &c_sql_value_count, &c_sql_values));
if (c_sql_value_count != 3)
{
WriteLog("首选项 RB3_SQL_Connect2 配置错误 数量%d ", c_sql_value_count);
CloseLog();
return 1;
}
printf("------------------------------------------------------------------------------------");
printf("=========================");
printf("RB_BOM_TO_ERP start");
printf("=========================");
EPM_ask_root_task(task_tag, &root_task_tag);
EPM_ask_attachments(root_task_tag, EPM_target_attachment, &att_cnt, &attachments);
printf("流程目标下的对象数量:%d", att_cnt);
char* tempValue = NULL;
char taskpuid[56] = "\0";
ITK__convert_tag_to_uid(task_tag, &tempValue);
tc_strcpy(taskpuid, tempValue);
time_t curtime1;
time(&curtime1);
tm* nowtime1 = localtime(&curtime1);
string dealBeginTime;
dealBeginTime.append(std::to_string(1900 + nowtime1->tm_year)).append("-").append(std::to_string(1 + nowtime1->tm_mon)).append("-").append(std::to_string(nowtime1->tm_mday)).append(" ").append(std::to_string(nowtime1->tm_hour)).append(":").append(std::to_string(nowtime1->tm_min)).append(":").append(std::to_string(nowtime1->tm_sec));
if (ConnServer(c_sql_values[1], c_sql_values[2], c_sql_values[0]))//"tc11","infodba","//172.16.50.40/tc11" "TC12","infodba","172.16.68.13/tc1"
{
printf("提示:中间数据表访问失败\n");
return ifail;
}
else {
printf("提示:中间数据表访问成功\n");
char sql1[1024] = "\0";
sprintf(sql1, "insert into RB_BOM_TO_ERP(flowid,status,starttime) values ('%s','%s',TO_DATE('%s', 'YYYY-MM-DD HH24:MI:SS'))", taskpuid, "0",dealBeginTime.c_str());
printf("提示:sql1==%s\n", sql1);
if (ExecuteSQLNoInputParam(sql1) == -1)
{
printf("提示:数据插入 失败, %s \n", sql1);
ifail = 1;
}
else {
ExecuteSQLNoInputParam("commit");
}
}
DOFREE(attachments);
printf("=========================");
printf("RB_BOM_TO_ERP end");
printf("=========================");
return ifail;
}