<field name="forgive_payment" oils_obj:array_position="4" oils_persist:virtual="true" />
<field name="work_payment" oils_obj:array_position="5" oils_persist:virtual="true" />
<field name="credit_payment" oils_obj:array_position="6" oils_persist:virtual="true" />
+ <field name="goods_payment" oils_obj:array_position="7" oils_persist:virtual="true" />
</fields>
<links>
<link field="usr" reltype="has_a" key="id" map="" class="au"/>
<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
</links>
</class>
+ <class id="mgp" controller="open-ils.cstore" oils_obj:fieldmapper="money::goods_payment" oils_persist:tablename="money.goods_payment" reporter:label="Goods Payment">
+ <fields oils_persist:primary="id" oils_persist:sequence="money.payment_id_seq">
+ <field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
+ <field name="ischanged" oils_obj:array_position="1" oils_persist:virtual="true" />
+ <field name="isdeleted" oils_obj:array_position="2" oils_persist:virtual="true" />
+ <field reporter:label="Accepting Staff Member" name="accepting_usr" oils_obj:array_position="3" oils_persist:virtual="false" reporter:datatype="link"/>
+ <field reporter:label="Amount" name="amount" oils_obj:array_position="4" oils_persist:virtual="false" reporter:datatype="money" />
+ <field reporter:label="Amount Collected" name="amount_collected" oils_obj:array_position="5" oils_persist:virtual="false" reporter:datatype="money" />
+ <field reporter:label="Payment ID" name="id" oils_obj:array_position="6" oils_persist:virtual="false" reporter:datatype="id" />
+ <field reporter:label="Note" name="note" oils_obj:array_position="7" oils_persist:virtual="false" reporter:datatype="text"/>
+ <field reporter:label="Payment Timestamp" name="payment_ts" oils_obj:array_position="8" oils_persist:virtual="false" reporter:datatype="timestamp"/>
+ <field reporter:label="Transaction ID" name="xact" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="link"/>
+ <field reporter:label="Payment link" name="payment" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
+ <field reporter:label="Payment Type" name="payment_type" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="text"/>
+ </fields>
+ <links>
+ <link field="payment" reltype="might_have" key="id" map="" class="mp"/>
+ <link field="accepting_usr" reltype="has_a" key="id" map="" class="au"/>
+ <link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
+ </links>
+ </class>
<class id="aoc" controller="open-ils.cstore" oils_obj:fieldmapper="action::open_circulation" oils_persist:tablename="action.open_circulation">
<fields oils_persist:primary="id" oils_persist:sequence="">
<field name="isnew" oils_obj:array_position="0" oils_persist:virtual="true" />
<field reporter:label="Check Payment Detail" name="check_payment" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Work Payment Detail" name="work_payment" oils_obj:array_position="14" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Forgive Payment Detail" name="forgive_payment" oils_obj:array_position="15" oils_persist:virtual="true" reporter:datatype="link"/>
+ <field reporter:label="Goods Payment Detail" name="goods_payment" oils_obj:array_position="16" oils_persist:virtual="true" reporter:datatype="link"/>
</fields>
<links>
<link field="cash_payment" reltype="might_have" key="id" map="" class="mcp"/>
<link field="check_payment" reltype="might_have" key="id" map="" class="mckp"/>
<link field="work_payment" reltype="might_have" key="id" map="" class="mwp"/>
<link field="forgive_payment" reltype="might_have" key="id" map="" class="mfp"/>
+ <link field="goods_payment" reltype="might_have" key="id" map="" class="mgp"/>
<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
</links>
</class>
<field reporter:label="Check Payment Detail" name="check_payment" oils_obj:array_position="13" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Work Payment Detail" name="work_payment" oils_obj:array_position="14" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Forgive Payment Detail" name="forgive_payment" oils_obj:array_position="15" oils_persist:virtual="true" reporter:datatype="link"/>
+ <field reporter:label="Goods Payment Detail" name="goods_payment" oils_obj:array_position="16" oils_persist:virtual="true" reporter:datatype="link"/>
</fields>
<links>
<link field="cash_payment" reltype="might_have" key="id" map="" class="mcp"/>
<link field="check_payment" reltype="might_have" key="id" map="" class="mckp"/>
<link field="work_payment" reltype="might_have" key="id" map="" class="mwp"/>
<link field="forgive_payment" reltype="might_have" key="id" map="" class="mfp"/>
+ <link field="goods_payment" reltype="might_have" key="id" map="" class="mgp"/>
<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
</links>
</class>
<field reporter:label="Voided?" name="voided" oils_obj:array_position="9" oils_persist:virtual="false" reporter:datatype="bool"/>
<field reporter:label="Work Payment Detail" name="work_payment" oils_obj:array_position="10" oils_persist:virtual="true" reporter:datatype="link"/>
<field reporter:label="Forgive Payment Detail" name="forgive_payment" oils_obj:array_position="11" oils_persist:virtual="true" reporter:datatype="link"/>
+ <field reporter:label="Goods Payment Detail" name="goods_payment" oils_obj:array_position="12" oils_persist:virtual="true" reporter:datatype="link"/>
</fields>
<links>
<link field="work_payment" reltype="might_have" key="id" map="" class="mwp"/>
<link field="forgive_payment" reltype="might_have" key="id" map="" class="mfp"/>
+ <link field="goods_payment" reltype="might_have" key="id" map="" class="mgp"/>
<link field="xact" reltype="has_a" key="id" map="" class="mbt"/>
</links>
</class>
SELECT au.id as usr,
SUM( CASE WHEN p.payment_type = 'forgive_payment' THEN p.amount ELSE 0.0 END ) as forgive_payment,
SUM( CASE WHEN p.payment_type = 'work_payment' THEN p.amount ELSE 0.0 END ) as work_payment,
- SUM( CASE WHEN p.payment_type = 'credit_payment' THEN p.amount ELSE 0.0 END ) as credit_payment
+ SUM( CASE WHEN p.payment_type = 'credit_payment' THEN p.amount ELSE 0.0 END ) as credit_payment,
+ SUM( CASE WHEN p.payment_type = 'goods_payment' THEN p.amount ELSE 0.0 END ) as goods_payment
FROM money.bnm_payment_view p
JOIN actor.usr au ON (au.id = p.accepting_usr)
WHERE p.payment_ts >= '$startdate'
AND p.payment_ts < '$enddate'::TIMESTAMPTZ + INTERVAL '1 day'
AND p.voided IS FALSE
AND au.home_ou = $lib
- AND p.payment_type IN ('credit_payment','forgive_payment','work_payment')
+ AND p.payment_type IN ('credit_payment','forgive_payment','work_payment','goods_payment')
GROUP BY 1
ORDER BY 1;
$x->forgive_payment($$r[1]);
$x->work_payment($$r[2]);
$x->credit_payment($$r[3]);
+ $x->goods_payment($$r[4]);
$client->respond($x);
}