fuyu 5 роки тому
батько
коміт
2f07aa20a7

+ 25 - 11
application/manage/controller/Statistics.php

@@ -58,14 +58,18 @@ class Statistics extends Base {
         $list = [];
         foreach($doctor as $k=>$v){
             $report = DB::table('report')
+                ->alias('r')
+                ->join(['remote_application'=>'ra'],'r.remote_application_id=ra.id')
                 ->where('report_doctor_id',$v['id'])
-                ->where('remote_application_id','not null')
                 ->where('review_doctor_id','not null')
+                ->where('ra.report_status=9')
                 ->where($search)
                 ->count();
             $review = DB::table('report')
+                ->alias('r')
+                ->join(['remote_application'=>'ra'],'r.remote_application_id=ra.id')
                 ->where('review_doctor_id',$v['id'])
-                ->where('remote_application_id','not null')
+                ->where('ra.report_status=9')
                 ->where($search)
                 ->count();
             $list[$k]['name'] = $v['realname'];
@@ -122,12 +126,14 @@ class Statistics extends Base {
             ->alias('ra')
             ->join(['report'=>'r'],'ra.id=r.remote_application_id')
             ->join(['exams'=>'e'],'ra.exam_id=e.id')
-            ->join(["(select id,realname from doctors as d )"=>'reportd'],'reportd.id=r.report_doctor_id','left')
-            ->join(["(select id,realname from doctors as d )"=>'reviewd'],'reviewd.id=r.review_doctor_id','left')
+            ->join(["(select id,realname from doctors )"=>'reportd'],'reportd.id=r.report_doctor_id','left')
+            ->join(["(select id,realname from doctors )"=>'reviewd'],'reviewd.id=r.review_doctor_id','left')
+            ->join(["(select id,name from institution )"=>'ins'],'ins.id=ra.local_institution_id','left')
+            ->join(["(select id,realname from doctors )"=>'req'],'req.id=ra.req_doctor_id','left')
             ->where('ra.remote_institution_id='.$institution_id)
-            ->where('ra.report_status>7')
+            ->where('ra.report_status=9')
             ->where($search)
-            ->field('ra.req_date_time,r.report_datetime,reportd.realname as rpname,reviewd.realname as rvname,r.review_datetime,e.exam_class')
+            ->field('ins.name as insname,req.realname as reqname,e.patient_num,e.exam_class,ra.req_date_time,r.report_datetime,reportd.realname as rpname,reviewd.realname as rvname,r.review_datetime')
             ->select();
         echo json_encode($list);
 
@@ -240,19 +246,24 @@ class Statistics extends Base {
             ->alias('ra')
             ->join(['report'=>'r'],'ra.id=r.remote_application_id')
             ->join(['exams'=>'e'],'ra.exam_id=e.id')
-            ->join(["(select id,realname from doctors as d )"=>'reportd'],'reportd.id=r.report_doctor_id','left')
-            ->join(["(select id,realname from doctors as d )"=>'reviewd'],'reviewd.id=r.review_doctor_id','left')
+            ->join(["(select id,realname from doctors )"=>'reportd'],'reportd.id=r.report_doctor_id','left')
+            ->join(["(select id,realname from doctors )"=>'reviewd'],'reviewd.id=r.review_doctor_id','left')
+            ->join(["(select id,name from institution )"=>'ins'],'ins.id=ra.local_institution_id','left')
+            ->join(["(select id,realname from doctors )"=>'req'],'req.id=ra.req_doctor_id','left')
             ->where('ra.remote_institution_id='.$institution_id)
-            ->where('ra.report_status>7')
+            ->where('ra.report_status=9')
             ->where($search)
-            ->field('e.exam_class,ra.req_date_time,r.report_datetime,reportd.realname as rpname,reviewd.realname as rvname,r.review_datetime')
+            ->field('ins.name as insname,req.realname as reqname,e.patient_num,e.exam_class,ra.req_date_time,r.report_datetime,reportd.realname as rpname,reviewd.realname as rvname,r.review_datetime')
             ->select();
         if($begin == $finish){
             $filename = $begin."数据详情表";
         }else{
+            if(empty($finish)){
+                $finish = date('Y-m-d');
+            }
             $filename = $begin.'至'.$finish."数据详情表";
         }
-        $headArr = array("检查类型","申请时间", "报告时间","报告医生","审核医生","审核时间");
+        $headArr = array("申请医院","申请医生","病历号","检查类型","申请时间", "报告时间","报告医生","审核医生","审核时间");
         $this->getExcels($filename, $headArr, $list);
     }
 
@@ -279,6 +290,9 @@ class Statistics extends Base {
         $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25);
         $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(25);
         $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(25);
+        $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(25);
+        $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(25);
+        $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(25);
         //设置表头
         $key = ord("A");
         foreach ($headArr as $v) {

+ 151 - 0
application/manage/view/statistics/list.html

@@ -0,0 +1,151 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>TODO supply a title</title>
+        {include file="../application/manage/view/commons/headers.html" }
+        <script >
+            
+            // 编辑窗口
+            var $editWin;
+            var editWinHeight=$(window).height()-35;
+            var editWinWidth=$(window).width()*0.98;
+            
+            $(function(){
+                    $editWin = $('#edit-window').window({
+                        title: '医院报告统计',
+                        width: editWinWidth,height: editWinHeight,
+                        top: ($(window).height() -editWinHeight ) /2 ,
+                        left: ($(window).width() -editWinWidth ) /2 ,
+                        shadow: true,modal: true,
+                        iconCls: 'icon-edit',closed: true,resizable:true,
+                        minimizable: false,maximizable: true,collapsible: false
+                    });
+
+            });
+
+            $(window).resize(function() {
+                editWinWidth=$(window).width()*0.98;
+                $('#edit-window').window('resize',{
+                    width: editWinWidth,height: editWinHeight
+                });
+            });
+            
+            function dateFormatter(date){
+	    	if(typeof date=="undefined"){ return "--"; }
+	    	return new Date(date).format("yy-MM-dd hh:mm");
+	    }
+            // 显示编辑窗口
+            function showEditWin(id){
+                if("undefined"== typeof id){
+                    $editWin.window('open');$('#editFrame').attr('src','/manage/statistics/edit');
+                }
+            }
+            function statusFormatter(status){
+                if(status=="1"){
+                    return "正常";
+                }else if(status=="0"){
+                    return "屏蔽";
+                }else{
+                    return "非正常";
+                }
+            }
+            
+            function insFormatter(id,row){
+                for(var i=0;i<institutionsData.length;i++){
+                    var row=institutionsData[i];
+                    if(row.id==id){
+                        return row.name;
+                    }
+                }
+	    	return "<font color='#ccc' >顶级机构<font>";
+            }
+            
+            function commandsFormatter(id,row){
+	    	var cmdEdit="<a href='#' onclick=\"javascript:showEditWin('"+row.id+"');\" >编辑</a>&nbsp;";
+                cmdEdit+="<a href='#' onclick=\"javascript:deleteRow('"+row.id+"');\" >删除</a>";
+	    	return cmdEdit;
+	    }
+            
+            
+            
+            function statusFormatter(status){
+                if(status=="0"){
+                    return "屏蔽";
+                }else if(status=="1"){
+                    return "正常";
+                }else{
+                    return status;
+                }
+            }
+
+
+
+
+            $(function(){
+                
+                var height=$(document).height();
+                $("#dg").height(height);
+                                
+                $('#dg').datagrid({
+                    url:'/manage/statistics/infos',
+                    idField:'id',method: 'get',rownumbers: true,showFooter: true,singleSelect:true,selectOnCheck:false,
+                    toolbar: '#tb',pageList: [dgRowSize,dgRowSize*2,50,100],pagination:true,pageSize:dgRowSize,
+                    columns:[[
+                        {field:'insname',title:'申请医院',width:"200",align:'left'},
+                        {field:'reqname',title:'申请医生',width:"120",align:'left'},
+                        {field:'exam_class',title:'检查类型',width:"120",align:'left'},
+                        {field:'patient_num',title:'病历号',width:"120",align:'left'},
+                        {field:'req_date_time',title:'申请时间',width:"160",align:'left'},
+                        {field:'rpname',title:'报告医生',width:"80",align:'left'},
+                        {field:'report_datetime',title:'写报告时间',width:"160",align:'left'},
+                        {field:'rvname',title:'审核医生',width:"80",align:'left'},
+                        {field:'review_datetime',title:'审报告时间',width:"160",align:'left'}
+                    ]],
+                    onDblClickRow :function(rowIndex,rowData){
+                        showEditWin(rowData.id);
+                    },
+                });
+
+
+            });
+            
+            function reload(){
+                var upload1 = $("#upload1").val();
+                var upload2 = $("#upload2").val();
+                var url="/manage/Statistics/infos?upload1="+(upload1==null?"":upload1)+"&upload2="+(upload2==null?"":upload2);
+                $('#dg').datagrid("reload",url);
+            }
+
+            function derive(){
+                var form = $("#form");
+                var upload1 = $("#upload1").val();
+                var upload2 = $("#upload2").val();
+                var url="/manage/Statistics/outs?upload1="+(upload1==null?"":upload1)+"&upload2="+(upload2==null?"":upload2);
+                form.attr('action',url);
+                form.submit();
+            }
+            
+            $(function(){
+                $('#institution_id').combotree({
+                    required:true,multiple:false,editable:false,
+                    valueField:'id',textField:'name',panelWidth:550,
+                    url:"/manage/institution/insCombobox"
+                });
+            });
+            
+        </script>
+        
+    </head>
+    <body>
+        <div id="dg" class="easyui-datagrid" style="width:100%;height:auto;" ></div>
+        <div id="tb" class="editform" style="display: none; padding-top: 1px;">&nbsp;
+            <form id="form">
+                统计报告时间:<input type="text" id="upload1"  name="upload1" class="easyui-datebox" style="width: 120px;" />----<input type="text" id="upload2"  name="upload2" class="easyui-datebox" style="width: 120px;" />&nbsp;&nbsp;&nbsp;
+                <a id="submit" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'" style="width: 80px" onclick="reload()" >查询</a>&nbsp;&nbsp;&nbsp;
+                <a id="excel" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'" style="width: 140px" onclick="derive()" >导出excel</a>
+            </form>
+        </div>
+        <div id="edit-window" class="easyui-window" style="overflow: hidden" ><iframe src="about:blank" id="editFrame" style="width:100%;height:100%" frameborder="0" scrolling="yes" ></iframe></div>
+        
+    </body>
+</html>