/// <summary> /// 取得異動資料並且轉換成名冊用異動 /// </summary> public void UpdateRecConvertUpdateRecDoc(UpdateRecBatchType urbt) { _UpdateRecBatchType = urbt; // 學生異動資料 List <SHUpdateRecordRecord> updatRecList = new List <SHUpdateRecordRecord> (); // 延修生異動代號 List <string> ExtendCodeList = new List <string>(); ExtendCodeList.Add("235"); ExtendCodeList.Add("236"); // 新生保留代碼 List <string> chkCodeList1 = new List <string>(); chkCodeList1.Add("601"); chkCodeList1.Add("602"); chkCodeList1.Add("603"); chkCodeList1.Add("604"); // 借讀代碼 List <string> chkCodeList2 = new List <string>(); chkCodeList2.Add("701"); chkCodeList2.Add("702"); chkCodeList2.Add("703"); // 取得異動代碼資料 XElement elms = DAL.DALTransfer.GetUpdateCodeList(); List <string> CodeList = new List <string> (); // 取得非刪除學生 List <string> StudentIDList = utility.GetStudentIDListNot256(); // 透過異動代碼取沒有核准文號異動記錄,學生狀態非刪除。 switch (_UpdateRecBatchType) { case UpdateRecBatchType.新生名冊: // 取得新生異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "新生異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.畢業名冊: // 取得畢業異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "畢業異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.復學生名冊: // 取得學籍異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "學籍異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.轉出學生名冊: // 取得轉入異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "學籍異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.轉學生入學名冊: // 取得轉入異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "轉入異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.延修學生名冊: // 規則:只取得異動代碼為延修且年級是延修生。 CodeList = (from elm in elms.Elements("異動") where ExtendCodeList.Contains(elm.Element("代號").Value) select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear == "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.新生保留錄取資格名冊: CodeList = (from elm in elms.Elements("異動") where chkCodeList1.Contains(elm.Element("代號").Value) select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.借讀學生名冊: CodeList = (from elm in elms.Elements("異動") where chkCodeList2.Contains(elm.Element("代號").Value) select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; } // 轉換成符合名冊異動格式 _StudUpdateRecDocList = DAL.DALTransfer.ConvertSHUpdateRecToStudUpdateRec(updatRecList); }
/// <summary> /// 取得異動資料並且轉換成名冊用異動 /// </summary> public void UpdateRecConvertUpdateRecDoc(UpdateRecBatchType urbt) { _UpdateRecBatchType = urbt; // 學生異動資料 List <SHUpdateRecordRecord> updatRecList = new List <SHUpdateRecordRecord> (); // 延修生異動代號 List <string> ExtendCodeList = new List <string>(); ExtendCodeList.Add("235"); ExtendCodeList.Add("236"); // 取得異動代碼資料 XElement elms = DAL.DALTransfer.GetUpdateCodeList(); List <string> CodeList = new List <string> (); // 取得非刪除學生 List <string> StudentIDList = (from data in SHStudent.SelectAll() where data.Status != K12.Data.StudentRecord.StudentStatus.刪除 select data.ID).ToList(); // 透過異動代碼取沒有核准文號異動記錄,學生狀態非刪除。 switch (_UpdateRecBatchType) { case UpdateRecBatchType.新生名冊: // 取得新生異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "新生異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.畢業名冊: // 取得畢業異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "畢業異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.學籍異動名冊: // 取得學籍異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "學籍異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.轉入學生名冊: // 取得轉入異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "轉入異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.延修生名冊: // 規則:只取得異動代碼為延修且年級是延修生。 CodeList = (from elm in elms.Elements("異動") where ExtendCodeList.Contains(elm.Element("代號").Value) select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear == "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.延修生畢業名冊: // 規則:畢業異動代碼且年級是延修生。 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "畢業異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear == "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; case UpdateRecBatchType.延修生學籍異動名冊: // 規則:學籍異動代碼(不包含延修生異動代碼)且年級是延修生。 foreach (string code in (from elm in elms.Elements("異動") where elm.Element("分類").Value == "學籍異動" select elm.Element("代號").Value).ToList()) { if (!ExtendCodeList.Contains(code)) { CodeList.Add(code); } } //CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "學籍異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear == "延修生" && data.ADNumber.Trim() == "" select data).ToList(); break; } // 轉換成符合名冊異動格式 _StudUpdateRecDocList = DAL.DALTransfer.ConvertSHUpdateRecToStudUpdateRec(updatRecList); }
/// <summary> /// 取得異動資料並且轉換成名冊用異動 /// </summary> public void UpdateRecConvertUpdateRecDoc(UpdateRecBatchType urbt) { _UpdateRecBatchType = urbt; // 學生異動資料 List<SHUpdateRecordRecord> updatRecList= new List<SHUpdateRecordRecord> (); // 延修生異動代號 List<string> ExtendCodeList = new List<string>(); ExtendCodeList.Add("235"); ExtendCodeList.Add("236"); // 取得異動代碼資料 XElement elms = DAL.DALTransfer.GetUpdateCodeList(); List<string> CodeList= new List<string> (); // 取得非刪除學生 List<string> StudentIDList = utility.GetStudentIDListNot256(); // 透過異動代碼取沒有核准文號異動記錄,學生狀態非刪除。 switch (_UpdateRecBatchType) { case UpdateRecBatchType.新生名冊: // 取得新生異動代碼 CodeList=(from elm in elms.Elements("異動") where elm.Element("分類").Value=="新生異動" select elm.Element("代號").Value).ToList (); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim()=="" select data).ToList(); break; case UpdateRecBatchType.畢業名冊: // 取得畢業異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "畢業異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim()=="" select data).ToList(); break; case UpdateRecBatchType.學籍異動名冊: // 取得學籍異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "學籍異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim()=="" select data).ToList(); break; case UpdateRecBatchType.轉入學生名冊: // 取得轉入異動代碼 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "轉入異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear != "延修生" && data.ADNumber.Trim()=="" select data).ToList(); break; case UpdateRecBatchType.延修生名冊: // 規則:只取得異動代碼為延修且年級是延修生。 CodeList = (from elm in elms.Elements("異動") where ExtendCodeList.Contains(elm.Element("代號").Value) select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear == "延修生" && data.ADNumber.Trim()=="" select data).ToList(); break; case UpdateRecBatchType.延修生畢業名冊: // 規則:畢業異動代碼且年級是延修生。 CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "畢業異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear == "延修生" && data.ADNumber.Trim()=="" select data).ToList(); break; case UpdateRecBatchType.延修生學籍異動名冊: // 規則:學籍異動代碼(不包含延修生異動代碼)且年級是延修生。 foreach (string code in (from elm in elms.Elements("異動") where elm.Element("分類").Value == "學籍異動" select elm.Element("代號").Value).ToList()) if (!ExtendCodeList.Contains(code)) CodeList.Add(code); //CodeList = (from elm in elms.Elements("異動") where elm.Element("分類").Value == "學籍異動" select elm.Element("代號").Value).ToList(); updatRecList = (from data in SHUpdateRecord.SelectByUpdateCodes(CodeList) where StudentIDList.Contains(data.StudentID) && data.GradeYear == "延修生" && data.ADNumber.Trim()=="" select data).ToList(); break; } // 轉換成符合名冊異動格式 _StudUpdateRecDocList = DAL.DALTransfer.ConvertSHUpdateRecToStudUpdateRec(updatRecList); }