标段管理-供应进程分析完成

product
chuang 2 years ago
parent e80a1605dc
commit b28ec37cc1

@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Author: WangChuang
@ -60,7 +61,7 @@ public class ContractMobileVO {
@TableField("CONTRACT_CODE")
private String contractCode;
@TableField("CONTRACT_NAME")
/*合同名称*/
private String contractName;
@TableField("CONTRACT_NO")
@ -209,4 +210,13 @@ public class ContractMobileVO {
/**倒运付款金额**/
private BigDecimal cheapPaymentAmount;
/** 已完成数量 **/
private BigDecimal doneNum;
/** 未完成数量 **/
private BigDecimal unfinishedNum;
private List<PurchaseContractMobileVO> purchaseList;
}

@ -0,0 +1,46 @@
package jnpf.contractMobile.model.contractMobile;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Author: WangChuang
* @Date: 10/3/2023 10:26
* @Description //注释:
* @Version 1.0
*/
@Data
public class PurchaseContractMobileVO {
/* h.contract_name ,
j.supplier_nm ,
h.num ,
h.amount ,
IFNULL( SUM( i.settlement ), 0 ) ,
IFNULL( h.num, 0 ) - IFNULL( SUM( i.settlement ), 0 ) */
/*合同名称*/
private String contractName;
/** 供应商名称 **/
private String supperName;
/** 合同数量 **/
@JsonProperty("num")
private BigDecimal num;
/**合同金额 **/
@TableField("AMOUNT")
private BigDecimal amount;
/** 已完成数量 **/
private BigDecimal doneNum;
/** 未完成数量 **/
private BigDecimal unfinishedNum;
}

@ -80,6 +80,26 @@
<result column="cheapCostAmount" property="cheapCostAmount"/>
<result column="cheapPurchaseAmount" property="cheapPurchaseAmount"/>
<result column="cheapPaymentAmount" property="cheapPaymentAmount"/>
<!-- 已完成-->
<result column="doneNum" property="doneNum"/>
<!--未完成-->
<result column="unfinishedNum" property="unfinishedNum"/>
<collection property="purchaseList" ofType="jnpf.contractMobile.model.contractMobile.PurchaseContractMobileVO" javaType="list">
<!--合同名称-->
<result property="contractName" column="pContractName"></result>
<!-- 供应商名称-->
<result property="supperName" column="pSupperName"></result>
<!-- 合同数量-->
<result property="num" column="pNum"></result>
<!-- 合同金额 -->
<result property="amount" column="pAmount"></result>
<!-- 已完成数量 -->
<result property="doneNum" column="pDoneNum"></result>
<!-- 未完成数量 -->
<result property="unfinishedNum" column="pUnfinishedNum"></result>
</collection>
</resultMap>
<select id="getMobileDate" resultMap="contractMobileDate">
@ -90,6 +110,8 @@
SELECT
a.*,
g.supplier_nm supperName,
IFNULL( SUM( b.settlement ), 0 ) doneNum,
IFNULL( a.num, 0 ) - IFNULL( SUM( b.settlement ), 0 ) unfinishedNum,
concat(
round( IFNULL( IFNULL( SUM( b.settlement ), 0 )/ IFNULL( a.num, 0 ) * 100, 0 ), 2 ),
'%'
@ -134,89 +156,122 @@
ROUND( IFNULL( SUM( f.settlement ), 0 ), 6 ) cheapNum,
ROUND( IFNULL( f.sales_price * IFNULL( SUM( f.settlement ), 0 ), 0 ), 6 ) cheapCostAmount,
ROUND( IFNULL( f1.sales_price * IFNULL( SUM( f1.settlement ), 0 ), 0 ), 6 ) cheapPurchaseAmount,
ROUND( IFNULL( f2.sales_price * IFNULL( SUM( f2.settlement ), 0 ), 0 ), 6 ) cheapPaymentAmount
ROUND( IFNULL( f2.sales_price * IFNULL( SUM( f2.settlement ), 0 ), 0 ), 6 ) cheapPaymentAmount,
h.contract_name pContractName,
j.supplier_name pSupperName,
h.num pNum,
h.amount pAmount,
IFNULL( SUM( i.settlement ), 0 ) pDoneNum,
IFNULL( h.num, 0 ) - IFNULL( SUM( i.settlement ), 0 ) pUnfinishedNum
FROM
jg_contract a
LEFT JOIN jg_poundlist b ON 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'
LEFT JOIN jg_poundlist b3 ON 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'
LEFT JOIN jg_poundlist b1 ON a.id = b1.sales_id
AND ( b1.sales_status != '99' OR ISNULL( b1.sales_status ) )
AND ( b1.sales_status != '0' OR ISNULL( b1.sales_status ) )
AND b1.pound_status = '0'
AND b1.is_expense = '1'
AND b1.delete_mark = '0'
LEFT JOIN jg_poundlist b2 ON 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'
LEFT JOIN jg_poundlist c ON 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'
LEFT JOIN jg_poundlist c1 ON 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'
LEFT JOIN jg_poundlist c2 ON 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'
LEFT JOIN jg_poundlist d ON 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'
LEFT JOIN jg_poundlist d1 ON 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'
LEFT JOIN jg_poundlist d2 ON 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'
LEFT JOIN jg_poundlist e ON 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'
LEFT JOIN jg_poundlist e1 ON a.id = e1.sales_id
AND e1.pound_status = '0'
AND e1.pound_type = '1'
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'
LEFT JOIN jg_poundlist e2 ON a.id = e2.sales_id
AND e2.pound_status = '0'
AND e2.pound_type = '1'
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'
LEFT JOIN jg_poundlist f ON 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' )
LEFT JOIN jg_customer g ON a.CODE = g.id
AND f.delete_mark = '0'
LEFT JOIN jg_poundlist f1 ON a.id = f1.sales_id
AND f1.pound_status = '0'
AND f1.pound_type = '1'
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'
LEFT JOIN jg_poundlist f2 ON a.id = f2.sales_id
AND f2.pound_status = '0'
AND f2.pound_type = '1'
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'
LEFT JOIN jg_customer g ON a.CODE = g.id
AND g.delete_mark = '0'
LEFT JOIN jg_contract h ON b.purchase_id = h.id
AND h.delete_mark = '0'
LEFT JOIN jg_poundlist i ON 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'
LEFT JOIN jg_supplier j ON h.CODE = j.id
AND j.delete_mark = '0'
WHERE
a.contract_type = '1'
AND a.delete_mark = '0'
GROUP BY
a.id
a.id,
h.id
) aaa ${ew.customSqlSegment}
</select>

Loading…
Cancel
Save