public string GetFormResult(Fast.EB.WKF.ExternalUtility.ApplyTask applyTask)
        {
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(applyTask.CurrentDocXML);
            CTB_HR_PERTUCO l_pert   = new CTB_HR_PERTUCO();
            string         l_FormID = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='FormID']").Attributes["fieldValue"].Value;

            //訂單需要同意才進入
            if (applyTask.FormResult == Fast.EB.WKF.Engine.ApplyResult.Adopt)
            {
                string  l_str考核種類 = "";
                DataRow l_row     = l_pert.NewRow();
                l_row["PERTNO"] = Guid.NewGuid().ToString();
                l_row["GUID"]   = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='FormID']").Attributes["fieldValue"].Value;
                string l_strTaskid = applyTask.TaskId;
                CTB_HR_ASSESS_STAFF_UCO l_STAFF = new CTB_HR_ASSESS_STAFF_UCO();
                DataTable dt = l_STAFF.getlast(l_strTaskid);
                l_row["SMID"] = dt.Rows[0]["SMID"].ToString();
                string l_strSMID = dt.Rows[0]["SMID"].ToString();
                l_row["RANK"] = dt.Rows[0]["RANK"].ToString();
                int l_int月份 = DateTime.Today.Month;
                if (l_int月份 > 9 || l_int月份 < 3)
                {
                    l_row["ASSESS_TYPE"] = "年終";
                    l_row["RANK_Y"]      = dt.Rows[0]["RANK_Y"].ToString();
                    l_str考核種類            = "年終";
                }
                else if (2 < l_int月份 && l_int月份 < 7)
                {
                    l_row["ASSESS_TYPE"] = "端午";
                    l_str考核種類            = "端午";
                }
                else if (6 < l_int月份 && l_int月份 < 10)
                {
                    l_row["ASSESS_TYPE"] = "中秋";
                    l_str考核種類            = "中秋";
                }
                l_row["Form_TYPE"] = "課長級以下";
                l_row["EDIT_DATE"] = DateTime.Today.ToString("yyyy/MM/dd");
                l_row["YEAR"]      = DateTime.Today.Year.ToString();
                l_row["TASK_ID"]   = applyTask.TaskId;
                string    l_年度 = DateTime.Today.Year.ToString();
                DataTable l_dt = l_pert.check(l_strSMID, l_str考核種類, l_年度);
                if (l_dt != null && l_dt.Rows.Count > 0)
                {
                    return("");
                }
                else
                {
                    l_pert.Insert(l_row);
                }
            }
            //訂單否決刪除單子
            else
            {
                //刪除明細檔
                CTB_HR_ASSESS_STAFF_DETAILUCO l_STAFF_DETAIL = new CTB_HR_ASSESS_STAFF_DETAILUCO();
                l_STAFF_DETAIL.DeletebyReject(l_FormID);
                CTB_HR_ASSESS_STAFF_UCO l_STAFF = new CTB_HR_ASSESS_STAFF_UCO();
                l_STAFF.DeletebyReject(applyTask.TaskId);
            }
            return("");
        }
示例#2
0
        public string GetFormResult(Fast.EB.WKF.ExternalUtility.ApplyTask applyTask)
        {
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(applyTask.CurrentDocXML);
            CTB_HR_ASSESS_STAFF_UCO l_STAFF = new CTB_HR_ASSESS_STAFF_UCO();

            if (applyTask.SignResult == Fast.EB.WKF.Engine.SignResult.Approve)     //簽核中需要同意才進入
            {
                DataRow row = l_STAFF.NewRow();
                row["GUID"] = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='FormID']").Attributes["fieldValue"].Value;
                //row["SMID"] = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='SMID']").Attributes["fieldValue"].Value;

                //自訂欄位的寫法
                row["SMID"]      = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["SMID"].Value;
                row["KNOWLEDGE"] = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["KNOWLEDGE"].Value;
                row["FORCE"]     = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["FORCE"].Value;
                row["SENSE"]     = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["SENSE"].Value;
                row["INTERGITY"] = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["INTERGITY"].Value;
                row["EXECUTION"] = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["EXECUTION"].Value;
                row["ABILITY"]   = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["ABILITY"].Value;
                row["EQ"]        = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["EQ"].Value;
                row["Total"]     = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["Total"].Value;
                row["RANK"]      = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["RANK"].Value;
                row["SIGNER"]    = Current.Name;
                row["EDIT_DATE"] = DateTime.Today.ToString("yyyy/MM/dd");
                row["TASK_ID"]   = applyTask.TaskId;
                row["SITE_CODE"] = applyTask.SiteCode;
                int l_int月份 = DateTime.Today.Month;
                //非年終不用進去
                if (l_int月份 > 9 || l_int月份 < 3)
                {
                    row["KNOWLEDGE_Y"] = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["KNOWLEDGE_Y"].Value;
                    row["FORCE_Y"]     = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["FORCE_Y"].Value;
                    row["SENSE_Y"]     = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["SENSE_Y"].Value;
                    row["INTERGITY_Y"] = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["INTERGITY_Y"].Value;
                    row["EXECUTION_Y"] = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["EXECUTION_Y"].Value;
                    row["ABILITY_Y"]   = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["ABILITY_Y"].Value;
                    row["EQ_Y"]        = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["EQ_Y"].Value;
                    row["Staff_Car"]   = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["Staff_Car"].Value;
                    row["Total_Y"]     = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["Total_Y"].Value;
                    row["RANK_Y"]      = xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']/FieldValue").Attributes["RANK_Y"].Value;
                    row["ASSESS_TYPE"] = "年終";
                }
                else if (2 < l_int月份 && l_int月份 < 7)
                {
                    row["ASSESS_TYPE"] = "端午";
                }
                else if (6 < l_int月份 && l_int月份 < 10)
                {
                    row["ASSESS_TYPE"] = "中秋";
                }

                //row["DOC_NBR"] = applyTask.FormNumber;

                DataTable l_dt = l_STAFF.getDatsByID(applyTask.TaskId, applyTask.SiteCode);
                if (l_dt != null && l_dt.Rows.Count > 0)
                {
                    l_STAFF.UpdateByTASKID(row);
                }
                else
                {
                    l_STAFF.Insert(row);
                }

                //xmlDoc.SelectSingleNode("/Form/FormFieldValue/FieldItem[@fieldId='Staff']").InnerXml = "";
                //AssessCompetentPO po = new AssessCompetentPO();
                //po.UpdateCurrentDoc(applyTask.TaskId, xmlDoc.OuterXml);
            }

            return("");
        }