Compare commits
No commits in common. "3c2cb917c55845597732d3a977e5f79724b71583" and "13e3cfb19f9ad1578effbe2e9a1dfc63890ff61d" have entirely different histories.
3c2cb917c5
...
13e3cfb19f
@ -10,7 +10,6 @@ import com.alibaba.cola.dto.SingleResponse;
|
|||||||
import com.xunhong.erp.turbo.api.biz.api.OrderServiceI;
|
import com.xunhong.erp.turbo.api.biz.api.OrderServiceI;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.qry.*;
|
import com.xunhong.erp.turbo.api.biz.dto.qry.*;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.AuditVO;
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderVO;
|
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderVO;
|
||||||
import com.xunhong.erp.turbo.api.rbac.dto.constants.RoleConstant;
|
import com.xunhong.erp.turbo.api.rbac.dto.constants.RoleConstant;
|
||||||
import com.xunhong.erp.turbo.api.user.api.AdminServiceI;
|
import com.xunhong.erp.turbo.api.user.api.AdminServiceI;
|
||||||
@ -87,49 +86,49 @@ public class OrderController {
|
|||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
@PostMapping("submitReviewOrder")
|
@PostMapping("submitReviewOrder")
|
||||||
@Operation(summary = "采购订单提审(产地/市场采购员提审)", method = "POST")
|
@Operation(summary = "采购订单提审(产地/市场采购员提审)", method = "POST")
|
||||||
public SingleResponse<AuditVO> submitReviewOrder(@RequestBody @Validated OrderSubmitReviewCmd orderSubmitReviewCmd) {
|
public Response submitReviewOrder(@RequestBody @Validated OrderSubmitReviewCmd orderSubmitReviewCmd) {
|
||||||
AuditVO auditVO = orderService.submitReview(orderSubmitReviewCmd);
|
orderService.submitReview(orderSubmitReviewCmd);
|
||||||
return SingleResponse.of(auditVO);
|
return Response.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
@PostMapping("withdrawReviewOrder")
|
@PostMapping("withdrawReviewOrder")
|
||||||
@Operation(summary = "采购订单撤回提审(产地/市场采购员撤回提审)", method = "POST")
|
@Operation(summary = "采购订单撤回提审(产地/市场采购员撤回提审)", method = "POST")
|
||||||
public SingleResponse<AuditVO> withdrawReviewOrder(@RequestBody @Validated OrderWithdrawReviewCmd orderWithdrawReviewCmd) {
|
public Response withdrawReviewOrder(@RequestBody @Validated OrderWithdrawReviewCmd orderWithdrawReviewCmd) {
|
||||||
AuditVO auditVO = orderService.withdrawReview(orderWithdrawReviewCmd);
|
orderService.withdrawReview(orderWithdrawReviewCmd);
|
||||||
return SingleResponse.of(auditVO);
|
return Response.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
@PostMapping("approveOrder")
|
@PostMapping("approveOrder")
|
||||||
@Operation(summary = "采购订单审核(审核员审核)", method = "POST")
|
@Operation(summary = "采购订单审核(审核员审核)", method = "POST")
|
||||||
public SingleResponse<AuditVO> approveOrder(@RequestBody @Validated OrderApproveCmd orderApproveCmd) {
|
public Response approveOrder(@RequestBody @Validated OrderApproveCmd orderApproveCmd) {
|
||||||
AuditVO auditVO = orderService.approve(orderApproveCmd);
|
orderService.approve(orderApproveCmd);
|
||||||
return SingleResponse.of(auditVO);
|
return Response.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
@PostMapping("rejectApproveOrder")
|
@PostMapping("rejectApproveOrder")
|
||||||
@Operation(summary = "采购订单驳回审核(审核员驳回审核)", method = "POST")
|
@Operation(summary = "采购订单驳回审核(审核员驳回审核)", method = "POST")
|
||||||
public SingleResponse<AuditVO> rejectApproveOrder(@RequestBody @Validated OrderRejectApproveCmd orderRejectApproveCmd) {
|
public Response rejectApproveOrder(@RequestBody @Validated OrderRejectApproveCmd orderRejectApproveCmd) {
|
||||||
AuditVO auditVO = orderService.rejectApprove(orderRejectApproveCmd);
|
orderService.rejectApprove(orderRejectApproveCmd);
|
||||||
return SingleResponse.of(auditVO);
|
return Response.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
@PostMapping("finalApproveOrder")
|
@PostMapping("finalApproveOrder")
|
||||||
@Operation(summary = "采购订单审批(老板审批)", method = "POST")
|
@Operation(summary = "采购订单审批(老板审批)", method = "POST")
|
||||||
public SingleResponse<AuditVO> finalApproveOrder(@RequestBody @Validated OrderFinalApproveCmd orderFinalApproveCmd) {
|
public Response finalApproveOrder(@RequestBody @Validated OrderFinalApproveCmd orderFinalApproveCmd) {
|
||||||
AuditVO auditVO = orderService.finalApprove(orderFinalApproveCmd);
|
orderService.finalApprove(orderFinalApproveCmd);
|
||||||
return SingleResponse.of(auditVO);
|
return Response.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
@PostMapping("rejectFinalOrder")
|
@PostMapping("rejectFinalOrder")
|
||||||
@Operation(summary = "采购订单驳回审批(老板驳回审批)", method = "POST")
|
@Operation(summary = "采购订单驳回审批(老板驳回审批)", method = "POST")
|
||||||
public SingleResponse<AuditVO> rejectFinalOrder(@RequestBody @Validated OrderRejectFinalCmd orderRejectFinalCmd) {
|
public Response rejectFinalOrder(@RequestBody @Validated OrderRejectFinalCmd orderRejectFinalCmd) {
|
||||||
AuditVO auditVO = orderService.rejectFinal(orderRejectFinalCmd);
|
orderService.rejectFinal(orderRejectFinalCmd);
|
||||||
return SingleResponse.of(auditVO);
|
return Response.buildSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
|
|||||||
@ -3,16 +3,13 @@ package com.xunhong.erp.turbo.biz.app.assembler;
|
|||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderShipVO;
|
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderShipVO;
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderShip;
|
import com.xunhong.erp.turbo.biz.domain.entity.OrderShip;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
|
||||||
import org.mapstruct.NullValueCheckStrategy;
|
import org.mapstruct.NullValueCheckStrategy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
*/
|
*/
|
||||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, uses = {OrderAssembler.class})
|
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
|
||||||
public interface OrderShipAssembler {
|
public interface OrderShipAssembler {
|
||||||
|
|
||||||
@Mapping(target = "farmerInfo", ignore = true)
|
|
||||||
@Mapping(target = "orderVO", source = "order")
|
|
||||||
OrderShipVO toOrderShipVO(OrderShip orderShip);
|
OrderShipVO toOrderShipVO(OrderShip orderShip);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,10 @@
|
|||||||
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
||||||
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderApproveCmd;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderApproveCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.AuditVO;
|
|
||||||
import com.xunhong.erp.turbo.biz.app.assembler.AuditAssembler;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.AuditGateway;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
@ -20,15 +15,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
public class OrderApproveCmdExe {
|
public class OrderApproveCmdExe {
|
||||||
|
|
||||||
private final OrderGateway orderGateway;
|
private final OrderGateway orderGateway;
|
||||||
private final AuditGateway auditGateway;
|
|
||||||
|
|
||||||
private final AuditAssembler auditAssembler;
|
public void execute(OrderApproveCmd orderApproveCmd) {
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public AuditVO execute(OrderApproveCmd orderApproveCmd) {
|
|
||||||
Audit audit = auditGateway.approve(orderApproveCmd);
|
|
||||||
orderGateway.approve(orderApproveCmd);
|
orderGateway.approve(orderApproveCmd);
|
||||||
|
|
||||||
return auditAssembler.toAuditVO(audit);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,6 @@
|
|||||||
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
||||||
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderFinalApproveCmd;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderFinalApproveCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.AuditVO;
|
|
||||||
import com.xunhong.erp.turbo.biz.app.assembler.AuditAssembler;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.AuditGateway;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.ExpenseRecordGateway;
|
import com.xunhong.erp.turbo.biz.domain.gateway.ExpenseRecordGateway;
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -24,17 +20,11 @@ public class OrderFinalApproveCmdExe {
|
|||||||
|
|
||||||
private final ExpenseRecordGateway expenseRecordGateway;
|
private final ExpenseRecordGateway expenseRecordGateway;
|
||||||
|
|
||||||
private final AuditGateway auditGateway;
|
|
||||||
private final AuditAssembler auditAssembler;
|
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public AuditVO execute(OrderFinalApproveCmd orderFinalApproveCmd) {
|
public void execute(OrderFinalApproveCmd orderFinalApproveCmd) {
|
||||||
Audit audit = auditGateway.finalApprove(orderFinalApproveCmd);
|
|
||||||
|
|
||||||
orderGateway.finalApprove(orderFinalApproveCmd);
|
orderGateway.finalApprove(orderFinalApproveCmd);
|
||||||
|
|
||||||
// 计提费计入发货日期的花销
|
// 计提费计入发货日期的花销
|
||||||
expenseRecordGateway.addProvision(orderFinalApproveCmd.getOrderId());
|
expenseRecordGateway.addProvision(orderFinalApproveCmd.getOrderId());
|
||||||
return auditAssembler.toAuditVO(audit);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,10 @@
|
|||||||
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
||||||
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderRejectApproveCmd;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderRejectApproveCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.AuditVO;
|
|
||||||
import com.xunhong.erp.turbo.biz.app.assembler.AuditAssembler;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.AuditGateway;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
@ -20,13 +15,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
public class OrderRejectApproveCmdExe {
|
public class OrderRejectApproveCmdExe {
|
||||||
|
|
||||||
private final OrderGateway orderGateway;
|
private final OrderGateway orderGateway;
|
||||||
private final AuditGateway auditGateway;
|
|
||||||
private final AuditAssembler auditAssembler;
|
|
||||||
|
|
||||||
@Transactional
|
public void execute(OrderRejectApproveCmd orderRejectApproveCmd) {
|
||||||
public AuditVO execute(OrderRejectApproveCmd orderRejectApproveCmd) {
|
|
||||||
Audit audit = auditGateway.rejectApprove(orderRejectApproveCmd);
|
|
||||||
orderGateway.rejectApprove(orderRejectApproveCmd);
|
orderGateway.rejectApprove(orderRejectApproveCmd);
|
||||||
return auditAssembler.toAuditVO(audit);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,10 @@
|
|||||||
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
||||||
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderRejectFinalCmd;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderRejectFinalCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.AuditVO;
|
|
||||||
import com.xunhong.erp.turbo.biz.app.assembler.AuditAssembler;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.AuditGateway;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
@ -20,14 +15,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
public class OrderRejectFinalCmdExe {
|
public class OrderRejectFinalCmdExe {
|
||||||
|
|
||||||
private final OrderGateway orderGateway;
|
private final OrderGateway orderGateway;
|
||||||
private final AuditGateway auditGateway;
|
|
||||||
|
|
||||||
private final AuditAssembler auditAssembler;
|
public void execute(OrderRejectFinalCmd orderRejectFinalCmd) {
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public AuditVO execute(OrderRejectFinalCmd orderRejectFinalCmd) {
|
|
||||||
Audit audit = auditGateway.rejectFinal(orderRejectFinalCmd);
|
|
||||||
orderGateway.rejectFinal(orderRejectFinalCmd);
|
orderGateway.rejectFinal(orderRejectFinalCmd);
|
||||||
return auditAssembler.toAuditVO(audit);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,10 @@
|
|||||||
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
||||||
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSubmitReviewCmd;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSubmitReviewCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.AuditVO;
|
|
||||||
import com.xunhong.erp.turbo.biz.app.assembler.AuditAssembler;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.AuditGateway;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
@ -20,15 +15,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
public class OrderSubmitReviewCmdExe {
|
public class OrderSubmitReviewCmdExe {
|
||||||
|
|
||||||
private final OrderGateway orderGateway;
|
private final OrderGateway orderGateway;
|
||||||
private final AuditAssembler auditAssembler;
|
|
||||||
|
|
||||||
private final AuditGateway auditGateway;
|
public void execute(OrderSubmitReviewCmd orderSubmitReviewCmd) {
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public AuditVO execute(OrderSubmitReviewCmd orderSubmitReviewCmd) {
|
|
||||||
Audit audit = auditGateway.submitReview(orderSubmitReviewCmd);
|
|
||||||
orderGateway.submitReview(orderSubmitReviewCmd);
|
orderGateway.submitReview(orderSubmitReviewCmd);
|
||||||
|
|
||||||
return auditAssembler.toAuditVO(audit);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,10 @@
|
|||||||
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
||||||
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderWithdrawReviewCmd;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderWithdrawReviewCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.AuditVO;
|
|
||||||
import com.xunhong.erp.turbo.biz.app.assembler.AuditAssembler;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.AuditGateway;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
import com.xunhong.erp.turbo.biz.domain.gateway.OrderGateway;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
@ -20,14 +15,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
public class OrderWithdrawReviewCmdExe {
|
public class OrderWithdrawReviewCmdExe {
|
||||||
|
|
||||||
private final OrderGateway orderGateway;
|
private final OrderGateway orderGateway;
|
||||||
private final AuditGateway auditGateway;
|
|
||||||
|
|
||||||
private final AuditAssembler auditAssembler;
|
public void execute(OrderWithdrawReviewCmd orderWithdrawReviewCmd) {
|
||||||
|
|
||||||
@Transactional
|
|
||||||
public AuditVO execute(OrderWithdrawReviewCmd orderWithdrawReviewCmd) {
|
|
||||||
Audit audit = auditGateway.withdrawReview(orderWithdrawReviewCmd);
|
|
||||||
orderGateway.withdrawReview(orderWithdrawReviewCmd);
|
orderGateway.withdrawReview(orderWithdrawReviewCmd);
|
||||||
return auditAssembler.toAuditVO(audit);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package com.xunhong.erp.turbo.biz.app.service;
|
|||||||
import com.xunhong.erp.turbo.api.biz.api.OrderServiceI;
|
import com.xunhong.erp.turbo.api.biz.api.OrderServiceI;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.qry.*;
|
import com.xunhong.erp.turbo.api.biz.dto.qry.*;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.AuditVO;
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderVO;
|
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderVO;
|
||||||
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
||||||
import com.xunhong.erp.turbo.biz.app.executor.cmd.*;
|
import com.xunhong.erp.turbo.biz.app.executor.cmd.*;
|
||||||
@ -76,33 +75,33 @@ public class OrderServiceImpl implements OrderServiceI {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AuditVO approve(OrderApproveCmd orderApproveCmd) {
|
public void approve(OrderApproveCmd orderApproveCmd) {
|
||||||
return orderApproveCmdExe.execute(orderApproveCmd);
|
orderApproveCmdExe.execute(orderApproveCmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AuditVO submitReview(OrderSubmitReviewCmd orderSubmitReviewCmd) {
|
public void submitReview(OrderSubmitReviewCmd orderSubmitReviewCmd) {
|
||||||
return orderSubmitReviewCmdExe.execute(orderSubmitReviewCmd);
|
orderSubmitReviewCmdExe.execute(orderSubmitReviewCmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AuditVO withdrawReview(OrderWithdrawReviewCmd orderWithdrawReviewCmd) {
|
public void withdrawReview(OrderWithdrawReviewCmd orderWithdrawReviewCmd) {
|
||||||
return orderWithdrawReviewCmdExe.execute(orderWithdrawReviewCmd);
|
orderWithdrawReviewCmdExe.execute(orderWithdrawReviewCmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AuditVO rejectApprove(OrderRejectApproveCmd orderRejectApproveCmd) {
|
public void rejectApprove(OrderRejectApproveCmd orderRejectApproveCmd) {
|
||||||
return orderRejectApproveCmdExe.execute(orderRejectApproveCmd);
|
orderRejectApproveCmdExe.execute(orderRejectApproveCmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AuditVO finalApprove(OrderFinalApproveCmd orderFinalApproveCmd) {
|
public void finalApprove(OrderFinalApproveCmd orderFinalApproveCmd) {
|
||||||
return orderFinalApproveCmdExe.execute(orderFinalApproveCmd);
|
orderFinalApproveCmdExe.execute(orderFinalApproveCmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AuditVO rejectFinal(OrderRejectFinalCmd orderRejectFinalCmd) {
|
public void rejectFinal(OrderRejectFinalCmd orderRejectFinalCmd) {
|
||||||
return orderRejectFinalCmdExe.execute(orderRejectFinalCmd);
|
orderRejectFinalCmdExe.execute(orderRejectFinalCmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -64,11 +64,6 @@ public class Cost extends DTO {
|
|||||||
*/
|
*/
|
||||||
private Boolean status;
|
private Boolean status;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否默认
|
|
||||||
*/
|
|
||||||
private Boolean isDefault;
|
|
||||||
|
|
||||||
private List<Long> costItemIds;
|
private List<Long> costItemIds;
|
||||||
|
|
||||||
private List<CostItem> costItemList;
|
private List<CostItem> costItemList;
|
||||||
|
|||||||
@ -138,14 +138,4 @@ public class Dealer extends DTO {
|
|||||||
*/
|
*/
|
||||||
private BigDecimal lossAmount;
|
private BigDecimal lossAmount;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否启用初始车次号
|
|
||||||
*/
|
|
||||||
private Boolean enableInitialTrainNo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始车次号
|
|
||||||
*/
|
|
||||||
private Integer initialTrainNo;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,7 +52,7 @@ public class Order extends DTO {
|
|||||||
private OrderPricingMethodEnum pricingMethod;
|
private OrderPricingMethodEnum pricingMethod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
private OrderStateEnum state;
|
private OrderStateEnum state;
|
||||||
|
|
||||||
@ -129,6 +129,6 @@ public class Order extends DTO {
|
|||||||
/**
|
/**
|
||||||
* 采购订单发货信息
|
* 采购订单发货信息
|
||||||
*/
|
*/
|
||||||
private List<com.xunhong.erp.turbo.api.biz.dto.common.OrderShip> orderShipList;
|
private List<OrderShip> orderShipList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -92,7 +92,7 @@ public class OrderCost extends DTO {
|
|||||||
private Order order;
|
private Order order;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
private OrderStateEnum poState;
|
private OrderStateEnum poState;
|
||||||
|
|
||||||
|
|||||||
@ -75,7 +75,7 @@ public class OrderRebate extends DTO {
|
|||||||
private Order order;
|
private Order order;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
private OrderStateEnum poState;
|
private OrderStateEnum poState;
|
||||||
|
|
||||||
|
|||||||
@ -4,8 +4,8 @@ import com.alibaba.cola.domain.Entity;
|
|||||||
import com.alibaba.cola.dto.DTO;
|
import com.alibaba.cola.dto.DTO;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderShipItem;
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderShipItem;
|
||||||
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipTypeEnum;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
@ -106,11 +106,6 @@ public class OrderShip extends DTO {
|
|||||||
*/
|
*/
|
||||||
private OrderShipStateEnum state;
|
private OrderShipStateEnum state;
|
||||||
|
|
||||||
/**
|
|
||||||
* 发货单类型:1_采购发货;2_调货发货;3_改签发货;4_退货发货
|
|
||||||
*/
|
|
||||||
private OrderShipTypeEnum type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
@ -144,5 +139,5 @@ public class OrderShip extends DTO {
|
|||||||
/**
|
/**
|
||||||
* 订单运输表
|
* 订单运输表
|
||||||
*/
|
*/
|
||||||
private Order order;
|
private OrderVehicle orderVehicle;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,11 +55,6 @@ public class OrderSupplier extends DTO {
|
|||||||
*/
|
*/
|
||||||
private String idCard;
|
private String idCard;
|
||||||
|
|
||||||
/**
|
|
||||||
* 银行名称
|
|
||||||
*/
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 银行卡号
|
* 银行卡号
|
||||||
*/
|
*/
|
||||||
@ -221,7 +216,7 @@ public class OrderSupplier extends DTO {
|
|||||||
private Order order;
|
private Order order;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
private OrderStateEnum poState;
|
private OrderStateEnum poState;
|
||||||
|
|
||||||
|
|||||||
@ -41,11 +41,6 @@ public class Supplier extends DTO {
|
|||||||
*/
|
*/
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
/**
|
|
||||||
* 银行名称
|
|
||||||
*/
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 银行卡号
|
* 银行卡号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package com.xunhong.erp.turbo.biz.domain.gateway;
|
package com.xunhong.erp.turbo.biz.domain.gateway;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.AuditUpdateCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.qry.AuditPageQry;
|
import com.xunhong.erp.turbo.api.biz.dto.qry.AuditPageQry;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.qry.AuditShowQry;
|
import com.xunhong.erp.turbo.api.biz.dto.qry.AuditShowQry;
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
||||||
@ -16,17 +16,5 @@ public interface AuditGateway {
|
|||||||
Audit update(AuditUpdateCmd auditUpdateCmd);
|
Audit update(AuditUpdateCmd auditUpdateCmd);
|
||||||
|
|
||||||
Audit show(AuditShowQry auditShowQry);
|
Audit show(AuditShowQry auditShowQry);
|
||||||
|
|
||||||
Audit submitReview(OrderSubmitReviewCmd orderSubmitReviewCmd);
|
|
||||||
|
|
||||||
Audit withdrawReview(OrderWithdrawReviewCmd orderWithdrawReviewCmd);
|
|
||||||
|
|
||||||
Audit rejectApprove(OrderRejectApproveCmd orderRejectApproveCmd);
|
|
||||||
|
|
||||||
Audit finalApprove(OrderFinalApproveCmd orderFinalApproveCmd);
|
|
||||||
|
|
||||||
Audit rejectFinal(OrderRejectFinalCmd orderRejectFinalCmd);
|
|
||||||
|
|
||||||
Audit approve(OrderApproveCmd orderApproveCmd);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -29,8 +29,6 @@ public interface DealerConvert {
|
|||||||
@Mapping(target = "enableAccrualTax", source = "setting.enableAccrualTax")
|
@Mapping(target = "enableAccrualTax", source = "setting.enableAccrualTax")
|
||||||
@Mapping(target = "companyRebateRatio", source = "setting.companyRebateRatio")
|
@Mapping(target = "companyRebateRatio", source = "setting.companyRebateRatio")
|
||||||
@Mapping(target = "accrualTaxRatio", source = "setting.accrualTaxRatio")
|
@Mapping(target = "accrualTaxRatio", source = "setting.accrualTaxRatio")
|
||||||
@Mapping(target = "enableInitialTrainNo", source = "setting.enableInitialTrainNo")
|
|
||||||
@Mapping(target = "initialTrainNo", source = "setting.initialTrainNo")
|
|
||||||
@Mapping(target = "dealerPaymentAccountList", source = "dealerPaymentAccountDOList")
|
@Mapping(target = "dealerPaymentAccountList", source = "dealerPaymentAccountDOList")
|
||||||
Dealer toDealer(DealerDO dealerDO);
|
Dealer toDealer(DealerDO dealerDO);
|
||||||
|
|
||||||
@ -59,8 +57,6 @@ public interface DealerConvert {
|
|||||||
dealerSettingDO.setShareAdjusted(dealerCreateCmd.getShareAdjusted());
|
dealerSettingDO.setShareAdjusted(dealerCreateCmd.getShareAdjusted());
|
||||||
dealerSettingDO.setEnableLoss(dealerCreateCmd.getEnableLoss());
|
dealerSettingDO.setEnableLoss(dealerCreateCmd.getEnableLoss());
|
||||||
dealerSettingDO.setLossAmount(dealerCreateCmd.getLossAmount());
|
dealerSettingDO.setLossAmount(dealerCreateCmd.getLossAmount());
|
||||||
dealerSettingDO.setEnableInitialTrainNo(dealerCreateCmd.getEnableInitialTrainNo());
|
|
||||||
dealerSettingDO.setInitialTrainNo(dealerCreateCmd.getInitialTrainNo());
|
|
||||||
return dealerSettingDO;
|
return dealerSettingDO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,14 @@
|
|||||||
package com.xunhong.erp.turbo.biz.infrastructure.convert;
|
package com.xunhong.erp.turbo.biz.infrastructure.convert;
|
||||||
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.common.*;
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
|
||||||
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderRebate;
|
||||||
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderSupplier;
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.Order;
|
import com.xunhong.erp.turbo.biz.domain.entity.Order;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.*;
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO;
|
||||||
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderDO;
|
||||||
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO;
|
||||||
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderSupplierDO;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.Mapping;
|
import org.mapstruct.Mapping;
|
||||||
import org.mapstruct.MappingTarget;
|
import org.mapstruct.MappingTarget;
|
||||||
@ -14,7 +19,7 @@ import java.util.List;
|
|||||||
/**
|
/**
|
||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
*/
|
*/
|
||||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, uses = {OrderVehicleConvert.class, OrderCostConvert.class, OrderPackageConvert.class, OrderDealerConvert.class, OrderRebateConvert.class, OrderCompanyConvert.class, OrderPackageConvert.class})
|
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, uses = {OrderVehicleConvert.class, OrderCostConvert.class, OrderPackageConvert.class, OrderDealerConvert.class, OrderRebateConvert.class, OrderCompanyConvert.class, OrderPackageConvert.class, OrderShipItemConvert.class, OrderShipConvert.class})
|
||||||
public interface OrderConvert {
|
public interface OrderConvert {
|
||||||
|
|
||||||
@Mapping(target = "orderShipList", source = "orderShipDOList")
|
@Mapping(target = "orderShipList", source = "orderShipDOList")
|
||||||
@ -26,7 +31,7 @@ public interface OrderConvert {
|
|||||||
@Mapping(target = "orderCostItemList", source = "orderCostItemDOList")
|
@Mapping(target = "orderCostItemList", source = "orderCostItemDOList")
|
||||||
@Mapping(target = "orderSupplierList", source = "orderSupplierDOList")
|
@Mapping(target = "orderSupplierList", source = "orderSupplierDOList")
|
||||||
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
|
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
|
||||||
Order toOrder(OrderDO orderDO);
|
Order toOrder(OrderDO orderDO);
|
||||||
|
|
||||||
@Mapping(target = "orderShipDOList", ignore = true)
|
@Mapping(target = "orderShipDOList", ignore = true)
|
||||||
@Mapping(target = "orderCostItemDOList", ignore = true)
|
@Mapping(target = "orderCostItemDOList", ignore = true)
|
||||||
@ -182,33 +187,5 @@ public interface OrderConvert {
|
|||||||
OrderRebateDO toOrderRebateDO(OrderRebate orderRebate);
|
OrderRebateDO toOrderRebateDO(OrderRebate orderRebate);
|
||||||
|
|
||||||
OrderRebate toOrderRebate(OrderRebateDO orderRebateDO);
|
OrderRebate toOrderRebate(OrderRebateDO orderRebateDO);
|
||||||
|
|
||||||
@Mapping(target = "file", ignore = true)
|
|
||||||
@Mapping(target = "orderDO", ignore = true)
|
|
||||||
@Mapping(target = "orderCostDOList", ignore = true)
|
|
||||||
@Mapping(target = "orderShipItemDOList", ignore = true)
|
|
||||||
@Mapping(target = "version", ignore = true)
|
|
||||||
@Mapping(target = "updatedAt", ignore = true)
|
|
||||||
@Mapping(target = "isDelete", ignore = true)
|
|
||||||
@Mapping(target = "createdAt", ignore = true)
|
|
||||||
@Mapping(target = "farmerInfo", ignore = true)
|
|
||||||
OrderShipDO toOrderShipDO(OrderShip orderShip);
|
|
||||||
|
|
||||||
List<OrderShip> toOrderShipList(List<OrderShipDO> orderShipDOList);
|
|
||||||
|
|
||||||
@Mapping(target = "picUrl", source = "file.picUrl")
|
|
||||||
@Mapping(target = "pdfUrl", source = "file.pdfUrl")
|
|
||||||
@Mapping(target = "orderShipItemList", source = "orderShipItemDOList")
|
|
||||||
OrderShip toOrderShip(OrderShipDO orderShipDO);
|
|
||||||
|
|
||||||
List<OrderShipItem> toOrderShipItemList(List<OrderShipItemDO> orderShipItemDOList);
|
|
||||||
|
|
||||||
OrderShipItem toOrderShipItem(OrderShipItemDO orderShipItemDO);
|
|
||||||
|
|
||||||
@Mapping(target = "version", ignore = true)
|
|
||||||
@Mapping(target = "updatedAt", ignore = true)
|
|
||||||
@Mapping(target = "isDelete", ignore = true)
|
|
||||||
@Mapping(target = "createdAt", ignore = true)
|
|
||||||
OrderShipItemDO toOrderShipItemDO(OrderShipItem orderShipItem);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ package com.xunhong.erp.turbo.biz.infrastructure.convert;
|
|||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderShipCreateCmd;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderShipCreateCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderShipGenerateDocumentCmd;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderShipGenerateDocumentCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderShipUpdateCmd;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderShipUpdateCmd;
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderShip;
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderShip;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipDO;
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipDO;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipFileDO;
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipFileDO;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
@ -14,21 +14,20 @@ import org.mapstruct.NullValueCheckStrategy;
|
|||||||
/**
|
/**
|
||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
*/
|
*/
|
||||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, uses = {OrderConvert.class})
|
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
|
||||||
public interface OrderShipConvert {
|
public interface OrderShipConvert {
|
||||||
|
|
||||||
@Mapping(target = "picUrl", source = "file.picUrl")
|
@Mapping(target = "picUrl", source = "file.picUrl")
|
||||||
@Mapping(target = "pdfUrl", source = "file.pdfUrl")
|
@Mapping(target = "pdfUrl", source = "file.pdfUrl")
|
||||||
@Mapping(target = "order", source = "orderDO")
|
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
|
||||||
@Mapping(target = "orderCostList", source = "orderCostDOList")
|
@Mapping(target = "orderCostList", source = "orderCostDOList")
|
||||||
@Mapping(target = "orderShipItemList", source = "orderShipItemDOList")
|
@Mapping(target = "orderShipItemList", source = "orderShipItemDOList")
|
||||||
OrderShip toOrderShip(OrderShipDO orderShipDO);
|
com.xunhong.erp.turbo.biz.domain.entity.OrderShip toOrderShip(OrderShipDO orderShipDO);
|
||||||
|
|
||||||
@Mapping(target = "type", ignore = true)
|
|
||||||
@Mapping(target = "file", ignore = true)
|
@Mapping(target = "file", ignore = true)
|
||||||
@Mapping(target = "dealerName", ignore = true)
|
@Mapping(target = "dealerName", ignore = true)
|
||||||
@Mapping(target = "dealerId", ignore = true)
|
@Mapping(target = "dealerId", ignore = true)
|
||||||
@Mapping(target = "orderDO", ignore = true)
|
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||||
@Mapping(target = "orderCostDOList", ignore = true)
|
@Mapping(target = "orderCostDOList", ignore = true)
|
||||||
@Mapping(target = "warehouseName", ignore = true)
|
@Mapping(target = "warehouseName", ignore = true)
|
||||||
@Mapping(target = "warehouseId", ignore = true)
|
@Mapping(target = "warehouseId", ignore = true)
|
||||||
@ -40,11 +39,10 @@ public interface OrderShipConvert {
|
|||||||
@Mapping(target = "createdAt", ignore = true)
|
@Mapping(target = "createdAt", ignore = true)
|
||||||
OrderShipDO toOrderShipDO(OrderShipCreateCmd orderShipCreateCmd);
|
OrderShipDO toOrderShipDO(OrderShipCreateCmd orderShipCreateCmd);
|
||||||
|
|
||||||
@Mapping(target = "type", ignore = true)
|
|
||||||
@Mapping(target = "file", ignore = true)
|
@Mapping(target = "file", ignore = true)
|
||||||
@Mapping(target = "dealerName", ignore = true)
|
@Mapping(target = "dealerName", ignore = true)
|
||||||
@Mapping(target = "dealerId", ignore = true)
|
@Mapping(target = "dealerId", ignore = true)
|
||||||
@Mapping(target = "orderDO", ignore = true)
|
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||||
@Mapping(target = "orderId", ignore = true)
|
@Mapping(target = "orderId", ignore = true)
|
||||||
@Mapping(target = "orderCostDOList", ignore = true)
|
@Mapping(target = "orderCostDOList", ignore = true)
|
||||||
@Mapping(target = "warehouseName", ignore = true)
|
@Mapping(target = "warehouseName", ignore = true)
|
||||||
@ -61,11 +59,10 @@ public interface OrderShipConvert {
|
|||||||
@Mapping(target = "createdAt", ignore = true)
|
@Mapping(target = "createdAt", ignore = true)
|
||||||
void toOrderShipDO(@MappingTarget OrderShipDO orderShipDO, OrderShipUpdateCmd orderShipUpdateCmd);
|
void toOrderShipDO(@MappingTarget OrderShipDO orderShipDO, OrderShipUpdateCmd orderShipUpdateCmd);
|
||||||
|
|
||||||
@Mapping(target = "type", ignore = true)
|
|
||||||
@Mapping(target = "file", expression = "java(this.toOrderShipFileDO(orderShipGenerateDocumentCmd))")
|
@Mapping(target = "file", expression = "java(this.toOrderShipFileDO(orderShipGenerateDocumentCmd))")
|
||||||
@Mapping(target = "dealerName", ignore = true)
|
@Mapping(target = "dealerName", ignore = true)
|
||||||
@Mapping(target = "dealerId", ignore = true)
|
@Mapping(target = "dealerId", ignore = true)
|
||||||
@Mapping(target = "orderDO", ignore = true)
|
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||||
@Mapping(target = "orderId", ignore = true)
|
@Mapping(target = "orderId", ignore = true)
|
||||||
@Mapping(target = "orderCostDOList", ignore = true)
|
@Mapping(target = "orderCostDOList", ignore = true)
|
||||||
@Mapping(target = "companyName", ignore = true)
|
@Mapping(target = "companyName", ignore = true)
|
||||||
@ -91,5 +88,16 @@ public interface OrderShipConvert {
|
|||||||
orderShipFileDO.setPdfUrl(orderShipGenerateDocumentCmd.getPdfUrl());
|
orderShipFileDO.setPdfUrl(orderShipGenerateDocumentCmd.getPdfUrl());
|
||||||
return orderShipFileDO;
|
return orderShipFileDO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Mapping(target = "file", ignore = true)
|
||||||
|
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||||
|
@Mapping(target = "orderCostDOList", ignore = true)
|
||||||
|
@Mapping(target = "orderShipItemDOList", ignore = true)
|
||||||
|
@Mapping(target = "version", ignore = true)
|
||||||
|
@Mapping(target = "updatedAt", ignore = true)
|
||||||
|
@Mapping(target = "isDelete", ignore = true)
|
||||||
|
@Mapping(target = "createdAt", ignore = true)
|
||||||
|
@Mapping(target = "farmerInfo", ignore = true)
|
||||||
|
OrderShipDO toOrderShipDO(OrderShip orderShip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ public interface OrderShipItemConvert {
|
|||||||
@Mapping(target = "createdAt", ignore = true)
|
@Mapping(target = "createdAt", ignore = true)
|
||||||
OrderShipItemDO toOrderShipItemDO(OrderShipItem orderShipItem);
|
OrderShipItemDO toOrderShipItemDO(OrderShipItem orderShipItem);
|
||||||
|
|
||||||
@Mapping(target = "orderShipItemId", ignore = true)
|
@Mapping(target = "itemId", ignore = true)
|
||||||
@Mapping(target = "orderShipId", ignore = true)
|
@Mapping(target = "orderShipId", ignore = true)
|
||||||
@Mapping(target = "version", ignore = true)
|
@Mapping(target = "version", ignore = true)
|
||||||
@Mapping(target = "updatedAt", ignore = true)
|
@Mapping(target = "updatedAt", ignore = true)
|
||||||
|
|||||||
@ -17,7 +17,7 @@ import java.time.LocalDateTime;
|
|||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@TableName(value = "audit")
|
@TableName(value = "order_audit")
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public class AuditDO extends BaseDO<AuditDO> {
|
public class AuditDO extends BaseDO<AuditDO> {
|
||||||
|
|
||||||
|
|||||||
@ -82,12 +82,6 @@ public class CostDO extends BaseDO<CostDO> {
|
|||||||
@TableField(value = "status")
|
@TableField(value = "status")
|
||||||
private Boolean status;
|
private Boolean status;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否默认:1_是;0_否
|
|
||||||
*/
|
|
||||||
@TableField(value = "is_default")
|
|
||||||
private Boolean isDefault;
|
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<CostItemDO> costItemDOList;
|
private List<CostItemDO> costItemDOList;
|
||||||
|
|
||||||
|
|||||||
@ -77,35 +77,4 @@ public class DealerSettingDO extends DTO {
|
|||||||
* 损耗金额
|
* 损耗金额
|
||||||
*/
|
*/
|
||||||
private BigDecimal lossAmount;
|
private BigDecimal lossAmount;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否启用初始车次号
|
|
||||||
*/
|
|
||||||
private Boolean enableInitialTrainNo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始车次号
|
|
||||||
*/
|
|
||||||
private Integer initialTrainNo;
|
|
||||||
|
|
||||||
|
|
||||||
public static DealerSettingDO getDefaultSetting() {
|
|
||||||
DealerSettingDO setting = new DealerSettingDO();
|
|
||||||
setting.setEnableShare(false);
|
|
||||||
setting.setShareRatio(new BigDecimal(0));
|
|
||||||
setting.setFreightCostFlag(false);
|
|
||||||
setting.setStrawMatCostFlag(false);
|
|
||||||
setting.setIncludePackingFlag(false);
|
|
||||||
setting.setIncludeFreightFlag(false);
|
|
||||||
setting.setEnableAccrualTax(false);
|
|
||||||
setting.setAccrualTaxRatio(new BigDecimal(0));
|
|
||||||
setting.setEnableCompanyRebate(false);
|
|
||||||
setting.setCompanyRebateRatio(new BigDecimal(0));
|
|
||||||
setting.setShareAdjusted(false);
|
|
||||||
setting.setEnableLoss(false);
|
|
||||||
setting.setLossAmount(new BigDecimal(0));
|
|
||||||
setting.setEnableInitialTrainNo(false);
|
|
||||||
setting.setInitialTrainNo(0);
|
|
||||||
return setting;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,7 +18,7 @@ import java.util.List;
|
|||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@TableName(value = "`order`")
|
@TableName(value = "order")
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public class OrderDO extends BaseDO<OrderDO> {
|
public class OrderDO extends BaseDO<OrderDO> {
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ public class OrderDO extends BaseDO<OrderDO> {
|
|||||||
private OrderPricingMethodEnum pricingMethod;
|
private OrderPricingMethodEnum pricingMethod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
@TableField(value = "state")
|
@TableField(value = "state")
|
||||||
private OrderStateEnum state;
|
private OrderStateEnum state;
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipTypeEnum;
|
|
||||||
import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO;
|
import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
@ -119,12 +118,6 @@ public class OrderShipDO extends BaseDO<OrderShipDO> {
|
|||||||
@TableField(value = "state")
|
@TableField(value = "state")
|
||||||
private OrderShipStateEnum state;
|
private OrderShipStateEnum state;
|
||||||
|
|
||||||
/**
|
|
||||||
* 发货单类型:1_采购发货;2_调货发货;3_改签发货;4_退货发货
|
|
||||||
*/
|
|
||||||
@TableField(value = "type")
|
|
||||||
private OrderShipTypeEnum type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发货单文件
|
* 发货单文件
|
||||||
*/
|
*/
|
||||||
@ -161,6 +154,6 @@ public class OrderShipDO extends BaseDO<OrderShipDO> {
|
|||||||
private List<OrderCostDO> orderCostDOList;
|
private List<OrderCostDO> orderCostDOList;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private OrderDO orderDO;
|
private OrderVehicleDO orderVehicleDO;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,8 +21,8 @@ public class OrderShipItemDO extends BaseDO<OrderShipItemDO> {
|
|||||||
/**
|
/**
|
||||||
* 发货单子项ID
|
* 发货单子项ID
|
||||||
*/
|
*/
|
||||||
@TableId(value = "order_ship_item_id", type = IdType.ASSIGN_ID)
|
@TableId(value = "item_id", type = IdType.ASSIGN_ID)
|
||||||
private Long orderShipItemId;
|
private Long itemId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发货单ID
|
* 发货单ID
|
||||||
|
|||||||
@ -53,7 +53,6 @@ public class OrderSupplierDO extends BaseDO<OrderSupplierDO> {
|
|||||||
/**
|
/**
|
||||||
* 收款人姓名
|
* 收款人姓名
|
||||||
*/
|
*/
|
||||||
@TableField(value = "payee_name")
|
|
||||||
private String payeeName;
|
private String payeeName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -62,12 +61,6 @@ public class OrderSupplierDO extends BaseDO<OrderSupplierDO> {
|
|||||||
@TableField(value = "id_card")
|
@TableField(value = "id_card")
|
||||||
private String idCard;
|
private String idCard;
|
||||||
|
|
||||||
/**
|
|
||||||
* 银行名称
|
|
||||||
*/
|
|
||||||
@TableField(value = "bank_name")
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 银行卡号
|
* 银行卡号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -47,12 +47,6 @@ public class SupplierDO extends BaseDO<SupplierDO> {
|
|||||||
@TableField(value = "phone")
|
@TableField(value = "phone")
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
/**
|
|
||||||
* 银行名称
|
|
||||||
*/
|
|
||||||
@TableField(value = "bank_name")
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 银行卡号
|
* 银行卡号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -5,14 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.AuditUpdateCmd;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.AuditStateEnum;
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.AuditSubjectTypeEnum;
|
import com.xunhong.erp.turbo.api.biz.dto.enums.AuditSubjectTypeEnum;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.AuditTypeEnum;
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.qry.AuditPageQry;
|
import com.xunhong.erp.turbo.api.biz.dto.qry.AuditPageQry;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.qry.AuditShowQry;
|
import com.xunhong.erp.turbo.api.biz.dto.qry.AuditShowQry;
|
||||||
import com.xunhong.erp.turbo.api.biz.exception.BizErrorCode;
|
|
||||||
import com.xunhong.erp.turbo.api.biz.exception.BizException;
|
|
||||||
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
import com.xunhong.erp.turbo.biz.domain.entity.Audit;
|
||||||
import com.xunhong.erp.turbo.biz.domain.gateway.AuditGateway;
|
import com.xunhong.erp.turbo.biz.domain.gateway.AuditGateway;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.convert.AuditConvert;
|
import com.xunhong.erp.turbo.biz.infrastructure.convert.AuditConvert;
|
||||||
@ -23,7 +19,6 @@ import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderMapper;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -37,14 +32,14 @@ import java.util.stream.Collectors;
|
|||||||
@Repository
|
@Repository
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AuditGatewayImpl implements AuditGateway {
|
public class AuditGatewayImpl implements AuditGateway {
|
||||||
private final AuditMapper auditMapper;
|
private final AuditMapper auditMapper;
|
||||||
private final AuditConvert auditConvert;
|
private final AuditConvert auditConvert;
|
||||||
|
|
||||||
private final OrderMapper orderMapper;
|
private final OrderMapper orderMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<Audit> page(AuditPageQry auditPageQry) {
|
public IPage<Audit> page(AuditPageQry auditPageQry) {
|
||||||
LambdaQueryWrapper<AuditDO> queryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
LambdaQueryWrapper<AuditDO> queryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
||||||
|
|
||||||
queryWrapper.eq(Objects.nonNull(auditPageQry.getAuditId()), AuditDO::getAuditId, auditPageQry.getAuditId());
|
queryWrapper.eq(Objects.nonNull(auditPageQry.getAuditId()), AuditDO::getAuditId, auditPageQry.getAuditId());
|
||||||
queryWrapper.eq(Objects.nonNull(auditPageQry.getType()), AuditDO::getType, auditPageQry.getType());
|
queryWrapper.eq(Objects.nonNull(auditPageQry.getType()), AuditDO::getType, auditPageQry.getType());
|
||||||
@ -53,8 +48,8 @@ public class AuditGatewayImpl implements AuditGateway {
|
|||||||
|
|
||||||
queryWrapper.orderByDesc(AuditDO::getCreatedAt);
|
queryWrapper.orderByDesc(AuditDO::getCreatedAt);
|
||||||
|
|
||||||
IPage<AuditDO> page = new Page<>(auditPageQry.getPageIndex(), auditPageQry.getPageSize());
|
IPage<AuditDO> page = new Page<>(auditPageQry.getPageIndex(), auditPageQry.getPageSize());
|
||||||
page = auditMapper.selectPage(page, queryWrapper);
|
page = auditMapper.selectPage(page, queryWrapper);
|
||||||
Set<Long> orderIdList = page.getRecords().stream().filter(auditDO -> auditDO.getSubjectType().equals(AuditSubjectTypeEnum.PURCHASE_ORDER)).map(AuditDO::getSubjectId).collect(Collectors.toSet());
|
Set<Long> orderIdList = page.getRecords().stream().filter(auditDO -> auditDO.getSubjectType().equals(AuditSubjectTypeEnum.PURCHASE_ORDER)).map(AuditDO::getSubjectId).collect(Collectors.toSet());
|
||||||
if (CollUtil.isNotEmpty(orderIdList)) {
|
if (CollUtil.isNotEmpty(orderIdList)) {
|
||||||
List<OrderDO> orderDOList = orderMapper.selectByOrderIdList(orderIdList);
|
List<OrderDO> orderDOList = orderMapper.selectByOrderIdList(orderIdList);
|
||||||
@ -66,10 +61,10 @@ public class AuditGatewayImpl implements AuditGateway {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return page.convert(auditConvert::toAudit);
|
return page.convert(auditConvert::toAudit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Audit update(AuditUpdateCmd auditUpdateCmd) {
|
public Audit update(AuditUpdateCmd auditUpdateCmd) {
|
||||||
LambdaQueryWrapper<AuditDO> queryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
LambdaQueryWrapper<AuditDO> queryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
||||||
queryWrapper.eq(AuditDO::getAuditId, auditUpdateCmd.getAuditId());
|
queryWrapper.eq(AuditDO::getAuditId, auditUpdateCmd.getAuditId());
|
||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
@ -79,185 +74,17 @@ public class AuditGatewayImpl implements AuditGateway {
|
|||||||
auditConvert.toAuditDO(auditDO, auditUpdateCmd);
|
auditConvert.toAuditDO(auditDO, auditUpdateCmd);
|
||||||
auditMapper.updateById(auditDO);
|
auditMapper.updateById(auditDO);
|
||||||
|
|
||||||
return auditConvert.toAudit(auditDO);
|
return auditConvert.toAudit(auditDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Audit show(AuditShowQry auditShowQry) {
|
public Audit show(AuditShowQry auditShowQry) {
|
||||||
LambdaQueryWrapper<AuditDO> queryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
LambdaQueryWrapper<AuditDO> queryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
||||||
queryWrapper.eq(AuditDO::getAuditId, auditShowQry.getAuditId());
|
queryWrapper.eq(AuditDO::getAuditId, auditShowQry.getAuditId());
|
||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
|
|
||||||
AuditDO auditDO = auditMapper.selectOne(queryWrapper);
|
AuditDO auditDO = auditMapper.selectOne(queryWrapper);
|
||||||
if (Objects.nonNull(auditDO)) {
|
return auditConvert.toAudit(auditDO);
|
||||||
if (auditDO.getSubjectType().equals(AuditSubjectTypeEnum.PURCHASE_ORDER)) {
|
}
|
||||||
OrderDO orderDO = orderMapper.selectByOrderId(auditDO.getSubjectId());
|
|
||||||
auditDO.setOrderDO(orderDO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return auditConvert.toAudit(auditDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Audit submitReview(OrderSubmitReviewCmd orderSubmitReviewCmd) {
|
|
||||||
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectId, orderSubmitReviewCmd.getOrderId());
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectType, AuditSubjectTypeEnum.PURCHASE_ORDER);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.REVIEWER_AUDIT);
|
|
||||||
auditQueryWrapper.last("limit 1");
|
|
||||||
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
|
||||||
|
|
||||||
if (Objects.isNull(auditDO)) {
|
|
||||||
auditDO = new AuditDO();
|
|
||||||
auditDO.setSubjectId(orderSubmitReviewCmd.getOrderId());
|
|
||||||
auditDO.setSubjectType(AuditSubjectTypeEnum.PURCHASE_ORDER);
|
|
||||||
auditDO.setType(AuditTypeEnum.REVIEWER_AUDIT);
|
|
||||||
auditDO.setState(AuditStateEnum.WAITING_AUDIT);
|
|
||||||
auditDO.setCreatedBy(orderSubmitReviewCmd.getCreatedBy());
|
|
||||||
auditDO.setCreatedByName(orderSubmitReviewCmd.getCreatedByName());
|
|
||||||
auditMapper.insert(auditDO);
|
|
||||||
} else {
|
|
||||||
auditDO.setState(AuditStateEnum.WAITING_AUDIT);
|
|
||||||
auditMapper.updateById(auditDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
return auditConvert.toAudit(auditDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Audit withdrawReview(OrderWithdrawReviewCmd orderWithdrawReviewCmd) {
|
|
||||||
// 更新审核记录状态为草稿(撤回审核)
|
|
||||||
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectId, orderWithdrawReviewCmd.getOrderId());
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectType, AuditSubjectTypeEnum.PURCHASE_ORDER);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.REVIEWER_AUDIT);
|
|
||||||
auditQueryWrapper.last("limit 1");
|
|
||||||
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
|
||||||
|
|
||||||
if (auditDO != null) {
|
|
||||||
auditDO.setState(AuditStateEnum.AUDIT_CANCEL);
|
|
||||||
auditDO.setAuditAt(LocalDateTime.now());
|
|
||||||
auditDO.setAuditBy(orderWithdrawReviewCmd.getCreatedBy());
|
|
||||||
auditDO.setAuditByName(orderWithdrawReviewCmd.getCreatedByName());
|
|
||||||
auditMapper.updateById(auditDO);
|
|
||||||
}
|
|
||||||
return auditConvert.toAudit(auditDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Audit rejectApprove(OrderRejectApproveCmd orderRejectApproveCmd) {
|
|
||||||
// 更新审核记录
|
|
||||||
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getAuditId, orderRejectApproveCmd.getAuditId());
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectId, orderRejectApproveCmd.getOrderId());
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectType, AuditSubjectTypeEnum.PURCHASE_ORDER);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.REVIEWER_AUDIT);
|
|
||||||
auditQueryWrapper.last("limit 1");
|
|
||||||
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
|
||||||
|
|
||||||
if (auditDO != null) {
|
|
||||||
auditDO.setState(AuditStateEnum.AUDIT_REJECTED);
|
|
||||||
auditDO.setAuditReason(orderRejectApproveCmd.getRejectReason());
|
|
||||||
auditDO.setAuditAt(LocalDateTime.now());
|
|
||||||
auditDO.setAuditBy(orderRejectApproveCmd.getCreatedBy());
|
|
||||||
auditDO.setAuditByName(orderRejectApproveCmd.getCreatedByName());
|
|
||||||
auditMapper.updateById(auditDO);
|
|
||||||
} else {
|
|
||||||
// 如果审核记录不存在,抛出异常
|
|
||||||
throw new BizException(BizErrorCode.B_BIZ_AUDIT_NOT_FOUND);
|
|
||||||
}
|
|
||||||
return auditConvert.toAudit(auditDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Audit finalApprove(OrderFinalApproveCmd orderFinalApproveCmd) {
|
|
||||||
// 更新审核记录为审核成功
|
|
||||||
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectId, orderFinalApproveCmd.getOrderId());
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectType, AuditSubjectTypeEnum.PURCHASE_ORDER);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.BOSS_AUDIT);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getAuditId, orderFinalApproveCmd.getAuditId());
|
|
||||||
auditQueryWrapper.last("limit 1");
|
|
||||||
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
|
||||||
|
|
||||||
if (auditDO != null) {
|
|
||||||
auditDO.setState(AuditStateEnum.AUDIT_SUCCESS);
|
|
||||||
auditDO.setAuditAt(LocalDateTime.now());
|
|
||||||
auditDO.setAuditBy(orderFinalApproveCmd.getCreatedBy());
|
|
||||||
auditDO.setAuditByName(orderFinalApproveCmd.getCreatedByName());
|
|
||||||
auditMapper.updateById(auditDO);
|
|
||||||
} else {
|
|
||||||
// 如果审核记录不存在,抛出异常
|
|
||||||
throw new BizException(BizErrorCode.B_BIZ_AUDIT_NOT_FOUND);
|
|
||||||
}
|
|
||||||
return auditConvert.toAudit(auditDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Audit rejectFinal(OrderRejectFinalCmd orderRejectFinalCmd) {
|
|
||||||
// 更新审核记录
|
|
||||||
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectId, orderRejectFinalCmd.getOrderId());
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectType, AuditSubjectTypeEnum.PURCHASE_ORDER);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.BOSS_AUDIT);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getAuditId, orderRejectFinalCmd.getAuditId());
|
|
||||||
auditQueryWrapper.last("limit 1");
|
|
||||||
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
|
||||||
|
|
||||||
if (auditDO != null) {
|
|
||||||
auditDO.setState(AuditStateEnum.AUDIT_REJECTED);
|
|
||||||
auditDO.setAuditReason(orderRejectFinalCmd.getRejectReason());
|
|
||||||
auditDO.setAuditAt(LocalDateTime.now());
|
|
||||||
auditDO.setAuditBy(orderRejectFinalCmd.getCreatedBy());
|
|
||||||
auditDO.setAuditByName(orderRejectFinalCmd.getCreatedByName());
|
|
||||||
auditMapper.updateById(auditDO);
|
|
||||||
} else {
|
|
||||||
// 如果审核记录不存在,抛出异常
|
|
||||||
throw new BizException(BizErrorCode.B_BIZ_AUDIT_NOT_FOUND);
|
|
||||||
}
|
|
||||||
return auditConvert.toAudit(auditDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Audit approve(OrderApproveCmd orderApproveCmd) {
|
|
||||||
// 更新审核记录状态为审核成功
|
|
||||||
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectId, orderApproveCmd.getOrderId());
|
|
||||||
auditQueryWrapper.eq(AuditDO::getSubjectType, AuditSubjectTypeEnum.PURCHASE_ORDER);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
|
||||||
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.REVIEWER_AUDIT);
|
|
||||||
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
|
||||||
|
|
||||||
if (Objects.isNull(auditDO)) {
|
|
||||||
// 如果审核记录不存在,抛出异常
|
|
||||||
throw new BizException(BizErrorCode.B_BIZ_AUDIT_NOT_FOUND);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (orderApproveCmd.getDraft()) {
|
|
||||||
return auditConvert.toAudit(auditDO);
|
|
||||||
}
|
|
||||||
|
|
||||||
auditDO.setState(AuditStateEnum.AUDIT_SUCCESS);
|
|
||||||
auditDO.setAuditAt(LocalDateTime.now());
|
|
||||||
auditDO.setAuditBy(orderApproveCmd.getCreatedBy());
|
|
||||||
auditDO.setAuditByName(orderApproveCmd.getCreatedByName());
|
|
||||||
auditMapper.updateById(auditDO);
|
|
||||||
|
|
||||||
// 自动生成报老板待审核记录(每次都创建新记录)
|
|
||||||
AuditDO auditDO1 = new AuditDO();
|
|
||||||
auditDO1.setSubjectId(orderApproveCmd.getOrderId());
|
|
||||||
auditDO1.setSubjectType(AuditSubjectTypeEnum.PURCHASE_ORDER);
|
|
||||||
auditDO1.setType(AuditTypeEnum.BOSS_AUDIT);
|
|
||||||
auditDO1.setState(AuditStateEnum.WAITING_AUDIT);
|
|
||||||
auditDO1.setCreatedBy(orderApproveCmd.getCreatedBy());
|
|
||||||
auditDO1.setCreatedByName(orderApproveCmd.getCreatedByName());
|
|
||||||
auditMapper.insert(auditDO1);
|
|
||||||
return auditConvert.toAudit(auditDO1);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,6 @@ import com.xunhong.erp.turbo.biz.domain.gateway.DealerGateway;
|
|||||||
import com.xunhong.erp.turbo.biz.infrastructure.convert.DealerConvert;
|
import com.xunhong.erp.turbo.biz.infrastructure.convert.DealerConvert;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.DealerDO;
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.DealerDO;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.DealerPaymentAccountDO;
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.DealerPaymentAccountDO;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.DealerSettingDO;
|
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.DealerMapper;
|
import com.xunhong.erp.turbo.biz.infrastructure.mapper.DealerMapper;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.DealerPaymentAccountMapper;
|
import com.xunhong.erp.turbo.biz.infrastructure.mapper.DealerPaymentAccountMapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -46,8 +45,6 @@ public class DealerGatewayImpl implements DealerGateway {
|
|||||||
@Override
|
@Override
|
||||||
public Dealer save(DealerCreateCmd dealerCreateCmd) {
|
public Dealer save(DealerCreateCmd dealerCreateCmd) {
|
||||||
DealerDO dealerDO = dealerConvert.toDealerDO(dealerCreateCmd);
|
DealerDO dealerDO = dealerConvert.toDealerDO(dealerCreateCmd);
|
||||||
DealerSettingDO defaultSetting = DealerSettingDO.getDefaultSetting();
|
|
||||||
dealerDO.setSetting(defaultSetting);
|
|
||||||
dealerMapper.insert(dealerDO);
|
dealerMapper.insert(dealerDO);
|
||||||
|
|
||||||
return dealerConvert.toDealer(dealerDO);
|
return dealerConvert.toDealer(dealerDO);
|
||||||
|
|||||||
@ -22,7 +22,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -68,7 +68,7 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
private final SupplierMapper supplierMapper;
|
private final SupplierMapper supplierMapper;
|
||||||
private final SupplierConvert supplierConvert;
|
private final SupplierConvert supplierConvert;
|
||||||
|
|
||||||
private final DealerMapper dealerMapper;
|
private final AuditMapper auditMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
@ -225,10 +225,11 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void approve(OrderApproveCmd orderApproveCmd) {
|
public void approve(OrderApproveCmd orderApproveCmd) {
|
||||||
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
||||||
queryWrapper.eq(OrderDO::getOrderId, orderApproveCmd.getOrderId());
|
queryWrapper.eq(OrderDO::getOrderId, orderApproveCmd.getOrderId());
|
||||||
queryWrapper.eq(OrderDO::getState, OrderStateEnum.AUDITING);
|
queryWrapper.eq(OrderDO::getState, OrderStateEnum.WAITING_AUDIT);
|
||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
|
|
||||||
OrderDO orderDO = orderMapper.selectOne(queryWrapper);
|
OrderDO orderDO = orderMapper.selectOne(queryWrapper);
|
||||||
@ -237,8 +238,37 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_WAITING_AUDIT);
|
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_WAITING_AUDIT);
|
||||||
}
|
}
|
||||||
orderDO.setPricingMethod(orderApproveCmd.getPricingMethod());
|
orderDO.setPricingMethod(orderApproveCmd.getPricingMethod());
|
||||||
|
|
||||||
if (!orderApproveCmd.getDraft()) {
|
if (!orderApproveCmd.getDraft()) {
|
||||||
orderDO.setAuditState(OrderAuditStateEnum.PENDING_BOSS_APPROVAL);
|
orderDO.setAuditState(OrderAuditStateEnum.PENDING_BOSS_APPROVAL);
|
||||||
|
|
||||||
|
// 更新审核记录状态为审核成功
|
||||||
|
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getSubjectId, orderApproveCmd.getOrderId());
|
||||||
|
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.REVIEWER_AUDIT);
|
||||||
|
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
||||||
|
|
||||||
|
if (auditDO != null) {
|
||||||
|
auditDO.setState(AuditStateEnum.AUDIT_SUCCESS);
|
||||||
|
auditDO.setAuditAt(LocalDateTime.now());
|
||||||
|
auditDO.setAuditBy(orderApproveCmd.getCreatedBy());
|
||||||
|
auditDO.setAuditByName(orderApproveCmd.getCreatedByName());
|
||||||
|
auditMapper.updateById(auditDO);
|
||||||
|
} else {
|
||||||
|
// 如果审核记录不存在,抛出异常
|
||||||
|
throw new BizException(BizErrorCode.B_BIZ_AUDIT_NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 自动生成报老板待审核记录(每次都创建新记录)
|
||||||
|
AuditDO auditDO1 = new AuditDO();
|
||||||
|
auditDO1.setSubjectId(orderApproveCmd.getOrderId());
|
||||||
|
auditDO1.setType(AuditTypeEnum.BOSS_AUDIT);
|
||||||
|
auditDO1.setState(AuditStateEnum.WAITING_AUDIT);
|
||||||
|
auditDO1.setCreatedBy(orderApproveCmd.getCreatedBy());
|
||||||
|
auditDO1.setCreatedByName(orderApproveCmd.getCreatedByName());
|
||||||
|
auditMapper.insert(auditDO1);
|
||||||
}
|
}
|
||||||
|
|
||||||
orderMapper.updateById(orderDO);
|
orderMapper.updateById(orderDO);
|
||||||
@ -370,7 +400,7 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
|
|
||||||
for (OrderShip updatedShip : orderShipList) {
|
for (OrderShip updatedShip : orderShipList) {
|
||||||
updatedShip.setOrderId(orderId);
|
updatedShip.setOrderId(orderId);
|
||||||
OrderShipDO orderShipDO = orderConvert.toOrderShipDO(updatedShip);
|
OrderShipDO orderShipDO = orderShipConvert.toOrderShipDO(updatedShip);
|
||||||
orderShipDO.setCreatedBy(orderApproveCmd.getCreatedBy());
|
orderShipDO.setCreatedBy(orderApproveCmd.getCreatedBy());
|
||||||
orderShipDO.setCreatedByName(orderApproveCmd.getCreatedByName());
|
orderShipDO.setCreatedByName(orderApproveCmd.getCreatedByName());
|
||||||
if (orderApproveCmd.getDraft()) {
|
if (orderApproveCmd.getDraft()) {
|
||||||
@ -387,10 +417,9 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
existingShipMap.remove(updatedShip.getOrderShipId());
|
existingShipMap.remove(updatedShip.getOrderShipId());
|
||||||
} else {
|
} else {
|
||||||
// 新增发货单
|
// 新增发货单
|
||||||
orderShipDO.setOrderShipId(null);
|
|
||||||
// 生成发货单编号
|
// 生成发货单编号
|
||||||
if (StrUtil.isBlank(orderShipDO.getOrderSn())) {
|
if (StrUtil.isBlank(orderShipDO.getOrderSn())) {
|
||||||
orderShipDO.setOrderSn("FH" + generateOrderShipSn());
|
orderShipDO.setOrderSn("SO" + generateOrderShipSn());
|
||||||
}
|
}
|
||||||
shipsToInsert.add(orderShipDO);
|
shipsToInsert.add(orderShipDO);
|
||||||
}
|
}
|
||||||
@ -406,7 +435,6 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
.map(item -> {
|
.map(item -> {
|
||||||
OrderShipItemDO itemDO = orderShipItemConvert.toOrderShipItemDO(item);
|
OrderShipItemDO itemDO = orderShipItemConvert.toOrderShipItemDO(item);
|
||||||
itemDO.setOrderShipId(null); // 稍后设置
|
itemDO.setOrderShipId(null); // 稍后设置
|
||||||
itemDO.setOrderShipItemId(null);
|
|
||||||
return itemDO;
|
return itemDO;
|
||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
@ -441,7 +469,6 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存发货单明细
|
* 保存发货单明细
|
||||||
* 根据 orderShipId 和 unitPrice 两个字段判断是否新增、更新或删除
|
|
||||||
*/
|
*/
|
||||||
private void saveOrderShipItems(OrderShipDO orderShipDO, List<OrderShipItem> orderShipItemList) {
|
private void saveOrderShipItems(OrderShipDO orderShipDO, List<OrderShipItem> orderShipItemList) {
|
||||||
if (CollUtil.isEmpty(orderShipItemList)) {
|
if (CollUtil.isEmpty(orderShipItemList)) {
|
||||||
@ -453,50 +480,34 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
itemQueryWrapper.eq(OrderShipItemDO::getOrderShipId, orderShipDO.getOrderShipId());
|
itemQueryWrapper.eq(OrderShipItemDO::getOrderShipId, orderShipDO.getOrderShipId());
|
||||||
List<OrderShipItemDO> existingItems = orderShipItemMapper.selectList(itemQueryWrapper);
|
List<OrderShipItemDO> existingItems = orderShipItemMapper.selectList(itemQueryWrapper);
|
||||||
|
|
||||||
// 将现有明细映射到 unitPrice 字典中便于查找
|
// 将现有明细映射到 itemId 字典中便于查找
|
||||||
// 使用 BigDecimal 的 compareTo 作为比较器,确保精确匹配
|
Map<Long, OrderShipItemDO> existingItemMap = existingItems.stream()
|
||||||
Map<BigDecimal, OrderShipItemDO> existingItemMap = existingItems.stream()
|
.filter(item -> item.getItemId() != null)
|
||||||
.filter(item -> item.getUnitPrice() != null)
|
.collect(Collectors.toMap(OrderShipItemDO::getItemId, Function.identity()));
|
||||||
.collect(Collectors.toMap(
|
|
||||||
OrderShipItemDO::getUnitPrice,
|
|
||||||
Function.identity(),
|
|
||||||
(existing, replacement) -> existing // 如果有重复的unitPrice,保留第一个
|
|
||||||
));
|
|
||||||
|
|
||||||
// 收集需要更新和新增的明细
|
// 收集需要更新和新增的明细
|
||||||
List<OrderShipItemDO> itemsToInsert = new ArrayList<>();
|
List<OrderShipItemDO> itemsToInsert = new ArrayList<>();
|
||||||
List<OrderShipItemDO> itemsToUpdate = new ArrayList<>();
|
List<OrderShipItemDO> itemsToUpdate = new ArrayList<>();
|
||||||
|
|
||||||
for (OrderShipItem updatedItem : orderShipItemList) {
|
for (OrderShipItem updatedItem : orderShipItemList) {
|
||||||
if (updatedItem.getUnitPrice() == null) {
|
|
||||||
continue; // 跳过单价为空的记录
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查找是否存在相同 unitPrice 的记录
|
|
||||||
OrderShipItemDO existingItem = existingItemMap.entrySet().stream()
|
|
||||||
.filter(entry -> entry.getKey().compareTo(updatedItem.getUnitPrice()) == 0)
|
|
||||||
.map(Map.Entry::getValue)
|
|
||||||
.findFirst()
|
|
||||||
.orElse(null);
|
|
||||||
|
|
||||||
OrderShipItemDO itemDO = orderShipItemConvert.toOrderShipItemDO(updatedItem);
|
OrderShipItemDO itemDO = orderShipItemConvert.toOrderShipItemDO(updatedItem);
|
||||||
itemDO.setOrderShipId(orderShipDO.getOrderShipId());
|
|
||||||
|
|
||||||
if (existingItem != null) {
|
if (existingItemMap.containsKey(updatedItem.getItemId())) {
|
||||||
// 更新已存在的明细(基于 unitPrice 匹配)
|
// 更新已存在的明细
|
||||||
itemDO.setOrderShipItemId(existingItem.getOrderShipItemId());
|
itemDO.setItemId(updatedItem.getItemId());
|
||||||
|
itemDO.setOrderShipId(orderShipDO.getOrderShipId());
|
||||||
itemsToUpdate.add(itemDO);
|
itemsToUpdate.add(itemDO);
|
||||||
// 从现有映射中移除,剩下的就是需要删除的
|
// 从现有映射中移除,剩下的就是需要删除的
|
||||||
existingItemMap.remove(existingItem.getUnitPrice());
|
existingItemMap.remove(updatedItem.getItemId());
|
||||||
} else {
|
} else {
|
||||||
itemDO.setOrderShipItemId(null);
|
|
||||||
// 新增明细
|
// 新增明细
|
||||||
|
itemDO.setOrderShipId(orderShipDO.getOrderShipId());
|
||||||
itemsToInsert.add(itemDO);
|
itemsToInsert.add(itemDO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除不再需要的明细(数据库中存在但新列表中没有的 unitPrice)
|
// 删除不再需要的明细
|
||||||
existingItemMap.values().forEach(item -> orderShipItemMapper.deleteById(item.getOrderShipItemId()));
|
existingItemMap.values().forEach(OrderShipItemDO::deleteById);
|
||||||
|
|
||||||
// 执行更新操作
|
// 执行更新操作
|
||||||
itemsToUpdate.forEach(orderShipItemMapper::updateById);
|
itemsToUpdate.forEach(orderShipItemMapper::updateById);
|
||||||
@ -506,6 +517,7 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void submitReview(OrderSubmitReviewCmd orderSubmitReviewCmd) {
|
public void submitReview(OrderSubmitReviewCmd orderSubmitReviewCmd) {
|
||||||
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
||||||
queryWrapper.eq(OrderDO::getOrderId, orderSubmitReviewCmd.getOrderId());
|
queryWrapper.eq(OrderDO::getOrderId, orderSubmitReviewCmd.getOrderId());
|
||||||
@ -518,17 +530,27 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_DRAFT);
|
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_DRAFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
orderDO.setState(OrderStateEnum.AUDITING);
|
orderDO.setState(OrderStateEnum.WAITING_AUDIT);
|
||||||
orderDO.setAuditState(OrderAuditStateEnum.PENDING_QUOTE_APPROVAL);
|
orderDO.setAuditState(OrderAuditStateEnum.PENDING_QUOTE_APPROVAL);
|
||||||
|
|
||||||
orderMapper.updateById(orderDO);
|
orderMapper.updateById(orderDO);
|
||||||
|
|
||||||
|
// 自动生成报价审核员待审核记录(每次都创建新记录)
|
||||||
|
AuditDO auditDO = new AuditDO();
|
||||||
|
auditDO.setSubjectId(orderSubmitReviewCmd.getOrderId());
|
||||||
|
auditDO.setType(AuditTypeEnum.REVIEWER_AUDIT);
|
||||||
|
auditDO.setState(AuditStateEnum.WAITING_AUDIT);
|
||||||
|
auditDO.setCreatedBy(orderSubmitReviewCmd.getCreatedBy());
|
||||||
|
auditDO.setCreatedByName(orderSubmitReviewCmd.getCreatedByName());
|
||||||
|
auditMapper.insert(auditDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void withdrawReview(OrderWithdrawReviewCmd orderWithdrawReviewCmd) {
|
public void withdrawReview(OrderWithdrawReviewCmd orderWithdrawReviewCmd) {
|
||||||
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
||||||
queryWrapper.eq(OrderDO::getOrderId, orderWithdrawReviewCmd.getOrderId());
|
queryWrapper.eq(OrderDO::getOrderId, orderWithdrawReviewCmd.getOrderId());
|
||||||
queryWrapper.eq(OrderDO::getState, OrderStateEnum.AUDITING);
|
queryWrapper.eq(OrderDO::getState, OrderStateEnum.WAITING_AUDIT);
|
||||||
queryWrapper.eq(OrderDO::getAuditState, OrderAuditStateEnum.PENDING_QUOTE_APPROVAL);
|
queryWrapper.eq(OrderDO::getAuditState, OrderAuditStateEnum.PENDING_QUOTE_APPROVAL);
|
||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
|
|
||||||
@ -538,16 +560,33 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_WAITING_FOR_WITHDRAW);
|
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_WAITING_FOR_WITHDRAW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
orderDO.setState(OrderStateEnum.DRAFT);
|
orderDO.setState(OrderStateEnum.DRAFT);
|
||||||
orderDO.setAuditState(OrderAuditStateEnum.NONE);
|
orderDO.setAuditState(OrderAuditStateEnum.NONE);
|
||||||
orderMapper.updateById(orderDO);
|
orderMapper.updateById(orderDO);
|
||||||
|
|
||||||
|
// 更新审核记录状态为草稿(撤回审核)
|
||||||
|
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getSubjectId, orderWithdrawReviewCmd.getOrderId());
|
||||||
|
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.REVIEWER_AUDIT);
|
||||||
|
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
||||||
|
|
||||||
|
if (auditDO != null) {
|
||||||
|
auditDO.setState(AuditStateEnum.AUDIT_CANCEL);
|
||||||
|
auditDO.setAuditAt(LocalDateTime.now());
|
||||||
|
auditDO.setAuditBy(orderWithdrawReviewCmd.getCreatedBy());
|
||||||
|
auditDO.setAuditByName(orderWithdrawReviewCmd.getCreatedByName());
|
||||||
|
auditMapper.updateById(auditDO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void rejectApprove(OrderRejectApproveCmd orderRejectApproveCmd) {
|
public void rejectApprove(OrderRejectApproveCmd orderRejectApproveCmd) {
|
||||||
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
||||||
queryWrapper.eq(OrderDO::getOrderId, orderRejectApproveCmd.getOrderId());
|
queryWrapper.eq(OrderDO::getOrderId, orderRejectApproveCmd.getOrderId());
|
||||||
queryWrapper.eq(OrderDO::getState, OrderStateEnum.AUDITING);
|
queryWrapper.eq(OrderDO::getState, OrderStateEnum.WAITING_AUDIT);
|
||||||
queryWrapper.eq(OrderDO::getAuditState, OrderAuditStateEnum.PENDING_QUOTE_APPROVAL);
|
queryWrapper.eq(OrderDO::getAuditState, OrderAuditStateEnum.PENDING_QUOTE_APPROVAL);
|
||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
|
|
||||||
@ -557,11 +596,30 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_WAITING_AUDIT);
|
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_WAITING_AUDIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
orderDO.setState(OrderStateEnum.DRAFT);
|
orderDO.setState(OrderStateEnum.REJECTED);
|
||||||
orderDO.setAuditState(OrderAuditStateEnum.QUOTE_REJECTED);
|
orderDO.setAuditState(OrderAuditStateEnum.QUOTE_REJECTED);
|
||||||
|
|
||||||
orderMapper.updateById(orderDO);
|
orderMapper.updateById(orderDO);
|
||||||
|
|
||||||
|
// 更新审核记录
|
||||||
|
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getSubjectId, orderRejectApproveCmd.getOrderId());
|
||||||
|
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.REVIEWER_AUDIT);
|
||||||
|
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
||||||
|
|
||||||
|
if (auditDO != null) {
|
||||||
|
auditDO.setState(AuditStateEnum.AUDIT_REJECTED);
|
||||||
|
auditDO.setAuditReason(orderRejectApproveCmd.getRejectReason());
|
||||||
|
auditDO.setAuditAt(LocalDateTime.now());
|
||||||
|
auditDO.setAuditBy(orderRejectApproveCmd.getCreatedBy());
|
||||||
|
auditDO.setAuditByName(orderRejectApproveCmd.getCreatedByName());
|
||||||
|
auditMapper.updateById(auditDO);
|
||||||
|
} else {
|
||||||
|
// 如果审核记录不存在,抛出异常
|
||||||
|
throw new BizException(BizErrorCode.B_BIZ_AUDIT_NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
// 发货单改成(草稿)
|
// 发货单改成(草稿)
|
||||||
LambdaUpdateWrapper<OrderShipDO> updateWrapper = Wrappers.lambdaUpdate(OrderShipDO.class);
|
LambdaUpdateWrapper<OrderShipDO> updateWrapper = Wrappers.lambdaUpdate(OrderShipDO.class);
|
||||||
updateWrapper.eq(OrderShipDO::getOrderId, orderDO.getOrderId());
|
updateWrapper.eq(OrderShipDO::getOrderId, orderDO.getOrderId());
|
||||||
@ -573,7 +631,7 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
public void finalApprove(OrderFinalApproveCmd orderFinalApproveCmd) {
|
public void finalApprove(OrderFinalApproveCmd orderFinalApproveCmd) {
|
||||||
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
||||||
queryWrapper.eq(OrderDO::getOrderId, orderFinalApproveCmd.getOrderId());
|
queryWrapper.eq(OrderDO::getOrderId, orderFinalApproveCmd.getOrderId());
|
||||||
queryWrapper.eq(OrderDO::getState, OrderStateEnum.AUDITING);
|
queryWrapper.eq(OrderDO::getState, OrderStateEnum.WAITING_AUDIT);
|
||||||
queryWrapper.eq(OrderDO::getAuditState, OrderAuditStateEnum.PENDING_BOSS_APPROVAL);
|
queryWrapper.eq(OrderDO::getAuditState, OrderAuditStateEnum.PENDING_BOSS_APPROVAL);
|
||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
|
|
||||||
@ -587,6 +645,24 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
orderDO.setState(OrderStateEnum.COMPLETED);
|
orderDO.setState(OrderStateEnum.COMPLETED);
|
||||||
orderDO.setAuditState(OrderAuditStateEnum.BOSS_APPROVED);
|
orderDO.setAuditState(OrderAuditStateEnum.BOSS_APPROVED);
|
||||||
|
|
||||||
|
// 更新审核记录为审核成功
|
||||||
|
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getSubjectId, orderFinalApproveCmd.getOrderId());
|
||||||
|
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.BOSS_AUDIT);
|
||||||
|
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
||||||
|
|
||||||
|
if (auditDO != null) {
|
||||||
|
auditDO.setState(AuditStateEnum.AUDIT_SUCCESS);
|
||||||
|
auditDO.setAuditAt(LocalDateTime.now());
|
||||||
|
auditDO.setAuditBy(orderFinalApproveCmd.getCreatedBy());
|
||||||
|
auditDO.setAuditByName(orderFinalApproveCmd.getCreatedByName());
|
||||||
|
auditMapper.updateById(auditDO);
|
||||||
|
} else {
|
||||||
|
// 如果审核记录不存在,抛出异常
|
||||||
|
throw new BizException(BizErrorCode.B_BIZ_AUDIT_NOT_FOUND);
|
||||||
|
}
|
||||||
|
|
||||||
orderMapper.updateById(orderDO);
|
orderMapper.updateById(orderDO);
|
||||||
|
|
||||||
// 发货单改成已发货(待回款)
|
// 发货单改成已发货(待回款)
|
||||||
@ -608,10 +684,11 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public void rejectFinal(OrderRejectFinalCmd orderRejectFinalCmd) {
|
public void rejectFinal(OrderRejectFinalCmd orderRejectFinalCmd) {
|
||||||
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
LambdaQueryWrapper<OrderDO> queryWrapper = Wrappers.lambdaQuery(OrderDO.class);
|
||||||
queryWrapper.eq(OrderDO::getOrderId, orderRejectFinalCmd.getOrderId());
|
queryWrapper.eq(OrderDO::getOrderId, orderRejectFinalCmd.getOrderId());
|
||||||
queryWrapper.eq(OrderDO::getState, OrderStateEnum.AUDITING);
|
queryWrapper.eq(OrderDO::getState, OrderStateEnum.WAITING_AUDIT);
|
||||||
queryWrapper.eq(OrderDO::getAuditState, OrderAuditStateEnum.PENDING_BOSS_APPROVAL);
|
queryWrapper.eq(OrderDO::getAuditState, OrderAuditStateEnum.PENDING_BOSS_APPROVAL);
|
||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
|
|
||||||
@ -621,8 +698,28 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_WAITING_FOR_REJECT_FINAL);
|
throw new BizException(BizErrorCode.B_BIZ_ORDER_NOT_WAITING_FOR_REJECT_FINAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
orderDO.setState(OrderStateEnum.REJECTED);
|
||||||
orderDO.setAuditState(OrderAuditStateEnum.BOSS_REJECTED);
|
orderDO.setAuditState(OrderAuditStateEnum.BOSS_REJECTED);
|
||||||
orderMapper.updateById(orderDO);
|
orderMapper.updateById(orderDO);
|
||||||
|
|
||||||
|
// 更新审核记录
|
||||||
|
LambdaQueryWrapper<AuditDO> auditQueryWrapper = Wrappers.lambdaQuery(AuditDO.class);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getSubjectId, orderRejectFinalCmd.getOrderId());
|
||||||
|
auditQueryWrapper.eq(AuditDO::getState, AuditStateEnum.WAITING_AUDIT);
|
||||||
|
auditQueryWrapper.eq(AuditDO::getType, AuditTypeEnum.BOSS_AUDIT);
|
||||||
|
AuditDO auditDO = auditMapper.selectOne(auditQueryWrapper);
|
||||||
|
|
||||||
|
if (auditDO != null) {
|
||||||
|
auditDO.setState(AuditStateEnum.AUDIT_REJECTED);
|
||||||
|
auditDO.setAuditReason(orderRejectFinalCmd.getRejectReason());
|
||||||
|
auditDO.setAuditAt(LocalDateTime.now());
|
||||||
|
auditDO.setAuditBy(orderRejectFinalCmd.getCreatedBy());
|
||||||
|
auditDO.setAuditByName(orderRejectFinalCmd.getCreatedByName());
|
||||||
|
auditMapper.updateById(auditDO);
|
||||||
|
} else {
|
||||||
|
// 如果审核记录不存在,抛出异常
|
||||||
|
throw new BizException(BizErrorCode.B_BIZ_AUDIT_NOT_FOUND);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -937,18 +1034,7 @@ public class OrderGatewayImpl implements OrderGateway {
|
|||||||
queryWrapper.last("limit 1");
|
queryWrapper.last("limit 1");
|
||||||
|
|
||||||
OrderVehicleDO orderVehicleDO = orderVehicleMapper.selectOne(queryWrapper);
|
OrderVehicleDO orderVehicleDO = orderVehicleMapper.selectOne(queryWrapper);
|
||||||
|
return orderVehicleDO != null ? orderVehicleDO.getVehicleNo() : null;
|
||||||
if (Objects.nonNull(orderVehicleDO)) {
|
|
||||||
return orderVehicleDO.getVehicleNo();
|
|
||||||
}
|
|
||||||
|
|
||||||
DealerDO dealerDO = dealerMapper.selectById(lastVehicleNoQry.getDealerId());
|
|
||||||
|
|
||||||
if (dealerDO.getSetting().getEnableInitialTrainNo()) {
|
|
||||||
return dealerDO.getSetting().getInitialTrainNo().toString();
|
|
||||||
} else {
|
|
||||||
return "0";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -19,17 +19,19 @@ import com.xunhong.erp.turbo.biz.domain.entity.OrderShip;
|
|||||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderShipGateway;
|
import com.xunhong.erp.turbo.biz.domain.gateway.OrderShipGateway;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.convert.OrderShipConvert;
|
import com.xunhong.erp.turbo.biz.infrastructure.convert.OrderShipConvert;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO;
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderDO;
|
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipDO;
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipDO;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipItemDO;
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipItemDO;
|
||||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.*;
|
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderVehicleDO;
|
||||||
|
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCostMapper;
|
||||||
|
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderShipItemMapper;
|
||||||
|
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderShipMapper;
|
||||||
|
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderVehicleMapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -47,7 +49,6 @@ public class OrderShipGatewayImpl implements OrderShipGateway {
|
|||||||
private final OrderCostMapper orderCostMapper;
|
private final OrderCostMapper orderCostMapper;
|
||||||
|
|
||||||
private final OrderVehicleMapper orderVehicleMapper;
|
private final OrderVehicleMapper orderVehicleMapper;
|
||||||
private final OrderMapper orderMapper;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OrderShip save(OrderShipCreateCmd orderShipCreateCmd) {
|
public OrderShip save(OrderShipCreateCmd orderShipCreateCmd) {
|
||||||
@ -69,12 +70,14 @@ public class OrderShipGatewayImpl implements OrderShipGateway {
|
|||||||
IPage<OrderShipDO> page = new Page<>(orderShipPageQry.getPageIndex(), orderShipPageQry.getPageSize());
|
IPage<OrderShipDO> page = new Page<>(orderShipPageQry.getPageIndex(), orderShipPageQry.getPageSize());
|
||||||
page = orderShipMapper.selectPage(page, queryWrapper);
|
page = orderShipMapper.selectPage(page, queryWrapper);
|
||||||
|
|
||||||
Set<Long> orderIdList = page.getRecords().stream().map(OrderShipDO::getOrderId).collect(Collectors.toSet());
|
List<Long> orderIdList = page.getRecords().stream().map(OrderShipDO::getOrderId).toList();
|
||||||
if (CollUtil.isNotEmpty(orderIdList)) {
|
if (CollUtil.isNotEmpty(orderIdList)) {
|
||||||
List<OrderDO> orderDOList = orderMapper.selectByOrderIdList(orderIdList);
|
LambdaQueryWrapper<OrderVehicleDO> queryWrapper1 = Wrappers.lambdaQuery(OrderVehicleDO.class);
|
||||||
Map<Long, OrderDO> orderDOMap = orderDOList.stream().collect(Collectors.toMap(OrderDO::getOrderId, Function.identity()));
|
queryWrapper1.in(OrderVehicleDO::getOrderId, orderIdList);
|
||||||
|
List<OrderVehicleDO> orderVehicleDOList = orderVehicleMapper.selectList(queryWrapper1);
|
||||||
|
Map<Long, OrderVehicleDO> orderVehicleDOMap = orderVehicleDOList.stream().collect(Collectors.toMap(OrderVehicleDO::getOrderId, Function.identity()));
|
||||||
page.getRecords().forEach(orderShipDO -> {
|
page.getRecords().forEach(orderShipDO -> {
|
||||||
orderShipDO.setOrderDO(orderDOMap.get(orderShipDO.getOrderId()));
|
orderShipDO.setOrderVehicleDO(orderVehicleDOMap.get(orderShipDO.getOrderId()));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,6 @@ import java.util.Set;
|
|||||||
public interface OrderMapper extends BaseMapper<OrderDO> {
|
public interface OrderMapper extends BaseMapper<OrderDO> {
|
||||||
|
|
||||||
List<OrderDO> selectByOrderIdList(@Param("orderIdList") Set<Long> orderIdList);
|
List<OrderDO> selectByOrderIdList(@Param("orderIdList") Set<Long> orderIdList);
|
||||||
OrderDO selectByOrderId(@Param("orderId") Long orderId);
|
|
||||||
|
|
||||||
IPage<OrderDO> selectPage(IPage<OrderDO> page, @Param(Constants.WRAPPER) LambdaQueryWrapper<OrderDO> queryWrapper, @Param("query") OrderPageQry orderPageQry);
|
IPage<OrderDO> selectPage(IPage<OrderDO> page, @Param(Constants.WRAPPER) LambdaQueryWrapper<OrderDO> queryWrapper, @Param("query") OrderPageQry orderPageQry);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
<result property="price" column="price"/>
|
<result property="price" column="price"/>
|
||||||
<result property="rule" column="rule"/>
|
<result property="rule" column="rule"/>
|
||||||
<result property="sort" column="sort"/>
|
<result property="sort" column="sort"/>
|
||||||
|
<result property="costId" column="cost_id"/>
|
||||||
<result property="remark" column="remark"/>
|
<result property="remark" column="remark"/>
|
||||||
<result property="status" column="status"/>
|
<result property="status" column="status"/>
|
||||||
<result property="createdAt" column="created_at"/>
|
<result property="createdAt" column="created_at"/>
|
||||||
|
|||||||
@ -11,7 +11,6 @@
|
|||||||
<result property="costItemIds" column="cost_item_ids"
|
<result property="costItemIds" column="cost_item_ids"
|
||||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
||||||
<result property="remark" column="remark"/>
|
<result property="remark" column="remark"/>
|
||||||
<result property="isDefault" column="is_default"/>
|
|
||||||
<result property="sort" column="sort"/>
|
<result property="sort" column="sort"/>
|
||||||
<result property="status" column="status"/>
|
<result property="status" column="status"/>
|
||||||
<result property="createdAt" column="created_at"/>
|
<result property="createdAt" column="created_at"/>
|
||||||
|
|||||||
@ -55,7 +55,7 @@
|
|||||||
FROM order_cost oc
|
FROM order_cost oc
|
||||||
LEFT JOIN order_vehicle ov ON oc.order_id = ov.order_id AND ov.is_delete
|
LEFT JOIN order_vehicle ov ON oc.order_id = ov.order_id AND ov.is_delete
|
||||||
= 0
|
= 0
|
||||||
LEFT JOIN `order` po ON oc.order_id = po.order_id AND
|
LEFT JOIN order po ON oc.order_id = po.order_id AND
|
||||||
po.is_delete = 0
|
po.is_delete = 0
|
||||||
<where>
|
<where>
|
||||||
oc.is_delete = 0
|
oc.is_delete = 0
|
||||||
@ -95,7 +95,7 @@
|
|||||||
ov.dealer_name
|
ov.dealer_name
|
||||||
FROM order_cost oc
|
FROM order_cost oc
|
||||||
LEFT JOIN order_vehicle ov ON oc.order_id = ov.order_id AND ov.is_delete = 0
|
LEFT JOIN order_vehicle ov ON oc.order_id = ov.order_id AND ov.is_delete = 0
|
||||||
LEFT JOIN `order` po ON oc.order_id = po.order_id AND
|
LEFT JOIN order po ON oc.order_id = po.order_id AND
|
||||||
po.is_delete = 0
|
po.is_delete = 0
|
||||||
WHERE oc.order_id = #{orderId}
|
WHERE oc.order_id = #{orderId}
|
||||||
AND oc.name = #{name}
|
AND oc.name = #{name}
|
||||||
|
|||||||
@ -114,20 +114,5 @@
|
|||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectByOrderId"
|
|
||||||
resultType="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderDO"
|
|
||||||
resultMap="SelectByOrderIdListResultMap">
|
|
||||||
SELECT
|
|
||||||
po.order_id, po.order_sn, po.state, po.audit_state, po.type,
|
|
||||||
ov.vehicle_id, ov.vehicle_no, ov.dealer_id, ov.dealer_name, ov.origin,
|
|
||||||
ov.destination
|
|
||||||
FROM `order` po
|
|
||||||
LEFT JOIN order_vehicle ov ON po.order_id = ov.order_id AND ov.is_delete
|
|
||||||
= 0
|
|
||||||
where po.is_delete = 0
|
|
||||||
AND po.order_id = #{orderId}
|
|
||||||
limit 1
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
po.state as po_state
|
po.state as po_state
|
||||||
FROM order_rebate ore
|
FROM order_rebate ore
|
||||||
LEFT JOIN order_vehicle ov ON ore.order_id = ov.order_id AND ov.is_delete = 0
|
LEFT JOIN order_vehicle ov ON ore.order_id = ov.order_id AND ov.is_delete = 0
|
||||||
LEFT JOIN `order` po ON ore.order_id = po.order_id AND po.is_delete = 0
|
LEFT JOIN order po ON ore.order_id = po.order_id AND po.is_delete = 0
|
||||||
<where>
|
<where>
|
||||||
ore.is_delete = 0
|
ore.is_delete = 0
|
||||||
<if test="query.createdBy != null">
|
<if test="query.createdBy != null">
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
namespace="com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderShipItemMapper">
|
namespace="com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderShipItemMapper">
|
||||||
<resultMap id="BaseResultMap"
|
<resultMap id="BaseResultMap"
|
||||||
type="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipItemDO">
|
type="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipItemDO">
|
||||||
<result property="orderShipItemId" column="order_ship_item_id"/>
|
<result property="itemId" column="item_id"/>
|
||||||
<result property="orderId" column="order_id"/>
|
<result property="orderId" column="order_id"/>
|
||||||
<result property="orderShipId" column="order_ship_id"/>
|
<result property="orderShipId" column="order_ship_id"/>
|
||||||
<result property="grossWeight" column="gross_weight"/>
|
<result property="grossWeight" column="gross_weight"/>
|
||||||
|
|||||||
@ -22,7 +22,6 @@
|
|||||||
<result property="file" column="file"
|
<result property="file" column="file"
|
||||||
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler"/>
|
||||||
<result property="state" column="state"/>
|
<result property="state" column="state"/>
|
||||||
<result property="type" column="type"/>
|
|
||||||
<result property="remark" column="remark"/>
|
<result property="remark" column="remark"/>
|
||||||
<result property="createdBy" column="created_by"/>
|
<result property="createdBy" column="created_by"/>
|
||||||
<result property="createdByName" column="created_by_name"/>
|
<result property="createdByName" column="created_by_name"/>
|
||||||
|
|||||||
@ -11,7 +11,6 @@
|
|||||||
<result property="name" column="name"/>
|
<result property="name" column="name"/>
|
||||||
<result property="payeeName" column="payee_name"/>
|
<result property="payeeName" column="payee_name"/>
|
||||||
<result property="idCard" column="id_card"/>
|
<result property="idCard" column="id_card"/>
|
||||||
<result property="bankName" column="bank_name"/>
|
|
||||||
<result property="bankCard" column="bank_card"/>
|
<result property="bankCard" column="bank_card"/>
|
||||||
<result property="phone" column="phone"/>
|
<result property="phone" column="phone"/>
|
||||||
<result property="wechatQr" column="wechat_qr"/>
|
<result property="wechatQr" column="wechat_qr"/>
|
||||||
@ -60,7 +59,7 @@
|
|||||||
po.state as po_state
|
po.state as po_state
|
||||||
FROM order_supplier os
|
FROM order_supplier os
|
||||||
LEFT JOIN order_vehicle ov ON os.order_id = ov.order_id AND ov.is_delete = 0
|
LEFT JOIN order_vehicle ov ON os.order_id = ov.order_id AND ov.is_delete = 0
|
||||||
LEFT JOIN `order` po ON os.order_id = po.order_id AND po.is_delete = 0
|
LEFT JOIN order po ON os.order_id = po.order_id AND po.is_delete = 0
|
||||||
<where>
|
<where>
|
||||||
os.is_delete = 0
|
os.is_delete = 0
|
||||||
<if test="query.deliveryTime != null and query.deliveryTime.size() == 2">
|
<if test="query.deliveryTime != null and query.deliveryTime.size() == 2">
|
||||||
|
|||||||
@ -10,7 +10,6 @@
|
|||||||
<result property="payeeName" column="payee_name"/>
|
<result property="payeeName" column="payee_name"/>
|
||||||
<result property="idCard" column="id_card"/>
|
<result property="idCard" column="id_card"/>
|
||||||
<result property="phone" column="phone"/>
|
<result property="phone" column="phone"/>
|
||||||
<result property="bankName" column="bank_name"/>
|
|
||||||
<result property="bankCard" column="bank_card"/>
|
<result property="bankCard" column="bank_card"/>
|
||||||
<result property="wechatQr" column="wechat_qr"/>
|
<result property="wechatQr" column="wechat_qr"/>
|
||||||
<result property="type" column="type"/>
|
<result property="type" column="type"/>
|
||||||
|
|||||||
@ -1,24 +1,15 @@
|
|||||||
package com.xunhong.erp.turbo.facade.app.executor.cmd;
|
package com.xunhong.erp.turbo.facade.app.executor.cmd;
|
||||||
|
|
||||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
import com.google.gson.annotations.SerializedName;
|
|
||||||
import com.xunhong.erp.turbo.api.facade.dto.vo.WxMaOcrBankCardVO;
|
import com.xunhong.erp.turbo.api.facade.dto.vo.WxMaOcrBankCardVO;
|
||||||
import com.xunhong.erp.turbo.api.infra.api.SettingServiceI;
|
import com.xunhong.erp.turbo.api.infra.api.SettingServiceI;
|
||||||
import com.xunhong.erp.turbo.facade.app.executor.common.WxCmdExe;
|
import com.xunhong.erp.turbo.facade.app.executor.common.WxCmdExe;
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.Setter;
|
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import me.chanjar.weixin.common.bean.ocr.WxOcrBankCardResult;
|
import me.chanjar.weixin.common.bean.ocr.WxOcrBankCardResult;
|
||||||
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
|
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.io.Serial;
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author shenyifei
|
* @author shenyifei
|
||||||
*/
|
*/
|
||||||
@ -38,65 +29,6 @@ public class WxMaOcrBankCardCmdExe extends WxCmdExe {
|
|||||||
wxMaOcrBankCardVO.setNumber(number);
|
wxMaOcrBankCardVO.setNumber(number);
|
||||||
wxMaOcrBankCardVO.setOcrUrl(ocrUrl);
|
wxMaOcrBankCardVO.setOcrUrl(ocrUrl);
|
||||||
|
|
||||||
GetBankByNumRequest getBankByNumRequest = new GetBankByNumRequest();
|
|
||||||
getBankByNumRequest.setSetAccountNumber(number);
|
|
||||||
|
|
||||||
String responseContent = wxMaService.post("https://api.weixin.qq.com/shop/funds/getbankbynum", getBankByNumRequest);
|
|
||||||
WxGetBankByNumResult wxGetBankByNumResult = WxGetBankByNumResult.fromJson(responseContent);
|
|
||||||
List<BankInfo> data = wxGetBankByNumResult.getData();
|
|
||||||
if (CollUtil.isNotEmpty(data)) {
|
|
||||||
wxMaOcrBankCardVO.setBankName(data.getFirst().getBankName());
|
|
||||||
}
|
|
||||||
return wxMaOcrBankCardVO;
|
return wxMaOcrBankCardVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
public static class GetBankByNumRequest implements Serializable {
|
|
||||||
@Serial
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
@SerializedName("account_number")
|
|
||||||
private String setAccountNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
public static class WxGetBankByNumResult implements Serializable {
|
|
||||||
@Serial
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
@SerializedName("total_count")
|
|
||||||
private Integer totalCount;
|
|
||||||
private List<BankInfo> data;
|
|
||||||
|
|
||||||
public static WxGetBankByNumResult fromJson(String json) {
|
|
||||||
return WxGsonBuilder.create().fromJson(json, WxGetBankByNumResult.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String toString() {
|
|
||||||
return WxGsonBuilder.create().toJson(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
public static class BankInfo implements Serializable {
|
|
||||||
@Serial
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
@SerializedName("bank_code")
|
|
||||||
private String bankCode;
|
|
||||||
|
|
||||||
@SerializedName("bank_id")
|
|
||||||
private String bankId;
|
|
||||||
|
|
||||||
@SerializedName("bank_name")
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
@SerializedName("need_branch")
|
|
||||||
private Boolean needBranch;
|
|
||||||
|
|
||||||
@SerializedName("account_bank")
|
|
||||||
private String accountBank;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package com.xunhong.erp.turbo.api.biz.api;
|
|||||||
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.qry.*;
|
import com.xunhong.erp.turbo.api.biz.dto.qry.*;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.AuditVO;
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderVO;
|
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderVO;
|
||||||
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
||||||
|
|
||||||
@ -24,17 +23,17 @@ public interface OrderServiceI {
|
|||||||
|
|
||||||
void destroy(OrderDestroyCmd orderDestroyCmd);
|
void destroy(OrderDestroyCmd orderDestroyCmd);
|
||||||
|
|
||||||
AuditVO approve(OrderApproveCmd orderApproveCmd);
|
void approve(OrderApproveCmd orderApproveCmd);
|
||||||
|
|
||||||
AuditVO submitReview(OrderSubmitReviewCmd orderSubmitReviewCmd);
|
void submitReview(OrderSubmitReviewCmd orderSubmitReviewCmd);
|
||||||
|
|
||||||
AuditVO withdrawReview(OrderWithdrawReviewCmd orderWithdrawReviewCmd);
|
void withdrawReview(OrderWithdrawReviewCmd orderWithdrawReviewCmd);
|
||||||
|
|
||||||
AuditVO rejectApprove(OrderRejectApproveCmd orderRejectApproveCmd);
|
void rejectApprove(OrderRejectApproveCmd orderRejectApproveCmd);
|
||||||
|
|
||||||
AuditVO finalApprove(OrderFinalApproveCmd orderFinalApproveCmd);
|
void finalApprove(OrderFinalApproveCmd orderFinalApproveCmd);
|
||||||
|
|
||||||
AuditVO rejectFinal(OrderRejectFinalCmd orderRejectFinalCmd);
|
void rejectFinal(OrderRejectFinalCmd orderRejectFinalCmd);
|
||||||
|
|
||||||
Long countOrderByState(OrderCountQry orderCountQry);
|
Long countOrderByState(OrderCountQry orderCountQry);
|
||||||
|
|
||||||
|
|||||||
@ -60,12 +60,6 @@ public class CostCreateCmd extends Command {
|
|||||||
@Schema(title = "备注")
|
@Schema(title = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否默认
|
|
||||||
*/
|
|
||||||
@Schema(title = "是否默认")
|
|
||||||
private Boolean isDefault;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排序号
|
* 排序号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -136,17 +136,5 @@ public class DealerCreateCmd extends Command {
|
|||||||
@Schema(title = "损耗金额")
|
@Schema(title = "损耗金额")
|
||||||
private BigDecimal lossAmount;
|
private BigDecimal lossAmount;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否启用初始车次号
|
|
||||||
*/
|
|
||||||
@Schema(title = "是否启用初始车次号")
|
|
||||||
private Boolean enableInitialTrainNo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始车次号
|
|
||||||
*/
|
|
||||||
@Schema(title = "初始车次号")
|
|
||||||
private Integer initialTrainNo;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -21,9 +21,6 @@ public class OrderApproveCmd extends OrderCreateCmd {
|
|||||||
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
|
|
||||||
@Schema(title = "审核ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private Long auditId;
|
|
||||||
|
|
||||||
@Schema(title = "是否是暂存", type = "boolean", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "是否是暂存", type = "boolean", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Boolean draft;
|
private Boolean draft;
|
||||||
|
|
||||||
|
|||||||
@ -15,8 +15,5 @@ public class OrderFinalApproveCmd extends Command {
|
|||||||
|
|
||||||
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
|
|
||||||
@Schema(title = "审核ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private Long auditId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -16,9 +16,6 @@ public class OrderRejectApproveCmd extends Command {
|
|||||||
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
|
|
||||||
@Schema(title = "审核ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private Long auditId;
|
|
||||||
|
|
||||||
@Schema(title = "审核原因", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
@Schema(title = "审核原因", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
||||||
private String rejectReason;
|
private String rejectReason;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,9 +16,6 @@ public class OrderRejectFinalCmd extends Command {
|
|||||||
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
|
|
||||||
@Schema(title = "审核ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private Long auditId;
|
|
||||||
|
|
||||||
@Schema(title = "驳回原因", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
@Schema(title = "驳回原因", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
||||||
private String rejectReason;
|
private String rejectReason;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,8 +15,5 @@ public class OrderWithdrawReviewCmd extends Command {
|
|||||||
|
|
||||||
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
@Schema(title = "采购订单ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
|
|
||||||
@Schema(title = "审核ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
|
||||||
private Long auditId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,7 @@ public class SupplierCreateCmd extends Command {
|
|||||||
/**
|
/**
|
||||||
* 收款人姓名
|
* 收款人姓名
|
||||||
*/
|
*/
|
||||||
@Schema(title = "收款人姓名", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "收款人姓名")
|
||||||
private String payeeName;
|
private String payeeName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,16 +42,9 @@ public class SupplierCreateCmd extends Command {
|
|||||||
/**
|
/**
|
||||||
* 手机号
|
* 手机号
|
||||||
*/
|
*/
|
||||||
@Schema(title = "手机号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "手机号")
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
/**
|
|
||||||
* 银行名称
|
|
||||||
*/
|
|
||||||
@Schema(title = "银行名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 银行卡号
|
* 银行卡号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package com.xunhong.erp.turbo.api.biz.dto.common;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipTypeEnum;
|
|
||||||
import com.xunhong.erp.turbo.base.dto.Command;
|
import com.xunhong.erp.turbo.base.dto.Command;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -120,12 +119,6 @@ public class OrderShip extends Command {
|
|||||||
@Schema(title = "发货单状态:0_草稿;1_待发货;2_待回款;3_待改签;4_部分回款;5_已回款;6_拒收完结;7_已完结;", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "发货单状态:0_草稿;1_待发货;2_待回款;3_待改签;4_部分回款;5_已回款;6_拒收完结;7_已完结;", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private OrderShipStateEnum state;
|
private OrderShipStateEnum state;
|
||||||
|
|
||||||
/**
|
|
||||||
* 发货单类型:1_采购发货;2_调货发货;3_改签发货;4_退货发货
|
|
||||||
*/
|
|
||||||
@Schema(title = "发货单类型:1_采购发货;2_调货发货;3_改签发货;4_退货发货")
|
|
||||||
private OrderShipTypeEnum type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -20,7 +20,7 @@ public class OrderShipItem extends DTO {
|
|||||||
* 发货单子项ID
|
* 发货单子项ID
|
||||||
*/
|
*/
|
||||||
@Schema(title = "发货单子项ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "发货单子项ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Long orderShipItemId;
|
private Long itemId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发货单ID
|
* 发货单ID
|
||||||
|
|||||||
@ -57,12 +57,6 @@ public class OrderSupplier extends Command {
|
|||||||
@Schema(title = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String idCard;
|
private String idCard;
|
||||||
|
|
||||||
/**
|
|
||||||
* 银行名称
|
|
||||||
*/
|
|
||||||
@Schema(title = "银行名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 银行卡号
|
* 银行卡号
|
||||||
*/
|
*/
|
||||||
@ -256,9 +250,9 @@ public class OrderSupplier extends Command {
|
|||||||
private Boolean selected;
|
private Boolean selected;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;")
|
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||||
private OrderStateEnum poState;
|
private OrderStateEnum poState;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,22 +0,0 @@
|
|||||||
package com.xunhong.erp.turbo.api.biz.dto.enums;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public enum OrderShipTypeEnum {
|
|
||||||
/**
|
|
||||||
* 发货单类型:1_采购发货;2_调货发货;3_改签发货;4_退货发货
|
|
||||||
*/
|
|
||||||
PURCHASE_SHIP(1, "采购发货"),
|
|
||||||
TRANSFER_SHIP(2, "调货发货"),
|
|
||||||
CHANGE_SHIP(3, "改签发货"),
|
|
||||||
RETURN_SHIP(4, "退货发货");
|
|
||||||
|
|
||||||
@EnumValue
|
|
||||||
private final int type;
|
|
||||||
|
|
||||||
private final String message;
|
|
||||||
}
|
|
||||||
@ -8,12 +8,13 @@ import lombok.RequiredArgsConstructor;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public enum OrderStateEnum {
|
public enum OrderStateEnum {
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;4_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
DRAFT(0, "草稿"),
|
DRAFT(0, "草稿"),
|
||||||
AUDITING(1, "审核中"),
|
WAITING_AUDIT(1, "审核中"),
|
||||||
COMPLETED(2, "已完结"),
|
COMPLETED(2, "已完结"),
|
||||||
CLOSED(3, "已关闭"),
|
REJECTED(3, "已驳回"),
|
||||||
|
CLOSED(4, "已关闭"),
|
||||||
;
|
;
|
||||||
|
|
||||||
@EnumValue
|
@EnumValue
|
||||||
|
|||||||
@ -17,9 +17,9 @@ import lombok.EqualsAndHashCode;
|
|||||||
public class OrderCountQry extends Query {
|
public class OrderCountQry extends Query {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;")
|
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||||
private OrderStateEnum state;
|
private OrderStateEnum state;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -23,9 +23,9 @@ public class OrderListQry extends Query {
|
|||||||
private String orderSn;
|
private String orderSn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;")
|
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||||
private OrderStateEnum state;
|
private OrderStateEnum state;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -26,9 +26,9 @@ public class OrderPageQry extends PageQuery {
|
|||||||
private String orderSn;
|
private String orderSn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;")
|
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||||
private OrderStateEnum state;
|
private OrderStateEnum state;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.xunhong.erp.turbo.api.biz.dto.qry;
|
package com.xunhong.erp.turbo.api.biz.dto.qry;
|
||||||
|
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipTypeEnum;
|
|
||||||
import com.xunhong.erp.turbo.base.dto.PageQuery;
|
import com.xunhong.erp.turbo.base.dto.PageQuery;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -29,12 +28,6 @@ public class OrderShipPageQry extends PageQuery {
|
|||||||
@Schema(title = "发货单状态:0_草稿;1_待发货;2_待回款;3_待改签;4_部分回款;5_已回款;6_拒收完结;7_已完结;")
|
@Schema(title = "发货单状态:0_草稿;1_待发货;2_待回款;3_待改签;4_部分回款;5_已回款;6_拒收完结;7_已完结;")
|
||||||
private OrderShipStateEnum state;
|
private OrderShipStateEnum state;
|
||||||
|
|
||||||
/**
|
|
||||||
* 发货单类型:1_采购发货;2_调货发货;3_改签发货;4_退货发货
|
|
||||||
*/
|
|
||||||
@Schema(title = "发货单类型:1_采购发货;2_调货发货;3_改签发货;4_退货发货")
|
|
||||||
private OrderShipTypeEnum type;
|
|
||||||
|
|
||||||
@Schema(title = "供应商名称", type = "string")
|
@Schema(title = "供应商名称", type = "string")
|
||||||
private String supplierName;
|
private String supplierName;
|
||||||
|
|
||||||
|
|||||||
@ -61,12 +61,6 @@ public class CostVO extends DTO {
|
|||||||
@Schema(title = "备注")
|
@Schema(title = "备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否默认
|
|
||||||
*/
|
|
||||||
@Schema(title = "是否默认")
|
|
||||||
private Boolean isDefault;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排序号
|
* 排序号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -155,17 +155,5 @@ public class DealerVO extends DTO {
|
|||||||
*/
|
*/
|
||||||
@Schema(title = "损耗金额")
|
@Schema(title = "损耗金额")
|
||||||
private BigDecimal lossAmount;
|
private BigDecimal lossAmount;
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否启用初始车次号
|
|
||||||
*/
|
|
||||||
@Schema(title = "是否启用初始车次号")
|
|
||||||
private Boolean enableInitialTrainNo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 初始车次号
|
|
||||||
*/
|
|
||||||
@Schema(title = "初始车次号")
|
|
||||||
private Integer initialTrainNo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -96,9 +96,9 @@ public class OrderCostVO extends Command {
|
|||||||
private LocalDateTime createdAt;
|
private LocalDateTime createdAt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;")
|
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||||
private OrderStateEnum poState;
|
private OrderStateEnum poState;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -75,9 +75,9 @@ public class OrderRebateVO extends Command {
|
|||||||
private LocalDateTime createdAt;
|
private LocalDateTime createdAt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;")
|
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||||
private OrderStateEnum poState;
|
private OrderStateEnum poState;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -4,8 +4,8 @@ import com.alibaba.cola.dto.DTO;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderShipItem;
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderShipItem;
|
||||||
|
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
||||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipTypeEnum;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
@ -38,19 +38,19 @@ public class OrderShipVO extends DTO {
|
|||||||
/**
|
/**
|
||||||
* 经销商ID
|
* 经销商ID
|
||||||
*/
|
*/
|
||||||
@Schema(title = "经销商ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "经销商ID", type = "string")
|
||||||
private Long dealerId;
|
private Long dealerId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 经销商名称
|
* 经销商名称
|
||||||
*/
|
*/
|
||||||
@Schema(title = "经销商名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "经销商名称")
|
||||||
private String dealerName;
|
private String dealerName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发货单编号
|
* 发货单编号
|
||||||
*/
|
*/
|
||||||
@Schema(title = "发货单编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "发货单编号")
|
||||||
private String orderSn;
|
private String orderSn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -132,15 +132,9 @@ public class OrderShipVO extends DTO {
|
|||||||
/**
|
/**
|
||||||
* 发货单状态:0_草稿;1_待发货;2_待回款;3_待改签;4_部分回款;5_已回款;6_拒收完结;7_已完结;
|
* 发货单状态:0_草稿;1_待发货;2_待回款;3_待改签;4_部分回款;5_已回款;6_拒收完结;7_已完结;
|
||||||
*/
|
*/
|
||||||
@Schema(title = "发货单状态:0_草稿;1_待发货;2_待回款;3_待改签;4_部分回款;5_已回款;6_拒收完结;7_已完结;", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "发货单状态:0_草稿;1_待发货;2_待回款;3_待改签;4_部分回款;5_已回款;6_拒收完结;7_已完结;")
|
||||||
private OrderShipStateEnum state;
|
private OrderShipStateEnum state;
|
||||||
|
|
||||||
/**
|
|
||||||
* 发货单类型:1_采购发货;2_调货发货;3_改签发货;4_退货发货
|
|
||||||
*/
|
|
||||||
@Schema(title = "发货单类型:1_采购发货;2_调货发货;3_改签发货;4_退货发货", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private OrderShipTypeEnum type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
@ -182,6 +176,6 @@ public class OrderShipVO extends DTO {
|
|||||||
* 采购订单车辆运输信息
|
* 采购订单车辆运输信息
|
||||||
*/
|
*/
|
||||||
@Schema(title = "采购订单车辆运输信息")
|
@Schema(title = "采购订单车辆运输信息")
|
||||||
private OrderVO orderVO;
|
private OrderVehicle orderVehicle;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,12 +59,6 @@ public class OrderSupplierVO extends DTO {
|
|||||||
@Schema(title = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String idCard;
|
private String idCard;
|
||||||
|
|
||||||
/**
|
|
||||||
* 银行名称
|
|
||||||
*/
|
|
||||||
@Schema(title = "银行名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 银行卡号
|
* 银行卡号
|
||||||
*/
|
*/
|
||||||
@ -228,9 +222,9 @@ public class OrderSupplierVO extends DTO {
|
|||||||
private LocalDateTime createdAt;
|
private LocalDateTime createdAt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;")
|
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||||
private OrderStateEnum poState;
|
private OrderStateEnum poState;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -66,9 +66,9 @@ public class OrderVO extends DTO {
|
|||||||
private OrderPricingMethodEnum pricingMethod;
|
private OrderPricingMethodEnum pricingMethod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;
|
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||||
*/
|
*/
|
||||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已关闭;", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private OrderStateEnum state;
|
private OrderStateEnum state;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -31,7 +31,7 @@ public class SupplierVO extends DTO {
|
|||||||
/**
|
/**
|
||||||
* 收款人姓名
|
* 收款人姓名
|
||||||
*/
|
*/
|
||||||
@Schema(title = "收款人姓名", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "收款人姓名")
|
||||||
private String payeeName;
|
private String payeeName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,15 +43,9 @@ public class SupplierVO extends DTO {
|
|||||||
/**
|
/**
|
||||||
* 手机号
|
* 手机号
|
||||||
*/
|
*/
|
||||||
@Schema(title = "手机号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "手机号")
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
/**
|
|
||||||
* 银行名称
|
|
||||||
*/
|
|
||||||
@Schema(title = "银行名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 银行卡号
|
* 银行卡号
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -16,9 +16,6 @@ public class WxMaOcrBankCardVO extends DTO {
|
|||||||
@Schema(title = "银行卡号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "银行卡号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String number;
|
private String number;
|
||||||
|
|
||||||
@Schema(title = "银行名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
private String bankName;
|
|
||||||
|
|
||||||
@Schema(title = "银行卡图片", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(title = "银行卡图片", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private String ocrUrl;
|
private String ocrUrl;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user