src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java
@@ -1,13 +1,15 @@ package com.ruoyi.sales.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.domain.AjaxResult; import com.ruoyi.sales.dto.SalesQuotationDto; import com.ruoyi.sales.service.SalesQuotationService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -45,6 +47,7 @@ return AjaxResult.success(salesQuotationService.add(salesQuotationDto)); } @PostMapping("/update") @Log(title = "报价更新", businessType = BusinessType.UPDATE) public AjaxResult update(@RequestBody SalesQuotationDto salesQuotationDto) { return AjaxResult.success(salesQuotationService.edit(salesQuotationDto)); } src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.approve.pojo.ApproveProcess; import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl; import com.ruoyi.approve.vo.ApproveGetAndUpdateVo; import com.ruoyi.approve.vo.ApproveProcessVO; import com.ruoyi.basic.mapper.CustomerMapper; import com.ruoyi.basic.mapper.ProductModelMapper; @@ -113,11 +112,22 @@ public boolean edit(SalesQuotationDto salesQuotationDto) { SalesQuotation salesQuotation = new SalesQuotation(); BeanUtils.copyProperties(salesQuotationDto, salesQuotation); ApproveGetAndUpdateVo vo = new ApproveGetAndUpdateVo(); if ("拒绝".equals(salesQuotationDto.getStatus())) { vo.setApproveStatus(0); salesQuotation.setStatus("待审批"); } // if ("拒绝".equals(salesQuotationDto.getStatus())) { // vo.setApproveStatus(0); // salesQuotation.setStatus("待审批"); // } //编辑将审批改为待审批 salesQuotation.setStatus("待审批"); //将之前未审批的结束 LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>(); approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveType, 6) .eq(ApproveProcess::getApproveReason, salesQuotationDto.getQuotationNo()); List<ApproveProcess> approveProcesss = approveProcessService.list(approveProcessLambdaQueryWrapper); approveProcesss.forEach(approveProcess -> { approveProcess.setApproveStatus(4); }); approveProcessService.updateBatchById(approveProcesss); if (salesQuotationMapper.updateById(salesQuotation) != 1) { return false; } @@ -134,10 +144,19 @@ salesQuotationProductService.saveBatch(products); // 修改报价审批 vo.setApproveUserIds(salesQuotationDto.getApproveUserIds()); vo.setApproveType(6); vo.setApproveReason(salesQuotationDto.getQuotationNo()); approveProcessService.updateApproveUser(vo); ApproveProcessVO approveProcessVO = new ApproveProcessVO(); approveProcessVO.setApproveType(6); approveProcessVO.setApproveDeptId(SecurityUtils.getLoginUser().getCurrentDeptId()); approveProcessVO.setApproveReason(salesQuotation.getQuotationNo()); approveProcessVO.setApproveUserIds(salesQuotationDto.getApproveUserIds()); approveProcessVO.setApproveUser(SecurityUtils.getUserId()); approveProcessVO.setApproveTime(LocalDate.now().toString()); approveProcessVO.setPrice(salesQuotationDto.getTotalAmount()); try { approveProcessService.addApprove(approveProcessVO); }catch (Exception e){ log.error("SalesQuotationServiceImpl error:{}", e); } return true; } src/main/resources/mapper/approve/ApproveProcessMapper.xml
@@ -28,15 +28,19 @@ approve_delete,tenant_id,approve_type,approve_remark </sql> <select id="listPage" resultType="com.ruoyi.approve.pojo.ApproveProcess"> select * from approve_process where approve_delete = 0 <if test="req.approveId != null and req.approveId != ''"> and approve_id like concat('%',#{req.approveId},'%') </if> <if test="req.approveStatus != null or req.approveStatus == 0"> and approve_status = #{req.approveStatus} </if> <if test="req.approveType != null "> and approve_type = #{req.approveType} </if> select * from approve_process <where> approve_delete = 0 <if test="req.approveId != null and req.approveId != ''"> and approve_id like concat('%',#{req.approveId},'%') </if> <if test="req.approveStatus != null or req.approveStatus == 0"> and approve_status = #{req.approveStatus} </if> <if test="req.approveType != null "> and approve_type = #{req.approveType} </if> </where> order by approve_process.create_time desc </select> </mapper> src/main/resources/mapper/sales/SalesQuotationMapper.xml
@@ -7,7 +7,7 @@ SELECT t1.*, t2.approve_user_ids FROM sales_quotation t1 LEFT JOIN approve_process t2 ON t1.quotation_no = t2.approve_reason and t2.approve_type = 6 LEFT JOIN approve_process t2 ON t1.quotation_no = t2.approve_reason and t2.approve_type = 6 and t2.approve_status = 0 WHERE 1=1 <if test="salesQuotationDto.quotationNo != null and salesQuotationDto.quotationNo != '' "> AND t1.quotation_no LIKE CONCAT('%',#{salesQuotationDto.quotationNo},'%')