Beispiel #1
0
    /// <summary>
    /// 获得受检企业信息
    /// </summary>
    /// <returns></returns>
    protected string GetTestedCompanyInfo()
    {
        //受检企业
        TMisContractCompanyVo objTaskCompany = new TMisContractCompanyLogic().Details(Request.QueryString["id"]);

        return(ToJson(objTaskCompany));
    }
Beispiel #2
0
    protected void SetReport(string strContractID)
    {
        //获取委托书信息
        TMisContractVo objContract = new TMisContractLogic().Details(strContractID);

        #region 构造监测任务对象
        TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();
        CopyObject(objContract, objTask);
        objTask.ID             = GetSerialNumber("t_mis_monitor_taskId");
        objTask.CONTRACT_ID    = objContract.ID;
        objTask.PLAN_ID        = "";
        objTask.CONSIGN_DATE   = objContract.ASKING_DATE;
        objTask.CREATOR_ID     = LogInfo.UserInfo.ID;
        objTask.CREATE_DATE    = DateTime.Now.ToString();
        objTask.TASK_STATUS    = "09";
        objTask.COMFIRM_STATUS = "0";
        #endregion

        #region 构造监测任务委托企业信息
        //委托企业信息
        TMisContractCompanyVo objContractClient = new TMisContractCompanyLogic().Details(objContract.CLIENT_COMPANY_ID);
        //受检企业信息
        TMisContractCompanyVo objContractTested = new TMisContractCompanyLogic().Details(objContract.TESTED_COMPANY_ID);
        //构造监测任务委托企业信息
        TMisMonitorTaskCompanyVo objTaskClient = new TMisMonitorTaskCompanyVo();
        CopyObject(objContractClient, objTaskClient);//复制对象
        objTaskClient.ID         = GetSerialNumber("t_mis_monitor_taskcompanyId");
        objTaskClient.TASK_ID    = objTask.ID;
        objTaskClient.COMPANY_ID = objContract.CLIENT_COMPANY_ID;
        //构造监测任务受检企业信息
        TMisMonitorTaskCompanyVo objTaskTested = new TMisMonitorTaskCompanyVo();
        CopyObject(objContractTested, objTaskTested);//复制对象
        objTaskTested.ID         = GetSerialNumber("t_mis_monitor_taskcompanyId");
        objTaskTested.TASK_ID    = objTask.ID;
        objTaskTested.COMPANY_ID = objContract.TESTED_COMPANY_ID;

        //重新赋值监测任务企业ID
        objTask.CLIENT_COMPANY_ID = objTaskClient.ID;
        objTask.TESTED_COMPANY_ID = objTaskTested.ID;
        #endregion


        #region 构造监测报告
        TMisMonitorReportVo objReportVo = new TMisMonitorReportVo();
        objReportVo.ID                   = GetSerialNumber("t_mis_monitor_report_id");
        objReportVo.TASK_ID              = objTask.ID;
        objReportVo.REPORT_CODE          = objTask.CONTRACT_CODE;
        objReportVo.REPORT_EX_ATTACHE_ID = GetAttID(objTask.CONTRACT_ID, "AcceptanceContract");
        objReportVo.IF_GET               = "0";

        if (new TMisMonitorTaskLogic().SaveTrans(objTask, objTaskClient, objTaskTested, objReportVo))
        {
            WriteLog("生成验收委托监测任务", "", LogInfo.UserInfo.USER_NAME + "生成验收委托监测任务" + objTask.ID + "成功");
        }
        #endregion
    }
    /// <summary>
    /// 获得受检企业信息
    /// </summary>
    /// <returns></returns>
    protected string GetTestedCompanyInfo()
    {
        //委托书信息
        TMisContractVo objContractInfo = new TMisContractVo();

        objContractInfo.ID = this.hdnContracID.Value;
        objContractInfo.CONTRACT_STATUS = "9";
        objContractInfo = new TMisContractLogic().Details(objContractInfo);
        //受检企业
        TMisContractCompanyVo objTestedInfo = new TMisContractCompanyVo();

        objTestedInfo.ID     = objContractInfo.TESTED_COMPANY_ID;
        objTestedInfo.IS_DEL = "0";
        objTestedInfo        = new TMisContractCompanyLogic().Details(objTestedInfo);
        return(ToJson(objTestedInfo));
    }
Beispiel #4
0
    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");
        }
    }
Beispiel #5
0
    protected void btnImport_Click(object sender, EventArgs e)
    {
        if (this.PLAN_ID.Value.Length == 0)
        {
            return;
        }

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

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

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

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

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

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

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

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

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

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

                i++;
            }
        }


        using (MemoryStream stream = new MemoryStream())
        {
            hssfworkbook.Write(stream);
            HttpContext curContext = HttpContext.Current;
            // 设置编码和附件格式
            curContext.Response.ContentType     = "application/vnd.ms-excel";
            curContext.Response.ContentEncoding = Encoding.UTF8;
            curContext.Response.Charset         = "";
            curContext.Response.AppendHeader("Content-Disposition",
                                             "attachment;filename=" + HttpUtility.UrlEncode("采样任务分配表.xls", Encoding.UTF8));
            curContext.Response.BinaryWrite(stream.GetBuffer());
            curContext.Response.End();
        }
    }
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");
    }
    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");
        }
    }
Beispiel #8
0
    /// <summary>
    /// 预约办理
    /// </summary>
    /// <param name="strPlanID">预约表ID</param>
    protected string doPlanTask(string strPlanID)
    {
        string strReturn       = "";
        string strTaskFreqType = "0";

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

        if (objContractPlan != null)
        {
            //获取委托书信息
            TMisContractVo objContract = new TMisContractLogic().Details(objContractPlan.CONTRACT_ID);

            #region 构造监测任务对象
            TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();
            CopyObject(objContract, objTask);
            objTask.ID             = GetSerialNumber("t_mis_monitor_taskId");
            objTask.CONTRACT_ID    = objContract.ID;
            objTask.PLAN_ID        = strPlanID;
            objTask.CONSIGN_DATE   = objContract.ASKING_DATE;
            objTask.CREATOR_ID     = LogInfo.UserInfo.ID;
            objTask.CREATE_DATE    = DateTime.Now.ToString();
            objTask.TASK_STATUS    = "01";
            objTask.COMFIRM_STATUS = "0";
            if (!String.IsNullOrEmpty(Request.Params["strContractYear"]))
            {
                objTask.CONTRACT_YEAR = Request.Params["strContractYear"].ToString();
            }
            if (!String.IsNullOrEmpty(Request.Params["strTest_Type"]))
            {
                objTask.TEST_TYPE = Request.Params["strTest_Type"].ToString();
            }
            if (!String.IsNullOrEmpty(Request.Params["strAskingDate"]))
            {
                objTask.ASKING_DATE = Request.Params["strAskingDate"].ToString();
            }
            //objTask.QC_STATUS = "1";
            if (!String.IsNullOrEmpty(objTask.TEST_TYPE))
            {
                TMisContractVo objContract_Edit = new TMisContractVo();
                objContract_Edit.ID         = objContract.ID;
                objContract_Edit.TEST_TYPES = objTask.TEST_TYPE;
                new TMisContractLogic().Edit(objContract_Edit);
            }

            //string strQcSetting = ConfigurationManager.AppSettings["QCsetting"].ToString();
            //if (!String.IsNullOrEmpty(strQcSetting))
            //{
            //    if (strQcSetting == "1")
            //    {
            //        objTask.QC_STATUS = "1";
            //    }
            //    else
            //    {
            //        objTask.QC_STATUS = "2";
            //    }
            //}

            //生成任务编号
            TBaseSerialruleVo objSerialTask = new TBaseSerialruleVo();
            objSerialTask.SERIAL_TYPE = "4";

            //潘德军 2013-12-23  任务单号可改,且初始不生成
            //objTask.TICKET_NUM = PageBase.CreateBaseDefineCode(objSerialTask, objContract);
            objTask.TICKET_NUM = "未编号";
            #endregion

            #region 构造监测任务委托企业信息
            //委托企业信息
            TMisContractCompanyVo objContractClient = new TMisContractCompanyLogic().Details(objContract.CLIENT_COMPANY_ID);
            //受检企业信息
            TMisContractCompanyVo objContractTested = new TMisContractCompanyLogic().Details(objContract.TESTED_COMPANY_ID);
            //构造监测任务委托企业信息
            TMisMonitorTaskCompanyVo objTaskClient = new TMisMonitorTaskCompanyVo();
            CopyObject(objContractClient, objTaskClient);//复制对象
            objTaskClient.ID         = GetSerialNumber("t_mis_monitor_taskcompanyId");
            objTaskClient.TASK_ID    = objTask.ID;
            objTaskClient.COMPANY_ID = objContract.CLIENT_COMPANY_ID;
            //构造监测任务受检企业信息
            TMisMonitorTaskCompanyVo objTaskTested = new TMisMonitorTaskCompanyVo();
            CopyObject(objContractTested, objTaskTested);//复制对象
            objTaskTested.ID         = GetSerialNumber("t_mis_monitor_taskcompanyId");
            objTaskTested.TASK_ID    = objTask.ID;
            objTaskTested.COMPANY_ID = objContract.TESTED_COMPANY_ID;

            //重新赋值监测任务企业ID
            objTask.CLIENT_COMPANY_ID = objTaskClient.ID;
            objTask.TESTED_COMPANY_ID = objTaskTested.ID;
            #endregion

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


            if (new TMisMonitorTaskLogic().SaveTrans(objTask, objTaskClient, objTaskTested, objReportVo, arrTaskPoint, arrSubTask, arrPointItem, arrSample, arrSampleResult, arrSampleResultApp))
            {
                strReturn = "1";
            }
        }
        return(strReturn);
    }