gpt4 book ai didi

php - 每日循环发票检查

转载 作者:行者123 更新时间:2023-11-29 02:34:55 25 4
gpt4 key购买 nike

我的情况如下:

我正在建立一个发票系统,我几乎完成了所有事情,除了发票重复。这是我想做的但没有成功。

条件:

我生成新的重复收入的条件是 ->

  1. 契约(Contract)必须有效。
  2. reference 必须等于 PA。
  3. 仅为还没有发票的契约(Contract)生成发票。 (怎么查)

我将使用 cron 运行脚本,它将每天运行,然后如果契约(Contract)没有发票,我将每天生成发票。如果契约(Contract)有此日期的发票,则什么也不做 - 退出。

这里我有一段 SQL 代码,我正在检索所有到这个日期(现在是月份和年份)都有发票的人。

一些有用的信息:

我有 324 份有效契约(Contract),其发票已在以下查询中生成。

SELECT contratos.id, contratos.idcliente, contratos.ativo, invoices.id as inv, invoices.due_date, invoices.contratoid 
FROM contratos
LEFT JOIN invoices ON invoices.contratoid = contratos.id
WHERE contratos.ativo = 1
AND invoices.referencia = 'PA'
AND YEAR(due_date) = YEAR(CURDATE())
AND MONTH(due_date) = MONTH(CURDATE())
GROUP BY invoices.id

我在这个其他查询中有 368 个有效契约(Contract)

SELECT * FROM contracts WHERE active=1

然后我知道我有 44 份没有发票的契约(Contract)并且我知道我需要为这 44 份契约(Contract)生成新的发票。

我的问题是如何检索这 44 份契约(Contract)并在我的第一个查询中显示它,它可以为 null(没问题),对我来说重要的是契约(Contract) ID。

如果我不够清楚,请告诉我。

感谢社区。

[编辑]总结

  • 我运行了第一个查询并获得了 324 行的结果。
  • 然后运行第二个查询,比较query1和query2的结果
  • 不匹配的行是不同的,我需要生成向他们开具发票。

我真的很想在我的查询(一个查询)中而不是在我的代码中执行此操作。

最佳答案

LEFT JOIN 正在返回填充了所有 NULL 值的发票记录。当您要求 invoices.referencia = 'PA' 时,这将消除所有完全为空的记录(否定您的外部连接)。

关于php - 每日循环发票检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6697896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com