| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * ERP 采购订单 Mapper |
| | | * |
| | | * @author 芋道源码 |
| | | * @author 超级管理员 |
| | | */ |
| | | @Mapper |
| | | public interface ErpPurchaseOrderMapper extends BaseMapperX<ErpPurchaseOrderDO> { |
| | |
| | | .eq(ErpPurchaseOrderDO::getId, id).eq(ErpPurchaseOrderDO::getStatus, status)); |
| | | } |
| | | |
| | | /** |
| | | * 提交审批:更新状态并清空上一轮的审核信息 |
| | | * |
| | | * 说明:必须使用 LambdaUpdateWrapper 显式 set null, |
| | | * 否则 MyBatis-Plus 的 updateById 会忽略 null 字段,导致驳回原因残留。 |
| | | */ |
| | | default int submitAndResetAuditInfo(Long id, Integer status) { |
| | | return update(null, new LambdaUpdateWrapper<ErpPurchaseOrderDO>() |
| | | .eq(ErpPurchaseOrderDO::getId, id) |
| | | .set(ErpPurchaseOrderDO::getStatus, status) |
| | | .set(ErpPurchaseOrderDO::getReviewerId, null) |
| | | .set(ErpPurchaseOrderDO::getReviewerName, null) |
| | | .set(ErpPurchaseOrderDO::getReviewTime, null) |
| | | .set(ErpPurchaseOrderDO::getReviewRemark, null)); |
| | | } |
| | | |
| | | /** |
| | | * 审核(通过 / 不通过):写入审核人与审核意见 |
| | | */ |
| | | default int auditPurchaseOrder(Long id, Integer status, Long reviewerId, String reviewerName, String reviewRemark) { |
| | | return update(null, new LambdaUpdateWrapper<ErpPurchaseOrderDO>() |
| | | .eq(ErpPurchaseOrderDO::getId, id) |
| | | .set(ErpPurchaseOrderDO::getStatus, status) |
| | | .set(ErpPurchaseOrderDO::getReviewerId, reviewerId) |
| | | .set(ErpPurchaseOrderDO::getReviewerName, reviewerName) |
| | | .set(ErpPurchaseOrderDO::getReviewTime, LocalDateTime.now()) |
| | | .set(ErpPurchaseOrderDO::getReviewRemark, reviewRemark)); |
| | | } |
| | | |
| | | default ErpPurchaseOrderDO selectByNo(String no) { |
| | | return selectOne(ErpPurchaseOrderDO::getNo, no); |
| | | } |