v1.0.103: шаги 10+11 — массовый INSERT full_replace + UUID тип last_event_id
This commit is contained in:
+16
-18
@@ -37,28 +37,26 @@
|
||||
<cfthrow message="full_replace: LLM вернул пустой ops, спецификация НЕ изменена">
|
||||
</cfif>
|
||||
|
||||
<!--- full_replace: явные DELETE для аудита --->
|
||||
<!--- full_replace: явные DELETE для аудита (массовый INSERT) --->
|
||||
<cfif url.mode EQ "full_replace">
|
||||
<cfquery name="curRows" datasource="baza">
|
||||
SELECT name_hash, name, price, qty, sum, date_start
|
||||
<cfquery datasource="baza">
|
||||
INSERT INTO spec_events (contract_id, supplement_id, seq, action, target_hash, comment, status)
|
||||
SELECT
|
||||
<cfqueryparam value="#url.contract_id#" cfsqltype="cf_sql_varchar">,
|
||||
<cfqueryparam value="#supplementId#" cfsqltype="cf_sql_varchar">,
|
||||
<cfqueryparam value="#seq#" cfsqltype="cf_sql_integer"> + ROW_NUMBER() OVER (),
|
||||
'DELETE',
|
||||
name_hash,
|
||||
'full_replace',
|
||||
'applied'
|
||||
FROM spec_current
|
||||
WHERE contract_id = <cfqueryparam value="#url.contract_id#" cfsqltype="cf_sql_varchar">
|
||||
</cfquery>
|
||||
<cfloop query="curRows">
|
||||
<cfset seq++>
|
||||
<cfquery datasource="baza">
|
||||
INSERT INTO spec_events (contract_id, supplement_id, seq, action, target_hash, comment, status)
|
||||
VALUES (
|
||||
<cfqueryparam value="#url.contract_id#" cfsqltype="cf_sql_varchar">,
|
||||
<cfqueryparam value="#supplementId#" cfsqltype="cf_sql_varchar">,
|
||||
<cfqueryparam value="#seq#" cfsqltype="cf_sql_integer">,
|
||||
'DELETE',
|
||||
<cfqueryparam value="#curRows.name_hash#" cfsqltype="cf_sql_varchar">,
|
||||
'full_replace',
|
||||
'applied'
|
||||
)
|
||||
<cfquery name="cntDel" datasource="baza">
|
||||
SELECT COUNT(*) as cnt FROM spec_current
|
||||
WHERE contract_id = <cfqueryparam value="#url.contract_id#" cfsqltype="cf_sql_varchar">
|
||||
</cfquery>
|
||||
</cfloop>
|
||||
<cfset seq = seq + cntDel.cnt>
|
||||
<cfquery datasource="baza">
|
||||
DELETE FROM spec_current WHERE contract_id = <cfqueryparam value="#url.contract_id#" cfsqltype="cf_sql_varchar">
|
||||
</cfquery>
|
||||
@@ -122,7 +120,7 @@
|
||||
<cfqueryparam value="#qt#" cfsqltype="cf_sql_float" null="#len(qt) EQ 0#">,
|
||||
<cfqueryparam value="#sm#" cfsqltype="cf_sql_float" null="#len(sm) EQ 0#">,
|
||||
<cfqueryparam value="#ds#" cfsqltype="cf_sql_varchar" null="#len(ds) EQ 0#">,
|
||||
<cfqueryparam value="#evt.id#" cfsqltype="cf_sql_varchar">
|
||||
<cfqueryparam value="#evt.id#" cfsqltype="cf_sql_char" maxlength="36">,
|
||||
)
|
||||
</cfquery>
|
||||
<cfset summary.added++>
|
||||
|
||||
Reference in New Issue
Block a user