|
- using Learun.Application.AppMagager;
- using Learun.Util;
- using Nancy;
- using System.Collections.Generic;
- using System.Linq;
- using Learun.Application.Base.SystemModule;
- using Learun.Application.TwoDevelopment.LR_Desktop;
- using System.Text;
- using System.Data;
- using Learun.Application.WorkFlow;
-
- namespace Learun.Application.WebApi.Modules
- {
-
- public class DesktopApi : BaseApi
- {
-
- public DesktopApi()
- : base("/learun/adms/desktop")
- {
- Get["/setting"] = GetList;
- Get["/data"] = GetData;
- Get["/imgid"] = GetImgIds;
- Get["/img"] = GetImg;
- }
- private FunctionIBLL functionIBLL = new FunctionBLL();
- private DTTargetIBLL dTTargetIBLL = new DTTargetBLL();
- private DTListIBLL dTListIBLL = new DTListBLL();
- private DatabaseLinkIBLL databaseLinkIbll = new DatabaseLinkBLL();
- private DTChartIBLL dTChartIBLL = new DTChartBLL();
- private DTImgIBLL dTImgIBLL = new DTImgBLL();
- private NWFProcessIBLL nWFProcessIBLL = new NWFProcessBLL();
-
- public Response GetList(dynamic _)
- {
- string ver = this.GetReqData();// 获取模板请求数据
- var targetData = functionIBLL.GetDesktopList("1").OrderBy(m => m.F_Sort);
- var listData = functionIBLL.GetDesktopList("2").OrderBy(m => m.F_Sort);
- var chartData = functionIBLL.GetDesktopList("3").OrderBy(m => m.F_Sort);
- var data = new { target = targetData, list = listData, chart = chartData };
- string md5 = Md5Helper.Encrypt(data.ToJson(), 32);
- if (md5 == ver)
- {
- return Success("");
- }
- var data1 = new { data = new { target = targetData, list = listData, chart = chartData }, ver = md5 };
- return Success(data1);
- }
-
- public Response GetData(dynamic _)
- {
- object jsonData = null;
- DesktopParam param = this.GetReqData<DesktopParam>();
- switch (param.type)
- {
- case "Target":
- double valueRet = dTTargetIBLL.GetSqlData(param.id);
- jsonData = new
- {
- Id = param.id,
- value = valueRet,
-
- };
- break;
- case "list":
- DataTable dtnew = null;
-
- var loginUserInfo = LoginUserInfo.Get();
- string userId = loginUserInfo.userId;
- string postIds = "'" + loginUserInfo.postIds.Replace(",", "','") + "'";
- string roleIds = "'" + loginUserInfo.roleIds.Replace(",", "','") + "'";
- string companyId = loginUserInfo.companyId;
- string departmentId = loginUserInfo.departmentId;
- if (string.IsNullOrEmpty(loginUserInfo.userId))
- {
- userId = param.userid;
- }
-
- var dtListEntity = dTListIBLL.GetLR_DT_ListEntity(param.id);
- if (dtListEntity.F_Id == "33d50f1a-a64d-4b86-a6d4-2d937226de95") //待办
- {
- //审核者判断
- var strSql = new StringBuilder();
- // 添加委托信息
- List<UserInfo> delegateList = nWFProcessIBLL.GetDelegateProcess(userId);
- strSql.Append(" AND 1=1");
- strSql.Append($" AND r1.F_UserId ='{userId}' ");
- foreach (var item in delegateList)
- {
- string processId = "'" + item.wfProcessId.Replace(",", "','") + "'";
- string userI2 = "'" + item.userId + "'";
-
-
- strSql.Append(" OR (r1.F_UserId =" + userI2 + " AND t1.F_ProcessId in (" + processId + ") AND t1.F_Type != 2 )");
- }
-
-
-
- //strSql.Append(" AND ( t.F_AuditorId = '1' OR ");
- //strSql.Append(" t.F_AuditorId = '" + userId + "' ");
- //if (!string.IsNullOrEmpty(loginUserInfo.postIds))
- //{
- // strSql.Append(" OR (t.F_AuditorId in (" + postIds + ") AND t.F_CompanyId = '1' AND t.F_DepartmentId = '1' ) ");
- // strSql.Append(" OR (t.F_AuditorId in (" + postIds + ") AND t.F_CompanyId = '" + companyId + "' ) ");
- // strSql.Append(" OR (t.F_AuditorId in (" + postIds + ") AND t.F_DepartmentId = '" + departmentId + "' ) ");
- //}
- //if (!string.IsNullOrEmpty(loginUserInfo.roleIds))
- //{
- // strSql.Append(" OR (t.F_AuditorId in (" + roleIds + ") AND t.F_CompanyId = '1' AND t.F_DepartmentId = '1' ) ");
- // strSql.Append(" OR (t.F_AuditorId in (" + roleIds + ") AND t.F_CompanyId = '" + companyId + "' ) ");
- // strSql.Append(" OR (t.F_AuditorId in (" + roleIds + ") AND t.F_DepartmentId = '" + departmentId + "') ");
- //}
- //strSql.Append(" ) order by t.F_CreateDate ");
-
- dtListEntity.F_Sql = dtListEntity.F_Sql.Replace("MMM", strSql.ToString());
- }
-
- if (!string.IsNullOrEmpty(dtListEntity.F_Sql) && dtListEntity.F_Sql.Contains("RUserId=@userId"))
- {
- dtListEntity.F_Sql = dtListEntity.F_Sql.Replace("RUserId=@userId", "RUserId='" + userId + "'");
- }
-
- if (!string.IsNullOrEmpty(dtListEntity.F_Sql))
- {
- var reqDataTable = databaseLinkIbll.FindTable(dtListEntity.F_DataSourceId.Trim(), dtListEntity.F_Sql);
- if (dtListEntity.F_Id == "88f94781-acb8-47ca-864b-f96e3d9b5587")
- {
- dtnew = reqDataTable.Clone();
- for (int i = 0; i < reqDataTable.Rows.Count; i++)
- {
- if (reqDataTable.Rows[i]["F_SendPostId"] != null && reqDataTable.Rows[i]["F_SendPostId"].ToString() != "")
- {
- if (!string.IsNullOrEmpty(loginUserInfo.postIds))
- {
- if (loginUserInfo.postIds.Contains(","))
- {
- foreach (var postid in loginUserInfo.postIds.Split(','))
- {
- if (reqDataTable.Rows[i]["F_SendPostId"].ToString().Contains(postid))
- {
- dtnew.Rows.Add(reqDataTable.Rows[i].ItemArray);
- break;
- }
- }
- }
- else
- {
- if (reqDataTable.Rows[i]["F_SendPostId"].ToString().Contains(loginUserInfo.postIds))
- {
- dtnew.Rows.Add(reqDataTable.Rows[i].ItemArray);
- }
- }
- }
- }
- else
- {
- if (reqDataTable.Rows[i]["F_SendDeptId"] != null && reqDataTable.Rows[i]["F_SendDeptId"].ToString() != "")
- {
- if (reqDataTable.Rows[i]["F_SendDeptId"].ToString().Contains(loginUserInfo.departmentId))
- {
- dtnew.Rows.Add(reqDataTable.Rows[i].ItemArray);
- }
- }
- else
- {
- dtnew.Rows.Add(reqDataTable.Rows[i].ItemArray);
- }
- }
-
- }
- jsonData = new
- {
- Id = param.id,
- value = dtnew
- };
- }
- else
- {
- jsonData = new
- {
- Id = param.id,
- value = reqDataTable
-
- };
- }
- }
- break;
- case "chart":
- var dtListEntity1 = dTChartIBLL.GetLR_DT_ChartEntity(param.id);
- if (!string.IsNullOrEmpty(dtListEntity1.F_Sql))
- {
- var reqDataTable1 = databaseLinkIbll.FindTable(dtListEntity1.F_DataSourceId.Trim(), dtListEntity1.F_Sql);
- jsonData = new
- {
- Id = param.id,
- value = reqDataTable1,
- };
- }
- break;
- }
- return Success(jsonData);
- }
-
- public Response GetImgIds(dynamic _)
- {
- //分布式部署
- if (string.IsNullOrEmpty(Request.Query["isDistributed"]))
- {
- var data = dTImgIBLL.GetList().Where(m => m.F_EnabledMark == 1).Select(m => m.F_Id);
- return Success(data);
- }
- else
- {
- var data = dTImgIBLL.GetList().Where(m => m.F_EnabledMark == 1);
- //分布式部署
- if (!string.IsNullOrEmpty(Request.Query["isDistributed"]))
- {
- //主站地址
- string webrootpath = Config.GetValue("webrootpath");
- string fileAppDTImg = Config.GetValue("fileAppDTImg");
- foreach (var imgitem in data)
- {
- if (fileAppDTImg.Contains("Resource"))
- {
- imgitem.DistributedUrl = string.Format("{0}/{1}/{2}{3}", webrootpath, fileAppDTImg.Substring(fileAppDTImg.LastIndexOf("Resource")), imgitem.F_Id, imgitem.F_FileName);
- }
- }
- }
- return Success(data.Select(m => m.DistributedUrl));
- }
- }
-
- public Response GetImg(dynamic _)
- {
- string param = this.GetReqData();
- dTImgIBLL.GetImg(param);
- return Success("");
- }
- }
-
- public class DesktopParam
- {
- public string type { get; set; }
- public string id { get; set; }
- public string userid { get; set; }
- }
- }
|