Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.
目录
概述
ccflow 代码
需求:
设计思路
EmpAttr,public class Emps extends EntitiesNoName
实现思路分析
1.XZCJ
package bp.app.handler.Entity;
import bp.en.EntityMyPK;
import bp.en.Map;
import bp.en.UAC;
public class XZCJ extends EntityMyPK {
/**
UI界面上的访问控制
*/
@Override
public UAC getHisUAC() {
UAC uac = new UAC();
//对所有人开放权限
uac.OpenAll();
return uac;
}
/**
* 获取案件编号
* @return
*/
public final String getAJBH()
{
return this.GetValStringByKey(XZCJAttr.AJBH);
}
/**
* 设置案件编号
* @param value
*/
public final void setAJBH(String value)
{
SetValByKey(XZCJAttr.AJBH, value);
}
/**
* 获取案件状态
* @return
*/
public final String getState()
{
return this.GetValStringByKey(XZCJAttr.State);
}
/**
* 设置案件状态
* @param value
*/
public final void setState(String value)
{
SetValByKey(XZCJAttr.State, value);
}
/**
* 获取案件标题
* @return
*/
public final String getTitle()
{
return this.GetValStringByKey(XZCJAttr.Title);
}
/**
* 设置案件标题
* @param value
*/
public final void setTitle(String value)
{
SetValByKey(XZCJAttr.Title, value);
}
/**
* 获取请求人
* @return
*/
public final String getQQR()
{
return this.GetValStringByKey(XZCJAttr.QQR);
}
/**
* 设置请求人
* @param value
*/
public final void setQQR(String value)
{
SetValByKey(XZCJAttr.QQR, value);
}
/**
* 获取请求日期
* @return
*/
public final String getQQRQ()
{
return this.GetValStringByKey(XZCJAttr.QQRQ);
}
/**
* 设置请求日期
* @param value
*/
public final void setQQRQ(String value)
{
SetValByKey(XZCJAttr.QQRQ, value);
}
/**
* 获取被请求人
* @return
*/
public final String getBQQR()
{
return this.GetValStringByKey(XZCJAttr.BQQR);
}
/**
* 设置被请求人
* @param value
*/
public final void setBQQR(String value)
{
SetValByKey(XZCJAttr.BQQR, value);
}
/**
* 获取专利号
* @return
*/
public final String getZLH()
{
return this.GetValStringByKey(XZCJAttr.ZLH);
}
/**
* 设置专利号
* @param value
*/
public final void setZLH(String value)
{
SetValByKey(XZCJAttr.ZLH, value);
}
/**
* 获取专利名称
* @return
*/
public final String getZLMC()
{
return this.GetValStringByKey(XZCJAttr.ZLMC);
}
/**
* 设置专利名称
* @param value
*/
public final void setZLMC(String value)
{
SetValByKey(XZCJAttr.ZLMC, value);
}
/**
* 获取专利权人
* @return
*/
public final String getZLQR()
{
return this.GetValStringByKey(XZCJAttr.ZLQR);
}
/**
* 设置专利权人
* @param value
*/
public final void setZLQR(String value)
{
SetValByKey(XZCJAttr.ZLQR, value);
}
/**
* 获取专利申请日期
* @return
*/
public final String getZLSQRQ()
{
return this.GetValStringByKey(XZCJAttr.ZLSQRQ);
}
/**
* 设置专利申请日期
* @param value
*/
public final void setZLSQRQ(String value)
{
SetValByKey(XZCJAttr.ZLSQRQ, value);
}
/**
* 获取授权公告日
* @return
*/
public final String getSQGGR()
{
return this.GetValStringByKey(XZCJAttr.SQGGR);
}
/**
* 设置授权公告日
* @param value
*/
public final void setSQGGR(String value)
{
SetValByKey(XZCJAttr.SQGGR, value);
}
/**
* 获取公告号
* @return
*/
public final String getSQGGH()
{
return this.GetValStringByKey(XZCJAttr.SQGGH);
}
/**
* 设置公告号
* @param value
*/
public final void setSQGGH(String value)
{
SetValByKey(XZCJAttr.SQGGH, value);
}
/**
* 获取证书号
* @return
*/
public final String getZSH()
{
return this.GetValStringByKey(XZCJAttr.ZSH);
}
/**
* 设置证书号
* @param value
*/
public final void setZSH(String value)
{
SetValByKey(XZCJAttr.ZSH, value);
}
/**
* 立案时间
* @return
*/
public final String getLASJ()
{
return this.GetValStringByKey(XZCJAttr.LASJ);
}
/**
* 设置立案时间
* @param value
*/
public final void setLASJ(String value)
{
SetValByKey(XZCJAttr.LASJ, value);
}
public XZCJ(){}
/**
* 查询对象
* @param AJBH
* @throws Exception
*/
public XZCJ(String AJBH) throws Exception{
if (AJBH == null || AJBH.length() == 0)
{
throw new RuntimeException("@要查询的案件编号为空。");
}
this.setAJBH(AJBH);
this.Retrieve();
}
/**
* 重写map
* @return
*/
@Override
public bp.en.Map getEnMap() {
if (this.get_enMap() != null)
{
return this.get_enMap();
}
Map map = new Map("App_XZCJ", "行政裁决案件列表");
map.AddTBStringPK("MyPK", null, "主键MyPK", false, true, 1, 150, 10);
map.AddTBString(XZCJAttr.AJBH, null, "案件编号", true, true, 0, 100, 200);
map.AddDDLSysEnum(XZCJAttr.State,0,"案件状态",true,true,XZCJAttr.State,"@0=未立案@1=已立案@2=不予立案@3=调查取证@4=待开庭@5=已结案@6=已公示@7=监督中");
map.AddTBString(XZCJAttr.Title, null, "案件标题", true, true, 0, 500, 200);
map.AddTBString(XZCJAttr.QQR, null, "请求人", true, true, 0, 100, 200);
map.AddTBString(XZCJAttr.QQRQ, null, "请求日期", true, true, 0, 100, 200);
map.AddTBString(XZCJAttr.BQQR, null, "被请求人", true, true, 0, 100, 200);
map.AddTBString(XZCJAttr.ZLH, null, "专利号", true, true, 0, 100, 200);
map.AddTBString(XZCJAttr.ZLMC, null, "专利名称", true, true, 0, 200, 200);
map.AddTBString(XZCJAttr.ZLQR, null, "专利权人", true, true, 0, 100, 200);
map.AddTBString(XZCJAttr.ZLSQRQ, null, "专利申请日期", true, true, 0, 100, 200);
map.AddTBString(XZCJAttr.SQGGR, null, "授权公告日", true, true, 0, 100, 200);
map.AddTBString(XZCJAttr.SQGGH, null, "授权公告号", true, true, 0, 100, 200);
map.AddTBString(XZCJAttr.ZSH, null, "证书号", true, true, 0, 100, 200);
map.AddTBString(XZCJAttr.LASJ, null, "立案时间", true, false, 0, 100, 200);
this.set_enMap(map);
return this.get_enMap();
}
}
2.XZCJAttr
package bp.app.handler.Entity;
public class XZCJAttr {
/**
* 案件编号
*/
public static final String AJBH="AJBH";
/**
* 案件状态
*/
public static final String State="State";
/**
* 案件标题
*/
public static final String Title="Title";
/**
* 请求人
*/
public static final String QQR="QQR";
/**
* 请求日期
*/
public static final String QQRQ="QQRQ";
/**
* 被请求人
*/
public static final String BQQR="BQQR";
/**
* 专利号
*/
public static final String ZLH="ZLH";
/**
* 专利名称
*/
public static final String ZLMC="ZLMC";
/**
* 专利权人
*/
public static final String ZLQR="ZLQR";
/**
* 专利申请日期
*/
public static final String ZLSQRQ="ZLSQRQ";
/**
* 授权公告日
*/
public static final String SQGGR="SQGGR";
/**
* 授权公告号
*/
public static final String SQGGH="SQGGH";
/**
* 证书号
*/
public static final String ZSH="ZSH";
/**
* 立案时间
*/
public static final String LASJ="LASJ";
}
3.XZCJs
package bp.app.handler.Entity;
import bp.en.EntitiesMyPK;
import bp.en.Entity;
import java.util.ArrayList;
public class XZCJs extends EntitiesMyPK {
public XZCJs() {
}
@Override
public Entity getGetNewEntity() {
return new XZCJ();
}
/**
* 获取对象
* @return
*/
public final java.util.List<XZCJ> ToJavaList() {
return (java.util.List<XZCJ>)(Object)this;
}
/**
转化成list
@return List
*/
public final ArrayList<XZCJ> Tolist() {
ArrayList<XZCJ> list = new ArrayList<XZCJ>();
for (int i = 0; i < this.size(); i++)
{
list.add((XZCJ)this.get(i));
}
return list;
}
}
4.AppEvent
package bp.app.handler.event;
import bp.app.handler.Entity.Emp;
import bp.app.handler.Entity.EmpAttr;
import bp.app.handler.Entity.XZCJ;
import bp.app.handler.Entity.XZCJAttr;
import bp.da.DataType;
import bp.da.LogType;
import bp.sys.EventListFlow;
import bp.sys.EventListNode;
import bp.sys.GEEntity;
import bp.wf.GenerWorkFlow;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
public class AppEvent extends bp.sys.base.EventBase{
public AppEvent() throws Exception{
this.setTitle("行政裁决系统通用事件");
}
@Override
public void Do() {
switch(this.getEventSource())
{
case EventListNode.SendSuccess://发送成功后
DoEventBase();
break;
case EventListNode.UndoneAfter://撤销发送之后
break;
case EventListNode.SendWhen://发送前
break;
case EventListNode.ReturnAfter://退回后
break;
case EventListFlow.FlowOverAfter://流程结束后
DoEventBase();
break;
}
}
/**
* 暂定为通用发送后处理事件
*/
public void DoEventBase(){
try{
GenerWorkFlow gwf=new GenerWorkFlow(this.getWorkID());
switch (gwf.getFK_Node()){
case 103://审查通过
AgreeOrDisagreeToCase("Init",gwf);
break;
case 105: //同意立案
AgreeOrDisagreeToCase("Agree",gwf);
break;
case 104://不同意立案
AgreeOrDisagreeToCase("Disagree",gwf);
break;
case 108://立案流程结束,进入调查取证阶段
AgreeOrDisagreeToCase("",gwf);
break;
case 205://设置待审理
AgreeOrDisagreeToCase("PendingTrial",gwf);
break;
}
}
catch (Exception ex){
//记录错误日志
bp.da.Log.DefaultLogWriteLine(LogType.Info, "执行DoEventBase失败:" + ex.getMessage());
}
}
/**
* 同意or不同意立案
* @param gwf
* @throws Exception
*/
public void AgreeOrDisagreeToCase(String AgreeOrDisagree,GenerWorkFlow gwf) throws Exception{
//获取立案申请表中的数据
GEEntity geEntity=new GEEntity("Frm_LASQ");
geEntity.setOID(gwf.getWorkID());
geEntity.Retrieve();
CaseEvent(AgreeOrDisagree,geEntity,gwf);
}
/**
* 立案相关操作
* @param AgreeOrDisagree
* @param geEntity
* @param gwf
* @throws Exception
*/
public void CaseEvent(String AgreeOrDisagree,
GEEntity geEntity,
GenerWorkFlow gwf) throws Exception{
Boolean isUpdate=false;
XZCJ xzcj=new XZCJ();
//强制更新缓存
xzcj.CheckPhysicsTable();
if(!xzcj.IsExit(XZCJAttr.AJBH,gwf.getBillNo())){
isUpdate=true;
}
//案件编号
xzcj.setAJBH(gwf.getBillNo());
//案件标题
xzcj.setTitle(gwf.getTitle());
//请求人
xzcj.setQQR(geEntity.GetValStringByKey("XM"));
//被请求人
xzcj.setBQQR(geEntity.GetValStringByKey("BQQRXM"));
//请求日期
xzcj.setQQRQ(gwf.getRDT());
//专利号
xzcj.setZLH(geEntity.GetValStringByKey("ZLH"));
//专利名称
xzcj.setZLMC(geEntity.GetValStringByKey("ZLMC"));
//专利权人
xzcj.setZLQR(geEntity.GetValStringByKey("ZLQR"));
//专利申请日期
xzcj.setZLSQRQ(geEntity.GetValStringByKey("ZLSQRQ"));
//授权公告日
xzcj.setSQGGR(geEntity.GetValStringByKey("SQGGR"));
//授权公告号
xzcj.setSQGGH(geEntity.GetValStringByKey("SQGGH"));
//证书号
xzcj.setZSH(geEntity.GetValStringByKey("ZSH"));
//审查通过
if(AgreeOrDisagree.equals("Init")){
//案件状态
xzcj.setState("0");
if(isUpdate) {
xzcj.setMyPK(UUID.randomUUID().toString());
xzcj.Insert();
}
else
xzcj.Update();
}
//同意立案
else if(AgreeOrDisagree.equals("Agree")){
//案件状态
xzcj.setState("1");
if(isUpdate) {
xzcj.setMyPK(UUID.randomUUID().toString());
//立案时间
xzcj.setLASJ(DataType.getCurrentDateTime());
xzcj.Insert();
}
else
xzcj.Update();
//判断是否需要生产被请求人临时登录帐号
createUserNo(geEntity.GetValStringByKey("BQQRZJHM"),
geEntity.GetValStringByKey("BQQRXM"));
}
//不同意立案
else if(AgreeOrDisagree.equals("Disagree")){
//案件状态
xzcj.setState("2");
if(isUpdate) {
xzcj.setMyPK(UUID.randomUUID().toString());
xzcj.Insert();
}
else
xzcj.Update();
}
//设置待审理
else if(AgreeOrDisagree.equals("PendingTrial")){
//案件状态
xzcj.setState("4");
if(isUpdate) {
xzcj.setMyPK(UUID.randomUUID().toString());
xzcj.Insert();
}
else
xzcj.Update();
}
//调查取证
else{
//案件状态
xzcj.setState("3");
if(isUpdate) {
xzcj.setMyPK(UUID.randomUUID().toString());
xzcj.Insert();
}
else
xzcj.Update();
}
}
/**
* 为没有系统帐号的被请求人自动生成帐号
* @param openId
* @param userName
*/
public void createUserNo(String openId,String userName){
try{
Emp emp=new Emp();
//判断是否存在身份证号,如果不存在,则创建
if(!emp.IsExit(EmpAttr.OpenID,openId)) {
//获取当前时间戳
Date dt = new Date();
SimpleDateFormat matter = new SimpleDateFormat("hhmm");
String date = matter.format(dt);
//临时帐号:bqqr+hhmm
String userCode="bqqr"+date;
emp.setNo(userCode);
emp.setName(userName);
emp.setOpenID(openId);
//默认初始密码123456
emp.setPass("123456");
//外部用户所在部门,默认为外部单位
emp.setFK_Dept("1099");
emp.Insert();
}
}
catch (Exception ex){
//记录错误日志
bp.da.Log.DefaultLogWriteLine(LogType.Info, "执行createUserNo失败:" + ex.getMessage());
}
}
}
5.ZYApp
package bp.app.handler;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Enumeration;
import java.util.HashMap;
import bp.da.DataTable;
import bp.da.DataType;
import bp.difference.ContextHolderUtils;
import bp.difference.SystemConfig;
import bp.difference.handler.WebContralBase;
import bp.port.Emp;
import bp.tools.HttpClientUtil;
import bp.web.WebUser;
import bp.wf.GenerWorkFlow;
import bp.wf.WFSta;
import net.sf.json.JSONArray;
import org.apache.axis.encoding.Base64;
import org.apache.http.protocol.HttpContext;
import net.sf.json.JSONObject;
public class ZYApp extends WebContralBase {
/**
初始化数据
@param mycontext
*/
public ZYApp(HttpContext mycontext)
{
this.context = mycontext;
}
public ZYApp()
{
}
/**
* 根据约定自动跳转
* @return
* @throws Exception
*/
public String Auto_Comm() throws Exception{
String FK_Flow=this.GetRequestVal("OpenFlow");
String MapData=this.GetRequestVal("OpenMapData");
String billNo=this.GetRequestVal("ajbh");
String FID=this.GetRequestVal("FID");
if(billNo.equals("@BillNo")){
if(!DataType.IsNullOrEmpty(FID)) {
GenerWorkFlow generWorkFlow = new GenerWorkFlow(Long.parseLong(FID));
billNo = generWorkFlow.getBillNo();
}
else{
GenerWorkFlow generWorkFlow = new GenerWorkFlow(this.getWorkID());
billNo = generWorkFlow.getBillNo();
}
}
if(!DataType.IsNullOrEmpty(MapData)){
DataTable dt=bp.da.DBAccess.RunSQLReturnTable("select * from "+MapData+" where BillNo='"+billNo+"'");
if(dt.Rows.size()>0){
if(!DataType.IsNullOrEmpty(FK_Flow)){
GenerWorkFlow gwf=new GenerWorkFlow(Long.parseLong(dt.Rows.get(0).get("OID").toString()));
if(gwf.getWFSta()== WFSta.Complete){
return "/WF/MyView.htm?FK_Flow="+FK_Flow+"&WorkID="+dt.Rows.get(0).get("OID")+"&BillNo="+billNo;
}
return "/WF/MyFlow.htm?FK_Flow="+FK_Flow+"&WorkID="+dt.Rows.get(0).get("OID")+"&BillNo="+billNo;
}
else{
return "err@缺少参数";
}
}
else{
if(!DataType.IsNullOrEmpty(FK_Flow)){
return "/WF/MyFlow.htm?FK_Flow="+FK_Flow+"&BillNo="+billNo;
}
else{
return "err@缺少参数";
}
}
}
else{
return "err@缺少参数";
}
}
}
M_ZhuXiaoXueJi
package bp.ccbill.demo;
import bp.sys.*;
import bp.*;
import bp.ccbill.*;
/**
注销学籍 方法
*/
public class M_ZhuXiaoXueJi extends bp.en.Method
{
public M_ZhuXiaoXueJi() {
this.Title = "注销学籍.";
this.Help = "执行学籍的注销的业务逻辑, 关于该学生的借书信息、食堂信息等资料都需要注销掉.";
this.GroupName = "CCBill的是实体Demo";
}
@Override
public Object Do() throws Exception {
//0. 获得参数.
long workid = this.GetValIntByKey("WorkID"); //实体主键.
String frmID = this.GetValStrByKey("FrmID"); //实体主键.
//1. 检查是否有食堂欠费。
//2. 检查图书馆借书是否归还?
//3. 执行注销.(以下是采用ccbpm的语法法.)
GEEntity en = new GEEntity(frmID, workid);
en.SetValByKey("XSZT", 3); //修改字段值,
en.Update();
return "学籍已经注销了。";
}
///#region 重写。
/**
设置执行变量
@return
*/
@Override
public void Init() {
}
/**
当前的操纵员是否可以执行这个方法
*/
@Override
public boolean getIsCanDo() {
if (bp.web.WebUser.getIsAdmin() == true)
{
return true;
}
return false;
}
///#endregion 重写。
}
Func:
package bp.ccbill.sys;
import bp.da.*;
import bp.web.*;
import bp.en.*;
import bp.sys.*;
import bp.ccbill.template.*;
import bp.*;
import bp.ccbill.*;
/**
独立方法
*/
public class Func extends EntityNoName
{
///#region 基本属性
/**
方法ID - 不是主键
*/
public final String getMethodID() throws Exception {
return this.GetValStringByKey(MethodAttr.MethodID);
}
public final void setMethodID(String value) throws Exception
{
this.SetValByKey(MethodAttr.MethodID, value);
}
public final String getMsgErr() throws Exception
{
return this.GetValStringByKey(MethodAttr.MsgErr);
}
public final void setMsgErr(String value) throws Exception {
this.SetValByKey(MethodAttr.MsgErr, value);
}
public final String getMsgSuccess() throws Exception
{
return this.GetValStringByKey(MethodAttr.MsgSuccess);
}
public final void setMsgSuccess(String value) throws Exception
{
this.SetValByKey(MethodAttr.MsgSuccess, value);
}
public final String getMethodDocUrl() throws Exception {
String s = this.GetValStringByKey(MethodAttr.MethodDoc_Url);
if (DataType.IsNullOrEmpty(s) == true)
{
s = "http://192.168.0.100/MyPath/xxx.xx";
}
return s;
}
public final void setMethodDocUrl(String value) throws Exception
{
this.SetValByKey(MethodAttr.MethodDoc_Url, value);
}
/**
获得或者设置sql脚本.
*/
public final String getMethodDocSQL() throws Exception {
String strs = this.GetBigTextFromDB("SQLScript");
if (DataType.IsNullOrEmpty(strs) == true)
{
return this.getMethodDocSQLDemo(); //返回默认信息.
}
return strs;
}
public final void setMethodDocSQL(String value)throws Exception
{this.SaveBigTxtToDB("SQLScript", value);
}
/**
获得该实体的demo.
*/
public final String getMethodDocJavaScriptDemo() throws Exception {
String file = bp.difference.SystemConfig.getCCFlowAppPath() + "WF/CCBill/Admin/MethodDoc/MethodDocDemoJS.txt";
String doc = DataType.ReadTextFile(file); //读取文件.
doc = doc.replace("/#", "+"); //为什么?
doc = doc.replace("/$", "-"); //为什么?
// doc = doc.Replace("@FrmID", this.FrmID);
return doc;
}
public final String getMethodDocSQLDemo() throws Exception {
String file = bp.difference.SystemConfig.getCCFlowAppPath() + "WF/CCBill/Admin/MethodDoc/MethodDocDemoSQL.txt";
String doc = DataType.ReadTextFile(file); //读取文件.
// doc = doc.Replace("@FrmID", this.FrmID);
return doc;
}
/**
获得JS脚本.
@return
*/
public final String Gener_MethodDoc_JavaScript() throws Exception {
return this.getMethodDocJavaScript();
}
public final String Gener_MethodDoc_JavaScript_function() throws Exception {
String paras = "";
MapAttrs mattrs = new MapAttrs(this.getNo());
for (MapAttr item : mattrs.ToJavaList())
{
paras += item.getKeyOfEn() + ",";
}
if (mattrs.size() > 1)
{
paras = paras.substring(0, paras.length() - 1);
}
String strs = " function " + this.getMethodID() + "(" + paras + ") {";
strs += this.getMethodDocJavaScript();
strs += "}";
return strs;
}
/**
获得SQL脚本
@return
*/
public final String Gener_MethodDoc_SQL() throws Exception {
return this.getMethodDocSQL();
}
/**
获得或者设置js脚本.
*/
public final String getMethodDocJavaScript() throws Exception {
String strs = this.GetBigTextFromDB("JSScript");
if (DataType.IsNullOrEmpty(strs) == true)
{
return this.getMethodDocJavaScriptDemo();
}
strs = strs.replace("/#", "+");
strs = strs.replace("/$", "-");
return strs;
}
public final void setMethodDocJavaScript(String value)throws Exception
{this.SaveBigTxtToDB("JSScript", value);
}
/**
方法类型:@0=SQL@1=URL@2=JavaScript@3=业务单元
*/
public final int getMethodDocTypeOfFunc() throws Exception
{
return this.GetValIntByKey(MethodAttr.MethodDocTypeOfFunc);
}
public final void setMethodDocTypeOfFunc(int value) throws Exception
{
this.SetValByKey(MethodAttr.MethodDocTypeOfFunc, value);
}
/**
方法类型
*/
public final RefMethodType getRefMethodType() throws Exception {
return RefMethodType.forValue(this.GetValIntByKey(MethodAttr.RefMethodType));
}
public final void setRefMethodType(RefMethodType value) throws Exception
{
this.SetValByKey(MethodAttr.RefMethodType, value.getValue());
}
///#endregion
///#region 构造方法
/**
权限控制
*/
@Override
public UAC getHisUAC() {
UAC uac = new UAC();
if (WebUser.getIsAdmin())
{
uac.IsUpdate = true;
return uac;
}
return super.getHisUAC();
}
/**
独立方法
*/
public Func() {
}
public Func(String no) throws Exception {
this.setNo(no);
this.Retrieve();
}
/**
重写基类方法
*/
@Override
public bp.en.Map getEnMap() {
if (this.get_enMap() != null)
{
return this.get_enMap();
}
Map map = new Map("Frm_Func", "功能");
map.AddTBStringPK(FuncAttr.No, null, "编号", true, true, 0, 50, 10);
map.AddTBString(FuncAttr.Name, null, "方法名", true, false, 0, 300, 10, true);
map.AddTBString(FuncAttr.FuncID, null, "方法ID", true, false, 0, 300, 10, true);
map.AddTBString(FuncAttr.Icon, null, "图标", true, false, 0, 50, 10, true);
map.AddDDLSysEnum(FuncAttr.FuncSrc, 0, "功能来源", true, false, "FuncSrc", "@0=自定义@1=系统内置");
map.AddTBString(FuncAttr.DTSName, null, "功能内容", true, false, 0, 300, 10, true);
map.AddTBStringDoc(FuncAttr.Docs, null, "功能说明", true, false);
map.SetHelperAlert(FuncAttr.Docs, "对于该功能的描述.");
map.AddTBString(FuncAttr.WarningMsg, null, "独立方法警告信息", true, false, 0, 300, 10, true);
map.AddDDLSysEnum(FuncAttr.MethodDocTypeOfFunc, 0, "内容类型", true, false, "MethodDocTypeOfFunc", "@0=SQL@1=URL@2=JavaScript@3=业务单元");
map.AddTBString(FuncAttr.MethodDoc_Url, null, "URL执行内容", false, false, 0, 300, 10);
map.AddTBString(FuncAttr.MsgSuccess, null, "成功提示信息", true, false, 0, 300, 10, true);
map.AddTBString(FuncAttr.MsgErr, null, "失败提示信息", true, false, 0, 300, 10, true);
map.AddTBInt(FuncAttr.IsHavePara, 0, "是否含有参数?", true, false);
RefMethod rm = new RefMethod();
//rm.Title = "方法参数"; // "设计表单";
//rm.ClassMethodName = this.ToString() + ".DoParas";
//rm.Visable = true;
//rm.refMethodType = RefMethodType.RightFrameOpen;
//rm.Target = "_blank";
//rm.GroupName = "开发接口";
// map.AddRefMethod(rm);
rm = new RefMethod();
rm.Title = "方法内容"; // "设计表单";
rm.ClassMethodName = this.toString() + ".DoDocs";
rm.Visable = true;
rm.refMethodType = RefMethodType.RightFrameOpen;
rm.Target = "_blank";
//rm.GroupName = "开发接口";
map.AddRefMethod(rm);
this.set_enMap(map);
return this.get_enMap();
}
///#endregion
///#region 执行方法.
@Override
protected boolean beforeInsert() throws Exception {
this.setNo(DBAccess.GenerGUID(0, null, null));
return super.beforeInsert();
}
/**
方法参数
@return
*/
public final String DoParas() {
return "../../CCBill/Admin/MethodParas.htm?No=" + this.getNo();
}
/**
方法内容
@return
*/
public final String DoDocs() {
return "../../CCBill/Admin/MethodDocSys/Default.htm?No=" + this.getNo();
}
///#endregion 执行方法.
}
package bp.ccbill.sys;
import bp.da.*;
import bp.web.*;
import bp.en.*;
import bp.sys.*;
import bp.ccbill.template.*;
import bp.*;
import bp.ccbill.*;
import java.util.*;
/**
独立方法s
*/
public class Funcs extends EntitiesNoName
{
/**
独立方法
*/
public Funcs() throws Exception {
}
/**
得到它的 Entity
*/
@Override
public Entity getGetNewEntity() {
return new Func();
}
///#region 为了适应自动翻译成java的需要,把实体转换成List.
/**
转化成 java list,C#不能调用.
@return List
*/
public final java.util.List<Func> ToJavaList() {
return (List<Func>)(Object)this;
}
/**
转化成list
@return List
*/
public final ArrayList<Func> Tolist() {
ArrayList<Func> list = new ArrayList<Func>();
for (int i = 0; i < this.size(); i++)
{
list.add((Func)this.get(i));
}
return list;
}
///#endregion 为了适应自动翻译成java的需要,把实体转换成List.
}
package bp.ccbill.template;
import bp.da.*;
import bp.en.*;
/**
集合方法
*/
public class Collection extends EntityNoName
{
///#region 基本属性
/**
表单ID
*/
public final String getFrmID() throws Exception
{
return this.GetValStringByKey(CollectionAttr.FrmID);
}
public final void setFrmID(String value) throws Exception
{
this.SetValByKey(CollectionAttr.FrmID, value);
}
public final String getIcon() throws Exception
{
return this.GetValStringByKey(CollectionAttr.Icon);
}
public final void setIcon(String value) throws Exception
{
this.SetValByKey(CollectionAttr.Icon, value);
}
/**
方法ID
*/
public final String getMethodID() throws Exception
{
return this.GetValStringByKey(CollectionAttr.MethodID);
}
public final void setMethodID(String value) throws Exception
{
this.SetValByKey(CollectionAttr.MethodID, value);
}
public final String getFlowNo() throws Exception
{
return this.GetValStringByKey(CollectionAttr.FlowNo);
}
public final void setFlowNo(String value) throws Exception
{
this.SetValByKey(CollectionAttr.FlowNo, value);
}
/**
模式
*/
public final String getMethodModel() throws Exception
{
return this.GetValStringByKey(CollectionAttr.MethodModel);
}
public final void setMethodModel(String value) throws Exception
{
this.SetValByKey(CollectionAttr.MethodModel, value);
}
/**
标记
*/
public final String getMark() throws Exception
{
return this.GetValStringByKey(CollectionAttr.Mark);
}
public final void setMark(String value) throws Exception
{
this.SetValByKey(CollectionAttr.Mark, value);
}
/**
tag1
*/
public final String getTag1() throws Exception
{
return this.GetValStringByKey(CollectionAttr.Tag1);
}
public final void setTag1(String value) throws Exception
{
this.SetValByKey(CollectionAttr.Tag1, value);
}
///#endregion
///#region 构造方法
/**
集合方法
*/
public Collection() {
super();
}
/**
集合方法
param no
*/
public Collection(String no) throws Exception {
this.setNo(no);
this.Retrieve();
}
/**
重写基类方法
*/
@Override
public bp.en.Map getEnMap() {
if (this.get_enMap() != null)
{
return this.get_enMap();
}
Map map = new Map("Frm_Collection", "集合方法");
map.AddGroupAttr("基本属性");
//主键.
map.AddTBStringPK(CollectionAttr.No, null, "编号", true, true, 0, 50, 10);
map.AddTBString(CollectionAttr.Name, null, "方法名", true, false, 0, 300, 10);
map.AddTBString(CollectionAttr.MethodID, null, "方法ID", true, true, 0, 300, 10);
//功能标记.
map.AddTBString(CollectionAttr.MethodModel, null, "方法模式", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.Tag1, null, "Tag1", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.Mark, null, "Mark", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.FrmID, null, "表单ID", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.FlowNo, null, "流程编号", true, true, 0, 10, 10);
map.AddTBString(CollectionAttr.Icon, null, "图标", true, false, 0, 50, 10, true);
//临时存储.
map.AddTBString(CollectionAttr.Docs, null, "方法内容", true, false, 0, 300, 10);
///#region 外观.
map.AddGroupAttr("外观");
map.AddTBInt(CollectionAttr.PopHeight, 0, "弹窗高度", true, false);
map.AddTBInt(CollectionAttr.PopWidth, 0, "弹窗宽度", true, false);
///#endregion 外观.
///#region 对功能有效
//对功能有效.
map.AddGroupAttr("对功能有效");
map.AddTBString(CollectionAttr.WarningMsg, null, "功能执行警告信息", true, false, 0, 300, 10);
map.AddTBString(CollectionAttr.MsgSuccess, null, "成功提示信息", true, false, 0, 300, 10, true);
map.AddTBString(CollectionAttr.MsgErr, null, "失败提示信息", true, false, 0, 300, 10, true);
map.AddDDLSysEnum(CollectionAttr.WhatAreYouTodo, 0, "执行完毕后干啥?", true, true, CollectionAttr.WhatAreYouTodo, "@0=关闭提示窗口@1=关闭提示窗口并刷新@2=转入到Search.htm页面上去");
///#endregion 对功能有效
//是否启用?
map.AddBoolean(CollectionAttr.IsEnable, true, "是否启用?", true, true, true);
map.AddTBInt(CollectionAttr.Idx, 0, "Idx", true, false);
this.set_enMap(map);
return this.get_enMap();
}
///#endregion
///#region 移动.
public final void DoUp() throws Exception {
this.DoOrderUp(CollectionAttr.FrmID, this.getFrmID(), CollectionAttr.Idx);
}
public final void DoDown() throws Exception {
this.DoOrderDown(CollectionAttr.FrmID, this.getFrmID(), CollectionAttr.Idx);
}
///#endregion 移动.
@Override
protected boolean beforeInsert() throws Exception {
if (DataType.IsNullOrEmpty(this.getNo()) == true)
{
this.setNo(DBAccess.GenerGUID(0, null, null));
}
return super.beforeInsert();
}
}
package bp.ccbill.template;
import bp.da.*;
import bp.en.*;
import bp.*;
import bp.ccbill.*;
import java.util.*;
/**
集合方法属性
*/
public class CollectionAttr extends EntityNoNameAttr
{
///#region 基本属性.
/**
表单ID
*/
public static final String FrmID = "FrmID";
/**
方法ID
*/
public static final String MethodID = "MethodID";
/**
图标
*/
public static final String Icon = "Icon";
/**
方法打开模式
*/
public static final String MethodModel = "MethodModel";
/**
标记
*/
public static final String Mark = "Mark";
/**
tag
*/
public static final String Tag1 = "Tag1";
/**
显示方式.
*/
public static final String ShowModel = "ShowModel";
/**
处理内容
*/
public static final String CollectionDoc_Url = "CollectionDoc_Url";
/**
内容类型
*/
public static final String CollectionDocTypeOfFunc = "CollectionDocTypeOfFunc";
/**
处理内容s
*/
public static final String Docs = "Docs";
/**
执行警告信息-对功能方法有效
*/
public static final String WarningMsg = "WarningMsg";
/**
成功提示信息
*/
public static final String MsgSuccess = "MsgSuccess";
/**
失败提示信息
*/
public static final String MsgErr = "MsgErr";
/**
执行完毕后干啥?
*/
public static final String WhatAreYouTodo = "WhatAreYouTodo";
/**
Idx
*/
public static final String Idx = "Idx";
///#endregion 基本属性.
///#region 外观.
/**
宽度.
*/
public static final String PopWidth = "PopWidth";
/**
高度
*/
public static final String PopHeight = "PopHeight";
///#endregion 外观.
public static final String IsEnable = "IsEnable";
public static final String FlowNo = "FlowNo";
}
package bp.ccbill.template;
import bp.da.*;
import bp.web.*;
import bp.en.*;
/**
流程批量发起流程
*/
public class CollectionFlowBatch extends EntityNoName
{
///#region 基本属性
/**
表单ID
*/
public final String getFrmID() throws Exception
{
return this.GetValStringByKey(MethodAttr.FrmID);
}
public final void setFrmID(String value) throws Exception
{
this.SetValByKey(MethodAttr.FrmID, value);
}
public final String getFlowNo() throws Exception
{
return this.GetValStringByKey(MethodAttr.FlowNo);
}
public final void setFlowNo(String value) throws Exception
{
this.SetValByKey(MethodAttr.FlowNo, value);
}
public final String getUrlExt() throws Exception
{
return this.GetValStringByKey("UrlExt");
}
public final void setUrlExt(String value) throws Exception
{
this.SetValByKey("UrlExt", value);
}
/**
是否在流程结束后同步?
*/
public final boolean getDTSWhenFlowOver() throws Exception
{
return this.GetValBooleanByKey(MethodAttr.DTSWhenFlowOver);
}
public final void setDTSWhenFlowOver(boolean value) throws Exception
{
this.SetValByKey(MethodAttr.DTSWhenFlowOver, value);
}
/**
同步的方式
*/
public final int getDTSDataWay() throws Exception
{
return this.GetValIntByKey(MethodAttr.DTSDataWay);
}
public final void setDTSDataWay(int value) throws Exception
{
this.SetValByKey(MethodAttr.DTSDataWay, value);
}
///#endregion
///#region 构造方法
/**
权限控制
*/
@Override
public UAC getHisUAC() {
UAC uac = new UAC();
if (WebUser.getIsAdmin())
{
uac.IsUpdate = true;
return uac;
}
return super.getHisUAC();
}
/**
流程批量发起流程
*/
public CollectionFlowBatch() {
}
public CollectionFlowBatch(String no) throws Exception {
this.setNo(no);
this.Retrieve();
}
/**
重写基类方法
*/
@Override
public bp.en.Map getEnMap() {
if (this.get_enMap() != null)
{
return this.get_enMap();
}
Map map = new Map("Frm_Collection", "流程批量发起");
//主键.
map.AddTBStringPK(CollectionAttr.No, null, "编号", true, true, 0, 50, 10);
map.AddTBString(CollectionAttr.Name, null, "方法名称", true, false, 0, 300, 10);
map.AddTBString(CollectionAttr.MethodID, null, "方法ID", true, true, 0, 300, 10);
//功能标记.
map.AddTBString(CollectionAttr.MethodModel, null, "方法模式", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.Tag1, null, "Tag1", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.Mark, null, "Mark", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.FrmID, null, "表单ID", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.FlowNo, null, "流程编号", true, true, 0, 10, 10);
map.AddTBString(CollectionAttr.Icon, null, "图标", true, false, 0, 50, 10, true);
this.set_enMap(map);
return this.get_enMap();
}
///#endregion
public final String CreateWorkID() throws Exception {
long workid = bp.wf.Dev2Interface.Node_CreateBlankWork(this.getFlowNo());
//给当前的流程实例做标记.
bp.wf.GenerWorkFlow gwf = new bp.wf.GenerWorkFlow(workid);
gwf.setPFlowNo(this.getFrmID());
gwf.SetPara("FlowNewEntity", "1"); //设置标记,等到流程结束后,自动写入到Dict一笔记录.
gwf.SetPara("MenuNo", this.getNo()); //菜单编号.
gwf.setPWorkID(gwf.getWorkID()); //实体保存的ID 与 流程ID一致。
gwf.Update();
return String.valueOf(workid);
}
///#region 执行方法.
/**
方法参数
@return
*/
public final String DoAlert() throws Exception {
return "您需要转入流程设计器去设计流程.";
// return "../../CCBill/Admin/MethodParas.htm?No=" + this.MyPK;
}
/**
重新导入实体字段
@return
*/
public final String ReSetFrm() throws Exception {
//如果是发起流程的方法,就要表单的字段复制到,流程的表单上去.
bp.wf.httphandler.WF_Admin_FoolFormDesigner_ImpExp handler = new bp.wf.httphandler.WF_Admin_FoolFormDesigner_ImpExp();
// handler.AddPara
handler.Imp_CopyFrm("ND" + Integer.parseInt(this.getFlowNo() + "01"), this.getFrmID());
return "执行成功,您需要转入流程设计器查看表单.";
}
@Override
protected boolean beforeInsert() throws Exception {
if (DataType.IsNullOrEmpty(this.getNo()) == true)
{
this.setNo(DBAccess.GenerGUID(0, null, null));
}
return super.beforeInsert();
}
///#endregion 执行方法.
}
package bp.ccbill.template;
import bp.da.*;
import bp.web.*;
import bp.en.*;
import bp.*;
import bp.ccbill.*;
import java.util.*;
/**
流程批量发起流程
*/
public class CollectionFlowBatchs extends EntitiesNoName
{
/**
流程批量发起流程
*/
public CollectionFlowBatchs() throws Exception {
}
/**
得到它的 Entity
45f55
*/
@Override
public Entity getGetNewEntity() {
return new CollectionFlowBatch();
}
///#region 为了适应自动翻译成java的需要,把实体转换成List.
/**
转化成 java list,C#不能调用.
@return List
*/
public final java.util.List<CollectionFlowBatch> ToJavaList() {
return (java.util.List<CollectionFlowBatch>)(Object)this;
}
/**
转化成list
@return List
*/
public final ArrayList<CollectionFlowBatch> Tolist() {
ArrayList<CollectionFlowBatch> list = new ArrayList<CollectionFlowBatch>();
for (int i = 0; i < this.size(); i++)
{
list.add((CollectionFlowBatch)this.get(i));
}
return list;
}
///#endregion 为了适应自动翻译成java的需要,把实体转换成List.
}
package bp.ccbill.template;
import bp.da.*;
import bp.web.*;
import bp.en.*;
/**
新建实体流程
*/
public class CollectionFlowNewEntity extends EntityNoName
{
///#region 基本属性
/**
表单ID
*/
public final String getFrmID()
{
return this.GetValStringByKey(MethodAttr.FrmID);
}
public final void setFrmID(String value)
{
this.SetValByKey(MethodAttr.FrmID, value);
}
public final String getFlowNo()
{
return this.GetValStringByKey(MethodAttr.FlowNo);
}
public final void setFlowNo(String value)
{
this.SetValByKey(MethodAttr.FlowNo, value);
}
public final String getUrlExt()
{
return this.GetValStringByKey("UrlExt");
}
public final void setUrlExt(String value)
{
this.SetValByKey("UrlExt", value);
}
/**
是否在流程结束后同步?
*/
public final boolean getDTSWhenFlowOver()
{
return this.GetValBooleanByKey(MethodAttr.DTSWhenFlowOver);
}
public final void setDTSWhenFlowOver(boolean value)
{
this.SetValByKey(MethodAttr.DTSWhenFlowOver, value);
}
/**
同步的方式
*/
public final int getDTSDataWay()
{
return this.GetValIntByKey(MethodAttr.DTSDataWay);
}
public final void setDTSDataWay(int value)
{
this.SetValByKey(MethodAttr.DTSDataWay, value);
}
///#endregion
///#region 构造方法
/**
权限控制
*/
@Override
public UAC getHisUAC() {
UAC uac = new UAC();
if (WebUser.getIsAdmin())
{
uac.IsUpdate = true;
return uac;
}
return super.getHisUAC();
}
/**
新建实体流程
*/
public CollectionFlowNewEntity() {
}
public CollectionFlowNewEntity(String no) throws Exception {
this.setNo(no);
this.Retrieve();
}
/**
重写基类方法
*/
@Override
public bp.en.Map getEnMap() {
if (this.get_enMap() != null)
{
return this.get_enMap();
}
Map map = new Map("Frm_Collection", "新建实体");
//主键.
map.AddTBStringPK(CollectionAttr.No, null, "编号", true, true, 0, 50, 10);
map.AddTBString(CollectionAttr.Name, null, "方法名称", true, false, 0, 300, 10);
map.AddTBString(CollectionAttr.MethodID, null, "方法ID", true, true, 0, 300, 10);
//功能标记.
map.AddTBString(CollectionAttr.MethodModel, null, "方法模式", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.Tag1, null, "Tag1", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.Mark, null, "Mark", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.FrmID, null, "表单ID", true, true, 0, 300, 10);
map.AddTBString(CollectionAttr.FlowNo, null, "流程编号", true, true, 0, 10, 10);
map.AddTBString(CollectionAttr.Icon, null, "图标", true, false, 0, 50, 10, true);
this.set_enMap(map);
return this.get_enMap();
}
///#endregion
public final String CreateWorkID() throws Exception {
long workid = bp.wf.Dev2Interface.Node_CreateBlankWork(this.getFlowNo());
//给当前的流程实例做标记.
bp.wf.GenerWorkFlow gwf = new bp.wf.GenerWorkFlow(workid);
gwf.setPFlowNo(this.getFrmID());
gwf.SetPara("FlowNewEntity", "1"); //设置标记,等到流程结束后,自动写入到Dict一笔记录.
gwf.SetPara("MenuNo", this.getNo()); //菜单编号.
gwf.setPWorkID(gwf.getWorkID()); //实体保存的ID 与 流程ID一致。
gwf.Update();
return String.valueOf(workid);
}
///#region 执行方法.
/**
方法参数
@return
*/
public final String DoAlert() {
return "您需要转入流程设计器去设计流程.";
// return "../../CCBill/Admin/MethodParas.htm?No=" + this.MyPK;
}
/**
重新导入实体字段
@return
*/
public final String ReSetFrm() throws Exception {
//如果是发起流程的方法,就要表单的字段复制到,流程的表单上去.
bp.wf.httphandler.WF_Admin_FoolFormDesigner_ImpExp handler = new bp.wf.httphandler.WF_Admin_FoolFormDesigner_ImpExp();
// handler.AddPara
handler.Imp_CopyFrm("ND" + Integer.parseInt(this.getFlowNo() + "01"), this.getFrmID());
return "执行成功,您需要转入流程设计器查看表单.";
}
@Override
protected boolean beforeInsert() throws Exception {
if (DataType.IsNullOrEmpty(this.getNo()) == true)
{
this.setNo(DBAccess.GenerGUID(0, null, null));
}
return super.beforeInsert();
}
///#endregion 执行方法.
}
参考资料和推荐阅读
- 暂无
欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~