diff --git a/casic-service-person/pom.xml b/casic-service-person/pom.xml
index c9f86cc..0f992bb 100644
--- a/casic-service-person/pom.xml
+++ b/casic-service-person/pom.xml
@@ -44,7 +44,11 @@
3.17
-
+
+ com.casic
+ casic-export-support
+ ${admin.version}
+
diff --git a/casic-service-person/pom.xml b/casic-service-person/pom.xml
index c9f86cc..0f992bb 100644
--- a/casic-service-person/pom.xml
+++ b/casic-service-person/pom.xml
@@ -44,7 +44,11 @@
3.17
-
+
+ com.casic
+ casic-export-support
+ ${admin.version}
+
diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java b/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java
index 245e67f..dabd72a 100644
--- a/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java
+++ b/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java
@@ -3,14 +3,17 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.base.response.ResponseData;
import com.casic.missiles.core.common.constant.factory.PageFactory;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dto.PersonAttendDTO;
+import com.casic.missiles.modular.system.enums.PersonRecordExportEnum;
import com.casic.missiles.modular.system.model.PersonAttendanceLog;
import com.casic.missiles.modular.system.service.IPersonAttendanceLogService;
+import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
@@ -19,6 +22,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
+import java.util.stream.Collectors;
import static com.casic.missiles.modular.constant.PersonConstant.*;
@@ -30,7 +34,7 @@
*/
@Controller
@RequestMapping("/staff")
-public class PersonAttendanceLogController extends BaseController {
+public class PersonAttendanceLogController extends ExportController {
@Autowired
@@ -44,22 +48,44 @@
@ResponseBody
public Object attendanceList(String keywords, String startTime, String endTime) {
Page page = new PageFactory().defaultPage();
+ page.setRecords(listPage(page, keywords, startTime, endTime));
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 获取作业管理分页列表
+ */
+ @SneakyThrows
+ @RequestMapping(value = "/attendance/export")
+ @ResponseBody
+ public void export(String keywords, String startTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ page.setSearchCount(false);
+ page.setSize(Integer.MAX_VALUE);
+ exportExcel(PersonRecordExportEnum.PERSON_JOB_RECORD, listPage(page, keywords, startTime, endTime).stream().map(personAttendDTO -> (Object) personAttendDTO).collect(Collectors.toList()));
+ }
+
+ /**
+ * 考勤记录分页读取
+ *
+ * @param page 分页参数
+ * @param keywords 关键字
+ * @param startTime 开始时间
+ * @param endTime 结束时间
+ * @return
+ */
+ private List listPage(Page page, String keywords, String startTime, String endTime) {
EntityWrapper query = new EntityWrapper<>();
- DataScope scope = null;
- if(ToolUtil.isNotEmpty(startTime)){
- query.ge(CREATE_TIME,startTime);
+ if (ToolUtil.isNotEmpty(startTime)) {
+ query.ge(CREATE_TIME, startTime);
}
- if(ToolUtil.isNotEmpty(endTime)){
- query.le(CREATE_TIME,endTime);
+ if (ToolUtil.isNotEmpty(endTime)) {
+ query.le(CREATE_TIME, endTime);
}
if (ToolUtil.isNotEmpty(keywords)) {
query.andNew().like(NAME, keywords).or().eq(ID_CARD, keywords).or().eq(TEL, keywords);
}
-
-
- List personAttendDTOS = personAttendanceLogService.selectDataScopePage(scope, page, query);
- page.setRecords(personAttendDTOS);
- return ResponseData.success(super.packForBT(page));
+ return personAttendanceLogService.selectDataScopePage(null, page, query);
}
/**
diff --git a/casic-service-person/pom.xml b/casic-service-person/pom.xml
index c9f86cc..0f992bb 100644
--- a/casic-service-person/pom.xml
+++ b/casic-service-person/pom.xml
@@ -44,7 +44,11 @@
3.17
-
+
+ com.casic
+ casic-export-support
+ ${admin.version}
+
diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java b/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java
index 245e67f..dabd72a 100644
--- a/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java
+++ b/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java
@@ -3,14 +3,17 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.base.response.ResponseData;
import com.casic.missiles.core.common.constant.factory.PageFactory;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dto.PersonAttendDTO;
+import com.casic.missiles.modular.system.enums.PersonRecordExportEnum;
import com.casic.missiles.modular.system.model.PersonAttendanceLog;
import com.casic.missiles.modular.system.service.IPersonAttendanceLogService;
+import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
@@ -19,6 +22,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
+import java.util.stream.Collectors;
import static com.casic.missiles.modular.constant.PersonConstant.*;
@@ -30,7 +34,7 @@
*/
@Controller
@RequestMapping("/staff")
-public class PersonAttendanceLogController extends BaseController {
+public class PersonAttendanceLogController extends ExportController {
@Autowired
@@ -44,22 +48,44 @@
@ResponseBody
public Object attendanceList(String keywords, String startTime, String endTime) {
Page page = new PageFactory().defaultPage();
+ page.setRecords(listPage(page, keywords, startTime, endTime));
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 获取作业管理分页列表
+ */
+ @SneakyThrows
+ @RequestMapping(value = "/attendance/export")
+ @ResponseBody
+ public void export(String keywords, String startTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ page.setSearchCount(false);
+ page.setSize(Integer.MAX_VALUE);
+ exportExcel(PersonRecordExportEnum.PERSON_JOB_RECORD, listPage(page, keywords, startTime, endTime).stream().map(personAttendDTO -> (Object) personAttendDTO).collect(Collectors.toList()));
+ }
+
+ /**
+ * 考勤记录分页读取
+ *
+ * @param page 分页参数
+ * @param keywords 关键字
+ * @param startTime 开始时间
+ * @param endTime 结束时间
+ * @return
+ */
+ private List listPage(Page page, String keywords, String startTime, String endTime) {
EntityWrapper query = new EntityWrapper<>();
- DataScope scope = null;
- if(ToolUtil.isNotEmpty(startTime)){
- query.ge(CREATE_TIME,startTime);
+ if (ToolUtil.isNotEmpty(startTime)) {
+ query.ge(CREATE_TIME, startTime);
}
- if(ToolUtil.isNotEmpty(endTime)){
- query.le(CREATE_TIME,endTime);
+ if (ToolUtil.isNotEmpty(endTime)) {
+ query.le(CREATE_TIME, endTime);
}
if (ToolUtil.isNotEmpty(keywords)) {
query.andNew().like(NAME, keywords).or().eq(ID_CARD, keywords).or().eq(TEL, keywords);
}
-
-
- List personAttendDTOS = personAttendanceLogService.selectDataScopePage(scope, page, query);
- page.setRecords(personAttendDTOS);
- return ResponseData.success(super.packForBT(page));
+ return personAttendanceLogService.selectDataScopePage(null, page, query);
}
/**
diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/system/enums/PersonRecordExportEnum.java b/casic-service-person/src/main/java/com/casic/missiles/modular/system/enums/PersonRecordExportEnum.java
new file mode 100644
index 0000000..97f6977
--- /dev/null
+++ b/casic-service-person/src/main/java/com/casic/missiles/modular/system/enums/PersonRecordExportEnum.java
@@ -0,0 +1,67 @@
+package com.casic.missiles.modular.system.enums;
+
+import com.casic.missiles.core.enums.ExportExcelHeaderEnum;
+import org.hswebframework.expands.office.excel.config.Header;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 人员出勤记录导出配置
+ * @author lwh
+ */
+public enum PersonRecordExportEnum implements ExportExcelHeaderEnum {
+ /**
+ * 车辆作业导出配置
+ */
+ PERSON_JOB_RECORD("person.xlsx", "人员出勤记录导出配置", new HashMap() {{
+ this.put("姓名", (short) 6000);
+ this.put("性别", (short) 9000);
+ this.put("身份证号", (short) 6000);
+ this.put("类型", (short) 7000);
+ this.put("岗位", (short) 7000);
+ this.put("打卡日期", (short) 7000);
+ this.put("打卡时间", (short) 7000);
+ }}, new ArrayList() {{
+ this.add(new Header("姓名", "name"));
+ this.add(new Header("性别", "sexName"));
+ this.add(new Header("身份证号", "idcard"));
+ this.add(new Header("类型", "typeName"));
+ this.add(new Header("岗位", "postName"));
+ this.add(new Header("打卡日期", "hireDate"));
+ this.add(new Header("打卡时间", "onJobTime"));
+ }});
+ private String fileName;
+ private String description;
+ private Map customColumnStyle;
+ private List headers;
+
+ PersonRecordExportEnum(String fileName, String description, Map customColumnStyle, List headers) {
+ this.fileName = fileName;
+ this.description = description;
+ this.customColumnStyle = customColumnStyle;
+ this.headers = headers;
+ }
+
+ @Override
+ public List getHeaders() {
+ return this.headers;
+ }
+
+ @Override
+ public String getFileName() {
+ return fileName;
+ }
+
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
+ @Override
+ public Map getCustomColumnStyle() {
+ return customColumnStyle;
+ }
+}
diff --git a/casic-service-person/pom.xml b/casic-service-person/pom.xml
index c9f86cc..0f992bb 100644
--- a/casic-service-person/pom.xml
+++ b/casic-service-person/pom.xml
@@ -44,7 +44,11 @@
3.17
-
+
+ com.casic
+ casic-export-support
+ ${admin.version}
+
diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java b/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java
index 245e67f..dabd72a 100644
--- a/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java
+++ b/casic-service-person/src/main/java/com/casic/missiles/modular/system/controller/PersonAttendanceLogController.java
@@ -3,14 +3,17 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.casic.missiles.core.base.controller.BaseController;
+import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.base.response.ResponseData;
import com.casic.missiles.core.common.constant.factory.PageFactory;
import com.casic.missiles.core.common.service.ICommonPermissionService;
import com.casic.missiles.core.datascope.DataScope;
import com.casic.missiles.core.util.ToolUtil;
import com.casic.missiles.modular.system.dto.PersonAttendDTO;
+import com.casic.missiles.modular.system.enums.PersonRecordExportEnum;
import com.casic.missiles.modular.system.model.PersonAttendanceLog;
import com.casic.missiles.modular.system.service.IPersonAttendanceLogService;
+import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
@@ -19,6 +22,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
+import java.util.stream.Collectors;
import static com.casic.missiles.modular.constant.PersonConstant.*;
@@ -30,7 +34,7 @@
*/
@Controller
@RequestMapping("/staff")
-public class PersonAttendanceLogController extends BaseController {
+public class PersonAttendanceLogController extends ExportController {
@Autowired
@@ -44,22 +48,44 @@
@ResponseBody
public Object attendanceList(String keywords, String startTime, String endTime) {
Page page = new PageFactory().defaultPage();
+ page.setRecords(listPage(page, keywords, startTime, endTime));
+ return ResponseData.success(super.packForBT(page));
+ }
+
+ /**
+ * 获取作业管理分页列表
+ */
+ @SneakyThrows
+ @RequestMapping(value = "/attendance/export")
+ @ResponseBody
+ public void export(String keywords, String startTime, String endTime) {
+ Page page = new PageFactory().defaultPage();
+ page.setSearchCount(false);
+ page.setSize(Integer.MAX_VALUE);
+ exportExcel(PersonRecordExportEnum.PERSON_JOB_RECORD, listPage(page, keywords, startTime, endTime).stream().map(personAttendDTO -> (Object) personAttendDTO).collect(Collectors.toList()));
+ }
+
+ /**
+ * 考勤记录分页读取
+ *
+ * @param page 分页参数
+ * @param keywords 关键字
+ * @param startTime 开始时间
+ * @param endTime 结束时间
+ * @return
+ */
+ private List listPage(Page page, String keywords, String startTime, String endTime) {
EntityWrapper query = new EntityWrapper<>();
- DataScope scope = null;
- if(ToolUtil.isNotEmpty(startTime)){
- query.ge(CREATE_TIME,startTime);
+ if (ToolUtil.isNotEmpty(startTime)) {
+ query.ge(CREATE_TIME, startTime);
}
- if(ToolUtil.isNotEmpty(endTime)){
- query.le(CREATE_TIME,endTime);
+ if (ToolUtil.isNotEmpty(endTime)) {
+ query.le(CREATE_TIME, endTime);
}
if (ToolUtil.isNotEmpty(keywords)) {
query.andNew().like(NAME, keywords).or().eq(ID_CARD, keywords).or().eq(TEL, keywords);
}
-
-
- List personAttendDTOS = personAttendanceLogService.selectDataScopePage(scope, page, query);
- page.setRecords(personAttendDTOS);
- return ResponseData.success(super.packForBT(page));
+ return personAttendanceLogService.selectDataScopePage(null, page, query);
}
/**
diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/system/enums/PersonRecordExportEnum.java b/casic-service-person/src/main/java/com/casic/missiles/modular/system/enums/PersonRecordExportEnum.java
new file mode 100644
index 0000000..97f6977
--- /dev/null
+++ b/casic-service-person/src/main/java/com/casic/missiles/modular/system/enums/PersonRecordExportEnum.java
@@ -0,0 +1,67 @@
+package com.casic.missiles.modular.system.enums;
+
+import com.casic.missiles.core.enums.ExportExcelHeaderEnum;
+import org.hswebframework.expands.office.excel.config.Header;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 人员出勤记录导出配置
+ * @author lwh
+ */
+public enum PersonRecordExportEnum implements ExportExcelHeaderEnum {
+ /**
+ * 车辆作业导出配置
+ */
+ PERSON_JOB_RECORD("person.xlsx", "人员出勤记录导出配置", new HashMap() {{
+ this.put("姓名", (short) 6000);
+ this.put("性别", (short) 9000);
+ this.put("身份证号", (short) 6000);
+ this.put("类型", (short) 7000);
+ this.put("岗位", (short) 7000);
+ this.put("打卡日期", (short) 7000);
+ this.put("打卡时间", (short) 7000);
+ }}, new ArrayList() {{
+ this.add(new Header("姓名", "name"));
+ this.add(new Header("性别", "sexName"));
+ this.add(new Header("身份证号", "idcard"));
+ this.add(new Header("类型", "typeName"));
+ this.add(new Header("岗位", "postName"));
+ this.add(new Header("打卡日期", "hireDate"));
+ this.add(new Header("打卡时间", "onJobTime"));
+ }});
+ private String fileName;
+ private String description;
+ private Map customColumnStyle;
+ private List headers;
+
+ PersonRecordExportEnum(String fileName, String description, Map customColumnStyle, List headers) {
+ this.fileName = fileName;
+ this.description = description;
+ this.customColumnStyle = customColumnStyle;
+ this.headers = headers;
+ }
+
+ @Override
+ public List getHeaders() {
+ return this.headers;
+ }
+
+ @Override
+ public String getFileName() {
+ return fileName;
+ }
+
+ @Override
+ public String getDescription() {
+ return description;
+ }
+
+ @Override
+ public Map getCustomColumnStyle() {
+ return customColumnStyle;
+ }
+}
diff --git a/casic-service-toilet/src/main/java/com/casic/missiles/modular/toilet/service/Impl/ToiletEvaluateServiceImpl.java b/casic-service-toilet/src/main/java/com/casic/missiles/modular/toilet/service/Impl/ToiletEvaluateServiceImpl.java
index bdde9fa..1c67924 100644
--- a/casic-service-toilet/src/main/java/com/casic/missiles/modular/toilet/service/Impl/ToiletEvaluateServiceImpl.java
+++ b/casic-service-toilet/src/main/java/com/casic/missiles/modular/toilet/service/Impl/ToiletEvaluateServiceImpl.java
@@ -74,10 +74,10 @@
eQuery.ge("CREATE_TIME", beginDate);
}
if (ToolUtil.isNotEmpty(endDate)) {
- eQuery.ge("CREATE_TIME", endDate);
+ eQuery.le("CREATE_TIME", endDate);
}
List toiletEvaluates = this.selectList(eQuery);
- map.put("recordsCount", toiletEvaluates.size());
+ map.put("recordsCount", toiletEvaluates.size()-1);
//计算平均值
map.put("avgScore", new BigDecimal(toiletEvaluates.stream().mapToDouble(ToiletEvaluate::getScore).average().orElse(0D)).setScale(1, BigDecimal.ROUND_HALF_UP));