From 8c6e292c508312eca0aef4c203e5857c4fc3094c Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期六, 07 九月 2024 09:18:39 +0800
Subject: [PATCH] Merge branch 'master' into Liudl
---
Wms/WMS.BLL/SysServer/InterfaceServer.cs | 389 +++++++++++++++++-------------------------------------
1 files changed, 125 insertions(+), 264 deletions(-)
diff --git a/Wms/WMS.BLL/SysServer/InterfaceServer.cs b/Wms/WMS.BLL/SysServer/InterfaceServer.cs
index a256b34..b81ef8e 100644
--- a/Wms/WMS.BLL/SysServer/InterfaceServer.cs
+++ b/Wms/WMS.BLL/SysServer/InterfaceServer.cs
@@ -1,4 +1,6 @@
-锘縰sing Model.ModelDto.SysDto;
+锘縰sing AutoMapper;
+using Model.ModelDto.LogDto;
+using Model.ModelDto.SysDto;
using Model.ModelVm.SysVm;
using Newtonsoft.Json;
using SqlSugar;
@@ -7,8 +9,11 @@
using System.Linq;
using System.Reflection;
using System.Text;
+using System.Threading.Tasks;
+using Utility;
using WMS.DAL;
using WMS.Entity.Context;
+using WMS.Entity.LogEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL.ILogServer;
using WMS.IBLL.ISysServer;
@@ -20,9 +25,13 @@
private static readonly SqlSugarScope Db = DataContext.Db;
private readonly IOperationSysServer _operation; //鎿嶄綔鏃ュ織
- public InterfaceServer(IOperationSysServer operation)
+ private readonly UserManager _userManager;
+ private readonly IMapper _mapper;
+ public InterfaceServer(IOperationSysServer operation, IMapper mapper, UserManager userManager)
{
_operation = operation;
+ _userManager = userManager;
+ _mapper = mapper;//automapper
}
/// <summary>
/// 鑾峰彇鎺ュ彛鍒楄〃
@@ -30,50 +39,23 @@
/// <param name="model"></param>
/// <param name="count"></param>
/// <returns></returns>
- public List<InterfaceDto> GetInterfaceList(InterfaceVm model, out int count)
+ public async Task<SqlSugarPagedList> GetInterfaceList(InterfaceVm model)
{
- string sqlString = string.Empty;
- string sqlCount = string.Empty;
- string sqlPub = string.Empty;
- try
- {
- sqlCount += "SELECT DISTINCT COUNT(tb1.Id) FROM SysInterface AS tb1 ";
-
- sqlString += "SELECT DISTINCT tb1.*,tb2.RealName as CreateUserName,tb3.RealName as UpdateUserName FROM SysInterface AS tb1 ";
- sqlPub += "LEFT JOIN SysUserInfor AS tb2 ON tb1.CreateUser = tb2.Id ";
- sqlPub += "LEFT JOIN SysUserInfor AS tb3 ON tb1.UpdateUser = tb3.Id ";
- sqlPub += $"WHERE tb1.IsDel=0 ";
- if (!string.IsNullOrEmpty(model.InterfaceNo))
- {
- sqlPub += $"AND tb1.InterfaceNo LIKE '%{model.InterfaceNo}%' ";
- }
- if (!string.IsNullOrEmpty(model.InterfaceName))
- {
- sqlPub += $"AND tb1.InterfaceName LIKE '%{model.InterfaceName}%' ";
- }
- if (!string.IsNullOrEmpty(model.Direction))
- {
- sqlPub += $"AND tb1.Direction = '{model.Direction}' ";
- }
- sqlCount += sqlPub;
- sqlPub += " order by tb1.Id ";
- if (model.Page == 0)
- {
- model.Page = 1;
- }
- sqlString += sqlPub + $" offset {((model.Page - 1) * model.Limit)} rows fetch next {model.Limit} rows only;";
-
- var com = new Common();
- count = com.GetRowCount(sqlCount);
-
- var modelList = Db.Ado.SqlQuery<InterfaceDto>(sqlString);
-
- return modelList;
- }
- catch (Exception ex)
- {
- throw ex;
- }
+ return await Db.Queryable<SysInterface>()
+ .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
+ .LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id)
+ .Where(a => a.IsDel == "0")
+ .WhereIF(!string.IsNullOrEmpty(model.InterfaceNo), a => a.InterfaceNo.Contains(model.InterfaceNo))
+ .WhereIF(!string.IsNullOrEmpty(model.InterfaceName), a => a.InterfaceName.Contains(model.InterfaceName))
+ .WhereIF(!string.IsNullOrEmpty(model.Direction), a => a.Direction == model.Direction)
+ .OrderBy(a => a.Id)
+ .Select<InterfaceDto>((a, b, c) => new InterfaceDto()
+ {
+ Id = a.Id,
+ CreateUserName = b.RealName,
+ UpdateUserName = c.RealName,
+ }, true)
+ .ToPagedListAsync(model.Page, model.Limit);
}
/// <summary>
/// 鑾峰彇鎺ュ彛鏄庣粏鍒楄〃
@@ -81,39 +63,20 @@
/// <param name="model"></param>
/// <param name="count"></param>
/// <returns></returns>
- public List<InterfaceDetailDto> GetInterfaceDetailList(InterfaceDetailVm model, out int count)
+ public async Task<SqlSugarPagedList> GetInterfaceDetailList(InterfaceDetailVm model)
{
- string sqlString = string.Empty;
- string sqlCount = string.Empty;
- int rowCount = 1;
- try
- {
- if (model.Page == 0)
- {
- model.Page = 1;
- }
- sqlCount += $"SELECT COUNT(ID) FROM SysInterfaceDetail where InterfaceNo = '{model.InterfaceNo}' and isdel = '0';";
- var com = new Common();
- count = com.GetRowCount(sqlCount);
- if (count != 0)
- {
- rowCount = count;
- }
-
- sqlString += "SELECT tb1.*,tb2.RealName as CreateUserName,tb3.RealName as UpdateUserName FROM SysInterfaceDetail AS tb1 ";
- sqlString += "LEFT JOIN SysUserInfor AS tb2 ON tb1.CreateUser = tb2.Id ";
- sqlString += "LEFT JOIN SysUserInfor AS tb3 ON tb1.UpdateUser = tb3.Id ";
- sqlString += $"WHERE tb1.InterfaceNo = '{model.InterfaceNo}' AND tb1.IsDel = '0' order by tb1.Id ";
- sqlString += $"offset {((model.Page - 1) * model.Limit)} rows fetch next {rowCount} rows only;";
-
- var modelList = Db.Ado.SqlQuery<InterfaceDetailDto>(sqlString);
-
- return modelList;
- }
- catch (Exception ex)
- {
- throw ex;
- }
+ return await Db.Queryable<SysInterfaceDetail>()
+ .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
+ .LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id)
+ .Where(a => a.IsDel == "0")
+ .WhereIF(!string.IsNullOrEmpty(model.InterfaceNo), a => a.InterfaceNo == model.InterfaceNo)
+ .Select<InterfaceDetailDto>((a, b, c) => new InterfaceDetailDto()
+ {
+ Id = a.Id,
+ CreateUserName = b.RealName,
+ UpdateUserName = c.RealName,
+ }, true)
+ .ToPagedListAsync(model.Page, model.Limit);
}
/// <summary>
@@ -121,63 +84,27 @@
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
- public string AddInterface(InterfaceVm model)
+ public async Task AddInterface(InterfaceVm model)
{
- string strMessage = "";
- string sqlString = string.Empty;
- string sqlDetailStr = string.Empty;
- try
+ if (await Db.Queryable<SysInterface>().AnyAsync(s => s.InterfaceNo == model.InterfaceNo))
{
- string sqlCount = $"SELECT COUNT(ID) FROM SysInterface where InterfaceNo = '{model.InterfaceNo}' and isdel = '0';";
- var com = new Common().GetRowCount(sqlCount);
- if (com > 0)
- {
- strMessage = "-1:鎺ュ彛缂栧彿宸插瓨鍦紝璇峰嬁閲嶅娣诲姞锛�";
- return strMessage;
- }
- //鎺ュ彛鎬讳俊鎭�
- sqlString += "Insert into SysInterface (InterfaceNo,InterfaceName,Direction,TransmissionMode,Remark,Url,DataSources,CreateUser) values ( ";
- sqlString += $"'{model.InterfaceNo}','{model.InterfaceName}','{model.Direction}','{model.TransmissionMode}','{model.Remark}','{model.Url}','{model.DataSources}','{model.CreateUser}' );";
-
- //鎺ュ彛鏄庣粏
- var detailModels = model.InterfaceDetail;
- foreach (InterfaceDetailVm detailModel in detailModels)
- {
- sqlDetailStr += "Insert into SysInterfaceDetail (InterfaceNo,ExtField,MapField,Field,";
- sqlDetailStr += "FieldType,DataType,IsNull,Remark,FieldFather,CreateUser) values ( ";
- sqlDetailStr += $"'{model.InterfaceNo}','{detailModel.ExtField}','{detailModel.MapField}','{detailModel.Field}', ";
- sqlDetailStr += $"'{detailModel.FieldType}','{detailModel.DataType}','{detailModel.IsNull}','{detailModel.Remark}','{detailModel.FieldFather}','{model.CreateUser}'); ";
- }
-
- if (sqlDetailStr == string.Empty)
- {
- return strMessage;
- }
- Db.Ado.BeginTran();
-
- int rowCount = Db.Ado.ExecuteCommand(sqlString);
- var rowDetailCount = 1;
- if (sqlDetailStr.Length > 0)
- {
- rowDetailCount = Db.Ado.ExecuteCommand(sqlDetailStr);
- }
- Db.Ado.CommitTran();
- if (rowCount > 0 && rowDetailCount > 0)
- {
- //缁存姢鎿嶄綔鏃ュ織
- _operation.InsertOperation("绯荤粺璁剧疆", "鎺ュ彛绠$悊", model.InterfaceNo, "娣诲姞", $"娣诲姞浜嗘帴鍙g紪鍙蜂负{model.InterfaceNo}鐨勬帴鍙d俊鎭�", Convert.ToInt32(model.CreateUser));
- return strMessage;
- }
- else
- {
- Db.Ado.RollbackTran();
- return "-2:娣诲姞澶辫触鏁版嵁鍥炴粴!";
- }
+ throw Oops.Bah("鎺ュ彛缂栧彿宸插瓨鍦紝璇峰嬁閲嶅娣诲姞");
}
- catch (Exception ex)
+ SysInterface modInterface = _mapper.Map<SysInterface>(model);
+ modInterface.CreateUser = _userManager.UserId;
+ modInterface.CreateTime = DateTime.Now;
+ await Db.Insertable<SysInterface>(modInterface).ExecuteCommandAsync();
+
+ List<SysInterfaceDetail> listDetails = new List<SysInterfaceDetail>();
+ foreach (InterfaceDetailVm detailModel in model.InterfaceDetail)
{
- throw new Exception(ex.Message);
+ SysInterfaceDetail modDetail = _mapper.Map<SysInterfaceDetail>(detailModel);
+ modDetail.CreateTime = modInterface.CreateTime;
+ modDetail.CreateUser = _userManager.UserId;
+ listDetails.Add(modDetail);
}
+ await Db.Insertable(listDetails).ExecuteCommandAsync();
+
}
/// <summary>
@@ -185,50 +112,44 @@
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
- public string EditInterface(InterfaceVm model)
+ public async Task EditInterface(InterfaceVm model)
{
- string strMessage = "";
- string sqlString = string.Empty;
- string sqlDetailStr = string.Empty;
- try
+ SysInterface modInterface = _mapper.Map<SysInterface>(model);
+ modInterface.UpdateUser = _userManager.UserId;
+ modInterface.UpdateTime = DateTime.Now;
+ await Db.Updateable(modInterface)
+ .UpdateColumns(s => new { s.InterfaceName, s.Direction, s.TransmissionMode, s.Remark, s.Url, s.DataSources, s.UpdateTime, s.UpdateUser })
+ .ExecuteCommandAsync();
+
+ var listDetails = await Db.Queryable<SysInterfaceDetail>().Where(s => s.InterfaceNo == model.InterfaceNo && s.IsDel == "0").ToListAsync();
+ foreach (SysInterfaceDetail dbDetailModel in listDetails)
{
- sqlString = "UPDATE SysInterface SET ";
- sqlString += $"InterfaceName = '{model.InterfaceName}',Direction = '{model.Direction}',";
- sqlString += $"TransmissionMode = '{model.TransmissionMode}',Remark = '{model.Remark}',Url = '{model.Url}',DataSources = '{model.DataSources}', ";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE InterfaceNo = '{model.InterfaceNo}'";
-
- var detailModels = model.InterfaceDetail;
- sqlDetailStr += $"SELECT * FROM SysInterfaceDetail WHERE InterfaceNo = '{model.InterfaceNo}' and isDel = '0';";
- var dbDetailModels = DataContext.Db.Ado.SqlQuery<SysInterfaceDetail>(sqlDetailStr);
-
- sqlDetailStr = string.Empty;
- // 澶勭悊宸插垹闄ょ殑鏄庣粏
- foreach (SysInterfaceDetail dbDetailModel in dbDetailModels)
+ if (!model.InterfaceDetail.Any(s => s.Id == dbDetailModel.Id))
{
- if (detailModels.Count(it => it.Id == dbDetailModel.Id) == 0)
- {
- sqlDetailStr += $"UPDATE SysInterfaceDetail SET IsDel = '1',";
- sqlDetailStr += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlDetailStr += $"WHERE Id = {dbDetailModel.Id};";
- }
+ await Db.Updateable<SysInterfaceDetail>()
+ .SetColumns(s => s.IsDel == "1")
+ .SetColumns(s => s.UpdateTime == DateTime.Now)
+ .SetColumns(s => s.UpdateUser == _userManager.UserId)
+ .Where(s => s.Id == dbDetailModel.Id && s.IsDel == "0")
+ .ExecuteCommandAsync();
}
+ }
- // 澶勭悊淇敼鍜屾坊鍔犵殑鏄庣粏
- foreach (InterfaceDetailVm detailModel in detailModels)
+ // 澶勭悊淇敼鍜屾坊鍔犵殑鏄庣粏
+ foreach (InterfaceDetailVm detailModel in model.InterfaceDetail)
+ {
+ if (detailModel.Id == 0 || detailModel.Id == null)
{
- if (detailModel.Id == 0 || detailModel.Id == null)
- {
- sqlDetailStr += "Insert into SysInterfaceDetail (InterfaceNo,ExtField,MapField,Field,";
- sqlDetailStr += "FieldType,DataType,IsNull,Remark,FieldFather,CreateUser) values ( ";
- sqlDetailStr += $"'{model.InterfaceNo}','{detailModel.ExtField}','{detailModel.MapField}','{detailModel.Field}', ";
- sqlDetailStr += $"'{detailModel.FieldType}','{detailModel.DataType}','{detailModel.IsNull}','{detailModel.Remark}','{detailModel.FieldFather}','{model.CreateUser}'); ";
- }
- else
- {
- //鍒ゆ柇鏄惁鏇存敼
- int rowNum = dbDetailModels
- .Count(it => it.Id == detailModel.Id
+ var modDetail = _mapper.Map<SysInterfaceDetail>(detailModel);
+ modDetail.CreateTime = DateTime.Now;
+ modDetail.CreateUser = _userManager.UserId;
+ modDetail.UpdateUser = _userManager.UserId;
+ modDetail.UpdateTime = DateTime.Now;
+ await Db.Insertable(modDetail).ExecuteCommandAsync();
+ }
+ else
+ {
+ int rowNum = listDetails.Count(it => it.Id == detailModel.Id
&& it.ExtField == detailModel.ExtField
&& it.MapField == detailModel.MapField
&& it.Field == detailModel.Field
@@ -237,44 +158,17 @@
&& it.IsNull == detailModel.IsNull
&& it.Remark == detailModel.Remark
&& it.FieldFather == detailModel.FieldFather);
- if (rowNum > 0)
- {
- continue;
- }
-
- sqlDetailStr += $"UPDATE SysInterfaceDetail SET ";
- sqlDetailStr += $"ExtField = '{detailModel.ExtField}',MapField = '{detailModel.MapField}',Field='{detailModel.Field}',FieldFather='{detailModel.FieldFather}', ";
- sqlDetailStr += $"FieldType = '{detailModel.FieldType}',DataType = '{detailModel.DataType}', ";
- sqlDetailStr += $"IsNull = '{detailModel.IsNull}',Remark = '{detailModel.Remark}', ";
- sqlDetailStr += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlDetailStr += $"WHERE Id = {detailModel.Id};";
+ if (rowNum > 0)
+ {
+ continue;
}
+ var modDetail = _mapper.Map<SysInterfaceDetail>(detailModel);
+ modDetail.UpdateUser = _userManager.UserId;
+ modDetail.UpdateTime = DateTime.Now;
+ await Db.Updateable<SysInterfaceDetail>(modDetail)
+ .UpdateColumns(s => new { s.ExtField, s.MapField, s.Field, s.FieldFather, s.FieldType, s.DataType, s.IsNull, s.Remark, s.UpdateUser, s.UpdateTime })
+ .ExecuteCommandAsync();
}
-
- Db.Ado.BeginTran();
-
- int rowCount = Db.Ado.ExecuteCommand(sqlString);
- var rowDetailCount = 1;
- if (sqlDetailStr.Length > 0)
- {
- rowDetailCount = Db.Ado.ExecuteCommand(sqlDetailStr);
- }
- Db.Ado.CommitTran();
- if (rowCount > 0 && rowDetailCount > 0)
- {
- //缁存姢鎿嶄綔鏃ュ織
- _operation.InsertOperation("绯荤粺璁剧疆", "鎺ュ彛绠$悊", model.InterfaceNo, "缂栬緫", $"缂栬緫浜嗘帴鍙g紪鍙蜂负{model.InterfaceNo}鐨勬帴鍙d俊鎭�", Convert.ToInt32(model.CreateUser));
- return strMessage;
- }
- else
- {
- Db.Ado.RollbackTran();
- return "-2:娣诲姞澶辫触鏁版嵁鍥炴粴!";
- }
- }
- catch (Exception ex)
- {
- throw ex;
}
}
@@ -283,36 +177,21 @@
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
- public string DelInterface(InterfaceVm model)
+ public async Task DelInterface(InterfaceVm model)
{
- try
- {
- string sqlString = "";
- // 鍒犻櫎鎬�
- sqlString = $"UPDATE SysInterface SET IsDel = '1',";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE InterfaceNo = '{model.InterfaceNo}';";
+ await Db.Updateable<SysInterface>()
+ .SetColumns(s => s.IsDel == "1")
+ .SetColumns(s => s.UpdateTime == DateTime.Now)
+ .SetColumns(s => s.UpdateUser == _userManager.UserId)
+ .Where(s => s.InterfaceNo == model.InterfaceNo && s.IsDel == "0")
+ .ExecuteCommandAsync();
- // 鍒犻櫎鏄庣粏
- sqlString += $"UPDATE SysInterfaceDetail SET IsDel = '1',";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE InterfaceNo = '{model.InterfaceNo}';";
- Db.Ado.BeginTran();
- int rowCount = Db.Ado.ExecuteCommand(sqlString);
-
- if (rowCount < 2)
- {
- Db.RollbackTran();
- return "-1:鍒犻櫎澶辫触锛�";
- }
- Db.Ado.CommitTran();
- _operation.InsertOperation("绯荤粺璁剧疆", "鎺ュ彛绠$悊", model.InterfaceNo, "鍒犻櫎", $"鍒犻櫎浜嗘帴鍙g紪鍙蜂负{model.InterfaceNo}鐨勬帴鍙d俊鎭�", Convert.ToInt32(model.CreateUser));
- return "";
- }
- catch (Exception ex)
- {
- throw ex;
- }
+ await Db.Updateable<SysInterfaceDetail>()
+ .SetColumns(s => s.IsDel == "1")
+ .SetColumns(s => s.UpdateTime == DateTime.Now)
+ .SetColumns(s => s.UpdateUser == _userManager.UserId)
+ .Where(s => s.InterfaceNo == model.InterfaceNo && s.IsDel == "0")
+ .ExecuteCommandAsync();
}
/// <summary>
@@ -320,34 +199,16 @@
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
- public string DelInterfaceDetail(InterfaceDetailVm model)
+ public async Task DelInterfaceDetail(InterfaceDetailVm model)
{
- try
- {
- string sqlString = "";
-
- // 鍒犻櫎鏄庣粏
- sqlString += $"UPDATE SysInterfaceDetail SET IsDel = '1',";
- sqlString += $"UpdateTime = GETDATE(),UpdateUser = '{model.CreateUser}' ";
- sqlString += $"WHERE Id = '{model.Id}';";
- Db.Ado.BeginTran();
- int rowCount = Db.Ado.ExecuteCommand(sqlString);
-
- if (rowCount < 1)
- {
- Db.RollbackTran();
- return "-1:鍒犻櫎澶辫触锛�";
- }
- Db.Ado.CommitTran();
- _operation.InsertOperation("绯荤粺璁剧疆", "鎺ュ彛绠$悊", model.InterfaceNo, "鍒犻櫎", $"鍒犻櫎浜嗘帴鍙g紪鍙蜂负{model.InterfaceNo}锛屾湰绯荤粺瀛楁涓簕model.Field}鐨勬帴鍙d俊鎭�", Convert.ToInt32(model.CreateUser));
- return "";
- }
- catch (Exception ex)
- {
- throw ex;
- }
+ await Db.Updateable<SysInterfaceDetail>()
+ .SetColumns(s => s.IsDel == "1")
+ .SetColumns(s => s.UpdateTime == DateTime.Now)
+ .SetColumns(s => s.UpdateUser == _userManager.UserId)
+ .Where(s => s.Id == model.Id)
+ .ExecuteCommandAsync();
}
-
+
//public void ceshi()
//{
// string interfaceNo = "A0001";
@@ -360,7 +221,7 @@
/// </summary>
/// <param name="InterfaceNo">鎺ュ彛缂栧彿</param>
/// <param name="param">瀛樺偍杩囩▼鍙傛暟</param>
- public void RespondResult(string InterfaceNo,string param)
+ public void RespondResult(string InterfaceNo, string param)
{
try
{
@@ -427,13 +288,13 @@
var response = Utility.Tools.HttpHelper.DoPost(interfaceModel.Url, jsonData, interfaceModel.InterfaceName, interfaceModel.Remark);
}
else
- {
-
- }
+ {
+
+ }
}
catch (Exception ex)
- {
-
+ {
+
}
}
/// <summary>
@@ -455,7 +316,7 @@
}
}
public class RequestData
- {
+ {
public string Field1 { get; set; }
public string Field2 { get; set; }
public string Field3 { get; set; }
--
Gitblit v1.8.0