|
@@ -10,28 +10,48 @@ import java.util.List;
|
|
|
|
|
|
public interface EquEnergyRecordDao extends BaseMapper<EquEnergyRecordDo> {
|
|
|
|
|
|
+
|
|
|
@Select("SELECT\n" +
|
|
|
- "\ta.METERID,a.OWNEDFACTORY,a.TENANTID,DATE_FORMAT( a.CBDATE, '%Y-%m-%d' ) 'CENTERDAY',\n" +
|
|
|
- " CASE WHEN a.VALUEZ IS NOT NULL AND b.a.VALUEZ IS NOT NULL THEN b.VALUEZ - a.VALUEZ ELSE 0 END 'DOSAGE' \n" +
|
|
|
+ "\ta.METERID,\n" +
|
|
|
+ "\ta.OWNEDFACTORY,\n" +
|
|
|
+ "\ta.TENANTID,\n" +
|
|
|
+ "\tDATE_FORMAT( a.CBDATE, '%Y-%m-%d' ) 'CENTERDAY',\n" +
|
|
|
+ "CASE\n" +
|
|
|
+ "\t\t\n" +
|
|
|
+ "\t\tWHEN a.VALUEZ IS NOT NULL \n" +
|
|
|
+ "\t\tAND b.a.VALUEZ IS NOT NULL THEN\n" +
|
|
|
+ "\t\tc.DBBB *(b.VALUEZ - a.VALUEZ)\t ELSE 0 \n" +
|
|
|
+ "\t\tEND 'DOSAGE' \n" +
|
|
|
"FROM\n" +
|
|
|
"\t(\n" +
|
|
|
- "\tSELECT METERID,VALUEZ,TENANTID,OWNEDFACTORY,CBDATE,\n" +
|
|
|
+ "\tSELECT\n" +
|
|
|
+ "\t\tMETERID,\n" +
|
|
|
+ "\t\tVALUEZ,\n" +
|
|
|
+ "\t\tTENANTID,\n" +
|
|
|
+ "\t\tOWNEDFACTORY,\n" +
|
|
|
+ "\t\tCBDATE,\n" +
|
|
|
"\t\tROW_NUMBER() OVER ( PARTITION BY METERID, DATE_FORMAT( CBDATE, '%Y-%m-%d' ) ORDER BY CBDATE DESC ) AS 'rank' \n" +
|
|
|
"\tFROM\n" +
|
|
|
"\t\tequ_energy_record \n" +
|
|
|
"\tWHERE\n" +
|
|
|
- "\t\tCBDATE <= #{endTime} AND CBDATE >= #{startTime} and DELETED='0' \n" +
|
|
|
+ "\t\tCBDATE <= #{endTime} AND CBDATE >= #{startTime} \n" +
|
|
|
+ "\t\tAND DELETED = '0' \n" +
|
|
|
"\t) a\n" +
|
|
|
"\tLEFT JOIN (\n" +
|
|
|
- "\tSELECT METERID,VALUEZ,CBDATE,\n" +
|
|
|
- "\tROW_NUMBER() OVER ( PARTITION BY METERID, DATE_FORMAT( CBDATE, '%Y-%m-%d' ) ORDER BY CBDATE DESC ) AS 'rank' \n" +
|
|
|
+ "\tSELECT\n" +
|
|
|
+ "\t\tMETERID,\n" +
|
|
|
+ "\t\tVALUEZ,\n" +
|
|
|
+ "\t\tCBDATE,\n" +
|
|
|
+ "\t\tROW_NUMBER() OVER ( PARTITION BY METERID, DATE_FORMAT( CBDATE, '%Y-%m-%d' ) ORDER BY CBDATE DESC ) AS 'rank' \n" +
|
|
|
"\tFROM\n" +
|
|
|
"\t\tequ_energy_record \n" +
|
|
|
"\tWHERE\n" +
|
|
|
- "\t\tCBDATE <= #{endTime} AND CBDATE >= #{startTime} AND DELETED = '0' \n" +
|
|
|
+ "\t\tCBDATE <= #{endTime} AND CBDATE >= #{startTime} \n" +
|
|
|
+ "\t\tAND DELETED = '0' \n" +
|
|
|
"\t) b ON a.METERID = b.METERID \n" +
|
|
|
"\tAND b.rank = '1' \n" +
|
|
|
"\tAND DATE_FORMAT( a.CBDATE, '%Y-%m-%d' ) = DATE_FORMAT( DATE_SUB( b.CBDATE, INTERVAL 1 DAY ), '%Y-%m-%d' ) \n" +
|
|
|
+ "\tLEFT JOIN equ_energy_meter c ON c.ID =a.METERID and c.DELETED ='0'\n" +
|
|
|
"WHERE\n" +
|
|
|
"\ta.rank = '1'")
|
|
|
List<EquEnergyMeterDosageDayDo> calRecordDataToDosageDay(@Param("startTime") String startTime,@Param("endTime") String endTime);
|