gongchunyi
2026-04-30 78b637613099f0e2e04e98c5f33c24f8e6c78c7a
src/main/java/com/ruoyi/production/mapper/ProductOrderMapper.java
@@ -4,16 +4,33 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.dto.ProductStructureDto;
import com.ruoyi.production.pojo.ProcessRoute;
import com.ruoyi.production.pojo.ProductOrder;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
@Mapper
public interface ProductOrderMapper extends BaseMapper<ProductOrder> {
    IPage<ProductOrderDto> pageProductOrder(Page page, @Param("c") ProductOrderDto productOrder);
    IPage<ProductOrderDto> pageProductOrder(Page<ProductOrderDto> page, @Param("c") ProductOrderDto productOrder);
    List<ProcessRoute> listProcessRoute(@Param("productModelId") Long productModelId);
    List<ProductStructureDto> listProcessBom(@Param("orderId") Long orderId);
    Integer countCreated(@Param("startDate") String startDate, @Param("endDate") String endDate);
    Integer countCompleted(@Param("startDate") String startDate, @Param("endDate") String endDate);
    Integer countPending(@Param("startDate") String startDate, @Param("endDate") String endDate);
    /**
     * 根据订单ID查询工单报工
     * 原子增加完成数量,防止并发超出订单数量
     * @return 影响行数(1 成功,0 失败)
     */
     ProductOrderDto productMainByOrderId(@Param("c") ProductOrder productOrder);
    int addCompleteQtyIfNotExceed(@Param("id") Long id, @Param("delta") BigDecimal delta);
}