Skip to content

Commit

Permalink
some improove
Browse files Browse the repository at this point in the history
  • Loading branch information
leon-mbs committed Jan 2, 2019
1 parent a12852a commit 6e7d9d3
Show file tree
Hide file tree
Showing 136 changed files with 3,960 additions and 4,421 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,8 @@ CHANGELOG

### v1.0.4 (2018-12-11)
* экспорт печатных форм в PDF
* журналы заказов и ТТН
* журналы заказов и ТТН

### v1.0.5 (2018-12-30)
* Поддержка дробных значений в количествах

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Zippy Store
Программа представляет собой онлайн систему складского учета с модулем торговли. Как и ZippyERP, проект бесплатный, с открытым кодом, выполнен в виде веб сайта.


#### Планируемый функционал
#### Основной функционал

* управление пользователями и доступом, личный кабинет пользователя
* управление складами, складская логистика
Expand Down
98 changes: 49 additions & 49 deletions src/db/db.sql

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions src/db/initdata.sql
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `me
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(14, 4, 'Услуги, работы', 'ServiceList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(15, 1, 'Акт выполненных работ', 'ServiceAct', 'Продажи', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(16, 1, 'Возврат от покупателя', 'ReturnIssue', 'Продажи', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(34, 1, 'ТТН', 'TTN', 'Продажи', 'Товарно -транспортная накладная. Создается на основании заказа', 1, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(18, 3, 'Работы, наряды', 'TaskList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(19, 1, 'Наряд', 'Task', '', 'Наряд на выполнение работы, задачи', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(20, 2, 'Оплата по нарядам', 'EmpTask', '', '', 0, 0);
Expand All @@ -38,11 +37,12 @@ INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `me
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(23, 5, 'Бренды', 'Manufacturers', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(24, 5, 'Группы товаров', 'GroupList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(26, 5, 'Товары', 'ProductList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(27, 3, 'Журнал заказов', 'OrderList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(27, 3, 'Заказы', 'OrderList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(28, 1, 'Заказ покупателя', 'Order', 'Продажи', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(30, 1, 'Оприходование с производства', 'ProdReceipt', 'Производство', 'Оприходование готовой продукции и полуфабрикатов с производства на склад. ', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(31, 1, 'Списание на производство', 'ProdIssue', 'Производство', 'Передача на производство материалов и комплектующий.', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(32, 2, 'Отчет по производству', 'Prod', 'Производство', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(33, 4, 'Производственные участвки', 'ProdAreaList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(35, 3, 'Журнал ТТН', 'TTNList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(35, 3, 'Продажи', 'GIList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(36, 4, 'Оборудование', 'EqList', '', '', 0, 0);
INSERT INTO `metadata` (`meta_id`, `meta_type`, `description`, `meta_name`, `menugroup`, `notes`, `disabled`, `smartmenu`) VALUES(37, 3, 'Закупки', 'GRList', '', '', 0, 0);
172 changes: 89 additions & 83 deletions src/www/app/acl.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace App ;
namespace App;

use \App\System;
use \App\Application as App;
Expand All @@ -15,7 +15,7 @@ class ACL

private static function load() {
if (count(self::$_metas) > 0)
return ;
return;

$conn = \ZDB\DB::getConnect();
$rows = $conn->Execute("select * from metadata ");
Expand All @@ -27,158 +27,164 @@ private static function load() {
//проверка на доступ к отчету
public static function checkShowReport($rep) {
if (System::getUser()->acltype != 2)
return true;
return true;

self::load();

$meta_id = self::$_metas['2_' . $rep];
$aclview = explode(',', System::getUser()->aclview);



if(in_array($meta_id, $aclview)){
return true ;


if (in_array($meta_id, $aclview)) {
return true;
}
System::setErrorMsg('Нет права просмотра данного отчета') ;

System::setErrorMsg('Нет права просмотра данного отчета');
App::RedirectHome();
return false;
}
//проверка на доступ к справочнику

//проверка на доступ к справочнику
public static function checkShowRef($ref) {
if (System::getUser()->acltype != 2)
return true;
return true;

self::load();

$meta_id = self::$_metas['4_' . $ref];
$aclview = explode(',', System::getUser()->aclview);
if(in_array($meta_id, $aclview)){
return true;

if (in_array($meta_id, $aclview)) {
return true;
}
System::setErrorMsg('Нет права просмотра данного справочника') ;

System::setErrorMsg('Нет права просмотра данного справочника');
App::RedirectHome();
return false;
}

//проверка на доступ к редактированю справочника
public static function checkEditRef($ref) {
if (System::getUser()->acltype != 2)
return true;
return true;

self::load();

$meta_id = self::$_metas['4_' . $ref];
$acledit = explode(',', System::getUser()->acledit);
if(in_array($meta_id, $acledit)){
return true ;

if (in_array($meta_id, $acledit)) {
return true;
}
System::setErrorMsg('Нет права изменения данного справочника') ;

System::setErrorMsg('Нет права изменения данного справочника');
App::RedirectHome();
return false;
}
//проверка на доступ к журналу

//проверка на доступ к журналу
public static function checkShowReg($reg) {
if (System::getUser()->acltype != 2)
return true;
return true;

self::load();

$meta_id = self::$_metas['3_' . $reg];
$aclview = explode(',', System::getUser()->aclview);
if(in_array($meta_id, $aclview)){
return true;

if (in_array($meta_id, $aclview)) {
return true;
}
System::setErrorMsg('Нет права просмотра данного ; журнала') ;

System::setErrorMsg('Нет права просмотра данного ; журнала');
App::RedirectHome();
return false;
}
//проверка на доступ к страницам онлайн каталога

//проверка на доступ к страницам онлайн каталога
public static function checkShowCat($page) {
if (System::getUser()->acltype != 2)
return true;
return true;

self::load();

$meta_id = self::$_metas['5_' . $page];
$aclview = explode(',', System::getUser()->aclview);
if(in_array($meta_id, $aclview)){
return true;

if (in_array($meta_id, $aclview)) {
return true;
}
System::setErrorMsg('Нет права просмотра этой страницы') ;

System::setErrorMsg('Нет права просмотра этой страницы');
App::RedirectHome();
return false;
}


//проверка на доступ к документу
public static function checkShowDoc($doc,$inreg=false) {

//проверка на доступ к документу
public static function checkShowDoc($doc, $inreg = false) {
$user = System::getUser();
if ($user->acltype != 2)
return true;
return true;

self::load();



//для существующих документов
if($user->onlymy ==1 && $doc->document_id >0){

if($user->user_id != $doc->user_id ){
System::setErrorMsg('Нет права просмотра данного ; документа') ;
if($inreg==false)App::RedirectHome();
return false;
}
if ($user->onlymy == 1 && $doc->document_id > 0) {

if ($user->user_id != $doc->user_id) {
System::setErrorMsg('Нет права просмотра данного ; документа');
if ($inreg == false)
App::RedirectHome();
return false;
}
}


$aclview = explode(',', $user->aclview);
if(in_array($doc->meta_id, $aclview)){
return true;

if (in_array($doc->meta_id, $aclview)) {
return true;
}

System::setErrorMsg('Нет права просмотра данного ; документа') ;
if($inreg==false)App::RedirectHome();

System::setErrorMsg('Нет права просмотра данного ; документа');
if ($inreg == false)
App::RedirectHome();
return false;
}
//проверка на доступ к редактированию документа
public static function checkEditDoc($doc,$inreg=false) {
}

//проверка на доступ к редактированию документа
public static function checkEditDoc($doc, $inreg = false) {
$user = System::getUser();
if ($user->acltype != 2)
return true;
return true;

self::load();



if($user->onlymy ==1 && $doc->document_id >0){
if($user->user_id != $doc->user_id ){
System::setErrorMsg('Нет права изменения данного ; документа') ;
if($inreg==false)App::RedirectHome();
return false;
} }




if ($user->onlymy == 1 && $doc->document_id > 0) {
if ($user->user_id != $doc->user_id) {
System::setErrorMsg('Нет права изменения данного документа');
if ($inreg == false)
App::RedirectHome();
return false;
}
}


$acledit = explode(',', $user->acledit);
if(in_array($doc->meta_id, $acledit)){
return true;

if (in_array($doc->meta_id, $acledit)) {
return true;
}

System::setErrorMsg('Нет права изменения данного ; документа') ;
if($inreg==false)App::RedirectHome();

System::setErrorMsg('Нет права изменения данного ; документа');
if ($inreg == false)
App::RedirectHome();
return false;
}
}

}
2 changes: 1 addition & 1 deletion src/www/app/api/pos.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* Класс для работы с кассовыми апаратами
* пример вызова /api/Pos/Add/1
*/
class Pos
class Pos
{

//Демо
Expand Down
59 changes: 30 additions & 29 deletions src/www/app/api/price.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,39 +11,40 @@ class Price extends \App\RestFul

//Демо
public function post($params) {
$this->OKAnswer();
$this->OKAnswer();
}

public function get($params) {

$xml = "<price>";
/*
$conn = \ZDB\DB::getConnect();
$groups = array();
$rs = $conn->Execute('select distinct * from erp_item_group where group_id in (select group_id from erp_item where price > 0) order by group_name');
foreach ($rs as $row) {
$groups[$row['group_id']] = $row['group_name'];
}
foreach ($groups as $id => $name) {
$xml .= "<group>";
$xml .= "<name><![CDATA[{$name}]]></name>";
$rs = $conn->Execute("select * from erp_item_view where group_id ={$id} order by itemname");
foreach ($rs as $row) {
$price = number_format($row['price'] / 100, 2, '.', "");
$xml .= "<item>";
$xml .= "<name><![CDATA[{$row['itemname']}]]></name>";
$xml .= "<price>{$price}</price>";
$xml .= "<measure>{$row['measure_name']}</measure>";
$xml .= "<description><![CDATA[{$row['description']}]]></description>";
$xml .= "</item>";
}
$xml .= "</group>";
}
*/
$conn = \ZDB\DB::getConnect();
$groups = array();
$rs = $conn->Execute('select distinct * from erp_item_group where group_id in (select group_id from erp_item where price > 0) order by group_name');
foreach ($rs as $row) {
$groups[$row['group_id']] = $row['group_name'];
}
foreach ($groups as $id => $name) {
$xml .= "<group>";
$xml .= "<name><![CDATA[{$name}]]></name>";
$rs = $conn->Execute("select * from erp_item_view where group_id ={$id} order by itemname");
foreach ($rs as $row) {
$price = number_format($row['price'] / 100, 2, '.', "");
$xml .= "<item>";
$xml .= "<name><![CDATA[{$row['itemname']}]]></name>";
$xml .= "<price>{$price}</price>";
$xml .= "<measure>{$row['measure_name']}</measure>";
$xml .= "<description><![CDATA[{$row['description']}]]></description>";
$xml .= "</item>";
}
$xml .= "</group>";
}
*/
$this->XMLAnswer($xml . "</price>");
}

Expand Down
Loading

0 comments on commit 6e7d9d3

Please sign in to comment.