2023-11-13 13:25:46 +08:00
using DM_Weight.Finger ;
using DM_Weight.Models ;
using DM_Weight.msg ;
using DM_Weight.Port ;
using DM_Weight.util ;
using log4net ;
using Prism.Commands ;
using Prism.Events ;
using Prism.Mvvm ;
using Prism.Regions ;
using Prism.Services.Dialogs ;
2023-11-27 15:35:22 +08:00
using SqlSugar ;
2023-11-13 13:25:46 +08:00
using System ;
using System.Collections.Generic ;
using System.Collections.ObjectModel ;
using System.Configuration ;
using System.Drawing ;
using System.Drawing.Printing ;
using System.Linq ;
using System.Reflection.PortableExecutable ;
using System.Text ;
using System.Threading.Tasks ;
using System.Windows.Controls ;
using System.Xml ;
namespace DM_Weight.ViewModels
{
public class ChangeShiftsDialogViewModel : BindableBase , IDialogAware , IRegionMemberLifetime
{
public string Title = > "交接班" ;
2024-02-04 13:35:45 +08:00
public bool KeepAlive = > true ;
2023-11-13 13:25:46 +08:00
//交班人 发药人
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" ;
}
2023-11-27 15:35:22 +08:00
//private PortUtil _portUtil;
2023-11-13 13:25:46 +08:00
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 ;
//保存交接班信息(查询当前值班人的最后一条交接班信息(如有则修改状态,没有则插入一条)并写入一条接班人信息)
2024-02-04 13:35:45 +08:00
//var f = SqlSugarHelper.Db.UseTran(() =>
var f = SqlSugarHelper . Db . UseTran ( ( ) = >
2023-11-13 13:25:46 +08:00
{
2024-02-04 13:35:45 +08:00
List < HkcChangeShifts > listHkcChangeShifts = SqlSugarHelper . Db . Queryable < HkcChangeShifts > ( )
2023-11-13 13:25:46 +08:00
. 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 )
{
//存在则修改,不存在则插入一条
2024-02-04 13:35:45 +08:00
SqlSugarHelper . Db . Updateable ( new HkcChangeShifts ( )
2023-11-13 13:25:46 +08:00
{
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
{
2024-02-04 13:35:45 +08:00
SqlSugarHelper . Db . Insertable ( new HkcChangeShifts ( )
2023-11-13 13:25:46 +08:00
{
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 ( ) ;
}
2024-02-04 13:35:45 +08:00
SqlSugarHelper . Db . Insertable ( new HkcChangeShifts ( )
2023-11-13 13:25:46 +08:00
{
FromOperator = JieOperator = = null ? "" : JieOperator . UserName ,
FromRviewer = JieReviewer = = null ? "" : JieReviewer . UserName ,
State = "0" ,
OptState = "0" ,
OptDate = dt ,
//ToDate = dt,
Machineid = ConfigurationManager . AppSettings [ "machineId" ] ? ? "DM1"
} ) . ExecuteCommand ( ) ;
//插入交接班报表数据信息
2025-01-08 09:29:08 +08:00
//string strSql = @"SELECT drug.drug_name,drug.DRUG_SPEC,c.manu_no,d.useNum,d.getNum,sum(quantity) as surplus,
// (SELECT d2.manunoquantity FROM dm_machine_record d2 WHERE d2.drug_id = c.`drug_id` and d2.manu_no=c.manu_no AND d2.operation_time < @beforeDate
// ORDER BY d2.operation_time 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.manunoquantity FROM dm_machine_record d2 WHERE d2.drug_id = d.`drug_id` and d2.manu_no=d.manu_no AND d2.operation_time < @beforeDate
// ORDER BY d2.operation_time 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 ";
//交接班表里只显示值班柜(row_no:1,2)的不显示周转柜
2025-03-12 09:40:47 +08:00
string strSql = @ "SELECT di.drug_name as DrugName,di.drug_spec as DrugSpec,di.small_unit as PackdUnit,sum(if(cs.drawer_type=1,cs.quantity,0)) stockQuantity,
2025-01-08 09:29:08 +08:00
sum ( if ( cs . drawer_type = 2 , cs . quantity , 0 ) ) EmptyQuantity FROM channel_stock cs inner join drug_info di on cs . drug_id = di . drug_id
WHERE ( row_no < = 8 or drawer_type = 2 ) and machine_id = @machineId GROUP BY cs . drug_id ORDER BY cs . Drug_ID ";
2024-02-04 13:35:45 +08:00
List < ShiftsReport > shiftsReports = SqlSugarHelper . Db . SqlQueryable < dynamic > ( strSql )
2023-11-13 13:25:46 +08:00
. AddParameters ( new
{
machineId = ConfigurationManager . AppSettings [ "machineId" ] ? ? "DM1" ,
2025-01-08 09:29:08 +08:00
//beforeDate = listHkcChangeShifts[0].OptDate,
//startDate = listHkcChangeShifts[0].OptDate,
//endDate = dt
2023-11-13 13:25:46 +08:00
} )
. Select ( it = > new ShiftsReport ( ) )
. ToList ( ) ;
2025-01-10 17:07:43 +08:00
logger . Info ( strSql ) ;
2023-11-13 13:25:46 +08:00
if ( shiftsReports ! = null & & shiftsReports . Count > 0 )
{
2025-01-10 17:07:43 +08:00
logger . Info ( $"进入shiftsReports != null{shiftsReports.Count}" ) ;
2023-11-13 13:25:46 +08:00
for ( int i = 0 ; i < shiftsReports . Count ; i + + )
{
2024-02-04 13:35:45 +08:00
SqlSugarHelper . Db . Insertable ( new ShiftsReport ( )
2023-11-13 13:25:46 +08:00
{
OptDate = dt ,
DrugName = shiftsReports [ i ] . DrugName ,
DrugSpec = shiftsReports [ i ] . DrugSpec ,
2025-01-08 09:29:08 +08:00
PackdUnit = shiftsReports [ i ] . PackdUnit ,
StockQuantity = shiftsReports [ i ] . StockQuantity ,
EmptyQuantity = shiftsReports [ i ] . EmptyQuantity ,
//BeforeNum = shiftsReports[i].BeforeNum ?? 0,
//GetNum = shiftsReports[i].GetNum ?? 0,
//UseNum = shiftsReports[i].UseNum ?? 0,
//ManuNo = shiftsReports[i].ManuNo,
//Surplus = shiftsReports[i].Surplus ?? 0,
2023-11-13 13:25:46 +08:00
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 ) )
{
2024-02-04 13:35:45 +08:00
UserList userList = SqlSugarHelper . Db . Queryable < UserList > ( )
2023-11-13 13:25:46 +08:00
. 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 )
{
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 ; }
}
}
}
}
}
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" ) )
{
2024-02-04 13:35:45 +08:00
UserList userList = SqlSugarHelper . Db . Queryable < UserList > ( )
2023-11-13 13:25:46 +08:00
. 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 ;
2024-02-04 13:35:45 +08:00
////private SqlSugarScope SqlSugarHelper.Db;
public ChangeShiftsDialogViewModel ( IEventAggregator eventAggregator )
2023-11-13 13:25:46 +08:00
{
_eventAggregator = eventAggregator ;
2024-02-04 13:35:45 +08:00
////this.SqlSugarHelper.Db = sqlSugarScope;
2023-11-13 13:25:46 +08:00
}
public bool CanCloseDialog ( )
{
return true ;
}
public void OnDialogClosed ( )
{
_eventAggregator . GetEvent < FingerprintEvent > ( ) . Unsubscribe ( ChangeShiftsLoginEvent ) ;
}
public void OnDialogOpened ( IDialogParameters parameters )
{
HkcChangeShifts changeOperator = GetOperator ( ) ;
if ( changeOperator ! = null )
{
2024-02-04 13:35:45 +08:00
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 ) ;
2023-11-13 13:25:46 +08:00
}
FingerMsg = false ; // !_fingerprintUtil.bIsConnected;
_eventAggregator . GetEvent < FingerprintEvent > ( ) . Subscribe ( ChangeShiftsLoginEvent ) ;
}
//查询值班人信息
private HkcChangeShifts GetOperator ( )
{
//查询发药人及审核人
2024-12-06 18:52:00 +08:00
HkcChangeShifts changeOperator = SqlSugarHelper . Db . Queryable < HkcChangeShifts > ( ) . Single ( change = > change . Machineid = = ( ConfigurationManager . AppSettings [ "machineId" ] ? ? "DM1" ) & & change . State = = "0" ) ;
2023-11-13 13:25:46 +08:00
//if (changeOperator != null)
//{
2024-02-04 13:35:45 +08:00
// Operator = SqlSugarHelper.Db.Queryable<UserList>().Single(u => u.UserName == changeOperator.FromOperator);
// Reviewer = SqlSugarHelper.Db.Queryable<UserList>().Single(u => u.UserName == changeOperator.ToOperator);
2023-11-13 13:25:46 +08:00
//}
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 ( ) ;
}
}
}