diff --git a/modules/bmw/src/main/java/com/bonus/bmw/homePage/controller/HomeSubPageController.java b/modules/bmw/src/main/java/com/bonus/bmw/homePage/controller/HomeSubPageController.java index 77ab094..899cafe 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/homePage/controller/HomeSubPageController.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/homePage/controller/HomeSubPageController.java @@ -1,5 +1,6 @@ package com.bonus.bmw.homePage.controller; +import com.bonus.bmw.homePage.entity.SevenNotAttWorkerBean; import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean; import com.bonus.bmw.homePage.service.HomeSubPageService; import com.bonus.common.core.table.PageTableRequest; @@ -107,4 +108,12 @@ public class HomeSubPageController { return service.getWorkerMsgDetail(bean); } + + @Log(title = "首页-七天未打卡详情页面", businessType = BusinessType.SELECT) + @PostMapping("getSevenNotAttWorker") +// @RequiresPermissions("sys:collectReturn:query") + public PageTableResponse getSevenNotAttWorker(PageTableRequest request){ + return service.getSevenNotAttWorker(request); + } + } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/homePage/dao/HomePageDao.java b/modules/bmw/src/main/java/com/bonus/bmw/homePage/dao/HomePageDao.java index 40e895c..986eaa8 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/homePage/dao/HomePageDao.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/homePage/dao/HomePageDao.java @@ -90,4 +90,10 @@ public interface HomePageDao { void insertProRankCache(List rankList); List getProRankCache(ProMsgBean o); + + /** + * 七天未打卡 + * @return + */ + int getSevenDayNotAttWorker(@Param("subComId") String subComId); } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/homePage/dao/HomeSubPageDao.java b/modules/bmw/src/main/java/com/bonus/bmw/homePage/dao/HomeSubPageDao.java index 6ca6b67..b0c9e1b 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/homePage/dao/HomeSubPageDao.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/homePage/dao/HomeSubPageDao.java @@ -1,9 +1,6 @@ package com.bonus.bmw.homePage.dao; -import com.bonus.bmw.homePage.entity.BuildProBean; -import com.bonus.bmw.homePage.entity.CertificateReadBean; -import com.bonus.bmw.homePage.entity.CollectBean; -import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean; +import com.bonus.bmw.homePage.entity.*; import com.bonus.bmw.person.entity.ContractBean; import com.bonus.bmw.person.entity.MapBean; import org.apache.ibatis.annotations.Mapper; @@ -44,4 +41,11 @@ public interface HomeSubPageDao { * @return */ List selectCollect(CollectBean bean); + + /** + * 七天未打卡 + * @param params + * @return + */ + List getSevenNotAttWorker(@Param("params") Map params); } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/homePage/entity/HomePageBean.java b/modules/bmw/src/main/java/com/bonus/bmw/homePage/entity/HomePageBean.java index b34294b..c414b5c 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/homePage/entity/HomePageBean.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/homePage/entity/HomePageBean.java @@ -172,4 +172,6 @@ public class HomePageBean { private String proGeneralName; @Excel(name = "专业工程数量") private String proNum; + //七天未打卡 + private int sevenDayNotAttWorker; } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/homePage/entity/SevenNotAttWorkerBean.java b/modules/bmw/src/main/java/com/bonus/bmw/homePage/entity/SevenNotAttWorkerBean.java new file mode 100644 index 0000000..4313aee --- /dev/null +++ b/modules/bmw/src/main/java/com/bonus/bmw/homePage/entity/SevenNotAttWorkerBean.java @@ -0,0 +1,82 @@ +package com.bonus.bmw.homePage.entity; + +import com.bonus.bmw.getplan.entity.InfDayPlanFillContentBean; +import com.bonus.bmw.person.entity.ContractBean; +import com.bonus.bmw.team.entity.LightStatusBean; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +import java.util.List; + +/** + * 在建 bean + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ToString +public class SevenNotAttWorkerBean { + + /** + * 工程id + */ + private Integer proId; + + /** + * 工程名 + */ + private String proName; + + /** + * 分包单位id + */ + private Integer subId; + + /** + * 分包单位名称 + */ + private String subName; + + /** + * 班组id + */ + private Integer teamId; + + /** + * 班组name + */ + private String teamName; + + /** + * 人员姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idNumber; + + /** + * 岗位id + */ + private String postId; + + /** + * 岗位 + */ + private String postName; + + /** + * 入场时间 + */ + private String einTime; + + /** + * 最新打卡时间 + */ + private String lastClockDay; + +} diff --git a/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomePageServiceImpl.java b/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomePageServiceImpl.java index 7cd333b..0de95c8 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomePageServiceImpl.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomePageServiceImpl.java @@ -47,11 +47,14 @@ public class HomePageServiceImpl implements HomePageService { @Override public HomePageBean getDataOverview(HomePageBean o) { List list = dao.getHomeCacheData(o); + //七天未打卡 20260205 HomePageBean homePageBean = new HomePageBean(); - if (list.size() > 0) { + int num = dao.getSevenDayNotAttWorker(o.getSubComId()); + if (!list.isEmpty()) { homePageBean.setUpdateTime(list.get(0).getUpdateTime()); if (list.size() == 1) { homePageBean = list.get(0); + homePageBean.setSevenDayNotAttWorker(num); } else { //总工程数 Integer proGeneralNum = dao.getProGeneralNum(o); @@ -98,6 +101,7 @@ public class HomePageServiceImpl implements HomePageService { homePageBean.setMediumRiskNum(mediumRiskNum); homePageBean.setLowRiskNum(lowRiskNum); homePageBean.setPlanAttNum(planAttNum); + homePageBean.setSevenDayNotAttWorker(num); } } return homePageBean; diff --git a/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomeSubPageService.java b/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomeSubPageService.java index 5f76c06..50f1132 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomeSubPageService.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomeSubPageService.java @@ -1,5 +1,6 @@ package com.bonus.bmw.homePage.service; +import com.bonus.bmw.homePage.entity.SevenNotAttWorkerBean; import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean; import com.bonus.common.core.table.PageTableRequest; import com.bonus.common.core.table.PageTableResponse; @@ -17,4 +18,6 @@ public interface HomeSubPageService { PageTableResponse getDayPlanMsg(PageTableRequest request); WorkerMsgDetailBean getWorkerMsgDetail(WorkerMsgDetailBean bean); + + PageTableResponse getSevenNotAttWorker(PageTableRequest request); } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomeSubPageServiceImpl.java b/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomeSubPageServiceImpl.java index 04ee6e5..974fb03 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomeSubPageServiceImpl.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/homePage/service/HomeSubPageServiceImpl.java @@ -4,10 +4,7 @@ import cn.hutool.core.date.DateUtil; import com.bonus.bmw.getplan.entity.InfDayPlanFillContentBean; import com.bonus.bmw.getplan.service.GetPlanInnerService; import com.bonus.bmw.homePage.dao.HomeSubPageDao; -import com.bonus.bmw.homePage.entity.BuildProBean; -import com.bonus.bmw.homePage.entity.CertificateReadBean; -import com.bonus.bmw.homePage.entity.CollectBean; -import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean; +import com.bonus.bmw.homePage.entity.*; import com.bonus.bmw.person.entity.ContractBean; import com.bonus.bmw.person.entity.MapBean; import com.bonus.bmw.planData.entity.InDayPlanPersonBean; @@ -341,6 +338,47 @@ public class HomeSubPageServiceImpl implements HomeSubPageService { return o; } + @Override + public PageTableResponse getSevenNotAttWorker(PageTableRequest request) { + try{ + Map params = request.getParams(); +// String proName = (String) params.get("proName"); + List list = dao.getSevenNotAttWorker(params); + return new PageTableHandler(new PageTableHandler.CountHandler() { + @Override + public int count(PageTableRequest request1) { + return list.size(); + } + }, new PageTableHandler.ListHandler() { + @Override + public List list(PageTableRequest request1) { + List beanList; + Integer offset = request.getOffset(); + Integer limit = request.getLimit(); + if ((offset + limit) < list.size()) { + beanList = list.subList(offset, offset + limit); + } else { + beanList = list.subList(offset, list.size()); + } + return beanList; + } + }).handle(request); + }catch (Exception e){ + log.error(e.getMessage(),e); + return new PageTableHandler(new PageTableHandler.CountHandler() { + @Override + public int count(PageTableRequest request1) { + return 0; + } + }, new PageTableHandler.ListHandler() { + @Override + public List list(PageTableRequest request1) { + return null; + } + }).handle(request); + } + } + public List collectPlan(Map params, List list){ if (StringUtils.isNotEmpty((String) params.get("userId"))) { List listCollect = Optional.ofNullable(dao.selectCollect( diff --git a/modules/bmw/src/main/resources/mapper/homePage/HomePageMapper.xml b/modules/bmw/src/main/resources/mapper/homePage/HomePageMapper.xml index aa5148b..836a85d 100644 --- a/modules/bmw/src/main/resources/mapper/homePage/HomePageMapper.xml +++ b/modules/bmw/src/main/resources/mapper/homePage/HomePageMapper.xml @@ -623,4 +623,31 @@ - \ No newline at end of file + + + diff --git a/modules/bmw/src/main/resources/mapper/homePage/HomeSubPageMapper.xml b/modules/bmw/src/main/resources/mapper/homePage/HomeSubPageMapper.xml index 838d5d0..017d24d 100644 --- a/modules/bmw/src/main/resources/mapper/homePage/HomeSubPageMapper.xml +++ b/modules/bmw/src/main/resources/mapper/homePage/HomeSubPageMapper.xml @@ -479,4 +479,34 @@ and is_active = 1 - \ No newline at end of file + + diff --git a/modules/bmw/src/main/resources/static/css/work/indexScreen/indexScreen.css b/modules/bmw/src/main/resources/static/css/work/indexScreen/indexScreen.css index 396cf67..775ec95 100644 --- a/modules/bmw/src/main/resources/static/css/work/indexScreen/indexScreen.css +++ b/modules/bmw/src/main/resources/static/css/work/indexScreen/indexScreen.css @@ -304,7 +304,7 @@ html { background-size: 100%; background-position: 10%; } -#planPerNum>div:nth-child(1){ +#sevenDayNotAtt>div:nth-child(1){ width: 35%; height: 100%; background-image: url("../../../img/work/indexScreen/planPerNum.png"); @@ -765,4 +765,4 @@ html { font-size: 15px; text-align: center; margin-top: 5%; -} \ No newline at end of file +} diff --git a/modules/bmw/src/main/resources/static/js/publicJs.js b/modules/bmw/src/main/resources/static/js/publicJs.js index 1ec72eb..dee2cfc 100644 --- a/modules/bmw/src/main/resources/static/js/publicJs.js +++ b/modules/bmw/src/main/resources/static/js/publicJs.js @@ -65,4 +65,4 @@ function isWeakPassword(password) { }else{ return false; } -} \ No newline at end of file +} diff --git a/modules/bmw/src/main/resources/static/js/work/indexScreen/child/SevenDayNotAtt.js b/modules/bmw/src/main/resources/static/js/work/indexScreen/child/SevenDayNotAtt.js new file mode 100644 index 0000000..9ab89ca --- /dev/null +++ b/modules/bmw/src/main/resources/static/js/work/indexScreen/child/SevenDayNotAtt.js @@ -0,0 +1,126 @@ +let addLoadingMsg; +var example = null; +var pers = null; +var layer; +var form; +var subComId = localStorage.getItem('subComIds'); +layui.use(['layer', 'form'], function () { + layer = layui.layer; + form = layui.form; + init(); + pers = checkPermission(); + $("#searchBt").click(function () { + example.ajax.reload(); + }); + $("#resetBt").click(function () { + $("#proName").val(""); + form.render(); + example.ajax.reload(); + }); +}); + +//数据加载 +function init() { + example = + $('#dt-table').DataTable({ + "sort": false, + "searching": false, + "processing": true, //加载数据时显示进度状态 + "serverSide": true, + //表头固定 + "fixedHeader": true, + "scrollX": "500px", + "scrollY": "650px", + "scrollCollapse": true, + "language": { + "url": ctxPath + "/js/plugin/datatables/Chinese.lang" + }, + "ajax": { + "url": ctxPath + "/homeSubPage/getSevenNotAttWorker", + "type": "post", + "data": function (d) { + d.proName = $("#proName").val(); + d.subComId = subComId; + }, + "error": function (xhr, textStatus, errorThrown) { + var msg = xhr.responseText; + console.log(msg); + var response = JSON.parse(msg); + var code = response.code; + var message = response.message; + if (code == 400) { + layer.msg(message); + } else if (code == 401) { + localStorage.removeItem("smz-token"); + layer.msg("token过期,请先登录", {shift: -1, time: 1000}, function () { + location.href = ctxPath + '/login.html'; + }); + } else if (code == 403) { + console.log("未授权:" + message); + layer.msg('未授权'); + } else if (code == 500) { + console.log('系统错误:' + message); + } + } + }, + "drawCallback": function() { + // alert( '表格重绘了' ); + var thisDataTable = $('#dt-table').DataTable(); + $(".pagination").append("
  • " + + "" + + "确认
  • "); + //点击按钮跳转指定页数 + $('#dataTable-btn').click(function (e) { + if ($("#changePage").val() && $("#changePage").val() > 0) { + var redirectpage = $("#changePage").val() - 1; + } else { + var redirectpage = 0; + } + thisDataTable.page(redirectpage).draw( 'page' ); + }); + //敲击回车键跳转指定页数 + $("#changePage").keypress(function (e) { + if(event.keyCode==13){ + if ($("#changePage").val() && $("#changePage").val() > 0) { + var redirectpage = $("#changePage").val() - 1; + } else { + var redirectpage = 0; + } + thisDataTable.page(redirectpage).draw( 'page' ); + } + }); + }, + "dom": "<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-4 col-xs-4 hidden-xs'i><'col-xs-8 col-sm-8' p v>>", + "columns": [ + { + width: '4%', + data: function (row, type, set, meta) { + var c = meta.settings._iDisplayStart + meta.row + 1; + return c; + } + }, + {"data": "name", "defaultContent": "",}, + {"data": "idNumber", "defaultContent": "",}, + {"data": "proName", "defaultContent": "",}, + {"data": "subName", "defaultContent": "",}, + {"data": "teamName", "defaultContent": "",}, + {"data": "einTime", "defaultContent": "",}, + {"data": "lastClockDay", "defaultContent": "",}, + ], + "order": [[0, "desc"], [1, "asc"]] //在栏目列上显示排序功能 + }); +} + +//导出 +function exportData() { + var proGeneralName = $("#proGeneralName").val(); + window.location.href = ctxPath + "/homePage/exportData?token=" + token + + "&proGeneralName=" + proGeneralName +} + +//刷新页面 +function reloading() { + var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引 + parent.layer.close(index); //再执行关闭 + window.parent.location.reload(); +} diff --git a/modules/bmw/src/main/resources/static/js/work/indexScreen/indexScreen.js b/modules/bmw/src/main/resources/static/js/work/indexScreen/indexScreen.js index 92f5072..165e4e7 100644 --- a/modules/bmw/src/main/resources/static/js/work/indexScreen/indexScreen.js +++ b/modules/bmw/src/main/resources/static/js/work/indexScreen/indexScreen.js @@ -194,6 +194,7 @@ function dataOverview(subCompanyId) { $('#mediumRisk').text(data.data.mediumRiskNum); $('#lowRisk').text(data.data.lowRiskNum); $('#planNum').text(data.data.planPersonNum); + $('#sevenDayNotAttNum').text(data.data.sevenDayNotAttWorker) $('#refreshTime').text(data.data.updateTime == null ? '数据更新时间:--' : '数据更新时间:' + data.data.updateTime); closeLayer(); if (flag) { @@ -786,6 +787,21 @@ function planPerClick(type, value) { }); } + +//七天未打卡人数 +function sevenDayNotAttClick() { + var height = '99%'; + var width = '75%'; + var index = layer.open({ + title: ['七天未打卡详情', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], + type: 2, + content: 'child/SevenDayNotAtt.html', + area: [width, height], + scrollbar: false, // 暂时屏蔽浏览器滚动条 + maxmin: false + }); +} + //电压ECharts function proInformationLevelECharts(listRank) { //先销毁 @@ -1921,4 +1937,4 @@ function divisionOperation(a, b) { return (a / b * 100).toFixed(2); } -} \ No newline at end of file +} diff --git a/modules/bmw/src/main/resources/static/pages/work/indexScreen/child/SevenDayNotAtt.html b/modules/bmw/src/main/resources/static/pages/work/indexScreen/child/SevenDayNotAtt.html new file mode 100644 index 0000000..3c27e01 --- /dev/null +++ b/modules/bmw/src/main/resources/static/pages/work/indexScreen/child/SevenDayNotAtt.html @@ -0,0 +1,78 @@ + + + + + 七天未打卡 + + + + + + + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    + +
    +
    + + +
    +
    +
    +
    +
    + +
    +
    + + + + + + + + + + + + + + + +
    序号姓名身份证工程名分包名字班组名字入场时间最后打卡时间
    +
    +
    +
    +
    + + + + + + + + + + + + diff --git a/modules/bmw/src/main/resources/static/pages/work/indexScreen/indexScreen.html b/modules/bmw/src/main/resources/static/pages/work/indexScreen/indexScreen.html index a59128c..e581900 100644 --- a/modules/bmw/src/main/resources/static/pages/work/indexScreen/indexScreen.html +++ b/modules/bmw/src/main/resources/static/pages/work/indexScreen/indexScreen.html @@ -81,6 +81,11 @@
    --
    今日打卡
    +
    +
    +
    --
    +
    七天未打卡人数
    +