071 tests fixes
This commit is contained in:
+1
-1
@@ -87,7 +87,7 @@
|
|||||||
<!--- global settings --->
|
<!--- global settings --->
|
||||||
|
|
||||||
<cfset request.RECORDS_PER_PAGE=500/>
|
<cfset request.RECORDS_PER_PAGE=500/>
|
||||||
<cfset request.APP_VERSION="0.00.070"/>
|
<cfset request.APP_VERSION="0.00.071"/>
|
||||||
<cfset request.STAND=getStand()/>
|
<cfset request.STAND=getStand()/>
|
||||||
|
|
||||||
<cflock scope="application" type="readonly" timeout=3>
|
<cflock scope="application" type="readonly" timeout=3>
|
||||||
|
|||||||
+9
-3
@@ -17,15 +17,21 @@
|
|||||||
|
|
||||||
<m:prepare_detail entity="contragent" accessObject="" key="__id" pageInfoOut="pageInfo"/>
|
<m:prepare_detail entity="contragent" accessObject="" key="__id" pageInfoOut="pageInfo"/>
|
||||||
|
|
||||||
|
<cfif isDefined("id_klienta") AND NOT isDefined("__id")>
|
||||||
|
<cfquery name="qResolveUid">
|
||||||
|
select __id::text as __id from elma.companies where id_klienta=<cfqueryparam cfsqltype="cf_sql_varchar" value="#id_klienta#"/>
|
||||||
|
</cfquery>
|
||||||
|
<cfif qResolveUid.recordCount>
|
||||||
|
<cfset __id=qResolveUid.__id/>
|
||||||
|
</cfif>
|
||||||
|
</cfif>
|
||||||
|
|
||||||
<d:bean readonly=true table="elma.companies" datasource="#request.DS#" output="d" status="status">
|
<d:bean readonly=true table="elma.companies" datasource="#request.DS#" output="d" status="status">
|
||||||
<d:param field="__id" type="uuid" key/>
|
<d:param field="__id" type="uuid" key/>
|
||||||
<d:param field="__name" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
|
<d:param field="__name" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
|
||||||
<d:param field="_inn" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
|
<d:param field="_inn" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
|
||||||
<d:param field="_kpp" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
|
<d:param field="_kpp" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
|
||||||
<d:param field="id_klienta" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
|
<d:param field="id_klienta" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
|
||||||
<!--- *** билдер показывает... <d:param field="wz_id" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/> --->
|
|
||||||
<!--- <d:param field="code_inn" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/>
|
|
||||||
<d:param field="code_kpp" type="varchar" size="255" preprocessor=#cleanInput# forNull=""/> --->
|
|
||||||
</d:bean>
|
</d:bean>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<cfsilent>
|
<cfsilent>
|
||||||
<!--- v0.03 20260402--->
|
<!--- v0.03 20260402--->
|
||||||
|
<!--- v0.04 20260812--->
|
||||||
<cfimport prefix="m" taglib="../lib"/>
|
<cfimport prefix="m" taglib="../lib"/>
|
||||||
<cfimport prefix="c" taglib="../lib/controls"/>
|
<cfimport prefix="c" taglib="../lib/controls"/>
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@
|
|||||||
<cfparam name="ATTRIBUTES.buttonNew" default="No"/>
|
<cfparam name="ATTRIBUTES.buttonNew" default="No"/>
|
||||||
<cfparam name="ATTRIBUTES.buttonNewTitle" default="Создать"/>
|
<cfparam name="ATTRIBUTES.buttonNewTitle" default="Создать"/>
|
||||||
<cfparam name="ATTRIBUTES.urlNew" default=""/>
|
<cfparam name="ATTRIBUTES.urlNew" default=""/>
|
||||||
|
<cfparam name="ATTRIBUTES.paginator" default=#(ATTRIBUTES.recordsPerPage GT 0)#/>
|
||||||
|
|
||||||
<cfset UrlSuffix=""/>
|
<cfset UrlSuffix=""/>
|
||||||
<cfif len(ATTRIBUTES.addtionalUrlParams) GT 0>
|
<cfif len(ATTRIBUTES.addtionalUrlParams) GT 0>
|
||||||
@@ -63,9 +65,11 @@
|
|||||||
</cfif>
|
</cfif>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<cfif ATTRIBUTES.paginator>
|
||||||
<div class="td r">
|
<div class="td r">
|
||||||
#paginator.links#
|
#paginator.links#
|
||||||
</div>
|
</div>
|
||||||
|
</cfif>
|
||||||
</div>
|
</div>
|
||||||
</cfif>
|
</cfif>
|
||||||
</cfoutput>
|
</cfoutput>
|
||||||
@@ -73,9 +77,11 @@
|
|||||||
<cfif len(ATTRIBUTES.footerOut)>
|
<cfif len(ATTRIBUTES.footerOut)>
|
||||||
<cfsavecontent variable="CALLER.#ATTRIBUTES.footerOut#">
|
<cfsavecontent variable="CALLER.#ATTRIBUTES.footerOut#">
|
||||||
<cfoutput>
|
<cfoutput>
|
||||||
|
<cfif ATTRIBUTES.paginator>
|
||||||
<div class="wide r" style="margin:0.3em">
|
<div class="wide r" style="margin:0.3em">
|
||||||
#paginator.links#
|
#paginator.links#
|
||||||
</div>
|
</div>
|
||||||
|
</cfif>
|
||||||
</cfoutput>
|
</cfoutput>
|
||||||
</cfsavecontent>
|
</cfsavecontent>
|
||||||
</cfif>
|
</cfif>
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
<!--- v0.05 2026-08-12--->
|
||||||
<cfparam name="nStart" type="integer" default="1"/>
|
<cfparam name="nStart" type="integer" default="1"/>
|
||||||
|
|
||||||
<cfparam name="ATTRIBUTES.recordCount" type="integer"/>
|
<cfparam name="ATTRIBUTES.recordCount" type="integer"/>
|
||||||
@@ -9,6 +10,9 @@
|
|||||||
<cfparam name="ATTRIBUTES.output" type="string" default="paginator"/>
|
<cfparam name="ATTRIBUTES.output" type="string" default="paginator"/>
|
||||||
|
|
||||||
<!--- Исключение: рассчитанный индекс страницы превышает количество существующих страниц - надо возвращаться на первую --->
|
<!--- Исключение: рассчитанный индекс страницы превышает количество существующих страниц - надо возвращаться на первую --->
|
||||||
|
<cfif NOT (ATTRIBUTES.recordsPerPage GT 0)>
|
||||||
|
<cfexit method="exittag"/>
|
||||||
|
</cfif>
|
||||||
|
|
||||||
<cfset nPages = Int((ATTRIBUTES.recordCount-1)/ATTRIBUTES.recordsPerPage)+1/>
|
<cfset nPages = Int((ATTRIBUTES.recordCount-1)/ATTRIBUTES.recordsPerPage)+1/>
|
||||||
<cfset nCurrentPage = Int((nStart-1)/ATTRIBUTES.recordsPerPage)+1/>
|
<cfset nCurrentPage = Int((nStart-1)/ATTRIBUTES.recordsPerPage)+1/>
|
||||||
|
|||||||
+33
-22
@@ -17,6 +17,7 @@ SELECT
|
|||||||
<d:field title="WZ">m.clientid AS wz</d:field>
|
<d:field title="WZ">m.clientid AS wz</d:field>
|
||||||
<d:field title="status">m.status</d:field>
|
<d:field title="status">m.status</d:field>
|
||||||
<d:field title="End of Test">m.end_test_date</d:field>
|
<d:field title="End of Test">m.end_test_date</d:field>
|
||||||
|
<d:field title="End of Test">null as dt_end_of_test</d:field>
|
||||||
<d:field title="VDC">v.name AS vdc</d:field>
|
<d:field title="VDC">v.name AS vdc</d:field>
|
||||||
<d:field title="Provider VDC">p.name AS provider_vdc</d:field>
|
<d:field title="Provider VDC">p.name AS provider_vdc</d:field>
|
||||||
<d:field title="code">CASE
|
<d:field title="code">CASE
|
||||||
@@ -50,18 +51,38 @@ WHERE c.timestamp >= <cfqueryparam cfsqltype="cf_sql_timestamp" value=#dateAdd("
|
|||||||
GROUP BY
|
GROUP BY
|
||||||
m.clientid, v.name, p.name, sp.name, t.name,
|
m.clientid, v.name, p.name, sp.name, t.name,
|
||||||
m.status, m.end_test_date, tm.ts
|
m.status, m.end_test_date, tm.ts
|
||||||
|
|
||||||
|
</cfquery>
|
||||||
|
|
||||||
|
<!--- patch date --->
|
||||||
|
<cfloop query="qStorage">
|
||||||
|
<cftry>
|
||||||
|
<cfif len(qStorage.end_test_date)>
|
||||||
|
<cfset qStorage.dt_end_of_test = LSParseDateTime(qStorage.end_test_date,"ru","dd.MM.yyyy")/>
|
||||||
|
</cfif>
|
||||||
|
<cfcatch type="ANY">
|
||||||
|
<!--- <cfdump var=#cfcatch.message#> --->
|
||||||
|
<!--- <cfset qStorage.dt_end_of_test = javaCast("null", 0)/> --->
|
||||||
|
</cfcatch>
|
||||||
|
</cftry>
|
||||||
|
</cfloop>
|
||||||
|
|
||||||
|
<cfset db = new MemoryDbHelper()/>
|
||||||
|
<cfset db.register("qStorage", qStorage, "inmem")/>
|
||||||
|
<!--- лень переделывать, мы пользуемся аннотацией от первого запроса, просто добавляя ко второму сортировку --->
|
||||||
|
<cfquery name="qRead" datasource="inmem">
|
||||||
|
select * from qStorage
|
||||||
ORDER BY
|
ORDER BY
|
||||||
<m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
|
<m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
|
||||||
</cfquery>
|
</cfquery>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<cfif isDefined("output_xls")>
|
<cfif isDefined("output_xls")>
|
||||||
<layout:xml qRead=#qCharge# titleMap=#titleMap# filename="#pageInfo.entity#.xml"/>
|
<layout:xml qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.xml"/>
|
||||||
<cfabort/>
|
<cfabort/>
|
||||||
</cfif><cfif isDefined("output_json")>
|
</cfif><cfif isDefined("output_json")>
|
||||||
<layout:json qRead=#qCharge# titleMap=#titleMap# filename="#pageInfo.entity#.json"/>
|
<layout:json qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.json"/>
|
||||||
<cfabort/>
|
<cfabort/>
|
||||||
</cfif><!---
|
</cfif><!---
|
||||||
---><layout:page section="header" pageInfo=#pageInfo#>
|
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||||
@@ -75,19 +96,11 @@ ORDER BY
|
|||||||
</layout:attribute>
|
</layout:attribute>
|
||||||
</layout:page>
|
</layout:page>
|
||||||
|
|
||||||
<!--- <cfdump var=#qReconciliation# abort=true/> --->
|
|
||||||
|
|
||||||
<!--- <cfoutput>
|
|
||||||
|
|
||||||
<br/> --->
|
|
||||||
<!--- <a href="#request.thisPage#?output_xls" title="экспорт в Excel" style="margin-left:.5em; height:100%;" target="_blank"><img src="img/xls.gif" style="vertical-align:text-bottom;"/></a>
|
|
||||||
|
|
||||||
<a href="#request.thisPage#?output_json" title="экспорт в json" style="margin-left:.5em; height:100%;" target="_blank"><img src="img/json.svg" style="vertical-align:text-bottom;" width="13" height="13"/></a>
|
|
||||||
</cfoutput>
|
|
||||||
<cfoutput><b>#qStorage.recordCount#</b></cfoutput> --->
|
|
||||||
|
|
||||||
<layout:grid_summary
|
<layout:grid_summary
|
||||||
recordCount=#qStorage.recordCount#
|
recordCount=#qStorage.recordCount#
|
||||||
|
recordsPerPage=0
|
||||||
footerOut="gridFooter"
|
footerOut="gridFooter"
|
||||||
excelLink="Yes"
|
excelLink="Yes"
|
||||||
jsonLink="Yes"
|
jsonLink="Yes"
|
||||||
@@ -96,11 +109,11 @@ ORDER BY
|
|||||||
|
|
||||||
<table class="worktable">
|
<table class="worktable">
|
||||||
<layout:grid_head titleMap=#titleMap# sortArray=#pageInfo.settings.sort.sortArray#>
|
<layout:grid_head titleMap=#titleMap# sortArray=#pageInfo.settings.sort.sortArray#>
|
||||||
<tr>
|
|
||||||
<th><layout:column_head name="tenant"/></th>
|
<th><layout:column_head name="tenant"/></th>
|
||||||
<th><layout:column_head name="wz"/></th>
|
<th><layout:column_head name="wz"/></th>
|
||||||
<th><layout:column_head name="status"/></th>
|
<th><layout:column_head name="status"/></th>
|
||||||
<th><layout:column_head name="end_test_date"/></th>
|
<!--- <th><layout:column_head name="end_test_date"/></th> --->
|
||||||
|
<th><layout:column_head name="dt_end_of_test"/></th>
|
||||||
<th><layout:column_head name="vdc"/></th>
|
<th><layout:column_head name="vdc"/></th>
|
||||||
<th><layout:column_head name="provider_vdc"/></th>
|
<th><layout:column_head name="provider_vdc"/></th>
|
||||||
<th><layout:column_head name="code"/></th>
|
<th><layout:column_head name="code"/></th>
|
||||||
@@ -108,25 +121,23 @@ ORDER BY
|
|||||||
<th><layout:column_head name="limit_gb"/></th>
|
<th><layout:column_head name="limit_gb"/></th>
|
||||||
<th><layout:column_head name="alloc_gb"/></th>
|
<th><layout:column_head name="alloc_gb"/></th>
|
||||||
<th><layout:column_head name="ts"/></th>
|
<th><layout:column_head name="ts"/></th>
|
||||||
</tr>
|
|
||||||
</layout:grid_head>
|
</layout:grid_head>
|
||||||
|
<cfoutput query="qRead">
|
||||||
<cfoutput query="qStorage">
|
|
||||||
<tr>
|
<tr>
|
||||||
<!--- <td><a href="contragent.cfm?__id=#company_uid#&#tr.fwx#">#WZ#</a><a href="contragent_rpt.cfm?__id=#company_uid#&#tr.fwx#" style="float:right"><img src="img/view.gif" title="сводка по контрагенту"/></a></td> --->
|
<!--- <td><a href="contragent.cfm?__id=#company_uid#&#tr.fwx#">#WZ#</a><a href="contragent_rpt.cfm?__id=#company_uid#&#tr.fwx#" style="float:right"><img src="img/view.gif" title="сводка по контрагенту"/></a></td> --->
|
||||||
<td>#tenant#</td>
|
<td>#tenant#</td>
|
||||||
<td>#wz#</td>
|
<td class="c"><a href="contragent.cfm?id_klienta=#UCASE(wz)#&#tr.fwx#">#wz#</td>
|
||||||
<td<cfif NOT (status EQ "prod" OR status EQ "internal-test")> class="b"</cfif>>#status#</td>
|
<td<cfif NOT (status EQ "prod" OR status EQ "internal-test")> class="b"</cfif>>#status#</td>
|
||||||
<td<cfif NOT (status EQ "prod" OR status EQ "internal-test") AND isDate(end_test_date) AND end_test_date LE Now()> class="b err"</cfif>>#end_test_date#</td>
|
<!--- <td>#end_test_date#</td> --->
|
||||||
|
<td class="c<cfif NOT (status EQ "prod" OR status EQ "internal-test") AND isDate(dt_end_of_test) AND dt_end_of_test LE Now()> b err</cfif>">#dateFormat(dt_end_of_test,"YYYY-MM-DD")#</td>
|
||||||
<td>#VDC#</td>
|
<td>#VDC#</td>
|
||||||
<td>#provider_vdc#</td>
|
<td>#provider_vdc#</td>
|
||||||
<td>#code#</td>
|
<td>#code#</td>
|
||||||
<td>#storage_profile#</td>
|
<td>#storage_profile#</td>
|
||||||
<td<cfif NOT (status EQ "prod" OR status EQ "internal-test") AND isDate(end_test_date) AND end_test_date LE Now()> class="b err"</cfif>>#limit_gb#</td>
|
<td class="r<cfif NOT (status EQ "prod" OR status EQ "internal-test") AND isDate(dt_end_of_test) AND dt_end_of_test LE Now()> b err</cfif>">#limit_gb#</td>
|
||||||
<td<cfif NOT (status EQ "prod" OR status EQ "internal-test") AND isDate(end_test_date) AND end_test_date LE Now()> class="b err"</cfif>>#alloc_gb#</td>
|
<td class="r<cfif NOT (status EQ "prod" OR status EQ "internal-test") AND isDate(dt_end_of_test) AND dt_end_of_test LE Now()> b err</cfif>">#alloc_gb#</td>
|
||||||
<td>#dateFormaT(ts,"YYYY-MM-DD")# #timeFormaT(ts,"HH-MM")#</td>
|
<td>#dateFormaT(ts,"YYYY-MM-DD")# #timeFormaT(ts,"HH-MM")#</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</cfoutput>
|
</cfoutput>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
Reference in New Issue
Block a user