CDealTime CDealTime::GetCurrentTime() { struct tm *tmNow; __time64_t longTime; _time64(&longTime); tmNow = LOCALTIME_R(&longTime); return CDealTime(longTime); }
CDealTime CDealTime::operator +(CDealTime time) { return CDealTime(m_time + time.m_time); }
CDealTime CDealTime::operator -(CDealTime time) { return CDealTime(m_time - time.m_time); }
// �����µļ�¼�������ų̼ƻ����� YK_BOOL InsertWorkSchPlanItem(AMWorkSPtr workID, AMResourceSPtr resourceID, YK_ID srcSelectorID, YK_INT workType, YK_TM startTime, YK_TM endTime, YK_DOUBLE srcUsedQuantity,YK_INT modifiedType,YK_ID lockWorkId) { #ifdef WORKSEQUENCEOUTPUT YK_ID resId = resourceID.GetID(); YK_ID workId = workID.GetID(); char buf[1024]; sprintf_s(buf,"workId:%d resourceID:%d workType:%d startTime: %S endTime: %S ", workId, resId, workType, TOOLS::FormatTime(CDealTime(startTime)).c_str() ,TOOLS::FormatTime(CDealTime(endTime)).c_str()); TimeLog::WriteLog(buf); #endif if(startTime == endTime || startTime<=0 || endTime<=0 || startTime == LLONG_MAX || endTime == LLONG_MAX) return false; CLOCK_MARK_BEGIN(T_InsertWorkSchPlanItem); //�ı�־���� switch(g_Application.GetModule<SBHModel>()->GetCurSchMethod()) { case SM_OVERTIME: //�Ӱ� modifiedType = -3; break; case SM_VIRTUAL: //���� modifiedType = -1; break; case SM_FORCE: //ǿ�� modifiedType = -2; break; default: break; } YK_BOOL response = false; YKWorkSchPlanSPtr pNewWorkPlanItem = g_Application.Get<YKMapWorkSchPlan>()->CreateObj(); if(pNewWorkPlanItem.ValidObj()) { if (workID.ValidObj()) pNewWorkPlanItem->SetWork(workID.GetValue()); else pNewWorkPlanItem->SetWork(YK_NULL); if (resourceID.ValidObj()) pNewWorkPlanItem->SetResource(resourceID.GetValue()); else pNewWorkPlanItem->SetResource(YK_NULL); pNewWorkPlanItem->SetResSelector(srcSelectorID); pNewWorkPlanItem->SetType(workType); pNewWorkPlanItem->SetStartTime(startTime); pNewWorkPlanItem->SetEndTime(endTime); pNewWorkPlanItem->SetResCapacity(srcUsedQuantity); pNewWorkPlanItem->SetNxtWorkId(lockWorkId); //���ų̼ƻ���Ϣ����work�������ָ���� if (workID.ValidObj()) workID.SetSchPlanList(pNewWorkPlanItem); response = true; } CLOCK_MARK(T_InsertWorkSchPlanItem); return response; }