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