Ejemplo n.º 1
0
        private void btn_Save_Click(object sender, EventArgs e)
        {
            if (dgData.Rows.Count < 1)
            {
                return;
            }


            XmlElement XmlElems = new XmlDocument().CreateElement("Data");

            foreach (DataGridViewRow gvr in dgData.Rows)
            {
                if (gvr.IsNewRow)
                {
                    continue;
                }

                XmlElement xlm = XmlElems.OwnerDocument.CreateElement("Data");
                if (gvr.Cells[0] != null)
                {
                    xlm.SetAttribute("FieldName", gvr.Cells[0].Value + "");
                }

                if (gvr.Cells[1] != null)
                {
                    xlm.SetAttribute("StudTag", gvr.Cells[1].Value + "");
                }

                if (gvr.Cells[2] != null)
                {
                    xlm.SetAttribute("ItemName", gvr.Cells[2].Value + "");
                }

                if (gvr.Cells[3] != null)
                {
                    xlm.SetAttribute("ItemValue", gvr.Cells[3].Value + "");
                }
                XmlElems.AppendChild(xlm);
            }

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(XmlElems.OuterXml);
            StudSBTManager.SaveDataToSystem(doc);
            //doc.Save("c:\\StudentJSBT_conf.xml");
            FISCA.Presentation.Controls.MsgBox.Show("儲存成功.");
            lblMsg.Visible = false;
            this.Close();
        }
Ejemplo n.º 2
0
        private void SetStudTagComparisonForm_Load(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = StudSBTManager.GetDataFormSystem();


            if (xmlDoc == null)
            {
                return;
            }

            if (xmlDoc.SelectSingleNode("Data") != null)
            {
                foreach (XmlElement xe in xmlDoc.SelectSingleNode("Data"))
                {
                    dgData.Rows.Add(xe.GetAttribute("FieldName"), xe.GetAttribute("StudTag"), xe.GetAttribute("ItemName"), xe.GetAttribute("ItemValue"));
                }
            }

            lblMsg.Visible = false;
        }
Ejemplo n.º 3
0
        public static List <StudInfoEntity> GetStudentEntityList(List <string> StudentIDList)
        {
            Dictionary <string, string> StudTagDic  = new Dictionary <string, string>();
            Dictionary <string, string> StudItemDic = new Dictionary <string, string>();

            Global._tempPhomeDict.Clear();

            // 取得對照表
            XmlDocument doc = StudSBTManager.GetDataFormSystem();

            if (doc != null)
            {
                if (doc.SelectSingleNode("Data") != null)
                {
                    foreach (XmlElement xe in doc.SelectSingleNode("Data"))
                    {
                        string StudTags = xe.GetAttribute("StudTag").Trim();
                        StudTags = StudTags.Replace(',', ',');
                        StudTags = StudTags.Replace(':', ':');

                        string[] StudTagsArr = StudTags.Split(',');


                        if (!string.IsNullOrEmpty(StudTags))
                        {
                            foreach (string str in StudTagsArr)
                            {
                                if (!StudTagDic.ContainsKey(str))
                                {
                                    StudTagDic.Add(str, xe.GetAttribute("FieldName") + xe.GetAttribute("ItemName"));
                                }
                            }
                        }

                        if (!string.IsNullOrEmpty(xe.GetAttribute("FieldName")) && !string.IsNullOrEmpty(xe.GetAttribute("ItemName")))
                        {
                            string Item = xe.GetAttribute("FieldName") + xe.GetAttribute("ItemName");
                            if (!StudItemDic.ContainsKey(Item))
                            {
                                StudItemDic.Add(Item, xe.GetAttribute("ItemValue"));
                            }
                        }
                    }
                }
            }

            List <StudInfoEntity> StudInfoEntityList = new List <StudInfoEntity>();

            // 建立相關讀取用到資訊

            Dictionary <string, JHLeaveInfoRecord> LeaveInfoRecordDic  = new Dictionary <string, JHLeaveInfoRecord>();
            Dictionary <string, List <string> >    StudentTagRecordDic = new Dictionary <string, List <string> >();
            Dictionary <string, JHPhoneRecord>     PhoneRecordDic      = new Dictionary <string, JHPhoneRecord>();
            Dictionary <string, JHParentRecord>    ParentRecordDic     = new Dictionary <string, JHParentRecord>();
            Dictionary <string, JHAddressRecord>   AddressRecordDic    = new Dictionary <string, JHAddressRecord>();

            // 畢業資訊
            foreach (JHLeaveInfoRecord lir in JHLeaveIfno.SelectByStudentIDs(StudentIDList))
            {
                if (!LeaveInfoRecordDic.ContainsKey(lir.RefStudentID))
                {
                    LeaveInfoRecordDic.Add(lir.RefStudentID, lir);
                }
            }

            // 學生 Tag
            foreach (JHStudentTagRecord str in JHStudentTag.SelectByStudentIDs(StudentIDList))
            {
                string strS = str.FullName;
                if (StudentTagRecordDic.ContainsKey(str.RefStudentID))
                {
                    StudentTagRecordDic[str.RefStudentID].Add(strS);
                }
                else
                {
                    List <string> strList = new List <string>();
                    strList.Add(strS);
                    StudentTagRecordDic.Add(str.RefStudentID, strList);
                }
            }
            // 電話資訊
            foreach (JHPhoneRecord pr in JHPhone.SelectByStudentIDs(StudentIDList))
            {
                if (!PhoneRecordDic.ContainsKey(pr.RefStudentID))
                {
                    PhoneRecordDic.Add(pr.RefStudentID, pr);
                }
                if (!Global._tempPhomeDict.ContainsKey(pr.RefStudentID))
                {
                    Global._tempPhomeDict.Add(pr.RefStudentID, new Dictionary <string, string>());
                }

                Global._tempPhomeDict[pr.RefStudentID].Add("戶籍電話", pr.Permanent);
                Global._tempPhomeDict[pr.RefStudentID].Add("聯絡電話", pr.Contact);
            }
            // 父母及監護人資訊
            foreach (JHParentRecord pr in JHParent.SelectByStudentIDs(StudentIDList))
            {
                if (!ParentRecordDic.ContainsKey(pr.RefStudentID))
                {
                    ParentRecordDic.Add(pr.RefStudentID, pr);
                }

                if (!Global._tempPhomeDict.ContainsKey(pr.RefStudentID))
                {
                    Global._tempPhomeDict.Add(pr.RefStudentID, new Dictionary <string, string>());
                }

                Global._tempPhomeDict[pr.RefStudentID].Add("父親電話", pr.FatherPhone);
                Global._tempPhomeDict[pr.RefStudentID].Add("母親電話", pr.MotherPhone);
                Global._tempPhomeDict[pr.RefStudentID].Add("監護人電話", pr.CustodianPhone);
            }

            // 地址
            foreach (JHAddressRecord ar in JHAddress.SelectByStudentIDs(StudentIDList))
            {
                if (!AddressRecordDic.ContainsKey(ar.RefStudentID))
                {
                    AddressRecordDic.Add(ar.RefStudentID, ar);
                }
            }

            foreach (JHStudentRecord studRec in JHStudent.SelectByIDs(StudentIDList))
            {
                if (studRec.Status == K12.Data.StudentRecord.StudentStatus.一般 || studRec.Status == K12.Data.StudentRecord.StudentStatus.輟學)
                {
                    StudInfoEntity sie = new StudInfoEntity();
                    // 初始
                    sie.ClassName = sie.SeatNo = string.Empty;

                    if (studRec.Class != null)
                    {
                        sie.ClassName = string.Format("{0:00}", studRec.Class.Name);
                    }

                    sie.Gender   = studRec.Gender;
                    sie.IDNumber = studRec.IDNumber;
                    sie.Name     = studRec.Name;
                    if (studRec.SeatNo.HasValue)
                    {
                        sie.SeatNo = string.Format("{0:00}", studRec.SeatNo.Value);
                    }
                    sie.StudentID     = studRec.ID;
                    sie.StudentNumber = string.Format("{0:00000000}", studRec.StudentNumber);

                    // 填入資料
                    if (!string.IsNullOrEmpty(JHSchool.Data.JHSchoolInfo.Code))
                    {
                        string strSchoolCode = JHSchoolInfo.Code;

                        if (strSchoolCode.Length >= 6)
                        {
                            strSchoolCode = strSchoolCode.Substring(0, 6);
                        }

                        sie.SetDataCellEntity("學校代碼", 6, strSchoolCode);
                        sie.SetDataCellEntity("畢業學校代碼", 6, strSchoolCode);
                    }

                    string strNum;

                    if (sie.StudentNumber.Length >= 8)
                    {
                        strNum = sie.StudentNumber.Substring(0, 8);
                    }
                    else
                    {
                        strNum = sie.StudentNumber;
                        for (int i = 0; i < (8 - sie.StudentNumber.Length); i++)
                        {
                            strNum = "0" + strNum;
                        }
                    }

                    sie.SetDataCellEntity("學號", 8, strNum);
                    if (!string.IsNullOrEmpty(sie.ClassName))
                    {
                        if (sie.ClassName.Length >= 3)
                        {
                            sie.ClassName = sie.ClassName.Substring(1, 2);
                        }

                        if (sie.ClassName.Length >= 2)
                        {
                            sie.SetDataCellEntity("班級", 2, sie.ClassName.Substring(0, 2));
                        }
                        else
                        {
                            sie.SetDataCellEntity("班級", 2, "0" + sie.ClassName);
                        }
                    }

                    if (!string.IsNullOrEmpty(sie.SeatNo))
                    {
                        if (sie.SeatNo.Length > 0)
                        {
                            sie.SetDataCellEntity("座號", 2, sie.SeatNo.Substring(0, 2));
                        }
                        else
                        {
                            sie.SetDataCellEntity("座號", 2, "0" + sie.SeatNo);
                        }
                    }

                    string StudName = sie.Name.Trim();
                    if (StudName.Length == 2)
                    {
                        StudName = StudName.Substring(0, 1) + "  " + StudName.Substring(1, 1);
                    }

                    sie.SetDataCellEntity("學生姓名", 20, StudName);
                    sie.SetDataCellEntity("身分證號", 10, sie.IDNumber);

                    if (studRec.Gender == "男")
                    {
                        sie.SetDataCellEntity("性別", 1, "1");
                    }
                    if (studRec.Gender == "女")
                    {
                        sie.SetDataCellEntity("性別", 1, "2");
                    }

                    if (studRec.Birthday.HasValue)
                    {
                        sie.SetDataCellEntity("出生年", 2, string.Format("{0:00}", studRec.Birthday.Value.Year - 1911));
                        sie.SetDataCellEntity("出生月", 2, string.Format("{0:00}", studRec.Birthday.Value.Month));
                        sie.SetDataCellEntity("出生日", 2, string.Format("{0:00}", studRec.Birthday.Value.Day));
                    }

                    if (LeaveInfoRecordDic.ContainsKey(studRec.ID))
                    {
                        if (LeaveInfoRecordDic[studRec.ID].SchoolYear.HasValue)
                        {
                            sie.SetDataCellEntity("畢業年度", 2, LeaveInfoRecordDic[studRec.ID].SchoolYear.Value + "");
                        }
                        if (LeaveInfoRecordDic[studRec.ID].Reason == "畢業")
                        {
                            sie.SetDataCellEntity("畢肄業", 1, "1");
                        }
                        if (LeaveInfoRecordDic[studRec.ID].Reason == "修業")
                        {
                            sie.SetDataCellEntity("畢肄業", 1, "0");
                        }
                    }



                    if (ParentRecordDic.ContainsKey(studRec.ID))
                    {
                        string ParentName = ParentRecordDic[studRec.ID].CustodianName.Trim();

                        if (ParentName.Length == 2)
                        {
                            ParentName = ParentName.Substring(0, 1) + "  " + ParentName.Substring(1, 1);
                        }
                        sie.SetDataCellEntity("家長姓名", 20, ParentName);


                        //// 戶籍
                        //string strPhone=ParentRecordDic[studRec.ID].CustodianPhone.Replace ("(","");
                        //strPhone = strPhone.Replace(")", "");
                        //strPhone = strPhone.Replace("-", "");
                        string strPhone = "";
                        if (Global._tempPhomeDict.ContainsKey(sie.StudentID))
                        {
                            if (Global._tempPhomeDict[sie.StudentID].ContainsKey(Global.SelectPhoneType))
                            {
                                strPhone = Global._tempPhomeDict[sie.StudentID][Global.SelectPhoneType].Replace("(", "");;
                                strPhone = strPhone.Replace(")", "");
                                strPhone = strPhone.Replace("-", "");
                            }
                        }
                        sie.SetDataCellEntity("緊急連絡電話", 20, strPhone);
                    }

                    if (AddressRecordDic.ContainsKey(studRec.ID))
                    {
                        string strAddress = "";
                        if (_UseMailAddress)
                        {
                            sie.SetDataCellEntity("郵遞區號", 3, AddressRecordDic[studRec.ID].MailingZipCode);
                            strAddress = AddressRecordDic[studRec.ID].MailingCounty + AddressRecordDic[studRec.ID].MailingTown + AddressRecordDic[studRec.ID].MailingDistrict + AddressRecordDic[studRec.ID].MailingArea + AddressRecordDic[studRec.ID].MailingDetail;
                        }
                        else
                        {
                            sie.SetDataCellEntity("郵遞區號", 3, AddressRecordDic[studRec.ID].PermanentZipCode);
                            strAddress = AddressRecordDic[studRec.ID].PermanentCounty + AddressRecordDic[studRec.ID].PermanentTown + AddressRecordDic[studRec.ID].PermanentDistrict + AddressRecordDic[studRec.ID].PermanentArea + AddressRecordDic[studRec.ID].PermanentDetail;
                        }

                        sie.SetDataCellEntity("地址", 80, strAddress);
                    }


                    if (PhoneRecordDic.ContainsKey(studRec.ID))
                    {
                        sie.SetDataCellEntity("手機", 10, PhoneRecordDic[studRec.ID].Cell);
                    }

                    // default value
                    sie.SetDataCellEntity("學生身分", 1, "0");
                    sie.SetDataCellEntity("身心障礙", 1, "0");
                    sie.SetDataCellEntity("中低收入戶", 1, "0");
                    sie.SetDataCellEntity("低收入戶", 1, "0");
                    sie.SetDataCellEntity("失業勞工子女", 1, "0");

                    if (StudentTagRecordDic.ContainsKey(studRec.ID))
                    {
                        foreach (string str in StudentTagRecordDic[studRec.ID])
                        {
                            if (StudTagDic.ContainsKey(str))
                            {
                                if (StudItemDic.ContainsKey(StudTagDic[str]))
                                {
                                    if (StudTagDic[str].IndexOf("學生身分") > -1)
                                    {
                                        sie.SetDataCellEntity("學生身分", 1, StudItemDic[StudTagDic[str]]);
                                    }

                                    if (StudTagDic[str].IndexOf("身心障礙") > -1)
                                    {
                                        sie.SetDataCellEntity("身心障礙", 1, StudItemDic[StudTagDic[str]]);
                                    }

                                    if (StudTagDic[str].IndexOf("低收入戶") == 0)
                                    {
                                        sie.SetDataCellEntity("低收入戶", 1, StudItemDic[StudTagDic[str]]);
                                    }

                                    if (StudTagDic[str].IndexOf("中低收入戶") > -1)
                                    {
                                        sie.SetDataCellEntity("中低收入戶", 1, StudItemDic[StudTagDic[str]]);
                                    }

                                    if (StudTagDic[str].IndexOf("失業勞工子女") > -1)
                                    {
                                        sie.SetDataCellEntity("失業勞工子女", 1, StudItemDic[StudTagDic[str]]);
                                    }
                                }
                            }
                        }
                    }
                    StudInfoEntityList.Add(sie);
                }
            }

            return(StudInfoEntityList);
        }