/// <summary>
    /// 获得委托书信息
    /// </summary>
    /// <returns>Json</returns>
    protected string GetContractInfo()
    {
        if (this.PLAN_ID.Value.Length == 0)
        {
            return("");
        }
        TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(this.PLAN_ID.Value);
        TMisMonitorTaskVo  objTask = new TMisMonitorTaskVo();

        objTask.PLAN_ID = this.PLAN_ID.Value;
        objTask         = new TMisMonitorTaskLogic().Details(objTask);
        //如果是验收监测
        if (objTask.CONTRACT_TYPE == "05")
        {
            //获取方案编制人信息
            string strProjectId = objTask.PROJECT_ID;
            //将方案编制人信息写入监测子任务表中
            TMisMonitorSubtaskVo TMisMonitorSubtaskVo = new TMisMonitorSubtaskVo();
            TMisMonitorSubtaskVo.TASK_ID = objTask.ID;
            DataTable objTable = new TMisMonitorSubtaskLogic().SelectByTable(TMisMonitorSubtaskVo);
            foreach (DataRow row in objTable.Rows)
            {
                string strSubTaskId = row["ID"].ToString();
                TMisMonitorSubtaskVo TMisMonitorSubtaskVoTemp = new TMisMonitorSubtaskVo();
                TMisMonitorSubtaskVoTemp.ID = strSubTaskId;
                TMisMonitorSubtaskVoTemp.SAMPLING_MANAGER_ID = strProjectId;
                new TMisMonitorSubtaskLogic().Edit(TMisMonitorSubtaskVoTemp);
            }
        }
        objTask.TESTED_COMPANY_ID = new TMisMonitorTaskCompanyLogic().Details(objTask.TESTED_COMPANY_ID).COMPANY_NAME;
        objTask.CONTRACT_TYPE     = new TSysDictLogic().GetDictNameByDictCodeAndType(objTask.CONTRACT_TYPE, "Contract_Type");


        return(ToJson(objTask));
    }
    /// <summary>
    /// 发送到下一环节
    /// </summary>
    /// <param name="strTaskId">任务ID</param>
    /// <returns></returns>
    public string SendToNext(string strSampleAskDate, string strSampleFinishDate)
    {
        bool IsSuccess            = true;
        TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();

        objTask.PLAN_ID = this.PLAN_ID.Value;
        objTask         = new TMisMonitorTaskLogic().Details(objTask);

        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();

        objSubTask.TASK_ID = objTask.ID;

        DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            objSubTask.ID                 = dt.Rows[i]["ID"].ToString();
            objSubTask.TASK_STATUS        = "02";
            objSubTask.SAMPLE_ASK_DATE    = strSampleAskDate;
            objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
            if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
            {
                IsSuccess = false;
            }

            TMisMonitorSubtaskAppVo objSubApp = new TMisMonitorSubtaskAppVo();


            DataTable dtApp = new TMisMonitorSubtaskAppLogic().SelectByTable(new TMisMonitorSubtaskAppVo {
                SUBTASK_ID = dt.Rows[i]["ID"].ToString()
            });
            if (dtApp.Rows.Count > 0)
            {
                objSubApp.ID             = dtApp.Rows[0]["ID"].ToString();
                objSubApp.SUBTASK_ID     = dt.Rows[i]["ID"].ToString();
                objSubApp.QC_APP_USER_ID = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.QC_APP_DATE    = DateTime.Now.ToString();
                new TMisMonitorSubtaskAppLogic().Edit(objSubApp);
            }
            else
            {
                objSubApp.ID             = GetSerialNumber("TMisMonitorSubtaskAppID");
                objSubApp.SUBTASK_ID     = dt.Rows[i]["ID"].ToString();
                objSubApp.QC_APP_USER_ID = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.QC_APP_DATE    = DateTime.Now.ToString();

                new TMisMonitorSubtaskAppLogic().Create(objSubApp);
            }
        }

        if (IsSuccess)
        {
            TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(this.PLAN_ID.Value);
            objPlan.HAS_DONE = "1";
            new TMisContractPlanLogic().Edit(objPlan);
        }

        return(IsSuccess == true ? "1" : "0");
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //定义结果
            string strResult = "";
            if (Request.QueryString["WorkID"] != null)
            {
                var FID = Convert.ToInt64(Request.QueryString["FID"]); //获取主流程ID

                TMisContractPlanVo objPlanVo = new TMisContractPlanVo();
                objPlanVo.CCFLOW_ID1 = FID.ToString();
                objPlanVo            = new TMisContractPlanLogic().Details(objPlanVo);

                if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                {
                    //当前流程属于送样的
                    this.TASK_ID.Value = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    this.SUBTASK_ID.Value = "";
                }
                else
                {
                    //当前流程属于采样的
                    var workID = Convert.ToInt64(Request.QueryString["WorkID"]);  //获取子流程ID

                    var identification = CCFlowFacade.GetFlowIdentification(LogInfo.UserInfo.USER_NAME, workID).Split('|')[0];

                    this.SUBTASK_ID.Value = identification;
                    this.TASK_ID.Value    = "";
                }
            }
            //任务信息
            if (Request["type"] != null && Request["type"].ToString() == "getOneGridInfo")
            {
                strResult = getOneGridInfo(Request["strTaskID"].ToString(), Request["strSubTaskID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            //监测项目类别
            if (Request["type"] != null && Request["type"].ToString() == "getTwoGridInfo")
            {
                strResult = getTwoGridInfo(Request["oneGridId"].ToString(), Request["strSubTaskID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            //监测项目信息
            if (Request["type"] != null && Request["type"].ToString() == "getThreeGridInfo")
            {
                strResult = getThreeGridInfo(Request["twoGridId"].ToString(), Request["TaskID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
        }
    }
예제 #4
0
 private void GetEnvNoise_YearAndMonth(string strTaskId, ref string strYear, ref string strMonth)
 {
     if (strTaskId.Length > 0 && strYear.Length == 0 & strMonth.Length == 0)
     {
         string strPlanId = new TMisMonitorTaskLogic().Details(strTaskId).PLAN_ID.Trim();
         //获取计划信息
         TMisContractPlanVo TMisContractPlanVo = new TMisContractPlanLogic().Details(strPlanId);
         strYear  = TMisContractPlanVo.PLAN_YEAR;
         strMonth = TMisContractPlanVo.PLAN_MONTH;
     }
 }
예제 #5
0
    /// <summary>
    /// 获取指定委托书和监测计划的任务信息  胡方扬 2013-04-24
    /// </summary>
    /// <returns></returns>
    private DataTable GetPendingPlanDataTable()
    {
        DataTable dt = new DataTable();

        if (!String.IsNullOrEmpty(strPlanId))
        {
            TMisContractPlanVo objItems = new TMisContractPlanVo();
            objItems.ID = strPlanId;
            dt          = new TMisContractPlanLogic().SelectByTableContractPlanForPending(objItems);
        }
        return(dt);
    }
예제 #6
0
    public static string btnBackClick(string strSubtaskID, string strSuggestion)
    {
        //TMisMonitorSubtaskVo TMisMonitorSubtaskVo = new TMisMonitorSubtaskVo();
        //TMisMonitorSubtaskVo.ID = strSubtaskID;
        //TMisMonitorSubtaskVo.TASK_STATUS = "04";
        //TMisMonitorSubtaskVo.TASK_TYPE = "退回";
        //bool isSuccess = new TMisMonitorSubtaskLogic().Edit(TMisMonitorSubtaskVo);
        //return isSuccess == true ? "1" : "0";

        bool isSuccess = true;
        TMisMonitorSubtaskVo objSubTaskVo = new TMisMonitorSubtaskLogic().Details(strSubtaskID);

        objSubTaskVo.TASK_STATUS = "01";
        objSubTaskVo.TASK_TYPE   = "退回";
        new TMisMonitorSubtaskLogic().Edit(objSubTaskVo);

        TMisMonitorTaskVo objTaskVo = new TMisMonitorTaskLogic().Details(objSubTaskVo.TASK_ID);

        objTaskVo.QC_STATUS = "2";
        new TMisMonitorTaskLogic().Edit(objTaskVo);

        TMisContractPlanVo objContractPlanVo = new TMisContractPlanLogic().Details(objTaskVo.PLAN_ID);

        objContractPlanVo.HAS_DONE = "0";
        new TMisContractPlanLogic().Edit(objContractPlanVo);

        TMisReturnInfoVo objReturnInfoVo = new TMisReturnInfoVo();

        objReturnInfoVo.TASK_ID        = objSubTaskVo.TASK_ID;
        objReturnInfoVo.SUBTASK_ID     = objSubTaskVo.ID;
        objReturnInfoVo.CURRENT_STATUS = SerialType.Monitor_002;
        objReturnInfoVo.BACKTO_STATUS  = SerialType.Monitor_001;
        TMisReturnInfoVo obj = new TMisReturnInfoLogic().Details(objReturnInfoVo);

        if (obj.ID.Length > 0)
        {
            objReturnInfoVo.ID         = obj.ID;
            objReturnInfoVo.SUGGESTION = strSuggestion;
            isSuccess = new TMisReturnInfoLogic().Edit(objReturnInfoVo);
        }
        else
        {
            objReturnInfoVo.ID         = GetSerialNumber("t_mis_return_id");
            objReturnInfoVo.SUGGESTION = strSuggestion;
            isSuccess = new TMisReturnInfoLogic().Create(objReturnInfoVo);
        }
        return(isSuccess == true ? "1" : "0");
    }
    /// <summary>
    /// 获得委托书信息
    /// </summary>
    /// <returns>Json</returns>
    protected string GetContractInfo()
    {
        if (this.PLAN_ID.Value.Length == 0)
        {
            return("");
        }
        TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(this.PLAN_ID.Value);
        TMisMonitorTaskVo  objTask = new TMisMonitorTaskVo();

        objTask.PLAN_ID           = this.PLAN_ID.Value;
        objTask                   = new TMisMonitorTaskLogic().Details(objTask);
        objTask.TESTED_COMPANY_ID = new TMisMonitorTaskCompanyLogic().Details(objTask.TESTED_COMPANY_ID).COMPANY_NAME;
        objTask.CONTRACT_TYPE     = new TSysDictLogic().GetDictNameByDictCodeAndType(objTask.CONTRACT_TYPE, "Contract_Type");

        return(ToJson(objTask));
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        //获取子任务ID
        if (Request["strSubtaskID"] != null)
        {
            this.hiddenSubTaskId.Value = Request["strSubtaskID"].ToString();

            //功能区噪声:functionnoise
            this.hiddenMonitorType.Value = new TMisMonitorSubtaskLogic().Details(this.hiddenSubTaskId.Value).MONITOR_ID.ToLower();

            string strTaskId = new TMisMonitorSubtaskLogic().Details(this.hiddenSubTaskId.Value).TASK_ID.Trim();
            string strPlanId = new TMisMonitorTaskLogic().Details(strTaskId).PLAN_ID.Trim();

            //获取计划信息
            TMisContractPlanVo TMisContractPlanVo = new TMisContractPlanLogic().Details(strPlanId);
            this.hiddenYear.Value  = TMisContractPlanVo.PLAN_YEAR;
            this.hiddenMonth.Value = TMisContractPlanVo.PLAN_MONTH;
        }
    }
    public static string btnSendClick(string strPlanID, string strSampleAskDate, string strSampleFinishDate, string strTicketNum, string strQCStatus, string strALLQCSTATUS)
    {
        //huangjinjun 20140509
        if (strALLQCSTATUS == "是")
        {
            strALLQCSTATUS = "1";
        }
        else
        {
            strALLQCSTATUS = "0";
        }
        //end

        bool IsSuccess            = true;
        TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();

        objTask.PLAN_ID = strPlanID;
        objTask         = new TMisMonitorTaskLogic().Details(objTask);


        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();

        objSubTask.TASK_ID = objTask.ID;
        DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);

        //判断是否经过质控,如果经过质控,则将数据发送到质控环节
        if (!String.IsNullOrEmpty(strQCStatus) && strQCStatus == "4")
        {
            TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
            objTaskEdit.ID         = objTask.ID;
            objTaskEdit.QC_STATUS  = "2";
            objTaskEdit.TICKET_NUM = strTicketNum;
            //huangjinun 20140509
            objTaskEdit.ALLQC_STATUS = strALLQCSTATUS;
            //end
            //如果是环境质量类 将 SEND_STATUS 设置为1
            if (objTask.TASK_TYPE == "1")
            {
                objTaskEdit.SEND_STATUS = "1";
                //objTaskEdit.QC_STATUS = "9";

                //TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(strPlanID);
                //objPlan.HAS_DONE = "1";
                //new TMisContractPlanLogic().Edit(objPlan);
            }
            if (new TMisMonitorTaskLogic().Edit(objTaskEdit))
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    objSubTask.ID = dt.Rows[i]["ID"].ToString();
                    objSubTask.SAMPLE_ASK_DATE    = strSampleAskDate;
                    objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
                    //如果是环境质量类
                    if (objTask.TASK_TYPE == "1")
                    {
                        //objSubTask.TASK_STATUS = "02";
                    }

                    if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
                    {
                        IsSuccess = false;
                    }
                }
            }
        }
        //如果不需要质控,则直接发送到采样环节
        else
        {
            TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
            objTaskEdit.ID         = objTask.ID;
            objTaskEdit.QC_STATUS  = "8";
            objTaskEdit.TICKET_NUM = strTicketNum;
            //如果是环境质量类 将 SEND_STATUS 设置为1
            if (objTask.TASK_TYPE == "1")
            {
                objTaskEdit.SEND_STATUS = "1";
            }
            if (new TMisMonitorTaskLogic().Edit(objTaskEdit))
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    objSubTask.ID                 = dt.Rows[i]["ID"].ToString();
                    objSubTask.TASK_STATUS        = "02";
                    objSubTask.SAMPLE_ASK_DATE    = strSampleAskDate;
                    objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
                    if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
                    {
                        IsSuccess = false;
                    }
                }
            }


            if (IsSuccess)
            {
                TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(strPlanID);
                objPlan.HAS_DONE = "1";
                new TMisContractPlanLogic().Edit(objPlan);
            }
        }

        TMisMonitorSubtaskAppVo objSubApp = new TMisMonitorSubtaskAppVo();

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            DataTable dtApp = new TMisMonitorSubtaskAppLogic().SelectByTable(new TMisMonitorSubtaskAppVo {
                SUBTASK_ID = dt.Rows[i]["ID"].ToString()
            });
            if (dtApp.Rows.Count > 0)
            {
                objSubApp.ID             = dtApp.Rows[0]["ID"].ToString();
                objSubApp.SUBTASK_ID     = dt.Rows[i]["ID"].ToString();
                objSubApp.QC_APP_USER_ID = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.QC_APP_DATE    = DateTime.Now.ToString();
                new TMisMonitorSubtaskAppLogic().Edit(objSubApp);
            }
            else
            {
                objSubApp.ID             = GetSerialNumber("TMisMonitorSubtaskAppID");
                objSubApp.SUBTASK_ID     = dt.Rows[i]["ID"].ToString();
                objSubApp.QC_APP_USER_ID = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.QC_APP_DATE    = DateTime.Now.ToString();

                new TMisMonitorSubtaskAppLogic().Create(objSubApp);
            }
        }
        return(IsSuccess == true ? "1" : "0");
    }
    public static bool btnSendClick(string strWorkTaskId)
    {
        string            strConfigApp = ConfigurationManager.AppSettings["EnvQCsetting"].ToString();
        bool              flag         = true;
        TMisMonitorTaskVo objTask      = new TMisMonitorTaskVo();

        objTask.ID = strWorkTaskId;

        objTask = new TMisMonitorTaskLogic().Details(strWorkTaskId);
        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();

        objSubTask.TASK_ID = objTask.ID;
        DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            TMisMonitorSubtaskAppVo objSubApp = new TMisMonitorSubtaskAppVo();


            DataTable dtApp = new TMisMonitorSubtaskAppLogic().SelectByTable(new TMisMonitorSubtaskAppVo {
                SUBTASK_ID = dt.Rows[i]["ID"].ToString()
            });
            if (dtApp.Rows.Count > 0)
            {
                objSubApp.ID                 = dtApp.Rows[0]["ID"].ToString();
                objSubApp.SUBTASK_ID         = dt.Rows[i]["ID"].ToString();
                objSubApp.SAMPLE_ASSIGN_ID   = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.SAMPLE_ASSIGN_DATE = DateTime.Now.ToString();
                new TMisMonitorSubtaskAppLogic().Edit(objSubApp);
            }
            else
            {
                objSubApp.ID                 = GetSerialNumber("TMisMonitorSubtaskAppID");
                objSubApp.SUBTASK_ID         = dt.Rows[i]["ID"].ToString();
                objSubApp.SAMPLE_ASSIGN_ID   = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.SAMPLE_ASSIGN_DATE = DateTime.Now.ToString();

                new TMisMonitorSubtaskAppLogic().Create(objSubApp);
            }

            objSubTask.ID = dt.Rows[i]["ID"].ToString();
            ////如果是非环境质量类 将 TASK_STATUS 设置为02
            //if (objTask.TASK_TYPE != "1" || strConfigApp != "1")
            //{
            objSubTask.TASK_STATUS = "02";
            //}
            if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
            {
                flag = false;
            }
        }

        if (flag)
        {
            TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
            objTaskEdit.ID        = objTask.ID;
            objTaskEdit.QC_STATUS = "9";//表示已经完成质控设置
            //如果是环境质量类 将 SEND_STATUS 设置为1
            if (objTask.TASK_TYPE == "1")
            {
                objTaskEdit.SEND_STATUS = "1";
                //if (strConfigApp == "1")
                //    objTaskEdit.QC_STATUS = "1";  //环境质量类时,采样任务分配后到采样前质控环节
            }
            new TMisMonitorTaskLogic().Edit(objTaskEdit);

            TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(objTask.PLAN_ID);
            //if (objTask.TASK_TYPE != "1")
            objPlan.HAS_DONE = "1";
            new TMisContractPlanLogic().Edit(objPlan);
        }

        return(flag);
    }
    protected void btnExport_Click(object sender, EventArgs e)
    {
        if (this.hidPlanId.Value.Length == 0)
        {
            return;
        }

        TMisContractPlanVo objPlan       = new TMisContractPlanLogic().Details(this.hidPlanId.Value);
        string             strContractID = objPlan.CONTRACT_ID;
        TMisMonitorTaskVo  objTaskVo     = new TMisMonitorTaskVo();

        objTaskVo.PLAN_ID = hidPlanId.Value.Trim();
        objTaskVo         = new TMisMonitorTaskLogic().Details(objTaskVo);
        TMisMonitorTaskCompanyVo objTaskCompanyVo = new TMisMonitorTaskCompanyLogic().Details(objTaskVo.TESTED_COMPANY_ID);

        string strContractType = getDictName(objTaskVo.CONTRACT_TYPE, "Contract_Type");

        string strMonitorNames = "";
        string strPointNames   = "";
        string strItemS        = "";
        string strFREQ         = "";

        GetInfoForPrint(ref strMonitorNames, ref strPointNames, ref strFREQ, ref strItemS);

        string strSAMPLE_ASK_DATE    = DateTime.Now.ToString("yyyy-MM-dd");
        string strSAMPLE_FINISH_DATE = DateTime.Parse(objTaskVo.ASKING_DATE).ToString("yyyy-MM-dd");

        FileStream   file         = new FileStream(HttpContext.Current.Server.MapPath("template/MoniterTaskNotify.xls"), FileMode.Open, FileAccess.Read);
        HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);
        ISheet       sheet        = hssfworkbook.GetSheet("Sheet1");

        sheet.GetRow(3).GetCell(3).SetCellValue("编号:" + objTaskVo.TICKET_NUM);
        sheet.GetRow(4).GetCell(1).SetCellValue(strContractType);
        sheet.GetRow(5).GetCell(1).SetCellValue(objTaskVo.PROJECT_NAME);
        sheet.GetRow(3).GetCell(0).SetCellValue(objTaskVo.STATE == "01" ? "现场室:" : "分析室:");
        sheet.GetRow(4).GetCell(3).SetCellValue(objTaskCompanyVo.COMPANY_NAME);
        sheet.GetRow(5).GetCell(3).SetCellValue(objTaskCompanyVo.CONTACT_NAME + " " + objTaskCompanyVo.PHONE + " " + objTaskCompanyVo.CONTACT_ADDRESS);
        sheet.GetRow(7).GetCell(0).SetCellValue(strMonitorNames);
        sheet.GetRow(7).GetCell(1).SetCellValue(strPointNames);
        sheet.GetRow(7).GetCell(2).SetCellValue(strFREQ);
        sheet.GetRow(7).GetCell(3).SetCellValue(strItemS);
        sheet.GetRow(8).GetCell(1).SetCellValue(strSAMPLE_ASK_DATE);
        sheet.GetRow(8).GetCell(3).SetCellValue(strSAMPLE_FINISH_DATE);
        //复制一份
        sheet.GetRow(16).GetCell(3).SetCellValue("编号:" + objTaskVo.TICKET_NUM);
        sheet.GetRow(17).GetCell(1).SetCellValue(strContractType);
        sheet.GetRow(18).GetCell(1).SetCellValue(objTaskVo.PROJECT_NAME);
        sheet.GetRow(16).GetCell(0).SetCellValue(objTaskVo.STATE == "01" ? "现场室:" : "分析室:");
        sheet.GetRow(17).GetCell(3).SetCellValue(objTaskCompanyVo.COMPANY_NAME);
        sheet.GetRow(18).GetCell(3).SetCellValue(objTaskCompanyVo.CONTACT_NAME + " " + objTaskCompanyVo.PHONE + " " + objTaskCompanyVo.CONTACT_ADDRESS);
        sheet.GetRow(20).GetCell(0).SetCellValue(strMonitorNames);
        sheet.GetRow(20).GetCell(1).SetCellValue(strPointNames);
        sheet.GetRow(20).GetCell(2).SetCellValue(strFREQ);
        sheet.GetRow(20).GetCell(3).SetCellValue(strItemS);
        sheet.GetRow(21).GetCell(1).SetCellValue(strSAMPLE_ASK_DATE);
        sheet.GetRow(21).GetCell(3).SetCellValue(strSAMPLE_FINISH_DATE);

        using (MemoryStream stream = new MemoryStream())
        {
            hssfworkbook.Write(stream);
            HttpContext curContext = HttpContext.Current;
            // 设置编码和附件格式
            curContext.Response.ContentType     = "application/vnd.ms-excel";
            curContext.Response.ContentEncoding = Encoding.UTF8;
            curContext.Response.Charset         = "";
            curContext.Response.AppendHeader("Content-Disposition",
                                             "attachment;filename=" + HttpUtility.UrlEncode("任务通知单.xls", Encoding.UTF8));
            curContext.Response.BinaryWrite(stream.GetBuffer());
            curContext.Response.End();
        }
    }
예제 #12
0
    public static string btnSendClick(string strWorkTask_Id, string strPlanID, string strSampleAskDate, string strSampleFinishDate, string strTicketNum, string strQCStatus)
    {
        bool IsSuccess            = true;
        TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();

        objTask.ID      = strWorkTask_Id;
        objTask.PLAN_ID = strPlanID;
        objTask         = new TMisMonitorTaskLogic().Details(objTask);


        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();

        objSubTask.TASK_ID = objTask.ID;
        DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);

        //判断是否经过质控,如果经过质控,则将数据发送到质控环节
        if (!String.IsNullOrEmpty(strQCStatus) && strQCStatus == "1")
        {
            TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
            objTaskEdit.ID          = objTask.ID;
            objTaskEdit.QC_STATUS   = "2";
            objTaskEdit.TICKET_NUM  = strTicketNum;
            objTaskEdit.ASKING_DATE = strSampleFinishDate;//黄进军添加20140901
            //如果是环境质量类 将 SEND_STATUS 设置为1
            if (objTask.TASK_TYPE == "1")
            {
                objTaskEdit.SEND_STATUS = "1";
            }
            else
            {
                //分配任务报告编制人
                if (objTask.REPORT_HANDLE == "")
                {
                    objTaskEdit.REPORT_HANDLE = getNextReportUserID("Report_UserID");
                }
            }
            if (new TMisMonitorTaskLogic().Edit(objTaskEdit))
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    objSubTask.ID = dt.Rows[i]["ID"].ToString();
                    //objSubTask.SAMPLE_ASK_DATE = strSampleAskDate;
                    objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
                    if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
                    {
                        IsSuccess = false;
                    }
                }
            }
        }
        //如果不需要质控,则直接发送到采样环节
        else
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                objSubTask.ID          = dt.Rows[i]["ID"].ToString();
                objSubTask.TASK_STATUS = "02";
                objSubTask.TASK_TYPE   = "发送";
                //objSubTask.SAMPLE_ASK_DATE = strSampleAskDate;
                objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
                if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
                {
                    IsSuccess = false;
                }
            }

            if (IsSuccess)
            {
                TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
                objTaskEdit.ID          = objTask.ID;
                objTaskEdit.TICKET_NUM  = strTicketNum;
                objTaskEdit.ASKING_DATE = strSampleFinishDate; //黄进军添加20140901
                objTaskEdit.QC_STATUS   = "8";                 //表示已经完成质控设置
                //如果是环境质量类 将 SEND_STATUS 设置为1
                if (objTask.TASK_TYPE == "1")
                {
                    objTaskEdit.SEND_STATUS = "1";
                }
                else
                {
                    //分配任务报告编制人
                    if (objTask.REPORT_HANDLE == "")
                    {
                        objTaskEdit.REPORT_HANDLE = getNextReportUserID("Report_UserID");
                    }
                }
                new TMisMonitorTaskLogic().Edit(objTaskEdit);

                TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(strPlanID);
                objPlan.HAS_DONE = "1";
                new TMisContractPlanLogic().Edit(objPlan);
            }
        }

        TMisMonitorSubtaskAppVo objSubApp = new TMisMonitorSubtaskAppVo();
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoVo();
        TBaseSerialruleVo       objSerial = new TBaseSerialruleVo();

        objSerial.SAMPLE_SOURCE = objTask.SAMPLE_SOURCE;
        objSerial.SERIAL_TYPE   = "2";
        List <TMisMonitorSampleInfoVo> list = new List <TMisMonitorSampleInfoVo>();

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            DataTable dtApp = new TMisMonitorSubtaskAppLogic().SelectByTable(new TMisMonitorSubtaskAppVo {
                SUBTASK_ID = dt.Rows[i]["ID"].ToString()
            });
            if (dtApp.Rows.Count > 0)
            {
                objSubApp.ID                 = dtApp.Rows[0]["ID"].ToString();
                objSubApp.SUBTASK_ID         = dt.Rows[i]["ID"].ToString();
                objSubApp.SAMPLE_ASSIGN_ID   = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.SAMPLE_ASSIGN_DATE = DateTime.Now.ToString();
                new TMisMonitorSubtaskAppLogic().Edit(objSubApp);
            }
            else
            {
                objSubApp.ID                 = GetSerialNumber("TMisMonitorSubtaskAppID");
                objSubApp.SUBTASK_ID         = dt.Rows[i]["ID"].ToString();
                objSubApp.SAMPLE_ASSIGN_ID   = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.SAMPLE_ASSIGN_DATE = DateTime.Now.ToString();

                new TMisMonitorSubtaskAppLogic().Create(objSubApp);
            }
            //噪声除外的所有样品设置样品编号 Create By weilin 2014-03-19
            if (dt.Rows[i]["MONITOR_ID"].ToString() != "000000004" && dt.Rows[i]["MONITOR_ID"].ToString() != "FunctionNoise" && dt.Rows[i]["MONITOR_ID"].ToString() != "AreaNoise" && dt.Rows[i]["MONITOR_ID"].ToString() != "EnvRoadNoise")
            {
                objSubTask           = new TMisMonitorSubtaskLogic().Details(dt.Rows[i]["ID"].ToString());
                objSample            = new TMisMonitorSampleInfoVo();
                objSample.SUBTASK_ID = dt.Rows[i]["ID"].ToString();
                list = new TMisMonitorSampleInfoLogic().SelectByObject(objSample, 0, 0);
                for (int j = 0; j < list.Count; j++)
                {
                    if (list[j].SAMPLE_CODE.Length == 0)
                    {
                        objSample.ID = list[j].ID;

                        if (objTask.TASK_TYPE == "1")
                        {
                            objSample.SAMPLE_CODE = list[j].SAMPLE_NAME;
                        }
                        else
                        {
                            objSample.SAMPLE_CODE = CreateBaseDefineCodeForSample(objSerial, objTask, objSubTask);
                        }

                        new TMisMonitorSampleInfoLogic().Edit(objSample);
                    }
                }
            }
        }
        SplitAcceptTask(strWorkTask_Id, objSerial);
        return(IsSuccess == true ? "1" : "0");
        //bool IsSuccess = true;
        //TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();
        //objTask.PLAN_ID = strPlanID;
        //objTask = new TMisMonitorTaskLogic().Details(objTask);

        //TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();
        //objSubTask.TASK_ID = objTask.ID;

        //DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);
        //for (int i = 0; i < dt.Rows.Count; i++)
        //{
        //    objSubTask.ID = dt.Rows[i]["ID"].ToString();
        //    objSubTask.TASK_STATUS = "02";
        //    objSubTask.SAMPLE_ASK_DATE = strSampleAskDate;
        //    objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
        //    if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
        //        IsSuccess = false;

        //    //TMisMonitorSubtaskAppVo objSubtaskApp = new TMisMonitorSubtaskAppVo();

        //    //objSubtaskApp.ID = GetSerialNumber("TMisMonitorSubtaskAppID");
        //    //objSubtaskApp.SUBTASK_ID = objSubTask.ID;
        //    //objSubtaskApp.SAMPLE_ASSIGN_ID = LogInfo.UserInfo.ID;
        //    //objSubtaskApp.SAMPLE_ASSIGN_DATE = DateTime.Now.ToString();

        //    //new TMisMonitorSubtaskAppLogic().Create(objSubtaskApp);
        //}

        //if (IsSuccess)
        //{
        //    TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(strPlanID);
        //    objPlan.HAS_DONE = "1";
        //    new TMisContractPlanLogic().Edit(objPlan);
        //}
        //return IsSuccess == true ? "1" : "0";
    }
예제 #13
0
    protected void btnImport_Click(object sender, EventArgs e)
    {
        if (this.PLAN_ID.Value.Length == 0)
        {
            return;
        }

        TMisContractPlanVo    objPlan       = new TMisContractPlanLogic().Details(this.PLAN_ID.Value);
        string                strContractID = objPlan.CONTRACT_ID;
        TMisContractVo        objContract   = new TMisContractLogic().Details(strContractID);
        TMisContractCompanyVo objCompany    = new TMisContractCompanyLogic().Details(objContract.TESTED_COMPANY_ID);

        string strPointNames = "";
        string strItemS      = "";
        int    intPointCount = 0;

        GetInfoForPrint(ref strPointNames, ref intPointCount, ref strItemS);

        string strSAMPLE_ASK_DATE    = this.strSAMPLE_ASK_DATE.Value;
        string strSAMPLE_FINISH_DATE = this.strSAMPLE_FINISH_DATE.Value;

        FileStream   file         = new FileStream(HttpContext.Current.Server.MapPath("template/MoniterTaskNotify.xls"), FileMode.Open, FileAccess.Read);
        HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);
        ISheet       sheet        = hssfworkbook.GetSheet("Sheet1");

        sheet.GetRow(3).GetCell(1).SetCellValue(objContract.PROJECT_NAME);
        sheet.GetRow(3).GetCell(3).SetCellValue(objCompany.COMPANY_NAME);
        sheet.GetRow(4).GetCell(1).SetCellValue(objCompany.MONITOR_ADDRESS);
        sheet.GetRow(4).GetCell(3).SetCellValue(objCompany.CONTACT_NAME + "、" + objCompany.PHONE);
        sheet.GetRow(5).GetCell(1).SetCellValue(strSAMPLE_ASK_DATE);
        sheet.GetRow(5).GetCell(3).SetCellValue(strSAMPLE_FINISH_DATE);

        //获取当前监测类别信息
        DataTable dtMonitor = GetPendingPlanDistinctMonitorDataTable(objPlan.ID);
        DataTable dtPoint   = GetPendingPlanPointDataTable(objPlan.ID);

        if (dtMonitor.Rows.Count > 0)
        {
            int i = 0;
            foreach (DataRow drr in dtMonitor.Rows)
            {
                string    strMonitorName = "", strPointName = "", strOutValuePoint = "", strOutValuePointItems = "";
                DataRow[] drPoint = dtPoint.Select("MONITOR_ID='" + drr["MONITOR_ID"].ToString() + "'");
                if (drPoint.Length > 0)
                {
                    foreach (DataRow drrPoint in drPoint)
                    {
                        string strPointNameForItems = "", strPointItems = "";
                        strMonitorName = drrPoint["MONITOR_TYPE_NAME"].ToString();
                        strPointName  += drrPoint["POINT_NAME"].ToString() + "、";

                        //获取当前点位的监测项目
                        DataTable dtPointItems = GetPendingPlanPointItemsDataTable(drrPoint["CONTRACT_POINT_ID"].ToString());
                        if (dtPointItems.Rows.Count > 0)
                        {
                            foreach (DataRow drItems in dtPointItems.Rows)
                            {
                                strPointNameForItems = drrPoint["POINT_NAME"] + ":";
                                strPointItems       += drItems["ITEM_NAME"].ToString() + "、";
                            }
                            strOutValuePointItems += strPointNameForItems + strPointItems.Substring(0, strPointItems.Length - 1) + ";\n";
                        }
                    }
                    //获取输出监测类型监测点位信息
                    strOutValuePoint += strPointName.Substring(0, strPointName.Length - 1) + ";\n";
                }

                sheet.GetRow(i + 7).GetCell(0).SetCellValue(strMonitorName);
                sheet.GetRow(i + 7).GetCell(1).SetCellValue(strOutValuePoint);
                sheet.GetRow(i + 7).GetCell(2).SetCellValue(strOutValuePointItems);

                i++;
            }
        }


        using (MemoryStream stream = new MemoryStream())
        {
            hssfworkbook.Write(stream);
            HttpContext curContext = HttpContext.Current;
            // 设置编码和附件格式
            curContext.Response.ContentType     = "application/vnd.ms-excel";
            curContext.Response.ContentEncoding = Encoding.UTF8;
            curContext.Response.Charset         = "";
            curContext.Response.AppendHeader("Content-Disposition",
                                             "attachment;filename=" + HttpUtility.UrlEncode("采样任务分配表.xls", Encoding.UTF8));
            curContext.Response.BinaryWrite(stream.GetBuffer());
            curContext.Response.End();
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //lhm 批处理
            if (!string.IsNullOrEmpty(Request.QueryString["WorkIDs"]))
            {
                string   strWorkIDs = Request.QueryString["WorkIDs"];
                string[] workIDList = strWorkIDs.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);

                var taskIDList          = new List <string>();
                var subTaskIDList       = new List <string>();
                var monitorResultIDList = new List <string>();

                foreach (var workID in workIDList)
                {
                    var monitorResult = new TMisMonitorResultLogic().Details(new TMisMonitorResultVo {
                        CCFLOW_ID1 = workID
                    });
                    monitorResultIDList.Add(monitorResult.ID);

                    var parentWorkid = CCFlowFacade.GetFatherIDOfSubFlow(LogInfo.UserInfo.USER_NAME, Convert.ToInt64(workID));

                    TMisContractPlanVo objPlanVo = new TMisContractPlanLogic().DetailsByCCFlowID(parentWorkid.ToString());

                    if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                    {
                        var tempTaskId = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                            PLAN_ID = objPlanVo.ID
                        }).ID;
                        if (!taskIDList.Contains(tempTaskId))
                        {
                            //当前流程属于送样的
                            taskIDList.Add(tempTaskId);
                            subTaskIDList.Add("");
                        }
                    }
                    else if (objPlanVo.ID.Length > 0)
                    {
                        //当前流程属于采样的
                        var taskId = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                            PLAN_ID = objPlanVo.ID
                        }).ID;

                        if (!taskIDList.Contains(taskId))
                        {
                            TMisMonitorSubtaskVo sub = new TMisMonitorSubtaskVo();
                            sub.TASK_ID = taskId;
                            DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(sub);

                            foreach (DataRow row in dt.Rows)
                            {
                                taskIDList.Add(taskId);
                                var subTaskId = row["ID"].ToString();
                                subTaskIDList.Add(subTaskId);
                            }
                        }
                    }
                }

                this.TASK_ID.Value      = string.Join(",", taskIDList);
                this.SUBTASK_ID.Value   = string.Join(",", subTaskIDList);
                this.hidResultIDs.Value = string.Join(",", monitorResultIDList);
            }
            else if (!string.IsNullOrEmpty(Request.QueryString["WorkID"]))
            {
                var FID = Convert.ToInt64(Request.QueryString["WorkID"]); //获取主流程ID

                var monitorResult = new TMisMonitorResultLogic().Details(new TMisMonitorResultVo {
                    CCFLOW_ID1 = FID.ToString()
                });
                this.hidResultIDs.Value = monitorResult.ID;

                var workid = CCFlowFacade.GetFatherIDOfSubFlow(LogInfo.UserInfo.USER_NAME, FID);

                TMisContractPlanVo objPlanVo = new TMisContractPlanLogic().DetailsByCCFlowID(workid.ToString());

                if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                {
                    //当前流程属于送样的
                    this.TASK_ID.Value = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    this.SUBTASK_ID.Value = "";
                }
                else if (objPlanVo.ID.Length > 0)
                {
                    //当前流程属于采样的
                    this.TASK_ID.Value = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    TMisMonitorSubtaskVo sub = new TMisMonitorSubtaskVo();
                    sub.TASK_ID = this.TASK_ID.Value;
                    DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(sub);
                    this.SUBTASK_ID.Value = dt.Rows[0]["ID"].ToString();
                }

                ////常规监测
                //if (string.IsNullOrEmpty(this.TASK_ID.Value))
                //{
                //    TMisContractPlanVo objPlanVo = new TMisContractPlanLogic().DetailsByCCFlowID(workid.ToString());

                //    if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                //    {
                //        //当前流程属于送样的
                //        this.TASK_ID.Value = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo { PLAN_ID = objPlanVo.ID }).ID;
                //        this.SUBTASK_ID.Value = "";
                //    }
                //    else if (objPlanVo.ID.Length > 0)
                //    {
                //        //当前流程属于采样的
                //        this.TASK_ID.Value = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo { PLAN_ID = objPlanVo.ID }).ID;
                //        TMisMonitorSubtaskVo sub = new TMisMonitorSubtaskVo();
                //        sub.TASK_ID = this.TASK_ID.Value;
                //        DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(sub);
                //        this.SUBTASK_ID.Value = dt.Rows[0]["ID"].ToString();

                //    }
                //}
            }

            //定义结果
            string strResult = "";

            //任务信息
            if (Request["type"] != null && Request["type"].ToString() == "getOneGridInfo")
            {
                strResult = getOneGridInfo(Request["strTaskID"].ToString(), Request["strSubTaskID"].ToString());
                Response.Write(strResult);
                Response.End();
            }

            //获取样品信息
            if (Request["type"] != null && Request["type"].ToString() == "getSampleGridInfo")
            {
                strResult = getSampleGridInfo(Request["strTaskID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            //获取监测项目信息
            if (Request["type"] != null && Request["type"].ToString() == "getItemGridInfo")
            {
                strResult = getItemGridInfo(Request["SampleGridId"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            //获取现场质控信息
            if (Request["type"] != null && Request["type"].ToString() == "getQCGrid1Info")
            {
                strResult = getQCGrid1Info(Request["ResultId"].ToString(), Request["strItemID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            //获取实验室质控信息
            if (Request["type"] != null && Request["type"].ToString() == "getQCGrid2Info")
            {
                strResult = getQCGrid2Info(Request["ResultId"].ToString());
                Response.Write(strResult);
                Response.End();
            }
        }
    }
    protected void ReturnAllTaskStep()
    {
        //任务对象
        TMisMonitorTaskVo objTask = new TMisMonitorTaskLogic().Details(this.TASK_ID.Value);
        //子任务信息
        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskLogic().Details(new TMisMonitorSubtaskVo()
        {
            TASK_ID    = this.TASK_ID.Value,
            MONITOR_ID = this.dllMonitor.SelectedValue
        });
        //样品信息
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoLogic().Details(new TMisMonitorSampleInfoVo()
        {
            SUBTASK_ID = objSubTask.ID,
            QC_TYPE    = "0"
        });
        //样品结果信息
        DataTable dtResult = new TMisMonitorResultLogic().SelectResultAndAppWithSubtaskID(objSubTask.ID);
        //校阅
        //委托书对象
        TMisContractVo objContract = new TMisContractLogic().Details(objTask.CONTRACT_ID);
        //预约表
        TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(new TMisContractPlanVo()
        {
            CONTRACT_ID = objContract.ID
        });
        //预约频次表(已预约未办理数)
        TMisContractPointFreqVo objPointFreq = new TMisContractPointFreqLogic().Details(new TMisContractPointFreqVo()
        {
            CONTRACT_ID = objContract.ID
        });
        //自送样预约数(已预约未办理数)
        TMisContractSamplePlanVo objSamplePlan = new TMisContractSamplePlanLogic().Details(new TMisContractSamplePlanVo()
        {
            CONTRACT_ID = objContract.ID,
        });

        #region 暂行的定制生成任务追踪方法 页面HTML构建
        //定义已处理DIV样式
        string strDivHas = "<div style='width:150px;height:auto;background-color:#5a8f5a;text-align: center;vertical-align: middle;'>{0}</div>";
        //定义待处理DIV样式
        string strDivWait = "<div style='width:150px;height:auto;background-color:#de9a1d;text-align: center;vertical-align: middle;'>{0}</div>";
        //定义特殊处理DIV样式
        //string strDivSepecial = "<div style='width:100px;height:50px;background-color:#e34323;text-align: center;vertical-align: middle;'>{0}</div";
        //定义未处理DIV样式
        //string strDivNo = "<div style='width:100px;height:50px;background-color:#a9a9a9;text-align: center;vertical-align: middle;'>{0}</div>";

        #region 办理人
        //采样负责人
        string strSampleManager = GetSampleManager(objSubTask.SAMPLING_MANAGER_ID);
        //交接人
        string strSampleAccept = GetDefaultOrFirstDutyUser("sample_allocation_sheet", this.dllMonitor.SelectedValue);
        //采样任务分配人
        string strSampleSender = GetDefaultOrFirstDutyUser("duty_other_sampling", this.dllMonitor.SelectedValue);
        //采样后质控人
        string strQcEnd = GetDefaultOrFirstDutyUser("sample_qc_end", this.dllMonitor.SelectedValue);
        //分析任务分配人
        string strAnalyseSender = GetDefaultOrFirstDutyUser("duty_other_analyse", this.dllMonitor.SelectedValue);
        //校核人
        string strAnalyseChecker = GetDefaultOrFirstDutyUser("duty_other_audit ", this.dllMonitor.SelectedValue);
        //复核人
        string strAnalyseAgainChecker = GetDefaultOrFirstDutyUser("duty_other_analyse_result", this.dllMonitor.SelectedValue);
        //审核人
        string strQcChecker = GetDefaultOrFirstDutyUser("duty_other_analyse_control", this.dllMonitor.SelectedValue);
        #endregion

        Table table1 = new Table();
        table1.CssClass = "tMain";
        TableRow  row1  = new TableRow();//委托流程连接
        TableCell cell1 = new TableCell();
        cell1.Text = string.Format(strDivHas, "委托流程");
        row1.Cells.Add(cell1);
        table1.Rows.Add(row1);
        //是否已预约
        if (!string.IsNullOrEmpty(objPointFreq.ID))
        {
            if (objPointFreq.IF_PLAN == null)//未预约
            {
                table1 = GetCommonRow(table1, strDivWait, "采样预约", "");

                this.divSample.Controls.Add(table1);
                return;
            }
            else if (objPointFreq.IF_PLAN == "0")//已预约未办理
            {
                table1 = GetCommonRow(table1, strDivHas, "采样预约", "");
            }
        }
        //自送样 预约
        if (objSamplePlan.IF_PLAN == "0")//未预约
        {
            table1 = GetCommonRow(table1, strDivWait, "送样预约", "");
            this.divSample.Controls.Add(table1);
            return;
        }
        else if (objSamplePlan.IF_PLAN == "1")//已预约
        {
            table1 = GetCommonRow(table1, strDivWait, "送样预约", "");
            this.divSample.Controls.Add(table1);
            return;
        }
        else if (objSamplePlan.IF_PLAN == "2")//预约办理
        {
            table1 = GetCommonRow(table1, strDivHas, "送样预约", "");
        }
        //是否预约办理
        if (objPlan.ID != "")
        {
            if (objPlan.HAS_DONE == "1")//已办理
            {
                table1 = GetCommonRow(table1, strDivHas, "预约办理", strSampleSender);
            }
            else if (objPlan.HAS_DONE == "0" || string.IsNullOrEmpty(objPlan.HAS_DONE))
            {
                table1 = GetCommonRow(table1, strDivWait, "预约办理", strSampleSender);

                this.divSample.Controls.Add(table1);
                return;
            }
        }
        //是否采样
        if (objSubTask.TASK_STATUS == "02")
        {
            table1 = GetCommonRow(table1, strDivWait, "采样", strSampleManager);
        }
        //样品交接
        if (objSubTask.TASK_STATUS == "021")
        {
            if (!string.IsNullOrEmpty(objPlan.ID))
            {
                table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
            }
            table1 = GetCommonRow(table1, strDivWait, "样品交接", strSampleAccept);
        }
        //分析任务分配
        DataRow[] dr1 = dtResult.Select(" RESULT_STATUS='01'");//过滤过分析分配环节任务
        //分析结果录入
        DataRow[] dr2 = dtResult.Select(" RESULT_STATUS='20'");
        //数据审核
        DataRow[] dr3 = dtResult.Select(" RESULT_STATUS='30'");
        //分析室主任审核
        DataRow[] dr4 = dtResult.Select(" RESULT_STATUS='40'");
        //技术室主任审核
        DataRow[] dr5 = dtResult.Select(" RESULT_STATUS='50'");
        if (objSubTask.TASK_STATUS == "03")
        {
            if (dr1.Length > 0)//环节在分析任务分配
            {
                if (!string.IsNullOrEmpty(objPlan.ID))
                {
                    table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
                }
                table1 = GetCommonRow(table1, strDivHas, "样品交接", strSampleAccept);
                table1 = GetCommonRow(table1, strDivWait, "分析任务分配", strAnalyseSender);
            }
            else
            {
                if (!string.IsNullOrEmpty(objPlan.ID))
                {
                    table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
                }
                table1 = GetCommonRow(table1, strDivHas, "样品交接", strSampleAccept);
                table1 = GetCommonRow(table1, strDivHas, "分析任务分配", strAnalyseSender);
                table1 = GetResultRow(table1, strDivHas, strDivWait, "分析结果录入", dtResult);

                if (dr2.Length > 0)     //结果提交不完全时
                {
                    if (dr5.Length > 0) //流程已到技术室审核环节(最后环节)
                    {
                        table1 = GetCommonRow(table1, strDivWait, "数据审核", strAnalyseChecker);
                        table1 = GetCommonRow(table1, strDivWait, "分析室主任审核", strAnalyseAgainChecker);
                        table1 = GetCommonRow(table1, strDivWait, "技术室主任审核", strQcChecker);
                    }
                    else
                    {
                        if (dr4.Length > 0)//流程仅到分析室审核
                        {
                            table1 = GetCommonRow(table1, strDivWait, "数据审核", strAnalyseChecker);
                            table1 = GetCommonRow(table1, strDivWait, "分析室主任审核", strAnalyseAgainChecker);
                        }
                        else
                        {
                            if (dr3.Length > 0)//流程仅到数据审核
                            {
                                table1 = GetCommonRow(table1, strDivWait, "数据审核", strAnalyseChecker);
                            }
                        }
                    }
                }
                else//结果提交完全时
                {
                    if (dr3.Length > 0)//数据审核不完全
                    {
                        table1 = GetCommonRow(table1, strDivWait, "数据审核", strAnalyseChecker);
                    }
                    else
                    {
                        table1 = GetCommonRow(table1, strDivHas, "数据审核", strAnalyseChecker);
                    }
                    if (dr4.Length > 0)//分析审核不完全
                    {
                        table1 = GetCommonRow(table1, strDivWait, "分析室主任审核", strAnalyseAgainChecker);
                    }
                    else if (dr3.Length == 0)//已经全部发送
                    {
                        table1 = GetCommonRow(table1, strDivHas, "分析室主任审核", strAnalyseAgainChecker);
                    }
                    if (dr5.Length > 0)                                                    //流程已到技术室审核环节(最后环节)
                    {
                        if (objSubTask.TASK_STATUS == "09" && objTask.TASK_STATUS == "09") //分析流程完成
                        {
                            table1 = GetCommonRow(table1, strDivHas, "技术室主任审核", strQcChecker);
                        }
                        else
                        {
                            table1 = GetCommonRow(table1, strDivWait, "技术室主任审核", strQcChecker);
                        }
                    }
                }
            }
        }
        else if (objTask.TASK_STATUS == "09" && objSubTask.TASK_STATUS == "09")//报告
        {
            if (!string.IsNullOrEmpty(objPlan.ID))
            {
                table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
            }
            table1 = GetCommonRow(table1, strDivHas, "样品交接", strSampleAccept);
            table1 = GetCommonRow(table1, strDivHas, "分析任务分配", strAnalyseSender);
            table1 = GetResultRow(table1, strDivHas, strDivWait, "分析结果录入", dtResult);

            table1 = GetCommonRow(table1, strDivHas, "数据审核", strAnalyseChecker);
            table1 = GetCommonRow(table1, strDivHas, "分析室主任审核", strAnalyseAgainChecker);
            table1 = GetCommonRow(table1, strDivHas, "技术室主任审核", strQcChecker);

            table1.Rows.Add(GetFollowRow());

            TableRow  row  = new TableRow();//报告流程连接
            TableCell cell = new TableCell();
            // cell.Text = string.Format(strDivHas, "<a href='#' onclick='ShowReport(" + this.TASK_ID.Value + ");'>报告流程</a>");
            cell.Text = string.Format(strDivHas, "报告流程");
            row.Cells.Add(cell);
            table1.Rows.Add(row);
        }
        this.divSample.Controls.Add(table1);
        #endregion
    }
    public static bool btnSendClick(string strWorkTaskId)
    {
        bool flag = true;
        TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();

        objTask.ID = strWorkTaskId;
        objTask    = new TMisMonitorTaskLogic().Details(strWorkTaskId);

        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();

        objSubTask.TASK_ID = objTask.ID;
        DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            TMisMonitorSubtaskAppVo objSubApp = new TMisMonitorSubtaskAppVo();


            DataTable dtApp = new TMisMonitorSubtaskAppLogic().SelectByTable(new TMisMonitorSubtaskAppVo {
                SUBTASK_ID = dt.Rows[i]["ID"].ToString()
            });
            if (dtApp.Rows.Count > 0)
            {
                objSubApp.ID             = dtApp.Rows[0]["ID"].ToString();
                objSubApp.SUBTASK_ID     = dt.Rows[i]["ID"].ToString();
                objSubApp.QC_APP_USER_ID = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.QC_APP_DATE    = DateTime.Now.ToString();
                new TMisMonitorSubtaskAppLogic().Edit(objSubApp);
            }
            else
            {
                objSubApp.ID             = GetSerialNumber("TMisMonitorSubtaskAppID");
                objSubApp.SUBTASK_ID     = dt.Rows[i]["ID"].ToString();
                objSubApp.QC_APP_USER_ID = new PageBase().LogInfo.UserInfo.ID;
                objSubApp.QC_APP_DATE    = DateTime.Now.ToString();

                new TMisMonitorSubtaskAppLogic().Create(objSubApp);
            }

            objSubTask.ID          = dt.Rows[i]["ID"].ToString();
            objSubTask.TASK_STATUS = "02";
            if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
            {
                flag = false;
            }
        }

        if (flag)
        {
            TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
            objTaskEdit.ID        = objTask.ID;
            objTaskEdit.QC_STATUS = "9";//表示已经完成质控设置

            //如果是环境质量类 将 SEND_STATUS 设置为1
            if (objTask.TASK_TYPE == "1")
            {
                objTaskEdit.SEND_STATUS = "1";
            }
            new TMisMonitorTaskLogic().Edit(objTaskEdit);

            TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(objTask.PLAN_ID);
            objPlan.HAS_DONE = "1";
            new TMisContractPlanLogic().Edit(objPlan);
        }

        return(flag);
    }
    public static string btnSendClick(string strPlanID, string strSampleAskDate, string strSampleFinishDate, string strTicketNum, string strQCStatus, string strDept)
    {
        bool IsSuccess            = true;
        TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();

        objTask.PLAN_ID = strPlanID;
        objTask         = new TMisMonitorTaskLogic().Details(objTask);


        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();

        objSubTask.TASK_ID = objTask.ID;
        DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);

        //判断是否经过了采样分配站长审核(QC_STATUS="M11")环节,将质控状态置为3
        if (!String.IsNullOrEmpty(strQCStatus))
        {
            if (strQCStatus == "M11")
            {
                TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
                objTaskEdit.ID = objTask.ID;
                if (strDept == "01")
                {
                    //发送到现场室接收
                    objTaskEdit.QC_STATUS = "M12";
                }
                else
                {
                    //发送到分析室接收
                    objTaskEdit.QC_STATUS = "M13";
                }
                objTaskEdit.TICKET_NUM = strTicketNum;
                //如果是环境质量类 将 SEND_STATUS 设置为1
                if (objTask.TASK_TYPE == "1")
                {
                    objTaskEdit.SEND_STATUS = "1";
                }
                if (new TMisMonitorTaskLogic().Edit(objTaskEdit))
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        objSubTask.ID = dt.Rows[i]["ID"].ToString();
                        //objSubTask.SAMPLE_ASK_DATE = strSampleAskDate;
                        objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
                        if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
                        {
                            IsSuccess = false;
                        }
                    }
                    TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(strPlanID);
                    objPlan.HAS_DONE = "0";
                    new TMisContractPlanLogic().Edit(objPlan);
                }
            }
            if (strQCStatus == "M12" || strQCStatus == "M13")
            {
                TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
                objTaskEdit.ID        = objTask.ID;
                objTaskEdit.QC_STATUS = "3";
                IsSuccess             = new TMisMonitorTaskLogic().Edit(objTaskEdit);
            }
        }
        return(IsSuccess == true ? "1" : "0");
    }
    /// <summary>
    /// 获取指定条件下委托书监测计划任务列表(待预约的,已预约的)2013-04-01
    /// </summary>
    /// <returns></returns>
    private string GetPendingPlanList()
    {
        DataTable          dt              = new DataTable();
        TMisContractPlanVo objItems        = new TMisContractPlanVo();
        TMisContractVo     objItemContract = new TMisContractVo();

        //分页参数
        string strSortname  = Request.Params["sortname"];
        string strSortorder = Request.Params["sortorder"];
        int    intPageIdx   = Convert.ToInt32(Request.Params["page"]);
        int    intPagesize  = Convert.ToInt32(Request.Params["pagesize"]);

        //查询条件
        if (!string.IsNullOrEmpty(Request.QueryString["strQulickly"]))
        {
            objItemContract.ISQUICKLY = Request.QueryString["strQulickly"].ToString();
        }
        if (!string.IsNullOrEmpty(Request.QueryString["strProjectName"]))
        {
            objItemContract.PROJECT_NAME = Request.QueryString["strProjectName"].ToString();
        }
        if (!string.IsNullOrEmpty(Request.QueryString["strContractCode"]))
        {
            objItemContract.CONTRACT_CODE = Request.QueryString["strContractCode"].ToString();
        }
        if (!string.IsNullOrEmpty(Request.QueryString["strContratYear"]))
        {
            objItemContract.CONTRACT_YEAR = Request.QueryString["strContratYear"].ToString();
        }
        if (!string.IsNullOrEmpty(Request.QueryString["strContractType"]))
        {
            objItemContract.CONTRACT_TYPE = Request.QueryString["strContractType"].ToString();
        }
        if (!string.IsNullOrEmpty(Request.QueryString["strCompanyNameFrim"]))
        {
            objItemContract.TESTED_COMPANY_ID = Request.QueryString["strCompanyNameFrim"].ToString();
        }
        if (!string.IsNullOrEmpty(Request.QueryString["strAreaIdFrim"]))
        {
            objItemContract.REMARK4 = Request.QueryString["strAreaIdFrim"].ToString();
        }
        //状态
        string strQcStatus = string.Empty;

        if (!string.IsNullOrEmpty(Request.QueryString["strQcStatus"]))
        {
            strQcStatus = Request.QueryString["strQcStatus"].ToString();
        }
        //任务单号
        string strTaskCode = string.Empty;

        if (!string.IsNullOrEmpty(Request.QueryString["strTaskCode"]))
        {
            strTaskCode = Request.QueryString["strTaskCode"].ToString();
        }
        objItemContract.CONTRACT_STATUS = "9";
        string strDate = string.Empty;

        if (!string.IsNullOrEmpty(Request.QueryString["strDate"]))
        {
            strDate = Request.QueryString["strDate"].ToString();
        }
        if (!String.IsNullOrEmpty(strDate))
        {
            string[] dates = strDate.Split('-');
            objItems.PLAN_YEAR  = dates[0].ToString();
            objItems.PLAN_MONTH = dates[1].ToString();
            objItems.PLAN_DAY   = dates[2].ToString();
        }
        if (!String.IsNullOrEmpty(Request.QueryString["strType"]))
        {
            bool flag = Convert.ToBoolean(Request.QueryString["strType"]);

            dt = new TMisContractPlanLogic().SelectByTableForPlanTask(objItems, objItemContract, strQcStatus, flag, strTaskCode, intPageIdx, intPagesize);
            int CountNum = new TMisContractPlanLogic().SelectCountForPlanTask(objItems, objItemContract, strQcStatus, flag, strTaskCode);
            return(LigerGridDataToJson(dt, CountNum));
        }
        return("");
    }
    public static string btnBackClick(string strLink, string strSubtaskID, string strSuggestion)
    {
        bool   isSuccess                  = true;
        string strMsg                     = "";
        string strCurrentStatus           = "";
        string strBackStatus              = "";
        TMisMonitorSubtaskVo objSubTaskVo = new TMisMonitorSubtaskLogic().Details(strSubtaskID);

        if (strLink == "Sample")  //采样环节退回事件
        {
            strCurrentStatus = SerialType.Monitor_002;
            strBackStatus    = SerialType.Monitor_001;

            objSubTaskVo.TASK_STATUS = "01";
            objSubTaskVo.TASK_TYPE   = "退回";
            new TMisMonitorSubtaskLogic().Edit(objSubTaskVo);

            TMisMonitorTaskVo objTaskVo = new TMisMonitorTaskLogic().Details(objSubTaskVo.TASK_ID);
            objTaskVo.QC_STATUS = "3";
            new TMisMonitorTaskLogic().Edit(objTaskVo);

            TMisContractPlanVo objContractPlanVo = new TMisContractPlanLogic().Details(objTaskVo.PLAN_ID);
            objContractPlanVo.HAS_DONE = "0";
            new TMisContractPlanLogic().Edit(objContractPlanVo);

            strMsg = "采样任务分配";
        }
        if (strLink == "Check")   //现场结果复核退回事件
        {
            strCurrentStatus = SerialType.Monitor_003;
            strBackStatus    = SerialType.Monitor_002;

            objSubTaskVo.TASK_STATUS = "02";
            objSubTaskVo.TASK_TYPE   = "退回";
            new TMisMonitorSubtaskLogic().Edit(objSubTaskVo);

            strMsg = "采样";
        }
        if (strLink == "QcCheck") //现场结果审核退回事件
        {
            strCurrentStatus = SerialType.Monitor_004;
            strBackStatus    = SerialType.Monitor_003;

            objSubTaskVo.TASK_STATUS = "022";
            objSubTaskVo.TASK_TYPE   = "退回";
            new TMisMonitorSubtaskLogic().Edit(objSubTaskVo);

            strMsg = "现场结果复核";
        }

        TMisReturnInfoVo objReturnInfoVo = new TMisReturnInfoVo();

        objReturnInfoVo.TASK_ID        = objSubTaskVo.TASK_ID;
        objReturnInfoVo.SUBTASK_ID     = objSubTaskVo.ID;
        objReturnInfoVo.CURRENT_STATUS = strCurrentStatus;
        objReturnInfoVo.BACKTO_STATUS  = strBackStatus;
        TMisReturnInfoVo obj = new TMisReturnInfoLogic().Details(objReturnInfoVo);

        if (obj.ID.Length > 0)
        {
            objReturnInfoVo.ID         = obj.ID;
            objReturnInfoVo.SUGGESTION = strSuggestion;
            isSuccess = new TMisReturnInfoLogic().Edit(objReturnInfoVo);
        }
        else
        {
            objReturnInfoVo.ID         = GetSerialNumber("t_mis_return_id");
            objReturnInfoVo.SUGGESTION = strSuggestion;
            isSuccess = new TMisReturnInfoLogic().Create(objReturnInfoVo);
        }
        return(isSuccess == true ? "[{result:'1',msg:'" + strMsg + "'}]" : "[{result:'0',msg:'" + strMsg + "'}]");
    }
    public static string btnSendClick(string strPlanID, string strSampleAskDate, string strSampleFinishDate, string strTicketNum, string strQCStatus)
    {
        bool IsSuccess            = true;
        TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();

        objTask.PLAN_ID = strPlanID;
        objTask         = new TMisMonitorTaskLogic().Details(objTask);


        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();

        objSubTask.TASK_ID = objTask.ID;
        DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);

        //判断是否经过质控,如果经过质控,则将数据发送到质控环节
        if (!String.IsNullOrEmpty(strQCStatus) && strQCStatus == "1")
        {
            TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
            objTaskEdit.ID         = objTask.ID;
            objTaskEdit.QC_STATUS  = "2";
            objTaskEdit.TICKET_NUM = strTicketNum;
            //如果是环境质量类 将 SEND_STATUS 设置为1
            if (objTask.TASK_TYPE == "1")
            {
                objTaskEdit.SEND_STATUS = "1";
            }
            if (new TMisMonitorTaskLogic().Edit(objTaskEdit))
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    objSubTask.ID = dt.Rows[i]["ID"].ToString();
                    objSubTask.SAMPLE_ASK_DATE    = strSampleAskDate;
                    objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
                    if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
                    {
                        IsSuccess = false;
                    }
                }
            }
        }
        //如果不需要质控,则直接发送到采样环节
        else
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                objSubTask.ID                 = dt.Rows[i]["ID"].ToString();
                objSubTask.TASK_STATUS        = "02";
                objSubTask.SAMPLE_ASK_DATE    = strSampleAskDate;
                objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
                if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
                {
                    IsSuccess = false;
                }
            }

            if (IsSuccess)
            {
                TMisMonitorTaskVo objTaskEdit = new TMisMonitorTaskVo();
                objTaskEdit.ID        = objTask.ID;
                objTaskEdit.QC_STATUS = "9";//表示已经完成质控设置
                //如果是环境质量类 将 SEND_STATUS 设置为1
                if (objTask.TASK_TYPE == "1")
                {
                    objTaskEdit.SEND_STATUS = "1";
                }
                new TMisMonitorTaskLogic().Edit(objTaskEdit);

                TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(strPlanID);
                objPlan.HAS_DONE = "1";
                new TMisContractPlanLogic().Edit(objPlan);
            }
        }

        return(IsSuccess == true ? "1" : "0");
        //bool IsSuccess = true;
        //TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();
        //objTask.PLAN_ID = strPlanID;
        //objTask = new TMisMonitorTaskLogic().Details(objTask);

        //TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();
        //objSubTask.TASK_ID = objTask.ID;

        //DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);
        //for (int i = 0; i < dt.Rows.Count; i++)
        //{
        //    objSubTask.ID = dt.Rows[i]["ID"].ToString();
        //    objSubTask.TASK_STATUS = "02";
        //    objSubTask.SAMPLE_ASK_DATE = strSampleAskDate;
        //    objSubTask.SAMPLE_FINISH_DATE = strSampleFinishDate;
        //    if (!new TMisMonitorSubtaskLogic().Edit(objSubTask))
        //        IsSuccess = false;

        //    //TMisMonitorSubtaskAppVo objSubtaskApp = new TMisMonitorSubtaskAppVo();

        //    //objSubtaskApp.ID = GetSerialNumber("TMisMonitorSubtaskAppID");
        //    //objSubtaskApp.SUBTASK_ID = objSubTask.ID;
        //    //objSubtaskApp.SAMPLE_ASSIGN_ID = LogInfo.UserInfo.ID;
        //    //objSubtaskApp.SAMPLE_ASSIGN_DATE = DateTime.Now.ToString();

        //    //new TMisMonitorSubtaskAppLogic().Create(objSubtaskApp);
        //}

        //if (IsSuccess)
        //{
        //    TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(strPlanID);
        //    objPlan.HAS_DONE = "1";
        //    new TMisContractPlanLogic().Edit(objPlan);
        //}
        //return IsSuccess == true ? "1" : "0";
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        //定义结果
        string strResult = "";

        if (!IsPostBack)
        {
            if (Request.QueryString["type"] == "check")
            {
                var UserNo = Request.QueryString["UserNo"];//有两个UserNo???等解决
                UserNo = UserNo.Split(',').Count() > 1 ? UserNo.Split(',')[1] : UserNo;
                UserNo = UserNo.Trim(',');

                var workID = Convert.ToInt32(Request.QueryString["OID"]);//OID为流程ID

                var strSubTaskID = CCFlowFacade.GetFlowIdentification(UserNo, workID).Split('|')[0];

                //获取现场项目
                DataTable dtSampleItem = new TMisMonitorResultLogic().SelectSampleItemWithSubtaskID(strSubTaskID);

                if (dtSampleItem.Rows.Count > 0)
                {
                    TMisMonitorSubtaskAppVo objSubtaskAppVo = new TMisMonitorSubtaskAppVo();
                    objSubtaskAppVo.SUBTASK_ID = strSubTaskID;
                    objSubtaskAppVo            = new TMisMonitorSubtaskAppLogic().Details(objSubtaskAppVo);

                    //objSubtaskAppVo.SAMPLING_CHECK = "administrator";//临时测试

                    if (!string.IsNullOrEmpty(objSubtaskAppVo.SAMPLING_CHECK))
                    {
                        //TSysUserVo objUserVo = new TSysUserLogic().Details(objSubtaskAppVo.SAMPLING_CHECK);

                        //var childFlowID = System.Configuration.ConfigurationManager.AppSettings["XCSSH"].ToString().Trim(',');
                        //var childNodeID = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["XCSSHJNode"]);

                        //CCFlowFacade.Node_CreateBlankWork(UserNo, childFlowID, UserNo, null, workID, fid, flowId, nodeId, UserNo, childNodeID, objUserVo.USER_NAME.Trim(','), "@GroupMark=" + strSubTaskID);
                    }
                    else
                    {
                        Response.Write("false没有指定现场项目复核人,不能发送");
                        Response.ContentType     = "text/plain";
                        Response.ContentEncoding = Encoding.UTF8;
                        Response.End();
                    }

                    //yinchengyi 2015-4-24 打开页面时 记录ccflow流程ID信息到业务系统数据库
                    //TMisMonitorSubtaskVo objSubtaskVo = new TMisMonitorSubtaskVo();
                    //objSubtaskVo.ID = strSubTaskID;
                    //objSubtaskVo.CCFLOW_ID1 = workID.ToString();
                    //objSubtaskVo.CCFLOW_ID2 = fid.ToString();
                    //if (!new TMisMonitorSubtaskLogic().Edit(objSubtaskVo))
                    //{
                    //    Response.Write("false流程ID更新失败,不能发送");
                    //    Response.ContentType = "text/plain";
                    //    Response.ContentEncoding = Encoding.UTF8;
                    //    Response.End();
                    //}
                }

                //分析类现场项目判断
                var strTaskID = "";
                var FID       = Convert.ToInt64(Request.QueryString["FID"]);

                TMisContractPlanVo objPlanVo = new TMisContractPlanVo();
                objPlanVo.CCFLOW_ID1 = FID.ToString();
                objPlanVo            = new TMisContractPlanLogic().Details(objPlanVo);
                if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                {
                    //当前流程属于送样的
                    strTaskID = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    strSubTaskID = "";
                }
                else
                {
                    strTaskID    = "";
                    strSubTaskID = CCFlowFacade.GetFlowIdentification(UserNo, workID).Split('|')[0];
                }

                DataTable dtInfo = new TMisMonitorResultLogic().getItemInfoBySubTaskID_MAS(strTaskID, strSubTaskID, true);
                for (int i = 0; i < dtInfo.Rows.Count; i++)
                {
                    if (dtInfo.Rows[i]["IS_ANYSCENE_ITEM"].ToString() == "1")
                    {
                        if (dtInfo.Rows[i]["USER_NAME"].ToString() == "")
                        {
                            Response.Write("false分析负责人信息没有选择完整,请检查");

                            Response.ContentType = "text/plain";
                            Response.End();
                        }
                    }
                }

                Response.Write("true");
                Response.ContentEncoding = Encoding.UTF8;
                Response.ContentType     = "text/plain";
                Response.End();
            }

            if (Request.QueryString["type"] == "AfterSuccessSend")
            {
                Response.ContentEncoding = Encoding.GetEncoding("gb2312");

                var UserNo = Request.QueryString["UserNo"];//有两个UserNo???等解决
                UserNo = UserNo.Split(',').Count() > 1 ? UserNo.Split(',')[1] : UserNo;


                var workID = Convert.ToInt32(Request.QueryString["OID"]);//OID为流程ID

                var flowId = Request.QueryString["FK_Flow"];
                var nodeId = Convert.ToInt32(Request.QueryString["FK_Node"]);
                var fid    = Convert.ToInt32(Request.QueryString["FID"]);

                var strSubTaskID = CCFlowFacade.GetFlowIdentification(UserNo, workID).Split('|')[0];

                //获取现场项目
                DataTable dtSampleItem = new TMisMonitorResultLogic().SelectSampleItemWithSubtaskID(strSubTaskID);

                if (dtSampleItem.Rows.Count > 0)
                {
                    TMisMonitorSubtaskAppVo objSubtaskAppVo = new TMisMonitorSubtaskAppVo();
                    objSubtaskAppVo.SUBTASK_ID = strSubTaskID;
                    objSubtaskAppVo            = new TMisMonitorSubtaskAppLogic().Details(objSubtaskAppVo);



                    if (!string.IsNullOrEmpty(objSubtaskAppVo.SAMPLING_CHECK))
                    {
                        TSysUserVo objUserVo = new TSysUserLogic().Details(objSubtaskAppVo.SAMPLING_CHECK);

                        var childFlowID = System.Configuration.ConfigurationManager.AppSettings["XCSSH"].ToString();
                        var childNodeID = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["XCSSHJNode"]);

                        var subTaskVo = new TMisMonitorSubtaskLogic().Details(strSubTaskID);

                        var taskVo = new TMisMonitorTaskLogic().Details(subTaskVo.TASK_ID);

                        var tempID = CCFlowFacade.Node_CreateBlankWork(UserNo, childFlowID, UserNo, null, workID, fid, flowId, nodeId, UserNo, childNodeID, objUserVo.USER_NAME, "@GroupMark=" + strSubTaskID);
                        CCFlowFacade.SetFlowTitle(UserNo, childFlowID, tempID, taskVo.PROJECT_NAME);
                    }
                }

                //创建分析类现场项目
                var strTaskID = "";
                var FID       = Convert.ToInt64(Request.QueryString["FID"]);

                UserNo = UserNo.Split(',').Count() > 1 ? UserNo.Split(',')[1] : UserNo;
                UserNo = UserNo.Trim(',');

                TMisContractPlanVo objPlanVo = new TMisContractPlanVo();
                objPlanVo.CCFLOW_ID1 = FID.ToString();
                objPlanVo            = new TMisContractPlanLogic().Details(objPlanVo);
                if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                {
                    //当前流程属于送样的
                    strTaskID = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    strSubTaskID = "";
                }
                else
                {
                    strTaskID    = "";
                    strSubTaskID = CCFlowFacade.GetFlowIdentification(UserNo, workID).Split('|')[0];
                }

                var childFlowID3 = System.Configuration.ConfigurationManager.AppSettings["FXLXCXM"].ToString().Trim(',');
                var childNodeID3 = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["FXLXCXMJNode"]);//配置为跳转到分析室审核流程的第三个节点by lhm

                DataTable dtInfo = new TMisMonitorResultLogic().getItemInfoBySubTaskID_MAS(strTaskID, strSubTaskID, true);
                for (int i = 0; i < dtInfo.Rows.Count; i++)
                {
                    if (dtInfo.Rows[i]["USER_NAME"].ToString() == "")
                    {
                        Response.Write("false分析负责人信息没有选择完整,请检查");

                        Response.ContentType = "text/plain";
                        Response.End();
                    }

                    var itemVo    = new TBaseItemInfoLogic().Details(dtInfo.Rows[i]["ITEM_ID"].ToString());
                    var sampleVo  = new TMisMonitorSampleInfoLogic().Details(dtInfo.Rows[i]["SAMPLE_ID"].ToString());
                    var subtaskVO = new TMisMonitorSubtaskLogic().Details(sampleVo.SUBTASK_ID);
                    var taskVo    = new TMisMonitorTaskLogic().Details(subtaskVO.TASK_ID);

                    long workid = 0;
                    var  title  = string.Format("{0} {1}", taskVo.PROJECT_NAME, itemVo.ITEM_NAME);

                    if (dtInfo.Rows[i]["IS_ANYSCENE_ITEM"].ToString() == "1")  //分析类现场项目
                    {
                        workid = CCFlowFacade.Node_CreateBlankWork(UserNo, childFlowID3, UserNo, null, workID, fid, flowId, nodeId, UserNo, childNodeID3, dtInfo.Rows[i]["USER_NAME"].ToString().Trim(','), "@GroupMark=" + dtInfo.Rows[i]["RESULTID"].ToString().Trim(','));

                        CCFlowFacade.SetFlowTitle(Request["UserNo"].ToString(), childFlowID3, workid, title);
                    }
                }

                Response.Write("发送成功");
                Response.ContentType = "text/plain";
                Response.End();
            }



            if (!string.IsNullOrEmpty(Request.QueryString["DirectionType"]))
            {
                var type      = Request.QueryString["DirectionType"];
                var direction = Request.QueryString["Direction"];
                var UserNo    = Request.QueryString["UserNo"];
                var workID    = Request.QueryString["WorkId"];



                var strSubTaskID = CCFlowFacade.GetFlowIdentification(UserNo, Convert.ToInt64(workID)).Split('|')[0];

                switch (type)
                {
                case "type1":

                    //分析类现场项目在该环节创建时,该逻辑需要更改为是否存在分析类项目 by lhm
                    //DataTable dtSampleDept = new TMisMonitorResultLogic().SelectSampleDeptWithSubtaskID(strSubTaskID);//存在分析类项目和分析类现场项目
                    DataTable dtSampleDept = new TMisMonitorResultLogic().SelectSampleDeptWithSubtaskID2(strSubTaskID);    //存在分析类项目

                    if (direction == "d1")
                    {
                        if (dtSampleDept.Rows.Count == 0)
                        {
                            Response.Write("1");
                        }
                        else
                        {
                            Response.Write("0");
                        }
                    }
                    else if (direction == "d2")
                    {
                        if (dtSampleDept.Rows.Count > 0)
                        {
                            Response.Write("1");
                        }
                        else
                        {
                            Response.Write("0");
                        }
                    }
                    Response.End();
                    break;

                default:
                    Response.Write("0");
                    Response.End();
                    break;
                }
            }



            if (Request.QueryString["WorkID"] != null)
            {
                var workID = Convert.ToInt64(Request.QueryString["WorkID"]);

                ccflowWorkId = workID.ToString();
                ccflowFid    = Request.QueryString["FID"];



                var identification = CCFlowFacade.GetFlowIdentification(LogInfo.UserInfo.USER_NAME, workID).Split('|')[0];

                this.SUBTASK_ID.Value = identification;
                strSubTaskID          = identification;
                strSourceID           = identification;

                TMisMonitorSubtaskVo objSubtaskVo = new TMisMonitorSubtaskLogic().Details(strSubTaskID);
                strMonitorID          = objSubtaskVo.MONITOR_ID;
                this.MONITOR_ID.Value = strMonitorID;

                TMisMonitorTaskVo objTask = new TMisMonitorTaskLogic().Details(objSubtaskVo.TASK_ID);
                this.PLAN_ID.Value = objTask.PLAN_ID;

                //yinchengyi 2015-4-24 打开页面时 记录ccflow流程ID信息到业务系统数据库
                //TMisMonitorSubtaskVo objSubtaskVo = new TMisMonitorSubtaskVo();
                //objSubtaskVo.ID = strSubTaskID;
                objSubtaskVo.CCFLOW_ID1 = workID.ToString();
                objSubtaskVo.CCFLOW_ID2 = ccflowFid.ToString();
                if (!new TMisMonitorSubtaskLogic().Edit(objSubtaskVo))
                {
                    //todo_yinchengyi:
                }
            }
            if (!string.IsNullOrEmpty(Request.QueryString["strSubtaskID"]))
            {
                //监测子任务ID
                this.SUBTASK_ID.Value = Request.QueryString["strSubtaskID"].ToString();
            }

            //点位动态属性信息拷贝
            AttributeValueCopy();
            //样品编号
            //SetSampleCode();

            //委托书信息
            if (!string.IsNullOrEmpty(Request.QueryString["type"]) && Request.QueryString["type"] == "getContractInfo")
            {
                strResult = GetContractInfo();
                Response.Write(strResult);
                Response.End();
            }
            //获取现场复核人信息
            if (Request["type"] != null && Request["type"].ToString() == "GetCheckUser")
            {
                strResult = GetCheckUser(Request.QueryString["MonitorID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (Request.QueryString["WorkID"] != null)
            {
                var workid = Convert.ToInt64(Request.QueryString["WorkID"]); //获取主流程ID
                //var workid = CCFlowFacade.GetFatherIDOfSubFlow(LogInfo.UserInfo.USER_NAME, FID);

                TMisContractPlanVo objPlanVo = new TMisContractPlanVo();
                objPlanVo.CCFLOW_ID1 = workid.ToString();
                objPlanVo            = new TMisContractPlanLogic().Details(objPlanVo);

                if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                {
                    //当前流程属于送样的
                    this.TASK_ID.Value = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    this.SUBTASK_ID.Value = "";
                }
                else
                {
                    //当前流程属于采样的
                    this.TASK_ID.Value = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    TMisMonitorSubtaskVo sub = new TMisMonitorSubtaskVo();
                    sub.TASK_ID = this.TASK_ID.Value;
                    DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(sub);
                    this.SUBTASK_ID.Value = dt.Rows[0]["ID"].ToString();
                }
            }

            //定义结果
            string strResult = "";

            //任务信息
            if (Request["type"] != null && Request["type"].ToString() == "getOneGridInfo")
            {
                strResult = getOneGridInfo(Request["strTaskID"].ToString(), Request["strSubTaskID"].ToString());
                Response.Write(strResult);
                Response.End();
            }

            //获取样品信息
            if (Request["type"] != null && Request["type"].ToString() == "getSampleGridInfo")
            {
                strResult = getSampleGridInfo(Request["strTaskID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            //获取监测项目信息
            if (Request["type"] != null && Request["type"].ToString() == "getItemGridInfo")
            {
                strResult = getItemGridInfo(Request["SampleGridId"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            //获取现场质控信息
            if (Request["type"] != null && Request["type"].ToString() == "getQCGrid1Info")
            {
                strResult = getQCGrid1Info(Request["ResultId"].ToString(), Request["strItemID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            //获取实验室质控信息
            if (Request["type"] != null && Request["type"].ToString() == "getQCGrid2Info")
            {
                strResult = getQCGrid2Info(Request["ResultId"].ToString());
                Response.Write(strResult);
                Response.End();
            }
        }
    }
    protected void ReturnAllTaskStep()
    {
        //任务对象
        TMisMonitorTaskVo objTask = new TMisMonitorTaskLogic().Details(this.TASK_ID.Value);
        //子任务信息
        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskLogic().Details(new TMisMonitorSubtaskVo()
        {
            TASK_ID    = this.TASK_ID.Value,
            MONITOR_ID = this.dllMonitor.SelectedValue
        });
        //样品信息
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoLogic().Details(new TMisMonitorSampleInfoVo()
        {
            SUBTASK_ID = objSubTask.ID,
            QC_TYPE    = "0"
        });
        //样品结果信息
        DataTable dtResult = new TMisMonitorResultLogic().SelectResultAndAppWithSubtaskID(objSubTask.ID);
        //校阅
        //委托书对象
        TMisContractVo objContract = new TMisContractLogic().Details(objTask.CONTRACT_ID);
        //预约表
        TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(new TMisContractPlanVo()
        {
            CONTRACT_ID = objContract.ID
        });
        //预约频次表(已预约未办理数)
        int intIsPlanNoDo = new TMisContractPointFreqLogic().GetSelectResultCount(new TMisContractPointFreqVo()
        {
            CONTRACT_ID = objContract.ID,
            IF_PLAN     = "0"
        });

        #region 暂行的定制生成任务追踪方法 页面HTML构建
        //定义已处理DIV样式
        string strDivHas = "<div style='width:150px;height:50px;background-color:#5a8f5a;text-align: center;vertical-align: middle;'>{0}</div>";
        //定义待处理DIV样式
        string strDivWait = "<div style='width:150px;height:50px;background-color:#de9a1d;text-align: center;vertical-align: middle;'>{0}</div>";
        //定义特殊处理DIV样式
        //string strDivSepecial = "<div style='width:100px;height:50px;background-color:#e34323;text-align: center;vertical-align: middle;'>{0}</div";
        //定义未处理DIV样式
        //string strDivNo = "<div style='width:100px;height:50px;background-color:#a9a9a9;text-align: center;vertical-align: middle;'>{0}</div>";

        Table table1 = new Table();
        table1.CssClass = "tMain";
        TableRow  row1  = new TableRow();//委托流程连接
        TableCell cell1 = new TableCell();
        cell1.Text = string.Format(strDivHas, "<a href='#' onclick='ShowContract();'>委托流程</a>");
        row1.Cells.Add(cell1);
        table1.Rows.Add(row1);
        //是否已预约
        if (intIsPlanNoDo > 0)
        {
            table1 = GetCommonRow(table1, strDivHas, "采样预约", "");
        }
        else
        {
            table1 = GetCommonRow(table1, strDivWait, "采样预约", "");

            this.divSample.Controls.Add(table1);
            return;
        }
        //是否预约办理
        if (objPlan.HAS_DONE == "1")//已办理
        {
            table1 = GetCommonRow(table1, strDivHas, "预约办理", "");
        }
        else
        {
            table1 = GetCommonRow(table1, strDivWait, "预约办理", "");

            this.divSample.Controls.Add(table1);
            return;
        }
        //采样负责人
        string strSampleManager = GetSampleManager(objSubTask.SAMPLING_MANAGER_ID);
        //交接人
        string    strSampleAccept = string.Empty;
        DataTable dtSampleAccept  = new TSysUserDutyLogic().SelectUserDuty("sample_allocation_sheet", this.dllMonitor.SelectedValue);
        if (dtSampleAccept.Rows.Count > 0)
        {
            strSampleAccept = GetSampleManager(dtSampleAccept.Rows[0]["USERID"].ToString());
        }
        //是否采样
        if (objSubTask.TASK_STATUS == "02")
        {
            table1 = GetCommonRow(table1, strDivWait, "采样", strSampleManager);
        }
        //样品交接
        if (objSubTask.TASK_STATUS == "021")
        {
            table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
            table1 = GetCommonRow(table1, strDivWait, "样品交接", strSampleAccept);
        }
        //分析任务分配
        DataRow[] dr1 = dtResult.Select(" RESULT_STATUS='01'");//过滤过分析分配环节任务
        //分析结果录入
        DataRow[] dr2 = dtResult.Select(" RESULT_STATUS='20'");
        //数据审核
        DataRow[] dr3 = dtResult.Select(" RESULT_STATUS='30'");
        //分析室主任审核
        DataRow[] dr4 = dtResult.Select(" RESULT_STATUS='40'");
        //技术室主任审核
        DataRow[] dr5 = dtResult.Select(" RESULT_STATUS='50'");
        if (objSubTask.TASK_STATUS == "03")
        {
            if (dr1.Length > 0)//环节在分析任务分配
            {
                table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
                table1 = GetCommonRow(table1, strDivHas, "样品交接", strSampleAccept);
                table1 = GetCommonRow(table1, strDivWait, "分析任务分配", "");
            }
            else
            {
                table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
                table1 = GetCommonRow(table1, strDivHas, "样品交接", strSampleAccept);
                table1 = GetCommonRow(table1, strDivHas, "分析任务分配", "");
                table1 = GetResultRow(table1, strDivHas, strDivWait, "分析结果录入", dtResult);

                if (dr2.Length > 0)     //结果提交不完全时
                {
                    if (dr5.Length > 0) //流程已到技术室审核环节(最后环节)
                    {
                        table1 = GetCommonRow(table1, strDivWait, "数据审核", "");
                        table1 = GetCommonRow(table1, strDivWait, "分析室主任审核", "");
                        table1 = GetCommonRow(table1, strDivWait, "技术室主任审核", "");
                    }
                    else
                    {
                        if (dr4.Length > 0)//流程仅到分析室审核
                        {
                            table1 = GetCommonRow(table1, strDivWait, "数据审核", "");
                            table1 = GetCommonRow(table1, strDivWait, "分析室主任审核", "");
                        }
                        else
                        {
                            if (dr3.Length > 0)//流程仅到数据审核
                            {
                                table1 = GetCommonRow(table1, strDivWait, "数据审核", "");
                            }
                        }
                    }
                }
                else//结果提交完全时
                {
                    if (dr3.Length > 0)//数据审核不完全
                    {
                        table1 = GetCommonRow(table1, strDivWait, "数据审核", "");
                    }
                    else
                    {
                        table1 = GetCommonRow(table1, strDivHas, "数据审核", "");
                    }
                    if (dr4.Length > 0)//分析审核不完全
                    {
                        table1 = GetCommonRow(table1, strDivWait, "分析室主任审核", "");
                    }
                    else
                    {
                        table1 = GetCommonRow(table1, strDivHas, "分析室主任审核", "");
                    }
                    if (dr5.Length > 0)                                                    //流程已到技术室审核环节(最后环节)
                    {
                        if (objSubTask.TASK_STATUS == "09" && objTask.TASK_STATUS == "09") //分析流程完成
                        {
                            table1 = GetCommonRow(table1, strDivHas, "技术室主任审核", "");
                            TableRow  row  = new TableRow();//委托流程连接
                            TableCell cell = new TableCell();
                            cell.Text = string.Format(strDivHas, "<a href='#' onclick='ShowReport();'>报告流程</a>");
                            row.Cells.Add(cell);
                            table1.Rows.Add(row);
                        }
                        else
                        {
                            table1 = GetCommonRow(table1, strDivWait, "技术室主任审核", "");
                        }
                    }
                }
            }
        }
        this.divSample.Controls.Add(table1);
        #endregion
    }
예제 #24
0
    /// <summary>
    /// 预约办理
    /// </summary>
    /// <param name="strPlanID">预约表ID</param>
    protected string doPlanTask()
    {
        string strReturn       = "";
        string strTaskFreqType = "0";
        string strCodeRule     = "";

        strTaskFreqType = System.Configuration.ConfigurationManager.AppSettings["TaskFreqType"].ToString();
        //预约表对象
        TMisContractPlanVo objContractPlan = new TMisContractPlanLogic().Details(strPlanID);
        TMisContractVo     objContract     = new TMisContractVo();

        objContract.CONTRACT_TYPE = strContractTypeId;
        if (objContractPlan != null)
        {
            //获取委托书信息

            #region 构造监测任务对象
            TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();
            objTask.ID             = GetSerialNumber("t_mis_monitor_taskId");
            objTask.PLAN_ID        = strPlanID;
            objTask.PROJECT_NAME   = strProjectName;
            objTask.CONTRACT_TYPE  = strContractTypeId;
            objTask.TEST_TYPE      = strTest_Type;
            objTask.CREATOR_ID     = LogInfo.UserInfo.ID;
            objTask.CREATE_DATE    = DateTime.Now.ToString();
            objTask.TASK_STATUS    = "01";
            objTask.COMFIRM_STATUS = "0";
            objTask.SAMPLE_SOURCE  = "抽样";
            objTask.TASK_TYPE      = strTaskType;
            objTask.CONTRACT_YEAR  = strContractYear;
            objTask.ASKING_DATE    = strAskingDate;
            //string strQcSetting = ConfigurationManager.AppSettings["QCsetting"].ToString();
            //if (!String.IsNullOrEmpty(strQcSetting))
            //{
            //    if (strQcSetting == "1")
            //    {
            //        objTask.QC_STATUS = "1";
            //    }
            //    else
            //    {
            //        objTask.QC_STATUS = "2";
            //    }
            //}

            //生成任务编号
            TBaseSerialruleVo objSerialTask = new TBaseSerialruleVo();
            objSerialTask.SERIAL_TYPE = "4";
            //潘德军 2013-12-23  任务单号可改,且初始不生成
            objTask.TICKET_NUM = PageBase.CreateBaseDefineCode(objSerialTask, objContract);
            //objTask.TICKET_NUM = "未编号";
            //生成委托书单号
            objSerialTask.SERIAL_TYPE = "1";
            strCodeRule           = CreateBaseDefineCode(objSerialTask, objContract);
            objTask.CONTRACT_CODE = strCodeRule;

            #region 构造监测任务委托企业信息
            //插入委托企业信息
            if (!String.IsNullOrEmpty(strCompanyId))
            {
                strClientCompanyId        = InsertContractCompanyInfo(objTask.ID, strCompanyId);
                objTask.CLIENT_COMPANY_ID = strClientCompanyId;
            }
            //插入受检企业信息
            if (!String.IsNullOrEmpty(strCompanyFrimId))
            {
                strTestCompanyId          = InsertContractCompanyInfo(objTask.ID, strCompanyFrimId);
                objTask.TESTED_COMPANY_ID = strTestCompanyId;
            }
            #endregion
            #endregion

            #region 监测报告 胡方扬 2013-04-23 Modify  将报告记录初始化生成数据移到委托书办理完毕后就生成
            TMisMonitorReportVo objReportVo = new TMisMonitorReportVo();
            objReportVo.ID = GetSerialNumber("t_mis_monitor_report_id");
            //生成报告编号  胡方扬 2013-04-24
            //TBaseSerialruleVo objSerial = new TBaseSerialruleVo();
            //objSerial.SERIAL_TYPE = "3";

            //objReportVo.REPORT_CODE = PageBase.CreateBaseDefineCode(objSerial,objContract);
            DataTable objDt = PageBase.getDictList("RptISWT_Code");
            if (objDt.Rows.Count > 0)
            {
                if (objDt.Rows[0]["DICT_CODE"].ToString() == "1")
                {
                    objReportVo.REPORT_CODE = objTask.TICKET_NUM;
                }
            }
            objReportVo.TASK_ID = objTask.ID;
            objReportVo.IF_GET  = "0";
            #endregion

            #region 监测子任务信息 根据委托书监测类别进行构造
            //监测子任务信息 根据委托书监测类别进行构造
            ArrayList arrSubTask         = new ArrayList(); //监测子任务集合
            ArrayList arrTaskPoint       = new ArrayList(); //监测点位集合
            ArrayList arrPointItem       = new ArrayList(); //监测点位明细集合
            ArrayList arrSample          = new ArrayList(); //样品集合
            ArrayList arrSampleResult    = new ArrayList(); //样品结果集合
            ArrayList arrSampleResultApp = new ArrayList(); //样品分析执行表
            #endregion

            //监测类别集合
            DataTable dtTestType = new TMisContractPointLogic().GetTestType(strPlanID);
            //预约点位
            DataTable dtPoint = new TMisContractPointLogic().SelectPointTable(strPlanID);
            //获取预约点位明细信息
            DataTable dtContractPoint = new TMisContractPointLogic().SelectByTableForPlan(strPlanID);
            //监测子任务
            #region 注释
            //#region 监测子任务
            //if (dtTestType.Rows.Count > 0)
            //{
            //    string strSubTaskIDs = GetSerialNumberList("t_mis_monitor_subtaskId", dtTestType.Rows.Count);
            //    string[] arrSubTaskIDs = strSubTaskIDs.Split(',');
            //    for (int i = 0; i < dtTestType.Rows.Count; i++)
            //    {
            //        string str = dtTestType.Rows[i]["MONITOR_ID"].ToString();//监测类别
            //        if (str.Length > 0)
            //        {
            //            #region 监测子任务
            //            //监测子任务
            //            TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskVo();
            //            string strSampleManagerID = "";//采样负责人ID
            //            string strSampleID = "";//采样协同人ID串
            //            //GetSamplingMan(str, objContract.ID, ref strSampleManagerID, ref strSampleID);
            //            objSubtask.ID = arrSubTaskIDs[i];
            //            objSubtask.TASK_ID = objTask.ID;
            //            objSubtask.MONITOR_ID = str;

            //            if (objContract.PROJECT_ID != "")
            //            {
            //                objSubtask.SAMPLING_MANAGER_ID = objContract.PROJECT_ID;
            //            }
            //            else
            //            {
            //                objSubtask.SAMPLING_MANAGER_ID = strSampleManagerID;
            //            }
            //            objSubtask.SAMPLING_ID = strSampleID;
            //            objSubtask.TASK_TYPE = "发送";
            //            objSubtask.TASK_STATUS = "01";
            //            arrSubTask.Add(objSubtask);
            //            #endregion

            //            #region 按类别分点位
            //            //按类别分点位
            //            DataRow[] dtTypePoint = dtPoint.Select("MONITOR_ID=" + str);
            //            if (dtTypePoint.Length > 0)
            //            {
            //                string strTaskPointIDs = GetSerialNumberList("t_mis_monitor_taskpointId", dtTypePoint.Length);
            //                string[] arrTaskPointIDs = strTaskPointIDs.Split(',');
            //                string strSampleIDs = GetSerialNumberList("MonitorSampleId", dtTypePoint.Length);
            //                string[] arrSampleIDs = strSampleIDs.Split(',');

            //                for (int j = 0; j < dtTypePoint.Length; j++)
            //                {
            //                    DataRow drPoint = dtTypePoint[j];
            //                    #region 监测点位
            //                    // 监测点位
            //                    TMisMonitorTaskPointVo objTaskPoint = new TMisMonitorTaskPointVo();
            //                    objTaskPoint.ID = arrTaskPointIDs[j];
            //                    objTaskPoint.TASK_ID = objTask.ID;
            //                    objTaskPoint.SUBTASK_ID = objSubtask.ID;
            //                    objTaskPoint.POINT_ID = drPoint["POINT_ID"].ToString();
            //                    objTaskPoint.MONITOR_ID = str;
            //                    //objTaskPoint.COMPANY_ID = objTaskTested.ID;
            //                    objTaskPoint.CONTRACT_POINT_ID = drPoint["ID"].ToString();
            //                    objTaskPoint.POINT_NAME = drPoint["POINT_NAME"].ToString();
            //                    objTaskPoint.DYNAMIC_ATTRIBUTE_ID = drPoint["DYNAMIC_ATTRIBUTE_ID"].ToString();
            //                    objTaskPoint.ADDRESS = drPoint["ADDRESS"].ToString();
            //                    objTaskPoint.LONGITUDE = drPoint["LONGITUDE"].ToString();
            //                    objTaskPoint.LATITUDE = drPoint["LATITUDE"].ToString();
            //                    objTaskPoint.FREQ = drPoint["FREQ"].ToString();
            //                    objTaskPoint.DESCRIPTION = drPoint["DESCRIPTION"].ToString();
            //                    objTaskPoint.NATIONAL_ST_CONDITION_ID = drPoint["NATIONAL_ST_CONDITION_ID"].ToString();
            //                    objTaskPoint.INDUSTRY_ST_CONDITION_ID = drPoint["INDUSTRY_ST_CONDITION_ID"].ToString();
            //                    objTaskPoint.LOCAL_ST_CONDITION_ID = drPoint["LOCAL_ST_CONDITION_ID"].ToString();
            //                    objTaskPoint.IS_DEL = "0";
            //                    objTaskPoint.NUM = drPoint["NUM"].ToString();
            //                    objTaskPoint.CREATE_DATE = DateTime.Now.ToString();
            //                    arrTaskPoint.Add(objTaskPoint);
            //                    #endregion

            //                    #region 样品
            //                    //样品 与点位对应
            //                    TMisMonitorSampleInfoVo objSampleInfo = new TMisMonitorSampleInfoVo();
            //                    objSampleInfo.ID = arrSampleIDs[j];
            //                    objSampleInfo.SUBTASK_ID = objSubtask.ID;
            //                    objSampleInfo.POINT_ID = objTaskPoint.ID;
            //                    objSampleInfo.SAMPLE_NAME = objTaskPoint.POINT_NAME;
            //                    objSampleInfo.QC_TYPE = "0";//默认原始样
            //                    objSampleInfo.NOSAMPLE = "0";//默认未采样
            //                    arrSample.Add(objSampleInfo);
            //                    #endregion

            //                    //点位采用的标准条件项ID
            //                    string strConditionID = "";
            //                    if (!string.IsNullOrEmpty(objTaskPoint.NATIONAL_ST_CONDITION_ID))
            //                    {
            //                        strConditionID = objTaskPoint.NATIONAL_ST_CONDITION_ID;
            //                    }
            //                    if (!string.IsNullOrEmpty(objTaskPoint.LOCAL_ST_CONDITION_ID))
            //                    {
            //                        strConditionID = objTaskPoint.LOCAL_ST_CONDITION_ID;
            //                    }
            //                    if (!string.IsNullOrEmpty(objTaskPoint.INDUSTRY_ST_CONDITION_ID))
            //                    {
            //                        strConditionID = objTaskPoint.INDUSTRY_ST_CONDITION_ID;
            //                    }

            //                    //预约项目明细
            //                    DataRow[] dtPointItem = dtContractPoint.Select("CONTRACT_POINT_ID=" + drPoint["ID"].ToString());
            //                    if (dtPointItem.Length > 0)
            //                    {
            //                        string strTaskItemIDs = GetSerialNumberList("t_mis_monitor_task_item_id", dtPointItem.Length);
            //                        string[] arrTaskItemIDs = strTaskItemIDs.Split(',');
            //                        string strSampleResultIDs = GetSerialNumberList("MonitorResultId", dtPointItem.Length);
            //                        string[] arrSampleResultIDs = strSampleResultIDs.Split(',');
            //                        string strResultAppIDs = GetSerialNumberList("MonitorResultAppId", dtPointItem.Length);
            //                        string[] arrResultAppIDs = strResultAppIDs.Split(',');

            //                        for (int k = 0; k < dtPointItem.Length; k++)
            //                        {
            //                            DataRow drPointItem = dtPointItem[k];
            //                            //项目采用的标准上限、下限
            //                            string strUp = "";
            //                            string strLow = "";
            //                            string strConditionType = "";
            //                            getStandardValue(drPointItem["ITEM_ID"].ToString(), strConditionID, ref strUp, ref strLow, ref strConditionType);
            //                            #region 构造监测任务点位明细表
            //                            //构造监测任务点位明细表
            //                            TMisMonitorTaskItemVo objMonitorTaskItem = new TMisMonitorTaskItemVo();
            //                            objMonitorTaskItem.ID = arrTaskItemIDs[k];
            //                            objMonitorTaskItem.TASK_POINT_ID = objTaskPoint.ID;
            //                            objMonitorTaskItem.ITEM_ID = drPointItem["ITEM_ID"].ToString();
            //                            objMonitorTaskItem.CONDITION_ID = strConditionID;
            //                            objMonitorTaskItem.CONDITION_TYPE = strConditionType;
            //                            objMonitorTaskItem.ST_UPPER = strUp;
            //                            objMonitorTaskItem.ST_LOWER = strLow;
            //                            objMonitorTaskItem.IS_DEL = "0";
            //                            arrPointItem.Add(objMonitorTaskItem);
            //                            #endregion

            //                            #region 构造样品结果表
            //                            //构造样品结果表
            //                            string strAnalysisID = "";//分析方法ID
            //                            string strStandardID = "";//方法依据ID
            //                            getMethod(drPointItem["ITEM_ID"].ToString(), ref strAnalysisID, ref strStandardID);
            //                            TMisMonitorResultVo objSampleResult = new TMisMonitorResultVo();
            //                            objSampleResult.ID = arrSampleResultIDs[k];
            //                            objSampleResult.SAMPLE_ID = objSampleInfo.ID;
            //                            objSampleResult.QC_TYPE = objSampleInfo.QC_TYPE;
            //                            objSampleResult.ITEM_ID = drPointItem["ITEM_ID"].ToString();
            //                            objSampleResult.SAMPLING_INSTRUMENT =GetItemSamplingInstrumentID( drPointItem["ITEM_ID"].ToString());
            //                            objSampleResult.ANALYSIS_METHOD_ID = strAnalysisID;
            //                            objSampleResult.STANDARD_ID = strStandardID;
            //                            objSampleResult.QC = "0";// 默认原始样手段
            //                            objSampleResult.TASK_TYPE = "发送";
            //                            objSampleResult.RESULT_STATUS = "01";//默认分析结果填报
            //                            objSampleResult.PRINTED = "0";//默认未打印
            //                            arrSampleResult.Add(objSampleResult);
            //                            #endregion

            //                            #region 构造样品执行表
            //                            //构造样品执行表
            //                            TMisMonitorResultAppVo objResultApp = new TMisMonitorResultAppVo();
            //                            objResultApp.ID = arrResultAppIDs[k];
            //                            objResultApp.RESULT_ID = objSampleResult.ID;
            //                            objResultApp.HEAD_USERID = drPointItem["ANALYSIS_MANAGER"].ToString();
            //                            objResultApp.ASSISTANT_USERID = drPointItem["ANALYSIS_ID"].ToString();
            //                            arrSampleResultApp.Add(objResultApp);
            //                            #endregion
            //                        }
            //                    }
            //                }
            //            }
            //            #endregion
            //        }
            //    }
            //}
            //#endregion
            #endregion
            //监测子任务
            #region 监测子任务
            if (dtTestType.Rows.Count > 0)
            {
                string   strSubTaskIDs = new PageBase().GetSerialNumberList("t_mis_monitor_subtaskId", dtTestType.Rows.Count);
                string[] arrSubTaskIDs = strSubTaskIDs.Split(',');
                for (int i = 0; i < dtTestType.Rows.Count; i++)
                {
                    string str = dtTestType.Rows[i]["MONITOR_ID"].ToString();//监测类别
                    if (str.Length > 0)
                    {
                        #region 监测子任务
                        //监测子任务
                        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskVo();
                        string strSampleManagerID       = ""; //采样负责人ID
                        string strSampleID = "";              //采样协同人ID串
                        GetSamplingMan(str, objContract.ID, ref strSampleManagerID, ref strSampleID);
                        objSubtask.ID         = arrSubTaskIDs[i];
                        objSubtask.TASK_ID    = objTask.ID;
                        objSubtask.MONITOR_ID = str;
                        if (objContract.PROJECT_ID != "")
                        {
                            objSubtask.SAMPLING_MANAGER_ID = objContract.PROJECT_ID;
                        }
                        else
                        {
                            objSubtask.SAMPLING_MANAGER_ID = strSampleManagerID;
                        }
                        objSubtask.SAMPLING_ID = strSampleID;
                        objSubtask.TASK_TYPE   = "发送";
                        objSubtask.TASK_STATUS = "01";
                        arrSubTask.Add(objSubtask);
                        #endregion

                        #region  类别分点位
                        //按类别分点位
                        DataRow[] dtTypePoint = dtPoint.Select("MONITOR_ID='" + str + "'");
                        if (dtTypePoint.Length > 0)
                        {
                            string   strTaskPointIDs = new PageBase().GetSerialNumberList("t_mis_monitor_taskpointId", dtTypePoint.Length);
                            string[] arrTaskPointIDs = strTaskPointIDs.Split(',');
                            string   strSampleIDs    = new PageBase().GetSerialNumberList("MonitorSampleId", dtTypePoint.Length);
                            string[] arrSampleIDs    = strSampleIDs.Split(',');

                            for (int j = 0; j < dtTypePoint.Length; j++)
                            {
                                DataRow drPoint = dtTypePoint[j];
                                #region 监测点位
                                // 监测点位
                                TMisMonitorTaskPointVo objTaskPoint = new TMisMonitorTaskPointVo();
                                objTaskPoint.ID         = arrTaskPointIDs[j];
                                objTaskPoint.TASK_ID    = objTask.ID;
                                objTaskPoint.SUBTASK_ID = objSubtask.ID;
                                objTaskPoint.POINT_ID   = drPoint["POINT_ID"].ToString();
                                objTaskPoint.MONITOR_ID = str;
                                //objTaskPoint.COMPANY_ID = objTaskTested.ID;
                                objTaskPoint.CONTRACT_POINT_ID    = drPoint["ID"].ToString();
                                objTaskPoint.POINT_NAME           = drPoint["POINT_NAME"].ToString();
                                objTaskPoint.DYNAMIC_ATTRIBUTE_ID = drPoint["DYNAMIC_ATTRIBUTE_ID"].ToString();
                                objTaskPoint.ADDRESS     = drPoint["ADDRESS"].ToString();
                                objTaskPoint.LONGITUDE   = drPoint["LONGITUDE"].ToString();
                                objTaskPoint.LATITUDE    = drPoint["LATITUDE"].ToString();
                                objTaskPoint.FREQ        = drPoint["FREQ"].ToString();
                                objTaskPoint.DESCRIPTION = drPoint["DESCRIPTION"].ToString();
                                objTaskPoint.NATIONAL_ST_CONDITION_ID = drPoint["NATIONAL_ST_CONDITION_ID"].ToString();
                                objTaskPoint.INDUSTRY_ST_CONDITION_ID = drPoint["INDUSTRY_ST_CONDITION_ID"].ToString();
                                objTaskPoint.LOCAL_ST_CONDITION_ID    = drPoint["LOCAL_ST_CONDITION_ID"].ToString();
                                objTaskPoint.IS_DEL      = "0";
                                objTaskPoint.NUM         = drPoint["NUM"].ToString();
                                objTaskPoint.CREATE_DATE = DateTime.Now.ToString();
                                arrTaskPoint.Add(objTaskPoint);
                                #endregion

                                //点位采用的标准条件项ID
                                string strConditionID = "";
                                if (!string.IsNullOrEmpty(objTaskPoint.NATIONAL_ST_CONDITION_ID))
                                {
                                    strConditionID = objTaskPoint.NATIONAL_ST_CONDITION_ID;
                                }
                                if (!string.IsNullOrEmpty(objTaskPoint.LOCAL_ST_CONDITION_ID))
                                {
                                    strConditionID = objTaskPoint.LOCAL_ST_CONDITION_ID;
                                }
                                if (!string.IsNullOrEmpty(objTaskPoint.INDUSTRY_ST_CONDITION_ID))
                                {
                                    strConditionID = objTaskPoint.INDUSTRY_ST_CONDITION_ID;
                                }

                                //计算采样频次
                                int intFreq = 1, intSampleDay = 1;
                                if (drPoint["SAMPLE_FREQ"].ToString().Length > 0)
                                {
                                    intFreq = int.Parse(drPoint["SAMPLE_FREQ"].ToString());
                                }
                                //计算周期
                                if (drPoint["SAMPLE_DAY"].ToString().Length > 0)
                                {
                                    intSampleDay = int.Parse(drPoint["SAMPLE_DAY"].ToString());
                                }
                                #region 样品信息、结果、结果执行
                                #region 如果 strTaskFreqType 判断为0
                                if (!String.IsNullOrEmpty(strTaskFreqType) && strTaskFreqType == "0")
                                {
                                    #region 样品
                                    //样品 与点位对应
                                    TMisMonitorSampleInfoVo objSampleInfo = new TMisMonitorSampleInfoVo();
                                    objSampleInfo.ID          = arrSampleIDs[j];
                                    objSampleInfo.SUBTASK_ID  = objSubtask.ID;
                                    objSampleInfo.POINT_ID    = objTaskPoint.ID;
                                    objSampleInfo.SAMPLE_NAME = objTaskPoint.POINT_NAME;
                                    objSampleInfo.QC_TYPE     = "0"; //默认原始样
                                    objSampleInfo.NOSAMPLE    = "0"; //默认未采样
                                    arrSample.Add(objSampleInfo);
                                    #endregion

                                    //预约项目明细
                                    DataRow[] dtPointItem = dtContractPoint.Select("CONTRACT_POINT_ID=" + drPoint["ID"].ToString());
                                    if (dtPointItem.Length > 0)
                                    {
                                        string   strTaskItemIDs     = new PageBase().GetSerialNumberList("t_mis_monitor_task_item_id", dtPointItem.Length);
                                        string[] arrTaskItemIDs     = strTaskItemIDs.Split(',');
                                        string   strSampleResultIDs = new PageBase().GetSerialNumberList("MonitorResultId", dtPointItem.Length);
                                        string[] arrSampleResultIDs = strSampleResultIDs.Split(',');
                                        string   strResultAppIDs    = new PageBase().GetSerialNumberList("MonitorResultAppId", dtPointItem.Length);
                                        string[] arrResultAppIDs    = strResultAppIDs.Split(',');

                                        for (int k = 0; k < dtPointItem.Length; k++)
                                        {
                                            DataRow drPointItem = dtPointItem[k];
                                            //项目采用的标准上限、下限
                                            string strUp            = "";
                                            string strLow           = "";
                                            string strConditionType = "";
                                            getStandardValue(drPointItem["ITEM_ID"].ToString(), strConditionID, ref strUp, ref strLow, ref strConditionType);
                                            #region 构造监测任务点位明细表
                                            //构造监测任务点位明细表
                                            TMisMonitorTaskItemVo objMonitorTaskItem = new TMisMonitorTaskItemVo();
                                            objMonitorTaskItem.ID             = arrTaskItemIDs[k];
                                            objMonitorTaskItem.TASK_POINT_ID  = objTaskPoint.ID;
                                            objMonitorTaskItem.ITEM_ID        = drPointItem["ITEM_ID"].ToString();
                                            objMonitorTaskItem.CONDITION_ID   = strConditionID;
                                            objMonitorTaskItem.CONDITION_TYPE = strConditionType;
                                            objMonitorTaskItem.ST_UPPER       = strUp;
                                            objMonitorTaskItem.ST_LOWER       = strLow;
                                            objMonitorTaskItem.IS_DEL         = "0";
                                            arrPointItem.Add(objMonitorTaskItem);
                                            #endregion

                                            #region 构造样品结果表
                                            //构造样品结果表
                                            string strAnalysisID = ""; //分析方法ID
                                            string strStandardID = ""; //方法依据ID
                                            string strCheckOut   = ""; //检出限
                                            getMethod(drPointItem["ITEM_ID"].ToString(), ref strAnalysisID, ref strStandardID, ref strCheckOut);
                                            TMisMonitorResultVo objSampleResult = new TMisMonitorResultVo();
                                            objSampleResult.ID                  = arrSampleResultIDs[k];
                                            objSampleResult.SAMPLE_ID           = objSampleInfo.ID;
                                            objSampleResult.QC_TYPE             = objSampleInfo.QC_TYPE;
                                            objSampleResult.ITEM_ID             = drPointItem["ITEM_ID"].ToString();
                                            objSampleResult.SAMPLING_INSTRUMENT = GetItemSamplingInstrumentID(drPointItem["ITEM_ID"].ToString());
                                            objSampleResult.ANALYSIS_METHOD_ID  = strAnalysisID;
                                            objSampleResult.STANDARD_ID         = strStandardID;
                                            objSampleResult.RESULT_CHECKOUT     = strCheckOut;
                                            objSampleResult.QC                  = "0";  // 默认原始样手段
                                            objSampleResult.TASK_TYPE           = "发送";
                                            objSampleResult.RESULT_STATUS       = "01"; //默认分析结果填报
                                            objSampleResult.PRINTED             = "0";  //默认未打印
                                            arrSampleResult.Add(objSampleResult);
                                            #endregion

                                            #region 构造样品执行表
                                            //构造样品执行表
                                            TMisMonitorResultAppVo objResultApp = new TMisMonitorResultAppVo();
                                            objResultApp.ID               = arrResultAppIDs[k];
                                            objResultApp.RESULT_ID        = objSampleResult.ID;
                                            objResultApp.HEAD_USERID      = drPointItem["ANALYSIS_MANAGER"].ToString();
                                            objResultApp.ASSISTANT_USERID = drPointItem["ANALYSIS_ID"].ToString();
                                            arrSampleResultApp.Add(objResultApp);
                                            #endregion
                                        }
                                    }
                                }
                                #endregion

                                #region 如果 strTaskFreqType 判断为1
                                if (!String.IsNullOrEmpty(strTaskFreqType) && strTaskFreqType == "1")
                                {
                                    for (int r = 0; r < intSampleDay; r++)
                                    {
                                        for (int s = 0; s < intFreq; s++)
                                        {
                                            #region 样品
                                            //样品 与点位对应
                                            TMisMonitorSampleInfoVo objSampleInfo = new TMisMonitorSampleInfoVo();
                                            //objSampleInfo.ID = arrSampleIDs[j];
                                            objSampleInfo.ID         = new PageBase().GetSerialNumberList("MonitorSampleId", 1);
                                            objSampleInfo.SUBTASK_ID = objSubtask.ID;
                                            objSampleInfo.POINT_ID   = objTaskPoint.ID;
                                            //objSampleInfo.SAMPLE_NAME = objTaskPoint.POINT_NAME;
                                            objSampleInfo.SAMPLE_NAME = objTaskPoint.POINT_NAME + " 第" + (r + 1).ToString() + "天" + " 第" + (s + 1).ToString() + "次";
                                            objSampleInfo.QC_TYPE     = "0"; //默认原始样
                                            objSampleInfo.NOSAMPLE    = "0"; //默认未采样
                                            arrSample.Add(objSampleInfo);
                                            #endregion

                                            //预约项目明细
                                            DataRow[] dtPointItem = dtContractPoint.Select("CONTRACT_POINT_ID=" + drPoint["ID"].ToString());
                                            if (dtPointItem.Length > 0)
                                            {
                                                string   strTaskItemIDs     = new PageBase().GetSerialNumberList("t_mis_monitor_task_item_id", dtPointItem.Length);
                                                string[] arrTaskItemIDs     = strTaskItemIDs.Split(',');
                                                string   strSampleResultIDs = new PageBase().GetSerialNumberList("MonitorResultId", dtPointItem.Length);
                                                string[] arrSampleResultIDs = strSampleResultIDs.Split(',');
                                                string   strResultAppIDs    = new PageBase().GetSerialNumberList("MonitorResultAppId", dtPointItem.Length);
                                                string[] arrResultAppIDs    = strResultAppIDs.Split(',');

                                                for (int k = 0; k < dtPointItem.Length; k++)
                                                {
                                                    DataRow drPointItem = dtPointItem[k];
                                                    //项目采用的标准上限、下限
                                                    string strUp            = "";
                                                    string strLow           = "";
                                                    string strConditionType = "";
                                                    getStandardValue(drPointItem["ITEM_ID"].ToString(), strConditionID, ref strUp, ref strLow, ref strConditionType);
                                                    #region 构造监测任务点位明细表
                                                    //构造监测任务点位明细表
                                                    TMisMonitorTaskItemVo objMonitorTaskItem = new TMisMonitorTaskItemVo();
                                                    objMonitorTaskItem.ID             = arrTaskItemIDs[k];
                                                    objMonitorTaskItem.TASK_POINT_ID  = objTaskPoint.ID;
                                                    objMonitorTaskItem.ITEM_ID        = drPointItem["ITEM_ID"].ToString();
                                                    objMonitorTaskItem.CONDITION_ID   = strConditionID;
                                                    objMonitorTaskItem.CONDITION_TYPE = strConditionType;
                                                    objMonitorTaskItem.ST_UPPER       = strUp;
                                                    objMonitorTaskItem.ST_LOWER       = strLow;
                                                    objMonitorTaskItem.IS_DEL         = "0";
                                                    arrPointItem.Add(objMonitorTaskItem);
                                                    #endregion

                                                    #region 构造样品结果表
                                                    //构造样品结果表
                                                    string strAnalysisID = ""; //分析方法ID
                                                    string strStandardID = ""; //方法依据ID
                                                    string strCheckOut   = ""; //检出限
                                                    getMethod(drPointItem["ITEM_ID"].ToString(), ref strAnalysisID, ref strStandardID, ref strCheckOut);
                                                    TMisMonitorResultVo objSampleResult = new TMisMonitorResultVo();
                                                    objSampleResult.ID                  = arrSampleResultIDs[k];
                                                    objSampleResult.SAMPLE_ID           = objSampleInfo.ID;
                                                    objSampleResult.QC_TYPE             = objSampleInfo.QC_TYPE;
                                                    objSampleResult.ITEM_ID             = drPointItem["ITEM_ID"].ToString();
                                                    objSampleResult.SAMPLING_INSTRUMENT = GetItemSamplingInstrumentID(drPointItem["ITEM_ID"].ToString());
                                                    objSampleResult.ANALYSIS_METHOD_ID  = strAnalysisID;
                                                    objSampleResult.STANDARD_ID         = strStandardID;
                                                    objSampleResult.RESULT_CHECKOUT     = strCheckOut;
                                                    objSampleResult.QC                  = "0";  // 默认原始样手段
                                                    objSampleResult.TASK_TYPE           = "发送";
                                                    objSampleResult.RESULT_STATUS       = "01"; //默认分析结果填报
                                                    objSampleResult.PRINTED             = "0";  //默认未打印
                                                    arrSampleResult.Add(objSampleResult);
                                                    #endregion

                                                    #region 构造样品执行表
                                                    //构造样品执行表
                                                    TMisMonitorResultAppVo objResultApp = new TMisMonitorResultAppVo();
                                                    objResultApp.ID               = arrResultAppIDs[k];
                                                    objResultApp.RESULT_ID        = objSampleResult.ID;
                                                    objResultApp.HEAD_USERID      = drPointItem["ANALYSIS_MANAGER"].ToString();
                                                    objResultApp.ASSISTANT_USERID = drPointItem["ANALYSIS_ID"].ToString();
                                                    arrSampleResultApp.Add(objResultApp);
                                                    #endregion
                                                }
                                            }
                                        }
                                    }
                                }
                                #endregion
                                #endregion
                            }
                        }
                        #endregion
                    }
                }
            }
            #endregion

            if (new TMisMonitorTaskLogic().SaveTrans(objTask, objReportVo, arrTaskPoint, arrSubTask, arrPointItem, arrSample, arrSampleResult, arrSampleResultApp))
            {
                strReturn = "1";
            }
        }
        return(strReturn);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (Request.QueryString["type"] == "check")
            {
                Response.ContentEncoding = Encoding.GetEncoding("gb2312");
                //Response.Write("false分析负责人信息没有选择完整,请检查");
                ////Response.ContentEncoding =  Encoding.UTF8  ;
                //Response.ContentEncoding = Encoding.GetEncoding("GB2312");

                //Response.ContentType = "text/plain";
                //Response.End();


                var strTaskID    = "";
                var strSubTaskID = "";
                var FID          = Convert.ToInt64(Request.QueryString["FID"]);

                var UserNo = Request.QueryString["UserNo"];
                UserNo = UserNo.Split(',').Count() > 1 ? UserNo.Split(',')[1] : UserNo;

                var workID = Convert.ToInt32(Request.QueryString["OID"]);//OID为流程ID

                TMisContractPlanVo objPlanVo = new TMisContractPlanVo();
                objPlanVo.CCFLOW_ID1 = FID.ToString();
                objPlanVo            = new TMisContractPlanLogic().Details(objPlanVo);
                if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                {
                    //当前流程属于送样的
                    strTaskID = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    strSubTaskID = "";
                }
                else
                {
                    strTaskID    = "";
                    strSubTaskID = CCFlowFacade.GetFlowIdentification(UserNo, workID).Split('|')[0];
                }

                var flowId = Request.QueryString["FK_Flow"];
                var nodeId = Convert.ToInt32(Request.QueryString["FK_Node"]);
                var fid    = Convert.ToInt32(Request.QueryString["FID"]);

                var identification = CCFlowFacade.GetFlowIdentification(UserNo, Convert.ToInt64(workID));

                var sampleIdList = identification.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries).ToList();

                if (sampleIdList.Count > 0)
                {
                    sampleIdList.RemoveAt(0);
                }

                DataTable dtInfo = new TMisMonitorResultLogic().getItemInfoBySubTaskID_MAS(strTaskID, strSubTaskID, true);

                var newDT = new DataTable();

                foreach (DataColumn column in dtInfo.Columns)
                {
                    newDT.Columns.Add(column.ColumnName);
                }

                foreach (DataRow row in dtInfo.Rows)
                {
                    if (sampleIdList.Count == 0)
                    {
                        newDT.Rows.Add(row.ItemArray);
                    }
                    else if (sampleIdList.Contains(row["SampleID"].ToString()))
                    {
                        newDT.Rows.Add(row.ItemArray);
                    }
                }

                for (int i = 0; i < newDT.Rows.Count; i++)
                {
                    if (dtInfo.Rows[i]["USER_NAME"].ToString() == "")
                    {
                        Response.Write("false分析负责人信息没有选择完整,请检查");

                        Response.ContentType = "text/plain";
                        Response.End();
                    }
                }

                Response.Write("true");

                Response.ContentType = "text/plain";
                Response.End();
            }

            if (Request.QueryString["type"] == "checkAfter")
            {
                Response.ContentEncoding = Encoding.GetEncoding("gb2312");


                var strTaskID    = "";
                var strSubTaskID = "";
                var FID          = Convert.ToInt64(Request.QueryString["FID"]);

                var UserNo = Request.QueryString["UserNo"];
                UserNo = UserNo.Split(',').Count() > 1 ? UserNo.Split(',')[1] : UserNo;
                UserNo = UserNo.Trim(',');

                var workID = Convert.ToInt32(Request.QueryString["OID"]);//OID为流程ID

                TMisContractPlanVo objPlanVo = new TMisContractPlanVo();
                objPlanVo.CCFLOW_ID1 = FID.ToString();
                objPlanVo            = new TMisContractPlanLogic().Details(objPlanVo);
                if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                {
                    //当前流程属于送样的
                    strTaskID = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    strSubTaskID = "";
                }
                else
                {
                    strTaskID    = "";
                    strSubTaskID = CCFlowFacade.GetFlowIdentification(UserNo, workID).Split('|')[0];
                }

                var flowId = Request.QueryString["FK_Flow"].Trim(',');
                var nodeId = Convert.ToInt32(Request.QueryString["FK_Node"]);
                var fid    = Convert.ToInt32(Request.QueryString["FID"]);

                var childFlowID = System.Configuration.ConfigurationManager.AppSettings["FXSSH"].ToString().Trim(',');
                var childNodeID = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["FXSSHJNode"]);

                var childFlowID2 = System.Configuration.ConfigurationManager.AppSettings["FXLXCXM"].ToString().Trim(',');
                var childNodeID2 = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["FXLXCXMJNode"]);

                var identification = CCFlowFacade.GetFlowIdentification(UserNo, Convert.ToInt64(workID));

                var sampleIdList = identification.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries).ToList();

                if (sampleIdList.Count > 0)
                {
                    sampleIdList.RemoveAt(0);
                }

                DataTable dtInfo = new TMisMonitorResultLogic().getItemInfoBySubTaskID_MAS(strTaskID, strSubTaskID, true);

                var newDT = new DataTable();

                foreach (DataColumn column in dtInfo.Columns)
                {
                    newDT.Columns.Add(column.ColumnName);
                }

                foreach (DataRow row in dtInfo.Rows)
                {
                    if (sampleIdList.Count == 0)
                    {
                        newDT.Rows.Add(row.ItemArray);
                    }
                    else if (sampleIdList.Contains(row["SampleID"].ToString()))
                    {
                        newDT.Rows.Add(row.ItemArray);
                    }
                }


                for (int i = 0; i < newDT.Rows.Count; i++)
                {
                    if (dtInfo.Rows[i]["USER_NAME"].ToString() == "")
                    {
                        Response.Write("false分析负责人信息没有选择完整,请检查");

                        Response.ContentType = "text/plain";
                        Response.End();
                    }

                    var itemVo    = new TBaseItemInfoLogic().Details(dtInfo.Rows[i]["ITEM_ID"].ToString());
                    var sampleVo  = new TMisMonitorSampleInfoLogic().Details(dtInfo.Rows[i]["SAMPLE_ID"].ToString());
                    var subtaskVO = new TMisMonitorSubtaskLogic().Details(sampleVo.SUBTASK_ID);
                    var taskVo    = new TMisMonitorTaskLogic().Details(subtaskVO.TASK_ID);

                    long workid = 0;
                    var  title  = string.Format("{0} {1}", taskVo.PROJECT_NAME, itemVo.ITEM_NAME);

                    if (dtInfo.Rows[i]["IS_ANYSCENE_ITEM"].ToString() == "1")  //分析类现场项目
                    {
                        //在采样实施环节创建
                        //workid = CCFlowFacade.Node_CreateBlankWork(UserNo, childFlowID2, UserNo, null, workID, fid, flowId, nodeId, UserNo, childNodeID2, dtInfo.Rows[i]["USER_NAME"].ToString().Trim(','), "@GroupMark=" + dtInfo.Rows[i]["RESULTID"].ToString().Trim(','));

                        //CCFlowFacade.SetFlowTitle(Request["UserNo"].ToString(), childFlowID2, workid, title);
                    }
                    else
                    {
                        workid = CCFlowFacade.Node_CreateBlankWork(UserNo, childFlowID, UserNo, null, workID, fid, flowId, nodeId, UserNo, childNodeID, dtInfo.Rows[i]["USER_NAME"].ToString().Trim(','), "@GroupMark=" + dtInfo.Rows[i]["RESULTID"].ToString().Trim(','));
                        CCFlowFacade.SetFlowTitle(Request["UserNo"].ToString(), childFlowID, workid, title);
                    }
                }


                Response.Write("发送成功");

                Response.ContentType = "text/plain";
                Response.End();
            }


            //定义结果
            string strResult = "";
            if (Request.QueryString["WorkID"] != null)
            {
                var FID = Convert.ToInt64(Request.QueryString["FID"]);

                TMisContractPlanVo objPlanVo = new TMisContractPlanVo();
                objPlanVo.CCFLOW_ID1 = FID.ToString();
                objPlanVo            = new TMisContractPlanLogic().Details(objPlanVo);

                this.PLAN_ID.Value = objPlanVo.ID;

                if (objPlanVo.ID.Length > 0 && objPlanVo.REAMRK1 == "1")
                {
                    //当前流程属于送样的
                    this.TASK_ID.Value = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                        PLAN_ID = objPlanVo.ID
                    }).ID;
                    this.SUBTASK_ID.Value = "";
                }
                else
                {
                    //当前流程属于采样的
                    var workID = Convert.ToInt64(Request.QueryString["WorkID"]);

                    var identification = CCFlowFacade.GetFlowIdentification(LogInfo.UserInfo.USER_NAME, workID).Split('|')[0];

                    this.SUBTASK_ID.Value = identification;
                    this.TASK_ID.Value    = "";
                }
            }
            //样品号信息
            if (Request["type"] != null && Request["type"].ToString() == "getSampleGridInfo")
            {
                strResult = getSampleGridInfo(Request["strTaskID"].ToString(), Request["strSubTaskID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            //监测项目信息
            if (Request["type"] != null && Request["type"].ToString() == "getItemGridInfo")
            {
                strResult = getItemGridInfo(Request["SampleID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        //如果是方向条件判断
        if (!string.IsNullOrEmpty(Request.QueryString["DirectionType"]))
        {
            var type      = Request.QueryString["DirectionType"];
            var direction = Request.QueryString["Direction"];

            var workID = Request.QueryString["WorkId"];  //获取CCLow主流程ID
            workID = workID ?? Int32.MinValue.ToString();

            TMisContractPlanVo objPlanVo = new TMisContractPlanVo();
            objPlanVo.CCFLOW_ID1 = workID;
            objPlanVo            = new TMisContractPlanLogic().Details(objPlanVo);
            switch (type)
            {
            case "type1":

                if (direction == "d1")
                {
                    if (objPlanVo.REAMRK1 == "0")
                    {
                        Response.Write("1");           //采样
                    }
                    else
                    {
                        Response.Write("0");           //送样
                    }
                }
                else if (direction == "d2")
                {
                    if (objPlanVo.REAMRK1 == "1")
                    {
                        Response.Write("1");           //送样
                    }
                    else
                    {
                        Response.Write("0");           //采样
                    }
                }
                Response.End();
                break;

            default:
                Response.Write("0");
                Response.End();
                break;
            }
        }

        //如果是发送成功事件
        if (Request["type"] != null && Request["type"].ToString() == "AfterSuccessSend")
        {
            Response.ContentEncoding = Encoding.GetEncoding("gb2312");

            var workID = Request.QueryString["OID"];     //当前流程ID

            var task = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                CCFLOW_ID1 = workID
            });

            var title = string.Format("{0}-{1}", task.PROJECT_NAME, task.CONTRACT_CODE);

            CCFlowFacade.SetFlowTitle(Request["UserNo"].ToString(), Request["FK_Flow"].ToString(), Convert.ToInt64(workID), title);

            Response.Write("发送成功");

            Response.ContentType = "text/plain";
            Response.End();
        }
    }