Esempio n. 1
0
        private void frmIdentityCreator_Load(object sender, EventArgs e)
        {
            List <SHDepartmentRecord> records = SHDepartment.SelectAll();

            ComboItem comboItem1 = new ComboItem("");

            comboItem1.Tag = null;
            this.cboDepart.Items.Add(comboItem1);
            foreach (SHDepartmentRecord record in records)
            {
                ComboItem item = new ComboItem(record.FullName);
                item.Tag = record;
                this.cboDepart.Items.Add(item);
            }

            this.cboDepart.SelectedItem = comboItem1;
            this.GradeYear.Focus();

            if (mRecord != null)
            {
                SHDepartmentRecord record = records.Where(x => x.ID == mRecord.DeptID.ToString()).ElementAt(0);
                ComboItem          item   = new ComboItem(record.FullName);
                item.Tag = record;
                this.cboDepart.SelectedItem = record;
                this.cboDepart.Text         = record.FullName;

                this.GradeYear.Text = mRecord.GradeYear.ToString();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 畢業異動
        /// </summary>
        public UpdateRecordInfo04(SHUpdateRecordRecord UpdateRec, PermRecLogProcess prlp, List <XElement> UpdateCodeElms, bool isInsert)
        {
            InitializeComponent();
            cbxGender.Items.Add("男");
            cbxGender.Items.Add("女");
            cbxClass.DropDownWidth = 300;
            _UpdateRec             = UpdateRec;
            _UpdateCodeElms        = UpdateCodeElms;
            _prlp = prlp;

            _UpdateCoodeList = (from x in _UpdateCodeElms select x.Element("代號").Value + " " + x.Element("原因及事項").Value).ToList();
            _DeptList        = SHDepartment.SelectAll();
            _faldn           = new UpdateRecordModule_KHSH_D.Utility.FormAndLogDataManager(_prlp);
            _epUpdateCode    = new ErrorProvider();
            _UCodeDict       = Utility.UITool.ConvertUpdateCodeDescDict(_UpdateCodeElms);

            if (isInsert)
            {
                //當畢業證書字號沒有值取得SHLeaveInfoRecord畢業證書字號
                if (string.IsNullOrEmpty(_UpdateRec.GraduateCertificateNumber))
                {
                    SHLeaveInfoRecord lvr = SHLeaveInfo.SelectByStudentID(_UpdateRec.StudentID);
                    _UpdateRec.GraduateCertificateNumber = lvr.DiplomaNumber;
                }

                if (string.IsNullOrEmpty(_UpdateRec.ExpectGraduateSchoolYear))
                {
                    SHLeaveInfoRecord shl = SHLeaveInfo.SelectByStudentID(_UpdateRec.StudentID);
                    if (shl.SchoolYear.HasValue)
                    {
                        _UpdateRec.ExpectGraduateSchoolYear = shl.SchoolYear.Value.ToString();
                    }
                }
            }

            // 載入資料
            cbxUpdateCode     = _faldn.SetFormData(_UpdateRec.UpdateCode, cbxUpdateCode, "異動代碼");
            txtDesc           = _faldn.SetFormData(_UpdateRec.UpdateDescription, txtDesc, "原因及事項");
            dtUpdateDate      = _faldn.SetFormData(_UpdateRec.UpdateDate, dtUpdateDate, "異動日期");
            txtMemo           = _faldn.SetFormData(_UpdateRec.Comment, txtMemo, "備註");
            cbxDept           = _faldn.SetFormData(_UpdateRec.Department, cbxDept, "科別");
            cbxClass          = _faldn.SetFormData(_UpdateRec.ClassType, cbxClass, "班別");
            txtName           = _faldn.SetFormData(_UpdateRec.StudentName, txtName, "姓名");
            txtStudentNumber  = _faldn.SetFormData(_UpdateRec.StudentNumber, txtStudentNumber, "學號");
            txtIDNumber       = _faldn.SetFormData(_UpdateRec.IDNumber, txtIDNumber, "身分證字號");
            dtBirthday        = _faldn.SetFormData(_UpdateRec.Birthdate, dtBirthday, "生日");
            txtIDNumber1      = _faldn.SetFormData(_UpdateRec.IDNumberComment, txtIDNumber1, "註1");
            cbxGender         = _faldn.SetFormData(_UpdateRec.Gender, cbxGender, "性別");
            dtLastUpdateDate  = _faldn.SetFormData(_UpdateRec.LastADDate, dtLastUpdateDate, "備查日期");
            txtLastDocNo      = _faldn.SetFormData(_UpdateRec.LastADNumber, txtLastDocNo, "備查文號");
            txtLastUpdateCode = _faldn.SetFormData(_UpdateRec.LastUpdateCode, txtLastUpdateCode, "最後異動代號");
            txtGradeDocNo     = _faldn.SetFormData(_UpdateRec.GraduateCertificateNumber, txtGradeDocNo, "畢業證書字號");
            dtADDate          = _faldn.SetFormData(_UpdateRec.ADDate, dtADDate, "核准日期");
            txtADDocNo        = _faldn.SetFormData(_UpdateRec.ADNumber, txtADDocNo, "核准文號");
            txtSpecial        = _faldn.SetFormData(_UpdateRec.SpecialStatus, txtSpecial, "特殊身分代碼");
            txtSHSchoolYear   = _faldn.SetFormData(_UpdateRec.ExpectGraduateSchoolYear, txtSHSchoolYear, "應畢業學年度");
        }
Esempio n. 3
0
        /// <summary>
        /// 取得科別代碼,key:科別名稱,value:科別代碼
        /// </summary>
        /// <returns></returns>
        public static Dictionary <string, string> GetDepartmetDict()
        {
            Dictionary <string, string> value   = new Dictionary <string, string>();
            List <SHDepartmentRecord>   RecList = SHDepartment.SelectAll();

            foreach (SHDepartmentRecord rec in RecList)
            {
                if (!value.ContainsKey(rec.FullName))
                {
                    value.Add(rec.FullName, rec.Code);
                }
            }
            return(value);
        }
Esempio n. 4
0
        /// <summary>
        /// 他校轉入
        /// </summary>
        public UpdateRecordInfo02(SHUpdateRecordRecord UpdateRec, PermRecLogProcess prlp, List <XElement> UpdateCodeElms)
        {
            InitializeComponent();
            cbxGender.Items.Add("男");
            cbxGender.Items.Add("女");

            cbxClass.DropDownWidth = 300;

            _UpdateRec       = UpdateRec;
            _UpdateCodeElms  = UpdateCodeElms;
            _prlp            = prlp;
            _UpdateCoodeList = (from x in _UpdateCodeElms select x.Element("代號").Value + " " + x.Element("原因及事項").Value).ToList();
            _DeptList        = SHDepartment.SelectAll();
            _faldn           = new UpdateRecordModule_SH_D.Utility.FormAndLogDataManager(_prlp);
            _epUpdateCode    = new ErrorProvider();

            // 建異動索引
            _UCodeDict = Utility.UITool.ConvertUpdateCodeDescDict(_UpdateCodeElms);

            // 載入資料
            cbxUpdateCode     = _faldn.SetFormData(_UpdateRec.UpdateCode, cbxUpdateCode, "異動代碼");
            txtDesc           = _faldn.SetFormData(_UpdateRec.UpdateDescription, txtDesc, "原因及事項");
            dtUpdateDate      = _faldn.SetFormData(_UpdateRec.UpdateDate, dtUpdateDate, "異動日期");
            txtMemo           = _faldn.SetFormData(_UpdateRec.Comment, txtMemo, "備註");
            cbxDept           = _faldn.SetFormData(_UpdateRec.Department, cbxDept, "科別");
            cbxClass          = _faldn.SetFormData(_UpdateRec.ClassType, cbxClass, "班別");
            txtSpecial        = _faldn.SetFormData(_UpdateRec.SpecialStatus, txtSpecial, "特殊身分代碼");
            txtName           = _faldn.SetFormData(_UpdateRec.StudentName, txtName, "姓名");
            txtStudentNumber  = _faldn.SetFormData(_UpdateRec.StudentNumber, txtStudentNumber, "學號");
            txtIDNumber       = _faldn.SetFormData(_UpdateRec.IDNumber, txtIDNumber, "身分證字號");
            dtBirthday        = _faldn.SetFormData(_UpdateRec.Birthdate, dtBirthday, "生日");
            txtIDNumber1      = _faldn.SetFormData(_UpdateRec.IDNumberComment, txtIDNumber1, "註1");
            cbxGender         = _faldn.SetFormData(_UpdateRec.Gender, cbxGender, "性別");
            txtSSchool        = _faldn.SetFormData(_UpdateRec.PreviousSchool, txtSSchool, "原就讀學校");
            txtSStudentNumber = _faldn.SetFormData(_UpdateRec.PreviousStudentNumber, txtSStudentNumber, "原就讀學號");
            txtSDept          = _faldn.SetFormData(_UpdateRec.PreviousDepartment, txtSDept, "原就讀科別");
            txtSGradYear      = _faldn.SetFormData(_UpdateRec.PreviousGradeYear, txtSGradYear, "原就讀年級");
            dtSLastUpdateDate = _faldn.SetFormData(_UpdateRec.PreviousSchoolLastADDate, dtSLastUpdateDate, "原就讀備查日期");
            txtSLastDocNo     = _faldn.SetFormData(_UpdateRec.PreviousSchoolLastADNumber, txtSLastDocNo, "原就讀備查文號");
            dtADDate          = _faldn.SetFormData(_UpdateRec.ADDate, dtADDate, "核准日期");
            txtADDocNo        = _faldn.SetFormData(_UpdateRec.ADNumber, txtADDocNo, "核准文號");
            txtSSemester      = _faldn.SetFormData(_UpdateRec.PreviousSemester, txtSSemester, "原就讀學期");
            txtComment2       = _faldn.SetFormData(_UpdateRec.Comment2, txtComment2, "轉入身分別代碼");
        }
        /// <summary>
        /// 將 StudUpdateRecDoc List 轉成 XML (隨同封面資料一起存)
        /// </summary>
        /// <returns></returns>
        public XElement ConvertStudUpdateRecDocToXML(List <BL.StudUpdateRecDoc> updateRecList)
        {
            // 排序年級與科別
            //var data = from ud in updateRecList orderby;
            Dictionary <string, List <BL.StudUpdateRecDoc> > data = new Dictionary <string, List <UpdateRecordModule_SH_D.BL.StudUpdateRecDoc> >();
            Dictionary <string, string> deptCodeDict = new Dictionary <string, string>();

            foreach (SHDepartmentRecord rec in SHDepartment.SelectAll())
            {
                if (!deptCodeDict.ContainsKey(rec.FullName))
                {
                    deptCodeDict.Add(rec.FullName, rec.Code);
                }

                //if (!deptCodeDict.ContainsKey(rec.Name))
                //    deptCodeDict.Add(rec.Name, rec.Code);
            }

            foreach (BL.StudUpdateRecDoc val in updateRecList)
            {
                string key = val.GradeYear + "_" + val.Department + "_";
                if (data.ContainsKey(key))
                {
                    data[key].Add(val);
                }
                else
                {
                    List <BL.StudUpdateRecDoc> xx = new List <UpdateRecordModule_SH_D.BL.StudUpdateRecDoc>();
                    xx.Add(val);
                    data.Add(key, xx);
                }
            }

            XElement retVal = new XElement("異動名冊");

            retVal.SetAttributeValue("學年度", Global._GSchoolYear);
            retVal.SetAttributeValue("學期", Global._GSemester);
            retVal.SetAttributeValue("學校代碼", Global._GSchoolCode);
            retVal.SetAttributeValue("學校代號", Global._GSchoolCode);
            retVal.SetAttributeValue("學校名稱", Global._GSchoolName);
            retVal.SetAttributeValue("類別", Global._GUpdateBatchType);

            foreach (KeyValuePair <string, List <BL.StudUpdateRecDoc> > val in data)
            {
                // 解析年級科別
                int    idx      = val.Key.IndexOf("_");
                string grYear   = val.Key.Substring(0, idx);
                string DeptName = val.Key.Substring(idx + 1, (val.Key.Length - (idx + 2)));
                string DeptCode = "";
                if (deptCodeDict.ContainsKey(DeptName))
                {
                    DeptCode = deptCodeDict[DeptName];
                }

                XElement elmGrDept = new XElement("清單");
                elmGrDept.SetAttributeValue("年級", grYear);
                elmGrDept.SetAttributeValue("科別", DeptName);
                elmGrDept.SetAttributeValue("科別代碼", DeptCode);
                elmGrDept.SetAttributeValue("科別代號", DeptCode);
                foreach (BL.StudUpdateRecDoc rec in val.Value)
                {
                    XElement elm = new XElement("異動紀錄");
                    elm.SetAttributeValue("異動代碼", rec.UpdateCode);
                    elm.SetAttributeValue("異動代號", rec.UpdateCode);
                    elm.SetAttributeValue("原因及事項", rec.UpdateDescription);
                    elm.SetAttributeValue("異動日期", rec.UpdateDate);
                    elm.SetAttributeValue("備註", rec.Comment);
                    elm.SetAttributeValue("班別", rec.ClassType);
                    elm.SetAttributeValue("科別", rec.Department);
                    elm.SetAttributeValue("科別代碼", rec.DeptCode);
                    elm.SetAttributeValue("特殊身分代碼", rec.SpecialStatus);
                    elm.SetAttributeValue("特殊身份代碼", rec.SpecialStatus);
                    elm.SetAttributeValue("姓名", rec.StudentName);
                    elm.SetAttributeValue("學號", rec.StudentNumber);
                    elm.SetAttributeValue("身分證字號", rec.IDNumber);
                    elm.SetAttributeValue("身分證號", rec.IDNumber);
                    elm.SetAttributeValue("生日", rec.Birthday);
                    DateTime dt;
                    if (DateTime.TryParse(rec.Birthday, out dt))
                    {
                        elm.SetAttributeValue("出生年月日", (dt.Year - 1911) + "/" + dt.Month + "/" + dt.Day);
                    }
                    else
                    {
                        elm.SetAttributeValue("出生年月日", "");
                    }
                    elm.SetAttributeValue("身分證註記", rec.IDNumberComment);
                    elm.SetAttributeValue("註1", rec.IDNumberComment);

                    elm.SetAttributeValue("性別", rec.Gender);
                    elm.SetAttributeValue("性別代碼", rec.GenderCode);
                    elm.SetAttributeValue("性別代號", rec.GenderCode);
                    elm.SetAttributeValue("畢業國中", rec.GraduateSchool);
                    elm.SetAttributeValue("畢業國中所在地代碼", rec.GraduateSchoolLocationCode);
                    elm.SetAttributeValue("畢業國中所在縣市代號", rec.GraduateSchoolLocationCode);
                    elm.SetAttributeValue("入學資格註記", rec.GraduateComment);
                    elm.SetAttributeValue("入學資格代號", rec.UpdateCode);
                    elm.SetAttributeValue("畢業國中代碼", rec.GraduateSchoolCode);
                    elm.SetAttributeValue("國中畢業學年度", rec.GraduateSchoolYear);
                    elm.SetAttributeValue("核准日期", rec.ADDate);
                    elm.SetAttributeValue("核准文號", rec.ADNumber);
                    elm.SetAttributeValue("舊科別代碼", rec.OldDepartmentCode);
                    elm.SetAttributeValue("舊班別", rec.OldClassType);
                    elm.SetAttributeValue("備查日期", rec.LastADDate);
                    elm.SetAttributeValue("備查文號", rec.LastADNumber);
                    elm.SetAttributeValue("原就讀學校", rec.PreviousSchool);
                    elm.SetAttributeValue("原就讀學號", rec.PreviousStudentNumber);
                    elm.SetAttributeValue("原就讀科別", rec.PreviousDepartment);
                    elm.SetAttributeValue("原就讀年級", rec.PreviousGradeYear);
                    elm.SetAttributeValue("原就讀學期", rec.PreviousSemester);
                    elm.SetAttributeValue("原就讀備查日期", rec.PreviousSchoolLastADDate);
                    elm.SetAttributeValue("原就讀備查文號", rec.PreviousSchoolLastADNumber);
                    elm.SetAttributeValue("最後異動代碼", rec.LastUpdateCode);
                    elm.SetAttributeValue("最後異動代號", rec.LastUpdateCode);
                    elm.SetAttributeValue("畢業證書字號", rec.GraduateCertificateNumber);
                    elm.SetAttributeValue("年級", rec.GradeYear);
                    elm.SetAttributeValue("新資料", rec.NewData);
                    elm.SetAttributeValue("異動編號", rec.URID);
                    elm.SetAttributeValue("學生編號", rec.StudentID);
                    elm.SetAttributeValue("新學號", rec.NewStudentNumber);
                    elm.SetAttributeValue("轉入前學生資料_學校", rec.PreviousSchool);
                    elm.SetAttributeValue("轉入前學生資料_學號", rec.PreviousStudentNumber);
                    elm.SetAttributeValue("轉入前學生資料_科別", rec.PreviousDepartment);
                    elm.SetAttributeValue("轉入前學生資料_年級", rec.PreviousGradeYear);
                    elm.SetAttributeValue("轉入前學生資料_學期", rec.PreviousSemester);
                    elm.SetAttributeValue("轉入前學生資料_備查日期", rec.PreviousSchoolLastADDate);
                    elm.SetAttributeValue("轉入前學生資料_備查文號", rec.PreviousSchoolLastADNumber);
                    elm.SetAttributeValue("入學資格證明文件", rec.GraduateDocument);

                    elm.SetAttributeValue("雙重學籍編號", rec.ReplicatedSchoolRollNumber);

                    // 當他校轉入
                    if (rec.UpdateCode.Substring(0, 1) == "1")
                    {
                        elm.SetAttributeValue("轉入身分別代碼", rec.Comment2);
                    }
                    else
                    {
                        elm.SetAttributeValue("更正後身分證註記", rec.Comment2);
                    }

                    elm.SetAttributeValue("應畢業學年度", rec.ExpectGraduateSchoolYear);

                    elm.SetAttributeValue("借讀學校代碼", rec.Code7SchoolCode);
                    elm.SetAttributeValue("借讀科別代碼", rec.Code7DeptCode);
                    elm.SetAttributeValue("申請開始日期", rec.Code71BeginDate);
                    elm.SetAttributeValue("申請結束日期", rec.Code71EndDate);
                    elm.SetAttributeValue("實際開始日期", rec.Code72BeginDate);
                    elm.SetAttributeValue("實際結束日期", rec.Code72EndDate);

                    elmGrDept.Add(elm);
                }


                //2018/2/5 穎驊增加 處理封面資料
                foreach (RetaintoStudentListRecCoverRec coverRec in coverDataList)
                {
                    //假如整理好的封面資料 其年級、科別代碼 與 現在的資料相同, 則配對
                    if (coverRec.grYear == grYear && coverRec.DeptCode == DeptCode)
                    {
                        XElement elmGrDeptCover = new XElement("異動名冊封面");

                        elmGrDeptCover.SetAttributeValue("名冊別", coverRec.ReportType);
                        elmGrDeptCover.SetAttributeValue("班別", coverRec.ClassType);
                        elmGrDeptCover.SetAttributeValue("上傳類別", coverRec.UpdateType);
                        elmGrDeptCover.SetAttributeValue("因病須長期療養或懷孕申請保留學生數", coverRec.LongTermCareStudentCount);
                        elmGrDeptCover.SetAttributeValue("因服兵役申請保留學生數", coverRec.MilitaryStudentCount);
                        elmGrDeptCover.SetAttributeValue("因病申請保留錄取資格期間復受徵召服役者申請學生數", coverRec.ReCallStudentCount);

                        elmGrDeptCover.SetAttributeValue("備註說明", coverRec.RemarksContent);
                        //加入封面
                        elmGrDept.Add(elmGrDeptCover);
                    }
                }

                retVal.Add(elmGrDept);
            }
            return(retVal);
        }
Esempio n. 6
0
        /// <summary>
        /// 學籍異動
        /// </summary>
        public UpdateRecordInfo01_N(SHUpdateRecordRecord UpdateRec, PermRecLogProcess prlp, List <XElement> UpdateCodeElms)
        {
            InitializeComponent();
            cbxGender.Items.Add("男");
            cbxGender.Items.Add("女");

            _UpdateRec      = UpdateRec;
            _prlp           = prlp;
            _UpdateCodeElms = UpdateCodeElms;
            _epUpdateCode   = new ErrorProvider();

            _UpdateCoodeList = (from x in _UpdateCodeElms select x.Element("代號").Value + " " + x.Element("原因及事項").Value).ToList();
            _DeptList        = SHDepartment.SelectAll();


            // 更正學籍顯示對照用
            _updateCodeDict4 = new Dictionary <string, string>();
            // 進校
            _updateCodeDict4.Add("301", "新學號");
            _updateCodeDict4.Add("302", "新姓名");
            _updateCodeDict4.Add("303", "新性別");
            _updateCodeDict4.Add("304", "新身分證號");
            _updateCodeDict4.Add("305", "新生日");


            //// 讀取畢業學年度
            //SHLeaveInfoRecord shl = SHLeaveInfo.SelectByStudentID(_UpdateRec.StudentID);
            //if (shl.SchoolYear.HasValue)
            //    txtSHSchoolYear.Text = shl.SchoolYear.Value.ToString();

            //// 當延修生要顯示
            //    if (_UpdateRec.GradeYear == "延修生")
            //    {
            //        txtSHSchoolYear.Enabled = true;
            //    }
            //    else
            //        txtSHSchoolYear.Enabled = false;


            _UCodeDict = Utility.UITool.ConvertUpdateCodeDescDict(_UpdateCodeElms);

            _faldn = new UpdateRecordModule_SH_N.Utility.FormAndLogDataManager(_prlp);

            if (!string.IsNullOrEmpty(_UpdateRec.NewStudentNumber))
            {
                int i;
                if (int.TryParse(_UpdateRec.NewStudentNumber.Trim(), out i))
                {
                    _UpdateRec.NewData          = i.ToString();
                    _UpdateRec.NewStudentNumber = i.ToString();
                }
                else
                {
                    _UpdateRec.NewStudentNumber = "";
                }
            }

            // 載入資料
            cbxUpdateCode    = _faldn.SetFormData(_UpdateRec.UpdateCode, cbxUpdateCode, "異動代碼");
            txtDesc          = _faldn.SetFormData(_UpdateRec.UpdateDescription, txtDesc, "原因及事項");
            dtUpdateDate     = _faldn.SetFormData(_UpdateRec.UpdateDate, dtUpdateDate, "異動日期");
            txtMemo          = _faldn.SetFormData(_UpdateRec.Comment, txtMemo, "備註");
            cbxDept          = _faldn.SetFormData(_UpdateRec.Department, cbxDept, "科別");
            cbxClass         = _faldn.SetFormData(_UpdateRec.ClassType, cbxClass, "班別");
            txtSHSchoolYear  = _faldn.SetFormData(_UpdateRec.SpecialStatus, txtSHSchoolYear, "特殊身分代碼");
            txtName          = _faldn.SetFormData(_UpdateRec.StudentName, txtName, "姓名");
            txtStudentNumber = _faldn.SetFormData(_UpdateRec.StudentNumber, txtStudentNumber, "學號");
            txtIDNumber      = _faldn.SetFormData(_UpdateRec.IDNumber, txtIDNumber, "身分證字號");
            txtNewData       = _faldn.SetFormData(_UpdateRec.NewData, txtNewData, "新資料");
            txtIDNumber1     = _faldn.SetFormData(_UpdateRec.IDNumberComment, txtIDNumber1, "註1");
            dtLastUpdateDate = _faldn.SetFormData(_UpdateRec.LastADDate, dtLastUpdateDate, "備查日期");
            txtLastDocNo     = _faldn.SetFormData(_UpdateRec.LastADNumber, txtLastDocNo, "備查文號");
            dtADDate         = _faldn.SetFormData(_UpdateRec.ADDate, dtADDate, "核准日期");
            txtADDocNo       = _faldn.SetFormData(_UpdateRec.ADNumber, txtADDocNo, "核准文號");
            txtSpecial       = _faldn.SetFormData(_UpdateRec.SpecialStatus, txtSpecial, "特殊身分代碼");
            cbxGender        = _faldn.SetFormData(_UpdateRec.Gender, cbxGender, "性別");
            dtBirthday       = _faldn.SetFormData(_UpdateRec.Birthdate, dtBirthday, "生日");
        }
        ///// <summary>
        ///// 取得新生入學資格
        ///// </summary>
        ///// <returns></returns>
        //public static List<string> GetNewStudCode()
        //{
        //    List<string> strList = new List<string>();
        //    strList.Add("001-持國民中學畢業證明書者(含國中補校)");
        //    strList.Add("002-持國民中學補習學校資格證明書者");
        //    strList.Add("003-持國民中學補習學校結業證明書者");
        //    strList.Add("004-持國民中學修(結)業證明書者(修畢三學年全部課程)");
        //    strList.Add("005-持國民中學畢業程度學力鑑定考試及格證明書者");
        //    strList.Add("006-回國僑生介考(專案核准)");
        //    strList.Add("007-持大陸學歷者(需附證明文件)");
        //    strList.Add("008-特殊教育學校學生(需附證明文件)");
        //    strList.Add("009-持國外學歷者(需附證明文件)");
        //    strList.Add("099-其他(需附證明文件)");
        //    return strList;
        //}

        /// <summary>
        /// 將異動 SHDAL 資料轉換成名冊用 Rec
        /// </summary>
        /// <param name="recList"></param>
        /// <returns></returns>
        public static List <BL.StudUpdateRecDoc> ConvertSHUpdateRecToStudUpdateRec(List <SHUpdateRecordRecord> recList)
        {
            List <BL.StudUpdateRecDoc> StudRecList = new List <UpdateRecordModule_IBSH.BL.StudUpdateRecDoc>();

            Dictionary <string, string> deptCodeDict = new Dictionary <string, string>();

            foreach (SHDepartmentRecord rec in SHDepartment.SelectAll())
            {
                if (!deptCodeDict.ContainsKey(rec.FullName))
                {
                    deptCodeDict.Add(rec.FullName, rec.Code);
                }

                //if (!deptCodeDict.ContainsKey(rec.Name))
                //    deptCodeDict.Add(rec.Name, rec.Code);
            }

            //int depIdx = 0;
            foreach (SHUpdateRecordRecord rec in recList)
            {
                BL.StudUpdateRecDoc studUrec = new UpdateRecordModule_IBSH.BL.StudUpdateRecDoc();
                studUrec.UpdateDescription          = rec.UpdateDescription;
                studUrec.UpdateDate                 = rec.UpdateDate;
                studUrec.UpdateCode                 = rec.UpdateCode;
                studUrec.StudentNumber              = rec.StudentNumber;
                studUrec.StudentName                = rec.StudentName;
                studUrec.SpecialStatus              = rec.SpecialStatus;
                studUrec.PreviousStudentNumber      = rec.PreviousStudentNumber;
                studUrec.PreviousSchoolLastADNumber = rec.PreviousSchoolLastADNumber;
                studUrec.PreviousSchoolLastADDate   = rec.PreviousSchoolLastADDate;
                studUrec.PreviousSchool             = rec.PreviousSchool;
                studUrec.PreviousGradeYear          = rec.PreviousGradeYear;
                studUrec.PreviousDepartment         = rec.PreviousDepartment;
                studUrec.OldDepartmentCode          = rec.OldDepartmentCode;
                studUrec.OldClassType               = rec.OldClassType;
                studUrec.NewData                    = rec.NewData;
                studUrec.LastUpdateCode             = rec.LastUpdateCode;
                studUrec.LastADNumber               = rec.LastADNumber;
                studUrec.LastADDate                 = rec.LastADDate;
                studUrec.IDNumberComment            = rec.IDNumberComment;
                studUrec.IDNumber                   = rec.IDNumber;
                studUrec.GraduateSchoolYear         = rec.GraduateSchoolYear;
                studUrec.GraduateSchoolLocationCode = rec.GraduateSchoolLocationCode;
                studUrec.GraduateSchoolCode         = rec.GraduateSchoolCode;
                studUrec.GraduateSchool             = rec.GraduateSchool;
                studUrec.GraduateComment            = rec.GraduateComment;
                studUrec.GraduateCertificateNumber  = rec.GraduateCertificateNumber;
                studUrec.GradeYear                  = rec.GradeYear;
                studUrec.Gender = rec.Gender;

                studUrec.Code7SchoolCode = rec.Code7SchoolCode;
                studUrec.Code7DeptCode   = rec.Code7DeptCode;
                studUrec.Code71BeginDate = rec.Code71BeginDate;
                studUrec.Code71EndDate   = rec.Code71EndDate;
                studUrec.Code72BeginDate = rec.Code72BeginDate;
                studUrec.Code72EndDate   = rec.Code72EndDate;
                if (rec.Gender == "男")
                {
                    studUrec.GenderCode = "1";
                }
                else if (rec.Gender == "女")
                {
                    studUrec.GenderCode = "2";
                }
                else
                {
                    studUrec.GenderCode = "";
                }

                //// 當科別有:取前面值
                //depIdx = rec.Department.IndexOf(":");
                //if(depIdx >1)
                //    studUrec.Department = rec.Department.Substring(0,depIdx);
                //else
                studUrec.Department = rec.Department;

                if (deptCodeDict.ContainsKey(rec.Department))
                {
                    studUrec.DeptCode = deptCodeDict[rec.Department];
                }
                studUrec.Comment   = rec.Comment;
                studUrec.ClassType = rec.ClassType;
                studUrec.Birthday  = rec.Birthdate;
                studUrec.ADNumber  = rec.ADNumber;
                studUrec.ADDate    = rec.ADDate;
                studUrec.URID      = rec.ID;
                studUrec.StudentID = rec.StudentID;
                if (rec.Student != null)
                {
                    studUrec.StudStatus = rec.Student.Status.ToString();
                }

                studUrec.PreviousSemester         = rec.PreviousSemester;
                studUrec.NewStudentNumber         = rec.NewStudentNumber;
                studUrec.Comment2                 = rec.Comment2;
                studUrec.GraduateDocument         = rec.GraduateDocument;
                studUrec.ExpectGraduateSchoolYear = rec.ExpectGraduateSchoolYear;
                StudRecList.Add(studUrec);
            }
            return(StudRecList);
        }
        /// <summary>
        /// 將報表 XML 轉成報表用 List
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        public List <GovernmentalDocument.Reports.List.rpt_UpdateRecord> ConvertRptUpdateRecord(XmlElement source)
        {
            List <GovernmentalDocument.Reports.List.rpt_UpdateRecord> retVal = new List <GovernmentalDocument.Reports.List.rpt_UpdateRecord>();

            foreach (XmlElement Record in source.SelectNodes("清單/異動紀錄"))
            {
                GovernmentalDocument.Reports.List.rpt_UpdateRecord val = new GovernmentalDocument.Reports.List.rpt_UpdateRecord();

                //班別
                val.ClassType = Record.GetAttribute("班別");

                //科別代碼
                val.DeptCode = (Record.ParentNode as XmlElement).GetAttribute("科別代號");

                //學號
                val.StudentNumber = Record.GetAttribute("學號");

                // StudentID
                val.StudentID = Record.GetAttribute("學生編號");

                //姓名
                val.Name = Record.GetAttribute("姓名");

                //身分證字號
                val.IDNumber = Record.GetAttribute("身分證號");

                //註1
                val.Comment1 = Record.GetAttribute("註1");

                //性別代碼
                val.GenderCode = Record.GetAttribute("性別代號");
                //出生日期
                val.Birthday = GetBirthdateWithoutSlash(Record.GetAttribute("出生年月日"));

                //特殊身份代碼
                val.SpecialStatusCode = Record.GetAttribute("特殊身份代碼"); //原為抓取備註欄位
                //年級
                val.GradeYear = (Record.ParentNode as XmlElement).GetAttribute("年級");
                //異動原因代碼
                val.UpdateCode = Record.GetAttribute("異動代號");

                //異動日期
                val.UpdateDate = GetBirthdateWithoutSlash(Record.GetAttribute("異動日期"));

                // 原科別代碼
                if (Record.GetAttribute("原就讀科別").Trim() == "")
                {
                    val.PreviousDeptCode = Record.GetAttribute("轉入前學生資料_科別");
                }
                else
                {
                    val.PreviousDeptCode = Record.GetAttribute("原就讀科別");
                }

                // 原學校代碼
                if (Record.GetAttribute("原就讀學校").Trim() == "")
                {
                    val.PreviousSchoolCode = Record.GetAttribute("轉入前學生資料_學校");
                }
                else
                {
                    val.PreviousSchoolCode = Record.GetAttribute("原就讀學校");
                }

                // 原學號
                if (Record.GetAttribute("原就讀學號").Trim() == "")
                {
                    val.PreviousStudentNumber = Record.GetAttribute("轉入前學生資料_學號");
                }
                else
                {
                    val.PreviousStudentNumber = Record.GetAttribute("原就讀學號");
                }

                // 原年級
                if (Record.GetAttribute("原就讀年級").Trim() == "")
                {
                    val.PreviousGradeYear = Record.GetAttribute("轉入前學生資料_年級");
                }
                else
                {
                    val.PreviousGradeYear = Record.GetAttribute("原就讀年級");
                }

                // 原學期
                if (Record.GetAttribute("原就讀學期").Trim() == "")
                {
                    val.PreviousSemester = Record.GetAttribute("轉入前學生資料_學期");
                }
                else
                {
                    val.PreviousSemester = Record.GetAttribute("原就讀學期");
                }

                //原備查日期
                if (Record.GetAttribute("原就讀備查日期").Trim() == "")
                {
                    val.PreviousSchoolLastADDate = GetBirthdateWithoutSlash(Record.GetAttribute("轉入前學生資料_備查日期"));
                }
                else
                {
                    val.PreviousSchoolLastADDate = GetBirthdateWithoutSlash(Record.GetAttribute("原就讀備查日期"));
                }

                //原備查文字
                if (Record.GetAttribute("原就讀備查文號").Trim() == "")
                {
                    val.PreviousSchoolLastADDoc = GetNumAndSrt1(Record.GetAttribute("轉入前學生資料_備查文號"));
                }
                else
                {
                    val.PreviousSchoolLastADDoc = GetNumAndSrt1(Record.GetAttribute("原就讀備查文號"));
                }

                //原備查文號
                if (Record.GetAttribute("原就讀備查文號").Trim() == "")
                {
                    val.PreviousSchoolLastADNum = GetNumAndSrt2(Record.GetAttribute("轉入前學生資料_備查文號"));
                }
                else
                {
                    val.PreviousSchoolLastADNum = GetNumAndSrt2(Record.GetAttribute("原就讀備查文號"));
                }

                //更正後資料
                val.NewData = Record.GetAttribute("新資料");

                // 新學號
                val.NewStudNumber = Record.GetAttribute("新學號");

                //備註說明
                val.Comment = Record.GetAttribute("備註");

                // 異動編號
                if (Record.GetAttribute("編號") != "")
                {
                    val.URID = Record.GetAttribute("編號");
                }
                else
                {
                    val.URID = Record.GetAttribute("異動編號");
                }


                // 備查日期
                val.LastADDate = GetBirthdateWithoutSlash(Record.GetAttribute("備查日期"));

                // 備查文字
                val.LastADDoc = GetNumAndSrt1(Record.GetAttribute("備查文號"));

                // 備查文號
                val.LastADNum = GetNumAndSrt2(Record.GetAttribute("備查文號"));

                // 畢業證書字號
                val.GraduateCertificateNumber = Record.GetAttribute("畢業證書字號");

                // 更正後身分證註記
                val.Comment2 = Record.GetAttribute("更正後身分證註記");

                // 轉入身分別代碼
                val.TransferStatus = Record.GetAttribute("轉入身分別代碼");

                // 應畢業學年度
                val.ExpectGraduateSchoolYear = Record.GetAttribute("應畢業學年度");
                retVal.Add(val);
                // 借讀學校代碼
                val.Code7SchoolCode = Record.GetAttribute("借讀學校代碼");

                // 借讀科別代碼
                val.Code7DeptCode = Record.GetAttribute("借讀科別代碼");

                // 申請開始日期
                val.Code71BeginDate = Record.GetAttribute("申請開始日期");

                // 申請結束日期
                val.Code71EndDate = Record.GetAttribute("申請結束日期");

                // 實際開始日期
                val.Code72BeginDate = Record.GetAttribute("實際開始日期");

                // 實際結束日期
                val.Code72EndDate = Record.GetAttribute("實際結束日期");
            }

            // 解析科別代碼用
            Dictionary <string, string> deptCodeDict = new Dictionary <string, string>();

            foreach (SHDepartmentRecord rec in SHDepartment.SelectAll())
            {
                if (!deptCodeDict.ContainsKey(rec.FullName))
                {
                    deptCodeDict.Add(rec.FullName, rec.Code);
                }
            }


            // 排序填入
            int uidint;

            retVal = (from data in retVal orderby data.Name, data.UpdateDate, int.TryParse(data.URID, out uidint) select data).ToList();

            int    order  = 0;
            string tmpStr = "";

            foreach (GovernmentalDocument.Reports.List.rpt_UpdateRecord rec in retVal)
            {
                if (rec.Name != tmpStr)
                {
                    order     = 1;
                    rec.Order = order.ToString();
                }
                else
                {
                    rec.Order = order.ToString();
                }

                order++;
                tmpStr = rec.Name;


                // 教育部 99年學校代碼長度定義6碼,直接切
                if (rec.PreviousSchoolCode.Length >= 6)
                {
                    rec.PreviousSchoolCode = rec.PreviousSchoolCode.Substring(0, 6);
                }

                // 解析科別代碼
                if (deptCodeDict.ContainsKey(rec.PreviousDeptCode))
                {
                    rec.PreviousDeptCode = deptCodeDict[rec.PreviousDeptCode];
                }
            }

            return(retVal);
        }
Esempio n. 9
0
        void _bgWorkerLoad_DoWork(object sender, DoWorkEventArgs e)
        {
            // 取得就學生畢業異動資料
            _StudHasGraduateRecDict.Clear();
            List <SHUpdateRecordRecord> recList = SHUpdateRecord.SelectByStudentIDs(_StudentIDList);

            foreach (SHUpdateRecordRecord rec in recList)
            {
                // 不是畢業異動跳過
                if (rec.UpdateCode != "501")
                {
                    continue;
                }

                if (!_StudHasGraduateRecDict.ContainsKey(rec.StudentID))
                {
                    _StudHasGraduateRecDict.Add(rec.StudentID, rec);
                }
            }

            // 取得最後一筆異動
            _StudLastupdateRecDict.Clear();
            foreach (string sid in _StudentIDList)
            {
                List <SHUpdateRecordRecord> recL = (from data in recList where data.StudentID == sid && data.ADDate.Trim() != "" orderby DateTime.Parse(data.ADDate) descending, int.Parse(data.ID) descending select data).ToList();
                if (recL.Count > 0)
                {
                    SHUpdateRecordRecord r1 = recL[0];
                    if (!_StudLastupdateRecDict.ContainsKey(r1.StudentID))
                    {
                        _StudLastupdateRecDict.Add(r1.StudentID, r1);
                    }
                }
            }

            // 學生資料
            _StudentDict.Clear();
            foreach (SHStudentRecord rec in SHStudent.SelectByIDs(_StudentIDList))
            {
                _StudentDict.Add(rec.ID, rec);
            }

            // 畢業證書
            _LeaveInfoRecordDict.Clear();
            foreach (SHLeaveInfoRecord rec in SHLeaveInfo.SelectByStudentIDs(_StudentIDList))
            {
                if (!_LeaveInfoRecordDict.ContainsKey(rec.RefStudentID))
                {
                    _LeaveInfoRecordDict.Add(rec.RefStudentID, rec);
                }
            }

            // 班級
            _ClassRecDict.Clear();
            foreach (SHClassRecord rec in SHClass.SelectAll())
            {
                if (!_ClassRecDict.ContainsKey(rec.ID))
                {
                    _ClassRecDict.Add(rec.ID, rec);
                }
            }

            // 科別
            _DeptRecDict.Clear();
            foreach (SHDepartmentRecord rec in SHDepartment.SelectAll())
            {
                if (!_DeptRecDict.ContainsKey(rec.ID))
                {
                    _DeptRecDict.Add(rec.ID, rec);
                }
            }
        }
Esempio n. 10
0
        /// <summary>
        /// 將 StudUpdateRecDoc List 轉成 XML
        /// </summary>
        /// <returns></returns>
        public static XElement ConvertStudUpdateRecDocToXML(List <BL.StudUpdateRecDoc> updateRecList)
        {
            // 排序年級與科別
            //var data = from ud in updateRecList orderby;
            Dictionary <string, List <BL.StudUpdateRecDoc> > data = new Dictionary <string, List <UpdateRecordModule_SH_N.BL.StudUpdateRecDoc> >();
            Dictionary <string, string> deptCodeDict = new Dictionary <string, string>();

            foreach (SHDepartmentRecord rec in SHDepartment.SelectAll())
            {
                if (!deptCodeDict.ContainsKey(rec.FullName))
                {
                    deptCodeDict.Add(rec.FullName, rec.Code);
                }

                //if (!deptCodeDict.ContainsKey(rec.Name))
                //    deptCodeDict.Add(rec.Name, rec.Code);
            }

            foreach (BL.StudUpdateRecDoc val in updateRecList)
            {
                string key = val.GradeYear + "_" + val.Department + "_";
                if (data.ContainsKey(key))
                {
                    data[key].Add(val);
                }
                else
                {
                    List <BL.StudUpdateRecDoc> xx = new List <UpdateRecordModule_SH_N.BL.StudUpdateRecDoc>();
                    xx.Add(val);
                    data.Add(key, xx);
                }
            }

            XElement retVal = new XElement("異動名冊");

            retVal.SetAttributeValue("學年度", Global._GSchoolYear);
            retVal.SetAttributeValue("學期", Global._GSemester);
            retVal.SetAttributeValue("學校代碼", Global._GSchoolCode);
            retVal.SetAttributeValue("學校代號", Global._GSchoolCode);
            retVal.SetAttributeValue("學校名稱", Global._GSchoolName);
            retVal.SetAttributeValue("類別", Global._GUpdateBatchType);

            foreach (KeyValuePair <string, List <BL.StudUpdateRecDoc> > val in data)
            {
                // 解析年級科別
                int    idx      = val.Key.IndexOf("_");
                string grYear   = val.Key.Substring(0, idx);
                string DeptName = val.Key.Substring(idx + 1, (val.Key.Length - (idx + 2)));
                string DeptCode = "";
                if (deptCodeDict.ContainsKey(DeptName))
                {
                    DeptCode = deptCodeDict[DeptName];
                }

                XElement elmGrDept = new XElement("清單");
                elmGrDept.SetAttributeValue("年級", grYear);
                elmGrDept.SetAttributeValue("科別", DeptName);
                elmGrDept.SetAttributeValue("科別代碼", DeptCode);
                elmGrDept.SetAttributeValue("科別代號", DeptCode);
                foreach (BL.StudUpdateRecDoc rec in val.Value)
                {
                    XElement elm = new XElement("異動紀錄");
                    elm.SetAttributeValue("異動代碼", rec.UpdateCode);
                    elm.SetAttributeValue("異動代號", rec.UpdateCode);
                    elm.SetAttributeValue("原因及事項", rec.UpdateDescription);
                    elm.SetAttributeValue("異動日期", rec.UpdateDate);
                    elm.SetAttributeValue("備註", rec.Comment);
                    elm.SetAttributeValue("班別", rec.ClassType);
                    elm.SetAttributeValue("科別", rec.Department);
                    elm.SetAttributeValue("科別代碼", rec.DeptCode);
                    elm.SetAttributeValue("特殊身分代碼", rec.SpecialStatus);
                    elm.SetAttributeValue("特殊身份代碼", rec.SpecialStatus);
                    elm.SetAttributeValue("姓名", rec.StudentName);
                    elm.SetAttributeValue("學號", rec.StudentNumber);
                    elm.SetAttributeValue("身分證字號", rec.IDNumber);
                    elm.SetAttributeValue("身分證號", rec.IDNumber);
                    elm.SetAttributeValue("生日", rec.Birthday);
                    DateTime dt;
                    if (DateTime.TryParse(rec.Birthday, out dt))
                    {
                        elm.SetAttributeValue("出生年月日", (dt.Year - 1911) + "/" + dt.Month + "/" + dt.Day);
                    }
                    else
                    {
                        elm.SetAttributeValue("出生年月日", "");
                    }
                    elm.SetAttributeValue("身分證註記", rec.IDNumberComment);
                    elm.SetAttributeValue("註1", rec.IDNumberComment);

                    elm.SetAttributeValue("性別", rec.Gender);
                    elm.SetAttributeValue("性別代碼", rec.GenderCode);
                    elm.SetAttributeValue("性別代號", rec.GenderCode);
                    elm.SetAttributeValue("畢業國中", rec.GraduateSchool);
                    elm.SetAttributeValue("畢業國中所在地代碼", rec.GraduateSchoolLocationCode);
                    elm.SetAttributeValue("畢業國中所在縣市代號", rec.GraduateSchoolLocationCode);
                    elm.SetAttributeValue("入學資格註記", rec.GraduateComment);
                    elm.SetAttributeValue("入學資格代號", rec.UpdateCode);
                    elm.SetAttributeValue("畢業國中代碼", rec.GraduateSchoolCode);
                    elm.SetAttributeValue("國中畢業學年度", rec.GraduateSchoolYear);
                    elm.SetAttributeValue("核准日期", rec.ADDate);
                    elm.SetAttributeValue("核准文號", rec.ADNumber);
                    elm.SetAttributeValue("舊科別代碼", rec.OldDepartmentCode);
                    elm.SetAttributeValue("舊班別", rec.OldClassType);
                    elm.SetAttributeValue("備查日期", rec.LastADDate);
                    elm.SetAttributeValue("備查文號", rec.LastADNumber);
                    elm.SetAttributeValue("原就讀學校", rec.PreviousSchool);
                    elm.SetAttributeValue("原就讀學號", rec.PreviousStudentNumber);
                    elm.SetAttributeValue("原就讀科別", rec.PreviousDepartment);
                    elm.SetAttributeValue("原就讀年級", rec.PreviousGradeYear);
                    elm.SetAttributeValue("原就讀學期", rec.PreviousSemester);
                    elm.SetAttributeValue("原就讀備查日期", rec.PreviousSchoolLastADDate);
                    elm.SetAttributeValue("原就讀備查文號", rec.PreviousSchoolLastADNumber);
                    elm.SetAttributeValue("最後異動代碼", rec.LastUpdateCode);
                    elm.SetAttributeValue("最後異動代號", rec.LastUpdateCode);
                    elm.SetAttributeValue("畢業證書字號", rec.GraduateCertificateNumber);
                    elm.SetAttributeValue("年級", rec.GradeYear);
                    elm.SetAttributeValue("新資料", rec.NewData);
                    elm.SetAttributeValue("異動編號", rec.URID);
                    elm.SetAttributeValue("學生編號", rec.StudentID);
                    elm.SetAttributeValue("新學號", rec.NewStudentNumber);
                    elm.SetAttributeValue("轉入前學生資料_學校", rec.PreviousSchool);
                    elm.SetAttributeValue("轉入前學生資料_學號", rec.PreviousStudentNumber);
                    elm.SetAttributeValue("轉入前學生資料_科別", rec.PreviousDepartment);
                    elm.SetAttributeValue("轉入前學生資料_年級", rec.PreviousGradeYear);
                    elm.SetAttributeValue("轉入前學生資料_學期", rec.PreviousSemester);
                    elm.SetAttributeValue("轉入前學生資料_備查日期", rec.PreviousSchoolLastADDate);
                    elm.SetAttributeValue("轉入前學生資料_備查文號", rec.PreviousSchoolLastADNumber);
                    elm.SetAttributeValue("入學資格證明文件", rec.GraduateDocument);
                    // 當他校轉入
                    if (rec.UpdateCode.Substring(0, 1) == "1")
                    {
                        elm.SetAttributeValue("轉入身分別代碼", rec.Comment2);
                    }
                    else
                    {
                        elm.SetAttributeValue("更正後身分證註記", rec.Comment2);
                    }

                    elm.SetAttributeValue("應畢業學年度", rec.ExpectGraduateSchoolYear);

                    elmGrDept.Add(elm);
                }
                retVal.Add(elmGrDept);
            }
            return(retVal);
        }
Esempio n. 11
0
        /// <summary>
        /// 新生異動
        /// </summary>
        public UpdateRecordInfo03(SHUpdateRecordRecord UpdateRec, PermRecLogProcess prlp, List <XElement> UpdateCodeElms, bool isInsert)
        {
            InitializeComponent();
            cbxGender.Items.Add("男");
            cbxGender.Items.Add("女");

            cbxClass.DropDownWidth = 300;

            _UpdateRec       = UpdateRec;
            _prlp            = prlp;
            _UpdateCodeElms  = UpdateCodeElms;
            _UpdateCoodeList = (from x in _UpdateCodeElms select x.Element("代號").Value + " " + x.Element("原因及事項").Value).ToList();
            _DeptList        = SHDepartment.SelectAll();
            _epUpdateCode    = new ErrorProvider();

            _UCodeDict = Utility.UITool.ConvertUpdateCodeDescDict(_UpdateCodeElms);

            _faldn = new UpdateRecordModule_SH_D.Utility.FormAndLogDataManager(_prlp);

            // 新增帶入預設
            if (isInsert)
            {
                // 載入資料
                // 載入預設前級畢業資訊
                Dictionary <string, DAL.SchoolData> schoolDataDict = new Dictionary <string, DAL.SchoolData>();

                foreach (XElement elm in BL.Get.JHSchoolList().Elements("學校"))
                {
                    DAL.SchoolData sd = new DAL.SchoolData();
                    sd.SchoolCode         = elm.Attribute("代碼").Value;
                    sd.SchoolLocation     = elm.Attribute("所在地").Value;
                    sd.SchoolName         = elm.Attribute("名稱").Value;
                    sd.SchoolLocationCode = elm.Attribute("所在地代碼").Value;
                    if (sd.SchoolCode.Length > 3)
                    {
                        sd.SchoolType = sd.SchoolCode.Substring(2, 1);
                    }

                    string s1 = elm.Attribute("所在地").Value + elm.Attribute("名稱").Value;

                    if (!schoolDataDict.ContainsKey(s1))
                    {
                        schoolDataDict.Add(s1, sd);
                    }

                    if (!schoolDataDict.ContainsKey(sd.SchoolName))
                    {
                        schoolDataDict.Add(sd.SchoolName, sd);
                    }
                }

                SHBeforeEnrollmentRecord brfRec = SHBeforeEnrollment.SelectByStudentID(_UpdateRec.StudentID);

                if (string.IsNullOrEmpty(_UpdateRec.GraduateSchool))
                {
                    _UpdateRec.GraduateSchool = brfRec.School;
                }
                if (string.IsNullOrEmpty(_UpdateRec.GraduateSchoolYear))
                {
                    _UpdateRec.GraduateSchoolYear = brfRec.GraduateSchoolYear;
                }

                // 用學校名稱解析
                if (!string.IsNullOrEmpty(brfRec.School))
                {
                    string key = brfRec.SchoolLocation.Replace("台", "臺") + brfRec.School.Trim();
                    if (schoolDataDict.ContainsKey(key))
                    {
                        if (string.IsNullOrEmpty(_UpdateRec.GraduateSchoolCode))
                        {
                            _UpdateRec.GraduateSchoolCode         = schoolDataDict[key].SchoolCode;
                            _UpdateRec.GraduateSchoolLocationCode = schoolDataDict[key].SchoolLocationCode;
                        }
                    }
                }
            }

            cbxUpdateCode    = _faldn.SetFormData(_UpdateRec.UpdateCode, cbxUpdateCode, "資格代碼");
            txtDesc          = _faldn.SetFormData(_UpdateRec.UpdateDescription, txtDesc, "原因及事項");
            dtUpdateDate     = _faldn.SetFormData(_UpdateRec.UpdateDate, dtUpdateDate, "異動日期");
            txtMemo          = _faldn.SetFormData(_UpdateRec.Comment, txtMemo, "備註");
            cbxDept          = _faldn.SetFormData(_UpdateRec.Department, cbxDept, "科別");
            cbxClass         = _faldn.SetFormData(_UpdateRec.ClassType, cbxClass, "班別");
            txtSpecial       = _faldn.SetFormData(_UpdateRec.SpecialStatus, txtSpecial, "特殊身分代碼");
            txtName          = _faldn.SetFormData(_UpdateRec.StudentName, txtName, "姓名");
            txtStudentNumber = _faldn.SetFormData(_UpdateRec.StudentNumber, txtStudentNumber, "學號");
            txtIDNumber      = _faldn.SetFormData(_UpdateRec.IDNumber, txtIDNumber, "身分證字號");
            dtBirthday       = _faldn.SetFormData(_UpdateRec.Birthdate, dtBirthday, "生日");
            txtIDNumber1     = _faldn.SetFormData(_UpdateRec.IDNumberComment, txtIDNumber1, "註1");
            cbxGender        = _faldn.SetFormData(_UpdateRec.Gender, cbxGender, "性別");
            txtISchool       = _faldn.SetFormData(_UpdateRec.GraduateSchool, txtISchool, "入學資格(畢業國中)");
            txtISpaceCode    = _faldn.SetFormData(_UpdateRec.GraduateSchoolLocationCode, txtISpaceCode, "所在地代碼");
            txtISchoolCode   = _faldn.SetFormData(_UpdateRec.GraduateSchoolCode, txtISchoolCode, "畢業國中學校代號");
            txtIJHGradeYear  = _faldn.SetFormData(_UpdateRec.GraduateSchoolYear, txtIJHGradeYear, "國中畢業年度");
            dtADDate         = _faldn.SetFormData(_UpdateRec.ADDate, dtADDate, "核准日期");
            txtADDocNo       = _faldn.SetFormData(_UpdateRec.ADNumber, txtADDocNo, "核准文號");
            txtGradeDoc      = _faldn.SetFormData(_UpdateRec.GraduateDocument, txtGradeDoc, "入學資格證明文件");
        }
Esempio n. 12
0
        /// <summary>
        /// 學籍異動
        /// </summary>
        public UpdateRecordInfo01(SHUpdateRecordRecord UpdateRec, PermRecLogProcess prlp, List <XElement> UpdateCodeElms)
        {
            SHUpdateRecordRecord rec = new SHUpdateRecordRecord();

            InitializeComponent();
            cbxGender.Items.Add("男");
            cbxGender.Items.Add("女");

            cbxClass.DropDownWidth = 300;

            _UpdateRec      = UpdateRec;
            _prlp           = prlp;
            _UpdateCodeElms = UpdateCodeElms;
            _epUpdateCode   = new ErrorProvider();

            _UpdateCoodeList = (from x in _UpdateCodeElms select x.Element("代號").Value + " " + x.Element("原因及事項").Value).ToList();
            _DeptList        = SHDepartment.SelectAll();

            // 更正學籍顯示對照用
            _updateCodeDict4 = new Dictionary <string, string>();


            // 日進校不同,所以需要檢查:
            // 日校
            _updateCodeDict4.Add("401", "新學號");
            _updateCodeDict4.Add("402", "新姓名");
            _updateCodeDict4.Add("403", "新性別");
            _updateCodeDict4.Add("404", "新籍貫");
            _updateCodeDict4.Add("405", "新生日");
            _updateCodeDict4.Add("406", "新科別");
            _updateCodeDict4.Add("407", "新身分證號");
            _updateCodeDict4.Add("408", "入學資格學校名稱");
            _updateCodeDict4.Add("409", "特殊身分");
            _updateCodeDict4.Add("499", "其他學籍事項");

            if (string.IsNullOrEmpty(_UpdateRec.ExpectGraduateSchoolYear))
            {
                SHLeaveInfoRecord shl = SHLeaveInfo.SelectByStudentID(_UpdateRec.StudentID);
                if (shl.SchoolYear.HasValue)
                {
                    _UpdateRec.ExpectGraduateSchoolYear = shl.SchoolYear.Value.ToString();
                }
            }

            _UCodeDict = Utility.UITool.ConvertUpdateCodeDescDict(_UpdateCodeElms);

            _faldn = new UpdateRecordModule_SH_D.Utility.FormAndLogDataManager(_prlp);

            if (!string.IsNullOrEmpty(_UpdateRec.NewStudentNumber))
            {
                int i;
                if (int.TryParse(_UpdateRec.NewStudentNumber.Trim(), out i))
                {
                    _UpdateRec.NewData          = i.ToString();
                    _UpdateRec.NewStudentNumber = i.ToString();
                }
                else
                {
                    _UpdateRec.NewStudentNumber = "";
                }
            }


            // 載入資料
            cbxUpdateCode    = _faldn.SetFormData(_UpdateRec.UpdateCode, cbxUpdateCode, "異動代碼");
            txtDesc          = _faldn.SetFormData(_UpdateRec.UpdateDescription, txtDesc, "原因及事項");
            dtUpdateDate     = _faldn.SetFormData(_UpdateRec.UpdateDate, dtUpdateDate, "異動日期");
            txtMemo          = _faldn.SetFormData(_UpdateRec.Comment, txtMemo, "備註");
            cbxDept          = _faldn.SetFormData(_UpdateRec.Department, cbxDept, "科別");
            cbxClass         = _faldn.SetFormData(_UpdateRec.ClassType, cbxClass, "班別");
            txtSpecial       = _faldn.SetFormData(_UpdateRec.SpecialStatus, txtSpecial, "特殊身分代碼");
            txtName          = _faldn.SetFormData(_UpdateRec.StudentName, txtName, "姓名");
            txtStudentNumber = _faldn.SetFormData(_UpdateRec.StudentNumber, txtStudentNumber, "學號");
            txtIDNumber      = _faldn.SetFormData(_UpdateRec.IDNumber, txtIDNumber, "身分證字號");
            txtNewData       = _faldn.SetFormData(_UpdateRec.NewData, txtNewData, "新資料");
            txtIDNumber1     = _faldn.SetFormData(_UpdateRec.IDNumberComment, txtIDNumber1, "註1");
            txtIDNumber2     = _faldn.SetFormData(_UpdateRec.Comment2, txtIDNumber2, "註2");
            dtLastUpdateDate = _faldn.SetFormData(_UpdateRec.LastADDate, dtLastUpdateDate, "備查日期");
            txtLastDocNo     = _faldn.SetFormData(_UpdateRec.LastADNumber, txtLastDocNo, "備查文號");
            dtADDate         = _faldn.SetFormData(_UpdateRec.ADDate, dtADDate, "核准日期");
            txtADDocNo       = _faldn.SetFormData(_UpdateRec.ADNumber, txtADDocNo, "核准文號");
            cbxGender        = _faldn.SetFormData(_UpdateRec.Gender, cbxGender, "性別");
            dtBirthday       = _faldn.SetFormData(_UpdateRec.Birthdate, dtBirthday, "生日");
            txtSHSchoolYear  = _faldn.SetFormData(_UpdateRec.ExpectGraduateSchoolYear, txtSHSchoolYear, "應畢業學年度");
            txtC7SchoolCode  = _faldn.SetFormData(_UpdateRec.Code7SchoolCode, txtC7SchoolCode, "借讀學校代碼");
            txtC7DeptCode    = _faldn.SetFormData(_UpdateRec.Code7DeptCode, txtC7DeptCode, "借讀科別代碼");
            dtC71BeginDate   = _faldn.SetFormData(_UpdateRec.Code71BeginDate, dtC71BeginDate, "申請開始日期");
            dtC71EndDate     = _faldn.SetFormData(_UpdateRec.Code71EndDate, dtC71EndDate, "申請結束日期");
            dtC72BeginDate   = _faldn.SetFormData(_UpdateRec.Code72BeginDate, dtC72BeginDate, "實際開始日期");
            dtC72EndDate     = _faldn.SetFormData(_UpdateRec.Code72EndDate, dtC72EndDate, "實際結束日期");

            txtReplicatedSchoolRollNumber = _faldn.SetFormData(_UpdateRec.ReplicatedSchoolRollNumber, txtReplicatedSchoolRollNumber, "雙重學籍編號");
        }