private void btnAdd_Click(object sender, EventArgs e) { DAO.UDT_CounselStudentInterviewRecordDef StudentInterviewRecord = new DAO.UDT_CounselStudentInterviewRecordDef(); StudentInterviewRecord.StudentID = int.Parse(PrimaryKey); Forms.StudInterviewDataForm sidf = new Forms.StudInterviewDataForm(StudentInterviewRecord, Forms.StudInterviewDataForm.AccessType.Insert); sidf.ShowDialog(); _BGRun(); }
private void btnAdd_Click(object sender, EventArgs e) { DAO.UDT_CounselStudentInterviewRecordDef StudentInterviewRecord = new DAO.UDT_CounselStudentInterviewRecordDef(); StudentInterviewRecord.StudentID = int.Parse(PrimaryKey); Forms.StudInterviewDataForm sidf = new Forms.StudInterviewDataForm(StudentInterviewRecord,Forms.StudInterviewDataForm.AccessType.Insert); sidf.ShowDialog(); _BGRun(); }
private void btnEdit_Click(object sender, EventArgs e) { if (lvInterview.SelectedItems.Count == 1) { DAO.UDT_CounselStudentInterviewRecordDef rec = lvInterview.SelectedItems[0].Tag as DAO.UDT_CounselStudentInterviewRecordDef; if (rec != null) { Forms.StudInterviewDataForm sidf = new Forms.StudInterviewDataForm(rec, Forms.StudInterviewDataForm.AccessType.Update); sidf.ShowDialog(); } _BGRun(); } else { FISCA.Presentation.Controls.MsgBox.Show("請選擇資料."); } }
public StudInterviewDataForm(DAO.UDT_CounselStudentInterviewRecordDef StudInterviewRecord, AccessType accType) { InitializeComponent(); _StudInterviewRecord = StudInterviewRecord; _UDTTransfer = new DAO.UDTTransfer(); _TeacherIDNameDict = new Dictionary <int, string>(); _TeacherNameIDDict = new Dictionary <string, int>(); _accessType = accType; _LogTransfer = new DAO.LogTransfer(); //if (accType == AccessType.Insert) //{ // _StudInterviewRecord.AuthorID = FISCA.Authentication.DSAServices.UserAccount; // _StudInterviewRecord.isPublic = true; //} _TeacherRecList = new List <TeacherRecord>(); _studRec = Student.SelectByID(StudInterviewRecord.StudentID.ToString()); _TeacherIDNameDict = Utility.GetCounselTeacherIDNameDict(StudInterviewRecord.StudentID.ToString()); _TeacherNameIDDict = Utility.GetCounselTeacherNameIDDict(StudInterviewRecord.StudentID.ToString()); LoadDefaultData(); LoadDataToForm(); }
public StudInterviewDataForm(DAO.UDT_CounselStudentInterviewRecordDef StudInterviewRecord,AccessType accType) { InitializeComponent(); _StudInterviewRecord = StudInterviewRecord; _UDTTransfer = new DAO.UDTTransfer(); _TeacherIDNameDict = new Dictionary<int, string>(); _TeacherNameIDDict = new Dictionary<string, int>(); _accessType = accType; _LogTransfer = new DAO.LogTransfer(); //if (accType == AccessType.Insert) //{ // _StudInterviewRecord.AuthorID = FISCA.Authentication.DSAServices.UserAccount; // _StudInterviewRecord.isPublic = true; //} _TeacherRecList = new List<TeacherRecord>(); _studRec = Student.SelectByID(StudInterviewRecord.StudentID.ToString ()); _TeacherIDNameDict = Utility.GetCounselTeacherIDNameDict(StudInterviewRecord.StudentID.ToString ()); _TeacherNameIDDict = Utility.GetCounselTeacherNameIDDict(StudInterviewRecord.StudentID.ToString()); LoadDefaultData(); LoadDataToForm(); }
public override string Import(List <Campus.DocumentValidator.IRowStream> Rows) { List <DAO.UDT_CounselStudentInterviewRecordDef> InsertData = new List <DAO.UDT_CounselStudentInterviewRecordDef>(); List <DAO.UDT_CounselStudentInterviewRecordDef> UpdateData = new List <DAO.UDT_CounselStudentInterviewRecordDef>(); List <DAO.UDT_CounselStudentInterviewRecordDef> HasData = new List <DAO.UDT_CounselStudentInterviewRecordDef>(); // -- 處理 log Dictionary <string, StringBuilder> LogData = new Dictionary <string, StringBuilder>(); // 學生ID List List <int> studIdList = new List <int>(); foreach (IRowStream ir in Rows) { int i; if (ir.Contains("學號") && ir.Contains("狀態")) { if (int.TryParse(Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")).ToString(), out i)) { studIdList.Add(i); } } } // 取得學生名稱log 用 Dictionary <string, string> StudentNameDict = new Dictionary <string, string>(); foreach (KeyValuePair <int, string> data in Utility.GetConvertStringDict1fromDB(studIdList)) { StudentNameDict.Add(data.Key.ToString(), data.Value); } DAO.LogTransfer _LogTransfer = new DAO.LogTransfer(); List <string> StudentIDList = new List <string>(); // 取得學生狀態對應 foreach (IRowStream ir in Rows) { if (ir.Contains("學號") && ir.Contains("狀態")) { StudentIDList.Add(Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")).ToString()); } } // 已有資料 HasData = _UDTTransfer.GetCounselStudentInterviewRecordByStudentIDList(StudentIDList); // 取得教師帳號比對用 Dictionary <string, string> teacherNameLoginIDDict = Utility.GetTeacherNameLoginIDStatus1(); int TotalCount = 0, NewIdx = 0; foreach (IRowStream ir in Rows) { TotalCount++; this.ImportProgress = TotalCount; DAO.UDT_CounselStudentInterviewRecordDef CounselStudentInterviewRecord = null; int sid = 0; if (ir.Contains("學號") && ir.Contains("狀態")) { string key = ir.GetValue("學號") + "_"; if (Global._StudentStatusDBDict.ContainsKey(ir.GetValue("狀態"))) { sid = Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")); } DateTime dt; // 當同一位學生有相同會議日期與會議事由,當作是更新,否則新增 if (DateTime.TryParse(ir.GetValue("日期"), out dt)) { foreach (DAO.UDT_CounselStudentInterviewRecordDef rec in HasData.Where(x => x.StudentID == sid)) { if (rec.InterviewDate.HasValue) { if (rec.InterviewDate.Value.ToShortDateString() == dt.ToShortDateString()) { if (rec.Cause == ir.GetValue("晤談事由")) { CounselStudentInterviewRecord = rec; } } } } } bool isNew = false; if (CounselStudentInterviewRecord == null) { CounselStudentInterviewRecord = new DAO.UDT_CounselStudentInterviewRecordDef(); isNew = true; NewIdx++; } string StudID = sid.ToString(); string insertKey = "A" + NewIdx; // 學生編號 CounselStudentInterviewRecord.StudentID = sid; // 日期 CounselStudentInterviewRecord.InterviewDate = dt; // 晤談老師 if (Global._AllTeacherNameIdDictTemp.ContainsKey(ir.GetValue("晤談老師"))) { CounselStudentInterviewRecord.TeacherID = Global._AllTeacherNameIdDictTemp[ir.GetValue("晤談老師")]; } if (ir.Contains("晤談編號")) { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "晤談編號", ir.GetValue("晤談編號")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "晤談編號", CounselStudentInterviewRecord.InterviewNo, ir.GetValue("晤談編號")); } CounselStudentInterviewRecord.InterviewNo = ir.GetValue("晤談編號"); } // 晤談方式 if (ir.Contains("晤談方式")) { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "晤談方式", ir.GetValue("晤談方式")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "晤談方式", CounselStudentInterviewRecord.InterviewType, ir.GetValue("晤談方式")); } CounselStudentInterviewRecord.InterviewType = ir.GetValue("晤談方式"); } // 晤談對象 if (ir.Contains("晤談對象")) { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "晤談對象", ir.GetValue("晤談對象")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "晤談對象", CounselStudentInterviewRecord.IntervieweeType, ir.GetValue("晤談對象")); } CounselStudentInterviewRecord.IntervieweeType = ir.GetValue("晤談對象"); } if (ir.Contains("時間")) { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "時間", ir.GetValue("時間")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "時間", CounselStudentInterviewRecord.InterviewTime, ir.GetValue("時間")); } CounselStudentInterviewRecord.InterviewTime = ir.GetValue("時間"); } if (ir.Contains("地點")) { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "地點", ir.GetValue("地點")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "地點", CounselStudentInterviewRecord.Place, ir.GetValue("地點")); } CounselStudentInterviewRecord.Place = ir.GetValue("地點"); } if (ir.Contains("晤談事由")) { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "晤談事由", ir.GetValue("晤談事由")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "晤談事由", CounselStudentInterviewRecord.Cause, ir.GetValue("晤談事由")); } CounselStudentInterviewRecord.Cause = ir.GetValue("晤談事由"); } StringBuilder sb1 = new StringBuilder(); if (ir.Contains("參與人員:學生")) { if (ir.GetValue("參與人員:學生") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "學生"); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:學生", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:學生", "", "1"); } } } if (ir.Contains("參與人員:家長")) { if (ir.GetValue("參與人員:家長") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "家長"); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:家長", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:家長", "", "1"); } } } if (ir.Contains("參與人員:專家")) { if (ir.GetValue("參與人員:專家") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "專家"); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:專家", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:專家", "", "1"); } } } if (ir.Contains("參與人員:醫師")) { if (ir.GetValue("參與人員:醫師") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "醫師"); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:醫師", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:醫師", "", "1"); } } } if (ir.Contains("參與人員:社工人員")) { if (ir.GetValue("參與人員:社工人員") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "社工人員"); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:社工人員", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:社工人員", "", "1"); } } } if (ir.Contains("參與人員:導師")) { if (ir.GetValue("參與人員:導師") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "導師"); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:導師", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:導師", "", "1"); } } } if (ir.Contains("參與人員:教官")) { if (ir.GetValue("參與人員:教官") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "教官"); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:教官", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:教官", "", "1"); } } } if (ir.Contains("參與人員:輔導老師")) { if (ir.GetValue("參與人員:輔導老師") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "輔導老師"); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:輔導老師", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:輔導老師", "", "1"); } } } if (ir.Contains("參與人員:任課老師")) { if (ir.GetValue("參與人員:任課老師") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "任課老師"); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:任課老師", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:任課老師", "", "1"); } } } if (ir.Contains("參與人員:其它")) { if (ir.GetValue("參與人員:其它") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "其它"); if (ir.Contains("參與人員:其它備註")) { elm.SetAttributeValue("remark", ir.GetValue("參與人員:其它備註")); } sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:其它", "1"); _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:其它備註", ir.GetValue("參與人員:其它備註")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:其它", "", "1"); _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:其它備註", "", ir.GetValue("參與人員:其它備註")); } } } CounselStudentInterviewRecord.Attendees = sb1.ToString(); StringBuilder sb2 = new StringBuilder(); if (ir.Contains("輔導方式:暫時結案")) { if (ir.GetValue("輔導方式:暫時結案") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "暫時結案"); sb2.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:暫時結案", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:暫時結案", "", "1"); } } } if (ir.Contains("輔導方式:專案輔導")) { if (ir.GetValue("輔導方式:專案輔導") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "專案輔導"); sb2.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:專案輔導", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:專案輔導", "", "1"); } } } if (ir.Contains("輔導方式:導師輔導")) { if (ir.GetValue("輔導方式:導師輔導") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "導師輔導"); sb2.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:導師輔導", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:導師輔導", "", "1"); } } } if (ir.Contains("輔導方式:轉介")) { if (ir.GetValue("輔導方式:轉介") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "轉介"); if (ir.Contains("輔導方式:轉介備註")) { elm.SetAttributeValue("remark", ir.GetValue("輔導方式:轉介備註")); } sb2.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:轉介備註", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:轉介備註", "", "1"); } } } if (ir.Contains("輔導方式:就醫")) { if (ir.GetValue("輔導方式:就醫") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "就醫"); if (ir.Contains("輔導方式:就醫備註")) { elm.SetAttributeValue("remark", ir.GetValue("輔導方式:就醫備註")); } sb2.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:就醫", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:就醫", "", "1"); } } } if (ir.Contains("輔導方式:其它")) { if (ir.GetValue("輔導方式:其它") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "其它"); if (ir.Contains("輔導方式:其它備註")) { elm.SetAttributeValue("remark", ir.GetValue("輔導方式:其它備註")); } sb2.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:其它", "1"); _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:其它備註", ir.GetValue("輔導方式:其它備註")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:其它", "", "1"); _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:其它備註", "", ir.GetValue("輔導方式:其它備註")); } } } CounselStudentInterviewRecord.CounselType = sb2.ToString(); StringBuilder sb3 = new StringBuilder(); if (ir.Contains("輔導歸類:違規")) { if (ir.GetValue("輔導歸類:違規") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "違規"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:違規", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:違規", "", "1"); } } } if (ir.Contains("輔導歸類:遲曠")) { if (ir.GetValue("輔導歸類:遲曠") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "遲曠"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:遲曠", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:遲曠", "", "1"); } } } if (ir.Contains("輔導歸類:學習")) { if (ir.GetValue("輔導歸類:學習") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "學習"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:學習", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:學習", "", "1"); } } } if (ir.Contains("輔導歸類:生涯")) { if (ir.GetValue("輔導歸類:生涯") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "生涯"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:生涯", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:生涯", "", "1"); } } } if (ir.Contains("輔導歸類:人")) { if (ir.GetValue("輔導歸類:人") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "人"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:人", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:人", "", "1"); } } } if (ir.Contains("輔導歸類:休退轉")) { if (ir.GetValue("輔導歸類:休退轉") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "休退轉"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:休退轉", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:休退轉", "", "1"); } } } if (ir.Contains("輔導歸類:家庭")) { if (ir.GetValue("輔導歸類:家庭") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "家庭"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:家庭", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:家庭", "", "1"); } } } if (ir.Contains("輔導歸類:師生")) { if (ir.GetValue("輔導歸類:師生") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "師生"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:師生", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:師生", "", "1"); } } } if (ir.Contains("輔導歸類:情感")) { if (ir.GetValue("輔導歸類:情感") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "情感"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:情感", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:情感", "", "1"); } } } if (ir.Contains("輔導歸類:精神")) { if (ir.GetValue("輔導歸類:精神") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "精神"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:精神", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:精神", "", "1"); } } } if (ir.Contains("輔導歸類:家暴")) { if (ir.GetValue("輔導歸類:家暴") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "家暴"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:家暴", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:家暴", "", "1"); } } } if (ir.Contains("輔導歸類:霸凌")) { if (ir.GetValue("輔導歸類:霸凌") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "霸凌"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:霸凌", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:霸凌", "", "1"); } } } if (ir.Contains("輔導歸類:中輟")) { if (ir.GetValue("輔導歸類:中輟") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "中輟"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:中輟", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:中輟", "", "1"); } } } if (ir.Contains("輔導歸類:性議題")) { if (ir.GetValue("輔導歸類:性議題") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "性議題"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:性議題", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:性議題", "", "1"); } } } if (ir.Contains("輔導歸類:戒毒")) { if (ir.GetValue("輔導歸類:戒毒") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "戒毒"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:戒毒", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:戒毒", "", "1"); } } } if (ir.Contains("輔導歸類:網路成癮")) { if (ir.GetValue("輔導歸類:網路成癮") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "網路成癮"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:網路成癮", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:網路成癮", "", "1"); } } } if (ir.Contains("輔導歸類:情緒障礙")) { if (ir.GetValue("輔導歸類:情緒障礙") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "情緒障礙"); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:情緒障礙", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:情緒障礙", "", "1"); } } } if (ir.Contains("輔導歸類:其它")) { if (ir.GetValue("輔導歸類:其它") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "其它"); if (ir.Contains("輔導歸類:其它備註")) { elm.SetAttributeValue("remark", ir.GetValue("輔導歸類:其它備註")); } sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:其它", "1"); _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:其它備註", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:其它", "", "1"); _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:其它備註", "", ir.GetValue("輔導歸類:其它備註")); } } } CounselStudentInterviewRecord.CounselTypeKind = sb3.ToString(); if (ir.Contains("內容要點")) { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "內容要點", ir.GetValue("內容要點")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "內容要點", CounselStudentInterviewRecord.ContentDigest, ir.GetValue("內容要點")); } CounselStudentInterviewRecord.ContentDigest = ir.GetValue("內容要點"); } if (ir.Contains("記錄者姓名")) { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "記錄者姓名", ir.GetValue("記錄者姓名")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "記錄者姓名", CounselStudentInterviewRecord.AuthorName, ir.GetValue("記錄者姓名")); } CounselStudentInterviewRecord.AuthorName = ir.GetValue("記錄者姓名"); } if (ir.Contains("記錄者")) { // 檢查記錄者如果空的用記錄者姓名比對,有比對到填入記錄者 if (string.IsNullOrEmpty(ir.GetValue("記錄者"))) { if (teacherNameLoginIDDict.ContainsKey(CounselStudentInterviewRecord.AuthorName)) { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "記錄者", ir.GetValue("記錄者")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "記錄者", CounselStudentInterviewRecord.AuthorID, teacherNameLoginIDDict[CounselStudentInterviewRecord.AuthorName]); } CounselStudentInterviewRecord.AuthorID = teacherNameLoginIDDict[CounselStudentInterviewRecord.AuthorName]; } } else { if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "記錄者", ir.GetValue("記錄者")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "記錄者", CounselStudentInterviewRecord.AuthorID, ir.GetValue("記錄者")); } CounselStudentInterviewRecord.AuthorID = ir.GetValue("記錄者"); } } if (string.IsNullOrEmpty(CounselStudentInterviewRecord.UID)) { InsertData.Add(CounselStudentInterviewRecord); } else { UpdateData.Add(CounselStudentInterviewRecord); } } } if (InsertData.Count > 0) { _UDTTransfer.InstallCounselStudentInterviewRecordList(InsertData); } if (UpdateData.Count > 0) { _UDTTransfer.UpdateCounselStudentInterviewRecordList(UpdateData); } // log Dictionary <string, Dictionary <string, Dictionary <string, string> > > insertLogDict = _LogTransfer.GetBatchInsertLog(); Dictionary <string, Dictionary <string, Dictionary <string, string> > > updateLogDict = _LogTransfer.GetBatchUpdateLog(); string TitleName = "匯入晤談紀錄"; // 處理 log 細項 foreach (KeyValuePair <string, string> data in StudentNameDict) { if (insertLogDict.Count > 0) { if (insertLogDict.ContainsKey(data.Key)) { foreach (KeyValuePair <string, Dictionary <string, string> > d1 in insertLogDict[data.Key]) { StringBuilder sb = new StringBuilder(); sb.AppendLine(TitleName + "-新增"); sb.AppendLine(data.Value); foreach (KeyValuePair <string, string> d2 in d1.Value) { sb.AppendLine(d2.Key + ":" + d2.Value); } if (LogData.ContainsKey(data.Key)) { LogData[data.Key].AppendLine(); LogData[data.Key].AppendLine(sb.ToString()); } else { LogData.Add(data.Key, sb); } } } } if (updateLogDict.Count > 0) { if (updateLogDict.ContainsKey(data.Key)) { foreach (KeyValuePair <string, Dictionary <string, string> > d1 in updateLogDict[data.Key]) { StringBuilder sb = new StringBuilder(); sb.AppendLine(TitleName + "-修改"); sb.AppendLine(data.Value); foreach (KeyValuePair <string, string> d2 in d1.Value) { sb.AppendLine(d2.Key + ":" + d2.Value); } if (LogData.ContainsKey(data.Key)) { LogData[data.Key].AppendLine(); LogData[data.Key].AppendLine(sb.ToString()); } else { LogData.Add(data.Key, sb); } } } } } // 寫入 log DAO.LogTransfer log = new DAO.LogTransfer(); foreach (KeyValuePair <string, StringBuilder> data in LogData) { log.SaveLog("輔導系統." + TitleName, "匯入", "student", data.Key, data.Value); } StringBuilder sbT = new StringBuilder(); sbT.AppendLine(TitleName); sbT.AppendLine("總共匯入" + LogData.Keys.Count + "位學生 , 共" + TotalCount + "筆"); sbT.AppendLine("匯入學生名單.."); foreach (KeyValuePair <string, string> data in StudentNameDict) { if (LogData.ContainsKey(data.Key)) { sbT.AppendLine(data.Value); } } log.SaveLog("輔導系統." + TitleName, "匯入", "", "", sbT); return(""); }
private void btnDel_Click(object sender, EventArgs e) { if (lvInterview.SelectedItems.Count > 0) { DAO.UDT_CounselStudentInterviewRecordDef studInterviewRec = lvInterview.SelectedItems[0].Tag as DAO.UDT_CounselStudentInterviewRecordDef; if (studInterviewRec != null) { DAO.LogTransfer logTransfer = new DAO.LogTransfer(); string teacherName = lvInterview.SelectedItems[0].SubItems[colTeacherID.Index].Text; K12.Data.StudentRecord studRec = K12.Data.Student.SelectByID(PrimaryKey); StringBuilder logData = new StringBuilder(); logData.AppendLine("刪除" + Utility.ConvertString1(studRec)); // 取得 XML 解析後 Dictionary <string, string> item_AttendessDict = Utility.GetConvertCounselXMLVal_Attendees(studInterviewRec.Attendees); Dictionary <string, string> item_CounselTypeDict = Utility.GetConvertCounselXMLVal_CounselType(studInterviewRec.CounselType); Dictionary <string, string> item_CounselTypeKindDict = Utility.GetConvertCounselXMLVal_CounselTypeKind(studInterviewRec.CounselTypeKind); if (FISCA.Presentation.Controls.MsgBox.Show("請問是否確定是刪除晤談紀錄?", "刪除晤談紀錄", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { // log logData.AppendLine("晤談老師:" + teacherName); logData.AppendLine("晤談對象:" + studInterviewRec.IntervieweeType); logData.AppendLine("晤談方式:" + studInterviewRec.InterviewType); if (studInterviewRec.InterviewDate.HasValue) { logData.AppendLine("日期:" + studInterviewRec.InterviewDate.Value.ToShortDateString()); } logData.AppendLine("時間:" + studInterviewRec.InterviewTime); logData.AppendLine("地點:" + studInterviewRec.Place); logData.AppendLine("晤談編號:" + studInterviewRec.InterviewNo); logData.AppendLine("晤談事由:" + studInterviewRec.Cause); logData.AppendLine("參與人員:"); foreach (KeyValuePair <string, string> data in item_AttendessDict) { if (!string.IsNullOrEmpty(data.Value)) { logData.AppendLine(data.Key + ":" + data.Value); } } logData.AppendLine("輔導方式:"); foreach (KeyValuePair <string, string> data in item_CounselTypeDict) { if (!string.IsNullOrEmpty(data.Value)) { logData.AppendLine(data.Key + ":" + data.Value); } } logData.AppendLine("輔導歸類:"); foreach (KeyValuePair <string, string> data in item_CounselTypeKindDict) { if (!string.IsNullOrEmpty(data.Value)) { logData.AppendLine(data.Key + ":" + data.Value); } } logData.AppendLine("內容要點:" + studInterviewRec.ContentDigest); logData.AppendLine("記錄者:" + studInterviewRec.AuthorID); logData.AppendLine("記錄者姓名:" + studInterviewRec.AuthorName); _UDTTransfer.DeleteCounselStudentInterviewRecord(studInterviewRec); logTransfer.SaveLog("學生.輔導晤談紀錄-刪除", "刪除", "student", PrimaryKey, logData); _BGRun(); } } } else { FISCA.Presentation.Controls.MsgBox.Show("請選擇資料."); } }
public override string Import(List<Campus.DocumentValidator.IRowStream> Rows) { List<DAO.UDT_CounselStudentInterviewRecordDef> InsertData = new List<DAO.UDT_CounselStudentInterviewRecordDef>(); List<DAO.UDT_CounselStudentInterviewRecordDef> UpdateData = new List<DAO.UDT_CounselStudentInterviewRecordDef>(); List<DAO.UDT_CounselStudentInterviewRecordDef> HasData = new List<DAO.UDT_CounselStudentInterviewRecordDef>(); // -- 處理 log Dictionary<string, StringBuilder> LogData = new Dictionary<string, StringBuilder>(); // 學生ID List List<int> studIdList = new List<int>(); foreach (IRowStream ir in Rows) { int i; if (ir.Contains("學號") && ir.Contains("狀態")) { if (int.TryParse(Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")).ToString(), out i)) studIdList.Add(i); } } // 取得學生名稱log 用 Dictionary<string, string> StudentNameDict = new Dictionary<string, string>(); foreach (KeyValuePair<int, string> data in Utility.GetConvertStringDict1fromDB(studIdList)) StudentNameDict.Add(data.Key.ToString(), data.Value); DAO.LogTransfer _LogTransfer = new DAO.LogTransfer(); List<string> StudentIDList = new List<string>(); // 取得學生狀態對應 foreach (IRowStream ir in Rows) { if (ir.Contains("學號") && ir.Contains("狀態")) StudentIDList.Add(Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")).ToString()); } // 已有資料 HasData = _UDTTransfer.GetCounselStudentInterviewRecordByStudentIDList(StudentIDList); // 取得教師帳號比對用 Dictionary<string, string> teacherNameLoginIDDict = Utility.GetTeacherNameLoginIDStatus1(); int TotalCount = 0,NewIdx = 0; foreach (IRowStream ir in Rows) { TotalCount++; this.ImportProgress = TotalCount; DAO.UDT_CounselStudentInterviewRecordDef CounselStudentInterviewRecord = null; int sid = 0; if (ir.Contains("學號") && ir.Contains("狀態")) { string key = ir.GetValue("學號") + "_"; if (Global._StudentStatusDBDict.ContainsKey(ir.GetValue("狀態"))) sid = Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")); DateTime dt; // 當同一位學生有相同會議日期與會議事由,當作是更新,否則新增 if (DateTime.TryParse(ir.GetValue("日期"), out dt)) { foreach (DAO.UDT_CounselStudentInterviewRecordDef rec in HasData.Where(x => x.StudentID == sid)) { if (rec.InterviewDate.HasValue) if (rec.InterviewDate.Value.ToShortDateString() == dt.ToShortDateString()) if (rec.Cause == ir.GetValue("晤談事由")) CounselStudentInterviewRecord = rec; } } bool isNew = false; if (CounselStudentInterviewRecord == null) { CounselStudentInterviewRecord = new DAO.UDT_CounselStudentInterviewRecordDef(); isNew = true; NewIdx++; } string StudID = sid.ToString(); string insertKey = "A" + NewIdx; // 學生編號 CounselStudentInterviewRecord.StudentID = sid; // 日期 CounselStudentInterviewRecord.InterviewDate = dt; // 晤談老師 if (Global._AllTeacherNameIdDictTemp.ContainsKey(ir.GetValue("晤談老師"))) CounselStudentInterviewRecord.TeacherID = Global._AllTeacherNameIdDictTemp[ir.GetValue("晤談老師")]; if (ir.Contains("晤談編號")) { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "晤談編號", ir.GetValue("晤談編號")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "晤談編號", CounselStudentInterviewRecord.InterviewNo, ir.GetValue("晤談編號")); CounselStudentInterviewRecord.InterviewNo = ir.GetValue("晤談編號"); } // 晤談方式 if (ir.Contains("晤談方式")) { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "晤談方式", ir.GetValue("晤談方式")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "晤談方式", CounselStudentInterviewRecord.InterviewType, ir.GetValue("晤談方式")); CounselStudentInterviewRecord.InterviewType = ir.GetValue("晤談方式"); } // 晤談對象 if (ir.Contains("晤談對象")) { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "晤談對象", ir.GetValue("晤談對象")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "晤談對象", CounselStudentInterviewRecord.IntervieweeType, ir.GetValue("晤談對象")); CounselStudentInterviewRecord.IntervieweeType = ir.GetValue("晤談對象"); } if (ir.Contains("時間")) { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "時間", ir.GetValue("時間")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "時間", CounselStudentInterviewRecord.InterviewTime, ir.GetValue("時間")); CounselStudentInterviewRecord.InterviewTime = ir.GetValue("時間"); } if (ir.Contains("地點")) { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "地點", ir.GetValue("地點")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "地點", CounselStudentInterviewRecord.Place, ir.GetValue("地點")); CounselStudentInterviewRecord.Place = ir.GetValue("地點"); } if (ir.Contains("晤談事由")) { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "晤談事由", ir.GetValue("晤談事由")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "晤談事由", CounselStudentInterviewRecord.Cause, ir.GetValue("晤談事由")); CounselStudentInterviewRecord.Cause = ir.GetValue("晤談事由"); } StringBuilder sb1 = new StringBuilder(); if (ir.Contains("參與人員:學生")) if (ir.GetValue("參與人員:學生") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "學生"); sb1.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:學生", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:學生", "", "1"); } if (ir.Contains("參與人員:家長")) if (ir.GetValue("參與人員:家長") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "家長"); sb1.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:家長", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:家長", "", "1"); } if (ir.Contains("參與人員:專家")) if (ir.GetValue("參與人員:專家") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "專家"); sb1.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:專家", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:專家", "", "1"); } if (ir.Contains("參與人員:醫師")) if (ir.GetValue("參與人員:醫師") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "醫師"); sb1.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:醫師", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:醫師", "", "1"); } if (ir.Contains("參與人員:社工人員")) if (ir.GetValue("參與人員:社工人員") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "社工人員"); sb1.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:社工人員", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:社工人員", "", "1"); } if (ir.Contains("參與人員:導師")) if (ir.GetValue("參與人員:導師") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "導師"); sb1.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:導師", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:導師", "", "1"); } if (ir.Contains("參與人員:教官")) if (ir.GetValue("參與人員:教官") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "教官"); sb1.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:教官", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:教官", "", "1"); } if (ir.Contains("參與人員:輔導老師")) if (ir.GetValue("參與人員:輔導老師") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "輔導老師"); sb1.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:輔導老師", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:輔導老師", "", "1"); } if (ir.Contains("參與人員:任課老師")) if (ir.GetValue("參與人員:任課老師") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "任課老師"); sb1.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:任課老師", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:任課老師", "", "1"); } if (ir.Contains("參與人員:其它")) if (ir.GetValue("參與人員:其它") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "其它"); if (ir.Contains("參與人員:其它備註")) elm.SetAttributeValue("remark", ir.GetValue("參與人員:其它備註")); sb1.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:其它", "1"); _LogTransfer.AddBatchInsertLog(StudID, insertKey, "參與人員:其它備註", ir.GetValue("參與人員:其它備註")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:其它", "", "1"); _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "參與人員:其它備註", "", ir.GetValue("參與人員:其它備註")); } } CounselStudentInterviewRecord.Attendees = sb1.ToString(); StringBuilder sb2 = new StringBuilder(); if (ir.Contains("輔導方式:暫時結案")) if (ir.GetValue("輔導方式:暫時結案") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "暫時結案"); sb2.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:暫時結案", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:暫時結案", "", "1"); } if (ir.Contains("輔導方式:專案輔導")) if (ir.GetValue("輔導方式:專案輔導") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "專案輔導"); sb2.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:專案輔導", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:專案輔導", "", "1"); } if (ir.Contains("輔導方式:導師輔導")) if (ir.GetValue("輔導方式:導師輔導") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "導師輔導"); sb2.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:導師輔導", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:導師輔導", "", "1"); } if (ir.Contains("輔導方式:轉介")) if (ir.GetValue("輔導方式:轉介") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "轉介"); if (ir.Contains("輔導方式:轉介備註")) elm.SetAttributeValue("remark", ir.GetValue("輔導方式:轉介備註")); sb2.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:轉介備註", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:轉介備註", "", "1"); } if (ir.Contains("輔導方式:就醫")) if (ir.GetValue("輔導方式:就醫") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "就醫"); if (ir.Contains("輔導方式:就醫備註")) elm.SetAttributeValue("remark", ir.GetValue("輔導方式:就醫備註")); sb2.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:就醫", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:就醫", "", "1"); } if (ir.Contains("輔導方式:其它")) if (ir.GetValue("輔導方式:其它") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "其它"); if (ir.Contains("輔導方式:其它備註")) elm.SetAttributeValue("remark", ir.GetValue("輔導方式:其它備註")); sb2.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:其它", "1"); _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導方式:其它備註", ir.GetValue("輔導方式:其它備註")); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:其它", "", "1"); _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導方式:其它備註", "", ir.GetValue("輔導方式:其它備註")); } } CounselStudentInterviewRecord.CounselType = sb2.ToString(); StringBuilder sb3 = new StringBuilder(); if (ir.Contains("輔導歸類:違規")) if (ir.GetValue("輔導歸類:違規") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "違規"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:違規", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:違規", "", "1"); } if (ir.Contains("輔導歸類:遲曠")) if (ir.GetValue("輔導歸類:遲曠") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "遲曠"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:遲曠", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:遲曠", "", "1"); } if (ir.Contains("輔導歸類:學習")) if (ir.GetValue("輔導歸類:學習") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "學習"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:學習", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:學習", "", "1"); } if (ir.Contains("輔導歸類:生涯")) if (ir.GetValue("輔導歸類:生涯") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "生涯"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:生涯", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:生涯", "", "1"); } if (ir.Contains("輔導歸類:人")) if (ir.GetValue("輔導歸類:人") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "人"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:人", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:人", "", "1"); } if (ir.Contains("輔導歸類:休退轉")) if (ir.GetValue("輔導歸類:休退轉") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "休退轉"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:休退轉", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:休退轉", "", "1"); } if (ir.Contains("輔導歸類:家庭")) if (ir.GetValue("輔導歸類:家庭") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "家庭"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:家庭", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:家庭", "", "1"); } if (ir.Contains("輔導歸類:師生")) if (ir.GetValue("輔導歸類:師生") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "師生"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:師生", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:師生", "", "1"); } if (ir.Contains("輔導歸類:情感")) if (ir.GetValue("輔導歸類:情感") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "情感"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:情感", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:情感", "", "1"); } if (ir.Contains("輔導歸類:精神")) if (ir.GetValue("輔導歸類:精神") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "精神"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:精神", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:精神", "", "1"); } if (ir.Contains("輔導歸類:家暴")) if (ir.GetValue("輔導歸類:家暴") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "家暴"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:家暴", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:家暴", "", "1"); } if (ir.Contains("輔導歸類:霸凌")) if (ir.GetValue("輔導歸類:霸凌") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "霸凌"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:霸凌", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:霸凌", "", "1"); } if (ir.Contains("輔導歸類:中輟")) if (ir.GetValue("輔導歸類:中輟") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "中輟"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:中輟", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:中輟", "", "1"); } if (ir.Contains("輔導歸類:性議題")) if (ir.GetValue("輔導歸類:性議題") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "性議題"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:性議題", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:性議題", "", "1"); } if (ir.Contains("輔導歸類:戒毒")) if (ir.GetValue("輔導歸類:戒毒") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "戒毒"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:戒毒", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:戒毒", "", "1"); } if (ir.Contains("輔導歸類:網路成癮")) if (ir.GetValue("輔導歸類:網路成癮") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "網路成癮"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:網路成癮", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:網路成癮", "", "1"); } if (ir.Contains("輔導歸類:情緒障礙")) if (ir.GetValue("輔導歸類:情緒障礙") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "情緒障礙"); sb3.Append(elm.ToString()); if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:情緒障礙", "1"); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:情緒障礙", "", "1"); } if (ir.Contains("輔導歸類:其它")) if (ir.GetValue("輔導歸類:其它") == "1") { XElement elm = new XElement("Item"); elm.SetAttributeValue("name", "其它"); if (ir.Contains("輔導歸類:其它備註")) elm.SetAttributeValue("remark", ir.GetValue("輔導歸類:其它備註")); sb3.Append(elm.ToString()); if (isNew) { _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:其它", "1"); _LogTransfer.AddBatchInsertLog(StudID, insertKey, "輔導歸類:其它備註", "1"); } else { _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:其它", "", "1"); _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "輔導歸類:其它備註", "", ir.GetValue("輔導歸類:其它備註")); } } CounselStudentInterviewRecord.CounselTypeKind = sb3.ToString(); if (ir.Contains("內容要點")) { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "內容要點", ir.GetValue("內容要點")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "內容要點", CounselStudentInterviewRecord.ContentDigest,ir.GetValue("內容要點")); CounselStudentInterviewRecord.ContentDigest = ir.GetValue("內容要點"); } if (ir.Contains("記錄者姓名")) { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "記錄者姓名", ir.GetValue("記錄者姓名")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "記錄者姓名", CounselStudentInterviewRecord.AuthorName, ir.GetValue("記錄者姓名")); CounselStudentInterviewRecord.AuthorName = ir.GetValue("記錄者姓名"); } if (ir.Contains("記錄者")) { // 檢查記錄者如果空的用記錄者姓名比對,有比對到填入記錄者 if (string.IsNullOrEmpty(ir.GetValue("記錄者"))) { if (teacherNameLoginIDDict.ContainsKey(CounselStudentInterviewRecord.AuthorName)) { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "記錄者", ir.GetValue("記錄者")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "記錄者", CounselStudentInterviewRecord.AuthorID, teacherNameLoginIDDict[CounselStudentInterviewRecord.AuthorName]); CounselStudentInterviewRecord.AuthorID = teacherNameLoginIDDict[CounselStudentInterviewRecord.AuthorName]; } } else { if (isNew) _LogTransfer.AddBatchInsertLog(StudID, insertKey, "記錄者", ir.GetValue("記錄者")); else _LogTransfer.AddBatchUpdateLog(StudID, CounselStudentInterviewRecord.UID, "記錄者", CounselStudentInterviewRecord.AuthorID, ir.GetValue("記錄者")); CounselStudentInterviewRecord.AuthorID = ir.GetValue("記錄者"); } } if (string.IsNullOrEmpty(CounselStudentInterviewRecord.UID)) InsertData.Add(CounselStudentInterviewRecord); else UpdateData.Add(CounselStudentInterviewRecord); } } if (InsertData.Count > 0) { _UDTTransfer.InstallCounselStudentInterviewRecordList(InsertData); } if (UpdateData.Count > 0) _UDTTransfer.UpdateCounselStudentInterviewRecordList(UpdateData); // log Dictionary<string, Dictionary<string, Dictionary<string, string>>> insertLogDict = _LogTransfer.GetBatchInsertLog(); Dictionary<string, Dictionary<string, Dictionary<string, string>>> updateLogDict = _LogTransfer.GetBatchUpdateLog(); string TitleName = "匯入晤談紀錄"; // 處理 log 細項 foreach (KeyValuePair<string, string> data in StudentNameDict) { if (insertLogDict.Count > 0) { if (insertLogDict.ContainsKey(data.Key)) { foreach (KeyValuePair<string, Dictionary<string, string>> d1 in insertLogDict[data.Key]) { StringBuilder sb = new StringBuilder(); sb.AppendLine(TitleName + "-新增"); sb.AppendLine(data.Value); foreach (KeyValuePair<string, string> d2 in d1.Value) sb.AppendLine(d2.Key + ":" + d2.Value); if (LogData.ContainsKey(data.Key)) { LogData[data.Key].AppendLine(); LogData[data.Key].AppendLine(sb.ToString()); } else LogData.Add(data.Key, sb); } } } if (updateLogDict.Count > 0) { if (updateLogDict.ContainsKey(data.Key)) { foreach (KeyValuePair<string, Dictionary<string, string>> d1 in updateLogDict[data.Key]) { StringBuilder sb = new StringBuilder(); sb.AppendLine(TitleName + "-修改"); sb.AppendLine(data.Value); foreach (KeyValuePair<string, string> d2 in d1.Value) sb.AppendLine(d2.Key + ":" + d2.Value); if (LogData.ContainsKey(data.Key)) { LogData[data.Key].AppendLine(); LogData[data.Key].AppendLine(sb.ToString()); } else LogData.Add(data.Key, sb); } } } } // 寫入 log DAO.LogTransfer log = new DAO.LogTransfer(); foreach (KeyValuePair<string, StringBuilder> data in LogData) log.SaveLog("輔導系統." + TitleName, "匯入", "student", data.Key, data.Value); StringBuilder sbT = new StringBuilder(); sbT.AppendLine(TitleName); sbT.AppendLine("總共匯入" + LogData.Keys.Count + "位學生 , 共" + TotalCount + "筆"); sbT.AppendLine("匯入學生名單.."); foreach (KeyValuePair<string, string> data in StudentNameDict) if (LogData.ContainsKey(data.Key)) sbT.AppendLine(data.Value); log.SaveLog("輔導系統." + TitleName, "匯入", "", "", sbT); return ""; }