车辆位置查看根据坐标

<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html>
<head>

<title>任务分配</title>
<%@ include file="../common/header.jsp"%>
<script type="text/javascript">
     
    </script>
</head>
<body>
    <div class="list_title">
        <span>任务管理</span>
    </div>
    <div class="text_input">
        <form id='fm_s' action="">
            任务类型<select >
                class="easyui-combobox">
                <option value="">全部</option>
                <option value="0">充电</option>
                <option value="1">调度</option>
                <option value="2">整备</option>
            </select> 任务状态<select 
                class="easyui-combobox">
                <option value="">全部</option>
                <option value="0">待分配</option>
                <option value="1">已分配</option>
                <option value="2">处理中</option>
                <option value="4">完成</option>
            </select> 车管员姓名<input type="text" 
                class="easyui-textbox" value="" style=" 100px !important" />
            手机号<input type="text" >
                class="easyui-textbox" value="" /> </br>

            <div style=" 100%; height: 15px; line-height: 15px;"></div>
            车牌号 <input type="text" >
                class="easyui-textbox" value="" style=" 100px !important" />
            取车车场<select >
                class="easyui-combobox">
            </select> 开始时间<input 
                class="easyui-datetimebox" style=" 100px !important" /> 结束时间<input
                type="text" >
                class="easyui-datetimebox" style=" 100px !important" /> <input
                type="button" class="text_input_button" onclick="search()"
                value="查询">
        </form>
    </div>

    <div >
        style=" 460px; height: 300px;" closed="true"
        buttons="#dlg-buttons">
        <form >
            <table class="order_info" height="100">
                <td><label for="name"><span style="color: red;">*</span>
                        车管人员:</label></td>
                <td><select name="carManagerid" >
                    class="easyui-combobox" style=" 175px;"></select> <input
                    name="taskid" ></td>
            </table>

        </form>
    </div>
    <div >
        style=" 460px; height: 300px;" closed="true"
        buttons="#dlg-buttons1">
        <form >
            <table class="order_info" height="100">
                <td><label for="name"><span style="color: red;">*</span>
                        控制命令:</label></td>
                <td><select name="sendControl" >
                    class="easyui-combobox" style=" 175px;">
                        <option value="-1">请选择</option>
                        <option value="0">任务完成</option>
                        <option value="1">任务接收</option>
                        <option value="2">二维码</option>
                        <option value="3">充电</option>
                        <option value="4">充电结束</option>
                        <option value="5">开锁</option>
                        <option value="6">锁门</option>
                        <option value="7">寻车</option>
                </select> <input name="taskids" ></td>
            </table>

        </form>
    </div>
    <table >iframe
    <div  >
        <iframe ></iframe>
    </div>
    <div class="text_input_bottom">
        <input >
            class="text_input_button text_input_button_left" value="导出Excel">
    </div>
    <div >
        data-options="iconCls:'icon-save',collapsible:false,minimizable:false,maximizable:false,closed:true"
        style=" 480px; height: 550px; padding: 10px;">任务分配</div>

    <div >
        data-options="iconCls:'icon-save',collapsible:false,minimizable:false,maximizable:false,closed:true"
        style=" 680px; height: 550px; padding: 10px;">任务信息</div>


    <script type="text/javascript">
    
    $(function($) {
        setAutoHeight(170,"dg");
        
        //初始化网点
        $("#parklotid_s").combobox({
            url:'<%=request.getContextPath()%>/beiqiBranch/comboBranchList',
            valueField:'railId',
            textField:'name'
        });
         $('#dg').datagrid({
             url:'<%=request.getContextPath()%>/bqVehicleTask/list',
             toolbar:$('#toolbar'),
             rownumbers:true,
             emptyMsg:'无数据',
             columns:[[
                 {field:'ck',checkbox:true,id:'ck'}, 
                 {field:'bt_id',hidden:true,title:'id'}, 
                 {field:'action',title:'操作','15%',formatter:formatAction},
                 {field:'bt_jobtype',title:'任务类型','10%',formatter:formatTaskType},
                {field:'bv_plate',title:'车牌号','10%'},
                {field:'bt_taskstatus',title:'任务状态','10%',formatter:formatTaskStatus},
                 {field:'bcm_name',title:'车管员姓名','10%'},
                {field:'bt_taskuserID',hidden:true,title:'bt_taskuserID'},
               {field:'bcm_mobile',title:'手机号','10%'},
               {field:'bt_createDate',title:'创建时间','15%'},
              {field:'bt_allocationtime',title:'分配时间','15%'},
            {field:'bt_accomplishtime',title:'完成时间','15%'}
             ]],
             pagination:true,
             pageSize: 10,
             onBeforeLoad: function(param){
                 $($('#fm_s').serializeArray()).each(function(){  
                     param[this.name]=this.value;  
                 }); 
             },
             onBeforeSelect:function(){
                 return false;
             }
         });
         var pager = $('#dg').datagrid('getPager');    // get the pager of datagrid
         pager.pagination({
             pageSize:10,
             pageList: [10,50,100],
            displayMsg:'',
             layout:['prev','links','next','list']
         });
         $("#btnExport").click(function(){
                var queryParam = getFormJson($("#fm_s")[0]);
                var url = "<%=request.getContextPath()%>/bqVehicleTask/exportTask?"+$.param(queryParam);
                window.open(url);
        });
        $('#divDetail').window({//加载iframe
            700,
            height:500,
            modal:true,
            closed: true
        });
    });
         
         
     // 如:{Name:'摘取天上星',position:'IT技术'}
        // ps:注意将同名的放在一个数组里
        function getFormJson(form) {
            var o = {};
            var a = $(form).serializeArray();
            $.each(a, function() {
                if (o[this.name] !== undefined) {
                    if (!o[this.name].push) {
                        o[this.name] = [ o[this.name] ];
                    }
                    o[this.name].push(this.value || '');
                } else {
                    o[this.name] = this.value || '';
                }
            });
            return o;
        }
    
    function formatAction(val,row){
        if(row.bt_taskstatus==0){
             return '<a style=""  href="#" onclick="javascript:cancelTask('+row.bt_id+','+row.bt_taskstatus+','+row.bcm_moboile+')">分配任务</a>|<a class="editcls" onclick="OpenMap('+row.bt_id+')" href="javascript:void(0)">查看位置</a>';
        }else if(row.bt_taskstatus==1){
            return '<a style=""  href="#" onclick="javascript:unCancelTask('+row.bt_id+','+row.bt_taskstatus+','+row.bcm_moboile+')">撤销任务</a>|<a style=""  href="#" onclick="javascript:cancel('+row.bt_id+','+row.bt_taskstatus+','+row.bcm_moboile+')">控制</a>|<a class="editcls" onclick="OpenMap('+row.bt_id+')" href="javascript:void(0)">查看位置</a>';
        }else if(row.bt_taskstatus==2){
            return '<a style=""  href="#" onclick="javascript:cancel('+row.bt_id+','+row.bt_taskstatus+','+row.bcm_moboile+')">控制</a>|<a class="editcls" onclick="OpenMap('+row.bt_id+')" href="javascript:void(0)">查看位置</a>';
        }else{
            return '';
        }
    }

    function formatTaskType(val,row){
        var temp="充电任务";
        if('1' == val){
            temp = '充电任务';
        }else if('2' == val){
            temp = '洗车任务';
        }else if('3' == val){
            temp = '调配车辆';
        }else if('4' == val){
            temp = '挪车(故障)';
        }else if('5' == val){
            temp = '挪车(事故)';
        }
        return temp;
    }
    
    function formatTaskStatus(val,row){
        var temp ='待分配';
        if('0' == val){
            temp = '待分配';
        }else if('1' == val){
            temp = '已分配';
        }else if('2' == val){
            temp = '处理中';
        }else if('4' == val){
            temp = '完成';
        }
        return temp;
    }
    
    
    function cancelTask(taskid,bt_taskstatus,bcm_moboile){
        $('#fm1').form('clear');
        $('#carManagerid').combobox({
            url: '<%=request.getContextPath()%>/bqCarManagerController/bqCarManager',
            editable: false,
            valueField: 'id',
            textField: 'name'

        });
        $("#taskid").val(taskid);
        $('#win').dialog('open').dialog('center').dialog('setTitle', '任务分配');
        $('#win').window('open');
    }
    
    function OpenMap(taskid){//车辆位置查看
        $('#iframeDetail').attr("src","<%=request.getContextPath()%>/jsp/beiqi/bqVehicleSiteDetail.jsp?task>taskid);
        $('#divDetail').window('open');
    }
    
    function saveCustome(){
          if($("#carManagerid").combobox('getValue')=='-1')
        {
            $.messager.alert("操作提示", "请选择车管人员","warning");
            return false;
        }
        $('#fm1').form('submit',{
            url: '<%=request.getContextPath()%>/bqCarManagerController/saveCarManager',
                                onSubmit : function() {
                                    return $(this).form('validate');
                                },
                                success : function(result) {
                                    if (result == 2) {
                                        $('#win').window('close');
                                        $('#dg').datagrid('load');
                                        $.messager.alert('消息', '任务分配成功!');
                                    } else if (result == 3) {
                                        $.messager.alert('消息', '任务分配失败!');
                                    }
                                }
                            });
        }
        function cancel(taskid, bt_taskstatus, bcm_moboile) {
            $('#fm2').form('clear');
            $("#taskids").val(taskid);
            $("#sendControl").textbox('setValue','请选择')
            $('#win1').dialog('open').dialog('center').dialog('setTitle', '发送控制');
            $('#win1').window('open');
        }
        function sendControl(){
              if($("#sendControl").combobox('getValue')=='-1' || $("#sendControl").combobox('getValue')=='请选择'){
                $.messager.alert("操作提示", "请选择控制命令","warning");
                return false;
            }else if($("#sendControl").combobox('getValue')=='0'){
                 $('#fm2').form('submit',{
                        url: '<%=request.getContextPath()%>/bqCarManagerController/opeJobFinish',
                                            onSubmit : function() {
                                                return $(this).form('validate');
                                            },
                                            success : function(result) {
                                                var result = eval('(' + result + ')');
                                                //alert(result.code);
                                                if (result.code == '10000') {
                                                    $('#win1').window('close');
                                                    $('#dg').datagrid('load');
                                                    $.messager.alert('消息',result.message);
                                                } else{
                                                    $.messager.alert('消息',result.message);
                                                }
                                            }
                                        });
            }else if($("#sendControl").combobox('getValue')=='1'){
                 $('#fm2').form('submit',{
                        url: '<%=request.getContextPath()%>/bqCarManagerController/opeJobStart',
                                            onSubmit : function() {
                                                return $(this).form('validate');
                                            },
                                            success : function(result) {
                                                var result = eval('(' + result + ')');
                                                //alert(result.code);
                                                if (result.code == '10000') {
                                                    $('#win1').window('close');
                                                    $('#dg').datagrid('load');
                                                    $.messager.alert('消息', result.message);
                                                } else  {
                                                    $.messager.alert('消息', result.message);
                                                }
                                            }
                                        });
            }else if($("#sendControl").combobox('getValue')=='2'){
                 $('#fm2').form('submit',{
                        url: '<%=request.getContextPath()%>/bqCarManagerController/opeScan',
                                            onSubmit : function() {
                                                return $(this).form('validate');
                                            },
                                            success : function(result) {
                                                var result = eval('(' + result + ')');
                                                //alert(result.code);
                                                if (result.code == '80000') {
                                                    $('#win1').window('close');
                                                    $('#dg').datagrid('load');
                                                    $.messager.alert('消息', result.message);
                                                } else {
                                                    $.messager.alert('消息', result.message);
                                                }
                                            }
                                        });
            }else if($("#sendControl").combobox('getValue')=='3'){
                 $('#fm2').form('submit',{
                        url: '<%=request.getContextPath()%>/bqCarManagerController/opeCharge',
                                            onSubmit : function() {
                                                return $(this).form('validate');
                                            },
                                            success : function(result) {
                                                var result = eval('(' + result + ')');
                                                if (result.code == '80000') {
                                                    $('#win1').window('close');
                                                    $('#dg').datagrid('load');
                                                    $.messager.alert('消息', result.message);
                                                } else{
                                                    $.messager.alert('消息', result.message);
                                                }
                                            }
                                        });
            }else if($("#sendControl").combobox('getValue')=='4'){
                 $('#fm2').form('submit',{
                        url: '<%=request.getContextPath()%>/bqCarManagerController/opeChargeStop',
                                            onSubmit : function() {
                                                return $(this).form('validate');
                                            },
                                            success : function(result) {
                                                var result = eval('(' + result + ')');
                                                if (result.code == '80000') {
                                                    $('#win1').window('close');
                                                    $('#dg').datagrid('load');
                                                    $.messager.alert('消息', result.message);
                                                } else {
                                                    $.messager.alert('消息', result.message);
                                                }
                                            }
                                        });
            }else if($("#sendControl").combobox('getValue')=='5'){
                 $('#fm2').form('submit',{
                        url: '<%=request.getContextPath()%>/bqCarManagerController/commandControl?kzflag=1',
                                            onSubmit : function() {
                                                return $(this).form('validate');
                                            },
                                            success : function(result) {
                                                var result = eval('(' + result + ')');
                                                if (result.code == '80000') {
                                                    $('#win1').window('close');
                                                    $('#dg').datagrid('load');
                                                    $.messager.alert('消息', result.message);
                                                } else{
                                                    $.messager.alert('消息', result.message);
                                                }
                                            }
                                        });
            }else if($("#sendControl").combobox('getValue')=='6'){
                 $('#fm2').form('submit',{
                        url: '<%=request.getContextPath()%>/bqCarManagerController/commandControl?kzflag=2',
                                            onSubmit : function() {
                                                return $(this).form('validate');
                                            },
                                            success : function(result) {
                                                var result = eval('(' + result + ')');
                                                if (result.code == '80000') {
                                                    $('#win1').window('close');
                                                    $('#dg').datagrid('load');
                                                    $.messager.alert('消息', result.message);
                                                } else {
                                                    $.messager.alert('消息', result.message);
                                                }
                                            }
                                        });
            }else if($("#sendControl").combobox('getValue')=='7'){
                 $('#fm2').form('submit',{
                        url: '<%=request.getContextPath()%>/bqCarManagerController/commandControl?kzflag=3',
                                    onSubmit : function() {
                                        return $(this).form('validate');
                                    },
                                    success : function(result) {
                                        var result = eval('(' + result + ')');
                                        if (result.code == '80000') {
                                            $('#win1').window('close');
                                            $('#dg').datagrid('load');
                                            $.messager.alert('消息',
                                                    result.message);
                                        } else{
                                            $.messager.alert('消息',
                                                    result.message);
                                        }
                                    }
                                });
            }
        }
        
        function unCancelTask(taskid, bt_taskstatus, bcm_moboile){
            var path = '<%=request.getContextPath()%>/bqCarManagerController/unCancelTask';
            $.messager.confirm('消息','确定要撤销已分配任务么?',function(r){
                if (r){                
                    $.post(path,{taskids:taskid},function(result){
                        if (result==1){
                            $.messager.alert('消息','任务撤销成功!');
                            $('#dg').datagrid('reload');    // reload the user data
                        } else {
                            $.messager.alert('消息','任务撤销失败!');
                        }
                    },'json');
                }
            });
        }

        function search() {
            $('#dg').datagrid('load');
        }

        function formatContent(value, row, index) {
            if (null != value) {
                return '<div title='+value+' style="overflow: hidden;text-overflow:ellipsis;whitespace:nowrap;">'
                        + value + '</div>';
            }
            return "";
        }
    </script>
    <div >
        <div class="text_input_button_float button_margin"
            onclick="javascript:saveCustome();">保存</div>
        <div class="text_input_button_float button_margin"
            onclick="javascript:$('#win').dialog('close')">取消</div>
        <div >
            <div class="text_input_button_float button_margin"
                onclick="javascript:sendControl();">保存</div>
            <div class="text_input_button_float button_margin"
                onclick="javascript:$('#win1').dialog('close')">取消</div>
</body>
</html>
<%@ page language="java" pageEncoding="UTF-8"%>
<html>
<head>
<title>车辆详细位置</title>
<%@ include file="../common/header.jsp"%>
<style type="text/css">
body {
     680px;
    height: 520px;
    overflow: hidden;
    margin: 0px;
    padding: 0px;
}
</style>
<style type="text/css">
* {
    margin: 0px;
    padding: 0px;
}

button, input, select, textarea {
    font: 12px/16px Verdana, Helvetica, Arial, sans-serif;
}

#container {
    min- 600px;
    min-height: 767px;
}
</style>
<script charset="utf-8" src="http://map.qq.com/api/js?v=2.exp"></script>
<script>
    var init = function() {
        var lng ="116.397128";
        var lat ="39.916527";
        var taskid = '<%=request.getParameter("taskid")%>';
        $.ajax({   
            url:'<%=request.getContextPath()%>/bqCarManagerController/getLastSite',
            type : 'post', //数据发送方式   
            data : ("task>taskid),
            dataType : 'json',//接受数据格式   
            async : false,
            success : function(data) {
                if (data != "") {
                    lat = data.split('|')[0];
                    lng = data.split('|')[1];
                }
            }
        });

        var center = new qq.maps.LatLng(lat, lng);
        var map = new qq.maps.Map(document.getElementById('container'), {
            center : center,
            zoom : 13
        });

        var anchor = new qq.maps.Point(6, 6), size = new qq.maps.Size(24, 24), origin = new qq.maps.Point(
                0, 0), icon = new qq.maps.MarkerImage(
                'http://lbs.qq.com/javascript_v2/img/center.gif', size, origin,
                anchor);
        var marker = new qq.maps.Marker({
            icon : icon,
            map : map,
            position : map.getCenter()
        });
    }
</script>
</head>
<body onload="init()">
    <div ></div>
    <p ></p>
</body>
</html>
    @RequestMapping("/getLastSite")
    public void getLastSiteBySN(HttpServletRequest request, HttpServletResponse response) {
        String taskid = request.getParameter("taskid");
        BqTaskInfo taskInfo = bqCarManagerService.selectByPrimaryKey(Integer.parseInt(taskid));
        if (StringUtils.isEmpty(taskid)) {
            this.out(response, "");
            return;
        }

        this.out(response, this.bqCarManagerService.getLastSiteBySn(taskInfo.getLat(),taskInfo.getLon()));
        return;
    }



    public String getLastSiteBySn(String lat, String lon) {
        String Result = "";
        Result = TengXunAPIUtil.getGCJByGPS(lat + "," + lon);
        if (!StringUtils.isBlank(Result)) {
            net.joystart.vehicle.entity.ReturnResultTengXun RRNew = (net.joystart.vehicle.entity.ReturnResultTengXun) JSONProcesser
                    .jsonProcesser(Result, net.joystart.vehicle.entity.ReturnResultTengXun.class);
            if (RRNew != null && RRNew.getLocations().size() > 0) {
                return RRNew.getLocations().get(0).getLat() + "|" + RRNew.getLocations().get(0).getLng();
            } else {
                return "";
            }
        } else {
            return "";
        }
    }