From 03df670a1dfbcae8031e84e15dff0b77365f0af6 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 14 八月 2025 16:39:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into pim_zss --- src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java b/src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java index 5af3220..ccff5e6 100644 --- a/src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java +++ b/src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java @@ -1,23 +1,33 @@ package com.ruoyi.lavorissue.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.approve.pojo.ApproveProcess; +import com.ruoyi.approve.utils.DailyRedisCounter; +import com.ruoyi.approve.utils.StartAndEndDateDto; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.lavorissue.dto.StatisticsLaborIssue; import com.ruoyi.lavorissue.mapper.LavorIssueMapper; import com.ruoyi.lavorissue.pojo.LaborIssue; import com.ruoyi.lavorissue.service.LavorIssueService; +import com.ruoyi.project.system.domain.SysDept; import com.ruoyi.project.system.mapper.SysDeptMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.List; /** @@ -49,7 +59,21 @@ @PostMapping("/add") @Log(title = "鍔充繚鍙戞斁-娣诲姞", businessType = BusinessType.INSERT) @ApiOperation("鍔充繚鍙戞斁-娣诲姞") + @Transactional(rollbackFor = Exception.class) public AjaxResult add(@RequestBody LaborIssue laborIssue){ + String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + StartAndEndDateDto dateTime = DailyRedisCounter.getDateTime(); + Long approveId = lavorIssueMapper.selectCount(new LambdaQueryWrapper<LaborIssue>() + .gt(LaborIssue::getCreateTime, dateTime.getStartDate()) + .lt(LaborIssue::getCreateTime, dateTime.getEndDate())); + String formattedCount = String.format("%03d", approveId + 1); + laborIssue.setOrderNo(today + formattedCount); + List<LaborIssue> laborIssues = lavorIssueMapper.selectList(new LambdaQueryWrapper<LaborIssue>() + .like(LaborIssue::getOrderNo, today)); + if(!CollectionUtils.isEmpty(laborIssues)){ + long l = Long.parseLong(laborIssues.get(laborIssues.size() - 1).getOrderNo()); + laborIssue.setOrderNo(String.format("%03d", l + 1)); + } boolean save = laborIssueService.save(laborIssue); return save ? AjaxResult.success() : AjaxResult.error(); } @@ -57,6 +81,7 @@ @PostMapping("/update") @Log(title = "鍔充繚鍙戞斁-淇敼", businessType = BusinessType.UPDATE) @ApiOperation("鍔充繚鍙戞斁-淇敼") + @Transactional(rollbackFor = Exception.class) public AjaxResult update(@RequestBody LaborIssue laborIssue){ boolean update = laborIssueService.updateById(laborIssue); return update ? AjaxResult.success() : AjaxResult.error(); @@ -65,10 +90,19 @@ @DeleteMapping("/delete") @Log(title = "鍔充繚鍙戞斁-鍒犻櫎", businessType = BusinessType.DELETE) @ApiOperation("鍔充繚鍙戞斁-鍒犻櫎") + @Transactional(rollbackFor = Exception.class) public AjaxResult delete(@RequestBody List<Long> ids){ boolean delete = laborIssueService.removeBatchByIds(ids); return delete ? AjaxResult.success() : AjaxResult.error(); } + + @GetMapping("/statistics") + @ApiOperation("鍔充繚鍙戞斁-缁熻") + public AjaxResult statistics(StatisticsLaborIssue req) throws Exception { + StatisticsLaborIssue statisticsLaborIssue = laborIssueService.statistics(req); + return AjaxResult.success(statisticsLaborIssue); + } + /** @@ -80,9 +114,13 @@ public void export(HttpServletResponse response) { Long tenantId = SecurityUtils.getLoginUser().getTenantId(); ExcelUtil<LaborIssue> util = new ExcelUtil<LaborIssue>(LaborIssue.class); - List<LaborIssue> list = lavorIssueMapper.list(); + List<LaborIssue> list = lavorIssueMapper.list(new LaborIssue()); + SysDept sysDept = sysDeptMapper.selectDeptById(tenantId); + if(sysDept == null){ + throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�!"); + } list.forEach(item -> { - item.setDeptName(sysDeptMapper.selectDeptById(tenantId).getDeptName()); + item.setDeptName(sysDept.getDeptName()); }); util.exportExcel(response, list , "鍔充繚鍙拌处"); } -- Gitblit v1.9.3