package com.order.erp.controller; import com.order.erp.common.annotation.AnonymousAccess; import com.order.erp.common.constant.ServerResult; import com.order.erp.common.excel4j.exceptions.Excel4JException; import com.order.erp.common.exception.BusinessException; import com.order.erp.domain.vo.order.*; import com.order.erp.mapper.order.OrderBaseInfoMapper; import com.order.erp.service.order.OrderBaseInfoService; 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 javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Objects; /** * 订单基础信息表(OrderBaseInfo)表控制层 * * @author makejava * @since 2023-09-08 15:26:43 */ @Api(tags = "订单管理") @RestController @RequestMapping("/order/erp/order") public class OrderController { /** * 服务对象 */ @Resource private OrderBaseInfoService orderBaseInfoService; @Resource private OrderBaseInfoMapper orderBaseInfoMapper; /** * 分页查询 * * @param orderBaseInfoQueryVO 查询条件 * @return 查询结果 */ @PostMapping("/list_by_page") @ApiOperation("分页查询") @AnonymousAccess public ServerResult listByPage(@RequestBody @Validated OrderBaseInfoQueryVO orderBaseInfoQueryVO) { return orderBaseInfoService.listByPage(orderBaseInfoQueryVO); } /** * 导出订单 * * @param orderBaseInfoQueryVO 查询条件 * @return 查询结果 */ @PostMapping(value = "/export") @ApiOperation("导出订单") @AnonymousAccess public void export(HttpServletResponse response, @RequestBody @Validated OrderBaseInfoQueryVO orderBaseInfoQueryVO) throws IOException, Excel4JException { orderBaseInfoService.export(response, orderBaseInfoQueryVO); } /** * 通过主键查询单条数据 * * @param orderBaseInfoQueryVO 查询条件 * @return 单条数据 */ @PostMapping("/query_by_id") public ServerResult queryById(@RequestBody OrderBaseInfoQueryVO orderBaseInfoQueryVO) { return orderBaseInfoService.queryById(orderBaseInfoQueryVO); } /** * 新增数据 * * @param orderAddVO 数据VO * @return 新增结果 */ @PostMapping("/add") @ApiOperation("新增数据") @AnonymousAccess public ServerResult add(@RequestBody OrderAddVO orderAddVO) { return orderBaseInfoService.add(orderAddVO); } /** * 字段解锁申请 * * @param fieldVO 查询条件 * @return 查询结果 */ @PostMapping("/field_unlock_apply") @ApiOperation("字段解锁申请") @AnonymousAccess public ServerResult fieldUnlockApply(@RequestBody @Validated OrderUnlockFieldApplyVO fieldVO) { return orderBaseInfoService.fieldUnlockApply(fieldVO); } /** * 编辑数据 * * @param updateVO 数据VO * @return 编辑结果 */ @ApiOperation("编辑数据") @PostMapping("/edit") public ServerResult edit(@RequestBody OrderUpdateVO updateVO) { return orderBaseInfoService.edit(updateVO); } /** * 删除数据 * * @param orderBaseInfoQueryVO 查询条件 * @return 删除是否成功 */ @ApiOperation("删除数据") @PostMapping("/delete_by_id") public ServerResult deleteById(@RequestBody OrderBaseInfoQueryVO orderBaseInfoQueryVO) { return orderBaseInfoService.deleteById(orderBaseInfoQueryVO); } /** * @param dto * @return ServerResult * @Description: 查询项目号或者内部编号 * @Author wmr * @CreateTime 2023/12/21 14:50 */ @ApiOperation("查询项目号或者内部编号") @PostMapping("/queryProjectNoAndInnerNo") public ServerResult queryProjectNoAndInnerNo(@RequestBody QueryProjectNoAndInnerNoDto dto) { if (Objects.isNull(dto.getProjectNo()) && Objects.isNull(dto.getInnerNo())) { throw new BusinessException("请传入项目号或内部编号"); } return ServerResult.success(orderBaseInfoMapper.queryProjectNoAndInnerNoDto(dto.getInnerNo() == null ? Boolean.TRUE : Boolean.FALSE, dto)); } /** * 校验是否重复 * * @param orderBaseInfoQueryVO 查询条件 * @return 查询结果 */ @PostMapping("/check") @ApiOperation("校验是否重复") @AnonymousAccess public ServerResult check(@RequestBody OrderBaseInfoQueryVO orderBaseInfoQueryVO) { return orderBaseInfoService.check(orderBaseInfoQueryVO); } }