起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: fangyeer

[结贴] 怎么把图1的状态栏设置成图2任务中心的一样

[复制链接]

54

主题

367

帖子

892

积分

高级会员

Rank: 4

积分
892
QQ
 楼主| 发表于 2017-4-26 00:49:54 | 显示全部楼层
步骤如下1.把/BIZ/SA/task/logic/code/dsrc/TaskProcedure.java复制到自己建立的eeeee/eeee/process/ssssss/dsrc目录下如图二               2.把ui2/sa/task/taskCenter/mainActivity.中的statusSelect(待办,已办,提交)下拉框和conditionData和statusData复制到ui2/eeeee/eee/process/ssssss/listActivity.w中
             3.设置statusSelect下拉框的onUpdateValue为Model.prototype.statusSelectUpdateValue = function(event){
this.comp("mainData").refreshData();
        };
             4.在自己的listActivity页面中的mainData的事件Model.prototype.mainDataRefreshCreateParam = function(event){
var param = event.param;
                var conditionData = this.comp("conditionData");
                param.setString("status", conditionData.val("status")||"");
               
                var currentOrg = this.orgCondition || this.getContext().getCurrentPersonID();
                var org = "";
                var selecteds = currentOrg.split(",");
                for (var i=0; i<selecteds.length; i++){
                        var item = selecteds;
                        if (item){
                                if (org) org = org + ",";
                                var index = item.lastIndexOf(".psn");
                                if ((index!==-1) && (index === (item.length-".psn".length))){
                                        org += item.substr(0, index);
                                }else{
                                        org += item;
                                }
                        }
                }
                param.setString("org", org);
        };

        Model.prototype.mainDataBeforeRefresh = function(event){
        if (this.isHistroy()){
                        event.source.filters.setStringVar("justep.shard", "histroy");       
                }
        };

Model.prototype.mainDataBeforeRefresh = function(event){
        if (this.isHistroy()){
                        event.source.filters.setStringVar("justep.shard", "histroy");       
                }
        };
       
        Model.prototype.isHistroy = function(){
                return this.getContext().getRequestParameter("shard") === "histroy";
        };


        return Model;



5.在queryEE_KHZLAction中加了org和status两个数如图

});

图2

图2
4.png

做好后如下图,但是选择后没有反应,请大神指点是哪里没对
1111.png

回复 支持 反对

使用道具 举报

54

主题

367

帖子

892

积分

高级会员

Rank: 4

积分
892
QQ
 楼主| 发表于 2017-4-26 00:55:29 | 显示全部楼层
public class SsssssProcess {
        private static final String WAITING = "waiting";
        private static final String FINISHED = "finished";
        private static final String SUBMITED = "submited";
        public static Table taskQuery(String concept, String idColumn, String select, String from, String condition, List<DataPermission> range,
                        String filter, Boolean distinct, int offset, int limit, String columns, String orderBy, String aggregate, String aggregateColumns,
                        Map<String, Object> variables, String dataModel, String fnModel, String status, String org) {
                if (variables == null){
                        variables = new HashMap<String, Object>();
                }
                String alias = concept;//from.substring(from.indexOf(" "));
                String customFilter = getCustomFilter(alias, status, org, concept, variables);
                if (Utils.isNotEmptyString(filter)){
                        filter = "(" + filter + ") and (" + customFilter + ")";
                }else{
                        filter = customFilter;
                }
               
                return BizData.query(concept, idColumn, select, from, condition, range, filter, distinct, offset, limit, columns, orderBy, aggregate,
                                aggregateColumns, variables, dataModel, fnModel);
        }
        private static String getCustomFilter(String alias, String status, String org, String concept, Map<String, Object> vars){
                if (Utils.isEmptyString(status)){
                        if ("SA_Task".equals(concept)){
                                status = WAITING;       
                        }else{
                                status = WAITING + " " + SUBMITED + " " + FINISHED;
                        }
                       
                }
               
                /*
                if (status.contains(WAITING) && status.contains(SUBMITED)){
                        //同时有待办和提交时, 只有待办生效
                        status = status.replace(SUBMITED, "");
                }
                */
               
                if (Utils.isEmptyString(org)){
                        org = ContextHelper.getPerson().getID();
                }

                               
                String result = "";
                if (status.contains(WAITING) || status.contains(FINISHED)){
                        String waitingCondition = "(" + alias + ".sStatusID='" + TaskStatus.READY + "'" +
                                        " or " + alias + ".sStatusID='" + TaskStatus.EXECUTING + "')";
                       
                        String finishedCondition = "(" + alias + ".sStatusID='" + TaskStatus.FINISHED + "'" +
                                " or " + alias + ".sStatusID='" + TaskStatus.RETURNED + "'" +
                                " or " + alias + ".sStatusID='" + TaskStatus.ABORTED + "'" +
                                " or " + alias + ".sStatusID='" + TaskStatus.TRANSMITED + "'" +
                                " or " + alias + ".sStatusID='" + TaskStatus.CANCELED + "')";
                        String executorCondition = getExecutorCondition(alias, org, concept.equals("SA_Task"), vars);
                        if (SystemUtils.isNotEmptyString(result)) result += " or ";
                        if (status.contains(WAITING) &&  !status.contains(FINISHED)){
                                result += executorCondition + " and " + waitingCondition;
                        }else if (!status.contains(WAITING) &&  status.contains(FINISHED)){
                                result += executorCondition + " and " + finishedCondition;
                        }else{
                                result += executorCondition;
                        }
                }
               
               
                if (status.contains(SUBMITED)){
                        String creatorCondition = getCreatorCondition(alias, org, concept.equals("SA_Task"), vars);
                        if (SystemUtils.isNotEmptyString(creatorCondition)){
                                if (SystemUtils.isNotEmptyString(result)) result += " or ";
                                result += creatorCondition;
                        }
                }
               
                return result;
        }
        private static String getCreatorCondition(String alias, String org, boolean useAgentProcess, Map<String, Object> vars){
                String result = "";
                int i= 0;
                for (String item : org.split(",")){
                        i++;
                        if (Utils.isNotEmptyString(item)){
                                if (item.contains("/")){
                                        //是组织
                                        if (SystemUtils.isNotEmptyString(result)) result += " or ";
                                        String var = "__cfid" + i;
                                        vars.put(var, item + "%");
                                        result += alias + ".sCreatorFID like :" + var;
                                }else{
                                        //是人
                                        if (item.equals(ContextHelper.getPerson().getID())){
                                                String condition = TaskUtils.getCreatorCondition(alias, ContextHelper.getPerson().getPersonMembers(), useAgentProcess, vars);
                                                if (SystemUtils.isNotEmptyString(condition)){
                                                        if (SystemUtils.isNotEmptyString(result)) result += " or ";
                                                        result += condition;
                                                }

                                        }else{
                                                throw BizSystemException.create(SystemMessages.ORG_ID_IS_CUR_PERSON_ID2, org, ContextHelper.getPerson().getID());
                                        }
                                }
                        }
                }
               
                if (useAgentProcess){
                        result = "(" + result + ") and " + alias + ".sExecutorFID like '/%' ";
                }
               
                return result;
        }
       
        private static String getExecutorCondition(String alias, String org, boolean useAgentProcess, Map<String, Object> vars){
                String result = "";
                int i=0;
                for (String item : org.split(",")){
                        i++;
                        if (Utils.isNotEmptyString(item)){
                                if (item.contains("/")){
                                        //组织
                                        if (SystemUtils.isNotEmptyString(result)) result += " or ";
                                        String var = "__efid" + i;
                                        vars.put(var, item + "%");
                                       
                                        result += alias + ".sExecutorFID like :" + var;
                                       
                                }else{
                                        //是人
                                        if (item.equals(ContextHelper.getPerson().getID())){
                                                String condition = TaskUtils.getExecutorCondition(alias, ContextHelper.getPerson().getPersonMembers(), useAgentProcess, vars);
                                                if (SystemUtils.isNotEmptyString(condition)){
                                                        if (SystemUtils.isNotEmptyString(result)) result += " or ";
                                                        result += condition;
                                                }
                                               
                                        }else{
                                                throw BizSystemException.create(SystemMessages.ORG_ID_IS_CUR_PERSON_ID2, org, ContextHelper.getPerson().getID());
                                        }
                                }
                        }
                }
               
                return result;
        }

}
这是复制的java请问需要改什么地方?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-4-26 10:29:16 | 显示全部楼层
你只需要过滤你的业务数据就可以啊,不需要过滤任务数据
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

54

主题

367

帖子

892

积分

高级会员

Rank: 4

积分
892
QQ
 楼主| 发表于 2017-4-26 14:03:35 来自手机 | 显示全部楼层
我过虑的任务数据?那我怎么看我要过滤的业务数据是什么呀?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-4-26 14:50:13 | 显示全部楼层
你的业务数据不是有状态吗?自己放一个gridFilter过滤你的状态字段的值啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

54

主题

367

帖子

892

积分

高级会员

Rank: 4

积分
892
QQ
 楼主| 发表于 2017-4-26 18:09:38 来自手机 | 显示全部楼层
大神我错了,没说清楚,是这样的,我设置的状态(提交前显示是未提交,提交后是处理中,结束显示的是结束)这是整个流程的状态呀!我现在想做的是,每个环节的处理人看到自己在该环节的状态(自己提交的任务为提交,需要自己处理的为待办,已经处理的为已办,就和任务中心里面的一样),每个人在自己的环节都是这样,请问我应该怎么去做?在哪里做?
回复 支持 反对

使用道具 举报

54

主题

367

帖子

892

积分

高级会员

Rank: 4

积分
892
QQ
 楼主| 发表于 2017-4-26 18:12:38 来自手机 | 显示全部楼层
比如,流程有三个环节,三个环节的人都看到自己环节的提交,待办,已办,
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-4-27 09:15:55 | 显示全部楼层
每个人在自己的环节都是这样页面怎么展现的?已经处理的从什么地方打开的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

54

主题

367

帖子

892

积分

高级会员

Rank: 4

积分
892
QQ
 楼主| 发表于 2017-4-27 09:56:38 来自手机 | 显示全部楼层
大神我想问一下,平台自带的任务中心里的过滤条件已办,待办,提交,是哪里设置的?
回复 支持 反对

使用道具 举报

54

主题

367

帖子

892

积分

高级会员

Rank: 4

积分
892
QQ
 楼主| 发表于 2017-4-27 10:13:18 来自手机 | 显示全部楼层
平台自带的任务中心过滤条件代办,已办,提交,过滤的是什么字段,这个字段怎么设置的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 13:01 , Processed in 0.061985 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表