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 , "办公物资");
|
}
|
|
}
|