package com.ruoyi.web; import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.collection.CollUtil; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.domain.Sample; import com.ruoyi.service.SampleManagementService; import com.ruoyi.web.request.AutomobileEnterpriseEditRequest; import com.ruoyi.web.request.AutomobileEnterpriseGetInfoRequest; import com.ruoyi.web.request.AutomobileEnterpriseListRequest; import com.ruoyi.web.request.SampleManagementRequest; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.domain.AutomobileEnterprise; import com.ruoyi.service.AutomobileEnterpriseService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * 车企信息Controller * * @author gxk * @date 2024-01-05 */ @Api(tags = {"车企信息"}) @RestController @RequestMapping("/system/enterprise") public class AutomobileEnterpriseController extends BaseController { @Autowired private AutomobileEnterpriseService automobileEnterpriseService; @Autowired private SampleManagementService sampleManagementService; /** * 查询车企信息列表 */ @ApiOperation("分页查询车企信息列表") @PostMapping("/list") public TableDataInfo list(@Validated @RequestBody AutomobileEnterpriseListRequest request) { startPage(request); List list = automobileEnterpriseService.selectAutomobileEnterpriseList(request); return getDataTable(list); } /** * 导出车企信息列表 */ @Log(title = "车企信息", businessType = BusinessType.EXPORT) @ApiOperation("导出车企信息列表") @PostMapping("/export") public void export(HttpServletResponse response, AutomobileEnterpriseListRequest request) { List list = automobileEnterpriseService.selectAutomobileEnterpriseList(request); ExcelUtil util = new ExcelUtil(AutomobileEnterprise.class); util.exportExcel(response, list, "车企信息数据"); } /** * 获取车企信息详细信息 */ @ApiOperation("获取车企信息详细信息") @PostMapping("/getById") public R getInfo(@Validated @RequestBody AutomobileEnterpriseGetInfoRequest request) { return R.ok(automobileEnterpriseService.selectAutomobileEnterpriseById(request.getId())); } /** * 新增车企信息 */ @ApiOperation("新增车企信息") @Log(title = "车企信息", businessType = BusinessType.INSERT) @PostMapping("/add") public R add(@Validated @RequestBody AutomobileEnterprise automobileEnterprise) { return R.ok(automobileEnterpriseService.insertAutomobileEnterprise(automobileEnterprise)); } /** * 修改车企信息 */ @ApiOperation("修改车企信息") @Log(title = "车企信息", businessType = BusinessType.UPDATE) @PostMapping("/edit") public R edit(@Validated @RequestBody AutomobileEnterprise automobileEnterprise) { return R.ok(automobileEnterpriseService.updateAutomobileEnterprise(automobileEnterprise)); } /** * 删除车企信息 */ @ApiOperation("删除车企信息") @Log(title = "车企信息", businessType = BusinessType.DELETE) @PostMapping("/remove") public R remove(@Validated @RequestBody AutomobileEnterpriseEditRequest request) { Long[] ids = request.getIds(); for (Long id : ids) { SampleManagementRequest sampleManagementRequest = new SampleManagementRequest(); sampleManagementRequest.setManufacturingEnterpriseId(id); List samples = sampleManagementService.selectSampleList(sampleManagementRequest); if (CollUtil.isNotEmpty(samples)) { throw new ServiceException("已被样品引用,不允许删除"); } } // 判断样品是否在此企业下 return R.ok(automobileEnterpriseService.removeBatchByIds(Arrays.asList(request.getIds()))); } }