Ejemplo n.º 1
0
    /// <summary>
    /// 任务退回
    /// </summary>
    /// <param name="strTaskId">任务Id</param>
    /// <returns></returns>
    private string GoToBack(string strTaskId)
    {
        bool IsSuccess = new TMisMonitorResultLogic().TaskGoBackInQcCheck_QHD(strTaskId, LogInfo.UserInfo.ID, "duty_other_analyse_control", "0", "40", "30");

        return(IsSuccess == true ? "1" : "0");
    }
    /// <summary>
    /// 判断分析类现场项目是否全部走到了该环节(现场结果复核)
    /// </summary>
    /// <param name="strTaskId"></param>
    /// <returns></returns>
    public string IsCanToSend(string strTaskId)
    {
        bool IsCanToSend = new TMisMonitorResultLogic().IsAnalySampleItemFlow(strTaskId, "02");

        return(IsCanToSend == true ? "1" : "0");
    }
Ejemplo n.º 3
0
    //判断任务是否可以发送
    public string IsCanSendTaskQcToNextFlow(string strTaskId)
    {
        bool IsCanGoToBack = new TMisMonitorResultLogic().TaskCanSendInQcCheck_QHD(strTaskId, LogInfo.UserInfo.ID, "04", true);

        return(IsCanGoToBack == true ? "1" : "0");
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 退回之前判断任务是否可以回退
    /// </summary>
    /// <param name="strTaskId">任务ID</param>
    /// <returns></returns>
    public string IsCanGoToBack(string strTaskId)
    {
        bool IsCanGoToBack = new TMisMonitorResultLogic().IsCanGoToBack(strTaskId, LogInfo.UserInfo.ID, "duty_other_analyse", "01");

        return(IsCanGoToBack == true ? "1" : "0");
    }
Ejemplo n.º 5
0
    /// <summary>
    /// 发送到下一环节
    /// </summary>
    /// <param name="strTaskId">任务ID</param>
    /// <returns></returns>
    public string SendToNext(string strTaskId)
    {
        bool IsSuccess = new TMisMonitorResultLogic().sendToNextFlow(strTaskId, LogInfo.UserInfo.ID, "duty_other_analyse", "03", "01", "02");

        return(IsSuccess == true ? "1" : "0");
    }
    /// <summary>
    /// 保存质控数据
    /// </summary>
    /// <returns></returns>
    public string saveQcValue()
    {
        bool isSuccess = false;

        if (this.hidQC_TYPE.Value == "5")
        {
            //空白数据
            string strEmptyValue1 = Request["QC_EMPTY_IN_VALUE1"] == "" ? "0" : Request["QC_EMPTY_IN_VALUE1"].ToString();
            string strEmptyValue2 = Request["QC_EMPTY_IN_VALUE2"] == "" ? "0" : Request["QC_EMPTY_IN_VALUE2"].ToString();
            string strEmptyValue3 = Request["QC_EMPTY_IN_VALUE3"] == "" ? "0" : Request["QC_EMPTY_IN_VALUE3"].ToString();
            string strEmptyValue  = Request["QC_EMPTY_IN_RESULT"] == "" ? "0" : Request["QC_EMPTY_IN_RESULT"].ToString();
            string strEmptyCount  = this.dEmptyCount.Value.Trim() == "" ? "0" : this.dEmptyCount.Value.Trim();

            TMisMonitorQcEmptyBatVo QcEmptyBatVo = new TMisMonitorQcEmptyBatVo();
            QcEmptyBatVo.ID = this.hidID.Value;
            QcEmptyBatVo.QC_EMPTY_IN_RESULT = strEmptyValue;
            QcEmptyBatVo.REMARK1            = strEmptyValue1;
            QcEmptyBatVo.REMARK2            = strEmptyValue2;
            QcEmptyBatVo.REMARK3            = strEmptyValue3;
            QcEmptyBatVo.QC_EMPTY_IN_COUNT  = strEmptyCount;
            isSuccess = new TMisMonitorQcEmptyBatLogic().Edit(QcEmptyBatVo);
        }
        if (this.hidQC_TYPE.Value == "8")
        {
            //标准样数据
            string strSRC_IN_VALUE1 = Request["SRC_IN_VALUE1"] == "" ? "0" : Request["SRC_IN_VALUE1"].ToString();
            string strSRC_IN_VALUE2 = Request["SRC_IN_VALUE2"] == "" ? "0" : Request["SRC_IN_VALUE2"].ToString();
            string strSRC_IN_VALUE3 = Request["SRC_IN_VALUE3"] == "" ? "0" : Request["SRC_IN_VALUE3"].ToString();
            string strStResult      = this.dSrcCount.Value.Trim() == "" ? "0" : this.dSrcCount.Value.Trim();

            TMisMonitorQcStVo QcStVo = new TMisMonitorQcStVo();
            QcStVo.ID        = this.hidID.Value;
            QcStVo.REMARK1   = strSRC_IN_VALUE1;
            QcStVo.REMARK2   = strSRC_IN_VALUE2;
            QcStVo.REMARK3   = strSRC_IN_VALUE3;
            QcStVo.ST_RESULT = strStResult;
            isSuccess        = new TMisMonitorQcStLogic().Edit(QcStVo);
        }
        if (this.hidQC_TYPE.Value == "6")
        {
            //实验室加标数据
            string strAddResultEx = Request["ADD_RESULT_EX"] == "" ? "0" : Request["ADD_RESULT_EX"].ToString();
            string strQcAdd       = Request["QC_ADD"] == "" ? "0" : Request["QC_ADD"].ToString();
            string strAddBack     = Request["ADD_BACK"] == "" ? "0" : Request["ADD_BACK"].ToString();

            TMisMonitorQcAddVo QcAddVo = new TMisMonitorQcAddVo();
            QcAddVo.ID            = this.hidID.Value;
            QcAddVo.ADD_RESULT_EX = strAddResultEx;
            QcAddVo.QC_ADD        = strQcAdd;
            QcAddVo.ADD_BACK      = strAddBack;
            isSuccess             = new TMisMonitorQcAddLogic().Edit(QcAddVo);
        }
        if (this.hidQC_TYPE.Value == "7")
        {
            //实验室明码平行
            string strTwinResult1 = Request["TWIN_RESULT1"] == "" ? "0" : Request["TWIN_RESULT1"].ToString();
            string strTwinResult2 = Request["TWIN_RESULT2"] == "" ? "0" : Request["TWIN_RESULT2"].ToString();
            string strTwinAvg     = Request["TWIN_AVG"] == "" ? "0" : Request["TWIN_AVG"].ToString();
            string strTwinOffSet  = Request["TWIN_OFFSET"] == "" ? "0" : Request["TWIN_OFFSET"].ToString();

            TMisMonitorQcTwinVo QcTwinVo = new TMisMonitorQcTwinVo();
            QcTwinVo.ID           = this.hidID.Value;
            QcTwinVo.TWIN_RESULT1 = strTwinResult1;
            QcTwinVo.TWIN_RESULT2 = strTwinResult2;
            QcTwinVo.TWIN_AVG     = strTwinAvg;
            QcTwinVo.TWIN_OFFSET  = strTwinOffSet;
            isSuccess             = new TMisMonitorQcTwinLogic().Edit(QcTwinVo);
            if (isSuccess)
            {
                TMisMonitorResultVo ResultVo = new TMisMonitorResultVo();
                ResultVo.ID          = this.hidSrcResultID.Value;
                ResultVo.ITEM_RESULT = strTwinAvg;
                isSuccess            = new TMisMonitorResultLogic().Edit(ResultVo);
            }
        }
        return(isSuccess == true ? "1" : "0");
    }
Ejemplo n.º 7
0
    /// <summary>
    /// 根据监测项目获取分析方法
    /// </summary>
    /// <param name="strItemId">监测项目ID</param>
    /// <returns></returns>
    public string getAnalysisByItemId(string strItemId)
    {
        DataTable dt = new TMisMonitorResultLogic().getAnalysisByItemId(strItemId);

        return(DataTableToJson(dt));
    }
Ejemplo n.º 8
0
    public static string getBlindString(string strSampleId)
    {
        string strBlindString = new TMisMonitorResultLogic().getBlindString(strSampleId);

        return(strBlindString);
    }
Ejemplo n.º 9
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");
    }
    public static string CopyPointItem(string strCopyID, string strPastID, string strSubtaskID)
    {
        bool   isSuccess      = true;
        string strCopyPointID = new TMisMonitorSampleInfoLogic().Details(strCopyID).POINT_ID;
        string strPastPointID = new TMisMonitorSampleInfoLogic().Details(strPastID).POINT_ID;

        TMisMonitorTaskItemVo objPointItemCopy = new TMisMonitorTaskItemVo();

        objPointItemCopy.IS_DEL        = "0";
        objPointItemCopy.TASK_POINT_ID = strCopyPointID;
        DataTable dtCopy = new TMisMonitorTaskItemLogic().SelectByTable(objPointItemCopy);

        TMisMonitorTaskItemVo objPointItemPast = new TMisMonitorTaskItemVo();

        objPointItemPast.IS_DEL        = "0";
        objPointItemPast.TASK_POINT_ID = strPastPointID;
        DataTable dtPast = new TMisMonitorTaskItemLogic().SelectByTable(objPointItemPast);

        string strIsExistItem = "";

        for (int i = 0; i < dtPast.Rows.Count; i++)
        {
            strIsExistItem += "," + dtPast.Rows[i]["ITEM_ID"].ToString();
        }
        strIsExistItem += strIsExistItem.Length > 0 ? "," : "";

        //获取粘贴样品ID,填充结果表数据
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoLogic().Details(strPastID);

        for (int i = 0; i < dtCopy.Rows.Count; i++)
        {
            DataRow dr            = dtCopy.Rows[i];
            string  strCopyItemID = dr["ITEM_ID"].ToString();
            if (!strIsExistItem.Contains(strCopyItemID))
            {
                TMisMonitorTaskItemVo objPointItem = new TMisMonitorTaskItemVo();
                objPointItem.ID            = GetSerialNumber("t_base_company_point_item_id");
                objPointItem.IS_DEL        = "0";
                objPointItem.TASK_POINT_ID = strPastPointID;
                objPointItem.ITEM_ID       = strCopyItemID;

                isSuccess = new TMisMonitorTaskItemLogic().Create(objPointItem);

                TMisMonitorResultVo objResult = new TMisMonitorResultVo();
                objResult.ID            = GetSerialNumber("MonitorResultId");
                objResult.SAMPLE_ID     = objSample.ID;
                objResult.ITEM_ID       = strCopyItemID;
                objResult.QC_TYPE       = objSample.QC_TYPE;
                objResult.RESULT_STATUS = "01";

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

                if (objItemAnalysis.ID.Length > 0)
                {
                    TBaseMethodAnalysisVo objMethod = new TBaseMethodAnalysisLogic().Details(objItemAnalysis.ANALYSIS_METHOD_ID);
                    objResult.ANALYSIS_METHOD_ID = objMethod.ID;
                    objMethod.METHOD_ID          = objMethod.METHOD_ID;
                }

                isSuccess = new TMisMonitorResultLogic().Create(objResult);

                string strAnalysisManagerID       = "";
                string strAnalysisManID           = "";
                TMisMonitorResultVo objResultTemp = new TMisMonitorResultVo();
                objResultTemp.ID = objResult.ID;
                DataTable dtManager = new TMisMonitorResultLogic().SelectManagerByTable(objResultTemp);
                if (dtManager.Rows.Count > 0)
                {
                    strAnalysisManagerID = dtManager.Rows[0]["ANALYSIS_MANAGER"].ToString();
                    strAnalysisManID     = dtManager.Rows[0]["ANALYSIS_ID"].ToString();
                }
                TMisMonitorResultAppVo objResultApp = new TMisMonitorResultAppVo();
                objResultApp.ID               = GetSerialNumber("MonitorResultAppId");
                objResultApp.RESULT_ID        = objResult.ID;
                objResultApp.HEAD_USERID      = strAnalysisManagerID;
                objResultApp.ASSISTANT_USERID = strAnalysisManID;

                isSuccess = new TMisMonitorResultAppLogic().Create(objResultApp);
            }
        }

        if (isSuccess)
        {
            return("1");
        }
        else
        {
            return("0");
        }
    }
    /// <summary>
    /// 新增现场平行质控信息
    /// </summary>
    /// <returns></returns>
    private static bool AddQcTwinInfo(string strSampleID, string strQcType, string strListQc3, string strQc3Count)
    {
        bool   IsSuccess                  = true;
        string strOldResultID             = "";
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoLogic().Details(strSampleID);

        objSample.ID           = GetSerialNumber("MonitorSampleId");
        objSample.QC_TYPE      = strQcType;
        objSample.QC_SOURCE_ID = strSampleID;
        if (strQcType == "4")
        {
            objSample.SAMPLE_NAME += "密码平行";
        }
        else
        {
            objSample.SAMPLE_NAME += "现场平行";
        }
        if (!new TMisMonitorSampleInfoLogic().Create(objSample))
        {
            IsSuccess = false;
        }

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

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

            TMisMonitorQcTwinVo objQcTwin = new TMisMonitorQcTwinVo();
            objQcTwin.ID              = GetSerialNumber("QcTwinId");
            objQcTwin.RESULT_ID_SRC   = strOldResultID;
            objQcTwin.RESULT_ID_TWIN1 = objResult.ID;
            objQcTwin.QC_TYPE         = strQcType;
            if (!new TMisMonitorQcTwinLogic().Create(objQcTwin))
            {
                IsSuccess = false;
            }
        }
        if (strQc3Count == "2")
        {
            objSample.ID = GetSerialNumber("MonitorSampleId");
            if (strQcType == "4")
            {
                objSample.SAMPLE_NAME += "密码平行2";
            }
            else
            {
                objSample.SAMPLE_NAME += "现场平行2";
            }
            if (!new TMisMonitorSampleInfoLogic().Create(objSample))
            {
                IsSuccess = false;
            }

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

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

                TMisMonitorQcTwinVo objQcTwin = new TMisMonitorQcTwinVo();
                objQcTwin.RESULT_ID_SRC = strOldResultID;
                objQcTwin.QC_TYPE       = strQcType;
                objQcTwin = new TMisMonitorQcTwinLogic().Details(objQcTwin);
                objQcTwin.TWIN_RESULT2 = objResult.ID;
                if (!new TMisMonitorQcTwinLogic().Edit(objQcTwin))
                {
                    IsSuccess = false;
                }
            }
        }

        return(IsSuccess);
    }
    public static string SaveDataItem(string strSubtaskID, string strSample, string strSelItem_IDs)
    {
        bool isSuccess = true;

        string[] arrSelItemId = strSelItem_IDs.Split(',');

        TMisMonitorSampleInfoVo objSample       = new TMisMonitorSampleInfoLogic().Details(strSample);
        TMisMonitorTaskItemVo   objPointItemSet = new TMisMonitorTaskItemVo();

        objPointItemSet.IS_DEL = "1";
        TMisMonitorTaskItemVo objPointItemWhere = new TMisMonitorTaskItemVo();

        objPointItemWhere.IS_DEL        = "0";
        objPointItemWhere.TASK_POINT_ID = objSample.POINT_ID;
        new TMisMonitorTaskItemLogic().Edit(objPointItemSet, objPointItemWhere);


        TMisMonitorResultVo objResult = new TMisMonitorResultVo();

        objResult = new TMisMonitorResultVo();
        if (strSample.Length > 0)
        {
            objResult.SAMPLE_ID = strSample;
            new TMisMonitorResultLogic().Delete(objResult);
        }


        if (strSelItem_IDs.Length > 0)
        {
            for (int i = 0; i < arrSelItemId.Length; i++)
            {
                TMisMonitorTaskItemVo objPointItem = new TMisMonitorTaskItemVo();
                objPointItem.ID            = GetSerialNumber("t_mis_monitor_task_item_id");
                objPointItem.IS_DEL        = "0";
                objPointItem.TASK_POINT_ID = objSample.POINT_ID;
                objPointItem.ITEM_ID       = arrSelItemId[i];

                isSuccess = new TMisMonitorTaskItemLogic().Create(objPointItem);

                objResult               = new TMisMonitorResultVo();
                objResult.ID            = GetSerialNumber("MonitorResultId");
                objResult.SAMPLE_ID     = objSample.ID;
                objResult.ITEM_ID       = arrSelItemId[i];
                objResult.QC_TYPE       = objSample.QC_TYPE;
                objResult.RESULT_STATUS = "01";

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

                if (objItemAnalysis.ID.Length > 0)
                {
                    TBaseMethodAnalysisVo objMethod = new TBaseMethodAnalysisLogic().Details(objItemAnalysis.ANALYSIS_METHOD_ID);
                    objResult.ANALYSIS_METHOD_ID = objMethod.ID;
                    objMethod.METHOD_ID          = objMethod.METHOD_ID;
                }

                isSuccess = new TMisMonitorResultLogic().Create(objResult);

                string strAnalysisManagerID       = "";
                string strAnalysisManID           = "";
                TMisMonitorResultVo objResultTemp = new TMisMonitorResultVo();
                objResultTemp.ID = objResult.ID;
                DataTable dtManager = new TMisMonitorResultLogic().SelectManagerByTable(objResultTemp);
                if (dtManager.Rows.Count > 0)
                {
                    strAnalysisManagerID = dtManager.Rows[0]["ANALYSIS_MANAGER"].ToString();
                    strAnalysisManID     = dtManager.Rows[0]["ANALYSIS_ID"].ToString();
                }
                TMisMonitorResultAppVo objResultApp = new TMisMonitorResultAppVo();
                objResultApp.ID               = GetSerialNumber("MonitorResultAppId");
                objResultApp.RESULT_ID        = objResult.ID;
                objResultApp.HEAD_USERID      = strAnalysisManagerID;
                objResultApp.ASSISTANT_USERID = strAnalysisManID;

                isSuccess = new TMisMonitorResultAppLogic().Create(objResultApp);
            }
        }

        if (isSuccess)
        {
            return("1");
        }
        else
        {
            return("0");
        }
    }
Ejemplo n.º 13
0
    //获取指定点位的监测项目信息
    private string getItemList()
    {
        string strSampleID  = Request.Params["strSampleID"];
        string strSortname  = Request.Params["sortname"];
        string strSortorder = Request.Params["sortorder"];
        int    intPageIdx   = Convert.ToInt32(Request.Params["page"]);
        int    intPagesize  = Convert.ToInt32(Request.Params["pagesize"]);

        string strSelPointID = (Request.Params["selPointID"] != null) ? Request.Params["selPointID"] : "";

        if (strSelPointID.Length <= 0)
        {
            return("");
        }

        if (strSortname == null || strSortname.Length < 0)
        {
            strSortname = TMisMonitorTaskItemVo.ID_FIELD;
        }

        TMisMonitorResultVo objResult = new TMisMonitorResultVo();

        if (strSampleID == null)
        {
            strSampleID = strSelPointID;
        }
        objResult.SAMPLE_ID  = strSampleID;
        objResult.SORT_FIELD = strSortname;
        objResult.SORT_TYPE  = strSortorder;
        DataTable  dt = new TMisMonitorResultLogic().SelectByTable(objResult, intPageIdx, intPagesize);
        DataColumn dcP;

        dcP = new DataColumn("TASK_POINT_ID", Type.GetType("System.String"));
        dt.Columns.Add(dcP);
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            dt.Rows[i]["TASK_POINT_ID"] = strSelPointID;
        }
        int intTotalCount = new TMisMonitorResultLogic().GetSelectResultCount(objResult);

        //TMisMonitorTaskItemVo objPointItem = new TMisMonitorTaskItemVo();
        //objPointItem.IS_DEL = "0";
        //objPointItem.TASK_POINT_ID = strSelPointID;
        //objPointItem.SORT_FIELD = strSortname;
        //objPointItem.SORT_TYPE = strSortorder;
        //TMisMonitorTaskItemLogic logicPointItem = new TMisMonitorTaskItemLogic();

        //int intTotalCount = logicPointItem.GetSelectResultCount(objPointItem); ;//总计的数据条数
        //DataTable dt = logicPointItem.SelectByTable(objPointItem, intPageIdx, intPagesize);
        foreach (DataRow row in dt.Rows)
        {
            string strSamplingInstrumentId = row["SAMPLING_INSTRUMENT"] == null ? "" : row["SAMPLING_INSTRUMENT"].ToString();
            if (strSamplingInstrumentId != "")
            {
                string strSamplingInstrumentName = new TBaseItemSamplingInstrumentLogic().Details(strSamplingInstrumentId).INSTRUMENT_NAME;
                row["REMARK_1"] = strSamplingInstrumentName;
            }
        }
        string strJson = CreateToJson(dt, intTotalCount);

        return(strJson);
    }
Ejemplo n.º 14
0
    /// <summary>
    /// 样品发送
    /// </summary>
    /// <param name="strResultId">监测结果Id</param>
    /// <returns></returns>
    public string ResultGoToBack(string strResultId)
    {
        bool isSuccess = new TMisMonitorResultLogic().SendResultToNext_ZZ(strResultId, LogInfo.UserInfo.ID, "40", "30");

        return(isSuccess == true ? "1" : "0");
    }
Ejemplo n.º 15
0
    public static string deleteSample(string strSampleID)
    {
        bool IsSuccess = new TMisMonitorResultLogic().deleteSampleInfo(strSampleID);

        return(IsSuccess == true ? "1" : "0");
    }
    public static bool QcSave(string strSampleID, string strQcType, string strItemId, string strQcAddValue)
    {
        deleteSampleInfo(strSampleID, strQcType);
        bool isSuccess = true;

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

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

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

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

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

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

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

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

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

            TMisMonitorQcAddVo objQcAdd = new TMisMonitorQcAddVo();
            objQcAdd.ID            = GetSerialNumber("QcAddId");
            objQcAdd.RESULT_ID_SRC = strSourceResultId;
            objQcAdd.RESULT_ID_ADD = objResult.ID;
            objQcAdd.QC_TYPE       = strQcType;
            objQcAdd.QC_ADD        = strQcAddValue.Split(',')[i];
            if (!new TMisMonitorQcAddLogic().Create(objQcAdd))
            {
                isSuccess = false;
            }
        }
        return(isSuccess);
    }
    public string getCalculate()
    {
        string objStr = "";
        //空白平均值
        string strEmptyValue = "";
        string strEmptyCount = "";
        //标准样平均值
        string strSrcValue = "";
        string strSrcCount = "";
        //回收率
        string strAddBack = "";
        //平均值
        string strAvgValue = "";
        //偏差
        string strOffSet = "";

        //如果是实验室空白
        if (this.hidQC_TYPE.Value == "5")
        {
            //空白个数值
            string strValue1 = Request["QC_EMPTY_IN_VALUE1"].ToString().Trim();
            string strValue2 = Request["QC_EMPTY_IN_VALUE2"].ToString().Trim();
            string strValue3 = Request["QC_EMPTY_IN_VALUE3"].ToString().Trim();
            //空白个数
            strEmptyCount = (int.Parse(strValue1 == "" ? "0" : "1") + int.Parse(strValue2 == "" ? "0" : "1") + int.Parse(strValue3 == "" ? "0" : "1")).ToString();

            //计算平均值
            if (strEmptyCount != "0")
            {
                strEmptyValue = ((decimal.Parse(strValue1 == "" ? "0" : strValue1) + decimal.Parse(strValue2 == "" ? "0" : strValue2) + decimal.Parse(strValue3 == "" ? "0" : strValue3)) / int.Parse(strEmptyCount)).ToString();
            }

            objStr = "{\"strEmptyCount\":\"" + strEmptyCount + "\",\"strEmptyValue\":\"" + strEmptyValue + "\"}";
        }
        //如果是标准样
        if (this.hidQC_TYPE.Value == "8")
        {
            //标准样个数值
            string strValue1 = Request["SRC_IN_VALUE1"].ToString().Trim();
            string strValue2 = Request["SRC_IN_VALUE2"].ToString().Trim();
            string strValue3 = Request["SRC_IN_VALUE3"].ToString().Trim();
            //标准样个数
            strSrcCount = (int.Parse(strValue1 == "" ? "0" : "1") + int.Parse(strValue2 == "" ? "0" : "1") + int.Parse(strValue3 == "" ? "0" : "1")).ToString();

            //计算平均值
            if (strSrcCount != "0")
            {
                strSrcValue = ((decimal.Parse(strValue1 == "" ? "0" : strValue1) + decimal.Parse(strValue2 == "" ? "0" : strValue2) + decimal.Parse(strValue3 == "" ? "0" : strValue3)) / int.Parse(strSrcCount)).ToString();
            }

            objStr = "{\"strSrcCount\":\"" + strSrcCount + "\",\"strSrcValue\":\"" + strSrcValue + "\"}";
        }

        //如果是实验室加标
        if (this.hidQC_TYPE.Value == "6")
        {
            //测定值
            string strAddResultEx = Request["ADD_RESULT_EX"].ToString();
            //加标量
            string strQcAdd = Request["QC_ADD"].ToString();
            //原始测定值
            string strResult = Request["ADD_RESULT"].ToString();
            //计算回收率
            decimal AddBack = 0;
            if (strResult != "" && strResult != "0" && strQcAdd != "")
            {
                AddBack    = Math.Abs(decimal.Parse(strAddResultEx) - decimal.Parse(strResult)) / decimal.Parse(strQcAdd) * 100;
                strAddBack = Math.Round(AddBack, 1).ToString();
            }

            objStr = "{\"strAddBack\":\"" + strAddBack + "\"}";
        }
        //实验室明码平行
        if (this.hidQC_TYPE.Value == "7")
        {
            string strResultId = Request["hidSrcResultID"].ToString();
            string strValue1   = Request["TWIN_RESULT1"].ToString();
            string strValue2   = Request["TWIN_RESULT2"].ToString();
            if (strResultId != "" && strValue1 != "" && strValue2 != "")
            {
                //根据结果ID获取监测监测项目ID
                string strQcTwinValue = new TMisMonitorResultLogic().getQcTwinValueEx(strResultId, strValue1, strValue2);
                strAvgValue = strQcTwinValue.Split(',')[0];
                strOffSet   = strQcTwinValue.Split(',')[1];
            }

            objStr = "{\"strAvgValue\":\"" + strAvgValue + "\",\"strOffSet\":\"" + strOffSet + "\"}";
        }
        return(objStr);
    }
Ejemplo n.º 18
0
        public string getSubTaskInfo(string workID, string strUser)
        {
            string strJson = "";

            var identification = CCFlowFacade.GetFlowIdentification(strUser, long.Parse(workID));

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

            strJson += "'任务编号':'" + objTaskVo.TICKET_NUM + "','监测类别':'" + new TBaseMonitorTypeInfoLogic().Details(objSubtaskVo.MONITOR_ID).MONITOR_TYPE_NAME + "'";

            TMisMonitorSampleInfoVo objSampleVo = new TMisMonitorSampleInfoVo();

            objSampleVo.SUBTASK_ID = objSubtaskVo.ID;
            List <TMisMonitorSampleInfoVo> listSample = new List <TMisMonitorSampleInfoVo>();

            listSample = new TMisMonitorSampleInfoLogic().SelectByObject(objSampleVo, 0, 0);

            strJson += ",'监测点位':[";

            for (int i = 0; i < listSample.Count; i++)
            {
                if (i == 0)
                {
                    strJson += "{";
                }
                else
                {
                    strJson += ",{";
                }

                strJson += "'点位名称':'" + listSample[i].SAMPLE_NAME + "','样品编号':'" + listSample[i].SAMPLE_CODE + "','条码':'" + listSample[i].SAMPLE_BARCODE + "'";
                strJson += ",'监测项目':[";

                TMisMonitorResultVo objResultVo = new TMisMonitorResultVo();
                objResultVo.SAMPLE_ID = listSample[i].ID;
                List <TMisMonitorResultVo> listResult = new TMisMonitorResultLogic().SelectByObject(objResultVo, 0, 0);
                for (int j = 0; j < listResult.Count; j++)
                {
                    if (j == 0)
                    {
                        strJson += "{";
                    }
                    else
                    {
                        strJson += ",{";
                    }

                    strJson += "'项目名称':'" + new TBaseItemInfoLogic().Details(listResult[j].ITEM_ID).ITEM_NAME + "','现场项目':'" + new TBaseItemInfoLogic().Details(listResult[j].ITEM_ID).IS_SAMPLEDEPT + "'";

                    strJson += "}";
                }

                strJson += "]}";
            }

            strJson += "]";
            strJson  = "[{" + strJson + "}]";

            return(strJson);
        }
    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.º 20
0
    /// <summary>
    /// 样品发送
    /// </summary>
    /// <param name="strSimpleId">样品ID</param>
    /// <returns></returns>
    public string SendToNext(string strSimpleId)
    {
        bool isSuccess = new TMisMonitorResultLogic().ResultSendToNext(strSimpleId, LogInfo.UserInfo.ID, "02", "03");

        return(isSuccess == true ? "1" : "0");
    }
Ejemplo n.º 21
0
    public static string GetLims(string strValue)
    {
        bool isSuccess = true;

        string strConnection = ConfigurationManager.ConnectionStrings["Lims"].ToString();

        DataTable dt = new TMisMonitorResultLogic().getSimpleCodeInResult_QY(strValue, new PageBase().LogInfo.UserInfo.ID, "20");

        foreach (DataRow dr in dt.Rows)
        {
            if (dr["ITEM_RESULT"].ToString().Length == 0)
            {
                string strResultId      = dr["ID"].ToString();
                string strSampleCode    = dr["SAMPLE_CODE"].ToString();
                string strApparatusCode = dr["APPARATUS_CODE"].ToString();
                string strItemId        = dr["ITEM_ID"].ToString();
                string strUnitSrc       = "mg/L"; //暂时写死单位为mg/L
                string strItemName      = "";     //获取项目在仪器中对应的化学式,暂时写死
                if ("000000052|000000147|000000690|000000896|000000897|000001261|000001358|000001374|000001471|000001487|000001584|000001600|000001697|000001713|000001810".Contains(strItemId))
                {
                    strItemName = "As4";
                }
                if ("000000056|000000151|000000694|000000890|000000891|000001265|000001356|000001378|000001469|000001491|000001582|000001604|000001695|000001717|000001808".Contains(strItemId))
                {
                    strItemName = "Cd";
                }
                if ("000000059|000000142|000000158|000000697|000000884|000000886|000000887|000000888|000001268|000001354|000001381|000001467|000001494|000001580|000001607|000001693|000001720|000001806".Contains(strItemId))
                {
                    strItemName = "Hg4";
                }
                if ("000000073|000000711|000001282|000001395|000001508|000001621|000001734".Contains(strItemId))
                {
                    strItemName = "TN";
                }

                TMisMonitorTaskItemLogic objLogic = new TMisMonitorTaskItemLogic();
                string strSql = "select * from T_LIMS_APPARATUS_DATA where APPARATUS_CODE='{0}'";
                strSql = string.Format(strSql, strApparatusCode);
                DataTable dtTable = objLogic.SelectSQL_ByTable_forMobile(strSql, 0, 0);

                string strRe = "", strUnit = "", strSrcID = "", strTableName = "";
                #region get Lims Data
                if (dtTable.Rows.Count > 0)
                {
                    DataRow drTable = dtTable.Rows[0];
                    strTableName = drTable["LIMS_TABLE"].ToString();
                    string strRltColName    = drTable["LIMS_RESULT_COL"].ToString();
                    string strUnitColName   = drTable["LIMS_UNIT_COL"].ToString();
                    string strSampleColName = drTable["LIMS_SAMPLE_COL"].ToString();
                    string strItemColName   = drTable["LIMS_ITEM_COL"].ToString();

                    DataTable objTable   = new DataTable();
                    string    strLimsSql = "select * from " + strTableName + " where IF_ERR='0' and " + strSampleColName + " ='" + strSampleCode + "' and " + strItemColName + " = '" + strItemName + "'";
                    objTable = ExecuteDataTableEx(strLimsSql, strConnection);

                    if (objTable.Rows.Count > 0)
                    {
                        DataRow drResult = objTable.Rows[0];
                        strRe    = drResult[strRltColName].ToString();
                        strUnit  = drResult[strUnitColName].ToString();
                        strSrcID = drResult["ID"].ToString();
                    }
                }
                #endregion
                if (strRe.Length > 0)
                {
                    TMisMonitorResultVo objResult = new TMisMonitorResultVo();
                    objResult.ID       = strResultId;
                    objResult.REMARK_4 = strSrcID;
                    objResult.REMARK_5 = strTableName;
                    objResult.REMARK_3 = "1";
                    if (strUnit == "ug/L" || strUnit == "μg/L")
                    {
                        if (strUnitSrc == "mg/L")
                        {
                            float fRe = float.Parse(strRe) / 1000;
                            objResult.ITEM_RESULT = fRe.ToString();
                        }
                    }
                    else
                    {
                        objResult.ITEM_RESULT = strRe;
                    }
                    new TMisMonitorResultLogic().Edit(objResult);
                }
            }
        }

        return(isSuccess == true ? "1" : "0");
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        //定义结果
        string strResult = "";

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

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

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

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

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

                //huangjinjun add 2016.1.26 如果REMARK3等于true,将ph值、电导率、溶解氧设为分析项目
                TMisMonitorTaskVo    tm    = new TMisMonitorTaskVo();
                TMisMonitorSubtaskVo tmsub = new TMisMonitorSubtaskVo();
                tmsub = new TMisMonitorSubtaskLogic().Details(strSubTaskID);
                tm.ID = tmsub.TASK_ID;
                DataTable dt = new TMisMonitorTaskLogic().SelectByTable(tm);

                if (dt.Rows[0]["REMARK3"].ToString() == "true")
                {
                    bool bl = new TBaseItemInfoLogic().EditItemTypeFX();
                }
                else
                {
                    bool bl = new TBaseItemInfoLogic().EditItemTypeXC();
                }



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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

                //huangjinjun add 2016.1.26 如果REMARK3等于true,将ph值、电导率、溶解氧设为分析项目
                TMisMonitorTaskVo    tm    = new TMisMonitorTaskVo();
                TMisMonitorSubtaskVo tmsub = new TMisMonitorSubtaskVo();
                tmsub = new TMisMonitorSubtaskLogic().Details(strSubTaskID);
                tm.ID = tmsub.TASK_ID;
                DataTable dt = new TMisMonitorTaskLogic().SelectByTable(tm);

                if (dt.Rows[0]["REMARK3"].ToString() == "true")
                {
                    bool bl = new TBaseItemInfoLogic().EditItemTypeFX();
                }
                else
                {
                    bool bl = new TBaseItemInfoLogic().EditItemTypeXC();
                }

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

                //huangjinjun add 2016.1.26 如果REMARK3等于true,将ph值、电导率、溶解氧设为分析项目
                TMisMonitorTaskVo    tm    = new TMisMonitorTaskVo();
                TMisMonitorSubtaskVo tmsub = new TMisMonitorSubtaskVo();
                tmsub = new TMisMonitorSubtaskLogic().Details(strSubTaskID);
                tm.ID = tmsub.TASK_ID;
                DataTable dt = new TMisMonitorTaskLogic().SelectByTable(tm);

                if (dt.Rows[0]["REMARK3"].ToString() == "true")
                {
                    bool bl = new TBaseItemInfoLogic().EditItemTypeFX();
                }
                else
                {
                    bool bl = new TBaseItemInfoLogic().EditItemTypeXC();
                }

                var sampleIdList = CCFlowFacade.GetFlowIdentification(UserNo, Convert.ToInt64(workID)).Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries).ToList();

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

                switch (type)
                {
                case "type1":

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

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

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

            //数据加载
            if (Request.QueryString["WorkID"] != null)
            {
                var workID = Convert.ToInt64(Request.QueryString["WorkID"]);

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

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

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

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

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

                //huangjinjun add 2016.1.26 如果REMARK3等于true,将ph值、电导率、溶解氧设为分析项目
                if (objTask.REMARK3 == "true")
                {
                    bool bl = new TBaseItemInfoLogic().EditItemTypeFX();
                }
                else
                {
                    bool bl = new TBaseItemInfoLogic().EditItemTypeXC();
                }

                this.PLAN_ID.Value = objTask.PLAN_ID;

                //yinchengyi 2015-4-24 打开页面时 记录ccflow流程ID信息到业务系统数据库
                //TMisMonitorSubtaskVo objSubtaskVo = new TMisMonitorSubtaskVo();
                //objSubtaskVo.ID = strSubTaskID;
                objSubtaskVo.CCFLOW_ID1 = workID.ToString();
                objSubtaskVo.CCFLOW_ID2 = ccflowFid.ToString();
                if (!new TMisMonitorSubtaskLogic().Edit(objSubtaskVo))
                {
                    //todo_yinchengyi:
                }
            }

            if (!string.IsNullOrEmpty(Request.QueryString["strSubtaskID"]))
            {
                //监测子任务ID
                this.SUBTASK_ID.Value = Request.QueryString["strSubtaskID"].ToString();
            }

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

            //委托书信息
            if (!string.IsNullOrEmpty(Request.QueryString["type"]) && Request.QueryString["type"] == "getContractInfo")
            {
                strResult = GetContractInfo();
                Response.Write(strResult);
                Response.End();
            }
            //获取现场复核人信息
            if (Request["type"] != null && Request["type"].ToString() == "GetCheckUser")
            {
                strResult = GetCheckUser(Request.QueryString["MonitorID"].ToString());
                Response.Write(strResult);
                Response.End();
            }
            if (Request["type"] != null && Request["type"].ToString() == "isSendToCheck2")
            {
                strResult = isSendToCheck2();
                Response.Write(strResult);
                Response.End();
            }
        }
    }
Ejemplo n.º 23
0
    /// <summary>
    /// 退回到上一环节
    /// </summary>
    /// <param name="strTaskId">任务ID</param>
    /// <returns></returns>
    public string GoToBack(string strTaskId)
    {
        bool IsSuccess = new TMisMonitorResultLogic().subTaskGoToBack(strTaskId, LogInfo.UserInfo.ID, "02", "duty_other_analyse");

        return(IsSuccess == true ? "1" : "0");
    }
Ejemplo n.º 24
0
    /// <summary>
    /// 将任务发送至下一环节
    /// </summary>
    /// <param name="strTaskId">任务ID</param>
    /// <returns></returns>
    public string SendToNext(string strTaskId)
    {
        bool isSuccess = new TMisMonitorResultLogic().SendTaskCheckToNextFlow(strTaskId, LogInfo.UserInfo.ID, "04", "duty_other_analyse_result");

        return(isSuccess == true ? "1" : "0");
    }
    public string IsCanSendTaskCheckToNextFlow(string strTaskId)
    {
        bool IsCanGoToBack = new TMisMonitorResultLogic().IsCanSendTaskCheckToNextFlow(strTaskId, LogInfo.UserInfo.ID, "duty_other_analyse_result", "03");

        return(IsCanGoToBack == true ? "1" : "0");
    }
    protected void ReturnAllTaskStep()
    {
        //任务对象
        TMisMonitorTaskVo objTask = new TMisMonitorTaskLogic().Details(this.TASK_ID.Value);
        //子任务信息
        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskLogic().Details(new TMisMonitorSubtaskVo()
        {
            TASK_ID    = this.TASK_ID.Value,
            MONITOR_ID = this.dllMonitor.SelectedValue
        });
        //样品信息
        TMisMonitorSampleInfoVo objSample = new TMisMonitorSampleInfoLogic().Details(new TMisMonitorSampleInfoVo()
        {
            SUBTASK_ID = objSubTask.ID,
            QC_TYPE    = "0"
        });
        //样品结果信息
        DataTable dtResult = new TMisMonitorResultLogic().SelectResultAndAppWithSubtaskID(objSubTask.ID);
        //校阅
        //委托书对象
        TMisContractVo objContract = new TMisContractLogic().Details(objTask.CONTRACT_ID);
        //预约表
        TMisContractPlanVo objPlan = new TMisContractPlanLogic().Details(new TMisContractPlanVo()
        {
            CONTRACT_ID = objContract.ID
        });
        //预约频次表(已预约未办理数)
        int intIsPlanNoDo = new TMisContractPointFreqLogic().GetSelectResultCount(new TMisContractPointFreqVo()
        {
            CONTRACT_ID = objContract.ID,
            IF_PLAN     = "0"
        });

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

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

            this.divSample.Controls.Add(table1);
            return;
        }
        table1.Rows.Add(GetFollowRow());
        //是否预约办理
        TableRow  rowDo  = new TableRow();
        TableCell cellDo = new TableCell();
        if (objPlan.HAS_DONE == "1")//已办理
        {
            cellDo.Text = string.Format(strDivHas, "环节名:预约办理");
            rowDo.Cells.Add(cellDo);
            table1.Rows.Add(rowDo);
        }
        else
        {
            cellDo.Text = string.Format(strDivWait, "环节名:预约办理");
            rowDo.Cells.Add(cellDo);
            table1.Rows.Add(rowDo);

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

                if (dr2.Length > 0)     //结果提交不完全时
                {
                    if (dr5.Length > 0) //流程已到技术室审核环节(最后环节)
                    {
                        table1 = GetCommonRow(table1, strDivWait, "数据审核", "XXX");
                        table1 = GetCommonRow(table1, strDivWait, "分析室主任审核", "XXX");
                        table1 = GetCommonRow(table1, strDivWait, "技术室主任审核", "XXX");
                    }
                    else
                    {
                        if (dr4.Length > 0)//流程仅到分析室审核
                        {
                            table1 = GetCommonRow(table1, strDivWait, "数据审核", "XXX");
                            table1 = GetCommonRow(table1, strDivWait, "分析室主任审核", "XXX");
                        }
                        else
                        {
                            if (dr3.Length > 0)//流程仅到数据审核
                            {
                                table1 = GetCommonRow(table1, strDivWait, "数据审核", "XXX");
                            }
                        }
                    }
                }
                else//结果提交完全时
                {
                    if (dr3.Length > 0)//数据审核不完全
                    {
                        table1 = GetCommonRow(table1, strDivWait, "数据审核", "XXX");
                    }
                    else
                    {
                        table1 = GetCommonRow(table1, strDivHas, "数据审核", "XXX");
                    }
                    if (dr4.Length > 0)//分析审核不完全
                    {
                        table1 = GetCommonRow(table1, strDivWait, "分析室主任审核", "XXX");
                    }
                    else
                    {
                        table1 = GetCommonRow(table1, strDivHas, "分析室主任审核", "XXX");
                    }
                    if (dr5.Length > 0)                                                    //流程已到技术室审核环节(最后环节)
                    {
                        if (objSubTask.TASK_STATUS == "09" && objTask.TASK_STATUS == "09") //分析流程完成
                        {
                            table1 = GetCommonRow(table1, strDivHas, "技术室主任审核", "XXX");
                            TableRow  row  = new TableRow();//委托流程连接
                            TableCell cell = new TableCell();
                            cell.Text = string.Format(strDivHas, "<a href='#' onclick='ShowReport();'>报告流程</a>");
                            row.Cells.Add(cell);
                            table1.Rows.Add(row);
                        }
                        else
                        {
                            table1 = GetCommonRow(table1, strDivWait, "技术室主任审核", "XXX");
                        }
                    }
                }
            }
        }
        this.divSample.Controls.Add(table1);
        #endregion
    }
    /// <summary>
    /// 将任务回退到上一环节
    /// </summary>
    /// <param name="strTaskId">任务ID</param>
    /// <returns></returns>
    public string GoToBackTask(string strTaskId, string strSubTaskID, string strSuggestion)
    {
        bool isSuccess = false;

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

        objReturnInfoVo.TASK_ID    = strTaskId;
        objReturnInfoVo.SUBTASK_ID = strSubTaskID;
        if (dtSampleItem.Rows.Count > 0) //有现场类项目
        {
            objReturnInfoVo.CURRENT_STATUS = SerialType.Monitor_003;
            objReturnInfoVo.BACKTO_STATUS  = SerialType.Monitor_002;
            TMisReturnInfoVo obj = new TMisReturnInfoLogic().Details(objReturnInfoVo);
            if (obj.ID.Length > 0)
            {
                objReturnInfoVo.ID         = obj.ID;
                objReturnInfoVo.SUGGESTION = strSuggestion;
                isSuccess = new TMisReturnInfoLogic().Edit(objReturnInfoVo);
            }
            else
            {
                objReturnInfoVo.ID         = GetSerialNumber("t_mis_return_id");
                objReturnInfoVo.SUGGESTION = strSuggestion;
                isSuccess = new TMisReturnInfoLogic().Create(objReturnInfoVo);
            }
        }
        if (isSampleDept) //有分析类现场项目
        {
            objReturnInfoVo.ID             = "";
            objReturnInfoVo.SUGGESTION     = "";
            objReturnInfoVo.CURRENT_STATUS = SerialType.Monitor_003;
            objReturnInfoVo.BACKTO_STATUS  = SerialType.Monitor_010;
            TMisReturnInfoVo obj = new TMisReturnInfoLogic().Details(objReturnInfoVo);
            if (obj.ID.Length > 0)
            {
                objReturnInfoVo.ID         = obj.ID;
                objReturnInfoVo.SUGGESTION = strSuggestion;
                isSuccess = new TMisReturnInfoLogic().Edit(objReturnInfoVo);
            }
            else
            {
                objReturnInfoVo.ID         = GetSerialNumber("t_mis_return_id");
                objReturnInfoVo.SUGGESTION = strSuggestion;
                isSuccess = new TMisReturnInfoLogic().Create(objReturnInfoVo);
            }
        }

        return(isSuccess == true ? "1" : "0");
    }
Ejemplo n.º 28
0
    protected void btnImport_Click(object sender, EventArgs e)
    {
        string strPrintId = this.strPrintId.Value;
        TMisMonitorSubtaskVo objSubTask = new TMisMonitorSubtaskLogic().Details(strPrintId);
        //objSubTask.TASK_ID = strPrintId;
        //DataTable dtSub = new TMisMonitorSubtaskLogic().SelectByTable(objSubTask);
        string strSampleIDs = "";

        //for (int i = 0; i < dtSub.Rows.Count; i++)
        //{
        //    GetPoint_UnderTask(dtSub.Rows[i]["ID"].ToString(), ref strSampleIDs);
        //}
        GetPoint_UnderTask(strPrintId, ref strSampleIDs);
        //获取基本信息
        DataTable dt = new TMisMonitorSampleInfoLogic().getSamplingAllocationSheetInfoBySampleId(strSampleIDs, "02,021", "1");

        int iPageCount = dt.Rows.Count / 17;

        if (dt.Rows.Count % 17 != 0)
        {
            iPageCount += 1;
        }
        string strWaterType = "000000001,000000018,000000024,000000027,EnvDrinking,EnvDrinkingSource,EnvDWWater,EnvEstuaries,EnvMudRiver,EnvMudSea,EnvRain,EnvReservoir,EnvRiver,EnvSeaBath";
        string strGasType   = "000000002,000000021,000000023,EnvAir,EnvDWAir,EnvSpeed";
        string strSoilType  = "EnvSoil";
        string strTemplate  = "";

        if (strWaterType.Contains(objSubTask.MONITOR_ID))
        {
            strTemplate = "template/QHDSamplingCode_Water.xls";
        }
        else if (strSoilType.Contains(objSubTask.MONITOR_ID))
        {
            strTemplate = "template/QHDSamplingCode_Soil.xls";
        }
        else
        {
            strTemplate = "template/QHDSamplingCode_Gas.xls";
        }
        FileStream   file         = new FileStream(HttpContext.Current.Server.MapPath(strTemplate), FileMode.Open, FileAccess.Read);
        HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);

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

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

            DataTable dtNew = new DataTable();
            dtNew = dt.Copy();
            dtNew.Clear();
            for (int n = (m - 1) * 17; n < m * 17; n++)
            {
                if (n >= dt.Rows.Count)
                {
                    break;
                }
                dtNew.ImportRow(dt.Rows[n]);
            }
            for (int i = 0; i < dtNew.Rows.Count; i++)
            {
                string strItmeNum             = "";
                TMisMonitorResultVo objResult = new TMisMonitorResultVo();
                objResult.RESULT_STATUS = "01";
                objResult.SAMPLE_ID     = dtNew.Rows[i]["ID"].ToString();
                DataTable dtResult = new TMisMonitorResultLogic().SelectByTable(objResult);
                for (int j = 0; j < dtResult.Rows.Count; j++)
                {
                    TBaseItemInfoVo objItem = new TBaseItemInfoVo();
                    objItem.ID = dtResult.Rows[j]["ITEM_ID"].ToString();
                    //objItem.IS_SAMPLEDEPT = "否";
                    DataTable dtItem = new TBaseItemInfoLogic().SelectByTable(objItem);
                    if (dtItem.Rows.Count > 0 && dtItem.Rows[0]["ITEM_NUM"].ToString().Length > 0)
                    {
                        strItmeNum += (strItmeNum.Length > 0) ? "," + dtItem.Rows[0]["ITEM_NUM"].ToString() : dtItem.Rows[0]["ITEM_NUM"].ToString();
                    }
                }
                sheet.GetRow(i + 6).GetCell(0).SetCellValue((i + 1).ToString());
                sheet.GetRow(i + 6).GetCell(1).SetCellValue(dtNew.Rows[i]["SAMPLE_CODE"].ToString());
                sheet.GetRow(i + 6).GetCell(6).SetCellValue(strItmeNum);
            }
        }
        using (MemoryStream stream = new MemoryStream())
        {
            hssfworkbook.Write(stream);
            HttpContext curContext = HttpContext.Current;
            // 设置编码和附件格式
            curContext.Response.ContentType     = "application/vnd.ms-excel";
            curContext.Response.ContentEncoding = Encoding.UTF8;
            curContext.Response.Charset         = "";
            curContext.Response.AppendHeader("Content-Disposition",
                                             "attachment;filename=" + HttpUtility.UrlEncode("样品交接记录表.xls", Encoding.UTF8));
            curContext.Response.BinaryWrite(stream.GetBuffer());
            curContext.Response.End();
        }
    }
Ejemplo n.º 29
0
    /// <summary>
    /// 样品发送
    /// </summary>
    /// <param name="strResultId">监测结果Id</param>
    /// <returns></returns>
    public string ResultGoToBack(string strResultId)
    {
        bool isSuccess = new TMisMonitorResultLogic().SendResultToNext_QHD(strResultId, "03");

        return(isSuccess == true ? "1" : "0");
    }
    private bool createQcInfo(string strSampleID, string strQcType, string strItemId)
    {
        bool isSuccess = true;

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

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

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

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

        //objSample.SAMPLECODE_CREATEDATE = DateTime.Now.ToString("yyyy-MM-dd");
        //objSample.SAMPLE_CODE = CreateBaseDefineCodeForSample(objSerial, objTask, objSubtask);

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

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

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

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

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

            //将结果写入分析样结果表中
            TMisMonitorQcTwinVo objQcTwin = new TMisMonitorQcTwinVo();
            objQcTwin.ID              = GetSerialNumber("QcTwinId");
            objQcTwin.RESULT_ID_SRC   = strSourceId;
            objQcTwin.RESULT_ID_TWIN1 = objResult.ID;
            objQcTwin.QC_TYPE         = strQcType;
            if (!new TMisMonitorQcTwinLogic().Create(objQcTwin))
            {
                isSuccess = false;
            }
        }
        return(isSuccess);
    }