app_mapbuilder/services/sql/prod_inj.js
2022-04-22 18:34:31 +05:00

116 lines
4.6 KiB
JavaScript

export default {
max_date(){
return `SELECT MAX(date(year||'-01-01', (month - 1)||' month')) as date FROM production_injections`
},
devobjs(){
return `SELECT distinct(object) as devobj FROM production_injections`
},
totals(devobj){
return `SELECT
wells.well, wells.whx, wells.why
,SUM(production_injections.woptm) as wopt
,SUM(production_injections.wwptm) as wwpt
,SUM(production_injections.wsgptv) as wgpt
,SUM(production_injections.wwitv) as wwit
,SUM(production_injections.days) as days
,SUM(production_injections.wwptm)+SUM(production_injections.woptm) as wlpt
,SUM(production_injections.wwptm)/(SUM(production_injections.wwptm)+SUM(production_injections.woptm)) as wlf
FROM
wells, production_injections
WHERE
wells.well=production_injections.well
AND production_injections.object='${devobj}'
GROUP BY
wells.well
ORDER BY
wlpt DESC, wwit DESC`
},
rates(devobj, date){
date = new Date(date)
const year_month = date.getFullYear()*100 + date.getMonth()
return `SELECT
wells.well, wells.whx, wells.why
,SUM(production_injections.woptm)/SUM(production_injections.days) as wopr
,SUM(production_injections.wwptm)/SUM(production_injections.days) as wwpr
,SUM(production_injections.wsgptv)/SUM(production_injections.days) as wgpr
,SUM(production_injections.wwitv)/SUM(production_injections.days) as wwir
,SUM(production_injections.days) as days
,(SUM(production_injections.wwptm)+SUM(production_injections.woptm)) / SUM(production_injections.days) as wlpr
,SUM(production_injections.wwptm)/(SUM(production_injections.wwptm)+SUM(production_injections.woptm)) as wlf
FROM
wells, production_injections
WHERE
wells.well=production_injections.well
AND production_injections.object='${devobj}'
AND (year*100+month)=${year_month}
GROUP BY
wells.well`
},
production_injection(field, devobj, date){
const f_date = date ? `AND year*1000+month=${date.getFullYear()*1000+date.getMonth()}` : ''
console.log(f_date)
return `SELECT
wells.well, wells.whx, wells.why
,SUM(production_injections.woptm) as wopt
,SUM(production_injections.wwptm) as wwpt
,SUM(production_injections.wsgptv) as wgpt
,SUM(production_injections.wwitv) as wwit
,SUM(production_injections.days) as days
,SUM(production_injections.wwptm)+SUM(production_injections.woptm) as wlpt
,SUM(production_injections.wwptm)/(SUM(production_injections.wwptm)+SUM(production_injections.woptm)) as wlf
FROM
wells, production_injections
WHERE
AND wells.well=production_injections.well
AND production_injections.object='${devobj}'
AND (year*1000+month)=${max_year_month}
GROUP BY
wells.well`
},
production_total(field, devobj){
return `SELECT
wells.well, wells.whx, wells.why
,SUM(production_injections.woptm) as wopt
,SUM(production_injections.wwptm) as wwpt
,SUM(production_injections.wsgptv) as wgpt
,SUM(production_injections.wwitv) as wwit
,SUM(production_injections.wwptm)+SUM(production_injections.woptm) as wlpt
,SUM(production_injections.wwptm)/(SUM(production_injections.wwptm)+SUM(production_injections.woptm)) as wlf
FROM
wells, production_injections
WHERE
wells.well=production_injections.well
AND object='${devobj}'
GROUP BY
wells.well`
},
injection_total(){
const query_all = `SELECT
wells.well, wells.whx, wells.why
,SUM(production_injections.woptm) as wopt
,SUM(production_injections.wwptm) as wwpt
,SUM(production_injections.wsgptv) as wgpt
,SUM(production_injections.wwitv) as wwit
,SUM(production_injections.wwptm)+SUM(production_injections.woptm) as wlpt
,SUM(production_injections.wwptm)/(SUM(production_injections.wwptm)+SUM(production_injections.woptm)) as wlf
FROM
wells, production_injections
WHERE
wells.well=production_injections.well
AND object='${devobj}'
GROUP BY
wells.well
HAVING
wwit>0
`
}
}