523 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			523 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			C#
		
	
	
	
using DM_Weight.Models;
 | 
						|
using DM_Weight.msg;
 | 
						|
using DM_Weight.Port;
 | 
						|
using DM_Weight.util;
 | 
						|
using log4net;
 | 
						|
using log4net.Repository.Hierarchy;
 | 
						|
using MaterialDesignThemes.Wpf;
 | 
						|
using Prism.Commands;
 | 
						|
using Prism.Events;
 | 
						|
using Prism.Mvvm;
 | 
						|
using Prism.Regions;
 | 
						|
using Prism.Services.Dialogs;
 | 
						|
using SqlSugar;
 | 
						|
using System;
 | 
						|
using System.Collections;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Configuration;
 | 
						|
using System.Linq;
 | 
						|
using System.Text;
 | 
						|
using System.Threading.Tasks;
 | 
						|
using System.Windows.Media;
 | 
						|
 | 
						|
namespace DM_Weight.ViewModels
 | 
						|
{
 | 
						|
    public class BindBoxPackageWindowViewModel : BindableBase, INavigationAware, IRegionMemberLifetime
 | 
						|
    {
 | 
						|
        private readonly ILog logger = LogManager.GetLogger(typeof(BindBoxPackageWindowViewModel));
 | 
						|
        public static BindBoxPackageWindowViewModel vm;
 | 
						|
        private int _drawerNo = 0;
 | 
						|
 | 
						|
        public int DrawerNo
 | 
						|
        {
 | 
						|
            get => _drawerNo;
 | 
						|
            set => SetProperty(ref _drawerNo, value);
 | 
						|
        }
 | 
						|
 | 
						|
        private SolidColorBrush _colorBrush;
 | 
						|
 | 
						|
        public SolidColorBrush SnackbarBackground
 | 
						|
        {
 | 
						|
            get => _colorBrush;
 | 
						|
            set => SetProperty(ref _colorBrush, value);
 | 
						|
        }
 | 
						|
 | 
						|
        private ISnackbarMessageQueue _snackbarMessageQueue = new SnackbarMessageQueue(TimeSpan.FromSeconds(3));
 | 
						|
 | 
						|
        public ISnackbarMessageQueue SnackbarMessageQueue
 | 
						|
        {
 | 
						|
            get => _snackbarMessageQueue;
 | 
						|
            set => SetProperty(ref _snackbarMessageQueue, value);
 | 
						|
        }
 | 
						|
 | 
						|
        private List<ChannelList>? _channelLists;
 | 
						|
 | 
						|
        public List<ChannelList>? _ChannelLists
 | 
						|
        {
 | 
						|
            get => _channelLists;
 | 
						|
            set => SetProperty(ref _channelLists, value);
 | 
						|
        }
 | 
						|
        private ChannelList? _channelList;
 | 
						|
 | 
						|
        public ChannelList? _ChannelList
 | 
						|
        {
 | 
						|
            get => _channelList;
 | 
						|
            set
 | 
						|
            {
 | 
						|
                if (value != null)
 | 
						|
                {
 | 
						|
                    try
 | 
						|
                    {
 | 
						|
                        DrugInfo = DrugInfos.Where(di => di.DrugId == value.Drug.DrugId).First();
 | 
						|
                        BaseQuantity = value.BaseQuantity.ToString();
 | 
						|
 | 
						|
                    }
 | 
						|
                    catch (Exception ex)
 | 
						|
                    {
 | 
						|
                        RequestDrug();
 | 
						|
                        DrugInfo = DrugInfos.Where(di => di.DrugId == value.Drug.DrugId).First();
 | 
						|
                        BaseQuantity = value.BaseQuantity.ToString();
 | 
						|
                    }
 | 
						|
                    //DrugManuNo = DrugManuNos.Where(dm => dm.DrugId == value.DrugId && dm.ManuNo == value.ManuNo).First();
 | 
						|
                }
 | 
						|
                SetProperty(ref _channelList, value);
 | 
						|
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        //private List<ChannelStock>? _channels;
 | 
						|
 | 
						|
        //public List<ChannelStock>? Channels
 | 
						|
        //{
 | 
						|
        //    get => _channels;
 | 
						|
        //    set => SetProperty(ref _channels, value);
 | 
						|
        //}
 | 
						|
 | 
						|
        //private ChannelStock _channelStock;
 | 
						|
 | 
						|
        //public ChannelStock Channel
 | 
						|
        //{
 | 
						|
        //    get { return _channelStock; }
 | 
						|
        //    set
 | 
						|
        //    {
 | 
						|
        //        if (value != null)
 | 
						|
        //        {
 | 
						|
        //            DrugInfo = DrugInfos.Where(di => di.DrugId == value.DrugInfo.DrugId).First();
 | 
						|
        //            BaseQuantity = value.BaseQuantity.ToString();
 | 
						|
        //            //DrugManuNo = DrugManuNos.Where(dm => dm.DrugId == value.DrugId && dm.ManuNo == value.ManuNo).First();
 | 
						|
        //        }
 | 
						|
        //        SetProperty(ref _channelStock, value);
 | 
						|
        //    }
 | 
						|
        //}
 | 
						|
 | 
						|
        //private DrugManuNo? _drugManuNo;
 | 
						|
 | 
						|
        //public DrugManuNo? DrugManuNo
 | 
						|
        //{
 | 
						|
        //    get => _drugManuNo;
 | 
						|
        //    set => SetProperty(ref _drugManuNo, value);
 | 
						|
        //}
 | 
						|
        //private List<DrugManuNo>? _drugManuNos;
 | 
						|
 | 
						|
        //public List<DrugManuNo>? DrugManuNos
 | 
						|
        //{
 | 
						|
        //    get => _drugManuNos;
 | 
						|
        //    set => SetProperty(ref _drugManuNos, value);
 | 
						|
        //}
 | 
						|
 | 
						|
        private List<DrugInfo>? _drugInfos;
 | 
						|
 | 
						|
        public List<DrugInfo>? DrugInfos
 | 
						|
        {
 | 
						|
            get => _drugInfos;
 | 
						|
            set => SetProperty(ref _drugInfos, value);
 | 
						|
        }
 | 
						|
        private DrugInfo? _drugInfo;
 | 
						|
 | 
						|
        public DrugInfo? DrugInfo
 | 
						|
        {
 | 
						|
            get => _drugInfo;
 | 
						|
            set
 | 
						|
            {
 | 
						|
                SetProperty(ref _drugInfo, value);
 | 
						|
                //if (_drugInfo != null)
 | 
						|
                //{
 | 
						|
                //    DrugManuNos = SqlSugarHelper.Db.Queryable<DrugManuNo>().Where(m => m.DrugId == _drugInfo.DrugId.ToString()).ToList();
 | 
						|
                //    if (DrugManuNos != null)
 | 
						|
                //    {
 | 
						|
                //        DrugManuNo = DrugManuNos[0];
 | 
						|
                //    }
 | 
						|
                //}
 | 
						|
                //else
 | 
						|
                //{
 | 
						|
                //    DrugManuNo = null;
 | 
						|
                //}
 | 
						|
            }
 | 
						|
        }
 | 
						|
        //药品基数
 | 
						|
        private string _baseQuantity;
 | 
						|
        public string BaseQuantity { get => _baseQuantity; set { SetProperty(ref _baseQuantity, value); } }
 | 
						|
 | 
						|
        private bool _isEnable = true;
 | 
						|
        public bool IsEnable { get => _isEnable; set => SetProperty(ref _isEnable, value); }
 | 
						|
        private int _status = 0;
 | 
						|
        public int Status { get => _status; set { SetProperty(ref _status, value); } }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
        public bool KeepAlive => false;
 | 
						|
        //抽屉号列表
 | 
						|
        public static List<int> iList = new List<int>();
 | 
						|
        //第几个抽屉号下标
 | 
						|
        //public static int iNumber = 0;
 | 
						|
 | 
						|
        //private PortUtil _portUtil;
 | 
						|
        IEventAggregator _eventAggregator;
 | 
						|
        public BindBoxPackageWindowViewModel(IEventAggregator eventAggregator)
 | 
						|
        {
 | 
						|
            vm = this;
 | 
						|
            //_portUtil = portUtil;
 | 
						|
            _eventAggregator = eventAggregator;
 | 
						|
        }
 | 
						|
 | 
						|
        private void RequestData()
 | 
						|
        {
 | 
						|
            _ChannelLists?.Clear();
 | 
						|
            BaseQuantity = "";
 | 
						|
            var list = SqlSugarHelper.Db.Queryable<ChannelList>()
 | 
						|
                //.Includes(cl => cl.channelStocks, cs => cs.DrugInfo,di=>di.drugBase)
 | 
						|
                .Includes(cl => cl.channelStocks)
 | 
						|
                .Includes(cl => cl.Drug)
 | 
						|
                .Where(cl => cl.MachineId.Equals("DM5"))
 | 
						|
                .Where(cl => cl.DrawerNo == DrawerNo + 1)
 | 
						|
                .OrderBy(cl => cl.DrugId).ToList();
 | 
						|
 | 
						|
            //if (list != null && list.Count > 0)
 | 
						|
            //{
 | 
						|
            //    Channels = list.GroupBy(cs =>new { cs.DrugId, cs.ManuNo }).Select(cs =>
 | 
						|
            //    {
 | 
						|
            //        var ret = cs.First();
 | 
						|
            //        ret.Quantity = cs.Sum(itx => itx.Quantity);
 | 
						|
            //        return ret;
 | 
						|
            //    }).ToList();
 | 
						|
            //}
 | 
						|
            //else
 | 
						|
            //{
 | 
						|
            //    Channels = null;
 | 
						|
            //}
 | 
						|
            if (list != null && list.Count > 0)
 | 
						|
            {
 | 
						|
                _ChannelLists = list;
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                _ChannelLists = null;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        public void OnNavigatedTo(NavigationContext navigationContext)
 | 
						|
        {
 | 
						|
            logger.Info("进入OnNavigatedTo");
 | 
						|
            RequestDrug();
 | 
						|
            RequestData();
 | 
						|
            logger.Info("结束RequestData");
 | 
						|
        }
 | 
						|
 | 
						|
        public bool IsNavigationTarget(NavigationContext navigationContext)
 | 
						|
        {
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
 | 
						|
        public void OnNavigatedFrom(NavigationContext navigationContext)
 | 
						|
        {
 | 
						|
            // 取消消息订阅
 | 
						|
            //_eventAggregator.GetEvent<PortUtilEvent>().Unsubscribe(DoMyPrismEvent);
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        public DelegateCommand<string> UpdateDrawerNo
 | 
						|
        {
 | 
						|
            get => new DelegateCommand<string>((DrawerNo) =>
 | 
						|
            {
 | 
						|
                this.DrawerNo = Convert.ToInt32(DrawerNo);
 | 
						|
                RequestData();
 | 
						|
            }
 | 
						|
            );
 | 
						|
        }
 | 
						|
        private void RequestDrug()
 | 
						|
        {
 | 
						|
            //var list = SqlSugarHelper.Db.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).OrderBy(di => di.DrugId).ToList();
 | 
						|
            //DrugInfos = list;
 | 
						|
            string str = "SELECT d.drug_id,d.py_code,d.drug_barcode,d.drug_name,d.drug_brand_name,d.drug_spec,d.dosage,d.pack_unit,d.manufactory,d.max_stock,CONCAT(drug_name,' / ',drug_spec,' / ',manufactory) as drug_name_spec FROM `drug_info` d";
 | 
						|
            DrugInfos = SqlSugarHelper.Db.SqlQueryable<DrugInfo>(str).OrderBy(di => di.DrugName).OrderBy(di => di.DrugId).ToList();
 | 
						|
 | 
						|
        }
 | 
						|
        public DelegateCommand BindingDrug
 | 
						|
        {
 | 
						|
            get => new DelegateCommand(BindDrugAction);
 | 
						|
        }
 | 
						|
        //绑定
 | 
						|
        private void BindDrugAction()
 | 
						|
        {
 | 
						|
 | 
						|
            if (DrugInfo == null || BaseQuantity == null)
 | 
						|
            {
 | 
						|
                SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
						|
                SnackbarMessageQueue.Enqueue("请选择药品并输入药品基数");
 | 
						|
                return;
 | 
						|
            }
 | 
						|
            int baseQuantity;
 | 
						|
            if (!int.TryParse(BaseQuantity, out baseQuantity))
 | 
						|
            {
 | 
						|
 | 
						|
                SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
						|
                SnackbarMessageQueue.Enqueue("药品基数请输入正确的整数");
 | 
						|
                return;
 | 
						|
            }
 | 
						|
            if (_ChannelLists != null)
 | 
						|
            {
 | 
						|
                int iNum = _ChannelLists.Where(cs => cs.DrugId == DrugInfo.DrugId.ToString()).Count();
 | 
						|
                if (iNum > 0)
 | 
						|
                {
 | 
						|
                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
						|
                    SnackbarMessageQueue.Enqueue("该药品已在手术间绑定,请选择其他药品");
 | 
						|
                    return;
 | 
						|
                }
 | 
						|
 | 
						|
            }
 | 
						|
            var f = SqlSugarHelper.Db.UseTran(() =>
 | 
						|
            {
 | 
						|
                //string chnguid = SqlSugarHelper.Db.Queryable<ChannelList>().Where(cs => cs.MachineId == ConfigurationManager.AppSettings["machineId"].ToString() && cs.DrawerNo == DrawerNo + 1).Select(cs => cs.Id).First();
 | 
						|
 | 
						|
 | 
						|
                int colNoCount = SqlSugarHelper.Db.Queryable<ChannelList>()
 | 
						|
                        .Where(cs => cs.MachineId == ConfigurationManager.AppSettings["machineId"].ToString() && cs.DrawerNo == DrawerNo + 1)
 | 
						|
                        .Max(cs => cs.ColNo);
 | 
						|
                //string chnguid = $"DM5_{(DrawerNo + 1)}_{(colNoCount+1)}_{DrugInfo.DrugId}";
 | 
						|
                string chnguid = $"DM5_{(DrawerNo + 1)}_{DrugInfo.DrugId}";
 | 
						|
                SqlSugarHelper.Db.Insertable(new ChannelList()
 | 
						|
                {
 | 
						|
                    Id = chnguid,
 | 
						|
                    DrawerNo = (DrawerNo + 1),
 | 
						|
                    ColNo = (colNoCount + 1),
 | 
						|
                    DrugId = DrugInfo.DrugId,
 | 
						|
                    BaseQuantity = baseQuantity,
 | 
						|
                    MachineId = "DM5",
 | 
						|
                    DrawerType = 1,
 | 
						|
                    State = 0
 | 
						|
                }).ExecuteCommand();
 | 
						|
                SqlSugarHelper.Db.Insertable(new ChannelStock()
 | 
						|
                {
 | 
						|
                    Chnguid = chnguid,
 | 
						|
                    DrawerNo = DrawerNo + 1,
 | 
						|
                    DrugId = DrugInfo.DrugId,
 | 
						|
                    BaseQuantity = baseQuantity,
 | 
						|
                    Id = Guid.NewGuid().ToString(),
 | 
						|
                    MachineId = "DM5",
 | 
						|
                    AddToJJNum = 0,
 | 
						|
                    NeedNum = baseQuantity,
 | 
						|
                    State=0
 | 
						|
                    //ManuNo=DrugManuNo.ManuNo
 | 
						|
                }).ExecuteCommand();
 | 
						|
                // 保存数据 入库记录
 | 
						|
                SqlSugarHelper.Db.Insertable(new MachineRecord()
 | 
						|
                {
 | 
						|
                    MachineId = "DM5",
 | 
						|
                    DrawerNo = DrawerNo + 1,
 | 
						|
                    DrugId = DrugInfo.DrugId,
 | 
						|
                    Operator = HomeWindowViewModel.Operator?.Id,
 | 
						|
                    OperationTime = DateTime.Now,
 | 
						|
                    Quantity = baseQuantity,
 | 
						|
                    Type = 55,
 | 
						|
                    InvoiceId = "绑定手术间",
 | 
						|
                }).ExecuteCommand();
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
            if (f.Data)
 | 
						|
            {
 | 
						|
                SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
 | 
						|
                SnackbarMessageQueue.Enqueue("药品已绑定手术间");
 | 
						|
                RequestDrug();
 | 
						|
                RequestData();
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        public void UpdateComboBoxItems(string text)
 | 
						|
        {
 | 
						|
            string str = @"SELECT d.drug_id,d.py_code,d.drug_barcode,d.drug_name,d.drug_brand_name,d.drug_spec,d.dosage,d.pack_unit,
 | 
						|
                        d.manufactory,d.max_stock,CONCAT(drug_name,' / ',drug_spec,' / ',manufactory) as drug_name_spec FROM `drug_info` d";
 | 
						|
            if (string.IsNullOrEmpty(text))
 | 
						|
            {
 | 
						|
                DrugInfos = SqlSugarHelper.Db.SqlQueryable<DrugInfo>(str).OrderBy(di => di.DrugName).OrderBy(di => di.DrugId).ToList();
 | 
						|
                return;
 | 
						|
            }
 | 
						|
            if (DrugInfos != null)
 | 
						|
            {
 | 
						|
                DrugInfos.Clear();
 | 
						|
            }
 | 
						|
            DrugInfos = SqlSugarHelper.Db.SqlQueryable<DrugInfo>(str).Where(di => di.DrugName.Contains(text) || di.PyCode.Contains(text)).OrderBy(di => di.DrugName).OrderBy(di => di.DrugId).ToList();
 | 
						|
        }
 | 
						|
 | 
						|
        //解绑
 | 
						|
        public DelegateCommand RemoveBinding
 | 
						|
        {
 | 
						|
            get => new DelegateCommand(() => RemoveBindingAction());
 | 
						|
        }
 | 
						|
        private void RemoveBindingAction()
 | 
						|
        {
 | 
						|
            try
 | 
						|
            {
 | 
						|
 | 
						|
                if (_ChannelList == null)
 | 
						|
                {
 | 
						|
 | 
						|
                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
						|
                    SnackbarMessageQueue.Enqueue("所选手术间中无可解绑药品");
 | 
						|
                    return;
 | 
						|
                }
 | 
						|
                if (_ChannelList != null)
 | 
						|
                {
 | 
						|
                    if (_channelList.channelStocks.Where(cs => cs.Quantity > 0).Count() > 0)
 | 
						|
                    {
 | 
						|
                        SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
						|
                        SnackbarMessageQueue.Enqueue("药品还有库存不能操作解绑");
 | 
						|
                        return;
 | 
						|
                    }
 | 
						|
                    //解绑选定行的单个药品
 | 
						|
                    SqlSugarHelper.Db.Deleteable(_ChannelList.channelStocks).ExecuteCommand();
 | 
						|
                    //解绑ChannelList表中的药品
 | 
						|
                    SqlSugarHelper.Db.Deleteable<ChannelList>().Where(cl => cl.Id == _ChannelList.Id).ExecuteCommand();
 | 
						|
                    // 保存数据 入库记录
 | 
						|
                    SqlSugarHelper.Db.Insertable(new MachineRecord()
 | 
						|
                    {
 | 
						|
                        MachineId = "DM5",
 | 
						|
                        DrawerNo = DrawerNo,
 | 
						|
                        DrugId = _ChannelList.DrugId,
 | 
						|
                        Operator = HomeWindowViewModel.Operator?.Id,
 | 
						|
                        OperationTime = DateTime.Now,
 | 
						|
                        Quantity = _ChannelList.BaseQuantity,
 | 
						|
                        Type = 55,
 | 
						|
                        InvoiceId = "解绑手术间单个药品",
 | 
						|
                    }).ExecuteCommand();
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
						|
                    SnackbarMessageQueue.Enqueue("请选择要解绑的药品");
 | 
						|
                    ////解绑药箱下的所有药品
 | 
						|
                    //Channels.ForEach(item =>
 | 
						|
                    //{
 | 
						|
 | 
						|
                    //    SqlSugarHelper.Db.Deleteable(item).ExecuteCommand();
 | 
						|
 | 
						|
                    //    // 保存数据 入库记录
 | 
						|
                    //    SqlSugarHelper.Db.Insertable(new MachineRecord()
 | 
						|
                    //    {
 | 
						|
                    //        MachineId = "DM5",
 | 
						|
                    //        DrawerNo = DrawerNo,
 | 
						|
                    //        DrugId = item.DrugId.ToString(),
 | 
						|
                    //        Operator = HomeWindowViewModel.Operator?.Id,
 | 
						|
                    //        OperationTime = DateTime.Now,
 | 
						|
                    //        Quantity = item.Quantity,
 | 
						|
                    //        Type = 55,
 | 
						|
                    //        InvoiceId = "绑定手术间全部药品",
 | 
						|
                    //    }).ExecuteCommand();
 | 
						|
 | 
						|
                    //});
 | 
						|
 | 
						|
 | 
						|
                }
 | 
						|
                RequestDrug();
 | 
						|
                RequestData();
 | 
						|
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
						|
                SnackbarMessageQueue.Enqueue("解绑操作异常");
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        //保存修改的药品基数
 | 
						|
        public DelegateCommand SaveCommand
 | 
						|
        {
 | 
						|
            get => new DelegateCommand(() =>
 | 
						|
            {
 | 
						|
                if (DrugInfo.DrugId != _ChannelList.DrugId)
 | 
						|
                {
 | 
						|
                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
						|
                    SnackbarMessageQueue.Enqueue("只能修改药品基数,不能更换绑定药品!");
 | 
						|
                    return;
 | 
						|
                }
 | 
						|
                int baseQty = 0;
 | 
						|
                if (int.TryParse(BaseQuantity, out baseQty))
 | 
						|
                {
 | 
						|
                    logger.Info($"修改药品{DrugInfo.DrugName}基数{_ChannelList.BaseQuantity}改为{baseQty}");
 | 
						|
                    if (baseQty > _ChannelList.BaseQuantity)
 | 
						|
                    {
 | 
						|
                        //基数变大,需要补药
 | 
						|
                        //_ChannelList.channelStocks[0].NeedNum = _ChannelList.channelStocks[0].NeedNum + baseQty - _ChannelList.BaseQuantity;
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        //_ChannelList.channelStocks[0].NeedNum = 0;
 | 
						|
                        _ChannelList.channelStocks.ForEach(cs => cs.State = 0);
 | 
						|
                        SqlSugarHelper.Db.Updateable(_ChannelList.channelStocks).UpdateColumns(cs => new { cs.State }).ExecuteCommand();
 | 
						|
                    }
 | 
						|
                    int oldBaseQty = _ChannelList.BaseQuantity;
 | 
						|
                    _ChannelList.BaseQuantity = baseQty;
 | 
						|
                    //_ChannelList.channelStocks[0].BaseQuantity = baseQty;
 | 
						|
                    //int iUpdate = SqlSugarHelper.Db.Updateable<ChannelStock>(_ChannelList.channelStocks[0]).ExecuteCommand();
 | 
						|
                    _ChannelList.channelStocks.ForEach(cs => cs.BaseQuantity = baseQty);
 | 
						|
                    int iBaseUpdate = SqlSugarHelper.Db.Updateable<ChannelStock>().SetColumns(cs => new ChannelStock(){ BaseQuantity= _ChannelList.channelStocks[0].BaseQuantity }).Where(cs=>cs.Chnguid==_ChannelList.Id).ExecuteCommand();
 | 
						|
                    //if (iBaseUpdate > 0)
 | 
						|
                    //{
 | 
						|
                    //    iBaseUpdate = SqlSugarHelper.Db.Updateable(_ChannelList.channelStocks[0]).UpdateColumns(cs => new { cs.NeedNum }).ExecuteCommand();
 | 
						|
                    //}
 | 
						|
                    //更新ChannelList表中的BaseQuantity
 | 
						|
                    int iUpdateChannelList = SqlSugarHelper.Db.Updateable<ChannelList>()
 | 
						|
                        .SetColumns(it => new ChannelList() { BaseQuantity = baseQty })
 | 
						|
                        .Where(it => it.Id == _ChannelList.Id).ExecuteCommand();
 | 
						|
                    if (iBaseUpdate > 0 && iUpdateChannelList > 0)
 | 
						|
                    {
 | 
						|
                        //保存操作记录
 | 
						|
                        SqlSugarHelper.Db.Insertable(new MachineRecord()
 | 
						|
                        {
 | 
						|
                            MachineId = "DM5",
 | 
						|
                            DrawerNo = _ChannelList.DrawerNo,
 | 
						|
                            DrugId = _ChannelList.DrugId,
 | 
						|
                            Operator = HomeWindowViewModel.Operator?.Id,
 | 
						|
                            OperationTime = DateTime.Now,
 | 
						|
                            Quantity = _ChannelList.channelStocks[0].NeedNum,
 | 
						|
                            Type = 55,
 | 
						|
                            InvoiceId = $"修改药品{DrugInfo.DrugName}基数{oldBaseQty}改为{baseQty},Quantity值为需要加药数量",
 | 
						|
                        }).ExecuteCommand();
 | 
						|
                        SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
 | 
						|
                        SnackbarMessageQueue.Enqueue("保存修改完成!");
 | 
						|
                        RequestData();
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
 | 
						|
                        SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#00e676"));
 | 
						|
                        SnackbarMessageQueue.Enqueue("保存修改失败!");
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
 | 
						|
                    SnackbarMessageQueue.Enqueue("药品基数只能是正整数,请检查输入!");
 | 
						|
                    return;
 | 
						|
                }
 | 
						|
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        //刷新
 | 
						|
        public DelegateCommand Query
 | 
						|
        {
 | 
						|
            get => new DelegateCommand(RequestData);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |