You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							209 lines
						
					
					
						
							7.7 KiB
						
					
					
				
			
		
		
	
	
							209 lines
						
					
					
						
							7.7 KiB
						
					
					
				| using FactorySystemBll;
 | |
| using FactorySystemCommon;
 | |
| using FactorySystemModel.BusinessModel;
 | |
| using FactorySystemModel.ResponseModel;
 | |
| using FactorySystemModel.SqlSugarModel;
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Linq;
 | |
| using System.Web.Http;
 | |
| 
 | |
| namespace FactorySystemApi.Controllers
 | |
| {
 | |
|     /// <summary>
 | |
|     /// 公共接口
 | |
|     /// </summary>
 | |
|     [UserLoginFilter]
 | |
|     public class CommonController : BaseController<TFunction>
 | |
|     {
 | |
|         private readonly CommonBll CommonBll = new CommonBll();
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取配置集合
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public ApiResult GetBasicList(Dictionary<string, object> inParam)
 | |
|         {
 | |
|             ApiResult apiResult = new ApiResult();
 | |
|             return ExceptionHelper.TryReturnException(() =>
 | |
|             {
 | |
|                 if (inParam.TryGetValue("FType", out object objType) && int.TryParse(objType.ToString(), out int intType))
 | |
|                 {
 | |
|                     apiResult.Data = CommonBll.GetBasicList(intType);
 | |
|                 }
 | |
|             }, apiResult, Request, inParam);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取模板信息
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public ApiResult GetTempFile(Dictionary<string, object> inParam)
 | |
|         {
 | |
|             ApiResult apiResult = new ApiResult();
 | |
|             return ExceptionHelper.TryReturnException(() =>
 | |
|             {
 | |
|                 inParam.TryGetValue("FType", out object objType);
 | |
|                 objType = objType ?? "";
 | |
|                 string filePath = "/File/{0}/{1}.xlsx";
 | |
|                 switch (objType.ToString())
 | |
|                 {
 | |
|                     case "2":
 | |
|                         filePath = string.Format(filePath, "Material", "SAP物料导入模板");
 | |
|                         break;
 | |
|                     case "3":
 | |
|                         filePath = string.Format(filePath, "Material", "替代料导入模板");
 | |
|                         break;
 | |
|                     case "4":
 | |
|                         filePath = string.Format(filePath, "Material", "副产物导入模板");
 | |
|                         break;
 | |
|                     case "5":
 | |
|                         filePath = string.Format(filePath, "Material", "物料信息补全导入模板");
 | |
|                         break;
 | |
|                     case "1"://配方导入模板
 | |
|                     default:
 | |
|                         filePath = string.Format(filePath, "Formula", "配方导入模板");
 | |
|                         break;
 | |
|                 }
 | |
|                 apiResult.Data = Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.AbsolutePath, "").Trim('/') + filePath;
 | |
|             }, apiResult, Request, inParam);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 验证用户权限
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public ApiResult CheckIsHasPower(Dictionary<string, object> inParam)
 | |
|         {
 | |
|             ApiResult apiResult = new ApiResult();
 | |
|             return ExceptionHelper.TryReturnException(() =>
 | |
|             {
 | |
|                 Dictionary<string, object> outParam = new Dictionary<string, object>();
 | |
|                 List<int> funcList = new List<int>();
 | |
|                 inParam.TryGetValue("FType", out object oType);
 | |
|                 if (null != inParam)
 | |
|                 {
 | |
|                     inParam.Remove("FType");
 | |
|                     int.TryParse(oType.ToString(), out int iType);
 | |
|                     ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo;
 | |
|                     funcList = CommonBll.CheckIsHasPower(iType, user.FID);
 | |
|                 }
 | |
|                 foreach (var item in inParam)
 | |
|                 {
 | |
|                     bool has = funcList.Contains(int.Parse(item.Key.Replace("P", "")));
 | |
|                     outParam.Add(item.Key, has);
 | |
|                 }
 | |
|                 apiResult.Data = outParam;
 | |
|             }, apiResult, Request, inParam);
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取数据选择值
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public ApiResult GetDataCodeList(Dictionary<string, object> inParam)
 | |
|         {
 | |
|             ApiResult apiResult = new ApiResult();
 | |
|             return ExceptionHelper.TryReturnException(() =>
 | |
|             {
 | |
|                 if (inParam.TryGetValue("FType", out object oType))
 | |
|                 {
 | |
|                     string[] typeIds = oType.ToString().Split(',');
 | |
|                     List<TDataCode> codeList = CommonBll.GetDataCodeList(typeIds);
 | |
|                     Dictionary<string, object> outParam = new Dictionary<string, object>();
 | |
|                     foreach (var item in codeList.GroupBy(s => s.FType))
 | |
|                     {
 | |
|                         outParam.Add("FType" + item.Key, item.Select(s => new { s.FID, s.FName, s.FValue }));
 | |
|                     }
 | |
|                     apiResult.Data = outParam;
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     apiResult.Data = CommonBll.GetDataCodeList(null);
 | |
|                 }
 | |
|             }, apiResult, Request, inParam);
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 修改数据值状态
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public ApiResult StateDataCode(Dictionary<string, object> inParam)
 | |
|         {
 | |
|             ApiResult apiResult = new ApiResult();
 | |
|             return ExceptionHelper.TryReturnException(() =>
 | |
|             {
 | |
|                 inParam.TryGetValue("FID", out object dataId);
 | |
|                 ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo;
 | |
|                 apiResult.Data = CommonBll.StateDataCode(int.Parse(dataId.ToString()), user.FID);
 | |
|             }, apiResult, Request, inParam);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 删除系统配置值
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public ApiResult DeleteDataCode(Dictionary<string, object> inParam)
 | |
|         {
 | |
|             ApiResult apiResult = new ApiResult();
 | |
|             return ExceptionHelper.TryReturnException(() =>
 | |
|             {
 | |
|                 apiResult.Data = BaseBll.DeleteDataById(inParam, "TDataCode", true);
 | |
|             }, apiResult, Request, inParam);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 设置系统配置值
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public ApiResult ChangeDataCode(Dictionary<string, object> inParam)
 | |
|         {
 | |
|             ApiResult apiResult = new ApiResult();
 | |
|             return ExceptionHelper.TryReturnException(() =>
 | |
|             {
 | |
|                 ApiAuthInfo user = Request.Properties["token"] as ApiAuthInfo;
 | |
|                 inParam.Add("FDateOpt", DateTime.Now);
 | |
|                 inParam.Add("FUserOpt", user.FID);
 | |
|                 if (inParam.ContainsKey("FID"))
 | |
|                 {
 | |
|                     apiResult.Data = BaseBll.UpdateDataModel(inParam, "TDataCode");
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     apiResult.Data = BaseBll.InsertDataModel(inParam, "TDataCode");
 | |
|                 }
 | |
|             }, apiResult, Request, inParam);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取配置集合
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public ApiResult GetConfigList(Dictionary<string, object> inParam)
 | |
|         {
 | |
|             ApiResult apiResult = new ApiResult();
 | |
|             return ExceptionHelper.TryReturnException(() =>
 | |
|             {
 | |
|                 apiResult.Data = CommonBll.GetConfigList();
 | |
|             }, apiResult, Request, inParam);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取系统配置值
 | |
|         /// </summary>
 | |
|         [HttpPost]
 | |
|         public ApiResult GetConfigValue(Dictionary<string, object> inParam)
 | |
|         {
 | |
|             ApiResult apiResult = new ApiResult();
 | |
|             return ExceptionHelper.TryReturnException(() =>
 | |
|             {
 | |
|                 inParam.TryGetValue("FID", out object dataId);
 | |
|                 apiResult.Data = CommonBll.GetConfigValue(int.Parse(dataId.ToString()));
 | |
|             }, apiResult, Request, inParam);
 | |
|         }
 | |
| 
 | |
|     }
 | |
| }
 |