| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.io.UnsupportedEncodingException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author :yys |
| | | * @date : 2025/8/13 11:19 |
| | | */ |
| | | @RestController |
| | | @Api(tags = "å³ä¿åæ¾") |
| | | @RequestMapping("/lavorIssue") |
| | | public class LavorIssueController extends BaseController { |
| | | |
| | | @Autowired |
| | | private LavorIssueService laborIssueService; |
| | | |
| | | @Autowired |
| | | private LavorIssueMapper lavorIssueMapper; |
| | | |
| | | @Autowired |
| | | private SysDeptMapper sysDeptMapper; |
| | | |
| | | @GetMapping("/listPage") |
| | | @Log(title = "å³ä¿åæ¾-å页æ¥è¯¢", businessType = BusinessType.OTHER) |
| | | @ApiOperation("å³ä¿åæ¾-å页æ¥è¯¢") |
| | | public AjaxResult listPage(Page page, LaborIssue laborIssue){ |
| | | IPage<LaborIssue> listPage = laborIssueService.listPage(page, laborIssue); |
| | | return AjaxResult.success(listPage); |
| | | } |
| | | |
| | | @GetMapping("/statisticsList") |
| | | @Log(title = "å³ä¿åæ¾-ç»è®¡æ¥è¯¢", businessType = BusinessType.OTHER) |
| | | @ApiOperation("å³ä¿åæ¾-ç»è®¡æ¥è¯¢") |
| | | public AjaxResult statisticsList(LaborIssue laborIssue){ |
| | | List<Map<String, Object>> listPage = laborIssueService.statisticsList(laborIssue); |
| | | return AjaxResult.success(listPage); |
| | | } |
| | | |
| | | @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(); |
| | | } |
| | | |
| | | @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(); |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * å³ä¿åæ¾-å¯¼åº |
| | | */ |
| | | @Log(title = "å³ä¿åæ¾-导åº", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | @ApiOperation("å³ä¿åæ¾-导åº") |
| | | public void export(HttpServletResponse response) { |
| | | Long tenantId = SecurityUtils.getLoginUser().getTenantId(); |
| | | ExcelUtil<LaborIssue> util = new ExcelUtil<LaborIssue>(LaborIssue.class); |
| | | List<LaborIssue> list = lavorIssueMapper.list(new LaborIssue()); |
| | | SysDept sysDept = sysDeptMapper.selectDeptById(tenantId); |
| | | if(sysDept == null){ |
| | | throw new RuntimeException("é¨é¨ä¸åå¨!"); |
| | | } |
| | | list.forEach(item -> { |
| | | item.setDeptName(sysDept.getDeptName()); |
| | | }); |
| | | util.exportExcel(response, list , "å³ä¿å°è´¦"); |
| | | } |
| | | |
| | | /** |
| | | * å³ä¿åæ¾-å¯¼åº |
| | | */ |
| | | @Log(title = "å³ä¿åæ¾-导åº", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/exportCopy") |
| | | @ApiOperation("å³ä¿åæ¾-导åº") |
| | | public void exportCopy(HttpServletResponse response,LaborIssue laborIssue) throws UnsupportedEncodingException { |
| | | laborIssueService.exportCopy(response,laborIssue); |
| | | } |
| | | |
| | | } |