using CommonFunc; using CommonFunc.Tools; using HandyControl.Tools.Extension; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Web.Services.Description; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using XGL.Dats.DBServiceFinishProd; namespace XGLFinishPro.Views { /// /// LanJu_User.xaml 的交互逻辑 /// public partial class LanJu_User : UserControl { FinishProdDBService finishProdDBService = new FinishProdDBService(); string deviceCode = Utils.GetAppSetting("DeviceCode"); public static LanJu_User lanJu_User; Frame frame = new Frame() { Content = new Views.LanJu_UserRecord() }; List listuserall=new List(); public enum WindowID { frame } public LanJu_User() { InitializeComponent(); lanJu_User = this; WindowChange(WindowID.frame); DataTable userall = finishProdDBService.GetUserCodeServerAll(); if (userall != null) { foreach (DataRow row in userall.Rows) { string userName = row["user_name"].ToString(); // 假设列名为 user_name string nikeName = row["nick_name"].ToString(); // 假设列名为 nick_name useralldaka user = new useralldaka { UserName = userName ,nikeName=nikeName}; listuserall.Add(user); } } } public void WindowChange(WindowID windowID) { Window3.Content = frame; } private void Now_Click(object sender, RoutedEventArgs e) { LanJu_NowUser lanJu_NowUser = new LanJu_NowUser(); Window3.Content = new Frame() { Content = lanJu_NowUser }; } private void Record_Click(object sender, RoutedEventArgs e) { LanJu_UserRecord lanJu_UserRecord = new LanJu_UserRecord(); Window3.Content = new Frame() { Content = lanJu_UserRecord }; } private void txtOnWorkUserID_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { try { string userID = txtOnWorkUserID.Text; userID = userID.TrimStart('0'); DataTable dtUserInfo = finishProdDBService.GetUserInfoFromCloudServer(userID); if (dtUserInfo == null || dtUserInfo.Rows.Count <= 0) { CustomMessageBox.Show("找不到该账户,请重试!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning,1500); txtOnWorkUserID.Text = ""; txtOnWorkUserID.Focus(); return; } string userCode = dtUserInfo.Rows[0]["user_name"].ToString(); string userName = dtUserInfo.Rows[0]["nick_name"].ToString(); string sex = dtUserInfo.Rows[0]["sex"].ToString(); string post = dtUserInfo.Rows[0]["post_name"].ToString(); DataTable dt = finishProdDBService.GetExistAttendanceRecord(deviceCode,LoginUser.WorkDate); if (dt != null && dt.Select($"user_id = '" + userCode + "' AND end_time IS NULL and start_addr='"+ deviceCode + "'").Length > 0) { //2024-06-21陈恒杰说一天只需要一次打卡 CustomMessageBox.Show("一天只能打卡一次谢谢!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Success, 1500); txtOnWorkUserID.Text = ""; txtOnWorkUserID.Focus(); //bool isSucc = finishProdDBService.UpdateAttendanceRecord(userCode, deviceCode); //if (isSucc) //{ // CustomMessageBox.Show("打卡成功,再见!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Success,1500); // Record_Click(null, null); // txtOnWorkUserID.Text = ""; // txtOnWorkUserID.Focus(); // return; //} } else { bool isSucc = finishProdDBService.InsertAttendanceRecord(userCode, userName,sex, post, deviceCode, LoginUser.WorkDate); if (isSucc) { CustomMessageBox.Show("打卡成功,祝您工作愉快!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Success,1500); txtOnWorkUserID.Text = ""; txtOnWorkUserID.Focus(); Record_Click(null, null); } else { CustomMessageBox.Show("打卡失败,请重试!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error,1500); txtOnWorkUserID.Text = ""; txtOnWorkUserID.Focus(); } } } catch (Exception ex) { LogHelper.instance.log.Error("上班打卡发生异常>>" + ex.Message); CustomMessageBox.Show("上班打卡发生异常!" + ex.Message, CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error); } } } private void UserControl_Loaded(object sender, RoutedEventArgs e) { txtOnWorkUserID.Focus(); } /// /// 20240627杨万里提出添加员工号打卡 /// /// /// private void txtOnWorkUsername_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { try { string userID = txtOnWorkUsername.Text;//20240628杨万里说员工号打卡不需要去0 DataTable dtUserInfo = finishProdDBService.GetUserCodeServer(userID); if (dtUserInfo == null || dtUserInfo.Rows.Count <= 0) { CustomMessageBox.Show("找不到该账户,请重试!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning, 1500); txtOnWorkUsername.Text = ""; txtOnWorkUsername.Focus(); return; } string userCode = dtUserInfo.Rows[0]["user_name"].ToString(); string userName = dtUserInfo.Rows[0]["nick_name"].ToString(); string sex = dtUserInfo.Rows[0]["sex"].ToString(); string post = dtUserInfo.Rows[0]["post_name"].ToString(); DataTable dt = finishProdDBService.GetExistAttendanceRecord(deviceCode,LoginUser.WorkDate); if (dt != null && dt.Select($"user_id = '" + userCode + "' AND end_time IS NULL and start_addr='" + deviceCode + "'").Length > 0) { //2024-06-21陈恒杰说一天只需要一次打卡 CustomMessageBox.Show("一天只能打卡一次谢谢!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Success, 1500); txtOnWorkUsername.Text = ""; txtOnWorkUsername.Focus(); dakaname.Content = null; //bool isSucc = finishProdDBService.UpdateAttendanceRecord(userCode, deviceCode); //if (isSucc) //{ // CustomMessageBox.Show("打卡成功,再见!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Success,1500); // Record_Click(null, null); // txtOnWorkUserID.Text = ""; // txtOnWorkUserID.Focus(); // return; //} } else { bool isSucc = finishProdDBService.InsertAttendanceRecord(userCode, userName, sex, post, deviceCode, LoginUser.WorkDate); if (isSucc) { CustomMessageBox.Show("打卡成功,祝您工作愉快!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Success, 1500); txtOnWorkUsername.Text = ""; txtOnWorkUsername.Focus(); dakaname.Content = null; Record_Click(null, null); } else { CustomMessageBox.Show("打卡失败,请重试!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error, 1500); txtOnWorkUsername.Text = ""; dakaname.Content = null; txtOnWorkUsername.Focus(); } } } catch (Exception ex) { LogHelper.instance.log.Error("上班打卡发生异常>>" + ex.Message); CustomMessageBox.Show("上班打卡发生异常!" + ex.Message, CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error); } } } private void txtOnWorkUsername_TextChanged(object sender, TextChangedEventArgs e) { if (txtOnWorkUsername.Text.Length > 4) { if (listuserall.Count != 0) { var dtUserInfo = listuserall.Find(t => t.UserName == txtOnWorkUsername.Text); if (dtUserInfo != null) { dakaname.Content = dtUserInfo.nikeName; } } } } private void Button_Click(object sender, RoutedEventArgs e) { } } public class useralldaka { public string UserName { get; set; } public string nikeName { get; set; } } }