v20240613141410 0.24.0
authorKilian Saffran <ksaffran@dks.lu>
Thu, 13 Jun 2024 12:17:27 +0000 (14:17 +0200)
committerKilian Saffran <ksaffran@dks.lu>
Thu, 13 Jun 2024 12:17:27 +0000 (14:17 +0200)
icons/appicons-v1.0/demo.html
public_html/changelog.txt
public_html/lib/App/Bankaccounts.php
public_html/lib/Config.php
public_html/lib/version.php
public_html/scripts/parsestatements.php
public_html/tmpl/dialogs/dlg_cotisation.php
public_html/tmpl/js/app/bankaccounts.min.js
public_html/tmpl/js/pages/bankaccounts.js
public_html/tmpl/pages/bankaccounts.php

index e28c6cc..e8b44c4 100644 (file)
@@ -6,7 +6,7 @@
     <meta name="description" content="An Icon Font Generated By IcoMoon.io">
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <link rel="stylesheet" href="demo-files/demo.css">
-    <link rel="stylesheet" href="style.css"></head>
+    <link rel="stylesheet" href="icons.css"></head>
 <body>
     <div class="bgc1 clearfix">
         <h1 class="mhmm mvm"><span class="fgc1">Font Name:</span> appicons <small class="fgc1">(Glyphs:&nbsp;497)</small></h1>
index 784a420..5a4455a 100644 (file)
@@ -1,5 +1,9 @@
 ## Changelog
 
+#### v0.24.0
+
+- add automated check for cotisation in imported bank statements data (with name of member and id of member)
+
 #### v0.23.0
 
 - changelog added
index b67404e..5bb0896 100644 (file)
@@ -16,19 +16,18 @@ class Bankaccounts extends stdClass {
     return $this->dbh->getColumnDefinitions($this->cfg["db"]["dbname"],"bank_statements");
   }
 
-  public function getMonthList(){
-    $sql = "select DATE_FORMAT(value_date,'%Y-%m-01') as id,sum(transaction_amount) as balance  from bank_statements bs group by DATE_FORMAT(value_date,'%Y-%m-01') order by value_date desc;";
+  public function getMonthList($debit=false){
+    $sql = "select DATE_FORMAT(value_date,'%Y-%m-01') as id,sum(transaction_amount) as balance from bank_statements bs ".(($debit==true)?"":" WHERE bs.transaction_amount > 0.00 ")." group by DATE_FORMAT(value_date,'%Y-%m-01') order by value_date desc;";
     //$sql= "select CONACT(year,'-',month,'-01') as date from sepa_xmldata group by datestart order by datestart DESC;";
     return $this->dbh->queryarray($sql);
   }
 
-  public function getList($monthdate){
-    $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  
+  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
     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 value_date between date(".$this->dbh->value($monthdate).") and LAST_DAY(".$this->dbh->value($monthdate).")
-    order by bs.value_date,bs.statement_number;";
+    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).");";
     return $this->dbh->queryarray($sql);
@@ -65,7 +64,7 @@ class Bankaccounts extends stdClass {
                } else {
                        $phpexe="php";
                }
-               $pinfo = $pp->executeCli($phpexe." ".$this->cfg["scripts"]."parsestatements.php"." -f ".$xmlfile."","parsestatements");
+               $pinfo = $pp->executeCli($phpexe." ".$this->cfg["scripts"]."parsestatements.php"." -m ".$month."","parsestatements");
                return $pinfo;
   }
 
index ab4bfe5..fef96ce 100644 (file)
   $cfg["db"]["logfile"] = "log/sql.log";
   $cfg["cookie"] = "nglsnep";
   $cfg["session_timeout"] = (24 * 60 * 60); //seconds!
-  $cfg["db"]["debug"] = 0;
+  $cfg["db"]["debug"] = 1;
   $cfg["tmppath"] = "data/tmp/";
   $cfg["lang"] = "fr";
-  $cfg["debug"] = 0;
+  $cfg["debug"] = 1;
   $cfg["curlua"] = "NGL-SNEP App";
   $cfg["appname"] = "NGL-SNEP";
   $cfg["env"] = "prod";
index 30a3694..c170b88 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-$cfg["version"]="0.23.0";
+$cfg["version"]="0.24.0";
 if ($cfg["debug"] == "1"){
   $cfg["version"] =date('YmdHis');
 }
index 71bdea8..146b341 100644 (file)
     echo "End: Erreur! pas de mois selectionné!\n";
     exit(1);
   } else {
-    
     echo "commence à verifier le(s) mois sélectionné(s)!\n";
   }
   $db = null;
+  try {
   if ($cfg["db"]){
     $db = new Database($cfg["db"]);
+    $ba = new Bankaccounts($db,$cfg);
+    $list = $ba->getList($p["month"],false);
+    $total = count($list);
+    $cur = 0;
+    foreach ($list as $r){
+      $cur++;
+      //if ($cur > 10){ continue;}
+      echo "Transaction ".$cur."/".$total."\n";
+      if ($r["id_member"] != null){ continue;}
+      preg_match('/^(.+) [\w]-/', $r["counterparty_name"], $aname);
+      $cond=array();
+      if (isset($aname) && count($aname) > 0){
+        
+        array_push($cond, "membername=".$db->value($aname[1]));
+      }
+      $cond_id_member = null;
+      if (preg_match('/\d+/',$r["transaction_motivation"],$aidmember)){
+        array_push($cond,"ID_member=".$db->value($aidmember[0]));
+      }
+      if (count($cond) > 0){
+        $sql="select * from (
+select ID_member,quota,CONCAT(coalesce(unaccent(UPPER(m.lastname)),null),' ',coalesce(unaccent(UPPER(m.firstname)),'')) as membername from members m) aa where ".join(" OR ",$cond).";";
+        $res = $db->queryarray($sql);
+        if ($res && count($res) == 1){
+          $sql="SELECT id,id_member,date_month,amount FROM members_cotisation WHERE id_member=".$res[0]["ID_member"]." AND date_month=date('".substr($r["value_date"],0,7)."-01') and payed_amount is null;";
+          $cres = $db->query($sql);
+          if (isset($cres)){
+            $setammount="";
+            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"].";";
+            $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"]."');";
+           $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);
+        }
+      }
+      }
+      }
+    echo "End: Transaction ".$cur."/".$total." verifiées!\n";
   }
-  try {
+  
     } catch (Exception $e){
                        file_put_contents($basepath."/".$cfg["datapath"]."tmp/debug.log","Error:\n".print_r($e,true),FILE_APPEND);
                        echo "End: "."Erreur:".str_replace("\n"," - ",print_r($e,true))."\n";
index df245a4..8d8dc47 100644 (file)
@@ -30,7 +30,7 @@
           $frm->select("cotisation","paymenttype","Type Payement",(object) array("data" => $typeopts,"containerClass" => "s2"));
           $frm->input("cotisation","last_sepa_code","Code Sepa","text",(object) array("readonly" => "1","containerClass" => "s2"));
           $frm->input("cotisation","sepa_file_out","Fichier SEPA Export","text",(object) array("readonly" => "1","containerClass" => "s6"));
-          $frm->input("cotisation","transaction_file_in","Fichier SEPA Import","text",(object) array("readonly" => "1","containerClass" => "s6"));
+          $frm->input("cotisation","transaction_file_in","Fichier Import","text",(object) array("readonly" => "1","containerClass" => "s6"));
           $frm->input("cotisation","transaction_id","Id Transaction","text",(object) array("readonly" => "1","containerClass" => "s6"));
         ?>
       </form>
index d48f768..213db28 100644 (file)
@@ -1 +1 @@
-let bankaccounts={tbl:null,tblmonths:null,selects:{},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:120,hozAlign:"center",formatter:"datetime",formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},{title:"Balance",field:"balance",width:50,headerFilter:!1,headerSort:!1,hozAlign:"right"}]}),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"}).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}).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=>{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("importcsv.log")&&!data.result.data.info.startsWith("End: Erreur:")&&(window.open().location=api+"file.php?open="+encodeURIComponent(bankaccounts.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!")})},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(){let selmonyear=bankaccounts.tblmonths.getSelectedData();selmonyear[0]?postData({cl:"Bankaccounts",fn:"checkTransactions",month:selmonyear[0].id}).then(data=>{bankaccounts.gettblData()}).catch(e=>{}):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(){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
index a8391c4..508ea07 100644 (file)
@@ -3,6 +3,7 @@ let bankaccounts = {
   tbl: null,
   tblmonths: null,
   selects: {},
+  debit: true,
   filters:{
     status:{"":""}
   },
@@ -26,8 +27,8 @@ let bankaccounts = {
       columns: [
           //{formatter:"rowSelection", titleFormatter:"rowSelection", hozAlign:"center", headerSort:false,headerFilter:null},
           //{title:"#", formatter:"rownum",headerFilter:null},
-          { title: "Mois",field: "id",width: 120,hozAlign: "center",formatter:"datetime", formatterParams:{inputFormat:"yyyy-MM-dd",outputFormat:"MM/yyyy",invalidPlaceholder:""}},
-          { title: "Balance",field: "balance", width: 50,headerFilter:false,headerSort: false,hozAlign: "right"},
+          { 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:false,headerSort: false,hozAlign: "right",formatter:"money",hozAlign:"right",formatterParams:{decimal:",",thousand:".",symbol:"€",symbolAfter:"p", negativeSign:"-",precision:2}},
       ]
     });
     bankaccounts.tblmonths.on("rowClick",function(e, row){
@@ -89,7 +90,7 @@ let bankaccounts = {
     }
     
     //if (sel[0]){
-      postData({"cl":"Bankaccounts","fn":"getMonthList"}).then(data => {
+      postData({"cl":"Bankaccounts","fn":"getMonthList","debit":bankaccounts.debit}).then(data => {
         bankaccounts.tblmonths.setData(data.result.data).then( data => {
           //   function(){
         //   if(sel && sel[0]){bankaccounts.tblmonths.selectRow(sel[0]['id']);}
@@ -109,7 +110,7 @@ let bankaccounts = {
     }
     console.log("Bankaccounts",sel);
     if (sel && sel[0]){
-      postData({"cl":"Bankaccounts","fn":"getList","monthdate":sel[0].id}).then(data => {
+      postData({"cl":"Bankaccounts","fn":"getList","monthdate":sel[0].id,"debit":bankaccounts.debit}).then(data => {
         //console.log("Bankaccounts",data.result.data);
         bankaccounts.tbl.setData(data.result.data).then( data => {
   
@@ -178,9 +179,14 @@ let bankaccounts = {
         if (data.result.data.info.startsWith("End: ")){
           progressinfo.stopGetInfo();
           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 exportées!");
-              windowReference.location = api + "file.php?open=" + encodeURIComponent(bankaccounts.exportfile);
+          // //    var windowReference = window.open();
+            myapp.message("Succès", data.result.data.success +" données importées!");
+          // //     windowReference.location = api + "file.php?open=" + encodeURIComponent(bankaccounts.exportfile);
+          }
+          if (logfile.endsWith("parsestatements.log") && !data.result.data.info.startsWith("End: Erreur:")){
+            // //    var windowReference = window.open();
+            bankaccounts.gettblData();
+            // //     windowReference.location = api + "file.php?open=" + encodeURIComponent(bankaccounts.exportfile);
           }
         }
       } else if (data.result.data.status == "error"){
@@ -221,12 +227,16 @@ let bankaccounts = {
     
   },
   findCotisation: function(){
+    myapp.openDataload("Recherche Cotisations","Attendez svp! Recherche en cours!");
+
     let selmonyear = bankaccounts.tblmonths.getSelectedData();
     if (selmonyear[0]){
       postData({"cl":"Bankaccounts","fn":"checkTransactions","month":selmonyear[0].id}).then( data => {
-        bankaccounts.gettblData();
-      }).catch(e => {
         
+        progressinfo.startGetInfo("bankaccounts.getProcessInfo('"+data.result.data.log+"')",1);
+      }).catch(e => {
+        myapp.closeDataload();
+        myapp.message("Erreur","pas de fichier status retourné!",e.msg);
       });
     } else {
       myapp.message("Info","Pas de mois sélectionné!");
index 72a8a9d..c43cb7b 100644 (file)
@@ -11,6 +11,7 @@
       <div class="bar moduletoolbar" id="tbar_cotisations">
         <div class="bar-item SubHeadTitle">Comptes bancaires</div>
           <button class="bar-item toolbarbtn right" onclick="bankaccounts.importCSV();"><span class="icon icon-download"></span>import fichier</button>
+          <button class="bar-item toolbarbtn right" onclick="bankaccounts.findCotisation();"><span class="icon icon-loop2"></span>trouver cotisation</button>
       </div>
       <div class="display-container" >
         <div id="tbl_bankaccounts" ></div>