public static string SaveLocaleInfo(string strSubtaskID, string strAttribute)
    {
        bool   isSuccess = true;
        string strMsg    = "";
        //现场信息
        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 ? "[{result:'1',msg:'" + strMsg + "'}]" : "[{result:'0',msg:'" + strMsg + "'}]");
    }
    /// <summary>
    /// 根据任务ID获取天气信息
    /// </summary>
    /// <returns>Json</returns>
    protected string GetWeatherValue()
    {
        TMisMonitorSampleSkyVo objSampleSky = new TMisMonitorSampleSkyVo();

        objSampleSky.SUBTASK_ID = this.SUBTASK_ID.Value;
        DataTable dt = new TMisMonitorSampleSkyLogic().SelectByTable(objSampleSky);

        return(DataTableToJson(dt));
    }
Ejemplo n.º 3
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 + "'}]");
    }
    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");
    }
Ejemplo n.º 7
0
        public string UpdateSubTaskInfo(string workID, string strUser, string JsonSubTask, string JsonPoint, string JsonItem)
        {
            string strResult      = "false";
            var    identification = CCFlowFacade.GetFlowIdentification(strUser, long.Parse(workID));

            TMisMonitorSubtaskVo objSubtaskVo = new TMisMonitorSubtaskLogic().Details(identification);
            TMisMonitorTaskVo    objTaskVo    = new TMisMonitorTaskLogic().Details(objSubtaskVo.TASK_ID);

            DataTable dtSubTask = JSONToDataTable2(JsonSubTask);
            DataTable dtPoint   = JSONToDataTable2(JsonPoint);
            DataTable dtItem    = JSONToDataTable2(JsonItem);

            //更新任务的现状信息
            if (dtSubTask.Rows.Count > 0)
            {
                objSubtaskVo.SAMPLE_ASK_DATE = dtSubTask.Rows[0]["SAMPLE_ASK_DATE"].ToString();
                new TMisMonitorSubtaskLogic().Edit(objSubtaskVo);

                for (int i = 0; i < dtSubTask.Columns.Count; i++)
                {
                    if (dtSubTask.Columns[i].ColumnName != "TICKET_NUM" && dtSubTask.Columns[i].ColumnName != "SAMPLE_ASK_DATE")
                    {
                        TMisMonitorSampleSkyVo objSampleSky = new TMisMonitorSampleSkyVo();
                        objSampleSky.SUBTASK_ID   = objSubtaskVo.ID;
                        objSampleSky.WEATHER_ITEM = dtSubTask.Columns[i].ColumnName;
                        objSampleSky = new TMisMonitorSampleSkyLogic().Details(objSampleSky);
                        if (objSampleSky.ID.Length > 0)
                        {
                            objSampleSky.WEATHER_INFO = dtSubTask.Rows[0][i].ToString();
                            new TMisMonitorSampleSkyLogic().Edit(objSampleSky);
                        }
                        else
                        {
                            objSampleSky.ID           = GetSerialNumber("TMisMonitorSampleSky");
                            objSampleSky.SUBTASK_ID   = objSubtaskVo.ID;
                            objSampleSky.WEATHER_ITEM = dtSubTask.Columns[i].ColumnName;
                            objSampleSky.WEATHER_INFO = dtSubTask.Rows[0][i].ToString();
                            new TMisMonitorSampleSkyLogic().Create(objSampleSky);
                        }
                    }
                }
                strResult = "true";
            }
            //更新监测点位信息
            if (dtPoint.Rows.Count > 0)
            {
                for (int i = 0; i < dtPoint.Rows.Count; i++)
                {
                    TMisMonitorSampleInfoVo objSampleInfoVo = new TMisMonitorSampleInfoVo();
                    objSampleInfoVo.SUBTASK_ID  = objSubtaskVo.ID;
                    objSampleInfoVo.SAMPLE_NAME = dtPoint.Rows[i]["SAMPLE_NAME"].ToString();
                    objSampleInfoVo             = new TMisMonitorSampleInfoLogic().Details(objSampleInfoVo);
                    if (objSampleInfoVo.ID.Length > 0)
                    {
                        objSampleInfoVo.SAMPLE_COUNT = dtPoint.Rows[i]["SAMPLE_COUNT"].ToString();
                        new TMisMonitorSampleInfoLogic().Edit(objSampleInfoVo);

                        #region 更新点位图
                        if (dtPoint.Rows[i]["photo"].ToString().Length > 0)
                        {
                            string     strImage = dtPoint.Rows[i]["photo"].ToString();
                            int        tag      = 0;
                            FileStream out1     = null;
                            byte[]     bs       = Convert.FromBase64String(strImage);

                            //获取主文件路径
                            string mastPath = System.Configuration.ConfigurationManager.AppSettings["AttPath"].ToString();
                            //获取业务Id
                            string strBusinessId = objSampleInfoVo.ID;
                            //获取业务类型
                            string strBusinessType = "PointPoto";
                            //获取完整文件名称
                            string strFullName = strBusinessId + ".png";

                            //获取文件扩展名称
                            string strExtendName   = strFullName.Substring(strFullName.LastIndexOf("."));
                            string strSerialNumber = GetSerialNumber("attFileId");
                            //文件夹路径
                            string strfolderPath = strBusinessType + "\\" + DateTime.Now.ToString("yyyyMMdd");
                            //新命名的文件名称
                            string strNewFileName = DateTime.Now.ToString("yyyyMMddHHmm") + "-" + strSerialNumber + strExtendName;
                            //上传的完整路径
                            string strResultPath = mastPath + "\\" + strfolderPath + "\\" + strNewFileName;
                            //开始上传附件
                            try
                            {
                                //判断文件夹是否存在,如果不存在则创建
                                if (Directory.Exists(mastPath + "\\" + strfolderPath) == false)
                                {
                                    Directory.CreateDirectory(mastPath + "\\" + strfolderPath);
                                }

                                //判断原来是否已经上传过文件,如果有的话则获取原来已经上传的文件路径
                                TOaAttVo TOaAttVo = new TOaAttVo();
                                TOaAttVo.BUSINESS_TYPE = strBusinessType;
                                TOaAttVo.BUSINESS_ID   = strBusinessId;
                                //TOaAttVo.ATTACH_NAME = this.ATTACH_NAME.Text.Trim();
                                DataTable objTable = new TOaAttLogic().SelectByTable(TOaAttVo);
                                if (objTable.Rows.Count > 0)
                                {
                                    //如果存在记录
                                    //获取该记录的ID
                                    string strId = objTable.Rows[0]["ID"].ToString();
                                    //获取原来文件的路径
                                    string strOldFilePath = objTable.Rows[0]["UPLOAD_PATH"].ToString();
                                    //如果存在的话,删除原来的文件
                                    if (File.Exists(mastPath + "\\" + strOldFilePath))
                                    {
                                        File.Delete(mastPath + "\\" + strOldFilePath);
                                    }
                                    //将新的信息写入数据库
                                    TOaAttVo TOaAttVoTemp = new TOaAttVo();
                                    TOaAttVoTemp.ID            = strId;
                                    TOaAttVoTemp.ATTACH_NAME   = "点位图";
                                    TOaAttVoTemp.ATTACH_TYPE   = strExtendName;
                                    TOaAttVoTemp.UPLOAD_PATH   = strfolderPath + "\\" + strNewFileName;
                                    TOaAttVoTemp.UPLOAD_DATE   = DateTime.Now.ToString("yyyy-MM-dd");
                                    TOaAttVoTemp.UPLOAD_PERSON = strUser;
                                    TOaAttVoTemp.DESCRIPTION   = "点位图";
                                    TOaAttVoTemp.REMARKS       = bs.Length + "KB";//文件的大小

                                    new TOaAttLogic().Edit(TOaAttVoTemp);
                                }
                                else
                                {
                                    //如果不存在记录
                                    TOaAttVo TOaAttVoTemp = new TOaAttVo();
                                    TOaAttVoTemp.ID            = strSerialNumber;
                                    TOaAttVoTemp.BUSINESS_ID   = strBusinessId;
                                    TOaAttVoTemp.BUSINESS_TYPE = strBusinessType;
                                    TOaAttVoTemp.ATTACH_NAME   = "点位图";
                                    TOaAttVoTemp.ATTACH_TYPE   = strExtendName;
                                    TOaAttVoTemp.UPLOAD_PATH   = strfolderPath + "\\" + strNewFileName;
                                    TOaAttVoTemp.UPLOAD_DATE   = DateTime.Now.ToString("yyyy-MM-dd");
                                    TOaAttVoTemp.UPLOAD_PERSON = strUser;
                                    TOaAttVoTemp.DESCRIPTION   = "点位图";
                                    TOaAttVoTemp.REMARKS       = bs.Length + "KB";//文件的大小

                                    new TOaAttLogic().Create(TOaAttVoTemp);
                                }

                                if (tag == 0)
                                {
                                    out1 = new FileStream(strResultPath, FileMode.CreateNew, FileAccess.Write);
                                }
                                else
                                {
                                    out1 = new FileStream(strResultPath, FileMode.Append, FileAccess.Write);
                                }

                                out1.Write(bs, 0, bs.Length);

                                if (out1 != null)
                                {
                                    try
                                    {
                                        out1.Close();
                                    }
                                    catch (IOException e)
                                    {
                                        // TODO Auto-generated catch block
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                        #endregion
                        for (int j = 0; j < dtPoint.Columns.Count; j++)
                        {
                            if (dtPoint.Columns[j].ColumnName != "SAMPLE_NAME" && dtPoint.Columns[j].ColumnName != "SAMPLE_COUNT" && dtPoint.Columns[j].ColumnName != "photo")
                            {
                                TBaseAttributeInfoVo objAttributeInfoVo = new TBaseAttributeInfoVo();
                                objAttributeInfoVo.IS_DEL         = "0";
                                objAttributeInfoVo.ATTRIBUTE_NAME = dtPoint.Columns[j].ColumnName;
                                objAttributeInfoVo = new TBaseAttributeInfoLogic().Details(objAttributeInfoVo);
                                if (objAttributeInfoVo.ID.Length > 0)
                                {
                                    string Attribute_Code = objAttributeInfoVo.ID;

                                    TBaseAttrbuteValue3Vo objAttValue = new TBaseAttrbuteValue3Vo();
                                    objAttValue.OBJECT_ID     = objSampleInfoVo.POINT_ID;
                                    objAttValue.ATTRBUTE_CODE = Attribute_Code;
                                    objAttValue.IS_DEL        = "0";
                                    objAttValue = new TBaseAttrbuteValue3Logic().Details(objAttValue);
                                    if (objAttValue.ID == "")
                                    {
                                        objAttValue.ID             = GetSerialNumber("t_base_attribute_value3_id");
                                        objAttValue.IS_DEL         = "0";
                                        objAttValue.OBJECT_ID      = objSampleInfoVo.POINT_ID;
                                        objAttValue.OBJECT_TYPE    = objAttributeInfoVo.CONTROL_NAME;
                                        objAttValue.ATTRBUTE_CODE  = Attribute_Code;
                                        objAttValue.ATTRBUTE_VALUE = dtPoint.Rows[i][dtPoint.Columns[j].ColumnName.ToString()].ToString();
                                        new TBaseAttrbuteValue3Logic().Create(objAttValue);
                                    }
                                    else
                                    {
                                        objAttValue.ATTRBUTE_VALUE = dtPoint.Rows[i][dtPoint.Columns[j].ColumnName.ToString()].ToString();
                                        new TBaseAttrbuteValue3Logic().Edit(objAttValue);
                                    }
                                }
                            }
                        }
                    }
                }
                strResult = "true";
            }
            //更新监测项目的信息
            if (dtItem.Rows.Count > 0)
            {
                for (int i = 0; i < dtItem.Rows.Count; i++)
                {
                    TMisMonitorSampleInfoVo objSampleInfoVo = new TMisMonitorSampleInfoVo();
                    objSampleInfoVo.SUBTASK_ID  = objSubtaskVo.ID;
                    objSampleInfoVo.SAMPLE_NAME = dtItem.Rows[i]["SAMPLE_NAME"].ToString();
                    objSampleInfoVo             = new TMisMonitorSampleInfoLogic().Details(objSampleInfoVo);
                    if (objSampleInfoVo.ID.Length > 0)
                    {
                        TBaseItemInfoVo objItemInfoVo = new TBaseItemInfoVo();
                        objItemInfoVo.ITEM_NAME = dtItem.Rows[i]["ITEM_NAME"].ToString();
                        objItemInfoVo.IS_DEL    = "0";
                        objItemInfoVo           = new TBaseItemInfoLogic().Details(objItemInfoVo);

                        TMisMonitorResultVo objResultVo = new TMisMonitorResultVo();
                        objResultVo.SAMPLE_ID = objSampleInfoVo.ID;
                        objResultVo.ITEM_ID   = objItemInfoVo.ID;
                        TMisMonitorResultVo objResultSetVo = new TMisMonitorResultVo();
                        objResultSetVo.ITEM_RESULT = dtItem.Rows[i]["ITEM_RESULT"].ToString();
                        new TMisMonitorResultLogic().Edit(objResultSetVo, objResultVo);
                    }
                }
                strResult = "true";
            }

            return(strResult);
        }
Ejemplo n.º 8
0
    public static string btnSendClick(string strSubtaskID, string strSampleIDs, string strAttribute)
    {
        bool   isSuccess = true;
        string strReturn = "";
        TMisMonitorSampleInfoVo objSampleInfoVo = new TMisMonitorSampleInfoVo();

        string[] objSampleID = strSampleIDs.TrimEnd(',').Split(',');
        for (int i = 0; i < objSampleID.Length; i++)
        {
            objSampleInfoVo.ID = objSampleID[i].ToString();
            if (new TMisMonitorResultLogic().SelectSampleDeptWithSampleID(objSampleID[i].ToString()).Rows.Count > 0)
            {
                objSampleInfoVo.NOSAMPLE = "1";
            }
            else
            {
                objSampleInfoVo.NOSAMPLE = "2";
            }
            new TMisMonitorSampleInfoLogic().Edit(objSampleInfoVo);
        }
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(strSubtaskID);
        TMisMonitorTaskVo    objTask    = new TMisMonitorTaskLogic().Details(objSubtask.TASK_ID);

        //如果接收科室是现场室就直接把现场监测项目发送到现场复核
        if (objTask.STATE == "01")
        {
            isSuccess = new TMisMonitorResultLogic().updateResultBySample(strSampleIDs.TrimEnd(','), "022", true);
        }

        strReturn                  = "1";
        objSampleInfoVo            = new TMisMonitorSampleInfoVo();
        objSampleInfoVo.SUBTASK_ID = strSubtaskID;
        objSampleInfoVo.NOSAMPLE   = "0";
        objSampleInfoVo            = new TMisMonitorSampleInfoLogic().Details(objSampleInfoVo);

        if (objSampleInfoVo.ID.Length == 0)
        {
            strReturn = "2";
            string strTaskID = objSubtask.TASK_ID;
            if (objSubtask.MONITOR_ID.Contains("000000004") || objSubtask.MONITOR_ID == "000000005")
            {
                objSubtask.TASK_STATUS = "03";
            }
            else
            {
                objSubtask.TASK_STATUS = "021";
            }
            //子任务所有项目都属于现场项目,跳过分析环节
            DataTable dtSampleDept = new TMisMonitorResultLogic().SelectSampleDeptWithSubtaskID(strSubtaskID);
            if (dtSampleDept.Rows.Count == 0)
            {
                objSubtask.TASK_STATUS = "03";
                //objSubtask.REMARK1 = objSubtask.ID;
            }

            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)
            {
                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 ? strReturn : "0");
    }
Ejemplo n.º 9
0
    public static string btnBackSendClick(string strSubtaskID, string strSourceID, string strUserID, string strAttribute)
    {
        bool   isSuccess = true;
        string strMsg    = "";
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(strSourceID);

        if (strSubtaskID == strSourceID)
        {
            objSubtask.TASK_STATUS = "021";
            strMsg = "样品交接";
        }
        else
        {
            objSubtask.TASK_STATUS = "022";
            strMsg = "现场监测结果复核";
        }
        objSubtask.TASK_TYPE = "发送";
        //判断是否存在样品没有设置项目的情况
        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 + "'}]");
        }

        //设置现场复核人
        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 = strSourceID;
        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);
                }
            }
        }
        return(isSuccess == true ? "[{result:'1',msg:'" + strMsg + "'}]" : "[{result:'0',msg:'" + strMsg + "'}]");
    }
Ejemplo n.º 10
0
    public static string btnSendClick(string strSubtaskID, string strSourceID, string strUserID, string strAttribute)
    {
        bool   isSuccess = true;
        string strMsg    = "";
        TMisMonitorSubtaskVo objSubtask = new TMisMonitorSubtaskLogic().Details(strSubtaskID);
        string strTaskID = objSubtask.TASK_ID;

        #region//判断是否存在样品没有设置项目的情况
        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 + "'}]");
        }
        #endregion
        DataTable dtSampleItem = new TMisMonitorResultLogic().SelectSampleItemWithSubtaskID(strSubtaskID);
        #region//判断现场监测项目是否填写结果值
        DataRow[] drSampleItem = dtSampleItem.Select("IS_ANYSCENE_ITEM='0'");
        for (int i = 0; i < drSampleItem.Length; i++)
        {
            if (drSampleItem[i]["ITEM_RESULT"].ToString().Length == 0)
            {
                isSuccess = false;
                strMsg    = "现场项目[" + drSampleItem[i]["ITEM_NAME"].ToString() + "]还没填写结果值,请检查!";
                break;
            }
        }
        if (isSuccess == false)
        {
            return("[{result:'0',msg:'" + strMsg + "'}]");
        }
        #endregion
        TMisMonitorSubtaskAppVo objSubAppSet = new TMisMonitorSubtaskAppVo();
        //if (objSubtask.MONITOR_ID == "000000004" || objSubtask.MONITOR_ID == "000000005")
        if (objSubtask.MONITOR_ID == "000000005")
        {
            objSubtask.TASK_STATUS = "022";//噪声、辐射现场监测项目进行 现场项目审核流程
            objSubtask.REMARK1     = objSubtask.ID;
        }
        else
        {
            objSubtask.TASK_STATUS = "021";//其它进行样品交接环节
            strMsg = "样品交接";
        }
        //子任务所有项目都属于现场项目,跳过分析环节
        DataTable dtSampleDept = new TMisMonitorResultLogic().SelectSampleDeptWithSubtaskID(strSubtaskID);
        if (dtSampleDept.Rows.Count == 0)//全是现场项目
        {
            objSubtask.TASK_STATUS = "022";
            objSubtask.REMARK1     = objSubtask.ID;
            strMsg = "现场监测结果复核";
            //设置现场复核人
            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 现场项目信息需要另外发送任务
        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);

        //根据子任务ID把该任务下所有分析类现场监测项目的结果状态改为:00
        new TMisMonitorResultLogic().setSampleItemWithSubtaskID(strSubtaskID);

        #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() != "022")
            {
                iStatus += 1;
            }
        }
        if (iStatus == 0)
        {
            TMisMonitorTaskVo objTask = new TMisMonitorTaskVo();
            objTask.ID          = strTaskID;
            objTask.TASK_STATUS = "09";
            new TMisMonitorTaskLogic().Edit(objTask);
        }
        #endregion

        //现场信息
        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 ? "[{result:'1',msg:'" + strMsg + "'}]" : "[{result:'0',msg:'" + strMsg + "'}]");
    }