|
@@ -119,4 +119,67 @@
|
|
</if>
|
|
</if>
|
|
</where>
|
|
</where>
|
|
</select>
|
|
</select>
|
|
|
|
+
|
|
|
|
+ <select id="excel" resultType="com.zjugis.business.bean.response.ContractInvoiceExcelResponse">
|
|
|
|
+ SELECT C.NAME as invoiceCompany,U.NICKNAME AS XSRY,D.NAME as ZRBM,T3.NAME as xmlb,T2.XMBH,T2.XMMC,T1.CONTRACT_NUMBER,T1.NAME,T.PAY_COMPANY,T.INVOICE_CONTENT,T.INVOICE_AMOUNT,T.APPLY_WORKER_NAME,T.PAY_TAX_NUMBER,T.INVOICE_BZ,T.RECEIVE_BANKACCOUNT,T.ELE_INV_RECEIVE_PHONE,T.ELE_INV_RECEIVE_EMAIL,T.CUSTOMER_NAME
|
|
|
|
+ FROM CONTRACT_INVOICE T
|
|
|
|
+ LEFT JOIN CONTRACT T1 ON T1.ID=T.CONTRACT_ID
|
|
|
|
+ LEFT JOIN PROJECT T2 ON T2.ID=T.PROJECT_ID
|
|
|
|
+ LEFT JOIN PROJECT_TYPE T3 ON T3.ID = T2.PROJECT_TYPE_ID
|
|
|
|
+ LEFT JOIN ZJUGIS_OA.SYSTEM_COMPANY C ON T3.ID = T.INVOICE_COMPANY_ID
|
|
|
|
+ LEFT JOIN ZJUGIS_OA.SYSTEM_DEPT D ON D.ID = T2.ZRBM_ID
|
|
|
|
+ LEFT JOIN ZJUGIS_OA.SYSTEM_USERS U ON U.ID = T2.XSRY_ID
|
|
|
|
+ LEFT JOIN (SELECT count(1) as rc,max(RETURN_DATE) as maxd, min(RETURN_DATE) as mind,CONTRACT_INVOICE_ID,COALESCE(SUM(COALESCE(RETURN_AMOUNT,0)),0) as returnAmount FROM CONTRACT_RETURN_MONEY WHERE ISVALID = 1 GROUP BY CONTRACT_INVOICE_ID) T3 ON T3.CONTRACT_INVOICE_ID=T.ID
|
|
|
|
+ <where>
|
|
|
|
+ T.ISVALID = 1
|
|
|
|
+ <if test="params != null and params.deptId != null and params.deptId != ''">
|
|
|
|
+ AND T2.ZRBM_ID = #{params.deptId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.managerId != null and params.managerId != ''">
|
|
|
|
+ AND T1.AREA_MANAGER_ID = #{params.managerId,jdbcType=VARCHAR}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.contractId != null and params.contractId != ''">
|
|
|
|
+ AND T.CONTRACT_ID = #{params.contractId,jdbcType=VARCHAR}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.invoiceNumber != null and params.invoiceNumber != ''">
|
|
|
|
+ <bind name="invoiceNumber" value="'%'+params.invoiceNumber+'%'"/>
|
|
|
|
+ AND T.INVOICE_NUMBER like #{invoiceNumber}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.contractName != null and params.contractName != ''">
|
|
|
|
+ <bind name="contractName" value="'%'+params.contractName+'%'"/>
|
|
|
|
+ AND T1.NAME like #{contractName}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.xmmc != null and params.xmmc != ''">
|
|
|
|
+ <bind name="xmmc" value="'%'+params.xmmc+'%'"/>
|
|
|
|
+ AND T2.XMMC like #{xmmc}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.flowStatus != null">
|
|
|
|
+ AND T.FLOW_STATUS = #{params.flowStatus,jdbcType=INTEGER}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.flowStatus == null">
|
|
|
|
+ AND T.FLOW_STATUS >= 90
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.payCompanyId != null and params.payCompanyId != ''">
|
|
|
|
+ AND T.PAY_COMPANY_ID = #{params.payCompanyId,jdbcType=VARCHAR}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.invoiceOn != null">
|
|
|
|
+ AND T.INVOICE_DATE >= #{params.invoiceOn,jdbcType=DATE}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.invoiceOff != null">
|
|
|
|
+ AND T.INVOICE_DATE <= #{params.invoiceOff,jdbcType=DATE}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.returnOn != null">
|
|
|
|
+ AND T3.mind >= #{params.returnOn,jdbcType=DATE}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.returnOff != null">
|
|
|
|
+ AND T3.maxd <= #{params.returnOff,jdbcType=DATE}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="params != null and params.isReturn == 1">
|
|
|
|
+ AND T3.rc > 0
|
|
|
|
+ </if>
|
|
|
|
+ </where>
|
|
|
|
+ ORDER BY
|
|
|
|
+ T.FLOW_FINISHTIME desc nulls last,
|
|
|
|
+ APPLY_DATE DESC nulls last
|
|
|
|
+ </select>
|
|
</mapper>
|
|
</mapper>
|