You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
4.6 KiB
C#

using CommonFunc;
using CommonFunc.Tools;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
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
{
/// <summary>
/// LanJu_User.xaml 的交互逻辑
/// </summary>
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_NowUser() };
public enum WindowID
{
frame
}
public LanJu_User()
{
InitializeComponent();
lanJu_User = this;
WindowChange(WindowID.frame);
}
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;
DataTable dtUserInfo = finishProdDBService.GetUserInfoFromCloudServer(userID);
if (dtUserInfo == null || dtUserInfo.Rows.Count <= 0)
{
CustomMessageBox.Show("找不到该账户,请重试!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
return;
}
string userCode = dtUserInfo.Rows[0]["user_name"].ToString();
string userName = dtUserInfo.Rows[0]["nick_name"].ToString();
string sex = dtUserInfo.Rows[0]["sex"].ToString();
DataTable dt = finishProdDBService.GetExistAttendanceRecord(deviceCode);
if (dt != null && dt.Select("user_id = '" + userID + "' AND end_time IS NULL").Length > 0)
{
bool isSucc = finishProdDBService.UpdateAttendanceRecord(userCode, deviceCode);
if (isSucc)
{
CustomMessageBox.Show("打卡成功,再见!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Success);
Now_Click(null, null);
txtOnWorkUserID.Text = "";
txtOnWorkUserID.Focus();
return;
}
}
else
{
bool isSucc = finishProdDBService.InsertAttendanceRecord(userCode, userName, sex, deviceCode);
if (isSucc)
{
CustomMessageBox.Show("打卡成功,祝您工作愉快!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Success);
txtOnWorkUserID.Text = "";
txtOnWorkUserID.Focus();
Now_Click(null, null);
}
else
{
CustomMessageBox.Show("打卡失败,请重试!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error);
}
}
}
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();
}
}
}