| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.jeesite.modules.mes.web;
- import java.time.LocalDate;
- import java.time.LocalDateTime;
- import java.time.LocalTime;
- import java.time.format.DateTimeFormatter;
- import java.util.List;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import com.jeesite.common.entity.Page;
- import com.jeesite.common.lang.DateUtils;
- import com.jeesite.common.lang.StringUtils;
- import com.jeesite.common.utils.excel.ExcelExport;
- import com.jeesite.common.web.BaseController;
- import com.jeesite.modules.mes.entity.MesPieceSalaryReport;
- import com.jeesite.modules.mes.service.MesPieceSalaryReportService;
- /**
- * 计件工资核算Controller
- */
- @Controller
- @RequestMapping(value = "${adminPath}/mes/mesPieceSalaryReport")
- public class MesPieceSalaryReportController extends BaseController {
- private static final DateTimeFormatter DATE_TIME_FMT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
- @Autowired
- private MesPieceSalaryReportService mesPieceSalaryReportService;
- @RequiresPermissions("mes:mesPieceSalaryReport:view")
- @RequestMapping(value = {"list", ""})
- public String list(MesPieceSalaryReport report, Model model) {
- // 默认按当月统计
- fillDefaultMonthRange(report);
- model.addAttribute("mesPieceSalaryReport", report);
- return "modules/mes/mesPieceSalaryReportList";
- }
- @RequiresPermissions("mes:mesPieceSalaryReport:view")
- @RequestMapping(value = "listData")
- @ResponseBody
- public Page<MesPieceSalaryReport> listData(MesPieceSalaryReport report,
- HttpServletRequest request, HttpServletResponse response) {
- report.setPage(new Page<>(request, response));
- return mesPieceSalaryReportService.findPage(report);
- }
- @RequiresPermissions("mes:mesPieceSalaryReport:view")
- @RequestMapping(value = "exportData")
- public void exportData(MesPieceSalaryReport report, HttpServletResponse response) {
- List<MesPieceSalaryReport> list = mesPieceSalaryReportService.findList(report);
- String fileName = "\u8ba1\u4ef6\u5de5\u8d44\u8868" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
- try (ExcelExport ee = new ExcelExport("\u8ba1\u4ef6\u5de5\u8d44\u8868", MesPieceSalaryReport.class)) {
- ee.setDataList(list).write(response, fileName);
- }
- }
- @RequiresPermissions("mes:mesPieceSalaryReport:view")
- @RequestMapping(value = "detailData")
- @ResponseBody
- public List<MesPieceSalaryReport> detailData(MesPieceSalaryReport report) {
- return mesPieceSalaryReportService.findDetailList(report);
- }
- /**
- * 起止时间为空时,默认填充当月第一天 00:00 至当月最后一天 23:59
- */
- private void fillDefaultMonthRange(MesPieceSalaryReport report) {
- if (report == null) {
- return;
- }
- if (StringUtils.isNotBlank(report.getStartDate()) || StringUtils.isNotBlank(report.getEndDate())) {
- return;
- }
- LocalDate today = LocalDate.now();
- LocalDateTime monthStart = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.of(0, 0));
- LocalDateTime monthEnd = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.of(23, 59));
- report.setStartDate(monthStart.format(DATE_TIME_FMT));
- report.setEndDate(monthEnd.format(DATE_TIME_FMT));
- }
- }
|