protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (Request["type"] != null && Request["type"].ToString() == "UpadteEnvData")
            {
                var workID = Request.QueryString["WorkIDs"];

                TMisMonitorTaskVo objTaskVo = new TMisMonitorTaskVo();
                objTaskVo.CCFLOW_ID1 = workID;
                objTaskVo            = new TMisMonitorTaskLogic().Details(objTaskVo);

                if (objTaskVo.TASK_TYPE == "1")
                {
                    DataTable objTable = new TMisMonitorSubtaskLogic().SelectByTable(new TMisMonitorSubtaskVo()
                    {
                        TASK_ID = objTaskVo.ID
                    });
                    //如果是环境质量将自动对数据进行填报
                    foreach (DataRow row in objTable.Rows)
                    {
                        string strSubTaskId  = row["ID"].ToString();
                        string strMonitorId  = row["MONITOR_ID"].ToString();
                        string strAskDate    = row["SAMPLE_ASK_DATE"].ToString();
                        string strSampleDate = row["SAMPLE_FINISH_DATE"].ToString();
                        TMisMonitorSubtaskVo TMisMonitorSubtaskVo = new TMisMonitorSubtaskVo();
                        TMisMonitorSubtaskVo.ID                 = strSubTaskId;
                        TMisMonitorSubtaskVo.MONITOR_ID         = strMonitorId;
                        TMisMonitorSubtaskVo.SAMPLE_ASK_DATE    = strAskDate;
                        TMisMonitorSubtaskVo.SAMPLE_FINISH_DATE = strSampleDate;
                        if (strMonitorId == "EnvRiver" || strMonitorId == "EnvReservoir" || strMonitorId == "EnvDrinking" || strMonitorId == "EnvDrinkingSource" || strMonitorId == "EnvStbc" || strMonitorId == "EnvMudRiver" || strMonitorId == "EnvPSoild" || strMonitorId == "EnvSoil" || strMonitorId == "EnvAir" || strMonitorId == "EnvSpeed" || strMonitorId == "EnvDust" || strMonitorId == "EnvRain")
                        {
                            new TMisMonitorSubtaskLogic().SetEnvFillData(TMisMonitorSubtaskVo, false, objTaskVo.SAMPLE_SEND_MAN);
                        }
                        if (strMonitorId == "AreaNoise" || strMonitorId == "EnvRoadNoise" || strMonitorId == "FunctionNoise")
                        {
                            new TMisMonitorSubtaskLogic().SetEnvFillData(TMisMonitorSubtaskVo, true, objTaskVo.SAMPLE_SEND_MAN);
                        }
                    }
                }
                Response.Write("true");
                Response.ContentType = "text/plain";
                Response.End();
            }
            if (Request.QueryString["WorkID"] != null)
            {
                var workID = Convert.ToInt64(Request.QueryString["WorkID"]);

                TMisMonitorTaskVo objTaskVo = new TMisMonitorTaskVo();
                objTaskVo.CCFLOW_ID1 = workID.ToString();
                objTaskVo            = new TMisMonitorTaskLogic().Details(objTaskVo);

                this.TASK_ID.Value = objTaskVo.ID;
                this.PLAN_ID.Value = objTaskVo.PLAN_ID;
            }
            if (Request.QueryString["WorkIDs"] != null)
            {
                string   strWorkIDs = Request.QueryString["WorkIDs"];
                string[] strarr     = strWorkIDs.Split(',');
                for (int i = 0; i < strarr.Length; i++)
                {
                    if (strarr[i] != "" || !string.IsNullOrEmpty(strarr[i]))
                    {
                        Int64 workID = Convert.ToInt64(strarr[i]);

                        DataTable dt = new TMisMonitorTaskLogic().Details_One(workID);
                        this.TASK_ID.Value = this.TASK_ID.Value + "," + dt.Rows[0]["ID"].ToString();
                        this.PLAN_ID.Value = this.PLAN_ID.Value + "," + dt.Rows[0]["PLAN_ID"].ToString();
                    }
                }
            }

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

            //获取样品信息
            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();
            }
        }
    }
    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");
    }
    private bool createQcInfo(string strSampleID, string strQcType, string strItemId)
    {
        bool isSuccess = true;

        if (strItemId == "")
        {
            return(isSuccess);
        }

        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoLogic().Details(strSampleID);
        string strQcSampleId = GetSerialNumber("MonitorSampleId");

        objSample.ID           = strQcSampleId;
        objSample.QC_TYPE      = strQcType;
        objSample.QC_SOURCE_ID = strSampleID;
        //objSample.SAMPLE_CODE = GetSampleCode_QHD(strSampleID);
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(objSample.SUBTASK_ID);
        TMisMonitorTaskVo    objTask    = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);
        TBaseSerialruleVo    objSerial  = new TBaseSerialruleVo();

        objSerial.SAMPLE_SOURCE = objTask.SAMPLE_SOURCE;
        objSerial.SERIAL_TYPE   = "2";

        objSample.SAMPLECODE_CREATEDATE = DateTime.Now.ToString("yyyy-MM-dd");

        objSample.SAMPLE_CODE = CreateBaseDefineCodeForSample(objSerial, objTask, objSubtask);

        if (strQcType == "3")
        {
            objSample.SAMPLE_NAME += "现场平行";
        }
        if (strQcType == "1")
        {
            objSample.SAMPLE_NAME += "现场空白";
        }
        if (strQcType == "4")
        {
            objSample.SAMPLE_NAME += "密码平行";
        }

        //在样品表中添加样品数据
        if (!new TMisMonitorSampleInfoLogic().Create(objSample))
        {
            isSuccess = false;
        }

        //遍历监测项目信息,将监测项目信息添加到结果表、结果分析执行表、平行样结果表中
        for (int i = 0; i < strItemId.Split(',').Length; i++)
        {
            //根据需要做质控的监测项目获取原始样的结果表ID
            TMisMonitorResultVo objSourceResult = new TMisMonitorResultVo();
            objSourceResult.SAMPLE_ID = strSampleID;
            objSourceResult.QC_TYPE   = "0";
            objSourceResult.ITEM_ID   = strItemId.Split(',')[i];
            TMisMonitorResultVo objResult = new TMisMonitorResultLogic().Details(objSourceResult);
            string strSourceId            = objResult.ID;

            //将数据写入结果表中
            objResult.ID           = GetSerialNumber("MonitorResultId");
            objResult.SAMPLE_ID    = strQcSampleId;
            objResult.QC_TYPE      = strQcType;
            objResult.SOURCE_ID    = strSourceId;
            objResult.QC_SOURCE_ID = strSourceId;
            if (!new TMisMonitorResultLogic().Create(objResult))
            {
                isSuccess = false;
            }

            //将数据写入结果分析执行表中
            InsertResultAPP(objResult.ID);

            //将结果写入分析样结果表中
            TMisMonitorQcTwinVo objQcTwin = new TMisMonitorQcTwinVo();
            objQcTwin.ID              = GetSerialNumber("QcTwinId");
            objQcTwin.RESULT_ID_SRC   = strSourceId;
            objQcTwin.RESULT_ID_TWIN1 = objResult.ID;
            objQcTwin.QC_TYPE         = strQcType;
            if (!new TMisMonitorQcTwinLogic().Create(objQcTwin))
            {
                isSuccess = false;
            }
        }
        return(isSuccess);
    }
Beispiel #4
0
    private string SendToNext(string strTaskId)
    {
        DataTable objTable = new TMisMonitorResultLogic().geResultChecktItemTypeInfo_QHD(LogInfo.UserInfo.ID, "analysis_result_qccheck", strTaskId, "03", "0", "40");

        foreach (DataRow row in objTable.Rows)
        {
            string strId = row["ID"].ToString();
            //根据子任务ID获取监测子任务审核表ID
            i3.ValueObject.Channels.Mis.Monitor.SubTask.TMisMonitorSubtaskAppVo TMisMonitorSubtaskAppVoTemp = new i3.ValueObject.Channels.Mis.Monitor.SubTask.TMisMonitorSubtaskAppVo();
            TMisMonitorSubtaskAppVoTemp.SUBTASK_ID = strId;
            string strSubTaskAppId = new i3.BusinessLogic.Channels.Mis.Monitor.SubTask.TMisMonitorSubtaskAppLogic().Details(TMisMonitorSubtaskAppVoTemp).ID;
            i3.ValueObject.Channels.Mis.Monitor.SubTask.TMisMonitorSubtaskAppVo TMisMonitorSubtaskAppVo = new i3.ValueObject.Channels.Mis.Monitor.SubTask.TMisMonitorSubtaskAppVo();
            TMisMonitorSubtaskAppVo.ID = strSubTaskAppId;
            TMisMonitorSubtaskAppVo.RESULT_QC_CHECK      = LogInfo.UserInfo.ID;
            TMisMonitorSubtaskAppVo.RESULT_QC_CHECK_DATE = DateTime.Now.ToString();
            new i3.BusinessLogic.Channels.Mis.Monitor.SubTask.TMisMonitorSubtaskAppLogic().Edit(TMisMonitorSubtaskAppVo);
        }
        string strMsg = "";

        bool isSuccess = new TMisMonitorResultLogic().SendQcTaskToNextFlowForQy(strTaskId, LogInfo.UserInfo.ID, "09", "analysis_result_check");

        if (isSuccess == true)
        {
            bool IsFinish = false;
            IsFinish = new i3.BusinessLogic.Channels.Mis.Monitor.SubTask.TMisMonitorSubtaskLogic().isFinishSubTask(strTaskId, true);
            if (IsFinish == true)
            {
                i3.ValueObject.Channels.Mis.Monitor.Task.TMisMonitorTaskVo TMisMonitorTaskVo = new i3.BusinessLogic.Channels.Mis.Monitor.Task.TMisMonitorTaskLogic().Details(strTaskId);
                TMisMonitorTaskVo.ID          = strTaskId;
                TMisMonitorTaskVo.TASK_STATUS = "09";
                if (TMisMonitorTaskVo.TASK_TYPE == "1")
                {
                    objTable = new TMisMonitorSubtaskLogic().SelectByTable(new TMisMonitorSubtaskVo()
                    {
                        TASK_ID = strTaskId
                    });
                    //如果是环境质量将自动对数据进行填报
                    foreach (DataRow row in objTable.Rows)
                    {
                        string strSubTaskId  = row["ID"].ToString();
                        string strMonitorId  = row["MONITOR_ID"].ToString();
                        string strAskDate    = row["SAMPLE_ASK_DATE"].ToString();
                        string strSampleDate = row["SAMPLE_FINISH_DATE"].ToString();
                        TMisMonitorSubtaskVo TMisMonitorSubtaskVo = new TMisMonitorSubtaskVo();
                        TMisMonitorSubtaskVo.ID                 = strSubTaskId;
                        TMisMonitorSubtaskVo.MONITOR_ID         = strMonitorId;
                        TMisMonitorSubtaskVo.SAMPLE_ASK_DATE    = strAskDate;
                        TMisMonitorSubtaskVo.SAMPLE_FINISH_DATE = strSampleDate;
                        if (strMonitorId == "EnvRiver" || strMonitorId == "EnvReservoir" || strMonitorId == "EnvDrinking" || strMonitorId == "EnvDrinkingSource" || strMonitorId == "EnvStbc" || strMonitorId == "EnvMudRiver" || strMonitorId == "EnvPSoild" || strMonitorId == "EnvSoil" || strMonitorId == "EnvAir" || strMonitorId == "EnvSpeed" || strMonitorId == "EnvDust" || strMonitorId == "EnvRain")
                        {
                            new TMisMonitorSubtaskLogic().SetEnvFillData(TMisMonitorSubtaskVo, false, TMisMonitorTaskVo.SAMPLE_SEND_MAN);
                        }
                        if (strMonitorId == "AreaNoise" || strMonitorId == "EnvRoadNoise" || strMonitorId == "FunctionNoise")
                        {
                            new TMisMonitorSubtaskLogic().SetEnvFillData(TMisMonitorSubtaskVo, true, TMisMonitorTaskVo.SAMPLE_SEND_MAN);
                        }
                    }

                    strMsg = "数据填报";
                }
                else
                {
                    if (TMisMonitorTaskVo.REPORT_HANDLE == "")
                    {
                        TMisMonitorTaskVo.REPORT_HANDLE = getNextReportUserID("Report_UserID");
                    }
                    strMsg = "报告办理";
                }
                new i3.BusinessLogic.Channels.Mis.Monitor.Task.TMisMonitorTaskLogic().Edit(TMisMonitorTaskVo);
            }
        }

        return(isSuccess == true ? "{\"result\":\"1\",\"msg\":\"" + strMsg + "\"}" : "{\"result\":\"0\",\"msg\":\"" + strMsg + "\"}");
    }
    protected void btnImport_Click(object sender, EventArgs e)
    {
        string strPrintId = this.strPrintId.Value;
        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();

        objSubTask.TASK_ID = strPrintId;
        DataTable dtSub        = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);
        string    strSampleIDs = "";

        for (int i = 0; i < dtSub.Rows.Count; i++)
        {
            GetPoint_UnderTask(dtSub.Rows[i]["ID"].ToString(), ref strSampleIDs);
        }

        //获取基本信息
        DataTable dt = new TMisMonitorSampleInfoLogic().getSamplingAllocationSheetInfoBySampleId(strSampleIDs, "021", "0");

        int iPageCount = dt.Rows.Count / 17;

        if (dt.Rows.Count % 17 != 0)
        {
            iPageCount += 1;
        }

        FileStream   file         = new FileStream(HttpContext.Current.Server.MapPath("template/QHDSamplingCode.xls"), FileMode.Open, FileAccess.Read);
        HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);

        //sheet复制
        for (int k = 1; k < iPageCount; k++)
        {
            hssfworkbook.CloneSheet(0);
            hssfworkbook.SetSheetName(k, "Sheet" + (k + 1).ToString());
        }

        for (int m = 1; m <= iPageCount; m++)
        {
            ISheet sheet = hssfworkbook.GetSheet("Sheet" + m.ToString());
            sheet.GetRow(23).GetCell(0).SetCellValue("样品交接数量: " + dt.Rows.Count.ToString());
            sheet.GetRow(2).GetCell(0).SetCellValue(string.Format("  采 样 日 期:  {0}   年  {1}   月  {2}   日", DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString(), DateTime.Now.Day.ToString()));
            sheet.GetRow(3).GetCell(0).SetCellValue(string.Format(" 样品交接日期:   {0}   年  {1}   月  {2}   日   {3}  点   {4}  分", DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString(), DateTime.Now.Day.ToString(), DateTime.Now.Hour.ToString(), DateTime.Now.Minute.ToString()));

            sheet.GetRow(1).GetCell(6).SetCellValue(string.Format("第 {0} 页 共 {1} 页", m.ToString(), iPageCount.ToString()));

            DataTable dtNew = new DataTable();
            dtNew = dt.Copy();
            dtNew.Clear();
            for (int n = (m - 1) * 17; n < m * 17; n++)
            {
                if (n >= dt.Rows.Count)
                {
                    break;
                }
                dtNew.ImportRow(dt.Rows[n]);
            }
            for (int i = 0; i < dtNew.Rows.Count; i++)
            {
                string strItmeNum             = "";
                TMisMonitorResultVo objResult = new TMisMonitorResultVo();
                objResult.SAMPLE_ID = dtNew.Rows[i]["ID"].ToString();
                DataTable dtResult = new TMisMonitorResultLogic().SelectByTable(objResult);
                for (int j = 0; j < dtResult.Rows.Count; j++)
                {
                    TBaseItemInfoVo objItem = new TBaseItemInfoVo();
                    objItem.ID            = dtResult.Rows[j]["ITEM_ID"].ToString();
                    objItem.IS_SAMPLEDEPT = "否";
                    DataTable dtItem = new TBaseItemInfoLogic().SelectByTable(objItem);
                    if (dtItem.Rows.Count > 0 && dtItem.Rows[0]["ITEM_NUM"].ToString().Length > 0)
                    {
                        strItmeNum += (strItmeNum.Length > 0) ? "," + dtItem.Rows[0]["ITEM_NUM"].ToString() : dtItem.Rows[0]["ITEM_NUM"].ToString();
                    }
                }
                sheet.GetRow(i + 6).GetCell(0).SetCellValue((i + 1).ToString());
                sheet.GetRow(i + 6).GetCell(1).SetCellValue(dtNew.Rows[i]["SAMPLE_CODE"].ToString());
                sheet.GetRow(i + 6).GetCell(6).SetCellValue(strItmeNum);
            }
        }
        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();
        }
    }
Beispiel #6
0
    public static string SaveItemSplit(string strSampleID, string strPointName, string strResultItems, string strItems, string strMonitorID, string strSubTaskID)
    {
        bool isSuccess = true;

        TMisMonitorTaskPointVo objPoint = new TMisMonitorTaskPointVo();

        objPoint.ID          = GetSerialNumber("t_mis_monitor_taskpointId");
        objPoint.IS_DEL      = "0";
        objPoint.SUBTASK_ID  = strSubTaskID;
        objPoint.POINT_NAME  = strPointName;
        objPoint.MONITOR_ID  = strMonitorID;
        objPoint.FREQ        = "1";
        objPoint.CREATE_DATE = DateTime.Now.ToString();

        TMisMonitorSampleInfoVo objSampleVo = new TMisMonitorSampleInfoLogic().Details(strSampleID);
        TMisMonitorSubtaskVo    objSubtask  = new TMisMonitorSubtaskLogic().Details(strSubTaskID);
        TMisMonitorTaskVo       objTask     = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);

        objPoint.TASK_ID = objTask.ID;

        //监测任务出现新增排口时,基础资料企业表也要新增
        TBaseCompanyPointVo objnewPoint = new TBaseCompanyPointVo();

        objnewPoint.ID          = GetSerialNumber("t_base_company_point_id");
        objnewPoint.IS_DEL      = "0";
        objnewPoint.POINT_NAME  = strPointName;
        objnewPoint.MONITOR_ID  = strMonitorID;
        objnewPoint.FREQ        = "1";
        objnewPoint.CREATE_DATE = DateTime.Now.ToString();

        TMisMonitorTaskCompanyVo objTaskCompany = new TMisMonitorTaskCompanyVo();

        objTaskCompany = new TMisMonitorTaskCompanyLogic().Details(objTask.TESTED_COMPANY_ID);

        TMisContractCompanyVo objContractCompany = new TMisContractCompanyLogic().Details(objTaskCompany.COMPANY_ID);

        objnewPoint.COMPANY_ID = objContractCompany.COMPANY_ID;

        isSuccess = new TBaseCompanyPointLogic().Create(objnewPoint);

        objPoint.POINT_ID = objnewPoint.ID;
        isSuccess         = new TMisMonitorTaskPointLogic().Create(objPoint);

        //增加点位样品信息
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoVo();

        objSample.ID          = GetSerialNumber("MonitorSampleId");
        objSample.SUBTASK_ID  = strSubTaskID;
        objSample.QC_TYPE     = "0";
        objSample.NOSAMPLE    = "0";
        objSample.POINT_ID    = objPoint.ID;
        objSample.SAMPLE_NAME = objPoint.POINT_NAME;
        //新增点位时候,自动生成该点位的样品编码
        TBaseSerialruleVo objSerial = new TBaseSerialruleVo();

        objSerial.SAMPLE_SOURCE         = objTask.SAMPLE_SOURCE;
        objSerial.SERIAL_TYPE           = "2";
        objSample.SAMPLECODE_CREATEDATE = DateTime.Now.ToString("yyyy-MM-dd");
        objSample.SAMPLE_CODE           = CreateBaseDefineCodeForSample(objSerial, objTask, objSubtask);
        isSuccess = new TMisMonitorSampleInfoLogic().Create(objSample);

        isSuccess = new TMisMonitorSampleInfoLogic().UpdateSetWhere("T_Mis_MONITOR_RESULT", "SAMPLE_ID='" + objSample.ID + "'", "ID in(" + strResultItems.TrimEnd(',') + ")");
        isSuccess = new TMisMonitorSampleInfoLogic().UpdateSetWhere("T_Mis_MONITOR_TASK_ITEM", "TASK_POINT_ID='" + objPoint.ID + "'", "TASK_POINT_ID='" + objSampleVo.POINT_ID + "' AND ITEM_ID in(" + strItems.TrimEnd(',') + ")");

        return(isSuccess ? "true" : "false");
    }
Beispiel #7
0
    public static string btnSendClick(string strSubtaskID, string strAttribute)
    {
        bool isSuccess = true;
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(strSubtaskID);
        string strTaskID = objSubtask.TASK_ID;

        if (objSubtask.MONITOR_ID == "000000004" || objSubtask.MONITOR_ID == "000000005")
        {
            objSubtask.TASK_STATUS = "023";//噪声、辐射现场监测项目进行 现场项目审核流程
            objSubtask.REMARK1     = objSubtask.ID;
        }
        else
        {
            objSubtask.TASK_STATUS = "021";//其它进行样品交接环节
        }
        //子任务所有项目都属于现场项目,跳过分析环节
        //DataTable dtSampleDept = new TMisMonitorResultLogic().SelectSampleDeptWithSubtaskID(strSubtaskID);
        //update by ssz QY 现场项目信息需要另外发送任务
        DataTable dtSampleItem = new TMisMonitorResultLogic().SelectSampleItemWithSubtaskID(strSubtaskID);

        //郑州'余氯','透明度','pH值','电导率','溶解氧'为现场项目
        //以上项目,环境质量由现场室监测,污染源由实验室监测(余氯除外)
        //这几个项目需要实验室填写,REMARK_4=1
        //string strEnvSampleItemID = "FS0000005,FS0000006,FS0000009,FS0000012,001000159";
        string strEnvSampleItemID = "FS0000005,FS0000006,FS0000009,FS0000012";
        //string strEnvType = "EnvRiver,EnvRiverCity,EnvRiverTarget,EnvRiverPlan,EnvReservoir,EnvRain,EnvMudRiver,EnvDrinkingSource,EnvDrinking";
        string strEnvType = "EnvRiver,EnvRiverCity,EnvRiverTarget,EnvRiverPlan,EnvReservoir,EnvMudRiver,EnvDrinkingSource,EnvDrinking";//降水除外

        for (int i = 0; i < dtSampleItem.Rows.Count; i++)
        {
            if (strEnvSampleItemID.Contains(dtSampleItem.Rows[i]["ITEM_ID"].ToString()))
            {
                if (!strEnvType.Contains(objSubtask.MONITOR_ID))
                {
                    TMisMonitorResultVo objResult = new TMisMonitorResultVo();
                    objResult.ID       = dtSampleItem.Rows[i]["ID"].ToString();
                    objResult.REMARK_4 = "1";
                    new TMisMonitorResultLogic().Edit(objResult);
                }
            }
        }

        //子任务所有项目都属于现场项目,跳过分析环节
        DataTable dtSampleDept = new TMisMonitorResultLogic().SelectSampleDeptWithSubtaskID(strSubtaskID);

        //update by ssz QY 现场项目信息需要另外发送任务
        dtSampleItem = new TMisMonitorResultLogic().SelectSampleItemWithSubtaskID(strSubtaskID);

        //郑州'余氯','透明度','pH值','电导率','溶解氧'为现场项目
        //以上项目,环境质量由现场室监测,污染源由实验室监测
        bool ifNeedNewSubTask = false;

        if (dtSampleItem.Rows.Count > 0 && dtSampleDept.Rows.Count > 0)//存在 非现场项目和现场项目
        {
            ifNeedNewSubTask = true;
        }

        //判定是否有现场室项目,或者是否有实验室项目
        bool isHasSampleItem = false;
        bool isHasDeptItem   = false;

        for (int i = 0; i < dtSampleItem.Rows.Count; i++)
        {
            if (dtSampleItem.Rows[i]["REMARK_4"].ToString() == "1")
            {
                isHasDeptItem = true;
            }
            if (dtSampleItem.Rows[i]["REMARK_4"].ToString() != "1")
            {
                isHasSampleItem = true;
            }
        }

        if (dtSampleItem.Rows.Count > 0)
        {
            if (!isHasDeptItem)                   //现场项目全是现场室填写
            {
                if (dtSampleDept.Rows.Count == 0) //而且无实验室项目
                {
                    objSubtask.TASK_STATUS = "023";
                    objSubtask.REMARK1     = objSubtask.ID;
                }
                else//但有实验室项目
                {
                    ifNeedNewSubTask = true;
                }
            }
            else if (!isHasSampleItem)//现场项目全是实验室填写
            {
                ifNeedNewSubTask = false;
            }
            else //现场项目有现场室和实验室填写内容
            {
                ifNeedNewSubTask = true;
            }
        }
        else
        {
            //全实验室项目,021
        }

        //if (dtSampleDept.Rows.Count == 0)//全是现场项目
        //{
        //    objSubtask.TASK_STATUS = "023";
        //    objSubtask.REMARK1 = objSubtask.ID;
        //}

        if (ifNeedNewSubTask)//存在 非现场项目和现场项目
        {
            TMisMonitorSubtaskVo objSampleSubtask = new TMisMonitorSubtaskVo();
            CopyObject(objSubtask, objSampleSubtask);
            objSampleSubtask.ID          = GetSerialNumber("t_mis_monitor_subtaskId");
            objSampleSubtask.REMARK1     = objSubtask.ID;
            objSampleSubtask.TASK_STATUS = "023";
            //创建一个新的任务 对现场项目流程
            new TMisMonitorSubtaskLogic().Create(objSampleSubtask);

            //创建监测子任务审核表 对现场项目流程
            TMisMonitorSubtaskAppVo objSubTaskApp = new TMisMonitorSubtaskAppLogic().Details(new TMisMonitorSubtaskAppVo()
            {
                SUBTASK_ID = objSubtask.ID,
            }
                                                                                             );
            TMisMonitorSubtaskAppVo objSampleSubTaskApp = new TMisMonitorSubtaskAppVo();
            CopyObject(objSubTaskApp, objSampleSubTaskApp);
            objSampleSubTaskApp.SUBTASK_ID = objSampleSubtask.ID;
            objSampleSubTaskApp.ID         = GetSerialNumber("TMisMonitorSubtaskAppID");
            new TMisMonitorSubtaskAppLogic().Create(objSampleSubTaskApp);
        }
        isSuccess = new TMisMonitorSubtaskLogic().Edit(objSubtask);

        #region 任务全部完成,修改任务表状态(注释)
        int iStatus = 0;
        objSubtask         = new TMisMonitorSubtaskVo();
        objSubtask.TASK_ID = strTaskID;
        DataTable dtTask = new TMisMonitorSubtaskLogic().SelectByTable(objSubtask);
        for (int j = 0; j < dtTask.Rows.Count; j++)
        {
            if (dtTask.Rows[j]["TASK_STATUS"].ToString() != "023")
            {
                iStatus += 1;
            }
        }
        if (iStatus == 0)
        {
            TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();
            objTask.ID          = strTaskID;
            objTask.TASK_STATUS = "09";
            new TMisMonitorTaskLogic().Edit(objTask);
        }
        #endregion

        #region 现场信息
        //现场信息
        TMisMonitorSampleSkyVo objSampleSky = new TMisMonitorSampleSkyVo();

        for (int i = 0; i < strAttribute.Split('-').Length; i++)
        {
            if (strAttribute.Split('-')[i].Contains("|"))
            {
                objSampleSky.SUBTASK_ID   = strSubtaskID;
                objSampleSky.WEATHER_ITEM = strAttribute.Split('-')[i].Split('|')[0];
                objSampleSky = new TMisMonitorSampleSkyLogic().Details(objSampleSky);
                objSampleSky.WEATHER_INFO = strAttribute.Split('-')[i].Split('|')[1];
                objSampleSky.SUBTASK_ID   = strSubtaskID;
                objSampleSky.WEATHER_ITEM = strAttribute.Split('-')[i].Split('|')[0];
                if (objSampleSky.ID.Length > 0)
                {
                    isSuccess = new TMisMonitorSampleSkyLogic().Edit(objSampleSky);
                }
                else
                {
                    objSampleSky.ID = GetSerialNumber("TMisMonitorSampleSky");
                    isSuccess       = new TMisMonitorSampleSkyLogic().Create(objSampleSky);
                }
            }
        }
        #endregion
        return(isSuccess == true ? "1" : "0");
    }
    public static string btnSendClick(string strLink, string strSubtaskID, string strUserID, string strAttribute)
    {
        bool   isSuccess = true;
        string strMsg    = "";
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(strSubtaskID);

        if (strLink == "Sample")
        {
            #region 采样环节发送事件
            objSubtask.TASK_STATUS = "021";//其它进行样品交接环节
            strMsg = "样品交接";
            //判断是否存在样品没有设置项目的情况
            TMisMonitorSampleInfoVo SampleInfoVo = new TMisMonitorSampleInfoVo();
            SampleInfoVo.SUBTASK_ID = strSubtaskID;
            List <TMisMonitorSampleInfoVo> list = new List <TMisMonitorSampleInfoVo>();
            list = new TMisMonitorSampleInfoLogic().SelectByObject(SampleInfoVo, 0, 0);
            for (int i = 0; i < list.Count; i++)
            {
                TMisMonitorResultVo ResultVo = new TMisMonitorResultVo();
                ResultVo.SAMPLE_ID = list[i].ID;
                ResultVo           = new TMisMonitorResultLogic().SelectByObject(ResultVo);
                if (ResultVo.ID.Length == 0)
                {
                    isSuccess = false;
                    strMsg    = "样品[" + list[i].SAMPLE_NAME + "]还没设置监测项目";
                    break;
                }
            }
            if (isSuccess == false)
            {
                return("[{result:'0',msg:'" + strMsg + "'}]");
            }

            //子任务所有项目都属于现场项目,跳过分析环节
            DataTable dtSampleDept = new TMisMonitorResultLogic().SelectSampleDeptWithSubtaskID(strSubtaskID);
            if (dtSampleDept.Rows.Count == 0)//全是现场项目
            {
                objSubtask.TASK_STATUS = "022";
                objSubtask.REMARK1     = objSubtask.ID;
                strMsg = "现场监测结果复核";
                //设置现场复核人
                TMisMonitorSubtaskAppVo objSubAppSet = new TMisMonitorSubtaskAppVo();
                objSubAppSet.SAMPLING_CHECK = strUserID;
                objSubAppSet.REMARK1        = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); //采样时间
                TMisMonitorSubtaskAppVo objSubAppWhere = new TMisMonitorSubtaskAppVo();
                objSubAppWhere.SUBTASK_ID = strSubtaskID;
                new TMisMonitorSubtaskAppLogic().Edit(objSubAppSet, objSubAppWhere);
            }

            //update by ssz QY 现场项目信息需要另外发送任务
            DataTable dtSampleItem = new TMisMonitorResultLogic().SelectSampleItemWithSubtaskID(strSubtaskID);
            if (dtSampleItem.Rows.Count > 0 && dtSampleDept.Rows.Count > 0)//存在 非现场项目和现场项目
            {
                TMisMonitorSubtaskVo objSampleSubtask = new TMisMonitorSubtaskVo();
                CopyObject(objSubtask, objSampleSubtask);
                objSampleSubtask.ID          = GetSerialNumber("t_mis_monitor_subtaskId");
                objSampleSubtask.REMARK1     = objSubtask.ID;
                objSampleSubtask.TASK_STATUS = "022";
                //创建一个新的任务 对现场项目流程
                new TMisMonitorSubtaskLogic().Create(objSampleSubtask);

                //设置现场复核人
                TMisMonitorSubtaskAppVo objSubApp = new TMisMonitorSubtaskAppVo();
                objSubApp.ID             = GetSerialNumber("TMisMonitorSubtaskAppID");
                objSubApp.SUBTASK_ID     = objSampleSubtask.ID;
                objSubApp.SAMPLING_CHECK = strUserID;
                objSubApp.REMARK1        = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); //采样时间
                new TMisMonitorSubtaskAppLogic().Create(objSubApp);

                strMsg = "样品交接、现场监测结果复核";
            }
            isSuccess = new TMisMonitorSubtaskLogic().Edit(objSubtask);

            //现场信息
            TMisMonitorSampleSkyVo objSampleSky = new TMisMonitorSampleSkyVo();

            for (int i = 0; i < strAttribute.Split('-').Length; i++)
            {
                if (strAttribute.Split('-')[i].Contains("|"))
                {
                    objSampleSky.SUBTASK_ID   = strSubtaskID;
                    objSampleSky.WEATHER_ITEM = strAttribute.Split('-')[i].Split('|')[0];
                    objSampleSky = new TMisMonitorSampleSkyLogic().Details(objSampleSky);
                    objSampleSky.WEATHER_INFO = strAttribute.Split('-')[i].Split('|')[1];
                    objSampleSky.SUBTASK_ID   = strSubtaskID;
                    objSampleSky.WEATHER_ITEM = strAttribute.Split('-')[i].Split('|')[0];
                    if (objSampleSky.ID.Length > 0)
                    {
                        isSuccess = new TMisMonitorSampleSkyLogic().Edit(objSampleSky);
                    }
                    else
                    {
                        objSampleSky.ID = GetSerialNumber("TMisMonitorSampleSky");
                        isSuccess       = new TMisMonitorSampleSkyLogic().Create(objSampleSky);
                    }
                }
            }
            #endregion
        }
        if (strLink == "Check")
        {
            #region 现场监测结果复核环节发送事件
            objSubtask.TASK_STATUS = "023";
            objSubtask.TASK_TYPE   = "发送";
            strMsg    = "现场监测结果审核";
            isSuccess = new TMisMonitorSubtaskLogic().Edit(objSubtask);
            //记录现场复核时间
            TMisMonitorSubtaskAppVo objSubAppSet = new TMisMonitorSubtaskAppVo();
            objSubAppSet.REMARK2           = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
            objSubAppSet.SAMPLING_QC_CHECK = strUserID;
            TMisMonitorSubtaskAppVo objSubAppWhere = new TMisMonitorSubtaskAppVo();
            objSubAppWhere.SUBTASK_ID = strSubtaskID;
            new TMisMonitorSubtaskAppLogic().Edit(objSubAppSet, objSubAppWhere);
            #endregion
        }
        if (strLink == "QcCheck")
        {
            #region 现场监测结果审核环节发送事件
            objSubtask.TASK_STATUS = "24";
            objSubtask.TASK_TYPE   = "发送";
            strMsg    = "发送成功";
            isSuccess = new TMisMonitorSubtaskLogic().Edit(objSubtask);
            //更新现场审核人
            TMisMonitorSubtaskAppVo SubtaskAppVo = new TMisMonitorSubtaskAppVo();
            SubtaskAppVo.SUBTASK_ID        = strSubtaskID;
            SubtaskAppVo                   = new TMisMonitorSubtaskAppLogic().SelectByObject(SubtaskAppVo);
            SubtaskAppVo.SAMPLING_QC_CHECK = new i3.View.PageBase().LogInfo.UserInfo.ID;
            SubtaskAppVo.REMARK3           = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); //现场审核时间
            new TMisMonitorSubtaskAppLogic().Edit(SubtaskAppVo);

            if (isSuccess == true)
            {
                bool IsFinish = false;
                IsFinish = new TMisMonitorSubtaskLogic().isFinishSubTask(objSubtask.TASK_ID, true);
                if (IsFinish == true)
                {
                    TMisMonitorTaskVo TMisMonitorTaskVo = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);
                    TMisMonitorTaskVo.TASK_STATUS = "09";

                    if (TMisMonitorTaskVo.TASK_TYPE == "1")
                    {
                        DataTable objTable = new TMisMonitorSubtaskLogic().SelectByTable(new TMisMonitorSubtaskVo()
                        {
                            TASK_ID = objSubtask.TASK_ID
                        });
                        //如果是环境质量将自动对数据进行填报
                        foreach (DataRow row in objTable.Rows)
                        {
                            string strSubTaskId  = row["ID"].ToString();
                            string strMonitorId  = row["MONITOR_ID"].ToString();
                            string strAskDate    = row["SAMPLE_ASK_DATE"].ToString();
                            string strSampleDate = row["SAMPLE_FINISH_DATE"].ToString();
                            TMisMonitorSubtaskVo TMisMonitorSubtaskVo = new TMisMonitorSubtaskVo();
                            TMisMonitorSubtaskVo.ID                 = strSubTaskId;
                            TMisMonitorSubtaskVo.MONITOR_ID         = strMonitorId;
                            TMisMonitorSubtaskVo.SAMPLE_ASK_DATE    = strAskDate;
                            TMisMonitorSubtaskVo.SAMPLE_FINISH_DATE = strSampleDate;
                            if (strMonitorId == "EnvRiver" || strMonitorId == "EnvReservoir" || strMonitorId == "EnvDrinking" || strMonitorId == "EnvDrinkingSource" || strMonitorId == "EnvStbc" || strMonitorId == "EnvMudRiver" || strMonitorId == "EnvPSoild" || strMonitorId == "EnvSoil" || strMonitorId == "EnvAir" || strMonitorId == "EnvSpeed" || strMonitorId == "EnvDust" || strMonitorId == "EnvRain")
                            {
                                new TMisMonitorSubtaskLogic().SetEnvFillData(TMisMonitorSubtaskVo, false, TMisMonitorTaskVo.SAMPLE_SEND_MAN);
                            }
                            if (strMonitorId == "AreaNoise" || strMonitorId == "EnvRoadNoise" || strMonitorId == "FunctionNoise")
                            {
                                new TMisMonitorSubtaskLogic().SetEnvFillData(TMisMonitorSubtaskVo, true, TMisMonitorTaskVo.SAMPLE_SEND_MAN);
                            }
                        }

                        strMsg = "数据填报";
                    }
                    else
                    {
                        if (TMisMonitorTaskVo.REPORT_HANDLE == "")
                        {
                            TMisMonitorTaskVo.REPORT_HANDLE = getNextReportUserID("Report_UserID");
                        }
                        strMsg = "报告办理";
                    }

                    new TMisMonitorTaskLogic().Edit(TMisMonitorTaskVo);
                }
            }
            #endregion
        }
        return(isSuccess == true ? "[{result:'1',msg:'" + strMsg + "'}]" : "[{result:'0',msg:'" + strMsg + "'}]");
    }
    public static string btnBackSendClick(string strLink, string strSubtaskID, string strUserID, string strAttribute)
    {
        bool   isSuccess = true;
        string strMsg    = "";
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(strSubtaskID);

        if (strLink == "Sample")   //采样环节发送事件
        {
            //判断是否存在样品没有设置项目的情况
            TMisMonitorSampleInfoVo SampleInfoVo = new TMisMonitorSampleInfoVo();
            SampleInfoVo.SUBTASK_ID = strSubtaskID;
            List <TMisMonitorSampleInfoVo> list = new List <TMisMonitorSampleInfoVo>();
            list = new TMisMonitorSampleInfoLogic().SelectByObject(SampleInfoVo, 0, 0);
            for (int i = 0; i < list.Count; i++)
            {
                TMisMonitorResultVo ResultVo = new TMisMonitorResultVo();
                ResultVo.SAMPLE_ID = list[i].ID;
                ResultVo           = new TMisMonitorResultLogic().SelectByObject(ResultVo);
                if (ResultVo.ID.Length == 0)
                {
                    isSuccess = false;
                    strMsg    = "样品[" + list[i].SAMPLE_NAME + "]还没设置监测项目";
                    break;
                }
            }
            if (isSuccess == false)
            {
                return("[{result:'0',msg:'" + strMsg + "'}]");
            }

            objSubtask.TASK_STATUS = "022";
            objSubtask.TASK_TYPE   = "发送";
            strMsg = "样品交接";
            //子任务所有项目都属于现场项目,跳过分析环节
            DataTable dtSampleDept = new TMisMonitorResultLogic().SelectSampleDeptWithSubtaskID(strSubtaskID);
            if (dtSampleDept.Rows.Count == 0)//全是现场项目
            {
                strMsg = "现场监测结果复核";

                //设置现场复核人
                TMisMonitorSubtaskAppVo objSubAppSet = new TMisMonitorSubtaskAppVo();
                objSubAppSet.SAMPLING_CHECK = strUserID;
                objSubAppSet.REMARK1        = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); //采样时间
                TMisMonitorSubtaskAppVo objSubAppWhere = new TMisMonitorSubtaskAppVo();
                objSubAppWhere.SUBTASK_ID = strSubtaskID;
                new TMisMonitorSubtaskAppLogic().Edit(objSubAppSet, objSubAppWhere);
            }

            DataTable dtSampleItem = new TMisMonitorResultLogic().SelectSampleItemWithSubtaskID(strSubtaskID);
            if (dtSampleItem.Rows.Count > 0 && dtSampleDept.Rows.Count > 0)//存在 非现场项目和现场项目
            {
                strMsg = "样品交接、现场监测结果复核";

                //设置现场复核人
                TMisMonitorSubtaskAppVo objSubAppSet = new TMisMonitorSubtaskAppVo();
                objSubAppSet.REMARK1        = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); //采样时间
                objSubAppSet.SAMPLING_CHECK = strUserID;
                TMisMonitorSubtaskAppVo objSubAppWhere = new TMisMonitorSubtaskAppVo();
                objSubAppWhere.SUBTASK_ID = strSubtaskID;
                new TMisMonitorSubtaskAppLogic().Edit(objSubAppSet, objSubAppWhere);
            }
            isSuccess = new TMisMonitorSubtaskLogic().Edit(objSubtask);

            //现场信息
            TMisMonitorSampleSkyVo objSampleSky = new TMisMonitorSampleSkyVo();

            for (int i = 0; i < strAttribute.Split('-').Length; i++)
            {
                if (strAttribute.Split('-')[i].Contains("|"))
                {
                    objSampleSky.SUBTASK_ID   = strSubtaskID;
                    objSampleSky.WEATHER_ITEM = strAttribute.Split('-')[i].Split('|')[0];
                    objSampleSky = new TMisMonitorSampleSkyLogic().Details(objSampleSky);
                    objSampleSky.WEATHER_INFO = strAttribute.Split('-')[i].Split('|')[1];
                    objSampleSky.SUBTASK_ID   = strSubtaskID;
                    objSampleSky.WEATHER_ITEM = strAttribute.Split('-')[i].Split('|')[0];
                    if (objSampleSky.ID.Length > 0)
                    {
                        isSuccess = new TMisMonitorSampleSkyLogic().Edit(objSampleSky);
                    }
                    else
                    {
                        objSampleSky.ID = GetSerialNumber("TMisMonitorSampleSky");
                        isSuccess       = new TMisMonitorSampleSkyLogic().Create(objSampleSky);
                    }
                }
            }
        }
        if (strLink == "Check") //现场结果复核发送事件
        {
            objSubtask.TASK_STATUS = "023";
            objSubtask.TASK_TYPE   = "发送";
            strMsg    = "现场监测结果审核";
            isSuccess = new TMisMonitorSubtaskLogic().Edit(objSubtask);
            //记录现场复核时间
            TMisMonitorSubtaskAppVo objSubAppSet = new TMisMonitorSubtaskAppVo();
            objSubAppSet.REMARK2           = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
            objSubAppSet.SAMPLING_QC_CHECK = strUserID;
            TMisMonitorSubtaskAppVo objSubAppWhere = new TMisMonitorSubtaskAppVo();
            objSubAppWhere.SUBTASK_ID = strSubtaskID;
            new TMisMonitorSubtaskAppLogic().Edit(objSubAppSet, objSubAppWhere);
        }
        if (strLink == "QcCheck") //现场结果审核发送事件
        {
            objSubtask.TASK_STATUS = "24";
            objSubtask.TASK_TYPE   = "发送";
            strMsg    = "发送成功";
            isSuccess = new TMisMonitorSubtaskLogic().Edit(objSubtask);
            //更新现场审核人
            TMisMonitorSubtaskAppVo SubtaskAppVo = new TMisMonitorSubtaskAppVo();
            SubtaskAppVo.SUBTASK_ID        = strSubtaskID;
            SubtaskAppVo                   = new TMisMonitorSubtaskAppLogic().SelectByObject(SubtaskAppVo);
            SubtaskAppVo.SAMPLING_QC_CHECK = new i3.View.PageBase().LogInfo.UserInfo.ID;
            SubtaskAppVo.REMARK3           = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); //现场审核时间
            new TMisMonitorSubtaskAppLogic().Edit(SubtaskAppVo);

            if (isSuccess == true)
            {
                bool IsFinish = false;
                IsFinish = new TMisMonitorSubtaskLogic().isFinishSubTask(objSubtask.TASK_ID, true);
                if (IsFinish == true)
                {
                    TMisMonitorTaskVo TMisMonitorTaskVo = new TMisMonitorTaskVo();
                    TMisMonitorTaskVo.ID            = objSubtask.TASK_ID;
                    TMisMonitorTaskVo.TASK_STATUS   = "09";
                    TMisMonitorTaskVo.REPORT_HANDLE = getNextReportUserID("Report_UserID");
                    new TMisMonitorTaskLogic().Edit(TMisMonitorTaskVo);
                    strMsg = "报告办理";
                }
            }
        }

        return(isSuccess == true ? "[{result:'1',msg:'" + strMsg + "'}]" : "[{result:'0',msg:'" + strMsg + "'}]");
    }
Beispiel #10
0
    //发送到下一环节
    //private string SendToNext(string strSubTaskId)
    //{
    //    TMisMonitorSubtaskVo objSubtaskVo = new TMisMonitorSubtaskVo();
    //    objSubtaskVo.ID = strSubTaskId;
    //    objSubtaskVo.TASK_STATUS = "24";
    //    objSubtaskVo.TASK_TYPE = "发送";
    //    bool IsSuccess = new TMisMonitorSubtaskLogic().Edit(objSubtaskVo);
    //}
    private string SendToNext(string strTaskId)
    {
        string strSubTaskID = Request["strSubTaskID"].ToString();
        bool   IsSuccess    = false;
        string strMsg       = "";

        DataTable dt = new DataTable();

        dt        = new TMisMonitorTaskLogic().SelectSampleTaskForQCQY(strSubTaskID, LogInfo.UserInfo.ID, "sample_result_qccheck", "023", strTaskId);
        IsSuccess = new TMisMonitorTaskLogic().SetSubTask(dt, "24", "发送");

        if (IsSuccess == true)
        {
            bool IsAnyscene = false;
            bool IsFinish   = false;
            //IsAnyscene = new TMisMonitorSubtaskLogic().isExistAnyscene(strTaskId);
            IsFinish = new TMisMonitorSubtaskLogic().isFinishSubTask(strTaskId, true);
            if (IsFinish == true)
            {
                i3.ValueObject.Channels.Mis.Monitor.Task.TMisMonitorTaskVo TMisMonitorTaskVo = new i3.BusinessLogic.Channels.Mis.Monitor.Task.TMisMonitorTaskLogic().Details(strTaskId);
                TMisMonitorTaskVo.ID          = strTaskId;
                TMisMonitorTaskVo.TASK_STATUS = "09";
                if (TMisMonitorTaskVo.TASK_TYPE == "1")
                {
                    DataTable objTable = new TMisMonitorSubtaskLogic().SelectByTable(new TMisMonitorSubtaskVo()
                    {
                        TASK_ID = strTaskId
                    });
                    //如果是环境质量将自动对数据进行填报
                    foreach (DataRow row in objTable.Rows)
                    {
                        string strSubTaskId  = row["ID"].ToString();
                        string strMonitorId  = row["MONITOR_ID"].ToString();
                        string strAskDate    = row["SAMPLE_ASK_DATE"].ToString();
                        string strSampleDate = row["SAMPLE_FINISH_DATE"].ToString();
                        TMisMonitorSubtaskVo TMisMonitorSubtaskVo = new TMisMonitorSubtaskVo();
                        TMisMonitorSubtaskVo.ID                 = strSubTaskId;
                        TMisMonitorSubtaskVo.MONITOR_ID         = strMonitorId;
                        TMisMonitorSubtaskVo.SAMPLE_ASK_DATE    = strAskDate;
                        TMisMonitorSubtaskVo.SAMPLE_FINISH_DATE = strSampleDate;
                        if (strMonitorId == "EnvRiver" || strMonitorId == "EnvReservoir" || strMonitorId == "EnvDrinking" || strMonitorId == "EnvDrinkingSource" || strMonitorId == "EnvStbc" || strMonitorId == "EnvMudRiver" || strMonitorId == "EnvPSoild" || strMonitorId == "EnvSoil" || strMonitorId == "EnvAir" || strMonitorId == "EnvSpeed" || strMonitorId == "EnvDust" || strMonitorId == "EnvRain")
                        {
                            new TMisMonitorSubtaskLogic().SetEnvFillData(TMisMonitorSubtaskVo, false, TMisMonitorTaskVo.SAMPLE_SEND_MAN);
                        }
                        if (strMonitorId == "AreaNoise" || strMonitorId == "EnvRoadNoise" || strMonitorId == "FunctionNoise")
                        {
                            new TMisMonitorSubtaskLogic().SetEnvFillData(TMisMonitorSubtaskVo, true, TMisMonitorTaskVo.SAMPLE_SEND_MAN);
                        }
                    }

                    strMsg = "数据填报";
                }
                else
                {
                    if (TMisMonitorTaskVo.REPORT_HANDLE == "")
                    {
                        TMisMonitorTaskVo.REPORT_HANDLE = getNextReportUserID("Report_UserID");
                    }
                    strMsg = "报告办理";
                }
                new TMisMonitorTaskLogic().Edit(TMisMonitorTaskVo);
            }
        }
        return(IsSuccess == true ? "{\"result\":\"1\",\"msg\":\"" + strMsg + "\"}" : "{\"result\":\"0\",\"msg\":\"" + strMsg + "\"}");
    }
    public static string SaveDataPoint(string strSubTaskID, string strPointName, string strMonitorID)
    {
        bool isSuccess = true;

        TMisMonitorTaskPointVo objPoint = new TMisMonitorTaskPointVo();

        objPoint.ID          = GetSerialNumber("t_mis_monitor_taskpointId");
        objPoint.IS_DEL      = "0";
        objPoint.SUBTASK_ID  = strSubTaskID;
        objPoint.POINT_NAME  = strPointName;
        objPoint.MONITOR_ID  = strMonitorID;
        objPoint.FREQ        = "1";
        objPoint.CREATE_DATE = DateTime.Now.ToString();

        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(strSubTaskID);
        TMisMonitorTaskVo    objTask    = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);

        objPoint.TASK_ID = objTask.ID;

        //监测任务出现新增排口时,基础资料企业表也要新增
        TBaseCompanyPointVo objnewPoint = new TBaseCompanyPointVo();

        objnewPoint.ID          = GetSerialNumber("t_base_company_point_id");
        objnewPoint.IS_DEL      = "0";
        objnewPoint.POINT_NAME  = strPointName;
        objnewPoint.MONITOR_ID  = strMonitorID;
        objnewPoint.FREQ        = "1";
        objnewPoint.CREATE_DATE = DateTime.Now.ToString();

        TMisMonitorTaskCompanyVo objTaskCompany = new TMisMonitorTaskCompanyVo();

        //objTaskCompany.TASK_ID = objTask.ID; ;
        objTaskCompany = new TMisMonitorTaskCompanyLogic().Details(objTask.TESTED_COMPANY_ID);

        TMisContractCompanyVo objContractCompany = new TMisContractCompanyLogic().Details(objTaskCompany.COMPANY_ID);

        objnewPoint.COMPANY_ID = objContractCompany.COMPANY_ID;

        isSuccess = new TBaseCompanyPointLogic().Create(objnewPoint);

        objPoint.POINT_ID = objnewPoint.ID;
        isSuccess         = new TMisMonitorTaskPointLogic().Create(objPoint);

        //增加点位样品信息
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoVo();

        objSample.ID          = GetSerialNumber("MonitorSampleId");
        objSample.SUBTASK_ID  = strSubTaskID;
        objSample.QC_TYPE     = "0";
        objSample.NOSAMPLE    = "0";
        objSample.POINT_ID    = objPoint.ID;
        objSample.SAMPLE_NAME = objPoint.POINT_NAME;
        isSuccess             = new TMisMonitorSampleInfoLogic().Create(objSample);

        //为新增的测点添加监测项目
        DataTable dt         = new TMisMonitorSubtaskLogic().getItemBySubTaskID(strSubTaskID);
        string    strItemIDs = "";

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            strItemIDs += dt.Rows[i]["ID"].ToString() + ",";
        }
        isSuccess = SaveDataItem(strSubTaskID, objSample.ID, strItemIDs.TrimEnd(','), true);

        if (isSuccess)
        {
            return("1");
        }
        else
        {
            return("0");
        }
    }
    /// <summary>
    /// 将任务回退到上一环节
    /// </summary>
    /// <param name="strTaskId">任务ID</param>
    /// <returns></returns>
    public string GoToBackTask(string strTaskId, string strSubTaskID, string strSuggestion)
    {
        bool isSuccess = false;

        //TMisMonitorSubtaskVo objSubTaskVo = new TMisMonitorSubtaskVo();
        //if (new TMisMonitorSubtaskLogic().Details(strSubTaskId).REMARK1 == "")
        //{
        //    objSubTaskVo.ID = strSubTaskId;
        //    objSubTaskVo.TASK_STATUS = "122";//退回状态
        //    objSubTaskVo.TASK_TYPE = "退回";
        //    isSuccess = new TMisMonitorSubtaskLogic().Edit(objSubTaskVo);
        //}
        //else
        //{
        isSuccess = new TMisMonitorSubtaskLogic().SampleResultCheckBackTo(strTaskId, strSubTaskID, "02", "50", "退回");
        bool      isSampleDept = new TMisMonitorSubtaskLogic().isExistAnysceneDept(strTaskId, strSubTaskID);
        DataTable dtSampleItem = new TMisMonitorResultLogic().SelectSampleItemWithSubtaskID(strSubTaskID);
        //}
        TMisReturnInfoVo objReturnInfoVo = new TMisReturnInfoVo();

        objReturnInfoVo.TASK_ID    = strTaskId;
        objReturnInfoVo.SUBTASK_ID = strSubTaskID;
        if (dtSampleItem.Rows.Count > 0) //有现场类项目
        {
            objReturnInfoVo.CURRENT_STATUS = SerialType.Monitor_003;
            objReturnInfoVo.BACKTO_STATUS  = SerialType.Monitor_002;
            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);
            }
        }
        if (isSampleDept) //有分析类现场项目
        {
            objReturnInfoVo.ID             = "";
            objReturnInfoVo.SUGGESTION     = "";
            objReturnInfoVo.CURRENT_STATUS = SerialType.Monitor_003;
            objReturnInfoVo.BACKTO_STATUS  = SerialType.Monitor_010;
            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");
    }
    public static string btnSendClick(string strSubtaskID, string strAttribute)
    {
        bool isSuccess = true;
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(strSubtaskID);
        string strTaskID = objSubtask.TASK_ID;

        if (objSubtask.MONITOR_ID == "000000004" || objSubtask.MONITOR_ID == "000000005")
        {
            objSubtask.TASK_STATUS = "09";
        }
        else
        {
            objSubtask.TASK_STATUS = "03";
        }
        //子任务所有项目都属于现场项目,跳过分析环节
        DataTable dtSampleDept = new TMisMonitorResultLogic().SelectSampleDeptWithSubtaskID(strSubtaskID);

        if (dtSampleDept.Rows.Count == 0)
        {
            objSubtask.TASK_STATUS = "09";
        }

        isSuccess = new TMisMonitorSubtaskLogic().Edit(objSubtask);

        //任务全部完成,修改任务表状态
        int iStatus = 0;

        objSubtask         = new TMisMonitorSubtaskVo();
        objSubtask.TASK_ID = strTaskID;
        DataTable dtTask = new TMisMonitorSubtaskLogic().SelectByTable(objSubtask);

        for (int j = 0; j < dtTask.Rows.Count; j++)
        {
            if (dtTask.Rows[j]["TASK_STATUS"].ToString() != "09")
            {
                iStatus += 1;
            }
        }
        if (iStatus == 0)
        {
            TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();
            objTask.ID          = strTaskID;
            objTask.TASK_STATUS = "09";
            new TMisMonitorTaskLogic().Edit(objTask);
        }

        TMisMonitorSampleSkyVo objSampleSky = new TMisMonitorSampleSkyVo();

        for (int i = 0; i < strAttribute.Split('-').Length; i++)
        {
            if (strAttribute.Split('-')[i].Contains("|"))
            {
                objSampleSky.SUBTASK_ID   = strSubtaskID;
                objSampleSky.WEATHER_ITEM = strAttribute.Split('-')[i].Split('|')[0];
                objSampleSky = new TMisMonitorSampleSkyLogic().Details(objSampleSky);
                objSampleSky.WEATHER_INFO = strAttribute.Split('-')[i].Split('|')[1];
                objSampleSky.SUBTASK_ID   = strSubtaskID;
                objSampleSky.WEATHER_ITEM = strAttribute.Split('-')[i].Split('|')[0];
                if (objSampleSky.ID.Length > 0)
                {
                    isSuccess = new TMisMonitorSampleSkyLogic().Edit(objSampleSky);
                }
                else
                {
                    objSampleSky.ID = GetSerialNumber("TMisMonitorSampleSky");
                    isSuccess       = new TMisMonitorSampleSkyLogic().Create(objSampleSky);
                }
            }
        }
        return(isSuccess == true ? "1" : "0");
    }
Beispiel #14
0
    private static bool createQcInfo(string strSubTaskId, string strQcType, string strItemId, string strSumQcStandValue, string strSumQcUncetainty)
    {
        bool isSuccess = true;

        if (strItemId == "")
        {
            return(isSuccess);
        }

        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoVo();
        string strQcSampleId = GetSerialNumber("MonitorSampleId");

        objSample.ID         = strQcSampleId;
        objSample.SUBTASK_ID = strSubTaskId;
        objSample.QC_TYPE    = strQcType;
        //新增点位时候,自动生成该点位的样品编码
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(objSample.SUBTASK_ID);
        TMisMonitorTaskVo    objTask    = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);
        TBaseSerialruleVo    objSerial  = new TBaseSerialruleVo();

        objSerial.SAMPLE_SOURCE = objTask.SAMPLE_SOURCE;
        objSerial.SERIAL_TYPE   = "2";

        objSample.SAMPLECODE_CREATEDATE = DateTime.Now.ToString("yyyy-MM-dd");

        objSample.SAMPLE_CODE = CreateBaseDefineCodeForSample(objSerial, objTask, objSubtask);

        objSample.NOSAMPLE = "0";

        if (strQcType == "11")
        {
            objSample.SAMPLE_NAME = "标准盲样";
        }

        //在样品表中添加样品数据
        if (!new TMisMonitorSampleInfoLogic().Create(objSample))
        {
            isSuccess = false;
        }

        //遍历监测项目信息,将监测项目信息添加到结果表、结果分析执行表、标准盲样表中
        for (int i = 0; i < strItemId.Split(',').Length; i++)
        {
            //将数据写入结果表中
            TMisMonitorResultVo objResult = new TMisMonitorResultVo();
            objResult.ID        = GetSerialNumber("MonitorResultId");
            objResult.SAMPLE_ID = strQcSampleId;
            objResult.QC_TYPE   = strQcType;
            objResult.ITEM_ID   = strItemId.Split(',')[i];

            //填充默认分析方法和方法依据
            TBaseItemAnalysisVo objItemAnalysis = new TBaseItemAnalysisVo();
            objItemAnalysis.ITEM_ID    = objResult.ITEM_ID;
            objItemAnalysis.IS_DEFAULT = "是";
            objItemAnalysis.IS_DEL     = "0";
            objItemAnalysis            = new TBaseItemAnalysisLogic().Details(objItemAnalysis);

            if (objItemAnalysis.ID.Length == 0)
            {
                objItemAnalysis         = new TBaseItemAnalysisVo();
                objItemAnalysis.ITEM_ID = objResult.ITEM_ID;
                objItemAnalysis.IS_DEL  = "0";
                objItemAnalysis         = new TBaseItemAnalysisLogic().Details(objItemAnalysis);
            }

            if (objItemAnalysis.ID.Length > 0)
            {
                TBaseMethodAnalysisVo objMethod = new TBaseMethodAnalysisLogic().Details(objItemAnalysis.ANALYSIS_METHOD_ID);
                objResult.ANALYSIS_METHOD_ID = objMethod.ID;
                objResult.STANDARD_ID        = objMethod.METHOD_ID;
            }
            objResult.ANALYSIS_METHOD_ID = "";
            objResult.STANDARD_ID        = "";
            objResult.TASK_TYPE          = "发送";
            objResult.RESULT_STATUS      = "01";

            if (!new TMisMonitorResultLogic().Create(objResult))
            {
                isSuccess = false;
            }

            //将数据写入结果分析执行表中
            InsertResultAPP(objResult.ID);

            //将结果写入盲样结果表中
            TMisMonitorQcBlindZzVo TMisMonitorQcBlindZzVo = new TMisMonitorQcBlindZzVo();
            TMisMonitorQcBlindZzVo.ID             = GetSerialNumber("QcBlindId_ZZ");
            TMisMonitorQcBlindZzVo.RESULT_ID      = objResult.ID;
            TMisMonitorQcBlindZzVo.QC_TYPE        = strQcType;
            TMisMonitorQcBlindZzVo.STANDARD_VALUE = strSumQcStandValue.Split(',')[i];
            TMisMonitorQcBlindZzVo.UNCETAINTY     = strSumQcUncetainty.Split(',')[i];
            if (!new TMisMonitorQcBlindZzLogic().Create(TMisMonitorQcBlindZzVo))
            {
                isSuccess = false;
            }
        }
        return(isSuccess);
    }
    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();
            }
        }
    }
    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 + "'}]");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string strTaskId    = "";
        string strSubTaskID = "";

        if (!string.IsNullOrEmpty(Request.QueryString["task_id"]))
        {
            strTaskId = Request.QueryString["task_id"].ToString();
        }
        if (!string.IsNullOrEmpty(Request.QueryString["subtask_id"]))
        {
            strSubTaskID = Request.QueryString["subtask_id"].ToString();
        }
        if (strTaskId.Length == 0)
        {
            return;
        }

        //动态生成列名
        string strPreColumnName = "编号,地点,时间,样品种类";
        //动态生成列名编码
        string strPreColumnName_Src = "SAMPLE_CODE,SAMPLE_NAME,SAMPLE_FINISH_DATE,MONITOR_TYPE_NAME";

        if (!string.IsNullOrEmpty(strTaskId))
        {
            TMisMonitorTaskVo objTask      = new TMisMonitorTaskLogic().Details(strTaskId);
            string            strMonitorID = "";
            if (strSubTaskID.Length > 0)
            {
                strMonitorID = new TMisMonitorSubtaskLogic().Details(strSubTaskID).MONITOR_ID;
            }

            //行转列 前数据表
            DataTable dtResultTotal = new TMisMonitorResultLogic().getTotalItemInfoByTaskID(strTaskId, "", strMonitorID);
            //行转列 后数据表
            DataTable dtNew = getDatatable("", strPreColumnName, strPreColumnName_Src, dtResultTotal);

            //标题数组
            ArrayList arrTitle = new ArrayList();
            arrTitle.Add(new string[3] {
                "1", "水质样品监测结果汇总表", "true"
            });
            arrTitle.Add(new string[3] {
                "2", "ZHJC/JS001                               单位:mg/L                                 任务编号:" + objTask.TICKET_NUM, "false"
            });

            //列名集合
            ArrayList arrData = new ArrayList();
            for (int i = 0; i < dtNew.Columns.Count; i++)
            {
                arrData.Add(new string[2] {
                    (i + 1).ToString(), dtNew.Columns[i].ColumnName.ToString()
                });
            }
            //结尾数组
            ArrayList arrEnd = new ArrayList();
            arrEnd.Add(new string[2] {
                "1", "监测负责人:                                 审核:                                 审定:                                 "
            });
            arrEnd.Add(new string[2] {
                "2", "填报科室:中心实验室"
            });
            arrEnd.Add(new string[2] {
                "3", DateTime.Now.ToString("yyyy-MM-dd")
            });
            new ExcelHelper().RenderDataTableToExcel(dtNew, "监测数据汇总表.xls", "../../../../TempFile/DataTotal.xls", "监测数据汇总表", 3, true, arrTitle, arrData, arrEnd);
        }
    }
    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();
            }
        }
    }
Beispiel #19
0
    public static bool QcSave(string strSampleID, string strQcType, string strItemId, string strQcAddValue, string strRemark1, string strRemark2, string strRemark3)
    {
        deleteSampleInfo(strSampleID, strQcType);
        bool isSuccess = true;

        if (strItemId == "")
        {
            return(isSuccess);
        }

        string strSourceResultId          = "";
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoLogic().Details(strSampleID);

        objSample.ID           = GetSerialNumber("MonitorSampleId");
        objSample.QC_TYPE      = strQcType;
        objSample.QC_SOURCE_ID = strSampleID;
        objSample.SAMPLE_NAME += "现场加标";
        objSample.SAMPLE_COUNT = "";
        //objSample.SAMPLE_CODE = GetSampleCode_QHD(strSampleID);
        //新增点位时候,自动生成该点位的样品编码
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(objSample.SUBTASK_ID);
        TMisMonitorTaskVo    objTask    = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);
        TBaseSerialruleVo    objSerial  = new TBaseSerialruleVo();

        objSerial.SAMPLE_SOURCE = objTask.SAMPLE_SOURCE;
        objSerial.SERIAL_TYPE   = "2";

        objSample.SAMPLECODE_CREATEDATE = DateTime.Now.ToString("yyyy-MM-dd");

        objSample.SAMPLE_CODE = CreateBaseDefineCodeForSample(objSerial, objTask, objSubtask);

        if (!new TMisMonitorSampleInfoLogic().Create(objSample))
        {
            isSuccess = false;
        }

        for (int i = 0; i < strItemId.Split(',').Length; i++)
        {
            TMisMonitorResultVo objResult = new TMisMonitorResultVo();
            objResult.SAMPLE_ID = strSampleID;
            objResult.QC_TYPE   = "0";
            objResult.ITEM_ID   = strItemId.Split(',')[i];
            objResult           = new TMisMonitorResultLogic().Details(objResult);

            strSourceResultId      = objResult.ID;
            objResult.ID           = GetSerialNumber("MonitorResultId");
            objResult.SAMPLE_ID    = objSample.ID;
            objResult.QC_TYPE      = strQcType;
            objResult.QC_SOURCE_ID = strSourceResultId;
            objResult.SOURCE_ID    = strSourceResultId;
            objResult.QC           = "###";
            if (!new TMisMonitorResultLogic().Create(objResult))
            {
                isSuccess = false;
            }
            InsertResultAPP(objResult.ID);

            TMisMonitorQcAddVo objQcAdd = new TMisMonitorQcAddVo();
            objQcAdd.ID            = GetSerialNumber("QcAddId");
            objQcAdd.RESULT_ID_SRC = strSourceResultId;
            objQcAdd.RESULT_ID_ADD = objResult.ID;
            objQcAdd.QC_TYPE       = strQcType;
            objQcAdd.QC_ADD        = strQcAddValue.Split(',')[i];
            objQcAdd.REMARK1       = strRemark1.Split(',')[i];
            objQcAdd.REMARK2       = strRemark2.Split(',')[i];
            objQcAdd.REMARK3       = strRemark3.Split(',')[i];
            if (!new TMisMonitorQcAddLogic().Create(objQcAdd))
            {
                isSuccess = false;
            }
        }
        return(isSuccess);
    }
    public static string SaveData(string strPointID, string strSubtaskID, string strPOINT_NAME, string strMONITOR_ID, string strPOINT_TYPE, string strDYNAMIC_ATTRIBUTE_ID, string strFREQ,
                                  string strCREATE_DATE, string strADDRESS, string strLONGITUDE, string strLATITUDE, string strNUM, string strAttribute,
                                  string strNATIONAL_ST_CONDITION_ID, string strLOCAL_ST_CONDITION_ID, string strINDUSTRY_ST_CONDITION_ID)
    {
        bool isSuccess = true;

        TMisMonitorTaskPointVo objPoint = new TMisMonitorTaskPointVo();

        objPoint.ID                   = strPointID.Length > 0 ? strPointID : GetSerialNumber("t_mis_monitor_taskpointId");
        objPoint.IS_DEL               = "0";
        objPoint.SUBTASK_ID           = strSubtaskID;
        objPoint.POINT_NAME           = strPOINT_NAME;
        objPoint.MONITOR_ID           = strMONITOR_ID;
        objPoint.DYNAMIC_ATTRIBUTE_ID = strDYNAMIC_ATTRIBUTE_ID;
        objPoint.FREQ                 = strFREQ;
        objPoint.CREATE_DATE          = strCREATE_DATE;
        objPoint.ADDRESS              = strADDRESS;
        objPoint.LONGITUDE            = strLONGITUDE;
        objPoint.LATITUDE             = strLATITUDE;
        objPoint.NUM                  = strNUM;

        objPoint.NATIONAL_ST_CONDITION_ID = strNATIONAL_ST_CONDITION_ID;
        objPoint.LOCAL_ST_CONDITION_ID    = strLOCAL_ST_CONDITION_ID;
        objPoint.INDUSTRY_ST_CONDITION_ID = strINDUSTRY_ST_CONDITION_ID;

        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(strSubtaskID);
        TMisMonitorTaskVo    objTask    = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);

        objPoint.TASK_ID = objTask.ID;

        //监测任务出现新增排口时,基础资料企业表也要新增
        TBaseCompanyPointVo objnewPoint = new TBaseCompanyPointVo();

        if (strPointID.Length == 0)
        {
            objnewPoint.ID                   = GetSerialNumber("t_base_company_point_id");
            objnewPoint.IS_DEL               = "0";
            objnewPoint.POINT_NAME           = strPOINT_NAME;
            objnewPoint.MONITOR_ID           = strMONITOR_ID;
            objnewPoint.DYNAMIC_ATTRIBUTE_ID = strDYNAMIC_ATTRIBUTE_ID;
            objnewPoint.FREQ                 = strFREQ;
            objnewPoint.CREATE_DATE          = strCREATE_DATE;
            objnewPoint.ADDRESS              = strADDRESS;
            objnewPoint.LONGITUDE            = strLONGITUDE;
            objnewPoint.LATITUDE             = strLATITUDE;
            objnewPoint.NUM                  = strNUM;

            objnewPoint.NATIONAL_ST_CONDITION_ID = strNATIONAL_ST_CONDITION_ID;
            objnewPoint.LOCAL_ST_CONDITION_ID    = strLOCAL_ST_CONDITION_ID;
            objnewPoint.INDUSTRY_ST_CONDITION_ID = strINDUSTRY_ST_CONDITION_ID;

            TMisMonitorTaskCompanyVo objTaskCompany = new TMisMonitorTaskCompanyVo();
            objTaskCompany.TASK_ID = objTask.ID;;
            objTaskCompany         = new TMisMonitorTaskCompanyLogic().Details(objTaskCompany);

            TMisContractCompanyVo objContractCompany = new TMisContractCompanyLogic().Details(objTaskCompany.COMPANY_ID);
            objnewPoint.COMPANY_ID = objContractCompany.COMPANY_ID;

            new TBaseCompanyPointLogic().Create(objnewPoint);

            objPoint.POINT_ID = objnewPoint.ID;
        }

        if (strPointID.Length > 0)
        {
            isSuccess = new TMisMonitorTaskPointLogic().Edit(objPoint);
        }
        else
        {
            isSuccess = new TMisMonitorTaskPointLogic().Create(objPoint);

            //增加点位样品信息
            TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoVo();
            objSample.ID          = GetSerialNumber("MonitorSampleId");
            objSample.SUBTASK_ID  = strSubtaskID;
            objSample.QC_TYPE     = "0";
            objSample.NOSAMPLE    = "0";
            objSample.POINT_ID    = objPoint.ID;
            objSample.SAMPLE_NAME = objPoint.POINT_NAME;
            string[] strSampleCode = new string[2] {
                "S" + DateTime.Now.Year + DateTime.Now.Month, i3.View.PageBase.GetSerialNumber("monitor_samplecode")
            };
            objSample.SAMPLE_CODE = CreateSerialNumber(strSampleCode);

            new TMisMonitorSampleInfoLogic().Create(objSample);
        }

        TBaseAttrbuteValue3Logic logicAttrValue = new TBaseAttrbuteValue3Logic();

        //清掉原有动态属性值
        TBaseAttrbuteValue3Vo objAttrValueDelWhere = new TBaseAttrbuteValue3Vo();

        objAttrValueDelWhere.OBJECT_ID = objPoint.ID;
        objAttrValueDelWhere.IS_DEL    = "0";
        TBaseAttrbuteValue3Vo objAttrValueDelSet = new TBaseAttrbuteValue3Vo();

        objAttrValueDelSet.IS_DEL = "1";
        logicAttrValue.Edit(objAttrValueDelSet, objAttrValueDelWhere);

        //新增动态属性值
        if (strAttribute.Length > 0)
        {
            string[] arrAttribute = strAttribute.Split('-');
            for (int i = 0; i < arrAttribute.Length; i++)
            {
                string[] arrAttrValue = arrAttribute[i].Split('|');

                TBaseAttrbuteValue3Vo objAttrValueAdd = new TBaseAttrbuteValue3Vo();
                objAttrValueAdd.ID             = GetSerialNumber("t_base_attribute_value3_id");
                objAttrValueAdd.IS_DEL         = "0";
                objAttrValueAdd.OBJECT_TYPE    = arrAttrValue[0];
                objAttrValueAdd.OBJECT_ID      = objPoint.ID;
                objAttrValueAdd.ATTRBUTE_CODE  = arrAttrValue[1];
                objAttrValueAdd.ATTRBUTE_VALUE = arrAttrValue[2];
                isSuccess = logicAttrValue.Create(objAttrValueAdd);
            }
        }

        if (isSuccess)
        {
            return("1");
        }
        else
        {
            return("0");
        }
    }
    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");
    }
    /// <summary>
    /// 获取监测项目信息
    /// </summary>
    /// <returns></returns>
    private string getThreeGridInfo(string strTwoGridId, string strTaskID)
    {
        string strSortname  = Request.Params["sortname"];
        string strSortorder = Request.Params["sortorder"];
        //当前页面
        int intPageIndex = Convert.ToInt32(Request.Params["page"]);
        //每页记录数
        int intPageSize = Convert.ToInt32(Request.Params["pagesize"]);

        DataTable dt = new TMisMonitorSampleInfoLogic().getSamplingAllocationSheet(strTaskID, strTwoGridId, "021");

        //样品编号生成
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            TMisMonitorSampleInfoVo objSample  = new TMisMonitorSampleInfoLogic().Details(dt.Rows[i]["ID"].ToString());
            TMisMonitorSubtaskVo    objSubtask = new TMisMonitorSubtaskLogic().Details(objSample.SUBTASK_ID);
            TMisMonitorTaskVo       objTask    = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);

            if (objSample.SAMPLE_CODE.Length == 0)
            {
                //objSample.SAMPLE_CODE = GetSampleCode_QHD(dt.Rows[i]["ID"].ToString());
                TBaseSerialruleVo objSerial = new TBaseSerialruleVo();
                objSerial.SAMPLE_SOURCE = objTask.SAMPLE_SOURCE;
                objSerial.SERIAL_TYPE   = "2";

                objSample.SAMPLECODE_CREATEDATE = DateTime.Now.ToString("yyyy-MM-dd");

                if (objTask.TASK_TYPE == "1")
                {
                    objSample.SAMPLE_CODE = objSample.SAMPLE_NAME;
                }
                else
                {
                    objSample.SAMPLE_CODE = CreateBaseDefineCodeForSample(objSerial, objTask, objSubtask);
                }

                new TMisMonitorSampleInfoLogic().Edit(objSample);

                dt.Rows[i]["SAMPLE_CODE"] = objSample.SAMPLE_CODE;
            }
            //样品状态,外委除外(废水、地表水)
            if (objTask.CONTRACT_TYPE != "04")
            {
                DataTable dtAtt       = new DataTable();
                string    strAttValue = string.Empty;
                string    strAttID    = "''";
                if (objSubtask.MONITOR_ID == "000000001")
                {
                    strAttID = "'000000017'";
                }
                if (objSubtask.MONITOR_ID == "EnvRiver")
                {
                    strAttID = "'000000211'";
                }
                dtAtt = new i3.BusinessLogic.Channels.Base.DynamicAttribute.TBaseAttributeInfoLogic().GetAttValue(strAttID, dt.Rows[i]["POINT_ID"].ToString());
                for (int j = 0; j < dtAtt.Rows.Count; j++)
                {
                    strAttValue += dtAtt.Rows[j]["ATTRBUTE_TEXT"].ToString() + "、";
                }
                dt.Rows[i]["SAMPLE_STATUS"] = strAttValue.TrimEnd('、');
            }
        }

        int    intTotalCount = dt.Rows.Count;
        string strJson       = CreateToJson(dt, intTotalCount);

        return(strJson);
    }
    /// <summary>
    /// 获取监测项目信息
    /// </summary>
    /// <returns></returns>
    private string getThreeGridInfo(string strTwoGridId, string strTaskID)
    {
        string strSortname  = Request.Params["sortname"];
        string strSortorder = Request.Params["sortorder"];
        //当前页面
        int intPageIndex = Convert.ToInt32(Request.Params["page"]);
        //每页记录数
        int intPageSize = Convert.ToInt32(Request.Params["pagesize"]);


        var strCCflowWorkId = Request.QueryString["strCCflowWorkId"];

        var identification = CCFlowFacade.GetFlowIdentification(LogInfo.UserInfo.USER_NAME, Convert.ToInt64(strCCflowWorkId));

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

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

        DataTable dt = new TMisMonitorSampleInfoLogic().getSamplingAllocationSheet_MAS(strTaskID, strTwoGridId, "1,2");


        var newDT = new DataTable();

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



        //样品编号生成
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            if (sampleIdList.Count > 0 && !sampleIdList.Contains(dt.Rows[i]["ID"].ToString()))
            {
                continue;
            }

            TMisMonitorSampleInfoVo objSample  = new TMisMonitorSampleInfoLogic().Details(dt.Rows[i]["ID"].ToString());
            TMisMonitorSubtaskVo    objSubtask = new TMisMonitorSubtaskLogic().Details(objSample.SUBTASK_ID);
            TMisMonitorTaskVo       objTask    = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);

            if (objSample.SAMPLE_CODE.Length == 0)
            {
                //objSample.SAMPLE_CODE = GetSampleCode_QHD(dt.Rows[i]["ID"].ToString());
                TBaseSerialruleVo objSerial = new TBaseSerialruleVo();
                objSerial.SAMPLE_SOURCE = objTask.SAMPLE_SOURCE;
                objSerial.SERIAL_TYPE   = "2";

                objSample.SAMPLECODE_CREATEDATE = DateTime.Now.ToString("yyyy-MM-dd");

                if (objTask.TASK_TYPE == "1")
                {
                    objSample.SAMPLE_CODE = objSample.SAMPLE_NAME;
                }
                else
                {
                    objSample.SAMPLE_CODE = CreateBaseDefineCodeForSample(objSerial, objTask, objSubtask);
                }

                new TMisMonitorSampleInfoLogic().Edit(objSample);

                dt.Rows[i]["SAMPLE_CODE"] = objSample.SAMPLE_CODE;
            }
            //样品状态,外委除外(废水、地表水)
            if (objTask.CONTRACT_TYPE != "04")
            {
                DataTable dtAtt       = new DataTable();
                string    strAttValue = string.Empty;
                string    strAttID    = "''";
                if (objSubtask.MONITOR_ID == "000000001" || objSubtask.MONITOR_ID == "EnvDrinkingSource")
                {
                    strAttID = "'000000017'";
                }
                if (objSubtask.MONITOR_ID == "EnvRiver")
                {
                    strAttID = "'000000211'";
                }
                dtAtt = new i3.BusinessLogic.Channels.Base.DynamicAttribute.TBaseAttributeInfoLogic().GetAttValue(strAttID, dt.Rows[i]["POINT_ID"].ToString());
                for (int j = 0; j < dtAtt.Rows.Count; j++)
                {
                    strAttValue += dtAtt.Rows[j]["ATTRBUTE_TEXT"].ToString() + "、";
                }
                dt.Rows[i]["SAMPLE_STATUS"] = strAttValue.TrimEnd('、');
            }

            newDT.Rows.Add(dt.Rows[i].ItemArray);
        }

        int    intTotalCount = newDT.Rows.Count;
        string strJson       = CreateToJson(newDT, intTotalCount);

        return(strJson);
    }
    protected void ReturnAllTaskStep()
    {
        //任务对象
        TMisMonitorTaskVo objTask = new TMisMonitorTaskLogic().Details(this.TASK_ID.Value);
        //无现场监测子任务信息
        TMisMonitorSubtaskVo objNoSampleSubTask = new TMisMonitorSubtaskLogic().GetNoSampleSubTaskInfo(this.TASK_ID.Value, this.dllMonitor.SelectedValue);
        //现场子任务
        TMisMonitorSubtaskVo objSampleSubTask = new TMisMonitorSubtaskLogic().GetSampleSubTaskInfo(this.TASK_ID.Value, this.dllMonitor.SelectedValue);
        //样品信息
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoLogic().Details(new TMisMonitorSampleInfoVo()
        {
            SUBTASK_ID = objNoSampleSubTask.ID,
            QC_TYPE    = "0"
        });
        //样品结果信息
        DataTable dtResult = new TMisMonitorResultLogic().SelectResultAndAppWithSubtaskID(objNoSampleSubTask.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(objNoSampleSubTask.SAMPLING_MANAGER_ID);
        //交接人
        string strSampleAccept = GetDefaultOrFirstDutyUser("sample_delivery", 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_analyse_result", this.dllMonitor.SelectedValue);
        //复核人
        string strAnalyseAgainChecker = GetDefaultOrFirstDutyUser("duty_other_analyse_control", this.dllMonitor.SelectedValue);
        //审核人
        string strQcChecker = GetDefaultOrFirstDutyUser("qc_manager_audit", this.dllMonitor.SelectedValue);
        #endregion
        Table table1 = new Table();
        table1.CssClass = "tMain";
        TableRow  row1  = new TableRow();//委托流程连接
        TableCell cell1 = new TableCell();
        //cell1.Text = string.Format(strDivHas, "<a href='#' onclick='ShowContract('" + this.TASK_ID.Value + "');'>委托流程</a>");
        cell1.Text = string.Format(strDivHas, "委托流程");
        row1.Cells.Add(cell1);
        table1.Rows.Add(row1);
        //是否已预约 常规的
        if (!string.IsNullOrEmpty(objPointFreq.ID))
        {
            if (objPointFreq.IF_PLAN == "0")//未下达
            {
                table1 = GetCommonRow(table1, strDivHas, "采样任务下达", "");
            }
            else
            {
                table1 = GetCommonRow(table1, strDivWait, "采样任务下达", "");
                this.divSample.Controls.Add(table1);
                return;
            }
        }
        //自送样 预约
        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 (!string.IsNullOrEmpty(objTask.QC_STATUS))
        {
            if (objTask.QC_STATUS == "1")//前质控
            {
                table1 = GetCommonRow(table1, strDivWait, "采样前质控", "");
                this.divSample.Controls.Add(table1);
                return;
            }
            else
            {
                table1 = GetCommonRow(table1, strDivHas, "采样前质控", "");
            }
        }
        //是否采样任务分配
        if (objPlan.HAS_DONE == "1")//已办理
        {
            table1 = GetCommonRow(table1, strDivHas, "采样任务分配", strSampleSender);
        }
        else if (objPlan.HAS_DONE == "0" || objPlan.HAS_DONE == "")
        {
            table1 = GetCommonRow(table1, strDivWait, "采样任务分配", strSampleSender);

            this.divSample.Controls.Add(table1);
            return;
        }
        //是否采样 特殊处理
        if (objNoSampleSubTask.TASK_STATUS == "02")
        {
            table1 = CreateSampleRow(table1, strDivWait, strDivHas, true, objSampleSubTask, strSampleManager);
        }
        //全是现场项目时
        if (objNoSampleSubTask.ID == "" && objSampleSubTask.ID != "")
        {
            if (objSampleSubTask.TASK_STATUS == "02")
            {
                table1 = CreateSampleRow(table1, strDivWait, strDivHas, true, objSampleSubTask, strSampleManager);
            }
            else
            {
                table1 = CreateSampleRow(table1, strDivWait, strDivHas, false, objSampleSubTask, strSampleManager);
            }
            this.divSample.Controls.Add(table1);
            return;
        }
        //采样后质控
        if (objNoSampleSubTask.TASK_STATUS == "024")
        {
            table1 = CreateSampleRow(table1, strDivWait, strDivHas, false, objSampleSubTask, strSampleManager);
            table1 = GetCommonRow(table1, strDivWait, "采样后质控", strQcEnd);
        }
        //样品交接
        if (objNoSampleSubTask.TASK_STATUS == "021")
        {
            //table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
            table1 = CreateSampleRow(table1, strDivWait, strDivHas, false, objSampleSubTask, strSampleManager);
            table1 = GetCommonRow(table1, strDivHas, "采样后质控", strQcEnd);
            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 (objNoSampleSubTask.TASK_STATUS == "03")
        {
            if (dr1.Length > 0)//环节在分析任务安排
            {
                // table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
                table1 = CreateSampleRow(table1, strDivWait, strDivHas, false, objSampleSubTask, strSampleManager);
                table1 = GetCommonRow(table1, strDivHas, "采样后质控", strQcEnd);
                table1 = GetCommonRow(table1, strDivHas, "样品交接", strSampleAccept);
                table1 = GetCommonRow(table1, strDivWait, "分析任务安排", strAnalyseSender);
            }
            else
            {
                //table1 = GetCommonRow(table1, strDivHas, "采样", strSampleManager);
                table1 = CreateSampleRow(table1, strDivWait, strDivHas, false, objSampleSubTask, strSampleManager);
                table1 = GetCommonRow(table1, strDivHas, "采样后质控", strQcEnd);
                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 (objNoSampleSubTask.TASK_STATUS == "09" && objTask.TASK_STATUS == "09") //分析流程完成
                        {
                            table1 = GetCommonRow(table1, strDivHas, "质量负责人审核", strQcChecker);
                        }
                        else
                        {
                            table1 = GetCommonRow(table1, strDivWait, "质量负责人审核", strQcChecker);
                        }
                    }
                }
            }
        }
        else if (objTask.TASK_STATUS == "09" && objNoSampleSubTask.TASK_STATUS == "09")//报告
        {
            table1 = CreateSampleRow(table1, strDivWait, strDivHas, false, objSampleSubTask, strSampleManager);
            table1 = GetCommonRow(table1, strDivHas, "采样后质控", strQcEnd);
            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
    }
    /// <summary>
    /// 采样任务分配信息
    /// </summary>
    /// <returns></returns>
    private string getTwoGridInfo()
    {
        if (this.PLAN_ID.Value.Length == 0)
        {
            return("");
        }

        TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();

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

        string strSortname  = Request.Params["sortname"];
        string strSortorder = Request.Params["sortorder"];
        //当前页面
        int intPageIndex = Convert.ToInt32(Request.Params["page"]);
        //每页记录数
        int intPageSize = Convert.ToInt32(Request.Params["pagesize"]);

        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskVo();

        objSubtask.TASK_ID = objTask.ID;
        DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubtask, intPageIndex, intPageSize);

        for (int i = 0; i < dt.Rows.Count; i++)
        {
            TMisMonitorSampleInfoVo objSampleInfo = new TMisMonitorSampleInfoVo();
            objSampleInfo.SUBTASK_ID = dt.Rows[i]["ID"].ToString();
            DataTable objDtSample = new TMisMonitorSampleInfoLogic().SelectByTableForPoint(objSampleInfo, 0, 0);
            if (objDtSample.Rows.Count > 0)
            {
                DataRow[] objDtMuMiRow = objDtSample.Select(" QC_TYPE='0'");
                foreach (DataRow dr in objDtMuMiRow)
                {
                    DataTable objDt = new TMisMonitorSampleInfoLogic().GetSampleInforForEnvQcSettingTable(dr["POINT_ID"].ToString(), DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString());
                    if (objDt.Rows.Count > 0)
                    {
                        string    strItemArry = "";
                        DataRow[] objExistRow = null;
                        //查找是否有做现场平行的质控计划
                        objExistRow = objDtSample.Select(" POINT_ID='" + dr["POINT_ID"].ToString() + "' AND QC_TYPE='3'");
                        if (objExistRow.Length <= 0)
                        {
                            DataRow[] drRow_PX = objDt.Select("QC_TYPE='3'");
                            if (drRow_PX.Length > 0)
                            {
                                strItemArry = "";
                                deleteSampleInfo(dr["ID"].ToString(), "3");
                                foreach (DataRow drItem in drRow_PX)
                                {
                                    strItemArry += drItem["ITEM_ID"].ToString() + ",";
                                }
                                strItemArry = strItemArry.Substring(0, strItemArry.Length - 1);
                                createQcInfo(dr["ID"].ToString(), "3", strItemArry);
                            }
                        }
                        //查找是否有做现场平行的空白计划
                        objExistRow = objDtSample.Select(" POINT_ID='" + dr["POINT_ID"].ToString() + "' AND QC_TYPE='1'");
                        if (objExistRow.Length <= 0)
                        {
                            DataRow[] drRow_KB = objDt.Select(" QC_TYPE='1'");

                            if (drRow_KB.Length > 0)
                            {
                                strItemArry = "";
                                deleteSampleInfo(dr["ID"].ToString(), "1");
                                foreach (DataRow drItem in drRow_KB)
                                {
                                    strItemArry += drItem["ITEM_ID"].ToString() + ",";
                                }
                                strItemArry = strItemArry.Substring(0, strItemArry.Length - 1);
                                createQcInfo(dr["ID"].ToString(), "1", strItemArry);
                            }
                        }
                    }
                }
            }
            if (dt.Rows[i]["SAMPLING_MANAGER_ID"].ToString().Length > 0)
            {
                dt.Rows[i]["SAMPLING_MANAGER_ID"] = new TSysUserLogic().Details(dt.Rows[i]["SAMPLING_MANAGER_ID"].ToString()).REAL_NAME;
            }
            else
            {
                dt.Rows[i]["SAMPLING_MANAGER_ID"] = "请选择";
            }
        }
        dt.DefaultView.Sort = "MONITOR_ID ASC";
        DataTable dtTemp        = dt.DefaultView.ToTable();
        int       intTotalCount = new TMisMonitorSubtaskLogic().GetSelectResultCount(objSubtask);
        string    strJson       = CreateToJson(dtTemp, intTotalCount);

        return(strJson);
    }
    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
    }
    /// <summary>
    /// 修改项目复制人
    /// </summary>
    /// <param name="strPlanId"></param>
    private void ModifTaskSampleDutyUser(string strPlanId)
    {
        if (!String.IsNullOrEmpty(strPlanId))
        {
            TMisMonitorTaskVo objTaskDetail = new TMisMonitorTaskLogic().Details(new TMisMonitorTaskVo {
                PLAN_ID = strPlanId
            });
            TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskVo();
            objSubTask.TASK_ID = objTaskDetail.ID;
            DataTable dt = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask, 0, 0);

            TMisContractUserdutyVo objUserDuty = new TMisContractUserdutyVo();
            objUserDuty.CONTRACT_PLAN_ID = strPlanId;
            DataTable dtDuty = new TMisContractUserdutyLogic().SelectByTable(objUserDuty, 0, 0);

            //如果没有获取到委托书的默认采样人 则取对应监测类别的 岗位职责数据
            if (dt.Rows.Count > 0 && dtDuty.Rows.Count < 1)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string strMonitorType_ID = dt.Rows[i]["MONITOR_ID"].ToString();
                    //潘德军修改2013-7-19 环境质量的监测类别取对应的污染源类别的岗位职责
                    i3.ValueObject.Channels.Base.MonitorType.TBaseMonitorTypeInfoVo objMonitorType = new i3.BusinessLogic.Channels.Base.MonitorType.TBaseMonitorTypeInfoLogic().Details(strMonitorType_ID);
                    if (objMonitorType.REMARK1.Trim().Length > 0)
                    {
                        strMonitorType_ID = objMonitorType.REMARK1.Trim();
                    }

                    TSysDutyVo objDuty = new TSysDutyVo();
                    objDuty.MONITOR_TYPE_ID = strMonitorType_ID;
                    objDuty.DICT_CODE       = "duty_sampling";
                    DataTable objDutyDt = new TSysDutyLogic().GetDutyUser(objDuty);
                    DataRow   drr       = null;

                    if (objDutyDt.Rows.Count > 0)
                    {
                        //如果设置了默认负责人,则取默认负责人
                        DataRow[] drArr = objDutyDt.Select(" IF_DEFAULT='0'");
                        if (drArr.Length > 0)
                        {
                            drr = drArr[0];
                        }
                        else
                        {
                            //如果未设置默认负责人,则取第一行数据
                            drr = objDutyDt.Rows[0];
                        }

                        if (drr != null)
                        {
                            TMisMonitorSubtaskVo objUpSubTask = new TMisMonitorSubtaskVo();
                            objUpSubTask.ID = dt.Rows[i]["ID"].ToString();
                            objUpSubTask.SAMPLING_MANAGER_ID = drr["USERID"].ToString();
                            new TMisMonitorSubtaskLogic().Edit(objUpSubTask);
                        }
                    }
                }
            }

            if (dt.Rows.Count > 0 && dtDuty.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    foreach (DataRow drr in dtDuty.Rows)
                    {
                        if (dr["MONITOR_ID"].ToString() == drr["MONITOR_TYPE_ID"].ToString())
                        {
                            TMisMonitorSubtaskVo objUpSubTask = new TMisMonitorSubtaskVo();
                            objUpSubTask.ID = dr["ID"].ToString();
                            objUpSubTask.SAMPLING_MANAGER_ID = drr["SAMPLING_MANAGER_ID"].ToString();
                            new TMisMonitorSubtaskLogic().Edit(objUpSubTask);
                        }
                    }
                }
            }
        }
    }
    /// <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);
            //TMisMonitorTaskVo objTasks = new TMisMonitorTaskVo();
            //objTasks.PLAN_ID = this.PLAN_ID.Value;
            //objTasks.ALLQC_STATUS =
            //new TMisMonitorTaskLogic().Edit(objTasks);
        }

        return(IsSuccess == true ? "1" : "0");
    }
    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();
            }
        }
    }
    /// <summary>
    /// 获取 未确认的监测报告
    /// </summary>
    /// <returns></returns>
    protected string GetReportInfo(string strTabType)
    {
        string result        = "";
        int    intTotalCount = 0;
        //页数
        int pageIndex = Int32.Parse(Request.Params["page"].ToString());
        //分页数
        int       pageSize = Int32.Parse(Request.Params["pagesize"].ToString());
        DataTable dtEval   = new DataTable();
        //监测任务对象
        TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();

        //创建标准JSON数据
        objTask.SORT_FIELD = Request.Params["sortname"];
        objTask.SORT_TYPE  = Request.Params["sortorder"];
        //过滤条件
        //委托类型
        objTask.CONTRACT_TYPE = !String.IsNullOrEmpty(Request.Params["srhContractType"]) ? Request.Params["srhContractType"].ToString() : "";
        //委托书编号
        objTask.CONTRACT_CODE = !String.IsNullOrEmpty(Request.Params["srhContractCode"]) ? Request.Params["srhContractCode"].ToString() : "";
        //项目名称
        objTask.PROJECT_NAME = !String.IsNullOrEmpty(Request.Params["srhProjectName"]) ? Request.Params["srhProjectName"].ToString() : "";
        //任务单号
        objTask.TICKET_NUM = !String.IsNullOrEmpty(Request.Params["srhTaskCode"]) ? Request.Params["srhTaskCode"].ToString() : "";
        //任务状态
        objTask.TASK_STATUS = "09";
        //确认状态 未确认
        objTask.COMFIRM_STATUS = strTabType;

        if (!base.LogInfo.UserInfo.REAL_NAME.Contains("管理员") && strType == "QY")
        {
            //过滤处理人
            objTask.REPORT_HANDLE = base.LogInfo.UserInfo.ID;
        }

        dtEval = new TMisMonitorTaskLogic().SelectByTable(objTask, pageIndex, pageSize);
        //添加监测类型
        TMisContractVo         objContractVo    = new TMisContractVo();
        TBaseMonitorTypeInfoVo objMonitorTypeVo = new TBaseMonitorTypeInfoVo();
        DataTable dt = new DataTable();

        string[] objType;
        string   strTypeName = "";

        for (int i = 0; i < dtEval.Rows.Count; i++)
        {
            strTypeName = "";
            //objTask = null;
            if (string.IsNullOrEmpty(dtEval.Rows[i]["CONTRACT_ID"].ToString()))
            {
                TMisMonitorSubtaskVo tMisMonitorSubtaskVo = new TMisMonitorSubtaskVo();
                tMisMonitorSubtaskVo.TASK_ID = dtEval.Rows[i]["ID"].ToString();
                DataTable dtTemp = new TMisMonitorSubtaskLogic().SelectByTable(tMisMonitorSubtaskVo);
                objType = new string[dtTemp.Rows.Count];
                for (int j = 0; j < dtTemp.Rows.Count; j++)
                {
                    objType[j] = dtTemp.Rows[j]["MONITOR_ID"].ToString();
                }
                List <string> listTemp = objType.ToList <string>();
                objType = listTemp.Distinct().ToArray <string>();
            }
            else
            {
                objContractVo = new TMisContractLogic().Details(dtEval.Rows[i]["CONTRACT_ID"].ToString());
                objType       = objContractVo.TEST_TYPES.Split(';');
            }
            for (int j = 0; j < objType.Length; j++)
            {
                objMonitorTypeVo = new TBaseMonitorTypeInfoLogic().Details(objType[j]);
                strTypeName     += objMonitorTypeVo.MONITOR_TYPE_NAME + ",";
            }
            dtEval.Rows[i]["REMARK1"] = strTypeName.TrimEnd(',');
        }

        intTotalCount = new TMisMonitorTaskLogic().GetSelectResultCount(objTask);
        //处理现场项目任务 现场项目任务未审核完成时将报告任务移除
        result = LigerGridDataToJson(dtEval, intTotalCount);
        return(result);
    }