OA集成备注
1、 查看轨迹方法
<script type="text/javascript">
function WinOpenIt(url) {
//alert(1);
var timeKey = Math.random();
alert(timeKey);
//alert(url);
var FK_Flow = '<%=FK_Flow %>';
alert(FK_Flow);
var WorkID = <%=WorkID %>;
alert(WorkID);
var FK_Node = <%=FK_Node %>;
alert(FK_Node);
//var FK_Node=1801;
var FID = 0;
var url2 = "../../WF/WFRpt.htm?FK_Flow=" + FK_Flow + '&WorkID=' + WorkID + "&FK_Node=" + FK_Node + "&FID=" + FID + "&IsRead=0&T=" + timeKey;
alert(url);
alert(url2);
//var timeKey = Math.random();
//javascript: WinOpenIt('WFRpt.htm?FK_Flow=018&WorkID=100&FK_Node=1899&FID=0&IsRead=0&T=0.0778784383734803');
layer.open({
skin: 'layer-class',
type: 2,
title: '已完成',
area: ['96%', '90%'],
content: url2
});
}
</script>
../../WF/WFRpt.htm?FK_Flow=018&WorkID=101&FK_Node=1899&FID=0&IsRead=0&T=0.0778784383734803
../../WF/WFRpt.htm?FK_Flow=18&WorkID=101&FK_Node=1802&FID=0&IsRead=0&T=0.35254996001161776
var url = "./WorkOpt/OneWork/OneWork.htm?FK_Flow=" + GetQueryString("FK_Flow");
WF_WorkOpt_OneWork
OneWork_GetTabs
2、退回
string msg = BP.WF.Dev2Interface.Node_ReturnWork(this.FK_Flow, this.WorkID, 0, 1899, 1802, "您的申请信息不完整,请修改后重新发送。", false);
3、撤销
问题1 没有填写为什么要撤回,撤回的愿意
(1) 前端方法
http://localhost:2207/WF/Runing.htm
<a href="javascript:UnSend('018','102','0','1801')">撤销</a>
function UnSend(fk_flow, workid, fid, unSendToNode) {
if (window.confirm('您确定要撤销本次发送吗?') == false)
return;
var handler = new HttpHandler("BP.WF.HttpHandler.WF");
handler.AddPara("FK_Flow", fk_flow);
handler.AddPara("WorkID", workid);
handler.AddPara("FID", fid);
handler.AddPara("UnSendToNode", unSendToNode);
var data = handler.DoMethodReturnString("Runing_UnSend");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
$("#Msg").html(data + " <br> @点击这里<a href='javascript:window.location.href = window.location.href;' >刷新</a>");
alert(data);
var url = 'MyFlow.htm?FK_Flow=' + fk_flow + '&WorkID=' + workid+'&FID='+fid;
window.open(url);
window.location.href = window.location.href;
return;
}
(2) 后端方法
string msg = BP.WF.Dev2Interface.Flow_DoUnSend(this.FK_Flow, this.WorkID);
4、移交
写到人力资源经理这儿移交了,明天继续
BP.WF.Dev2Interface.Node_Shift("001", 103, workid, 0, "zhangsan", "因我需要出差,所以特把工作移交给您。");
5、回滚
string msg= BP.WF.Dev2Interface.Flow_DoRebackWorkFlow("001", workID, 103, "因为审批错误,需要回滚,从节点103重新开始审批。");
6、代码集成备注
人员表要做双主键
MySql.Data.dll Newtonsoft.Json.dll要替换掉
1、如果Port_Emp数据比较大,会导致系统执行变慢,
请按照No列创建索引,其他的部门人员表也是如此.
2、在Port_Emp里面必须有一个admin帐号,
如果ccbpm允许外部用户登录必须有一个guest帐号,
注意都是小写,不然系统无法登录.
3、部门根目录的ParentNo 必须是 0 ,作为根目录.
4、admin帐号的FK_Dept 字段必须是部门根目录编号.
5、所有的编号列必须是varchar类型,长度不变化,
非varchar类型字段会导致发起待办错误.
6、在集成Port_Emp表的时候会出现一些字段缺失,
如果没有的就按照空处理比如 SELECT '' AS Tel,
'' as Email FROM MyTable .
7、ccflow密码验证修改
\BP.En30\Port\Emp.cs
148行
/*使用数据库校验.*/
string DecrypPass = new EncryptString().Encrypto(pass);//调用平台的解密方法
if (this.Pass == DecrypPass)
FK_Flow=018
http://localhost:2207/WF/AppClassic/Home.htm?
FK_Flow=018
&DoType=HttpHandler
&DoMethod=Port_Init
&HttpHandlerName=BP.WF.HttpHandler.WF
&t=0.6641005384168708
&FK_Node=1801
workid=100
018
填写请假申请单
1801
/SDKFlowDemo/QingJia/S1_TianxieShenqingDan.aspx?t=0.8818284273518255&WorkID=100&NodeID=1801&FK_Node=1801&FID=0&UserNo=zhangyifan&SID=4dm34gfi0u5ps4h2jeawrch5&FK_Flow=018
部门经理审批
1802
/SDKFlowDemo/QingJia/S2_BumenJingliShenpi.aspx?t=0.14953282791908373&WorkID=100&NodeID=1802&FK_Node=1802&FID=0&UserNo=zhanghaicheng&SID=zyu5matk3bortrntglmvlx0x&FK_Flow=018&PWorkID=0&IsRead=0&T=0.14953282791908373&Paras=1&LastTruckID=1250125726
人力资源备案 小于的条件
1899
/SDKFlowDemo/QingJia/S4_RenShi.aspx?t=0.5650955130263293&WorkID=100&NodeID=1899&FK_Node=1899&FID=0&UserNo=liping&SID=zyu5matk3bortrntglmvlx0x&FK_Flow=018&PWorkID=0&IsRead=0&T=0.5650955130263293&Paras=1&LastTruckID=1226975624
大于的条件
总经理审批
1803
人力资源
1804
============================================================
SQL Server 调用C#编写的dll文件
http://www.cnblogs.com/tylerdonet/archive/2011/05/26/2058980.html
https://blog.csdn.net/niunan/article/details/79048590
http://www.cnblogs.com/tylerdonet/archive/2011/05/26/2058980.html
https://www.cnblogs.com/xiaozhi1236/p/5730468.html
=======================================================
<script type="text/javascript" src="../../WF/Scripts/config.js"></script>
<script type="text/javascript" src="../../WF/Comm/Gener.js"></script>
dynamicHandler = "/WF/Comm/Handler.ashx";
tablix
表格
table
BP.Port.Station 岗位 Port_Station
BP.Port.Dept 部门 Port_Dept
BP.WF.Port.Emp 用户 Port_Emp
BP.WF.Port.StationType 岗位类型 Port_StationType
1、登录
BP.WF.HttpHandler.WF_Admin_CCBPMDesigner
\Components\BP.En30\Port\Emp.cs
Login_InitInfo
Login_Init
Login_Submit
url@Default.htm?SID=5ae43a4c-b49b-49fa-b2c2-85825c5eee61&UserNo=admin
2、首页面
BP.WF.HttpHandler.WF_Admin_CCBPMDesigner
Default_Init
3、组织机构
BP.GPM.Depts
BP.GPM.Emps
BP.GPM.DeptEmps
/GPM/Organization.htm
/WF/Comm/Handler.ashx?DoType=Entity_Init&EnName=BP.GPM.Dept&PKVal=1001&t=1552443473568
/WF/Comm/Handler.ashx?DoType=Entities_Init&EnsName=BP.GPM.Emps&Paras=@FK_Dept=1001@OrderBy=Idx&t=1552443473578
/WF/Comm/Handler.ashx?DoType=Entities_Init&EnsName=BP.GPM.DeptEmps&Paras=@FK_Dept=1001&t=1552443473599
编辑部门
EditDept dept.No
../WF/Comm/En.htm?EnName=BP.GPM.Dept&No=' + no
EditDept 新建人员
RefEmps 关联兼职
EditEmp emp.No 编辑人员
'../WF/Comm/En.htm?EnName=BP.GPM.Emp&FK_Dept=' + deptNo
../WF/Comm/En.htm?EnName=BP.GPM.Emp&No=' + no
删除 emp.No 删除人员
4、独立组织
/WF/Comm/Search.htm?EnsName=BP.WF.Port.Incs
5、岗位类型
/WF/Comm/Search.htm?EnsName=BP.GPM.StationTypes
6、岗位维护
/WF/Comm/Search.htm?EnsName=BP.GPM.Stations
7、部门台账
/WF/Comm/Search.htm?EnsName=BP.GPM.Depts
8、人员台账
/WF/Comm/Search.htm?EnsName=BP.GPM.Emps
D9840773233FA6B19FDE8CAF765402F5
C:\Program Files (x86)\Zhuozhengsoft\PageOffice\PageOffice.dll
ModifyPwd.asp
首页登录使用的是260、176行的登录逻辑
点击行政办公系统登录 105行
HttpContext current = HttpContext.Current;
没有从 DbType 28 到已知 SqlDbType 的映射。
SYS_USER_ONLINE_PROC
using System.Web.SessionState;
using Huajun.HNAIMP.Web.Common;
DBPageBase, IRequiresSessionState
target = SysLocation.行政办公系统;
Request["Location"] "offical" string
target = SysLocation.系统管理;
sys
Locationsys
cff3hUx4/H+T4vR1Sgiayg==
De4SdrtQWM6R4dh8GvO0mw==
hj1777
USE [YLSmartSupervise]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[SYS_USER_LOGIN_PROC]
@v_userName = N'cff3hUx4/H+T4vR1Sgiayg==',
@v_password = N'De4SdrtQWM6R4dh8GvO0mw=='
SELECT 'Return Value' = @return_value
GO
using System.Web.SessionState;
using Huajun.HNAIMP.Web.Common;
DBPageBase, IRequiresSessionState //System.Web.UI.Page
OrganSTATION
base.GetParaValue("OID")
base.GetParaValue("ORGNAME")
base.SetViewState("OID", base.GetParaValue("OID"));
base.GetViewState("OID");
<%=base.GetParaValue("ItemCode") %>
+ $("#hdArg").val()
var categoryOid = '<%=base.GetParaValue("OID") %>';
var url = "../Console/BaseInfoManagement/ModifyOrder/MainOrder.aspx?TableName=" + $("#hdArg").val() + '&OID=' + categoryOid;
top.openDialog(url, '【<%=base.GetParaValue("Name") %>】司机排序', ' 【<%=base.GetParaValue("Name") %>】司机排序', 700, 550, 50, 50);
F:\CCFlow\ccflow\Components\BP.WF\WF\WorkNode.cs
5744
105
地址在郑州市东风路8号5号楼4层
Jeely 9:07:45
收件人我写您把
蒋燕亭 9:07:47
(铝镁设计院楼上 )
1、主页
Home.htm
2、发起列表 产生workID的代码
Start.htm
javascript:WinOpenStartFlow('018','请假流程Demo - 请假流程(SDK模式)');
var url = "MyFlow.htm?FK_Flow=" + flowNo;
创建workid
F:\CCFlow\ccflow\Components\BP.WF\HttpHandler\WF_MyFlow.cs
F:\CCFlow\ccflow\Components\BP.WF\Dev2Interface.cs
Node_CreateBlankWork
F:\CCFlow\ccflow\Components\BP.WF\WF\Flow.cs
wk.OID = DBAccess.GenerOID("WorkID"); /*这里产生WorkID ,这是唯一产生WorkID的地方.*/
18003830873
流程设计器
http://localhost:16059/WF/AppClassic/Login.htm
http://localhost:16059/WF/Admin/CCBPMDesigner/Login.htm
using AnyOfficeV1.SmsHelper;
https://www.baidu.com/
7、session过期是因为没有配置表单
http://localhost:16059?IsReadonly=1&WorkID=103&FK_Node=101&FK_Flow=001&FID=0&FromWorkOpt=1
/AffairPerform/Introduce.htm
/AffairPerform/FlowDEMO/QingJiaSdkFrom.aspx
8、待办
Todolist.htm
9、在途
/WF/Runing.htm
10、已完成
/WF/Complete.htm
11、会签
/WF/HuiQianList.htm
12、我发起的
/WF/Comm/SearchBS.htm?EnsName=BP.WF.Data.MyStartFlows
13、我审批的
/WF/Comm/SearchBS.htm?EnsName=BP.WF.Data.MyJoinFlows
14、我的流程分布
../RptSearch/DistributedOfMy.htm
15、我的流程
/WF/Search.htm
16、单流程查询
../RptDfine/Flowlist.htm
17、综合查询
/WF/RptSearch/Default.htm
18、逾期流程 ,出错
/WF/Comm/SearchBS.htm?EnsName=BP.WF.Data.Delays
出错的地方
F:\榆林智慧畜牧\YLSmartSupervise\test\CCFlow\BP.WF\HttpHandler\WF_Comm.cs
1177行 1459行
Search_Search()方法
F:\榆林智慧畜牧\YLSmartSupervise\test\CCFlow\BP.WF\Data\Delay.cs
map.AddTBInt(DelayAttr.FK_Dept, 0, "隶属部门", false, true);
19、首页登录增加登录ccflow代码
#region 登录CCflow工作流系统
BP.WF.Dev2Interface.Port_Login(userName.Trim());
#endregion
http://localhost:2207/SDKFlowDemo/SDK/F137/QingJia.aspx?1=2&WorkID=124&FK_Flow=208&FK_Node=20801
华为云
114.115.247.245
administrator
abcd@1234
<add key="SqlServer_BreedEnterpriseMS_DB" value="Server=192.168.0.17;Database=BreedEnterpriseMS;Uid=sa;Pwd=hj.63691777" />
一、嵌入式表单流程分支
请假流程(SDK嵌入式条件模式) QingJiaTianShu
流程编号209
1、填写请假申请单 2901
/SDKFlowDemo/SDK/QingJiaCondition/S1_TianxieShenqingDan.aspx
2、部门经理审批 2902
/SDKFlowDemo/SDK/QingJiaCondition/S1_TianxieShenqingDan.aspx
3、人力资源备案 2903
/SDKFlowDemo/SDK/QingJiaCondition/S4_RenShi.aspx
4、总经理审批 2904
/SDKFlowDemo/SDK/QingJiaCondition/S3_ZongJingLiShenpi.aspx
5、人力资源备案 2905
/SDKFlowDemo/SDK/QingJiaCondition/S4_RenShi.aspx
二、sdk表单条件分支
请假流程(SDK嵌入式条件模式) QingJiaTianShu
流程编号210
1、填写请假申请单 21001
/SDKFlowDemo/SDK/QingJiaConditionSDK/S1_TianxieShenqingDan.aspx
2、部门经理审批 21002
/SDKFlowDemo/SDK/QingJiaConditionSDK/S2_BumenJingliShenpi
3、人力资源备案 21003
/SDKFlowDemo/SDK/QingJiaConditionSDK/S4_RenShi.aspx
4、总经理审批 21004
/SDKFlowDemo/SDK/QingJiaConditionSDK/S3_ZongJingLiShenpi.aspx
5、人力资源备案 21005
/SDKFlowDemo/SDK/QingJiaConditionSDK/S4_RenShi.aspx
3、RTX集成
焦点字段有问题
@QingJiaYuanYin@
请输入请假原因...
审核意见:@ZJL_Note
审核意见:@BM_Note
人力资源同意
@NoteZJL@
会签组长模式是在待办里,和文档有出入
催办和督办还没有,正在开发
逾期还有问题
抄送手工抄送有问题
自动抄送选择人员没有问题
抄送信息进入待办列表一直存在
同表单分合流
分合流程来说,一般的模式就是分流–子线程–合流
分流点
子线程点
合流点
异表单分合流
父子流程