public static int CreateSteps(int taskId)
    {
        bool      existsSteps = false;
        DataTable dtOri       = DBHelper.GetDataTable(" select * from maintain_task_detail where task_id = " + taskId.ToString());

        if (dtOri.Rows.Count > 0)
        {
            existsSteps = true;
        }
        dtOri.Dispose();
        if (existsSteps)
        {
            return(0);
        }
        EquipMaintainTask task             = new EquipMaintainTask(taskId);
        DataTable         dtTemplateDetail = DBHelper.GetDataTable(" select * from maintain_template_detail where template_id = "
                                                                   + task._fields["template_id"].ToString().Trim() + " order by sort, [id]");
        int i = 1;

        foreach (DataRow drTemplateDetail in dtTemplateDetail.Rows)
        {
            try
            {
                DBHelper.InsertData("maintain_task_detail", new string[, ] {
                    { "task_id", "int", taskId.ToString() }, { "sort", "int", (i * 10).ToString() },
                    { "name", "varchar", drTemplateDetail["name"].ToString() }, { "memo", "varchar", drTemplateDetail["memo"].ToString() },
                    { "template_detail_id", "int", drTemplateDetail["id"].ToString().Trim() }
                });
            }
            catch (Exception err)
            {
                System.Diagnostics.Debug.WriteLine(err.ToString());
            }
            i++;
        }
        return(i);
    }
    public bool SetStatus(string status, string opneId)
    {
        if (Status.Trim().Equals(status))
        {
            return(false);
        }
        bool ret = true;

        switch (status.Trim())
        {
        case "已开始":
            if (MaintainTask.Status.Trim().Equals("进行中") || MaintainTask.Status.Trim().Equals("待交付"))
            {
                ret = false;
            }
            if (Last._fields != null && !(Last.Status.Trim().Equals("已完成") || Last.Status.Trim().Equals("强行中止")))
            {
                ret = false;
            }
            break;

        case "强行中止":
            if (!Status.Trim().Equals("已开始"))
            {
                ret = false;
            }
            break;

        case "已完成":
            if (!Status.Trim().Equals("强行中止") && !Status.Equals("已开始"))
            {
                ret = false;
            }
            break;

        default:
            ret = false;
            break;
        }
        if (ret)
        {
            string[,] updateStrArr = new string[, ] {
                { "status", "varchar", status.Trim() }, { "oper_open_id", "varchar", opneId.Trim() }
            };
            if (status.Trim().Equals("已开始"))
            {
                updateStrArr = new string[, ] {
                    { "status", "varchar", status.Trim() },
                    { "oper_open_id", "varchar", opneId.Trim() }, { "start_date_time", "datetime", DateTime.Now.ToString() }
                };
            }
            if (status.Trim().Equals("已完成"))
            {
                updateStrArr = new string[, ] {
                    { "status", "varchar", status.Trim() },
                    { "oper_open_id", "varchar", opneId.Trim() }, { "end_date_time", "datetime", DateTime.Now.ToString() }
                };
            }
            DBHelper.UpdateData("maintain_task_detail", updateStrArr,
                                new string[, ] {
                { "id", "int", ID.ToString() }
            }, Util.conStr);
            DBHelper.InsertData("maintain_task_log", new string[, ] {
                { "task_id", "int", MaintainTask._fields["id"].ToString() },
                { "detail_id", "int", ID.ToString() }, { "oper_open_id", "varchar", opneId.Trim() }, { "oper", "varchar", status.Trim() }
            });
            try
            {
                if (status.Trim().Equals("已开始"))
                {
                    EquipMaintainTask.CreateSubSteps(ID);
                }
            }
            catch
            {
            }
        }

        return(ret);
    }