You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.php 15KB

8 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. <?php
  2. use yii\helpers\Html ;
  3. use common\models\Commande ;
  4. $this->title = 'Commande' ;
  5. $cpt_non_vrac = 0 ;
  6. foreach($produits as $p) {
  7. if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']) {
  8. if(!$p->vrac) {
  9. $cpt_non_vrac ++ ;
  10. }
  11. }
  12. }
  13. ?>
  14. <div id="page-commande">
  15. <div class="col-md-3">
  16. <?php
  17. // chargement assets
  18. common\components\fullcalendar\FullcalendarWidget::widget() ;
  19. // --> lancement du js en manuel (via lechatdesnoisettes.js)
  20. ?>
  21. <div id="calendar"></div>
  22. <?php if($production): ?>
  23. <!-- produits sélectionnés -->
  24. <br />
  25. <form id="produits-production" action="<?php echo Yii::$app->urlManager->createUrl(['commande/index','date'=>$date]); ?>" method="post">
  26. <table class="table table-bordered">
  27. <tbody>
  28. <?php foreach($produits as $p): ?>
  29. <tr<?php if($p->vrac): ?> style="display:none;"<?php endif;?>>
  30. <td><label for="produit-<?php echo $p->id; ?>"><?php if(strlen($p->description)): echo Html::encode($p->description) ; else: echo Html::encode($p->nom) ; endif; ?></label></td>
  31. <td><input id="produit-<?php echo $p->id; ?>" name="Produit[<?php echo $p->id; ?>][actif]" type="checkbox" <?php if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']): ?>checked="checked"<?php endif; ?> /></td>
  32. <td><input class="quantite-max" name="Produit[<?php echo $p->id; ?>][quantite_max]" type="text" value="<?php if(isset($produits_selec[$p->id])) echo $produits_selec[$p->id]['quantite_max'] ; ?>" /></td>
  33. </tr>
  34. <?php endforeach; ?>
  35. </tbody>
  36. </table>
  37. <input type="submit" name="valider_produit_selec" class="btn btn-default" value="Valider" />
  38. </form>
  39. <?php endif; ?>
  40. </div>
  41. <div class="col-md-9">
  42. <input type="hidden" value="<?php echo $date; ?>" id="current-date" />
  43. <ul id="jours-production">
  44. <?php foreach($jours_production as $j) :?>
  45. <li><?php echo $j->date ; ?></li>
  46. <?php endforeach; ?>
  47. </ul>
  48. <?php if($date != ''): ?>
  49. <h1>
  50. Production du <?php echo date('d/m/Y',strtotime($date)) ; ?>
  51. <div class="btn-group" role="group">
  52. <a class="btn btn-default<?php if($production->actif): ?> btn-success<?php endif; ?>" href="<?php echo Yii::$app->urlManager->createUrl(['commande/change-state','date'=>$date,'actif'=>1]); ?>">Activé</a>
  53. <a class="btn btn-default<?php if(!$production->actif): ?> btn-danger<?php endif; ?>" href="<?php echo Yii::$app->urlManager->createUrl(['commande/change-state','date'=>$date,'actif'=>0]); ?>">Désactivé</a>
  54. </div>
  55. </h1>
  56. <strong>Livraison</strong>
  57. <div class="btn-group" role="group">
  58. <a class="btn btn-default<?php if($production->livraison): ?> btn-success<?php endif; ?>" href="<?php echo Yii::$app->urlManager->createUrl(['commande/change-livraison','date'=>$date,'livraison'=>1]); ?>">Activé</a>
  59. <a class="btn btn-default<?php if(!$production->livraison): ?> btn-danger<?php endif; ?>" href="<?php echo Yii::$app->urlManager->createUrl(['commande/change-livraison','date'=>$date,'livraison'=>0]); ?>">Désactivé</a>
  60. </div>
  61. <br /><br />
  62. <?php if(!count($commandes)): ?>
  63. <div class="alert alert-info">Aucune commande passée pour cette date</div>
  64. <?php else: ?>
  65. <a class="btn btn-primary" href="<?php echo Yii::$app->urlManager->createUrl(['commande/download','date'=>$date,'id_point_vente'=>0,'global'=>1]); ?>"><span class="glyphicon glyphicon-download-alt"></span> Récapitulatif global</a>
  66. <br />
  67. <br />
  68. <?php endif;?>
  69. <?php
  70. $num_jour_semaine = date('w',strtotime($date));
  71. $arr_jour_semaine = [0=>'dimanche',1=>'lundi',2=>'mardi', 3=>'mercredi', 4=>'jeudi', 5=>'vendredi', 6=>'samedi'] ;
  72. $champs_horaires_point_vente = 'horaires_'.$arr_jour_semaine[$num_jour_semaine] ;
  73. ?>
  74. <?php //if(count($pv->commandes)):?>
  75. <form class="form-commandes-point-vente" action="<?php echo Yii::$app->urlManager->createUrl(['commande/index','date'=>$date]); ?>" method="post">
  76. <!-- <h2><?php //echo Html::encode($pv->nom); ?> <a href="<?php //echo Yii::$app->urlManager->createUrl(['commande/download','date'=>$date,'id_point_vente'=>$pv->id]); ?>" class="btn btn-default">CSV</a></h2> -->
  77. <!-- <p><?php //echo Html::encode($pv->adresse); ?></p> -->
  78. <table class="table table-striped table-bordered">
  79. <thead>
  80. <tr>
  81. <td class="title-point-vente" colspan="<?php echo count($produits)+4; ?>"><strong>Global</strong></td>
  82. </tr>
  83. <tr>
  84. <td></td>
  85. <?php foreach($produits as $p): ?>
  86. <?php if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']): ?>
  87. <td class="center<?php if($p->vrac): ?> vrac<?php endif; ?>">
  88. <strong><?php echo Html::encode($p->getLibelleAdmin()); ?></strong>
  89. </td>
  90. <?php endif; ?>
  91. <?php endforeach; ?>
  92. <td><strong>Potentiel</strong></td>
  93. <td><strong>Commandé</strong></td>
  94. </tr>
  95. <tr>
  96. <td><strong>Pain</strong></td>
  97. <?php
  98. foreach($produits as $p) {
  99. if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']) {
  100. $quantite = Commande::getQuantiteProduit($p->id, $commandes) ;
  101. $str_quantite = '' ;
  102. if($quantite)
  103. $str_quantite = $quantite ;
  104. $classe = 'center total' ;
  105. if($str_quantite > $produits_selec[$p->id]['quantite_max'] && !$produits_selec[$p->id]['vrac']) {
  106. $classe .= ' depasse' ;
  107. }
  108. if($p->vrac) {
  109. $classe .= ' vrac' ;
  110. }
  111. echo '<td class="'.$classe.'"><strong>'.$str_quantite.' <span>' ;
  112. if($produits_selec[$p->id]['quantite_max'] && $str_quantite)
  113. echo '/ '.$produits_selec[$p->id]['quantite_max'].'</span></strong></td>' ;
  114. }
  115. }
  116. ?>
  117. <td><strong><?php echo number_format($ca_potentiel,2) ; ?> €</strong><br /><?php echo number_format($poids_total/1000,2) ; ?> kg</td>
  118. <td><strong><?php echo str_replace(' ','&nbsp;',$recettes_pain.' €') ; ?></strong><br /><?php echo round($poids_pain).' kg'; ?></td>
  119. <td></td>
  120. </tr>
  121. <tr>
  122. <td><strong>Vrac</strong></td>
  123. <td colspan="<?php echo $cpt_non_vrac; ?>">
  124. <?php
  125. $first = true ;
  126. foreach($produits as $p) {
  127. if($p->vrac) {
  128. $quantite = Commande::getQuantiteProduit($p->id, $commandes) ;
  129. if($quantite) {
  130. if(!$first)
  131. echo ', ' ;
  132. echo $quantite.'&nbsp;'.Html::encode($p->diminutif) ;
  133. $first = false ;
  134. }
  135. }
  136. }
  137. ?>
  138. </td>
  139. <!-- liste vrac -->
  140. <td></td>
  141. <?php
  142. foreach($produits as $p) {
  143. if($p->vrac)
  144. echo '<td class="vrac"></td>' ;
  145. }
  146. ?>
  147. <td><strong><?php echo str_replace(' ','&nbsp;',$recettes_vrac.' €') ; ?></strong><br /><?php echo round($poids_vrac).' kg'; ?></td>
  148. <td></td>
  149. </tr>
  150. </thead>
  151. <tbody>
  152. <?php foreach($points_vente as $pv): ?>
  153. <?php
  154. if(strlen($pv->$champs_horaires_point_vente)):
  155. ?>
  156. <tr>
  157. <td class="title-point-vente" colspan="<?php echo count($produits)+4; ?>"><?php echo Html::encode($pv->nom); ?></td>
  158. </tr>
  159. <tr>
  160. <td></td>
  161. <?php foreach($produits as $p): ?>
  162. <?php if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']): ?>
  163. <td class="center<?php if($p->vrac): ?> vrac<?php endif; ?>">
  164. <strong><?php echo Html::encode($p->getLibelleAdmin()); ?></strong>
  165. </td>
  166. <?php endif; ?>
  167. <?php endforeach; ?>
  168. <td class="center">
  169. <strong>VRAC</strong>
  170. </td>
  171. <td></td>
  172. <td></td>
  173. </tr>
  174. <?php foreach($pv->commandes as $c): ?>
  175. <tr>
  176. <td>
  177. <?php if(isset($c->user)): ?>
  178. <?php echo Html::encode($c->user->prenom.' '.$c->user->nom) ;?>
  179. <?php else: ?>
  180. <?php echo Html::encode($c->username) ; ?>
  181. <?php endif; ?>
  182. <?php if(strlen($c->commentaire)): ?>
  183. <button type="button" class="btn btn-xs btn-info" data-toggle="popover" title="Commentaire" data-content="<?php echo Html::encode($c->commentaire); ?>"><span class="glyphicon glyphicon-comment"></span></button>
  184. <?php endif; ?>
  185. <br /><span class="date-commande"><?php echo date('d/m/Y à H:i ',strtotime($c->date)) ; if($c->date_update && date('d/m/Y',strtotime($c->date_update)) != date('d/m/Y',strtotime($c->date))): ?><br />modif. <?php echo date('d/m/Y',strtotime($c->date_update)) ; ?><?php endif;?></span>
  186. </td>
  187. <?php
  188. foreach($produits as $p) {
  189. if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']) {
  190. $add = false ;
  191. $quantite = 0 ;
  192. foreach($c->commandeProduits as $cp) {
  193. if($p->id == $cp->id_produit) {
  194. $quantite = $cp->quantite ;
  195. $add = true ;
  196. }
  197. }
  198. echo '<td class="td-produit'.(($p->vrac) ? ' vrac' : '').'"><input class="quantite" type="text" value="'.$quantite.'" name="produit_'.$c->id.'_'.$p->id.'" /></td>' ;
  199. }
  200. }
  201. ?>
  202. <!-- liste vrac -->
  203. <td><?php echo $c->strListeVrac(); ?></td>
  204. <td><?php echo str_replace(' ','&nbsp;',number_format($c->montant,2).' €') ; ?></td>
  205. <td><a href="<?php echo Yii::$app->urlManager->createUrl(['commande/delete-commande','date'=>$date,'delete'=>1,'id_commande'=>$c->id]) ; ?>" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span></a></td>
  206. </tr>
  207. <?php endforeach; ?>
  208. <tr>
  209. <td><!-- <select class="select-user" name="user_pv_<?php echo $pv->id;?>">
  210. <?php foreach($users as $id_user => $libelle_user) {
  211. echo '<option value="'.$id_user.'">'.$libelle_user.'</option>' ;
  212. }?>
  213. </select> -->
  214. <input type="text" placeholder="Nom" class="text" name="username_pv_<?php echo $pv->id;?>" />
  215. <br />
  216. <input type="text" name="date_commande_pv_<?php echo $pv->id;?>" class="datepicker" value="<?php echo date('d/m/Y'); ?>" />
  217. </td>
  218. <?php
  219. foreach($produits as $p) {
  220. if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']) {
  221. echo '<td class="td-produit'.(($p->vrac) ? ' vrac' : '').'"><input class="quantite" type="text" value="0" name="produit_pv_'.$pv->id.'_'.$p->id.'" /></td>' ;
  222. }
  223. }
  224. ?>
  225. <!-- liste vrac -->
  226. <td><a href="javascript:void(0):" class="btn btn-default btn-xs edit-vrac"><i class="glyphicon glyphicon-pencil"></i></a></td>
  227. <td></td>
  228. <td></td>
  229. </tr>
  230. <?php if(count($pv->commandes) && strlen($pv->$champs_horaires_point_vente)) {
  231. echo '<tr>' ;
  232. echo '<td><strong>Total pain</strong></td>' ;
  233. //$cpt_non_vrac = 0 ;
  234. foreach($produits as $p) {
  235. if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']) {
  236. $quantite = Commande::getQuantiteProduit($p->id, $pv->commandes) ;
  237. $str_quantite = '' ;
  238. if(!$p->vrac) {
  239. //$cpt_non_vrac ++ ;
  240. if($quantite)
  241. $str_quantite = $quantite ;
  242. }
  243. echo '<td class="center'.(($p->vrac) ? ' vrac' : '').'"><strong>'.$str_quantite.'</strong></td>' ;
  244. }
  245. }
  246. // liste vrac
  247. echo '<td></td>' ;
  248. // total
  249. echo '<td><strong>'.number_format($pv->recettes_pain,2).' €</strong></td><td></td></tr>' ;
  250. /*
  251. * VRAC
  252. */
  253. echo '<tr>' ;
  254. echo '<td><strong>Total vrac</strong></td>' ;
  255. echo '<td colspan="'.$cpt_non_vrac.'">'.$pv->strListeVrac().'</td>' ;
  256. foreach($produits as $p) {
  257. if($p->vrac)
  258. echo '<td class="vrac"></td>' ;
  259. }
  260. // liste vrac
  261. echo '<td></td>' ;
  262. echo '<td><strong>'.number_format($pv->recettes_vrac,2).' €</strong></td><td></td></tr>' ;
  263. } ?>
  264. <?php endif; ?>
  265. <?php endforeach; ?>
  266. </tbody>
  267. </table>
  268. <input type="submit" class="btn btn-primary submit-pv" value="Enregistrer" name="submit_pv" />
  269. </form>
  270. <div class="clr"></div>
  271. <?php if(count($commandes) && false): ?>
  272. <h2>Récapitulatif production <a href="<?php echo Yii::$app->urlManager->createUrl(['commande/download','date'=>$date]); ?>" class="btn btn-default">CSV</a></h2>
  273. <table class="table table-striped table-bordered">
  274. <thead>
  275. <tr>
  276. <th>Lieu</th>
  277. <?php foreach($produits as $p): ?>
  278. <?php if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']) : ?>
  279. <th><?php echo Html::encode($p->description); ?></th>
  280. <?php endif; ?>
  281. <?php endforeach; ?>
  282. </tr>
  283. </thead>
  284. <tbody>
  285. <?php
  286. foreach($points_vente as $pv) {
  287. if(count($pv->commandes) && strlen($pv->$champs_horaires_point_vente)) {
  288. echo '<tr>' ;
  289. echo '<td>'.Html::encode($pv->nom).'</td>' ;
  290. foreach($produits as $p) {
  291. if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']) {
  292. $quantite = Commande::getQuantiteProduit($p->id, $pv->commandes) ;
  293. $str_quantite = '' ;
  294. if($quantite)
  295. $str_quantite = $quantite ;
  296. echo '<td>'.$str_quantite.'</td>' ;
  297. }
  298. }
  299. echo '</tr>' ;
  300. }
  301. }
  302. ?>
  303. </tbody>
  304. <tfoot>
  305. <tr>
  306. <td><strong>Total</strong></td>
  307. <?php
  308. foreach($produits as $p) {
  309. if(isset($produits_selec[$p->id]['actif']) && $produits_selec[$p->id]['actif']) {
  310. $quantite = Commande::getQuantiteProduit($p->id, $commandes) ;
  311. $str_quantite = '' ;
  312. if($quantite)
  313. $str_quantite = $quantite ;
  314. echo '<td class="'.(($p->vrac) ? 'vrac' : '').'">'.$str_quantite.'</td>' ;
  315. }
  316. }
  317. ?>
  318. </tr>
  319. </tfoot>
  320. </table>
  321. <?php endif;?>
  322. <?php endif; ?>
  323. </div>
  324. </div>