| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- package com.ydtech.modules.inv.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.ydtech.aop.exception.DescribeException;
- import com.ydtech.constants.enums.dict.ApprovalStatusEnum;
- import com.ydtech.core.page.BaseController;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageRequest;
- import com.ydtech.core.page.PageResult;
- import com.ydtech.modules.inv.model.InvInvoiceInfo;
- import com.ydtech.modules.inv.service.InvInvoiceInfoService;
- import com.ydtech.modules.inv.model.vo.req.InvInvoiceInfoReqVO;
- import com.ydtech.utils.StringUtils;
- import io.swagger.annotations.*;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.util.Date;
- import java.util.List;
- /**
- * 发票信息管理
- *
- * @author: lig
- * @date: 2023-05-15
- */
- @Api(tags = "发票信息管理")
- @RestController
- @RequestMapping("api/inv/invoiceInfo")
- public class InvInvoiceInfoController extends BaseController {
- @Autowired
- private InvInvoiceInfoService invInvoiceInfoService;
- @ApiOperation(value = "保存")
- @ApiResponses({
- @ApiResponse(code = 500, message = "出现异常"),
- @ApiResponse(code = 200, message = "请求成功")
- })
- @PostMapping(value = "/save")
- public HttpResult save(@RequestBody InvInvoiceInfo invInvoiceInfo, HttpServletRequest request) {
- invInvoiceInfo.setApprovalStatus(ApprovalStatusEnum.AS0.getCode());
- if(StringUtils.isNotEmpty(invInvoiceInfo.getId())){
- //更新
- InvInvoiceInfo info = invInvoiceInfoService.getById(invInvoiceInfo.getId());
- if(info.getApprovalStatus().equals(ApprovalStatusEnum.AS1.getCode())){
- return HttpResult.error("审核通过的不允许修改");
- }
- invInvoiceInfo.setUpdateBy(getUserId(request));
- invInvoiceInfo.setUpdateTime(new Date());
- }else{
- //新增
- invInvoiceInfo.setCreateBy(getUserId(request));
- invInvoiceInfo.setCreateTime(new Date());
- }
- return HttpResult.ok(invInvoiceInfoService.saveOrUpdate(invInvoiceInfo));
- }
- /**
- * 分页查询
- *
- * @param reqVo
- * @return
- */
- @ApiOperation(value = "分页查询")
- @PostMapping(value = "/queryPage")
- public HttpResult queryPage(@RequestBody InvInvoiceInfoReqVO reqVo){
- LambdaQueryWrapper<InvInvoiceInfo> lqw = new LambdaQueryWrapper();
- lqw.eq(StringUtils.isNotEmpty(reqVo.getApprovalStatus()),InvInvoiceInfo::getApprovalStatus,reqVo.getApprovalStatus());
- lqw.eq(StringUtils.isNotEmpty(reqVo.getInvoiceClerk()),InvInvoiceInfo::getInvoiceClerk,reqVo.getInvoiceClerk());
- lqw.eq(StringUtils.isNotEmpty(reqVo.getInvCompanyId()),InvInvoiceInfo::getInvCompanyId,reqVo.getInvCompanyId());
- Page p = PageRequest.buildPageRequestByVo(reqVo);
- IPage<InvInvoiceInfo> pResult = invInvoiceInfoService.page(p, lqw);
- //传入查询条件
- PageResult pageResult = PageResult.buildPageResult(pResult);
- return HttpResult.ok(pageResult);
- }
- /**
- * 审批通过
- *
- * @param
- * @return
- */
- @PreAuthorize("hasAuthority('inv:invoice:info:approval:pass')")
- @ApiOperation(value = "审批通过")
- @PostMapping(value = "/approvalPass")
- public HttpResult approvalPass(@RequestParam("ids") List<String> ids){
- return HttpResult.ok(invInvoiceInfoService.approval(ApprovalStatusEnum.AS1,ids));
- }
- /**
- * 审批退回
- *
- * @param
- * @return
- */
- @PreAuthorize("hasAuthority('inv:invoice:info:approval:back')")
- @ApiOperation(value = "审批退回")
- @PostMapping(value = "/approvalBack")
- public HttpResult approvalBack(@RequestParam("ids") List<String> ids){
- return HttpResult.ok(invInvoiceInfoService.approval(ApprovalStatusEnum.AS3,ids));
- }
- // /**
- // * 批量删除
- // *
- // * @param
- // * @return
- // */
- // @ApiOperation(value = "批量删除")
- // @PostMapping(value = "/batchDelete")
- // public HttpResult batchDelete(List<String> ids){
- //
- // return HttpResult.ok(invInvoiceInfoService.removeBatchByIds(ids));
- // }
- @PostMapping("/import")
- @ApiOperation(value = "excel导入数据")
- public HttpResult importData(@ApiParam(name = "file", value = "excel文件") MultipartFile file, HttpServletRequest request) {
- HttpResult result = null;
- return invInvoiceInfoService.importData(file);
- }
- // @PostMapping("/export")
- @GetMapping("/export")
- @ApiOperation(value = "excel导出数据")
- public void exportData(@RequestParam("ids") List<String> ids, HttpServletRequest request, HttpServletResponse response) {
- try {
- invInvoiceInfoService.exportData(ids,request,response);
- } catch (Exception e) {
- e.printStackTrace();
- throw new DescribeException("信息导出失败!" + e.getMessage());
- }
- }
- }
|