v240621 master
authorKilian <ksaffran@dks.lu>
Mon, 1 Jul 2024 06:23:57 +0000 (08:23 +0200)
committerKilian <ksaffran@dks.lu>
Mon, 1 Jul 2024 06:23:57 +0000 (08:23 +0200)
public_html/config.dev.php
public_html/lib/App/Cotisations.php
public_html/lib/App/Data.php
public_html/lib/App/Members.php
public_html/lib/version.php
public_html/scripts/parsestatements.php
public_html/tmpl/js/app/bankaccounts.min.js
public_html/tmpl/js/app/invoicing.min.js
public_html/tmpl/js/pages/bankaccounts.js
public_html/tmpl/js/pages/invoicing.js

index a5e61a6..ae14a54 100644 (file)
@@ -14,8 +14,8 @@ $cfg["db"]["dbname"] = "atsoft_nglsnep2";
 $cfg["db"]["host"] = "localhost";
 $cfg["db"]["user"] = 'nglsnep';
 $cfg["db"]["password"] = '7tDVxS5YF5em956q';
 $cfg["db"]["host"] = "localhost";
 $cfg["db"]["user"] = 'nglsnep';
 $cfg["db"]["password"] = '7tDVxS5YF5em956q';
-// $cfg["db"]["dbname"] = "atspsoft_nglsnep";
-// $cfg["db"]["host"] = "localhost";
-// $cfg["db"]["user"] = 'root';
-// $cfg["db"]["password"] = 'nglsnep2024';
+//$cfg["db"]["dbname"] = "atspsoft_nglsnep";
+//$cfg["db"]["host"] = "server3";
+//$cfg["db"]["user"] = 'root';
+//$cfg["db"]["password"] = 'nglsnep2024';
 ?>
\ No newline at end of file
 ?>
\ No newline at end of file
index a562d5b..cfc5327 100644 (file)
@@ -96,20 +96,16 @@ unaccent(UPPER(m.firstname)) as firstname,unaccent(UPPER(m.lastname)) as lastnam
   public function checkSepaTransactions($monthdate){
     //first get all payed with success!
     $sql1 = "UPDATE members_cotisation  mc 
   public function checkSepaTransactions($monthdate){
     //first get all payed with success!
     $sql1 = "UPDATE members_cotisation  mc 
-    JOIN (
-    select group_concat( mq.ID_member_quota) as idmq,mq.ID_member,date(CONCAT(mq.year,'-',mq.month,'-01')) as date_month,mq.quota as amount,mq.datemovement as date_transaction,'payed' as status, mq.filexml as transaction_file_in,
-     mq.refxml as sepa_file_out,mq.stsid as transaction_id,mq.errorcode as last_sepa_code,count(mq.ID_member_quota) as cnt from members_quotas mq where mq.success=1 group by mq.ID_member,mq.year,mq.month
-    ) mq ON mc.id_member =mq.ID_member AND mc.date_month=mq.date_month
-    SET mc.amount=mq.amount,mc.status=mq.status,mc.date_transaction=mq.date_transaction,mc.transaction_file_in=mq.transaction_file_in,mc.sepa_file_out=mq.sepa_file_out,mc.transaction_id=mq.transaction_id where mc.date_month=date(".$this->dbh->value($monthdate).")";
+    JOIN ( select group_concat( mq.ID_member_quota) as idmq,mq.ID_member,date(CONCAT(mq.year,'-',mq.month,'-01')) as date_month,mq.quota as amount,mq.datemovement as date_transaction,'payed' as status, mq.filexml as transaction_file_in,
+     mq.refxml as sepa_file_out,mq.stsid as transaction_id,mq.errorcode as last_sepa_code,count(mq.ID_member_quota) as cnt from members_quotas mq where mq.success=1 group by mq.ID_member,mq.year,mq.month ) mq ON mc.id_member =mq.ID_member AND mc.date_month=mq.date_month
+    SET mc.amount=mq.amount,mc.status=mq.status,mc.date_transaction=mq.date_transaction,mc.transaction_file_in=mq.transaction_file_in,mc.sepa_file_out=mq.sepa_file_out,mc.transaction_id=mq.transaction_id where mc.date_month=date(".$this->dbh->value($monthdate).");";
     $this->dbh->exec($sql1);
     //get other (error)
     $sql2 = "UPDATE members_cotisation  mc 
     $this->dbh->exec($sql1);
     //get other (error)
     $sql2 = "UPDATE members_cotisation  mc 
-    JOIN (
-    select * from (
-    select max( mq.ID_member_quota) as idmq,mq.ID_member,date(CONCAT(mq.year,'-',mq.month,'-01')) as date_month,mq.quota as amount,max(mq.datemovement) as date_transaction,'open' as status, max(mq.filexml) as transaction_file_in,
+    JOIN ( select * from ( select max( mq.ID_member_quota) as idmq,mq.ID_member,date(CONCAT(mq.year,'-',mq.month,'-01')) as date_month,mq.quota as amount,max(mq.datemovement) as date_transaction,'open' as status, max(mq.filexml) as transaction_file_in,
      max(mq.refxml) as sepa_file_out,mq.stsid as transaction_id,mq.errorcode as last_sepa_code,count(mq.ID_member_quota) as cnt,sum(mq.success) as s_ok
     from members_quotas mq group by mq.ID_member,mq.year,mq.month) aa where aa.s_ok=0
      max(mq.refxml) as sepa_file_out,mq.stsid as transaction_id,mq.errorcode as last_sepa_code,count(mq.ID_member_quota) as cnt,sum(mq.success) as s_ok
     from members_quotas mq group by mq.ID_member,mq.year,mq.month) aa where aa.s_ok=0
-    )mq ON mc.id_member =mq.ID_member AND mc.date_month=mq.date_month
+    ) mq ON mc.id_member =mq.ID_member AND mc.date_month=mq.date_month
     SET mc.amount=mq.amount,mc.status=mq.status,mc.date_transaction=mq.date_transaction,mc.transaction_file_in=mq.transaction_file_in,mc.sepa_file_out=mq.sepa_file_out,mc.transaction_id=mq.transaction_id where mc.date_month=date(".$this->dbh->value($monthdate).")";
     $this->dbh->exec($sql2);
     return 1;
     SET mc.amount=mq.amount,mc.status=mq.status,mc.date_transaction=mq.date_transaction,mc.transaction_file_in=mq.transaction_file_in,mc.sepa_file_out=mq.sepa_file_out,mc.transaction_id=mq.transaction_id where mc.date_month=date(".$this->dbh->value($monthdate).")";
     $this->dbh->exec($sql2);
     return 1;
index ea522bd..911442e 100644 (file)
@@ -1,4 +1,5 @@
 <?php
 <?php
+/* Copyright (DKS S.à r.l. - 2024). Licensed under the EUPL-1.2 or later */ 
 class Data extends stdClass {
   private $dbh;
   private $cfg;
 class Data extends stdClass {
   private $dbh;
   private $cfg;
index 107091b..961a721 100644 (file)
@@ -23,7 +23,7 @@ class Members extends stdClass {
     }\r
     $sql= "SELECT ID_member as id, unaccent(UPPER(lastname)) as lastname,unaccent(UPPER(firstname)) as firstname,securitysocialnumber,\r
     CONCAT(coalesce(unaccent(UPPER(lastname)),''),' ',coalesce(unaccent(UPPER(firstname)),''),'<br/>',coalesce(ID_member,''),' / ',coalesce(securitysocialnumber,'')) as memberdata\r
     }\r
     $sql= "SELECT ID_member as id, unaccent(UPPER(lastname)) as lastname,unaccent(UPPER(firstname)) as firstname,securitysocialnumber,\r
     CONCAT(coalesce(unaccent(UPPER(lastname)),''),' ',coalesce(unaccent(UPPER(firstname)),''),'<br/>',coalesce(ID_member,''),' / ',coalesce(securitysocialnumber,'')) as memberdata\r
-    FROM members WHERE daterelease is null AND deleted is null order by lastname asc,firstname asc;";\r
+    FROM members ".$where." order by lastname asc,firstname asc;";\r
     return $this->dbh->queryarray($sql);\r
   }\r
 \r
     return $this->dbh->queryarray($sql);\r
   }\r
 \r
index 94d9fe8..458dab0 100644 (file)
@@ -1,5 +1,5 @@
 <?php
 <?php
-$cfg["version"]="0.25.1";
+$cfg["version"]="0.25.3";
 if ($cfg["debug"] == "1"){
   $cfg["version"] =date('YmdHis');
 }
 if ($cfg["debug"] == "1"){
   $cfg["version"] =date('YmdHis');
 }
index 2a21b2c..2d139bb 100644 (file)
@@ -64,14 +64,14 @@ select ID_member,quota,CONCAT(coalesce(unaccent(UPPER(m.lastname)),null),' ',coa
             $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);
             $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);
+            //$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,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"].";";
           } else {
            $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"].";";
-           $db->exec($updsql2);
+           //$db->exec($updsql2);
         }
       }
       }
         }
       }
       }
index dd0fd53..e7fa132 100644 (file)
@@ -1 +1 @@
-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
+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("Comptes 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!"),bankaccounts.gettblmonths(),bankaccounts.gettblData()),logfile.endsWith("parsestatements.log")&&!data.result.data.info.startsWith("End: Erreur:")&&bankaccounts.gettblData())):"error"==data.result.data.status&&(myapp.setDataloadText(data.result.data.error),bankaccounts.gettblmonths(),bankaccounts.gettblData(),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
index 5fef4f8..156a0f7 100644 (file)
@@ -1 +1 @@
-let invoicing={tbl:null,tbldates:null,selects:{},filters:{status:{"":""}},init:function(){let tomorrow=new Date;tomorrow.setDate(tomorrow.getDate()+1),flatpickr("#debitdate",{altInput:!0,allowInput:!0,altFormat:"d/m/Y",dateFormat:"Y-m-d",defaultDate:tomorrow,minDate:tomorrow}),this.selects=dataform.initSelects(document.getElementsByClassName("select")),invoicing.tbldates=new Tabulator("#tbl_dates",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 65px)",layout:"fitDataStretch",selectable:1,columns:[{title:"Mois",field:"id",width:120,hozAlign:"center",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Count",field:"cnt",width:50,headerFilter:!1,headerSort:!1,hozAlign:"right"}]}),invoicing.tbldates.on("rowClick",(function(e,row){invoicing.gettblCotisationsData(),invoicing.gettblTransactionsData()})),invoicing.tbl_cotisations=new Tabulator("#tbl_cotisations",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 120px)",layout:"fitDataStretch",selectable:!0,selectableRangeMode:"click",rowContextMenu:[{label:'<span class="rowicon icon-edit"></span>éditer',action:function(e,row){return invoicing.editCotisation(),!1}}],columns:[{title:"#",formatter:"rownum",headerFilter:null,headerMenu:tablehelper.headerMenu},{title:"Nom",field:"lastname",width:200},{title:"Prénom",field:"firstname",width:200},{title:"Mois",field:"date_month",visible:!1,formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Date Traitement",field:"date_transaction",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"dd/MM/yyyy",invalidPlaceholder:""}},{title:"status",field:"status",headerFilter:"list",formatter:tablehelper.statusFormatter,headerFilterParams:{valuesLookup:!0,clearable:!0}},{title:"Montant",field:"amount",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:"",symbol:"€",symbolAfter:"p",negativeSign:!0,precision:2},bottomCalc:tablehelper.totalAmount},{title:"Type Payement",field:"paymenttype",headerFilter:"list",headerFilterParams:{valuesLookup:!0,clearable:!0}},{title:"Fichier Export",field:"sepa_file_out",visible:!1},{title:"Fichier Import",field:"transaction_file_in",visible:!1},{title:"ID Transaction",field:"transaction_id",visible:!1},{title:"Code SEPA",field:"last_sepa_code"}]}),invoicing.tbl_cotisations.on("rowDblClick",(function(e,row){invoicing.editCotisation()})),invoicing.tbl_transactions=new Tabulator("#tbl_transactions",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 120px)",layout:"fitDataStretch",selectable:!0,selectableRangeMode:"click",rowContextMenu:[{label:'<span class="rowicon icon-edit"></span>éditer',action:function(e,row){return invoicing.editTransaction(),!1}}],columns:[{title:"#",formatter:"rownum",headerFilter:null},{title:"Date Transaction",field:"datemovement"},{title:"nom",field:"lastname"},{title:"Prénom",field:"firstname"},{title:"succès",field:"success"},{title:"Cotisation Type",field:"quotatype"},{title:"Montant",field:"quota",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:"",symbol:"€",symbolAfter:"p",negativeSign:!0,precision:2}},{title:"Fichier XML Retour",field:"filexml"},{title:"Ficher XML Envoi",field:"refxml"},{title:"Sepa signé",field:"sepasigned"},{title:"Groupe Sepa",field:"sepagroup"},{title:"Compte Débiteur",field:"accountout"},{title:"Compter Crediteur",field:"accountin"},{title:"Note",field:"quotaobs"},{title:"Message Erreur",field:"errormsg"},{title:"Code Erreur",field:"errorcode"}]}),invoicing.tblexportsepa=new Tabulator("#tbl_exportsepa",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 125px)",layout:"fitDataStretch",selectable:!0,selectableRangeMode:"click",groupBy:["date_month"],groupStartOpen:[!0],groupHeader:[function(value,count,data,group){return value?value+" ("+count+")":""}],groupClosedShowCalcs:!0,columns:[{formatter:"rowSelection",titleFormatter:"rowSelection",hozAlign:"center",headerSort:!1,headerFilter:null},{title:"#",formatter:"rownum",headerFilter:null},{title:"Nom",field:"lastname",width:250},{title:"Prénom",field:"firstname",width:250},{title:"Mois",field:"date_month",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Montant",field:"amount",headerFilter:!1,headerSort:!1,width:100,formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:"",symbol:"€",symbolAfter:"p",negativeSign:!0,precision:2},bottomCalc:tablehelper.totalAmount},{title:"Status",field:"status",headerFilter:"list",width:120,formatter:tablehelper.statusFormatter,headerFilterParams:{valuesLookup:!0,clearable:!0}},{title:"IBAN",field:"bankaccount",width:270},{title:"BIC",field:"bankbic",width:120}]})},load:function(){invoicing.gettbldates(),invoicing.gettblTransactionsData(),invoicing.gettblCotisationsData(),myapp.viewpanel("invoicing")},gettbldates:function(){let sel=null;invoicing.tbldates.initialized&&(sel=invoicing.tbldates.getSelectedData()),postData({cl:"Cotisations",fn:"getDatesList"}).then(data=>{invoicing.tbldates.setData(data.result.data).then(data=>{})}).catch(e=>{console.log(e)})},gettblTransactionsData:function(){let sel=null;invoicing.tbldates.initialized&&(sel=invoicing.tbldates.getSelectedData()),sel&&sel[0]&&postData({cl:"Payments",fn:"getList",month:sel[0].month,year:sel[0].year}).then(data=>{invoicing.tbl_transactions.setData(data.result.data).then(data=>{})}).catch(e=>{console.log(e)})},gettblCotisationsData:function(){let sel=null;invoicing.tbldates.initialized&&(sel=invoicing.tbldates.getSelectedData()),sel&&sel[0]&&postData({cl:"Cotisations",fn:"getList",monthdate:sel[0].id}).then(data=>{invoicing.tbl_cotisations.setData(data.result.data).then(data=>{})}).catch(e=>{console.log(e)})},editCotisation:function(){let sel=null;invoicing.tbl_cotisations&&(sel=invoicing.tbl_cotisations.getSelectedData()),document.getElementById("dlg_cotisation_btnok").setAttribute("onclick","invoicing.saveCotisation();"),sel[0]&&postData({cl:"Cotisations",fn:"getRowData",id:sel[0].id}).then(data=>{dataform.fillform("cotisation",this.selects,data.result.data),myapp.viewdialog("cotisation")})},saveCotisation(){let datatosave=dataform.getContent("cotisation",invoicing.selects),transferdata={amount:datatosave.amount,paymenttype:datatosave.paymenttype,date_transaction:datatosave.date_transaction,status:datatosave.status};postData({cl:"Cotisations",fn:"saveRow",id:datatosave.id,data:transferdata}).then(data=>{invoicing.gettblCotisationsData(),document.getElementById("dlg_cotisation").style.display="none"}).catch(e=>{document.getElementById("dlg_cotisation").style.display="none"})},editTransaction:function(){let sel=null;invoicing.tbl&&(sel=invoicing.tbl.getSelectedData()),sel[0]&&postData({cl:"Cotisations",fn:"getRowData",id:sel[0].id}).then(data=>{dataform.fillform("cootisation",this.selects,data.result.data),myapp.viewdialog("cotisation")})},saveTransaction(){},getCountries:function(){postData({cl:"Countries",fn:"getCountries"}).then(data=>{data.result.data.unshift({iso2:null,country:null}),dataform.fillselectlist(this.selects.birthcountry,data.result.data,"iso2","country"),dataform.fillselectlist(this.selects.addresscountry,data.result.data,"iso2","country")})},loadFileDlg(){},importSepa(){myapp.upload("Import fichier XML SEPA","","importer","annuler","invoicing.importSepaFile();","text/xml")},getProcessInfo(logfile){postData({cl:"WorkerProcess",fn:"getLastWorkerInfo",logfile:logfile}).then(data=>{var windowReference;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("exportsepa.log")&&!data.result.data.info.startsWith("End: Erreur:")&&(window.open().location=api+"file.php?open="+encodeURIComponent(invoicing.exportfile)))):"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!")})},importSepaFile(){myapp.openDataload("Import données","Attendez svp! Import XML encours!"),postFile(document.getElementById("dlg_uploadfile_files"),{folder:"importsepa"}).then(data=>{data.file?postData({cl:"Sepa",fn:"startSepaImport",xmlfile:data.file}).then(data=>{progressinfo.startGetInfo("invoicing.getProcessInfo('"+data.result.data.log+"')",1)}):(myapp.closeDataload(),myapp.message("Erreur","Échec de l'importation du fichier XML!"))}).catch(e=>{myapp.closeDataload(),myapp.message("Erreur","Échec de l'importation du fichier XML!",e.msg)})},viewTabExport:function(){myapp.viewtab("tab_invoicing","inv_export"),myapp.openDataload("Recherche données","Attendez svp!"),postData({cl:"Cotisations",fn:"getUnpaidSepaList"}).then(data=>{invoicing.tblexportsepa.setData(data.result.data).then(data=>{}),myapp.closeDataload()}).catch(e=>{console.log(e),myapp.closeDataload()})},viewTabTransactions:function(){myapp.viewtab("tab_invoicing","inv_transactions")},viewTabCotisations:function(){myapp.viewtab("tab_invoicing","inv_cotisations")},addCotisationMonth:function(){postData({cl:"Cotisations",fn:"addCotisationMonth"}).then(data=>{invoicing.gettbldates()}).catch(e=>{})},updateCotisationMonth:function(){let selmonyear=invoicing.tbldates.getSelectedData();selmonyear[0]?postData({cl:"Cotisations",fn:"checkSepaTransactions",month:selmonyear[0].id}).then(data=>{invoicing.gettblCotisationsData(),invoicing.gettblTransactionsData()}).catch(e=>{}):myapp.message("Info","Pas de mois sélectionné!")},exportSepa:function(){let selmonyear=invoicing.tbldates.getSelectedData(),selunpaid=invoicing.tblexportsepa.getSelectedData(),debitdate=document.getElementById("debitdate").value;myapp.openDataload("Export des données","Attendez svp! Export XML encours!"),unpaid=[];let sendmonth=0,sendyear=0;if(selmonyear[0]&&(sendmonth=selmonyear[0].month,sendyear=selmonyear[0].year),selunpaid[0])for(i=0;i<selunpaid.length;i++)unpaid.push(selunpaid[i].id);else unpaid=[];selmonyear[0]||selunpaid||(myapp.message("Info","Pas de mois et ou non-payés sélectionnés!"),myapp.closeDataload()),postData({cl:"Sepa",fn:"createSepa",year:sendyear,month:sendmonth,unpaiddata:unpaid,debitdate:debitdate}).then(data=>{progressinfo.startGetInfo("invoicing.getProcessInfo('"+data.result.data.log+"')",1),invoicing.exportfile=data.result.data.file}).catch(e=>{myapp.closeDataload(),myapp.message("Erreur","Échec de l'export du fichier XML!",e.msg)})}};
\ No newline at end of file
+let invoicing={tbl:null,tbldates:null,selects:{},filters:{status:{"":""}},init:function(){let tomorrow=new Date;tomorrow.setDate(tomorrow.getDate()+1),flatpickr("#debitdate",{altInput:!0,allowInput:!0,altFormat:"d/m/Y",dateFormat:"Y-m-d",defaultDate:tomorrow,minDate:tomorrow}),this.selects=dataform.initSelects(document.getElementsByClassName("select")),invoicing.tbldates=new Tabulator("#tbl_dates",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 65px)",layout:"fitDataStretch",selectable:1,columns:[{title:"Mois",field:"id",width:120,hozAlign:"center",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Count",field:"cnt",width:50,headerFilter:!1,headerSort:!1,hozAlign:"right"}]}),invoicing.tbldates.on("rowClick",(function(e,row){invoicing.gettblCotisationsData(),invoicing.gettblTransactionsData()})),invoicing.tbl_cotisations=new Tabulator("#tbl_cotisations",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 120px)",layout:"fitDataStretch",selectable:!0,selectableRangeMode:"click",rowContextMenu:[{label:'<span class="rowicon icon-edit"></span>éditer',action:function(e,row){return invoicing.editCotisation(),!1}}],columns:[{title:"#",formatter:"rownum",headerFilter:null,headerMenu:tablehelper.headerMenu},{title:"Nom",field:"lastname",width:200},{title:"Prénom",field:"firstname",width:200},{title:"Mois",field:"date_month",visible:!1,formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Date Traitement",field:"date_transaction",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"dd/MM/yyyy",invalidPlaceholder:""}},{title:"status",field:"status",headerFilter:"list",formatter:tablehelper.statusFormatter,headerFilterParams:{valuesLookup:!0,clearable:!0}},{title:"Montant",field:"amount",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:"",symbol:"€",symbolAfter:"p",negativeSign:!0,precision:2},bottomCalc:tablehelper.totalAmount},{title:"Type Payement",field:"paymenttype",headerFilter:"list",headerFilterParams:{valuesLookup:!0,clearable:!0}},{title:"Fichier Export",field:"sepa_file_out",visible:!1},{title:"Fichier Import",field:"transaction_file_in",visible:!1},{title:"ID Transaction",field:"transaction_id",visible:!1},{title:"Code SEPA",field:"last_sepa_code"}]}),invoicing.tbl_cotisations.on("rowDblClick",(function(e,row){invoicing.editCotisation()})),invoicing.tbl_transactions=new Tabulator("#tbl_transactions",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 120px)",layout:"fitDataStretch",selectable:!0,selectableRangeMode:"click",rowContextMenu:[{label:'<span class="rowicon icon-edit"></span>éditer',action:function(e,row){return invoicing.editTransaction(),!1}}],columns:[{title:"#",formatter:"rownum",headerFilter:null},{title:"Date Transaction",field:"datemovement"},{title:"nom",field:"lastname"},{title:"Prénom",field:"firstname"},{title:"succès",field:"success"},{title:"Cotisation Type",field:"quotatype"},{title:"Montant",field:"quota",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:"",symbol:"€",symbolAfter:"p",negativeSign:!0,precision:2}},{title:"Fichier XML Retour",field:"filexml"},{title:"Ficher XML Envoi",field:"refxml"},{title:"Sepa signé",field:"sepasigned"},{title:"Groupe Sepa",field:"sepagroup"},{title:"Compte Débiteur",field:"accountout"},{title:"Compter Crediteur",field:"accountin"},{title:"Note",field:"quotaobs"},{title:"Message Erreur",field:"errormsg"},{title:"Code Erreur",field:"errorcode"}]}),invoicing.tblexportsepa=new Tabulator("#tbl_exportsepa",{columnDefaults:{resizable:!1,headerFilterPlaceholder:"",headerSort:!0,headerFilter:"input",formatter:"html"},height:"calc(100vh - 125px)",layout:"fitDataStretch",selectable:!0,selectableRangeMode:"click",groupBy:["date_month"],groupStartOpen:[!0],groupHeader:[function(value,count,data,group){return value?value+" ("+count+")":""}],groupClosedShowCalcs:!0,columns:[{formatter:"rowSelection",titleFormatter:"rowSelection",hozAlign:"center",headerSort:!1,headerFilter:null},{title:"#",formatter:"rownum",headerFilter:null},{title:"Nom",field:"lastname",width:250},{title:"Prénom",field:"firstname",width:250},{title:"Mois",field:"date_month",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Montant",field:"amount",headerFilter:!1,headerSort:!1,width:100,formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:"",symbol:"€",symbolAfter:"p",negativeSign:!0,precision:2},bottomCalc:tablehelper.totalAmount},{title:"Status",field:"status",headerFilter:"list",width:120,formatter:tablehelper.statusFormatter,headerFilterParams:{valuesLookup:!0,clearable:!0}},{title:"IBAN",field:"bankaccount",width:270},{title:"BIC",field:"bankbic",width:120}]})},load:function(){invoicing.gettbldates(),invoicing.gettblTransactionsData(),invoicing.gettblCotisationsData(),myapp.viewpanel("invoicing")},gettbldates:function(){let sel=null;invoicing.tbldates.initialized&&(sel=invoicing.tbldates.getSelectedData()),postData({cl:"Cotisations",fn:"getDatesList"}).then(data=>{invoicing.tbldates.setData(data.result.data).then(data=>{})}).catch(e=>{console.log(e)})},gettblTransactionsData:function(){let sel=null;invoicing.tbldates.initialized&&(sel=invoicing.tbldates.getSelectedData()),sel&&sel[0]&&postData({cl:"Payments",fn:"getList",month:sel[0].month,year:sel[0].year}).then(data=>{invoicing.tbl_transactions.setData(data.result.data).then(data=>{})}).catch(e=>{console.log(e)})},gettblCotisationsData:function(){let sel=null;invoicing.tbldates.initialized&&(sel=invoicing.tbldates.getSelectedData()),sel&&sel[0]&&postData({cl:"Cotisations",fn:"getList",monthdate:sel[0].id}).then(data=>{invoicing.tbl_cotisations.setData(data.result.data).then(data=>{})}).catch(e=>{console.log(e)})},editCotisation:function(){let sel=null;invoicing.tbl_cotisations&&(sel=invoicing.tbl_cotisations.getSelectedData()),document.getElementById("dlg_cotisation_btnok").setAttribute("onclick","invoicing.saveCotisation();"),sel[0]&&postData({cl:"Cotisations",fn:"getRowData",id:sel[0].id}).then(data=>{dataform.fillform("cotisation",this.selects,data.result.data),myapp.viewdialog("cotisation")})},saveCotisation(){let datatosave=dataform.getContent("cotisation",invoicing.selects),transferdata={amount:datatosave.amount,paymenttype:datatosave.paymenttype,date_transaction:datatosave.date_transaction,status:datatosave.status};postData({cl:"Cotisations",fn:"saveRow",id:datatosave.id,data:transferdata}).then(data=>{invoicing.gettblCotisationsData(),document.getElementById("dlg_cotisation").style.display="none"}).catch(e=>{document.getElementById("dlg_cotisation").style.display="none"})},editTransaction:function(){let sel=null;invoicing.tbl&&(sel=invoicing.tbl.getSelectedData()),sel[0]&&postData({cl:"Cotisations",fn:"getRowData",id:sel[0].id}).then(data=>{dataform.fillform("cootisation",this.selects,data.result.data),myapp.viewdialog("cotisation")})},saveTransaction(){},getCountries:function(){postData({cl:"Countries",fn:"getCountries"}).then(data=>{data.result.data.unshift({iso2:null,country:null}),dataform.fillselectlist(this.selects.birthcountry,data.result.data,"iso2","country"),dataform.fillselectlist(this.selects.addresscountry,data.result.data,"iso2","country")})},loadFileDlg(){},importSepa(){myapp.upload("Import fichier XML SEPA","","importer","annuler","invoicing.importSepaFile();","text/xml")},getProcessInfo(logfile){postData({cl:"WorkerProcess",fn:"getLastWorkerInfo",logfile:logfile}).then(data=>{var windowReference;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("exportsepa.log")&&!data.result.data.info.startsWith("End: Erreur:")&&(window.open().location=api+"file.php?open="+encodeURIComponent(invoicing.exportfile)))):"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!")})},importSepaFile(){myapp.openDataload("Import données","Attendez svp! Import XML encours!"),postFile(document.getElementById("dlg_uploadfile_files"),{folder:"importsepa"}).then(data=>{data.file?postData({cl:"Sepa",fn:"startSepaImport",xmlfile:data.file}).then(data=>{progressinfo.startGetInfo("invoicing.getProcessInfo('"+data.result.data.log+"')",1)}):(myapp.closeDataload(),myapp.message("Erreur","Échec de l'importation du fichier XML!"))}).catch(e=>{myapp.closeDataload(),myapp.message("Erreur","Échec de l'importation du fichier XML!",e.msg)})},viewTabExport:function(){myapp.viewtab("tab_invoicing","inv_export"),myapp.openDataload("Recherche données","Attendez svp!"),postData({cl:"Cotisations",fn:"getUnpaidSepaList"}).then(data=>{invoicing.tblexportsepa.setData(data.result.data).then(data=>{}),myapp.closeDataload()}).catch(e=>{console.log(e),myapp.closeDataload()})},viewTabTransactions:function(){myapp.viewtab("tab_invoicing","inv_transactions")},viewTabCotisations:function(){myapp.viewtab("tab_invoicing","inv_cotisations")},addCotisationMonth:function(){postData({cl:"Cotisations",fn:"addCotisationMonth"}).then(data=>{invoicing.gettbldates()}).catch(e=>{})},updateCotisationMonth:function(){let selmonyear=invoicing.tbldates.getSelectedData();selmonyear[0]?postData({cl:"Cotisations",fn:"checkSepaTransactions",monthdate:selmonyear[0].id}).then(data=>{invoicing.gettblCotisationsData(),invoicing.gettblTransactionsData()}).catch(e=>{}):myapp.message("Info","Pas de mois sélectionné!")},exportSepa:function(){let selmonyear=invoicing.tbldates.getSelectedData(),selunpaid=invoicing.tblexportsepa.getSelectedData(),debitdate=document.getElementById("debitdate").value;myapp.openDataload("Export des données","Attendez svp! Export XML encours!"),unpaid=[];let sendmonth=0,sendyear=0;if(selmonyear[0]&&(sendmonth=selmonyear[0].month,sendyear=selmonyear[0].year),selunpaid[0])for(i=0;i<selunpaid.length;i++)unpaid.push(selunpaid[i].id);else unpaid=[];selmonyear[0]||selunpaid||(myapp.message("Info","Pas de mois et ou non-payés sélectionnés!"),myapp.closeDataload()),postData({cl:"Sepa",fn:"createSepa",year:sendyear,month:sendmonth,unpaiddata:unpaid,debitdate:debitdate}).then(data=>{progressinfo.startGetInfo("invoicing.getProcessInfo('"+data.result.data.log+"')",1),invoicing.exportfile=data.result.data.file}).catch(e=>{myapp.closeDataload(),myapp.message("Erreur","Échec de l'export du fichier XML!",e.msg)})}};
\ No newline at end of file
index 80a69a2..440ab0f 100644 (file)
@@ -175,7 +175,7 @@ let bankaccounts = {
   gettblData: function(){
     //console.log("Bankaccounts");
     let sel = null;
   gettblData: function(){
     //console.log("Bankaccounts");
     let sel = null;
-    myapp.openDataload("Cmptes bancaires","Attendez svp! chargement en cours!");
+    myapp.openDataload("Comptes bancaires","Attendez svp! chargement en cours!");
     if (bankaccounts.tblmonths.initialized){
       sel = bankaccounts.tblmonths.getSelectedData();
     }
     if (bankaccounts.tblmonths.initialized){
       sel = bankaccounts.tblmonths.getSelectedData();
     }
@@ -263,6 +263,9 @@ let bankaccounts = {
           if (logfile.endsWith("importcsv.log") && !data.result.data.info.startsWith("End: Erreur:")){
           // //    var windowReference = window.open();
             myapp.message("Succès", data.result.data.success +" données importées!");
           if (logfile.endsWith("importcsv.log") && !data.result.data.info.startsWith("End: Erreur:")){
           // //    var windowReference = window.open();
             myapp.message("Succès", data.result.data.success +" données importées!");
+            bankaccounts.gettblmonths();
+            bankaccounts.gettblData();
+            
           // //     windowReference.location = api + "file.php?open=" + encodeURIComponent(bankaccounts.exportfile);
           }
           if (logfile.endsWith("parsestatements.log") && !data.result.data.info.startsWith("End: Erreur:")){
           // //     windowReference.location = api + "file.php?open=" + encodeURIComponent(bankaccounts.exportfile);
           }
           if (logfile.endsWith("parsestatements.log") && !data.result.data.info.startsWith("End: Erreur:")){
@@ -273,6 +276,8 @@ let bankaccounts = {
         }
       } else if (data.result.data.status == "error"){
         myapp.setDataloadText(data.result.data.error);
         }
       } else if (data.result.data.status == "error"){
         myapp.setDataloadText(data.result.data.error);
+        bankaccounts.gettblmonths();
+        bankaccounts.gettblData();
         progressinfo.stopGetInfo();
       }
       
         progressinfo.stopGetInfo();
       }
       
index 8fee744..782c41b 100644 (file)
@@ -401,7 +401,7 @@ let invoicing = {
   updateCotisationMonth: function(){
     let selmonyear = invoicing.tbldates.getSelectedData();
     if (selmonyear[0]){
   updateCotisationMonth: function(){
     let selmonyear = invoicing.tbldates.getSelectedData();
     if (selmonyear[0]){
-      postData({"cl":"Cotisations","fn":"checkSepaTransactions","month":selmonyear[0].id}).then( data => {
+      postData({"cl":"Cotisations","fn":"checkSepaTransactions","monthdate":selmonyear[0].id}).then( data => {
         invoicing.gettblCotisationsData();
         invoicing.gettblTransactionsData();
       }).catch(e => {
         invoicing.gettblCotisationsData();
         invoicing.gettblTransactionsData();
       }).catch(e => {