You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

270 lines
9.0 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using System.Web;
using BP.DA;
using BP.Sys;
using BP.Web;
using BP.Port;
using BP.En;
using BP.WF;
using BP.WF.Template;
using BP.WF.XML;
using BP.Difference;
using System.Collections;
namespace BP.Cloud.HttpHandler
{
/// <summary>
/// 页面功能实体
/// </summary>
public class Admin : BP.WF.HttpHandler.DirectoryPageBase
{
/// <summary>
/// 构造函数
/// </summary>
public Admin()
{
}
#region 执行父类的重写方法.
#endregion 执行父类的重写方法.
#region 界面 .
public string Register_Init()
{
return "注册页面";
}
#endregion xxx 界面方法.
public string Organization_CreateOrg()
{
string orgNo = this.GetRequestVal("OrgNo");
string orgName = this.GetRequestVal("OrgName");
return Dev2Interface.Port_CreateOrg(orgNo, orgName);
}
/// <summary>
/// 登录
/// </summary>
/// <returns></returns>
public string Login_AdminOnlySaas()
{
if (SystemConfig.CCBPMRunModel != CCBPMRunModel.SAAS)
return "err@必须是saas模式才能使用此接口登陆.";
try
{
string userNo = this.GetRequestVal("TB_No");
if (userNo == null)
userNo = this.GetRequestVal("TB_UserNo");
string pass = this.GetRequestVal("TB_PW");
if (pass == null)
pass = this.GetRequestVal("TB_Pass");
//从数据库里查询.
BP.Port.Emp emp = new BP.Port.Emp();
emp.No = "admin";
if (emp.RetrieveFromDBSources() == 0)
return "err@丢失了admin用户.";
if (emp.CheckPass(pass) == false)
return "err@用户名密码错误.";
BP.WF.Dev2Interface.Port_Login("admin", "100");
string token = BP.WF.Dev2Interface.Port_GenerToken();
WebUser.Token = token;
Hashtable ht = new Hashtable();
ht.Add("Token", token);
return BP.Tools.Json.ToJson(ht);
}
catch (Exception ex)
{
return "err@" + ex.Message;
}
}
/// <summary>
/// 登录的时候判断.
/// </summary>
/// <returns></returns>
public string Login_Submit()
{
Emp emp = new Emp();
emp.No = this.GetRequestVal("TB_Adminer").Trim();
if (emp.RetrieveFromDBSources() == 0)
return "err@用户名或密码错误.";
string pass = this.GetRequestVal("TB_PassWord2").Trim();
if (emp.CheckPass(pass) == false)
return "err@用户名或密码错误.";
//让其登录.
BP.Web.GuestUser.Exit();
BP.WF.Dev2Interface.Port_Login(emp.No);
string token = BP.WF.Dev2Interface.Port_GenerToken("PC");
//判断当前管理员有多少个企业.
Depts depts = new Depts();
depts.Retrieve(DeptAttr.Adminer, emp.No);
//如果部门为0就让其注册.
if (depts.Count == 0)
return "url@/RegisterOrg.html";
//如果只有一个部门.
if (depts.Count == 1)
{
var dept = depts[0] as Dept;
emp.FK_Dept = dept.No;
emp.Update();
return "url@/Admin/Portal/Default.htm?Token=" + token + "&UserNo=" + emp.No;
}
//转入到选择一个企业的页面.
return "url@/Admin/Portal/SelectOneInc.htm?Token=" + token + "&UserNo=" + emp.No;
}
/// <summary>
/// 查询可以登录的企业.
/// </summary>
/// <returns></returns>
public string SelectOneInc_Init()
{
Depts depts = new Depts();
depts.Retrieve(DeptAttr.Adminer, WebUser.No);
return depts.ToJson();
}
public string SelectOneInc_SelectIt()
{
string no = this.GetRequestVal("No");
Emp emp = new Emp(WebUser.No);
emp.FK_Dept = no;
emp.Update();
return "url@Admin/Portal/Default.htm?Token=" + BP.Web.WebUser.Token + "&UserNo=" + emp.No;
}
/// <summary>
/// 要返回的数据.
/// </summary>
/// <returns></returns>
public string Default_Init()
{
return "";
}
/// <summary>
/// 流程树
/// </summary>
/// <returns></returns>
public string Default_FlowsTree()
{
//组织数据源.
string sql = "SELECT * FROM (SELECT 'F'+No as NO,'F'+ParentNo PARENTNO, NAME, IDX, 1 ISPARENT,'FLOWTYPE' TTYPE, -1 DTYPE FROM WF_FlowSort WHERE OrgNo='" + WebUser.FK_Dept +
"' union SELECT NO, 'F'+FK_FlowSort as PARENTNO,(NO + '.' + NAME) as NAME,IDX,0 ISPARENT,'FLOW' TTYPE, 0 as DTYPE FROM WF_Flow) A ORDER BY DTYPE, IDX ";
DataTable dt = DBAccess.RunSQLReturnTable(sql);
//判断是否为空如果为空则创建一个流程根结点added by liuxc,2016-01-24
if (dt.Rows.Count == 0)
{
FlowSort fs = new FlowSort();
fs.No = "99";
fs.ParentNo = "0";
fs.Name = "流程树";
fs.Insert();
dt.Rows.Add("F99", "F0", "流程树", 0, 1, "FLOWTYPE", -1);
}
else
{
DataRow[] drs = dt.Select("NAME='流程树'");
if (drs.Length > 0 && !Equals(drs[0]["PARENTNO"], "F0"))
drs[0]["PARENTNO"] = "F0";
}
String str = BP.Tools.Json.ToJson(dt);
return str;
}
/// <summary>
/// 查询表单树
/// </summary>
/// <returns></returns>
public string Default_FrmTree()
{
//组织数据源.
string sqls = "";
/* sqls = "SELECT No,ParentNo,Name, Idx FROM Sys_FormTree WHERE OrgNo=" + WebUser.FK_Dept + " ORDER BY Idx ASC ";
sqls += "SELECT No, FK_FormTree as ParentNo,Name,Idx,0 IsParent FROM Sys_MapData ";*/
sqls = "SELECT No,ParentNo,Name, Idx, 1 IsParent, 'FORMTYPE' TType FROM Sys_FormTree WHERE OrgNo='" + WebUser.FK_Dept + "' ORDER BY Idx ASC ; ";
sqls += "SELECT No, FK_FormTree as ParentNo,Name,Idx,0 IsParent, 'FORM' TType FROM Sys_MapData WHERE AppType=0 AND FK_FormTree IN (SELECT No FROM Sys_FormTree WHERE OrgNo='" + WebUser.FK_Dept + "') ORDER BY Idx ASC";
DataSet ds = DBAccess.RunSQLReturnDataSet(sqls);
DataTable dtSort = ds.Tables[0]; //类别表.
DataTable dtForm = ds.Tables[1].Clone(); //表单表,这个是最终返回的数据.
//增加顶级目录.
DataRow[] rowsOfSort = dtSort.Select("ParentNo='0'");
DataRow drFormRoot = dtForm.NewRow();
drFormRoot[0] = rowsOfSort[0]["No"];
drFormRoot[1] = "0";
drFormRoot[2] = rowsOfSort[0]["Name"];
drFormRoot[3] = rowsOfSort[0]["Idx"];
drFormRoot[4] = rowsOfSort[0]["IsParent"];
drFormRoot[5] = rowsOfSort[0]["TType"];
dtForm.Rows.Add(drFormRoot); //增加顶级类别..
//把类别数据组装到form数据里.
foreach (DataRow dr in dtSort.Rows)
{
DataRow drForm = dtForm.NewRow();
drForm[0] = dr["No"];
drForm[1] = dr["ParentNo"];
drForm[2] = dr["Name"];
drForm[3] = dr["Idx"];
drForm[4] = dr["IsParent"];
drForm[5] = dr["TType"];
dtForm.Rows.Add(drForm); //类别.
}
foreach (DataRow row in ds.Tables[1].Rows)
{
dtForm.Rows.Add(row.ItemArray);
}
String str = BP.Tools.Json.ToJson(dtForm);
return str;
}
/// <summary>
/// 获取设计器 - 系统维护菜单数据
/// 系统维护管理员菜单 需要翻译
/// </summary>
/// <returns></returns>
public string Default_AdminMenu()
{
//查询全部.
AdminMenus groups = new AdminMenus();
groups.RetrieveAll();
return BP.Tools.Json.ToJson(groups.ToDataTable());
}
#region 执行父类的重写方法.
/// <summary>
/// 默认执行的方法
/// </summary>
/// <returns></returns>
protected override string DoDefaultMethod()
{
return "err@没有判断的标记:" + this.DoType;
}
#endregion 执行父类的重写方法.
}
}