From 31d6dd2b4cde199f2969f4c875d0f4fd7633d4e8 Mon Sep 17 00:00:00 2001 From: Dany De Bontridder Date: Mon, 18 Jun 2012 11:37:26 +0000 Subject: [PATCH] 0000633: export en CSV des mouvement des stocks 0000634: export en CSV de la liste des stocks --- html/export.php | 6 ++ html/style-print.css | 22 +++--- include/class_stock.php | 92 +++++++++++++++++-------- include/template/stock_summary_list.php | 10 ++- sql/upgrade.sql | 8 ++- 5 files changed, 93 insertions(+), 45 deletions(-) diff --git a/html/export.php b/html/export.php index 3a481fef3..1e4d89241 100644 --- a/html/export.php +++ b/html/export.php @@ -164,6 +164,12 @@ if ( $action=='X' || ! isset($_GET['act']) || $g_user->check_print($_GET['act']) case 'CSV:ActionGestion': require_once 'export_follow_up_csv.php'; break; + case 'CSV:StockHisto': // Export Historique mouvement stock + require_once 'export_stock_histo.csv'; + break; + case 'CSV:StockResmList' : // 'Export Résumé list stock + require_once 'export_stock_resume_list.php'; + break; default: alert('Action inconnue '.$_GET['act']); exit(); diff --git a/html/style-print.css b/html/style-print.css index 786f93f65..43ba794aa 100644 --- a/html/style-print.css +++ b/html/style-print.css @@ -1,10 +1,10 @@ body { font-size:7pt } -select ,.input_text{ +select ,.input_text{ border:1px solid #FFFFFF; } -form { +form { display:none; } .print { @@ -13,7 +13,7 @@ form { .noprint { display:none; } - + .button { display:none; } @@ -23,10 +23,10 @@ div.recherche_form { table.result { font-size:7pt; font-family:sans-serif; - + width:100% } -table.result th { +table.result th { font-size:7pt; font-family:sans-serif; } @@ -40,7 +40,7 @@ div.info { display:none; } -h2.info { +h1,h2.info { font-size:14pt; font-weight:bold; font-family:sans-serif; @@ -97,7 +97,7 @@ div.redcontent{ font-family:sans-serif; } -div.redcontent{ +div.redcontent{ font-size:7pt; font-family:sans-serif; } @@ -112,7 +112,7 @@ div.rmenu { table.mtitle { display: none; } -td.mshort { +td.mshort { display:none; } td.mlltitle { @@ -130,10 +130,10 @@ span.mtitle2 { span.mtitle { display:none; } -span.odd { +span.odd { display:none; } -span.even { +span.even { display:none; } @@ -230,7 +230,7 @@ font-size:8pt; font-family:sans-serif; } -a.detail:hover +a.detail:hover { display:none; } diff --git a/include/class_stock.php b/include/class_stock.php index e6c508144..335dd373b 100644 --- a/include/class_stock.php +++ b/include/class_stock.php @@ -251,16 +251,37 @@ class Stock extends Stock_Sql $max_row = Database::num_row($res); - $nav_bar= jrn_navigation_bar($offset,$max_row,0,$page); + $nav_bar = jrn_navigation_bar($offset, $max_row, 0, $page); - if ( $step != -1 ) $res = $this->cn->exec_sql($sql." , sg_id asc limit ".$step." offset ".$offset); + if ($step != -1) + $res = $this->cn->exec_sql($sql . " , sg_id asc limit " . $step . " offset " . $offset); $max_row = Database::num_row($res); $this->search_box_button(); $this->search_box($p_array); require_once 'template/stock_histo.php'; + $this->export_stock_histo_form(); + echo HtmlInput::print_window(); } + function export_stock_histo_form() + { + echo '
'; + echo HtmlInput::get_to_hidden(array("gDossier", "wcard", "wdate_start", "wdate_end", "wrepo", + "wamount_start", "wamount_end", "wcode_stock", "wdirection")); + echo HtmlInput::hidden('act','CSV:StockHisto'); + echo HtmlInput::submit('stockhisto','Export CSV'); + echo '
'; + } + function export_stock_summary_list_form() + { + echo '
'; + echo HtmlInput::get_to_hidden(array("gDossier", "state_exercice")); + echo HtmlInput::hidden('act','CSV:StockResmList'); + + echo HtmlInput::submit('stockresm','Export CSV'); + echo '
'; + } function search_box_button() { $bt = HtmlInput::button("Recherche", "Recherche", ' onclick="$(\'histo_search_d\').show();"'); @@ -409,15 +430,42 @@ class Stock extends Stock_Sql function summary($p_array) { global $cn, $g_user; - $tmp_id=$cn->get_next_seq("public.tmp_stockgood_s_id_seq"); - $cn->exec_sql("delete from tmp_stockgood where s_date < now() - interval '2 hours' "); - $cn->exec_sql("insert into tmp_stockgood(s_id) values ($1)",array($tmp_id)); + $tmp_id=$this->build_tmp_table($p_array); + // Build condition + $a_repository = $g_user->get_available_repository('R'); + $a_code = $cn->get_array("select distinct sg_code from tmp_stockgood_detail where s_id=$1", array($tmp_id)); + if (isset($p_array['present'])) + { + $present = $p_array['present']; + } + else + { + $present = 'T'; + } + if ($present == 'T') + { + require_once 'template/stock_summary_table.php'; + } + if ($present == 'L') + { + require_once 'template/stock_summary_list.php'; + $this->export_stock_summary_list_form(); + + } + echo HtmlInput::print_window(); + } + function build_tmp_table($p_array) + { + global $cn,$g_user; + $tmp_id = $cn->get_next_seq("public.tmp_stockgood_s_id_seq"); + $cn->exec_sql("delete from tmp_stockgood where s_date < now() - interval '2 days' "); + $cn->exec_sql("insert into tmp_stockgood(s_id) values ($1)", array($tmp_id)); // get all readable repository - $a_repository=$g_user->get_available_repository('R'); + $a_repository = $g_user->get_available_repository('R'); // All the stock card - $sql_repo_detail=" + $sql_repo_detail = " insert into tmp_stockgood_detail(s_id,sg_code,s_qin,s_qout,r_id) with fiche_stock as (select distinct ad_value from fiche_detail where ad_id=19 and coalesce(ad_value,'') != '') , @@ -449,35 +497,19 @@ class Stock extends Stock_Sql and sg.r_id in (select r_id from user_sec_repository where p_id=$1) "; - - // Build condition - $end_date=$cn->get_value("select to_char(max(p_end),'DD.MM.YYYY') from parm_periode"); + $end_date = $cn->get_value("select to_char(max(p_end),'DD.MM.YYYY') from parm_periode"); if (isset($p_array['state_exercice'])) { - if ( isDate($p_array['state_exercice'])==$p_array['state_exercice']) + if (isDate($p_array['state_exercice']) == $p_array['state_exercice']) { - $end_date=$p_array['state_exercice']; + $end_date = $p_array['state_exercice']; } } - $cn->exec_sql($sql_repo_detail,array($g_user->get_profile(),$end_date)); - $a_code=$cn->get_array("select distinct sg_code from tmp_stockgood_detail where s_id=$1",array($tmp_id)); - if (isset($p_array['present'])) - { - $present=$p_array['present']; - } - else - { - $present='T'; - } - if ($present == 'T') - { - require_once 'template/stock_summary_table.php' ; - } - if ($present=='L') - { - require_once 'template/stock_summary_list.php'; - } + $cn->exec_sql($sql_repo_detail, array($g_user->get_profile(), $end_date)); + + return $tmp_id; } + } ?> diff --git a/include/template/stock_summary_list.php b/include/template/stock_summary_list.php index 8328013b9..0bbfd2e7f 100644 --- a/include/template/stock_summary_list.php +++ b/include/template/stock_summary_list.php @@ -26,17 +26,20 @@ * @brief show the result to stock state in list format (more detailled) * */ -$a_repo=$cn->get_array("select distinct t.r_id,r_name,r_adress,r_country from stock_repository as s join tmp_stockgood_detail as t +$a_repo=$cn->get_array("select distinct t.r_id,r_name,r_adress,r_city,r_country,r_phone from stock_repository as s join tmp_stockgood_detail as t on (s.r_id=t.r_id) where s_id=$1 order by 2 ",array($tmp_id)); ?> +

-

-

+

Adresse

+

Ville

+

Pays

+

Téléphone

@@ -97,3 +100,4 @@ $a_repo=$cn->get_array("select distinct t.r_id,r_name,r_adress,r_country from st
Code
+
\ No newline at end of file diff --git a/sql/upgrade.sql b/sql/upgrade.sql index 8e75f322e..04aa9f97a 100644 --- a/sql/upgrade.sql +++ b/sql/upgrade.sql @@ -221,7 +221,7 @@ INSERT INTO menu_ref(me_code, me_menu, me_file, me_url, me_description, me_param INSERT INTO profile_menu(me_code, me_code_dep, p_id, p_order, p_type_display, pm_default) VALUES ('CFGSTOCK', 'PARAM', 1, 40, 'E', 0); update menu_ref set me_file=null where me_code='STOCK'; -update profile_menu set me_code_dep='COMPTA' where me_code='STOCK' and me_code_dep='ADV'; +update profile_menu set me_code_dep='COMPTA',p_order=15 where me_code='STOCK' and me_code_dep='ADV'; CREATE TABLE stock_repository ( @@ -278,11 +278,17 @@ update menu_ref set me_file=null where me_code='STOCK'; insert into menu_ref (me_code,me_file,me_menu,me_description,me_type) values ('STOCK_HISTO','stock_histo.inc.php','Historique stock','Historique des mouvement de stock','ME'); insert into menu_ref (me_code,me_file,me_menu,me_description,me_type) values ('STOCK_STATE','stock_state.inc.php','Etat des stock','Etat des stock','ME'); +insert into menu_ref (me_code,me_menu,me_type) values ('CSV:StockHisto','Export Historique mouvement stock','PR'); +insert into menu_ref (me_code,me_menu,me_type) values ('CSV:StockResmList','Export Résumé list stock','PR'); insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_HISTO','STOCK',1,10,'E'); insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_STATE','STOCK',1,20,'E'); insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_HISTO','STOCK',2,10,'E'); insert into profile_menu(me_code,me_code_dep,p_id,p_order,p_type_display) values ('STOCK_STATE','STOCK',2,20,'E'); +insert into profile_menu(me_code,p_id,p_type_display) values ('CSV:StockHisto',1,'P'); +insert into profile_menu(me_code,p_id,p_type_display) values ('CSV:StockResmList',1,'P'); +insert into profile_menu(me_code,p_id,p_type_display) values ('CSV:StockHisto',2,'P'); +insert into profile_menu(me_code,p_id,p_type_display) values ('CSV:StockResmList',2,'P'); -- clean stock_goods delete from stock_goods where sg_code is null or sg_code='' or sg_code not in (select ad_value from fiche_detail as fd where ad_id=19 and ad_value is not null);