PageRenderTime 26ms CodeModel.GetById 35ms RepoModel.GetById 0ms app.codeStats 0ms

/application/controllers/negenet/shitja.php

https://bitbucket.org/galanx/faturimi
PHP | 418 lines | 338 code | 71 blank | 9 comment | 30 complexity | cc09f7dfc0f8018e5694e72088fbd434 MD5 | raw file
  1. <?php
  2. class Negenet_Shitja_Controller extends Base_Controller{
  3. public function action_index(){
  4. $this->layout->content = View::make("negenet.shitja.index")
  5. ->with("shitjet",Shitja::order_by("id","desc")->paginate());
  6. }
  7. public function action_regjistroProdukt(){
  8. $this->layout->content = View::make("negenet.shitja.regjistroprodukt");
  9. }
  10. public function action_stokuGjendja(){
  11. $result = Produktet::order_by("id","asc")->paginate();
  12. $this->layout->content = View::make("negenet.shitja.gjendja")
  13. ->with("shitjet",$result);
  14. }
  15. public function action_kerkoMallin(){
  16. $kerko = Input::get("kerkoMallin");
  17. $result = Produktet::where("emri","like",$kerko."%")->get();
  18. $this->layout->content = View::make("negenet.shitja.kerkogjendjen")
  19. ->with("shitjet",$result);
  20. }
  21. public function action_hyrjet(){
  22. $this->layout->content = View::make("negenet.shitja.malli")
  23. ->with("shitjet",Import::order_by("id","desc")->paginate());
  24. }
  25. public function action_kode(){
  26. $this->layout->content = View::make("negenet.shitja.kode");
  27. }
  28. public function action_shtoKode(){
  29. date_default_timezone_set("Europe/Tirane");
  30. $kodi = Input::get("kodi");
  31. if(trim($kodi)!=""){
  32. if(Kode::where("kodi","like","%".$kodi."%")->first()){
  33. return Redirect::back()
  34. ->with("msg","Kodi: ".$kodi." ekziston në listë!");
  35. }
  36. $query = Kode::create(array(
  37. "kodi"=> $kodi,
  38. "data"=>date("Y-m-d"),
  39. ));
  40. }
  41. //File
  42. $kodet = Input::file("kodet");
  43. if(Input::file("kodet.name")!=""){
  44. $filename = Input::file("kodet.name").'.'.File::extension(Input::file("kodet.name"));
  45. $path = "public/uploads/";
  46. Input::upload("kodet",$path,$filename);
  47. $file2=$path.$filename;
  48. $str=file_get_contents("$file2");
  49. $str = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $str);
  50. file_put_contents("$file2", "$str");
  51. $file = fopen($path.$filename,"r");
  52. while(!feof($file)){
  53. $string = fgets($file);
  54. if(Kode::where("kodi","like","%".$string."%")->first()){
  55. return Redirect::back()
  56. ->with("msg","Kodi: ".$string." ekziston në listë!");
  57. }
  58. $query = Kode::create(array(
  59. "kodi"=> preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "",$string),
  60. "data"=>date("Y-m-d"),
  61. ));
  62. }
  63. $file = fclose($file);
  64. $file = File::delete($path.$filename);
  65. }
  66. return Redirect::back();
  67. }
  68. //Regjistro Produkt
  69. public function action_shtoProdukt(){
  70. $emri = Input::get("emri");
  71. $pershkrimi = Input::get("pershkrimi");
  72. $cmimi = Input::get("cmimi");
  73. if($emri==""||$cmimi==""||$pershkrimi==""||$cmimi==0){
  74. return Redirect::back()
  75. ->with("msg","Ju lutem plotësoni të gjitha");
  76. }
  77. if(Produktet::where("emri","=",$emri)->first()){
  78. return Redirect::back()
  79. ->with("msg","Produkti ekziston në databazë");
  80. }
  81. else if(!Produktet::where("emri","=",$emri)->first()){
  82. $regjistro = Produktet::create(array(
  83. "emri"=>$emri,
  84. "pershkrimi"=>$pershkrimi,
  85. "cmimi"=>$cmimi,
  86. ));
  87. //Log
  88. FaturimiLog::create(array(
  89. "type"=>"Shitja - Regjistrim i ri ne stok",
  90. "event"=>"Tabela: shitja, produkti=".$emri.", pershkrimi: ".$pershkrimi." cmimi: ".$cmimi,
  91. "author"=>Auth::user()->username,
  92. "date"=>date("Y-m-d H:i:s"),
  93. ));
  94. return Redirect::to_route("stokuGjendja");
  95. }
  96. }
  97. public function action_shtoFature(){
  98. $this->layout->content = View::make("negenet.shitja.shtofature");
  99. }
  100. public function action_shtoHyrje(){
  101. $this->layout->content = View::make("negenet.shitja.shtohyrje");
  102. }
  103. public function action_faturat(){
  104. $prej = Input::get("prej");
  105. $deri = Input::get("deri");
  106. $result = Shitja::where("data",">=",$prej)->where("data","<=",$deri)->order_by("data","asc")->get();
  107. if($prej==""&&$deri!=""){
  108. $result = Shitja::where("data","<=",$deri)->order_by("data","asc")->get();
  109. }
  110. if($prej!=""&&$deri==""){
  111. $result = Shitja::where("data",">=",$prej)->order_by("data","asc")->get();
  112. }
  113. if($prej!=""&&$deri!=""){
  114. $result = Shitja::where("data",">=",$prej)->where("data","<=",$deri)->order_by("data","asc")->get();
  115. }
  116. $this->layout->content = View::make("negenet.shitja.faturat")
  117. ->with("shitjet",$result);
  118. }
  119. public function action_hyrjetMallit(){
  120. $prej = Input::get("prej");
  121. $deri = Input::get("deri");
  122. $result = Import::where("data",">=",$prej)->where("data","<=",$deri)->order_by("data","asc")->get();
  123. if($prej==""&&$deri!=""){
  124. $result = Import::where("data","<=",$deri)->order_by("data","asc")->get();
  125. }
  126. if($prej!=""&&$deri==""){
  127. $result = Import::where("data",">=",$prej)->order_by("data","asc")->get();
  128. }
  129. if($prej!=""&&$deri!=""){
  130. $result = Import::where("data",">=",$prej)->where("data","<=",$deri)->order_by("data","asc")->get();
  131. }
  132. $this->layout->content = View::make("negenet.shitja.hyrjet")
  133. ->with("shitjet",$result);
  134. }
  135. //Shto fature shitje
  136. public function action_shtoFatura(){
  137. date_default_timezone_set("Europe/Tirane");
  138. $saHere = Input::get("saHere");
  139. $bleresi = Input::get("bleresi");
  140. $paguar = Input::get("paguar")!=""?1:0;
  141. $koment = Input::get("koment");
  142. $produkti = Input::get("produkti");
  143. $sasia = Input::get("sasia");
  144. $cmimi = Input::get("cmimi");
  145. $fatura_id = Shitja::order_by("id","desc")->first()?Shitja::order_by("id","desc")->first()->id+1:1;
  146. if($bleresi==""){
  147. return Redirect::back()
  148. ->with("msg","Kerkohet emri i bleresit!");
  149. }
  150. if($produkti==""){
  151. return Redirect::back()
  152. ->with("msg","Zgjedheni produktin per secilen kolone qe shtoni!");
  153. }
  154. for($i=1;$i<=$saHere;$i++){
  155. $produkti2 = Input::get("produkti".$i);
  156. $sasia2 = Input::get("sasia".$i);
  157. $cmimi2 = Input::get("cmimi".$i);
  158. if($produkti2==""){
  159. return Redirect::back()
  160. ->with("msg","Zgjedheni produktin per secilen kolone qe shtoni!");
  161. }
  162. }
  163. $shitja = Shitja::create(array(
  164. "bleresi"=>$bleresi,
  165. "paguar"=>$paguar,
  166. "koment"=>$koment,
  167. "data"=>date("Y-m-d"),
  168. ));
  169. $query = MalliShitja::create(array(
  170. "shitja_id"=>$fatura_id,
  171. "p_id"=>$produkti,
  172. "sasia"=>$sasia,
  173. "cmimi"=>$cmimi,
  174. ));
  175. $produktet = Produktet::where("id","=",$produkti)->first();
  176. $produktet->gjendja -= $sasia;
  177. $produktet->save();
  178. for($i=1;$i<=$saHere;$i++){
  179. $produkti3 = Input::get("produkti".$i);
  180. $sasia3 = Input::get("sasia".$i);
  181. $cmimi3 = Input::get("cmimi".$i);
  182. $query2 = MalliShitja::create(array(
  183. "shitja_id"=>$fatura_id,
  184. "p_id"=>$produkti3,
  185. "sasia"=>$sasia3,
  186. "cmimi"=>$cmimi3,
  187. ));
  188. $produktet3 = Produktet::where("id","=",$produkti3)->first();
  189. $produktet3->gjendja -= $sasia3;
  190. $produktet3->save();
  191. }
  192. //Log
  193. FaturimiLog::create(array(
  194. "type"=>"Fature e re e shitjes",
  195. "event"=>"Tabela: shitja, bleresi=".$bleresi,
  196. "author"=>Auth::user()->username,
  197. "date"=>date("Y-m-d H:i:s"),
  198. ));
  199. return Redirect::to_route("fat_shitja",$fatura_id);
  200. }
  201. //Shto hyrje te mallit
  202. public function action_addHyrje(){
  203. date_default_timezone_set("Europe/Tirane");
  204. $saHere = Input::get("saHere");
  205. $furnizuesi = Input::get("furnizuesi");
  206. $fatura = Input::get("fatura");
  207. $produkti = Input::get("produkti");
  208. $sasia = Input::get("sasia");
  209. $cmimi = Input::get("cmimi");
  210. $import_id = Import::order_by("id","desc")->first()?Import::order_by("id","desc")->first()->id+1:1;
  211. if($furnizuesi==""){
  212. return Redirect::back()
  213. ->with("msg","Kerkohet emri i furnizuesit!");
  214. }
  215. if($produkti==""){
  216. return Redirect::back()
  217. ->with("msg","Zgjedheni produktin per secilen kolone qe shtoni!");
  218. }
  219. for($i=1;$i<=$saHere;$i++){
  220. $produkti2 = Input::get("produkti".$i);
  221. $sasia2 = Input::get("sasia".$i);
  222. $cmimi2 = Input::get("cmimi".$i);
  223. if($produkti2==""){
  224. return Redirect::back()
  225. ->with("msg","Zgjedheni produktin per secilen kolone qe shtoni!");
  226. }
  227. }
  228. $shitja = Import::create(array(
  229. "furnizuesi"=>$furnizuesi,
  230. "fatura"=>$fatura,
  231. "data"=>date("Y-m-d"),
  232. ));
  233. $query = MalliImport::create(array(
  234. "import_id"=>$import_id,
  235. "p_id"=>$produkti,
  236. "sasia"=>$sasia,
  237. "cmimi"=>$cmimi,
  238. ));
  239. $produktet = Produktet::where("id","=",$produkti)->first();
  240. $produktet->gjendja += $sasia;
  241. $produktet->save();
  242. for($i=1;$i<=$saHere;$i++){
  243. $produkti3 = Input::get("produkti".$i);
  244. $sasia3 = Input::get("sasia".$i);
  245. $cmimi3 = Input::get("cmimi".$i);
  246. $query2 = MalliImport::create(array(
  247. "import_id"=>$import_id,
  248. "p_id"=>$produkti3,
  249. "sasia"=>$sasia3,
  250. "cmimi"=>$cmimi3,
  251. ));
  252. $produktet3 = Produktet::where("id","=",$produkti3)->first();
  253. $produktet3->gjendja += $sasia3;
  254. $produktet3->save();
  255. }
  256. //Log
  257. FaturimiLog::create(array(
  258. "type"=>"Hyrje e mallit",
  259. "event"=>"Tabela: import, furnizuesi=".$furnizuesi.", fatura=".$fatura,
  260. "author"=>Auth::user()->username,
  261. "date"=>date("Y-m-d H:i:s"),
  262. ));
  263. return Redirect::to_route("malli");
  264. }
  265. public function action_ndrysho($id){
  266. $this->layout->content = View::make("negenet.shitja.ndrysho")
  267. ->with("id",$id);
  268. }
  269. public function action_edit(){
  270. $shitja_id = Input::get("id");
  271. $bleresi = Input::get("bleresi");
  272. $paguar = Input::get("paguar")!=""?1:0;
  273. $koment = Input::get("koment");
  274. $fiskal = Input::get("fiskal");
  275. $x = Input::get("x");
  276. if($bleresi==""){
  277. return Redirect::back()
  278. ->with("msg","Bleresi duhet te plotesohet!");
  279. }
  280. $shitja = Shitja::where("id","=",$shitja_id)->first();
  281. $shitja->bleresi = $bleresi;
  282. $shitja->paguar = $paguar;
  283. $shitja->koment = $koment;
  284. $shitja->fiskal = $fiskal;
  285. $shitja->save();
  286. if($paguar==1){
  287. date_default_timezone_set("Europe/Tirane");
  288. $shitja->data = date("Y-m-d");
  289. $shitja->save();
  290. }
  291. for($i=0;$i<=($x+1);$i++){
  292. $produkti2 = Input::get("produkti".$i);
  293. $sasia2 = Input::get("sasia".$i);
  294. $cmimi2 = Input::get("cmimi".$i);
  295. $malli_id = Input::get($i);
  296. if($produkti2==""){
  297. break;
  298. }
  299. $malli = MalliShitja::where("shitja_id","=",$shitja_id)->where("id","=",$malli_id)->first();
  300. $prod = Produktet::where("id","=",$produkti2)->first();
  301. if($malli->p_id!=$produkti2){
  302. $prod2 = Produktet::where("id","=",$malli->p_id)->first();
  303. $prod2->gjendja += $malli->sasia;
  304. $prod2->save();
  305. $prod->gjendja -= $sasia2;
  306. $prod->save();
  307. }else{
  308. $prod->gjendja += $malli->sasia;
  309. $prod->gjendja -= $sasia2;
  310. $prod->save();
  311. }
  312. $malli->sasia = $sasia2;
  313. $malli->cmimi = $cmimi2;
  314. $malli->p_id = $produkti2;
  315. $malli->save();
  316. }
  317. //Log
  318. FaturimiLog::create(array(
  319. "type"=>"Shitja - ndryshim fature",
  320. "event"=>"Tabela: shitja, fatura=".$shitja->id.", bleresi: ".$bleresi,
  321. "author"=>Auth::user()->username,
  322. "date"=>date("Y-m-d H:i:s"),
  323. ));
  324. return Redirect::back()
  325. ->with("success","Fatura është ndryshuar me sukses!");
  326. }
  327. public function action_fshijkode(){
  328. $checked = Input::get('checked');
  329. if($checked==""){
  330. return Redirect::back();
  331. }
  332. foreach($checked as $check){
  333. $kodi = Kode::where("id","=",$check)->first()?Kode::where("id","=",$check)->first()->kodi:$check;
  334. //Log
  335. FaturimiLog::create(array(
  336. "type"=>"Kode - Fshirje e kodeve",
  337. "event"=>"Tabela: Kodet, kodi e fshire=".$kodi,
  338. "author"=>Auth::user()->username,
  339. "date"=>date("Y-m-d H:i:s"),
  340. ));
  341. date_default_timezone_set("Europe/Tirane");
  342. $delete = Kode::where("id","=",$check)->delete();
  343. }
  344. return Redirect::back();
  345. }
  346. }
  347. ?>