From 2704d12aa4d9d438ba3763a09cac2c5d45daa88d Mon Sep 17 00:00:00 2001 From: "WIN-G7N5C0B818G\\Administrator" <971785472@qq.com> Date: Fri, 29 Jan 2021 08:27:58 +0800 Subject: [PATCH] =?UTF-8?q?2020-1-28=E5=AE=8C=E6=88=90=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StuMgmClient/Data.cs | 3 +- StuMgmClient/LoginForm.cs | 6 +- StuMgmClient/SelectFrom.cs | 89 ++++++++++++++++------------- StuMgmClient/SelectFrom.designer.cs | 3 +- StuMgmClient/SelectFrom.resx | 76 +++++++++++++++++------- StuMgmClient/StudentForm.cs | 7 +-- StuMgmClient/StudentTree.cs | 8 +-- StuMgmClient/SystemComm.cs | 23 ++++++++ StuMgmClient/SystemCtrl.cs | 57 +++++++++++++----- StuMgmClient/SystemData.cs | 1 + StuMgmClient/Utility.cs | 15 ++++- StuMgmLib/MyNameSpace/CommonData.cs | 83 +++++++++++++++++---------- 12 files changed, 252 insertions(+), 119 deletions(-) diff --git a/StuMgmClient/Data.cs b/StuMgmClient/Data.cs index 62ed029..99d4a3e 100644 --- a/StuMgmClient/Data.cs +++ b/StuMgmClient/Data.cs @@ -20,9 +20,10 @@ namespace StuMgmClient public enum ClientFunc { - VerifLogin = 1, + VerifyLogin = 1, GetCourseInfo, GetUserCourseInfo, + GetSelfUserCourseInfo } public enum Roles { diff --git a/StuMgmClient/LoginForm.cs b/StuMgmClient/LoginForm.cs index 47d48f8..60db972 100644 --- a/StuMgmClient/LoginForm.cs +++ b/StuMgmClient/LoginForm.cs @@ -50,7 +50,7 @@ namespace StuMgmClient private void btnSubmit_Click(object sender, EventArgs e) { - LvErr userRole; + Lvl userRole; int token; short job_id; if (VerifLogin(out job_id, out userRole, out token) != ErrCode.Success) @@ -58,7 +58,7 @@ namespace StuMgmClient switch (userRole) { - case LvErr.Student: + case Lvl.Student: ShowStudentForm(job_id, token); break; default: @@ -67,7 +67,7 @@ namespace StuMgmClient } } - ErrCode VerifLogin(out short job_id, out LvErr userRole, out int token) + ErrCode VerifLogin(out short job_id, out Lvl userRole, out int token) { job_id = 01943; //ErrCode errcode = SystemCtrl.VerifLogin(txtUserName.Text, txtPassWord.Text, out userRole, out token); diff --git a/StuMgmClient/SelectFrom.cs b/StuMgmClient/SelectFrom.cs index d252583..aa1bf3d 100644 --- a/StuMgmClient/SelectFrom.cs +++ b/StuMgmClient/SelectFrom.cs @@ -1,4 +1,5 @@ -using System; +using StuMgmLib.MyNameSpace; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -10,15 +11,21 @@ namespace StuMgmClient { public partial class SelectFrom : Form { + Dictionary dic = new Dictionary(); DataRow dr = null; - int stateN = 0; - public SelectFrom(DataRow drView,int state) + Dictionary dicStatus; + short t_job_id; + int t_token; + int stateNum; + public SelectFrom(DataRow drView, Dictionary allCourseStatus, short job_id, int toKen) { InitializeComponent(); dr=drView; - stateN = state; - dic.Add(0, "未开始"); dic.Add(1, "进行中"); dic.Add(2, "待验收"); dic.Add(3, "等待验收中"); dic.Add(4, "验收中"); dic.Add(5, "验收完成"); dic.Add(6, "超时"); dic.Add(7, "预习"); + dicStatus = allCourseStatus; + t_job_id = job_id; + t_token = toKen; + dic.Add(0, "未开始"); dic.Add(1, "进行中"); dic.Add(2, "待验收"); dic.Add(3, "验收成功"); dic.Add(4, "验收失败"); } private void SelectFrom_Load(object sender, EventArgs e) { @@ -27,10 +34,13 @@ namespace StuMgmClient //数据回显 public void ShowData(DataRow dr) { - + short idState = Convert.ToInt16((dr["id"])); + stateNum= (int)dicStatus[idState]; txtMsg.Text = dr["Content"].ToString(); label2.Text =dr["name"].ToString(); - lblState.Text = dic[stateN]; + lblState.Text = dic[stateNum]; + MssionPower(stateNum); + //try //{ // lblTime.Text = Convert.ToDateTime(dr["Time"]).ToString("yyyy-MM-dd"); @@ -47,43 +57,42 @@ namespace StuMgmClient DialogResult result = MessageBox.Show("是否确定提交", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == DialogResult.OK) { - int userNameId = Convert.ToInt32(dr["NameId"]); - int nowMssionId = Convert.ToInt32(dr["MissionId"]); - int newMssionId = nowMssionId+1; - // sms.UpdateState(userNameId, nowMssionId, newMssionId); + short idState = Convert.ToInt16((dr["id"])); + dicStatus[idState]=(CourseStatusEnum)2; + UserCourseInfoOper o = new UserCourseInfoOper(); + o.Job_Id = t_job_id; + o.Token = t_token; + Utility.DicParsing(dicStatus); + o.Status = Utility.DicParsing(dicStatus); + SystemCtrl.SendUserCourseInfoOper(o); MessageBox.Show("提交成功,可预习下一阶段内容", "提示"); btnSumit.Visible = false; this.Dispose(); } } - ////状态值改变控件 - //public void MssionPower() - //{ - // //任务权限 - // int stateNum = Convert.ToInt32(dr["State"]); - // switch (stateNum) - // { - // case 0: - // dr["Content"] = "当前不可查看"; - // lblTime.Visible = false; - // lblState.Visible = false; - // btnSumit.Visible = false; - // break; - // case 1: - // btnSumit.Visible = true; - // break; - // case 2: - // case 3: - // case 4: - // case 5: - // case 6: - // btnSumit.Visible = false; - // break; - // case 7: - // lblTime.Visible = false; - // btnSumit.Visible = false; - // break; - // } - //} + + + //状态值改变控件 + public void MssionPower(int state) + { + //任务权限 + switch (stateNum) + { + case 0: + dr["Content"] = "当前不可查看"; + lblTime.Visible = false; + lblState.Visible = false; + btnSumit.Visible = false; + break; + case 1: + btnSumit.Visible = true; + break; + case 2: + case 3: + case 4: + btnSumit.Visible = false; + break; + } + } } } diff --git a/StuMgmClient/SelectFrom.designer.cs b/StuMgmClient/SelectFrom.designer.cs index 700093d..f78a458 100644 --- a/StuMgmClient/SelectFrom.designer.cs +++ b/StuMgmClient/SelectFrom.designer.cs @@ -88,6 +88,7 @@ // this.btnSumit.Anchor = System.Windows.Forms.AnchorStyles.None; this.btnSumit.BackColor = System.Drawing.Color.Transparent; + this.btnSumit.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnSumit.BackgroundImage"))); this.btnSumit.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.btnSumit.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); this.btnSumit.FlatAppearance.BorderSize = 0; @@ -211,7 +212,7 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(894, 623); + this.ClientSize = new System.Drawing.Size(899, 624); this.Controls.Add(this.panMyMission); this.DoubleBuffered = true; this.Name = "SelectFrom"; diff --git a/StuMgmClient/SelectFrom.resx b/StuMgmClient/SelectFrom.resx index 6d55063..f917b89 100644 --- a/StuMgmClient/SelectFrom.resx +++ b/StuMgmClient/SelectFrom.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg @@ -296,27 +296,59 @@ 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 AABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAA+xJREFUaEPt + WEFo1EAU7UEEDx48SBHbbpItCgoF0Yt4KYKCiAcPFQT1LEJFRNBjT0oRqtZO0lK1nlQKVhCsimgPglYv + teBFULwoaktrNzO7itjGP8nP7k920q3NbLeHffCwzvv7/p9kJvOThjrqqAKy7HerafNOg+W6VgMzdu4A + lrY0QPEDQG81MWvnd2J5laEyqDXlncDyKsNgbo/KpIb80NLPt2F5S4Npz7YZ13m7JBhMELOJcFwrmRgi + OTyjL3cm1Jp6vHVY1vIAhmPEfAyHtUIuEZLDk4WjlB6yaGJen4AK1Z0Ai+yBdzisFYadu01y+HsApfQw + bfGZmE/jsFYYjnhEcgDFMZTSA8yeFI2ZK3BYK8D7Wal47mUG8ptQSo/Y+vxrOD8NlLTBsPl7ksPDYT3I + OO7hkrmYN1n+EEpa0OQUNoNvIcxh2WIUJT1o7p3LlibgT+IpSloA6/8S+C6QHJ0o6YMsmiTwTCd3HKVU + kC0C+HHgfODtzmZZoRllfZAFF4sPEr1BKRGyHanUBsDadyK+jF9DST/K7gIcavLdAeUISEOY2IhZ5cV/ + hxxtKOuHNA+SkKRwRqheOGhMvBUOXpjEYxrjU9OyXBSQqKMsMRCu5l16/KvugHz8yiUCYz/C34WMT7Kq + gITKSUhajvgiJ7K1e3p9uAda7LkNoH2Kx4Zc0eJDmGxuPySfjBcT0mJut4xr7eUbVTqSwyY+6RvWAqbD + j0ARU7GifMKdGJIx8m6odGAB2pLLvlEtAMnPKYoKOUM3NvyftuMRyscohq0c4r17kQ6fgc17U8aEn2bC + iViOC6+MYrzsNwGHZcyKQF28mIT+5SyG+ICD7kaoZ/rc3TgMfVV+R8IFqP4kok1dQHh8PtgCzRiGFEFj + VE8Zw+GnaUxSnDaYg6IRkn6kCeGqX0G5DDQuqTCT5U7QOEnLzh9EWS/im9ZgfAQlJaKxyVfWsMV5Ggu8 + h5JegHHkmZ9x+F6UlKCxi02gvctbA/vlLcb6HanVn9+Fsh74PRAtyBa3UEpE0iZWAc+Tkr/uvRBvpbOO + uwelRMQfo5UAsd9KOcQ4DusBXPGLJXP+x7wqGlHSBvB9TXJ424e9tSilBxxOr0rmbg6HtcKw3VE6AbPv + Vwal9JAnLDGvygTA9yXJ4WUYP4VSeoBh2adFbNIGUVsW5SFoYaFy48JYcQJ6Py0GCSMTgG7zAhlbPhmf + ki13fQKLAQzLJmD2i33w9wAsg+eVKeS/L0Ki3xgsn5GqLKHATHylhrWleNg6WGjC8ioj/p1ylbADy6sM + aNTuKAxqyv9aUhYTR+Eu3Icf+mu11pQfCORXDiyvjjr0oaHhHzetE48/dl7WAAAAAElFTkSuQmCC diff --git a/StuMgmClient/StudentForm.cs b/StuMgmClient/StudentForm.cs index 6d4426a..3551589 100644 --- a/StuMgmClient/StudentForm.cs +++ b/StuMgmClient/StudentForm.cs @@ -6,16 +6,15 @@ namespace StuMgmClient { public partial class StudentForm : Form { - int m_token; - int m_jobId; public StudentForm(short job_id, int token) { - m_token = token; if (SystemCtrl.RefreshUserCourseInfo(job_id, token) != ErrCode.Success) throw new Exception("获取用户信息异常,请重新启动"); InitializeComponent(); + studentTree.Job_id = job_id; + studentTree.Token = token; } - + void GetStudentData() { diff --git a/StuMgmClient/StudentTree.cs b/StuMgmClient/StudentTree.cs index fd5796a..1571fed 100644 --- a/StuMgmClient/StudentTree.cs +++ b/StuMgmClient/StudentTree.cs @@ -6,7 +6,6 @@ using System.Data; using System.Text; using System.Windows.Forms; using StuMgmLib.MyNameSpace; - namespace StuMgmClient { public partial class StudentTree : UserControl @@ -15,6 +14,8 @@ namespace StuMgmClient { InitializeComponent(); } + internal short Job_id; + internal int Token; DataTable db = null; Dictionary allCourseStatus = null; //dataRows转化成的table @@ -93,9 +94,8 @@ namespace StuMgmClient if (e.ColumnIndex == 1 && e.RowIndex != -1) { DataRow drViews = tableClone.Rows[e.RowIndex]; - short idState = Convert.ToInt16((drViews["id"])); - int state=(int)allCourseStatus[idState]; - SelectFrom sf = new SelectFrom(drViews, state); + + SelectFrom sf = new SelectFrom(drViews, allCourseStatus, Job_id, Token); //string test = da.DicParsing(stateDic); sf.ShowDialog(); } diff --git a/StuMgmClient/SystemComm.cs b/StuMgmClient/SystemComm.cs index d7c6b3d..08fcf36 100644 --- a/StuMgmClient/SystemComm.cs +++ b/StuMgmClient/SystemComm.cs @@ -90,6 +90,29 @@ namespace StuMgmClient return ErrCode.FailDeserial; return ErrCode.Success; } + internal static ErrCode sendData(ClientRequest req,out ServerResponse o) + { + o = null; + + if (!Connect()) + return ErrCode.FailConnect; + + byte[] sendBuf; + if (!Utility.BinSerialize(req, out sendBuf)) + return ErrCode.FailSerial; + + if (!Send(sendBuf)) + return ErrCode.FailSend; + + if (!Receive()) + return ErrCode.FailReceive; + + DisConnect(); + + if (!Utility.BinDeserialize(m_buf, out o)) + return ErrCode.FailDeserial; + return ErrCode.Success; + } } } diff --git a/StuMgmClient/SystemCtrl.cs b/StuMgmClient/SystemCtrl.cs index 2d93d9e..288c526 100644 --- a/StuMgmClient/SystemCtrl.cs +++ b/StuMgmClient/SystemCtrl.cs @@ -10,24 +10,30 @@ namespace StuMgmClient { class SystemCtrl { - internal static ErrCode VerifLogin(short userName, string pawssword, out LvErr role, out int token) + internal static ErrCode VerifLogin(short userName, string pawssword, out Lvl role, out int token) { - role = LvErr.Error; + LoginResponse lr = new LoginResponse(); + role = Lvl.Error; token = 0; - UserInfo cs = new UserInfo(userName, pawssword); - ClientRequest req = new ClientRequest(ClientFunc.VerifLogin, cs); + UserInfoLogin cs = new UserInfoLogin(userName, pawssword); + ClientRequest req = new ClientRequest(ClientFunc.VerifyLogin, cs); ServerResponse o = new ServerResponse(null); ErrCode err = SystemComm.GetData(req, out o); if (err != ErrCode.Success) return err; - //if (!(o.Object is UserInfo)) - // return ErrCode.ErrData; - - role = o.Lev; - token = o.Token; + if (!(o.Object is LoginResponse)) + return ErrCode.ErrData; + if (!o.Final) + { + Debug.Print(o.ErrMessage); + return ErrCode.ErrData; + } + lr=(LoginResponse)o.Object; + role = lr.Level; + token = lr.Token; return ErrCode.Success; } @@ -45,6 +51,11 @@ namespace StuMgmClient if (!(o.Object is List)) return ErrCode.ErrData; + if (!o.Final) + { + Debug.Print(o.ErrMessage); + return ErrCode.ErrData; + } courseInfo = (List)o.Object; return ErrCode.Success; } @@ -65,13 +76,34 @@ namespace StuMgmClient return ErrCode.Success; } + internal static ErrCode SendUserCourseInfoOper(UserCourseInfoOper uo) + { + //****** + ClientRequest req = new ClientRequest(ClientFunc.SUpdateCourse, uo); + + ServerResponse o = new ServerResponse(null); + ErrCode err = SystemComm.sendData(req, out o); + if (err != ErrCode.Success) + return err; + //if (!(o.Object is List)) + // return ErrCode.ErrData; + if (!o.Final) + { + Debug.Print(o.ErrMessage); + return ErrCode.ErrData; + } + return ErrCode.Success; + + } + static ErrCode GetUserCourseInfo(short job_id, int token, out UserCourseInfo info) { info = null; - Dictionary dic = new Dictionary(); - dic.Add(job_id, token); - ClientRequest req = new ClientRequest(ClientFunc.GetUserCourseInfo, dic); + UserCourseInfoReq infoRe = new UserCourseInfoReq(); + infoRe.Job_Id = job_id; + infoRe.Token = token; + ClientRequest req = new ClientRequest(ClientFunc.GetSelfUserCourseInfo, infoRe); ServerResponse o = new ServerResponse(null); ErrCode err = SystemComm.GetData(req, out o); if (err != ErrCode.Success) @@ -85,7 +117,6 @@ namespace StuMgmClient info = (UserCourseInfo)o.Object; return ErrCode.Success; } - internal static DataTable GetTable() { return SystemData.StreeTable(); diff --git a/StuMgmClient/SystemData.cs b/StuMgmClient/SystemData.cs index 00022fb..caff967 100644 --- a/StuMgmClient/SystemData.cs +++ b/StuMgmClient/SystemData.cs @@ -152,5 +152,6 @@ namespace StuMgmClient { return allCourseStatus; } + } } diff --git a/StuMgmClient/Utility.cs b/StuMgmClient/Utility.cs index 4c07d98..fc54979 100644 --- a/StuMgmClient/Utility.cs +++ b/StuMgmClient/Utility.cs @@ -1,5 +1,6 @@ using StuMgmLib.MyNameSpace; using System; +using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Runtime.Serialization.Formatters.Binary; @@ -8,6 +9,7 @@ namespace StuMgmClient { class Utility { + //序列化 internal static bool BinSerialize(T data, out byte[] buff) { try @@ -25,7 +27,7 @@ namespace StuMgmClient return false; } } - + //反序列化 internal static bool BinDeserialize(byte[] data, out ServerResponse o) { try @@ -42,5 +44,16 @@ namespace StuMgmClient return false; } } + + //字典转字符串 + internal static string DicParsing(Dictionary dic) + { + string stateText = ""; + foreach (var item in dic) + { + stateText = stateText + item.Key.ToString() + ":" + ((int)item.Value).ToString() + ";"; + } + return stateText; + } } } diff --git a/StuMgmLib/MyNameSpace/CommonData.cs b/StuMgmLib/MyNameSpace/CommonData.cs index ddbcbb6..4e5918f 100644 --- a/StuMgmLib/MyNameSpace/CommonData.cs +++ b/StuMgmLib/MyNameSpace/CommonData.cs @@ -16,14 +16,17 @@ namespace StuMgmLib.MyNameSpace FailReceive, ErrData, } - public enum ClientFunc { - VerifLogin = 1, - GetCourseInfo, - GetUserCourseInfo, + VerifyLogin = 1, + GetCourseInfo = 2, + GetSelfUserCourseInfo = 3, + SUpdateCourse = 4, + TUpdateCourse = 5, + GetSomeoneUserCInfo = 6, } - public enum LvErr + + public enum Lvl { NotFound = -1, Error = -2, @@ -31,7 +34,7 @@ namespace StuMgmLib.MyNameSpace Teacher = 2, Student = 3, } - + [Serializable] public class ClientRequest { @@ -45,34 +48,36 @@ namespace StuMgmLib.MyNameSpace } [Serializable] - public class UserInfo + public class UserInfoLogin { public short Account; public string Password; - public Int16 Token; - public LvErr UserLev; - public UserInfo(short account, string password) + + public UserInfoLogin(short account, string password) // Changed { Account = account; Password = password; } } [Serializable] - public class CourseInfo + public class UserCourseInfoReq { - public short Id; - public short Pid; - public int Time; - public string Name; - public string Content; + public short Job_Id; + public int Token; } + [Serializable] + public class UserCourseInfoOper // T represents teacher, S ->student + { + public short Job_Id; + public int Token; + public string Status; // 课程状态 + } [Serializable] public enum CourseStatusEnum { - Null = 0, - NoStart, + NoStart=0, Begin, WaitCheckig, CheckigSuccess, @@ -80,22 +85,12 @@ namespace StuMgmLib.MyNameSpace // } - [Serializable] - public class UserCourseInfo - { - public short JobId;//工号 - public string Name;//姓名 - public string Status; // 课程状态 - public string Details;//信息描述 - } - [Serializable] public class ServerResponse { - public LvErr Lev; - public int Token; - public string CourseStatus; + public bool Final;//操作是否成功 + public string ErrMessage;//错误信息 public object Object; public ServerResponse(object obj) { @@ -103,6 +98,32 @@ namespace StuMgmLib.MyNameSpace } } + [Serializable] + public class LoginResponse + { + public int Token; + public Lvl Level; + } + + [Serializable] + public class CourseInfo + { + public short Id; + public short Pid; + public int Time; + public string Name; + public string Content; + } + + [Serializable] + public class UserCourseInfo + { + public short JobId;//工号 + public string Name;//姓名 + public string Status; // 课程状态 + public string Details;//信息描述 + } + public class UserCourseDetail { public short Id; @@ -112,5 +133,7 @@ namespace StuMgmLib.MyNameSpace public int Status; public List Children; } + + }