From 1785db0a5fbb3f11482d24d28d6069c54c0c2683 Mon Sep 17 00:00:00 2001 From: skjia <106962133@qq.com> Date: Fri, 26 Jul 2024 14:30:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E9=A1=B5=E9=9D=A2=E5=8F=8A?= =?UTF-8?q?=E5=90=8E=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basis/controller/HomeController.java | 3 - .../com/bonus/aqgqj/basis/dao/HomeDao.java | 2 + .../bonus/aqgqj/basis/entity/vo/HomeVo.java | 4 + .../basis/service/impl/HomeServiceImpl.java | 59 +++++-- .../com/bonus/aqgqj/utils/DateTimeHelper.java | 53 ++++++ .../resources/mappers/basis/HomeMapper.xml | 36 +++- src/main/resources/static/js/home/home.js | 162 ++++++++++++------ .../resources/static/pages/home/home.html | 2 +- 8 files changed, 252 insertions(+), 69 deletions(-) diff --git a/src/main/java/com/bonus/aqgqj/basis/controller/HomeController.java b/src/main/java/com/bonus/aqgqj/basis/controller/HomeController.java index 835ffed..3d92ea2 100644 --- a/src/main/java/com/bonus/aqgqj/basis/controller/HomeController.java +++ b/src/main/java/com/bonus/aqgqj/basis/controller/HomeController.java @@ -41,7 +41,6 @@ public class HomeController { return map; } @PostMapping(value = "getATeamNumForEcharts") - @DecryptAndVerify(decryptedClass = ToolsManageDto.class) public Map getATeamNumForEcharts(HomeVo vo) { Map map=new HashMap<>(); try{ @@ -52,7 +51,6 @@ public class HomeController { return map; } @PostMapping(value = "getATeamCostForEcharts") - @DecryptAndVerify(decryptedClass = ToolsManageDto.class) public Map getATeamCostForEcharts(HomeVo vo) { Map map=new HashMap<>(); try{ @@ -63,7 +61,6 @@ public class HomeController { return map; } @PostMapping(value = "getCostRank") - @DecryptAndVerify(decryptedClass = ToolsManageDto.class) public Map getCostRank(HomeVo vo) { Map map=new HashMap<>(); try{ diff --git a/src/main/java/com/bonus/aqgqj/basis/dao/HomeDao.java b/src/main/java/com/bonus/aqgqj/basis/dao/HomeDao.java index df23ce3..dd1b110 100644 --- a/src/main/java/com/bonus/aqgqj/basis/dao/HomeDao.java +++ b/src/main/java/com/bonus/aqgqj/basis/dao/HomeDao.java @@ -33,4 +33,6 @@ public interface HomeDao { * @return */ List getCostRank(HomeVo vo); + + List getTeams(HomeVo vo); } diff --git a/src/main/java/com/bonus/aqgqj/basis/entity/vo/HomeVo.java b/src/main/java/com/bonus/aqgqj/basis/entity/vo/HomeVo.java index 6654783..7e2645b 100644 --- a/src/main/java/com/bonus/aqgqj/basis/entity/vo/HomeVo.java +++ b/src/main/java/com/bonus/aqgqj/basis/entity/vo/HomeVo.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.Date; +import java.util.List; /** * @className:ExperDeviceVo @@ -16,6 +17,7 @@ import java.util.Date; */ @Data public class HomeVo { + private String id; /** * 待派工 */ @@ -82,4 +84,6 @@ public class HomeVo { private String cooperateDate; private String updateDate; + private String type; + private List listData; } diff --git a/src/main/java/com/bonus/aqgqj/basis/service/impl/HomeServiceImpl.java b/src/main/java/com/bonus/aqgqj/basis/service/impl/HomeServiceImpl.java index 97fd7ac..7e14bd1 100644 --- a/src/main/java/com/bonus/aqgqj/basis/service/impl/HomeServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/basis/service/impl/HomeServiceImpl.java @@ -5,13 +5,13 @@ import com.bonus.aqgqj.basis.dao.ToolsManageDao; import com.bonus.aqgqj.basis.entity.dto.ToolsManageDto; import com.bonus.aqgqj.basis.entity.vo.HomeVo; import com.bonus.aqgqj.basis.service.HomeService; +import com.bonus.aqgqj.utils.DateTimeHelper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** * @description 工器具个体管理 @@ -28,7 +28,7 @@ public class HomeServiceImpl implements HomeService { Map map=new HashMap<>(); try{ List list=dao.getApprovalNum(vo); - HomeVo hvo=new HomeVo(); + HomeVo hvo=list.get(0); map.put("data",hvo); map.put("code","200"); }catch (Exception e){ @@ -41,9 +41,48 @@ public class HomeServiceImpl implements HomeService { public Map getATeamNumForEcharts(HomeVo vo) { Map map=new HashMap<>(); try{ - List list=dao.getATeamNumForEcharts(vo); - HomeVo hvo=new HomeVo(); - map.put("data",hvo); + List dates=new ArrayList<>(); + List teamlist=dao.getTeams(vo); + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + Date date=new Date(); + if("1".equals(vo.getType())){ + Calendar calendar = Calendar.getInstance(); // 获取当前日期和时间 + for (int i = 1; i <= 14; i++) { + calendar.add(Calendar.DAY_OF_MONTH, -1); // 使用add方法减去指定的天数 + date = calendar.getTime(); + } + }else{ + Calendar calendar = Calendar.getInstance(); // 获取当前日期和时间 + for (int i = 1; i <= 6; i++) { + calendar.add(Calendar.DAY_OF_MONTH, -1); // 使用add方法减去指定的天数 + date = calendar.getTime(); + } + } + dates=DateTimeHelper.getDatesBetween(sdf.format(date), sdf.format(new Date())); + List lists=new ArrayList<>(); + List listsalls=new ArrayList<>(); + for(HomeVo teamvo:teamlist){ + List list=dao.getATeamNumForEcharts(teamvo); + if(list==null||list.size()==0){ + continue; + } + lists=new ArrayList<>(); + for(String daetr:dates){ + HomeVo hvod=new HomeVo(); + hvod.setTeamName(teamvo.getTeamName()); + hvod.setTestData(daetr); + hvod.setTestNum("0"); + for(HomeVo hvo:list){ + if(daetr.equals(hvo.getTestData())){ + hvod.setTestNum(hvo.getTestNum()); + } + } + lists.add(hvod); + } + teamvo.setListData(lists); + listsalls.add(teamvo); + } + map.put("data",listsalls); map.put("code","200"); }catch (Exception e){ e.printStackTrace(); @@ -56,8 +95,7 @@ public class HomeServiceImpl implements HomeService { Map map=new HashMap<>(); try{ List list=dao.getATeamCostForEcharts(vo); - HomeVo hvo=new HomeVo(); - map.put("data",hvo); + map.put("data",list); map.put("code","200"); }catch (Exception e){ e.printStackTrace(); @@ -70,8 +108,7 @@ public class HomeServiceImpl implements HomeService { Map map=new HashMap<>(); try{ List list=dao.getCostRank(vo); - HomeVo hvo=new HomeVo(); - map.put("data",hvo); + map.put("data",list); map.put("code","200"); }catch (Exception e){ e.printStackTrace(); diff --git a/src/main/java/com/bonus/aqgqj/utils/DateTimeHelper.java b/src/main/java/com/bonus/aqgqj/utils/DateTimeHelper.java index f8ca85e..ba165b4 100644 --- a/src/main/java/com/bonus/aqgqj/utils/DateTimeHelper.java +++ b/src/main/java/com/bonus/aqgqj/utils/DateTimeHelper.java @@ -780,4 +780,57 @@ public class DateTimeHelper { } return false; } + /** + * 获取本周周日日期 + * @return + */ + public static String getWeekSun(Date date){ + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + c.setTime(date); + // 如果是周日直接返回 + if (c.get(Calendar.DAY_OF_WEEK) == 1) { + return sdf.format(date); + } + //System.out.println(c.get(Calendar.DAY_OF_WEEK)); + c.add(Calendar.DATE, 7 - c.get(Calendar.DAY_OF_WEEK) + 1); + return sdf.format(c.getTime()); + } + /** + * 获取本周周一日期 + * @return + */ + public static String getWeekMon(Date date) { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + c.setTime(date); + if (c.get(Calendar.DAY_OF_WEEK) == 1) { + c.add(Calendar.DAY_OF_MONTH, -1); + } + c.add(Calendar.DATE, c.getFirstDayOfWeek() - c.get(Calendar.DAY_OF_WEEK) + 1); + return sdf.format(c.getTime()); + } + /** + *获取两日期间的日期 + * @param startStr + * @param endStr + * @return + */ + public static List getDatesBetween(String startStr, String endStr) { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + List strs=new ArrayList<>(); + try{ + Date startDate=sdf.parse(startStr); + Date endDate=sdf.parse(endStr); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(startDate); + while (calendar.getTime().before(endDate) || calendar.getTime().equals(endDate)) { + strs.add(sdf.format(calendar.getTime())); + calendar.add(Calendar.DATE, 1); + } + }catch (Exception e){ + + } + return strs; + } } diff --git a/src/main/resources/mappers/basis/HomeMapper.xml b/src/main/resources/mappers/basis/HomeMapper.xml index 9b9e0f0..71c6b3b 100644 --- a/src/main/resources/mappers/basis/HomeMapper.xml +++ b/src/main/resources/mappers/basis/HomeMapper.xml @@ -15,8 +15,14 @@ ) ts + \ No newline at end of file diff --git a/src/main/resources/static/js/home/home.js b/src/main/resources/static/js/home/home.js index 402e9f0..042a315 100644 --- a/src/main/resources/static/js/home/home.js +++ b/src/main/resources/static/js/home/home.js @@ -7,7 +7,7 @@ layui.use(['form', 'layer', 'table', 'laydate','carousel','util'], function () { util=layui.util; console.log("测试") initApproe(); - echartsone(); + echartsone(0); echartstwo(); iniTable(); // layui-table-body @@ -19,10 +19,6 @@ function initApproe(){ var reviewNUm =0; var examineNum =0; var approvalNum =0; - var objs=$(".updateDate"); - $.each(objs, function (index, item) { - $(item).html("2024-07-26") - }) $.ajax({ url: dataUrl + "/home/getApprovalNum", headers: { @@ -31,13 +27,21 @@ function initApproe(){ type: 'POST', async: true, success: function (result) { - if (result.code === 200) { + if (result.code == 200) { if (result.data) { + $("#dispatchWorkNum").html(result.data.dispatchWorkNum); + $("#testNum").html(result.data.testNum); + $("#reloadReviewNUm").html(result.data.reloadReviewNUm); + $("#reviewNUm").html(result.data.reviewNUm); + $("#examineNum").html(result.data.examineNum); + $("#approvalNum").html(result.data.approvalNum); + var objs=$(".updateDate"); + $.each(objs, function (index, item) { + $(item).html(result.data.updateDate) + }) } } - }, error: function (xhr) { - // error(xhr); } }); } @@ -61,19 +65,34 @@ var totalHeight ; var visibleHeight ; var currentScrollTop = 0; function iniTable(){ + $.ajax({ + url: dataUrl + "/home/getCostRank", + headers: { + "token": tokens + }, + type: 'POST', + async: false, + success: function (result) { + if (result.code == 200) { + if (result.data) { + data=result.data; + } + } + } + }); table.render({ elem: '#table-box', data:data, limit: 10000, page:false, cols: [[ - {type: 'numbers', title: '排名', width: '10%',align:"center"}//序号列 - ,{field: 'username', title: '用户名称', width: '20%',align:"center"} - ,{field: 'fee', title: '总金额(元)', width: '15%',align:"center"} - ,{field: 'dingdan', title: '订单量', width: '12%',align:"center"} - ,{field: 'name', title: '联系人', width: '12%',align:"center"} - ,{field: 'phone', title: '联系电话', width: '15%',align:"center"} - ,{field: 'gettime', title: '最近合作时间', width: '15%',align:"center"} + {field: 'num',type:'numbers',align:'center',title: '排名', width:'10%'} + ,{field: 'userName', title: '用户名称', width: '20%',align:"center"} + ,{field: 'totalCost', title: '总金额(元)', width: '15%',align:"center"} + ,{field: 'orderNum', title: '订单量', width: '12%',align:"center"} + ,{field: 'contacts', title: '联系人', width: '12%',align:"center"} + ,{field: 'contactPhone', title: '联系电话', width: '15%',align:"center"} + ,{field: 'cooperateDate', title: '最近合作时间', width: '15%',align:"center"} ]] }); scrollableDiv = $('#table-box + div .layui-table-body'); // 假设你的滚动容器类名为.scrollable @@ -103,8 +122,59 @@ function scrolldiv() { scrollableDiv.scrollTop(currentScrollTop); } } -function echartsone(){ +function getchick(type){ + echartsone(type) +} +var colors=['#0052D9','#B5C7FF','#21C7FF','#21d7dd','#11C7FF'] +function echartsone(type){ var myChart = echarts.init(document.getElementById('echartsone')); + var datearr=[]; + var seriesdata=[]; + var daydata=[]; + $.ajax({ + url: dataUrl + "/home/getATeamNumForEcharts", + headers: { + "token": tokens + }, + data:{type:type}, + type: 'POST', + async: false, + success: function (result) { + if (result.code == 200) { + if (result.data) { + var listData=result.data[0].listData; + $.each(listData, function (index, item) { + daydata.push(item.testData) + }) + $.each(result.data, function (index, itemd) { + var dot={ + name: '实验一班', + type: 'line', + data: [10, 11, 13, 11, 12, 12, 9], + lineStyle: { + color: '#0052D9', + width: 2, + type: 'solid' + }, + // 设置散点(线中的点)颜色 + itemStyle: { + color: '#0052D9' + } + }; + dot.name=itemd.listData[0].teamName; + var testnum=[]; + $.each(itemd.listData, function (index, item) { + testnum.push(item.testNum) + }) + dot.data=testnum; + dot.lineStyle.color=colors[index]; + dot.itemStyle.color=colors[index]; + seriesdata.push(dot); + }) + } + } + } + }); option = { title: { text: '' @@ -127,7 +197,7 @@ function echartsone(){ xAxis: { type: 'category', boundaryGap: false, - data: ['2024-07-01', '2024-07-02', '2024-07-03', '2024-07-04', '2024-07-05', '2024-07-06', '2024-07-07'] + data: daydata }, yAxis: { type: 'value', @@ -135,40 +205,33 @@ function echartsone(){ formatter: '{value}' } }, - series: [ - { - name: '实验一班', - type: 'line', - data: [10, 11, 13, 11, 12, 12, 9], - lineStyle: { - color: '#0052D9', - width: 2, - type: 'solid' - }, - // 设置散点(线中的点)颜色 - itemStyle: { - color: '#0052D9' - } - }, - { - name: '实验二班', - type: 'line', - data: [1, 2, 2, 5, 3, 2, 4], - lineStyle: { - color: '#B5C7FF', - width: 2, - type: 'solid' - }, - // 设置散点(线中的点)颜色 - itemStyle: { - color: '#B5C7FF' - } - } - ] + series: seriesdata }; myChart.setOption(option); } function echartstwo(){ + var datearr=[]; + $.ajax({ + url: dataUrl + "/home/getATeamCostForEcharts", + headers: { + "token": tokens + }, + type: 'POST', + async: false, + success: function (result) { + if (result.code == 200) { + if (result.data) { + $.each(result.data, function (index, item) { + var dat={}; + dat.value= item.testCost; + dat.name=item.teamName; + datearr.push(dat); + }) + } + } + } + }); + console.log(datearr,"datearr") var myChart = echarts.init(document.getElementById('echartstwo')); option = { tooltip: { @@ -186,10 +249,7 @@ function echartstwo(){ type: 'pie', radius: '50%', color: ['#0052D9', '#B5C7FF'], - data: [ - { value: 1048, name: '试验一班' }, - { value: 735, name: '试验二班' } - ] + data: datearr } ] }; diff --git a/src/main/resources/static/pages/home/home.html b/src/main/resources/static/pages/home/home.html index a9f6277..71d1d6c 100644 --- a/src/main/resources/static/pages/home/home.html +++ b/src/main/resources/static/pages/home/home.html @@ -84,7 +84,7 @@
-
班组工作情况统计(试验数)
+
班组工作情况统计(试验数)