maven
16 小时以前 ec50e978f09d5ecf6fc2d3a8649df4fe9649d9f1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package com.ruoyi.officesupplies.controller;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
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.officesupplies.pojo.OfficeSupplies;
import com.ruoyi.officesupplies.service.OfficeSuppliesService;
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.Date;
import java.util.List;
 
/**
 * @author :yys
 * @date : 2025/9/4 14:16
 */
@RestController
@Api(tags = "办公物资")
@RequestMapping("/officeSupplies")
public class OfficeSuppliesController extends BaseController {
 
    @Autowired
    private OfficeSuppliesService officeSuppliesService;
 
    @GetMapping("/listPage")
    @ApiOperation("办公物资-分页查询")
    public AjaxResult listPage(Page page, OfficeSupplies officeSupplies) {
        return officeSuppliesService.listPage(page, officeSupplies);
    }
 
    @PostMapping("/add")
    @ApiOperation("办公物资-添加")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult add(@RequestBody OfficeSupplies officeSupplies) {
        // 按照当前时间yyyyMMdd + 当天新增数量 + 1生成编号
        // 获取当天新增数量
        long count = officeSuppliesService.count(new LambdaQueryWrapper<OfficeSupplies>()
                .gt(OfficeSupplies::getCreateTime, LocalDate.now())
                .lt(OfficeSupplies::getCreateTime, LocalDate.now().plusDays(1)));
        String code = "WS" + LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")) +  String.format("%03d", count + 1);
        officeSupplies.setCode(code);
        officeSupplies.setStatus(1);
        officeSupplies.setApplyTime(new Date());
        return officeSuppliesService.save(officeSupplies) ? success() : error();
    }
 
    @PostMapping("/update")
    @ApiOperation("办公物资-修改")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult update(@RequestBody OfficeSupplies officeSupplies) {
        return officeSuppliesService.updateById(officeSupplies) ? success() : error();
    }
 
    @DeleteMapping("/delete")
    @ApiOperation("办公物资-删除")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult delete(@RequestBody List<Long> ids) {
        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("请传入要删除的ID");
        return officeSuppliesService.removeBatchByIds(ids) ? success() : error();
    }
 
    /**
     * 导出办公物资
     */
    @Log(title = "导出办公物资", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    @ApiOperation("导出办公物资")
    public void export(HttpServletResponse response) {
        ExcelUtil<OfficeSupplies> util = new ExcelUtil<OfficeSupplies>(OfficeSupplies.class);
        List<OfficeSupplies> list = officeSuppliesService.list();
        util.exportExcel(response, list , "办公物资");
    }
 
}