• 单证调配管理的一些总结


    在做页面权限的时候,如果是对一个按钮,是否可以用,我们可以在后台给前端返回一个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;
        }
  • 相关阅读:
    20201227《信息安全专业导论》第八周学习总结
    20201227任峰皓《信息安全导论》第七周学习总结
    20201227任峰皓《信息安全导论》第六周学习总结
    斐波那契数列递归实现
    求最大公约数伪代码
    20201227 获奖感言与学习心得
    20201227任峰皓《信息安全导论》第五周学习总结
    xor加密
    pep9作业
    20201227任峰皓《信息安全导论》第四周学习总结
  • 原文地址:https://www.cnblogs.com/xiaoniuniu886/p/9548396.html
Copyright © 2020-2023  润新知