| | |
| | | import java.util.Date; |
| | | |
| | | import com.product.util.BaseUtil; |
| | | import com.product.util.UnifySQLFunction; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | fieldSetEntity.setTableName(CmnConst.PRODUCT_PROJECT_CUSTOMER); |
| | | //查询合同金额 |
| | | StringBuffer moneySql = new StringBuffer(); |
| | | moneySql.append(" SELECT IFNULL(SUM(d.money),0) money FROM ( ") |
| | | .append(" SELECT contract_amount money FROM product_project_contract_info WHERE owner = ? and uuid not in (SELECT contract_name FROM product_project_contract_change WHERE owner = ?) ") |
| | | .append(" UNION ALL ") |
| | | .append(" SELECT c.change_the_amount money FROM ( ") |
| | | .append(" SELECT a.contract_name,MAX(b.finish_time) finish_time FROM product_project_contract_change a JOIN ") |
| | | .append("product_sys_flow_task b ON a.uuid = b.record_uuid WHERE b.finish_type = 2 GROUP BY a.contract_name) ") |
| | | .append(" b ") |
| | | .append(" LEFT JOIN ") |
| | | .append(" (SELECT a.*,b.finish_time FROM product_project_contract_change a LEFT JOIN ") |
| | | .append("product_sys_flow_task b ON a.uuid = b.record_uuid) c ") |
| | | .append(" ON b.contract_name = c.contract_name ") |
| | | .append(" AND b.finish_time = c.finish_time ") |
| | | .append(" WHERE c.owner = ? ") |
| | | .append(" ) d"); |
| | | moneySql.append("\n SELECT ").append(UnifySQLFunction.ifnull("SUM(d.money)", "0")).append(" money") |
| | | .append("\nFROM ( ") |
| | | .append("\n SELECT contract_amount money ") |
| | | .append("\n FROM product_project_contract_info ") |
| | | .append("\n WHERE owner = ? and uuid not in (SELECT contract_name FROM product_project_contract_change WHERE owner = ?) ") |
| | | .append("\n UNION ALL ") |
| | | .append("\n SELECT c.change_the_amount money FROM ( ") |
| | | .append("\n SELECT a.contract_name,MAX(b.finish_time) finish_time FROM product_project_contract_change a ") |
| | | .append("\n JOIN product_sys_flow_task b ON a.uuid = b.record_uuid WHERE b.finish_type = 2 ") |
| | | .append("\n GROUP BY a.contract_name") |
| | | .append("\n )b ") |
| | | .append("\n LEFT JOIN (") |
| | | .append("\n SELECT a.*,b.finish_time FROM product_project_contract_change a ") |
| | | .append("\n LEFT JOIN product_sys_flow_task b ON a.uuid = b.record_uuid") |
| | | .append("\n ) c ON b.contract_name = c.contract_name AND b.finish_time = c.finish_time ") |
| | | .append("\n WHERE c.owner = ? ") |
| | | .append("\n) d"); |
| | | |
| | | DataTableEntity moneyDataTableEntity = baseDao.listTable(moneySql.toString(), new String[]{uuid,uuid,uuid}); |
| | | if(!BaseUtil.dataTableIsEmpty(moneyDataTableEntity)){ |