PageRenderTime 53ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/db_comptes.php

https://gitlab.com/vado/scadi
PHP | 1397 lines | 1107 code | 175 blank | 115 comment | 202 complexity | 94a6caa36187e66f46377106b0cd6f3b MD5 | raw file
  1. <?php
  2. //v36 24-1-16 modificadet el document sencer
  3. //------------------------------------------------------------------------
  4. function db_getRebostsAmbComandaResum($db)
  5. {
  6. global $mPars,$mProductes,$mParametres,$mGrupsRef,$mProblemaAmb;
  7. $mRebostsAmbComandaResum=array();
  8. $umsT=0;
  9. $ecosT=0;
  10. $eurosT=0;
  11. $pesT=0;
  12. $ctkTums=0;
  13. $ctkTecos=0;
  14. $ctkTeuros=0;
  15. $ctrTums=0;
  16. $ctrTecos=0;
  17. $ctrTeuros=0;
  18. $quantitatTotalCac=0;
  19. $quantitatTotalRebosts=0;
  20. if(!$result=mysql_query("select sum(estoc_previst*pes) from productes_".$mPars['selRutaSufix']." where actiu='1'",$db))
  21. {
  22. //echo "<br> ".mysql_errno() . ": " . mysql_error(). "\n";
  23. return false;
  24. }
  25. else
  26. {
  27. $mRow=mysql_fetch_array($result);
  28. $quantitatTotalCac+=$mRow[0];
  29. }
  30. if(!$result=mysql_query("select * from intercanvis_rebosts_".(substr($mPars['selRutaSufix'],0,2)),$db))
  31. {
  32. //echo "<br> ".mysql_errno() . ": " . mysql_error(). "\n";
  33. //*v36.2-comentari
  34. //return false;
  35. }
  36. else
  37. {
  38. while($mRow=mysql_fetch_array($result,MYSQL_ASSOC))
  39. {
  40. $quantitatTotalRebosts+=$mRow['quantitat'];
  41. }
  42. }
  43. //echo "select * from comandes_".$mPars['selRutaSufix']." ".$where." order by rebost DESC";
  44. if(!$result=@mysql_query("select * from ".$mPars['taulaComandes']." order by rebost DESC",$db))
  45. {
  46. //echo "<br> 19".mysql_errno() . ": " . mysql_error(). "\n";
  47. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'102','db.php');
  48. }
  49. else
  50. {
  51. //echo "<br> 19".mysql_errno() . ": " . mysql_error(). "\n";
  52. while($mRow=mysql_fetch_array($result,MYSQL_ASSOC))
  53. {
  54. $grupRef=substr($mRow['rebost'],0,strpos($mRow['rebost'],'-'));
  55. if(!isset($mRebostsAmbComandaResum[$grupRef]))
  56. {
  57. $mRebostsAmbComandaResum[$grupRef]=array();
  58. $mRebostsAmbComandaResum[$grupRef]['kgT']=0;
  59. $mRebostsAmbComandaResum[$grupRef]['umsT']=0;
  60. $mRebostsAmbComandaResum[$grupRef]['ecosT']=0;
  61. $mRebostsAmbComandaResum[$grupRef]['eurosT']=0;
  62. $mRebostsAmbComandaResum[$grupRef]['ctkTums']=0;
  63. $mRebostsAmbComandaResum[$grupRef]['ctkTecos']=0;
  64. $mRebostsAmbComandaResum[$grupRef]['ctkTeuros']=0;
  65. $mRebostsAmbComandaResum[$grupRef]['ctrTums']=0;
  66. $mRebostsAmbComandaResum[$grupRef]['ctrTecos']=0;
  67. $mRebostsAmbComandaResum[$grupRef]['ctrTeuros']=0;
  68. $mRebostsAmbComandaResum[$grupRef]['umstFDC']=0;
  69. $mRebostsAmbComandaResum[$grupRef]['ecostFDC']=0;
  70. $mRebostsAmbComandaResum[$grupRef]['eurostFDC']=0;
  71. $mRebostsAmbComandaResum[$grupRef]['totalUms']=0;
  72. $mRebostsAmbComandaResum[$grupRef]['totalEcos']=0;
  73. $mRebostsAmbComandaResum[$grupRef]['totalEuros']=0;
  74. }
  75. if(!isset($mRebostsAmbComandaResum[$grupRef]['comandesProductesEspecials']))
  76. {
  77. $mRebostsAmbComandaResum[$grupRef]['comandesProductesEspecials']=0;
  78. }
  79. if($mRow['rebost']!='0-CAC' && $mRow['usuari_id']!=0)
  80. {
  81. $mProductesComanda=explode(';',$mRow['resum']);
  82. for($i=0;$i<count($mProductesComanda);$i++)
  83. {
  84. $mIndexQuantitat=explode(':',$mProductesComanda[$i]);
  85. $key=str_replace('producte_','',$mIndexQuantitat[0]);
  86. $quantitat=@$mIndexQuantitat[1];
  87. if(!isset($mProductes[$key]) && $key!='' && $key!=0)
  88. {
  89. if(!array_key_exists($key,$mProblemaAmb))
  90. {
  91. array_push($mProblemaAmb,$key);
  92. }
  93. }
  94. else if($key!='' && $key!=0)
  95. {
  96. if(substr_count(@$mProductes[$key]['tipus'],'especial')>0)
  97. {
  98. $mRebostsAmbComandaResum[$grupRef]['comandesProductesEspecials']+=1;
  99. }
  100. else
  101. {
  102. $ums_=$mProductes[$key]['preu']*$quantitat;
  103. //echo "<br>id:".$key." producte:".$mProductes[$key]['producte']." preu:".$mProductes[$key]['preu']." quanti:".$quantitat;
  104. $umsT+=$ums_;
  105. $ecos_=$ums_*$mProductes[$key]['ms']/100;
  106. $ecosT+=$ecos_;
  107. $eurosT+=$ums_-$ecos_;
  108. $pesT+=$quantitat*$mProductes[$key]['pes'];
  109. $ctkTums+=$mProductes[$key]['pes']*$quantitat*($mProductes[$key]['cost_transport_extern_kg']+$mProductes[$key]['cost_transport_intern_kg']);
  110. $ctkTecos+=$mProductes[$key]['pes']*$quantitat*(($mProductes[$key]['cost_transport_extern_kg']*$mProductes[$key]['ms_ctek']/100)+($mProductes[$key]['cost_transport_intern_kg']*$mProductes[$key]['ms_ctik']/100));
  111. $ctkTeuros+=$mProductes[$key]['pes']*$quantitat*(($mProductes[$key]['cost_transport_extern_kg']*(100-$mProductes[$key]['ms_ctek'])/100)+($mProductes[$key]['cost_transport_intern_kg']*(100-$mProductes[$key]['ms_ctik'])/100));
  112. $ctrTums+= $mProductes[$key]['pes']*$quantitat*(($mParametres['cost_transport_extern_repartit']['valor']+$mParametres['cost_transport_intern_repartit']['valor'])/($quantitatTotalCac+$quantitatTotalRebosts));
  113. $ctrTecos+= $mProductes[$key]['pes']*$quantitat*(($mParametres['cost_transport_extern_repartit']['valor']*$mParametres['ms_ctear']['valor']/100+$mParametres['cost_transport_intern_repartit']['valor']*$mParametres['ms_ctiar']['valor']/100)/($quantitatTotalCac+$quantitatTotalRebosts));
  114. $ctrTeuros+=$mProductes[$key]['pes']*$quantitat*(($mParametres['cost_transport_extern_repartit']['valor']*(100-$mParametres['ms_ctear']['valor'])/100+$mParametres['cost_transport_intern_repartit']['valor']*(100-$mParametres['ms_ctiar']['valor'])/100)/($quantitatTotalCac+$quantitatTotalRebosts));
  115. }
  116. }
  117. }
  118. $mRebostsAmbComandaResum[$grupRef]['kgT']+=$pesT;
  119. $mRebostsAmbComandaResum[$grupRef]['umsT']+=$umsT;
  120. $mRebostsAmbComandaResum[$grupRef]['ecosT']+=$ecosT;
  121. $mRebostsAmbComandaResum[$grupRef]['eurosT']+=$eurosT;
  122. $mRebostsAmbComandaResum[$grupRef]['ctkTums']+=$ctkTums;
  123. $mRebostsAmbComandaResum[$grupRef]['ctkTecos']+=$ctkTecos;
  124. $mRebostsAmbComandaResum[$grupRef]['ctkTeuros']+=$ctkTeuros;
  125. $mRebostsAmbComandaResum[$grupRef]['ctrTums']+=$ctrTums;
  126. $mRebostsAmbComandaResum[$grupRef]['ctrTecos']+=$ctrTecos;
  127. $mRebostsAmbComandaResum[$grupRef]['ctrTeuros']+=$ctrTeuros;
  128. $mRebostsAmbComandaResum[$grupRef]['umstFDC']+=$umsT*$mParametres['FDCpp']['valor']/100;
  129. $mRebostsAmbComandaResum[$grupRef]['ecostFDC']+=($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  130. $mRebostsAmbComandaResum[$grupRef]['eurostFDC']+=($umsT*$mParametres['FDCpp']['valor']/100)-($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  131. $mRebostsAmbComandaResum[$grupRef]['totalUms']+=$umsT+$ctkTums+$ctrTums+($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  132. $mRebostsAmbComandaResum[$grupRef]['totalEcos']+=$ecosT+$ctkTecos+$ctrTecos+($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  133. $mRebostsAmbComandaResum[$grupRef]['totalEuros']+=$eurosT+$ctkTeuros+$ctrTeuros+($umsT*$mParametres['FDCpp']['valor']/100)-($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  134. $umsT=0;
  135. $ecosT=0;
  136. $eurosT=0;
  137. $pesT=0;
  138. $ctkTums=0;
  139. $ctkTecos=0;
  140. $ctkTeuros=0;
  141. $ctrTums=0;
  142. $ctrTecos=0;
  143. $ctrTeuros=0;
  144. }
  145. else if($mRow['rebost']!='0-CAC' && $mRow['usuari_id']==0)
  146. {
  147. if(!isset($mRow['compte_ecos']) || $mRow['compte_ecos']=='')
  148. {
  149. $mRebostsAmbComandaResum[$grupRef]['compte_ecos']=$mGrupsRef[$grupRef]['compte_ecos'];
  150. }
  151. else
  152. {
  153. $mRebostsAmbComandaResum[$grupRef]['compte_ecos']=$mRow['compte_ecos'];
  154. }
  155. if(!isset($mRow['compte_cieb']) || $mRow['compte_cieb']=='')
  156. {
  157. $mRebostsAmbComandaResum[$grupRef]['compte_cieb']=$mGrupsRef[$grupRef]['compte_cieb'];
  158. }
  159. else
  160. {
  161. $mRebostsAmbComandaResum[$grupRef]['compte_cieb']=$mRow['compte_cieb'];
  162. }
  163. $mRebostsAmbComandaResum[$grupRef]['historial']=str_replace('}{','}
  164. {',$mRow['historial']);
  165. }
  166. }
  167. }
  168. return $mRebostsAmbComandaResum;
  169. }
  170. //------------------------------------------------------------------------
  171. function db_getRebostsAmbComandaResum2($db)
  172. {
  173. global $mPars,$mProductes,$mParametres,$mGrupsRef,$mProblemaAmb;
  174. $mRebostsAmbComandaResum=array();
  175. $umsT=0;
  176. $ecosT=0;
  177. $eurosT=0;
  178. $pesT=0;
  179. $ctkTums=0;
  180. $ctkTecos=0;
  181. $ctkTeuros=0;
  182. $ctrTums=0;
  183. $ctrTecos=0;
  184. $ctrTeuros=0;
  185. $quantitatTotalCac=0;
  186. $quantitatTotalRebosts=0;
  187. if(!$result=mysql_query("select sum(estoc_previst*pes) from ".$mPars['taulaProductes']." where actiu='1' AND llista_id='".$mPars['selLlistaId']."'",$db))
  188. {
  189. //echo "<br> ".mysql_errno() . ": " . mysql_error(). "\n";
  190. return false;
  191. }
  192. else
  193. {
  194. $mRow=mysql_fetch_array($result);
  195. $quantitatTotalCac+=$mRow[0];
  196. }
  197. if(!$result=mysql_query("select * from intercanvis_rebosts_".(substr($mPars['selRutaSufix'],0,2)),$db))
  198. {
  199. //echo "<br> ".mysql_errno() . ": " . mysql_error(). "\n";
  200. //*v36.2-comentari
  201. //return false;
  202. }
  203. else
  204. {
  205. while($mRow=mysql_fetch_array($result,MYSQL_ASSOC))
  206. {
  207. $quantitatTotalRebosts+=$mRow['quantitat'];
  208. }
  209. }
  210. //echo "<br>select * from ".$mPars['taulaComandes']." where SUBSTRING(rebost,1,LOCATE('-',rebost)-1)='".$mPars['grup_id']."' AND usuari_id='0' order by rebost DESC";
  211. if(!$result=@mysql_query("select * from ".$mPars['taulaComandes']." where SUBSTRING(rebost,1,LOCATE('-',rebost)-1)='".$mPars['grup_id']."' AND usuari_id='0' AND llista_id='".$mPars['selLlistaId']."' order by rebost DESC",$db))
  212. {
  213. //echo "<br> 19".mysql_errno() . ": " . mysql_error(). "\n";
  214. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'102','db.php');
  215. }
  216. else
  217. {
  218. //echo "<br> 19".mysql_errno() . ": " . mysql_error(). "\n";
  219. while($mRow=mysql_fetch_array($result,MYSQL_ASSOC))
  220. {
  221. $grupRef=substr($mRow['rebost'],0,strpos($mRow['rebost'],'-'));
  222. if(!isset($mRebostsAmbComandaResum[$grupRef]))
  223. {
  224. $mRebostsAmbComandaResum[$grupRef]=array();
  225. $mRebostsAmbComandaResum[$grupRef]['kgT']=0;
  226. $mRebostsAmbComandaResum[$grupRef]['umsT']=0;
  227. $mRebostsAmbComandaResum[$grupRef]['ecosT']=0;
  228. $mRebostsAmbComandaResum[$grupRef]['eurosT']=0;
  229. $mRebostsAmbComandaResum[$grupRef]['ctkTums']=0;
  230. $mRebostsAmbComandaResum[$grupRef]['ctkTecos']=0;
  231. $mRebostsAmbComandaResum[$grupRef]['ctkTeuros']=0;
  232. $mRebostsAmbComandaResum[$grupRef]['ctrTums']=0;
  233. $mRebostsAmbComandaResum[$grupRef]['ctrTecos']=0;
  234. $mRebostsAmbComandaResum[$grupRef]['ctrTeuros']=0;
  235. $mRebostsAmbComandaResum[$grupRef]['umstFDC']=0;
  236. $mRebostsAmbComandaResum[$grupRef]['ecostFDC']=0;
  237. $mRebostsAmbComandaResum[$grupRef]['eurostFDC']=0;
  238. $mRebostsAmbComandaResum[$grupRef]['totalUms']=0;
  239. $mRebostsAmbComandaResum[$grupRef]['totalEcos']=0;
  240. $mRebostsAmbComandaResum[$grupRef]['totalEuros']=0;
  241. }
  242. if(!isset($mRebostsAmbComandaResum[$grupRef]['comandesProductesEspecials'])){$mRebostsAmbComandaResum[$grupRef]['comandesProductesEspecials']=0;}
  243. if($mRow['rebost']!='0-CAC' && $mRow['usuari_id']!=0)
  244. {
  245. $mProductesComanda=explode(';',$mRow['resum']);
  246. for($i=0;$i<count($mProductesComanda);$i++)
  247. {
  248. $mIndexQuantitat=explode(':',$mProductesComanda[$i]);
  249. $key=str_replace('producte_','',$mIndexQuantitat[0]);
  250. $quantitat=@$mIndexQuantitat[1];
  251. if(!isset($mProductes[$key]) && $key!='' && $key!=0)
  252. {
  253. if(!array_key_exists($key,$mProblemaAmb))
  254. {
  255. array_push($mProblemaAmb,$key);
  256. }
  257. }
  258. else if($key!='' && $key!=0)
  259. {
  260. if(substr_count(@$mProductes[$key]['tipus'],'especial')>0)
  261. {
  262. $mRebostsAmbComandaResum[$grupRef]['comandesProductesEspecials']+=1;
  263. }
  264. $ums_=$mProductes[$key]['preu']*$quantitat;
  265. //echo "<br>id:".$key." producte:".$mProductes[$key]['producte']." preu:".$mProductes[$key]['preu']." quanti:".$quantitat;
  266. $umsT+=$ums_;
  267. $ecos_=$ums_*$mProductes[$key]['ms']/100;
  268. $ecosT+=$ecos_;
  269. $eurosT+=$ums_-$ecos_;
  270. $pesT+=$quantitat*$mProductes[$key]['pes'];
  271. $ctkTums+=$mProductes[$key]['pes']*$quantitat*($mProductes[$key]['cost_transport_extern_kg']+$mProductes[$key]['cost_transport_intern_kg']);
  272. $ctkTecos+=$mProductes[$key]['pes']*$quantitat*(($mProductes[$key]['cost_transport_extern_kg']*$mProductes[$key]['ms_ctek']/100)+($mProductes[$key]['cost_transport_intern_kg']*$mProductes[$key]['ms_ctik']/100));
  273. $ctkTeuros+=$mProductes[$key]['pes']*$quantitat*(($mProductes[$key]['cost_transport_extern_kg']*(100-$mProductes[$key]['ms_ctek'])/100)+($mProductes[$key]['cost_transport_intern_kg']*(100-$mProductes[$key]['ms_ctik'])/100));
  274. $ctrTums+= $mProductes[$key]['pes']*$quantitat*(($mParametres['cost_transport_extern_repartit']['valor']+$mParametres['cost_transport_intern_repartit']['valor'])/($quantitatTotalCac+$quantitatTotalRebosts));
  275. $ctrTecos+= $mProductes[$key]['pes']*$quantitat*(($mParametres['cost_transport_extern_repartit']['valor']*$mParametres['ms_ctear']['valor']/100+$mParametres['cost_transport_intern_repartit']['valor']*$mParametres['ms_ctiar']['valor']/100)/($quantitatTotalCac+$quantitatTotalRebosts));
  276. $ctrTeuros+=$mProductes[$key]['pes']*$quantitat*(($mParametres['cost_transport_extern_repartit']['valor']*(100-$mParametres['ms_ctear']['valor'])/100+$mParametres['cost_transport_intern_repartit']['valor']*(100-$mParametres['ms_ctiar']['valor'])/100)/($quantitatTotalCac+$quantitatTotalRebosts));
  277. }
  278. }
  279. $mRebostsAmbComandaResum[$grupRef]['kgT']+=$pesT;
  280. $mRebostsAmbComandaResum[$grupRef]['umsT']+=$umsT;
  281. $mRebostsAmbComandaResum[$grupRef]['ecosT']+=$ecosT;
  282. $mRebostsAmbComandaResum[$grupRef]['eurosT']+=$eurosT;
  283. $mRebostsAmbComandaResum[$grupRef]['ctkTums']+=$ctkTums;
  284. $mRebostsAmbComandaResum[$grupRef]['ctkTecos']+=$ctkTecos;
  285. $mRebostsAmbComandaResum[$grupRef]['ctkTeuros']+=$ctkTeuros;
  286. $mRebostsAmbComandaResum[$grupRef]['ctrTums']+=$ctrTums;
  287. $mRebostsAmbComandaResum[$grupRef]['ctrTecos']+=$ctrTecos;
  288. $mRebostsAmbComandaResum[$grupRef]['ctrTeuros']+=$ctrTeuros;
  289. $mRebostsAmbComandaResum[$grupRef]['umstFDC']+=$umsT*$mParametres['FDCpp']['valor']/100;
  290. $mRebostsAmbComandaResum[$grupRef]['ecostFDC']+=($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  291. $mRebostsAmbComandaResum[$grupRef]['eurostFDC']+=($umsT*$mParametres['FDCpp']['valor']/100)-($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  292. $mRebostsAmbComandaResum[$grupRef]['totalUms']+=$umsT+$ctkTums+$ctrTums+($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  293. $mRebostsAmbComandaResum[$grupRef]['totalEcos']+=$ecosT+$ctkTecos+$ctrTecos+($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  294. $mRebostsAmbComandaResum[$grupRef]['totalEuros']+=$eurosT+$ctkTeuros+$ctrTeuros+($umsT*$mParametres['FDCpp']['valor']/100)-($umsT*$mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  295. $umsT=0;
  296. $ecosT=0;
  297. $eurosT=0;
  298. $pesT=0;
  299. $ctkTums=0;
  300. $ctkTecos=0;
  301. $ctkTeuros=0;
  302. $ctrTums=0;
  303. $ctrTecos=0;
  304. $ctrTeuros=0;
  305. }
  306. else if($mRow['rebost']!='0-CAC' && $mRow['usuari_id']==0)
  307. {
  308. if(!isset($mRow['compte_ecos']) || $mRow['compte_ecos']=='')
  309. {
  310. $mRebostsAmbComandaResum[$grupRef]['compte_ecos']=$mGrupsRef[$grupRef]['compte_ecos'];
  311. }
  312. else
  313. {
  314. $mRebostsAmbComandaResum[$grupRef]['compte_ecos']=$mRow['compte_ecos'];
  315. }
  316. if(!isset($mRow['compte_cieb']) || $mRow['compte_cieb']=='')
  317. {
  318. $mRebostsAmbComandaResum[$grupRef]['compte_cieb']=$mGrupsRef[$grupRef]['compte_cieb'];
  319. }
  320. else
  321. {
  322. $mRebostsAmbComandaResum[$grupRef]['compte_cieb']=$mRow['compte_cieb'];
  323. }
  324. $mRebostsAmbComandaResum[$grupRef]['historial']=str_replace('}{','}
  325. {',$mRow['historial']);
  326. }
  327. }
  328. }
  329. return $mRebostsAmbComandaResum;
  330. }
  331. //------------------------------------------------------------------------
  332. function db_getRebostsAmbComandaResum2Local($db)
  333. {
  334. global $mPars,$mProductes,$mParametres,$mGrupsRef,$mProblemaAmb,$mPropietatsPeriodesLocals;
  335. $mRebostsAmbComandaResum=array();
  336. $umsT=0;
  337. $ecosT=0;
  338. $eurosT=0;
  339. $pesT=0;
  340. $ctkTums=0;
  341. $ctkTecos=0;
  342. $ctkTeuros=0;
  343. $ctrTums=0;
  344. $ctrTecos=0;
  345. $ctrTeuros=0;
  346. $quantitatTotalCac=0;
  347. $quantitatTotalRebosts=0;
  348. if(!$result=mysql_query("select sum(estoc_previst*pes) from ".$mPars['taulaProductes']." where actiu='1' AND llista_id='".$mPars['selLlistaId']."'",$db))
  349. {
  350. //echo "<br> ".mysql_errno() . ": " . mysql_error(). "\n";
  351. return false;
  352. }
  353. else
  354. {
  355. $mRow=mysql_fetch_array($result);
  356. $quantitatTotalCac+=$mRow[0];
  357. }
  358. //echo "<br>select * from ".$mPars['taulaComandes']." where SUBSTRING(rebost,1,LOCATE('-',rebost)-1)='".$mPars['selLlistaId']."' AND usuari_id!='0' AND llista_id='".$mPars['selLlistaId']."' AND periode_comanda='".$mPars['sel_periode_comanda_local']."' order by rebost DESC";
  359. if(!$result=@mysql_query("select * from ".$mPars['taulaComandes']." where SUBSTRING(rebost,1,LOCATE('-',rebost)-1)='".$mPars['selLlistaId']."' AND usuari_id!='0' AND llista_id='".$mPars['selLlistaId']."' AND periode_comanda='".$mPars['sel_periode_comanda_local']."' order by rebost DESC",$db))
  360. {
  361. //echo "<br> 19".mysql_errno() . ": " . mysql_error(). "\n";
  362. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'102','db.php');
  363. }
  364. else
  365. {
  366. //echo "<br> 19".mysql_errno() . ": " . mysql_error(). "\n";
  367. while($mRow=mysql_fetch_array($result,MYSQL_ASSOC))
  368. {
  369. $grupRef=$mPars['selLlistaId'];
  370. if(!isset($mRebostsAmbComandaResum[$grupRef]))
  371. {
  372. $mRebostsAmbComandaResum[$grupRef]=array();
  373. $mRebostsAmbComandaResum[$grupRef]['kgT']=0;
  374. $mRebostsAmbComandaResum[$grupRef]['umsT']=0;
  375. $mRebostsAmbComandaResum[$grupRef]['ecosT']=0;
  376. $mRebostsAmbComandaResum[$grupRef]['eurosT']=0;
  377. $mRebostsAmbComandaResum[$grupRef]['ctkTums']=0;
  378. $mRebostsAmbComandaResum[$grupRef]['ctkTecos']=0;
  379. $mRebostsAmbComandaResum[$grupRef]['ctkTeuros']=0;
  380. $mRebostsAmbComandaResum[$grupRef]['umstFDC']=0;
  381. $mRebostsAmbComandaResum[$grupRef]['ecostFDC']=0;
  382. $mRebostsAmbComandaResum[$grupRef]['eurostFDC']=0;
  383. $mRebostsAmbComandaResum[$grupRef]['totalUms']=0;
  384. $mRebostsAmbComandaResum[$grupRef]['totalEcos']=0;
  385. $mRebostsAmbComandaResum[$grupRef]['totalEuros']=0;
  386. }
  387. $mProductesComanda=explode(';',$mRow['resum']);
  388. for($i=0;$i<count($mProductesComanda);$i++)
  389. {
  390. $mIndexQuantitat=explode(':',$mProductesComanda[$i]);
  391. $key=str_replace('producte_','',$mIndexQuantitat[0]);
  392. $quantitat=@$mIndexQuantitat[1];
  393. if(!isset($mProductes[$key]) && $key!='' && $key!=0)
  394. {
  395. if(!array_key_exists($key,$mProblemaAmb))
  396. {
  397. array_push($mProblemaAmb,$key);
  398. }
  399. }
  400. else if($key!='' && $key!=0)
  401. {
  402. $ums_=$mProductes[$key]['preu']*$quantitat;
  403. //echo "<br>id:".$key." producte:".$mProductes[$key]['producte']." preu:".$mProductes[$key]['preu']." quanti:".$quantitat;
  404. $umsT+=$ums_;
  405. $ecos_=$ums_*$mProductes[$key]['ms']/100;
  406. $ecosT+=$ecos_;
  407. $eurosT+=$ums_-$ecos_;
  408. $pesT+=$quantitat*$mProductes[$key]['pes'];
  409. $ctkTums+=$mProductes[$key]['pes']*$quantitat*$mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['ctikLocal'];
  410. $ctkTecos+=$mProductes[$key]['pes']*$quantitat*($mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['ctikLocal']*$mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['ms_ctikLocal']/100);
  411. $ctkTeuros+=$mProductes[$key]['pes']*$quantitat*($mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['ctikLocal']*(100-$mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['ms_ctikLocal'])/100);
  412. }
  413. }
  414. $mRebostsAmbComandaResum[$grupRef]['kgT']+=$pesT;
  415. $mRebostsAmbComandaResum[$grupRef]['umsT']+=$umsT;
  416. $mRebostsAmbComandaResum[$grupRef]['ecosT']+=$ecosT;
  417. $mRebostsAmbComandaResum[$grupRef]['eurosT']+=$eurosT;
  418. $mRebostsAmbComandaResum[$grupRef]['ctkTums']+=$ctkTums;
  419. $mRebostsAmbComandaResum[$grupRef]['ctkTecos']+=$ctkTecos;
  420. $mRebostsAmbComandaResum[$grupRef]['ctkTeuros']+=$ctkTeuros;
  421. $mRebostsAmbComandaResum[$grupRef]['umstFDC']+=$umsT*$mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['fdLocal']/100;
  422. $mRebostsAmbComandaResum[$grupRef]['ecostFDC']+=$umsT*($mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['fdLocal']/100)*($mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['ms_fdLocal']);
  423. $mRebostsAmbComandaResum[$grupRef]['eurostFDC']+=$umsT*($mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['fdLocal']/100)*((100-$mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['ms_fdLocal'])/100);
  424. $mRebostsAmbComandaResum[$grupRef]['totalUms']+=$umsT+$ctkTums+($umsT*$mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['fdLocal']/100);
  425. $mRebostsAmbComandaResum[$grupRef]['totalEcos']+=$ecosT+$ctkTecos+($mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['fdLocal']/100)*($mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['ms_fdLocal']);
  426. $mRebostsAmbComandaResum[$grupRef]['totalEuros']+=$eurosT+$ctkTeuros+($umsT*($mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['fdLocal']/100)*((100-$mPropietatsPeriodesLocals[$mPars['sel_periode_comanda_local']]['ms_fdLocal'])/100));
  427. $umsT=0;
  428. $ecosT=0;
  429. $eurosT=0;
  430. $pesT=0;
  431. $ctkTums=0;
  432. $ctkTecos=0;
  433. $ctkTeuros=0;
  434. $ctrTums=0;
  435. $ctrTecos=0;
  436. $ctrTeuros=0;
  437. }
  438. }
  439. return $mRebostsAmbComandaResum;
  440. }
  441. //------------------------------------------------------------------------------
  442. function db_actualitzarFormesPagamentGrups($grupId_,$opt,$db)
  443. {
  444. global $mPars,$mParametres,$mProductes,$mUsuarisRef,$mRebostsAmbComandaResum,$mComptesGrupsRef,$mUsuarisGrupRef,$mGrupsRef;
  445. $mMissatgeAlerta=array();
  446. $mMissatgeAlerta['missatge']='';
  447. $mMissatgeAlerta['result']='';
  448. $costProductes=0;
  449. $costTransport=0;
  450. $costFDcac=0;
  451. $costProductesEcos=0;
  452. $costTransportEcos=0;
  453. $costFDcacEcos=0;
  454. $costProductesT=0;
  455. $costTransportT=0;
  456. $costFDcacT=0;
  457. $importUsuari=0;
  458. $importUsuariEcos=0;
  459. $importUsuariEb=0;
  460. $importUsuariEuros=0;
  461. $importGrup=0;
  462. $importGrupEcos=0;
  463. $importGrupEb=0;
  464. $importGrupEuros=0;
  465. $importGrups=0;
  466. $importGrupsEcos=0;
  467. $importGrupsEb=0;
  468. $importGrupsEuros=0;
  469. // eliminar comandes actives d'usuaris sense cap producte reservat
  470. if(!$result=mysql_query("delete from comandes_".$mPars['selRutaSufix']." where usuari_id!='0' AND resum=''",$db))
  471. {
  472. //echo "<br> 689 ".mysql_errno() . ": " . mysql_error(). "\n";
  473. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'102','db.php');
  474. }
  475. while(list($grupId,$mVal)=each($mRebostsAmbComandaResum))
  476. {
  477. if
  478. (
  479. ($grupId_!='' && $grupId_==$grupId)
  480. ||
  481. $grupId_==''
  482. )
  483. {
  484. $cont=0;
  485. //obtenir imports usuaris grups
  486. //echo "<br>"."select * from comandes_".$mPars['selRutaSufix']." where usuari_id!='0' AND SUBSTRING_INDEX(rebost,'-',1)='".$grupId."'";
  487. // if($grupId!=0 && $grupId!='0' && $grupId!=62)
  488. if($grupId!=0 && $grupId!='0')
  489. {
  490. $mPars['grup_id']=$grupId;
  491. $mUsuarisGrupRef=db_getUsuarisGrupRef($db);
  492. $numUsuarisGrupNoCom=getUsuarisGrupNoCom();
  493. if(!$result=mysql_query("select * from comandes_".$mPars['selRutaSufix']." where usuari_id!='0' AND SUBSTRING_INDEX(rebost,'-',1)='".$grupId."' AND resum!=''",$db))
  494. {
  495. //echo "<br> 19".mysql_errno() . ": " . mysql_error(). "\n";
  496. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'102','db.php');
  497. }
  498. else
  499. {
  500. while($mRow=mysql_fetch_array($result,MYSQL_ASSOC))
  501. {
  502. $cont++;
  503. $mProductesComanda=explode(';',$mRow['resum']);
  504. for($i=0;$i<count($mProductesComanda);$i++)
  505. {
  506. $mIndexQuantitat=explode(':',$mProductesComanda[$i]);
  507. $index=str_replace('producte_','',$mIndexQuantitat[0]);
  508. $quantitat=@$mIndexQuantitat[1];
  509. if($index!='' && $index!=0 && isset($mProductes[$index]) && substr_count($mProductes[$index]['tipus'],'especial')==0)
  510. {
  511. $costProductes+=$quantitat*$mProductes[$index]['preu'];
  512. $costTransport+=$quantitat*$mProductes[$index]['pes']*$mProductes[$index]['cost_transport_intern_kg'];
  513. $costFDcac+=$quantitat*$mProductes[$index]['preu']*$mParametres['FDCpp']['valor']/100;
  514. $costProductesEcos+=$quantitat*$mProductes[$index]['preu']*$mProductes[$index]['ms']/100;
  515. $costTransportEcos+=$quantitat*$mProductes[$index]['pes']*$mProductes[$index]['cost_transport_intern_kg']*$mProductes[$index]['ms_ctik']/100;
  516. $costFDcacEcos+=$quantitat*$mProductes[$index]['preu']*($mParametres['FDCpp']['valor']/100)*($mParametres['msFDCpp']['valor']/100);
  517. }
  518. }
  519. $importUsuari=$costProductes+$costTransport+$costFDcac;
  520. $importUsuariEcos=$costProductesEcos+$costTransportEcos+$costFDcacEcos;
  521. $importUsuariEb=0;
  522. $importUsuariEuros=$importUsuari-$importUsuariEcos;
  523. $costProductes=0;
  524. $costTransport=0;
  525. $costFDcac=0;
  526. $costProductesEcos=0;
  527. $costTransportEcos=0;
  528. $costFDcacEcos=0;
  529. $nomRebost=substr($mRow['rebost'],strpos($mRow['rebost'],'-')+1);
  530. if($opt==1 && $mPars['nivell']=='sadmin')
  531. {
  532. //actualitzar comandes
  533. $mFormaPagament=explode(',',$mRow['f_pagament']);
  534. if(!isset($mFormaPagament[0])){$mFormaPagament[0]=0;}
  535. if(!isset($mFormaPagament[1])){$mFormaPagament[1]=0;}
  536. if(!isset($mFormaPagament[2])){$mFormaPagament[2]=0;}
  537. if(!isset($mFormaPagament[3])){$mFormaPagament[3]=0;}
  538. if(!isset($mFormaPagament[4])){$mFormaPagament[4]=0;}
  539. if(!isset($mFormaPagament[5])){$mFormaPagament[5]=0;}
  540. if(!isset($mFormaPagament[6])){$mFormaPagament[6]=0;}
  541. if(!isset($mFormaPagament[7])){$mFormaPagament[7]=0;}
  542. if(!isset($mFormaPagament[8])){$mFormaPagament[8]=0;}
  543. if(!isset($mFormaPagament[9]))
  544. {
  545. //max % ms
  546. if($importUsuariEcos*1!=0 && $importUsuariEb*1==0 && $importUsuariEuros*1==0)
  547. {
  548. $mFormaPagament[9]=7;
  549. }
  550. else //max% eb
  551. if($importUsuariEcos*1==0 && $importUsuariEb*1!=0 && $importUsuariEuros*1==0)
  552. {
  553. $mFormaPagament[9]=8;
  554. }
  555. else // 100% euros
  556. if($importUsuariEcos*1==0 && $importUsuariEb*1==0 && $importUsuariEuros*1!=0)
  557. {
  558. $mFormaPagament[9]=9;
  559. }
  560. else // 50% ecos i 50% eb
  561. if($importUsuariEcos*1!=0 && $importUsuariEcos*1==$importUsuariEb*1 && $importUsuariEuros*1==0)
  562. {
  563. $mFormaPagament[9]=10;
  564. }
  565. else // 50% eb i 50% euros
  566. if($importUsuariEcos*1==0 && $importUsuariEb*1!=0 && $importUsuariEb*1==$importUsuariEuros*1)
  567. {
  568. $mFormaPagament[9]=12;
  569. }
  570. else // 50% ecos i 50% euros
  571. if($importUsuariEcos*1!=0 && $importUsuariEb*1==0 && $importUsuariEcos*1==$importUsuariEuros*1)
  572. {
  573. $mFormaPagament[9]=11;
  574. }
  575. else // %ms productors
  576. {
  577. $mFormaPagament[9]=13;
  578. }
  579. }
  580. $totalUms=$mFormaPagament[0]*1+$mFormaPagament[1]*1+$mFormaPagament[2]*1;
  581. if($totalUms>0)
  582. {
  583. $mFormaPagament[6]=$mFormaPagament[0]*100/$totalUms;
  584. $mFormaPagament[7]=$mFormaPagament[1]*100/$totalUms;
  585. $mFormaPagament[8]=$mFormaPagament[2]*100/$totalUms;
  586. }
  587. else if($totalUms>0)
  588. {
  589. $mFormaPagament[6]=0;
  590. $mFormaPagament[7]=0;
  591. $mFormaPagament[8]=0;
  592. }
  593. if($importUsuari>0 || $totalUms>0)
  594. {
  595. if($totalUms!=$importUsuari)
  596. {
  597. $mFormaPagament[6]=$importUsuariEcos*100/$importUsuari;
  598. $mFormaPagament[7]=$importUsuariEb*100/$importUsuari;
  599. $mFormaPagament[8]=$importUsuariEuros*100/$importUsuari;
  600. $mFormaPagament[0]=$importUsuariEcos;
  601. $mFormaPagament[1]=$importUsuariEb;
  602. $mFormaPagament[2]=$importUsuariEuros;
  603. }
  604. //aplicar filtre max ecos
  605. if(!isset($mComptesGrupsRef[$grupId]['saldo_ecos_r'])){$mComptesGrupsRef[$grupId]['saldo_ecos_r']=0;}
  606. $maxEcos=$importUsuariEcos+$mComptesGrupsRef[$grupId]['saldo_ecos_r']/$numUsuarisGrupNoCom;
  607. if($mFormaPagament[9]*1==7) //max % ecos
  608. {
  609. if($mFormaPagament[0]*1!=$maxEcos)
  610. {
  611. if($mFormaPagament[0]*1>$maxEcos)
  612. {
  613. $mFormaPagament[2]=$maxEcos-$mFormaPagament[0]*1;
  614. $mFormaPagament[0]=$maxEcos;
  615. }
  616. else if
  617. (
  618. $mFormaPagament[0]*1<$maxEcos
  619. &&
  620. $mFormaPagament[2]*1>0
  621. )
  622. {
  623. if(($mFormaPagament[2]*1+$mFormaPagament[0]*1)<=$maxEcos )
  624. {
  625. $mFormaPagament[0]=$mFormaPagament[2]*1+$mFormaPagament[0]*1;
  626. $mFormaPagament[2]=0;
  627. }
  628. else
  629. {
  630. $mFormaPagament[2]=($mFormaPagament[2]*1+$mFormaPagament[0]*1)-$maxEcos;
  631. $mFormaPagament[0]=$maxEcos;
  632. }
  633. }
  634. }
  635. $mFormaPagament[0]=number_format($mFormaPagament[0],2,'.','');
  636. $mFormaPagament[2]=number_format($mFormaPagament[2],2,'.','');
  637. }
  638. else if($mFormaPagament[9]*1==9) // 100% euros
  639. {
  640. $mFormaPagament[0]=0;
  641. $mFormaPagament[1]=0;
  642. $mFormaPagament[2]=number_format($importUsuari,2,'.','');
  643. $mFormaPagament[6]=0;
  644. $mFormaPagament[7]=0;
  645. $mFormaPagament[8]=100;
  646. }
  647. else if($mFormaPagament[9]*1==11) // 50% ecos 50% euros
  648. {
  649. $mFormaPagament[0]=number_format(($importUsuari/2),2,'.','');
  650. $mFormaPagament[1]=0;
  651. $mFormaPagament[2]=number_format(($importUsuari/2),2,'.','');
  652. $mFormaPagament[6]=50;
  653. $mFormaPagament[7]=0;
  654. $mFormaPagament[8]=50;
  655. }
  656. else if($mFormaPagament[9]*1==13) // %ms productors
  657. {
  658. if($importUsuari>0)
  659. {
  660. $mFormaPagament[0]=number_format($importUsuariEcos,2,'.','');
  661. $mFormaPagament[1]=0;
  662. $mFormaPagament[2]=number_format(($importUsuari-$importUsuariEcos),2,'.','');
  663. $mFormaPagament[6]=number_format(($importUsuariEcos*100/$importUsuari),2,'.','');
  664. $mFormaPagament[7]=0;
  665. $mFormaPagament[8]=number_format((($importUsuari-$importUsuariEcos)*100/$importUsuari),2,'.','');
  666. }
  667. else
  668. {
  669. $mFormaPagament[0]=number_format($importUsuariEcos,2,'.','');
  670. $mFormaPagament[1]=0;
  671. $mFormaPagament[2]=number_format(($importUsuari-$importUsuariEcos),2,'.','');
  672. $mFormaPagament[6]=number_format(0,2,'.','');
  673. $mFormaPagament[7]=0;
  674. $mFormaPagament[8]=number_format(0,2,'.','');
  675. }
  676. }
  677. //filtre limit ecos
  678. if($mFormaPagament[0]*1>$maxEcos)
  679. {
  680. $mFormaPagament_0=$mFormaPagament[0];
  681. $mFormaPagament[2]+=$mFormaPagament_0*1-$maxEcos;
  682. $mFormaPagament[0]-=$mFormaPagament_0*1-$maxEcos;
  683. }
  684. $totalUms=$mFormaPagament[0]+$mFormaPagament[1]+$mFormaPagament[2];
  685. //definir percentatges a partir dels valors recalculats
  686. if($totalUms>=0.01)
  687. {
  688. //pp ecos:
  689. $mFormaPagament[6]=number_format(($mFormaPagament[0]/$totalUms)*100,2,'.','');
  690. //pp eb:
  691. $mFormaPagament[7]=number_format(($mFormaPagament[1]/$totalUms)*100,2,'.','');
  692. //pp euros:
  693. $mFormaPagament[8]=number_format(($mFormaPagament[2]/$totalUms)*100,2,'.','');
  694. }
  695. else
  696. {
  697. //pp ecos:
  698. $mFormaPagament[6]=0;
  699. //pp eb:
  700. $mFormaPagament[7]=0;
  701. //pp euros:
  702. $mFormaPagament[8]=0;
  703. }
  704. $mPars['f_pagament']=
  705. (number_format($mFormaPagament[0],2,'.',''))
  706. .",".
  707. (number_format($mFormaPagament[1],2,'.',''))
  708. .",".
  709. (number_format($mFormaPagament[2],2,'.',''))
  710. .",".
  711. $mFormaPagament[3]
  712. .",".
  713. $mFormaPagament[4]
  714. .",".
  715. $mFormaPagament[5]
  716. .",".
  717. (number_format($mFormaPagament[6],2,'.',''))
  718. .",".
  719. (number_format($mFormaPagament[7],2,'.',''))
  720. .",".
  721. (number_format($mFormaPagament[8],2,'.',''))
  722. .','.
  723. $mFormaPagament[9];
  724. }
  725. else
  726. {
  727. $mPars['f_pagament']='0,0,0,0,0,0,0,0,7';
  728. }
  729. if
  730. (
  731. $mPars['f_pagament']!=$mRow['f_pagament']
  732. )
  733. {
  734. //---------------------------
  735. //registre historial comanda
  736. $registre='';
  737. $mGC['usuari_id']=$mPars['usuari_id'];
  738. $mGC['f_pagament']=$mPars['f_pagament'];
  739. while(list($key,$val)=each($mGC))
  740. {
  741. $registre.='{p:guardarComanda;us:'.$mGC['usuari_id'].'[AUTO];'.$key.':'.$val.';dt:'.date('d/m/Y H:i:s').';}';
  742. }
  743. reset($mGC);
  744. //---------------------------
  745. //guardar la comanda d'aquest usuari
  746. $nomRebost=substr($mRow['rebost'],strpos($mRow['rebost'],'-')+1);
  747. if(!$result2=@mysql_query("update comandes_".$mPars['selRutaSufix']." set f_pagament='".$mPars['f_pagament']."',historial=CONCAT(historial,'".$registre."') where id='".$mRow['id']."'",$db))
  748. {
  749. //echo "<br> 281 db_comptes.php ".mysql_errno() . ": " . mysql_error(). "\n";
  750. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'100','db.php');
  751. $mMissatgeAlerta['missatge'].="<p class='pAlertaNo4'>Error: actualitzar forma_pagament usuari <b>".$mUsuarisRef[$mRow['usuari_id']]['usuari']."</b> a grup: '".(urldecode($nomRebost))."' :<br>".$mRow['f_pagament'].">><br>".$mPars['f_pagament']."</p>";
  752. }
  753. else
  754. {
  755. //echo "<br> 281 db_comptes.php ".mysql_errno() . ": " . mysql_error(). "\n";
  756. $mMissatgeAlerta['missatge'].="<p class='pAlertaOk4'>Ok: actualitzar forma_pagament usuari <b>".$mUsuarisRef[$mRow['usuari_id']]['usuari']."</b> a grup: '".(urldecode($nomRebost))."' :<br>".$mRow['f_pagament'].">><br>".$mPars['f_pagament']." [max: ".(number_format($maxEcos,2,'.',''))." ecos]</p>";
  757. }
  758. }
  759. }
  760. else
  761. if($grupId_!='' )
  762. {
  763. echo "<p class='p_micro2'>".urldecode($mUsuarisRef[$mRow['usuari_id']]['usuari'])." : ".$mRow['f_pagament']."</p>";
  764. }
  765. $importGrup+=$importUsuari;
  766. $importGrupEcos+=$importUsuariEcos;
  767. $importGrupEb+=$importUsuariEb;
  768. $importGrupEuros+=$importUsuariEuros;
  769. }
  770. }
  771. // obtenir imports del grup
  772. //obtenir imports usuaris grups
  773. if(!$result=mysql_query("select * from comandes_".$mPars['selRutaSufix']." where usuari_id='0' AND SUBSTRING_INDEX(rebost,'-',1)='".$grupId."' order by id DESC",$db))
  774. {
  775. //echo "<br> 428 db_comptes.php ".mysql_errno() . ": " . mysql_error(). "\n";
  776. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'102','db.php');
  777. }
  778. else
  779. {
  780. $mRow=mysql_fetch_array($result,MYSQL_ASSOC);
  781. if($mRow && $opt==1 && $mPars['nivell']=='sadmin')
  782. {
  783. //---------------------------
  784. //obtenir import de comanda segons productes
  785. $mGEdistrib=db_getImportComandaGrupAcac($grupId,$db);
  786. //actualitzar comandes
  787. // si el grup no ha decidit de quina forma paga, que es guardi segons % monetaris usuaris
  788. $mFormaPagamentg=explode(',',$mRow['f_pagament']);
  789. if(!isset($mFormaPagamentg[0])){$mFormaPagamentg[0]=0;}
  790. if(!isset($mFormaPagamentg[1])){$mFormaPagamentg[1]=0;}
  791. if(!isset($mFormaPagamentg[2])){$mFormaPagamentg[2]=0;}
  792. if(!isset($mFormaPagamentg[3])){$mFormaPagamentg[3]=0;}
  793. if(!isset($mFormaPagamentg[4])){$mFormaPagamentg[4]=1;}
  794. if(!isset($mFormaPagamentg[5])){$mFormaPagamentg[5]=0;}
  795. if(!isset($mFormaPagamentg[6])){$mFormaPagamentg[6]=0;}
  796. if(!isset($mFormaPagamentg[7])){$mFormaPagamentg[7]=0;}
  797. if(!isset($mFormaPagamentg[8])){$mFormaPagamentg[8]=0;}
  798. if(!isset($mFormaPagamentg[9]))
  799. {
  800. //max % ms
  801. if($importGrupEcos*1!=0 && $importGrupEb*1==0 && $importGrupEuros*1==0)
  802. {
  803. $mFormaPagamentg[9]=7;
  804. }
  805. else //max% eb
  806. if($importGrupEcos*1==0 && $importGrupEb*1!=0 && $importGrupEuros*1==0)
  807. {
  808. $mFormaPagamentg[9]=8;
  809. }
  810. else // 100% euros
  811. if($importGrupEcos*1==0 && $importGrupEb*1==0 && $importGrupEuros*1!=0)
  812. {
  813. $mFormaPagamentg[9]=9;
  814. }
  815. else // 50% ecos i 50% eb
  816. if($importGrupEcos*1!=0 && $importGrupEcos*1==$importGrupEb*1 && $importGrupEuros*1==0)
  817. {
  818. $mFormaPagamentg[9]=10;
  819. }
  820. else // 50% eb i 50% euros
  821. if($importGrupEcos*1==0 && $importGrupEb*1!=0 && $importGrupEb*1==$importGrupEuros*1)
  822. {
  823. $mFormaPagamentg[9]=12;
  824. }
  825. else // 50% ecos i 50% euros
  826. if($importGrupEcos*1!=0 && $importGrupEb*1==0 && $importGrupEcos*1==$importGrupEuros*1)
  827. {
  828. $mFormaPagamentg[9]=11;
  829. }
  830. else // %ms productors
  831. {
  832. $mFormaPagamentg[9]=13;
  833. }
  834. }
  835. //si no s'ha guardat la forma de pagament i els % no sumen 100
  836. if(!isset($mComptesGrupsRef[$grupId]['saldo_ecos_r'])){$mComptesGrupsRef[$grupId]['saldo_ecos_r']=0;}
  837. $maxEcos=$mGEdistrib['ecos']+$mComptesGrupsRef[$grupId]['saldo_ecos_r'];
  838. $totalUms=$mFormaPagamentg[0]*1+$mFormaPagamentg[1]*1+$mFormaPagamentg[2]*1;
  839. if($totalUms>0)
  840. {
  841. $mFormaPagamentg[6]=$mFormaPagamentg[0]*100/$totalUms;
  842. $mFormaPagamentg[7]=$mFormaPagamentg[1]*100/$totalUms;
  843. $mFormaPagamentg[8]=$mFormaPagamentg[2]*100/$totalUms;
  844. }
  845. else if($totalUms>0)
  846. {
  847. $mFormaPagamentg[6]=0;
  848. $mFormaPagamentg[7]=0;
  849. $mFormaPagamentg[8]=0;
  850. }
  851. if($importGrup>0 || $totalUms>0 || $mGEdistrib['ums']>0)
  852. {
  853. if($totalUms!=$importGrup)
  854. {
  855. $mFormaPagamentg[6]=$importGrupEcos*100/$importGrup;
  856. $mFormaPagamentg[7]=$importGrupEb*100/$importGrup;
  857. $mFormaPagamentg[8]=$importGrupEuros*100/$importGrup;
  858. $mFormaPagamentg[0]=$importGrupEcos;
  859. $mFormaPagamentg[1]=$importGrupEb;
  860. $mFormaPagamentg[2]=$importGrupEuros;
  861. }
  862. if($importGrup!=$mGEdistrib['ums'])
  863. {
  864. $mFormaPagamentg[6]=$mGEdistrib['ecos']*100/$mGEdistrib['ums'];
  865. $mFormaPagamentg[7]=0;
  866. $mFormaPagamentg[8]=$mGEdistrib['euros']*100/$mGEdistrib['ums'];
  867. $mFormaPagamentg[0]=$mGEdistrib['ecos'];
  868. $mFormaPagamentg[1]=0;
  869. $mFormaPagamentg[2]=$mGEdistrib['euros'];
  870. }
  871. //aplicar filtre max ecos
  872. if($mFormaPagamentg[9]*1==7) //max % ecos
  873. {
  874. if($mFormaPagamentg[0]*1!=$maxEcos)
  875. {
  876. if($mFormaPagamentg[0]*1>$maxEcos)
  877. {
  878. $mFormaPagamentg[2]=$maxEcos-$mFormaPagamentg[0]*1;
  879. $mFormaPagamentg[0]=$maxEcos;
  880. }
  881. else if
  882. (
  883. $mFormaPagamentg[0]*1<$maxEcos
  884. &&
  885. $mFormaPagamentg[2]*1>0
  886. )
  887. {
  888. if(($mFormaPagamentg[2]*1+$mFormaPagamentg[0]*1)<=$maxEcos )
  889. {
  890. $mFormaPagamentg[0]=$mFormaPagamentg[2]*1+$mFormaPagamentg[0]*1;
  891. $mFormaPagamentg[2]=0;
  892. }
  893. else
  894. {
  895. $mFormaPagamentg[2]=($mFormaPagamentg[2]*1+$mFormaPagamentg[0]*1)-$maxEcos;
  896. $mFormaPagamentg[0]=$maxEcos;
  897. }
  898. }
  899. }
  900. $mFormaPagamentg[0]=number_format($mFormaPagamentg[0],2,'.','');
  901. $mFormaPagamentg[2]=number_format($mFormaPagamentg[2],2,'.','');
  902. }
  903. else if($mFormaPagamentg[9]*1==9) // 100% euros
  904. {
  905. $mFormaPagamentg[0]=0;
  906. $mFormaPagamentg[1]=0;
  907. $mFormaPagamentg[2]=number_format($importGrup,2,'.','');
  908. $mFormaPagamentg[6]=0;
  909. $mFormaPagamentg[7]=0;
  910. $mFormaPagamentg[8]=100;
  911. }
  912. else if($mFormaPagamentg[9]*1==11) // 50% ecos 50% euros
  913. {
  914. $mFormaPagamentg[0]=number_format(($importGrup/2),2,'.','');
  915. $mFormaPagamentg[1]=0;
  916. $mFormaPagamentg[2]=number_format(($importGrup/2),2,'.','');
  917. $mFormaPagamentg[6]=50;
  918. $mFormaPagamentg[7]=0;
  919. $mFormaPagamentg[8]=50;
  920. }
  921. else if($mFormaPagamentg[9]*1==13) // %ms productors
  922. {
  923. $mFormaPagamentg[0]=number_format($importGrupEcos,2,'.','');
  924. $mFormaPagamentg[1]=0;
  925. $mFormaPagamentg[2]=number_format(($importGrup-$importGrupEcos),2,'.','');
  926. $mFormaPagamentg[6]=number_format(($importGrupEcos*100/$importGrup),2,'.','');
  927. $mFormaPagamentg[7]=0;
  928. $mFormaPagamentg[8]=number_format((($importGrup-$importGrupEcos)*100/$importGrup),2,'.','');
  929. }
  930. //filtre limit ecos
  931. if($importGrupEcos*1>$maxEcos)
  932. {
  933. $mFormaPagamentg[2]=$importGrupEuros+($importGrupEcos*1-$maxEcos);
  934. $mFormaPagamentg[0]=$importGrupEcos-($importGrupEcos*1-$maxEcos);
  935. }
  936. $totalUms=$mFormaPagamentg[0]+$mFormaPagamentg[1]+$mFormaPagamentg[2];
  937. if($totalUms>=0.01)
  938. {
  939. //pp ecos:
  940. $mFormaPagamentg[6]=number_format(($mFormaPagamentg[0]/$totalUms)*100,2,'.','');
  941. //pp eb:
  942. $mFormaPagamentg[7]=number_format(($mFormaPagamentg[1]/$totalUms)*100,2,'.','');
  943. //pp euros:
  944. $mFormaPagamentg[8]=number_format(($mFormaPagamentg[2]/$totalUms)*100,2,'.','');
  945. }
  946. else
  947. {
  948. //pp ecos:
  949. $mFormaPagamentg[6]=0;
  950. //pp eb:
  951. $mFormaPagamentg[7]=0;
  952. //pp euros:
  953. $mFormaPagamentg[8]=0;
  954. }
  955. $mPars['f_pagament']=
  956. (number_format($mFormaPagamentg[0],2,'.',''))
  957. .",".
  958. (number_format($mFormaPagamentg[1],2,'.',''))
  959. .",".
  960. (number_format($mFormaPagamentg[2],2,'.',''))
  961. .",".
  962. $mFormaPagamentg[3]
  963. .",".
  964. $mFormaPagamentg[4]
  965. .",".
  966. $mFormaPagamentg[5]
  967. .",".
  968. (number_format($mFormaPagamentg[6],2,'.',''))
  969. .",".
  970. (number_format($mFormaPagamentg[7],2,'.',''))
  971. .",".
  972. (number_format($mFormaPagamentg[8],2,'.',''))
  973. .','.
  974. $mFormaPagamentg[9];
  975. }
  976. else
  977. {
  978. $mPars['f_pagament']='0,0,0,0,0,0,0,0,7';
  979. }
  980. if
  981. (
  982. $mPars['f_pagament']!=$mRow['f_pagament']
  983. )
  984. {
  985. //---------------------------
  986. //registre historial comanda
  987. $registre='';
  988. $mGC['usuari_id']=$mPars['usuari_id'];
  989. $mGC['f_pagament']=$mPars['f_pagament'];
  990. while(list($key,$val)=each($mGC))
  991. {
  992. $registre.='{p:guardarComanda;us:'.$mGC['usuari_id'].'[AUTO];'.$key.':'.$val.';dt:'.date('d/m/Y H:i:s').';}';
  993. }
  994. reset($mGC);
  995. //---------------------------
  996. $nomRebost=substr($mRow['rebost'],strpos($mRow['rebost'],'-')+1);
  997. if(!$result2=@mysql_query("update comandes_".$mPars['selRutaSufix']." set f_pagament='".$mPars['f_pagament']."',historial=CONCAT('".$registre."',historial) where id='".$mRow['id']."'",$db))
  998. {
  999. //echo "<br> 281 db_comptes.php ".mysql_errno() . ": " . mysql_error(). "\n";
  1000. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'100','db.php');
  1001. $mMissatgeAlerta['missatge'].="<p class='pAlertaNo4'>Error: modificar forma_pagament grup: '<b>".(urldecode($nomRebost))."</b>' :<br>".$mRow['f_pagament'].">><br>".$mPars['f_pagament']."</p>";
  1002. }
  1003. else
  1004. {
  1005. //echo "<br> 281 db_comptes.php ".mysql_errno() . ": " . mysql_error(). "\n";
  1006. $mMissatgeAlerta['missatge'].="<p class='pAlertaOk4'>Ok: modificar forma_pagament grup: '<b>".(urldecode($nomRebost))."</b>' :<br>".$mRow['f_pagament'].">><br>".$mPars['f_pagament']." [max: ".(number_format($maxEcos,2,'.',''))." ecos]</p>";
  1007. }
  1008. }
  1009. }
  1010. $importGrups+=$importGrup;
  1011. $importGrupsEcos+=$importGrupEcos;
  1012. $importGrupsEb+=$importGrupEb;
  1013. $importGrupsEuros+=$importGrupEuros;
  1014. $importGrup=0;
  1015. $importGrupEcos=0;
  1016. $importGrupEb=0;
  1017. $importGrupEuros=0;
  1018. }
  1019. }
  1020. }
  1021. }
  1022. reset($mRebostsAmbComandaResum);
  1023. if($grupId_=='')
  1024. {
  1025. $mPars['importsGrups']=$importGrups;
  1026. }
  1027. else
  1028. {
  1029. $mPars['importsGrups_'.$grupId_]=$importGrups;
  1030. }
  1031. return $mMissatgeAlerta;
  1032. }
  1033. //*v36-18-12-15 eliminar funcio
  1034. /*
  1035. //---------------------------------------------------------------
  1036. function db_getPerfilsRef2($db)
  1037. {
  1038. global $mPars;
  1039. $mPerfilsRef=array();
  1040. if(!$result=mysql_query("select * from ".$mPars['taulaProductors']." where id='".$mPars['perfil_id']."' order by projecte ASC",$db))
  1041. {
  1042. //echo "<br> 138 db.php ".mysql_errno() . ": " . mysql_error(). "\n";
  1043. //err__('DB19.1 ',mysql_errno().'--'.mysql_error(),'2','db.php');
  1044. }
  1045. else
  1046. {
  1047. while($mPerfil=mysql_fetch_array($result,MYSQL_ASSOC))
  1048. {
  1049. $mPerfilsRef[$mPerfil['id']]=$mPerfil;
  1050. }
  1051. }
  1052. return $mPerfilsRef;
  1053. }
  1054. */
  1055. //---------------------------------------------------------------
  1056. function db_getGrupsRef2($db)
  1057. {
  1058. global $mPars;
  1059. $mGrupsRef=array();
  1060. $mGrupsRef[0]['nom']='CAC';
  1061. if(!$result=mysql_query("select * from rebosts_".$mPars['selRutaSufix']." where id='".$mPars['grup_id']."' order by nom ASC",$db))
  1062. {
  1063. //echo "<br> 138 db.php ".mysql_errno() . ": " . mysql_error(). "\n";
  1064. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'2','db.php');
  1065. }
  1066. else
  1067. {
  1068. while($mGrup=mysql_fetch_array($result,MYSQL_ASSOC))
  1069. {
  1070. $mGrupsRef[$mGrup['ref']]=$mGrup;
  1071. }
  1072. }
  1073. return $mGrupsRef;
  1074. }
  1075. //------------------------------------------------------------------------------
  1076. function db_getGrupsSenseZona($db)
  1077. {
  1078. global $mPars,$mGrupsRef;
  1079. $mGrupsNoZona=array();
  1080. while(list($grupId,$val)=each($mGrupsRef))
  1081. {
  1082. $zona=db_getZonaGrup($grupId,$db);
  1083. if(!$zona || $zona=''){array_push($mGrupsNoZona,$grupId);}
  1084. }
  1085. reset($mGrupsRef);
  1086. return $mGrupsNoZona;
  1087. }
  1088. //------------------------------------------------------------------------------
  1089. function db_getPerfilsActiusSenseZona($db)
  1090. {
  1091. global $mPars,$mPerfilsRef;
  1092. $mPerfilsNoZona=array();
  1093. while(list($perfilId,$mPerfil)=each($mPerfilsRef))
  1094. {
  1095. $zona=db_getZonaPerfil($perfilId,$db);
  1096. if(($mPerfil['estat']=='1' || $mPerfil['estat']==1) && (!$zona || $zona='')){array_push($mPerfilsNoZona,$perfilId);}
  1097. }
  1098. reset($mPerfilsRef);
  1099. return $mPerfilsNoZona;
  1100. }
  1101. //------------------------------------------------------------------------------
  1102. function db_getGrupsActiusSenseZona($db)
  1103. {
  1104. global $mPars,$mGrupsRef;
  1105. $mGrupsNoZona=array();
  1106. while(list($grupId,$mGrup)=each($mGrupsRef))
  1107. {
  1108. $zona=db_getZonaGrup($grupId,$db);
  1109. if(!isset($mGrup['categoria']) || substr_count(' '.$mGrup['categoria'],'inactiu')==0 && (!isset($zona) || $zona=='')){array_push($mGrupsNoZona,$grupId);}
  1110. }
  1111. reset($mGrupsRef);
  1112. return $mGrupsNoZona;
  1113. }
  1114. //------------------------------------------------------------------------------
  1115. function db_getPesos($db)
  1116. {
  1117. global $mPars;
  1118. $mPesos=array();
  1119. if(!$result=mysql_query("select DISTINCT(pes) from productes_".$mPars['selRutaSufix']." where actiu='1' order by pes DESC",$db))
  1120. {
  1121. //echo "<br> 138 db.php ".mysql_errno() . ": " . mysql_error(). "\n";
  1122. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'2','db.php');
  1123. }
  1124. else
  1125. {
  1126. while($mRow=mysql_fetch_array($result,MYSQL_NUM))
  1127. {
  1128. array_push($mPesos,$mRow[0]);
  1129. }
  1130. }
  1131. return $mPesos;
  1132. }
  1133. //------------------------------------------------------------------------------
  1134. function db_getFormats($db)
  1135. {
  1136. global $mPars;
  1137. $mFormats=array();
  1138. if(!$result=mysql_query("select DISTINCT(format) from productes_".$mPars['selRutaSufix']." where actiu='1' order by format DESC",$db))
  1139. {
  1140. //echo "<br> 138 db.php ".mysql_errno() . ": " . mysql_error(). "\n";
  1141. //err__('DB/*19.1*/',mysql_errno().'--'.mysql_error(),'2','db.php');
  1142. }
  1143. else
  1144. {
  1145. while($mRow=mysql_fetch_array($result,MYSQL_NUM))
  1146. {
  1147. array_push($mFormats,$mRow[0]);
  1148. }
  1149. }
  1150. return $mFormats;
  1151. }
  1152. //------------------------------------------------------------------------------
  1153. function db_getImportComandaGrupAcac($grupId,$db)
  1154. {
  1155. global $mRebostsAmbComandaResum;
  1156. $cDp_umsT=0;
  1157. $cDp_ecosT=0;
  1158. $cDp_eurosT=0;
  1159. $cDp_umsCtT=0;
  1160. $cDp_ecosCtT=0;
  1161. $cDp_eurosCtT=0;
  1162. $cDp_umsFdT=0;
  1163. $cDp_ecosFdT=0;
  1164. $cDp_eurosFdT=0;
  1165. $sumaAbonamentsCarrecsEcosT=0;
  1166. $sumaAbonamentsCarrecsEbT=0;
  1167. $sumaAbonamentsCarrecsEuT=0;
  1168. $sumaAbonamentsCarrecsUmsT=0;
  1169. $mPars=array();
  1170. if(!isset($mRebostsAmbComandaResum[$grupId]))
  1171. {
  1172. $mRebostsAmbComandaResum[$grupId]['kgT']=0;
  1173. $mFormaPagament=array();
  1174. $mFormaPagamentMembres=array();
  1175. $mPars['fPagamentEcos']=0;
  1176. $mPars['fPagamentEb']=0;
  1177. $mPars['fPagamentEu']=0;
  1178. $mPars['fPagamentUms']=0;
  1179. $mPars['fPagamentEcosPerc']=100;
  1180. $mPars['fPagamentEbPerc']=0;
  1181. $mPars['fPagamentEuPerc']=0;
  1182. $cDp_ums=0;
  1183. $cDp_ecos=0;
  1184. $cDp_euros=0;
  1185. $cDp_umsCt=0;
  1186. $cDp_ecosCt=0;
  1187. $cDp_eurosCt=0;
  1188. $cDp_umsFd=0;
  1189. $cDp_ecosFd=0;
  1190. $cDp_eurosFd=0;
  1191. $mRebostsAmbComandaResum[$grupId]['umsT']=0;
  1192. $mRebostsAmbComandaResum[$grupId]['ecosT']=0;
  1193. $mRebostsAmbComandaResum[$grupId]['eurosT']=0;
  1194. $mRebostsAmbComandaResum[$grupId]['ctkTums']=0;
  1195. $mRebostsAmbComandaResum[$grupId]['ctrTums']=0;
  1196. $mRebostsAmbComandaResum[$grupId]['ctkTecos']=0;
  1197. $mRebostsAmbComandaResum[$grupId]['ctrTecos']=0;
  1198. $mRebostsAmbComandaResum[$grupId]['ctkTeuros']=0;
  1199. $mRebostsAmbComandaResum[$grupId]['ctrTeuros']=0;
  1200. $mRebostsAmbComandaResum[$grupId]['umstFDC']=0;
  1201. $mRebostsAmbComandaResum[$grupId]['ecostFDC']=0;
  1202. $mRebostsAmbComandaResum[$grupId]['eurostFDC']=0;
  1203. $mRebostsAmbComandaResum[$grupId]['compte_ecos']='';
  1204. $mRebostsAmbComandaResum[$grupId]['compte_cieb']='';
  1205. $mRebostsAmbComandaResum[$grupId]['historial']='';
  1206. }
  1207. else
  1208. {
  1209. $cDp_ums=$mRebostsAmbComandaResum[$grupId]['umsT'];
  1210. $cDp_ecos=$mRebostsAmbComandaResum[$grupId]['ecosT'];
  1211. $cDp_euros=$mRebostsAmbComandaResum[$grupId]['eurosT'];
  1212. $cDp_umsCt=$mRebostsAmbComandaResum[$grupId]['ctkTums']+$mRebostsAmbComandaResum[$grupId]['ctrTums'];
  1213. $cDp_ecosCt=$mRebostsAmbComandaResum[$grupId]['ctkTecos']+$mRebostsAmbComandaResum[$grupId]['ctrTecos'];
  1214. $cDp_eurosCt=$mRebostsAmbComandaResum[$grupId]['ctkTeuros']+$mRebostsAmbComandaResum[$grupId]['ctrTeuros'];
  1215. $cDp_umsFd=$mRebostsAmbComandaResum[$grupId]['umstFDC'];
  1216. $cDp_ecosFd=$mRebostsAmbComandaResum[$grupId]['ecostFDC'];
  1217. $cDp_eurosFd=$mRebostsAmbComandaResum[$grupId]['eurostFDC'];
  1218. $cDp_umsT+=$mRebostsAmbComandaResum[$grupId]['umsT'];
  1219. $cDp_ecosT+=$mRebostsAmbComandaResum[$grupId]['ecosT'];
  1220. $cDp_eurosT+=$mRebostsAmbComandaResum[$grupId]['eurosT'];
  1221. $cDp_umsCtT+=$mRebostsAmbComandaResum[$grupId]['ctkTums']+$mRebost