xiaoshushu 2 years ago
parent
commit
c6b08b5c5e

+ 15 - 4
src/main/java/com/lsw/controller/ReportController.java

@@ -5,6 +5,7 @@ import com.jfinal.kit.Kv;
 import com.jfinal.plugin.activerecord.Db;
 import com.jfinal.plugin.activerecord.Record;
 import com.lsw.utils.StringUtil;
+import com.lsw.utils.TimeUtil;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -14,11 +15,13 @@ public class ReportController extends BaseController {
     public void index() {
         String op = getPara("op", "finish");
         String ID = getPara("ID", "ZMMMGm5mnGCE4WvWFeI");//部门ID
-        set("url", "http://192.168.0.251/obpm/portal/good/html/view.html?appId=__gAPYBW4YxB3UePM3lqO&viewId=__qTB1jbQVLUOib2npaBj&opentarget=target&containTitle=%E8%A7%86%E5%9B%BE");
-        set("begin", "2021-06-01");//TimeUtil.getDay("firstDay")
-        set("end", "2022-12-12");//TimeUtil.getDay("lastDay")
+
+        set("ip", getPara("ip","192.168.0.251"));
         set("DOMAINID", getPara("DOMAINID", "uumsxrgm1KEEqSZIoHs"));
-        set("ID", ID);
+        set("ID", ID); //部门ID
+
+        set("begin", "2021-06-01");//TimeUtil.getDay("firstDay")
+        set("end", TimeUtil.getDay("lastDay"));//TimeUtil.getDay("lastDay")
         List<Record> department_list = Db.template("department", Kv.by("ID", ID)).find();
         List<Record> list = department_list.stream().filter(r -> r.get("ID").equals(ID)).collect(Collectors.toList());
         for (Record record : list) {
@@ -54,6 +57,14 @@ public class ReportController extends BaseController {
         renderJson(Kv.by("data", list).set("time", StringUtil.mul((end - start), (float) 0.001) + "s"));
     }
 
+    //实验完成率
+    public void finish_list() {
+        long start = System.currentTimeMillis();
+        List<Record> list = Db.template("finish_list", getParam()).find();
+        long end = System.currentTimeMillis();
+        renderJson(Kv.by("data", list).set("time", StringUtil.mul((end - start), (float) 0.001) + "s"));
+    }
+
     //各流程耗时
     public void process() {
         long start = System.currentTimeMillis();

+ 17 - 0
src/main/resources/report.sql

@@ -8,6 +8,23 @@
  and e.STATELABEL is not null group by  case  when e.STATELABEL = '结束'  then '结束' else '未结束' end
 #end
 
+###试验类型统计列表
+#sql("finish_list")
+select e.*  from tlk_examine e
+left outer join t_user on t_user.ID=author
+left outer join t_department on t_user.defaultdepartment=t_department.ID
+where  t_department.ID in (select  ID from t_department start with ID=#para(ID) connect by prior ID=superior)
+and e.created between to_date(#para(begin),'yyyy-mm-dd hh24:mi:ss') and to_date(#para(end),'yyyy-mm-dd hh24:mi:ss')
+
+#if(name)
+and e.STATELABEL = '结束'
+#else
+and e.STATELABEL != '结束'
+#end
+
+
+#end
+
 ###选择部门
 #sql("department")
  select ID,NAME,SUPERIOR from t_department start with ID=#para(ID) connect by prior ID=superior

+ 24 - 9
src/main/webapp/WEB-INF/view/report/finish.html

@@ -30,6 +30,22 @@
         <div style="float:right;">耗时: {{param.time}}</div>
     </el-form>
     <div id="echart" class="bar"></div>
+    <el-dialog :title="param.name" width="80%" :visible.sync="dialogVisible" top="2%" append-to-body>
+        <el-table :data="tableData" style="width: 100%;">
+            <el-table-column prop="ITEM_WT_NUM" label="委托单号"></el-table-column>
+            <el-table-column prop="ITEM_TITLE" align="center" label="标题"></el-table-column>
+            <el-table-column prop="ITEM_EXPERIMENT_TYPE" align="center" label="实验类型"></el-table-column>
+            <el-table-column prop="ITEM_PRODUCT" align="center" label="产品线"></el-table-column>
+            <el-table-column prop="CREATED" align="center" label="创建时间"></el-table-column>
+            <el-table-column label="操作" align="center">
+                <template slot-scope="scope">
+                    <a target="_blank"
+                       :href="'http://#(ip)/obpm/portal/good/html/form.html?appId=__gAPYBW4YxB3UePM3lqO&docid='+scope.row.ID+'&formId=__0FLGNncOS1lz0T9jsFn&parentId=&isRelate=undefined&opentarget=detail&_=1667359158434'"
+                       @click="detail()">查看</a>
+                </template>
+            </el-table-column>
+        </el-table>
+    </el-dialog>
 </div>
 </body>
 <script src="#(path)/static/js/jquery.min.js"></script>
@@ -43,6 +59,8 @@
     let vm = new Vue({
         el: "#app",
         data: {
+            dialogVisible: false,
+            tableData: [],
             param: {
                 DOMAINID: '#(DOMAINID)',
                 ID: '#(ID)',
@@ -62,15 +80,12 @@
             this.getData();
             myChart = echarts.init(document.getElementById('echart'));
             myChart.on('click', function (params) {
-                layer.open({
-                    type: 2,
-                    title: '',
-                    scrollbar: false, //屏蔽浏览器滚动条
-                    shade: 0.8,
-                    maxmin: false, // 开启最大化最小化按钮
-                    area: ['92%', '95%'],
-                    content: '#(url)' + '&state=' + params.data.name + "&DEPARTMENT_ID=" + vm.param.ID,
-                });
+                vm.dialogVisible = true;
+                vm.param.name = params.name;
+                sendAjax("#(path)/report/finish_list", vm.param, res => {
+                    cancelLoding();
+                    vm.tableData = res.data;
+                })
             })
         },
         methods: {

+ 1 - 1
src/main/webapp/WEB-INF/view/report/model.html

@@ -41,7 +41,7 @@
             <el-table-column label="操作" align="center">
                 <template slot-scope="scope">
                     <a target="_blank"
-                       :href="'http://192.168.0.251/obpm/portal/good/html/form.html?appId=__gAPYBW4YxB3UePM3lqO&docid='+scope.row.ID+'&formId=__0FLGNncOS1lz0T9jsFn&parentId=&isRelate=undefined&opentarget=detail&_=1667359158434'"
+                       :href="'http://#(ip)/obpm/portal/good/html/form.html?appId=__gAPYBW4YxB3UePM3lqO&docid='+scope.row.ID+'&formId=__0FLGNncOS1lz0T9jsFn&parentId=&isRelate=undefined&opentarget=detail&_=1667359158434'"
                        @click="detail()">查看</a>
                 </template>
             </el-table-column>

+ 1 - 1
src/main/webapp/WEB-INF/view/report/product.html

@@ -40,7 +40,7 @@
             <el-table-column label="操作" align="center">
                 <template slot-scope="scope">
                     <a target="_blank"
-                       :href="'http://192.168.0.251/obpm/portal/good/html/form.html?appId=__gAPYBW4YxB3UePM3lqO&docid='+scope.row.ID+'&formId=__0FLGNncOS1lz0T9jsFn&parentId=&isRelate=undefined&opentarget=detail&_=1667359158434'"
+                       :href="'http://#(ip)/obpm/portal/good/html/form.html?appId=__gAPYBW4YxB3UePM3lqO&docid='+scope.row.ID+'&formId=__0FLGNncOS1lz0T9jsFn&parentId=&isRelate=undefined&opentarget=detail&_=1667359158434'"
                        @click="detail()">查看</a>
                 </template>
             </el-table-column>

+ 78 - 0
src/main/webapp/WEB-INF/view/report/time.html

@@ -0,0 +1,78 @@
+#set(title="时间线统计")
+#@header()
+<body>
+<div id="app" v-cloak>
+    <el-form :inline="true" label-width="auto">
+        <el-form-item label="样机型号">
+            <el-input placeholder="请输入样机型号" v-model="param.item_pro_num" clearable />
+        </el-form-item>
+        <el-form-item>
+            <el-button type="primary" icon="el-icon-search" @click="search()">搜索</el-button>
+        </el-form-item>
+        <div style="float:right;">耗时: {{param.time}}</div>
+    </el-form>
+    <div id="echart" class="bar"></div>
+    <el-dialog title="数据查询与统计" width="87%" :visible.sync="dialogVisible" top="2%" append-to-body>
+        <el-table :data="tableData" style="width: 100%;">
+            <el-table-column prop="ITEM_WT_NUM" label="委托单号"></el-table-column>
+            <el-table-column prop="ITEM_TEST_NAME" align="center" label="试验名称"></el-table-column>
+            <el-table-column prop="ITEM_PRO_NUM" align="center" label="样机型号"></el-table-column>
+            <el-table-column prop="ITEM_PRO_TYPE" align="center" label="产品线"></el-table-column>
+            <el-table-column prop="ITEM_SJ_VALUE" align="center" label="设计参数"></el-table-column>
+            <el-table-column prop="ITEM_VALUE" align="center" label="结果值"></el-table-column>
+            <el-table-column prop="ITEM_REMARKS" align="center" label="备注"></el-table-column>
+            <el-table-column prop="CREATED" align="center" label="创建时间"></el-table-column>
+        </el-table>
+    </el-dialog>
+</div>
+</body>
+<script src="#(path)/static/js/jquery.min.js"></script>
+<script src="#(path)/static/js/layer/layer.js"></script>
+<script src="#(path)/static/js/vue.js"></script>
+<script src="#(path)/static/js/common.js"></script>
+<script src="#(path)/static/js/echarts.min.js"></script>
+<script src="#(path)/static/js/element-ui.js"></script>
+<script>
+    let myChart = null;
+    let vm = new Vue({
+        el: "#app",
+        data: {
+            dialogVisible: false,
+            tableData: [],
+            param: {
+                DOMAINID: '#(DOMAINID)',
+                ID: '#(ID)',
+                value: ['#(value)'],
+                begin: '#(begin)',
+                end: '#(end)',
+                created: ['#(begin)', '#(end)'],
+            },
+        },
+        mounted() {
+            this.getData();
+            myChart = echarts.init(document.getElementById('echart'));
+            myChart.on('click', function (params) {
+                vm.dialogVisible = true;
+            })
+        },
+        methods: {
+            handleChange(value) {
+                this.param.ID = value[value.length - 1]
+            },
+            search() {
+                this.param.begin = this.param.created[0];
+                this.param.end = this.param.created[1];
+                this.getData();
+            },
+            getData() {
+                sendAjax("#(path)/report/data", this.param, res => {
+                    cancelLoding();
+                    vm.tableData = res.data;
+                    vm.param.time = res.time;
+                    vm.tableData = res.data;
+                })
+            }
+        }
+    })
+</script>
+</html>

+ 1 - 1
src/main/webapp/WEB-INF/view/report/type.html

@@ -37,7 +37,7 @@
             <el-table-column label="操作" align="center">
                 <template slot-scope="scope">
                     <a target="_blank"
-                       :href="'http://192.168.0.251/obpm/portal/good/html/form.html?appId=__gAPYBW4YxB3UePM3lqO&docid='+scope.row.ID+'&formId=__0FLGNncOS1lz0T9jsFn&parentId=&isRelate=undefined&opentarget=detail&_=1667359158434'"
+                       :href="'http://#(ip)/obpm/portal/good/html/form.html?appId=__gAPYBW4YxB3UePM3lqO&docid='+scope.row.ID+'&formId=__0FLGNncOS1lz0T9jsFn&parentId=&isRelate=undefined&opentarget=detail&_=1667359158434'"
                        @click="detail()">查看</a>
                 </template>
             </el-table-column>