コード例 #1
0
        public HttpResponseMessage InsertScore([FromBody] JObject Data)
        {
            try
            {
                var      header = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();
                tblScore sc     = new tblScore();

                tblEvaluation eva = new tblEvaluation();
                // tblProjectMember proj = header.getProjectMember().Where(a => a.ProjectID == Data["ProjectNO"].ToString()).Where(a => a.StaffID == Data["EmployeeNO"].ToString()).FirstOrDefault();
                Period p = header.GetPeriod().Where(a => a.Period_Id == Convert.ToInt32(Data["PeriodID"].ToString())).FirstOrDefault();
                sc.Eva_ID = Convert.ToInt32(Data["Eva_ID"].ToString());
                sc.H3_ID  = Convert.ToInt32(Data["H_ID"].ToString());
                sc.point  = Convert.ToInt32(Data["point"].ToString());
                if (string.IsNullOrEmpty(Data["Comment"].ToString()))
                {
                    sc.Comment = Data["Comment"].ToString();
                }
                header.InsertEvaData(eva);
                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            catch
            {
                return(Request.CreateResponse(HttpStatusCode.ExpectationFailed));
            }
        }
コード例 #2
0
        public string UpdateApproveTble()
        {
            var header               = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();
            var header2              = ServiceContainer.GetService <PesWeb.Service.Modules.HeaderManage>();
            List <tblApprove>    Ap  = header.getApprove().ToList();
            List <tblEvaluation> eva = header.GetAllEvaluation();

            Ap.ForEach(a =>
            {
                tblEvaluation empno = eva.Where(b => b.Eva_ID == a.EvaID).FirstOrDefault();
                header2.UpdateApprove(a.ID, (empno == null)?"":empno.EmployeeNO);
            });
            return("success");
        }
コード例 #3
0
        public List <JObject> ApproveHistory(string EmpID)
        {
            var header = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();

            // var header = ServiceContainer.GetService<PesWeb.Service.Modules.EvaManage>();
            List <tblApprove>       app      = header.GetAllApprove();
            List <tblApproveStatus> ApS      = header.GetApproveStatus().Where(a => a.EmployeeNO == EmpID).OrderByDescending(a => a.ID).ToList();
            List <tblApprove>       Ap       = new List <tblApprove>();
            List <tblEvaluation>    ListEva  = header.GetAllEvaluation().ToList();
            List <tblFlowMaster>    ListFlow = header.getAllFlow();

            foreach (tblApproveStatus o in ApS)
            {
                tblApprove Approve = app.Where(a => a.ID == o.ApproveID).FirstOrDefault();
                if (Approve != null && ListEva.Where(a => a.Eva_ID == Approve.EvaID).ToList().Count == 1)
                {
                    Ap.Add(Approve);
                }
            }
            List <tblEmployee> emp      = header.getEmployees();
            List <JObject>     ApObject = new List <JObject>();

            Ap.ForEach(a =>
            {
                JObject tmp           = new JObject();
                tmp["ApproverID"]     = a.ApproverID;
                tmp["ApproveState"]   = a.ApproveState;
                tmp["EvaID"]          = a.EvaID;
                tmp["GM"]             = a.GM;
                tmp["HR"]             = a.HR;
                tmp["ID"]             = a.ID;
                tmp["Name"]           = a.Name;
                tmp["PM"]             = a.PM;
                tmp["Position"]       = a.Position;
                tmp["PositionID"]     = a.PositionID;
                tmp["ProjectCode"]    = a.ProjectCode;
                tmp["Role"]           = a.Role;
                tmp["ST"]             = a.ST;
                tblApproveStatus ApSt = ApS.Where(b => b.ApproveID == a.ID && b.Status != 0).OrderByDescending(b => b.ID).FirstOrDefault();
                tblEvaluation eva     = ListEva.Where(b => b.Eva_ID == a.EvaID).FirstOrDefault();
                tmp["Date"]           = (ApSt != null)? ApSt.ApproveDate.ToString().Substring(0, 9).Replace("-", "/") + " " + ((ApSt.ApproveDate.ToString().ElementAt(11) == ':') ? '0' + ApSt.ApproveDate.ToString().Substring(10, 4).Replace("-", "/") : ApSt.ApproveDate.ToString().Substring(10, 5).Replace("-", "/")) : eva.StartEvaDate.ToString().Substring(0, 9).Replace("-", "/") + " " + ((eva.StartEvaDate.ToString().ElementAt(11) == ':')?'0' + eva.StartEvaDate.ToString().Substring(10, 4).Replace("-", "/"): eva.StartEvaDate.ToString().Substring(10, 5).Replace("-", "/"));



                tblEmployee empTemp  = emp.Where(b => b.EmployeeNo.Replace(" ", "") == a.EmployeeNo).FirstOrDefault();
                tmp["name_language"] = JsonConvert.DeserializeObject <JObject> ("{\"EN\":\"" + empTemp.EmployeeFirstName + " " + empTemp.EmployeeLastName + "\",\"TH\":\"" + empTemp.EmployeeFirstNameThai + " " + empTemp.EmployeeLastNameThai + "\"}");
                ApObject.Add(tmp);
            });
            return(ApObject);
        }
コード例 #4
0
ファイル: FormController.cs プロジェクト: phittaya001/PSES
        public int createForm([FromBody] JObject Data)
        {
            tblEvaluation Eva = new tblEvaluation();

            Eva.EmployeeNO  = Data["EmployeeNO"].ToString();
            Eva.EvaluatorNO = Data["EvaluatorNO"].ToString();
            Eva.Job_ID      = Convert.ToInt32(Data["JobID"].ToString());
            Eva.ProjectNO   = Data["ProjectNO"].ToString();
            var svc = ServiceContainer.GetService <PesWeb.Service.Modules.FormManage>();

            svc.createForm(Eva);

            return(svc.getEvaID(Eva));
        }
コード例 #5
0
        public void EditEvaluationStatus([FromBody] int EvaID)
        {
            var           header  = ServiceContainer.GetService <PesWeb.Service.Modules.HeaderManage>();
            var           header2 = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();
            tblEvaluation ev      = header2.getEvaData().Where(a => a.Eva_ID == EvaID).FirstOrDefault();

            if (ev.EvaStatus == 1)
            {
                header.UpdateEvaluationStatus(EvaID, 2);
            }
            else if (ev.EvaStatus == 2)
            {
                header.UpdateEvaluationStatus(EvaID, 1);
            }
        }
コード例 #6
0
 public HttpResponseMessage DeleteData(int EvaID)
 {
     //อิอิอิอิอิอิอื
     try
     {
         var           header = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();
         tblEvaluation eva    = header.GetAllEvaluation().Where(a => a.Eva_ID == EvaID).FirstOrDefault();
         header.DeleteEva(EvaID);
         header.DeleteApprove(EvaID);
         tblEmployee emp = header.getEmployees().Where(a => a.EmployeeNo.Replace(" ", "") == eva.EvaluatorNO).FirstOrDefault();
         insertLog(emp.EmployeeFirstName + " " + emp.EmployeeLastName, eva.EvaluatorNO, "Delete Evaluation : " + EvaID);
         return(Request.CreateResponse(HttpStatusCode.OK));
     }
     catch
     {
         return(Request.CreateResponse(HttpStatusCode.ExpectationFailed));
     }
 }
コード例 #7
0
        public string createForm([FromBody] JObject Data)
        {
            tblEvaluation Eva = new tblEvaluation();

            Eva.EmployeeNO  = Data["EmployeeNO"].ToString();
            Eva.EvaluatorNO = Data["EvaluatorNO"].ToString();
            Eva.Job_ID      = Convert.ToInt32(Data["JobID"].ToString());
            Eva.ProjectNO   = Data["ProjectNO"].ToString();
            var svc = ServiceContainer.GetService <PesWeb.Service.Modules.FormManage>();

            PSESEntities db = new PSESEntities();
            List <SP_GetAllHeaderByJobID_Result> AllHeader = db.SP_GetAllHeaderByJobID().Where(a => a.JobID == Convert.ToInt32(Data["JobID"].ToString())).ToList();

            int      EvaID = svc.createForm(Eva);
            tblScore score = new tblScore();

            foreach (SP_GetAllHeaderByJobID_Result temp in AllHeader)
            {
                score.Eva_ID = EvaID;
                score.H3_ID  = temp.H3_ID;
                svc.InsertScore(score);
            }
            return("Success");
        }
コード例 #8
0
        public SP_InsertEvaluation_Result InsertEvaData(tblEvaluation eva)
        {
            PSESEntities db = new PSESEntities();

            return(db.SP_InsertEvaluation(eva.ProjectNO, eva.EvaluatorNO, eva.EmployeeNO, eva.Job_ID, eva.period, eva.PeriodID, eva.StartEvaDate, eva.FinishEvaDate, eva.ProjectCode).FirstOrDefault());
        }
コード例 #9
0
        public int getEvaID(tblEvaluation form)
        {
            PSESEntities db = new PSESEntities();

            return((int)db.getEvaID(form.EvaluatorNO, form.EmployeeNO, form.ProjectNO).FirstOrDefault());
        }
コード例 #10
0
        public int createForm(tblEvaluation form)
        {
            PSESEntities db = new PSESEntities();

            return((int)db.SP_CreateEvaFormAndReturnPrimary(form.EmployeeNO, form.EvaluatorNO, form.Job_ID, form.ProjectNO).FirstOrDefault());
        }
コード例 #11
0
        public HttpResponseMessage InsertEva([FromBody] JObject Data)
        {
            var header  = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();
            var header2 = ServiceContainer.GetService <PesWeb.Service.Modules.HeaderManage>();
            List <tblEvaluation> evaAll = new List <tblEvaluation>();

            if (evaAll.Count == 0)
            {
                int              isAdd = 0;
                string           name  = "";
                tblProjectMember proj  = new tblProjectMember();
                if (Data["EmployeeNO"].ToString().Length > 10)
                {
                    isAdd = 1;
                    List <string> nme = Data["EmployeeNO"].ToString().Split('-').ToList();
                    name = nme[1].Trim();
                    tblPart2Master role    = header.getPart2Data().Where(a => a.Function.Trim() == Data["Position"].ToString().Trim()).FirstOrDefault();
                    tblProject     project = header.getProject().Where(a => a.ProjectNameAlias.Trim() == Data["ProjectNO"].ToString().Trim()).FirstOrDefault();
                    if (project != null)
                    {
                        Data["ProjectNO"] = project.CustomerCompanyAlias + "-" + project.ProjectNameAlias;
                    }
                    proj.Part2ID       = role.Part2ID;
                    Data["EmployeeNO"] = Data["EmployeeNO"].ToString().Split('-')[0].Trim();
                }
                else
                {
                    proj = header.getProjectMember().Where(a => a.ProjectID == Data["ProjectNO"].ToString()).Where(a => a.StaffID == Data["EmployeeNO"].ToString()).FirstOrDefault();
                }
                header.GetAllEvaluation().Where(a => a.EvaluatorNO == Data["EvaluatorNO"].ToString() && a.EmployeeNO == Data["EmployeeNO"].ToString() && a.ProjectNO == Data["ProjectNO"].ToString() && a.PeriodID == Convert.ToInt32(Data["PeriodID"].ToString())).ToList();
                tblEvaluation eva = new tblEvaluation();

                Period p = header.GetPeriod().Where(a => a.Period_Id == Convert.ToInt32(Data["PeriodID"].ToString())).FirstOrDefault();
                eva.EmployeeNO  = Data["EmployeeNO"].ToString();
                eva.EvaluatorNO = Data["EvaluatorNO"].ToString();
                //eva.Job_ID = (isAdd==1)? Data["ProjectNO"].ToString().Split(':')
                eva.Job_ID        = proj.Part2ID;
                eva.PeriodID      = p.Period_Id;
                eva.period        = p.StartDate.ToString().Substring(3, 7);
                eva.ProjectNO     = Data["ProjectNO"].ToString();
                eva.StartEvaDate  = Convert.ToDateTime(Data["StartDate"].ToString());
                eva.FinishEvaDate = Convert.ToDateTime(Data["FinishDate"].ToString());
                tblProject pj = new tblProject();
                if (isAdd == 0)
                {
                    pj = header.getProject().Where(a => a.ProjectID == Data["ProjectNO"].ToString()).FirstOrDefault();
                }

                eva.ProjectCode = (isAdd == 1) ? Data["ProjectNO"].ToString() : pj.CustomerCompanyAlias + " " + pj.ProjectNameAlias;
                SP_InsertEvaluation_Result evaid = header.InsertEvaData(eva);
                int eva_ID = evaid.Eva_ID;


                List <tblHeaderJob> hj  = header2.getAllHeaderJob().Where(a => a.PositionNo == proj.Part2ID).ToList();
                List <tblHeader>    Ans = new List <tblHeader>();
                List <tblScore>     sc  = header.GetAllScore();
                List <SP_GetHeaderByPosition_Result> GetHeader = header2.getHeaderByPosition(proj.Part2ID, eva_ID).OrderBy(a => a.H_ID).ToList();
                List <tblHeader> hd     = header2.GetAllHeader().ToList();
                tblHeader        H_test = new tblHeader();
                H_test.H_ID = 0;
                //  if (GetHeader.Count - GetHeader.Where(a => a.point).ToList().Count < FinalHeader(H_test, hd).ToList().Count)
                foreach (tblHeaderJob tmpHJ in hj)
                {
                    foreach (tblHeader hd2 in hd.Where(a => a.H_ID == tmpHJ.H1_ID))
                    {
                        foreach (tblHeader hd3 in FinalHeader(hd2, hd))
                        {
                            if (sc.Where(a => a.Eva_ID == eva_ID && a.H3_ID == hd3.H_ID).ToList().Count == 0)
                            {
                                //if (Ans.Where(a => a.H_ID == hd3.H_ID).ToList().Count == 0)
                                Ans.Add(hd3);
                            }
                        }
                    }
                }
                foreach (tblHeader h in Ans)
                {
                    header.InsertSCORE(eva_ID, h.H_ID);
                }
                List <tblEmployee> emp = header.getEmployees();
                int num = header.GetAllApprove().Where(a => a.EvaID == eva_ID).ToList().Count;
                if (num == 0)
                {
                    tblApprove ap = new tblApprove();
                    ap.EvaID      = eva_ID;
                    ap.PositionID = header.getEmployees().Where(a => a.EmployeeNo.Replace(" ", "") == Data["EmployeeNO"].ToString().Replace(" ", "")).FirstOrDefault().PositionNo;
                    ap.Position   = header.getPosition().Where(a => a.PositionNo == ap.PositionID).FirstOrDefault().PositionName;

                    tblProjectMember pm   = header.getProjectMember().Where(a => a.StaffID.Replace(" ", "") == Data["EmployeeNO"].ToString().Replace(" ", "") && a.ProjectID == Data["ProjectNO"].ToString()).FirstOrDefault();
                    string           role = (isAdd == 1)? Data["Position"].ToString(): header.getPart2Data().Where(a => a.Part2ID == pm.Part2ID).FirstOrDefault().Function;
                    if (isAdd == 0)
                    {
                        name = pm.StaffName;
                    }
                    ap.Role = role;
                    tblEmployee emptemp = emp.Where(a => a.EmployeeNo.Trim() == Data["EmployeeNO"].ToString().Trim()).FirstOrDefault();
                    ap.Name = (emptemp != null) ? emptemp.EmployeeFirstName + " " + emptemp.EmployeeLastName : "";
                    //tblProject pj = header.getProject().Where(a => a.ProjectID == Data["ProjectNO"].ToString()).FirstOrDefault();
                    ap.ProjectCode = eva.ProjectCode;
                    ap.EmployeeNo  = Data["EmployeeNO"].ToString().Replace(" ", "");
                    int pID = header.insertApprove(ap).ID;
                    List <tblFlowMaster> AllFlow = header.getAllFlow();

                    foreach (tblFlowMaster a in AllFlow)
                    {
                        tblApproveStatus tmp = new tblApproveStatus();
                        tmp.Comment   = "";
                        tmp.Status    = 0;
                        tmp.FlowOrder = a.Flow;
                        if (a.CodeName == "PM")
                        {
                            tblEmployee emp2 = emp.Where(t => t.EmployeeNo.Replace(" ", "") == Data["EvaluatorNO"].ToString().Replace(" ", "")).FirstOrDefault();
                            tmp.Name       = emp2.EmployeeFirstName + " " + emp2.EmployeeLastName;
                            tmp.EmployeeNO = emp2.EmployeeNo;
                            // tmp.Status = 1;
                        }
                        else if (a.CodeName == "ST")
                        {
                            tmp.Name       = name;
                            tmp.EmployeeNO = Data["EmployeeNO"].ToString().Replace(" ", "");
                        }
                        else if (a.CodeName == "HR")
                        {
                            tblEmployee emp2 = emp.Where(t => t.PositionNo == 23).FirstOrDefault();
                            tmp.Name       = emp2.EmployeeFirstName + " " + emp2.EmployeeLastName;
                            tmp.EmployeeNO = emp2.EmployeeNo;
                        }
                        else if (a.CodeName == "GM")
                        {
                            int organNo = (int)emp.Where(s => s.EmployeeNo.Replace(" ", "") == Data["EmployeeNO"].ToString().Replace(" ", "")).FirstOrDefault().OrganizationNo;
                            List <tblEmployeeOrganization> emO = header.getEmployeeOrganization().Where(t => t.OrganizationNo == organNo && t.PositionNo == 21).ToList();
                            if (emO.Count != 1)
                            {
                                tmp.Name       = "";
                                tmp.EmployeeNO = "";
                            }
                            else
                            {
                                tblEmployee emp2 = emp.Where(t => t.EmployeeNo.Replace(" ", "") == emO.FirstOrDefault().EmployeeNo).FirstOrDefault();
                                if (emp2 != null)
                                {
                                    tmp.Name       = emp2.EmployeeFirstName + " " + emp2.EmployeeLastName;
                                    tmp.EmployeeNO = emp2.EmployeeNo;
                                }
                            }
                        }
                        tmp.ApproveID = pID;
                        header.insertApproveStatus(tmp);
                    }
                }
                tblEmployee empLog = emp.Where(t => t.EmployeeNo.Replace(" ", "") == Data["EvaluatorNO"].ToString().Replace(" ", "")).FirstOrDefault();
                insertLog(empLog.EmployeeFirstName + " " + empLog.EmployeeLastName, empLog.EmployeeNo, "new evaluation : " + eva_ID);
                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            return(Request.CreateResponse(HttpStatusCode.BadRequest));
        }
コード例 #12
0
        public List <JObject> getApproveList(string EmpID)
        {
            var                     header   = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();
            List <JObject>          ApObject = new List <JObject>();
            List <tblApproveStatus> AllAps   = header.GetApproveStatus();
            List <tblApproveStatus> ApS      = AllAps.Where(a => ((a.EmployeeNO != null)?a.EmployeeNO.Trim():a.EmployeeNO) == EmpID.Trim()).ToList();

            if (ApS != null)
            {
                List <tblEvaluation> ListEva = header.GetAllEvaluation();
                List <tblApprove>    Ap      = new List <tblApprove>();
                List <tblApprove>    AllAp   = header.GetAllApprove();
                foreach (tblApproveStatus aps in ApS.Where(a => a.Status == 0).GroupBy(a => a.ApproveID).Select(a => a.First()).ToList())
                {
                    int num = 0;
                    List <tblApproveStatus> tmp = AllAps.Where(a => a.ApproveID == aps.ApproveID).ToList();
                    foreach (tblApproveStatus n in tmp)
                    {
                        if (n.ID == aps.ID)
                        {
                            break;
                        }
                        else if (n.Status == 0)
                        {
                            num = 1;
                        }
                    }

                    if (num == 0)
                    {
                        tblApprove Approve = AllAp.Where(a => a.ID == aps.ApproveID).FirstOrDefault();
                        if (Approve != null)
                        {
                            tblEvaluation EvaData = ListEva.Where(a => a.Eva_ID == Approve.EvaID).FirstOrDefault();
                            if (EvaData != null && EvaData.EvaStatus == 1)
                            {
                                Ap.Add(Approve);
                            }
                        }
                    }
                }
                List <tblEvaluation> evalist = header.GetAllEvaluation().ToList();
                List <tblEmployee>   emp     = header.getEmployees();
                Ap.ForEach(a =>
                {
                    JObject tmp                 = new JObject();
                    tmp["ApproverID"]           = a.ApproverID;
                    tmp["ApproveState"]         = a.ApproveState;
                    tmp["EvaID"]                = a.EvaID;
                    tmp["GM"]                   = a.GM;
                    tmp["HR"]                   = a.HR;
                    tmp["ID"]                   = a.ID;
                    tmp["Name"]                 = a.Name;
                    tmp["PM"]                   = a.PM;
                    tmp["Position"]             = a.Position;
                    tmp["PositionID"]           = a.PositionID;
                    tmp["ProjectCode"]          = a.ProjectCode;
                    tmp["Role"]                 = a.Role;
                    tmp["ST"]                   = a.ST;
                    tblEvaluation eva           = evalist.Where(b => b.Eva_ID == a.EvaID && b.EvaStatus == 1).FirstOrDefault();
                    List <tblApproveStatus> aps = header.GetApproveStatus().Where(x => x.ApproveID == a.ID).ToList();
                    tmp["Date"]                 = eva.StartEvaDate.ToString().Substring(0, 9).Replace("-", "/") + " " + ((eva.StartEvaDate.ToString().ElementAt(11) == ':') ? '0' + eva.StartEvaDate.ToString().Substring(10, 4).Replace("-", "/") : eva.StartEvaDate.ToString().Substring(10, 5));
                    aps.ForEach(x =>
                    {
                        if (x.Status != 0)
                        {
                            tmp["Date"] = x.ApproveDate.ToString().Substring(0, 9).Replace("-", "/") + " " + ((x.ApproveDate.ToString().ElementAt(11) == ':') ? '0' + x.ApproveDate.ToString().Substring(10, 4).Replace("-", "/") : x.ApproveDate.ToString().Substring(10, 5));
                        }
                    });


                    tblEmployee empTemp  = emp.Where(b => b.EmployeeNo.Replace(" ", "") == a.EmployeeNo).FirstOrDefault();
                    tmp["name_language"] = JsonConvert.DeserializeObject <JObject>("{\"EN\":\"" + empTemp.EmployeeFirstName + " " + empTemp.EmployeeLastName + "\",\"TH\":\"" + empTemp.EmployeeFirstNameThai + " " + empTemp.EmployeeLastNameThai + "\"}");
                    ApObject.Add(tmp);
                });
            }

            return(ApObject);
        }
コード例 #13
0
        public List <JObject> getEvaDataByEvaID(int EvaID)
        {
            var header = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();
            List <SP_GetEvaDataByEvaID_Result> evadata = header.getEvaDataByEvaID(EvaID).ToList();
            List <JObject>     Eva = new List <JObject>();
            List <tblEmployee> emp = header.getEmployees();

            evadata.ForEach(a =>
            {
                JObject tmp                 = new JObject();
                tmp["Part2ID"]              = a.Part2ID;
                tblEvaluation evat          = header.GetAllEvaluation().Where(x => x.Eva_ID == a.Eva_ID).FirstOrDefault();
                tblEmployeeOrganization emo = header.getEmployeeOrganization().Where(x => x.EmployeeNo.Trim() == evat.EmployeeNO.Trim()).OrderByDescending(x => x.StartEffectiveDate).FirstOrDefault();
                tblOrganization org         = header.getOrganization().Where(x => x.OrganizationNo == ((emo != null)?emo.OrganizationNo:0)).FirstOrDefault();
                tmp["GroupOfStaff"]         = (org != null)? org.OrganizationName : "";
                tblProject proj             = header.getProject().Where(x => x.ProjectID == evat.ProjectNO).FirstOrDefault();
                tmp["CustomerCompanyAlias"] = (proj != null)?proj.CustomerCompanyAlias: a.CustomerCompanyAlias;
                tmp["ProjectCode"]          = a.ProjectCode;
                tmp["ProjectType"]          = a.ProjectType;
                tmp["EvaTerm"]              = a.EvaTerm;

                a.StartDatePlan = a.StartDatePlan.Replace(" ", "/");
                if (a.StartDatePlan.ElementAt(4) == '/')
                {
                    a.StartDatePlan = a.StartDatePlan.Substring(0, 4) + "0" + a.StartDatePlan.Substring(5);
                }
                a.StartDatePlan      = a.StartDatePlan.Substring(4, 2) + "/" + a.StartDatePlan.Substring(0, 3) + "/" + a.StartDatePlan.Substring(9, 2);
                tmp["StartDatePlan"] = a.StartDatePlan;

                a.FinishDatePlan = a.FinishDatePlan.Replace(" ", "/");
                if (a.FinishDatePlan.ElementAt(4) == '/')
                {
                    a.FinishDatePlan = a.FinishDatePlan.Substring(0, 4) + "0" + a.FinishDatePlan.Substring(5);
                }
                a.FinishDatePlan          = a.FinishDatePlan.Substring(4, 2) + "/" + a.FinishDatePlan.Substring(0, 3) + "/" + a.FinishDatePlan.Substring(9, 2);
                tmp["FinishDatePlan"]     = a.FinishDatePlan;
                tmp["Function"]           = a.Function;
                tmp["StartTime"]          = a.StartTime;
                tmp["FinishTime"]         = a.FinishTime;
                tmp["EvaluatorFirstName"] = a.EvaluatorFirstName;
                tmp["EvaluatorLastName"]  = a.EvaluatorLastName;
                tmp["Eva_ID"]             = a.Eva_ID;

                string text          = "{\"EN\":\"" + a.EmployeeFirstName + "\",\"TH\":\"" + a.EmployeeFirstNameThai + "\"}";
                tmp["name_language"] = JsonConvert.DeserializeObject <JObject>(text);
                text = "{\"EN\":\"" + a.EmployeeLastName + "\",\"TH\":\"" + a.EmployeeLastNameThai + "\"}";
                tmp["lastname_language"] = JsonConvert.DeserializeObject <JObject>(text);
                //tblEmployee em = emp.Where(b=>b.EmployeeNo.Replace(" ","") == a.)
                text             = "{\"EN\":\"" + a.EvaluatorFirstName + " " + a.EvaluatorLastName + "\",\"TH\":\"" + a.EvaluatorFirstNameThai + " " + a.EvaluatorLastNameThai + "\"}";
                tmp["Evaluator"] = JsonConvert.DeserializeObject <JObject>(text);
                Eva.Add(tmp);

                //  evadata[i].EmployeeFirstNameThai =
            });
            List <JObject> n = new List <JObject>();

            if (Eva.FirstOrDefault() != null)
            {
                n.Add(Eva.FirstOrDefault());
            }
            return(n);
        }
コード例 #14
0
ファイル: FormManage.cs プロジェクト: phittaya001/PSES
        public void createForm(tblEvaluation form)
        {
            PSESEntities db = new PSESEntities();

            db.CreateForm(form.EmployeeNO, form.EvaluatorNO, form.Job_ID, form.ProjectNO);
        }
コード例 #15
0
        public List <JObject> Report1(string Group, string SubGroup, int PeriodID)
        {
            var           header = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();
            List <Period> per    = header.GetPeriod();
            int           groupn = 0;
            string        evatmp = "";
            int           period = 0;

            if (Group == "0")
            {
                //tblOrganization g = header.getOrganization().Where(a => a.OrganizationAlias == Group).FirstOrDefault();
                //if(g!=null)
                //groupn = g.OrganizationNo;
            }
            if (SubGroup != "0" && Group != "0")
            {
                tblOrganization g = header.getOrganization().Where(a => a.OrganizationAlias == Group + "-" + SubGroup).FirstOrDefault();
                if (g != null)
                {
                    groupn = g.OrganizationNo;
                }
                else
                {
                    groupn = -1;
                }
            }
            List <tblEmployee> listem = header.getEmployees();

            //tblReport a = new tblReport();
            var em1 = header.GetAllEvaluation().OrderBy(a => a.EvaluatorNO).ToList();

            List <tblEmployeeOrganization> emo = header.getEmployeeOrganization();
            List <tblEvaluation>           eva = new List <tblEvaluation>();
            List <tblOrganization>         or  = header.getOrganization();

            var e = em1.OrderBy(a => a.EvaluatorNO).ToList();

            if (PeriodID == 0)
            {
                if (SubGroup == "0" && Group == "0")
                {
                    List <JObject>       jResult = new List <JObject>();
                    List <tblEvaluation> result  = new List <tblEvaluation>();
                    per.ForEach(g =>
                    {
                        if (period != g.Period_Id)
                        {
                            JObject tmp     = new JObject();
                            period          = g.Period_Id;
                            tmp["type"]     = 1;
                            tmp["PeriodID"] = g.Period_Id;
                        }
                        e = em1.Where(a => a.PeriodID == g.Period_Id).OrderBy(a => a.EvaluatorNO).ToList();
                        e.ForEach(a =>
                        {
                            if (evatmp != a.EvaluatorNO)
                            {
                                tblEvaluation tmp2 = new tblEvaluation();
                                tmp2.EvaluatorNO   = a.EvaluatorNO;
                                evatmp             = a.EvaluatorNO;
                                tmp2.PeriodID      = a.PeriodID;
                                tmp2.period        = a.period;
                                result.Add(tmp2);
                            }
                            tblEvaluation tmp = new tblEvaluation();
                            tmp.EvaluatorNO   = a.EvaluatorNO;
                            tmp.EmployeeNO    = a.EmployeeNO;
                            tmp.Eva_ID        = a.Eva_ID;
                            tmp.PeriodID      = a.PeriodID;
                            tmp.Job_ID        = a.Job_ID;
                            tmp.period        = a.period;
                            result.Add(tmp);
                        });
                    });


                    return(toJson(result));
                }
                else
                {
                    if (SubGroup != "0")
                    {
                        List <tblEvaluation> result = new List <tblEvaluation>();
                        per.ForEach(g =>
                        {
                            e = em1.Where(a => a.PeriodID == g.Period_Id).OrderBy(a => a.EvaluatorNO).ToList();
                            e.ForEach(a =>
                            {
                                if (emo.Where(x => x.EmployeeNo.Trim() == a.EmployeeNO.Trim() && x.OrganizationNo == groupn).ToList().Count > 0)
                                {
                                    if (evatmp != a.EvaluatorNO)
                                    {
                                        tblEvaluation tmp2 = new tblEvaluation();
                                        tmp2.EvaluatorNO   = a.EvaluatorNO;
                                        evatmp             = a.EvaluatorNO;
                                        tmp2.PeriodID      = a.PeriodID;
                                        tmp2.period        = a.period;
                                        result.Add(tmp2);
                                    }
                                    tblEvaluation tmp = new tblEvaluation();
                                    tmp.EvaluatorNO   = a.EvaluatorNO;
                                    tmp.EmployeeNO    = a.EmployeeNO;
                                    tmp.Eva_ID        = a.Eva_ID;
                                    tmp.PeriodID      = a.PeriodID;
                                    tmp.Job_ID        = a.Job_ID;
                                    tmp.period        = a.period;
                                    result.Add(tmp);
                                }
                            });
                        });
                        return(toJson(result));
                    }
                    else
                    {
                        List <tblEvaluation> result = new List <tblEvaluation>();
                        per.ForEach(g =>
                        {
                            e = em1.Where(a => a.PeriodID == g.Period_Id).OrderBy(a => a.EvaluatorNO).ToList();

                            e.ForEach(a =>
                            {
                                List <tblOrganization> ortmp = or.Where(x => x.OrganizationAlias.Contains(Group) == true).ToList();

                                ortmp.ForEach(y =>
                                {
                                    if (emo.Where(x => x.EmployeeNo.Trim() == a.EmployeeNO.Trim() && x.OrganizationNo == y.OrganizationNo).ToList().Count > 0 && result.Where(x => x.Eva_ID == a.Eva_ID).ToList().Count == 0)
                                    {
                                        if (evatmp != a.EvaluatorNO)
                                        {
                                            tblEvaluation tmp2 = new tblEvaluation();
                                            tmp2.EvaluatorNO   = a.EvaluatorNO;
                                            evatmp             = a.EvaluatorNO;
                                            tmp2.PeriodID      = a.PeriodID;
                                            tmp2.period        = a.period;
                                            result.Add(tmp2);
                                        }
                                        tblEvaluation tmp = new tblEvaluation();
                                        tmp.EvaluatorNO   = a.EvaluatorNO;
                                        tmp.EmployeeNO    = a.EmployeeNO;
                                        tmp.Eva_ID        = a.Eva_ID;
                                        tmp.PeriodID      = a.PeriodID;
                                        tmp.Job_ID        = a.Job_ID;
                                        tmp.period        = a.period;
                                        result.Add(tmp);
                                    }
                                });
                            });
                        });
                        return(toJson(result));
                    }
                }
            }
            else
            {
                if (SubGroup == "0" && Group == "0")
                {
                    List <tblEvaluation> result = new List <tblEvaluation>();
                    per.ForEach(g =>
                    {
                        e = em1.Where(a => a.PeriodID == g.Period_Id).OrderBy(a => a.EvaluatorNO).ToList();

                        e.ForEach(a =>
                        {
                            if (a.PeriodID == PeriodID)
                            {
                                if (evatmp != a.EvaluatorNO)
                                {
                                    tblEvaluation tmp2 = new tblEvaluation();
                                    tmp2.EvaluatorNO   = a.EvaluatorNO;
                                    evatmp             = a.EvaluatorNO;
                                    tmp2.PeriodID      = a.PeriodID;
                                    tmp2.period        = a.period;
                                    result.Add(tmp2);
                                }
                                tblEvaluation tmp = new tblEvaluation();
                                tmp.EvaluatorNO   = a.EvaluatorNO;
                                tmp.EmployeeNO    = a.EmployeeNO;
                                tmp.Eva_ID        = a.Eva_ID;
                                tmp.PeriodID      = a.PeriodID;
                                tmp.Job_ID        = a.Job_ID;
                                tmp.period        = a.period;
                                result.Add(tmp);
                            }
                        });
                    });
                    return(toJson(result));
                }
                else
                {
                    if (SubGroup != "0")
                    {
                        List <tblEvaluation> result = new List <tblEvaluation>();
                        per.ForEach(g =>
                        {
                            e = em1.Where(a => a.PeriodID == g.Period_Id).OrderBy(a => a.EvaluatorNO).ToList();

                            e.ForEach(a =>
                            {
                                if (emo.Where(x => x.EmployeeNo.Trim() == a.EmployeeNO.Trim() && x.OrganizationNo == groupn).ToList().Count > 0)
                                {
                                    if (a.PeriodID == PeriodID)
                                    {
                                        if (evatmp != a.EvaluatorNO)
                                        {
                                            tblEvaluation tmp2 = new tblEvaluation();
                                            tmp2.EvaluatorNO   = a.EvaluatorNO;
                                            evatmp             = a.EvaluatorNO;
                                            tmp2.PeriodID      = a.PeriodID;
                                            tmp2.period        = a.period;
                                            result.Add(tmp2);
                                        }
                                        tblEvaluation tmp = new tblEvaluation();
                                        tmp.EvaluatorNO   = a.EvaluatorNO;
                                        tmp.EmployeeNO    = a.EmployeeNO;
                                        tmp.Eva_ID        = a.Eva_ID;
                                        tmp.PeriodID      = a.PeriodID;
                                        tmp.Job_ID        = a.Job_ID;
                                        tmp.period        = a.period;
                                        result.Add(tmp);
                                    }
                                }
                            });
                        });
                        return(toJson(result));
                    }
                    else
                    {
                        List <tblEvaluation> result = new List <tblEvaluation>();
                        per.ForEach(g =>
                        {
                            e = em1.Where(a => a.PeriodID == g.Period_Id).OrderBy(a => a.EvaluatorNO).ToList();

                            e.ForEach(a =>
                            {
                                List <tblOrganization> ortmp = or.Where(x => x.OrganizationAlias.Contains(Group) == true).ToList();
                                ortmp.ForEach(y =>
                                {
                                    if (emo.Where(x => x.EmployeeNo.Trim() == a.EmployeeNO.Trim() && x.OrganizationNo == y.OrganizationNo).ToList().Count > 0)
                                    {
                                        if (a.PeriodID == PeriodID)
                                        {
                                            if (evatmp != a.EvaluatorNO)
                                            {
                                                tblEvaluation tmp2 = new tblEvaluation();
                                                tmp2.EvaluatorNO   = a.EvaluatorNO;
                                                evatmp             = a.EvaluatorNO;
                                                tmp2.PeriodID      = a.PeriodID;
                                                tmp2.period        = a.period;
                                                result.Add(tmp2);
                                            }
                                            tblEvaluation tmp = new tblEvaluation();
                                            tmp.EvaluatorNO   = a.EvaluatorNO;
                                            tmp.EmployeeNO    = a.EmployeeNO;
                                            tmp.Eva_ID        = a.Eva_ID;
                                            tmp.PeriodID      = a.PeriodID;
                                            tmp.period        = a.period;
                                            tmp.Job_ID        = a.Job_ID;

                                            result.Add(tmp);
                                        }
                                    }
                                });
                            });
                        });
                        return(toJson(result));
                    }
                }
            }


            return(null);
        }
コード例 #16
0
        public void UpdateHeader([FromBody] List <JObject> Data)
        {
            var header  = ServiceContainer.GetService <PesWeb.Service.Modules.HeaderManage>();
            var header2 = ServiceContainer.GetService <PesWeb.Service.Modules.EvaManage>();
            int EvaID   = 0;

            foreach (JObject jo in Data)
            {
                if (jo.Count > 3)
                {
                    header.UpdateScoreData(Convert.ToInt32(jo["EvaId"].ToString()), 0, Convert.ToInt32(jo["Id"].ToString()), jo["Comment"].ToString());
                }
                else
                {
                    header.UpdateScoreData(Convert.ToInt32(jo["EvaId"].ToString()), Convert.ToInt32(jo["Score"].ToString()), Convert.ToInt32(jo["Id"].ToString()), "");
                }
                EvaID = Convert.ToInt32(jo["EvaId"].ToString());
            }
            int sum = 0, sum2 = 0;
            List <tblHeaderAdditional> hAd   = header.getHeaderAdditional().ToList();
            List <tblScore>            score = header2.GetAllScore().Where(a => a.Eva_ID == EvaID).OrderBy(a => a.H3_ID).ToList();
            List <tblHeader>           hd    = header.GetAllHeader().ToList();
            tblEvaluation       eva          = header2.GetAllEvaluation().Where(a => a.Eva_ID == EvaID).FirstOrDefault();
            List <tblHeaderJob> hj = header.getAllHeaderJob().ToList();
            List <tblHeaderJob> hjList = new List <tblHeaderJob>();

            hj.ForEach(a =>
            {
                foreach (JObject jo in Data)
                {
                    if (Convert.ToInt32(jo["Id"].ToString()) == a.H1_ID)
                    {
                        hjList.Add(a);
                    }
                }
            });
            foreach (tblHeaderJob th in hjList)
            {
                if (hd.Where(a => a.H_ID == th.H1_ID).ToList().Count > 0)
                {
                    List <tblHeader> H1 = hd.Where(a => a.Parent == th.H1_ID).ToList();
                    foreach (tblHeader th2 in H1)
                    {
                        List <tblHeader> H2 = hd.Where(a => a.Parent == th2.H_ID).ToList();
                        foreach (tblHeader th3 in H2)
                        {
                            sum += (int)score.Where(a => a.H3_ID == th3.H_ID).FirstOrDefault().point;
                        }
                        List <tblHeaderAdditional> Hd1 = hAd.Where(a => a.parent == th2.H_ID).ToList();
                        foreach (tblHeaderAdditional thA in Hd1)
                        {
                            sum += (int)thA.point;
                        }
                        if (H2.Count > 0 || Hd1.Count > 0)
                        {
                            header.UpdateScoreData(EvaID, sum / (H2.Count + Hd1.Count), th2.H_ID, score.Where(a => a.Eva_ID == EvaID && a.H3_ID == th2.H_ID).FirstOrDefault().Comment);
                            sum2 += sum / (H2.Count + Hd1.Count);
                        }

                        sum = 0;
                    }
                    header.UpdateScoreData(EvaID, sum2 / H1.Count, (int)th.H1_ID, score.Where(a => a.Eva_ID == EvaID && a.H3_ID == th.H1_ID).FirstOrDefault().Comment);
                    sum2 = 0;
                }
            }

            sum = 0; sum2 = 0;
            List <tblHeaderAdditional> hdaList = header.getHeaderAdditional().Where(a => a.Eva_ID == EvaID).ToList();
            List <tblHeaderAdditional> hh = hdaList.Where(a => a.parent == 0 && a.Eva_ID == EvaID).ToList();

            foreach (tblHeaderAdditional tmp in hh)
            {
                List <tblHeaderAdditional> h1 = hdaList.Where(a => a.parent == (-1) * tmp.H_ID).ToList();
                foreach (tblHeaderAdditional tmp2 in h1)
                {
                    List <tblHeaderAdditional> h2 = hdaList.Where(a => a.parent == (-1) * tmp2.H_ID).ToList();
                    foreach (tblHeaderAdditional tmp3 in h2)
                    {
                        sum += (int)tmp3.point;
                    }
                    sum = sum / (h2.Count);
                    header.UpdateScoreData(EvaID, sum, tmp2.H_ID, tmp2.Comment);
                    sum2 += sum;
                    sum   = 0;
                }
                sum2 = sum2 / (h1.Count);
                header.UpdateScoreData(EvaID, sum2, tmp.H_ID, tmp.Comment);
            }
            if (EvaID > 0)
            {
                header.UpdateEvaluationStatus(EvaID, 1);
            }


            tblApprove       AllAp = header2.GetAllApprove().Where(a => a.EvaID == EvaID).OrderByDescending(a => a.ID).FirstOrDefault();
            tblApproveStatus ApS = header2.GetApproveStatus().Where(a => a.FlowOrder == 1 && a.ApproveID == AllAp.ID).OrderByDescending(a => a.ID).FirstOrDefault();

            AllAp.ST   = 1;
            ApS.Status = 1;
            header2.UpdateApproveData(AllAp);
            header2.UpdateApproveData(ApS);
            tblEmployee emp                  = header2.getEmployees().Where(a => a.EmployeeNo.Replace(" ", "") == eva.EvaluatorNO).FirstOrDefault();

            insertLog(emp.EmployeeFirstName + " " + emp.EmployeeLastName, eva.EvaluatorNO, "Update Score of EvaID : " + EvaID);
        }