[TOC]

DataGrid

①进度条

//进度条自定义样式

//进度列 使用renderer渲染

反馈进度

②表格翻页保持选中并获取选中

整合步骤
1.// 设置表格在翻页时记住选中状态
  datagrid.setHoldSelectedStatus(true);
2.var rows = datagrid.getAllSelecteds();获取选中

③列表显示图片

后端查询到该条数据的附件信息,前端进行渲染
前端:


style=”height: 100%;” allowResize=”false” multiSelect=”true” allowCellEdit=”true” allowCellSelect=”true”
editNextOnEnterKey=”true” editNextRowCell=”true” allowCellWrap=”true”>



图标

修改

查看




//渲染列表图标
function onIconAttachRenderer(e) {
var attachHtml = “
    “;
    if (e.row.attachlist) {
    var length = e.row.attachlist.length;
    var url = “attachAction.action?cmd=getContent&attachGuid=”;
    for (var i = 0; i < length; i++) {
    var attachGuid = e.row.attachlist[i].attachGuid;
    var attachFileName = e.row.attachlist[i].attachFileName;
    attachHtml += “框架常见功能组件 - 图1“;
    }
    attachHtml += “
“;
}
return attachHtml;
}

后台:
public DataGridModel getDataGridData() {
if (model == null) {
model = new DataGridModel()
{
@Override
public List fetchData(int first, int pageSize, String sortField, String sortOrder) {
PbdSqlCondition condition = PbdSqlCondition.getSearchCondition(getRequestContext().getComponents());
this.setRowCount(pbdFzzjlQjzhService.getPbdFzzjlQjzhCount(condition));
List pbdFzzjlQjzhList = pbdFzzjlQjzhService.getPbdFzzjlQjzhList(first, pageSize, sortField, sortOrder, condition);
if (pbdFzzjlQjzhList != null && !pbdFzzjlQjzhList.isEmpty()) {
for (PbdFzzjlQjzh pbdFzzjlQjzh : pbdFzzjlQjzhList) {
pbdFzzjlQjzh.put(“attachlist”, getIconAttachList(pbdFzzjlQjzh.getTbguid()));
}
}
return pbdFzzjlQjzhList;
}
};
}
return model;
}
public JSONArray getIconAttachList(String clientGuid) {
JSONArray arr = new JSONArray();
List attachInfolist = attachInfoService.getFrameAttachInfoNewService9().getAttachInfoListByClientGuid(clientGuid);
if (attachInfolist != null && !attachInfolist.isEmpty()) {
for (FrameAttachInfo attachInfo : attachInfolist) {
JSONObject obj = new JSONObject();
obj.put(“attachGuid”, attachInfo.getAttachGuid());
obj.put(“attachFileName”, attachInfo.getAttachFileName());
arr.add(obj);
}
}
return arr;
}

tree

树表联动

前端,内容区域中加上info的hidden





    style=”width: 100%; height: 100%“ autoLoad=“false”
    onNodeClick=“onTreeNodeClick” showTreeIcon=“true” textField=“text”
    idField=“id” parentField=“pid” action=“getTreeModel”
    resultAsTree=“false”>









    function onTreeNodeClick(e) {
    var nodeId = e.node.id;
    var nodeType = e.node.nodeType;
    var nodeInfo = nodeId + “;” + nodeType;
    mini.get(“nodeInfo”).setValue(nodeInfo);
    epoint.refresh([ ‘datagrid’, ‘nodeInfo’ ]);
    }

    后台
    Nodeinfo加上并且getter and setter
    private String nodeInfo;

    public String getNodeInfo() {
    return nodeInfo;
    }

    public void setNodeInfo(String nodeInfo) {
    this.nodeInfo = nodeInfo;
    }

    // 树的构建
    public TreeModel getTreeModel() {
    if (treeModel == null) {
    treeModel = new TreeModel()
    {

    @Override
    public List fetch(TreeNode arg0) {
    List nodes = new ArrayList<>();

    // 首次加载
    if (arg0 == null) {
    // 构建根节点
    TreeNode rNode = new TreeNode();
    rNode.setId(TreeFunction9._F9ROOT_);

    //修改根显示的名称
    rNode.setText(“所有项目”);
    //修改根显示的名称

    rNode.setExpanded(true);
    rNode.getColumns().put(“nodeType”, “rootNode”);
    nodes.add(rNode);

    // 构建父节点

    //输入父节点的类型
    List listCodeItemsByCodeName = codeItemsService.listCodeItemsByCodeName(“需要的父节点类型”);
    //输入父节点的类型

    TreeNode pNode = null;
    for (CodeItems codeItems2 : listCodeItemsByCodeName) {
    pNode = new TreeNode();
    pNode.setId(codeItems2.getItemValue());
    pNode.setText(codeItems2.getItemText());
    pNode.setPid(rNode.getId());
    pNode.getColumns().put(“nodeType”, “parentNode”);
    // 当前节点是否是叶子节点,需要查找包含节点相关的数据

    //自己写根据类型找A表中list信息的方法,实习类修改
    List sportinfolist = sportinfoService.getSportInfoByStar(codeItems2.getItemValue());
    int size = sportinfolist.size();
    //自己写根据类型找A表中list信息的方法

    pNode.setLeaf(size < 1);
    nodes.add(pNode);
    }

    }
    else {

    //实体类和list修改
    List sportinfolist = sportinfoService.getSportInfoByStar(arg0.getId());
    //实体类和list修改

    // 构建子节点
    TreeNode sNode = null;

    //实体类和list修改,传入的name修改
    for (Sportinfo sportinfo : sportinfolist) {
    sNode = new TreeNode();
    sNode.setId(sportinfo.getRowguid());
    sNode.setText(sportinfo.getSportname());
    //实体类和list修改,传入的name修改

    sNode.setPid(arg0.getId());
    sNode.setLeaf(true);
    sNode.getColumns().put(“nodeType”, “subNode”);
    nodes.add(sNode);
    }
    }
    return nodes;
    }
    };
    }
    return treeModel;
    }

    //实体类类型修改
    public DataGridModel getDataGridData() {
    //实体类类型修改

    // 获得表格对象
    if (model == null) {
    model = new DataGridModel()
    {

    @Override
    public List fetchData(int first, int pageSize, String sortField, String sortOrder) {
    // 获取where条件Map集合
    Map conditionMap = ListGenerator.getSearchMap(getRequestContext().getComponents(),
    sortField, sortOrder);
    if (StringUtil.isNotBlank(nodeInfo)) {
    String[] str = nodeInfo.split(“;”);
    String nodeId = str[0];
    String nodeType = str[1];

    // 当点选的节点是nodeType = “subNode”
    // where 1=1 and rowguid = nodeId
    //子节点时,nodeid存储的是rowguid,要从另一张表的rowguid中找到对应信息,和本表的sportguid匹配的筛选出来
    if (“subNode”.equals(nodeType)) {
    SqlConditionUtil sqlConditionUtil = new SqlConditionUtil();

    //修改guid名称,并根据guid寻找相应的数据
    String sportGuid = sportinfoService.find(nodeId).getSportguid();
    sqlConditionUtil.eq(“sportguid”, sportGuid);
    //修改guid名称,并根据guid寻找相应的数据

    conditionMap.putAll(sqlConditionUtil.getMap());
    }
    // 当点选的节点是nodeType=”parentNode”
    //根据父节点的类型,寻找A表的信息,把guid放到一起,让B表模糊查询
    if (“parentNode”.equals(nodeType)) {

    //写一个根据父节点类型找list信息的方法,更改实体类
    List sportinfolist = sportinfoService.getSportInfoByStar(nodeId);
    //写一个根据父节点类型找list信息的方法

    List proGuidList = new ArrayList<>();

    //实体类和实体类list修改,并将guid添加到list中
    for (Sportinfo sportinfo : sportinfolist) {
    proGuidList.add(sportinfo.getSportguid());
    //实体类和实体类list修改,并将guid添加到list中

    }

    // where 1=1 and budgetguid in
    // (………projectBudgetGuidList……….)
    SqlConditionUtil condition = new SqlConditionUtil();

    //更改guid名称
    condition.in(“sportguid“, “‘“ + StringUtil.join(proGuidList, “‘,’”) + “‘“);
    //更改guid名称

    conditionMap.putAll(condition.getMap());

    }
    }

    //实体类修改
    PageData<Joininfo> pageData = service.paginatorList(conditionMap, first, pageSize);
    //实体类修改

    this.setRowCount(pageData.getRowCount());

    //实体类修改
    List<Joininfo> joininfolist = pageData.getList();
    //实体类修改

    //需要更改对应数据的时候在此修改
    // for (Taskinfo taskinfo : taskinfolist) {
    // taskinfo.setApplicantguid((userService.getUserNameByUserGuid(taskinfo.getApplicantguid())));
    // taskinfo.setManager(userService.getUserNameByUserGuid(taskinfo.getManager()));
    // }
    return joininfolist;
    }

    };
    }
    return model;
    }

    级联

    前台:
    项目类别里加onValueChanged=“onProjectTypeChanged”
    // 项目类别与资金金额的联动
    function onProjectTypeChanged(e) {
    var val = e.value;
    var projectmoney = mini.get(“projectmoney”);
    switch (val) {
    case “1”:
    projectmoney.setValue(1000000);
    break;
    case “2”:
    projectmoney.setValue(500000);
    break;
    case “3”:
    projectmoney.setValue(300000);
    break;
    case “4”:
    projectmoney.setValue(150000);
    break;
    default:
    break;
    }
    }
    后台:无

    级联更新

    前台:


    onvaluechanged=“changepercent” required=“true”
    requiredErrorText=“工作时长不能为空!” vType=“int” />



    bind=“dataBean.taskguid” onButtonClick=“onTaskClick”
    required=“true” requiredErrorText=“任务名称不能为空!” />


    //弹出预算选择页面
    function onTaskClick() {
    epoint.openDialog(“预算列表”,
    “frame/pages/rzgl/taskinfo/taskinfolistselect”,
    onTaskClickCallBack);
    }

    function onTaskClickCallBack(budgetInfo) {
    if (budgetInfo != null && budgetInfo != “close”) {
    var val = budgetInfo.split(“;”);
    mini.get(“taskguid”).setValue(val[0]);
    mini.get(“taskguid”).setText(val[1]);
    epoint.execute(‘setpercent’, ‘fui-form’, setpercentCallBack);
    }
    }

    //百分比onvaluechanged
    function changepercent(e) {
    epoint.execute(‘setpercent’, ‘fui-form’, setpercentCallBack);
    }

    function setpercentCallBack(data) {
    if(data.msg==”请先选择项目”){
    epoint.alert(data.msg, ‘’, null, ‘info’);
    }
    else {
    mini.get(“finishpercent”).setText(data.percent);
    mini.get(“finishpercent”).setValue(data.percent);
    }
    }

    后台:
    //更新百分比
    public void setpercent() {
    if (StringUtil.isNotBlank(dataBean.getTaskguid())) {
    Taskinfo taskinfo = taskinfoService.find(dataBean.getTaskguid());
    int percent = (int) (((dataBean.getWorktime() + taskinfo.getPlanhour() - taskinfo.getHavetime()) 1.0)
    / taskinfo.getPlanhour()
    100);
    String per = percent + “%”;
    dataBean.setFinishpercent(per);
    addCallbackParam(“percent”, per);
    }else {
    addCallbackParam(“msg”, “请先选择项目”);
    }
    }

    /
    删除选定

    */
    public void deleteSelect() {
    List select = getDataGridData().getSelectKeys();
    for (String sel : select) {
    List signinfo = signinfoService.getSignInfoBySportGuid(sel);
    for** (Signinfo signinfo2 : signinfo) {
    String signguid= signinfo2.getRowguid();
    signinfoService.deleteByGuid(signguid);
    }
    service.deleteByGuid(sel);
    }
    addCallbackParam(“msg”, “成功删除!”);

    Guid转文本集合


    Guid转文本(单选页面)
    前台:
    //初始化页面
    epoint.initPage(‘signinfoworkflowaction’, ‘’, function(data) {
    setControlsAccessRight(data);
    if (data.sportname) {
    mini.get(“sportguid”).setText(data.sportname);
    }
    if (data.sportperson) {
    mini.get(“sportperson”).setText(data.sportperson);
    }
    if (data.coach) {
    mini.get(“coach”).setText(data.coach);
    }
    });

    //教练选择页面
    function onCoach() {
    epoint.openDialog(“请选择教练”,
    “framemanager/orga/orga/ou/selectouuser”, CoachCallBack);
    }

    // 教练选择页面的回调
    function CoachCallBack(rtnValue) {
    if (rtnValue && rtnValue != “close”) {
    var val = rtnValue.split(“;”);
    mini.get(“coach”).setValue(val[1]);
    mini.get(“coach”).setText(val[0]);
    }
    }

    //参赛人员选择页面
    function onSportperson() {
    var guid = mini.get(“sportperson”).getValue();
    epoint.openDialog(“请选择参赛人员”,
    “framemanager/orga/orga/user/selectuser”,
    SportpersonCallBack, {
    param : {
    userGuid : guid
    }
    });
    }

    // 参赛人员选择页面的回调
    function SportpersonCallBack(rtnValue) {
    if (rtnValue && rtnValue != “close”) {
    var val = rtnValue.split(“SPLIT“);
    mini.get(“sportperson”).setValue(val[0]);
    mini.get(“sportperson”).setText(val[1]);
    }
    }

    后台:
    @Override
    public void pageLoad() {
    String workitemGuid = getRequestParameter(“WorkItemGuid”);
    String processVersionInstanceGuid = getRequestParameter(“ProcessVersionInstanceGuid”);
    pvi = wfInstanceAPI9.getProcessVersionInstance(processVersionInstanceGuid);

    if (StringUtil.isNotBlank(workitemGuid)) {
    item = wfInstanceAPI9.getWorkItem(pvi, workitemGuid);
    }

    rowguid = getRequestParameter(“guid”);
    // 初始化mis表
    if (StringUtil.isBlank(rowguid)) {
    rowguid = wfInstanceAPI9.getContextItemValue(pvi, SQLTableName);
    }

    if (StringUtil.isNotBlank(rowguid)) {

    dataBean = service.find(rowguid);
    if (StringUtil.isNotBlank(dataBean.getSportguid())) {
    addCallbackParam(“sportname”, sportinfoService.find(dataBean.getSportguid()).getSportname());
    }

    if (StringUtil.isNotBlank(dataBean.getCoach())) {
    addCallbackParam(“coach”, userService.getUserNameByUserGuid(dataBean.getCoach()));
    }
    if (StringUtil.isNotBlank(dataBean.getSportperson())) {
    addCallbackParam(“sportperson”, dataBean.getSportperson());
    }

    }
    else {
    dataBean = new Signinfo();
    dataBean.setStatus(“10”);
    dataBean.setSigndate(new Date());
    dataBean.setSportdate(new Date());
    dataBean.setPlanner(userSession.getDisplayName());
    }

    // 需要设置字段权限时设置
    JSONObject jsonobject = new JSONObject();
    try {
    jsonobject.put(“activityGuid”, item.getActivityGuid());
    jsonobject.put(“issingleform”, true);
    jsonobject.put(“processversioninstanceguid”, processVersionInstanceGuid);
    addCallbackParam(“accessRight”, wfInitPageAPI9.initgetTablePropertyControl(jsonobject.toJSONString()));
    }
    catch (JSONException e) {
    e.printStackTrace();
    }

    }

    Guid转文本(多选页面)
    List页面:
    前台:无
    后台:
    public DataGridModel getDataGridData() {
    // 获得表格对象
    if (model == null) {
    model = new DataGridModel()
    {

    @Override
    public List fetchData(int first, int pageSize, String sortField, String sortOrder) {
    // 获取where条件Map集合
    Map conditionMap = ListGenerator.getSearchMap(getRequestContext().getComponents(),
    sortField, sortOrder);
    PageData pageData = service.paginatorList(conditionMap, first, pageSize);
    this.setRowCount(pageData.getRowCount());
    List list = pageData.getList();
    for (ProjectInfo projectinfo : list) {
    // 将人员guid转换为人员名
    String projectManagerName = userService.getUserNameByUserGuid(projectinfo.getProjectmanager());
    projectinfo.put(“projectManagerName”, projectManagerName);

    String projectUserName = service.getAllUserName(projectinfo.getProjectuser());//注意无敌方法
    projectinfo.put(“projectUserName”, projectUserName);
    }
    return list;
    }
    };
    }
    return model;
    }

    Edit页面:
    前台:
    // 初始化页面
    epoint.initPage(‘projectinfoeditaction’, null, function(data) {
    if (data.projectManagerName) {
    mini.get(“projectmanager”).setText(data.projectManagerName);
    }

    if (data.projectUserName) {
    mini.get(“projectuser”).setText(data.projectUserName);
    }

    if (data.belongZoneText) {
    mini.get(“belongzone”).setText(data.belongZoneText);
    }
    });

    后台:
    @Override
    public void pageLoad() {
    String guid = getRequestParameter(“guid”);
    dataBean = service.find(guid);

    // 将项目经理guid转换为对应的文本
    String projectManagerName = iUserService.getUserNameByUserGuid(dataBean.getProjectmanager());
    addCallbackParam(“projectManagerName”, projectManagerName);
    // 将项目人员guid转换为对应的文本
    String projectUserName = service.getAllUserName(dataBean.getProjectuser());
    addCallbackParam(“projectUserName”, projectUserName);
    // 将所属地区value转换为文本
    String belongZoneText = iCodeItemsService.getItemTextByCodeName(“所属地区”, dataBean.getBelongzone());
    addCallbackParam(“belongZoneText”, belongZoneText);

    if (dataBean == null) {
    dataBean = new ProjectInfo();
    }
    }
    以及list页面的后台:
    for (ProjectInfo projectinfo : list) {
    // 将人员guid转换为人员名
    String projectManagerName = userService.getUserNameByUserGuid(projectinfo.getProjectmanager());
    projectinfo.put(“projectManagerName”, projectManagerName);

    String projectUserName = service.getAllUserName(projectinfo.getProjectuser());
    projectinfo.put(“projectUserName”, projectUserName);
    }


    服务端:
    /
    将所有的人员guid转换为人员名

    *
    @param projectuser
    *
    @return
    *
    @exception/throws [违例类型] [违例说明]
    *
    @see [类、类#方法、类#成员]
    */
    public String getAllUserName(String projectUser) {

    String[] allUser = projectUser.split(“;”);
    List nameList =
    new ArrayList<>();
    IUserService userService = ContainerFactory.getContainInfo().getComponent(IUserService.
    class); //service里面调service的无敌方法

    for** (String str : allUser) {
    String name = userService.getUserNameByUserGuid(str);
    nameList.add(name);
    }
    String projectUserName = StringUtil._join
    (nameList, “;”);

    return projectUserName;
    }


    Value转文本(下拉树)

    前台:
    epoint.initPage(‘sportinfoeditaction’, null, function(data) {
    if (data.sportFieldText) {
    mini.get(‘sportfield’).setText(data.sportFieldText);
    }
    });

    后台:
    public void pageLoad() {
    String guid = getRequestParameter(“guid”);
    dataBean = service.find(guid);

    // 将比赛场地value转换为文本
    String sportFieldText = iCodeItemsService.getItemTextByCodeName(“比赛场地”, dataBean.getSportfield());
    addCallbackParam(“sportFieldText”, sportFieldText);

    if (dataBean == null) {
    dataBean = new Sportinfo();
    }
    }

    title and url

    (初次保存要在dataBean中设置pviguid,否则拿不到值)
    dataBean.setPviguid(item.getProcessVersionInstanceGuid());

    List前端页面

    标题



    前端方法
    //标题信息渲染
    function renderTitle(e) {
    var row = e.row;
    var str = “+ “‘,’” + row.url + “‘,’” + row.rowguid
    + “‘);return false;\”>”+row.title+”“;
    return str;
    }

    function onTitleClick(title, url, rowguid) {
    if (url) {
    epoint.openDialog(title, url);
    } else {
    //详情页信息,将地址改为detail地址
    epoint.openDialog(title,
    “frame/pages/xmcg/assetinfom/assetinfomdetail?guid=”
    + rowguid);
    }
    }

    后台方法写在getDataGridData 中的fetchData最后
    //修改实体类
    List joininfolist = pageData.getList();
    for (Joininfo joininfo : joininfolist) {
    //修改实体类

    //此处写上需要value文字互转的信息
    joininfo.setManager((userService.getUserNameByUserGuid(joininfo.getManager())));
    //此处写上需要value文字互转的信息


    // 获取标题和处理地址
    String username = joininfo.getOperateusername();

    //标题修改
    String title = username + “的采购详情”;
    //标题修改

    String url = “”;

    //修改实体类
    if (StringUtil.isNotBlank(joininfo.getPviguid())) {
    ProcessVersionInstance pvi = instanceAPI9.getProcessVersionInstance(joininfo.getPviguid());
    //修改实体类


    List status = new ArrayList<>();
    status.add(WorkflowKeyNames9._WorkItemStatusActive**);
    status.add(WorkflowKeyNames9.
    WorkItemStatus_Inactive);
    List wItems = instanceAPI9.getWorkItemListByPVIGuidAndStatus(pvi, status);

    // 获取当前登录人的待办项
    for (WorkflowWorkItem workItem : wItems) {
    if (userSession.getUserGuid().equalsIgnoreCase(workItem.getOperatorForDisplayGuid())) {
    title = workItem.getWorkItemName();
    url = workItem.getHandleUrl();
    }
    }
    }
    joininfo.put(“title”, title);
    joininfo.put(“url”, url);
    }

    //修改return的list
    return** joininfolist;
    //修改return的list

    select页面筛选

    public DataGridModel getDataGridData2() {
    // 获得表格对象
    if (model == null) {
    model = new DataGridModel()
    {

    @Override
    public List fetchData(int first, int pageSize, String sortField, String sortOrder) {
    // 获取where条件Map集合
    Map conditionMap = ListGenerator.getSearchMap(getRequestContext().getComponents(),
    sortField, sortOrder);
    SqlConditionUtil sqlConditionUtil = new SqlConditionUtil();
    sqlConditionUtil.gt(“limitperson-signperson”, 0);
    conditionMap.putAll(sqlConditionUtil.getMap());
    PageData pageData = service.paginatorList(conditionMap, first, pageSize);
    this.setRowCount(pageData.getRowCount());
    return pageData.getList();
    }
    };
    }
    return model;
    }public DataGridModel getDataGridData2() {
    // 获得表格对象
    if (model == null) {
    model = new DataGridModel()
    {

    @Override
    public List fetchData(int first, int pageSize, String sortField, String sortOrder) {
    // 获取where条件Map集合
    Map conditionMap = ListGenerator.getSearchMap(getRequestContext().getComponents(),
    sortField, sortOrder);
    SqlConditionUtil sqlConditionUtil = new SqlConditionUtil();
    sqlConditionUtil.gt(“limitperson-signperson”, 0);
    conditionMap.putAll(sqlConditionUtil.getMap());
    PageData pageData = service.paginatorList(conditionMap, first, pageSize);
    this.setRowCount(pageData.getRowCount());
    return pageData.getList();
    }
    };
    }
    return model;
    }

    验证集合

    验证
    在add,edit,workflow里都有

    Add:
    前端:
    // 关闭操作的回调
    function closeCallback(data) {

    if (data.same) {
    epoint.alert(data.msg);
    } else if (data.date) {
    epoint.alert(data.msg);
    } else if (data.limitperson) {
    epoint.alert(data.msg);
    } else
    if (data.msg) {
    epoint.alertAndClose(data.msg, ‘’, null, null, ‘info’);
    }
    }
    }

    后端:
    /
    保存并关闭

    */
    public void add() {

    ataBean.setRowguid(UUID.randomUUID().toString());
    dataBean.setOperatedate(
    new Date());
    dataBean.setOperateusername(userSession.getDisplayName());
    int count = service.checkName(dataBean.getSportname());
    if (count > 0) {
    addCallbackParam(“msg”, “项目名重复”);
    addCallbackParam(“same”,
    true);
    }
    else if (EpointDateUtil.getIntervalDays(dataBean.getSportdate(), new Date()) >= 0) {
    addCallbackParam(“msg”, “比赛时间不能小于当前时间”);
    addCallbackParam(“date”,
    true);
    }
    else if (dataBean.getLimitperson() <= 0) {
    addCallbackParam(“msg”, “限制人数必须为正整数”);
    addCallbackParam(“limitperson”,
    true);
    }
    else {
    service.insert(dataBean);
    addCallbackParam(“msg”, “保存成功!”);
    dataBean =
    null;
    }

    }

    服务端:
    /


    项目重名验证
    @param sportname
    @return
    @exception/throws [违例类型] [违例说明]
    @see [类、类#方法、类#成员]
    /
    public int checkName(String sportname) {
    String sql = “select count(
    ) from sportinfo where sportname = ?”;
    return baseDao.queryInt(sql, sportname);
    }


    Edit:
    前端:无
    后端:
    /
    保存修改

    */
    public void save() {
    dataBean.setOperatedate(
    new Date());

    // 项目名称的重名判断
    String projectNameOld = service.find(dataBean.getRowguid()).getProjectname();
    String projectNameNew = dataBean.getProjectname();

    int count = service.checkExist(projectNameOld, projectNameNew);

    if (count > 0) {
    addCallbackParam(“msg”, “项目名称重复!”);
    addCallbackParam(“sameName”,
    true);
    }
    else {
    service.update(dataBean);
    addCallbackParam(“msg”, “修改成功!”);
    }
    }

    /

    保存修改

    /
    public void save() {
    dataBean.setOperatedate(new Date());

    // 项目名称的重名判断
    String projectNameOld = service.find(dataBean.getRowguid()).getProjectname();
    String projectNameNew = dataBean.getProjectname();

    int count = service.checkExist(projectNameOld, projectNameNew);
    if (count > 0) {
    addCallbackParam(“msg”, “项目名称重复!”);
    addCallbackParam(“sameName”, true);
    }
    else {
    service.update(dataBean);
    addCallbackParam(“msg”, “修改成功!”);
    }
    }

    服务端:
    /**
    修改页的重名判断

    @param projectNameOld
    @param projectNameNew
    @return
    @exception/throws [违例类型] [违例说明]
    @see [类、类#方法、类#成员]
    /
    public int checkExist(String projectNameOld, String projectNameNew) {
    String sql = “select count(
    ) from projectinfo where projectname != ? and projectname = ?”;
    return baseDao.queryInt(sql, projectNameOld, projectNameNew);
    }

    WorkFlow:
    前端:无
    后端:
    private boolean save() {

    // 如果不满足业务逻辑返回false
    // if (不符合条件) {
    // addCallbackParam(“msg”, “提示错误”);
    // return false;
    // }
    if (“报名申请”.equals(item.getActivityName())) {
    Sportinfo sportinfo1 = sportinfoService.find(dataBean.getSportguid());
    if (EpointDateUtil._getIntervalDays
    (dataBean.getSigndate(), sportinfo1.getSportdate()) < 15) {
    addCallbackParam(“msg”, “报名时间离比赛时间小于15天”);
    return false;
    }
    }
    }