static void ImportPosition(Args _args)
{
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
OMOperatingUnit OMOperatingUnit;
int row=1;
Name name;
FileName filename;
HcmPosition HcmPosition;
HcmPositionDetail HcmPositionDetail;
HcmPositionWorkerAssignment HcmPositionWorkerAssignment;
HcmPositionDuration HcmPositionDuration;
str job;
OMOperatingUnitNumber department;
;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
filename = "C:\\import\\HRPosition.xlsx";
ttsBegin;
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
do
{
row++;
HcmPosition.PositionId = cells.item(row, 1).value().bStr();
HcmPosition.insert();
department = cells.item(row, 2).value().bStr();
job = cells.item(row, 3).value().bStr();
select firstOnly OMOperatingUnit where OMOperatingUnit.OMOperatingUnitNumber == department;
if(OMOperatingUnit)
{
HcmPositionDetail.Department = OMOperatingUnit.RecId;
HcmPositionDetail.Job = HcmJob::findByJob(job).RecId;
HcmPositionDetail.Position = HcmPosition.RecId;
HcmPositionDetail.Title = HcmTitle::findByTitle(HcmJobDetail::findByJob(HcmPositionDetail.Job).Description).RecId;
HcmPositionDetail.Description = cells.item(row, 4).value().bStr();
HcmPositionDetail.ValidFrom = DateTimeUtil::newDateTime(cells.item(row, 5).value().date(),timeNow());
HcmPositionDetail.ValidTo = DateTimeUtil::maxValue();
HcmPositionDetail.insert();
HcmPositionWorkerAssignment.ValidFrom = DateTimeUtil::newDateTime(cells.item(row, 5).value().date(),timeNow());
HcmPositionWorkerAssignment.ValidTo = DateTimeUtil::maxValue();
HcmPositionWorkerAssignment.Position = HcmPosition.RecId;
HcmPositionWorkerAssignment.Worker = HcmWorker::findByPersonnelNumber(cells.item(row, 6).value().bStr()).RecId;
HcmPositionWorkerAssignment.insert();
HcmPositionDuration.Position = HcmPosition.RecId;
HcmPositionDuration.ValidFrom = HcmPositionWorkerAssignment.ValidFrom;
HcmPositionDuration.ValidTo = DateTimeUtil::maxValue();
HcmPositionDuration.insert();
type = cells.item(row+1, 1).value().variantType();
print row;
}
}
while (type != COMVariantType::VT_EMPTY);
application.quit();
ttsCommit;
}
{
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
OMOperatingUnit OMOperatingUnit;
int row=1;
Name name;
FileName filename;
HcmPosition HcmPosition;
HcmPositionDetail HcmPositionDetail;
HcmPositionWorkerAssignment HcmPositionWorkerAssignment;
HcmPositionDuration HcmPositionDuration;
str job;
OMOperatingUnitNumber department;
;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
filename = "C:\\import\\HRPosition.xlsx";
ttsBegin;
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
do
{
row++;
HcmPosition.PositionId = cells.item(row, 1).value().bStr();
HcmPosition.insert();
department = cells.item(row, 2).value().bStr();
job = cells.item(row, 3).value().bStr();
select firstOnly OMOperatingUnit where OMOperatingUnit.OMOperatingUnitNumber == department;
if(OMOperatingUnit)
{
HcmPositionDetail.Department = OMOperatingUnit.RecId;
HcmPositionDetail.Job = HcmJob::findByJob(job).RecId;
HcmPositionDetail.Position = HcmPosition.RecId;
HcmPositionDetail.Title = HcmTitle::findByTitle(HcmJobDetail::findByJob(HcmPositionDetail.Job).Description).RecId;
HcmPositionDetail.Description = cells.item(row, 4).value().bStr();
HcmPositionDetail.ValidFrom = DateTimeUtil::newDateTime(cells.item(row, 5).value().date(),timeNow());
HcmPositionDetail.ValidTo = DateTimeUtil::maxValue();
HcmPositionDetail.insert();
HcmPositionWorkerAssignment.ValidFrom = DateTimeUtil::newDateTime(cells.item(row, 5).value().date(),timeNow());
HcmPositionWorkerAssignment.ValidTo = DateTimeUtil::maxValue();
HcmPositionWorkerAssignment.Position = HcmPosition.RecId;
HcmPositionWorkerAssignment.Worker = HcmWorker::findByPersonnelNumber(cells.item(row, 6).value().bStr()).RecId;
HcmPositionWorkerAssignment.insert();
HcmPositionDuration.Position = HcmPosition.RecId;
HcmPositionDuration.ValidFrom = HcmPositionWorkerAssignment.ValidFrom;
HcmPositionDuration.ValidTo = DateTimeUtil::maxValue();
HcmPositionDuration.insert();
type = cells.item(row+1, 1).value().variantType();
print row;
}
}
while (type != COMVariantType::VT_EMPTY);
application.quit();
ttsCommit;
}
1 comment:
This is a good article & good site.Thank you for sharing this article. It is help us following categorize:
it consulting, retail, manufacturing, CRM, digital supply chain management, Delivering high-quality service for your business applications,
Solutions for all Industries,
Getting your applications talking is the key to better business processes,
Rapid web services solutions for real business problems,
Understanding Your Data is the Key to Good Decision-Making,
Web-based Corporate Document Management System,
Outsourcing Solution,
Financial and Operations Business Intelligence Solution,
Post a Comment