Newer
Older
AutomaticVerification / softwareDirectory / AutoVerScheme / TaskManager.cpp
李现川 on 24 Mar 2024 1 KB no commit message
#include "testdataitem.h"
#include "id/TaskManager.h"
#include "basecommonapi.h"

// 定义并初始化静态成员变量
QMap<QString, int> TaskManager::dailyTaskCounts;
QDate TaskManager::currentDate;
QString TaskManager::KeyDate;

QString TaskManager::generateTask(QString Number)
{
    // 初始化当天任务单数量为0
    QString TaskNum=Number;
    currentDate = QDate::currentDate();
    KeyDate = currentDate.toString("yyyyMMdd");
    if(!dailyTaskCounts.contains(KeyDate))
    {

        int startIndex = TaskNum.indexOf("d")+1; // 找到 "YYYY" 的起始位置
        int endIndex = startIndex + 8; // "YYYYMMDD" 总共8个字符
        QString result = TaskNum.mid(startIndex, 8); // 从 startIndex 开始,截取8个字符
        if(result!=KeyDate){
             dailyTaskCounts[KeyDate] = 1;
        }else
        {
        QChar lastChar = TaskNum.at(TaskNum.length() - 1);

        if (lastChar.isDigit()) {

            int Count=lastChar.digitValue();
            dailyTaskCounts[KeyDate] = Count+1;
                }

        }

    }
    QString dateStr = KeyDate;
    // 生成任务单编号,这里假设编号格式是 "rwdYYYYMMDDXXXX",XXXX是顺序号  字段4  10进制 不足时0填充
    QString taskId = QString("rwd%1%2").arg(dateStr).arg(dailyTaskCounts[KeyDate], 4, 10, QChar('0'));

    return taskId;
}
int TaskManager::getTaskCountForToday()
{
    // 返回当天的任务单数量
    return dailyTaskCounts.value(KeyDate, 0);
}
bool TaskManager::AddCurrenTaskCount()
{
    // 增加当天任务单数量
    try {

        dailyTaskCounts[KeyDate]++;
      return  true;
    } catch(const std::exception &e) {
        return  false;
    }

}