PageRenderTime 58ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/db_distribucioGrups.php

https://gitlab.com/vado/scadi
PHP | 638 lines | 517 code | 78 blank | 43 comment | 83 complexity | c51b53598700539b2fff92eaa0b53044 MD5 | raw file
  1. <?php
  2. //-----------------------------------------------------------------------
  3. function db_getComandaPerProductors($db)
  4. {
  5. //*v36-17-12-15 - global
  6. global $mProductes,$mPars,$mUsuarisRef,$mInfoRutaAbastCsv,$mPerfilsRef,$mGrupsZones;
  7. $mComandaPerProductors=array();
  8. $mComandaTMP=array();
  9. $mInfoRutaAbastCsv_=array();
  10. $linCsv=0;
  11. if($mPars['selLlistaId']==0)
  12. {
  13. $andPeriodeLocal='';
  14. }
  15. else
  16. {
  17. $andPeriodeLocal=" AND llista_id='".$mPars['selLlistaId']."' AND periode_comanda='".$mPars['sel_periode_comanda_local']."'";
  18. }
  19. if(!$result=mysql_query("select * from ".$mPars['taulaComandes']." where usuari_id!='0' ".$andPeriodeLocal,$db))
  20. {
  21. echo "<br> 27 db_distribucioGrups.php ".mysql_errno() . ": " . mysql_error(). "\n";
  22. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'102','db.php');
  23. }
  24. else
  25. {
  26. while($mRow=mysql_fetch_array($result,MYSQL_ASSOC))
  27. {
  28. if($mRow['resum']!='')
  29. {
  30. $mProductesComanda=explode(';',$mRow['resum']);
  31. for($i=0;$i<count($mProductesComanda);$i++)
  32. {
  33. $mIndexQuantitat=explode(':',$mProductesComanda[$i]);
  34. $id=str_replace('producte_','',$mIndexQuantitat[0]);
  35. $quantitat=@$mIndexQuantitat[1];
  36. if($id!='' && $id!=0)
  37. {
  38. $rebostRef=substr($mRow['rebost'],0,strpos($mRow['rebost'],'-'));
  39. if(!isset($mComandaTMP[$rebostRef]))
  40. {
  41. $mComandaTMP[$rebostRef]=array();
  42. }
  43. if(!isset($mComandaTMP[$rebostRef][$id]))
  44. {
  45. $mComandaTMP[$rebostRef][$id]=$quantitat;
  46. }
  47. else
  48. {
  49. $mComandaTMP[$rebostRef][$id]+=$quantitat;
  50. }
  51. }
  52. }
  53. }
  54. }
  55. }
  56. reset($mProductes);
  57. // ordenar per productor i afegir TMP i rebosts
  58. while(list($index,$mProducte)=each($mProductes))
  59. {
  60. if($mPars['paginacio']==1)
  61. {
  62. if(($mProducte['actiu']==1 && $mProducte['visible']==1) || substr_count($mProducte['tipus'],'especial')>0)
  63. {
  64. while(list($rebostRef,$mComandaRebost)=each($mComandaTMP))
  65. {
  66. while(list($id,$quantitat)=each($mComandaRebost))
  67. {
  68. if($id==$mProducte['id'])
  69. {
  70. $perfilId=substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'));
  71. /*
  72. if(!isset($mInfoRutaAbastCsv_[$perfilId]))
  73. {
  74. //$mInfoRutaAbastCsv_[$perfilId]['perfilId']=$perfilId;
  75. //$mInfoRutaAbastCsv_[$perfilId]['pesT']=0;
  76. }
  77. */
  78. $mComandaPerProductors[$perfilId][$id][$rebostRef]=$quantitat;
  79. if(!isset($mComandaPerProductors[$perfilId][$id]['quantitatT']))
  80. {
  81. $mComandaPerProductors[$perfilId][$id]['quantitatT']=0;
  82. $mComandaPerProductors[$perfilId][$id]['producte']=$mProducte['producte'];
  83. $mComandaPerProductors[$perfilId][$id]['id']=$mProducte['id'];
  84. $mComandaPerProductors[$perfilId][$id]['tipus']=$mProducte['tipus'];
  85. $mComandaPerProductors[$perfilId][$id]['preu']=$mProducte['preu'];
  86. $mComandaPerProductors[$perfilId][$id]['ms']=$mProducte['ms'];
  87. $mComandaPerProductors[$perfilId][$id]['pes']=$mProducte['pes'];
  88. $mComandaPerProductors[$perfilId][$id]['ms_ctik']=$mProducte['ms_ctik'];
  89. $mComandaPerProductors[$perfilId][$id]['cost_transport_intern_kg']=$mProducte['cost_transport_intern_kg'];
  90. }
  91. if($rebostRef!='0')
  92. {
  93. $mComandaPerProductors[$perfilId][$id]['quantitatT']+=$quantitat;
  94. //$mInfoRutaAbastCsv_[$perfilId]['pesT']+=$quantitat*$mProducte['pes'];
  95. }
  96. }
  97. }
  98. reset($mComandaRebost);
  99. $linCsv++;
  100. }
  101. reset($mComandaTMP);
  102. }
  103. }
  104. else
  105. {
  106. if(($mProducte['actiu']==1) || substr_count($mProducte['tipus'],'especial')>0)
  107. {
  108. while(list($rebostRef,$mComandaRebost)=each($mComandaTMP))
  109. {
  110. while(list($id,$quantitat)=each($mComandaRebost))
  111. {
  112. if($id==$mProducte['id'])
  113. {
  114. $perfilId=substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'));
  115. /*
  116. if(!isset($mInfoRutaAbastCsv_[$perfilId]))
  117. {
  118. $mInfoRutaAbastCsv_[$perfilId]['perfilId']=$perfilId;
  119. $mInfoRutaAbastCsv_[$perfilId]['pesT']=0;
  120. }
  121. */
  122. $mComandaPerProductors[$perfilId][$id][$rebostRef]=$quantitat;
  123. if(!isset($mComandaPerProductors[$perfilId][$id]['quantitatT']))
  124. {
  125. $mComandaPerProductors[$perfilId][$id]['quantitatT']=0;
  126. $mComandaPerProductors[$perfilId][$id]['producte']=$mProducte['producte'];
  127. $mComandaPerProductors[$perfilId][$id]['id']=$mProducte['id'];
  128. $mComandaPerProductors[$perfilId][$id]['tipus']=$mProducte['tipus'];
  129. $mComandaPerProductors[$perfilId][$id]['preu']=$mProducte['preu'];
  130. $mComandaPerProductors[$perfilId][$id]['ms']=$mProducte['ms'];
  131. $mComandaPerProductors[$perfilId][$id]['pes']=$mProducte['pes'];
  132. $mComandaPerProductors[$perfilId][$id]['ms_ctik']=$mProducte['ms_ctik'];
  133. $mComandaPerProductors[$perfilId][$id]['cost_transport_intern_kg']=$mProducte['cost_transport_intern_kg'];
  134. }
  135. if($rebostRef!='0' && isset($mPerfilsRef[$perfilId]))
  136. {
  137. $mComandaPerProductors[$perfilId][$id]['quantitatT']+=$quantitat;
  138. $sZona=@getSuperZona($mPerfilsRef[$perfilId]['zona']);
  139. if
  140. (
  141. !isset($mInfoRutaAbastCsv_[$sZona.'-'.$mPerfilsRef[$perfilId]['zona']])
  142. )
  143. {
  144. $mInfoRutaAbastCsv_[$sZona.'-'.$mPerfilsRef[$perfilId]['zona']]=array();
  145. $mInfoRutaAbastCsv_[$sZona.'-'.$mPerfilsRef[$perfilId]['zona']]=array();
  146. }
  147. if(!isset($mInfoRutaAbastCsv_[$sZona.'-'.$mPerfilsRef[$perfilId]['zona']][$perfilId])){$mInfoRutaAbastCsv_[$sZona.'-'.$mPerfilsRef[$perfilId]['zona']][$perfilId]=array();}
  148. if(!isset($mInfoRutaAbastCsv_[$sZona.'-'.$mPerfilsRef[$perfilId]['zona']][$perfilId]['pesT'])){$mInfoRutaAbastCsv_[$sZona.'-'.$mPerfilsRef[$perfilId]['zona']][$perfilId]['pesT']=0;}
  149. $mInfoRutaAbastCsv_[$sZona.'-'.$mPerfilsRef[$perfilId]['zona']][$perfilId]['pesT']+=$quantitat*$mProducte['pes'];
  150. }
  151. }
  152. }
  153. reset($mComandaRebost);
  154. }
  155. reset($mComandaTMP);
  156. }
  157. }
  158. }
  159. reset($mProductes);
  160. $pesT=0;
  161. //*v36-17-12-15 - condicio
  162. if(!isset($mPars['calculsRecolzament']))
  163. {
  164. $linCsv=3;
  165. $mInfoRutaAbastCsv[0][0]='';
  166. $mInfoRutaAbastCsv[0][1]=0;
  167. $mInfoRutaAbastCsv[1][0]='';
  168. @$mInfoRutaAbastCsv[2][0]='Szona';
  169. @$mInfoRutaAbastCsv[2][1]='zona';
  170. @$mInfoRutaAbastCsv[2][2]='Productora';
  171. @$mInfoRutaAbastCsv[2][3]='PesT';
  172. @$mInfoRutaAbastCsv[2][4]='usuaria';
  173. @$mInfoRutaAbastCsv[2][5]='email';
  174. @$mInfoRutaAbastCsv[2][6]='mobil';
  175. while(list($key,$mVal)=each($mInfoRutaAbastCsv_))
  176. {
  177. while(list($perfilId,$mPerfil)=each($mVal))
  178. {
  179. @$mInfoRutaAbastCsv[$linCsv][0]=getSuperZona($mPerfilsRef[$perfilId]['zona']);
  180. @$mInfoRutaAbastCsv[$linCsv][1]=$mPerfilsRef[$perfilId]['zona'];
  181. @$mInfoRutaAbastCsv[$linCsv][2]=urldecode($mPerfilsRef[$perfilId]['projecte']);
  182. @$mInfoRutaAbastCsv[$linCsv][3]=number_format($mPerfil['pesT'],2,',','');
  183. @$mInfoRutaAbastCsv[$linCsv][4]=$mUsuarisRef[$mPerfilsRef[$perfilId]['usuari_id']]['usuari'];
  184. @$mInfoRutaAbastCsv[$linCsv][5]=$mUsuarisRef[$mPerfilsRef[$perfilId]['usuari_id']]['email'];
  185. @$mInfoRutaAbastCsv[$linCsv][6]=$mUsuarisRef[$mPerfilsRef[$perfilId]['usuari_id']]['mobil'];
  186. $pesT+=@$mPerfil['pesT'];
  187. $linCsv++;
  188. }
  189. }
  190. reset($mInfoRutaAbastCsv_);
  191. @$mInfoRutaAbastCsv[$linCsv][0]='';
  192. @$mInfoRutaAbastCsv[$linCsv][1]='';
  193. @$mInfoRutaAbastCsv[$linCsv][2]='';
  194. @$mInfoRutaAbastCsv[$linCsv][3]='';
  195. @$mInfoRutaAbastCsv[$linCsv][4]='';
  196. @$mInfoRutaAbastCsv[$linCsv][5]='';
  197. @$mInfoRutaAbastCsv[$linCsv][6]='';
  198. $linCsv++;
  199. @$mInfoRutaAbastCsv[$linCsv][0]='';
  200. @$mInfoRutaAbastCsv[$linCsv][1]='';
  201. @$mInfoRutaAbastCsv[$linCsv][2]='';
  202. @$mInfoRutaAbastCsv[$linCsv][3]=number_format($pesT,2,',','').' kg';
  203. @$mInfoRutaAbastCsv[$linCsv][4]='';
  204. @$mInfoRutaAbastCsv[$linCsv][5]='';
  205. @$mInfoRutaAbastCsv[$linCsv][6]='';
  206. $linCsv++;
  207. //$mInfoRutaAbastCsv[1][0]=substr($mInfoRutaAbastCsv[1][0],0,strlen($mInfoRutaAbastCsv[1][0])-1);
  208. }
  209. return $mComandaPerProductors;
  210. }
  211. //-----------------------------------------------------------------------
  212. function db_getReservesAproductor($perfilId,$db)
  213. {
  214. global $mPars;
  215. $mReservesAproductor=array();
  216. if(!$result=mysql_query("select * from ".$mPars['taulaProductes']." where actiu='1' AND estoc_previst!=estoc_disponible AND SUBSTRING_INDEX(productor,'-',1)='".$perfilId."'",$db))
  217. {
  218. //echo "<br> 231 db_distribucioGrups.php ".mysql_errno() . ": " . mysql_error(). "\n";
  219. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'102','db.php');
  220. }
  221. else
  222. {
  223. while($mRow=mysql_fetch_array($result,MYSQL_ASSOC))
  224. {
  225. $mReservesAproductor[$mRow['id']]=$mRow['estoc_previst']-$mRow['estoc_disponible'];
  226. }
  227. }
  228. return $mReservesAproductor;
  229. }
  230. //-----------------------------------------------------------------------
  231. function db_getInventariPerProductors($db)
  232. {
  233. global $mProductes,$mPars;
  234. $mInventariPerProductors=array();
  235. $mInventariTMP=array();
  236. $mInventaris=array();
  237. if(!$result=@mysql_query("select * from inventaris_".(substr($mPars['selRutaSufix'],0,2))." where periode_comanda='".$mPars['periode_comanda']."' order by id DESC",$db))
  238. {
  239. //echo "<br> 19".mysql_errno() . ": " . mysql_error(). "\n";
  240. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'102','db.php');
  241. }
  242. else
  243. {
  244. while($mRow=mysql_fetch_array($result,MYSQL_ASSOC))
  245. {
  246. if(!isset($mInventaris[$mRow['magatzem_ref']])){$mInventaris[$mRow['magatzem_ref']]=$mRow;}
  247. }
  248. while(list($magatzemRef,$mInventari)=each($mInventaris))
  249. {
  250. $mProductesInventari=explode(';',$mInventari['resum']);
  251. for($i=0;$i<count($mProductesInventari);$i++)
  252. {
  253. $mIndexQuantitat=explode(':',$mProductesInventari[$i]);
  254. $id=str_replace('producte_','',$mIndexQuantitat[0]);
  255. $quantitat=@$mIndexQuantitat[1];
  256. if($id!='' && $id!=0 && $quantitat>0)
  257. {
  258. if(!isset($mInventariTMP[$magatzemRef]))
  259. {
  260. $mInventariTMP[$magatzemRef]=array();
  261. }
  262. $mInventariTMP[$magatzemRef][$id]=$quantitat;
  263. }
  264. }
  265. }
  266. reset($mInventaris);
  267. }
  268. // ordenar per productor i afegir TMP i rebosts
  269. if($mPars['veureProductesDisponibles']==1)
  270. {
  271. if($mPars['paginacio']==1)
  272. {
  273. while(list($index,$mProducte)=each($mProductes))
  274. {
  275. if($mProducte['actiu']==1 && $mProducte['visible']==1)
  276. {
  277. while(list($magatzemRef,$mInventariMagatzem)=each($mInventariTMP))
  278. {
  279. while(list($id,$quantitat)=each($mInventariMagatzem))
  280. {
  281. if($id==$mProducte['id'])
  282. {
  283. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id][$magatzemRef]=$quantitat;
  284. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['producte']=$mProducte['producte'];
  285. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['id']=$mProducte['id'];
  286. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['tipus']=$mProducte['tipus'];
  287. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['actiu']=$mProducte['actiu'];
  288. }
  289. }
  290. reset($mInventariMagatzem);
  291. }
  292. reset($mInventariTMP);
  293. }
  294. }
  295. reset($mProductes);
  296. }
  297. else
  298. {
  299. while(list($index,$mProducte)=each($mProductes))
  300. {
  301. if($mProducte['actiu']==1)
  302. {
  303. while(list($magatzemRef,$mInventariMagatzem)=each($mInventariTMP))
  304. {
  305. while(list($id,$quantitat)=each($mInventariMagatzem))
  306. {
  307. if($id==$mProducte['id'])
  308. {
  309. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id][$magatzemRef]=$quantitat;
  310. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['producte']=$mProducte['producte'];
  311. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['id']=$mProducte['id'];
  312. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['tipus']=$mProducte['tipus'];
  313. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['actiu']=$mProducte['actiu'];
  314. }
  315. }
  316. reset($mInventariMagatzem);
  317. }
  318. reset($mInventariTMP);
  319. }
  320. }
  321. reset($mProductes);
  322. }
  323. }
  324. else
  325. {
  326. if($mPars['paginacio']==1)
  327. {
  328. while(list($index,$mProducte)=each($mProductes))
  329. {
  330. if($mProducte['visible']==1)
  331. {
  332. while(list($magatzemRef,$mInventariMagatzem)=each($mInventariTMP))
  333. {
  334. while(list($id,$quantitat)=each($mInventariMagatzem))
  335. {
  336. if($id==$mProducte['id'])
  337. {
  338. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id][$magatzemRef]=$quantitat;
  339. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['producte']=$mProducte['producte'];
  340. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['id']=$mProducte['id'];
  341. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['tipus']=$mProducte['tipus'];
  342. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['actiu']=$mProducte['actiu'];
  343. }
  344. }
  345. reset($mInventariMagatzem);
  346. }
  347. reset($mInventariTMP);
  348. }
  349. }
  350. reset($mProductes);
  351. }
  352. else
  353. {
  354. while(list($index,$mProducte)=each($mProductes))
  355. {
  356. while(list($magatzemRef,$mInventariMagatzem)=each($mInventariTMP))
  357. {
  358. while(list($id,$quantitat)=each($mInventariMagatzem))
  359. {
  360. if($id==$mProducte['id'])
  361. {
  362. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id][$magatzemRef]=$quantitat;
  363. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['producte']=$mProducte['producte'];
  364. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['id']=$mProducte['id'];
  365. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['tipus']=$mProducte['tipus'];
  366. $mInventariPerProductors[substr($mProducte['productor'],0,strpos($mProducte['productor'],'-'))][$id]['actiu']=$mProducte['actiu'];
  367. }
  368. }
  369. reset($mInventariMagatzem);
  370. }
  371. reset($mInventariTMP);
  372. }
  373. reset($mProductes);
  374. }
  375. }
  376. return $mInventariPerProductors;
  377. }
  378. //------------------------------------------------------------------------------
  379. function db_getInfoFullRutaAbastimentCSV($db)
  380. {
  381. global $mPars,$mPerfilsRef,$mInfoRutaAbastCsv;
  382. $dir0=getcwd();
  383. $dir="docs".$mPars['selRutaSufix'];
  384. if(!@chdir($dir))
  385. {
  386. mkdir($dir);
  387. }
  388. else
  389. {
  390. if(!chdir('reserves')){mkdir('reserves');}
  391. chdir($dir0);
  392. }
  393. @unlink("docs".$mPars['selRutaSufix']."/reserves/infoFullRutaAbastiment_".$mPars['usuari_id'].".csv");
  394. if(!$fp=fopen("docs".$mPars['selRutaSufix']."/reserves/infoFullRutaAbastiment_".$mPars['usuari_id'].".csv",'a'))
  395. {
  396. return false;
  397. }
  398. $mH1=array('info per a full ruta abastiment');
  399. fputcsv($fp, $mH1,',','"');
  400. //*v36.2-TOT->TOTS
  401. if(isset($mPars['vProductor']) && $mPars['vProductor']!='' && $mPars['vProductor']!='TOTS')
  402. {
  403. $mH1=array("* només es mostren els productes de la productora: ".(urldecode($mPerfilsRef[$mPars['vProductor']]['projecte'])));
  404. fputcsv($fp, $mH1,',','"');
  405. }
  406. if(isset($mPars['vCategoria']) && $mPars['vCategoria']!='' && $mPars['vCategoria']!='TOT')
  407. {
  408. $mH1=array("* només es mostren els productes de 'categoria': ".$mPars['vCategoria']);
  409. fputcsv($fp, $mH1,',','"');
  410. }
  411. if(isset($mPars['vSubCategoria']) && $mPars['vSubCategoria']!='' && $mPars['vSubCategoria']!='TOT')
  412. {
  413. $mH1=array("* només es mostren els productes de 'sub-categoria': ".$mPars['vSubCategoria']);
  414. fputcsv($fp, $mH1,',','"');
  415. }
  416. if(isset($mPars['etiqueta']) && $mPars['etiqueta']!='' && $mPars['etiqueta']!='CAP')
  417. {
  418. $mH1=array("* només es mostren els productes de 'tipus': ".$mPars['etiqueta']);
  419. fputcsv($fp, $mH1,',','"');
  420. }
  421. if(isset($mPars['etiqueta2']) && $mPars['etiqueta2']!='' && $mPars['etiqueta2']!='CAP')
  422. {
  423. $mH1=array("* no es mostren els productes de 'tipus': ".$mPars['etiqueta2']);
  424. fputcsv($fp, $mH1,',','"');
  425. }
  426. $mH1=array('');
  427. fputcsv($fp, $mH1,',','"');
  428. $mH1=array(date('d/m/Y h:i'));
  429. fputcsv($fp, $mH1,',','"');
  430. $mH1=array('');
  431. fputcsv($fp, $mH1,',','"');
  432. $mH1=array('');
  433. fputcsv($fp, $mH1,',','"');
  434. ksort($mInfoRutaAbastCsv);
  435. while(list($key,$mVal)=each($mInfoRutaAbastCsv))
  436. {
  437. if($key>1)
  438. {
  439. if(!fputcsv($fp, $mVal,',','"'))
  440. {
  441. return false;
  442. }
  443. $mH1=array('');
  444. fputcsv($fp, $mH1,',','"');
  445. }
  446. }
  447. reset($mInfoRutaAbastCsv);
  448. $mH1=array('');
  449. fputcsv($fp, $mH1,',','"');
  450. $mH1=array('');
  451. fputcsv($fp, $mH1,',','"');
  452. fclose($fp);
  453. return;
  454. }
  455. //*v36-15-11-26- funcio
  456. //------------------------------------------------------------------------------
  457. function db_getInfoFullRutaAbastimentCSV2($db)
  458. {
  459. global $mPars,$mPerfilsRef,$mRebostsRef,$mInfoAnulacioReservesCSV;
  460. $dir0=getcwd();
  461. $dir="docs".$mPars['selRutaSufix'];
  462. if(!@chdir($dir))
  463. {
  464. mkdir($dir);
  465. }
  466. else
  467. {
  468. if(!chdir('reserves')){mkdir('reserves');}
  469. chdir($dir0);
  470. }
  471. @unlink("docs".$mPars['selRutaSufix']."/reserves/infoFullRutaAbastiment2_".$mPars['usuari_id'].".csv");
  472. if(!$fp=fopen("docs".$mPars['selRutaSufix']."/reserves/infoFullRutaAbastiment2_".$mPars['usuari_id'].".csv",'a'))
  473. {
  474. return false;
  475. }
  476. $mH1=array('info per a comunicat anul.lació reserves');
  477. fputcsv($fp, $mH1,',','"');
  478. //*v36.2-TOT->TOTS
  479. if(isset($mPars['vProductor']) && $mPars['vProductor']!='' && $mPars['vProductor']!='TOTS')
  480. {
  481. $mH1=array("* només es mostren els productes de la productora: ".(urldecode($mPerfilsRef[$mPars['vProductor']]['projecte'])));
  482. fputcsv($fp, $mH1,',','"');
  483. }
  484. if(isset($mPars['vCategoria']) && $mPars['vCategoria']!='' && $mPars['vCategoria']!='TOT')
  485. {
  486. $mH1=array("* només es mostren els productes de 'categoria': ".$mPars['vCategoria']);
  487. fputcsv($fp, $mH1,',','"');
  488. }
  489. if(isset($mPars['vSubCategoria']) && $mPars['vSubCategoria']!='' && $mPars['vSubCategoria']!='TOT')
  490. {
  491. $mH1=array("* només es mostren els productes de 'sub-categoria': ".$mPars['vSubCategoria']);
  492. fputcsv($fp, $mH1,',','"');
  493. }
  494. if(isset($mPars['etiqueta']) && $mPars['etiqueta']!='' && $mPars['etiqueta']!='CAP')
  495. {
  496. $mH1=array("* només es mostren els productes de 'tipus': ".$mPars['etiqueta']);
  497. fputcsv($fp, $mH1,',','"');
  498. }
  499. if(isset($mPars['etiqueta2']) && $mPars['etiqueta2']!='' && $mPars['etiqueta2']!='CAP')
  500. {
  501. $mH1=array("* no es mostren els productes de 'tipus': ".$mPars['etiqueta2']);
  502. }
  503. fputcsv($fp, $mH1,',','"');
  504. $mH1=array('');
  505. fputcsv($fp, $mH1,',','"');
  506. $mH1=array(date('d/m/Y hh:mm'));
  507. fputcsv($fp, $mH1,',','"');
  508. $mH1=array('');
  509. fputcsv($fp, $mH1,',','"');
  510. //*v36 30-12-15 marca1 1
  511. $mH1=array('');
  512. fputcsv($fp, $mH1,',','"');
  513. //titols columnes:
  514. $mVal2=array('productora','producte','grup','usuari','quantitat','fPagamentEcosPerc','unitat_facturacio','email usuaria');
  515. if(!fputcsv($fp, $mVal2,',','"'))
  516. {
  517. return false;
  518. }
  519. //*v36 30-12-15 marca1 2
  520. $mH1=array('');
  521. fputcsv($fp, $mH1,',','"');
  522. while(list($productor,$mProductor_)=each($mInfoAnulacioReservesCSV))
  523. {
  524. while(list($producteId,$mProducte_)=each($mProductor_))
  525. {
  526. while(list($grupId,$mGrup_)=each($mProducte_))
  527. {
  528. $mPars['grup_id']=$grupId;
  529. db_getFormaPagament($db);//carrega fp a mPars
  530. while(list($usuariId,$mUsuari_)=each($mGrup_))
  531. {
  532. //*v36-30-12-15 1 assignació
  533. $mVal2=array(urldecode($mPerfilsRef[$productor]['projecte']),urldecode($mUsuari_['producte']),@urldecode($mRebostsRef[$grupId]['nom']),urldecode($mUsuari_['usuari']),$mUsuari_['quantitat'],number_format($mPars['fPagamentEcosPerc'],2,',',''),(urldecode($mUsuari_['unitat_facturacio'])),$mUsuari_['email']);
  534. if(!fputcsv($fp, $mVal2,',','"'))
  535. {
  536. return false;
  537. }
  538. $mH1=array('');
  539. fputcsv($fp, $mH1,',','"');
  540. }
  541. reset($mGrup_);
  542. }
  543. reset($mProducte_);
  544. }
  545. reset($mProductor_);
  546. }
  547. reset($mInfoAnulacioReservesCSV);
  548. $mH1=array('');
  549. fputcsv($fp, $mH1,',','"');
  550. $mH1=array('');
  551. //$mInfoAnulacioReservesCSV[0][1].=' uts facturació';
  552. //fputcsv($fp, $mInfoAnulacioReservesCSV[0],',','"');
  553. //$mH1=array('');
  554. //fputcsv($fp, $mH1,',','"');
  555. //$mH1=array('');
  556. //fputcsv($fp, $mInfoAnulacioReservesCSV[1],',','"');
  557. fclose($fp);
  558. return;
  559. }
  560. ?>