feat(bpm): 增加客户合同列表查询功能并优化采购和退款相关逻辑
- 在 BpmOAContractController 中添加了 getContractByCustomerId 方法,用于获取指定客户的合同列表 - 在 BpmOAContractService 接口中添加了 getListByCustomerId 方法 - 在 BpmOAContractServiceImpl 中实现了 getListByCustomerId 方法 - 优化了 BpmOAProcureController 中的项目编号判断逻辑 - 改进了 BpmOARefundServiceImpl 中的 getListByOrderNo 方法,增加了非空判断 - 在 BpmProcessInstanceServiceImpl 中的 transform 方法中添加了空字符串判断
This commit is contained in:
parent
af22e311ec
commit
1c07abebb0
@ -61,6 +61,7 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode OA_PROJECT_NOT_EXISTS = new ErrorCode(1_009_001_124, "项目申请不存在");
|
ErrorCode OA_PROJECT_NOT_EXISTS = new ErrorCode(1_009_001_124, "项目申请不存在");
|
||||||
ErrorCode OA_CONTRACT_INVOICE_AMOUNT_LACK = new ErrorCode(1_009_001_125, "该合同的开票余额不足!");
|
ErrorCode OA_CONTRACT_INVOICE_AMOUNT_LACK = new ErrorCode(1_009_001_125, "该合同的开票余额不足!");
|
||||||
ErrorCode OA_PAYMENT_NOT_EXISTS = new ErrorCode(1_009_001_126, "付款申请不存在");
|
ErrorCode OA_PAYMENT_NOT_EXISTS = new ErrorCode(1_009_001_126, "付款申请不存在");
|
||||||
|
ErrorCode OA_RECEIPT_NOT_EXISTS = new ErrorCode(1_009_001_127, "回款申请不存在");
|
||||||
|
|
||||||
// ========== 流程模型 1-009-002-000 ==========
|
// ========== 流程模型 1-009-002-000 ==========
|
||||||
ErrorCode MODEL_KEY_EXISTS = new ErrorCode(1_009_002_000, "已经存在流程标识为【{}】的流程");
|
ErrorCode MODEL_KEY_EXISTS = new ErrorCode(1_009_002_000, "已经存在流程标识为【{}】的流程");
|
||||||
|
@ -159,5 +159,14 @@ public class BpmOAContractController {
|
|||||||
return success(respVO);
|
return success(respVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/getContractByCustomerId")
|
||||||
|
@Operation(summary = "获得指定客户的合同列表")
|
||||||
|
@Parameter(name = "customerId", description = "客户编号", required = true)
|
||||||
|
public CommonResult<List<BpmOAContractRespVO>> getListByCustomerId(@RequestParam("customerId") Long customerId) {
|
||||||
|
|
||||||
|
List<BpmOAContractDO> respVOs = contractService.getListByCustomerId(customerId);
|
||||||
|
|
||||||
|
return success(BeanUtils.toBean(respVOs, BpmOAContractRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.system.api.project.dto.ProjectDTO;
|
|||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@ -63,7 +64,7 @@ public class BpmOAProcureController {
|
|||||||
public CommonResult<BpmOAProcureRespVO> getOaProcure(@RequestParam("id") Long id) {
|
public CommonResult<BpmOAProcureRespVO> getOaProcure(@RequestParam("id") Long id) {
|
||||||
BpmOAProcureDO oaProcure = bpmOaProcureService.getOaProcure(id);
|
BpmOAProcureDO oaProcure = bpmOaProcureService.getOaProcure(id);
|
||||||
BpmOAProcureRespVO respVO = BpmOAProcureConvert.INSTANCE.convert(oaProcure);
|
BpmOAProcureRespVO respVO = BpmOAProcureConvert.INSTANCE.convert(oaProcure);
|
||||||
if (respVO != null && respVO.getProjectNo() != null) {
|
if (respVO != null && Strings.isNotEmpty(respVO.getProjectNo())) {
|
||||||
ProjectDTO projectDTO = projectApi.getProject(respVO.getProjectNo()).getCheckedData();
|
ProjectDTO projectDTO = projectApi.getProject(respVO.getProjectNo()).getCheckedData();
|
||||||
respVO.setProjectName(projectDTO.getName());
|
respVO.setProjectName(projectDTO.getName());
|
||||||
}
|
}
|
||||||
@ -86,7 +87,7 @@ public class BpmOAProcureController {
|
|||||||
|
|
||||||
BpmOAProcureDO oaProcure = bpmOaProcureService.getByProcessInstanceId(processInstanceId);
|
BpmOAProcureDO oaProcure = bpmOaProcureService.getByProcessInstanceId(processInstanceId);
|
||||||
BpmOAProcureRespVO respVO = BpmOAProcureConvert.INSTANCE.convert(oaProcure);
|
BpmOAProcureRespVO respVO = BpmOAProcureConvert.INSTANCE.convert(oaProcure);
|
||||||
if (respVO != null && respVO.getProjectNo() != null) {
|
if (respVO != null && Strings.isNotEmpty(respVO.getProjectNo())) {
|
||||||
ProjectDTO projectDTO = projectApi.getProject(respVO.getProjectNo()).getCheckedData();
|
ProjectDTO projectDTO = projectApi.getProject(respVO.getProjectNo()).getCheckedData();
|
||||||
respVO.setProjectName(projectDTO.getName());
|
respVO.setProjectName(projectDTO.getName());
|
||||||
}
|
}
|
||||||
|
@ -104,4 +104,11 @@ public interface BpmOAContractService {
|
|||||||
* @return 合同列表
|
* @return 合同列表
|
||||||
*/
|
*/
|
||||||
List<BpmOAContractDO> getContractList(BpmOAContractVO respVO);
|
List<BpmOAContractDO> getContractList(BpmOAContractVO respVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得指定客户合同列表
|
||||||
|
* @param customerId 客户编号
|
||||||
|
* @return 合同列表
|
||||||
|
*/
|
||||||
|
List<BpmOAContractDO> getListByCustomerId(Long customerId);
|
||||||
}
|
}
|
||||||
|
@ -325,6 +325,14 @@ public class BpmOAContractServiceImpl extends BpmOABaseService implements BpmOAC
|
|||||||
.eq(BpmOAContractDO::getResult, BpmProcessInstanceResultEnum.APPROVE.getResult()));
|
.eq(BpmOAContractDO::getResult, BpmProcessInstanceResultEnum.APPROVE.getResult()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BpmOAContractDO> getListByCustomerId(Long customerId) {
|
||||||
|
|
||||||
|
return contractMapper.selectList(new LambdaQueryWrapperX<BpmOAContractDO>()
|
||||||
|
.eq(BpmOAContractDO::getCustomerId, customerId)
|
||||||
|
.eq(BpmOAContractDO::getResult, BpmProcessInstanceResultEnum.APPROVE.getResult()));
|
||||||
|
}
|
||||||
|
|
||||||
public static BigDecimal calculatePercentageChange(Object today, Object yesterday) {
|
public static BigDecimal calculatePercentageChange(Object today, Object yesterday) {
|
||||||
|
|
||||||
// 转换为 BigDecimal 进行高精度计算
|
// 转换为 BigDecimal 进行高精度计算
|
||||||
|
@ -28,6 +28,7 @@ import java.math.BigDecimal;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
@ -203,7 +204,7 @@ public class BpmOARefundServiceImpl extends BpmOABaseService implements BpmOARef
|
|||||||
public List<BpmOARefundDO> getListByOrderNo(List<String> orderNos) {
|
public List<BpmOARefundDO> getListByOrderNo(List<String> orderNos) {
|
||||||
return refundMapper.selectList(new LambdaQueryWrapperX<BpmOARefundDO>()
|
return refundMapper.selectList(new LambdaQueryWrapperX<BpmOARefundDO>()
|
||||||
.inIfPresent(BpmOARefundDO::getOrderNo, orderNos)
|
.inIfPresent(BpmOARefundDO::getOrderNo, orderNos)
|
||||||
.eq(BpmOARefundDO::getStatus, 0));
|
.eq(Objects.nonNull(orderNos) ,BpmOARefundDO::getStatus, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user