移动端供应进程分析

product
17602169347 1 year ago
parent 74b95db9df
commit 043d5652c2

@ -35,4 +35,6 @@ public interface ContractMobileMapper extends BaseMapper<ContractMobileEntity> {
//进行中的合同 //进行中的合同
IPage<MobileContractDetailsVO> getContractlist(Page<ContractFileEntity> page, ContractMobilePagination contractMobilePagination, QueryWrapper<ContractMobileEntity> contractMobileQueryWrapper); IPage<MobileContractDetailsVO> getContractlist(Page<ContractFileEntity> page, ContractMobilePagination contractMobilePagination, QueryWrapper<ContractMobileEntity> contractMobileQueryWrapper);
List<PurchaseContractMobileVO> getPurchaseData(@Param("id") String id);
} }

@ -30,6 +30,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -252,6 +253,16 @@ public class ContractMobileServiceImpl extends ServiceImpl<ContractMobileMapper,
Page<ContractMobileVO> page = new Page<>(1, 99); Page<ContractMobileVO> page = new Page<>(1, 99);
page.setOptimizeCountSql(false); page.setOptimizeCountSql(false);
IPage<ContractMobileVO> userIPage = contractMobileMapper.getMobileDate(page, contractMobileQueryWrapper); IPage<ContractMobileVO> userIPage = contractMobileMapper.getMobileDate(page, contractMobileQueryWrapper);
List<ContractMobileVO> list = userIPage.getRecords();
BigDecimal purNum = new BigDecimal("0");
for (ContractMobileVO contractMobileVO: list) {
List<PurchaseContractMobileVO> purchaseList = contractMobileMapper.getPurchaseData(contractMobileVO.getId());
for (PurchaseContractMobileVO purchaseContractMobileVO: purchaseList) {
purNum = purNum.add(purchaseContractMobileVO.getNum());
}
contractMobileVO.setUndistributedNum(contractMobileVO.getNum().subtract(purNum));
contractMobileVO.setPurchaseList(purchaseList);
}
// IPage<ContractMobileEntity> userIPage = this.page(page, contractMobileQueryWrapper); // IPage<ContractMobileEntity> userIPage = this.page(page, contractMobileQueryWrapper);
return userIPage.getRecords(); return userIPage.getRecords();
} }

@ -106,43 +106,7 @@
</collection> </collection>
</resultMap> </resultMap>
<select id="getMobileDate" resultMap="contractMobileDate"> <select id="getMobileDate" resultMap="contractMobileDate">
SELECT select * from (SELECT a.*,a.name supperName,a.num contractNum,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) amountDeposit,ROUND(a.salesAmount - a.tradePurchaseAmount - a.machineCostAmount - a.outsourceCostAmount - a.cheapCostAmount,6) netMargin,ROUND((
*
FROM
(
SELECT
a.*,
@doneNum :=(
SELECT
ROUND( IFNULL( SUM( CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END ), 0 ), 6 )
FROM
jg_poundlist b
WHERE
a.id = b.sales_id
AND ( b.sales_status != '99' OR ISNULL( b.sales_status ) )
AND ( b.sales_status != '0' OR ISNULL( b.sales_status ) )
AND b.pound_status = '0'
AND b.delete_mark = '0'
) doneNum,
@contractNum := (
IFNULL( a.num, 0 )) contractNum,
ROUND( @contractNum - @doneNum, 6 ) unfinishedNum,
round( IFNULL( @doneNum / @contractNum * 100, 0 ), 2 ) SCHEDULE,
(
SELECT
ROUND( IFNULL( SUM( b3.sales_price * b3.settlement ), 0 ), 6 )
FROM
jg_poundlist b3
WHERE
a.id = b3.sales_id
AND ( b3.sales_status != '99' OR ISNULL( b3.sales_status ) )
AND ( b3.sales_status != '0' OR ISNULL( b3.sales_status ) )
AND b3.pound_status = '0'
AND b3.advance = '1'
AND b3.delete_mark = '0'
) amountDeposit,
ROUND( @doneNum, 6 ) sellNum,
ROUND((
CASE CASE
WHEN timestampdiff( WHEN timestampdiff(
@ -150,317 +114,37 @@
DATE ( DATE (
NOW()), NOW()),
DATE_ADD( a.end_date, INTERVAL a.collection_cycle DAY ))> 0 THEN DATE_ADD( a.end_date, INTERVAL a.collection_cycle DAY ))> 0 THEN
0 ELSE ( @tradePaymentAmount + @machinePaymentAmount + @outsourcePaymentAmount + @cheapPaymentAmount - @collectedAmount )* IFNULL( a.overdue, 0 ) 0 ELSE ( a.tradePaymentAmount + a.machinePaymentAmount + a.outsourcePaymentAmount + a.cheapPaymentAmount - a.collectedAmount )* IFNULL( a.overdue, 0 )
END END
), ),
6 6
) overdueInterest, ) overdueInterest,a.sellNum doneNum,ROUND(a.num - a.sellNum,6) unfinishedNum from (
ROUND( @salesAmount - @tradePurchaseAmount -( @machineCostAmount + @outsourceCostAmount + @cheapCostAmount ), 6 ) netMargin, SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) cheapPurchaseAmount from (SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) cheapPaymentAmount from (
@salesAmount :=( SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) outsourcePurchaseAmount from (SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) outsourcePaymentAmount from (
SELECT SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) machinePurchaseAmount from (SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) machinePaymentAmount from (
ROUND( IFNULL( SUM( b.sales_price * b.settlement ), 0 ), 6 ) SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) tradePaymentAmount from (SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) tradeInvoiceAmount from (SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) collectedAmount from (SELECT a.*,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) invoiceAmount from (SELECT a.*,ROUND(IFNULL(SUM(CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END),0),6) cheapNum,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) cheapCostAmount
FROM from (SELECT a.*,ROUND(IFNULL(SUM(CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END),0),6) outsourceNum,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) outsourceCostAmount
jg_poundlist b from(SELECT a.*,ROUND(IFNULL(SUM(CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END),0),6) machineNum,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) machineCostAmount
WHERE from (SELECT a.*,ROUND( IFNULL( a.sellNum / a.num * 100, 0 ), 2 ) schedule,ROUND(IFNULL(SUM(CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END),0),6) purchaseNum,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) tradePurchaseAmount
a.id = b.sales_id from (SELECT a.*,ROUND(IFNULL(SUM(CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END),0),6) sellNum,ROUND(IFNULL(SUM(b.sales_price * b.settlement),0),6) salesAmount from jg_contract a
AND ( b.sales_status != '99' OR ISNULL( b.sales_status ) ) LEFT JOIN jg_poundlist b on a.id = b.sales_id
AND ( b.sales_status != '0' OR ISNULL( b.sales_status ) ) where a.delete_mark = 0 and a.contract_type = '1' and b.pound_status = 0 and b.sales_status in ('1', '2', '3', '4') and b.delete_mark = 0 GROUP BY a.id) a
AND b.pound_status = '0' LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '0' and purchase_status in ('2', '3') and delete_mark = 0) b on a.id = b.sales_id GROUP BY a.id) a
AND b.delete_mark = '0' LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '1' and purchase_status in ('2', '3') and delete_mark = 0) b on a.id = b.sales_id GROUP BY a.id) a
) salesAmount, LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '2' and purchase_status in ('2', '3') and delete_mark = 0) b on a.id = b.sales_id GROUP BY a.id) a
( LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '3' and purchase_status in ('2', '3') and delete_mark = 0) b on a.id = b.sales_id GROUP BY a.id) a
SELECT LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and sales_status in ('1', '2', '3', '4') and delete_mark = 0 and is_expense = 1) b on a.id = b.sales_id GROUP BY a.id) a
ROUND( IFNULL( SUM( b1.sales_price * b1.settlement ), 0 ), 6 ) LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and sales_status in ('1', '2', '3', '4') and delete_mark = 0 and is_collection = 1) b on a.id = b.sales_id GROUP BY a.id) a
FROM LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '0' and purchase_status in ('2', '3') and delete_mark = 0 and is_Invoicing = 1) b on a.id = b.sales_id GROUP BY a.id) a
jg_poundlist b1 LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '0' and purchase_status in ('2', '3') and delete_mark = 0 and is_pay = 1) b on a.id = b.sales_id GROUP BY a.id) a
WHERE LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '1' and purchase_status in ('2', '3') and delete_mark = 0 and is_Invoicing = 1) b on a.id = b.sales_id GROUP BY a.id) a
a.id = b1.sales_id LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '1' and purchase_status in ('2', '3') and delete_mark = 0 and is_pay = 1) b on a.id = b.sales_id GROUP BY a.id) a
AND ( b1.sales_status != '99' OR ISNULL( b1.sales_status ) ) LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '2' and purchase_status in ('2', '3') and delete_mark = 0 and is_Invoicing = 1) b on a.id = b.sales_id GROUP BY a.id) a
AND ( b1.sales_status != '0' OR ISNULL( b1.sales_status ) ) LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '2' and purchase_status in ('2', '3') and delete_mark = 0 and is_pay = 1) b on a.id = b.sales_id GROUP BY a.id) a
AND b1.pound_status = '0' LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '3' and purchase_status in ('2', '3') and delete_mark = 0 and is_Invoicing = 1) b on a.id = b.sales_id GROUP BY a.id) a
AND b1.is_expense = '1' LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and pound_type= '3' and purchase_status in ('2', '3') and delete_mark = 0 and is_pay = 1) b on a.id = b.sales_id GROUP BY a.id) a
AND b1.delete_mark = '0' LEFT JOIN (SELECT sales_id,settlement,unit,sales_price FROM jg_poundlist where pound_status = 0 and sales_status in ('1', '2', '3', '4') and delete_mark = 0 and advance = 1) b on a.id = b.sales_id GROUP BY a.id) aaa ${ew.customSqlSegment}
) invoiceAmount,
@collectedAmount :=(
SELECT
ROUND( IFNULL( SUM( b2.sales_price * b2.settlement ), 0 ), 6 )
FROM
jg_poundlist b2
WHERE
a.id = b2.sales_id
AND ( b2.sales_status != '99' OR ISNULL( b2.sales_status ) )
AND ( b2.sales_status != '0' OR ISNULL( b2.sales_status ) )
AND b2.pound_status = '0'
AND b2.is_collection = '1'
AND b2.delete_mark = '0'
) collectedAmount,
(
SELECT
ROUND( IFNULL( SUM( CASE c.unit WHEN 0 THEN c.settlement ELSE c.settlement / 1000 END ), 0 ), 6 )
FROM
jg_poundlist c
WHERE
a.id = c.sales_id
AND c.pound_status = '0'
AND c.pound_type = '0'
AND ( c.purchase_status = '2' OR c.purchase_status = '3' )
AND c.delete_mark = '0'
) purchaseNum,
@tradePurchaseAmount :=(
SELECT
ROUND( IFNULL( SUM( c.purchase_price * c.settlement ), 0 ), 6 )
FROM
jg_poundlist c
WHERE
a.id = c.sales_id
AND c.pound_status = '0'
AND c.pound_type = '0'
AND ( c.purchase_status = '2' OR c.purchase_status = '3' )) tradePurchaseAmount,
(
SELECT
ROUND( IFNULL( SUM( c1.purchase_price * c1.settlement ), 0 ), 6 )
FROM
jg_poundlist c1
WHERE
a.id = c1.sales_id
AND c1.pound_status = '0'
AND c1.pound_type = '0'
AND ( c1.purchase_status = '2' OR c1.purchase_status = '3' )
AND c1.is_Invoicing = '1'
AND c1.delete_mark = '0'
) tradeInvoiceAmount,
@tradePaymentAmount :=(
SELECT
ROUND( IFNULL( SUM( c2.purchase_price * c2.settlement ), 0 ), 6 )
FROM
jg_poundlist c2
WHERE
a.id = c2.sales_id
AND c2.pound_status = '0'
AND c2.pound_type = '0'
AND ( c2.purchase_status = '2' OR c2.purchase_status = '3' )
AND c2.is_pay = '1'
AND c2.delete_mark = '0'
) tradePaymentAmount,
(
SELECT
ROUND( IFNULL( SUM( CASE d.unit WHEN 0 THEN d.settlement ELSE d.settlement / 1000 END ), 0 ), 6 )
FROM
jg_poundlist d
WHERE
a.id = d.sales_id
AND d.pound_status = '0'
AND d.pound_type = '1'
AND ( d.purchase_status = '2' OR d.purchase_status = '3' )
AND d.delete_mark = '0'
) machineNum,
@machineCostAmount :=(
SELECT
ROUND( IFNULL( SUM( d.purchase_price * d.settlement ), 0 ), 6 )
FROM
jg_poundlist d
WHERE
a.id = d.sales_id
AND d.pound_status = '0'
AND d.pound_type = '1'
AND ( d.purchase_status = '2' OR d.purchase_status = '3' )
AND d.delete_mark = '0'
) machineCostAmount,
(
SELECT
ROUND( IFNULL( SUM( d1.purchase_price * d1.settlement ), 0 ), 6 )
FROM
jg_poundlist d1
WHERE
a.id = d1.sales_id
AND d1.pound_status = '0'
AND d1.pound_type = '1'
AND ( d1.purchase_status = '2' OR d1.purchase_status = '3' )
AND d1.is_Invoicing = '1'
AND d1.delete_mark = '0'
) machinePurchaseAmount,
@machinePaymentAmount :=(
SELECT
ROUND( IFNULL( SUM( d2.purchase_price * d2.settlement ), 0 ), 6 )
FROM
jg_poundlist d2
WHERE
a.id = d2.sales_id
AND d2.pound_status = '0'
AND d2.pound_type = '1'
AND ( d2.purchase_status = '2' OR d2.purchase_status = '3' )
AND d2.is_pay = '1'
AND d2.delete_mark = '0'
) machinePaymentAmount,
(
SELECT
ROUND( IFNULL( SUM( CASE e.unit WHEN 0 THEN e.settlement ELSE e.settlement / 1000 END ), 0 ), 6 )
FROM
jg_poundlist e
WHERE
a.id = e.sales_id
AND e.pound_status = '0'
AND e.pound_type = '2'
AND ( e.purchase_status = '2' OR e.purchase_status = '3' )
AND e.delete_mark = '0'
) outsourceNum,
@outsourceCostAmount :=(
SELECT
ROUND( IFNULL( SUM( e.purchase_price * e.settlement ), 0 ), 6 )
FROM
jg_poundlist e
WHERE
a.id = e.sales_id
AND e.pound_status = '0'
AND e.pound_type = '2'
AND ( e.purchase_status = '2' OR e.purchase_status = '3' )
AND e.delete_mark = '0'
) outsourceCostAmount,
(
SELECT
ROUND( IFNULL( SUM( e1.purchase_price * e1.settlement ), 0 ), 6 )
FROM
jg_poundlist e1
WHERE
a.id = e1.sales_id
AND e1.pound_status = '0'
AND e1.pound_type = '2'
AND ( e1.purchase_status = '2' OR e1.purchase_status = '3' )
AND e1.is_Invoicing = '1'
AND e1.delete_mark = '0'
) outsourcePurchaseAmount,
@outsourcePaymentAmount :=(
SELECT
ROUND( IFNULL( SUM( e2.purchase_price * e2.settlement ), 0 ), 6 )
FROM
jg_poundlist e2
WHERE
a.id = e2.sales_id
AND e2.pound_status = '0'
AND e2.pound_type = '2'
AND ( e2.purchase_status = '2' OR e2.purchase_status = '3' )
AND e2.is_pay = '1'
AND e2.delete_mark = '0'
) outsourcePaymentAmount,
(
SELECT
ROUND( IFNULL( SUM( CASE f.unit WHEN 0 THEN f.settlement ELSE f.settlement / 1000 END ), 0 ), 6 )
FROM
jg_poundlist f
WHERE
a.id = f.sales_id
AND f.pound_status = '0'
AND f.pound_type = '3'
AND ( f.purchase_status = '2' OR f.purchase_status = '3' )
AND f.delete_mark = '0'
) cheapNum,
@cheapCostAmount :=(
SELECT
ROUND( IFNULL( SUM( f.purchase_price * f.settlement ), 0 ), 6 )
FROM
jg_poundlist f
WHERE
a.id = f.sales_id
AND f.pound_status = '0'
AND f.pound_type = '3'
AND ( f.purchase_status = '2' OR f.purchase_status = '3' )
AND f.delete_mark = '0'
) cheapCostAmount,
(
SELECT
ROUND( IFNULL( SUM( f1.purchase_price * f1.settlement ), 0 ), 6 )
FROM
jg_poundlist f1
WHERE
a.id = f1.sales_id
AND f1.pound_status = '0'
AND f1.pound_type = '3'
AND ( f1.purchase_status = '2' OR f1.purchase_status = '3' )
AND f1.is_Invoicing = '1'
AND f1.delete_mark = '0'
) cheapPurchaseAmount,
@cheapPaymentAmount :=(
SELECT
ROUND( IFNULL( SUM( f2.purchase_price * f2.settlement ), 0 ), 6 )
FROM
jg_poundlist f2
WHERE
a.id = f2.sales_id
AND f2.pound_status = '0'
AND f2.pound_type = '3'
AND ( f2.purchase_status = '2' OR f2.purchase_status = '3' )
AND f2.is_pay = '1'
AND f2.delete_mark = '0'
) cheapPaymentAmount,
( SELECT g.supplier_nm FROM jg_customer g WHERE a.CODE = g.id AND g.delete_mark = '0' ) supperName,
pur.pContractName,
pur.pSupperName,
pur.pNum,
pur.pAmount,
pur.pDoneNum,
pur.pUnfinishedNum,
pur.doneSchedule,
ROUND(
@doneNum - IFNULL((
SELECT
SUM( h.num )
FROM
jg_poundlist b
LEFT JOIN jg_contract h ON b.purchase_id = h.id
AND h.delete_mark = '0'
WHERE
( b.sales_status != '99' OR ISNULL( b.sales_status ) )
AND ( b.sales_status != '0' OR ISNULL( b.sales_status ) )
AND b.pound_status = '0'
AND a.id = b.sales_id
),
0
),
6
) undistributedNum
FROM
jg_contract a
LEFT JOIN (
SELECT
b.sales_id id,
h.contract_name pContractName,
j.supplier_name pSupperName,
h.num pNum,
h.amount pAmount,
@pDoneNum := (
SELECT
IFNULL( SUM( CASE i.unit WHEN 0 THEN i.settlement ELSE i.settlement / 1000 END ), 0 )
FROM
jg_poundlist i
WHERE
h.id = i.purchase_id
AND ( i.purchase_status = '2' OR i.purchase_status = '3' )
AND i.pound_status = '0'
AND i.delete_mark = '0'
) pDoneNum,
ROUND( IFNULL(( @pDoneNum / h.num )* 100, 0 ), 2 ) doneSchedule,
(
SELECT
IFNULL ( h.num, 0 ) - IFNULL( SUM( CASE i.unit WHEN 0 THEN i.settlement ELSE i.settlement / 1000 END ), 0 )
FROM
jg_poundlist i
WHERE
h.id = i.purchase_id
AND ( i.purchase_status = '2' OR i.purchase_status = '3' )
AND i.pound_status = '0'
AND i.delete_mark = '0'
) pUnfinishedNum
FROM
jg_poundlist b
LEFT JOIN jg_contract h ON b.purchase_id = h.id
AND h.delete_mark = '0'
LEFT JOIN jg_supplier j ON h.CODE = j.id
AND j.delete_mark = '0'
GROUP BY b.sales_id
) pur ON a.id = pur.id
WHERE
a.delete_mark = '0'
) aaa ${ew.customSqlSegment}
</select> </select>
<!-- <select id="getMobileDatee" resultMap="contractMobileDate">--> <!-- <select id="getMobileDatee" resultMap="contractMobileDate">-->
@ -939,6 +623,14 @@
) aaa ) aaa
</select> </select>
<select id="getPurchaseData" resultType="jnpf.contractMobile.model.contractMobile.PurchaseContractMobileVO">
SELECT a.*,ROUND(a.num - a.doneNum,6) unfinishedNum,ROUND( IFNULL( a.doneNum / a.num * 100, 0 ), 2 ) doneSchedule from (SELECT a.id,a.contract_name contractName,a.name supperName,a.num num,a.amount amount,ROUND(IFNULL(SUM(CASE b.unit WHEN 0 THEN b.settlement ELSE b.settlement / 1000 END),0),6) doneNum
from jg_contract a LEFT JOIN
(SELECT purchase_id,settlement,unit FROM jg_poundlist where pound_status = 0 and purchase_status in ('2', '3') and delete_mark = 0) b on a.id = b.purchase_id
where a.id in (SELECT DISTINCT purchase_id from jg_poundlist where sales_id = #{id} and pound_status = 0 and delete_mark = 0)
GROUP BY a.id) a
</select>
<resultMap id="getContractlistMap" type="jnpf.contractMobile.model.contractMobile.MobileContractDetailsVO"> <resultMap id="getContractlistMap" type="jnpf.contractMobile.model.contractMobile.MobileContractDetailsVO">
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="contractCode" column="contract_code"/> <result property="contractCode" column="contract_code"/>

Loading…
Cancel
Save