矫正接口

main
鹿和sa0ChunLuyu 2 days ago
parent 174c7a8c51
commit 7d5ef3b89a

@ -1248,7 +1248,8 @@ public function BatchChangeLocked(Request $request)
public function CorrectUsedCountTest(Request $request, PlanListService $planListService) public function CorrectUsedCountTest(Request $request, PlanListService $planListService)
{ {
$rosterId = request('roster_id'); $rosterId = request('roster_id');
$result = $planListService->calculateUsedCount($rosterId); $correct = request('correct', 0);
$result = $planListService->calculateUsedCount($rosterId, $correct);
// calculateUsedCount 返回数组(成功)或 Yz::echoError1 的响应 // calculateUsedCount 返回数组(成功)或 Yz::echoError1 的响应
if (is_array($result)) { if (is_array($result)) {

@ -1932,7 +1932,7 @@ public function correctUsedCount($rosterId)
* 测试校正号源:只读计算,不更新数据库 * 测试校正号源:只读计算,不更新数据库
* 返回当前排班号源占用详情与校正后应占数的对比 * 返回当前排班号源占用详情与校正后应占数的对比
*/ */
public function calculateUsedCount($rosterId) public function calculateUsedCount($rosterId, $correct = 0)
{ {
if (!$rosterId) { if (!$rosterId) {
return \Yz::echoError1('参数错误roster_id 不能为空'); return \Yz::echoError1('参数错误roster_id 不能为空');
@ -2085,6 +2085,17 @@ public function calculateUsedCount($rosterId)
} }
} }
// 校正模式:将计算结果写入数据库
$corrected = false;
if ($correct == 1 && $hasDiff) {
foreach ($channelCalculated as $ch) {
DB::table('s_source_roster_detail_count')
->where('id', $ch['id'])
->update(['used_count' => $ch['calculated_used_count']]);
}
$corrected = true;
}
return [ return [
'roster_id' => (int)$rosterId, 'roster_id' => (int)$rosterId,
'roster_info' => [ 'roster_info' => [
@ -2101,6 +2112,7 @@ public function calculateUsedCount($rosterId)
'total_used' => $totalUsed, 'total_used' => $totalUsed,
'channels' => $channelCalculated, 'channels' => $channelCalculated,
'has_diff' => $hasDiff, 'has_diff' => $hasDiff,
'corrected' => $corrected,
]; ];
} }

Loading…
Cancel
Save