zoukankan      html  css  js  c++  java
  • 单证调配管理的一些总结

    在做页面权限的时候,如果是对一个按钮,是否可以用,我们可以在后台给前端返回一个true,false。

    {
                            // 操作列
                            "targets" : [ 6 ],
                            "orderable" : false,
                            "class" : "am-text-center",
                            "render" : function(data, type, full) {
                                var pengingNumber = full.daishen;
                                // 判断是否显示操作按钮
                                if (!pengingNumber) { // 这个为  pengingNumber false 不显示
                                    return "<button type='button' class='am-btn am-btn-primary' id='btn-distribute' name='btn-distribute' disabled> 手动分配</button>";
                                } else {
                                    if (ManagerFlags) { // 当主管为true,按钮可用 
                                        return "<button type='button' class='am-btn am-btn-primary' id='btn-distribute' name='btn-distribute' > 手动分配</button>";
                                    } else {
                                        if (full.isGroup === true) {  // 判断为组长为为true,按钮可用 
                                            return "<button type='button' class='am-btn am-btn-primary' id='btn-distribute' name='btn-distribute' > 手动分配</button>";
                                        } else {
                                            return "<button type='button' class='am-btn am-btn-primary' id='btn-distribute' name='btn-distribute' disabled> 手动分配</button>";
                                        }
                                    }
                                }
                            }
                        }
                    ]
                };
    
                //隐藏需要权限才显示的分配按钮
                $("#btn-distribute").css("display", "none");
                //加载用户权限
                var responseData = ajax_jsonp_sync("/app/bl/documenttaskdeploy/getPermission/", null); //
                // 数组 [] 角色  角色的UUID  
                var ManagerFlags = responseData.responseJSON.data[0]; // 返回的是一个true ,false 
                //为true就是主管 ,为false 就是单证人员
                if (ManagerFlags == true) {
                    $("#btn-distribute").show();
                } else {
                    $("#btn-distribute").hide();
                }
        // 获取登录用户uuid u1038
            String loginUserID = ctr.getCurrentUser().getStr(BlConstant.FIELD_USER_ID);
            boolean isGroupLeader = false;
    
            String groupId = null;
            // 获取组长的id,和那条数据的uuid
            String sql = "select uuid,group_leader_id from biz_document_group_info where sys_status = 1";
            List<Record> list = Db.find(sql);
            isGroup: for (Record r : list) {
                // 查询出来的组长的id为多条,拆开一下
                String[] strings = r.getStr("groupLeaderId").split(",");
                // 便利数组
                for (String s : strings) {
                    // 便利出来的 组长的id和当前用户的uuid一样的话,就确定为组长了
                    if (s.equals(loginUserID)) {
                        // 因为前段我么你只要一个true,false 的结果来判断按钮是否可用
                        // 所以申请了一个变量 ,来赋值 一下
                        isGroupLeader = true;
                        groupId = r.getStr("uuid");
                        break isGroup;
                    }
                }
            }
            // 如果为true的话
            if (isGroupLeader) {
                // 便利 当前的这个 taskDeployPage.getList() 查询出来的所有的数据
                for (Record record : taskDeployPage.getList()) {
                    // 如果查询出来的组的id和 组长的那条uuid相同的话,就设置一个标志位返回给前端能使用
                    if (record.getStr("groupId").equals(groupId)) { // 说明为同一个组的,当前用户为组长,其他人为组员
                        record.set("isGroup", true);
                        record.set("isGroup", false);
                    }
                }
            }
            for (Record record : taskDeployPage.getList()) {
                boolean daishen = false;
                // long completeNum = record.getLong("completeNum"); // 完成的数量
                long yiLingQuStatus = record.getLong("claimNum"); // 待审总数
    
                // 待审总数
                if (yiLingQuStatus >= 1) {
                    daishen = true;
                }
                record.set("daishen", daishen);
                // record.set("total", completeNum+yiLingQuStatus);
    
            }

    开始日期不能大于结束日期

    var startDate = $("#bizDocumentTaskDeploy_admin_query").find("#startDate").val();
                    var endDate = $("#bizDocumentTaskDeploy_admin_query").find("#endDate").val();
                     if (!isNotBlank(startDate) || !isNotBlank(endDate)) {
                        //alertMsg("日期输入框不能为空!!!");
                        getAlertInfo("ME477I001");
                        return;
                    } 
                    var d1 = new Date(startDate.replace(/-/g, "/"));
                    var d2 = new Date(endDate.replace(/-/g, "/"));
                        if (startDate != "" && endDate != "" && d1 > d2) {
                            // 开始日期不能大于结束日期
                            getAlertInfo("ME477I007");
                            return;
                        }      
                     

    点击按钮重置,输入框里面的东西

    //注册重置按钮点击事件
                $('#bizDocumentTaskDeploy_admin_query_two').find('#resetBtn').on('click', function() {
                    var queryDiv = $('#bizDocumentTaskDeploy_admin_query');
                    var queryDivTwo = $('#bizDocumentTaskDeploy_admin_query_two');
                    //重置姓名查询条件
                    queryDiv.find("#userName").val("");
                    //重置任务状态查询条件
                    queryDivTwo.find("#taskState").empty();
                    addOption(queryDivTwo.find("#taskState"), "--请选择--", "");
                    addOption(queryDivTwo.find("#taskState"), "待完成", "0");
                    addOption(queryDivTwo.find("#taskState"), "已完成", "1");
                    //重置在线状态查询条件
                    queryDivTwo.find("#radioSelect").empty();
                    addOption(queryDivTwo.find("#radioSelect"), "--请选择--", "");
                    addOption(queryDivTwo.find("#radioSelect"), "离线", "0");
                    addOption(queryDivTwo.find("#radioSelect"), "在线", "1");
                    //重置时间查询条件
                    queryDiv.find("#startDate").val("");
                    queryDiv.find("#endDate").val("");
                });

    前端获取值去掉空格

    "userName" : $.trim($("#bizDocumentTaskDeploy_admin_query").find("#userName").val()),

     批量操做,勾选 多条信息。

    //注册[批量分配]按钮点击事件
                        $('#bizDocumentCompleteInfo_div_toolbar').find("#batchDistribute").on('click',function() {    
                            var data = getSelectedData(bizDocumentCompleteInfo.dt, 0); 
                             if (!isNotNull(data) || data.length <= 0) {
                                  getAlertInfo("ME477I002");
                                  // alert("请选择你要勾选的任务")
                                    return;
                                } 
                             var uuids = "";
                            var names = ""; 
                            var payUuid = ""; 
                            var taskmany = new Array();
                            for (var i = 0; i < data.length; i++) {
                                  var tasktemp = {
                                            "userUuid": data[i].taskUuid ,
                                            "userName": data[i].taskName ,
                                            "payUuid" : data[i].uuid 
                                        } 
                             taskmany.push(tasktemp);
                            }
                            var mainUUid = $("#bizDocumentCompleteInfo_admin_query").find("#mainUuid").val();
                            var  mainUserId=$("#bizDocumentCompleteInfo_admin_query").find("#mainUserId").val();
                            openModal(
                                    "app/bl/bizDocumentUserManyChoose",
                                    "bizDocumentUserMany",
                                    "选择批量单证人员",
                                    {
                                // 传到下一个页面的数据的东西
                                    "mainUuid" : mainUUid,
                                    "mainUserId":mainUserId ,
                                    "taskmany" : JSON.stringify(taskmany)
                                    }, false,null,null,null,null,null,null,{"width":"1000"});        
                                
                        });//注册[批量分配]按钮点击事件end
    // 调用extend为该类添加静态方法init
        bizDocumentUserMany
                .extend({
                    init : function(initData) {
                    var mainUuid=initData.mainUuid;  
                    var mainUserId=initData.mainUserId;
                       var taskmany=initData.taskmany ;  // 是个数组
                       taskmany = JSON.parse(taskmany);  // 转对象  
                        var taskNames="";
                        var taskUuid="";
                        var payUuid=""; // 付款确认书的uuid
                        for(var i=0;i<taskmany.length;i ++){
                            taskUuid+=(isNotBlank(taskUuid)?",":"")+taskmany[i].userUuid;
                            taskNames+=(isNotBlank(taskNames)?",":"")+taskmany[i].userName;
                            payUuid+=(isNotBlank(payUuid)?",":"")+taskmany[i].payUuid;
                        $('#taskUuid').val(taskUuid);
                        $('#taskNames').val(taskNames);
                        $('#payUuid').val(payUuid);
                         }
                        $('#mainUuid').val(mainUuid);
                        $("#mainUserId").val(mainUserId);
                        //加载下拉列表
                         ajax_jsonp("/app/bl/documenttaskdeploy/getapproverate/", null,
                            function(response) {
                                if (!checkResponseData(response)){
                                    return;
                                    }
                                //审核层级
                                addOption($('#bizDocumentUserManyChoose_admin_query').find("#approveRate"),"--请选择层级--","");
                                $.each(response.data[0], function(index, obj) {
                                    addOption($('#bizDocumentUserManyChoose_admin_query').find("#approveRate"),obj.levelName,obj.uuid);
                                });
                        }, null, "GET"); 

    前端json字符窜对象返给后台

            
                        //注册【确认分配】按钮事件
                        $('#bizDocumentUserChoose_admin_wrapper').on( 'click', '#comfirDistrbute',
                            function() {
                        var selectedData = getDtRowInfo(bizDocumentUserChoose.dt, 0); // 当前选中的值  数据库的值
                        var documentUsers = new Array();  
                        if (!isNotNull(selectedData) || selectedData.length <= 0) {
                             getAlertInfo("ME477I003");
                          // alert("请选择你要勾选的单证人员")
                            return;
                        } 
                        if (!isNotNull(selectedData) || selectedData.length > 1) {
                               getAlertInfo("ME477I006");
                             //  alert("对不起,只能勾选一个单证人员")
                               return;
                       }  
                       
                        $.each(selectedData, function (index, data) {
                         var   taskUuid= $("#bizDocumentUserChoose_admin_query").find("#taskUuid").val();
                         // 主界面的userID 
                          var   mainUserId= $("#bizDocumentUserChoose_admin_query").find("#mainUserId").val();
                       // 获取付款确认书的uuid
                        var   payUuid= $("#bizDocumentUserChoose_admin_query").find("#payUuid").val();
                       
                         var temp = {
                                "userUuid": data.data.userUuid,
                                "uuid": data.data.uuid, 
                                "userName" : data.data.userName,  // 用戶名
                               "taskUuid": taskUuid , // 任務的uuid 
                               "taskId": data.data.taskId ,
                               "userId":data.data.userId ,
                               "mainUserId": mainUserId ,
                               "payUuid":payUuid
                             
                            }
                        documentUsers.push(temp);
                    });
                      ajax_jsonp("/app/bl/documenttaskdeploy/comfirdistributeToMany/", {
                        "documentUsers": JSON.stringify(documentUsers)
                    }, function (response) {
                        if (!checkResponseData(response)) {
                            //alertMsg("分配失败!")
                            getAlertInfo("ME477I005");
                        } else {
                            if (response.data[0] == true) {
                               // alertMsg("分配成功!")
                                 getAlertInfo("ME477I004");
                                bizDocumentUserChoose.dt.draw();
                                return
                            } else {
                               // alertMsg("分配失败!")
                                getAlertInfo("ME477I005");
                            }
                        }
                    }, null, "POST");  
                    });//注册【确认分配】按钮事件结束        

    后台接受

        /**
         * 批量确认分配处理
         * 
         * @param ctr
         * @throws ActiveRecordException
         * @throws CordysException
         */
        public boolean comfirdistributeToMany(QhyfController ctr) throws ActiveRecordException, CordysException {
    
            // 取得数据 :为json字符串
            String temp = ctr.getPara("documentUsers");
            List<JSONObject> list = JSON.parseArray(temp, JSONObject.class); // 把获取的转化成对象
    
            String uuid = "";
            String userUuid = "";
            String userName = "";
            String taskId = "";
            // 把任务调配给谁的id
            String userId = "";
            //获取付款确认书的uuid
            String  payUuid="";
            //主界面人的userID
            String mainUserId ="" ;
            for (JSONObject jsonObject : list) { // 遍历
                // 获取前端的任务的uuid,用戶的uuid,姓名 ,任务的taskId
                uuid += (StringUtils.notBlank(uuid) ? "," : "") + jsonObject.getString("uuid");
                userUuid += (StringUtils.notBlank(userUuid) ? "," : "") + jsonObject.getString("userUuid");
                userName += (StringUtils.notBlank(userName) ? "," : "") + jsonObject.getString("userName");
                taskId += (StringUtils.notBlank(taskId) ? "," : "") + jsonObject.getString("taskId");
                userId += (StringUtils.notBlank(userId) ? "," : "") + jsonObject.getString("userId");
                mainUserId= jsonObject.getString("mainUserId");
                // 在待完成信息列表里面传了多个付款确认书的uuid过来
                payUuid = jsonObject.getString("payUuid");  // 这里已经是个数组
                this.setCordysUser(userId);
                this.setCordysUser(mainUserId);
            }
            
            // 获取到当前用户的sys_user表ID
            String loginUserID = ctr.getCurrentUser().getStr(BlConstant.FIELD_USER_ID);
            String sql = "select user_id from sys_user where sys_status = 1 and uuid = ?";
            
            String loginUserId = Db.queryStr(sql,loginUserID);
    //        AssertUtils.notNull(userName, "数据库未存在此人信息");
            
            boolean isOk=false;
            String[] payUuids=payUuid.split(",");
            for (int i = 0; i < payUuids.length; i++) {
                //根据付款确认书的uuid查出流程信息表的流程id     (id为数组)
                String processSql="SELECT instance_id FROM bpm_process_instance WHERE sys_status = 1 and biz_uuid= ?";
                String processId = Db.queryStr(processSql,payUuids[i]);
                //根据流程的id 查出 流程最新活动表 里面的taskid 
                String  farOutTaskidSql = "SELECT task_id FROM bpm_last_activity WHERE sys_status = 1 and  instance_id= ? ";
                Record record = Db.findFirst(farOutTaskidSql,processId);
                boolean  isOkTask=PerformTaskApi.delegateTask(loginUserId,userId , record.getStr("taskId"), "", true);
                //创建最新流程表的对象
                BpmLastActivity bpmLastActivity=new  BpmLastActivity();
                String[]  userIds=userId.split(",");
                for (int j = 0; j < userIds.length; j++) {
                    String  sysUserNameSql="SELECT user_name from sys_user WHERE sys_status = 1  and  user_id = ?";
                    String   sysUserName=Db.queryStr(sysUserNameSql,userIds[j]);
                    if (isOkTask==true) {
                        //根据userId查出他的userName,设置到表bpm_last_activity里面
                        // 更新表bpm_last_activity 里面的username 
                            bpmLastActivity.set("instanceId",processId );
                            bpmLastActivity.set("taskId",record.getStr("taskId") );
                            bpmLastActivity.set("userName",sysUserName );
                            isOk=ctr.merge(BpmLastActivity.dao.getTable().getName(), bpmLastActivity);
                        }
                        
                }
            
            }
        
            
            return isOk;
        }
  • 相关阅读:
    jython resources
    Installing a Library of Jython ScriptsPart of the WebSphere Application Server v7.x Administration Series Series
    jython好资料
    ulipad install on 64bit win7 has issue
    an oracle article in high level to descibe how to archtichre operator JAVA relevet project
    table的宽度,单元格内换行问题
    Linux常用命令大全
    dedecms系统后台登陆提示用户名密码不存在
    登录织梦后台提示用户名不存在的解决方法介绍
    Shell常用命令整理
  • 原文地址:https://www.cnblogs.com/xiaoniuniu886/p/9548396.html
Copyright © 2011-2022 走看看