地质所 沉降监测网建设项目
suerwei
2024-05-28 bc9f9097d1da4d431fdfe670d77521fd705baf53
首页,详情页,统计出入库
9个文件已修改
254 ■■■■ 已修改文件
javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-admin/src/main/resources/templates/index.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-admin/src/main/resources/templates/main.html 89 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/TubLogController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/TubLogMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/ITubLogService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/TubLogMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/info.html 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
javaweb-plus/javaweb-admin/src/main/java/com/javaweb/web/controller/system/SysIndexController.java
@@ -252,7 +252,7 @@
    @GetMapping("/system/tubLogData")
    public AjaxResult tubLogData() {
        AjaxResult ajaxResult = new AjaxResult();
        List<TubLog> tubLogs = tubLogMapper.countTubLogDate();
        List<TubLog> tubLogs = tubLogMapper.countTubLogDate(null);
        ajaxResult.put("tubLogs",tubLogs);
        return  ajaxResult;
    }
javaweb-plus/javaweb-admin/src/main/resources/templates/index.html
@@ -231,7 +231,7 @@
                    th:src="@{/system/main}" frameborder="0" seamless></iframe>
        </div>
        <div class="footer">
            <div class="pull-right">Copyright © 2022.工程勘察地质信息查询服务平台 All Rights Reserved. Powered by. 京ICP备</div>
            <div class="pull-right">Copyright © 2024.钻探工程信息化系统 All Rights Reserved. Powered by. 京ICP备</div>
        </div>
    </div>
    <!--右侧部分结束-->
javaweb-plus/javaweb-admin/src/main/resources/templates/main.html
@@ -263,26 +263,29 @@
                    <div style="height: 200px;width: 100%;">
                        <h3>材料统计</h3>
                        <el-col :span="10" style="height: 200px;">
                            <template>
                                <el-table :data="tubLogs" border size="small" style="width: 100%"
                                          :header-cell-style="{color: '#4D4D4D',background: '#F7931E',fontWeight: '400'}"
                                          :row-class-name="tableRowClassName">
<!--                                    <el-table-column prop="code" label="序号"></el-table-column>-->
                                    <el-table-column prop="tubName" label="名称"></el-table-column>
                                    <el-table-column prop="inboundNumber" label="入库数量"></el-table-column>
                                    <el-table-column prop="outboundNumber" label="出库数量"></el-table-column>
                                    <el-table-column prop="unit" label="单位"></el-table-column>
                            <div style="margin-top: 15px">
                                <template>
                                    <el-table :data="tubLogs" border size="small" style="width: 100%"
                                              :header-cell-style="{color: '#4D4D4D',background: '#F7931E',fontWeight: '400'}"
                                              :row-class-name="tableRowClassName">
                                        <!--                                    <el-table-column prop="code" label="序号"></el-table-column>-->
                                        <el-table-column prop="tubName" label="名称"></el-table-column>
                                        <el-table-column prop="inboundNumber" label="入库数量"></el-table-column>
                                        <el-table-column prop="outboundNumber" label="出库数量"></el-table-column>
                                        <el-table-column prop="unit" label="单位"></el-table-column>
                                </el-table>
                            </template>
                                    </el-table>
                                </template>
                            </div>
                        </el-col>
                        <el-col :span="14" style="height: 200px;">
                            <div id="column-chart" style="height: 180px; width: 100%;"></div>
                        </el-col>
                    </div>
                </el-card>
                <el-card class="box-card" style="margin-top: 20px;">
                    <div id="map_div" style="width: 100%;height: 550px;"></div>
                    <div id="map_div" style="width: 100%;height: 550px;margin-top: -5px"></div>
                </el-card>
            </el-col>
@@ -370,13 +373,71 @@
    }
    function tubLogs() {
        const chart = echarts.init(document.getElementById("column-chart"));
        const option = {
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    type: 'shadow'
                }
            },
            legend: {},
            grid: {
                left: '3%',
                right: '4%',
                bottom: '3%',
                containLabel: true
            },
            xAxis: [
                {
                    type: 'category',
                    data: []
                }
            ],
            yAxis: [
                {
                    type: 'value'
                }
            ],
            series: [
                {
                    name: '出库',
                    type: 'bar',
                    emphasis: {
                        focus: 'series'
                    },
                    data: []
                },
                {
                    name: '入库',
                    type: 'bar',
                    stack: 'Ad',
                    emphasis: {
                        focus: 'series'
                    },
                    data: []
                },
            ]
        };
        let url = ctx + "/system/tubLogData";
        $.ajaxSettings.async = false;
        $.get(url,{},function(res){
            vm.tubLogs = res.tubLogs;
            res.tubLogs.forEach(function(value, index, array) {
                const tubName = value.tubName;
                const inboundNumber = value.inboundNumber;
                const outboundNumber = value.outboundNumber;
                const unit = value.unit;
                option.xAxis[0].data[index] = tubName;
                option.series[0].data[index] = outboundNumber;
                option.series[1].data[index] = inboundNumber;
            });
            chart.setOption(option, true);
        })
        $.ajaxSettings.async = false;
        console.log(vm.tubLogs);
    }
    //首页第一行个数统计
@@ -397,8 +458,6 @@
            vm.stationProcessData = res.projectData;
        })
        $.ajaxSettings.async = false;
        console.log(vm.stationProcessData);
    }
    var vm = new Vue({
        el: "#app",
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/controller/TubLogController.java
@@ -141,10 +141,10 @@
    /**
     * 统计
     */
    @GetMapping("/countTubLogDate")
    @GetMapping("/countTubLogDate/{projectId}")
    @ResponseBody
    public AjaxResult countTubLogDate() {
        return tubLogService.countTubLogDate();
    public AjaxResult countTubLogDate(@PathVariable("projectId") String projectId) {
        return tubLogService.countTubLogDate(projectId);
    }
}
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/mapper/TubLogMapper.java
@@ -70,5 +70,5 @@
    /**
     * 统计
     */
    List<TubLog> countTubLogDate();
    List<TubLog> countTubLogDate(@Param("projectId") String projectId);
}
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/ITubLogService.java
@@ -76,5 +76,5 @@
    /**
     * 统计
     */
    AjaxResult countTubLogDate();
    AjaxResult countTubLogDate(String projectId);
}
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java
@@ -111,8 +111,8 @@
     * 统计
     */
    @Override
    public AjaxResult countTubLogDate() {
        List<TubLog> list = tubLogMapper.countTubLogDate();
    public AjaxResult countTubLogDate(String projectId) {
        List<TubLog> list = tubLogMapper.countTubLogDate(projectId);
        return AjaxResult.success("查询成功!",list);
    }
javaweb-plus/javaweb-cms/src/main/resources/mapper/geo/TubLogMapper.xml
@@ -52,7 +52,7 @@
        SELECT MAX(id) FROM js_tub_log where project_id = #{projectId}
    </select>
    <select id="countTubLogDate" resultMap="TubLogResult">
    <select id="countTubLogDate2" resultMap="TubLogResult">
        SELECT
            a.tub_name,
            b.inbound_number,
@@ -63,6 +63,22 @@
            LEFT JOIN ( SELECT tub_name, SUM( number ) AS inbound_number, unit FROM js_tub_log WHERE inbound_date IS NOT NULL GROUP BY tub_name ) b ON a.tub_name = b.tub_name
    </select>
    <select id="countTubLogDate" resultMap="TubLogResult">
       SELECT
            a.project_id,
            a.tub_name,
            b.inbound_number,
            a.outbound_number,
            a.unit
        FROM
            ( SELECT project_id, tub_name, SUM( number ) AS outbound_number, unit FROM js_tub_log WHERE outbound_date IS NOT NULL GROUP BY tub_name ) a
            LEFT JOIN ( SELECT project_id, tub_name, SUM( number ) AS inbound_number, unit FROM js_tub_log WHERE inbound_date IS NOT NULL GROUP BY tub_name ) b ON a.tub_name = b.tub_name
            AND a.project_id = b.project_id
        <where>
            <if test="projectId != null and projectId != ''"> and a.project_id = #{projectId}</if>
        </where>
    </select>
    <insert id="insertTubLog" parameterType="TubLog" useGeneratedKeys="true" keyProperty="id">
        insert into js_tub_log
        <trim prefix="(" suffix=")" suffixOverrides=",">
javaweb-plus/javaweb-cms/src/main/resources/templates/geo/project/info.html
@@ -157,11 +157,49 @@
        </el-row>
        <el-row style="height: 200px;">
            <el-col :span="24">
                <el-card class="box-card  card-green" style="height: 320px;margin-top: 20px">
                    <div slot="header" class="clearfix">
                        <span>材料信息</span>
                    </div>
                <el-card class="box-card  card-green"  style="height: 320px;margin-top: 20px">
                        <div slot="header" class="clearfix">
                            <span>材料统计</span>
                        </div>
                        <el-col :span="10" style="height: 320px;">
                            <template>
                                <el-table :data="tubLogs" border size="small" style="width: 100%"
                                          :header-cell-style="{color: '#4D4D4D',background: '#F7931E',fontWeight: '400'}"
                                          :row-class-name="tableRowClassName">
                                    <el-table-column prop="tubName" label="名称"></el-table-column>
                                    <el-table-column prop="inboundNumber" label="入库数量"></el-table-column>
                                    <el-table-column prop="outboundNumber" label="出库数量"></el-table-column>
                                    <el-table-column prop="unit" label="单位"></el-table-column>
                                </el-table>
                            </template>
                        </el-col>
                        <el-col :span="14" style="height: 320px;">
                            <div id="column-chart" style="height: 250px; width: 100%;"></div>
                        </el-col>
                </el-card>
<!--                <el-card class="box-card  card-green" style="height: 320px;margin-top: 20px">-->
<!--                    <div slot="header" class="clearfix">-->
<!--                        <span>材料信息</span>-->
<!--                    </div>-->
<!--                    <div>-->
<!--                        <template>-->
<!--                            <el-table :data="tubLogs" border size="small" style="width: 100%"-->
<!--                                      :header-cell-style="{color: '#4D4D4D',background: '#F7931E',fontWeight: '400'}"-->
<!--                                      :row-class-name="tableRowClassName">-->
<!--                                &lt;!&ndash;                                    <el-table-column prop="code" label="序号"></el-table-column>&ndash;&gt;-->
<!--                                <el-table-column prop="tubName" label="名称"></el-table-column>-->
<!--                                <el-table-column prop="inboundNumber" label="入库数量"></el-table-column>-->
<!--                                <el-table-column prop="outboundNumber" label="出库数量"></el-table-column>-->
<!--                                <el-table-column prop="unit" label="单位"></el-table-column>-->
<!--                            </el-table>-->
<!--                        </template>-->
<!--                    </div>-->
<!--                </el-card>-->
            </el-col>
        </el-row>
@@ -169,12 +207,14 @@
    <th:block th:include="include :: footer" />
    <script th:src="@{/ajax/libs/report/echarts/echarts-all.js}"></script>
   <script th:inline="javascript">
        var project =[[${project}]];
        var projectId=[[${projectId}]];
        var statusDatas = [[${@dict.getType('hole_status')}]];
        var prefix = ctx + "geo/hole";
        var prefix2 = ctx + "geo/TubLog";
        $(function() {
            var url = prefix + "/holelist?projectId=" + projectId;
@@ -183,10 +223,77 @@
                vm.holeData = res.data;
            });
            vm.project = project;
            console.log(vm.project);
            console.log(vm.holeData);
            tubLogs();
        });
        function tubLogs() {
            const chart = echarts.init(document.getElementById("column-chart"));
            const option = {
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {
                        type: 'shadow'
                    }
                },
                legend: {},
                grid: {
                    left: '3%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true
                },
                xAxis: [
                    {
                        type: 'category',
                        data: []
                    }
                ],
                yAxis: [
                    {
                        type: 'value'
                    }
                ],
                series: [
                    {
                        name: '出库',
                        type: 'bar',
                        emphasis: {
                            focus: 'series'
                        },
                        data: []
                    },
                    {
                        name: '入库',
                        type: 'bar',
                        stack: 'Ad',
                        emphasis: {
                            focus: 'series'
                        },
                        data: []
                    },
                ]
            };
            let url = prefix2 + "/countTubLogDate/" + projectId;
            $.ajaxSettings.async = false;
            $.get(url,{},function(res){
                vm.tubLogs = res.data;
                res.data.forEach(function(value, index, array) {
                    const tubName = value.tubName;
                    const inboundNumber = value.inboundNumber;
                    const outboundNumber = value.outboundNumber;
                    const unit = value.unit;
                    option.xAxis[0].data[index] = tubName;
                    option.series[0].data[index] = outboundNumber;
                    option.series[1].data[index] = inboundNumber;
                });
                chart.setOption(option, true);
            })
            $.ajaxSettings.async = false;
        }
        var vm = new Vue({
            el: "#app",
@@ -194,9 +301,17 @@
                return {
                    project: "",
                    holeData: [],
                    tubLogs:[],
                };
            },
            methods: {
                tableRowClassName({ row, rowIndex }) {
                    if (rowIndex % 2 == 0) {
                        return "";
                    } else {
                        return "warning-row";
                    }
                },
            }
        });