Web API合并,破坏性更新MVC ControllerBase改成BaseController
This commit is contained in:
parent
2d1d610d31
commit
51c89ecae3
@ -21,8 +21,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04 Web 应用程序", "04 W
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WaterCloud.CodeGenerator", "WaterCloud.CodeGenerator\WaterCloud.CodeGenerator.csproj", "{25C1E690-0B45-4994-87C0-F1997F4227A6}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WaterCloud.WebApi", "WaterCloud.WebApi\WaterCloud.WebApi.csproj", "{59375491-D3CF-4963-B36C-7598CAF8C5F9}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WaterCloud.Service", "WaterCloud.Service\WaterCloud.Service.csproj", "{6CABCCC1-E43B-4A57-A767-7D74D8728E8C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WaterCloud.DingTalk", "WaterCloud.DingTalkService\WaterCloud.DingTalk.csproj", "{D3691FAA-877F-43A6-90AA-B79542E1DF80}"
|
||||
@ -53,10 +51,6 @@ Global
|
||||
{25C1E690-0B45-4994-87C0-F1997F4227A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{25C1E690-0B45-4994-87C0-F1997F4227A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{25C1E690-0B45-4994-87C0-F1997F4227A6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{59375491-D3CF-4963-B36C-7598CAF8C5F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{59375491-D3CF-4963-B36C-7598CAF8C5F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{59375491-D3CF-4963-B36C-7598CAF8C5F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{59375491-D3CF-4963-B36C-7598CAF8C5F9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6CABCCC1-E43B-4A57-A767-7D74D8728E8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6CABCCC1-E43B-4A57-A767-7D74D8728E8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6CABCCC1-E43B-4A57-A767-7D74D8728E8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
@ -75,7 +69,6 @@ Global
|
||||
{586E88DF-7EFA-4281-9371-EA45B877C9A4} = {DB605620-7CB6-4064-B509-C55CDEA50025}
|
||||
{40732569-0516-4E72-9475-06A217998944} = {EFA98BE7-DCF3-475E-8783-B56ECFF68DD3}
|
||||
{25C1E690-0B45-4994-87C0-F1997F4227A6} = {DB605620-7CB6-4064-B509-C55CDEA50025}
|
||||
{59375491-D3CF-4963-B36C-7598CAF8C5F9} = {C62E4ABA-29D7-4A0C-BDAA-D4EAB43859C1}
|
||||
{6CABCCC1-E43B-4A57-A767-7D74D8728E8C} = {DB3B0F56-4245-4ACA-81C2-C67F2A28DFD3}
|
||||
{D3691FAA-877F-43A6-90AA-B79542E1DF80} = {DB3B0F56-4245-4ACA-81C2-C67F2A28DFD3}
|
||||
EndGlobalSection
|
||||
|
||||
@ -18,35 +18,14 @@ namespace WaterCloud.Code.Model
|
||||
/// 允许一个用户在多个电脑同时登录
|
||||
/// </summary>
|
||||
public bool LoginMultiple { get; set; }
|
||||
public string LoginProvider { get; set; }
|
||||
/// <summary>
|
||||
/// 数据库超时间(秒)
|
||||
/// </summary>
|
||||
public int CommandTimeout { get; set; }
|
||||
/// <summary>
|
||||
/// Snow Flake Worker Id
|
||||
/// </summary>
|
||||
public int SnowFlakeWorkerId { get; set; }
|
||||
/// <summary>
|
||||
/// api地址
|
||||
/// </summary>
|
||||
public string ApiSite { get; set; }
|
||||
/// <summary>
|
||||
/// 允许跨域的站点
|
||||
/// </summary>
|
||||
public string AllowCorsSite { get; set; }
|
||||
/// <summary>
|
||||
/// 网站虚拟目录
|
||||
/// </summary>
|
||||
public string VirtualDirectory { get; set; }
|
||||
|
||||
public string DBProvider { get; set; }
|
||||
public string DBConnectionString { get; set; }
|
||||
public string DBCommandTimeout { get; set; }
|
||||
/// <summary>
|
||||
/// 数据库备份路径
|
||||
/// </summary>
|
||||
public string DBBackup { get; set; }
|
||||
|
||||
public string CacheProvider { get; set; }
|
||||
public string HandleLogProvider { get; set; }
|
||||
@ -59,13 +38,8 @@ namespace WaterCloud.Code.Model
|
||||
//缓存过期时间
|
||||
public int LoginExpire { get; set; }
|
||||
public string HomePage { get; set; }
|
||||
public string MainProgram { get; set; }
|
||||
public bool? LocalLAN { get; set; }
|
||||
/// <summary>
|
||||
/// 雪花id配置
|
||||
/// </summary>
|
||||
public int WorkId { get; set; }
|
||||
/// <summary>
|
||||
/// 是否重置密码
|
||||
/// </summary>
|
||||
public bool? ReviseSysem { get; set; }
|
||||
|
||||
@ -14,8 +14,6 @@ namespace WaterCloud.Code
|
||||
{
|
||||
public class OperatorProvider
|
||||
{
|
||||
//登录信息保存方式
|
||||
private string LoginProvider = GlobalContext.SystemConfig.LoginProvider;
|
||||
//是否允许一个账户在多处登录
|
||||
private bool LoginMultiple = GlobalContext.SystemConfig.LoginMultiple;
|
||||
//缓存过期时间
|
||||
@ -43,82 +41,54 @@ namespace WaterCloud.Code
|
||||
/// </summary>
|
||||
private string LoginUserMarkKey = "watercloud_Mark";
|
||||
private string LoginBoardMarkKey = "watercloud_BoardMark";
|
||||
public string GetProvider(string key)
|
||||
{
|
||||
switch (LoginProvider)
|
||||
{
|
||||
case Define.PROVIDER_COOKIE:
|
||||
return WebHelper.GetCookie(key).ToString();
|
||||
case Define.PROVIDER_SESSION:
|
||||
return WebHelper.GetSession(key).ToString();
|
||||
case Define.PROVIDER_WEBAPI:
|
||||
return GetToken();
|
||||
default:
|
||||
return GetToken();
|
||||
}
|
||||
}
|
||||
public void SetProvider(string key,string value)
|
||||
{
|
||||
switch (LoginProvider)
|
||||
{
|
||||
case Define.PROVIDER_COOKIE:
|
||||
WebHelper.WriteCookie(key, value);
|
||||
break;
|
||||
case Define.PROVIDER_SESSION:
|
||||
WebHelper.WriteSession(key, value);
|
||||
break;
|
||||
case Define.PROVIDER_WEBAPI:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
public string GetToken()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (GlobalContext.ServiceProvider == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
if (GlobalContext.ServiceProvider.GetService<IHttpContextAccessor>() == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
//查请求头
|
||||
string token = GlobalContext.ServiceProvider?.GetService<IHttpContextAccessor>()?.HttpContext.Request.Headers[GlobalContext.SystemConfig.TokenName].ParseToString();
|
||||
if (!String.IsNullOrEmpty(token)) return token;
|
||||
public string GetProvider(string key)
|
||||
{
|
||||
var token = GetToken();
|
||||
if (!string.IsNullOrEmpty(token))
|
||||
return token;
|
||||
token = WebHelper.GetCookie(key).ToString();
|
||||
if (!string.IsNullOrEmpty(token))
|
||||
return token;
|
||||
return WebHelper.GetSession(key).ToString();
|
||||
}
|
||||
|
||||
//查参数
|
||||
token = GlobalContext.ServiceProvider?.GetService<IHttpContextAccessor>()?.HttpContext.Request.Query[GlobalContext.SystemConfig.TokenName];
|
||||
if (!String.IsNullOrEmpty(token)) return token;
|
||||
public void SetProvider(string key, string value)
|
||||
{
|
||||
WebHelper.WriteCookie(key, value);
|
||||
WebHelper.WriteSession(key, value);
|
||||
}
|
||||
|
||||
//查cookies
|
||||
string cookie = GlobalContext.ServiceProvider?.GetService<IHttpContextAccessor>()?.HttpContext.Request.Cookies[GlobalContext.SystemConfig.TokenName];
|
||||
return cookie == null ? string.Empty : cookie;
|
||||
public string GetToken()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (GlobalContext.ServiceProvider?.GetService<IHttpContextAccessor>().HttpContext == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
//查请求头
|
||||
string token = GlobalContext.ServiceProvider?.GetService<IHttpContextAccessor>().HttpContext.Request.Headers[GlobalContext.SystemConfig.TokenName].ParseToString();
|
||||
if (!String.IsNullOrEmpty(token)) return token;
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
public void RemoveProvider(string key)
|
||||
{
|
||||
switch (LoginProvider)
|
||||
{
|
||||
case Define.PROVIDER_COOKIE:
|
||||
WebHelper.RemoveCookie(key);
|
||||
break;
|
||||
case Define.PROVIDER_SESSION:
|
||||
WebHelper.RemoveSession(key);
|
||||
break;
|
||||
case Define.PROVIDER_WEBAPI:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//查参数
|
||||
token = GlobalContext.ServiceProvider?.GetService<IHttpContextAccessor>().HttpContext.Request.Query[GlobalContext.SystemConfig.TokenName];
|
||||
if (!String.IsNullOrEmpty(token)) return token;
|
||||
|
||||
//查cookies
|
||||
string cookie = GlobalContext.ServiceProvider?.GetService<IHttpContextAccessor>().HttpContext.Request.Cookies[GlobalContext.SystemConfig.TokenName];
|
||||
return cookie == null ? string.Empty : cookie;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveProvider(string key)
|
||||
{
|
||||
WebHelper.RemoveCookie(key);
|
||||
WebHelper.RemoveSession(key);
|
||||
}
|
||||
public OperatorModel GetCurrent()
|
||||
{
|
||||
OperatorModel operatorModel = new OperatorModel();
|
||||
@ -208,64 +178,64 @@ namespace WaterCloud.Code
|
||||
/// <param name="userEntity">用户</param>
|
||||
/// <param name="loginMark">设备标识uid</param>
|
||||
/// <param name="facilityMark">设备类型</param>
|
||||
/// <param name="cookie">是否保存cookie,默认是</param>
|
||||
/// <returns></returns>
|
||||
public async Task<string> AddLoginUser(OperatorModel operatorModel, string loginMark, string facilityMark, bool cookie = true)
|
||||
public async Task<string> AddLoginUser(OperatorModel operatorModel, string loginMark, string facilityMark)
|
||||
{
|
||||
string token = Guid.NewGuid().ToString();
|
||||
try
|
||||
{
|
||||
// 填写登录信息
|
||||
operatorModel.LoginToken = token;
|
||||
//cookid登录信息更新
|
||||
if (cookie)
|
||||
{
|
||||
string cookieMark = GetProvider(LoginUserMarkKey);
|
||||
if (string.IsNullOrEmpty(cookieMark))
|
||||
{
|
||||
operatorModel.loginMark = Guid.NewGuid().ToString();
|
||||
SetProvider(LoginUserMarkKey, operatorModel.loginMark);
|
||||
}
|
||||
else
|
||||
{
|
||||
operatorModel.loginMark = cookieMark;
|
||||
}
|
||||
SetProvider(LoginUserToken, token);
|
||||
}
|
||||
else
|
||||
{
|
||||
operatorModel.loginMark = loginMark;
|
||||
}
|
||||
//redis 登录token列表更新
|
||||
Dictionary<string, string> tokenMarkList =await CacheHelper.Get<Dictionary<string, string>>(cacheKeyToken + operatorModel.UserId);
|
||||
if (tokenMarkList == null)// 此账号第一次登录
|
||||
{
|
||||
tokenMarkList = new Dictionary<string, string>();
|
||||
tokenMarkList.Add(operatorModel.loginMark, token);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (tokenMarkList.ContainsKey(operatorModel.loginMark))
|
||||
{
|
||||
tokenMarkList[operatorModel.loginMark] = token;
|
||||
}
|
||||
else
|
||||
{
|
||||
tokenMarkList.Add(operatorModel.loginMark, token);
|
||||
}
|
||||
}
|
||||
string token = Guid.NewGuid().ToString();
|
||||
try
|
||||
{
|
||||
// 填写登录信息
|
||||
operatorModel.LoginToken = token;
|
||||
//登录信息更新
|
||||
if (string.IsNullOrEmpty(loginMark))
|
||||
{
|
||||
string cookieMark = GetProvider(LoginUserMarkKey);
|
||||
if (string.IsNullOrEmpty(cookieMark))
|
||||
{
|
||||
operatorModel.loginMark = Guid.NewGuid().ToString();
|
||||
SetProvider(LoginUserMarkKey, operatorModel.loginMark);
|
||||
}
|
||||
else
|
||||
{
|
||||
operatorModel.loginMark = cookieMark;
|
||||
}
|
||||
SetProvider(LoginUserToken, token);
|
||||
}
|
||||
else
|
||||
{
|
||||
operatorModel.loginMark = loginMark;
|
||||
RemoveProvider(LoginUserMarkKey);
|
||||
}
|
||||
//redis 登录token列表更新
|
||||
Dictionary<string, string> tokenMarkList = await CacheHelper.Get<Dictionary<string, string>>(cacheKeyToken + operatorModel.UserId);
|
||||
if (tokenMarkList == null)// 此账号第一次登录
|
||||
{
|
||||
tokenMarkList = new Dictionary<string, string>();
|
||||
tokenMarkList.Add(operatorModel.loginMark, token);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (tokenMarkList.ContainsKey(operatorModel.loginMark))
|
||||
{
|
||||
tokenMarkList[operatorModel.loginMark] = token;
|
||||
}
|
||||
else
|
||||
{
|
||||
tokenMarkList.Add(operatorModel.loginMark, token);
|
||||
}
|
||||
}
|
||||
|
||||
await CacheHelper.Set(cacheKeyToken + operatorModel.UserId, tokenMarkList);
|
||||
await CacheHelper.Set(cacheKeyOperator + operatorModel.loginMark, operatorModel, LoginExpire);
|
||||
await CacheHelper.Remove(cacheKeyOperator + facilityMark + operatorModel.UserId);
|
||||
await CacheHelper.Set(cacheKeyOperator + facilityMark + operatorModel.UserId, token, LoginExpire);
|
||||
return token;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
await CacheHelper.Set(cacheKeyToken + operatorModel.UserId, tokenMarkList);
|
||||
await CacheHelper.Set(cacheKeyOperator + operatorModel.loginMark, operatorModel, LoginExpire);
|
||||
await CacheHelper.Remove(cacheKeyOperator + facilityMark + operatorModel.UserId);
|
||||
await CacheHelper.Set(cacheKeyOperator + facilityMark + operatorModel.UserId, token, LoginExpire);
|
||||
return token;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 清空当前登录信息
|
||||
/// </summary>
|
||||
@ -301,8 +271,8 @@ namespace WaterCloud.Code
|
||||
Dictionary<string, string> tokenMarkList =await CacheHelper.Get<Dictionary<string, string>>(cacheKeyToken + operatorInfo.UserId);
|
||||
tokenMarkList.Remove(loginMark);
|
||||
await CacheHelper.Remove(cacheKeyOperator + loginMark);
|
||||
if (operatorInfo.LoginToken == token|| LoginProvider == Define.PROVIDER_WEBAPI)
|
||||
{
|
||||
if (operatorInfo.LoginToken == token || facilityMark == "api_")
|
||||
{
|
||||
await CacheHelper.Remove(cacheKeyOperator + facilityMark + operatorInfo.UserId);
|
||||
}
|
||||
await CacheHelper.Set(cacheKeyToken + operatorInfo.UserId, tokenMarkList);
|
||||
@ -353,10 +323,10 @@ namespace WaterCloud.Code
|
||||
if (operatorInfo != null)
|
||||
{
|
||||
Dictionary<string, string> tokenMarkList = await CacheHelper.Get<Dictionary<string, string>>(cacheKeyToken + operatorInfo.UserId);
|
||||
if ((token == operatorInfo.LoginToken || LoginProvider == Define.PROVIDER_WEBAPI)&& tokenMarkList.ContainsKey(operatorInfo.loginMark) && tokenMarkList[operatorInfo.loginMark] == operatorInfo.LoginToken)
|
||||
{
|
||||
////账号被顶(排除admin)
|
||||
if (!LoginMultiple && !operatorInfo.IsSystem && operatorInfo.LoginToken != await CacheHelper.Get<string>(cacheKeyOperator + facilityMark + operatorInfo.UserId))
|
||||
if ((token == operatorInfo.LoginToken || facilityMark == "api_") && tokenMarkList.ContainsKey(operatorInfo.loginMark) && tokenMarkList[operatorInfo.loginMark] == operatorInfo.LoginToken)
|
||||
{
|
||||
////账号被顶(排除admin)
|
||||
if (!LoginMultiple && !operatorInfo.IsSystem && operatorInfo.LoginToken != await CacheHelper.Get<string>(cacheKeyOperator + facilityMark + operatorInfo.UserId))
|
||||
{
|
||||
operatorResult.stateCode = -2;
|
||||
tokenMarkList = await CacheHelper.Get<Dictionary<string, string>>(cacheKeyToken + operatorInfo.UserId);
|
||||
|
||||
@ -149,17 +149,14 @@ namespace WaterCloud.Service.InfoManage
|
||||
}
|
||||
if (isSendDing)
|
||||
{
|
||||
WorkMessageApi.SendDingMsg(dingdingtoken, dingconfig.F_AgentId, list, messageEntity.F_MessageInfo, "您有一条新消息", dingconfig.F_Url);
|
||||
await WorkMessageApi.SendDingMsg(dingdingtoken, dingconfig.F_AgentId, list, messageEntity.F_MessageInfo, "您有一条新消息", dingconfig.F_Url);
|
||||
}
|
||||
//通过http发送即时消息
|
||||
messageEntity.companyId = currentuser.CompanyId;
|
||||
var mouduleName = ReflectionHelper.GetModuleName(1);
|
||||
var module = uniwork.IQueryable<ModuleEntity>(a => a.F_EnCode == mouduleName).FirstOrDefault();
|
||||
var url = module.F_UrlAddress.Substring(0, module.F_UrlAddress.Length - 5) + "SendWebSocketMsg";
|
||||
HttpContent httpContent = new StringContent(messageEntity.ToJson(), Encoding.UTF8);
|
||||
httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
|
||||
_httpClientFactory.CreateClient().PostAsync(GlobalContext.SystemConfig.MainProgram + url, httpContent);
|
||||
}
|
||||
await SendWebSocketMsg(messageEntity);
|
||||
}
|
||||
|
||||
public async System.Threading.Tasks.Task SubmitFormAutoSend(MessageEntity entity, bool isWork = false, bool isSendDing = true)
|
||||
{
|
||||
@ -204,16 +201,13 @@ namespace WaterCloud.Service.InfoManage
|
||||
}
|
||||
if (isSendDing)
|
||||
{
|
||||
WorkMessageApi.SendDingMsgAutoSend(dingdingtoken, dingconfig.F_AgentId, list, messageEntity.F_MessageInfo, "您有一条新消息", dingconfig.F_Url);
|
||||
await WorkMessageApi.SendDingMsgAutoSend(dingdingtoken, dingconfig.F_AgentId, list, messageEntity.F_MessageInfo, "您有一条新消息", dingconfig.F_Url);
|
||||
}
|
||||
//通过http发送即时消息
|
||||
messageEntity.companyId = currentuser.CompanyId;
|
||||
var mouduleName = ReflectionHelper.GetModuleName(1);
|
||||
var module = uniwork.IQueryable<ModuleEntity>(a => a.F_EnCode == mouduleName).FirstOrDefault();
|
||||
var url = module.F_UrlAddress.Substring(0, module.F_UrlAddress.Length - 5) + "SendWebSocketMsg";
|
||||
HttpContent httpContent = new StringContent(messageEntity.ToJson(), Encoding.UTF8);
|
||||
httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
|
||||
_httpClientFactory.CreateClient().PostAsync(GlobalContext.SystemConfig.MainProgram + url, httpContent);
|
||||
await SendWebSocketMsg(messageEntity);
|
||||
}
|
||||
|
||||
public async System.Threading.Tasks.Task SendWebSocketMsg(MessageEntity messageEntity)
|
||||
|
||||
@ -10,6 +10,8 @@ using WaterCloud.Domain.MaterialManage;
|
||||
using System.Net.Http;
|
||||
using WaterCloud.Domain.ProcessManage;
|
||||
using WaterCloud.Domain.EquipmentManage;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace WaterCloud.Service.QualityManage
|
||||
{
|
||||
@ -421,7 +423,7 @@ namespace WaterCloud.Service.QualityManage
|
||||
{
|
||||
if (entity.F_MaterialType==0)
|
||||
{
|
||||
area = await uniwork.FindEntity<AreaEntity>(a => a.F_AreaCode == "原材料仓库");
|
||||
area = await uniwork.FindEntity<AreaEntity>(a => a.F_AreaType == 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -455,21 +457,6 @@ namespace WaterCloud.Service.QualityManage
|
||||
await uniwork.Insert(entity);
|
||||
uniwork.Commit();
|
||||
}
|
||||
|
||||
|
||||
public async Task<HttpResponseMessage> PhotoSaveIndex(Dictionary<string, byte[]> dict)
|
||||
{
|
||||
var content = new MultipartFormDataContent();
|
||||
|
||||
foreach (KeyValuePair<string, byte[]> k in dict)
|
||||
{
|
||||
content.Add(new ByteArrayContent(k.Value), "file", k.Key);
|
||||
}
|
||||
|
||||
return await _httpClientFactory.CreateClient().PostAsync(GlobalContext.SystemConfig.MainProgram + "/QualityManage/ScapMaterial/PhotoSaveIndex",
|
||||
content);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
@ -58,7 +58,7 @@ namespace WaterCloud.Service.SystemOrganize
|
||||
}
|
||||
else
|
||||
{
|
||||
cachedata = cachedata.Where(t => t.F_Id == GlobalContext.SystemConfig.SysemMasterProject).ToList();
|
||||
cachedata = cachedata.ToList();
|
||||
}
|
||||
if (cachedata.Count == 0)
|
||||
{
|
||||
|
||||
@ -18,8 +18,6 @@ namespace WaterCloud.Service.SystemSecurity
|
||||
{
|
||||
public class LogService : DataFilterService<LogEntity>, IDenpendency
|
||||
{
|
||||
//登录信息保存方式
|
||||
private string LoginProvider = GlobalContext.SystemConfig.LoginProvider;
|
||||
private string HandleLogProvider = GlobalContext.SystemConfig.HandleLogProvider;
|
||||
private ModuleService moduleservice;
|
||||
//获取类名
|
||||
|
||||
@ -19,7 +19,7 @@ namespace WaterCloud.Web.Areas.ClassTask.Controllers
|
||||
/// 描 述:待执行任务控制器类
|
||||
/// </summary>
|
||||
[Area("ClassTask")]
|
||||
public class ControlJobController : ControllerBase
|
||||
public class ControlJobController : BaseController
|
||||
{
|
||||
public ControlJobService _service {get;set;}
|
||||
public StorageService _storageService {get;set; }
|
||||
|
||||
@ -19,7 +19,7 @@ namespace WaterCloud.Web.Areas.ClassTask.Controllers
|
||||
/// 描 述:待执行任务控制器类
|
||||
/// </summary>
|
||||
[Area("ClassTask")]
|
||||
public class ControlJobPlanerController : ControllerBase
|
||||
public class ControlJobPlanerController : BaseController
|
||||
{
|
||||
public ControlJobPlanerService _service {get;set;}
|
||||
#region 获取数据
|
||||
|
||||
@ -19,7 +19,7 @@ namespace WaterCloud.Web.Areas.ClassTask.Controllers
|
||||
/// 描 述:信息设置控制器类
|
||||
/// </summary>
|
||||
[Area("ClassTask")]
|
||||
public class ControlJobUserBandingController : ControllerBase
|
||||
public class ControlJobUserBandingController : BaseController
|
||||
{
|
||||
public ControlJobUserBandingService _service {get;set;}
|
||||
public ItemsDataService _typeService { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ namespace WaterCloud.Web.Areas.DingTalkManage.Controllers
|
||||
/// 描 述:应用配置控制器类
|
||||
/// </summary>
|
||||
[Area("DingTalkManage")]
|
||||
public class DingTalkConfigController : ControllerBase
|
||||
public class DingTalkConfigController : BaseController
|
||||
{
|
||||
public DingTalkConfigService _service {get;set;}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ namespace WaterCloud.Web.Areas.EquipmentManage.Controllers
|
||||
/// 描 述:模具物料绑定控制器类
|
||||
/// </summary>
|
||||
[Area("EquipmentManage")]
|
||||
public class EqpAreaController : ControllerBase
|
||||
public class EqpAreaController : BaseController
|
||||
{
|
||||
public EqpAreaService _service {get;set;}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.EquipmentManage.Controllers
|
||||
/// 描 述:设备点检项目控制器类
|
||||
/// </summary>
|
||||
[Area("EquipmentManage")]
|
||||
public class EqpPqcCheckItemController : ControllerBase
|
||||
public class EqpPqcCheckItemController : BaseController
|
||||
{
|
||||
public EqpPqcCheckItemService _service { get; set; }
|
||||
public EquipmentService _eqpservice { get; set; }
|
||||
|
||||
@ -12,7 +12,7 @@ using WaterCloud.Service.EquipmentManage;
|
||||
namespace WaterCloud.Web.Areas.EquipmentManage.Controllers
|
||||
{
|
||||
[Area("EquipmentManage")]
|
||||
public class EqpPqcCheckMDController : ControllerBase
|
||||
public class EqpPqcCheckMDController : BaseController
|
||||
{
|
||||
public EquipmentService _eqpservice { get; set; }
|
||||
public EqpPqcCheckMDService _service { get; set; }
|
||||
|
||||
@ -18,7 +18,7 @@ namespace WaterCloud.Web.Areas.EquipmentManage.Controllers
|
||||
/// 描 述:设备维修记录表控制器类
|
||||
/// </summary>
|
||||
[Area("EquipmentManage")]
|
||||
public class EqpRepairController : ControllerBase
|
||||
public class EqpRepairController : BaseController
|
||||
{
|
||||
public EqpRepairService _service {get;set;}
|
||||
public UserService _userService { get; set; }
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.EquipmentManage.Controllers
|
||||
/// 描 述:设备停机控制器类
|
||||
/// </summary>
|
||||
[Area("EquipmentManage")]
|
||||
public class EqpStopRecordController : ControllerBase
|
||||
public class EqpStopRecordController : BaseController
|
||||
{
|
||||
public EqpStopRecordService _service {get;set;}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ namespace WaterCloud.Web.Areas.EquipmentManage.Controllers
|
||||
/// 描 述:模具物料绑定控制器类
|
||||
/// </summary>
|
||||
[Area("EquipmentManage")]
|
||||
public class EqpUserController : ControllerBase
|
||||
public class EqpUserController : BaseController
|
||||
{
|
||||
public EqpUserService _service {get;set;}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.EquipmentManage.Controllers
|
||||
/// 描 述:设备清单控制器类
|
||||
/// </summary>
|
||||
[Area("EquipmentManage")]
|
||||
public class EquipmentController : ControllerBase
|
||||
public class EquipmentController : BaseController
|
||||
{
|
||||
public EquipmentService _service {get;set;}
|
||||
public ItemsDataService _itemsService {get;set; }
|
||||
|
||||
@ -19,7 +19,7 @@ namespace WaterCloud.Web.Areas.FileManage.Controllers
|
||||
/// 描 述:文件管理控制器类
|
||||
/// </summary>
|
||||
[Area("FileManage")]
|
||||
public class UploadfileController : ControllerBase
|
||||
public class UploadfileController : BaseController
|
||||
{
|
||||
|
||||
public UploadfileService _service {get;set;}
|
||||
|
||||
@ -14,7 +14,7 @@ namespace WaterCloud.Web.Areas.FlowManage.Controllers
|
||||
/// 描 述:我的流程控制器类
|
||||
/// </summary>
|
||||
[Area("FlowManage")]
|
||||
public class FlowinstanceController : ControllerBase
|
||||
public class FlowinstanceController : BaseController
|
||||
{
|
||||
|
||||
public FlowinstanceService _service {get;set;}
|
||||
|
||||
@ -16,7 +16,7 @@ namespace WaterCloud.Web.Areas.InfoManage.Controllers
|
||||
/// 描 述:通知管理控制器类
|
||||
/// </summary>
|
||||
[Area("InfoManage")]
|
||||
public class MessageController : ControllerBase
|
||||
public class MessageController : BaseController
|
||||
{
|
||||
|
||||
public MessageService _service {get;set;}
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:库区管理控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class AreaController : ControllerBase
|
||||
public class AreaController : BaseController
|
||||
{
|
||||
public AreaService _service {get;set;}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:Bom结构控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class BomInfoController : ControllerBase
|
||||
public class BomInfoController : BaseController
|
||||
{
|
||||
public BomInfoService _service {get;set;}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:入库管理控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class InStorageController : ControllerBase
|
||||
public class InStorageController : BaseController
|
||||
{
|
||||
public InStorageService _service {get;set;}
|
||||
[HttpGet]
|
||||
|
||||
@ -20,7 +20,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:库位管理控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class LocationController : ControllerBase
|
||||
public class LocationController : BaseController
|
||||
{
|
||||
public LocationService _service {get;set;}
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ namespace WaterCloud.Web.Areas.EquipmentManage.Controllers
|
||||
/// 描 述:模具物料绑定控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class MaterialBomController : ControllerBase
|
||||
public class MaterialBomController : BaseController
|
||||
{
|
||||
public MaterialBomService _service {get;set;}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:物料管理控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class MaterialController : ControllerBase
|
||||
public class MaterialController : BaseController
|
||||
{
|
||||
public MaterialService _service {get;set;}
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ namespace WaterCloud.Web.Areas.EquipmentManage.Controllers
|
||||
/// 描 述:模具物料绑定控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class MaterialEqpController : ControllerBase
|
||||
public class MaterialEqpController : BaseController
|
||||
{
|
||||
public MaterialEqpService _service {get;set;}
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:出库管理控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class OutStorageController : ControllerBase
|
||||
public class OutStorageController : BaseController
|
||||
{
|
||||
public OutStorageService _service {get;set;}
|
||||
public OrderService _orderService {get;set; }
|
||||
|
||||
@ -20,7 +20,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:出库管理控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class StorageController : ControllerBase
|
||||
public class StorageController : BaseController
|
||||
{
|
||||
public StorageService _service {get;set;}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:流转箱打印控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class TransferBoxBatchController : ControllerBase
|
||||
public class TransferBoxBatchController : BaseController
|
||||
{
|
||||
public TransferBoxBatchService _service {get;set;}
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:流转箱管理控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class TransferBoxController : ControllerBase
|
||||
public class TransferBoxController : BaseController
|
||||
{
|
||||
public TransferBoxService _service {get;set;}
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ namespace WaterCloud.Web.Areas.MaterialManage.Controllers
|
||||
/// 描 述:流转箱管理控制器类
|
||||
/// </summary>
|
||||
[Area("MaterialManage")]
|
||||
public class TransferTypeController : ControllerBase
|
||||
public class TransferTypeController : BaseController
|
||||
{
|
||||
public TransferTypeService _service { get; set; }
|
||||
public ItemsDataService _itemService { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ namespace WaterCloud.Web.Areas.PlanManage.Controllers
|
||||
/// 描 述:采购计划控制器类
|
||||
/// </summary>
|
||||
[Area("PlanManage")]
|
||||
public class InStoragePlanController : ControllerBase
|
||||
public class InStoragePlanController : BaseController
|
||||
{
|
||||
public InStoragePlanService _service {get;set;}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.PlanManage.Controllers
|
||||
/// 描 述:订单管理控制器类
|
||||
/// </summary>
|
||||
[Area("PlanManage")]
|
||||
public class OrderController : ControllerBase
|
||||
public class OrderController : BaseController
|
||||
{
|
||||
public OrderService _service {get;set;}
|
||||
[HttpGet]
|
||||
|
||||
@ -14,7 +14,7 @@ namespace WaterCloud.Web.Areas.PlanManage.Controllers
|
||||
/// 描 述:交付计划控制器类
|
||||
/// </summary>
|
||||
[Area("PlanManage")]
|
||||
public class OutStoragePlanController : ControllerBase
|
||||
public class OutStoragePlanController : BaseController
|
||||
{
|
||||
public OutStoragePlanService _service {get;set;}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
/// 描 述:工序管理控制器类
|
||||
/// </summary>
|
||||
[Area("ProcessManage")]
|
||||
public class ProcessFlowController : ControllerBase
|
||||
public class ProcessFlowController : BaseController
|
||||
{
|
||||
public ProcessFlowService _service {get;set;}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
/// 描 述:工单管理控制器类
|
||||
/// </summary>
|
||||
[Area("ProcessManage")]
|
||||
public class WorkOrderController : ControllerBase
|
||||
public class WorkOrderController : BaseController
|
||||
{
|
||||
public WorkOrderService _service {get;set;}
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
/// 描 述:工单执行控制器类
|
||||
/// </summary>
|
||||
[Area("ProcessManage")]
|
||||
public class WorkOrderRunController : ControllerBase
|
||||
public class WorkOrderRunController : BaseController
|
||||
{
|
||||
public WorkOrderRunService _service {get;set;}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
/// 描 述:生产计划控制器类
|
||||
/// </summary>
|
||||
[Area("ProcessManage")]
|
||||
public class WorkPlanController : ControllerBase
|
||||
public class WorkPlanController : BaseController
|
||||
{
|
||||
public WorkPlanService _service {get;set;}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.QualityManage.Controllers
|
||||
/// 描 述:质检参数控制器类
|
||||
/// </summary>
|
||||
[Area("QualityManage")]
|
||||
public class CheckoutDescriptionController : ControllerBase
|
||||
public class CheckoutDescriptionController : BaseController
|
||||
{
|
||||
public CheckoutDescriptionService _service {get;set;}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ namespace WaterCloud.Web.Areas.QualityManage.Controllers
|
||||
/// 描 述:质检单管理控制器类
|
||||
/// </summary>
|
||||
[Area("QualityManage")]
|
||||
public class NeedCheckController : ControllerBase
|
||||
public class NeedCheckController : BaseController
|
||||
{
|
||||
public NeedCheckService _service {get;set;}
|
||||
public TransferBoxBatchService _batchService { get; set; }
|
||||
|
||||
@ -18,7 +18,7 @@ namespace WaterCloud.Web.Areas.QualityManage.Controllers
|
||||
/// 描 述:不良物料管理控制器类
|
||||
/// </summary>
|
||||
[Area("QualityManage")]
|
||||
public class ScapMaterialController : ControllerBase
|
||||
public class ScapMaterialController : BaseController
|
||||
{
|
||||
public ScapMaterialService _service {get;set;}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ namespace WaterCloud.Web.Areas.QualityManage.Controllers
|
||||
/// 描 述:不良物料管理控制器类
|
||||
/// </summary>
|
||||
[Area("QualityManage")]
|
||||
public class ScapMaterialReturnController : ControllerBase
|
||||
public class ScapMaterialReturnController : BaseController
|
||||
{
|
||||
public ScapMaterialService _service {get;set;}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ using System;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class AllBadStorageReportController : ControllerBase
|
||||
public class AllBadStorageReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HandlerAjaxOnly]
|
||||
|
||||
@ -14,7 +14,7 @@ using System;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class AllStorageReportController : ControllerBase
|
||||
public class AllStorageReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HandlerAjaxOnly]
|
||||
|
||||
@ -14,7 +14,7 @@ using WaterCloud.Domain.ReportRecord;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class CheckDateStorageController : ControllerBase
|
||||
public class CheckDateStorageController : BaseController
|
||||
{
|
||||
public CheckDateStorageService _service { get; set; }
|
||||
[HttpGet]
|
||||
|
||||
@ -13,7 +13,7 @@ using WaterCloud.Domain.MaterialManage;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class ConsumeReportController : ControllerBase
|
||||
public class ConsumeReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HttpGet]
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Linq;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class EqpMaterialUseReportController : ControllerBase
|
||||
public class EqpMaterialUseReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HttpGet]
|
||||
|
||||
@ -14,7 +14,7 @@ using WaterCloud.Domain.ProcessManage;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class EqpWorkTimeController : ControllerBase
|
||||
public class EqpWorkTimeController : BaseController
|
||||
{
|
||||
public EqpWorkTimeService _service { get; set; }
|
||||
[HandlerAjaxOnly]
|
||||
|
||||
@ -13,7 +13,7 @@ using WaterCloud.Domain.MaterialManage;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class InStorageReportController : ControllerBase
|
||||
public class InStorageReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HttpGet]
|
||||
|
||||
@ -12,7 +12,7 @@ using WaterCloud.Service.ReportRecord;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class MaterialReportController : ControllerBase
|
||||
public class MaterialReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HttpGet]
|
||||
|
||||
@ -13,7 +13,7 @@ using WaterCloud.Domain.MaterialManage;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class OutStorageReportController : ControllerBase
|
||||
public class OutStorageReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HttpGet]
|
||||
|
||||
@ -13,7 +13,7 @@ using WaterCloud.Domain.MaterialManage;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class OutputReportController : ControllerBase
|
||||
public class OutputReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HttpGet]
|
||||
|
||||
@ -13,7 +13,7 @@ using WaterCloud.Domain.MaterialManage;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class ReturnMaterialReportController : ControllerBase
|
||||
public class ReturnMaterialReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HttpGet]
|
||||
|
||||
@ -13,7 +13,7 @@ using WaterCloud.Domain.MaterialManage;
|
||||
namespace WaterCloud.Web.Areas.ReportRecord.Controllers
|
||||
{
|
||||
[Area("ReportRecord")]
|
||||
public class StorageChangeReportController : ControllerBase
|
||||
public class StorageChangeReportController : BaseController
|
||||
{
|
||||
public ReportRecordService _service { get; set; }
|
||||
[HttpGet]
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.RunMonitor.Controllers
|
||||
/// 描 述:看板账户控制器类
|
||||
/// </summary>
|
||||
[Area("RunMonitor")]
|
||||
public class BoardAccountController : ControllerBase
|
||||
public class BoardAccountController : BaseController
|
||||
{
|
||||
public BoardAccountService _service {get;set;}
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
/// </summary>
|
||||
[Area("RunMonitor")]
|
||||
[HandlerBoard]
|
||||
public class EqpScanScreenController : ControllerBase
|
||||
public class EqpScanScreenController : BaseController
|
||||
{
|
||||
public SystemSetService _setService { get; set; }
|
||||
public ModuleService _moduleService { get; set; }
|
||||
|
||||
@ -13,6 +13,7 @@ using WaterCloud.Service.SystemManage;
|
||||
using WaterCloud.Service.MaterialManage;
|
||||
using WaterCloud.Domain.MaterialManage;
|
||||
using WaterCloud.Service.ClassTask;
|
||||
using iTextSharp.text;
|
||||
|
||||
namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
{
|
||||
@ -23,7 +24,7 @@ namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
/// </summary>
|
||||
[Area("RunMonitor")]
|
||||
[HandlerBoard]
|
||||
public class LogisticScanScreenController : ControllerBase
|
||||
public class LogisticScanScreenController : BaseController
|
||||
{
|
||||
public SystemSetService _setService { get; set; }
|
||||
public ModuleService _moduleService { get; set; }
|
||||
@ -136,7 +137,23 @@ namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
return Content(list.ToJson());
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
/// <summary>
|
||||
/// 获取区域列表
|
||||
/// </summary>
|
||||
/// <param name="keyword">关键词</param>
|
||||
/// <param name="type">类型</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> GetAreaList(string keyword = "", int? type = null)
|
||||
{
|
||||
var data = await _areaService.GetList(keyword);
|
||||
data = data.Where(a => a.F_EnabledMark == true).OrderBy(a => a.F_AreaType).ToList();
|
||||
if (type != null)
|
||||
data = data.Where(a => a.F_AreaType == type).ToList();
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
[HttpGet]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> GetUseLocation(string materialCode, string eqpName,string areaCode, bool isAll = false)
|
||||
{
|
||||
|
||||
@ -21,7 +21,7 @@ namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
/// </summary>
|
||||
[Area("RunMonitor")]
|
||||
[HandlerBoard]
|
||||
public class SmartScreenController : ControllerBase
|
||||
public class SmartScreenController : BaseController
|
||||
{
|
||||
public SystemSetService _setService { get; set; }
|
||||
public ModuleService _moduleService { get; set; }
|
||||
|
||||
@ -352,7 +352,8 @@
|
||||
materialhtml10 += '<p>数量:' + totalJob[index].F_NeedNum + '</p>';
|
||||
materialhtml10 += '<div class="boxfoot"></div>';
|
||||
$('#material').html(materialhtml10);
|
||||
GetUseLocation("", totalJob[index].F_MaterialCode, "", "原材料仓库", "GetUseLocation");
|
||||
var areacode = GetArea();
|
||||
GetUseLocation("", totalJob[index].F_MaterialCode, "", areacode, "GetUseLocation");
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -364,7 +365,22 @@
|
||||
|
||||
|
||||
})
|
||||
|
||||
function GetArea() {
|
||||
layui.use(['common'], function () {
|
||||
let common = layui.common;
|
||||
common.ajax({
|
||||
url: '/RunMonitor/LogisticScanScreen/GetAreaList',
|
||||
dataType: "json",
|
||||
data: { type:0 },
|
||||
async: false,
|
||||
success: function (data) {
|
||||
if (!!data) {
|
||||
return data[0].F_AreaCode;
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
function GetUseMaterial(eqpName) {
|
||||
let mathtml = '';
|
||||
let transferhtml = '';
|
||||
|
||||
@ -15,7 +15,7 @@ using Chloe;
|
||||
namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
{
|
||||
[Area("SystemManage")]
|
||||
public class CodeGeneratorController : ControllerBase
|
||||
public class CodeGeneratorController : BaseController
|
||||
{
|
||||
|
||||
private readonly IDatabaseTableService _service;
|
||||
|
||||
@ -15,7 +15,7 @@ namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
/// 描 述:流程设计控制器类
|
||||
/// </summary>
|
||||
[Area("SystemManage")]
|
||||
public class FlowschemeController : ControllerBase
|
||||
public class FlowschemeController : BaseController
|
||||
{
|
||||
|
||||
public FlowschemeService _service {get;set;}
|
||||
|
||||
@ -17,7 +17,7 @@ namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
/// 描 述:表单设计控制器类
|
||||
/// </summary>
|
||||
[Area("SystemManage")]
|
||||
public class FormController : ControllerBase
|
||||
public class FormController : BaseController
|
||||
{
|
||||
|
||||
public FormService _service {get;set;}
|
||||
|
||||
@ -16,7 +16,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
{
|
||||
[Area("SystemManage")]
|
||||
public class ItemsDataController : ControllerBase
|
||||
public class ItemsDataController : BaseController
|
||||
{
|
||||
|
||||
public ItemsDataService _service { get; set; }
|
||||
|
||||
@ -17,7 +17,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
{
|
||||
[Area("SystemManage")]
|
||||
public class ItemsTypeController : ControllerBase
|
||||
public class ItemsTypeController : BaseController
|
||||
{
|
||||
|
||||
public ItemsTypeService _service { get; set; }
|
||||
|
||||
@ -16,7 +16,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
{
|
||||
[Area("SystemManage")]
|
||||
public class ModuleButtonController : ControllerBase
|
||||
public class ModuleButtonController : BaseController
|
||||
{
|
||||
|
||||
public ModuleService _moduleService { get; set; }
|
||||
|
||||
@ -17,7 +17,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
{
|
||||
[Area("SystemManage")]
|
||||
public class ModuleController : ControllerBase
|
||||
public class ModuleController : BaseController
|
||||
{
|
||||
|
||||
public ModuleService _service { get; set; }
|
||||
|
||||
@ -16,7 +16,7 @@ namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
/// 描 述:字段管理控制器类
|
||||
/// </summary>
|
||||
[Area("SystemManage")]
|
||||
public class ModuleFieldsController : ControllerBase
|
||||
public class ModuleFieldsController : BaseController
|
||||
{
|
||||
|
||||
public ModuleFieldsService _service { get; set; }
|
||||
|
||||
@ -18,7 +18,7 @@ namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
/// 描 述:打印模板控制器类
|
||||
/// </summary>
|
||||
[Area("SystemManage")]
|
||||
public class PrintTemplateController : ControllerBase
|
||||
public class PrintTemplateController : BaseController
|
||||
{
|
||||
public PrintTemplateService _service {get;set;}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ namespace WaterCloud.Web.Areas.SystemManage.Controllers
|
||||
/// 描 述:报表模板控制器类
|
||||
/// </summary>
|
||||
[Area("SystemManage")]
|
||||
public class ReportTemplateController : ControllerBase
|
||||
public class ReportTemplateController : BaseController
|
||||
{
|
||||
public ReportTemplateService _service {get;set;}
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ namespace WaterCloud.Web.Areas.SystemOrganize.Controllers
|
||||
/// 描 述:数据权限控制器类
|
||||
/// </summary>
|
||||
[Area("SystemOrganize")]
|
||||
public class DataPrivilegeRuleController : ControllerBase
|
||||
public class DataPrivilegeRuleController : BaseController
|
||||
{
|
||||
|
||||
public DataPrivilegeRuleService _service { get; set; }
|
||||
|
||||
@ -24,7 +24,7 @@ using iTextSharp.text.pdf;
|
||||
namespace WaterCloud.Web.Areas.SystemOrganize.Controllers
|
||||
{
|
||||
[Area("SystemOrganize")]
|
||||
public class DutyController : ControllerBase
|
||||
public class DutyController : BaseController
|
||||
{
|
||||
|
||||
public DutyService _service { get; set; }
|
||||
|
||||
@ -15,7 +15,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemOrganize.Controllers
|
||||
{
|
||||
[Area("SystemOrganize")]
|
||||
public class NoticeController : ControllerBase
|
||||
public class NoticeController : BaseController
|
||||
{
|
||||
|
||||
public NoticeService _service { get; set; }
|
||||
|
||||
@ -17,7 +17,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemOrganize.Controllers
|
||||
{
|
||||
[Area("SystemOrganize")]
|
||||
public class OrganizeController : ControllerBase
|
||||
public class OrganizeController : BaseController
|
||||
{
|
||||
|
||||
public OrganizeService _service { get; set; }
|
||||
|
||||
@ -17,7 +17,7 @@ using WaterCloud.Domain.SystemManage;
|
||||
namespace WaterCloud.Web.Areas.SystemOrganize.Controllers
|
||||
{
|
||||
[Area("SystemOrganize")]
|
||||
public class RoleAuthorizeController : ControllerBase
|
||||
public class RoleAuthorizeController : BaseController
|
||||
{
|
||||
public RoleAuthorizeService _roleAuthorizeService { get; set; }
|
||||
public ModuleService _moduleService { get; set; }
|
||||
|
||||
@ -17,7 +17,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemOrganize.Controllers
|
||||
{
|
||||
[Area("SystemOrganize")]
|
||||
public class RoleController : ControllerBase
|
||||
public class RoleController : BaseController
|
||||
{
|
||||
|
||||
public RoleService _service { get; set; }
|
||||
|
||||
@ -15,7 +15,7 @@ namespace WaterCloud.Web.Areas.SystemOrganize.Controllers
|
||||
/// 描 述:系统设置控制器类
|
||||
/// </summary>
|
||||
[Area("SystemOrganize")]
|
||||
public class SystemSetController : ControllerBase
|
||||
public class SystemSetController : BaseController
|
||||
{
|
||||
|
||||
public SystemSetService _service { get; set; }
|
||||
|
||||
@ -18,7 +18,7 @@ using WaterCloud.Service.SystemManage;
|
||||
namespace WaterCloud.Web.Areas.SystemOrganize.Controllers
|
||||
{
|
||||
[Area("SystemOrganize")]
|
||||
public class UserController : ControllerBase
|
||||
public class UserController : BaseController
|
||||
{
|
||||
|
||||
public UserService _service { get; set; }
|
||||
|
||||
@ -17,7 +17,7 @@ using WaterCloud.Code.Model;
|
||||
namespace WaterCloud.Web.Areas.SystemSecurity.Controllers
|
||||
{
|
||||
[Area("SystemSecurity")]
|
||||
public class AppLogController : ControllerBase
|
||||
public class AppLogController : BaseController
|
||||
{
|
||||
|
||||
[HttpGet]
|
||||
|
||||
@ -15,7 +15,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemSecurity.Controllers
|
||||
{
|
||||
[Area("SystemSecurity")]
|
||||
public class FilterIPController : ControllerBase
|
||||
public class FilterIPController : BaseController
|
||||
{
|
||||
|
||||
public FilterIPService _service { get; set; }
|
||||
|
||||
@ -11,7 +11,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemSecurity.Controllers
|
||||
{
|
||||
[Area("SystemSecurity")]
|
||||
public class LogController : ControllerBase
|
||||
public class LogController : BaseController
|
||||
{
|
||||
|
||||
[HttpGet]
|
||||
|
||||
@ -13,7 +13,7 @@ namespace WaterCloud.Web.Areas.SystemSecurity.Controllers
|
||||
/// 定时任务
|
||||
/// </summary>
|
||||
[Area("SystemSecurity")]
|
||||
public class OpenJobsController : ControllerBase
|
||||
public class OpenJobsController : BaseController
|
||||
{
|
||||
|
||||
public OpenJobsService _service { get; set; }
|
||||
|
||||
@ -13,7 +13,7 @@ using System.Threading.Tasks;
|
||||
namespace WaterCloud.Web.Areas.SystemSecurity.Controllers
|
||||
{
|
||||
[Area("SystemSecurity")]
|
||||
public class ServerMonitoringController : ControllerBase
|
||||
public class ServerMonitoringController : BaseController
|
||||
{
|
||||
public ServerStateService _serverStateService { get; set; }
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using WaterCloud.Code;
|
||||
@ -13,7 +14,7 @@ using WaterCloud.Service.QualityManage;
|
||||
using WaterCloud.Service.SystemManage;
|
||||
using WaterCloud.Service.SystemSecurity;
|
||||
|
||||
namespace WaterCloud.WebApi.Controllers
|
||||
namespace WaterCloud.Web.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 质检接口
|
||||
@ -22,7 +23,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
[ApiController]
|
||||
//[ServiceFilter(typeof(LoginFilterAttribute))]
|
||||
public class CheckoutController : ControllerBase
|
||||
{
|
||||
{
|
||||
//自动注入服务
|
||||
public LogService _logService { get; set; }
|
||||
public StorageService _storageService { get; set; }
|
||||
@ -380,27 +381,46 @@ namespace WaterCloud.WebApi.Controllers
|
||||
[HttpPost]
|
||||
public async Task<dynamic> PhotoSaveIndex()
|
||||
{
|
||||
try
|
||||
{
|
||||
Dictionary<string, byte[]> dict = new Dictionary<string, byte[]>();
|
||||
var formfiles = Request.Form.Files;
|
||||
foreach (var formfile in formfiles)
|
||||
{
|
||||
var stream = formfile.OpenReadStream();
|
||||
byte[] bytes = new byte[stream.Length];
|
||||
stream.Read(bytes, 0, bytes.Length);
|
||||
dict.Add(formfile.FileName, bytes);
|
||||
}
|
||||
try
|
||||
{
|
||||
var cd = DateTime.Now;
|
||||
var BasePath = GlobalContext.HostingEnvironment.ContentRootPath;
|
||||
var SavePath = Path.Combine("upload", "Quality");
|
||||
string fullPath = Path.Combine(BasePath, SavePath);
|
||||
if (!Directory.Exists(fullPath))
|
||||
Directory.CreateDirectory(fullPath);
|
||||
var formfiles = Request.Form.Files;
|
||||
List<string> files = new List<string>();
|
||||
foreach (var formfile in formfiles)
|
||||
{
|
||||
var fullFileName = formfile.FileName;
|
||||
var fileExtension = Path.GetExtension(fullFileName);
|
||||
var filename = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + new Random().Next(100000, 999999) + fileExtension;
|
||||
using (var fs = System.IO.File.Create(Path.Combine(fullPath, filename)))
|
||||
{
|
||||
await formfile.CopyToAsync(fs);
|
||||
fs.Flush();
|
||||
}
|
||||
files.Add($@"/upload/Quality/" + filename);
|
||||
try
|
||||
{
|
||||
System.Drawing.Image img = System.Drawing.Image.FromFile(Path.Combine(fullPath, filename));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FileHelper.DeleteFile(Path.Combine(fullPath, filename));
|
||||
throw new Exception("文件非法,请检查!");
|
||||
}
|
||||
}
|
||||
dynamic result = new { error = 0, files = files.First() };
|
||||
|
||||
var result = await _scapService.PhotoSaveIndex(dict);
|
||||
var temp = result.Content.ReadAsStringAsync().Result.ToJObject();
|
||||
return new {error=0,file= temp["files"].First().ToString() };
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new AlwaysResultEx { error = (int)errorCodeType.error, message = LogHelper.ExMsgFormat(ex.Message) };
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new AlwaysResultEx { error = (int)errorCodeType.error, message = LogHelper.ExMsgFormat(ex.Message) };
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 请求对象
|
||||
@ -11,7 +11,7 @@ using WaterCloud.Service.MaterialManage;
|
||||
using WaterCloud.Service.ReportRecord;
|
||||
using WaterCloud.Service.SystemSecurity;
|
||||
|
||||
namespace WaterCloud.WebApi.Controllers
|
||||
namespace WaterCloud.Web.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 常规接口
|
||||
@ -20,7 +20,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
[ApiController]
|
||||
[ServiceFilter(typeof(LoginFilterAttribute))]
|
||||
public class CommonController : ControllerBase
|
||||
{
|
||||
{
|
||||
//自动注入服务
|
||||
public LogService _logService { get; set; }
|
||||
public EquipmentService _eqpService { get; set; }
|
||||
@ -12,13 +12,13 @@ using WaterCloud.Service.ProductionReport;
|
||||
using WaterCloud.Service.SystemOrganize;
|
||||
using WaterCloud.Service.SystemSecurity;
|
||||
|
||||
namespace WaterCloud.WebApi.Controllers
|
||||
namespace WaterCloud.Web.Controllers
|
||||
{
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
[ServiceFilter(typeof(LoginFilterAttribute))]
|
||||
public class EqpRepairController: ControllerBase
|
||||
{
|
||||
{
|
||||
public EqpRepairService eqpRepairService { get; set; }
|
||||
public LogService _logService { get; set; }
|
||||
public HelpClassService helpClassService { get; set; }
|
||||
@ -10,7 +10,7 @@ using WaterCloud.Service.MaterialManage;
|
||||
using WaterCloud.Service.QualityManage;
|
||||
using WaterCloud.Service.SystemSecurity;
|
||||
|
||||
namespace WaterCloud.WebApi.Controllers
|
||||
namespace WaterCloud.Web.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 入库接口
|
||||
@ -19,7 +19,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
[ApiController]
|
||||
[ServiceFilter(typeof(LoginFilterAttribute))]
|
||||
public class InStorageController : ControllerBase
|
||||
{
|
||||
{
|
||||
//自动注入服务
|
||||
public LogService _logService { get; set; }
|
||||
public InStorageService _service { get; set; }
|
||||
@ -9,7 +9,7 @@ using WaterCloud.Domain.MaterialManage;
|
||||
using WaterCloud.Service.MaterialManage;
|
||||
using WaterCloud.Service.SystemSecurity;
|
||||
|
||||
namespace WaterCloud.WebApi.Controllers
|
||||
namespace WaterCloud.Web.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 出库接口
|
||||
@ -18,7 +18,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
[ApiController]
|
||||
[ServiceFilter(typeof(LoginFilterAttribute))]
|
||||
public class OutStorageController : ControllerBase
|
||||
{
|
||||
{
|
||||
//自动注入服务
|
||||
public LogService _logService { get; set; }
|
||||
public OutStorageService _service { get; set; }
|
||||
@ -11,7 +11,7 @@ using WaterCloud.Service.ClassTask;
|
||||
using WaterCloud.Service.MaterialManage;
|
||||
using WaterCloud.Service.SystemSecurity;
|
||||
|
||||
namespace WaterCloud.WebApi.Controllers
|
||||
namespace WaterCloud.Web.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 调度任务接口
|
||||
@ -20,7 +20,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
[ApiController]
|
||||
[ServiceFilter(typeof(LoginFilterAttribute))]
|
||||
public class TaskJobController : ControllerBase
|
||||
{
|
||||
{
|
||||
//自动注入服务
|
||||
public LogService _logService { get; set; }
|
||||
public StorageService _storageService { get; set; }
|
||||
@ -12,7 +12,7 @@ using WaterCloud.Service;
|
||||
using WaterCloud.Service.SystemOrganize;
|
||||
using WaterCloud.Service.SystemSecurity;
|
||||
|
||||
namespace WaterCloud.WebApi.Controllers
|
||||
namespace WaterCloud.Web.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户接口
|
||||
@ -20,7 +20,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
public class UserController : ControllerBase
|
||||
{
|
||||
{
|
||||
//自动注入服务
|
||||
public FilterIPService _filterIPService { get; set; }
|
||||
public UserService _userService { get; set; }
|
||||
@ -88,7 +88,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
{
|
||||
operatorModel.IsSystem = false;
|
||||
}
|
||||
await OperatorProvider.Provider.AddLoginUser(operatorModel, apitoken, "api_",false);
|
||||
await OperatorProvider.Provider.AddLoginUser(operatorModel, apitoken, "api_");
|
||||
logEntity.F_Account = userEntity.F_Account;
|
||||
logEntity.F_NickName = userEntity.F_RealName;
|
||||
logEntity.F_Result = true;
|
||||
@ -176,7 +176,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
{
|
||||
operatorModel.IsSystem = false;
|
||||
}
|
||||
await OperatorProvider.Provider.AddLoginUser(operatorModel, apitoken, "api_", false);
|
||||
await OperatorProvider.Provider.AddLoginUser(operatorModel, apitoken, "api_");
|
||||
logEntity.F_Account = userEntity.F_Account;
|
||||
logEntity.F_NickName = userEntity.F_RealName;
|
||||
logEntity.F_Result = true;
|
||||
@ -186,8 +186,6 @@ namespace WaterCloud.WebApi.Controllers
|
||||
responseData.apitoken = apitoken;
|
||||
responseData.userid = userEntity.F_DingTalkUnionId;
|
||||
responseData.username = userEntity.F_DingTalkNick;
|
||||
responseData.mainurl = GlobalContext.SystemConfig.MainProgram;
|
||||
|
||||
return new AlwaysResult<DingLoginResponse> { state = ResultType.success.ToString(), message = "登录成功。", data = responseData };
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -267,7 +265,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
operatorModel.IsSystem = false;
|
||||
}
|
||||
//缓存保存用户信息
|
||||
await OperatorProvider.Provider.AddLoginUser(operatorModel, apitoken, "api_", false);
|
||||
await OperatorProvider.Provider.AddLoginUser(operatorModel, apitoken, "api_");
|
||||
logEntity.F_Account = userEntity.F_Account;
|
||||
logEntity.F_NickName = userEntity.F_RealName;
|
||||
logEntity.F_Result = true;
|
||||
@ -277,7 +275,6 @@ namespace WaterCloud.WebApi.Controllers
|
||||
responseData.apitoken = apitoken;
|
||||
responseData.userid = info.Unionid;
|
||||
responseData.username = info.UserName;
|
||||
responseData.mainurl = GlobalContext.SystemConfig.MainProgram;
|
||||
return new AlwaysResult<DingLoginResponse> { state = ResultType.success.ToString(), message = "绑定成功。", data = responseData };
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -13,7 +13,7 @@ using WaterCloud.Service.ProcessManage;
|
||||
using WaterCloud.Service.QualityManage;
|
||||
using WaterCloud.Service.SystemSecurity;
|
||||
|
||||
namespace WaterCloud.WebApi.Controllers
|
||||
namespace WaterCloud.Web.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// 生产接口
|
||||
@ -22,7 +22,7 @@ namespace WaterCloud.WebApi.Controllers
|
||||
[ApiController]
|
||||
[ServiceFilter(typeof(LoginFilterAttribute))]
|
||||
public class WorkRunController : ControllerBase
|
||||
{
|
||||
{
|
||||
//自动注入服务
|
||||
public LogService _logService { get; set; }
|
||||
public MaterialService _materialService { get; set; }
|
||||
@ -11,7 +11,7 @@ using WaterCloud.Service.SystemSecurity;
|
||||
namespace WaterCloud.Web
|
||||
{
|
||||
[ServiceFilter(typeof(HandlerLoginAttribute))]
|
||||
public abstract class ControllerBase : Controller
|
||||
public abstract class BaseController : Controller
|
||||
{
|
||||
public LogService _logService { get; set; }
|
||||
/// <summary>
|
||||
@ -6,7 +6,7 @@ using Microsoft.AspNetCore.Mvc.Filters;
|
||||
using WaterCloud.Code;
|
||||
using WaterCloud.Service.SystemOrganize;
|
||||
|
||||
namespace WaterCloud.WebApi
|
||||
namespace WaterCloud.Web
|
||||
{
|
||||
/// <summary>
|
||||
/// 权限验证
|
||||
@ -7,7 +7,7 @@ using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using WaterCloud.Code;
|
||||
|
||||
namespace WaterCloud.WebApi
|
||||
namespace WaterCloud.Web
|
||||
{
|
||||
public class GlobalExceptionMiddleware
|
||||
{
|
||||
@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Filters;
|
||||
using WaterCloud.Code;
|
||||
|
||||
namespace WaterCloud.WebApi
|
||||
namespace WaterCloud.Web
|
||||
{
|
||||
/// <summary>
|
||||
/// 防重复提交
|
||||
@ -8,7 +8,7 @@ using WaterCloud.Code;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using WaterCloud.Service.SystemOrganize;
|
||||
|
||||
namespace WaterCloud.WebApi
|
||||
namespace WaterCloud.Web
|
||||
{
|
||||
/// <summary>
|
||||
/// 验证token
|
||||
@ -27,6 +27,8 @@ using Microsoft.Extensions.FileProviders;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.ResponseCompression;
|
||||
using System.IO.Compression;
|
||||
using WaterCloud.Domain.SystemOrganize;
|
||||
using Microsoft.OpenApi.Models;
|
||||
|
||||
namespace WaterCloud.Web
|
||||
{
|
||||
@ -42,11 +44,19 @@ namespace WaterCloud.Web
|
||||
GlobalContext.HostingEnvironment = env;
|
||||
}
|
||||
// This method gets called by the runtime. Use this method to add services to the container.
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
public async void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
|
||||
services.AddSession();
|
||||
|
||||
GlobalContext.SystemConfig = Configuration.GetSection("SystemConfig").Get<SystemConfig>();
|
||||
GlobalContext.Services = services;
|
||||
GlobalContext.Configuration = Configuration;
|
||||
services.AddSwaggerGen(config =>
|
||||
{
|
||||
config.SwaggerDoc("v1", new OpenApiInfo { Title = "WaterCloud Api", Version = "v1" });
|
||||
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
|
||||
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
|
||||
config.IncludeXmlComments(xmlPath, true); //添加控制器层注释(true表示显示控制器注释)
|
||||
});
|
||||
services.AddSession();
|
||||
//代替HttpContext.Current
|
||||
services.AddHttpContextAccessor();
|
||||
//缓存缓存选择
|
||||
@ -120,11 +130,17 @@ namespace WaterCloud.Web
|
||||
{
|
||||
// 返回数据首字母不小写,CamelCasePropertyNamesContractResolver是小写
|
||||
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
|
||||
});
|
||||
services.AddAntiforgery(options => options.HeaderName = "X-CSRF-TOKEN");
|
||||
services.AddControllersWithViews().AddControllersAsServices();
|
||||
//调试前端可更新
|
||||
services.AddControllersWithViews().AddRazorRuntimeCompilation();
|
||||
}).AddControllersAsServices().AddRazorRuntimeCompilation();
|
||||
services.AddDirectoryBrowser();
|
||||
services.AddControllers(options =>
|
||||
{
|
||||
options.Filters.Add<ModelActionFilter>();
|
||||
options.ModelMetadataDetailsProviders.Add(new ModelBindingMetadataProvider());
|
||||
}).ConfigureApiBehaviorOptions(options =>
|
||||
{
|
||||
options.SuppressModelStateInvalidFilter = true;
|
||||
});
|
||||
services.AddAntiforgery(options => options.HeaderName = "X-CSRF-TOKEN");
|
||||
//启用 Gzip 和 Brotil 压缩功能
|
||||
services.AddResponseCompression(options =>
|
||||
{
|
||||
@ -141,9 +157,6 @@ namespace WaterCloud.Web
|
||||
});
|
||||
services.AddOptions();
|
||||
services.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(GlobalContext.HostingEnvironment.ContentRootPath + Path.DirectorySeparatorChar + "DataProtection"));
|
||||
GlobalContext.SystemConfig = Configuration.GetSection("SystemConfig").Get<SystemConfig>();
|
||||
GlobalContext.Services = services;
|
||||
GlobalContext.Configuration = Configuration;
|
||||
//更新数据库管理员和主系统
|
||||
try
|
||||
{
|
||||
@ -151,12 +164,32 @@ namespace WaterCloud.Web
|
||||
{
|
||||
using (var context = DBContexHelper.Contex())
|
||||
{
|
||||
var _setService = new Service.SystemOrganize.SystemSetService(context);
|
||||
Domain.SystemOrganize.SystemSetEntity temp = new Domain.SystemOrganize.SystemSetEntity();
|
||||
temp.F_AdminAccount = GlobalContext.SystemConfig.SysemUserCode;
|
||||
temp.F_AdminPassword = GlobalContext.SystemConfig.SysemUserPwd;
|
||||
_setService.SubmitForm(temp, GlobalContext.SystemConfig.SysemMasterProject).GetAwaiter().GetResult();
|
||||
}
|
||||
var setentity = context.Query<SystemSetEntity>().FirstOrDefault();
|
||||
context.Session.BeginTransaction();
|
||||
var user = context.Query<UserEntity>().Where(a => a.F_Account == setentity.F_AdminAccount).FirstOrDefault();
|
||||
var userinfo = context.Query<UserLogOnEntity>().Where(a => a.F_UserId == user.F_Id).FirstOrDefault();
|
||||
userinfo.F_UserSecretkey = Md5.md5(Utils.CreateNo(), 16).ToLower();
|
||||
userinfo.F_UserPassword = Md5.md5(DESEncrypt.Encrypt(Md5.md5(GlobalContext.SystemConfig.SysemUserPwd, 32).ToLower(), userinfo.F_UserSecretkey).ToLower(), 32).ToLower();
|
||||
context.Update<UserEntity>(a => a.F_Id == user.F_Id, a => new UserEntity
|
||||
{
|
||||
F_Account = GlobalContext.SystemConfig.SysemUserCode
|
||||
});
|
||||
var cacheKeyUser = "watercloud_userdata_";
|
||||
await CacheHelper.Remove(cacheKeyUser + user.F_Id);
|
||||
await context.UpdateAsync<UserLogOnEntity>(a => a.F_Id == userinfo.F_Id, a => new UserLogOnEntity
|
||||
{
|
||||
F_UserPassword = userinfo.F_UserPassword,
|
||||
F_UserSecretkey = userinfo.F_UserSecretkey
|
||||
});
|
||||
await context.UpdateAsync<SystemSetEntity>(a => a.F_Id == userinfo.F_Id, a => new SystemSetEntity
|
||||
{
|
||||
F_AdminAccount = GlobalContext.SystemConfig.SysemUserCode,
|
||||
F_AdminPassword = GlobalContext.SystemConfig.SysemUserPwd
|
||||
});
|
||||
context.Session.CommitTransaction();
|
||||
var cacheKeyOperator = "watercloud_operator_";// +登录者token
|
||||
await CacheHelper.Remove(cacheKeyOperator + "info_" + user.F_Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -179,17 +212,6 @@ namespace WaterCloud.Web
|
||||
builder.RegisterAssemblyTypes(typeof(Program).Assembly)
|
||||
.Where(t => controllerBaseType.IsAssignableFrom(t) && t != controllerBaseType)
|
||||
.PropertiesAutowired();
|
||||
|
||||
////注入redis
|
||||
//if (Configuration.GetSection("SystemConfig:CacheProvider").Value== Define.CACHEPROVIDER_REDIS)
|
||||
//{
|
||||
// //redis 注入服务
|
||||
// string redisConnectiong = Configuration.GetSection("SystemConfig:RedisConnectionString").Value;
|
||||
// // 多客户端
|
||||
// var redisDB = new CSRedisClient(redisConnectiong + ",defaultDatabase=" + 0);
|
||||
// RedisHelper.Initialization(redisDB);
|
||||
// builder.RegisterInstance(redisDB).SingleInstance();//生命周期只能单例
|
||||
//}
|
||||
//注册html解析
|
||||
builder.RegisterInstance(HtmlEncoder.Create(UnicodeRanges.All)).SingleInstance();
|
||||
//注册特性
|
||||
@ -197,13 +219,15 @@ namespace WaterCloud.Web
|
||||
builder.RegisterType(typeof(HandlerAuthorizeAttribute)).InstancePerLifetimeScope();
|
||||
builder.RegisterType(typeof(HandlerAdminAttribute)).InstancePerLifetimeScope();
|
||||
builder.RegisterType(typeof(HandlerLockAttribute)).InstancePerLifetimeScope();
|
||||
////注册ue编辑器
|
||||
//Config.ConfigFile = "config.json";
|
||||
//Config.noCache = true;
|
||||
//var actions = new UEditorActionCollection();
|
||||
//builder.RegisterInstance(actions).SingleInstance();
|
||||
//builder.RegisterInstance(typeof(UEditorService)).SingleInstance();
|
||||
}
|
||||
//ControllerBase中使用属性注入
|
||||
controllerBaseType = typeof(ControllerBase);
|
||||
builder.RegisterAssemblyTypes(typeof(Program).Assembly)
|
||||
.Where(t => controllerBaseType.IsAssignableFrom(t) && t != controllerBaseType)
|
||||
.PropertiesAutowired();
|
||||
//注册特性
|
||||
builder.RegisterType(typeof(AuthorizeFilterAttribute)).InstancePerLifetimeScope();
|
||||
builder.RegisterType(typeof(LoginFilterAttribute)).InstancePerLifetimeScope();
|
||||
}
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
public void Configure(IApplicationBuilder app)
|
||||
{
|
||||
@ -223,29 +247,7 @@ namespace WaterCloud.Web
|
||||
ctx.Context.Response.Headers.Append("Cache-Control", "public,max-age=36000");
|
||||
}
|
||||
});
|
||||
//string resource1 = Path.Combine("E:\\", "upload1");
|
||||
//if (!FileHelper.IsExistDirectory(resource1))
|
||||
//{
|
||||
// FileHelper.CreateFolder(resource1);
|
||||
//}
|
||||
//app.UseStaticFiles(new StaticFileOptions
|
||||
//{
|
||||
// FileProvider = new PhysicalFileProvider(resource1),
|
||||
// RequestPath = "/upload1",
|
||||
// OnPrepareResponse = ctx =>
|
||||
// {
|
||||
// ctx.Context.Response.Headers.Append("Cache-Control", "public,max-age=36000");
|
||||
// }
|
||||
//});
|
||||
//启用 Gzip 和 Brotil 压缩功能
|
||||
app.UseResponseCompression();
|
||||
app.UseCors("CorsPolicy");
|
||||
//虚拟目录
|
||||
//如需使用,所有URL修改,例:"/Home/Index"改成'@Url.Content("~/Home/Index")',部署访问首页必须带虚拟目录;
|
||||
//if (!string.IsNullOrEmpty(GlobalContext.SystemConfig.VirtualDirectory))
|
||||
//{
|
||||
// app.UsePathBase(new PathString(GlobalContext.SystemConfig.VirtualDirectory)); // 让 Pathbase 中间件成为第一个处理请求的中间件, 才能正确的模拟虚拟路径
|
||||
//}
|
||||
if (WebHostEnvironment.IsDevelopment())
|
||||
{
|
||||
//打印sql
|
||||
@ -265,17 +267,34 @@ namespace WaterCloud.Web
|
||||
ContentTypeProvider = new CustomerFileExtensionContentTypeProvider(),
|
||||
OnPrepareResponse = GlobalContext.SetCacheControl
|
||||
});
|
||||
//session
|
||||
app.UseSession();
|
||||
//路径
|
||||
app.UseRouting();
|
||||
//启用 Gzip 和 Brotil 压缩功能
|
||||
app.UseResponseCompression();
|
||||
app.Use(next => context =>
|
||||
{
|
||||
context.Request.EnableBuffering();
|
||||
return next(context);
|
||||
});
|
||||
app.UseSwagger(c =>
|
||||
{
|
||||
c.RouteTemplate = "api-doc/{documentName}/swagger.json";
|
||||
});
|
||||
app.UseSwaggerUI(c =>
|
||||
{
|
||||
c.RoutePrefix = "api-doc";
|
||||
c.SwaggerEndpoint("v1/swagger.json", "WaterCloud Api v1");
|
||||
});
|
||||
//session
|
||||
app.UseSession();
|
||||
//路径
|
||||
app.UseRouting();
|
||||
//MVC路由
|
||||
app.UseEndpoints(endpoints =>
|
||||
{
|
||||
endpoints.MapHub<MessageHub>("/chatHub");
|
||||
endpoints.MapControllerRoute("areas", "{area:exists}/{controller=Home}/{action=Index}/{id?}");
|
||||
endpoints.MapControllerRoute("default", "{controller=Login}/{action=Index}/{id?}");
|
||||
});
|
||||
endpoints.MapControllerRoute("api", "api/{controller=ApiHome}/{action=Index}/{id?}");
|
||||
});
|
||||
GlobalContext.ServiceProvider = app.ApplicationServices;
|
||||
}
|
||||
}
|
||||
|
||||
90
WaterCloud.Web/WaterCloud - Backup.Web.csproj
Normal file
90
WaterCloud.Web/WaterCloud - Backup.Web.csproj
Normal file
@ -0,0 +1,90 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<UserSecretsId>c1fb91bb-fd9e-4a3a-8c93-b84e89a0941a</UserSecretsId>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
<Version>0.0.0.7</Version>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
<DocumentationFile>WaterCloud.Web.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<Optimize>false</Optimize>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="DataProtection\**" />
|
||||
<Content Remove="DataProtection\**" />
|
||||
<EmbeddedResource Remove="DataProtection\**" />
|
||||
<None Remove="DataProtection\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="wwwroot\js\lay-module\inputAttr\inputAttr.js" />
|
||||
<None Include="wwwroot\lib\layui\font\iconfont.svg" />
|
||||
<None Include="wwwroot\lib\layui\font\iconfont.woff2" />
|
||||
<None Include="wwwroot\lib\layui\layui.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\all.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\carousel.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\code.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\colorpicker.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\dropdown.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\element.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\flow.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\form.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\jquery.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\lay.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\laydate.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\layedit.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\layer.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\laypage.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\laytpl.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\layui.all.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\mobile.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\rate.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\slider.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\table.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\transfer.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\tree.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\upload.js" />
|
||||
<None Include="wwwroot\lib\layui\modules\util.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Autofac" Version="6.4.0" />
|
||||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />
|
||||
<PackageReference Include="iTextSharp.LGPLv2.Core.Fix" Version="1.4.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.9" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.9" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="6.0.0" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
|
||||
<PackageReference Include="Quartz" Version="3.5.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||
<PackageReference Include="System.DirectoryServices.Protocols" Version="6.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\WaterCloud.CodeGenerator\WaterCloud.CodeGenerator.csproj" />
|
||||
<ProjectReference Include="..\WaterCloud.Code\WaterCloud.Code.csproj" />
|
||||
<ProjectReference Include="..\WaterCloud.Service\WaterCloud.Service.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Update="Areas\PlanManage\Views\InStoragePlan\Index.cshtml">
|
||||
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="Dockerfile">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ProjectExtensions><VisualStudio><UserProperties appsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions>
|
||||
|
||||
|
||||
</Project>
|
||||
@ -5,6 +5,8 @@
|
||||
<UserSecretsId>c1fb91bb-fd9e-4a3a-8c93-b84e89a0941a</UserSecretsId>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
<Version>0.0.0.7</Version>
|
||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||
<DocumentationFile>WaterCloud.Web.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
@ -12,6 +14,9 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RuntimeHostConfigurationOption Include="System.Drawing.EnableUnixSupport" Value="true" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Remove="DataProtection\**" />
|
||||
<Content Remove="DataProtection\**" />
|
||||
@ -59,6 +64,7 @@
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="6.0.0" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
|
||||
<PackageReference Include="Quartz" Version="3.5.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||
<PackageReference Include="System.DirectoryServices.Protocols" Version="6.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user