他:
做的新单据,推送单据我们这边没有接收到任何信息,这些地址我这边也修改了。
然后他贴了好几张图,第一张是我打印的 log ,后面的几张图内容我就不贴了,因为第一张图就能知道问题。
拼接 SQL:
SELECT org_orgs.code AS orgcode, ic_saleout_h AS tableName, sm_user.user_code AS userid, sm_user.pk_group AS pk_group, cgeneralhid AS pk_bill, '0' AS billamount, '销售库存' AS bussgroup, sm_user.user_name AS billmakername, ic_saleout_h.vbillcode AS vbillcode, vtrantypecode AS billtype, ic_saleout_h.vdef20 AS secretLevel, ic_saleout_h.fbillflag AS billstatus, '4' AS billstatusValue, '1001Z810000000000000000287C7' AS temppid FROM ic_saleout_h LEFT JOIN org_orgs ON ic_saleout_h.pk_org = org_orgs.pk_org LEFT JOIN sm_user ON ic_saleout_h.billmaker = sm_user.cuserid WHERE ic_saleout_h.ts >= '2025-12-09 09:31:39'
2025-12-09 10:15:11
查询出来的数量:0
进入后续处理模块。
我:
你看下 SQL ,不就知道问题了吧?
他:
没有查到任何信息。
(我心里想:我也知道没查出信息来,日志都已经打印了。能不能试着去掉 WHERE 条件看看?也许只是没有 12-09 9 点之后的数据。)
我:
.....
他:
这是昨天更新完补丁之后推送单据就没办法推送了。
(我以为他昨天打完补丁后又做了新单据)
我:
这个 SQL 只有一个 WHERE 条件吧,你的数据的 ts 是今天 9:31 之后的吗?
他:
是。
(这让我以为他是做了数据,确实应该有数据。)
我:
你看看数据库里。
我:
这个 SQL 就是查询数据库的嘛。
我:
把 WHERE 去掉,看看能不能看到数据。
(我有点急了,因为这应该是个很简单的问题)
我:
@
XXXX ,能否执行一下 SELECT *,然后 ORDER BY ts DESC ,看看最新记录的 ts 是多少。
他:
有数据。
(心里想:怎么回事?我问他最新的记录的 ts 是什么,他却直接回答“有数据”)
我:
ts 是今天 9:31 吗?
他:
ts 之后也有数据。
(我不太理解他在说什么)
我:
给我发个截图。
然后他发了截图,结果我发现最新的记录是:
SELECT * FROM so_saleorder_order ORDER BY ts DESC
第一条记录的 ts 是 2025-12-05 18:46:22 。
我直接炸了,本想在群里怼他一波,但最后还是忍住了。
他:
昨天没有更新补丁之前推送时,数据是最新的。
(至今我还是不清楚他到底有没有做新单据,也不确定他昨天推送时的数据是怎么回事。按理来说,如果没有新单据,那只需要修改增量同步表的时间戳就好,因为他昨天已经测过,应该不会出问题。)
然后我给他发了两张截图,显示了他 SQL 查询结果的最新 ts ,并把我日志里的 ts >= 也框出来了:
我:
看看这个时间吧,哥们。
我:
为什么数据库里最新的数据是 12-5 的?
我:
我的代码也没有删除表数据的功能啊。
然后我不再说话,但内心已经很不爽。最后我把这件事和负责这个项目的项目经理说了(他是我们的人)。我告诉他,这个人真的不适合继续做联调工作。
中午,大家在群里又吵了一架,然后我终于得知了真相……
原来,他们没有和我公司签署部署合同,但不知道为什么,部署和测试的工作却是他们负责的。其实确实是做了超出职责范围的事情,却被埋怨了,真的是挺无奈的。
但我也不知道事情会发展成这样。年底了,我们部门有很多项目,别人让我支持哪个我就支持,具体部署工作一般都是交给现场实施团队去做的。这个项目经理说这些工作交给他们做,我就认为是他们的事情了……
但是就算不让他看我们这边的东西,他还是做得很差。有一些系统问题我已经和他讲了十次了,他还是不明白怎么回事。
本来我还挺硬气地发脾气的,现在也有些气馁了。确实这些不是他们的职责范围,但处理事情的方式和沟通效率让我很难接受。