657 lines
30 KiB
C#
657 lines
30 KiB
C#
using DM_Weight.Models;
|
|
using DM_Weight.msg;
|
|
using DM_Weight.util;
|
|
using log4net;
|
|
using Prism.Commands;
|
|
using Prism.Events;
|
|
using Prism.Mvvm;
|
|
using Prism.Regions;
|
|
using Prism.Services.Dialogs;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Xml;
|
|
|
|
namespace DM_Weight.ViewModels
|
|
{
|
|
public class ChangeShiftsDialogViewModel : BindableBase, IDialogAware, IRegionMemberLifetime
|
|
{
|
|
public string Title => "交接班";
|
|
|
|
public bool KeepAlive => true;
|
|
//交班人 发药人
|
|
public UserList Operator { get; set; }
|
|
private bool _operatorLogin = false;
|
|
public bool OperatorLogin
|
|
{
|
|
get => _operatorLogin;
|
|
set { SetProperty(ref _operatorLogin, value); }
|
|
}
|
|
//private _brushesOperator = Brushes.Green;
|
|
//public System.Drawing.Brush BrushesOperator
|
|
//{
|
|
// get=> _brushesOperator;
|
|
// set { SetProperty(ref _brushesOperator, value);}
|
|
//}
|
|
//交班人 审核人
|
|
public UserList Reviewer { get; set; }
|
|
private bool _reviewerLogin = false;
|
|
public bool ReviewerLogin
|
|
{
|
|
get => _reviewerLogin;
|
|
set
|
|
{
|
|
SetProperty(ref _reviewerLogin, value);
|
|
}
|
|
}
|
|
//private System.Drawing.Brush _brushesReviewer=Brushes.Green;
|
|
//public System.Drawing.Brush BrushesReviewer
|
|
//{
|
|
// get=> _brushesReviewer;
|
|
// set
|
|
// {
|
|
// SetProperty(ref _brushesReviewer, value);
|
|
// }
|
|
//}
|
|
|
|
//接班人 发药人
|
|
public UserList JieOperator { get; set; }
|
|
//接班人 审核人
|
|
public UserList JieReviewer { get; set; }
|
|
|
|
//当前操作人
|
|
public UserList CurrentUser { get; set; }
|
|
//双人登录还是单人登录
|
|
private int loginMode = Convert.ToInt32(ConfigurationManager.AppSettings["loginMode"]?.ToString() ?? "1");
|
|
//第一个登录的是发药人还是接班人
|
|
private string firstLogin = ConfigurationManager.AppSettings["firstLogin"]?.ToString() ?? "operator";
|
|
//验证按钮可用状态
|
|
private bool _jiaoBanOk = true;
|
|
public bool JiaoBanOk
|
|
{
|
|
get => _jiaoBanOk;
|
|
set { SetProperty(ref _jiaoBanOk, value); }
|
|
}
|
|
|
|
private NavigationParameters keys = new NavigationParameters();
|
|
|
|
public bool SingleLogin
|
|
{
|
|
get => ReadAppSetting("loginMode") == "1";
|
|
//get => loginMode == 1;
|
|
}
|
|
public bool MultiLogin
|
|
{
|
|
//get => loginMode == 2;
|
|
get => ReadAppSetting("loginMode") == "2";
|
|
}
|
|
|
|
//private PortUtil _portUtil;
|
|
private Boolean _loginBtnEnable = true;
|
|
public Boolean LoginBtnEnable { get { return _loginBtnEnable; } set { SetProperty(ref _loginBtnEnable, value); } }
|
|
public string Password { get { return password; } set { SetProperty(ref password, value); } }
|
|
|
|
public string Username { get { return username; } set { SetProperty(ref username, value); } }
|
|
private readonly ILog logger = LogManager.GetLogger(typeof(LoginWindowViewModel));
|
|
|
|
private string username;
|
|
private string password;
|
|
|
|
private bool _fingerMsg;
|
|
|
|
public bool FingerMsg
|
|
{
|
|
get => _fingerMsg;
|
|
set => SetProperty(ref _fingerMsg, value);
|
|
}
|
|
public event Action<IDialogResult> RequestClose;
|
|
|
|
public DelegateCommand BtnCloseCommand
|
|
{
|
|
get => new DelegateCommand(() =>
|
|
{
|
|
// 关闭当前窗口
|
|
RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel));
|
|
});
|
|
}
|
|
//确认交接
|
|
public DelegateCommand ShiftsCommand => new DelegateCommand(ShiftsAction);
|
|
private void ShiftsAction()
|
|
{
|
|
if (Operator != null && !OperatorLogin)
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "交班发药人需要系统验证!",
|
|
Type = MsgType.ERROR,
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
return;
|
|
}
|
|
if (Reviewer != null && !ReviewerLogin)
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "交班审核人需要系统验证!",
|
|
Type = MsgType.ERROR,
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
return;
|
|
}
|
|
if (JieOperator == null && JieReviewer == null)
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "接班发药人或审核需要系统验证!",
|
|
Type = MsgType.ERROR,
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
return;
|
|
}
|
|
//1验证交班人与接班人是否都已登录验证2写交接信息
|
|
//if ((Operator != null || Reviewer != null) && (JieOperator != null || JieReviewer != null))
|
|
//{
|
|
DateTime dt = DateTime.Now;
|
|
//保存交接班信息(查询当前值班人的最后一条交接班信息(如有则修改状态,没有则插入一条)并写入一条接班人信息)
|
|
//var f = SqlSugarHelper.Db.UseTran(() =>
|
|
var f = SqlSugarHelper.Db.UseTran(() =>
|
|
{
|
|
List<HkcChangeShifts> listHkcChangeShifts = SqlSugarHelper.Db.Queryable<HkcChangeShifts>()
|
|
.Where(cs => cs.State == "0")
|
|
.WhereIF(Operator != null && !string.IsNullOrEmpty(Operator.UserName), cs => cs.FromOperator == Operator.UserName)
|
|
.WhereIF(Reviewer != null && !string.IsNullOrEmpty(Reviewer.UserName), cs => cs.FromRviewer == Reviewer.UserName)
|
|
.OrderByDescending(cs => cs.OptState)
|
|
.ToList();
|
|
|
|
if (listHkcChangeShifts != null && listHkcChangeShifts.Count > 0)
|
|
{
|
|
//存在则修改,不存在则插入一条
|
|
SqlSugarHelper.Db.Updateable(new HkcChangeShifts()
|
|
{
|
|
Id = listHkcChangeShifts[0].Id,
|
|
ToOperator = JieOperator == null ? "" : JieOperator.UserName,
|
|
ToReviewer = JieReviewer == null ? "" : JieReviewer.UserName,
|
|
State = "1",
|
|
ToDate = dt
|
|
}).UpdateColumns(it => new { it.ToOperator, it.ToReviewer, it.State, it.ToDate }).WhereColumns(it => new { it.Id }).ExecuteCommand();
|
|
}
|
|
else
|
|
{
|
|
SqlSugarHelper.Db.Insertable(new HkcChangeShifts()
|
|
{
|
|
FromOperator = Operator == null ? "" : Operator.UserName,
|
|
FromRviewer = Reviewer == null ? "" : Reviewer.UserName,
|
|
ToOperator = JieOperator == null ? "" : JieOperator.UserName,
|
|
ToReviewer = JieReviewer == null ? "" : JieReviewer.UserName,
|
|
State = "1",
|
|
OptState = "0",
|
|
OptDate = dt,
|
|
Machineid = ConfigurationManager.AppSettings["machineId"] ?? "DM1"
|
|
}).ExecuteCommand();
|
|
|
|
}
|
|
SqlSugarHelper.Db.Insertable(new HkcChangeShifts()
|
|
{
|
|
FromOperator = JieOperator == null ? "" : JieOperator.UserName,
|
|
FromRviewer = JieReviewer == null ? "" : JieReviewer.UserName,
|
|
State = "0",
|
|
OptState = "0",
|
|
OptDate = dt,
|
|
//ToDate = dt,
|
|
Machineid = ConfigurationManager.AppSettings["machineId"] ?? "DM1"
|
|
}).ExecuteCommand();
|
|
|
|
//插入交接班报表数据信息
|
|
string strSql = @"SELECT drug.drug_name,drug.DRUG_SPEC,c.manu_no,d.useNum,d.getNum,sum(quantity) as surplus,
|
|
(SELECT d2.manu_stock FROM account_book_g2 d2 WHERE d2.drug_id = c.`drug_id` and d2.manu_no=c.manu_no AND d2.create_date < @beforeDate
|
|
ORDER BY d2.create_date DESC,d2.id DESC LIMIT 1) AS beforeNum
|
|
from channel_stock c LEFT JOIN drug_info drug on c.drug_id=drug.drug_id left JOIN (SELECT drug_id,manu_no,
|
|
SUM(IF(d1.`type` = 1, d1.quantity, 0)) AS getNum,SUM(IF(d1.`type` = 2, d1.quantity, 0)) AS useNum FROM dm_machine_record d1
|
|
WHERE d1.`type` IN (1, 2) AND d1.`operation_time` >= @startDate and d1.`operation_time` <=@endDate and d1.machine_id=@machineId GROUP BY d1.Drug_ID ,d1.manu_no) d
|
|
on c.drug_id=d.drug_id and c.manu_no=d.manu_no WHERE c.machine_id=@machineId and c.drug_id is not NULL GROUP BY c.Drug_ID ,c.manu_no
|
|
UNION
|
|
SELECT drug.drug_name,drug.DRUG_SPEC,d.manu_no,d.useNum,d.getNum,sum(quantity) as surplus,(SELECT d2.manu_stock FROM account_book_g2 d2 WHERE d2.drug_id = d.`drug_id` and d2.manu_no=d.manu_no AND d2.create_date < @beforeDate
|
|
ORDER BY d2.create_date DESC,d2.id DESC LIMIT 1) AS beforeNum from (SELECT drug_id,manu_no, SUM(IF(d1.`type` = 1, d1.quantity, 0)) AS getNum,SUM(IF(d1.`type` = 2, d1.quantity, 0)) AS useNum FROM dm_machine_record d1
|
|
WHERE d1.`type` IN (1, 2) AND d1.`operation_time` >= @startDate and d1.`operation_time` <=@endDate and d1.machine_id=@machineId GROUP BY d1.Drug_ID ,d1.manu_no) d
|
|
LEFT JOIN drug_info drug on d.drug_id=drug.drug_id left JOIN channel_stock c on c.drug_id=d.drug_id and c.manu_no=d.manu_no AND c.machine_id=@machineId GROUP BY d.Drug_ID ,d.manu_no ";
|
|
List<ShiftsReport> shiftsReports = SqlSugarHelper.Db.SqlQueryable<dynamic>(strSql)
|
|
.AddParameters(new
|
|
{
|
|
machineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1",
|
|
beforeDate = listHkcChangeShifts[0].OptDate,
|
|
startDate = listHkcChangeShifts[0].OptDate,
|
|
endDate = dt
|
|
})
|
|
.Select(it => new ShiftsReport())
|
|
.ToList();
|
|
if (shiftsReports != null && shiftsReports.Count > 0)
|
|
{
|
|
for (int i = 0; i < shiftsReports.Count; i++)
|
|
{
|
|
|
|
SqlSugarHelper.Db.Insertable(new ShiftsReport()
|
|
{
|
|
OptDate = dt,
|
|
DrugName = shiftsReports[i].DrugName,
|
|
DrugSpec = shiftsReports[i].DrugSpec,
|
|
BeforeNum = shiftsReports[i].BeforeNum ?? 0,
|
|
GetNum = shiftsReports[i].GetNum ?? 0,
|
|
UseNum = shiftsReports[i].UseNum ?? 0,
|
|
ManuNo = shiftsReports[i].ManuNo,
|
|
Surplus = shiftsReports[i].Surplus ?? 0,
|
|
FromOperator = Operator == null ? "" : Operator.Nickname,
|
|
FromReviewer = Reviewer == null ? "" : Reviewer.Nickname,
|
|
ToOperator = JieOperator == null ? "" : JieOperator.Nickname,
|
|
ToReviewer = JieReviewer == null ? "" : JieReviewer.Nickname,
|
|
MachineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1"
|
|
}).ExecuteCommand();
|
|
}
|
|
}
|
|
return true;
|
|
});
|
|
if (f.Data)
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "交接班操作完成!",
|
|
Type = MsgType.SUCCESS,
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
// 关闭当前窗口
|
|
RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel));
|
|
}
|
|
if (!f.IsSuccess)
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "交接班操作失败!",
|
|
Type = MsgType.ERROR,
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
}
|
|
//}
|
|
//else
|
|
//{
|
|
// AlertMsg alertMsg = new AlertMsg
|
|
// {
|
|
// Message = "交接班需要交班人与接班人全部系统验证!",
|
|
// Type = MsgType.ERROR,
|
|
// };
|
|
// _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
//}
|
|
}
|
|
//用户名密码登录
|
|
public DelegateCommand LoginCommand => new DelegateCommand(LoginAction);
|
|
|
|
//清空
|
|
public DelegateCommand ClearCommand => new DelegateCommand(ClearAction);
|
|
private void ClearAction()
|
|
{
|
|
Username = string.Empty;
|
|
Password = string.Empty;
|
|
}
|
|
|
|
private void LoginAction()
|
|
{
|
|
Login();
|
|
}
|
|
|
|
void Login()
|
|
{
|
|
LoginBtnEnable = false;
|
|
if (!string.IsNullOrEmpty(Username) && !string.IsNullOrEmpty(Password))
|
|
{
|
|
UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
|
|
.Includes<RoleDm>(u => u.Role)
|
|
.InnerJoin<RoleDm>((u, r) => u.RoleId == r.Id)
|
|
.First(u => u.UserName == username && ConfigurationManager.AppSettings["machineId"].ToString().Equals(u.MachineId));
|
|
|
|
if (userList == null)
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "无此用户",
|
|
Type = MsgType.ERROR
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
Username = string.Empty;
|
|
Password = string.Empty;
|
|
}
|
|
else if (userList.Role == null)
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "用户还未设置权限,请联系管理员",
|
|
Type = MsgType.ERROR
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
Username = string.Empty;
|
|
Password = string.Empty;
|
|
}
|
|
else
|
|
{
|
|
if (userList.PassWord == MD5.GetMD5Hash(Password))
|
|
{
|
|
Username = string.Empty;
|
|
Password = string.Empty;
|
|
HkcChangeShifts changeOperator = GetOperator();
|
|
if (changeOperator != null)
|
|
{
|
|
|
|
if (userList.UserName == changeOperator.FromOperator&&!OperatorLogin)
|
|
{
|
|
|
|
Operator = userList;
|
|
RaisePropertyChanged("Operator");
|
|
//交班人的发药人登录
|
|
OperatorLogin = true;
|
|
if (((Reviewer != null && ReviewerLogin) || (Reviewer == null)) && JieOperator != null && JieReviewer != null)
|
|
{ JiaoBanOk = false; }
|
|
}
|
|
else if (userList.UserName == changeOperator.FromRviewer&&!ReviewerLogin)
|
|
{
|
|
//交班人的审核人登录
|
|
Reviewer = userList;
|
|
RaisePropertyChanged("Reviewer");
|
|
ReviewerLogin = true;
|
|
if (((Operator != null && OperatorLogin) || (Operator == null)) && JieOperator != null && JieReviewer != null)
|
|
{ JiaoBanOk = false; }
|
|
}
|
|
else
|
|
{
|
|
if (keys.ContainsKey("operator"))
|
|
{
|
|
//if (userList.UserName == (JieOperator == null ? "" : JieOperator.UserName))
|
|
//{
|
|
// AlertMsg alertMsg = new AlertMsg
|
|
// {
|
|
// Message = "接班发药人不能与审核人相同",
|
|
// Type = MsgType.ERROR
|
|
// };
|
|
// _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
//}
|
|
//else
|
|
{
|
|
keys.Add("reviewer", userList);
|
|
JieReviewer = userList;
|
|
RaisePropertyChanged("JieReviewer");
|
|
if (((Operator != null && OperatorLogin) || (Operator == null)) && ((Reviewer != null && ReviewerLogin) || (Reviewer == null)) && JieOperator != null)
|
|
{ JiaoBanOk = false; }
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//if (userList.UserName == (JieReviewer == null ? "" : JieReviewer.UserName))
|
|
//{
|
|
// AlertMsg alertMsg = new AlertMsg
|
|
// {
|
|
// Message = "接班发药人不能与审核人相同",
|
|
// Type = MsgType.ERROR
|
|
// };
|
|
// _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
//}
|
|
//else
|
|
{
|
|
keys.Add("operator", userList);
|
|
JieOperator = userList;
|
|
RaisePropertyChanged("JieOperator");
|
|
if (((Operator != null && OperatorLogin) || (Operator == null)) && ((Reviewer != null && ReviewerLogin) || (Reviewer == null)) && JieReviewer != null)
|
|
{ JiaoBanOk = false; }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "密码错误",
|
|
Type = MsgType.ERROR
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
Password = string.Empty;
|
|
}
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "请输入账号或密码",
|
|
Type = MsgType.ERROR
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
}
|
|
LoginBtnEnable = true;
|
|
}
|
|
//void SetUser(UserList user)
|
|
//{
|
|
// // 双人登录模式
|
|
// {
|
|
// // 如果已经录入了发药人,已经有一个用户登录
|
|
// if (keys.ContainsKey("operator"))
|
|
// {
|
|
// if (keys.GetValue<UserList>("operator").Id != user.Id)
|
|
// {
|
|
// keys.Add("reviewer", user);
|
|
// JieReviewer = user;
|
|
// RaisePropertyChanged("JieReviewer");
|
|
// }
|
|
// else
|
|
// {
|
|
// AlertMsg alertMsg = new AlertMsg
|
|
// {
|
|
// Message = "该发药人账号已登录,请输入不同账号",
|
|
// Type = MsgType.ERROR
|
|
// };
|
|
// _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
// }
|
|
// }
|
|
// // 如果已经录入了审核人, 已经有一个用户登录
|
|
// else if (keys.ContainsKey("reviewer"))
|
|
// {
|
|
// if (keys.GetValue<UserList>("reviewer").Id != user.Id)
|
|
// {
|
|
// keys.Add("operator", user);
|
|
// JieOperator = user;
|
|
// RaisePropertyChanged("JieOperator");
|
|
// }
|
|
// else
|
|
// {
|
|
// AlertMsg alertMsg = new AlertMsg
|
|
// {
|
|
// Message = "该审核人账号已登录,请输入不同账号",
|
|
// Type = MsgType.ERROR
|
|
// };
|
|
// _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
// }
|
|
// }
|
|
// // 第一个用户登录
|
|
// else
|
|
// {
|
|
// if (firstLogin.Equals("operator"))
|
|
// {
|
|
// keys.Add("operator", user);
|
|
// JieOperator = user;
|
|
// RaisePropertyChanged("JieOperator");
|
|
// }
|
|
// else
|
|
// {
|
|
// keys.Add("reviewer", user);
|
|
// JieReviewer = user;
|
|
// RaisePropertyChanged("JieReviewer");
|
|
// }
|
|
// }
|
|
// }
|
|
//}
|
|
void ChangeShiftsLoginEvent(FingerprintMsg msg)
|
|
{
|
|
logger.Info(msg.ToString());
|
|
if (msg.Message.Equals("CONNECT"))
|
|
{
|
|
FingerMsg = !msg.Result;
|
|
}
|
|
if (LoginBtnEnable)
|
|
{
|
|
if (msg.Message.Equals("LOGIN"))
|
|
{
|
|
UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
|
|
.Includes<RoleDm>(u => u.Role)
|
|
.First(u => u.Id == msg.Id);
|
|
|
|
if (userList == null)
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "无此用户",
|
|
Type = MsgType.ERROR
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
//Username = "";
|
|
//Password = "";
|
|
}
|
|
else if (userList.Role == null)
|
|
{
|
|
AlertMsg alertMsg = new AlertMsg
|
|
{
|
|
Message = "用户还未设置权限,请联系管理员",
|
|
Type = MsgType.ERROR
|
|
};
|
|
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
//Username = "";
|
|
//Password = "";
|
|
}
|
|
else
|
|
{
|
|
HkcChangeShifts changeOperator = GetOperator();
|
|
if (changeOperator != null)
|
|
{
|
|
if (userList.UserName == changeOperator.FromOperator)
|
|
{
|
|
Operator = userList;
|
|
RaisePropertyChanged("Operator");
|
|
//交班人的发药人登录
|
|
OperatorLogin = true;
|
|
if (((Reviewer != null && ReviewerLogin) || (Reviewer == null)) && JieOperator != null && JieReviewer != null)
|
|
{ JiaoBanOk = false; }
|
|
|
|
}
|
|
else if (userList.UserName == changeOperator.FromRviewer)
|
|
{
|
|
//交班人的审核人登录
|
|
Reviewer = userList;
|
|
RaisePropertyChanged("Reviewer");
|
|
ReviewerLogin = true;
|
|
if (((Operator != null && OperatorLogin) || (Operator == null)) && JieOperator != null && JieReviewer != null)
|
|
{ JiaoBanOk = false; }
|
|
}
|
|
else
|
|
{
|
|
if (keys.ContainsKey("operator"))
|
|
{
|
|
//if (userList.UserName == (JieOperator == null ? "" : JieOperator.UserName))
|
|
//{
|
|
// AlertMsg alertMsg = new AlertMsg
|
|
// {
|
|
// Message = "接班发药人不能与审核人相同",
|
|
// Type = MsgType.ERROR
|
|
// };
|
|
// _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
//}
|
|
//else
|
|
{
|
|
keys.Add("reviewer", userList);
|
|
JieReviewer = userList;
|
|
RaisePropertyChanged("JieReviewer");
|
|
if (((Operator != null && OperatorLogin) || (Operator == null)) && ((Reviewer != null && ReviewerLogin) || (Reviewer == null)) && JieOperator != null)
|
|
{ JiaoBanOk = false; }
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//if (userList.UserName == (JieReviewer == null ? "" : JieReviewer.UserName))
|
|
//{
|
|
// AlertMsg alertMsg = new AlertMsg
|
|
// {
|
|
// Message = "接班发药人不能与审核人相同",
|
|
// Type = MsgType.ERROR
|
|
// };
|
|
// _eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
|
|
//}
|
|
//else
|
|
{
|
|
keys.Add("operator", userList);
|
|
JieOperator = userList;
|
|
RaisePropertyChanged("JieOperator");
|
|
if (((Operator != null && OperatorLogin) || (Operator == null)) && ((Reviewer != null && ReviewerLogin) || (Reviewer == null)) && JieReviewer != null)
|
|
{ JiaoBanOk = false; }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
IEventAggregator _eventAggregator;
|
|
////private SqlSugarScope SqlSugarHelper.Db;
|
|
public ChangeShiftsDialogViewModel(IEventAggregator eventAggregator)
|
|
{
|
|
_eventAggregator = eventAggregator;
|
|
////this.SqlSugarHelper.Db = sqlSugarScope;
|
|
}
|
|
|
|
public bool CanCloseDialog()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public void OnDialogClosed()
|
|
{
|
|
_eventAggregator.GetEvent<FingerprintEvent>().Unsubscribe(ChangeShiftsLoginEvent);
|
|
}
|
|
|
|
public void OnDialogOpened(IDialogParameters parameters)
|
|
{
|
|
HkcChangeShifts changeOperator = GetOperator();
|
|
if (changeOperator != null)
|
|
{
|
|
Operator = SqlSugarHelper.Db.Queryable<UserList>().Where(u => u.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).Single(u => u.UserName == changeOperator.FromOperator);
|
|
Reviewer = SqlSugarHelper.Db.Queryable<UserList>().Where(u => u.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).Single(u => u.UserName == changeOperator.FromRviewer);
|
|
}
|
|
|
|
FingerMsg = false;// !_fingerprintUtil.bIsConnected;
|
|
_eventAggregator.GetEvent<FingerprintEvent>().Subscribe(ChangeShiftsLoginEvent);
|
|
}
|
|
//查询值班人信息
|
|
private HkcChangeShifts GetOperator()
|
|
{
|
|
//查询发药人及审核人
|
|
HkcChangeShifts changeOperator = SqlSugarHelper.Db.Queryable<HkcChangeShifts>().Single(change => change.State == "0");
|
|
//if (changeOperator != null)
|
|
//{
|
|
// Operator = SqlSugarHelper.Db.Queryable<UserList>().Single(u => u.UserName == changeOperator.FromOperator);
|
|
// Reviewer = SqlSugarHelper.Db.Queryable<UserList>().Single(u => u.UserName == changeOperator.ToOperator);
|
|
//}
|
|
return changeOperator;
|
|
}
|
|
//手动实现调用配置的逻辑 规避修改配置文件后不起作用的问题
|
|
public string ReadAppSetting(string key)
|
|
{
|
|
string xPath = $"/configuration/appSettings//add[@key='{key}']";
|
|
XmlDocument doc = new XmlDocument();
|
|
string exeFileName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
|
|
doc.Load(exeFileName + ".dll.config");
|
|
XmlNode node = doc.SelectSingleNode(xPath);
|
|
return node.Attributes["value"].Value.ToString();
|
|
}
|
|
}
|
|
}
|