diff --git a/DM_Weight/App.xaml.cs b/DM_Weight/App.xaml.cs index bb385ce..a35b60c 100644 --- a/DM_Weight/App.xaml.cs +++ b/DM_Weight/App.xaml.cs @@ -316,6 +316,10 @@ namespace DM_Weight //紧急开锁页面 containerRegistry.RegisterForNavigation(); + //日期加时间页面 + containerRegistry.RegisterDialog(); + containerRegistry.RegisterForNavigation(); + logger.Info("结束APP-RegisterTypes"); } diff --git a/DM_Weight/ViewModels/AccountWindowViewModel.cs b/DM_Weight/ViewModels/AccountWindowViewModel.cs index 31eb1d5..56a001c 100644 --- a/DM_Weight/ViewModels/AccountWindowViewModel.cs +++ b/DM_Weight/ViewModels/AccountWindowViewModel.cs @@ -7,6 +7,7 @@ using Prism.Commands; using Prism.Events; using Prism.Mvvm; using Prism.Regions; +using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; @@ -19,23 +20,14 @@ namespace DM_Weight.ViewModels { private readonly ILog logger = LogManager.GetLogger(typeof(AccountWindowViewModel)); public static AccountWindowViewModel vm; - private DateTime? _startDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); - - private DateTime? nowDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); + private DateTime? _startDate = DateTime.Now; public DateTime? StartDate { get => _startDate; set { - if (value != null) - { - SetProperty(ref _startDate, new DateTime(value?.Year ?? 0, value?.Month ?? 0, value?.Day ?? 0)); - } - else - { - SetProperty(ref _startDate, value); - } + SetProperty(ref _startDate, value); } } @@ -46,22 +38,16 @@ namespace DM_Weight.ViewModels get => _endDate; set { - if (value != null) - { - TimeSpan ershisi = new TimeSpan(23, 59, 59); - SetProperty(ref _endDate, new DateTime(value?.Year ?? 0, value?.Month ?? 0, value?.Day ?? 0, 23, 59, 59)); - } - else - { - SetProperty(ref _endDate, value); - } + SetProperty(ref _endDate, value); } } IEventAggregator _eventAggregator; - public AccountWindowViewModel(IEventAggregator eventAggregator) + IDialogService _dialogService; + public AccountWindowViewModel(IEventAggregator eventAggregator, IDialogService dialogService) { _eventAggregator = eventAggregator; vm = this; + _dialogService = dialogService; } /// /// 导出账册 @@ -157,5 +143,34 @@ namespace DM_Weight.ViewModels } DrugInfos = SqlSugarHelper.Db.SqlQueryable(str).Where(di => di.DrugName.Contains(text) || di.PyCode.Contains(text)).OrderBy(di => di.DrugName).OrderBy(di => di.DrugId).ToList(); } + public DelegateCommand SelectTimeAction + { + get => new DelegateCommand(async (s) => + { + // 此处延时1毫秒,等待页面渲染 + await Task.Delay(TimeSpan.FromMilliseconds(1)); + DialogParameters dialogParameters = new DialogParameters(); + dialogParameters.Add("DateTime", StartDate); + dialogParameters.Add("Type", s); + DialogServiceExtensions.ShowDialogHost(_dialogService, "DatetimeDialog", dialogParameters, DoDialogResult, "RootDialog"); + }); + } + private void DoDialogResult(IDialogResult dialogResult) + { + // 委托 被动执行 被子窗口执行 + // dialogResult 第一方面可以拿到任意参数 第二方面 可判断关闭状态 + if (dialogResult.Result == ButtonResult.OK) + { + if (dialogResult.Parameters.GetValue("Type").Equals("1")) + { + StartDate = dialogResult.Parameters.GetValue("DateTime"); + } + else + { + EndDate = dialogResult.Parameters.GetValue("DateTime"); + } + } + //MessageBox.Show("返回值:" + dialogResult.Result.ToString()); + } } } diff --git a/DM_Weight/ViewModels/AdditionWindowViewModel.cs b/DM_Weight/ViewModels/AdditionWindowViewModel.cs index ef64701..acece9a 100644 --- a/DM_Weight/ViewModels/AdditionWindowViewModel.cs +++ b/DM_Weight/ViewModels/AdditionWindowViewModel.cs @@ -305,14 +305,6 @@ namespace DM_Weight.ViewModels // MachineId=jiaojie_it.MachineId, //}).UpdateColumns(jiaojie_it => new { jiaojie_it.Quantity }).WhereColumns(jiaojie_it=>new { jiaojie_it.DrugId, jiaojie_it.DrawerNo, jiaojie_it.MachineId }).ExecuteCommand(); //} - selectedStock.ForEach(cs => - { - cs.Quantity = cs.Quantity + cs.AddToJJNum; - //cs.NeedNum = 0; - cs.AddToJJNum = 0; - //cs.State = 0; - }); - SqlSugarHelper.Db.Updateable(selectedStock).ExecuteCommand(); // 更新交接柜状态为 已取药未入库 //SqlSugarHelper.Db.Updateable(new ChannelList() //{ @@ -339,11 +331,19 @@ namespace DM_Weight.ViewModels OperationTime = DateTime.Now, Quantity = selectedStock[i].Quantity, Type = 2, - InvoiceId = InvoiceId + InvoiceId =$"交接柜药品入库{selectedStock[i].DrugId}-{selectedStock[i].AddToJJNum}" //,StockQuantity = nowChannels.Sum(it => it.Quantity), //CheckQuantity = it.CheckQuantity }).ExecuteCommand(); } + selectedStock.ForEach(cs => + { + cs.Quantity = cs.Quantity + cs.AddToJJNum; + //cs.NeedNum = 0; + cs.AddToJJNum = 0; + cs.State = 0; + }); + SqlSugarHelper.Db.Updateable(selectedStock).ExecuteCommand(); //List jiaojie = selectedStock.GroupBy(cs => cs.DrugId).Select(cs => cs.FirstOrDefault()).ToList(); //if (jiaojie != null && jiaojie.Count > 0) //{ diff --git a/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs b/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs index 91ee90e..4d776e1 100644 --- a/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs +++ b/DM_Weight/ViewModels/CheckOrderNewWindowViewModel.cs @@ -614,6 +614,7 @@ namespace DM_Weight.ViewModels if (accountBookG2Day != null) { accountBookG2Day.ManuStock = accountBookG2Day.ManuStock - oi._OrderDetail.Quantity; + accountBookG2Day.OutQuantity= accountBookG2Day.OutQuantity + oi._OrderDetail.Quantity; SqlSugarHelper.Db.Updateable(accountBookG2Day).ExecuteCommand(); } else @@ -633,7 +634,8 @@ namespace DM_Weight.ViewModels MachineId = ConfigurationManager.AppSettings["dm_machineId"].ToString(), CreateDate = DateTime.Now.ToString("yyyy-MM-dd"), CreateTime=DateTime.Now, - InvoiceNo = "日结存" + InvoiceNo = "日结存", + OutQuantity = oi._OrderDetail.Quantity, }).ExecuteCommand(); if (iDayResult <= 0) { diff --git a/DM_Weight/ViewModels/DatetimeDialogViewModel.cs b/DM_Weight/ViewModels/DatetimeDialogViewModel.cs new file mode 100644 index 0000000..7d67334 --- /dev/null +++ b/DM_Weight/ViewModels/DatetimeDialogViewModel.cs @@ -0,0 +1,73 @@ +using DM_Weight.Models; +using DM_Weight.msg; +using Prism.Commands; +using Prism.Mvvm; +using Prism.Services.Dialogs; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DM_Weight.ViewModels +{ + internal class DatetimeDialogViewModel : BindableBase, IDialogAware + { + public string Title => throw new NotImplementedException(); + + public event Action RequestClose; + + private DateTime? _date = new DateTime(); + public DateTime? Date + { + get => _date; + set + { + SetProperty(ref _date, value); + } + } + private DateTime? _time = new DateTime(); + public DateTime? Time + { + get => _time; + set + { + SetProperty(ref _time, value); + } + } + + public bool CanCloseDialog() + { + return true; + } + + public void OnDialogClosed() + { + + } + string typeS; + public void OnDialogOpened(IDialogParameters parameters) + { + DateTime o = parameters.GetValue("DateTime"); + + typeS = parameters.GetValue("Type"); + Date = o; + Time = o; + } + + public DelegateCommand CloseAction + { + get => new DelegateCommand(() => + { + var datetime=new DateTime(Date?.Year ?? DateTime.Now.Year, Date?.Month ?? DateTime.Now.Month, Date?.Day ?? DateTime.Now.Day, + Time?.Hour ?? DateTime.Now.Hour, Time?.Minute ?? DateTime.Now.Minute, Time?.Second ?? DateTime.Now.Second); + var result = new DialogResult(ButtonResult.OK, new DialogParameters + { + { "DateTime", datetime }, + {"Type",typeS } + }); + RequestClose?.Invoke(result); + }); + } + } +} diff --git a/DM_Weight/Views/AccountWindow.xaml b/DM_Weight/Views/AccountWindow.xaml index 7af6c3f..e69b37e 100644 --- a/DM_Weight/Views/AccountWindow.xaml +++ b/DM_Weight/Views/AccountWindow.xaml @@ -11,6 +11,22 @@ xmlns:convert="clr-namespace:DM_Weight.Converter" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800" Loaded="UserControl_Loaded"> + + + + + + + @@ -19,12 +35,10 @@ + - - - - - --> + + + + + + + + + + + + + + + + - + + + + + + diff --git a/DM_Weight/Views/Dialog/DatetimeDialog.xaml.cs b/DM_Weight/Views/Dialog/DatetimeDialog.xaml.cs new file mode 100644 index 0000000..4635027 --- /dev/null +++ b/DM_Weight/Views/Dialog/DatetimeDialog.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +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; + +namespace DM_Weight.Views.Dialog +{ + /// + /// DatetimeDialog.xaml 的交互逻辑 + /// + public partial class DatetimeDialog : UserControl + { + public DatetimeDialog() + { + InitializeComponent(); + } + } +}