package com.ruoyi.procurementrecord.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.procurementrecord.dto.*; import com.ruoyi.procurementrecord.mapper.CustomStorageMapper; import com.ruoyi.procurementrecord.pojo.CustomStorage; import com.ruoyi.procurementrecord.service.ProcurementRecordService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.ibatis.annotations.Delete; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * @author :yys * @date : 2025/7/7 14:32 */ @RestController @Api(tags = "采购入库") @RequestMapping("/stockin") public class ProcurementRecordController extends BaseController { @Autowired private ProcurementRecordService procurementRecordService; @GetMapping("/productlist") @Log(title = "采购入库-入库管理-新增入库查询", businessType = BusinessType.OTHER) public AjaxResult list(ProcurementDto procurementDto) { List result = procurementRecordService.listProcurementBySalesLedgerId(procurementDto); return AjaxResult.success(result); } @PostMapping("/add") @Log(title = "采购入库-入库管理-新增入库", businessType = BusinessType.INSERT) @Transactional public AjaxResult add(@RequestBody ProcurementAddDto procurementDto) { procurementDto.setType(1); procurementDto.setTypeName("采购入库"); return AjaxResult.success(procurementRecordService.add(procurementDto)); } @PostMapping("/addCustom") @Log(title = "自定义入库-入库管理-新增入库", businessType = BusinessType.INSERT) @Transactional public AjaxResult addCustom(@RequestBody List customStorage) { return procurementRecordService.addCustom(customStorage); } @PostMapping("/updateCustom") @Log(title = "自定义入库-入库管理-修改入库", businessType = BusinessType.UPDATE) @Transactional public AjaxResult updateCustom(@RequestBody CustomStorage customStorage) { return procurementRecordService.updateCustom(customStorage); } @Delete("/delteCustom") @Log(title = "自定义入库-入库管理-删除入库", businessType = BusinessType.DELETE) @Transactional public AjaxResult deleteCustom(@RequestBody List ids) { return procurementRecordService.deleteCustom(ids); } @PostMapping("/update") @Log(title = "采购入库-入库管理-修改入库", businessType = BusinessType.UPDATE) @Transactional public AjaxResult updatePro(@RequestBody ProcurementUpdateDto procurementDto) { return AjaxResult.success(procurementRecordService.updatePro(procurementDto)); } @PostMapping("/updateManagement") @Log(title = "采购入库-库存台账-修改", businessType = BusinessType.UPDATE) @Transactional public AjaxResult updateManagement(@RequestBody ProcurementManagementUpdateDto procurementDto) { return AjaxResult.success(procurementRecordService.updateManagement(procurementDto)); } @PostMapping("/del") @Log(title = "采购入库-入库管理-删除入库", businessType = BusinessType.DELETE) @Transactional public AjaxResult deletePro(@RequestBody ProcurementUpdateDto procurementDto) { return AjaxResult.success(procurementRecordService.deletePro(procurementDto)); } @GetMapping("/listPage") @Log(title = "采购入库-入库管理-入库查询", businessType = BusinessType.OTHER) @ApiOperation(value = "入库查询") public AjaxResult listPage(Page page, ProcurementPageDto procurementDto) { IPage result = procurementRecordService.listPage(page, procurementDto); return AjaxResult.success(result); } @GetMapping("/listPageByProduction") @Log(title = "生产入库-入库管理-入库查询", businessType = BusinessType.OTHER) @ApiOperation(value = "入库查询") public AjaxResult listPageByProduction(Page page, ProcurementPageDto procurementDto) { IPage result = procurementRecordService.listPageByProduction(page, procurementDto); return AjaxResult.success(result); } @GetMapping("/listPageByCustom") @Log(title = "自定义入库-入库管理-入库查询", businessType = BusinessType.OTHER) @ApiOperation(value = "入库查询") public AjaxResult listPageByCustom(Page page, CustomStorage customStorage) { IPage result = procurementRecordService.listPageByCustom(page, customStorage); return AjaxResult.success(result); } @GetMapping("/listPageCopy") @Log(title = "采购入库-库存管理-分页查询", businessType = BusinessType.OTHER) public AjaxResult listPageCopy(Page page, ProcurementPageDto procurementDto) { IPage result = procurementRecordService.listPageCopy(page, procurementDto); return AjaxResult.success(result); } @GetMapping("/listPageCopyByProduction") @Log(title = "生产入库-库存管理-分页查询", businessType = BusinessType.OTHER) public AjaxResult listPageCopyByProduction(Page page, ProcurementPageDto procurementDto) { IPage result = procurementRecordService.listPageCopyByProduction(page, procurementDto); return AjaxResult.success(result); } @GetMapping("/listPageCopyByCustom") @Log(title = "自定义入库-库存管理-分页查询", businessType = BusinessType.OTHER) public AjaxResult listPageCopyByCustom(Page page, CustomStorage customStorage) { IPage result = procurementRecordService.listPageCopyByCustom(page, customStorage); return AjaxResult.success(result); } @GetMapping("/getReportList") @Log(title = "库存报表查询", businessType = BusinessType.OTHER) public AjaxResult getReportList(Page page, ProcurementPageDto procurementDto) { return AjaxResult.success(procurementRecordService.getReportList(page, procurementDto)); } /** * 库存管理采购导出 * @param response */ @PostMapping("/exportCopy") public void exportCopy(HttpServletResponse response) { procurementRecordService.exportCopy(response,1); } /** * 库存管理生产导出 * @param response */ @PostMapping("/exportCopyOne") public void exportCopyOne(HttpServletResponse response) { procurementRecordService.exportCopy(response,2); } /** * 库存管理自定义导出 * @param response */ @PostMapping("/exportCopyTwo") public void exportCopyTwo(HttpServletResponse response) { procurementRecordService.exportCopyTwo(response,3); } /** * 入库,出库管理采购导出 * @param response */ @PostMapping("/export") public void export(HttpServletResponse response) { procurementRecordService.export(response,1); } /** * 入库,出库管理生产导出 * @param response */ @PostMapping("/exportOne") public void exportOne(HttpServletResponse response) { procurementRecordService.export(response,2); } @Autowired private CustomStorageMapper customStorageMapper; /** * 入库,出库管理自定义导出 * @param response */ @PostMapping("/exportTwo") public void exportTwo(HttpServletResponse response) { List customStorages = customStorageMapper.selectList(null); ExcelUtil util = new ExcelUtil(CustomStorage.class); util.exportExcel(response, customStorages, "入库台账"); } }