1. 【新增】售后单售后原因类型支持搜索

2. 【新增】手工创建订单折扣可输入正数

3. 【优化】盘点申请单确认

4. 【修复】采购退货单模拟出库失败问题

5. 【新增】订单金额客户实付与结算金额

6. 【优化】仓库发货统计报表物料名称显示

7. 【优化】自有仓储虚拟发货逻辑

8. 【修复】基础物料分类管理问题
This commit is contained in:
chenping
2026-04-01 11:59:17 +08:00
parent 9341122827
commit 61783b7d01
754 changed files with 46179 additions and 5700 deletions

View File

@@ -337,11 +337,23 @@ class finance_verification
return $res;
}
$oMRI = app::get('finance')->model('monthly_report_items');
$servicelist = kernel::servicelist('financebase.reportitem.doAutoVerificate.after');
foreach($monthly_item_id as $itemId) {
if(!app::get('finance')->model('bill')->db_dump(['status|noequal'=>'2', 'monthly_item_id'=>$itemId], 'bill_id')
&& !app::get('finance')->model('ar')->db_dump(['status|noequal'=>'2', 'monthly_item_id'=>$itemId], 'ar_id')
) {
$oMRI->update(['memo'=>$memo, 'verification_status'=>'2'], ['id'=>$itemId]);
// 更新核对状态
$this->updateArVerifyStatus($itemId);
foreach ($servicelist as $instance) {
if (method_exists($instance, 'after_verificate')){
$instance->after_verificate($itemId);
}
}
}
}
return $res;
@@ -612,4 +624,44 @@ class finance_verification
return $res;
}
/**
* 更新核对状态
* 根据monthly_item_id查找sdb_finance_bill表数据匹配sdb_financebase_bill表的unique_id
* 如果匹配到且ar_verify_status='2',则更新为'1'
*
* @param int $itemId 月度报告项目ID
* @return bool 更新是否成功
*/
public function updateArVerifyStatus($itemId)
{
if (empty($itemId)) {
return false;
}
// 第一步:查询符合条件的 unique_id 列表
$sql1 = "SELECT unique_id
FROM sdb_finance_bill
WHERE monthly_item_id = '{$itemId}'";
$uniqueIds = kernel::database()->select($sql1);
if (empty($uniqueIds)) {
return true; // 没有需要更新的记录
}
// 提取 unique_id 数组
$ids = array();
foreach ($uniqueIds as $row) {
$ids[] = $row['unique_id'];
}
$idsStr = "'" . implode("','", $ids) . "'";
// 第二步:更新 sdb_financebase_bill 表
$sql2 = "UPDATE sdb_financebase_bill
SET ar_verify_status = '1'
WHERE unique_id IN ({$idsStr})
AND ar_verify_status = '2'";
return kernel::database()->exec($sql2);
}
}