替换sqlsugar

This commit is contained in:
maqiao 2023-11-27 15:35:22 +08:00
parent d423350e06
commit d6066ef0ca
59 changed files with 752 additions and 325 deletions

View File

@ -16,7 +16,7 @@
<!--2023/7/13 药房代码 有则写无则空 -->
<add key="storage" value="" />
<!-- 登录模式 1单人登录2双人登录 -->
<add key="loginMode" value="2" />
<add key="loginMode" value="1" />
<!-- 登录顺序,指定先登录的人的名称有效值只有在登录模式等于2时才会生效 发药人【operator】审核人【reviewer】 -->
<add key="firstLogin" value="operator" />
<!-- 按处方还药或者按取药记录还药 1:处方2药品-->
@ -38,7 +38,7 @@
<!-- 抽屉串口的串口号 -->
<add key="DrawerPortPath" value="COM1" />
<!-- can总线串口的串口号 -->
<add key="CanBusPortPath" value="COM6" />
<add key="CanBusPortPath" value="COM5" />
<!-- 条码枪串口的串口号 -->
<add key="ScanCodePortPath" value="COM8" />
<!-- 抽屉串口的串口号 --><!--

View File

@ -24,6 +24,8 @@ using System.Windows.Interop;
using System.Windows.Threading;
using System.Timers;
using DM_Weight.Models;
using SqlSugar;
using Microsoft.Extensions.DependencyInjection;
namespace DM_Weight
{
@ -235,6 +237,23 @@ namespace DM_Weight
//交接班
containerRegistry.RegisterForNavigation<ChangeShiftsDialog, ChangeShiftsDialogViewModel>();
containerRegistry.RegisterSingleton<SqlSugarScope>(() => SqlSugarHelperNew.GetInstance());
containerRegistry.RegisterForNavigation<TestCheckBox, TestCheckBoxViewModel>();
}
//protected IServiceProvider ConfigureServices(IServiceCollection services)
//{
// // 创建 SqlSugar 实例
// var db = new SqlSugarClient(new ConnectionConfig()
// {
// ConnectionString = "server=127.0.0.1;uid=root;pwd=123456;database=mydb",
// DbType = DbType.MySql,
// IsAutoCloseConnection = true,
// InitKeyType = InitKeyType.Attribute
// });
// // 将实例注册到 IServiceCollection 中
// services.AddSingleton(db);
//}
}
}

View File

@ -12,8 +12,11 @@ namespace DM_Weight.Converter
{
public object Convert(object[] value, Type targetType, object parameter, CultureInfo culture)
{
int BoardType = int.Parse(value[0].ToString());
int DrawerType = int.Parse(value[1].ToString());
int BoardType, DrawerType;
bool boardBool = int.TryParse(value[0].ToString(), out BoardType);
bool drawerBool = int.TryParse(value[1].ToString(), out DrawerType);
//int BoardType = int.Parse(value[0].ToString());
//int DrawerType = int.Parse(value[1].ToString());
switch (BoardType)
{
case 1:

View File

@ -13,7 +13,7 @@ namespace DM_Weight.Converter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool status = bool.Parse(value.ToString());
//bool status = bool.Parse(value.ToString());
return false;
}

View File

@ -13,9 +13,19 @@ namespace DM_Weight.Converter
{
public object Convert(object[] value, Type targetType, object parameter, CultureInfo culture)
{
int ButtonDrawerNo = int.Parse(value[0].ToString());
int SelectedDrawerNo = int.Parse(value[1].ToString());
return ButtonDrawerNo == SelectedDrawerNo;
if (value != null && value.Length > 0)
{
//int ButtonDrawerNo = int.Parse(value[0].ToString());
//int SelectedDrawerNo = int.Parse(value[1].ToString());
int ButtonDrawerNo, SelectedDrawerNo;
int.TryParse(value[0].ToString(), out ButtonDrawerNo);
int.TryParse(value[1].ToString(), out SelectedDrawerNo);
return ButtonDrawerNo == SelectedDrawerNo;
}
else
{
return false;
}
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)

View File

@ -15,7 +15,10 @@ namespace DM_Weight.Converter
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return int.Parse(value.ToString()) == 2 || int.Parse(value.ToString()) == 6 ? ReadOnlyValue : NotReadOnlyValue;
int iResult;
int.TryParse(value.ToString(), out iResult);
//return int.Parse(value.ToString()) == 2 || int.Parse(value.ToString()) == 6 ? ReadOnlyValue : NotReadOnlyValue;
return iResult == 2 || iResult == 6 ? ReadOnlyValue : NotReadOnlyValue;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

View File

@ -13,9 +13,12 @@ namespace DM_Weight.Converter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
int status = int.Parse(value.ToString());
//int status = int.Parse(value.ToString());
int status;
int.TryParse(value.ToString(), out status);
string para = parameter?.ToString() ?? "";
//完成
if (parameter.ToString().Equals("drugNameSearch"))
if (para.Equals("drugNameSearch"))
{
if ((status == 1) || (status == 2))
{
@ -26,7 +29,7 @@ namespace DM_Weight.Converter
return Visibility.Collapsed;
}
}
if(parameter.ToString().Equals("saveBtn"))
if(para.Equals("saveBtn"))
{
if(status==1)
{
@ -37,7 +40,7 @@ namespace DM_Weight.Converter
return Visibility.Collapsed;
}
}
if(parameter.ToString().Equals("gridviewColumn"))
if(para.Equals("gridviewColumn"))
{
if(status== 1)
{
@ -48,6 +51,28 @@ namespace DM_Weight.Converter
return 0;
}
}
if(para.Equals("gridviewCheckQuantity"))
{
if(status== 4)
{
return 150;
}
else
{
return 0;
}
}
if (para.Equals("gridviewQuantity"))
{
if (status == 4)
{
return 0;
}
else
{
return 100;
}
}
return Visibility.Collapsed;
}

View File

@ -13,9 +13,12 @@ namespace DM_Weight.Converter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
int status = int.Parse(value.ToString());
//int status = int.Parse(value.ToString());
int status;
int.TryParse(value.ToString(),out status);
string para = parameter?.ToString()??"";
//完成
if (parameter.ToString().Equals("CompleteBtn"))
if (para.Equals("CompleteBtn"))
{
if (status == 3)
{
@ -27,7 +30,7 @@ namespace DM_Weight.Converter
}
}
//关闭
if (parameter.ToString().Equals("CloseBtn"))
if (para.Equals("CloseBtn"))
{
if (status > 0 && status < 3)
{
@ -38,7 +41,7 @@ namespace DM_Weight.Converter
return true;
}
}
if (parameter.ToString().Equals("opearBtnLoading"))
if (para.Equals("opearBtnLoading"))
{
if (status > 0 && status < 3)
{
@ -50,7 +53,7 @@ namespace DM_Weight.Converter
}
}
//取药
if (parameter.ToString().Equals("opearBtnVisible"))
if (para.Equals("opearBtnVisible"))
{
if (status < 3)
{
@ -62,7 +65,7 @@ namespace DM_Weight.Converter
}
}
//取消
if (parameter.ToString().Equals("CancelBtn"))
if (para.Equals("CancelBtn"))
{
if (status > 0)
{

View File

@ -68,6 +68,7 @@
<ItemGroup>
<PackageReference Include="log4net" Version="2.0.15" />
<PackageReference Include="MaterialDesignThemes" Version="4.8.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
<PackageReference Include="Prism.Unity" Version="8.1.97" />
<PackageReference Include="SqlSugarCore" Version="5.1.4.67" />

View File

@ -23,10 +23,10 @@ namespace DM_Weight.Finger
public zkemkeeper.CZKEMClass axCZKEM1; //= new zkemkeeper.CZKEMClass();
public bool bIsConnected = false;
private string fingerIp = ConfigurationManager.AppSettings["fingerIp"].ToString();
private string fingerIp = ConfigurationManager.AppSettings["fingerIp"]?.ToString()??"";
private int fingerPort = 4370;
private int machineNumber = Convert.ToInt32(ConfigurationManager.AppSettings["machineNumber"].ToString());
private int machineType = Convert.ToInt32(ConfigurationManager.AppSettings["machineType"].ToString());
private int machineNumber = Convert.ToInt32(ConfigurationManager.AppSettings["machineNumber"]?.ToString()??"0");
private int machineType = Convert.ToInt32(ConfigurationManager.AppSettings["machineType"]?.ToString()??"0");
private readonly IEventAggregator _eventAggregator;
public FingerprintUtil(IEventAggregator eventAggregator)
{

View File

@ -110,7 +110,7 @@ namespace DM_Weight.Port
// 失能
await BoxLockLightOff2();
}
if(BoardType==5)
if (BoardType == 5)
{
await WriteQuantityArray();
}
@ -141,6 +141,7 @@ namespace DM_Weight.Port
byte[] result = await OpenStorage();
int[] r = result.Select(it => Convert.ToInt32(it)).ToArray();
logger.Info($"储物箱使能返回:" + string.Join("", r));
if (r[4] != 0)
{
logger.Info($"储物箱使能成功");
@ -159,8 +160,8 @@ namespace DM_Weight.Port
EventType = util.EventType.OPENERROR,
WindowName = _WindowName,
Message = "储物箱使能失败"
});
logger.Info($"储物箱使能失败r:"+string.Join("",r));
});
logger.Info($"储物箱使能失败r:" + string.Join("", r));
}
}
else
@ -516,6 +517,7 @@ namespace DM_Weight.Port
{
try
{
logger.Info($"Operate:{Operate}");
if (Operate)
{
byte[] result = await BackDoorState();
@ -523,6 +525,7 @@ namespace DM_Weight.Port
int[] r = result.Select(it => Convert.ToInt32(it)).ToArray();
int[] lockStates = CheckStorageStatus(r.Skip(3).Take(2).ToArray());
int[] lightStates = CheckStorageStatus(r.Skip(5).Take(2).ToArray());
logger.Info($"GetBackDoorState,lockStates:{string.Join(",", lockStates)},lightStates:{string.Join(",", lightStates)},_storageBoxAddr:{_storageBoxAddr},statue{statue}");
// 锁处于关闭状态
if (lockStates[_storageBoxAddr - 1] == 0)
@ -652,19 +655,19 @@ namespace DM_Weight.Port
byte[] buffer = new byte[length];
//try
//{
int _length = 0;
DateTime start = DateTime.Now;
DateTime end = DateTime.Now;
while (_length != length && end.Subtract(start).TotalMilliseconds < timeout)
{
_length = serialPort.BytesToRead;
end = DateTime.Now;
}
if (_length != length)
{
throw new TimeoutException($"串口【{serialPort.PortName}】交互超时");
}
serialPort.Read(buffer, 0, length);
int _length = 0;
DateTime start = DateTime.Now;
DateTime end = DateTime.Now;
while (_length != length && end.Subtract(start).TotalMilliseconds < timeout)
{
_length = serialPort.BytesToRead;
end = DateTime.Now;
}
if (_length != length)
{
throw new TimeoutException($"串口【{serialPort.PortName}】交互超时");
}
serialPort.Read(buffer, 0, length);
//}
//catch (Exception ex)
//{
@ -761,7 +764,7 @@ namespace DM_Weight.Port
canBusSerial.DiscardInBuffer();
byte[] buffer = new byte[] { 0xaa, (byte)(_doorAddr), 0x01, (byte)_storageBoxAddr, 0x00, 0x00, 0x00, 0xee };
canBusSerial.Write(buffer, 0, 8);
logger.Info($"OpenStorage:{string.Join("", buffer)}");
return await GetBufferByPort(canBusSerial, 8);
}
@ -798,12 +801,30 @@ namespace DM_Weight.Port
private int[] Decimal2Chunks(int d)
{
string s = Convert.ToString(d, 2);
List<int> t = s.Split().Select(it => Convert.ToInt32(it)).Reverse().ToList();
while (t.Count < 8)
int[] chars = new int[8];
char[] schar = s.ToCharArray();
Array.Reverse(schar);
int[] iArray = Array.ConvertAll(schar, c => (int)Char.GetNumericValue(c));
int[] addArray = new int[8 - iArray.Length];
if(iArray.Length<8)
{
t.Add(0);
for (int i = 0; i < 8- iArray.Length; i++)
{
addArray[i] = 0;
}
chars = iArray.Concat(addArray).ToArray();
}
return t.ToArray();
else
{
chars = iArray[0..iArray.Length];
}
return chars;
//List<int> t = s.Split().Select(it => Convert.ToInt32(it)).Reverse().ToList();
//while (t.Count < 8)
//{
// t.Add(0);
//}
//return t.ToArray();
}
#endregion
@ -920,14 +941,14 @@ namespace DM_Weight.Port
}
// 以抽屉为单位药盒指示灯开启使能开锁
public async Task BoxLockLightOnByDrawer()
public void BoxLockLightOnByDrawer()
{
canBusSerial.DiscardInBuffer();
byte[] buffer = new byte[] { 0xaa, (byte)(0xf0 + DrawerNo), 0x04, 0x00, 0x00, 0x00, 0x00, 0xee };
canBusSerial.Write(buffer, 0, 8);
}
// 以抽屉为单位药盒指示灯开启失能开锁
public async Task BoxLockLightOffByDrawer()
public void BoxLockLightOffByDrawer()
{
canBusSerial.DiscardInBuffer();
byte[] buffer = new byte[] { 0xaa, (byte)(0xf0 + DrawerNo), 0x05, 0x00, 0x00, 0x00, 0x00, 0xee };
@ -1035,7 +1056,7 @@ namespace DM_Weight.Port
canBusSerial.Write(buffer, 0, 8);
}
catch (Exception ex)
{
@ -1076,7 +1097,7 @@ namespace DM_Weight.Port
for (int i = 0; i < ColNos.Length; i++)
{
WriteQuantity(DrawerNo, ColNos[i], Stocks[i]);
await Task.Delay(TimeSpan.FromMilliseconds(20));
await Task.Delay(TimeSpan.FromMilliseconds(20));
}
}
@ -1106,7 +1127,7 @@ namespace DM_Weight.Port
logger.Info($"操作发生异常ex:{ex.Message}");
return null;
}
}
// 回收箱状态查询
public async Task<byte[]> CheckRecoverStatus()
@ -1243,7 +1264,7 @@ namespace DM_Weight.Port
}
}
public async void ClearCount(int DrawerNo, int ColNo)
public void ClearCount(int DrawerNo, int ColNo)
{
try
{
@ -1266,10 +1287,10 @@ namespace DM_Weight.Port
});
logger.Info($"操作发生异常ex:{ex.Message},方法名ClearCount参数{DrawerNo}{ColNo}");
}
}
public async void SetNumCount(int DrawerNo, int ColNo, int Quantity)
public void SetNumCount(int DrawerNo, int ColNo, int Quantity)
{
try
{
@ -1297,7 +1318,7 @@ namespace DM_Weight.Port
});
logger.Info($"操作发生异常ex:{ex.Message},方法名SetNumCount参数{DrawerNo}{ColNo},{Quantity}");
}
}
#endregion

View File

@ -142,14 +142,16 @@ namespace DM_Weight.Report
else
{
Report.LoadFromFile(new FileInfo(AppDomain.CurrentDomain.BaseDirectory) + "ReportTemp//" + "machine_log_check.grf");
SQL = $@" SELECT dmr.`drawer_no` AS drawerNo,dmr.`col_no` AS colNo,dmr.`type` AS `type`,dmr.`quantity` AS quantity,
SQL = $@" SELECT dmr.`drawer_no` AS drawerNo,dmr.`col_no` AS colNo,dmr.`type` AS `type`,dmr.`check_quantity` AS quantity,
dmr.`manu_no` AS manuNo,dmr.`eff_date` AS effDate,dmr.`operation_time` AS operationTime,
di.`drug_name` AS drugName,di.`drug_spec` AS drugSpec,di.`pack_unit` AS packUnit,
di.`manufactory` AS manuFactory,di.`max_stock` AS baseQuantity,dmr.`drug_id` AS drugId,
ul.`user_name` AS nickname FROM dm_machine_record dmr LEFT JOIN drug_info di ON di.`drug_id` = dmr.`drug_id`
LEFT JOIN user_list ul ON ul.`id` = dmr.`Operator` WHERE dmr.`type` = 4
AND dmr.`machine_id` = '{p_machine_id}' AND dmr.`operation_time` > '{p_startDate}'
AND dmr.`operation_time` < '{p_endDate}'";
ul.`user_name` AS nickname,u2.`user_name` as reviewer FROM dm_machine_record dmr
LEFT JOIN drug_info di ON di.`drug_id` = dmr.`drug_id`
LEFT JOIN user_list ul ON ul.`id` = dmr.`Operator`
LEFT JOIN user_list u2 ON dmr.`reviewer` = u2.`id` WHERE dmr.`type` = 4
AND dmr.`machine_id` = '{p_machine_id}' AND dmr.`operation_time` > '{p_startDate}'
AND dmr.`operation_time` < '{p_endDate}'";
}
Report.DetailGrid.Recordset.ConnectionString = gridConnectionString;

View File

@ -239,7 +239,7 @@
"Name":"StaticBox7",
"Dock":"Fill",
"TextAlign":"MiddleCenter",
"Text":"门诊药房"
"Text":"门诊药房11"
}
]
}

View File

@ -48,7 +48,6 @@
},
{
"Name":"批号",
"Type":"Integer",
"DBFieldName":"manu_no"
},
{

View File

@ -21,6 +21,10 @@
"Name":"操作人",
"DBFieldName":"Nickname"
},
{
"Name":"审核人",
"DBFieldName":"reviewer"
},
{
"Name":"时间",
"Type":"DateTime",
@ -64,6 +68,10 @@
"Name":"操作人",
"Width":2.38125
},
{
"Name":"审核人",
"Width":2.19604
},
{
"Name":"时间",
"Width":3.78354
@ -86,7 +94,7 @@
},
{
"Name":"库位",
"Width":2.59292
"Width":1.79917
}
],
"ColumnContent":{
@ -97,6 +105,10 @@
"TextAlign":"MiddleCenter",
"DataField":"操作人"
},
{
"Column":"审核人",
"DataField":"审核人"
},
{
"Column":"时间",
"TextAlign":"MiddleCenter",
@ -162,6 +174,18 @@
"TextAlign":"MiddleCenter",
"Text":"操作人"
},
{
"GroupTitle":false,
"Column":"审核人",
"Font":{
"Name":"宋体",
"Size":120000,
"Bold":true,
"Charset":134
},
"TextAlign":"MiddleCenter",
"Text":"审核人"
},
{
"GroupTitle":false,
"Column":"时间",
@ -274,7 +298,7 @@
"Charset":134
},
"TextAlign":"MiddleCenter",
"Text":"盘点记录"
"Text":"盘点"
}
],
"RepeatOnPage":true

View File

@ -50,13 +50,14 @@ namespace DM_Weight.ViewModels
IEventAggregator _eventAggregator;
PortUtil _portUtil;
//ScreenUtil _screenUtil;
public BindingChannelDialogViewModel(IEventAggregator eventAggregator, PortUtil portUtil//, ScreenUtil screenUtil
private SqlSugarScope _sqlSugarScope1;
public BindingChannelDialogViewModel(IEventAggregator eventAggregator, PortUtil portUtil, SqlSugarScope sqlSugarScope//, ScreenUtil screenUtil
)
{
_eventAggregator = eventAggregator;
_portUtil = portUtil;
//_screenUtil = screenUtil;
this._sqlSugarScope1 = sqlSugarScope;
}
public int DrawerNo
@ -92,7 +93,7 @@ namespace DM_Weight.ViewModels
{
SetProperty(ref _durgInfo_for_py, value);
if(_durgInfo_for_py!=null)
if (_durgInfo_for_py != null)
{
DrugInfos = GetDrugByDrugPY(_durgInfo_for_py.PyCode);
}
@ -109,11 +110,13 @@ namespace DM_Weight.ViewModels
List<DrugInfo> DrugList = null;
if (!string.IsNullOrEmpty(pycode))
{
DrugList = SqlSugarHelper.Db.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).Where(di => di.PyCode.Contains(pycode)).OrderBy(di => di.DrugId).ToList();
//DrugList = _sqlSugarScope1.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).Where(di => di.PyCode.Contains(pycode)).OrderBy(di => di.DrugId).ToList();
DrugList = _sqlSugarScope1.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).Where(di => di.PyCode.Contains(pycode)).OrderBy(di => di.DrugId).ToList();
}
else
{
DrugList = SqlSugarHelper.Db.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).OrderBy(di => di.DrugId).ToList();
//DrugList = _sqlSugarScope1.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).OrderBy(di => di.DrugId).ToList();
DrugList = _sqlSugarScope1.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).OrderBy(di => di.DrugId).ToList();
}
return DrugList;
}
@ -206,7 +209,8 @@ namespace DM_Weight.ViewModels
private void GetAllDrugInfos()
{
var list = SqlSugarHelper.Db.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).OrderBy(di => di.DrugId).ToList();
//var list = _sqlSugarScope1.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).OrderBy(di => di.DrugId).ToList();
var list = _sqlSugarScope1.Queryable<DrugInfo>().Includes<DrugManuNo>(di => di.DrugManuNos).OrderBy(di => di.DrugId).ToList();
DrugInfos = list;
DrugInfos_PY = list;
}
@ -215,13 +219,20 @@ namespace DM_Weight.ViewModels
{
Channels?.Clear();
int totalCount = 0;
var list = SqlSugarHelper.Db.Queryable<ChannelStock>()
.Includes<DrugInfo>(cs => cs.DrugInfo)
.WhereIF(DrawerNo > 0, cs => cs.DrawerNo == DrawerNo)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1"))
.OrderBy(cs => cs.DrawerNo)
.OrderBy(cs => cs.ColNo)
.ToPageList(PageNum, PageSize, ref totalCount);
//var list = _sqlSugarScope1.Queryable<ChannelStock>()
// .Includes<DrugInfo>(cs => cs.DrugInfo)
// .WhereIF(DrawerNo > 0, cs => cs.DrawerNo == DrawerNo)
// .Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1"))
// .OrderBy(cs => cs.DrawerNo)
// .OrderBy(cs => cs.ColNo)
// .ToPageList(PageNum, PageSize, ref totalCount);
var list = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes<DrugInfo>(cs => cs.DrugInfo)
.WhereIF(DrawerNo > 0, cs => cs.DrawerNo == DrawerNo)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1"))
.OrderBy(cs => cs.DrawerNo)
.OrderBy(cs => cs.ColNo)
.ToPageList(PageNum, PageSize, ref totalCount);
Channels = list;
TotalCount = totalCount;
}
@ -257,7 +268,7 @@ namespace DM_Weight.ViewModels
{
if (DrugInfo != null)
{
int count = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrugId.Equals(DrugInfo.DrugId.ToString())).Where(cs => cs.DrawerType != 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).Count();
int count = _sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrugId.Equals(DrugInfo.DrugId.ToString())).Where(cs => cs.DrawerType != 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).Count();
if (count == 0)
{
var item = SelectChannels[0];
@ -267,7 +278,8 @@ namespace DM_Weight.ViewModels
item.PosNo = 0;
}
item.DrugId = DrugInfo.DrugId.ToString();
SqlSugarHelper.Db.Updateable(item).UpdateColumns(it => new { it.DrugId, it.PosNo }).ExecuteCommand();
//_sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.PosNo }).ExecuteCommand();
_sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.PosNo }).ExecuteCommand();
GetChannelsByDrawerNo();
if (item.BoardType == 5)
@ -280,7 +292,7 @@ namespace DM_Weight.ViewModels
await Task.Delay(200);
_portUtil.WriteChannelInfo(8, DrugInfo.Manufactory, item.DrawerNo, item.ColNo);
await Task.Delay(200);
_portUtil.WriteChannelInfo(6, DrugManuNo.EffDate==null?"": DrugManuNo.EffDate, item.DrawerNo, item.ColNo);
_portUtil.WriteChannelInfo(6, DrugManuNo.EffDate == null ? "" : DrugManuNo.EffDate, item.DrawerNo, item.ColNo);
await Task.Delay(200);
_portUtil.WriteChannelInfo(5, DrugManuNo.ManuNo, item.DrawerNo, item.ColNo);
await Task.Delay(200);
@ -327,7 +339,7 @@ namespace DM_Weight.ViewModels
// item.ManuNo = DrugManuNo.ManuNo;
// item.DrugInfo = DrugInfo;
// item.EffDate = String.Format("{0:yyyy-MM-dd}", DrugManuNo.EffDate);
// SqlSugarHelper.Db.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate, it.PosNo }).ExecuteCommand();
// _sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate, it.PosNo }).ExecuteCommand();
// if (item.BoardType == 5)
// {
@ -357,7 +369,7 @@ namespace DM_Weight.ViewModels
// item.ManuNo = DrugManuNo.ManuNo;
// item.DrugInfo = DrugInfo;
// item.EffDate = String.Format("{0:yyyy-MM-dd}", DrugManuNo.EffDate);
// SqlSugarHelper.Db.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate, it.PosNo }).ExecuteCommand();
// _sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate, it.PosNo }).ExecuteCommand();
// if (item.BoardType == 5)
// {
@ -390,7 +402,8 @@ namespace DM_Weight.ViewModels
item.ManuNo = DrugManuNo.ManuNo;
item.DrugInfo = DrugInfo;
item.EffDate = String.Format("{0:yyyy-MM-dd}", DrugManuNo.EffDate);
SqlSugarHelper.Db.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate, it.PosNo }).ExecuteCommand();
//_sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate, it.PosNo }).ExecuteCommand();
_sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate, it.PosNo }).ExecuteCommand();
if (item.BoardType == 5)
{
@ -447,7 +460,47 @@ namespace DM_Weight.ViewModels
item.ManuNo = null;
item.EffDate = null;
item.DrugInfo = null;
SqlSugarHelper.Db.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate }).ExecuteCommand();
//_sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate }).ExecuteCommand();
_sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate }).ExecuteCommand();
if (item.BoardType == 5)
{
// 清除显示屏库位信息
_portUtil.ClearContent(item.DrawerNo, item.ColNo);
await Task.Delay(200);
_portUtil.ShowContent(item.DrawerNo, item.ColNo);
}
//_screenUtil.SetStockInfo(item, 1);
});
GetChannelsByDrawerNo();
}
else
{
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
SnackbarMessageQueue.Enqueue("所选库位中无可解绑库位【库位还存在药品】");
}
});
}
public DelegateCommand MoveBindingNew
{
get => new DelegateCommand(moveBindingAction);
}
private async void moveBindingAction()
{
await Task.Run(() =>
{
var SelectChannels = Channels.FindAll(item => item.IsSelected && item.Quantity == 0);
var c = SelectChannels.Count;
if (c > 0)
{
SelectChannels.ForEach(async item =>
{
item.DrugId = null;
item.ManuNo = null;
item.EffDate = null;
item.DrugInfo = null;
//_sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate }).ExecuteCommand();
_sqlSugarScope1.Updateable(item).UpdateColumns(it => new { it.DrugId, it.ManuNo, it.EffDate }).ExecuteCommand();
if (item.BoardType == 5)
{
// 清除显示屏库位信息

View File

@ -9,6 +9,7 @@ using Prism.Events;
using Prism.Mvvm;
using Prism.Regions;
using Prism.Services.Dialogs;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
@ -96,7 +97,7 @@ namespace DM_Weight.ViewModels
get => ReadAppSetting("loginMode") == "2";
}
private PortUtil _portUtil;
//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); } }
@ -163,9 +164,10 @@ namespace DM_Weight.ViewModels
//{
DateTime dt = DateTime.Now;
//保存交接班信息(查询当前值班人的最后一条交接班信息(如有则修改状态,没有则插入一条)并写入一条接班人信息)
var f = SqlSugarHelper.Db.UseTran(() =>
//var f = _sqlSugarScope1.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
List<HkcChangeShifts> listHkcChangeShifts = SqlSugarHelper.Db.Queryable<HkcChangeShifts>()
List<HkcChangeShifts> listHkcChangeShifts = _sqlSugarScope1.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)
@ -175,7 +177,7 @@ namespace DM_Weight.ViewModels
if (listHkcChangeShifts != null && listHkcChangeShifts.Count > 0)
{
//存在则修改,不存在则插入一条
SqlSugarHelper.Db.Updateable(new HkcChangeShifts()
_sqlSugarScope1.Updateable(new HkcChangeShifts()
{
Id = listHkcChangeShifts[0].Id,
ToOperator = JieOperator == null ? "" : JieOperator.UserName,
@ -186,7 +188,7 @@ namespace DM_Weight.ViewModels
}
else
{
SqlSugarHelper.Db.Insertable(new HkcChangeShifts()
_sqlSugarScope1.Insertable(new HkcChangeShifts()
{
FromOperator = Operator == null ? "" : Operator.UserName,
FromRviewer = Reviewer == null ? "" : Reviewer.UserName,
@ -199,7 +201,7 @@ namespace DM_Weight.ViewModels
}).ExecuteCommand();
}
SqlSugarHelper.Db.Insertable(new HkcChangeShifts()
_sqlSugarScope1.Insertable(new HkcChangeShifts()
{
FromOperator = JieOperator == null ? "" : JieOperator.UserName,
FromRviewer = JieReviewer == null ? "" : JieReviewer.UserName,
@ -223,7 +225,7 @@ namespace DM_Weight.ViewModels
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 ";
List<ShiftsReport> shiftsReports = SqlSugarHelper.Db.SqlQueryable<dynamic>(strSql)
List<ShiftsReport> shiftsReports = _sqlSugarScope1.SqlQueryable<dynamic>(strSql)
.AddParameters(new
{
machineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1",
@ -238,7 +240,7 @@ namespace DM_Weight.ViewModels
for (int i = 0; i < shiftsReports.Count; i++)
{
SqlSugarHelper.Db.Insertable(new ShiftsReport()
_sqlSugarScope1.Insertable(new ShiftsReport()
{
OptDate = dt,
DrugName = shiftsReports[i].DrugName,
@ -310,7 +312,7 @@ namespace DM_Weight.ViewModels
LoginBtnEnable = false;
if (!string.IsNullOrEmpty(Username) && !string.IsNullOrEmpty(Password))
{
UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
UserList userList = _sqlSugarScope1.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));
@ -506,7 +508,7 @@ namespace DM_Weight.ViewModels
{
if (msg.Message.Equals("LOGIN"))
{
UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
UserList userList = _sqlSugarScope1.Queryable<UserList>()
.Includes<RoleDm>(u => u.Role)
.First(u => u.Id == msg.Id);
@ -607,9 +609,11 @@ namespace DM_Weight.ViewModels
}
IEventAggregator _eventAggregator;
public ChangeShiftsDialogViewModel(IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public ChangeShiftsDialogViewModel(IEventAggregator eventAggregator,SqlSugarScope sqlSugarScope)
{
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
public bool CanCloseDialog()
@ -627,8 +631,8 @@ namespace DM_Weight.ViewModels
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);
Operator = _sqlSugarScope1.Queryable<UserList>().Where(u => u.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).Single(u => u.UserName == changeOperator.FromOperator);
Reviewer = _sqlSugarScope1.Queryable<UserList>().Where(u => u.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).Single(u => u.UserName == changeOperator.FromRviewer);
}
FingerMsg = false;// !_fingerprintUtil.bIsConnected;
@ -638,11 +642,11 @@ namespace DM_Weight.ViewModels
private HkcChangeShifts GetOperator()
{
//查询发药人及审核人
HkcChangeShifts changeOperator = SqlSugarHelper.Db.Queryable<HkcChangeShifts>().Single(change => change.State == "0");
HkcChangeShifts changeOperator = _sqlSugarScope1.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);
// Operator = _sqlSugarScope1.Queryable<UserList>().Single(u => u.UserName == changeOperator.FromOperator);
// Reviewer = _sqlSugarScope1.Queryable<UserList>().Single(u => u.UserName == changeOperator.ToOperator);
//}
return changeOperator;
}

View File

@ -5,6 +5,7 @@ using Prism.Commands;
using Prism.Mvvm;
using Prism.Regions;
using Prism.Services.Dialogs;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Configuration;
@ -123,10 +124,11 @@ namespace DM_Weight.ViewModels
{
GridReportUtil.PrintChangeShiftsReport(StartDate, EndDate);
}
public ChangeShiftsListWindowViewModel(IDialogService dialogService)
private SqlSugarScope _sqlSugarScope1;
public ChangeShiftsListWindowViewModel(IDialogService dialogService,SqlSugarScope sqlSugarScope)
{
_dialogService = dialogService;
this._sqlSugarScope1 = sqlSugarScope;
}
void RequestData()
{
@ -145,7 +147,7 @@ namespace DM_Weight.ViewModels
sqlStr += " and c.optdate<=@endOptDate ";
}
sqlStr+=" group by c.id";
HkcChangeShifts = SqlSugarHelper.Db.SqlQueryable<dynamic>(sqlStr)
HkcChangeShifts = _sqlSugarScope1.SqlQueryable<dynamic>(sqlStr)
.AddParameters(new
{
machineId = machineId,

View File

@ -124,7 +124,7 @@ namespace DM_Weight.ViewModels
{
int totalCount = 0;
string machineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1";
//MachineRecords = SqlSugarHelper.Db.Queryable<MachineRecord>()
//MachineRecords = _sqlSugarScope1.Queryable<MachineRecord>()
// .Includes<DrugInfo>(mr => mr.DrugInfo)
// .Includes<UserList>(mr => mr.User)
// .Where(mr => mr.MachineId == machineId)

View File

@ -88,12 +88,13 @@ namespace DM_Weight.ViewModels
get => _fingerMsg;
set => SetProperty(ref _fingerMsg, value);
}
public ChangeShiftsWindowViewModel(IRegionManager regionManager, IEventAggregator eventAggregator, PortUtil portUtil)
private SqlSugarScope _sqlSugarScope1;
public ChangeShiftsWindowViewModel(IRegionManager regionManager, IEventAggregator eventAggregator, PortUtil portUtil,SqlSugarScope sqlSugarScope)
{
_portUtil = portUtil;
_regionManager = regionManager;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
#region
@ -187,22 +188,22 @@ namespace DM_Weight.ViewModels
if ((JiaoBanFYRFlag || JiaoBanSHRFlag) && (JieBanFYRFlag || JieBanSHRFlag))
{
//保存交接班信息(查询当前值班人的最后一条交接班信息(如有则修改状态,没有则插入一条)并写入一条接班人信息)
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
List<HkcChangeShifts> listHkcChangeShifts = SqlSugarHelper.Db.Queryable<HkcChangeShifts>()
List<HkcChangeShifts> listHkcChangeShifts = _sqlSugarScope1.Queryable<HkcChangeShifts>()
.Where(cs => cs.State == "0")
.WhereIF(App.CurrentFaUserList != null && !string.IsNullOrEmpty(App.CurrentFaUserList.UserName), cs => cs.FromOperator == App.CurrentFaUserList.UserName)
.WhereIF(App.CurrentShenUserList != null && !string.IsNullOrEmpty(App.CurrentShenUserList.UserName), cs => cs.FromRviewer == App.CurrentShenUserList.UserName)
.OrderByDescending(cs => cs.OptState)
.ToList();
//List<MachineRecord> listMachineRecord=SqlSugarHelper.Db.Queryable<MachineRecord>()
//List<MachineRecord> listMachineRecord=_sqlSugarScope1.Queryable<MachineRecord>()
//.Where(m=>)
if (listHkcChangeShifts != null && listHkcChangeShifts.Count > 0)
{
//存在则修改,不存在则插入一条
SqlSugarHelper.Db.Updateable(new HkcChangeShifts()
_sqlSugarScope1.Updateable(new HkcChangeShifts()
{
Id = listHkcChangeShifts[0].Id,
ToOperator = Operator == null ? "" : Operator.UserName,
@ -214,7 +215,7 @@ namespace DM_Weight.ViewModels
}
else
{
SqlSugarHelper.Db.Insertable(new HkcChangeShifts()
_sqlSugarScope1.Insertable(new HkcChangeShifts()
{
FromOperator = App.CurrentFaUserList.UserName,
FromRviewer = App.CurrentShenUserList.UserName,
@ -226,7 +227,7 @@ namespace DM_Weight.ViewModels
}).ExecuteCommand();
}
SqlSugarHelper.Db.Insertable(new HkcChangeShifts()
_sqlSugarScope1.Insertable(new HkcChangeShifts()
{
FromOperator = App.CurrentFaUserList.UserName,
FromRviewer = App.CurrentShenUserList.UserName,
@ -265,7 +266,7 @@ namespace DM_Weight.ViewModels
if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(passWord))
{
{
UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
UserList userList = _sqlSugarScope1.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));
@ -349,7 +350,7 @@ namespace DM_Weight.ViewModels
if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(passWord))
{
{
UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
UserList userList = _sqlSugarScope1.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));
@ -418,7 +419,7 @@ namespace DM_Weight.ViewModels
{
if (msg.Message.Equals("LOGIN"))
{
UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
UserList userList = _sqlSugarScope1.Queryable<UserList>()
.Includes<RoleDm>(u => u.Role)
.First(u => u.Id == msg.Id);

View File

@ -33,11 +33,12 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
public CheckStockWindowViewModel(PortUtil portUtil, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public CheckStockWindowViewModel(PortUtil portUtil, IEventAggregator eventAggregator,SqlSugarScope sqlSugarScope)
{
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1= sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -150,7 +151,7 @@ namespace DM_Weight.ViewModels
if (record.Count > 0)
{
string InvoiceId = "CHECK_" + CurrentTimeMillis();
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
for (int i = 0; i < record.Count; i++)
@ -159,7 +160,7 @@ namespace DM_Weight.ViewModels
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = it.CheckQuantity,
ManuNo = it.ManuNo,
@ -167,14 +168,14 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(it.MachineId))
.Where(cs => cs.DrugId.Equals(it.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 保存数据 盘点记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = it.MachineId,
DrawerNo = it.DrawerNo,
@ -266,7 +267,7 @@ namespace DM_Weight.ViewModels
public void FindDrawerCount()
{
int count = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType != 3)
int count = _sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType != 3)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrawerNo).Select(cs => SqlFunc.AggregateCount(cs.DrawerNo)).Count();
Is8Drawer = count < 9;
Is16Drawer = count >= 16;
@ -283,7 +284,7 @@ namespace DM_Weight.ViewModels
public void RequestData()
{
List<ChannelStock> queryData = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> queryData = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes(cs => cs.DrugInfo)
.Where(cs => cs.DrawerNo == DrawerNo)
.Where(cs => cs.DrugId != null)

View File

@ -49,11 +49,12 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
public DrawerAddDrugWindowViewModel(PortUtil portUtil, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public DrawerAddDrugWindowViewModel(PortUtil portUtil, IEventAggregator eventAggregator,SqlSugarScope sqlSugarScope)
{
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1= sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -176,7 +177,7 @@ namespace DM_Weight.ViewModels
{
//string InvoiceId = "DRAWER_" + CurrentTimeMillis();
string InvoiceId = PZH;
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
for (int i = 0; i < record.Count; i++)
@ -186,7 +187,7 @@ namespace DM_Weight.ViewModels
it.EffDate = it.drugManuNo.EffDate;
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = it.Quantity + it.AddQuantity,
ManuNo = it.ManuNo,
@ -194,14 +195,14 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(it.MachineId))
.Where(cs => cs.DrugId.Equals(it.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 保存数据 入库记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = it.MachineId,
DrawerNo = it.DrawerNo,
@ -295,7 +296,7 @@ namespace DM_Weight.ViewModels
public void FindDrawerCount()
{
int count = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType != 3)
int count = _sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType != 3)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrawerNo).Select(cs => SqlFunc.AggregateCount(cs.DrawerNo)).Count();
Is8Drawer = count < 9;
Is16Drawer = count >= 16;
@ -313,7 +314,7 @@ namespace DM_Weight.ViewModels
public void RequestData()
{
List<ChannelStock> queryData = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> queryData = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes(cs => cs.DrugInfo,di=>di.DrugManuNos)
.Where(cs => cs.DrawerNo == DrawerNo)
.Where(cs => cs.DrawerType == 1)

View File

@ -44,11 +44,12 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
public DrawerTakeDrugWindowViewModel(PortUtil portUtil, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public DrawerTakeDrugWindowViewModel(PortUtil portUtil, IEventAggregator eventAggregator,SqlSugarScope sqlSugarScope)
{
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1= sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -168,7 +169,7 @@ namespace DM_Weight.ViewModels
if (record.Count > 0)
{
string InvoiceId = "DRAWER_" + CurrentTimeMillis();
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
for (int i = 0; i < record.Count; i++)
@ -177,7 +178,7 @@ namespace DM_Weight.ViewModels
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = it.Quantity - it.TakeQuantity,
ManuNo = it.ManuNo,
@ -185,14 +186,14 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(it.MachineId))
.Where(cs => cs.DrugId.Equals(it.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 保存数据 出库记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = it.MachineId,
DrawerNo = it.DrawerNo,
@ -280,7 +281,7 @@ namespace DM_Weight.ViewModels
public void FindDrawerCount()
{
int count = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType != 3)
int count = _sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType != 3)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrawerNo).Select(cs => SqlFunc.AggregateCount(cs.DrawerNo)).Count();
Is8Drawer = count < 9;
Is16Drawer = count >= 16;
@ -297,7 +298,7 @@ namespace DM_Weight.ViewModels
public void RequestData()
{
List<ChannelStock> queryData = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> queryData = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes(cs => cs.DrugInfo)
.Where(cs => cs.DrawerNo == DrawerNo)
.Where(cs => cs.DrugId != null)

View File

@ -12,6 +12,7 @@ using DM_Weight.select;
using DM_Weight.util;
using log4net.Repository.Hierarchy;
using log4net;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -165,7 +166,11 @@ namespace DM_Weight.ViewModels
}
public bool KeepAlive => false;
private SqlSugarScope _sqlSugarScope1;
public DrugListWindowViewModel(SqlSugarScope sqlSugarScope)
{
this._sqlSugarScope1 = sqlSugarScope;
}
public DelegateCommand Query
{
@ -183,7 +188,7 @@ namespace DM_Weight.ViewModels
{
//SelectedDrug.DrugId = 0;
SqlSugarHelper.Db.Insertable(SelectedDrug).ExecuteCommand();
_sqlSugarScope1.Insertable(SelectedDrug).ExecuteCommand();
RequestData();
}
catch (Exception ex)
@ -199,7 +204,7 @@ namespace DM_Weight.ViewModels
{
get => new DelegateCommand(() =>
{
SqlSugarHelper.Db.Updateable(SelectedDrug).UpdateColumns(d => new { d.DrugName, d.Manufactory, d.PyCode, d.PackUnit, d.MaxStock, d.DrugSpec }).ExecuteCommand();
_sqlSugarScope1.Updateable(SelectedDrug).UpdateColumns(d => new { d.DrugName, d.Manufactory, d.PyCode, d.PackUnit, d.MaxStock, d.DrugSpec }).ExecuteCommand();
RequestData();
}, () => SelectedDrug.DrugId !=null).ObservesProperty(() => SelectedDrug);
}
@ -213,7 +218,7 @@ namespace DM_Weight.ViewModels
SelectedManuno.Id = Guid.NewGuid().ToString();
SelectedManuno.DrugId = SelectedDrug.DrugId.ToString();
SelectedManuno.EffDate = DateTime.Parse(SelectedManuno.EffDate).ToString("yyyy-MM-dd");
SqlSugarHelper.Db.Insertable(SelectedManuno).ExecuteCommand();
_sqlSugarScope1.Insertable(SelectedManuno).ExecuteCommand();
GetManuNos();
}
@ -225,7 +230,7 @@ namespace DM_Weight.ViewModels
get => new DelegateCommand(() =>
{
SelectedManuno.EffDate = DateTime.Parse(SelectedManuno.EffDate).ToString("yyyy-MM-dd");
SqlSugarHelper.Db.Updateable(SelectedManuno).UpdateColumns(m => new { m.ManuNo, m.EffDate }).ExecuteCommand();
_sqlSugarScope1.Updateable(SelectedManuno).UpdateColumns(m => new { m.ManuNo, m.EffDate }).ExecuteCommand();
GetManuNos();
}, () => !string.IsNullOrEmpty(SelectedManuno.DrugId)).ObservesProperty(() => SelectedManuno);
}
@ -247,7 +252,7 @@ namespace DM_Weight.ViewModels
void GetManuNos()
{
Manunos = SqlSugarHelper.Db.Queryable<DrugManuNo>()
Manunos = _sqlSugarScope1.Queryable<DrugManuNo>()
.WhereIF(SelectedDrug != null, (di) => di.DrugId.Equals(SelectedDrug.DrugId))
.Select(di => di)
.ToList();
@ -256,7 +261,7 @@ namespace DM_Weight.ViewModels
void RequestData()
{
int totalCount = 0;
DrugInfos = SqlSugarHelper.Db.Queryable<DrugInfo>()
DrugInfos = _sqlSugarScope1.Queryable<DrugInfo>()
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("DrugId"), (di) => di.DrugId.ToString().Contains(SearchValue))
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("DrugName"), (di) => di.DrugName.Contains(SearchValue))
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("PyCode"), (di) => di.PyCode.Contains(SearchValue))

View File

@ -14,6 +14,7 @@ using DM_Weight.Finger;
using DM_Weight.Models;
using DM_Weight.msg;
using DM_Weight.util;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -22,10 +23,12 @@ namespace DM_Weight.ViewModels
private readonly FingerprintUtil _fingerprintUtil;
IEventAggregator _eventAggregator;
public EditUserDialogViewModel(FingerprintUtil fingerprintUtil, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public EditUserDialogViewModel(FingerprintUtil fingerprintUtil, IEventAggregator eventAggregator,SqlSugarScope sqlSugarScope)
{
_fingerprintUtil = fingerprintUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
private UserList _userList = new UserList();
@ -102,7 +105,7 @@ namespace DM_Weight.ViewModels
{
// 旧密码输入正确
UserList.PassWord = MD5.GetMD5Hash(NewPass);
SqlSugarHelper.Db.Updateable<UserList>(UserList).UpdateColumns(u => new { u.PassWord }).ExecuteCommand();
_sqlSugarScope1.Updateable<UserList>(UserList).UpdateColumns(u => new { u.PassWord }).ExecuteCommand();
// 关闭当前窗口
RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
}
@ -120,13 +123,13 @@ namespace DM_Weight.ViewModels
// 没有写密码
if (string.IsNullOrEmpty(NewPass))
{
SqlSugarHelper.Db.Updateable<UserList>(UserList).UpdateColumns(u => new { u.Nickname, u.UserName, u.UserBarcode, u.RoleId }).ExecuteCommand();
_sqlSugarScope1.Updateable<UserList>(UserList).UpdateColumns(u => new { u.Nickname, u.UserName, u.UserBarcode, u.RoleId }).ExecuteCommand();
}
// 更改了密码
else
{
UserList.PassWord = MD5.GetMD5Hash(NewPass);
SqlSugarHelper.Db.Updateable<UserList>(UserList).UpdateColumns(u => new { u.Nickname, u.UserName, u.PassWord, u.UserBarcode, u.RoleId }).ExecuteCommand();
_sqlSugarScope1.Updateable<UserList>(UserList).UpdateColumns(u => new { u.Nickname, u.UserName, u.PassWord, u.UserBarcode, u.RoleId }).ExecuteCommand();
}
}
else
@ -134,7 +137,7 @@ namespace DM_Weight.ViewModels
UserList.PassWord = MD5.GetMD5Hash(NewPass);
UserList.MachineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1";
// 插入
SqlSugarHelper.Db.Insertable<UserList>(UserList).InsertColumns(u => new { u.Id, u.Nickname, u.UserName, u.PassWord, u.UserBarcode, u.RoleId, u.MachineId }).ExecuteCommand();
_sqlSugarScope1.Insertable<UserList>(UserList).InsertColumns(u => new { u.Id, u.Nickname, u.UserName, u.PassWord, u.UserBarcode, u.RoleId, u.MachineId }).ExecuteCommand();
}
RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
}
@ -154,7 +157,7 @@ namespace DM_Weight.ViewModels
void GetAllRole()
{
Roles = SqlSugarHelper.Db.Queryable<RoleDm>().Where(r => r.MachineId == (ConfigurationManager.AppSettings["machineId"] ?? "DM1")).OrderBy(r => r.Id).ToList();
Roles = _sqlSugarScope1.Queryable<RoleDm>().Where(r => r.MachineId == (ConfigurationManager.AppSettings["machineId"] ?? "DM1")).OrderBy(r => r.Id).ToList();
RaisePropertyChanged("Roles");
}

View File

@ -21,6 +21,9 @@ using System.Timers;
using Unity;
using System.Windows.Threading;
using Newtonsoft.Json.Linq;
using System.Threading;
using DM_Weight.msg;
using log4net.Core;
namespace DM_Weight.ViewModels
{
@ -113,20 +116,20 @@ namespace DM_Weight.ViewModels
get { return _selectedMenu; }
set
{
if (value != null)
{
if (value.PremissionName == "退出")
{
logger.Info($"用户【{Operator?.Nickname}】退出登录");
Operator = null;
Reviewer = null;
_regionManager.RequestNavigate("MainRegion", "LoginWindow");
}
else
{
SelectedChildMenu = value.Children[0];
}
}
//if (value != null)
//{
// if (value.PremissionName == "退出")
// {
// logger.Info($"用户【{Operator?.Nickname}】退出登录");
// Operator = null;
// Reviewer = null;
// _regionManager.RequestNavigate("MainRegion", "LoginWindow");
// }
// else
// {
// SelectedChildMenu = value.Children[0];
// }
//}
SetProperty(ref _selectedMenu, value);
}
}
@ -148,7 +151,7 @@ namespace DM_Weight.ViewModels
}
else
{
SelectedMenu.Children = SelectedMenu.Children;
//SelectedMenu.Children = SelectedMenu.Children;
SelectedChildMenu = SelectedMenu.Children[0];
}
}
@ -168,12 +171,16 @@ namespace DM_Weight.ViewModels
public bool Is16Drawer { get => _is16Drawer; set => SetProperty(ref _is16Drawer, value); }
public bool KeepAlive => false;
private PortUtil _portUtil;
public HomeWindowViewModel(IRegionManager iRegionManager, PortUtil portUtil, IDialogService dialogService, IUnityContainer container)
private SqlSugarScope _sqlSugarScope1;
IEventAggregator _eventAggregator;
public HomeWindowViewModel(IRegionManager iRegionManager, PortUtil portUtil, IDialogService dialogService, IUnityContainer container, SqlSugarScope sqlSugarScope, IEventAggregator eventAggregator)
{
_portUtil = portUtil;
_regionManager = iRegionManager;
_dialogService = dialogService;
_container = container;
this._sqlSugarScope1 = sqlSugarScope;
this._eventAggregator = eventAggregator;
}
public DelegateCommand<string> OpenFingerDialog
@ -237,7 +244,7 @@ namespace DM_Weight.ViewModels
public void FindDrawerCount()
{
int count = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType != 3)
int count = _sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType != 3)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrawerNo).Select(cs => SqlFunc.AggregateCount(cs.DrawerNo)).Count();
Is16Drawer = count == 16;
@ -266,17 +273,33 @@ namespace DM_Weight.ViewModels
}
List<PremissionDm> premissions = UserList.Role.Permissions;
//SqlSugarHelper.Db.SqlQueryable<PremissionDm>(sql)
if (premissions.Count <= 0)
{
Operator = null;
Reviewer = null;
Application.Current.Dispatcher.Invoke(() =>
{
_regionManager.RequestNavigate("MainRegion", "LoginWindow");
});
AlertMsg alertMsg = new AlertMsg
{
Message = "用户还未设置权限,请联系管理员",
Type = MsgType.ERROR
};
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
return;
}
//_sqlSugarScope1.SqlQueryable<PremissionDm>(sql)
//.ToTree(pd => pd.Children, pd => pd.ParentId, 0);
PremissionDmList = premissions;
SelectedMenu = premissions[0];
SelectedChildMenu = premissions[0].Children[0];
FindDrawerCount();
int autoExit = Convert.ToInt32(ConfigurationManager.AppSettings["autoExit"] ?? "0");
if (autoExit > 0)
{
Timer timer = new Timer();
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 1000;
timer.Elapsed += (sender, e) =>
{
@ -310,7 +333,6 @@ namespace DM_Weight.ViewModels
//这个方法用于拦截请求
public void OnNavigatedFrom(NavigationContext navigationContext)
{
}
}
}

View File

@ -9,6 +9,7 @@ using Prism.Events;
using Prism.Mvvm;
using Prism.Regions;
using Prism.Services.Dialogs;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
@ -33,11 +34,12 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
public InvoiceAddDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public InvoiceAddDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, SqlSugarScope sqlSugarScope)
{
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -230,9 +232,9 @@ namespace DM_Weight.ViewModels
_isFinishClick = true;
List<ChannelStock> record = ChannelStocks.ToList();
string InvoiceId = Invoice.InvoiceNo;
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
SqlSugarHelper.Db.Updateable(new InOutInvoice()
_sqlSugarScope1.Updateable(new InOutInvoice()
{
Status = 1,
InvoiceNo = Invoice.InvoiceNo
@ -246,7 +248,7 @@ namespace DM_Weight.ViewModels
_portUtil.SetNumCount(it.DrawerNo, it.ColNo, it.AddQuantity);
}
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = it.Quantity + it.AddQuantity,
PosNo = 1,
@ -255,14 +257,14 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate, it.PosNo }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(it.MachineId))
.Where(cs => cs.DrugId.Equals(it.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 保存数据 出/入库记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = it.MachineId,
DrawerNo = it.DrawerNo,

View File

@ -8,6 +8,7 @@ using Prism.Events;
using Prism.Mvvm;
using Prism.Regions;
using Prism.Services.Dialogs;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
@ -76,11 +77,12 @@ namespace DM_Weight.ViewModels
private DelegateCommand _rowSelected;
public DelegateCommand RowSelected => _rowSelected ??= new DelegateCommand(GetChannelByInvoice);
public InvoiceInWindowViewModel(IDialogService DialogService, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public InvoiceInWindowViewModel(IDialogService DialogService, IEventAggregator eventAggregator,SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
_eventAggregator = eventAggregator;
this._sqlSugarScope1= sqlSugarScope;
}
public static List<OrderTakeSelect> StaticOrderTakeSelects = new()
@ -196,14 +198,14 @@ namespace DM_Weight.ViewModels
List<ChannelStock> i = new List<ChannelStock>();
if (SelectedInvoice != null)
{
var invoices = SqlSugarHelper.Db.Queryable<InOutInvoice>()
var invoices = _sqlSugarScope1.Queryable<InOutInvoice>()
.Includes<DrugInfo>(i => i.DrugInfo)
.InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (i, t) => i.DrugId == t.DrugId)
.InnerJoin(_sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (i, t) => i.DrugId == t.DrugId)
.Where(i => i.InvoiceNo == SelectedInvoice.InvoiceNo)
.ToList();
foreach (var invoice in invoices)
{
List<ChannelStock> q = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> q = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes<DrugInfo>(cs => cs.DrugInfo)
.WhereIF(!string.IsNullOrEmpty(invoice.DrugEffDate), cs => cs.EffDate.Equals(invoice.DrugEffDate))
.WhereIF(!string.IsNullOrEmpty(invoice.DrugManuNo), cs => cs.ManuNo.Equals(invoice.DrugManuNo))
@ -344,7 +346,7 @@ namespace DM_Weight.ViewModels
}
sb.Append(" group by i.invoice_no");
sb.Append(" order by i.invoice_date ");
Invoices = SqlSugarHelper.Db.SqlQueryable<dynamic>(sb.ToString())
Invoices = _sqlSugarScope1.SqlQueryable<dynamic>(sb.ToString())
.AddParameters(new
{
Status = 0,

View File

@ -6,6 +6,7 @@ using Prism.Commands;
using Prism.Mvvm;
using Prism.Regions;
using Prism.Services.Dialogs;
using SqlSugar;
using System;
using System.Collections;
using System.Collections.Generic;
@ -66,10 +67,11 @@ namespace DM_Weight.ViewModels
private DelegateCommand _rowSelected;
public DelegateCommand RowSelected => _rowSelected ??= new DelegateCommand(OpenOrderDialog);
public InvoiceOutWindowViewModel(IDialogService DialogService)
private SqlSugarScope _sqlSugarScope1;
public InvoiceOutWindowViewModel(IDialogService DialogService,SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
this._sqlSugarScope1= sqlSugarScope;
}
public static List<OrderTakeSelect> StaticOrderTakeSelects = new()
@ -230,7 +232,7 @@ namespace DM_Weight.ViewModels
}
sb.Append(" group by i.invoice_no");
sb.Append(" order by i.invoice_date ");
Invoices = SqlSugarHelper.Db.SqlQueryable<dynamic>(sb.ToString())
Invoices = _sqlSugarScope1.SqlQueryable<dynamic>(sb.ToString())
.AddParameters(new
{
Status = 0,

View File

@ -38,12 +38,13 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
IDialogService _dialogService;
public InvoiceTakeDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, IDialogService DialogService)
private SqlSugarScope _sqlSugarScope1;
public InvoiceTakeDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, IDialogService DialogService, SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -170,9 +171,9 @@ namespace DM_Weight.ViewModels
public void RequestData()
{
invoices = SqlSugarHelper.Db.Queryable<InOutInvoice>()
invoices = _sqlSugarScope1.Queryable<InOutInvoice>()
.Includes<DrugInfo>(i => i.DrugInfo)
.InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs =>cs.DrugId),(i,t) => i.DrugId == t.DrugId)
.InnerJoin(_sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs =>cs.DrugId),(i,t) => i.DrugId == t.DrugId)
.Where(i => i.InvoiceNo == Invoice.InvoiceNo)
.ToList();
@ -182,7 +183,7 @@ namespace DM_Weight.ViewModels
{
InOutInvoice invoice = invoices[i];
List<ChannelStock> HasQChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> HasQChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes<DrugInfo>(cs => cs.DrugInfo)
.Where(cs => cs.Quantity > 0)
.Where(cs => cs.DrawerType == 1)
@ -246,7 +247,7 @@ namespace DM_Weight.ViewModels
public DelegateCommand OpenDrawer
{
get => new DelegateCommand(async () =>
get => new DelegateCommand(() =>
{
if (Status == 0)
{
@ -297,9 +298,9 @@ namespace DM_Weight.ViewModels
if (record.Count > 0)
{
string InvoiceId = Invoice.InvoiceNo;
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
SqlSugarHelper.Db.Updateable(new InOutInvoice()
_sqlSugarScope1.Updateable(new InOutInvoice()
{
Status = 1,
InvoiceNo = Invoice.InvoiceNo
@ -309,7 +310,7 @@ namespace DM_Weight.ViewModels
{
ChannelStock it = record[i];
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = it.Quantity - it.TakeQuantity,
ManuNo = it.ManuNo,
@ -317,14 +318,14 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(it.MachineId))
.Where(cs => cs.DrugId.Equals(it.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 保存数据 出库记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = it.MachineId,
DrawerNo = it.DrawerNo,

View File

@ -24,6 +24,7 @@ using System.Collections.ObjectModel;
using Microsoft.Win32;
using System.Xml;
using System.Diagnostics;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -80,6 +81,7 @@ namespace DM_Weight.ViewModels
get => _fingerMsg;
set => SetProperty(ref _fingerMsg, value);
}
private SqlSugarScope _sqlSugarScope1;
//public LoginWindowViewModel(IRegionManager regionManager, IEventAggregator eventAggregator, PortUtil portUtil, FingerprintUtil fingerprintUtil)
//{
// _fingerprintUtil = fingerprintUtil;
@ -87,12 +89,13 @@ namespace DM_Weight.ViewModels
// _regionManager = regionManager;
// _eventAggregator = eventAggregator;
//}
public LoginWindowViewModel(IRegionManager regionManager, IEventAggregator eventAggregator, PortUtil portUtil)
public LoginWindowViewModel(IRegionManager regionManager, IEventAggregator eventAggregator, PortUtil portUtil,SqlSugarScope sqlSugarScope)
{
//_fingerprintUtil = fingerprintUtil;
_portUtil = portUtil;
_regionManager = regionManager;
_eventAggregator = eventAggregator;
_sqlSugarScope1= sqlSugarScope;
}
private DelegateCommand? _loginCommand;
@ -139,12 +142,12 @@ _exitCommand ??= new DelegateCommand(Exit);
}
else
{
//UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
//UserList userList = _sqlSugarScope1.Queryable<UserList>()
// .Includes<RoleDm>(u => u.Role)
// .First(u => u.UserName == username && ConfigurationManager.AppSettings["machineId"].ToString().Equals(u.MachineId));
UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
UserList userList = _sqlSugarScope1.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));
@ -314,7 +317,7 @@ _exitCommand ??= new DelegateCommand(Exit);
{
if (msg.Message.Equals("LOGIN"))
{
UserList userList = SqlSugarHelper.Db.Queryable<UserList>()
UserList userList = _sqlSugarScope1.Queryable<UserList>()
.Includes<RoleDm>(u => u.Role)
.First(u => u.Id == msg.Id);

View File

@ -143,10 +143,13 @@ namespace DM_Weight.ViewModels
get { return machineRecords; }
set { SetProperty(ref machineRecords, value); }
}
public MachineRecordWindowViewModel(IEventAggregator eventAggregator)
public List<string>? OldInvoiceIdLst = new List<string>();
private SqlSugarScope _sqlSugarScope1;
public MachineRecordWindowViewModel(IEventAggregator eventAggregator, SqlSugarScope sqlSugarScope)
{
vm = this;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
public bool KeepAlive => false;
@ -172,7 +175,7 @@ namespace DM_Weight.ViewModels
{
get => new DelegateCommand(() =>
{
GridReportUtil.PrintReportAccountBook(StartDate, EndDate, DrugInfo==null?"":DrugInfo.DrugId);
GridReportUtil.PrintReportAccountBook(StartDate, EndDate, DrugInfo == null ? "" : DrugInfo.DrugId);
});
}
@ -187,16 +190,18 @@ namespace DM_Weight.ViewModels
}
private void UpdatPZHSave()
{
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
for (int i = 0; i < MachineRecords.Count; i++)
{
string oldInvoiceId = OldInvoiceIdLst[i];
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new MachineRecord()
_sqlSugarScope1.Updateable(new MachineRecord()
{
Id = MachineRecords[i].Id,
InvoiceId = MachineRecords[i].InvoiceId
}).UpdateColumns(it => new { it.InvoiceId }).WhereColumns(it => new { it.Id }).ExecuteCommand();
}).UpdateColumns(it => new { it.InvoiceId }).Where(it => it.InvoiceId == oldInvoiceId).ExecuteCommand();
}
return true;
});
@ -207,7 +212,8 @@ namespace DM_Weight.ViewModels
Message = "保存成功",
Type = MsgType.SUCCESS
};
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
_eventAggregator.GetEvent<SnackbarEvent>().Publish(alertMsg);
RequestData();
}
if (!f.IsSuccess)
{
@ -248,7 +254,7 @@ namespace DM_Weight.ViewModels
{
int totalCount = 0;
string machineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1";
MachineRecords = SqlSugarHelper.Db.Queryable<MachineRecord>()
MachineRecords = _sqlSugarScope1.Queryable<MachineRecord>()
.Includes<DrugInfo>(mr => mr.DrugInfo)
.Includes<UserList>(mr => mr.User)
.Where(mr => mr.MachineId == machineId)
@ -261,6 +267,7 @@ namespace DM_Weight.ViewModels
.ToPageList(PageNum, PageSize, ref totalCount);
//.ToList();
TotalCount = totalCount;
OldInvoiceIdLst = MachineRecords.Select(mr => mr.InvoiceId).ToList();
}
//每次导航的时候该实列用不用重新创建true是不重新创建,false是重新创建
@ -278,7 +285,7 @@ namespace DM_Weight.ViewModels
private void GetAllDrugInfos()
{
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)as drug_name_spec FROM `drug_info` d";
DrugInfos = SqlSugarHelper.Db.SqlQueryable<DrugInfo>(str).OrderBy(di => di.DrugName).OrderBy(di => di.DrugId).ToList();
DrugInfos = _sqlSugarScope1.SqlQueryable<DrugInfo>(str).OrderBy(di => di.DrugName).OrderBy(di => di.DrugId).ToList();
}
public void UpdateComboBoxItems(string text)
@ -287,7 +294,7 @@ namespace DM_Weight.ViewModels
d.manufactory,d.max_stock,CONCAT(drug_name,' ',drug_spec)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();
DrugInfos = _sqlSugarScope1.SqlQueryable<DrugInfo>(str).OrderBy(di => di.DrugName).OrderBy(di => di.DrugId).ToList();
return;
}
if (DrugInfos != null)
@ -295,7 +302,7 @@ namespace DM_Weight.ViewModels
DrugInfos.Clear();
}
DrugInfos = SqlSugarHelper.Db.SqlQueryable<DrugInfo>(str).Where(di => di.DrugName.Contains(text) || di.PyCode.Contains(text) || di.DrugId.Contains(text)).OrderBy(di => di.DrugName).OrderBy(di => di.DrugId).ToList();
DrugInfos = _sqlSugarScope1.SqlQueryable<DrugInfo>(str).Where(di => di.DrugName.Contains(text) || di.PyCode.Contains(text) || di.DrugId.Contains(text)).OrderBy(di => di.DrugName).OrderBy(di => di.DrugId).ToList();
}
}

View File

@ -17,6 +17,7 @@ using DM_Weight.Views;
using Unity;
using DM_Weight.Models;
using System.Runtime.CompilerServices;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -66,7 +67,8 @@ namespace DM_Weight.ViewModels
IUnityContainer _container;
PortUtil _portUtil;
private List<ChannelStock> _channelStocks = new List<ChannelStock>();
public MainWindowViewModel(IRegionManager regionManager, IUnityContainer container, IEventAggregator eventAggregator, FingerprintUtil fingerprintUtil, ScreenUtil screenUtil, PortUtil portUtil)
private SqlSugarScope _sqlSugarScope1;
public MainWindowViewModel(IRegionManager regionManager, IUnityContainer container, IEventAggregator eventAggregator, FingerprintUtil fingerprintUtil, ScreenUtil screenUtil, PortUtil portUtil,SqlSugarScope sqlSugarScope)
{
//_portUtil = portUtil;
this.eventAggregator = eventAggregator;
@ -76,8 +78,7 @@ namespace DM_Weight.ViewModels
_regionManager = regionManager;
_container = container;
_portUtil = portUtil;
Task.Factory.StartNew(()=>BindStock()); ;
this._sqlSugarScope1=sqlSugarScope;
System.Windows.Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Send, new Action(() =>
{
@ -86,6 +87,8 @@ namespace DM_Weight.ViewModels
_regionManager.RequestNavigate("MainRegion", "LoginWindow");
}));
Task.Factory.StartNew(()=>BindStock());
}
void doMyPrismEvent2(AlertMsg msg)
@ -107,7 +110,7 @@ namespace DM_Weight.ViewModels
//写标签数量
async Task BindStock()
{
List<ChannelStock> singleChannels = SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.BoardType == 5).Where(cs => cs.DrugId !=null).ToList();
List<ChannelStock> singleChannels = _sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.BoardType == 5).Where(cs => cs.DrugId !=null).ToList();
for (int i = 0; i < singleChannels.Count; i++)
{

View File

@ -38,11 +38,13 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
IDialogService _dialogService;
public OrderReturnDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, IDialogService DialogService)
private SqlSugarScope _sqlSugarScope1;
public OrderReturnDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, IDialogService DialogService, SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -170,9 +172,9 @@ namespace DM_Weight.ViewModels
public void RequestData()
{
orderDetails = SqlSugarHelper.Db.Queryable<OrderDetail>()
orderDetails = _sqlSugarScope1.Queryable<OrderDetail>()
.Includes<DrugInfo>(od => od.DrugInfo)
.InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (od, t) => od.DrugId == t.DrugId)
.InnerJoin(_sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (od, t) => od.DrugId == t.DrugId)
.Where(od => od.OrderNo == OrderInfo.OrderNo)
.ToList();
@ -182,7 +184,7 @@ namespace DM_Weight.ViewModels
{
OrderDetail orderDetail = orderDetails[i];
List<ChannelStock> HasQChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> HasQChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes<DrugInfo>(cs => cs.DrugInfo)
.Where(cs => cs.DrawerType == 1)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1"))
@ -241,7 +243,7 @@ namespace DM_Weight.ViewModels
public DelegateCommand OpenDrawer
{
get => new DelegateCommand(async () =>
get => new DelegateCommand(() =>
{
if (Status == 0)
{
@ -293,9 +295,9 @@ namespace DM_Weight.ViewModels
//if (record.Count > 0)
//{
string InvoiceId = OrderInfo.OrderNo;
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
SqlSugarHelper.Db.Updateable(new OrderInfo()
_sqlSugarScope1.Updateable(new OrderInfo()
{
DmStatus = 2,
OrderNo = OrderInfo.OrderNo
@ -304,7 +306,7 @@ namespace DM_Weight.ViewModels
{
ChannelStock it = record[i];
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
//Quantity = it.Quantity + it.TakeQuantity,
Quantity = it.Quantity + it.ReturnQuantity,
@ -313,14 +315,14 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(it.MachineId))
.Where(cs => cs.DrugId.Equals(it.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 保存数据 还药记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = it.MachineId,
DrawerNo = it.DrawerNo,

View File

@ -37,12 +37,14 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
IDialogService _dialogService;
public OrderTakeDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, IDialogService DialogService)
IDialogService _dialogService;
private SqlSugarScope _sqlSugarScope1;
public OrderTakeDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, IDialogService DialogService, SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -167,11 +169,11 @@ namespace DM_Weight.ViewModels
RequestData();
}
public async void RequestData()
public void RequestData()
{
orderDetails = SqlSugarHelper.Db.Queryable<OrderDetail>()
orderDetails = _sqlSugarScope1.Queryable<OrderDetail>()
.Includes<DrugInfo>(od => od.DrugInfo)
.InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (od, t) => od.DrugId == t.DrugId)
.InnerJoin(_sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (od, t) => od.DrugId == t.DrugId)
.Where(od => od.OrderNo == OrderInfo.OrderNo)
.ToList();
@ -181,7 +183,7 @@ namespace DM_Weight.ViewModels
{
OrderDetail orderDetail = orderDetails[i];
List<ChannelStock> HasQChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> HasQChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes<DrugInfo>(cs => cs.DrugInfo)
.Where(cs => cs.Quantity > 0)
.Where(cs => cs.DrawerType == 1)
@ -308,15 +310,15 @@ namespace DM_Weight.ViewModels
if (record.Count > 0)
{
string InvoiceId = OrderInfo.OrderNo;
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
SqlSugarHelper.Db.Updateable(new OrderInfo()
_sqlSugarScope1.Updateable(new OrderInfo()
{
DmStatus = 1,
OrderNo = OrderInfo.OrderNo
}).UpdateColumns(it => new { it.DmStatus }).WhereColumns(it => new { it.OrderNo }).ExecuteCommand();
SqlSugarHelper.Db.Insertable(new OrderFinish()
_sqlSugarScope1.Insertable(new OrderFinish()
{
OrderNo = OrderInfo.OrderNo,
PatientId = OrderInfo.PatientId,
@ -329,7 +331,7 @@ namespace DM_Weight.ViewModels
{
ChannelStock it = record[i];
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = it.Quantity - it.TakeQuantity,
ManuNo = it.ManuNo,
@ -337,14 +339,14 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(it.MachineId))
.Where(cs => cs.DrugId.Equals(it.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 保存数据 出库记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = it.MachineId,
DrawerNo = it.DrawerNo,

View File

@ -15,6 +15,7 @@ using DM_Weight.select;
using DM_Weight.util;
using DM_Weight.msg;
using Prism.Events;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -69,11 +70,12 @@ namespace DM_Weight.ViewModels
private DelegateCommand _rowSelected;
public DelegateCommand RowSelected => _rowSelected ??= new DelegateCommand(OpenOrderDialog);
public OrderTakeDrugWindowViewModel(IDialogService DialogService, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public OrderTakeDrugWindowViewModel(IDialogService DialogService, IEventAggregator eventAggregator,SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
_eventAggregator = eventAggregator;
this._sqlSugarScope1= sqlSugarScope;
}
public static List<OrderTakeSelect> StaticOrderTakeSelects = new()
@ -213,9 +215,9 @@ namespace DM_Weight.ViewModels
{
OrderInfos.Clear();
int totalCount = 0;
List<OrderInfo> queryData = SqlSugarHelper.Db.Queryable<OrderInfo>()
List<OrderInfo> queryData = _sqlSugarScope1.Queryable<OrderInfo>()
.InnerJoin<OrderDetail>((oi, od) => oi.OrderNo == od.OrderNo)
.InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (oi, od, t) => od.DrugId == t.DrugId)
.InnerJoin(_sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (oi, od, t) => od.DrugId == t.DrugId)
.WhereIF(OrderDate != null, oi => oi.RecvDate.ToString("yyyy-MM-dd") == OrderDate)
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("OrderNo"), oi => oi.OrderNo == SearchValue)
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("PatientId"), oi => oi.PatientId == SearchValue)

View File

@ -16,6 +16,7 @@ using DM_Weight.Models;
using DM_Weight.msg;
using DM_Weight.Port;
using DM_Weight.util;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -41,11 +42,12 @@ namespace DM_Weight.ViewModels
get { return _machineRecord; }
set { SetProperty(ref _machineRecord, value); }
}
public ReturnDrugDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public ReturnDrugDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, SqlSugarScope sqlSugarScope)
{
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -173,7 +175,7 @@ namespace DM_Weight.ViewModels
public void RequestData()
{
List<ChannelStock> queryData = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> queryData = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.DrugId == MachineRecord.DrugId)
.Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1"))
.WhereIF(MachineRecord.ManuNo != null,cs => cs.ManuNo == MachineRecord.ManuNo)
@ -227,24 +229,24 @@ namespace DM_Weight.ViewModels
{
IsFinishClick = true;
string InvoiceId = "RETURN_" + CurrentTimeMillis();
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = ChannelStock.Quantity + ReturnQuantity,
Id = ChannelStock.Id,
}).UpdateColumns(it => new { it.Quantity }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(ChannelStock.MachineId))
.Where(cs => cs.DrugId.Equals(ChannelStock.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 更新数据 取药记录 设置还药数量、状态
SqlSugarHelper.Db.Updateable(new MachineRecord()
_sqlSugarScope1.Updateable(new MachineRecord()
{
ReturnQuantity1 = MachineRecord.ReturnQuantity1 + ReturnQuantity,
Id = MachineRecord.Id,
@ -252,7 +254,7 @@ namespace DM_Weight.ViewModels
}).UpdateColumns(it => new { it.ReturnQuantity1, it.Status }).ExecuteCommand();
// 保存数据 还药记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = ChannelStock.MachineId,
DrawerNo = ChannelStock.DrawerNo,

View File

@ -16,6 +16,7 @@ using DM_Weight.msg;
using DM_Weight.Port;
using DM_Weight.select;
using DM_Weight.util;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -75,10 +76,11 @@ namespace DM_Weight.ViewModels
private DelegateCommand _rowSelected;
public DelegateCommand RowSelected => _rowSelected ??= new DelegateCommand(OpenOrderDialog);
public ReturnDrugWindow2ViewModel(IDialogService DialogService)
private SqlSugarScope _sqlSugarScope1;
public ReturnDrugWindow2ViewModel(IDialogService DialogService,SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
this._sqlSugarScope1 = sqlSugarScope;
}
public static List<OrderTakeSelect> StaticOrderTakeSelects = new()
@ -214,9 +216,9 @@ namespace DM_Weight.ViewModels
{
OrderInfos.Clear();
int totalCount = 0;
List<OrderInfo> queryData = SqlSugarHelper.Db.Queryable<OrderInfo>()
List<OrderInfo> queryData = _sqlSugarScope1.Queryable<OrderInfo>()
.InnerJoin<OrderDetail>((oi, od) => oi.OrderNo == od.OrderNo)
.InnerJoin(SqlSugarHelper.Db.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (oi, od, t) => od.DrugId == t.DrugId)
.InnerJoin(_sqlSugarScope1.Queryable<ChannelStock>().Where(cs => cs.DrawerType == 1).Where(cs => cs.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1")).GroupBy(cs => cs.DrugId), (oi, od, t) => od.DrugId == t.DrugId)
.WhereIF(OrderDate != null, oi => oi.OrderDate.ToString("yyyy-MM-dd") == OrderDate)
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("OrderNo"), oi => oi.OrderNo == SearchValue)
.WhereIF(!String.IsNullOrEmpty(SearchValue) && SelectedItem.Code.Equals("PatientId"), oi => oi.PatientId == SearchValue)

View File

@ -11,6 +11,7 @@ using System.Threading.Tasks;
using DM_Weight.Models;
using DM_Weight.select;
using DM_Weight.util;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -22,10 +23,11 @@ namespace DM_Weight.ViewModels
private DelegateCommand _rowSelected;
public DelegateCommand RowSelected => _rowSelected ??= new DelegateCommand(OpenOrderDialog);
public ReturnDrugWindowViewModel(IDialogService DialogService)
private SqlSugarScope _sqlSugarScope1;
public ReturnDrugWindowViewModel(IDialogService DialogService, SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
this._sqlSugarScope1 = sqlSugarScope;
}
public static List<OrderTakeSelect> StaticSelects = new()
@ -171,7 +173,7 @@ namespace DM_Weight.ViewModels
public void RequestData()
{
List<MachineRecord> queryData = SqlSugarHelper.Db.Queryable<MachineRecord>()
List<MachineRecord> queryData = _sqlSugarScope1.Queryable<MachineRecord>()
.Includes<DrugInfo>(mr => mr.DrugInfo)
.Includes<UserList>(mr => mr.User)
.Where(mr => mr.Type == 2)

View File

@ -18,6 +18,8 @@ using DM_Weight.msg;
using DM_Weight.Port;
using DM_Weight.util;
using DM_Weight.Views;
using SqlSugar;
using System.Threading.Channels;
namespace DM_Weight.ViewModels
{
@ -37,11 +39,12 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
public ReturnEmptyDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public ReturnEmptyDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, SqlSugarScope sqlSugarScope)
{
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -65,7 +68,7 @@ namespace DM_Weight.ViewModels
if (Status == 2)
{
Status = 3;
if(ChannelStock.DrawerType == 3)
if (ChannelStock.DrawerType == 3)
{
ReturnQuantity = msg.Quantitys[0];
logger.Info($"抽屉【{ChannelStock.DrawerNo}】回收库位药品数量增加【{msg.Quantitys[0]}】");
@ -141,7 +144,7 @@ namespace DM_Weight.ViewModels
set => SetProperty(ref _channelStock, value);
}
public bool CanCloseDialog()
{
@ -152,12 +155,13 @@ namespace DM_Weight.ViewModels
{
// 取消消息订阅
_eventAggregator.GetEvent<PortUtilEvent>().Unsubscribe(DoMyPrismEvent);
_eventAggregator.GetEvent<CheckBoxCheckEvent>().Unsubscribe(CheckboxChecked);
}
public void OnDialogOpened(IDialogParameters parameters)
{
_eventAggregator.GetEvent<PortUtilEvent>().Subscribe(DoMyPrismEvent);
_eventAggregator.GetEvent<CheckBoxCheckEvent>().Subscribe(CheckboxChecked);
ChannelStock _record = parameters.GetValue<ChannelStock>("channel");
ChannelStock = _record;
@ -166,7 +170,7 @@ namespace DM_Weight.ViewModels
public void RequestData()
{
List<MachineRecord> queryData = SqlSugarHelper.Db.Queryable<MachineRecord>()
List<MachineRecord> queryData = _sqlSugarScope1.Queryable<MachineRecord>()
.Includes<UserList>(mr => mr.User)
.Where(mr => mr.DrugId == ChannelStock.DrugId)
.Where(mr => mr.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1"))
@ -177,6 +181,19 @@ namespace DM_Weight.ViewModels
.ToList();
MachineRecords = queryData;
}
//选中药品将要返还的数量添加到文本框
private void CheckboxChecked()
{
List<MachineRecord> records = MachineRecords.FindAll(it => it.IsSelected).ToList();
if (records != null && records.Count > 0)
{
ReturnQuantity = records.Sum(it => it.Quantity - it.ReturnQuantity1);
}
else
{
ReturnQuantity = 0;
}
}
public DelegateCommand OpenDrawer
{
@ -188,7 +205,7 @@ namespace DM_Weight.ViewModels
{
if (ChannelStock.DrawerType == 3 && ChannelStock.BoardType == 1)
{
Status = 3 ;
Status = 3;
}
else
{
@ -196,7 +213,7 @@ namespace DM_Weight.ViewModels
_portUtil.SpeakAsync("正在打开" + ChannelStock.DrawerNo + "号抽屉");
_portUtil.WindowName = WindowName;
_portUtil.ColNos = new int[] { ChannelStock.ColNo };
_portUtil.Stocks = new int[] { ChannelStock.Quantity };
_portUtil.Stocks = new int[] { ChannelStock.Quantity };
_portUtil.DrawerNo = ChannelStock.DrawerNo;
_portUtil.DrawerType = ChannelStock.DrawerType;
_portUtil.BoardType = ChannelStock.BoardType;
@ -227,21 +244,21 @@ namespace DM_Weight.ViewModels
{
IsFinishClick = true;
List<MachineRecord> records = MachineRecords.FindAll(it => it.IsSelected).ToList();
if (records.Count > 0 && records.Sum(it => it.Quantity - it.ReturnQuantity1) == ReturnQuantity)
if (records.Count > 0 && records.Sum(it => it.Quantity - it.ReturnQuantity1) == ReturnQuantity)
{
string InvoiceId = "RETURN_" + CurrentTimeMillis();
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = ChannelStock.Quantity + ReturnQuantity,
Id = ChannelStock.Id,
}).UpdateColumns(it => new { it.Quantity }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(ChannelStock.MachineId))
.Where(cs => cs.DrugId.Equals(ChannelStock.DrugId))
.Where(cs => cs.DrawerType == 1)
@ -251,7 +268,7 @@ namespace DM_Weight.ViewModels
{
MachineRecord _MachineRecord = records[i];
// 更新数据 取药记录 设置还药数量、状态
SqlSugarHelper.Db.Updateable(new MachineRecord()
_sqlSugarScope1.Updateable(new MachineRecord()
{
ReturnQuantity2 = _MachineRecord.Quantity - _MachineRecord.ReturnQuantity1,
Id = _MachineRecord.Id,
@ -259,13 +276,13 @@ namespace DM_Weight.ViewModels
}).UpdateColumns(it => new { it.ReturnQuantity1, it.Status }).ExecuteCommand();
// 保存数据 还药空瓶记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = ChannelStock.MachineId,
DrawerNo = ChannelStock.DrawerNo,
ColNo = ChannelStock.ColNo,
DrugId = ChannelStock.DrugId,
ManuNo = ChannelStock.ManuNo,
ManuNo = _MachineRecord.ManuNo,// ChannelStock.ManuNo,
EffDate = !String.IsNullOrEmpty(ChannelStock.EffDate) ? DateTime.ParseExact(ChannelStock.EffDate, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture) : null,
Operator = HomeWindowViewModel.Operator?.Id,
Reviewer = HomeWindowViewModel.Reviewer?.Id,
@ -308,7 +325,8 @@ namespace DM_Weight.ViewModels
Status = 0;
IsFinishClick = false;
RequestClose?.Invoke(new DialogResult(ButtonResult.OK));
} else
}
else
{
AlertMsg alertMsg = new AlertMsg
{

View File

@ -35,9 +35,11 @@ namespace DM_Weight.ViewModels
}
IDialogService _dialogService;
public ReturnEmptyWindowViewModel(IDialogService dialogService)
private SqlSugarScope _sqlSugarScope1;
public ReturnEmptyWindowViewModel(IDialogService dialogService, SqlSugarScope sqlSugarScope)
{
_dialogService = dialogService;
this._sqlSugarScope1 = sqlSugarScope;
}
public DelegateCommand RowSelected
@ -97,7 +99,7 @@ namespace DM_Weight.ViewModels
void RequestData()
{
Channels = SqlSugarHelper.Db.Queryable<ChannelStock>()
Channels = _sqlSugarScope1.Queryable<ChannelStock>()
.LeftJoin<DrugInfo>((cs,di) => cs.DrugId == di.DrugId.ToString())
.Where((cs) => cs.DrawerType != 1)
.Select((cs, di) => new ChannelStock{

View File

@ -18,6 +18,7 @@ using System.Data;
using System.Configuration;
using MaterialDesignThemes.Wpf;
using System.Windows.Media;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -29,12 +30,13 @@ namespace DM_Weight.ViewModels
get { return _roleList; }
set { SetProperty(ref _roleList, value); }
}
private SqlSugarScope _sqlSugarScope1;
public RoleManagerWindowViewModel(SqlSugarScope sqlSugarScope)
{
//_allPremissions = Clone<PremissionDm>(defaultAll);
this._sqlSugarScope1 = sqlSugarScope;
}
//public RoleManagerWindowViewModel()
//{
// _allPremissions = Clone<PremissionDm>(defaultAll);
//}
public static ObservableCollection<T> Clone<T>(object List)
{
using (Stream objectStream = new MemoryStream())
@ -98,7 +100,7 @@ namespace DM_Weight.ViewModels
RightPremissions.Clear();
if (Role != null && Role.Permissions != null)
{
List<PremissionDm> Permissions = Role.Permissions;
List<PremissionDm>? Permissions = Role.Permissions;
Permissions.ForEach(it =>
{
// 父菜单
@ -169,6 +171,7 @@ namespace DM_Weight.ViewModels
Id = 11,
PremissionName = "处方取药",
PremissionPath = "OrderTakeDrugWindow",
//PremissionPath = "TestCheckBox",
};
PremissionDm quyao2 = new PremissionDm
{
@ -369,8 +372,8 @@ namespace DM_Weight.ViewModels
#endregion
}
private ObservableCollection<PremissionDm> _allPremissions = Clone<PremissionDm>(defaultAll);
public ObservableCollection<PremissionDm> AllPremissions
private ObservableCollection<PremissionDm>? _allPremissions = Clone<PremissionDm>(defaultAll);
public ObservableCollection<PremissionDm>? AllPremissions
{
get => _allPremissions;
set => SetProperty(ref _allPremissions, value);
@ -576,7 +579,7 @@ namespace DM_Weight.ViewModels
else
{
// 查找所选子菜单的父菜单
PremissionDm item = RightPremissions.ToList().Find(it => (int)(RightPremission.Id / 10) == it.Id);
PremissionDm? item = RightPremissions.ToList().Find(it => (int)(RightPremission.Id / 10) == it.Id);
// 查找父菜单是否在左侧
int index = AllPremissions.ToList().FindIndex(it => it.Id == item.Id);
// 存在
@ -661,14 +664,14 @@ namespace DM_Weight.ViewModels
Role.Id = 0;
Role.MachineId = ConfigurationManager.AppSettings["machineId"] ?? "DM1";
Role.Permissions = RightPremissions.ToList();
List<RoleDm> roleList = SqlSugarHelper.Db.Queryable<RoleDm>().Where(r => r.RoleName == Role.RoleName).ToList();
List<RoleDm> roleList = _sqlSugarScope1.Queryable<RoleDm>().Where(r => r.RoleName == Role.RoleName).ToList();
if(roleList.Count>0)
{
SnackbarBackground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#b71c1c"));
SnackbarMessageQueue.Enqueue("该角色已存在!");
return;
}
SqlSugarHelper.Db.Insertable<RoleDm>(Role).ExecuteCommand();
_sqlSugarScope1.Insertable<RoleDm>(Role).ExecuteCommand();
RequestData();
});
}
@ -678,7 +681,7 @@ namespace DM_Weight.ViewModels
get => new DelegateCommand(() =>
{
Role.Permissions = RightPremissions.ToList();
SqlSugarHelper.Db.Updateable<RoleDm>(Role).ExecuteCommand();
_sqlSugarScope1.Updateable<RoleDm>(Role).ExecuteCommand();
RequestData();
});
}
@ -701,7 +704,7 @@ namespace DM_Weight.ViewModels
void RequestData()
{
RoleList = SqlSugarHelper.Db.Queryable<RoleDm>()
RoleList = _sqlSugarScope1.Queryable<RoleDm>()
.Where(di => di.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1"))
.WhereIF(!String.IsNullOrEmpty(SearchValue), (di) => di.RoleName.Contains(SearchValue??""))
.Select(r => r)

View File

@ -18,6 +18,7 @@ using DM_Weight.Port;
using DM_Weight.util;
using DM_Weight.Views;
using System.Threading;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -40,11 +41,12 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
public SelfAddDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public SelfAddDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, SqlSugarScope sqlSugarScope)
{
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -130,9 +132,9 @@ namespace DM_Weight.ViewModels
}
private List<ChannelStock> _channelStocks;
private List<ChannelStock>? _channelStocks=new List<ChannelStock>();
public List<ChannelStock> ChannelStocks
public List<ChannelStock>? ChannelStocks
{
get => _channelStocks;
set => SetProperty(ref _channelStocks, value);
@ -232,7 +234,7 @@ namespace DM_Weight.ViewModels
List<ChannelStock> record = ChannelStocks.ToList();
//string InvoiceId = "SELF_" + CurrentTimeMillis();
string InvoiceId = PZH;
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
for (int i = 0; i < record.Count; i++)
{
@ -242,7 +244,7 @@ namespace DM_Weight.ViewModels
_portUtil.SetNumCount(it.DrawerNo, it.ColNo, it.AddQuantity);
}
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = it.Quantity + it.AddQuantity,
PosNo = 1,
@ -251,14 +253,14 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate, it.PosNo }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(it.MachineId))
.Where(cs => cs.DrugId.Equals(it.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 保存数据 出/入库记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = it.MachineId,
DrawerNo = it.DrawerNo,

View File

@ -45,11 +45,12 @@ namespace DM_Weight.ViewModels
Name = "药品编码"
}
};
public SelfAddWindowViewModel(IDialogService DialogService,IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public SelfAddWindowViewModel(IDialogService DialogService,IEventAggregator eventAggregator, SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
@ -164,7 +165,7 @@ namespace DM_Weight.ViewModels
public void RequestChannelData()
{
List<ChannelStock> queryData = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> queryData = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes<DrugInfo>(cs => cs.DrugInfo)
.Where(cs => cs.DrugId != null)
.Where(cs => cs.DrawerType == 1)

View File

@ -16,6 +16,7 @@ using DM_Weight.msg;
using DM_Weight.Port;
using DM_Weight.util;
using System.Threading;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -34,11 +35,12 @@ namespace DM_Weight.ViewModels
private PortUtil _portUtil;
IEventAggregator _eventAggregator;
public SelfTakeDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public SelfTakeDialogViewModel(PortUtil portUtil, IEventAggregator eventAggregator, SqlSugarScope sqlSugarScope)
{
_portUtil = portUtil;
_eventAggregator = eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
void DoMyPrismEvent(DeviceMsg msg)
@ -209,13 +211,13 @@ namespace DM_Weight.ViewModels
_isFinishClick = true;
List<ChannelStock> record = ChannelStocks.ToList();
string InvoiceId = "SELF_" + CurrentTimeMillis();
var f = SqlSugarHelper.Db.UseTran(() =>
var f = _sqlSugarScope1.UseTran(() =>
{
for (int i = 0; i < record.Count; i++)
{
ChannelStock it = record[i];
// 更新数据 库存信息
SqlSugarHelper.Db.Updateable(new ChannelStock()
_sqlSugarScope1.Updateable(new ChannelStock()
{
Quantity = it.Quantity - it.TakeQuantity,
ManuNo = it.ManuNo,
@ -223,14 +225,14 @@ namespace DM_Weight.ViewModels
Id = it.Id,
}).UpdateColumns(it => new { it.Quantity, it.ManuNo, it.EffDate }).ExecuteCommand();
// 获取更新完库存后的药品库存
List<ChannelStock> nowChannels = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> nowChannels = _sqlSugarScope1.Queryable<ChannelStock>()
.Where(cs => cs.MachineId.Equals(it.MachineId))
.Where(cs => cs.DrugId.Equals(it.DrugId))
.Where(cs => cs.DrawerType == 1)
.ToList();
// 保存数据 出/入库记录
SqlSugarHelper.Db.Insertable(new MachineRecord()
_sqlSugarScope1.Insertable(new MachineRecord()
{
MachineId = it.MachineId,
DrawerNo = it.DrawerNo,

View File

@ -13,6 +13,7 @@ using DM_Weight.select;
using DM_Weight.util;
using DM_Weight.msg;
using Prism.Events;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -44,11 +45,12 @@ namespace DM_Weight.ViewModels
Name = "药品编码"
}
};
public SelfTakeDrugWindowViewModel(IDialogService DialogService, IEventAggregator eventAggregator)
private SqlSugarScope _sqlSugarScope1;
public SelfTakeDrugWindowViewModel(IDialogService DialogService, IEventAggregator eventAggregator, SqlSugarScope sqlSugarScope)
{
_dialogService = DialogService;
_eventAggregator= eventAggregator;
this._sqlSugarScope1 = sqlSugarScope;
}
@ -154,7 +156,7 @@ namespace DM_Weight.ViewModels
public void RequestChannelData()
{
List<ChannelStock> queryData = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> queryData = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes<DrugInfo>(cs => cs.DrugInfo)
.Where(cs => cs.DrugId != null)
.Where(cs => cs.DrawerType == 1)

View File

@ -16,10 +16,10 @@ namespace DM_Weight.ViewModels
{
public string Title => strPara;
private string _msg;
private string _msg=string.Empty;
public string Msg { get => _msg; set { SetProperty(ref _msg, value); } }
public event Action<IDialogResult> RequestClose;
public event Action<IDialogResult>? RequestClose;
public bool CanCloseDialog()
{

View File

@ -87,9 +87,11 @@ namespace DM_Weight.ViewModels
}
IDialogService _dialogService;
public StockListWindowViewModel(IDialogService dialogService)
private SqlSugarScope _sqlSugarScope1;
public StockListWindowViewModel(IDialogService dialogService, SqlSugarScope sqlSugarScope)
{
_dialogService = dialogService;
this._sqlSugarScope1 = sqlSugarScope;
}
private ChannelStock? _selectedChannel;
@ -159,7 +161,7 @@ namespace DM_Weight.ViewModels
public void RequestData()
{
ChannelStocks.Clear();
List<ChannelStock> q = SqlSugarHelper.Db.Queryable<ChannelStock>()
List<ChannelStock> q = _sqlSugarScope1.Queryable<ChannelStock>()
.Includes<DrugInfo>(cs => cs.DrugInfo)
.Where(cs => cs.DrawerType == 1)
.Where(cs =>cs.DrugId != null)

View File

@ -0,0 +1,22 @@
using Prism.Commands;
using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DM_Weight.ViewModels
{
public class TestCheckBoxViewModel:BindableBase
{
public DelegateCommand cbxCommand
{
get =>new DelegateCommand(()=>{
});
}
}
}

View File

@ -15,6 +15,7 @@ using System.Windows.Controls;
using DM_Weight.Models;
using DM_Weight.select;
using DM_Weight.util;
using SqlSugar;
namespace DM_Weight.ViewModels
{
@ -73,10 +74,12 @@ namespace DM_Weight.ViewModels
set { SetProperty(ref _user, value); }
}
private readonly IDialogService _dialogService;
public UserManagerWindowViewModel(IDialogService dialogService)
private SqlSugarScope _sqlSugarScope1;
public UserManagerWindowViewModel(IDialogService dialogService, SqlSugarScope sqlSugarScope)
{
_dialogService = dialogService;
this._sqlSugarScope1 = sqlSugarScope;
}
private string? _searchValue;
@ -173,7 +176,7 @@ namespace DM_Weight.ViewModels
void RequestData()
{
int totalcount = 0;
UserList = SqlSugarHelper.Db.Queryable<UserList>()
UserList = _sqlSugarScope1.Queryable<UserList>()
.Includes<RoleDm>(ul => ul.Role)
.Where(ul => ul.MachineId.Equals(ConfigurationManager.AppSettings["machineId"] ?? "DM1"))
.WhereIF(!String.IsNullOrEmpty(SearchValue) , (di) => di.Nickname.Contains(SearchValue))

View File

@ -82,7 +82,7 @@
Style="{StaticResource MaterialDesignOutlinedLightButton}"
ToolTip="解除绑定"
Content="解绑"
Command="{Binding RemoveBinding}" />
Command="{Binding MoveBindingNew}" />
<Button
Margin="0 0 6 0"
Style="{StaticResource MaterialDesignOutlinedLightButton}"

View File

@ -5,6 +5,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:DM_Weight.Views.Dialog"
xmlns:prism="http://prismlibrary.com/"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
prism:ViewModelLocator.AutoWireViewModel="True"
xmlns:convert="clr-namespace:DM_Weight.Converter"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
@ -136,7 +137,7 @@
<GridViewColumn Header="选择" Width="100">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected}" />
<CheckBox IsChecked="{Binding IsSelected}" Click="CheckBox_Click" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>

View File

@ -1,4 +1,6 @@
using System;
using DM_Weight.msg;
using Prism.Events;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -20,9 +22,16 @@ namespace DM_Weight.Views.Dialog
/// </summary>
public partial class ReturnEmptyDialog : UserControl
{
public ReturnEmptyDialog()
IEventAggregator _eventAggregator;
public ReturnEmptyDialog(IEventAggregator eventAggregator)
{
InitializeComponent();
this._eventAggregator= eventAggregator;
}
private void CheckBox_Click(object sender, RoutedEventArgs e)
{
_eventAggregator.GetEvent<CheckBoxCheckEvent>().Publish();
}
}
}

View File

@ -130,9 +130,12 @@
<GridViewColumn Width="100"
DisplayMemberBinding="{Binding DrugInfo.DrugSpec}"
Header="规格"/>
<GridViewColumn Width="100"
<GridViewColumn Width="{Binding Type,Converter={StaticResource MachineTypeConverter},ConverterParameter=gridviewQuantity}"
DisplayMemberBinding="{Binding Quantity}"
Header="数量"/>
<GridViewColumn Width="{Binding Type,Converter={StaticResource MachineTypeConverter},ConverterParameter=gridviewCheckQuantity}"
DisplayMemberBinding="{Binding CheckQuantity}"
Header="数量"/>
<GridViewColumn Width="180"
DisplayMemberBinding="{Binding ManuNo}"
Header="批次"/>

View File

@ -0,0 +1,29 @@
<UserControl x:Class="DM_Weight.Views.TestCheckBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:DM_Weight.Views"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Border BorderBrush="Orange" BorderThickness="3" CornerRadius="6" Background="Yellow">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border BorderBrush="Orange" BorderThickness="1" CornerRadius="1" Padding="4">
<StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel.Effect>
<DropShadowEffect Color="LightGray"/>
</StackPanel.Effect>
<TextBlock Text="欢迎光临" FontSize="60" FontFamily="LiShu"/>
<CheckBox Command="{Binding cbxCommand}"></CheckBox>
</StackPanel>
</StackPanel>
</Border>
</Grid>
</Border>
</UserControl>

View File

@ -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
{
/// <summary>
/// TestCheckBox.xaml 的交互逻辑
/// </summary>
public partial class TestCheckBox : UserControl
{
public TestCheckBox()
{
InitializeComponent();
}
}
}

View File

@ -0,0 +1,13 @@
using Prism.Events;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DM_Weight.msg
{
public class CheckBoxCheckEvent:PubSubEvent
{
}
}

View File

@ -7,12 +7,12 @@ namespace DM_Weight.util
public class SqlSugarHelper
{
public static SqlSugarScope Db = new SqlSugarScope(new ConnectionConfig()
{
ConnectionString = ConfigurationManager.ConnectionStrings["database"].ToString(),
DbType = DbType.MySql,
IsAutoCloseConnection = true
},
{
ConnectionString = ConfigurationManager.ConnectionStrings["database"].ToString(),
DbType = DbType.MySql,
IsAutoCloseConnection = true
},
db =>
{
db.Aop.OnLogExecuting = (sql, pars) =>
@ -21,5 +21,6 @@ namespace DM_Weight.util
};
}
);
}
}

View File

@ -0,0 +1,51 @@
using SqlSugar;
using System;
using System.Configuration;
namespace DM_Weight.util
{
public class SqlSugarHelperNew
{
//private static readonly Lazy<SqlSugarClient> _instance = new Lazy<SqlSugarClient>(() =>
//{
// var db = new SqlSugarClient(
// new ConnectionConfig()
// {
// ConnectionString = ConfigurationManager.ConnectionStrings["database"].ToString(),
// DbType = DbType.MySql,
// IsAutoCloseConnection = true
// },
// db =>
// {
// db.Aop.OnLogExecuting = (sql, pars) =>
// {
// Console.WriteLine(sql);
// };
// }
// );
// return db;
//});
//public static SqlSugarClient Instance => _instance.Value;
private static readonly string connectionString = ConfigurationManager.ConnectionStrings["database"].ToString();
public static SqlSugarScope GetInstance()
{
var db = new SqlSugarScope(new ConnectionConfig()
{
ConnectionString = connectionString,
DbType = DbType.MySql,
IsAutoCloseConnection = true
},
db =>
{
db.Aop.OnLogExecuting = (sql, pars) =>
{
Console.WriteLine(sql);
};
});
return db;
}
}
}