杜洪波
2025-09-18 22d8b68b19e35bdd2086fd047296abe440639f32
src/main/java/com/product/administration/service/CustomerInfoService.java
@@ -3,6 +3,8 @@
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;
@@ -145,20 +147,23 @@
      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)){