}
public function getList($monthdate,$debit=false){
- $sql="select bs.id,m.id_member,unaccent(UPPER(m.firstname)) as firstname,unaccent(UPPER(m.lastname)) as lastname,CONCAT(coalesce(unaccent(UPPER(m.lastname)),null),' ',coalesce(unaccent(UPPER(m.firstname)),'')) as membername,mc.date_month,bs.account,bs.bank,bs.statement_number,bs.transaction_amount,bs.value_date,bs.transaction_motivation,bs.transaction_label,bs.transaction_type,bs.client_reference,bs.counterparty_name,bs.counterparty_account,bs.filename
+ $sql="select * from (
+select bs.id,mc.id_member,mc.membername,mc.date_month,bs.account,bs.bank,bs.statement_number,bs.transaction_amount,bs.value_date,bs.transaction_motivation,bs.transaction_label,bs.transaction_type,bs.client_reference,bs.counterparty_name,bs.counterparty_account,bs.filename
from bank_statements bs
- left join members m on (m.ID_member=bs.id_member)
- left join members_cotisation mc on (mc.id=bs.id_members_cotisation)
- where bs.value_date between date(".$this->dbh->value($monthdate).") and LAST_DAY(".$this->dbh->value($monthdate).") ".(($debit==true)?"":" AND bs.transaction_amount > 0.00 ")." order by bs.value_date,bs.statement_number;";
- // $sql ="SELECT mc.id, mc.id_member, mc.date_month, mc.date_transaction, mc.status, mc.sepa_file_out, mc.transaction_file_in, mc.transaction_id, mc.last_sepa_code, mc.amount, mc.paymenttype, mc.created, mc.modified,
-// FROM members_cotisation mc join members m on (m.ID_member=mc.id_member) where mc.date_month = date(".$this->dbh->value($monthdate).");";
+ join (select mc1.id,mc1.id_bank_statement,mc1.date_month,mc1.id_member,CONCAT(unaccent(UPPER(coalesce(m1.lastname,''))),' ',unaccent(UPPER(coalesce(m1.firstname,'')))) as membername
+from members_cotisation mc1 join members m1 on (mc1.id_member=m1.ID_member) where mc1.id_bank_statement is not null) mc on (bs.id=mc.id_bank_statement)
+ where bs.value_date between date(".$this->dbh->value($monthdate).") and LAST_DAY(".$this->dbh->value($monthdate).")
+union
+select bs.id, null id_member, null as membername, null as date_month,bs.account,bs.bank,bs.statement_number,bs.transaction_amount,bs.value_date,bs.transaction_motivation,bs.transaction_label,bs.transaction_type,bs.client_reference,bs.counterparty_name,bs.counterparty_account,bs.filename
+from bank_statements bs where bs.value_date between date(".$this->dbh->value($monthdate).") and LAST_DAY(".$this->dbh->value($monthdate).") and bs.id not in (select id_bank_statement from members_cotisation where id_bank_statement is not null)) aa ".(($debit==true)?"":" WHERE transaction_amount > 0.00 ")." order by value_date,statement_number";
+
return $this->dbh->queryarray($sql);
}
+ public function getCotisationLinks($idstatement){
+ $sql = "select mc1.id,mc1.id_bank_statement,mc1.date_month,mc1.id_member,CONCAT(unaccent(UPPER(coalesce(m1.lastname,''))),' ',unaccent(UPPER(coalesce(m1.firstname,'')))) as membername, mc1.amount,mc1.payed_amount
+from members_cotisation mc1 join members m1 on (mc1.id_member=m1.ID_member) where mc1.id_bank_statement=".$this->dbh->value($idstatement).";";
+return $this->dbh->queryarray($sql);
+ }
+
public function getRowData($id){
$sql = "SELECT * FROM bank_statements where id=".$this->dbh->value($id).";";
return $this->dbh->query($sql);
return $this->dbh->queryarray($sql);
}
+ public function getUnpaidVirList($idmember){
+ if ($idmember == null){ return array();}
+ $sql = "select mc.id, DATE_FORMAT(mc.date_month,'%m/%Y') as dspdatemonth, mc.id_member,mc.date_month,mc.status from members_cotisation mc where mc.paymenttype ='VIR'
+and (mc.status != 'payed' or mc.status is null) and mc.id_member=".$this->dbh->value($idmember)." order by date_month DESC;";
+ return $this->dbh->queryarray($sql);
+ }
+
public function getRowData($id){
$sql = "SELECT id, id_member, date_month,DATE_FORMAT(date_month,'%m/%Y') as dspdate_month, date_transaction, status, sepa_file_out, transaction_file_in, transaction_id, last_sepa_code, amount, paymenttype, created, modified FROM members_cotisation where id=".$this->dbh->value($id).";";
return $this->dbh->query($sql);
return $this->dbh->queryarray($sql);\r
}\r
\r
+ public function getVirList(){\r
+ $sql = "select ID_member,CONCAT(unaccent(UPPER(coalesce(m.lastname,''))),' ',unaccent(UPPER(coalesce(m.firstname,''))),' (',m.ID_member,')') as membername from members m where m.daterelease is null and m.deleted is null and m.id_famillycommon is null and sepasigned != '1' order by membername ASC;";\r
+ return $this->dbh->queryarray($sql);\r
+ }\r
+\r
public function getFamillyCommonList(){\r
$sql= "SELECT ID_member as id, CONCAT(coalesce(unaccent(UPPER(lastname)),''),' ',coalesce(unaccent(UPPER(firstname)),''),' (',ID_member,')') as description\r
FROM members WHERE daterelease is null and ID_famillycommon is null order by lastname ASC,firstname ASC;";\r
<?php
-$cfg["version"]="0.24.0";
+$cfg["version"]="0.25.1";
if ($cfg["debug"] == "1"){
$cfg["version"] =date('YmdHis');
}
if ($cres["amount"] != null){
$setamount= "amount='".$r["transaction_amount"]."',";
}
- $updsql= "update members_cotisation set payed_amount='".$r["transaction_amount"]."',".$setamount."paymenttype='VIR',status='payed',date_transaction=date('".$r["value_date"]."'),transaction_file_in='".$r["filename"]."',transaction_id='".$r["transaction_label"]."' where id=".$cres["id"].";";
- $updsql2= "update bank_statements set id_member=".$cres["id_member"].",id_members_cotisation=".$cres["id"]." WHERE id=".$r["id"].";";
+ $updsql= "update members_cotisation set payed_amount='".$r["transaction_amount"]."',".$setamount."paymenttype='VIR',status='payed',date_transaction=date('".$r["value_date"]."'),transaction_file_in='".$r["filename"]."',transaction_id='".$r["transaction_label"]."',id_bank_statement='".$r["id"]."' where id=".$cres["id"].";";
+ // $updsql2= "update bank_statements set id_member=".$cres["id_member"].",id_members_cotisation=".$cres["id"]." WHERE id=".$r["id"].";";
$db->exec($updsql);
$db->exec($updsql2);
} else {
- $inssql = "INSERT INTO members_cotisation (id_member, date_month, date_transaction, status, transaction_file_in, transaction_id, amount, paymenttype, payed_amount) VALUES (".$res[0]["ID_member"].", date('".substr($r["value_date"],0,8)."-01'), date('".$r["value_date"]."), 'payed', '".$r["filename"]."', '".$r["transaction_label"]."', '".$res[0]["quota"]."', 'VIR', '".$r["transaction_amount"]."');";
+ $inssql = "INSERT INTO members_cotisation (id_member, date_month, date_transaction, status, transaction_file_in, transaction_id, amount, paymenttype, payed_amount,id_bank_statement) VALUES (".$res[0]["ID_member"].", date('".substr($r["value_date"],0,8)."-01'), date('".$r["value_date"]."), 'payed', '".$r["filename"]."', '".$r["transaction_label"]."', '".$res[0]["quota"]."', 'VIR', '".$r["transaction_amount"]."','".$r["id"]."');";
$db->exec($inssql);
- $sqlget= "select id,id_member from members_cotisation where date_month=date('".substr($r["value_date"],0,8)."-01') and id_member='".$res[0]["ID_member"]."';";
- $sres = $db->query($sqlget);
- $updsql2= "update bank_statements set id_member=".$sres["id_member"].",id_members_cotisation=".$sres["id"]." WHERE id=".$r["id"].";";
+ // $sqlget= "select id,id_member from members_cotisation where date_month=date('".substr($r["value_date"],0,8)."-01') and id_member='".$res[0]["ID_member"]."';";
+ // $sres = $db->query($sqlget);
+ // $updsql2= "update bank_statements set id_member=".$sres["id_member"].",id_members_cotisation=".$sres["id"]." WHERE id=".$r["id"].";";
$db->exec($updsql2);
}
}
<script type="text/javascript" src="<?php echo $cfg["abspath"]; ?>vendor/xlsx/xlsx.full.min.js?v=<?php echo $cfg["version"]; ?>"></script>
<script type="text/javascript" src="<?php echo $cfg["abspath"]; ?>vendor/slimselect/slimselect.min.js?v=<?php echo $cfg["version"]; ?>"></script>
<script type="text/javascript" src="<?php echo $cfg["abspath"]; ?>vendor/flatpickr/flatpickr.min.js?v=<?php echo $cfg["version"]; ?>"></script>
+<script type="text/javascript" src="<?php echo $cfg["abspath"]; ?>vendor/flatpickr/plugins/monthSelect/index.js?v=<?php echo $cfg["version"]; ?>"></script>
<script type="text/javascript" src="<?php echo $cfg["abspath"]; ?>vendor/flatpickr/l10n/de.js?v=<?php echo $cfg["version"]; ?>"></script>
<script type="text/javascript" src="<?php echo $cfg["abspath"]; ?>vendor/tinymce/tinymce.min.js?v=<?php echo $cfg["version"]; ?>"></script>
<script type="text/javascript" src="<?php echo $cfg["abspath"]; ?>vendor/marked/marked.min.js?v=<?php echo $cfg["version"]; ?>"></script>
</header>
<div class="container">
- <form id="frm_banktransaction">
+ <form id="frm_banktransaction" style="margin-bottom: 6px;">
<?php
- $dateopts=null;
- // $typeopts = array(
- // array("value" => "VIR","text" => "VIR"),
- // array("value" => "SEPA","text" => "SEPA")
- // );
- // $statusopts = array(
- // array("value" => "","text" => ""),
- // array("value" => "exported","text" => "exporté"),
- // array("value" => "sended","text" => "envoyé"),
- // array("value" => "payed","text" => "payé"),
- // array("value" => "error","text" => "erreur")
- // );
-// id
-// id_member
-// id_members_cotisation
-// filename
-// account
-// bank
-// statement_number
-// value_date
-// transaction_amount
-// transaction_currency
-// transaction_label
-// transaction_type
-// client_reference
-// counterparty_name
-// counterparty_account
-// counterparty_data
-// transaction_motivation
-
- // $frm->hidden("bank_statements","id");
- // $frm->hidden("bank_statements","id_member");
- // $frm->hidden("bank_statements","id_member_cotisation");
- // $frm->hidden("bank_statements","value_date");
- // $frm->input("bank_statements","dspdate_month","Mois","text",(object) array("readonly" => "1","containerClass" => "s2"));
- // $frm->input("bank_statements","date_transaction","Date Traitement","date",null);
- // $frm->select("bank_statements","status","Status",(object) array("data" => $statusopts,"containerClass" => "s2"));
- // $frm->input("bank_statements","amount","montant","number",(object) array("containerClass" => "s2"));
- // $frm->select("bank_statements","paymenttype","Type Payement",(object) array("data" => $typeopts,"containerClass" => "s2"));
- // $frm->input("bank_statements","last_sepa_code","Code Sepa","text",(object) array("readonly" => "1","containerClass" => "s2"));
- // $frm->input("bank_statements","sepa_file_out","Fichier SEPA Export","text",(object) array("readonly" => "1","containerClass" => "s6"));
- // $frm->input("bank_statements","transaction_file_in","Fichier SEPA Import","text",(object) array("readonly" => "1","containerClass" => "s6"));
- // $frm->input("bank_statements","transaction_id","Id Transaction","text",(object) array("readonly" => "1","containerClass" => "s6"));
+ $frm->hidden("bank_statements","id");
+ ?><div class="row"><?php
+ $frm->input("bank_statements","account","Compte bancaire","text",(object) array("readonly" => "1","containerClass" => "s6"));
+ $frm->input("bank_statements","bank","Banque","text",(object) array("readonly" => "1","containerClass" => "s6"));
+ ?></div><div class="row"><?php
+ $frm->input("bank_statements","value_date","Date","text",(object) array("readonly" => "1","containerClass" => "s3"));
+ $frm->input("bank_statements","statement_number","Extrait No","text",(object) array("readonly" => "1","containerClass" => "s1"));
+ $frm->input("bank_statements","transaction_amount","Montant","text",(object) array("readonly" => "1","containerClass" => "s2"));
+ $frm->input("bank_statements","filename","Fichier import","text",(object) array("readonly" => "1","containerClass" => "s6"));
+ ?></div><div class="row"><?php
+ $frm->input("bank_statements","counterparty_name","Nom Contrepartie","text",(object) array("readonly" => "1","containerClass" => "s12"));
+ $frm->input("bank_statements","transaction_motivation","Message","text",(object) array("readonly" => "1","containerClass" => "s12"));
+ ?></div>
+ </form>
+ <div class="row">
+ <form id="frm_cotisation_link" style="margin-bottom: 2px;">
+ <div class="bar" style="background-color: var(--color-btn1);color: #fff;padding: 4px !important; "><div class="bar-item">Lien Cotisation</div></div>
+ <div class="bar"><?php
+ $frm->select("cotisation_link","id_member","Cotisation du membre",(object) array("onblur" => "","containerId" => "","containerClass" => "bar-item s6"));
+ // $frm->select("cotisatin_link","id_members_cotisation","Cotisation pour le mois",(object) array("onblur" => "","containerId" => "","containerClass" => "s6"));
+ $frm->input("cotisation_link","date_month","Date","date",(object) array("containerClass" => "bar-item s3"));
+ $frm->input("cotisation_link","amount","montant","number",(object) array("containerClass" => "bar-item s3"));
+
+ ?>
+ <div style="padding-top: 10px;">
+
+ <button class="bar-itembutton toolbarbtn" onclick="bankaccounts.addCotisationLink();"><span class="icon icon-plus"></span>ajouter</button>
+ </div>
+ </div>
+ </form>
+ </div>
+ <div id="tbl_cotisationlink"></div>
+ <?php
?>
- </form>
+
</div>
<footer class="container right-align padding-16">
- <button class="button theme light margin-right border" onclick="document.getElementById('dlg_bank_statements').style.display='none'; return false;"><?php echo $lbl["cancel"]; ?></button>
- <button class="button toolbarbtn margin-right border"
- id="dlg_bank_statements_btnok" onclick="document.getElementById('dlg_bank_statements').style.display='none';"><?php echo $lbl["save"]; ?></button>
+ <button class="button theme light margin-right border" onclick="document.getElementById('dlg_bank_statements').style.display='none'; return false;">Fermer</button>
+ <!-- <button class="button toolbarbtn margin-right border"
+ id="dlg_bank_statements_btnok" onclick="document.getElementById('dlg_bank_statements').style.display='none';"><?php echo $lbl["save"]; ?></button> -->
</footer>
</div>
</div>
\ No newline at end of file
-let bankaccounts={tbl:null,tblmonths:null,selects:{},debit:!0,filters:{status:{"":""}},init:function(){bankaccounts.tblmonths=new Tabulator("#tbl_months",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 65px)",layout:"fitDataStretch",selectable:1,columns:[{title:"Mois",field:"id",width:100,hozAlign:"center",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Balance",field:"balance",width:80,headerFilter:!1,headerSort:!1,hozAlign:"right",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:".",symbol:"€",symbolAfter:"p",negativeSign:"-",precision:2}}]}),bankaccounts.tblmonths.on("rowClick",(function(e,row){console.log("Show Month Data!"),bankaccounts.gettblData()})),bankaccounts.tbl=new Tabulator("#tbl_bankaccounts",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 120px)",layout:"fitDataFill",selectable:!0,selectableRangeMode:"click",rowContextMenu:[{label:'<span class="rowicon icon-edit"></span>éditer',action:function(e,row){return bankaccounts.edit(),!1}}],columns:[{title:"#",formatter:"rownum",headerFilter:null,headerMenu:tablehelper.headerMenu},{title:"Banque",field:"bank",width:200},{title:"account",field:"bank",width:200,visible:!1},{title:"membre",field:"membername",width:200},{title:"Mois",field:"date_month",visible:!1,formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Date",field:"value_date",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"dd/MM/yyyy",invalidPlaceholder:""}},{title:"Extrait",field:"statement_number"},{title:"Montant",field:"transaction_amount",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:".",symbol:"€",symbolAfter:"p",negativeSign:"-",precision:2},bottomCalc:tablehelper.totalAmount},{title:"Message",field:"transaction_motivation"},{title:"ID Transaction",field:"transaction_label",visible:!1},{title:"Type",field:"transaction_type",visible:!1},{title:"Ref Client",field:"client_reference",visible:!1},{title:"Nom contrepartie",field:"counterparty_name"},{title:"Compte contrepartie",field:"counterparty_account",visible:!1}]}),bankaccounts.tbl.on("rowDblClick",(function(e,row){bankaccounts.edit()}))},load:function(){bankaccounts.gettblmonths(),myapp.viewpanel("bankaccounts")},gettblmonths:function(){let sel=null;bankaccounts.tblmonths.initialized&&(sel=bankaccounts.tblmonths.getSelectedData()),postData({cl:"Bankaccounts",fn:"getMonthList",debit:bankaccounts.debit}).then(data=>{bankaccounts.tblmonths.setData(data.result.data).then(data=>{})}).catch(e=>{console.log(e)})},gettblData:function(){let sel=null;bankaccounts.tblmonths.initialized&&(sel=bankaccounts.tblmonths.getSelectedData()),console.log("Bankaccounts",sel),sel&&sel[0]&&postData({cl:"Bankaccounts",fn:"getList",monthdate:sel[0].id,debit:bankaccounts.debit}).then(data=>{bankaccounts.tbl.setData(data.result.data).then(data=>{})}).catch(e=>{console.log(e)})},edit:function(){let sel=null;bankaccounts.tbl&&(sel=bankaccounts.tbl.getSelectedData()),document.getElementById("dlg_bank_statements_btnok").setAttribute("onclick","bankaccounts.save();"),sel[0]&&postData({cl:"Bankaccounts",fn:"getRowData",id:sel[0].id}).then(data=>{dataform.fillform("bank_statements",this.selects,data.result.data),myapp.viewdialog("bank_statements")})},save(){},importCSV(){myapp.upload("Import fichier CSV/TXT","","importer","annuler","bankaccounts.importFile();","text/plain")},getProcessInfo(logfile){postData({cl:"WorkerProcess",fn:"getLastWorkerInfo",logfile:logfile}).then(data=>{data.result.data.info&&"error"!=data.result.data.status?(myapp.setDataloadText(data.result.data.info),data.result.data.info.startsWith("End: ")&&(progressinfo.stopGetInfo(),logfile.endsWith("importcsv.log")&&!data.result.data.info.startsWith("End: Erreur:")&&myapp.message("Succès",data.result.data.success+" données importées!"),logfile.endsWith("parsestatements.log")&&!data.result.data.info.startsWith("End: Erreur:")&&bankaccounts.gettblData())):"error"==data.result.data.status&&(myapp.setDataloadText(data.result.data.error),progressinfo.stopGetInfo())}).catch(e=>{myapp.setDataloadText("ne peux pas avoir d'info sur le progrès!")})},importFile(){myapp.openDataload("Import données","Attendez svp! Import Fichier encours!"),postFile(document.getElementById("dlg_uploadfile_files"),{folder:"importstatement"}).then(data=>{data.file?postData({cl:"Bankaccounts",fn:"startImport",file:data.file}).then(data=>{progressinfo.startGetInfo("bankaccounts.getProcessInfo('"+data.result.data.log+"')",1)}):(myapp.closeDataload(),myapp.message("Erreur","Échec de l'importation du fichier!"))}).catch(e=>{myapp.closeDataload(),myapp.message("Erreur","Échec de l'importation du fichier!",e.msg)})},findCotisation:function(){myapp.openDataload("Recherche Cotisations","Attendez svp! Recherche en cours!");let selmonyear=bankaccounts.tblmonths.getSelectedData();selmonyear[0]?postData({cl:"Bankaccounts",fn:"checkTransactions",month:selmonyear[0].id}).then(data=>{progressinfo.startGetInfo("bankaccounts.getProcessInfo('"+data.result.data.log+"')",1)}).catch(e=>{myapp.closeDataload(),myapp.message("Erreur","pas de fichier status retourné!",e.msg)}):myapp.message("Info","Pas de mois sélectionné!")}};
\ No newline at end of file
+let bankaccounts={tbl:null,tblmonths:null,selects:{},debit:!0,filters:{status:{"":""}},init:function(){flatpickr("#date_month",{altInput:!0,allowInput:!1,altFormat:"m/Y",dateFormat:"Y-m-d",onClose:function(selectedDates,dateStr,instance){}}),bankaccounts.selects.id_member=new SlimSelect({select:"#id_member",settings:{showSearch:!0},events:{afterClose:()=>{bankaccounts.getMembersUnpaidMonth(bankaccounts.selects.id_member.getSelected()[0])}}}),bankaccounts.selects.id_members_cotisation=new SlimSelect({select:"#id_members_cotisation",settings:{showSearch:!1},events:{afterClose:()=>{}}}),bankaccounts.tblmonths=new Tabulator("#tbl_months",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 65px)",layout:"fitDataStretch",selectable:1,columns:[{title:"Mois",field:"id",width:100,hozAlign:"center",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Balance",field:"balance",width:80,headerFilter:!1,headerSort:!1,hozAlign:"right",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:".",symbol:"€",symbolAfter:"p",negativeSign:"-",precision:2}}]}),bankaccounts.tblmonths.on("rowClick",(function(e,row){bankaccounts.gettblData()})),bankaccounts.tblcotisationlink=new Tabulator("#tbl_cotisationlink",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!1,headerFilter:!1,formatter:"html"},height:"120px",layout:"fitDataStretch",selectable:1,rowContextMenu:[{label:'<span class="rowicon icon-remove"></span>supprimer',action:function(e,row){return bankaccounts.confirmDeleteCotisationLink(),!1}}],columns:[{title:"Membre",field:"membername",width:400},{title:"Mois",field:"date_month",width:150,hozAlign:"center",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Montant",field:"amount",width:80,headerFilter:!1,headerSort:!1,hozAlign:"right",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:".",symbol:"€",symbolAfter:"p",negativeSign:"-",precision:2}}]}),bankaccounts.tbl=new Tabulator("#tbl_bankaccounts",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 120px)",layout:"fitDataFill",selectable:!0,selectableRangeMode:"click",rowContextMenu:[{label:'<span class="rowicon icon-edit"></span>éditer',action:function(e,row){return bankaccounts.edit(),!1}}],columns:[{title:"#",formatter:"rownum",headerFilter:null,headerMenu:tablehelper.headerMenu},{title:"Banque",field:"bank",width:200},{title:"account",field:"bank",width:200,visible:!1},{title:"membre",field:"membername",width:200},{title:"Mois",field:"date_month",visible:!1,formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Date",field:"value_date",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"dd/MM/yyyy",invalidPlaceholder:""}},{title:"Extrait",field:"statement_number"},{title:"Montant",field:"transaction_amount",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:".",symbol:"€",symbolAfter:"p",negativeSign:"-",precision:2},bottomCalc:tablehelper.totalAmount},{title:"Message",field:"transaction_motivation"},{title:"ID Transaction",field:"transaction_label",visible:!1},{title:"Type",field:"transaction_type",visible:!1},{title:"Ref Client",field:"client_reference",visible:!1},{title:"Nom contrepartie",field:"counterparty_name"},{title:"Compte contrepartie",field:"counterparty_account",visible:!1}]}),bankaccounts.tbl.on("rowDblClick",(function(e,row){bankaccounts.edit()})),bankaccounts.getVirMembers()},load:function(){bankaccounts.gettblmonths(),myapp.viewpanel("bankaccounts")},gettblmonths:function(){let sel=null;bankaccounts.tblmonths.initialized&&(sel=bankaccounts.tblmonths.getSelectedData()),postData({cl:"Bankaccounts",fn:"getMonthList",debit:bankaccounts.debit}).then(data=>{bankaccounts.tblmonths.setData(data.result.data).then(data=>{})}).catch(e=>{console.log(e)})},gettblData:function(){let sel=null;myapp.openDataload("Cmptes bancaires","Attendez svp! chargement en cours!"),bankaccounts.tblmonths.initialized&&(sel=bankaccounts.tblmonths.getSelectedData()),sel&&sel[0]&&postData({cl:"Bankaccounts",fn:"getList",monthdate:sel[0].id,debit:bankaccounts.debit}).then(data=>{myapp.closeDataload(),bankaccounts.tbl.setData(data.result.data).then(data=>{})}).catch(e=>{myapp.closeDataload(),console.log(e)})},edit:function(){let sel=null;bankaccounts.tbl&&(sel=bankaccounts.tbl.getSelectedData()),console.log("bank account data",sel[0]),bankaccounts.tblcotisationlink.setData([]),sel[0]&&(postData({cl:"Bankaccounts",fn:"getRowData",id:sel[0].id}).then(data=>{dataform.fillform("bank_statements",this.selects,data.result.data),myapp.viewdialog("bank_statements")}),postData({cl:"Bankaccounts",fn:"getCotisationLinks",idstatement:sel[0].id}).then(data=>{data.result.data&&bankaccounts.tblcotisationlink.setData(data.result.data)}))},save(){let datatosave=dataform.getContent("bank_statements",bankaccounts.selects);console.log(datatosave)},importCSV(){myapp.upload("Import fichier CSV/TXT","","importer","annuler","bankaccounts.importFile();","text/plain")},getProcessInfo(logfile){postData({cl:"WorkerProcess",fn:"getLastWorkerInfo",logfile:logfile}).then(data=>{data.result.data.info&&"error"!=data.result.data.status?(myapp.setDataloadText(data.result.data.info),data.result.data.info.startsWith("End: ")&&(progressinfo.stopGetInfo(),logfile.endsWith("importcsv.log")&&!data.result.data.info.startsWith("End: Erreur:")&&myapp.message("Succès",data.result.data.success+" données importées!"),logfile.endsWith("parsestatements.log")&&!data.result.data.info.startsWith("End: Erreur:")&&bankaccounts.gettblData())):"error"==data.result.data.status&&(myapp.setDataloadText(data.result.data.error),progressinfo.stopGetInfo())}).catch(e=>{myapp.setDataloadText("ne peux pas avoir d'info sur le progrès!")})},importFile(){myapp.openDataload("Import données","Attendez svp! Import Fichier encours!"),postFile(document.getElementById("dlg_uploadfile_files"),{folder:"importstatement"}).then(data=>{data.file?postData({cl:"Bankaccounts",fn:"startImport",file:data.file}).then(data=>{progressinfo.startGetInfo("bankaccounts.getProcessInfo('"+data.result.data.log+"')",1)}):(myapp.closeDataload(),myapp.message("Erreur","Échec de l'importation du fichier!"))}).catch(e=>{myapp.closeDataload(),myapp.message("Erreur","Échec de l'importation du fichier!",e.msg)})},findCotisation:function(){myapp.openDataload("Recherche Cotisations","Attendez svp! Recherche en cours!");let selmonyear=bankaccounts.tblmonths.getSelectedData();selmonyear[0]?postData({cl:"Bankaccounts",fn:"checkTransactions",month:selmonyear[0].id}).then(data=>{progressinfo.startGetInfo("bankaccounts.getProcessInfo('"+data.result.data.log+"')",1)}).catch(e=>{myapp.closeDataload(),myapp.message("Erreur","pas de fichier status retourné!",e.msg)}):myapp.message("Info","Pas de mois sélectionné!")},getVirMembers:function(){this.selects.id_member&&postData({cl:"Members",fn:"getVirList"}).then(data=>{data.result.data.unshift({ID_member:null,membername:null}),dataform.fillselectlist(this.selects.id_member,data.result.data,"ID_member","membername")})},getMembersUnpaidMonth:function(){this.selects.id_members_cotisation&&postData({cl:"Cotisations",fn:"getUnpaidVirList"}).then(data=>{data.result.data.unshift({id:null,dspdatemonth:null}),dataform.fillselectlist(this.selects.id_members_cotisation,data.result.data,"id","dspdatemonth")})},confirmDeleteCotisationLink:function(){myapp.message("Info","Ceci ne fonctionne pas encore!")},addCotisationLink:function(){myapp.message("Info","Ceci ne fonctionne pas encore!")}};
\ No newline at end of file
status:{"":""}
},
init: function(){
+ flatpickr("#date_month",{altInput: true,
+ allowInput: false,
+ altFormat: "m/Y",
+ dateFormat: "Y-m-d",
+ // plugins: [
+ // new monthSelectPlugin({
+ // shorthand: true, //defaults to false
+ // dateFormat: "Y-m-d", //defaults to "F Y"
+ // altFormat: "m/Y", //defaults to "F Y"
+ // })
+ // ],
+ //disable: true,
+ onClose: function(selectedDates, dateStr, instance) {
+ //dataform.savefield(document.getElementById("date_transaction"),null);
+ },
+ });
+ bankaccounts.selects["id_member"]=new SlimSelect({
+ select: "#id_member",
+ settings: {showSearch: true },
+ events: {
+ afterClose: () =>{
+ bankaccounts.getMembersUnpaidMonth(bankaccounts.selects["id_member"].getSelected()[0])
+
+ //let sel = index.tbl.getSelectedData();
+ // if (sel[0]){
+ // //index.setFamillyCommon();
+ // //dataform.savefielddata(document.getElementById("ID_famillyid_membercommon"),index.selects["ID_famillycommon"].getSelected()[0]);
+ // }
+ }
+ }
+ });
+ bankaccounts.selects["id_members_cotisation"]=new SlimSelect({
+ select: "#id_members_cotisation",
+ settings: {showSearch: false },
+ events: {
+ afterClose: () =>{
+ //let sel = index.tbl.getSelectedData();
+ // if (sel[0]){
+ // //index.setFamillyCommon();
+ // //dataform.savefielddata(document.getElementById("ID_famillyid_membercommon"),index.selects["ID_famillycommon"].getSelected()[0]);
+ // }
+ }
+ }
+ });
bankaccounts.tblmonths = new Tabulator("#tbl_months", {
columnDefaults:{
resizable: false,
]
});
bankaccounts.tblmonths.on("rowClick",function(e, row){
- console.log("Show Month Data!");
+ //console.log("Show Month Data!");
bankaccounts.gettblData();
});
+ bankaccounts.tblcotisationlink = new Tabulator("#tbl_cotisationlink", {
+ columnDefaults:{
+ resizable: false,
+ headerFilterPlaceholder:"",
+ headerSort: false,
+ headerFilter:false,
+ formatter:"html",
+ },
+ height: "120px",
+ layout: "fitDataStretch",
+ selectable: 1,
+ rowContextMenu:[
+ {label:'<span class="rowicon icon-remove"></span>supprimer', action:function(e, row){bankaccounts.confirmDeleteCotisationLink(); return false;}},
+ ],
+ //selectableRangeMode:"click",
+ //selectableRangeMode:"click",
+ // groupBy:["groupname",
+ // groupStartOpen:[true],
+ // groupHeader:[function(value, count, data,group){ return ((value)?value:"");}],
+ columns: [
+ { title: "Membre",field: "membername",width: 400 },
+ { title: "Mois",field: "date_month",width: 150,hozAlign: "center",formatter:"datetime", formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},
+ { title: "Montant",field: "amount", width: 80,headerFilter:false,headerSort: false,hozAlign: "right",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:".",symbol:"€",symbolAfter:"p", negativeSign:"-",precision:2}},
+ ]
+ });
+
//ofh_tbl_payments = tablehelper.findTop("tbar_tabmembers") ;
bankaccounts.tbl = new Tabulator("#tbl_bankaccounts",{
columnDefaults:{
bankaccounts.tbl.on("rowDblClick",function(e, row){
bankaccounts.edit();
});
-
+ bankaccounts.getVirMembers();
},
load: function(){
gettblData: function(){
//console.log("Bankaccounts");
let sel = null;
+ myapp.openDataload("Cmptes bancaires","Attendez svp! chargement en cours!");
if (bankaccounts.tblmonths.initialized){
sel = bankaccounts.tblmonths.getSelectedData();
}
- console.log("Bankaccounts",sel);
+ //console.log("Bankaccounts",sel);
if (sel && sel[0]){
postData({"cl":"Bankaccounts","fn":"getList","monthdate":sel[0].id,"debit":bankaccounts.debit}).then(data => {
//console.log("Bankaccounts",data.result.data);
+ myapp.closeDataload();
bankaccounts.tbl.setData(data.result.data).then( data => {
});
// if(sel && sel[0]){bankaccounts.tblmonths.selectRow(sel[0]['id']);}
// }
//);
- }).catch(e => { console.log(e)});
+ }).catch(e => { myapp.closeDataload();console.log(e)});
}
},
if (bankaccounts.tbl){
sel = bankaccounts.tbl.getSelectedData();
}
- document.getElementById("dlg_bank_statements_btnok").setAttribute('onclick',"bankaccounts.save();");
+ console.log("bank account data",sel[0]);
+ bankaccounts.tblcotisationlink.setData([]);
+ //document.getElementById("dlg_bank_statements_btnok").setAttribute('onclick',"bankaccounts.save();");
if (sel[0]){
postData({"cl":"Bankaccounts","fn":"getRowData","id":sel[0].id}).then( data => {
//console.log("get Cotisation",data.result.data);
dataform.fillform("bank_statements",this.selects,data.result.data);
myapp.viewdialog("bank_statements");
+
+ });
+ postData({"cl":"Bankaccounts","fn":"getCotisationLinks","idstatement":sel[0].id}).then(data => {
+ if (data.result.data){
+ bankaccounts.tblcotisationlink.setData(data.result.data);
+ }
});
}
},
save(){
- // let datatosave = dataform.getContent("bank_statements",bankaccounts.selects);
+
+ let datatosave = dataform.getContent("bank_statements",bankaccounts.selects);
+ console.log(datatosave);
// let transferdata = {"amount":datatosave["amount"],
// "paymenttype":datatosave["paymenttype"],
// "date_transaction":datatosave["date_transaction"],
} else {
myapp.message("Info","Pas de mois sélectionné!");
}
+ },
+ getVirMembers: function(){
+ if (this.selects["id_member"]){
+ postData({"cl":"Members","fn":"getVirList"}).then(data => {
+ data.result.data.unshift({"ID_member":null,"membername":null});
+ dataform.fillselectlist(this.selects["id_member"],data.result.data,'ID_member','membername');
+ });
+ }
+ },
+ getMembersUnpaidMonth: function(){
+ if (this.selects["id_members_cotisation"]){
+ postData({"cl":"Cotisations","fn":"getUnpaidVirList"}).then(data => {
+ data.result.data.unshift({"id":null,"dspdatemonth":null});
+ dataform.fillselectlist(this.selects["id_members_cotisation"],data.result.data,'id','dspdatemonth');
+ });
+ }
+ },
+ confirmDeleteCotisationLink: function(){
+ myapp.message("Info","Ceci ne fonctionne pas encore!");
+ },
+ addCotisationLink: function(){
+ myapp.message("Info","Ceci ne fonctionne pas encore!");
}
};