Esempio n. 1
0
        // 儲存 log
        private void SaveLog()
        {
            foreach (DAL.ExamScoreEntity ese in ExamScoreEntityList)
            {
                string Key = ese.ExamName + "_" + ese.CourseName + "_";
                if (_ScoreType == JHPermrec.UpdateRecord.DAL.DALTransfer2.ScoreType.HsinChu)
                {
                    if (ese.HC_JHSCETakeRecord != null)
                    {
                        if (ese.HC_JHSCETakeRecord.Score.HasValue)
                        {
                            prlp.SetAfterSaveText(Key + "定期分數", ese.HC_JHSCETakeRecord.Score.Value + "");
                        }

                        if (ese.HC_JHSCETakeRecord.AssignmentScore.HasValue)
                        {
                            prlp.SetAfterSaveText(Key + "平時分數", ese.HC_JHSCETakeRecord.AssignmentScore.Value + "");
                        }

                        prlp.SetAfterSaveText(Key + "文字描述", ese.HC_JHSCETakeRecord.Text);
                    }
                }

                if (_ScoreType == JHPermrec.UpdateRecord.DAL.DALTransfer2.ScoreType.KaoHsiung)
                {
                    if (ese.KH_JHSCETakeRecord != null)
                    {
                        if (ese.KH_JHSCETakeRecord.Score.HasValue)
                        {
                            prlp.SetAfterSaveText(Key + "分數評量", ese.KH_JHSCETakeRecord.Score.Value + "");
                        }

                        if (ese.KH_JHSCETakeRecord.Effort.HasValue)
                        {
                            prlp.SetAfterSaveText(Key + "努力程度", ese.KH_JHSCETakeRecord.Effort.Value + "");
                        }

                        prlp.SetAfterSaveText(Key + "文字描述", ese.KH_JHSCETakeRecord.Text);
                    }
                }
            }
            prlp.SetActionBy("學籍", "學生學期課程成績輸入");
            prlp.SetAction("修改學生學期課程成績," + lblStudMsg.Text);
            prlp.SaveLog("", "", "student", studRec.ID);
        }
Esempio n. 2
0
        private void btnNext_Click(object sender, EventArgs e)
        {
            // 驗證身份證號
            if (!string.IsNullOrEmpty(txtNewIDNumber.Text))
            {
                if (StudCheckTool.CheckStudIDNumberSame(txtNewIDNumber.Text, _StudentID))
                {
                    FISCA.Presentation.Controls.MsgBox.Show("身分證號重覆請檢查.");
                    return;
                }
            }
            // 呼叫異動並帶入相對資料
            DAL.StudUpdateRecordEntity sure = DAL.DALTransfer2.AddStudUpdateRecordEntity(_StudentID, JHPermrec.UpdateRecord.DAL.DALTransfer2.UpdateType.更正學籍, DateTime.Now.ToShortDateString());

            if (isNameEnable)
            {
                sure.SetNewName(txtNewName.Text);
            }

            if (isIDNumberEnable)
            {
                sure.SetNewIDNumber(txtNewIDNumber.Text);
            }

            if (isBirthdayEnable)
            {
                sure.SetNewBirthday(dtNewBirthday.Text);
            }

            if (isGenderEnable)
            {
                sure.SetNewGender(cboNewGender.Text);
            }


            if (sure == null)
            {
                return;
            }


            UpdateRecordItemForm form = new UpdateRecordItemForm(UpdateRecordItemForm.actMode.修改, sure, _StudentID);

            form.StartPosition = FormStartPosition.CenterParent;
            this.Hide();
            this.Close();
            this.Location = new Point(-100, -100);
            form.ShowDialog(FISCA.Presentation.MotherForm.Form);


            // 當使用這按確定
            if (form.DialogResult == DialogResult.OK)
            {
                // Log
                JHSchool.PermRecLogProcess prlp = new JHSchool.PermRecLogProcess();
                prlp.SetBeforeSaveText("姓名", sure.GetName());
                prlp.SetBeforeSaveText("身分證號", sure.GetIDNumber());

                if (sure.GetBirthday().HasValue)
                {
                    prlp.SetBeforeSaveText("生日", sure.GetBirthday().Value.ToShortDateString());
                }

                prlp.SetBeforeSaveText("性別", sure.GetGender());

                JHSchool.Data.JHStudentRecord studRec = JHSchool.Data.JHStudent.SelectByID(_StudentID);

                // 更正資料
                if (isNameEnable && string.IsNullOrEmpty(sure.GetNewName()) == false)
                {
                    studRec.Name = sure.GetNewName();
                }

                if (isIDNumberEnable && string.IsNullOrEmpty(sure.GetNewIDNumber()) == false)
                {
                    studRec.IDNumber = sure.GetNewIDNumber();
                }

                if (isBirthdayEnable && sure.GetNewBirthday().HasValue)
                {
                    studRec.Birthday = sure.GetNewBirthday();
                }

                if (isGenderEnable && string.IsNullOrEmpty(sure.GetNewGender()) == false)
                {
                    studRec.Gender = sure.GetNewGender();
                }

                if (isNameEnable == true || isIDNumberEnable == true || isBirthdayEnable == true || isGenderEnable == true)
                {
                    JHSchool.Data.JHStudent.Update(studRec);
                    JHSchool.Student.Instance.SyncAllBackground();
                }
                prlp.SetAfterSaveText("姓名", studRec.Name);
                prlp.SetAfterSaveText("身分證號", studRec.IDNumber);
                if (studRec.Birthday.HasValue)
                {
                    prlp.SetAfterSaveText("生日", studRec.Birthday.Value.ToShortDateString());
                }

                prlp.SetAfterSaveText("性別", studRec.Gender);

                prlp.SetActionBy("學生學籍", "學生更正學籍功能");
                prlp.SetDescTitle("學生姓名:" + sure.GetName() + ",更改資料:");
                prlp.SaveLog("", "", "student", _StudentID);
                this.Close();
            }
            //else
            //form.Dispose();
        }
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            IUpdateRecordInfo IU;

            if (UpdateRecordEditorPanle.Controls.Count > 0)
            {
                IU = UpdateRecordEditorPanle.Controls[0] as IUpdateRecordInfo;
                _StudUpdateRecordEntity = IU.GetStudUpdateRecordData();
            }


            // 當新增時才處理
            if (cbxSel.Enabled)
            {
                if (cbxSel.Text == "新生")
                {
                    bool checkSameUpdateCode1 = DAL.DALTransfer2.checkStudentSameUpdateCode(RunningID, _StudUpdateRecordEntity, "1");

                    if (checkSameUpdateCode1)
                    {
                        MsgBox.Show("已有1筆新生異動,請刪除後再新增");
                        return;
                    }
                }

                if (cbxSel.Text == "畢業")
                {
                    bool checkSameUpdateCode2 = DAL.DALTransfer2.checkStudentSameUpdateCode(RunningID, _StudUpdateRecordEntity, "2");

                    if (checkSameUpdateCode2)
                    {
                        MsgBox.Show("已有1筆畢業異動,請刪除後再新增");
                        return;
                    }
                }

                // 檢查同一天是否有相同異動
                bool checkSameUpdateDateAndCode = false;
                checkSameUpdateDateAndCode = DAL.DALTransfer2.checkStudentSameUpdateCode(RunningID, _StudUpdateRecordEntity);

                if (checkSameUpdateDateAndCode)
                {
                    if (MsgBox.Show("此異動日期已有相同異動,請問是否新增?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.No)
                    {
                        return;
                    }
                }
            }


            // 儲存學年度學期 年級
            _StudUpdateRecordEntity.SchoolYear = intSchoolYear.Value;
            _StudUpdateRecordEntity.Semester   = intSemester.Value;
            _StudUpdateRecordEntity.SetGradeYear(intGradeYear.Text);

            // 儲存異動資料
            DAL.DALTransfer2.SetStudUpdateRecordEntity(_StudUpdateRecordEntity);


            // Log
            string strItemName = "學生姓名:" + JHSchool.Data.JHStudent.SelectByID(RunningID).Name + "," + prlp.GetAction() + ":";

            if (_StudUpdateRecordEntity.checkSameUpdateCode("1"))
            {
                strItemName += "新生異動";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("2"))
            {
                strItemName += "畢業異動";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("3"))
            {
                strItemName += "轉入異動";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("4"))
            {
                strItemName += "轉出異動";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("5"))
            {
                strItemName += "休學異動";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("6"))
            {
                strItemName += "復學異動";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("7"))
            {
                strItemName += "中輟異動";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("8"))
            {
                strItemName += "續讀異動";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("9"))
            {
                strItemName += "更正學籍異動";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("10"))
            {
                strItemName += "延長修業年限";
            }
            if (_StudUpdateRecordEntity.checkSameUpdateCode("11"))
            {
                strItemName += "死亡";
            }

            prlp.SetActionBy("學生", strItemName);
            prlp.SaveLog("", ":", "student", RunningID);

            JHSchool.Data.JHStudentRecord studRec = JHSchool.Data.JHStudent.SelectByID(RunningID);
            bool checkUpdateStudStatus            = false;

            List <string> tmpList0 = new List <string>();
            List <string> tmpList1 = new List <string>();
            List <string> tmpList2 = new List <string>();
            List <string> tmpList3 = new List <string>();

            foreach (JHSchool.Data.JHStudentRecord stud in JHSchool.Data.JHStudent.SelectAll())
            {
                if (stud.Status == K12.Data.StudentRecord.StudentStatus.一般)
                {
                    tmpList0.Add(stud.IDNumber);
                }

                if (stud.Status == K12.Data.StudentRecord.StudentStatus.畢業或離校)
                {
                    tmpList1.Add(stud.IDNumber);
                }
                if (stud.Status == K12.Data.StudentRecord.StudentStatus.休學)
                {
                    tmpList2.Add(stud.IDNumber);
                }
                if (stud.Status == K12.Data.StudentRecord.StudentStatus.輟學)
                {
                    tmpList3.Add(stud.IDNumber);
                }
            }

            // 轉出
            if (_StudUpdateRecordEntity.checkSameUpdateCode("4") || _StudUpdateRecordEntity.checkSameUpdateCode("11"))
            {
                if (MessageBox.Show("請問是否更改學生狀態成 離校?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    if (tmpList1.Contains(studRec.IDNumber))
                    {
                        MsgBox.Show("學生狀態 離校 有重複身分證號,請檢查後變更.");
                        return;
                    }
                    studRec.Status        = JHSchool.Data.JHStudentRecord.StudentStatus.畢業或離校;
                    checkUpdateStudStatus = true;
                    strItemName          += ",更改學生狀態成 離校";
                }
            }

            // 休學
            if (_StudUpdateRecordEntity.checkSameUpdateCode("5"))
            {
                if (MessageBox.Show("請問是否更改學生狀態成 休學?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    if (tmpList2.Contains(studRec.IDNumber))
                    {
                        MsgBox.Show("學生狀態 休學 有重複身分證號,請檢查後變更.");
                        return;
                    }

                    studRec.Status        = JHSchool.Data.JHStudentRecord.StudentStatus.休學;
                    checkUpdateStudStatus = true;
                    strItemName          += "更改學生狀態成 休學";
                }
            }

            // 中輟

            if (_StudUpdateRecordEntity.checkSameUpdateCode("7"))
            {
                if (MessageBox.Show("請問是否更改學生狀態成 輟學?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    if (tmpList3.Contains(studRec.IDNumber))
                    {
                        MsgBox.Show("學生狀態 輟學 有重複身分證號,請檢查後變更.");
                        return;
                    }

                    studRec.Status        = JHSchool.Data.JHStudentRecord.StudentStatus.輟學;
                    checkUpdateStudStatus = true;
                    strItemName          += "更改學生狀態成 輟學";
                }
            }


            // 處理復學轉成一般
            if (_StudUpdateRecordEntity.checkSameUpdateCode("6"))
            {
                if (MessageBox.Show("請問是否更改學生狀態成 一般?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    if (tmpList0.Contains(studRec.IDNumber))
                    {
                        MsgBox.Show("學生狀態 一般 有重複身分證號,請檢查後變更.");
                        return;
                    }

                    studRec.Status        = JHSchool.Data.JHStudentRecord.StudentStatus.一般;
                    checkUpdateStudStatus = true;
                    strItemName          += "更改學生狀態成 一般";
                }
            }



            //  prlp.SaveLog("學生.異動資料", prlp.GetAction(),"學生",RunningID , strItemName);

            if (checkUpdateStudStatus)
            {
                JHSchool.Data.JHStudent.Update(studRec);
                JHSchool.Student.Instance.SyncDataBackground(RunningID);
            }
            JHSchool.Permrec.UpdateRecord.Instance.SyncAllBackground();
            JHSchool.Student.Instance.SyncDataBackground(RunningID);

            prlp = null;
        }