H3 BPM如何批量导入用户和组织?
来源:互联网 发布:mysql left join 编辑:程序博客网 时间:2024/05/29 09:32
问题:如何批量导入用户和组织?
解答:
进入后台管理,点开组织机构下面的同步设置。
如果没有现成的AD用户,就做个EXCEL表导入数据到数据库
Excel导入组织架构的模板和关键代码
前台代码:
<div>
<asp:FileUploadID="FileUpload7" runat="server" Width="200px"/><div>
组织信息导入
<asp:TextBoxrunat="server" ID="TextBox3" Width="100px"/>
<asp:ButtonID="Button7" runat="server" Text="导入"Width="100px" OnClick="Button7_Click" />
</div>
</div>
后台代码:
protectedvoid Button7_Click(object sender, EventArgs e)
{
IWorkbook workbook = null;
if (FileUpload7.HasFile)
{
string upfile =Server.MapPath("") + "/Temp/" +FileUpload7.PostedFile.FileName;
if(!Directory.Exists(Server.MapPath("") + "/Temp/"))
{
Directory.CreateDirectory(Server.MapPath("") +"/Temp/");
}
FileUpload7.PostedFile.SaveAs(upfile);
string newpath = upfile;
using (FileStream fs =File.OpenRead(newpath)) //打开myxls.xls文件
{
if(FileUpload7.PostedFile.FileName.IndexOf(".xlsx") > 0) // 2007版本
workbook = newXSSFWorkbook(fs);
else if(FileUpload7.PostedFile.FileName.IndexOf(".xls") > 0) // 2003版本
workbook = newHSSFWorkbook(fs);
#region 导入组织信息
ISheet sheet =workbook.GetSheetAt(0); //读取当前表数据
for (int j = 1; j <=sheet.LastRowNum; j++) //LastRowNum 是当前表的总行数
{
IRow row = sheet.GetRow(j);//读取当前行数据
if (row !=null&&row.Cells.Count>0)
{
#region 导入单位信息
var code =row.Cells[0].StringCellValue.Trim();
var parentid =OThinker.H3.WorkSheet.AppUtility.Engine.Organization.Company.CompanyID;
var name =row.Cells[2].StringCellValue.Trim();
var unit = newOThinker.Organization.OrganizationUnit()
{
ObjectID =Guid.NewGuid().ToString(),
Code = code,
CompanyID =OThinker.H3.WorkSheet.AppUtility.Engine.Organization.Company.CompanyID,
Name = name,
ParentID =parentid,
// Sort Key
SortKey = j,
// 类型
CategoryID = null
};
// 写入服务器
var result =OThinker.Organization.HandleResult.SUCCESS;
if (OThinker.H3.WorkSheet.AppUtility.Engine.Organization.GetUnitByCode(code)!= null)
{
result =OThinker.H3.WorkSheet.AppUtility.Engine.Organization.UpdateUnit(null, unit);
}
else
{
result =OThinker.H3.WorkSheet.AppUtility.Engine.Organization.AddUnit(null, unit);
}
if (result !=OThinker.Organization.HandleResult.SUCCESS)
{
OThinker.H3.WorkSheet.AppUtility.Engine.LogWriter.Write(name);
}
#endregion
}
}
#endregion
#region 导入用户信息
sheet = workbook.GetSheetAt(1);//读取当前表数据
for (int j = 1; j <=sheet.LastRowNum; j++) //LastRowNum 是当前表的总行数
{
IRow row = sheet.GetRow(j);//读取当前行数据
if (row != null &&row.Cells.Count > 0)
{
#region 导入单位信息
var oucode =row.Cells[0].StringCellValue.Trim();
var code =row.Cells[1].StringCellValue.Trim();
var parentou =OThinker.H3.WorkSheet.AppUtility.Engine.Organization.GetUnitByCode(oucode);
var name =row.Cells[2].StringCellValue.Trim();
var employeenumber =row.Cells[3].ToString().Trim().Replace(" ", "");
var birthday =row.Cells[4].DateCellValue;
var email =row.Cells[5].ToString().Trim();
var officemobile =row.Cells[6]==null?"": row.Cells[6].ToString().Trim();
var unit = newOThinker.Organization.User()
{
ObjectID =Guid.NewGuid().ToString(),
Code = code,
CompanyID =OThinker.H3.WorkSheet.AppUtility.Engine.Organization.Company.CompanyID,
Name = name,
ParentID = parentou== null ?
OThinker.H3.WorkSheet.AppUtility.Engine.Organization.Company.CompanyID:
parentou.ObjectID,
// Sort Key
SortKey = j,
// 类型
CategoryID = null,
EmployeeNumber =employeenumber,
OfficePhone =officemobile,
Email = email,
Birthday = birthday
};
// 写入服务器
OThinker.Organization.HandleResult result =OThinker.Organization.HandleResult.SUCCESS;
if(OThinker.H3.WorkSheet.AppUtility.Engine.Organization.GetUserByEmployeeNumber(code)!= null)
{
result =OThinker.H3.WorkSheet.AppUtility.Engine.Organization.UpdateUnit(null, unit);
}
else
{
result =OThinker.H3.WorkSheet.AppUtility.Engine.Organization.AddUnit(null, unit);
}
if (result !=OThinker.Organization.HandleResult.SUCCESS)
{
OThinker.H3.WorkSheet.AppUtility.Engine.LogWriter.Write(name);
}
#endregion
}
}
#endregion
File.Delete(upfile);
}
}
}
Excel整理模板
- H3 BPM如何批量导入用户和组织?
- 易用BPM时代,企业如何轻松驾驭H3?
- 如何解决“BPM导入组织架构出现问题导致系统无法登陆”
- H3 BPM引擎API接口
- 关于H3 BPM数据库如何实现排序取数据的问题
- [置顶]H3 BPM协同平台解决方案
- 打破陈规抓痛点,H3 BPM挑战不可能
- 马旭飞:共探H3 BPM社区发展战略
- H3 BPM Sheet表单 NTKO功能使用说明
- H3 BPM 跨平台表单发起详解
- H3 BPM MVC表单SheetAttachment控件使用
- H3 BPM 常用参与者函数手册
- 如何选择和应用BPM
- 如何组织导入本地模块 ?
- Oracle批量创建用户和导入导出的脚本
- Oracle批量创建用户和导入导出的脚本
- Oracle批量创建用户和导入导出的脚本
- Windows Server2003本地用户的批量导入和导出
- androidStudio gralde zip version 问题
- 手机IMEI串码获取
- (8). 使用JPA保存数据【从零开始学Spring Boot】
- 《javascript设计模式与开发实践》阅读笔记(11)—— 模板方法模式
- UE4-蓝图基础:节点介绍
- H3 BPM如何批量导入用户和组织?
- www读取本地图片做微缩图
- Android基础-day01(快速入门)
- CTK框架介绍
- jQuery五角星评分
- 默认选中TreeView某个节点的方法
- srs之与nginx-rtmp性能对比
- php函数
- JS数组方法汇总 array数组元素的添加和删除