Perbaikan HasilPertemuan 4 Juli 2025

1 parent 5b2fc957
...@@ -208,6 +208,60 @@ class PaymentWEBR(PCBase, CommonModel): ...@@ -208,6 +208,60 @@ class PaymentWEBR(PCBase, CommonModel):
return qry return qry
class TargetJNS(PCBase, CommonModel):
__tablename__ = 'target_jenis'
__table_args__ = {'schema': 'public'}
id = Column(Integer, primary_key=True)
created = Column(Date, nullable=False)
updated = Column(Date, nullable=False)
kode = Column(String(32))
nama = Column(String(128))
status = Column(SmallInteger)
class Targets(PCBase, DefaultModel):
__tablename__ = 'targets'
__table_args__ = {'schema': 'public'}
id = Column(Integer, primary_key=True)
created = Column(Date, nullable=False)
updated = Column(Date, nullable=False)
kode = Column(String(32))
nama = Column(String(128))
tahun = Column(Integer)
jenis = Column(Integer)
t_anggaran = Column(BigInteger)
t_perubahan = Column(BigInteger)
m01 = Column(BigInteger)
m02 = Column(BigInteger)
m03 = Column(BigInteger)
m04 = Column(BigInteger)
m05 = Column(BigInteger)
m06 = Column(BigInteger)
m07 = Column(BigInteger)
m08 = Column(BigInteger)
m09 = Column(BigInteger)
m10 = Column(BigInteger)
m11 = Column(BigInteger)
m12 = Column(BigInteger)
status = Column(SmallInteger)
@classmethod
def query_from(cls, columns=None, filters=None, db_session=PCDBSession):
query = db_session.query().select_from(cls)
if columns:
for c in columns:
query = query.add_columns(c)
if filters:
filter_expressions = []
for d in filters:
field = getattr(cls, d[0])
operator = d[1]
value = d[2]
filter_expressions.append(field.op(operator)(value))
query = query.filter(
*[e for i, e in enumerate(filter_expressions) if e is not None])
return query
def get_connection(settings): def get_connection(settings):
url = 'pcpd.url' in settings and settings['pcpd.url'] and 'pcpd.' or 'sqlalchemy.' url = 'pcpd.url' in settings and settings['pcpd.url'] and 'pcpd.' or 'sqlalchemy.'
......
...@@ -2,7 +2,7 @@ kode,nama,path,status,type,is_menu,parent_id,file_name,class_name,func_name,perm ...@@ -2,7 +2,7 @@ kode,nama,path,status,type,is_menu,parent_id,file_name,class_name,func_name,perm
eis-pcpd,PCPD,/eis/pcpd,1,0,0 eis-pcpd,PCPD,/eis/pcpd,1,0,0
eis-pcpd-act,PCPD Act,/eis/pcpd/{act}/act,1,0 eis-pcpd-act,PCPD Act,/eis/pcpd/{act}/act,1,0
eis-pajak,Pajak,#,1,0,1 eis-pajak,Pajak,#,1,0,1
eis-pajak-kumulatif,Pajak,/eis/pajak,1,0,1,eis-pajak,pcpd,Views,view_pajak,,pcpd.pt eis-pajak-kumulatif,Pajak,/eis/pajak,1,0,1,eis-pajak,pcpd,Views,view_pajak,,pcpd_pajak.pt
eis-pbb,PBB,/eis/pbb,1,0,1,eis-pajak,pcpd,Views,view_pbb,eis,pbb.pt eis-pbb,PBB,/eis/pbb,1,0,1,eis-pajak,pcpd,Views,view_pbb,eis,pbb.pt
eis-bphtb,BPHTB,/eis/bphtb,1,0,1,eis-pajak,pcpd,Views,view_bphtb,eis,pcpd.pt eis-bphtb,BPHTB,/eis/bphtb,1,0,1,eis-pajak,pcpd,Views,view_bphtb,eis,pcpd.pt
eis-hotel,Hotel,/eis/hotel,1,0,1,eis-pajak,pcpd,Views,view_hotel,eis,pcpd.pt eis-hotel,Hotel,/eis/hotel,1,0,1,eis-pajak,pcpd,Views,view_hotel,eis,pcpd.pt
......
...@@ -39,6 +39,10 @@ ...@@ -39,6 +39,10 @@
<div class="chart-container"> <div class="chart-container">
<h2 class="primary"> <h2 class="primary">
<b>Rp. <h2 class="odometer sub-odometer bold primary" id="ytd">0</h2></b> <b>Rp. <h2 class="odometer sub-odometer bold primary" id="ytd">0</h2></b>
<p>
Target Rp. <span class=" bold" id="ytdTarget">123</span>
<p>
Persentase <span class="odometer sub-odometer bold primary" id="ytdPersen">
</h2> </h2>
<h3 class="primary bold"><span id="trxYtd">0</span> Transaksi</h3> <h3 class="primary bold"><span id="trxYtd">0</span> Transaksi</h3>
</div> </div>
...@@ -64,9 +68,9 @@ ...@@ -64,9 +68,9 @@
<div class="row"> <div class="row">
<div class="col-md-2"> <div class="col-md-2">
<select class="form-control rounded" id="rangeType"> <select class="form-control rounded" id="rangeType">
<option value="1">Harian</option>
<option value="2">Mingguan</option>
<option value="3">Bulanan</option> <option value="3">Bulanan</option>
<option value="2">Mingguan</option>
<option value="1">Harian</option>
</select> </select>
</div> </div>
<hr> <hr>
...@@ -178,12 +182,12 @@ ...@@ -178,12 +182,12 @@
</thead> </thead>
<tbody> <tbody>
<tr class="odd"> <tr class="odd">
<td class="">32.08-010</td> <td class=""></td>
<td class="">CIPATUJAH</td> <td class=""></td>
<td class="right">63.185</td> <td class="right">0</td>
<td class="right">1.183.837.314</td> <td class="right">0</td>
<td class="right">42.681</td> <td class="right">0</td>
<td class="right">789.492.550</td> <td class="right">0</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
...@@ -219,7 +223,7 @@ ...@@ -219,7 +223,7 @@
// canvas.height = window.innerHeight / 2; // canvas.height = window.innerHeight / 2;
console.log(window.innerHeight); console.log(window.innerHeight);
console.log($("#panelRealisasi").height()) console.log($("#panelRealisasi").height())
canvasBar.height = $("#panelRealisasi").height() + 125; // canvasBar.height = $("#panelRealisasi").height() + 125;
canvasBar.parentNode.parentNode.parentNode.style.height = $("#panelRealisasi").height() + "px"; canvasBar.parentNode.parentNode.parentNode.style.height = $("#panelRealisasi").height() + "px";
// const bar_data = { // const bar_data = {
// labels: [ // labels: [
...@@ -283,6 +287,7 @@ ...@@ -283,6 +287,7 @@
// } // }
// }, // },
// responsive: true, // responsive: true,
maintainAspectRatio: true,
plugins: { plugins: {
legend: { legend: {
display: false, display: false,
...@@ -474,6 +479,8 @@ ...@@ -474,6 +479,8 @@
trx.innerHTML = parseInt(newData.trx).toLocaleString("id-ID"); trx.innerHTML = parseInt(newData.trx).toLocaleString("id-ID");
odytd.update(newData.ytd); odytd.update(newData.ytd);
trxYtd.innerHTML = parseInt(newData.trxYtd).toLocaleString("id-ID"); trxYtd.innerHTML = parseInt(newData.trxYtd).toLocaleString("id-ID");
ytdTarget.innerHTML = parseInt(newData.ytdTarget).toLocaleString("id-ID");
ytdPersen.innerHTML = parseFloat(newData.ytdPersen).toFixed(2) + "%";
time.innerHTML = formatter.format(date);//newData.time; time.innerHTML = formatter.format(date);//newData.time;
time.style.fontWeight = 'bold'; time.style.fontWeight = 'bold';
......
...@@ -38,6 +38,10 @@ ...@@ -38,6 +38,10 @@
<div class="chart-container"> <div class="chart-container">
<h2 class="primary"> <h2 class="primary">
<b>Rp. <h2 class="odometer sub-odometer bold primary" id="ytd">0</h2></b> <b>Rp. <h2 class="odometer sub-odometer bold primary" id="ytd">0</h2></b>
<p>
Target Rp. <span class=" bold" id="ytdTarget">123</span>
<p>
Persentase <span class="odometer sub-odometer bold primary" id="ytdPersen">
</h2> </h2>
<h3 class="primary bold"><span id="trxYtd">1067</span> Transaksi</h3> <h3 class="primary bold"><span id="trxYtd">1067</span> Transaksi</h3>
</div> </div>
...@@ -63,9 +67,9 @@ ...@@ -63,9 +67,9 @@
<div class="row "> <div class="row ">
<div class="col-md-2"> <div class="col-md-2">
<select class="form-control rounded" id="rangeType"> <select class="form-control rounded" id="rangeType">
<option value="1">Harian</option>
<option value="2">Mingguan</option>
<option value="3">Bulanan</option> <option value="3">Bulanan</option>
<option value="2">Mingguan</option>
<option value="1">Harian</option>
</select> </select>
</div> </div>
<hr> <hr>
...@@ -361,22 +365,22 @@ ...@@ -361,22 +365,22 @@
trx.innerHTML = parseInt(newData.trx).toLocaleString("id-ID"); trx.innerHTML = parseInt(newData.trx).toLocaleString("id-ID");
odytd.update(newData.ytd); odytd.update(newData.ytd);
trxYtd.innerHTML = parseInt(newData.trxYtd).toLocaleString("id-ID"); trxYtd.innerHTML = parseInt(newData.trxYtd).toLocaleString("id-ID");
time.innerHTML = formatter.format(date);//newData.time; ytdTarget.innerHTML = parseInt(newData.ytdTarget).toLocaleString("id-ID");
ytdPersen.innerHTML = parseFloat(newData.ytdPersen).toFixed(2) + "%";
time.innerHTML = formatter.format(date);
time.style.fontWeight = 'bold'; time.style.fontWeight = 'bold';
// removeData(pieChart);
addData(pieChart, newData.pie); addData(pieChart, newData.pie);
trendChart(); trendChart();
} else { } else {
console.log("Request failed."); console.log("Request failed.");
} }
setTimeout(function () { setTimeout(function () {
console.log("timeout"); console.log("timeout");
$().datarefresh(); $().datarefresh();
}, 300000); }, 300000);
}).fail(function() { }).fail(function () {
setTimeout(function () { setTimeout(function () {
console.log("timeout"); console.log("timeout");
$().datarefresh(); $().datarefresh();
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!