diff --git a/README.md b/README.md index 6cb6892..5163ecf 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,3 @@ AhadPOS2 Web-based POS (Point Of Sale) software with Open Source (GPL v2) license. Based on PHP5 & MySQL5 -Acknowledgements --------- - -Lead developer : Bambang Hermianto : https://github.com/AbuMuhammad - -System Analyst : Harry Sufehmi : http://harry.sufehmi.com - -Sponsor : Ahadmart : http://ahadmart.com - diff --git a/config/config.php b/config/config.php index 05a5d8b..a280d13 100644 --- a/config/config.php +++ b/config/config.php @@ -1,26 +1,18 @@ - + diff --git a/config/adminstyle.css b/css/adminstyle.css similarity index 94% rename from config/adminstyle.css rename to css/adminstyle.css index aeab4ae..d02a994 100644 --- a/config/adminstyle.css +++ b/css/adminstyle.css @@ -1,137 +1,137 @@ -body{ - font-family: Tahoma; -} -#header { - position: relative; - background-image: url(../image/header.jpg); - background-repeat: no-repeat; - margin-right: auto; - margin-left: auto; - width: 950px; - border: 2px solid #265180; - padding-top: 100px; - text-align: left; -} -#login{ - margin-left: 250px; - padding: 20px 10px 0 0; -} -#content { - margin-left: 30px; - padding: 20px 10px 0 0; -} -#content p { - font-size: 75%; - line-height: 1.8em; - padding-left: 2em; -} -#menu ul { - list-style: none; - margin: 0; - padding: 0; - border: none; -} -#menu li { - width: 200px; - border-bottom: 1px solid #969BA5; - margin: 0; - padding: 0; - font-size: 80%; - vertical-align: bottom; -} -#menu a:link, #menu a:visited { - display: block; - padding: 5px 5px 5px 0.5em; - border-left: 12px solid #265180; - border-right: 1px solid #265180; - background-color: #CAD6EC; - color: #265180; - text-decoration: none; -} -#menu a:hover { - background-color: #265180; - color: #FFFFFF; -} - -.bckgrndmenu{ - background-color: #265180; - border-color: #265180; -} -#footer{ - padding: 5px 5px 5px 5px; - font-size: 70%; - color: #FFFFFF; - background-color: #265180; - border-color: #265180; -} -a:link,a:visited { - - color:#265180; -} -a:hover { - color: #FF6600; - text-decoration:none; -} -h2 { - font: normal 120% Georgia; - color: #265180; - background-color: transparent; - border-bottom: 1px dotted #265180; -} -h3 { - font: normal 90% Georgia; - color: #265180; - background-color: transparent; -} - -table{ - border-collapse: collapse; -} -.tableku { - font-family: Tahoma; - font-size: 10pt; - border-width: 1px; - border-collapse: collapse; - margin: 10px 0px; - border: 1px solid #265180; - padding: 2px; -} -.td{ - border: 1px solid #265180; - padding: 2px; - font-size: 9pt; -} -form{ - font-size: 10pt; - padding: 2px; -} -th{ - color: #FFFFFF; - font-size: 7pt; - text-transform: uppercase; - text-align: center; - padding: 0.75em; - border-width: 1px; - border-style: solid; - border-color: #969BA5; - border-collapse: collapse; - background-color: #265180; -} -.tdku{ - padding: 0.5em; - vertical-align: top; - border-width: 1px; - border-style: solid; - border-color: #969BA5; - border-collapse: collapse; -} -input,textarea,select{ - font-family: Tahoma; - font-size: 8pt; -} -.body { - font-family: Tahoma; - border-color: #265180; - border-width: 1px; - border-style: solid; +body{ + font-family: Tahoma; +} +#header { + position: relative; + background-image: url(../image/header.jpg); + background-repeat: no-repeat; + margin-right: auto; + margin-left: auto; + width: 950px; + border: 2px solid #265180; + padding-top: 100px; + text-align: left; +} +#login{ + margin-left: 250px; + padding: 20px 10px 0 0; +} +#content { + margin-left: 30px; + padding: 20px 10px 0 0; +} +#content p { + font-size: 75%; + line-height: 1.8em; + padding-left: 2em; +} +#menu ul { + list-style: none; + margin: 0; + padding: 0; + border: none; +} +#menu li { + width: 200px; + border-bottom: 1px solid #969BA5; + margin: 0; + padding: 0; + font-size: 80%; + vertical-align: bottom; +} +#menu a:link, #menu a:visited { + display: block; + padding: 5px 5px 5px 0.5em; + border-left: 12px solid #265180; + border-right: 1px solid #265180; + background-color: #CAD6EC; + color: #265180; + text-decoration: none; +} +#menu a:hover { + background-color: #265180; + color: #FFFFFF; +} + +.bckgrndmenu{ + background-color: #265180; + border-color: #265180; +} +#footer{ + padding: 5px 5px 5px 5px; + font-size: 70%; + color: #FFFFFF; + background-color: #265180; + border-color: #265180; +} +a:link,a:visited { + + color:#265180; +} +a:hover { + color: #FF6600; + text-decoration:none; +} +h2 { + font: normal 120% Georgia; + color: #265180; + background-color: transparent; + border-bottom: 1px dotted #265180; +} +h3 { + font: normal 90% Georgia; + color: #265180; + background-color: transparent; +} + +table{ + border-collapse: collapse; +} +.tableku { + font-family: Tahoma; + font-size: 10pt; + border-width: 1px; + border-collapse: collapse; + margin: 10px 0px; + border: 1px solid #265180; + padding: 2px; +} +.td{ + border: 1px solid #265180; + padding: 2px; + font-size: 9pt; +} +form{ + font-size: 10pt; + padding: 2px; +} +th{ + color: #FFFFFF; + font-size: 7pt; + text-transform: uppercase; + text-align: center; + padding: 0.75em; + border-width: 1px; + border-style: solid; + border-color: #969BA5; + border-collapse: collapse; + background-color: #265180; +} +.tdku{ + padding: 0.5em; + vertical-align: top; + border-width: 1px; + border-style: solid; + border-color: #969BA5; + border-collapse: collapse; +} +input,textarea,select{ + font-family: Tahoma; + font-size: 8pt; +} +.body { + font-family: Tahoma; + border-color: #265180; + border-width: 1px; + border-style: solid; } \ No newline at end of file diff --git a/css/animate.min.css b/css/animate.min.css deleted file mode 100644 index a2aa5ff..0000000 --- a/css/animate.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@keyframes bounce{0%,20%,50%,80%,100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);-ms-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);-ms-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);-ms-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);-ms-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9)rotate(-3deg);transform:scale(.9)rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1)rotate(3deg);transform:scale(1.1)rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1)rotate(-3deg);transform:scale(1.1)rotate(-3deg)}100%{-webkit-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9)rotate(-3deg);-ms-transform:scale(.9)rotate(-3deg);transform:scale(.9)rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1)rotate(3deg);-ms-transform:scale(1.1)rotate(3deg);transform:scale(1.1)rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1)rotate(-3deg);-ms-transform:scale(1.1)rotate(-3deg);transform:scale(1.1)rotate(-3deg)}100%{-webkit-transform:scale(1)rotate(0);-ms-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%)rotate(-5deg);transform:translateX(-25%)rotate(-5deg)}30%{-webkit-transform:translateX(20%)rotate(3deg);transform:translateX(20%)rotate(3deg)}45%{-webkit-transform:translateX(-15%)rotate(-3deg);transform:translateX(-15%)rotate(-3deg)}60%{-webkit-transform:translateX(10%)rotate(2deg);transform:translateX(10%)rotate(2deg)}75%{-webkit-transform:translateX(-5%)rotate(-1deg);transform:translateX(-5%)rotate(-1deg)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}@keyframes wobble{0%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%)rotate(-5deg);-ms-transform:translateX(-25%)rotate(-5deg);transform:translateX(-25%)rotate(-5deg)}30%{-webkit-transform:translateX(20%)rotate(3deg);-ms-transform:translateX(20%)rotate(3deg);transform:translateX(20%)rotate(3deg)}45%{-webkit-transform:translateX(-15%)rotate(-3deg);-ms-transform:translateX(-15%)rotate(-3deg);transform:translateX(-15%)rotate(-3deg)}60%{-webkit-transform:translateX(10%)rotate(2deg);-ms-transform:translateX(10%)rotate(2deg);transform:translateX(10%)rotate(2deg)}75%{-webkit-transform:translateX(-5%)rotate(-1deg);-ms-transform:translateX(-5%)rotate(-1deg);transform:translateX(-5%)rotate(-1deg)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);transform:scale(.9)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);-ms-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);-ms-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);-ms-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}}@keyframes bounceOut{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}25%{-webkit-transform:scale(.95);-ms-transform:scale(.95);transform:scale(.95)}50%{opacity:1;-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes bounceOutDown{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes bounceOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px)translateZ(0)rotateY(0)scale(1);transform:perspective(400px)translateZ(0)rotateY(0)scale(1)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1);transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1)}50%{-webkit-transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95);transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95)}80%,100%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1);transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1)}}@keyframes flip{0%{-webkit-transform:perspective(400px)translateZ(0)rotateY(0)scale(1);-ms-transform:perspective(400px)translateZ(0)rotateY(0)scale(1);transform:perspective(400px)translateZ(0)rotateY(0)scale(1)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1);-ms-transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1);transform:perspective(400px)translateZ(150px)rotateY(170deg)scale(1)}50%{-webkit-transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);-ms-transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);transform:perspective(400px)translateZ(150px)rotateY(190deg)scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95);-ms-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95);transform:perspective(400px)translateZ(0)rotateY(360deg)scale(.95)}80%,100%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1);-ms-transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1);transform:perspective(400px)translateZ(0)rotateY(360deg)scale(1)}}.animated.flip{-webkit-backface-visibility:visible;-ms-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateX(-10deg);transform:perspective(400px)rotateX(-10deg)}70%{-webkit-transform:perspective(400px)rotateX(10deg);transform:perspective(400px)rotateX(10deg)}100%{-webkit-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}}@keyframes flipInX{0%{-webkit-transform:perspective(400px)rotateX(90deg);-ms-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateX(-10deg);-ms-transform:perspective(400px)rotateX(-10deg);transform:perspective(400px)rotateX(-10deg)}70%{-webkit-transform:perspective(400px)rotateX(10deg);-ms-transform:perspective(400px)rotateX(10deg);transform:perspective(400px)rotateX(10deg)}100%{-webkit-transform:perspective(400px)rotateX(0);-ms-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateY(-10deg);transform:perspective(400px)rotateY(-10deg)}70%{-webkit-transform:perspective(400px)rotateY(10deg);transform:perspective(400px)rotateY(10deg)}100%{-webkit-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}}@keyframes flipInY{0%{-webkit-transform:perspective(400px)rotateY(90deg);-ms-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px)rotateY(-10deg);-ms-transform:perspective(400px)rotateY(-10deg);transform:perspective(400px)rotateY(-10deg)}70%{-webkit-transform:perspective(400px)rotateY(10deg);-ms-transform:perspective(400px)rotateY(10deg);transform:perspective(400px)rotateY(10deg)}100%{-webkit-transform:perspective(400px)rotateY(0);-ms-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px)rotateX(0);-ms-transform:perspective(400px)rotateX(0);transform:perspective(400px)rotateX(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateX(90deg);-ms-transform:perspective(400px)rotateX(90deg);transform:perspective(400px)rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px)rotateY(0);-ms-transform:perspective(400px)rotateY(0);transform:perspective(400px)rotateY(0);opacity:1}100%{-webkit-transform:perspective(400px)rotateY(90deg);-ms-transform:perspective(400px)rotateY(90deg);transform:perspective(400px)rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%)skewX(30deg);transform:translateX(-20%)skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%)skewX(-15deg);transform:translateX(0%)skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%)skewX(0);transform:translateX(0%)skewX(0);opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%)skewX(-30deg);-ms-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%)skewX(30deg);-ms-transform:translateX(-20%)skewX(30deg);transform:translateX(-20%)skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%)skewX(-15deg);-ms-transform:translateX(0%)skewX(-15deg);transform:translateX(0%)skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%)skewX(0);-ms-transform:translateX(0%)skewX(0);transform:translateX(0%)skewX(0);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%)skewX(0);transform:translateX(0%)skewX(0);opacity:1}100%{-webkit-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%)skewX(0);-ms-transform:translateX(0%)skewX(0);transform:translateX(0%)skewX(0);opacity:1}100%{-webkit-transform:translateX(100%)skewX(-30deg);-ms-transform:translateX(100%)skewX(-30deg);transform:translateX(100%)skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,100%{-webkit-transform-origin:center center;transform-origin:center center}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-ms-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,100%{-webkit-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}0%,100%{-webkit-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}0%,100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}0%,100%{-webkit-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}0%,100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,100%{-webkit-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:center center;transform-origin:center center}100%{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}100%{-webkit-transform:rotate(200deg);-ms-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom}100%{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);opacity:1}0%,100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom}100%{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);transform:rotate(0)}0%,20%,60%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg)}40%{-webkit-transform:rotate(60deg);transform:rotate(60deg)}40%,80%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg)translateY(0);transform:rotate(60deg)translateY(0);opacity:1}100%{-webkit-transform:translateY(700px);transform:translateY(700px);opacity:0}}@keyframes hinge{0%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}0%,20%,60%{-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-ms-transform:rotate(80deg);transform:rotate(80deg)}40%{-webkit-transform:rotate(60deg);-ms-transform:rotate(60deg);transform:rotate(60deg)}40%,80%{-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg)translateY(0);-ms-transform:rotate(60deg)translateY(0);transform:rotate(60deg)translateY(0);opacity:1}100%{-webkit-transform:translateY(700px);-ms-transform:translateY(700px);transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%)rotate(-120deg);transform:translateX(-100%)rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%)rotate(-120deg);-ms-transform:translateX(-100%)rotate(-120deg);transform:translateX(-100%)rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0)rotate(0);-ms-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}100%{opacity:0;-webkit-transform:translateX(100%)rotate(120deg);transform:translateX(100%)rotate(120deg)}}@keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0)rotate(0);-ms-transform:translateX(0)rotate(0);transform:translateX(0)rotate(0)}100%{opacity:0;-webkit-transform:translateX(100%)rotate(120deg);-ms-transform:translateX(100%)rotate(120deg);transform:translateX(100%)rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut} \ No newline at end of file diff --git a/css/style.css b/css/style.css index 5911b5f..7a03123 100644 --- a/css/style.css +++ b/css/style.css @@ -5,46 +5,41 @@ Style for ahad pos 2 Created on : Nov 6, 2013, 1:08:59 PM Author : abufathir */ -/*@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: url('fonts/OpenSans-Light.ttf'); -} @font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url('fonts/OpenSans.ttf'); + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: url('fonts/OpenSans-Light.ttf'); } @font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: url('fonts/OpenSans-Bold.ttf'); + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: url('fonts/OpenSans.ttf'); } @font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - src: url('fonts/OpenSans-LightItalic.ttf'); + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: url('fonts/OpenSans-Bold.ttf'); } @font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - src: url('fonts/OpenSans-Italic.ttf'); + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: url('fonts/OpenSans-LightItalic.ttf'); } @font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - src: url('fonts/OpenSans-BoldItalic.ttf'); -}*/ + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: url('fonts/OpenSans-Italic.ttf'); +} @font-face { - font-family: 'Ubuntu'; - font-style: normal; - src: url('fonts/ubuntu-r.ttf'); + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: url('fonts/OpenSans-BoldItalic.ttf'); } @font-face { font-family: 'Ubuntu'; @@ -258,7 +253,7 @@ table { img { max-width: 100% !important; } - @page { + @page { margin: 2cm .5cm; } p, @@ -296,12 +291,6 @@ table { border: 1px solid #ddd !important; } } -.getar { - -webkit-animation: tada 1s infinite; - -moz-animation: tada 1s infinite; - -ms-animation: tada 1s infinite; - animation: tada 1s infinite; -} .tombol { display: inline-block; margin-bottom: 0; @@ -314,7 +303,7 @@ table { white-space: nowrap; padding: 6px 12px; font-size: 15px; - line-height: 1.428571429; + line-height: 1.42857143; border-radius: 0; -webkit-user-select: none; -moz-user-select: none; @@ -349,13 +338,8 @@ fieldset[disabled] .tombol { -webkit-box-shadow: none; box-shadow: none; } -.tombol.getar { - background-color: red; - color: #fff !important; -} input, -select, -a.tombol { +select { padding: 5px 10px; font-size: 12px; line-height: 1.5; @@ -373,28 +357,23 @@ a.tombol { transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } input:-moz-placeholder, -select:-moz-placeholder, -a.tombol:-moz-placeholder { +select:-moz-placeholder { color: #999999; } input::-moz-placeholder, -select::-moz-placeholder, -a.tombol::-moz-placeholder { +select::-moz-placeholder { color: #999999; } input:-ms-input-placeholder, -select:-ms-input-placeholder, -a.tombol:-ms-input-placeholder { +select:-ms-input-placeholder { color: #999999; } input::-webkit-input-placeholder, -select::-webkit-input-placeholder, -a.tombol::-webkit-input-placeholder { +select::-webkit-input-placeholder { color: #999999; } input:focus, -select:focus, -a.tombol:focus { +select:focus { border-color: #a8cf45; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(168, 207, 69, 0.6); @@ -402,19 +381,15 @@ a.tombol:focus { } input[disabled], select[disabled], -a.tombol[disabled], input[readonly], select[readonly], -a.tombol[readonly], fieldset[disabled] input, -fieldset[disabled] select, -fieldset[disabled] a.tombol { +fieldset[disabled] select { cursor: not-allowed; background-color: #eeeeee; } textareainput, -textareaselect, -textareaa.tombol { +textareaselect { height: auto; } select { @@ -435,7 +410,7 @@ button { white-space: nowrap; padding: 6px 12px; font-size: 15px; - line-height: 1.428571429; + line-height: 1.42857143; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; @@ -503,13 +478,6 @@ fieldset[disabled] button { -webkit-box-shadow: none; box-shadow: none; } -input[type="submit"].getar, -input[type="reset"].getar, -input[type="button"].getar, -button.getar { - background-color: red; - color: #fff !important; -} input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, @@ -617,7 +585,6 @@ input[type="file"] { .input-group { position: relative; /*display: table;*/ - border-collapse: separate; display: inline-table; width: 50px; @@ -656,21 +623,20 @@ body { font-weight: 300; background: white; /* &.kasir{ - //background-color: #272727; - //background-image: url('carbon_fibre.png'); - //background-image: url('linen-gray.png'); - background-color: black; - color: greenyellow; - th{ - color:white; - background-color: darkgreen; - border: thin solid gray; - } - tr.alt{ - background-color: #444; - } - }*/ - + //background-color: #272727; + //background-image: url('carbon_fibre.png'); + //background-image: url('linen-gray.png'); + background-color: black; + color: greenyellow; + th{ + color:white; + background-color: darkgreen; + border: thin solid gray; + } + tr.alt{ + background-color: #444; + } + }*/ } body.kasir { display: inline; @@ -678,15 +644,6 @@ body.kasir { body.kasir form { display: inline; } -body.kasir #footer { - margin-left: -20px; - padding: 5px 20px; - background-color: #ccc; -} -body.kasir #footer a { - color: #2c3e50; - float: left; -} a { text-decoration: none; color: green; @@ -871,11 +828,6 @@ fieldset[disabled] #login form #tombol-login.active { top: 0px; font-size: 7em; } -#tot_pembelian small { - color: red; - text-decoration: line-through; - font-size: 0.5em; -} #kembalian { text-align: right; font-size: 6em; @@ -917,9 +869,6 @@ table.top td { .tabel tr.alt { background-color: #eef4d2; } -.tabel tr.merah { - background-color: #f00; -} .tabel tr td { border-right: thin solid #dddddd; padding: 3px 5px; @@ -933,27 +882,10 @@ table.top td { } .tabel .pilih:focus { /* color: white; - background-color: red;*/ - + background-color: red;*/ outline: 1px solid #6fa738; background-color: yellow; } -.tabel.print th { - background-color: #fff; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} -.tabel.print tr.alt { - background-color: #eef4d2; -} -.tabel.print tr td { - border-right: thin solid #ccc; - padding: 3px 5px; -} -.tabel.print tr td.error { - color: orange; - font-weight: bold; -} div.top { margin-top: 90px; margin-bottom: 10px; @@ -964,29 +896,28 @@ div.pembayaran { display: inline; float: right; padding: 10px; - margin-bottom: 55px; } /*#submenu{ - ul{ - margin: 0px; - padding-left: 20px; - background-color: @hijau-front; - line-height: 25px; - li{ - display: inline; - a{ - text-transform: uppercase; - color: black; - font-size:12px; - font-weight:bold; - text-decoration:none; - margin-right: 15px; - } - &.active a{ - .active; - } - } - } + ul{ + margin: 0px; + padding-left: 20px; + background-color: @hijau-front; + line-height: 25px; + li{ + display: inline; + a{ + text-transform: uppercase; + color: black; + font-size:12px; + font-weight:bold; + text-decoration:none; + margin-right: 15px; + } + &.active a{ + .active; + } + } + } }*/ #header { position: fixed; @@ -1030,9 +961,6 @@ div.pembayaran { background-color: #eef4d2; margin: 0; } -textarea { - margin-bottom: 5px; -} /*! * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) @@ -1057,7 +985,7 @@ textarea { } /* makes the font 33% larger relative to the icon container */ .fa-lg { - font-size: 1.3333333333333333em; + font-size: 1.33333333em; line-height: 0.75em; vertical-align: -15%; } @@ -1074,12 +1002,12 @@ textarea { font-size: 5em; } .fa-fw { - width: 1.2857142857142858em; + width: 1.28571429em; text-align: center; } .fa-ul { padding-left: 0; - margin-left: 2.142857142857143em; + margin-left: 2.14285714em; list-style-type: none; } .fa-ul > li { @@ -1087,13 +1015,13 @@ textarea { } .fa-li { position: absolute; - left: -2.142857142857143em; - width: 2.142857142857143em; - top: 0.14285714285714285em; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; text-align: center; } .fa-li.fa-lg { - left: -1.8571428571428572em; + left: -1.85714286em; } .fa-border { padding: .2em .25em .15em; @@ -2371,3 +2299,4 @@ textarea { .fa-plus-square-o:before { content: "\f196"; } +/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/css/style.css.map b/css/style.css.map index 4d74814..a779345 100644 --- a/css/style.css.map +++ b/css/style.css.map @@ -1 +1 @@ -{"version":3,"file":"/home/abufathir/www/ahad/AhadPOS2/css/style.css","sources":["../less/style.less","../less/lib/tb3/normalize.less","../less/lib/tb3/print.less","../less/lib/tb3/mixins.less","../less/lib/tb3/variables.less","../less/lib/fa/path.less","../less/lib/fa/core.less","../less/lib/fa/larger.less","../less/lib/fa/fixed-width.less","../less/lib/fa/list.less","../less/lib/fa/bordered-pulled.less","../less/lib/fa/spinning.less","../less/lib/fa/rotated-flipped.less","../less/lib/fa/mixins.less","../less/lib/fa/stacked.less","../less/lib/fa/icons.less","../less/lib/fa/variables.less"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"/home/abufathir/www/ahad/AhadPOS2Fork/css/style.css","sources":["../less/style.less","../less/lib/tb3/normalize.less","../less/lib/tb3/print.less","../less/lib/tb3/mixins.less","../less/lib/tb3/variables.less","../less/lib/fa/path.less","../less/lib/fa/core.less","../less/lib/fa/larger.less","../less/lib/fa/fixed-width.less","../less/lib/fa/list.less","../less/lib/fa/bordered-pulled.less","../less/lib/fa/spinning.less","../less/lib/fa/rotated-flipped.less","../less/lib/fa/mixins.less","../less/lib/fa/stacked.less","../less/lib/fa/icons.less","../less/lib/fa/variables.less"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/define.php b/define.php new file mode 100644 index 0000000..fa76394 --- /dev/null +++ b/define.php @@ -0,0 +1,15 @@ + diff --git a/js/interface.js b/js/interface.js index 817520d..5050e07 100644 --- a/js/interface.js +++ b/js/interface.js @@ -1,8 +1,8 @@ -/* - * Interface elements for jQuery - http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - */ - eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('6.16={3e:D(e){C x=0;C y=0;C 31=F;C 1j=e.18;k(6(e).H(\'1e\')==\'1k\'){3l=1j.2o;5e=1j.Q;1j.2o=\'3q\';1j.1e=\'3E\';1j.Q=\'2s\';31=12}C A=e;65(A){x+=A.56+(A.4c&&!6.2A.5Y?J(A.4c.6c)||0:0);y+=A.5i+(A.4c&&!6.2A.5Y?J(A.4c.6v)||0:0);A=A.7u}A=e;65(A&&A.4I&&A.4I.5l()!=\'1J\'){x-=A.4s||0;y-=A.3F||0;A=A.2S}k(31){1j.1e=\'1k\';1j.Q=5e;1j.2o=3l}E{x:x,y:y}},bl:D(A){C x=0,y=0;65(A){x+=A.56||0;y+=A.5i||0;A=A.7u}E{x:x,y:y}},2d:D(e){C w=6.H(e,\'Z\');C h=6.H(e,\'V\');C 1F=0;C 1y=0;C 1j=e.18;k(6(e).H(\'1e\')!=\'1k\'){1F=e.5A;1y=e.63}P{3l=1j.2o;5e=1j.Q;1j.2o=\'3q\';1j.1e=\'3E\';1j.Q=\'2s\';1F=e.5A;1y=e.63;1j.1e=\'1k\';1j.Q=5e;1j.2o=3l}E{w:w,h:h,1F:1F,1y:1y}},6O:D(A){E{1F:A.5A||0,1y:A.63||0}},8o:D(e){C h,w,3W;k(e){w=e.4E;h=e.4U}P{3W=17.2q;w=3t.6s||54.6s||(3W&&3W.4E)||17.1J.4E;h=3t.66||54.66||(3W&&3W.4U)||17.1J.4U}E{w:w,h:h}},7a:D(e){C t,l,w,h,4m,4q;k(e&&e.5J.5l()!=\'1J\'){t=e.3F;l=e.4s;w=e.68;h=e.6w;4m=0;4q=0}P{k(17.2q&&17.2q.3F){t=17.2q.3F;l=17.2q.4s;w=17.2q.68;h=17.2q.6w}P k(17.1J){t=17.1J.3F;l=17.1J.4s;w=17.1J.68;h=17.1J.6w}4m=54.6s||17.2q.4E||17.1J.4E||0;4q=54.66||17.2q.4U||17.1J.4U||0}E{t:t,l:l,w:w,h:h,4m:4m,4q:4q}},7W:D(e,4u){C A=6(e);C t=A.H(\'3D\')||\'\';C r=A.H(\'3G\')||\'\';C b=A.H(\'3H\')||\'\';C l=A.H(\'3I\')||\'\';k(4u)E{t:J(t)||0,r:J(r)||0,b:J(b)||0,l:J(l)};P E{t:t,r:r,b:b,l:l}},aY:D(e,4u){C A=6(e);C t=A.H(\'80\')||\'\';C r=A.H(\'81\')||\'\';C b=A.H(\'88\')||\'\';C l=A.H(\'87\')||\'\';k(4u)E{t:J(t)||0,r:J(r)||0,b:J(b)||0,l:J(l)};P E{t:t,r:r,b:b,l:l}},62:D(e,4u){C A=6(e);C t=A.H(\'6v\')||\'\';C r=A.H(\'86\')||\'\';C b=A.H(\'84\')||\'\';C l=A.H(\'6c\')||\'\';k(4u)E{t:J(t)||0,r:J(r)||0,b:J(b)||0,l:J(l)||0};P E{t:t,r:r,b:b,l:l}},30:D(3o){C x=3o.at||(3o.au+(17.2q.4s||17.1J.4s))||0;C y=3o.b4||(3o.bv+(17.2q.3F||17.1J.3F))||0;E{x:x,y:y}},6C:D(2u,6o){6o(2u);2u=2u.4M;65(2u){6.16.6C(2u,6o);2u=2u.bI}},bt:D(2u){6.16.6C(2u,D(A){1B(C 1N 1W A){k(25 A[1N]===\'D\'){A[1N]=Y}}})},9k:D(A,1u){C 2L=$.16.7a();C 6h=$.16.2d(A);k(!1u||1u==\'2e\')$(A).H({M:2L.t+((1t.2I(2L.h,2L.4q)-2L.t-6h.1y)/2)+\'14\'});k(!1u||1u==\'29\')$(A).H({L:2L.l+((1t.2I(2L.w,2L.4m)-2L.l-6h.1F)/2)+\'14\'})},ab:D(A,7D){C 89=$(\'82[@5W*="5L"]\',A||17),5L;89.1L(D(){5L=u.5W;u.5W=7D;u.18.69="90:8R.9e.bf(5W=\'"+5L+"\')"})}};[].7Z||(4S.9a.7Z=D(v,n){n=(n==Y)?0:n;C m=u.1Y;1B(C i=n;i-78?r:(2g(6.H(1l,1s))||0);24=24==\'7m\'?(45==\'1k\'?\'2t\':\'2k\'):24;R[24]=12;1n[1s]=24==\'2t\'?[0,1l.3K[1s]]:[1l.3K[1s],0];k(1s!=\'1H\')y[1s]=1n[1s][0]+(1s!=\'2r\'&&1s!=\'6p\'?\'14\':\'\');P 6.1N(y,"1H",1n[1s][0])}P{1n[1s]=[2g(6.3C(1l,1s)),2g(24)||0]}}P k(6.O.7g[1s])1n[1s]=[6.O.3B(6.3C(1l,1s)),6.O.3B(24)];P k(/^5G$|5z$|4H$|5y$|6z$/i.4d(1s)){C m=24.3c(/\\s+/g,\' \').3c(/46\\s*\\(\\s*/g,\'46(\').3c(/\\s*,\\s*/g,\',\').3c(/\\s*\\)/g,\')\').8C(/([^\\s]+)/g);2Z(1s){1a\'5G\':1a\'5z\':1a\'6z\':1a\'5y\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];1B(C i=0;i<6.O.4X.1Y;i++){C 3b=6.O.6t[1s][0]+6.O.4X[i]+6.O.6t[1s][1];1n[3b]=1s==\'5y\'?[6.O.3B(6.3C(1l,3b)),6.O.3B(m[i])]:[2g(6.3C(1l,3b)),2g(m[i])]}1p;1a\'4H\':1B(C i=0;iR.2C+z.5V){8G(z.4z);z.4z=Y;1B(p 1W 1n){k(p=="1H")6.1N(y,"1H",1n[p][1]);P k(25 1n[p][1]==\'6r\')y[p]=\'46(\'+1n[p][1].r+\',\'+1n[p][1].g+\',\'+1n[p][1].b+\')\';P y[p]=1n[p][1]+(p!=\'2r\'&&p!=\'6p\'?\'14\':\'\')}k(R.2k||R.2t)1B(C p 1W 1l.3K)k(p=="1H")6.1N(y,p,1l.3K[p]);P y[p]="";y.1e=R.2k?\'1k\':(45!=\'1k\'?45:\'3E\');y.3m=7v;1l.3d=Y;k(6.7q(R.3z))R.3z.1A(1l)}P{C n=t-u.5V;C 4B=n/R.2C;1B(p 1W 1n){k(25 1n[p][1]==\'6r\'){y[p]=\'46(\'+J(6.19[R.19](4B,n,1n[p][0].r,(1n[p][1].r-1n[p][0].r),R.2C))+\',\'+J(6.19[R.19](4B,n,1n[p][0].g,(1n[p][1].g-1n[p][0].g),R.2C))+\',\'+J(6.19[R.19](4B,n,1n[p][0].b,(1n[p][1].b-1n[p][0].b),R.2C))+\')\'}P{C 6u=6.19[R.19](4B,n,1n[p][0],(1n[p][1]-1n[p][0]),R.2C);k(p=="1H")6.1N(y,"1H",6u);P y[p]=6u+(p!=\'2r\'&&p!=\'6p\'?\'14\':\'\')}}}};z.4z=7t(D(){z.2x()},13);1l.3d=z},6n:D(1l,2x){k(2x)1l.3d.5V-=bQ;P{3t.8G(1l.3d.4z);1l.3d=Y;6.6A(1l,"O")}}});6.6m=D(3g){C 2Q={};k(25 3g==\'5h\'){3g=3g.5l().8I(\';\');1B(C i=0;i<3g.1Y;i++){4n=3g[i].8I(\':\');k(4n.1Y==2){2Q[6.8K(4n[0].3c(/\\-(\\w)/g,D(m,c){E c.aN()}))]=6.8K(4n[1])}}}E 2Q};6.G={1b:Y,q:Y,4e:D(){E u.1L(D(){k(u.5f){u.7.2H.26(\'2J\',6.G.77);u.7=Y;u.5f=F;k(6.2A.4i){u.6x="aL"}P{u.18.aI=\'\';u.18.8E=\'\';u.18.8g=\'\'}}})},77:D(e){k(6.G.q!=Y){6.G.5n(e);E F}C 8=u.1X;6(17).1S(\'2l\',6.G.6q).1S(\'4p\',6.G.5n);8.7.1c=6.16.30(e);8.7.2b=8.7.1c;8.7.5r=F;8.7.aS=u!=u.1X;6.G.q=8;k(8.7.2V&&u!=u.1X){6B=6.16.3e(8.2S);6j=6.16.2d(8);6D={x:J(6.H(8,\'L\'))||0,y:J(6.H(8,\'M\'))||0};W=8.7.2b.x-6B.x-6j.1F/2-6D.x;X=8.7.2b.y-6B.y-6j.1y/2-6D.y;6.1M.2F(8,[W,X])}E 6.aX||F},8v:D(e){C 8=6.G.q;8.7.5r=12;C 5m=8.18;8.7.4k=6.H(8,\'1e\');8.7.3s=6.H(8,\'Q\');k(!8.7.8l)8.7.8l=8.7.3s;8.7.1h={x:J(6.H(8,\'L\'))||0,y:J(6.H(8,\'M\'))||0};8.7.5j=0;8.7.5b=0;k(6.2A.4i){C 6a=6.16.62(8,12);8.7.5j=6a.l||0;8.7.5b=6a.t||0}8.7.11=6.1Q(6.16.3e(8),6.16.2d(8));k(8.7.3s!=\'2i\'&&8.7.3s!=\'2s\'){5m.Q=\'2i\'}6.G.1b.8p();C 2T=8.ao(12);6(2T).H({1e:\'3E\',L:\'2f\',M:\'2f\'});2T.18.3D=\'0\';2T.18.3G=\'0\';2T.18.3H=\'0\';2T.18.3I=\'0\';6.G.1b.4A(2T);C 21=6.G.1b.1g(0).18;k(8.7.6i){21.Z=\'8n\';21.V=\'8n\'}P{21.V=8.7.11.1y+\'14\';21.Z=8.7.11.1F+\'14\'}21.1e=\'3E\';21.3D=\'2f\';21.3G=\'2f\';21.3H=\'2f\';21.3I=\'2f\';6.1Q(8.7.11,6.16.2d(2T));k(8.7.1R){k(8.7.1R.L){8.7.1h.x+=8.7.1c.x-8.7.11.x-8.7.1R.L;8.7.11.x=8.7.1c.x-8.7.1R.L}k(8.7.1R.M){8.7.1h.y+=8.7.1c.y-8.7.11.y-8.7.1R.M;8.7.11.y=8.7.1c.y-8.7.1R.M}k(8.7.1R.43){8.7.1h.x+=8.7.1c.x-8.7.11.x-8.7.11.1y+8.7.1R.43;8.7.11.x=8.7.1c.x-8.7.11.1F+8.7.1R.43}k(8.7.1R.3y){8.7.1h.y+=8.7.1c.y-8.7.11.y-8.7.11.1y+8.7.1R.3y;8.7.11.y=8.7.1c.y-8.7.11.1y+8.7.1R.3y}}8.7.1x=8.7.1h.x;8.7.1z=8.7.1h.y;k(8.7.4L||8.7.1E==\'4R\'){4G=6.16.62(8.2S,12);8.7.11.x=8.56+(6.2A.4i?0:6.2A.5Y?-4G.l:4G.l);8.7.11.y=8.5i+(6.2A.4i?0:6.2A.5Y?-4G.t:4G.t);6(8.2S).4A(6.G.1b.1g(0))}k(8.7.1E){6.G.6J(8);8.7.2X.1E=6.G.6T}k(8.7.2V){6.1M.6V(8)}21.L=8.7.11.x-8.7.5j+\'14\';21.M=8.7.11.y-8.7.5b+\'14\';21.Z=8.7.11.1F+\'14\';21.V=8.7.11.1y+\'14\';6.G.q.7.5s=F;k(8.7.2N){8.7.2X.3k=6.G.6U}k(8.7.2r!=F){6.G.1b.H(\'2r\',8.7.2r)}k(8.7.1H){6.G.1b.H(\'1H\',8.7.1H);k(3t.5a){6.G.1b.H(\'69\',\'8A(1H=\'+8.7.1H*2W+\')\')}}k(8.7.3X){6.G.1b.5R(8.7.3X);6.G.1b.1g(0).4M.18.1e=\'1k\'}k(8.7.3i)8.7.3i.1A(8,[2T,8.7.1h.x,8.7.1h.y]);k(6.T&&6.T.4Y>0){6.T.8a(8)}k(8.7.4v==F){5m.1e=\'1k\'}E F},6J:D(8){k(8.7.1E.1D==73){k(8.7.1E==\'4R\'){8.7.1f=6.1Q({x:0,y:0},6.16.2d(8.2S));C 4Z=6.16.62(8.2S,12);8.7.1f.w=8.7.1f.1F-4Z.l-4Z.r;8.7.1f.h=8.7.1f.1y-4Z.t-4Z.b}P k(8.7.1E==\'17\'){C 6f=6.16.8o();8.7.1f={x:0,y:0,w:6f.w,h:6f.h}}}P k(8.7.1E.1D==4S){8.7.1f={x:J(8.7.1E[0])||0,y:J(8.7.1E[1])||0,w:J(8.7.1E[2])||0,h:J(8.7.1E[3])||0}}8.7.1f.W=8.7.1f.x-8.7.11.x;8.7.1f.X=8.7.1f.y-8.7.11.y},5o:D(q){k(q.7.4L||q.7.1E==\'4R\'){6(\'1J\',17).4A(6.G.1b.1g(0))}6.G.1b.8p().2k().H(\'1H\',1);k(3t.5a){6.G.1b.H(\'69\',\'8A(1H=2W)\')}},5n:D(e){6(17).26(\'2l\',6.G.6q).26(\'4p\',6.G.5n);k(6.G.q==Y){E}C q=6.G.q;6.G.q=Y;k(q.7.5r==F){E F}k(q.7.2y==12){6(q).H(\'Q\',q.7.3s)}C 5m=q.18;k(q.2V){6.G.1b.H(\'6Q\',\'4Q\')}k(q.7.3X){6.G.1b.5I(q.7.3X)}k(q.7.67==F){k(q.7.O>0){k(!q.7.1u||q.7.1u==\'29\'){C x=1I 6.O(q,{2C:q.7.O},\'L\');x.2w(q.7.1h.x,q.7.52)}k(!q.7.1u||q.7.1u==\'2e\'){C y=1I 6.O(q,{2C:q.7.O},\'M\');y.2w(q.7.1h.y,q.7.51)}}P{k(!q.7.1u||q.7.1u==\'29\')q.18.L=q.7.52+\'14\';k(!q.7.1u||q.7.1u==\'2e\')q.18.M=q.7.51+\'14\'}6.G.5o(q);k(q.7.4v==F){6(q).H(\'1e\',q.7.4k)}}P k(q.7.O>0){q.7.5s=12;C 3R=F;k(6.T&&6.1C&&q.7.2y){3R=6.16.3e(6.1C.1b.1g(0))}6.G.1b.8x({L:3R?3R.x:q.7.11.x,M:3R?3R.y:q.7.11.y},q.7.O,D(){q.7.5s=F;k(q.7.4v==F){q.18.1e=q.7.4k}6.G.5o(q)})}P{6.G.5o(q);k(q.7.4v==F){6(q).H(\'1e\',q.7.4k)}}k(6.T&&6.T.4Y>0){6.T.7Y(q)}k(6.1C&&q.7.2y){6.1C.bG(q)}k(q.7.1T&&(q.7.52!=q.7.1h.x||q.7.51!=q.7.1h.y)){q.7.1T.1A(q,q.7.71||[0,0,q.7.52,q.7.51])}k(q.7.3h)q.7.3h.1A(q);E F},6U:D(x,y,W,X){k(W!=0)W=J((W+(u.7.2N*W/1t.8r(W))/2)/u.7.2N)*u.7.2N;k(X!=0)X=J((X+(u.7.33*X/1t.8r(X))/2)/u.7.33)*u.7.33;E{W:W,X:X,x:0,y:0}},6T:D(x,y,W,X){W=1t.3A(1t.2I(W,u.7.1f.W),u.7.1f.w+u.7.1f.W-u.7.11.1F);X=1t.3A(1t.2I(X,u.7.1f.X),u.7.1f.h+u.7.1f.X-u.7.11.1y);E{W:W,X:X,x:0,y:0}},6q:D(e){k(6.G.q==Y||6.G.q.7.5s==12){E}C q=6.G.q;q.7.2b=6.16.30(e);k(q.7.5r==F){8u=1t.bg(1t.8t(q.7.1c.x-q.7.2b.x,2)+1t.8t(q.7.1c.y-q.7.2b.y,2));k(8u0){6.T.6N(q)}E F},2B:D(o){k(!6.G.1b){6(\'1J\',17).4A(\'<2Y 27="8y">\');6.G.1b=6(\'#8y\');C A=6.G.1b.1g(0);C 2U=A.18;2U.Q=\'2s\';2U.1e=\'1k\';2U.6Q=\'4Q\';2U.8f=\'1k\';2U.3m=\'3q\';k(3t.5a){A.6x="8z"}P{2U.9V=\'1k\';2U.8g=\'1k\';2U.8E=\'1k\'}}k(!o){o={}}E u.1L(D(){k(u.5f||!6.16)E;k(3t.5a){u.9P=D(){E F};u.9Q=D(){E F}}C A=u;C 2H=o.2z?6(u).ah(o.2z):6(u);k(6.2A.4i){2H.1L(D(){u.6x="8z"})}P{2H.H(\'-8Q-3V-5c\',\'1k\');2H.H(\'3V-5c\',\'1k\');2H.H(\'-aD-3V-5c\',\'1k\')}u.7={2H:2H,67:o.67?12:F,4v:o.4v?12:F,2y:o.2y?o.2y:F,2V:o.2V?o.2V:F,4L:o.4L?o.4L:F,2r:o.2r?J(o.2r)||0:F,1H:o.1H?2g(o.1H):F,O:J(o.O)||Y,6e:o.6e?o.6e:F,2X:{},1c:{},3i:o.3i&&o.3i.1D==2G?o.3i:F,3h:o.3h&&o.3h.1D==2G?o.3h:F,1T:o.1T&&o.1T.1D==2G?o.1T:F,1u:/2e|29/.4d(o.1u)?o.1u:F,5g:o.5g?J(o.5g)||0:0,1R:o.1R?o.1R:F,6i:o.6i?12:F,3X:o.3X||F};k(o.2X&&o.2X.1D==2G)u.7.2X.3V=o.2X;k(o.3j&&o.3j.1D==2G)u.7.3j=o.3j;k(o.1E&&((o.1E.1D==73&&(o.1E==\'4R\'||o.1E==\'17\'))||(o.1E.1D==4S&&o.1E.1Y==4))){u.7.1E=o.1E}k(o.1G){u.7.1G=o.1G}k(o.3k){k(25 o.3k==\'bM\'){u.7.2N=J(o.3k)||1;u.7.33=J(o.3k)||1}P k(o.3k.1Y==2){u.7.2N=J(o.3k[0])||1;u.7.33=J(o.3k[1])||1}}k(o.1V&&o.1V.1D==2G){u.7.1V=o.1V}u.5f=12;2H.1L(D(){u.1X=A});2H.1S(\'2J\',6.G.77)})}};6.3v.1Q({7V:6.G.4e,5E:6.G.2B});6.B={S:Y,20:Y,q:Y,1c:Y,1v:Y,Q:Y,4h:D(e){6.B.q=(u.53)?u.53:u;6.B.1c=6.16.30(e);6.B.1v={Z:J(6(6.B.q).H(\'Z\'))||0,V:J(6(6.B.q).H(\'V\'))||0};6.B.Q={M:J(6(6.B.q).H(\'M\'))||0,L:J(6(6.B.q).H(\'L\'))||0};6(17).1S(\'2l\',6.B.79).1S(\'4p\',6.B.76);k(25 6.B.q.I.8H===\'D\'){6.B.q.I.8H.1A(6.B.q)}E F},76:D(e){6(17).26(\'2l\',6.B.79).26(\'4p\',6.B.76);k(25 6.B.q.I.8F===\'D\'){6.B.q.I.8F.1A(6.B.q)}6.B.q=Y},79:D(e){k(!6.B.q){E}1c=6.16.30(e);4j=6.B.Q.M-6.B.1c.y+1c.y;4f=6.B.Q.L-6.B.1c.x+1c.x;4j=1t.2I(1t.3A(4j,6.B.q.I.4D-6.B.1v.V),6.B.q.I.3S);4f=1t.2I(1t.3A(4f,6.B.q.I.4C-6.B.1v.Z),6.B.q.I.44);k(25 6.B.q.I.3j===\'D\'){C 4O=6.B.q.I.3j.1A(6.B.q,[4f,4j]);k(25 4O==\'aZ\'&&4O.1Y==2){4f=4O[0];4j=4O[1]}}6.B.q.18.M=4j+\'14\';6.B.q.18.L=4f+\'14\';E F},5O:D(e){6(17).1S(\'2l\',6.B.4Q).1S(\'4p\',6.B.58);6.B.S=u.S;6.B.20=u.20;6.B.1c=6.16.30(e);k(6.B.S.I.3i){6.B.S.I.3i.1A(6.B.S,[u])}6.B.1v={Z:J(6(u.S).H(\'Z\'))||0,V:J(6(u.S).H(\'V\'))||0};6.B.Q={M:J(6(u.S).H(\'M\'))||0,L:J(6(u.S).H(\'L\'))||0};E F},58:D(){6(17).26(\'2l\',6.B.4Q).26(\'4p\',6.B.58);k(6.B.S.I.3h){6.B.S.I.3h.1A(6.B.S,[6.B.20])}6.B.S=Y;6.B.20=Y},3x:D(W,59){E 1t.3A(1t.2I(6.B.1v.Z+W*59,6.B.S.I.57),6.B.S.I.5q)},3w:D(X,59){E 1t.3A(1t.2I(6.B.1v.V+X*59,6.B.S.I.4T),6.B.S.I.4W)},8k:D(V){E 1t.3A(1t.2I(V,6.B.S.I.4T),6.B.S.I.4W)},4Q:D(e){k(6.B.S==Y){E}1c=6.16.30(e);W=1c.x-6.B.1c.x;X=1c.y-6.B.1c.y;U={Z:6.B.1v.Z,V:6.B.1v.V};1o={M:6.B.Q.M,L:6.B.Q.L};2Z(6.B.20){1a\'e\':U.Z=6.B.3x(W,1);1p;1a\'8w\':U.Z=6.B.3x(W,1);U.V=6.B.3w(X,1);1p;1a\'w\':U.Z=6.B.3x(W,-1);1o.L=6.B.Q.L-U.Z+6.B.1v.Z;1p;1a\'5k\':U.Z=6.B.3x(W,-1);1o.L=6.B.Q.L-U.Z+6.B.1v.Z;U.V=6.B.3w(X,1);1p;1a\'3U\':U.V=6.B.3w(X,-1);1o.M=6.B.Q.M-U.V+6.B.1v.V;U.Z=6.B.3x(W,-1);1o.L=6.B.Q.L-U.Z+6.B.1v.Z;1p;1a\'n\':U.V=6.B.3w(X,-1);1o.M=6.B.Q.M-U.V+6.B.1v.V;1p;1a\'5p\':U.V=6.B.3w(X,-1);1o.M=6.B.Q.M-U.V+6.B.1v.V;U.Z=6.B.3x(W,1);1p;1a\'s\':U.V=6.B.3w(X,1);1p}k(6.B.S.I.2a){k(6.B.20==\'n\'||6.B.20==\'s\')28=U.V*6.B.S.I.2a;P 28=U.Z;2D=6.B.8k(28*6.B.S.I.2a);28=2D/6.B.S.I.2a;2Z(6.B.20){1a\'n\':1a\'3U\':1a\'5p\':1o.M+=U.V-2D;1p}2Z(6.B.20){1a\'3U\':1a\'w\':1a\'5k\':1o.L+=U.Z-28;1p}U.V=2D;U.Z=28}k(1o.M<6.B.S.I.3S){2D=U.V+1o.M-6.B.S.I.3S;1o.M=6.B.S.I.3S;k(6.B.S.I.2a){28=2D/6.B.S.I.2a;2Z(6.B.20){1a\'3U\':1a\'w\':1a\'5k\':1o.L+=U.Z-28;1p}U.Z=28}U.V=2D}k(1o.L<6.B.S.I.44){28=U.Z+1o.L-6.B.S.I.44;1o.L=6.B.S.I.44;k(6.B.S.I.2a){2D=28*6.B.S.I.2a;2Z(6.B.20){1a\'n\':1a\'3U\':1a\'5p\':1o.M+=U.V-2D;1p}U.V=2D}U.Z=28}k(1o.M+U.V>6.B.S.I.4D){U.V=6.B.S.I.4D-1o.M;k(6.B.S.I.2a){U.Z=U.V/6.B.S.I.2a}}k(1o.L+U.Z>6.B.S.I.4C){U.Z=6.B.S.I.4C-1o.L;k(6.B.S.I.2a){U.V=U.Z*6.B.S.I.2a}}C 3u=F;2K=6.B.S.18;2K.L=1o.L+\'14\';2K.M=1o.M+\'14\';2K.Z=U.Z+\'14\';2K.V=U.V+\'14\';k(6.B.S.I.8q){3u=6.B.S.I.8q.1A(6.B.S,[U,1o]);k(3u){k(3u.1v){6.1Q(U,3u.1v)}k(3u.Q){6.1Q(1o,3u.Q)}}}2K.L=1o.L+\'14\';2K.M=1o.M+\'14\';2K.Z=U.Z+\'14\';2K.V=U.V+\'14\';E F},2B:D(R){k(!R||!R.22||R.22.1D!=5C){E}E u.1L(D(){C A=u;A.I=R;A.I.57=R.57||10;A.I.4T=R.4T||10;A.I.5q=R.5q||4y;A.I.4W=R.4W||4y;A.I.3S=R.3S||-8s;A.I.44=R.44||-8s;A.I.4C=R.4C||4y;A.I.4D=R.4D||4y;6M=6(A).H(\'Q\');k(!(6M==\'2i\'||6M==\'2s\')){A.18.Q=\'2i\'}8B=/n|5p|e|8w|s|5k|w|3U/g;1B(i 1W A.I.22){k(i.5l().8C(8B)!=Y){k(A.I.22[i].1D==73){2z=6(A.I.22[i]);k(2z.4V()>0){A.I.22[i]=2z.1g(0)}}k(A.I.22[i].4I){A.I.22[i].S=A;A.I.22[i].20=i;6(A.I.22[i]).1S(\'2J\',6.B.5O)}}}k(A.I.2n){k(25 A.I.2n===\'5h\'){5t=6(A.I.2n);k(5t.4V()>0){5t.1L(D(){u.53=A});5t.1S(\'2J\',6.B.4h)}}P k(A.I.2n.4I){A.I.2n.53=A;6(A.I.2n).1S(\'2J\',6.B.4h)}P k(A.I.2n==12){6(u).1S(\'2J\',6.B.4h)}}})},4e:D(){E u.1L(D(){C A=u;1B(i 1W A.I.22){A.I.22[i].S=Y;A.I.22[i].20=Y;6(A.I.22[i]).26(\'2J\',6.B.5O)}k(A.I.2n){k(25 A.I.2n===\'5h\'){2z=6(A.I.2n);k(2z.4V()>0){2z.26(\'2J\',6.B.4h)}}P k(A.I.2n==12){6(u).26(\'2J\',6.B.4h)}}A.I=Y})}};6.3v.1Q({bu:6.B.2B,aA:6.B.4e});6.1M={6W:1,7n:D(1O){C 1O=1O;E u.1L(D(){u.2c.3M.1L(D(5U){6.1M.2F(u,1O[5U])})})},1g:D(){C 1O=[];u.1L(D(6H){k(u.6X){1O[6H]=[];C 8=u;C 1v=6.16.2d(u);u.2c.3M.1L(D(5U){C x=u.56;C y=u.5i;4x=J(x*2W/(1v.w-u.5A));4J=J(y*2W/(1v.h-u.63));1O[6H][5U]=[4x||0,4J||0,x||0,y||0]})}});E 1O},6V:D(8){8.7.8m=8.7.1f.w-8.7.11.1F;8.7.8D=8.7.1f.h-8.7.11.1y;k(8.5x.2c.70){5X=8.5x.2c.3M.1g(8.6Z+1);k(5X){8.7.1f.w=(J(6(5X).H(\'L\'))||0)+8.7.11.1F;8.7.1f.h=(J(6(5X).H(\'M\'))||0)+8.7.11.1y}5Z=8.5x.2c.3M.1g(8.6Z-1);k(5Z){C 6I=J(6(5Z).H(\'L\'))||0;C 6P=J(6(5Z).H(\'L\'))||0;8.7.1f.x+=6I;8.7.1f.y+=6P;8.7.1f.w-=6I;8.7.1f.h-=6P}}8.7.8e=8.7.1f.w-8.7.11.1F;8.7.8d=8.7.1f.h-8.7.11.1y;k(8.7.1G){8.7.2N=((8.7.1f.w-8.7.11.1F)/8.7.1G)||1;8.7.33=((8.7.1f.h-8.7.11.1y)/8.7.1G)||1;8.7.8b=8.7.8e/8.7.1G;8.7.8h=8.7.8d/8.7.1G}8.7.1f.W=8.7.1f.x-8.7.1h.x;8.7.1f.X=8.7.1f.y-8.7.1h.y;6.G.1b.H(\'6Q\',\'7e\')},1V:D(8,x,y){k(8.7.1G){8c=J(x/8.7.8b);4x=8c*2W/8.7.1G;8i=J(y/8.7.8h);4J=8i*2W/8.7.1G}P{4x=J(x*2W/8.7.8m);4J=J(y*2W/8.7.8D)}8.7.71=[4x||0,4J||0,x||0,y||0];k(8.7.1V)8.7.1V.1A(8,8.7.71)},7x:D(3o){8J=3o.aP||3o.aO||-1;2Z(8J){1a 35:6.1M.2F(u.1X,[61,61]);1p;1a 36:6.1M.2F(u.1X,[-61,-61]);1p;1a 37:6.1M.2F(u.1X,[-u.1X.7.2N||-1,0]);1p;1a 38:6.1M.2F(u.1X,[0,-u.1X.7.33||-1]);1p;1a 39:6.1M.2F(u.1X,[u.1X.7.2N||1,0]);1p;1a 40:6.G.2F(u.1X,[0,u.1X.7.33||1]);1p}},2F:D(8,Q){k(!8.7){E}8.7.11=6.1Q(6.16.3e(8),6.16.2d(8));8.7.1h={x:J(6.H(8,\'L\'))||0,y:J(6.H(8,\'M\'))||0};8.7.3s=6.H(8,\'Q\');k(8.7.3s!=\'2i\'&&8.7.3s!=\'2s\'){8.18.Q=\'2i\'}6.G.6J(8);6.1M.6V(8);W=J(Q[0])||0;X=J(Q[1])||0;1x=8.7.1h.x+W;1z=8.7.1h.y+X;k(8.7.1G){1P=6.G.6U.1A(8,[1x,1z,W,X]);k(1P.1D==5C){W=1P.W;X=1P.X}1x=8.7.1h.x+W;1z=8.7.1h.y+X}1P=6.G.6T.1A(8,[1x,1z,W,X]);k(1P&&1P.1D==5C){W=1P.W;X=1P.X}1x=8.7.1h.x+W;1z=8.7.1h.y+X;k(8.7.2V&&(8.7.1V||8.7.1T)){6.1M.1V(8,1x,1z)}1x=!8.7.1u||8.7.1u==\'29\'?1x:8.7.1h.x||0;1z=!8.7.1u||8.7.1u==\'2e\'?1z:8.7.1h.y||0;8.18.L=1x+\'14\';8.18.M=1z+\'14\'},2B:D(o){E u.1L(D(){k(u.6X==12||!o.5K||!6.16||!6.G||!6.T){E}2P=6(o.5K,u);k(2P.4V()==0){E}C 2h={1E:\'4R\',2V:12,1V:o.1V&&o.1V.1D==2G?o.1V:Y,1T:o.1T&&o.1T.1D==2G?o.1T:Y,2z:u,1H:o.1H||F};k(o.1G&&J(o.1G)){2h.1G=J(o.1G)||1;2h.1G=2h.1G>0?2h.1G:1}k(2P.4V()==1)2P.5E(2h);P{6(2P.1g(0)).5E(2h);2h.2z=Y;2P.5E(2h)}2P.aM(6.1M.7x);2P.1N(\'6W\',6.1M.6W++);u.6X=12;u.2c={};u.2c.7l=2h.7l;u.2c.1G=2h.1G;u.2c.3M=2P;u.2c.70=o.70?12:F;6Y=u;6Y.2c.3M.1L(D(7c){u.6Z=7c;u.5x=6Y});k(o.1O&&o.1O.1D==4S){1B(i=o.1O.1Y-1;i>=0;i--){k(o.1O[i].1D==4S&&o.1O[i].1Y==2){A=u.2c.3M.1g(i);k(A.4I){6.1M.2F(A,o.1O[i])}}}}})}};6.3v.1Q({aj:6.1M.2B,ak:6.1M.7n,al:6.1M.1g});6.T={7f:D(2O,2R,4t,4w){E 2O<=6.G.q.7.1x&&(2O+4t)>=(6.G.q.7.1x+6.G.q.7.11.w)&&2R<=6.G.q.7.1z&&(2R+4w)>=(6.G.q.7.1z+6.G.q.7.11.h)?12:F},7d:D(2O,2R,4t,4w){E!(2O>(6.G.q.7.1x+6.G.q.7.11.w)||(2O+4t)<6.G.q.7.1x||2R>(6.G.q.7.1z+6.G.q.7.11.h)||(2R+4w)<6.G.q.7.1z)?12:F},1c:D(2O,2R,4t,4w){E 2O<6.G.q.7.2b.x&&(2O+4t)>6.G.q.7.2b.x&&2R<6.G.q.7.2b.y&&(2R+4w)>6.G.q.7.2b.y?12:F},3Q:F,23:{},4Y:0,1Z:{},8a:D(8){k(6.G.q==Y){E}C i;6.T.23={};C 6K=F;1B(i 1W 6.T.1Z){k(6.T.1Z[i]!=Y){C K=6.T.1Z[i].1g(0);k(6(6.G.q).7S(\'.\'+K.N.a)){k(K.N.m==F){K.N.p=6.1Q(6.16.3e(K),6.16.6O(K));K.N.m=12}k(K.N.ac){6.T.1Z[i].5R(K.N.ac)}6.T.23[i]=6.T.1Z[i];k(6.1C&&K.N.s&&6.G.q.7.2y){K.N.A=6(\'.\'+K.N.a,K);8.18.1e=\'1k\';6.1C.7I(K);K.N.7r=6.1C.8j(6.1N(K,\'27\')).7s;8.18.1e=8.7.4k;6K=12}k(K.N.60){K.N.60.1A(6.T.1Z[i].1g(0),[6.G.q])}}}}k(6K){6.1C.5O()}},7G:D(){6.T.23={};1B(i 1W 6.T.1Z){k(6.T.1Z[i]!=Y){C K=6.T.1Z[i].1g(0);k(6(6.G.q).7S(\'.\'+K.N.a)){K.N.p=6.1Q(6.16.3e(K),6.16.6O(K));k(K.N.ac){6.T.1Z[i].5R(K.N.ac)}6.T.23[i]=6.T.1Z[i];k(6.1C&&K.N.s&&6.G.q.7.2y){K.N.A=6(\'.\'+K.N.a,K);8.18.1e=\'1k\';6.1C.7I(K);8.18.1e=8.7.4k}}}}},6N:D(e){k(6.G.q==Y){E}6.T.3Q=F;C i;C 72=F;C 7H=0;1B(i 1W 6.T.23){C K=6.T.23[i].1g(0);k(6.T.3Q==F&&6.T[K.N.t](K.N.p.x,K.N.p.y,K.N.p.1F,K.N.p.1y)){k(K.N.3N&&K.N.h==F){6.T.23[i].5R(K.N.3N)}k(K.N.h==F&&K.N.5T){72=12}K.N.h=12;6.T.3Q=K;k(6.1C&&K.N.s&&6.G.q.7.2y){6.1C.1b.1g(0).2E=K.N.7j;6.1C.6N(K)}7H++}P k(K.N.h==12){k(K.N.64){K.N.64.1A(K,[e,6.G.1b.1g(0).4M,K.N.O])}k(K.N.3N){6.T.23[i].5I(K.N.3N)}K.N.h=F}}k(6.1C&&!6.T.3Q&&6.G.q.2y){6.1C.1b.1g(0).18.1e=\'1k\'}k(72){6.T.3Q.N.5T.1A(6.T.3Q,[e,6.G.1b.1g(0).4M])}},7Y:D(e){C i;1B(i 1W 6.T.23){C K=6.T.23[i].1g(0);k(K.N.ac){6.T.23[i].5I(K.N.ac)}k(K.N.3N){6.T.23[i].5I(K.N.3N)}k(K.N.s){6.1C.7O[6.1C.7O.1Y]=i}k(K.N.5w&&K.N.h==12){K.N.h=F;K.N.5w.1A(K,[e,K.N.O])}K.N.m=F;K.N.h=F}6.T.23={}},4e:D(){E u.1L(D(){k(u.5d){k(u.N.s){27=6.1N(u,\'27\');6.1C.7C[27]=Y;6(\'.\'+u.N.a,u).7V()}6.T.1Z[\'d\'+u.74]=Y;u.5d=F;u.f=Y}})},2B:D(o){E u.1L(D(){k(u.5d==12||!o.5K||!6.16||!6.G){E}u.N={a:o.5K,ac:o.9d||F,3N:o.a4||F,7j:o.8S||F,5w:o.9f||o.5w||F,5T:o.5T||o.bH||F,64:o.64||o.bL||F,60:o.60||F,t:o.5u&&(o.5u==\'7f\'||o.5u==\'7d\')?o.5u:\'1c\',O:o.O?o.O:F,m:F,h:F};k(o.b0==12&&6.1C){27=6.1N(u,\'27\');6.1C.7C[27]=u.N.a;u.N.s=12;k(o.1T){u.N.1T=o.1T;u.N.7r=6.1C.8j(27).7s}}u.5d=12;u.74=J(1t.7o()*78);6.T.1Z[\'d\'+u.74]=6(u);6.T.4Y++})}};6.3v.1Q({9U:6.T.4e,bm:6.T.2B});6.bc=6.T.7G;6.1q={3J:Y,48:F,5D:Y,6L:D(e){6.1q.48=12;6.1q.2t(e,u,12)},6S:D(e){k(6.1q.3J!=u)E;6.1q.48=F;6.1q.2k(e,u)},2t:D(e,A,48){k(6.1q.3J!=Y)E;k(!A){A=u}6.1q.3J=A;2p=6.1Q(6.16.3e(A),6.16.2d(A));4K=6(A);3p=4K.1N(\'3p\');5Q=4K.1N(\'5Q\');k(3p){6.1q.5D=3p;4K.1N(\'3p\',\'\');6(\'#7p\').6F(3p);k(5Q)6(\'#6R\').6F(5Q.3c(\'bN://\',\'\'));P 6(\'#6R\').6F(\'\');1b=6(\'#4F\');k(A.2m.2E){1b.1g(0).2E=A.2m.2E}P{1b.1g(0).2E=\'\'}6E=6.16.2d(1b.1g(0));7U=48&&A.2m.Q==\'6G\'?\'3y\':A.2m.Q;2Z(7U){1a\'M\':1z=2p.y-6E.1y;1x=2p.x;1p;1a\'L\':1z=2p.y;1x=2p.x-6E.1F;1p;1a\'43\':1z=2p.y;1x=2p.x+2p.1F;1p;1a\'6G\':6(\'1J\').1S(\'2l\',6.1q.2l);1c=6.16.30(e);1z=1c.y+15;1x=1c.x+15;1p;7e:1z=2p.y+2p.1y;1x=2p.x;1p}1b.H({M:1z+\'14\',L:1x+\'14\'});k(A.2m.4P==F){1b.2t()}P{1b.aT(A.2m.4P)}k(A.2m.3Z)A.2m.3Z.1A(A);4K.1S(\'7B\',6.1q.2k).1S(\'7w\',6.1q.6S)}},2l:D(e){k(6.1q.3J==Y){6(\'1J\').26(\'2l\',6.1q.2l);E}1c=6.16.30(e);6(\'#4F\').H({M:1c.y+15+\'14\',L:1c.x+15+\'14\'})},2k:D(e,A){k(!A){A=u}k(6.1q.48!=12&&6.1q.3J==A){6.1q.3J=Y;6(\'#4F\').aQ(1);6(A).1N(\'3p\',6.1q.5D).26(\'7B\',6.1q.2k).26(\'7w\',6.1q.6S);k(A.2m.3Y)A.2m.3Y.1A(A);6.1q.5D=Y}},2B:D(R){k(!6.1q.1b){6(\'1J\').4A(\'<2Y 27="4F"><2Y 27="7p"><2Y 27="6R">\');6(\'#4F\').H({Q:\'2s\',2r:4y,1e:\'1k\'});6.1q.1b=12}E u.1L(D(){k(6.1N(u,\'3p\')){u.2m={Q:/M|3y|L|43|6G/.4d(R.Q)?R.Q:\'3y\',2E:R.2E?R.2E:F,4P:R.4P?R.4P:F,3Z:R.3Z&&R.3Z.1D==2G?R.3Z:F,3Y:R.3Y&&R.3Y.1D==2G?R.3Y:F};C A=6(u);A.1S(\'bP\',6.1q.2t);A.1S(\'6L\',6.1q.6L)}})}};6.3v.9m=6.1q.2B;6.3v.1Q({ad:D(1i,1r,19){E u.2j(\'3r\',D(){1I 6.O.32(u,1i,1r,\'2e\',\'3L\',19)})},ag:D(1i,1r,19){E u.2j(\'3r\',D(){1I 6.O.32(u,1i,1r,\'29\',\'3L\',19)})},9F:D(1i,1r,19){E u.2j(\'3r\',D(){k(6.H(u,\'1e\')==\'1k\'){1I 6.O.32(u,1i,1r,\'29\',\'49\',19)}P{1I 6.O.32(u,1i,1r,\'29\',\'3L\',19)}})},9y:D(1i,1r,19){E u.2j(\'3r\',D(){k(6.H(u,\'1e\')==\'1k\'){1I 6.O.32(u,1i,1r,\'2e\',\'49\',19)}P{1I 6.O.32(u,1i,1r,\'2e\',\'3L\',19)}})},am:D(1i,1r,19){E u.2j(\'3r\',D(){1I 6.O.32(u,1i,1r,\'2e\',\'49\',19)})},b2:D(1i,1r,19){E u.2j(\'3r\',D(){1I 6.O.32(u,1i,1r,\'29\',\'49\',19)})}});6.O.32=D(e,1i,1r,5S,3f,19){k(!6.6g(e)){6.6A(e,\'3r\');E F}C z=u;C 31=F;z.A=6(e);z.19=25 1r==\'5h\'?1r:19||Y;z.1r=25 1r==\'D\'?1r:Y;z.3f=3f;z.1i=1i;z.1w=6.16.2d(e);z.1d={};z.1d.Q=z.A.H(\'Q\');z.1d.1e=z.A.H(\'1e\');k(z.1d.1e==\'1k\'){3l=z.A.H(\'2o\');z.A.2t();31=12}z.1d.M=z.A.H(\'M\');z.1d.L=z.A.H(\'L\');k(31){z.A.2k();z.A.H(\'2o\',3l)}z.1d.Z=z.1w.w+\'14\';z.1d.V=z.1w.h+\'14\';z.1d.3m=z.A.H(\'3m\');z.1w.M=J(z.1d.M)||0;z.1w.L=J(z.1d.L)||0;k(z.1d.Q!=\'2i\'&&z.1d.Q!=\'2s\'){z.A.H(\'Q\',\'2i\')}z.A.H(\'3m\',\'3q\').H(\'V\',3f==\'49\'&&5S==\'2e\'?1:z.1w.h+\'14\').H(\'Z\',3f==\'49\'&&5S==\'29\'?1:z.1w.w+\'14\');z.3z=D(){z.A.H(z.1d);k(z.3f==\'3L\')z.A.2k();P z.A.2t();6.6A(z.A.1g(0),\'3r\')};2Z(5S){1a\'2e\':z.3T=1I 6.O(z.A.1g(0),6.1i(1i-15,z.19,1r),\'V\');z.41=1I 6.O(z.A.1g(0),6.1i(z.1i,z.19,z.3z),\'M\');k(z.3f==\'3L\'){z.3T.2w(z.1w.h,0);z.41.2w(z.1w.M,z.1w.M+z.1w.h/2)}P{z.3T.2w(0,z.1w.h);z.41.2w(z.1w.M+z.1w.h/2,z.1w.M)}1p;1a\'29\':z.3T=1I 6.O(z.A.1g(0),6.1i(1i-15,z.19,1r),\'Z\');z.41=1I 6.O(z.A.1g(0),6.1i(z.1i,z.19,z.3z),\'L\');k(z.3f==\'3L\'){z.3T.2w(z.1w.w,0);z.41.2w(z.1w.L,z.1w.L+z.1w.w/2)}P{z.3T.2w(0,z.1w.w);z.41.2w(z.1w.L+z.1w.w/2,z.1w.L)}1p}};',62,735,'||||||jQuery|dragCfg|elm||||||||||||if||||||dragged||||this||||||el|iResize|var|function|return|false|iDrag|css|resizeOptions|parseInt|iEL|left|top|dropCfg|fx|else|position|options|resizeElement|iDrop|newSizes|height|dx|dy|null|width||oC|true||px||iUtil|document|style|easing|case|helper|pointer|oldStyle|display|cont|get|oR|speed|es|none|elem|255|props|newPosition|break|iTooltip|callback|tp|Math|axis|sizes|oldP|nx|hb|ny|apply|for|iSort|constructor|containment|wb|fractions|opacity|new|body|result|each|iSlider|attr|values|newCoords|extend|cursorAt|bind|onChange|wrs|onSlide|in|dragElem|length|zones|resizeDirection|dhs|handlers|highlighted|vp|typeof|unbind|id|nWidth|horizontally|ratio|currentPointer|slideCfg|getSize|vertically|0px|parseFloat|params|relative|queue|hide|mousemove|tooltipCFG|dragHandle|visibility|pos|documentElement|zIndex|absolute|show|nodeEl|color|custom|step|so|handle|browser|build|duration|nHeight|className|dragmoveBy|Function|dhe|max|mousedown|elS|clientScroll|margins|gx|zonex|toDrag|newStyles|zoney|parentNode|clonedEl|els|si|100|onDragModifier|div|switch|getPointer|restoreStyle|OpenClose|gy|old||||||prop|nmp|replace|animationHandler|getPosition|type|styles|onStop|onStart|onDrag|grid|oldVisibility|overflow|cs|event|title|hidden|interfaceFX|oP|window|newDimensions|fn|getHeight|getWidth|bottom|complete|min|parseColor|curCSS|marginTop|block|scrollTop|marginRight|marginBottom|marginLeft|current|orig|close|sliders|hc|128|wr|overzone|dh|minTop|eh|nw|user|de|frameClass|onHide|onShow||et||right|minLeft|oldDisplay|rgb||focused|open|cssRules|np|currentStyle|test|destroy|newLeft|0x|startDrag|msie|newTop|oD|fA|iw|rule|F0|mouseup|ih|139|scrollLeft|zonew|toInteger|ghosting|zoneh|xproc|3000|timer|append|pr|maxRight|maxBottom|clientWidth|tooltipHelper|parentBorders|border|tagName|yproc|jEl|insideParent|firstChild|namedColors|newPos|delay|move|parent|Array|minHeight|clientHeight|size|maxHeight|cssSides|count|contBorders||nRy|nRx|dragEl|self||offsetLeft|minWidth|stop|side|ActiveXObject|diffY|select|isDroppable|oldPosition|isDraggable|snapDistance|string|offsetTop|diffX|sw|toLowerCase|dEs|dragstop|hidehelper|ne|maxWidth|init|prot|handleEl|tolerance|sideEnd|onDrop|SliderContainer|borderColor|padding|offsetWidth|styleSheets|Object|oldTitle|Draggable|getValues|margin|opt|removeClass|nodeName|accept|png|211|192|start|exec|href|addClass|direction|onHover|key|startTime|src|next|opera|prev|onActivate|2000|getBorder|offsetHeight|onOut|while|innerHeight|revert|scrollWidth|filter|oldBorder|169|borderLeftWidth|oldFloat|hpc|clnt|fxCheckTag|windowSize|autoSize|sliderSize|floatVal|Color|parseStyle|stopAnim|func|fontWeight|dragmove|object|innerWidth|cssSidesEnd|pValue|borderTopWidth|scrollHeight|unselectable|pause|borderWidth|dequeue|parentPos|traverseDOM|sliderPos|helperSize|html|mouse|slider|prevLeft|getContainment|oneIsSortable|focus|elPosition|checkhover|getSizeLite|prevTop|cursor|tooltipURL|hidefocused|fitToContainer|snapToGrid|modifyContainer|tabindex|isSlider|sliderEl|SliderIteration|restricted|lastSi|applyOnHover|String|idsa||stopDrag|draginit|10000|moveDrag|getScroll|Width|nr|intersect|default|fit|colorCssProps|linear|fxe|shc|cssProps|onslide|toggle|set|random|tooltipTitle|isFunction|os|hash|setInterval|offsetParent|oldOverflow|blur|dragmoveByKey|firstNum|Date|getTime|mouseout|collected|emptyGIF|insertBefore|165|remeasure|hlt|measure|styleFloat|224|144|245|107|changed|240|230|140|is|notColor|filteredPosition|DraggableDestroy|getMargins|delta|checkdrop|indexOf|paddingTop|paddingRight|img|wid|borderBottomWidth||borderRightWidth|paddingLeft|paddingBottom|images|highlight|fracW|xfrac|maxy|maxx|listStyle|userSelect|fracH|yfrac|serialize|getHeightMinMax|initialPosition|containerMaxx|auto|getClient|empty|onResize|abs|1000|pow|distance|dragstart|se|animate|dragHelper|on|alpha|directions|match|containerMaxy|KhtmlUserSelect|onDragStop|clearInterval|onDragStart|split|pressedKey|trim|darkmagenta|183|189|darkolivegreen|tbody|moz|DXImageTransform|helperclass|brown|darkkhaki|td|darkgrey|darkcyan|darkgreen|tr|progid|darkorange|cyan|darkblue|153|indigo|130|green|215|gold|prototype|khaki|lightblue|activeclass|Microsoft|ondrop|fuchsia|148|darkred|204|centerEl|blue|ToolTip|darksalmon|darkviolet|122|150|233|darkorchid|black|textarea|iframe|hr|input|SwitchVertically|frameset|button|script|table|frame|form|SwitchHorizontally|createElement|optgroup|removeChild|meta|destroyWrapper|option|buildWrapper|w_|float|onselectstart|ondragstart|header|th|wrapper|DroppableDestroy|mozUserSelect|appendChild|tfoot|aqua|azure|caption|220|thead|beige|hoverclass|cssFloat|dl|col|colgroup|ul|ol|fixPNG||CloseVertically|173|fxWrapper|CloseHorizontally|find|lime|Slider|SliderSetValues|SliderGetValues|OpenVertically|isNaN|cloneNode|solid|dashed|dotted|transparent|pageX|clientX|Bottom|Right|216|Top|Left|ResizableDestroy|PI|cos|khtml|stopAll|double|groove|cssText|MozUserSelect|RegExp|selectorText|off|keydown|toUpperCase|keyCode|charCode|fadeOut|rules|fromHandler|fadeIn|outset|inset|ridge|selectKeyHelper|getPadding|array|sortable|borderStyle|OpenHorizontally|outlineColor|pageY|olive|navy|maroon|magenta|orange|pink|red|recallDroppables|purple|203|AlphaImageLoader|sqrt|lightgrey|238|lightgreen|lightcyan|getPositionLite|Droppable|lightyellow|193|182|lightpink||silver|purgeEvents|Resizable|clientY|outlineWidth|outlineOffset|textIndent|backgroundColor|borderTopColor|borderRightColor|borderLeftColor|borderBottomColor|lineHeight|letterSpacing|check|onhover|nextSibling|yellow|white|onout|number|http|fontSize|mouseover|100000000'.split('|'),0,{})) +/* +* Interface elements for jQuery - http://interface.eyecon.ro +* +* Copyright (c) 2006 Stefan Petre +* Dual licensed under the MIT (MIT-LICENSE.txt) +* and GPL (GPL-LICENSE.txt) licenses. +*/ +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('6.16={3e:D(e){C x=0;C y=0;C 31=F;C 1j=e.18;k(6(e).H(\'1e\')==\'1k\'){3l=1j.2o;5e=1j.Q;1j.2o=\'3q\';1j.1e=\'3E\';1j.Q=\'2s\';31=12}C A=e;65(A){x+=A.56+(A.4c&&!6.2A.5Y?J(A.4c.6c)||0:0);y+=A.5i+(A.4c&&!6.2A.5Y?J(A.4c.6v)||0:0);A=A.7u}A=e;65(A&&A.4I&&A.4I.5l()!=\'1J\'){x-=A.4s||0;y-=A.3F||0;A=A.2S}k(31){1j.1e=\'1k\';1j.Q=5e;1j.2o=3l}E{x:x,y:y}},bl:D(A){C x=0,y=0;65(A){x+=A.56||0;y+=A.5i||0;A=A.7u}E{x:x,y:y}},2d:D(e){C w=6.H(e,\'Z\');C h=6.H(e,\'V\');C 1F=0;C 1y=0;C 1j=e.18;k(6(e).H(\'1e\')!=\'1k\'){1F=e.5A;1y=e.63}P{3l=1j.2o;5e=1j.Q;1j.2o=\'3q\';1j.1e=\'3E\';1j.Q=\'2s\';1F=e.5A;1y=e.63;1j.1e=\'1k\';1j.Q=5e;1j.2o=3l}E{w:w,h:h,1F:1F,1y:1y}},6O:D(A){E{1F:A.5A||0,1y:A.63||0}},8o:D(e){C h,w,3W;k(e){w=e.4E;h=e.4U}P{3W=17.2q;w=3t.6s||54.6s||(3W&&3W.4E)||17.1J.4E;h=3t.66||54.66||(3W&&3W.4U)||17.1J.4U}E{w:w,h:h}},7a:D(e){C t,l,w,h,4m,4q;k(e&&e.5J.5l()!=\'1J\'){t=e.3F;l=e.4s;w=e.68;h=e.6w;4m=0;4q=0}P{k(17.2q&&17.2q.3F){t=17.2q.3F;l=17.2q.4s;w=17.2q.68;h=17.2q.6w}P k(17.1J){t=17.1J.3F;l=17.1J.4s;w=17.1J.68;h=17.1J.6w}4m=54.6s||17.2q.4E||17.1J.4E||0;4q=54.66||17.2q.4U||17.1J.4U||0}E{t:t,l:l,w:w,h:h,4m:4m,4q:4q}},7W:D(e,4u){C A=6(e);C t=A.H(\'3D\')||\'\';C r=A.H(\'3G\')||\'\';C b=A.H(\'3H\')||\'\';C l=A.H(\'3I\')||\'\';k(4u)E{t:J(t)||0,r:J(r)||0,b:J(b)||0,l:J(l)};P E{t:t,r:r,b:b,l:l}},aY:D(e,4u){C A=6(e);C t=A.H(\'80\')||\'\';C r=A.H(\'81\')||\'\';C b=A.H(\'88\')||\'\';C l=A.H(\'87\')||\'\';k(4u)E{t:J(t)||0,r:J(r)||0,b:J(b)||0,l:J(l)};P E{t:t,r:r,b:b,l:l}},62:D(e,4u){C A=6(e);C t=A.H(\'6v\')||\'\';C r=A.H(\'86\')||\'\';C b=A.H(\'84\')||\'\';C l=A.H(\'6c\')||\'\';k(4u)E{t:J(t)||0,r:J(r)||0,b:J(b)||0,l:J(l)||0};P E{t:t,r:r,b:b,l:l}},30:D(3o){C x=3o.at||(3o.au+(17.2q.4s||17.1J.4s))||0;C y=3o.b4||(3o.bv+(17.2q.3F||17.1J.3F))||0;E{x:x,y:y}},6C:D(2u,6o){6o(2u);2u=2u.4M;65(2u){6.16.6C(2u,6o);2u=2u.bI}},bt:D(2u){6.16.6C(2u,D(A){1B(C 1N 1W A){k(25 A[1N]===\'D\'){A[1N]=Y}}})},9k:D(A,1u){C 2L=$.16.7a();C 6h=$.16.2d(A);k(!1u||1u==\'2e\')$(A).H({M:2L.t+((1t.2I(2L.h,2L.4q)-2L.t-6h.1y)/2)+\'14\'});k(!1u||1u==\'29\')$(A).H({L:2L.l+((1t.2I(2L.w,2L.4m)-2L.l-6h.1F)/2)+\'14\'})},ab:D(A,7D){C 89=$(\'82[@5W*="5L"]\',A||17),5L;89.1L(D(){5L=u.5W;u.5W=7D;u.18.69="90:8R.9e.bf(5W=\'"+5L+"\')"})}};[].7Z||(4S.9a.7Z=D(v,n){n=(n==Y)?0:n;C m=u.1Y;1B(C i=n;i-78?r:(2g(6.H(1l,1s))||0);24=24==\'7m\'?(45==\'1k\'?\'2t\':\'2k\'):24;R[24]=12;1n[1s]=24==\'2t\'?[0,1l.3K[1s]]:[1l.3K[1s],0];k(1s!=\'1H\')y[1s]=1n[1s][0]+(1s!=\'2r\'&&1s!=\'6p\'?\'14\':\'\');P 6.1N(y,"1H",1n[1s][0])}P{1n[1s]=[2g(6.3C(1l,1s)),2g(24)||0]}}P k(6.O.7g[1s])1n[1s]=[6.O.3B(6.3C(1l,1s)),6.O.3B(24)];P k(/^5G$|5z$|4H$|5y$|6z$/i.4d(1s)){C m=24.3c(/\\s+/g,\' \').3c(/46\\s*\\(\\s*/g,\'46(\').3c(/\\s*,\\s*/g,\',\').3c(/\\s*\\)/g,\')\').8C(/([^\\s]+)/g);2Z(1s){1a\'5G\':1a\'5z\':1a\'6z\':1a\'5y\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];1B(C i=0;i<6.O.4X.1Y;i++){C 3b=6.O.6t[1s][0]+6.O.4X[i]+6.O.6t[1s][1];1n[3b]=1s==\'5y\'?[6.O.3B(6.3C(1l,3b)),6.O.3B(m[i])]:[2g(6.3C(1l,3b)),2g(m[i])]}1p;1a\'4H\':1B(C i=0;iR.2C+z.5V){8G(z.4z);z.4z=Y;1B(p 1W 1n){k(p=="1H")6.1N(y,"1H",1n[p][1]);P k(25 1n[p][1]==\'6r\')y[p]=\'46(\'+1n[p][1].r+\',\'+1n[p][1].g+\',\'+1n[p][1].b+\')\';P y[p]=1n[p][1]+(p!=\'2r\'&&p!=\'6p\'?\'14\':\'\')}k(R.2k||R.2t)1B(C p 1W 1l.3K)k(p=="1H")6.1N(y,p,1l.3K[p]);P y[p]="";y.1e=R.2k?\'1k\':(45!=\'1k\'?45:\'3E\');y.3m=7v;1l.3d=Y;k(6.7q(R.3z))R.3z.1A(1l)}P{C n=t-u.5V;C 4B=n/R.2C;1B(p 1W 1n){k(25 1n[p][1]==\'6r\'){y[p]=\'46(\'+J(6.19[R.19](4B,n,1n[p][0].r,(1n[p][1].r-1n[p][0].r),R.2C))+\',\'+J(6.19[R.19](4B,n,1n[p][0].g,(1n[p][1].g-1n[p][0].g),R.2C))+\',\'+J(6.19[R.19](4B,n,1n[p][0].b,(1n[p][1].b-1n[p][0].b),R.2C))+\')\'}P{C 6u=6.19[R.19](4B,n,1n[p][0],(1n[p][1]-1n[p][0]),R.2C);k(p=="1H")6.1N(y,"1H",6u);P y[p]=6u+(p!=\'2r\'&&p!=\'6p\'?\'14\':\'\')}}}};z.4z=7t(D(){z.2x()},13);1l.3d=z},6n:D(1l,2x){k(2x)1l.3d.5V-=bQ;P{3t.8G(1l.3d.4z);1l.3d=Y;6.6A(1l,"O")}}});6.6m=D(3g){C 2Q={};k(25 3g==\'5h\'){3g=3g.5l().8I(\';\');1B(C i=0;i<3g.1Y;i++){4n=3g[i].8I(\':\');k(4n.1Y==2){2Q[6.8K(4n[0].3c(/\\-(\\w)/g,D(m,c){E c.aN()}))]=6.8K(4n[1])}}}E 2Q};6.G={1b:Y,q:Y,4e:D(){E u.1L(D(){k(u.5f){u.7.2H.26(\'2J\',6.G.77);u.7=Y;u.5f=F;k(6.2A.4i){u.6x="aL"}P{u.18.aI=\'\';u.18.8E=\'\';u.18.8g=\'\'}}})},77:D(e){k(6.G.q!=Y){6.G.5n(e);E F}C 8=u.1X;6(17).1S(\'2l\',6.G.6q).1S(\'4p\',6.G.5n);8.7.1c=6.16.30(e);8.7.2b=8.7.1c;8.7.5r=F;8.7.aS=u!=u.1X;6.G.q=8;k(8.7.2V&&u!=u.1X){6B=6.16.3e(8.2S);6j=6.16.2d(8);6D={x:J(6.H(8,\'L\'))||0,y:J(6.H(8,\'M\'))||0};W=8.7.2b.x-6B.x-6j.1F/2-6D.x;X=8.7.2b.y-6B.y-6j.1y/2-6D.y;6.1M.2F(8,[W,X])}E 6.aX||F},8v:D(e){C 8=6.G.q;8.7.5r=12;C 5m=8.18;8.7.4k=6.H(8,\'1e\');8.7.3s=6.H(8,\'Q\');k(!8.7.8l)8.7.8l=8.7.3s;8.7.1h={x:J(6.H(8,\'L\'))||0,y:J(6.H(8,\'M\'))||0};8.7.5j=0;8.7.5b=0;k(6.2A.4i){C 6a=6.16.62(8,12);8.7.5j=6a.l||0;8.7.5b=6a.t||0}8.7.11=6.1Q(6.16.3e(8),6.16.2d(8));k(8.7.3s!=\'2i\'&&8.7.3s!=\'2s\'){5m.Q=\'2i\'}6.G.1b.8p();C 2T=8.ao(12);6(2T).H({1e:\'3E\',L:\'2f\',M:\'2f\'});2T.18.3D=\'0\';2T.18.3G=\'0\';2T.18.3H=\'0\';2T.18.3I=\'0\';6.G.1b.4A(2T);C 21=6.G.1b.1g(0).18;k(8.7.6i){21.Z=\'8n\';21.V=\'8n\'}P{21.V=8.7.11.1y+\'14\';21.Z=8.7.11.1F+\'14\'}21.1e=\'3E\';21.3D=\'2f\';21.3G=\'2f\';21.3H=\'2f\';21.3I=\'2f\';6.1Q(8.7.11,6.16.2d(2T));k(8.7.1R){k(8.7.1R.L){8.7.1h.x+=8.7.1c.x-8.7.11.x-8.7.1R.L;8.7.11.x=8.7.1c.x-8.7.1R.L}k(8.7.1R.M){8.7.1h.y+=8.7.1c.y-8.7.11.y-8.7.1R.M;8.7.11.y=8.7.1c.y-8.7.1R.M}k(8.7.1R.43){8.7.1h.x+=8.7.1c.x-8.7.11.x-8.7.11.1y+8.7.1R.43;8.7.11.x=8.7.1c.x-8.7.11.1F+8.7.1R.43}k(8.7.1R.3y){8.7.1h.y+=8.7.1c.y-8.7.11.y-8.7.11.1y+8.7.1R.3y;8.7.11.y=8.7.1c.y-8.7.11.1y+8.7.1R.3y}}8.7.1x=8.7.1h.x;8.7.1z=8.7.1h.y;k(8.7.4L||8.7.1E==\'4R\'){4G=6.16.62(8.2S,12);8.7.11.x=8.56+(6.2A.4i?0:6.2A.5Y?-4G.l:4G.l);8.7.11.y=8.5i+(6.2A.4i?0:6.2A.5Y?-4G.t:4G.t);6(8.2S).4A(6.G.1b.1g(0))}k(8.7.1E){6.G.6J(8);8.7.2X.1E=6.G.6T}k(8.7.2V){6.1M.6V(8)}21.L=8.7.11.x-8.7.5j+\'14\';21.M=8.7.11.y-8.7.5b+\'14\';21.Z=8.7.11.1F+\'14\';21.V=8.7.11.1y+\'14\';6.G.q.7.5s=F;k(8.7.2N){8.7.2X.3k=6.G.6U}k(8.7.2r!=F){6.G.1b.H(\'2r\',8.7.2r)}k(8.7.1H){6.G.1b.H(\'1H\',8.7.1H);k(3t.5a){6.G.1b.H(\'69\',\'8A(1H=\'+8.7.1H*2W+\')\')}}k(8.7.3X){6.G.1b.5R(8.7.3X);6.G.1b.1g(0).4M.18.1e=\'1k\'}k(8.7.3i)8.7.3i.1A(8,[2T,8.7.1h.x,8.7.1h.y]);k(6.T&&6.T.4Y>0){6.T.8a(8)}k(8.7.4v==F){5m.1e=\'1k\'}E F},6J:D(8){k(8.7.1E.1D==73){k(8.7.1E==\'4R\'){8.7.1f=6.1Q({x:0,y:0},6.16.2d(8.2S));C 4Z=6.16.62(8.2S,12);8.7.1f.w=8.7.1f.1F-4Z.l-4Z.r;8.7.1f.h=8.7.1f.1y-4Z.t-4Z.b}P k(8.7.1E==\'17\'){C 6f=6.16.8o();8.7.1f={x:0,y:0,w:6f.w,h:6f.h}}}P k(8.7.1E.1D==4S){8.7.1f={x:J(8.7.1E[0])||0,y:J(8.7.1E[1])||0,w:J(8.7.1E[2])||0,h:J(8.7.1E[3])||0}}8.7.1f.W=8.7.1f.x-8.7.11.x;8.7.1f.X=8.7.1f.y-8.7.11.y},5o:D(q){k(q.7.4L||q.7.1E==\'4R\'){6(\'1J\',17).4A(6.G.1b.1g(0))}6.G.1b.8p().2k().H(\'1H\',1);k(3t.5a){6.G.1b.H(\'69\',\'8A(1H=2W)\')}},5n:D(e){6(17).26(\'2l\',6.G.6q).26(\'4p\',6.G.5n);k(6.G.q==Y){E}C q=6.G.q;6.G.q=Y;k(q.7.5r==F){E F}k(q.7.2y==12){6(q).H(\'Q\',q.7.3s)}C 5m=q.18;k(q.2V){6.G.1b.H(\'6Q\',\'4Q\')}k(q.7.3X){6.G.1b.5I(q.7.3X)}k(q.7.67==F){k(q.7.O>0){k(!q.7.1u||q.7.1u==\'29\'){C x=1I 6.O(q,{2C:q.7.O},\'L\');x.2w(q.7.1h.x,q.7.52)}k(!q.7.1u||q.7.1u==\'2e\'){C y=1I 6.O(q,{2C:q.7.O},\'M\');y.2w(q.7.1h.y,q.7.51)}}P{k(!q.7.1u||q.7.1u==\'29\')q.18.L=q.7.52+\'14\';k(!q.7.1u||q.7.1u==\'2e\')q.18.M=q.7.51+\'14\'}6.G.5o(q);k(q.7.4v==F){6(q).H(\'1e\',q.7.4k)}}P k(q.7.O>0){q.7.5s=12;C 3R=F;k(6.T&&6.1C&&q.7.2y){3R=6.16.3e(6.1C.1b.1g(0))}6.G.1b.8x({L:3R?3R.x:q.7.11.x,M:3R?3R.y:q.7.11.y},q.7.O,D(){q.7.5s=F;k(q.7.4v==F){q.18.1e=q.7.4k}6.G.5o(q)})}P{6.G.5o(q);k(q.7.4v==F){6(q).H(\'1e\',q.7.4k)}}k(6.T&&6.T.4Y>0){6.T.7Y(q)}k(6.1C&&q.7.2y){6.1C.bG(q)}k(q.7.1T&&(q.7.52!=q.7.1h.x||q.7.51!=q.7.1h.y)){q.7.1T.1A(q,q.7.71||[0,0,q.7.52,q.7.51])}k(q.7.3h)q.7.3h.1A(q);E F},6U:D(x,y,W,X){k(W!=0)W=J((W+(u.7.2N*W/1t.8r(W))/2)/u.7.2N)*u.7.2N;k(X!=0)X=J((X+(u.7.33*X/1t.8r(X))/2)/u.7.33)*u.7.33;E{W:W,X:X,x:0,y:0}},6T:D(x,y,W,X){W=1t.3A(1t.2I(W,u.7.1f.W),u.7.1f.w+u.7.1f.W-u.7.11.1F);X=1t.3A(1t.2I(X,u.7.1f.X),u.7.1f.h+u.7.1f.X-u.7.11.1y);E{W:W,X:X,x:0,y:0}},6q:D(e){k(6.G.q==Y||6.G.q.7.5s==12){E}C q=6.G.q;q.7.2b=6.16.30(e);k(q.7.5r==F){8u=1t.bg(1t.8t(q.7.1c.x-q.7.2b.x,2)+1t.8t(q.7.1c.y-q.7.2b.y,2));k(8u0){6.T.6N(q)}E F},2B:D(o){k(!6.G.1b){6(\'1J\',17).4A(\'<2Y 27="8y">\');6.G.1b=6(\'#8y\');C A=6.G.1b.1g(0);C 2U=A.18;2U.Q=\'2s\';2U.1e=\'1k\';2U.6Q=\'4Q\';2U.8f=\'1k\';2U.3m=\'3q\';k(3t.5a){A.6x="8z"}P{2U.9V=\'1k\';2U.8g=\'1k\';2U.8E=\'1k\'}}k(!o){o={}}E u.1L(D(){k(u.5f||!6.16)E;k(3t.5a){u.9P=D(){E F};u.9Q=D(){E F}}C A=u;C 2H=o.2z?6(u).ah(o.2z):6(u);k(6.2A.4i){2H.1L(D(){u.6x="8z"})}P{2H.H(\'-8Q-3V-5c\',\'1k\');2H.H(\'3V-5c\',\'1k\');2H.H(\'-aD-3V-5c\',\'1k\')}u.7={2H:2H,67:o.67?12:F,4v:o.4v?12:F,2y:o.2y?o.2y:F,2V:o.2V?o.2V:F,4L:o.4L?o.4L:F,2r:o.2r?J(o.2r)||0:F,1H:o.1H?2g(o.1H):F,O:J(o.O)||Y,6e:o.6e?o.6e:F,2X:{},1c:{},3i:o.3i&&o.3i.1D==2G?o.3i:F,3h:o.3h&&o.3h.1D==2G?o.3h:F,1T:o.1T&&o.1T.1D==2G?o.1T:F,1u:/2e|29/.4d(o.1u)?o.1u:F,5g:o.5g?J(o.5g)||0:0,1R:o.1R?o.1R:F,6i:o.6i?12:F,3X:o.3X||F};k(o.2X&&o.2X.1D==2G)u.7.2X.3V=o.2X;k(o.3j&&o.3j.1D==2G)u.7.3j=o.3j;k(o.1E&&((o.1E.1D==73&&(o.1E==\'4R\'||o.1E==\'17\'))||(o.1E.1D==4S&&o.1E.1Y==4))){u.7.1E=o.1E}k(o.1G){u.7.1G=o.1G}k(o.3k){k(25 o.3k==\'bM\'){u.7.2N=J(o.3k)||1;u.7.33=J(o.3k)||1}P k(o.3k.1Y==2){u.7.2N=J(o.3k[0])||1;u.7.33=J(o.3k[1])||1}}k(o.1V&&o.1V.1D==2G){u.7.1V=o.1V}u.5f=12;2H.1L(D(){u.1X=A});2H.1S(\'2J\',6.G.77)})}};6.3v.1Q({7V:6.G.4e,5E:6.G.2B});6.B={S:Y,20:Y,q:Y,1c:Y,1v:Y,Q:Y,4h:D(e){6.B.q=(u.53)?u.53:u;6.B.1c=6.16.30(e);6.B.1v={Z:J(6(6.B.q).H(\'Z\'))||0,V:J(6(6.B.q).H(\'V\'))||0};6.B.Q={M:J(6(6.B.q).H(\'M\'))||0,L:J(6(6.B.q).H(\'L\'))||0};6(17).1S(\'2l\',6.B.79).1S(\'4p\',6.B.76);k(25 6.B.q.I.8H===\'D\'){6.B.q.I.8H.1A(6.B.q)}E F},76:D(e){6(17).26(\'2l\',6.B.79).26(\'4p\',6.B.76);k(25 6.B.q.I.8F===\'D\'){6.B.q.I.8F.1A(6.B.q)}6.B.q=Y},79:D(e){k(!6.B.q){E}1c=6.16.30(e);4j=6.B.Q.M-6.B.1c.y+1c.y;4f=6.B.Q.L-6.B.1c.x+1c.x;4j=1t.2I(1t.3A(4j,6.B.q.I.4D-6.B.1v.V),6.B.q.I.3S);4f=1t.2I(1t.3A(4f,6.B.q.I.4C-6.B.1v.Z),6.B.q.I.44);k(25 6.B.q.I.3j===\'D\'){C 4O=6.B.q.I.3j.1A(6.B.q,[4f,4j]);k(25 4O==\'aZ\'&&4O.1Y==2){4f=4O[0];4j=4O[1]}}6.B.q.18.M=4j+\'14\';6.B.q.18.L=4f+\'14\';E F},5O:D(e){6(17).1S(\'2l\',6.B.4Q).1S(\'4p\',6.B.58);6.B.S=u.S;6.B.20=u.20;6.B.1c=6.16.30(e);k(6.B.S.I.3i){6.B.S.I.3i.1A(6.B.S,[u])}6.B.1v={Z:J(6(u.S).H(\'Z\'))||0,V:J(6(u.S).H(\'V\'))||0};6.B.Q={M:J(6(u.S).H(\'M\'))||0,L:J(6(u.S).H(\'L\'))||0};E F},58:D(){6(17).26(\'2l\',6.B.4Q).26(\'4p\',6.B.58);k(6.B.S.I.3h){6.B.S.I.3h.1A(6.B.S,[6.B.20])}6.B.S=Y;6.B.20=Y},3x:D(W,59){E 1t.3A(1t.2I(6.B.1v.Z+W*59,6.B.S.I.57),6.B.S.I.5q)},3w:D(X,59){E 1t.3A(1t.2I(6.B.1v.V+X*59,6.B.S.I.4T),6.B.S.I.4W)},8k:D(V){E 1t.3A(1t.2I(V,6.B.S.I.4T),6.B.S.I.4W)},4Q:D(e){k(6.B.S==Y){E}1c=6.16.30(e);W=1c.x-6.B.1c.x;X=1c.y-6.B.1c.y;U={Z:6.B.1v.Z,V:6.B.1v.V};1o={M:6.B.Q.M,L:6.B.Q.L};2Z(6.B.20){1a\'e\':U.Z=6.B.3x(W,1);1p;1a\'8w\':U.Z=6.B.3x(W,1);U.V=6.B.3w(X,1);1p;1a\'w\':U.Z=6.B.3x(W,-1);1o.L=6.B.Q.L-U.Z+6.B.1v.Z;1p;1a\'5k\':U.Z=6.B.3x(W,-1);1o.L=6.B.Q.L-U.Z+6.B.1v.Z;U.V=6.B.3w(X,1);1p;1a\'3U\':U.V=6.B.3w(X,-1);1o.M=6.B.Q.M-U.V+6.B.1v.V;U.Z=6.B.3x(W,-1);1o.L=6.B.Q.L-U.Z+6.B.1v.Z;1p;1a\'n\':U.V=6.B.3w(X,-1);1o.M=6.B.Q.M-U.V+6.B.1v.V;1p;1a\'5p\':U.V=6.B.3w(X,-1);1o.M=6.B.Q.M-U.V+6.B.1v.V;U.Z=6.B.3x(W,1);1p;1a\'s\':U.V=6.B.3w(X,1);1p}k(6.B.S.I.2a){k(6.B.20==\'n\'||6.B.20==\'s\')28=U.V*6.B.S.I.2a;P 28=U.Z;2D=6.B.8k(28*6.B.S.I.2a);28=2D/6.B.S.I.2a;2Z(6.B.20){1a\'n\':1a\'3U\':1a\'5p\':1o.M+=U.V-2D;1p}2Z(6.B.20){1a\'3U\':1a\'w\':1a\'5k\':1o.L+=U.Z-28;1p}U.V=2D;U.Z=28}k(1o.M<6.B.S.I.3S){2D=U.V+1o.M-6.B.S.I.3S;1o.M=6.B.S.I.3S;k(6.B.S.I.2a){28=2D/6.B.S.I.2a;2Z(6.B.20){1a\'3U\':1a\'w\':1a\'5k\':1o.L+=U.Z-28;1p}U.Z=28}U.V=2D}k(1o.L<6.B.S.I.44){28=U.Z+1o.L-6.B.S.I.44;1o.L=6.B.S.I.44;k(6.B.S.I.2a){2D=28*6.B.S.I.2a;2Z(6.B.20){1a\'n\':1a\'3U\':1a\'5p\':1o.M+=U.V-2D;1p}U.V=2D}U.Z=28}k(1o.M+U.V>6.B.S.I.4D){U.V=6.B.S.I.4D-1o.M;k(6.B.S.I.2a){U.Z=U.V/6.B.S.I.2a}}k(1o.L+U.Z>6.B.S.I.4C){U.Z=6.B.S.I.4C-1o.L;k(6.B.S.I.2a){U.V=U.Z*6.B.S.I.2a}}C 3u=F;2K=6.B.S.18;2K.L=1o.L+\'14\';2K.M=1o.M+\'14\';2K.Z=U.Z+\'14\';2K.V=U.V+\'14\';k(6.B.S.I.8q){3u=6.B.S.I.8q.1A(6.B.S,[U,1o]);k(3u){k(3u.1v){6.1Q(U,3u.1v)}k(3u.Q){6.1Q(1o,3u.Q)}}}2K.L=1o.L+\'14\';2K.M=1o.M+\'14\';2K.Z=U.Z+\'14\';2K.V=U.V+\'14\';E F},2B:D(R){k(!R||!R.22||R.22.1D!=5C){E}E u.1L(D(){C A=u;A.I=R;A.I.57=R.57||10;A.I.4T=R.4T||10;A.I.5q=R.5q||4y;A.I.4W=R.4W||4y;A.I.3S=R.3S||-8s;A.I.44=R.44||-8s;A.I.4C=R.4C||4y;A.I.4D=R.4D||4y;6M=6(A).H(\'Q\');k(!(6M==\'2i\'||6M==\'2s\')){A.18.Q=\'2i\'}8B=/n|5p|e|8w|s|5k|w|3U/g;1B(i 1W A.I.22){k(i.5l().8C(8B)!=Y){k(A.I.22[i].1D==73){2z=6(A.I.22[i]);k(2z.4V()>0){A.I.22[i]=2z.1g(0)}}k(A.I.22[i].4I){A.I.22[i].S=A;A.I.22[i].20=i;6(A.I.22[i]).1S(\'2J\',6.B.5O)}}}k(A.I.2n){k(25 A.I.2n===\'5h\'){5t=6(A.I.2n);k(5t.4V()>0){5t.1L(D(){u.53=A});5t.1S(\'2J\',6.B.4h)}}P k(A.I.2n.4I){A.I.2n.53=A;6(A.I.2n).1S(\'2J\',6.B.4h)}P k(A.I.2n==12){6(u).1S(\'2J\',6.B.4h)}}})},4e:D(){E u.1L(D(){C A=u;1B(i 1W A.I.22){A.I.22[i].S=Y;A.I.22[i].20=Y;6(A.I.22[i]).26(\'2J\',6.B.5O)}k(A.I.2n){k(25 A.I.2n===\'5h\'){2z=6(A.I.2n);k(2z.4V()>0){2z.26(\'2J\',6.B.4h)}}P k(A.I.2n==12){6(u).26(\'2J\',6.B.4h)}}A.I=Y})}};6.3v.1Q({bu:6.B.2B,aA:6.B.4e});6.1M={6W:1,7n:D(1O){C 1O=1O;E u.1L(D(){u.2c.3M.1L(D(5U){6.1M.2F(u,1O[5U])})})},1g:D(){C 1O=[];u.1L(D(6H){k(u.6X){1O[6H]=[];C 8=u;C 1v=6.16.2d(u);u.2c.3M.1L(D(5U){C x=u.56;C y=u.5i;4x=J(x*2W/(1v.w-u.5A));4J=J(y*2W/(1v.h-u.63));1O[6H][5U]=[4x||0,4J||0,x||0,y||0]})}});E 1O},6V:D(8){8.7.8m=8.7.1f.w-8.7.11.1F;8.7.8D=8.7.1f.h-8.7.11.1y;k(8.5x.2c.70){5X=8.5x.2c.3M.1g(8.6Z+1);k(5X){8.7.1f.w=(J(6(5X).H(\'L\'))||0)+8.7.11.1F;8.7.1f.h=(J(6(5X).H(\'M\'))||0)+8.7.11.1y}5Z=8.5x.2c.3M.1g(8.6Z-1);k(5Z){C 6I=J(6(5Z).H(\'L\'))||0;C 6P=J(6(5Z).H(\'L\'))||0;8.7.1f.x+=6I;8.7.1f.y+=6P;8.7.1f.w-=6I;8.7.1f.h-=6P}}8.7.8e=8.7.1f.w-8.7.11.1F;8.7.8d=8.7.1f.h-8.7.11.1y;k(8.7.1G){8.7.2N=((8.7.1f.w-8.7.11.1F)/8.7.1G)||1;8.7.33=((8.7.1f.h-8.7.11.1y)/8.7.1G)||1;8.7.8b=8.7.8e/8.7.1G;8.7.8h=8.7.8d/8.7.1G}8.7.1f.W=8.7.1f.x-8.7.1h.x;8.7.1f.X=8.7.1f.y-8.7.1h.y;6.G.1b.H(\'6Q\',\'7e\')},1V:D(8,x,y){k(8.7.1G){8c=J(x/8.7.8b);4x=8c*2W/8.7.1G;8i=J(y/8.7.8h);4J=8i*2W/8.7.1G}P{4x=J(x*2W/8.7.8m);4J=J(y*2W/8.7.8D)}8.7.71=[4x||0,4J||0,x||0,y||0];k(8.7.1V)8.7.1V.1A(8,8.7.71)},7x:D(3o){8J=3o.aP||3o.aO||-1;2Z(8J){1a 35:6.1M.2F(u.1X,[61,61]);1p;1a 36:6.1M.2F(u.1X,[-61,-61]);1p;1a 37:6.1M.2F(u.1X,[-u.1X.7.2N||-1,0]);1p;1a 38:6.1M.2F(u.1X,[0,-u.1X.7.33||-1]);1p;1a 39:6.1M.2F(u.1X,[u.1X.7.2N||1,0]);1p;1a 40:6.G.2F(u.1X,[0,u.1X.7.33||1]);1p}},2F:D(8,Q){k(!8.7){E}8.7.11=6.1Q(6.16.3e(8),6.16.2d(8));8.7.1h={x:J(6.H(8,\'L\'))||0,y:J(6.H(8,\'M\'))||0};8.7.3s=6.H(8,\'Q\');k(8.7.3s!=\'2i\'&&8.7.3s!=\'2s\'){8.18.Q=\'2i\'}6.G.6J(8);6.1M.6V(8);W=J(Q[0])||0;X=J(Q[1])||0;1x=8.7.1h.x+W;1z=8.7.1h.y+X;k(8.7.1G){1P=6.G.6U.1A(8,[1x,1z,W,X]);k(1P.1D==5C){W=1P.W;X=1P.X}1x=8.7.1h.x+W;1z=8.7.1h.y+X}1P=6.G.6T.1A(8,[1x,1z,W,X]);k(1P&&1P.1D==5C){W=1P.W;X=1P.X}1x=8.7.1h.x+W;1z=8.7.1h.y+X;k(8.7.2V&&(8.7.1V||8.7.1T)){6.1M.1V(8,1x,1z)}1x=!8.7.1u||8.7.1u==\'29\'?1x:8.7.1h.x||0;1z=!8.7.1u||8.7.1u==\'2e\'?1z:8.7.1h.y||0;8.18.L=1x+\'14\';8.18.M=1z+\'14\'},2B:D(o){E u.1L(D(){k(u.6X==12||!o.5K||!6.16||!6.G||!6.T){E}2P=6(o.5K,u);k(2P.4V()==0){E}C 2h={1E:\'4R\',2V:12,1V:o.1V&&o.1V.1D==2G?o.1V:Y,1T:o.1T&&o.1T.1D==2G?o.1T:Y,2z:u,1H:o.1H||F};k(o.1G&&J(o.1G)){2h.1G=J(o.1G)||1;2h.1G=2h.1G>0?2h.1G:1}k(2P.4V()==1)2P.5E(2h);P{6(2P.1g(0)).5E(2h);2h.2z=Y;2P.5E(2h)}2P.aM(6.1M.7x);2P.1N(\'6W\',6.1M.6W++);u.6X=12;u.2c={};u.2c.7l=2h.7l;u.2c.1G=2h.1G;u.2c.3M=2P;u.2c.70=o.70?12:F;6Y=u;6Y.2c.3M.1L(D(7c){u.6Z=7c;u.5x=6Y});k(o.1O&&o.1O.1D==4S){1B(i=o.1O.1Y-1;i>=0;i--){k(o.1O[i].1D==4S&&o.1O[i].1Y==2){A=u.2c.3M.1g(i);k(A.4I){6.1M.2F(A,o.1O[i])}}}}})}};6.3v.1Q({aj:6.1M.2B,ak:6.1M.7n,al:6.1M.1g});6.T={7f:D(2O,2R,4t,4w){E 2O<=6.G.q.7.1x&&(2O+4t)>=(6.G.q.7.1x+6.G.q.7.11.w)&&2R<=6.G.q.7.1z&&(2R+4w)>=(6.G.q.7.1z+6.G.q.7.11.h)?12:F},7d:D(2O,2R,4t,4w){E!(2O>(6.G.q.7.1x+6.G.q.7.11.w)||(2O+4t)<6.G.q.7.1x||2R>(6.G.q.7.1z+6.G.q.7.11.h)||(2R+4w)<6.G.q.7.1z)?12:F},1c:D(2O,2R,4t,4w){E 2O<6.G.q.7.2b.x&&(2O+4t)>6.G.q.7.2b.x&&2R<6.G.q.7.2b.y&&(2R+4w)>6.G.q.7.2b.y?12:F},3Q:F,23:{},4Y:0,1Z:{},8a:D(8){k(6.G.q==Y){E}C i;6.T.23={};C 6K=F;1B(i 1W 6.T.1Z){k(6.T.1Z[i]!=Y){C K=6.T.1Z[i].1g(0);k(6(6.G.q).7S(\'.\'+K.N.a)){k(K.N.m==F){K.N.p=6.1Q(6.16.3e(K),6.16.6O(K));K.N.m=12}k(K.N.ac){6.T.1Z[i].5R(K.N.ac)}6.T.23[i]=6.T.1Z[i];k(6.1C&&K.N.s&&6.G.q.7.2y){K.N.A=6(\'.\'+K.N.a,K);8.18.1e=\'1k\';6.1C.7I(K);K.N.7r=6.1C.8j(6.1N(K,\'27\')).7s;8.18.1e=8.7.4k;6K=12}k(K.N.60){K.N.60.1A(6.T.1Z[i].1g(0),[6.G.q])}}}}k(6K){6.1C.5O()}},7G:D(){6.T.23={};1B(i 1W 6.T.1Z){k(6.T.1Z[i]!=Y){C K=6.T.1Z[i].1g(0);k(6(6.G.q).7S(\'.\'+K.N.a)){K.N.p=6.1Q(6.16.3e(K),6.16.6O(K));k(K.N.ac){6.T.1Z[i].5R(K.N.ac)}6.T.23[i]=6.T.1Z[i];k(6.1C&&K.N.s&&6.G.q.7.2y){K.N.A=6(\'.\'+K.N.a,K);8.18.1e=\'1k\';6.1C.7I(K);8.18.1e=8.7.4k}}}}},6N:D(e){k(6.G.q==Y){E}6.T.3Q=F;C i;C 72=F;C 7H=0;1B(i 1W 6.T.23){C K=6.T.23[i].1g(0);k(6.T.3Q==F&&6.T[K.N.t](K.N.p.x,K.N.p.y,K.N.p.1F,K.N.p.1y)){k(K.N.3N&&K.N.h==F){6.T.23[i].5R(K.N.3N)}k(K.N.h==F&&K.N.5T){72=12}K.N.h=12;6.T.3Q=K;k(6.1C&&K.N.s&&6.G.q.7.2y){6.1C.1b.1g(0).2E=K.N.7j;6.1C.6N(K)}7H++}P k(K.N.h==12){k(K.N.64){K.N.64.1A(K,[e,6.G.1b.1g(0).4M,K.N.O])}k(K.N.3N){6.T.23[i].5I(K.N.3N)}K.N.h=F}}k(6.1C&&!6.T.3Q&&6.G.q.2y){6.1C.1b.1g(0).18.1e=\'1k\'}k(72){6.T.3Q.N.5T.1A(6.T.3Q,[e,6.G.1b.1g(0).4M])}},7Y:D(e){C i;1B(i 1W 6.T.23){C K=6.T.23[i].1g(0);k(K.N.ac){6.T.23[i].5I(K.N.ac)}k(K.N.3N){6.T.23[i].5I(K.N.3N)}k(K.N.s){6.1C.7O[6.1C.7O.1Y]=i}k(K.N.5w&&K.N.h==12){K.N.h=F;K.N.5w.1A(K,[e,K.N.O])}K.N.m=F;K.N.h=F}6.T.23={}},4e:D(){E u.1L(D(){k(u.5d){k(u.N.s){27=6.1N(u,\'27\');6.1C.7C[27]=Y;6(\'.\'+u.N.a,u).7V()}6.T.1Z[\'d\'+u.74]=Y;u.5d=F;u.f=Y}})},2B:D(o){E u.1L(D(){k(u.5d==12||!o.5K||!6.16||!6.G){E}u.N={a:o.5K,ac:o.9d||F,3N:o.a4||F,7j:o.8S||F,5w:o.9f||o.5w||F,5T:o.5T||o.bH||F,64:o.64||o.bL||F,60:o.60||F,t:o.5u&&(o.5u==\'7f\'||o.5u==\'7d\')?o.5u:\'1c\',O:o.O?o.O:F,m:F,h:F};k(o.b0==12&&6.1C){27=6.1N(u,\'27\');6.1C.7C[27]=u.N.a;u.N.s=12;k(o.1T){u.N.1T=o.1T;u.N.7r=6.1C.8j(27).7s}}u.5d=12;u.74=J(1t.7o()*78);6.T.1Z[\'d\'+u.74]=6(u);6.T.4Y++})}};6.3v.1Q({9U:6.T.4e,bm:6.T.2B});6.bc=6.T.7G;6.1q={3J:Y,48:F,5D:Y,6L:D(e){6.1q.48=12;6.1q.2t(e,u,12)},6S:D(e){k(6.1q.3J!=u)E;6.1q.48=F;6.1q.2k(e,u)},2t:D(e,A,48){k(6.1q.3J!=Y)E;k(!A){A=u}6.1q.3J=A;2p=6.1Q(6.16.3e(A),6.16.2d(A));4K=6(A);3p=4K.1N(\'3p\');5Q=4K.1N(\'5Q\');k(3p){6.1q.5D=3p;4K.1N(\'3p\',\'\');6(\'#7p\').6F(3p);k(5Q)6(\'#6R\').6F(5Q.3c(\'bN://\',\'\'));P 6(\'#6R\').6F(\'\');1b=6(\'#4F\');k(A.2m.2E){1b.1g(0).2E=A.2m.2E}P{1b.1g(0).2E=\'\'}6E=6.16.2d(1b.1g(0));7U=48&&A.2m.Q==\'6G\'?\'3y\':A.2m.Q;2Z(7U){1a\'M\':1z=2p.y-6E.1y;1x=2p.x;1p;1a\'L\':1z=2p.y;1x=2p.x-6E.1F;1p;1a\'43\':1z=2p.y;1x=2p.x+2p.1F;1p;1a\'6G\':6(\'1J\').1S(\'2l\',6.1q.2l);1c=6.16.30(e);1z=1c.y+15;1x=1c.x+15;1p;7e:1z=2p.y+2p.1y;1x=2p.x;1p}1b.H({M:1z+\'14\',L:1x+\'14\'});k(A.2m.4P==F){1b.2t()}P{1b.aT(A.2m.4P)}k(A.2m.3Z)A.2m.3Z.1A(A);4K.1S(\'7B\',6.1q.2k).1S(\'7w\',6.1q.6S)}},2l:D(e){k(6.1q.3J==Y){6(\'1J\').26(\'2l\',6.1q.2l);E}1c=6.16.30(e);6(\'#4F\').H({M:1c.y+15+\'14\',L:1c.x+15+\'14\'})},2k:D(e,A){k(!A){A=u}k(6.1q.48!=12&&6.1q.3J==A){6.1q.3J=Y;6(\'#4F\').aQ(1);6(A).1N(\'3p\',6.1q.5D).26(\'7B\',6.1q.2k).26(\'7w\',6.1q.6S);k(A.2m.3Y)A.2m.3Y.1A(A);6.1q.5D=Y}},2B:D(R){k(!6.1q.1b){6(\'1J\').4A(\'<2Y 27="4F"><2Y 27="7p"><2Y 27="6R">\');6(\'#4F\').H({Q:\'2s\',2r:4y,1e:\'1k\'});6.1q.1b=12}E u.1L(D(){k(6.1N(u,\'3p\')){u.2m={Q:/M|3y|L|43|6G/.4d(R.Q)?R.Q:\'3y\',2E:R.2E?R.2E:F,4P:R.4P?R.4P:F,3Z:R.3Z&&R.3Z.1D==2G?R.3Z:F,3Y:R.3Y&&R.3Y.1D==2G?R.3Y:F};C A=6(u);A.1S(\'bP\',6.1q.2t);A.1S(\'6L\',6.1q.6L)}})}};6.3v.9m=6.1q.2B;6.3v.1Q({ad:D(1i,1r,19){E u.2j(\'3r\',D(){1I 6.O.32(u,1i,1r,\'2e\',\'3L\',19)})},ag:D(1i,1r,19){E u.2j(\'3r\',D(){1I 6.O.32(u,1i,1r,\'29\',\'3L\',19)})},9F:D(1i,1r,19){E u.2j(\'3r\',D(){k(6.H(u,\'1e\')==\'1k\'){1I 6.O.32(u,1i,1r,\'29\',\'49\',19)}P{1I 6.O.32(u,1i,1r,\'29\',\'3L\',19)}})},9y:D(1i,1r,19){E u.2j(\'3r\',D(){k(6.H(u,\'1e\')==\'1k\'){1I 6.O.32(u,1i,1r,\'2e\',\'49\',19)}P{1I 6.O.32(u,1i,1r,\'2e\',\'3L\',19)}})},am:D(1i,1r,19){E u.2j(\'3r\',D(){1I 6.O.32(u,1i,1r,\'2e\',\'49\',19)})},b2:D(1i,1r,19){E u.2j(\'3r\',D(){1I 6.O.32(u,1i,1r,\'29\',\'49\',19)})}});6.O.32=D(e,1i,1r,5S,3f,19){k(!6.6g(e)){6.6A(e,\'3r\');E F}C z=u;C 31=F;z.A=6(e);z.19=25 1r==\'5h\'?1r:19||Y;z.1r=25 1r==\'D\'?1r:Y;z.3f=3f;z.1i=1i;z.1w=6.16.2d(e);z.1d={};z.1d.Q=z.A.H(\'Q\');z.1d.1e=z.A.H(\'1e\');k(z.1d.1e==\'1k\'){3l=z.A.H(\'2o\');z.A.2t();31=12}z.1d.M=z.A.H(\'M\');z.1d.L=z.A.H(\'L\');k(31){z.A.2k();z.A.H(\'2o\',3l)}z.1d.Z=z.1w.w+\'14\';z.1d.V=z.1w.h+\'14\';z.1d.3m=z.A.H(\'3m\');z.1w.M=J(z.1d.M)||0;z.1w.L=J(z.1d.L)||0;k(z.1d.Q!=\'2i\'&&z.1d.Q!=\'2s\'){z.A.H(\'Q\',\'2i\')}z.A.H(\'3m\',\'3q\').H(\'V\',3f==\'49\'&&5S==\'2e\'?1:z.1w.h+\'14\').H(\'Z\',3f==\'49\'&&5S==\'29\'?1:z.1w.w+\'14\');z.3z=D(){z.A.H(z.1d);k(z.3f==\'3L\')z.A.2k();P z.A.2t();6.6A(z.A.1g(0),\'3r\')};2Z(5S){1a\'2e\':z.3T=1I 6.O(z.A.1g(0),6.1i(1i-15,z.19,1r),\'V\');z.41=1I 6.O(z.A.1g(0),6.1i(z.1i,z.19,z.3z),\'M\');k(z.3f==\'3L\'){z.3T.2w(z.1w.h,0);z.41.2w(z.1w.M,z.1w.M+z.1w.h/2)}P{z.3T.2w(0,z.1w.h);z.41.2w(z.1w.M+z.1w.h/2,z.1w.M)}1p;1a\'29\':z.3T=1I 6.O(z.A.1g(0),6.1i(1i-15,z.19,1r),\'Z\');z.41=1I 6.O(z.A.1g(0),6.1i(z.1i,z.19,z.3z),\'L\');k(z.3f==\'3L\'){z.3T.2w(z.1w.w,0);z.41.2w(z.1w.L,z.1w.L+z.1w.w/2)}P{z.3T.2w(0,z.1w.w);z.41.2w(z.1w.L+z.1w.w/2,z.1w.L)}1p}};',62,735,'||||||jQuery|dragCfg|elm||||||||||||if||||||dragged||||this||||||el|iResize|var|function|return|false|iDrag|css|resizeOptions|parseInt|iEL|left|top|dropCfg|fx|else|position|options|resizeElement|iDrop|newSizes|height|dx|dy|null|width||oC|true||px||iUtil|document|style|easing|case|helper|pointer|oldStyle|display|cont|get|oR|speed|es|none|elem|255|props|newPosition|break|iTooltip|callback|tp|Math|axis|sizes|oldP|nx|hb|ny|apply|for|iSort|constructor|containment|wb|fractions|opacity|new|body|result|each|iSlider|attr|values|newCoords|extend|cursorAt|bind|onChange|wrs|onSlide|in|dragElem|length|zones|resizeDirection|dhs|handlers|highlighted|vp|typeof|unbind|id|nWidth|horizontally|ratio|currentPointer|slideCfg|getSize|vertically|0px|parseFloat|params|relative|queue|hide|mousemove|tooltipCFG|dragHandle|visibility|pos|documentElement|zIndex|absolute|show|nodeEl|color|custom|step|so|handle|browser|build|duration|nHeight|className|dragmoveBy|Function|dhe|max|mousedown|elS|clientScroll|margins|gx|zonex|toDrag|newStyles|zoney|parentNode|clonedEl|els|si|100|onDragModifier|div|switch|getPointer|restoreStyle|OpenClose|gy|old||||||prop|nmp|replace|animationHandler|getPosition|type|styles|onStop|onStart|onDrag|grid|oldVisibility|overflow|cs|event|title|hidden|interfaceFX|oP|window|newDimensions|fn|getHeight|getWidth|bottom|complete|min|parseColor|curCSS|marginTop|block|scrollTop|marginRight|marginBottom|marginLeft|current|orig|close|sliders|hc|128|wr|overzone|dh|minTop|eh|nw|user|de|frameClass|onHide|onShow||et||right|minLeft|oldDisplay|rgb||focused|open|cssRules|np|currentStyle|test|destroy|newLeft|0x|startDrag|msie|newTop|oD|fA|iw|rule|F0|mouseup|ih|139|scrollLeft|zonew|toInteger|ghosting|zoneh|xproc|3000|timer|append|pr|maxRight|maxBottom|clientWidth|tooltipHelper|parentBorders|border|tagName|yproc|jEl|insideParent|firstChild|namedColors|newPos|delay|move|parent|Array|minHeight|clientHeight|size|maxHeight|cssSides|count|contBorders||nRy|nRx|dragEl|self||offsetLeft|minWidth|stop|side|ActiveXObject|diffY|select|isDroppable|oldPosition|isDraggable|snapDistance|string|offsetTop|diffX|sw|toLowerCase|dEs|dragstop|hidehelper|ne|maxWidth|init|prot|handleEl|tolerance|sideEnd|onDrop|SliderContainer|borderColor|padding|offsetWidth|styleSheets|Object|oldTitle|Draggable|getValues|margin|opt|removeClass|nodeName|accept|png|211|192|start|exec|href|addClass|direction|onHover|key|startTime|src|next|opera|prev|onActivate|2000|getBorder|offsetHeight|onOut|while|innerHeight|revert|scrollWidth|filter|oldBorder|169|borderLeftWidth|oldFloat|hpc|clnt|fxCheckTag|windowSize|autoSize|sliderSize|floatVal|Color|parseStyle|stopAnim|func|fontWeight|dragmove|object|innerWidth|cssSidesEnd|pValue|borderTopWidth|scrollHeight|unselectable|pause|borderWidth|dequeue|parentPos|traverseDOM|sliderPos|helperSize|html|mouse|slider|prevLeft|getContainment|oneIsSortable|focus|elPosition|checkhover|getSizeLite|prevTop|cursor|tooltipURL|hidefocused|fitToContainer|snapToGrid|modifyContainer|tabindex|isSlider|sliderEl|SliderIteration|restricted|lastSi|applyOnHover|String|idsa||stopDrag|draginit|10000|moveDrag|getScroll|Width|nr|intersect|default|fit|colorCssProps|linear|fxe|shc|cssProps|onslide|toggle|set|random|tooltipTitle|isFunction|os|hash|setInterval|offsetParent|oldOverflow|blur|dragmoveByKey|firstNum|Date|getTime|mouseout|collected|emptyGIF|insertBefore|165|remeasure|hlt|measure|styleFloat|224|144|245|107|changed|240|230|140|is|notColor|filteredPosition|DraggableDestroy|getMargins|delta|checkdrop|indexOf|paddingTop|paddingRight|img|wid|borderBottomWidth||borderRightWidth|paddingLeft|paddingBottom|images|highlight|fracW|xfrac|maxy|maxx|listStyle|userSelect|fracH|yfrac|serialize|getHeightMinMax|initialPosition|containerMaxx|auto|getClient|empty|onResize|abs|1000|pow|distance|dragstart|se|animate|dragHelper|on|alpha|directions|match|containerMaxy|KhtmlUserSelect|onDragStop|clearInterval|onDragStart|split|pressedKey|trim|darkmagenta|183|189|darkolivegreen|tbody|moz|DXImageTransform|helperclass|brown|darkkhaki|td|darkgrey|darkcyan|darkgreen|tr|progid|darkorange|cyan|darkblue|153|indigo|130|green|215|gold|prototype|khaki|lightblue|activeclass|Microsoft|ondrop|fuchsia|148|darkred|204|centerEl|blue|ToolTip|darksalmon|darkviolet|122|150|233|darkorchid|black|textarea|iframe|hr|input|SwitchVertically|frameset|button|script|table|frame|form|SwitchHorizontally|createElement|optgroup|removeChild|meta|destroyWrapper|option|buildWrapper|w_|float|onselectstart|ondragstart|header|th|wrapper|DroppableDestroy|mozUserSelect|appendChild|tfoot|aqua|azure|caption|220|thead|beige|hoverclass|cssFloat|dl|col|colgroup|ul|ol|fixPNG||CloseVertically|173|fxWrapper|CloseHorizontally|find|lime|Slider|SliderSetValues|SliderGetValues|OpenVertically|isNaN|cloneNode|solid|dashed|dotted|transparent|pageX|clientX|Bottom|Right|216|Top|Left|ResizableDestroy|PI|cos|khtml|stopAll|double|groove|cssText|MozUserSelect|RegExp|selectorText|off|keydown|toUpperCase|keyCode|charCode|fadeOut|rules|fromHandler|fadeIn|outset|inset|ridge|selectKeyHelper|getPadding|array|sortable|borderStyle|OpenHorizontally|outlineColor|pageY|olive|navy|maroon|magenta|orange|pink|red|recallDroppables|purple|203|AlphaImageLoader|sqrt|lightgrey|238|lightgreen|lightcyan|getPositionLite|Droppable|lightyellow|193|182|lightpink||silver|purgeEvents|Resizable|clientY|outlineWidth|outlineOffset|textIndent|backgroundColor|borderTopColor|borderRightColor|borderLeftColor|borderBottomColor|lineHeight|letterSpacing|check|onhover|nextSibling|yellow|white|onout|number|http|fontSize|mouseover|100000000'.split('|'),0,{})) diff --git a/less/style.less b/less/style.less index 91beb8c..63ff905 100644 --- a/less/style.less +++ b/less/style.less @@ -6,7 +6,7 @@ Style for ahad pos 2 Author : abufathir */ -/*@font-face { +@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; @@ -41,16 +41,11 @@ Style for ahad pos 2 font-style: italic; font-weight: 700; src: url('fonts/OpenSans-BoldItalic.ttf'); -}*/ -@font-face { - font-family: 'Ubuntu'; - font-style: normal; - src: url('fonts/ubuntu-r.ttf'); } @font-face { - font-family: 'Ubuntu'; - font-style: normal; - src: url('fonts/ubuntu-r.ttf'); + font-family: 'Ubuntu'; + font-style: normal; + src: url('fonts/ubuntu-r.ttf'); } @hijau-background : #d2e28b; @@ -76,542 +71,488 @@ Style for ahad pos 2 @import "../lesslib/tb3/print.less"; .border-radius(@radius) { - border-radius: @radius; -} - -.animasi(@param){ - -webkit-animation: @param; - -moz-animation: @param; - -ms-animation: @param; - animation: @param; -} - -.getar{ - .animasi(tada 1s infinite); + border-radius: @radius; } .tombol { - display: inline-block; - margin-bottom: 0; // For input.btn - font-weight: @btn-font-weight; - text-align: center; - vertical-align: middle; - cursor: pointer; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid transparent; - white-space: nowrap; - .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base); - .user-select(none); - - &:focus { - .tab-focus(); - } - - &:hover, - &:focus { - color: @btn-default-color; - text-decoration: none; - } - - &:active, - &.active { - outline: 0; - background-image: none; - .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); - } - - &.disabled, - &[disabled], - fieldset[disabled] & { - cursor: not-allowed; - pointer-events: none; // Future-proof disabling of clicks - .opacity(.65); - .box-shadow(none); - } - &.getar{ - background-color: red; - color: #fff !important; - } -} - - -input, select, a.tombol{ - .placeholder(); - padding: @padding-small-vertical @padding-small-horizontal;//@padding-base-vertical @padding-base-horizontal; - font-size: @font-size-small; //@font-size-base; - line-height: @line-height-small;//@line-height-base; - color: @input-color; - vertical-align: middle; - background-color: @input-bg; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid @input-border; - border-radius: @border-radius-small;//@input-border-radius; - margin-bottom: 5px; - height: 18px; //@input-height-small;//@input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) - .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); - .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); - - // Customize the `:focus` state to imitate native WebKit styles. - .form-control-focus(); - - - // Disabled and read-only inputs - // Note: HTML5 says that controls under a fieldset > legend:first-child won't - // be disabled if the fieldset is disabled. Due to implementation difficulty, - // we don't honor that edge case; we style them as disabled anyway. - &[disabled], - &[readonly], - fieldset[disabled] & { - cursor: not-allowed; - background-color: @input-bg-disabled; - } - - // Reset height for `textarea`s - textarea& { - height: auto; - } - - //.input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); + display: inline-block; + margin-bottom: 0; // For input.btn + font-weight: @btn-font-weight; + text-align: center; + vertical-align: middle; + cursor: pointer; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + white-space: nowrap; + .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base); + .user-select(none); + + &:focus { + .tab-focus(); + } + + &:hover, + &:focus { + color: @btn-default-color; + text-decoration: none; + } + + &:active, + &.active { + outline: 0; + background-image: none; + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + cursor: not-allowed; + pointer-events: none; // Future-proof disabling of clicks + .opacity(.65); + .box-shadow(none); + } + +} + + +input, select{ + .placeholder(); + padding: @padding-small-vertical @padding-small-horizontal;//@padding-base-vertical @padding-base-horizontal; + font-size: @font-size-small; //@font-size-base; + line-height: @line-height-small;//@line-height-base; + color: @input-color; + vertical-align: middle; + background-color: @input-bg; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid @input-border; + border-radius: @border-radius-small;//@input-border-radius; + margin-bottom: 5px; + height: 18px; //@input-height-small;//@input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); + + // Customize the `:focus` state to imitate native WebKit styles. + .form-control-focus(); + + + // Disabled and read-only inputs + // Note: HTML5 says that controls under a fieldset > legend:first-child won't + // be disabled if the fieldset is disabled. Due to implementation difficulty, + // we don't honor that edge case; we style them as disabled anyway. + &[disabled], + &[readonly], + fieldset[disabled] & { + cursor: not-allowed; + background-color: @input-bg-disabled; + } + + // Reset height for `textarea`s + textarea& { + height: auto; + } + + //.input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); } select{ - height: @input-height-small; + height: @input-height-small; } input[type="submit"], input[type="reset"], input[type="button"],button { - .tombol; - //.button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); - .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); - //.button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); - //.button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); - //.button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); - .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); - padding: 1px 5px; - margin-bottom: 5px; - height: @input-height-small; + .tombol; + //.button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); + .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); + //.button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); + //.button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); + //.button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); + .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); + padding: 1px 5px; + margin-bottom: 5px; + height: @input-height-small; } input[type="file"]{ - height: @input-height-small; + height: @input-height-small; } .input-group{ - position: relative; // For dropdowns - /*display: table;*/ - border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table - display: inline-table; - width: 50px; - label{ - display: table-cell; - width: 1%; - white-space: nowrap; - vertical-align: middle; // Match the inputs - padding: @padding-small-vertical @padding-small-horizontal; - font-size: @font-size-small; - font-weight: normal; - line-height: 1; - color: @input-color; - text-align: center; - background-color: @hijau-muda; // @input-group-addon-bg; - border: 1px solid @input-group-addon-border-color; - border-radius: @border-radius-small; - .border-right-radius(0); - border-right: 0; - } - input{ - margin-bottom: 0; - display: table-cell; - .border-left-radius(0); - } + position: relative; // For dropdowns + /*display: table;*/ + border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table + display: inline-table; + width: 50px; + label{ + display: table-cell; + width: 1%; + white-space: nowrap; + vertical-align: middle; // Match the inputs + padding: @padding-small-vertical @padding-small-horizontal; + font-size: @font-size-small; + font-weight: normal; + line-height: 1; + color: @input-color; + text-align: center; + background-color: @hijau-muda; // @input-group-addon-bg; + border: 1px solid @input-group-addon-border-color; + border-radius: @border-radius-small; + .border-right-radius(0); + border-right: 0; + } + input{ + margin-bottom: 0; + display: table-cell; + .border-left-radius(0); + } } .inline{ - display: inline; + display: inline; } body { - margin: 0; - padding: 0; - font: normal 10pt Ubuntu, @font-family-base; - //font-family: @font-family-base; - font-weight: 300; - background: white; - &.kasir{ - form{ - display: inline; - } - display: inline; - #footer{ - margin-left:-20px; - padding: 5px 20px; - background-color: #ccc; - a{ - color: @biru; - float: left; - } - } - } - /* &.kasir{ - //background-color: #272727; - //background-image: url('carbon_fibre.png'); - //background-image: url('linen-gray.png'); - background-color: black; - color: greenyellow; - th{ - color:white; - background-color: darkgreen; - border: thin solid gray; - } - tr.alt{ - background-color: #444; - } - }*/ + margin: 0; + padding: 0; + font: normal 10pt Ubuntu, @font-family-base; + //font-family: @font-family-base; + font-weight: 300; + background: white; + &.kasir{ + form{ + display: inline; + } + display: inline; + } + /* &.kasir{ + //background-color: #272727; + //background-image: url('carbon_fibre.png'); + //background-image: url('linen-gray.png'); + background-color: black; + color: greenyellow; + th{ + color:white; + background-color: darkgreen; + border: thin solid gray; + } + tr.alt{ + background-color: #444; + } + }*/ } a{ - text-decoration: none; - color: green; + text-decoration: none; + color: green; } .active { - color: white; - background-color: @hijau-front; - text-decoration:none; + color: white; + background-color: @hijau-front; + text-decoration:none; } .right{ - text-align: right; + text-align: right; } .center{ - text-align: center; + text-align: center; } #login{ - width: 300px; - margin: 40px auto; - border: thin solid @biru-light; - .header{ - background-color: @hijau-background; - height: 93px; - padding: 10px 0px; - text-align: center; - border-bottom: thin solid @biru-light; - } - form{ - padding: 30px 0px 10px; - input{ - display: block; - width: 225px; - margin: 10px auto; - } - #tombol-login{ - //.button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); - .button-variant(@btn-primary-color; @hijau-sushi; darken(@hijau-sushi, 15%)); - display: block; - width: 247px; - padding: 0; - } - } + width: 300px; + margin: 40px auto; + border: thin solid @biru-light; + .header{ + background-color: @hijau-background; + height: 93px; + padding: 10px 0px; + text-align: center; + border-bottom: thin solid @biru-light; + } + form{ + padding: 30px 0px 10px; + input{ + display: block; + width: 225px; + margin: 10px auto; + } + #tombol-login{ + //.button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); + .button-variant(@btn-primary-color; @hijau-sushi; darken(@hijau-sushi, 15%)); + display: block; + width: 247px; + padding: 0; + } + } } #mainmenu { - background:@hijau-background; - font-family: ubuntu, @font-family-base; - ul{ - padding:9px 20px @tebal-header 20px; - margin:0px; - li { - display: inline; - a { - text-transform: uppercase; - color: black; - background-color:@hijau-muda; - text-shadow: 1px 1px 3px #888; - //.box-shadow(0px 0px 5px 0px #888); - font-size: 9px; - text-decoration:none; - padding: 5px; - display: inline-block; - float:left; - margin-right: 10px; - text-align: center; - .border-radius(5px); - width: 53px; - i{ - margin-bottom: 10px; - width: 1.28571429em; - display: block; - width: 100%; + background:@hijau-background; + font-family: ubuntu, @font-family-base; + ul{ + padding:9px 20px @tebal-header 20px; + margin:0px; + li { + display: inline; + a { + text-transform: uppercase; + color: black; + background-color:@hijau-muda; + text-shadow: 1px 1px 3px #888; + //.box-shadow(0px 0px 5px 0px #888); + font-size: 9px; + text-decoration:none; + padding: 5px; + display: inline-block; + float:left; + margin-right: 10px; + text-align: center; + .border-radius(5px); + width: 53px; + i{ + margin-bottom: 10px; + width: 1.28571429em; + display: block; + width: 100%; + } + &:hover{ + .active; + } } - &:hover{ - .active; + &.active a{ + .active; + .border-bottom-radius(0px); + padding-bottom: 14px; } - } - &.active a{ - .active; - .border-bottom-radius(0px); - padding-bottom: 14px; - } - &.active ul{ - display: block; - li{ - display: inline; - a{ - text-transform: uppercase; - color: black; - font-size:11px; - font-weight:bold; - text-decoration:none; - margin-right: 15px; - padding: 0px; - width: auto; - } - &.active a{ - .active; - } + &.active ul{ + display: block; + li{ + display: inline; + a{ + text-transform: uppercase; + color: black; + font-size:11px; + font-weight:bold; + text-decoration:none; + margin-right: 15px; + padding: 0px; + width: auto; + } + &.active a{ + .active; + } + } + } + ul{ // sub menu + display: none; + margin: 0px; + padding: 0px; + margin-left: -20px; + width: 100%; + padding-left: 20px; + background-color: @hijau-front; + line-height: 25px; + position: fixed; + margin-top: @tebal-header; + a{ + box-shadow: none; + } + li a i{ + display:inline; + margin-right: 5px; + } } - } - ul{ // sub menu - display: none; - margin: 0px; - padding: 0px; - margin-left: -20px; - width: 100%; - padding-left: 20px; - background-color: @hijau-front; - line-height: 25px; - position: fixed; - margin-top: @tebal-header; - a{ - box-shadow: none; - } - li a i{ - display:inline; - margin-right: 5px; - } - } - } - } - img { - float:right; - margin-top: -75px; - margin-right: 25px; - } + } + } + img { + float:right; + margin-top: -75px; + margin-right: 25px; + } } .logo-kasir{ - position: absolute; - top: 0px; - width: 49%; - left:0px; - text-align: left; + position: absolute; + top: 0px; + width: 49%; + left:0px; + text-align: left; } #entry-barang{ - button{ - margin-bottom:0px; - } + + + button{ + margin-bottom:0px; + } } .kasir-kanan{ - display:inline; + display:inline; } #tot_pembelian{ - position: absolute; - right: 20px; - top: 0px; - font-size: 7em; - small{ - color: red; - text-decoration: line-through; - font-size: 0.5em; - } + position: absolute; + right: 20px; + top: 0px; + font-size: 7em; } #kembalian{ - text-align: right; - font-size: 6em; + text-align: right; + font-size: 6em; } table{ - font-size: @font-size-small; - &.daftar-pembelian{ - float:left; - width: 49%; - } - td{ - padding: 0 5px; - } - &.pembayaran{ - margin: 0 auto; - td{ - padding: 3px 5px; - input{ - text-align: right; - } - } - } - &.top{ - td{ - vertical-align: middle; - } - } + font-size: @font-size-small; + &.daftar-pembelian{ + float:left; + width: 49%; + } + td{ + padding: 0 5px; + } + &.pembayaran{ + margin: 0 auto; + td{ + padding: 3px 5px; + input{ + text-align: right; + } + } + } + &.top{ + td{ + vertical-align: middle; + } + } } .tabel{ - border-collapse: collapse; - margin-bottom: 5px; - border: 1px solid @table-border-color; - .border-radius(@border-radius-small); - th{ - background-color: @kuning; - color: #000; - border-right: thin solid @hijau-front; - padding: 5px; - } - tr{ - &.alt{ - background-color: @hijau-muda; - } - &.merah{ - background-color: #f00; - } - td{ - border-right: thin solid @table-border-color; - padding: 3px 5px; - &.error{ - color: orange; - font-weight: bold; - } - } - } - .icon-small{ - font-size: 0.7em; - } - .pilih:focus{ - /* color: white; - background-color: red;*/ - outline: 1px solid @hijau-sushi; - background-color: yellow; - } - &.print{ - th{ - background-color: #fff; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; - } - tr{ - &.alt{ + border-collapse: collapse; + margin-bottom: 5px; + border: 1px solid @table-border-color; + .border-radius(@border-radius-small); + th{ + background-color: @kuning; + color: #000; + border-right: thin solid @hijau-front; + padding: 5px; + } + tr{ + &.alt{ background-color: @hijau-muda; - } - td{ - border-right: thin solid #ccc; + } + td{ + border-right: thin solid @table-border-color; padding: 3px 5px; &.error{ - color: orange; - font-weight: bold; + color: orange; + font-weight: bold; } - } - } - } + } + } + .icon-small{ + font-size: 0.7em; + } + .pilih:focus{ + /* color: white; + background-color: red;*/ + outline: 1px solid @hijau-sushi; + background-color: yellow; + } } div{ - &.top{ - margin-top: 90px; - margin-bottom: 10px; - } - &.pembayaran{ - border: 1px solid @table-border-color; - .border-radius(@border-radius-small); - display: inline; - float: right; - padding: 10px; - margin-bottom: 55px; - } + &.top{ + margin-top: 90px; + margin-bottom: 10px; + } + &.pembayaran{ + border: 1px solid @table-border-color; + .border-radius(@border-radius-small); + display: inline; + float: right; + padding: 10px; + } } /*#submenu{ - ul{ - margin: 0px; - padding-left: 20px; - background-color: @hijau-front; - line-height: 25px; - li{ - display: inline; - a{ - text-transform: uppercase; - color: black; - font-size:12px; - font-weight:bold; - text-decoration:none; - margin-right: 15px; - } - &.active a{ - .active; - } - } - } + ul{ + margin: 0px; + padding-left: 20px; + background-color: @hijau-front; + line-height: 25px; + li{ + display: inline; + a{ + text-transform: uppercase; + color: black; + font-size:12px; + font-weight:bold; + text-decoration:none; + margin-right: 15px; + } + &.active a{ + .active; + } + } + } }*/ #header{ - position: fixed; - top: 0; - left: 0; - z-index: 9; - width: 100%; + position: fixed; + top: 0; + left: 0; + z-index: 9; + width: 100%; } .container{ - margin-top: 120px; - margin-bottom: 30px; + margin-top: 120px; + margin-bottom: 30px; } #content{ - padding: 0 20px; + padding: 0 20px; } .u{ - text-decoration: underline; + text-decoration: underline; } #footer{ - text-align: right; - font-family: ubuntu, @font-family-base; - background-color: @hijau-front; - color: white; - line-height: 20px; - font-size: 10px; - position: fixed; - bottom: 0; - width: 100%; - span{ - margin-right: 20px; - } - a{ - color:white; - } + text-align: right; + font-family: ubuntu, @font-family-base; + background-color: @hijau-front; + color: white; + line-height: 20px; + font-size: 10px; + position: fixed; + bottom: 0; + width: 100%; + span{ + margin-right: 20px; + } + a{ + color:white; + } } .ui-autocomplete{ - background-color: #fff; - border: 1px solid @hijau-sushi; + background-color: #fff; + border: 1px solid @hijau-sushi; } .ui-menu-item{ - &.ui-state-focus{ - background-color: @hijau-muda; - margin: 0; - } -} - -textarea{ - margin-bottom: 5px; + &.ui-state-focus{ + background-color: @hijau-muda; + margin: 0; + } } @import '../lesslib/fa/font-awesome'; \ No newline at end of file diff --git a/sistem/aksi.php b/sistem/aksi.php index a57b097..479e600 100644 --- a/sistem/aksi.php +++ b/sistem/aksi.php @@ -1,193 +1,183 @@ $_POST['namaUser'], - 'uname' => $_POST['uname'] - ); - - /* update level bisa jika level user <= 2 (admin dan lebih tinggi) - * by Abu Muhammad */ - - $query = mysql_query("SELECT * FROM user WHERE idUser='$_SESSION[iduser]'"); - $data = mysql_fetch_array($query); - if ($data['idLevelUser'] <= 2) { - $attributes['idLevelUser'] = $_POST['levelUser']; - } - - /* Apabila password diubah */ - if (!empty($_POST['pass'])) { - $pass = md5($_POST['pass']); - $attributes['pass'] = $pass; - } - - $sql = "UPDATE user SET "; - $last = array_pop(array_keys($attributes)); - foreach ($attributes as $key => $value) { - $sql .= "{$key} = '{$value}'"; - if ($key != $last) { - $sql .= ','; - } - } - $sql .= " WHERE idUser = '{$_POST['idUser']}'"; - mysql_query($sql); - if ($_GET[home]) { - header('location:media.php?module=home'); - } else { - header('location:media.php?module='.$module); - }; + // Apabila password tidak diubah + if (empty($_POST[pass])) { + mysql_query("UPDATE user SET namaUser = '$_POST[namaUser]', + idLevelUser = '$_POST[levelUser]', + uname = '$_POST[uname]' + WHERE idUser = '$_POST[idUser]'"); + } + // Apabila password diubah + else { + $pass=md5($_POST[pass]); + mysql_query("UPDATE user SET namaUser = '$_POST[namaUser]', + idLevelUser = '$_POST[levelUser]', + uname = '$_POST[uname]', + pass = '$pass' + WHERE idUser = '$_POST[idUser]'"); + } + + if ($_GET[home]) { + header('location:media.php?module=home'); + } + else { + header('location:media.php?module=' . $module); + }; }// end update user // Hapus User elseif ($module == 'user' AND $act == 'hapus') { - mysql_query("DELETE FROM user WHERE idUser = '$_GET[id]'"); - header('location:media.php?module='.$module); + mysql_query("DELETE FROM user WHERE idUser='$_GET[id]'"); + header('location:media.php?module=' . $module); } // end hapus user // Input modul ========================================================== elseif ($module == 'modul' AND $act == 'input') { - $ambilID = mysql_query("select max(idModul)+1 from modul"); - $ID = mysql_fetch_array($ambilID); - $id_modul; - if ($ID[0] == '') - $id_modul = '1'; - else - $id_modul = $ID[0]; - $ambilUrut = mysql_query("select max(urutan)+1 from modul where urutan < 100"); - $u = mysql_fetch_array($ambilUrut); - $urut; - if ($u[0] == '') - $urut = '1'; - else - $urut = $u[0]; - mysql_query("INSERT INTO modul(idModul, - namaModul, - link, - publish, - idLevelUser, - urutan) - VALUES('$id_modul', - '$_POST[namaModul]', - '$_POST[link]', - '$_POST[publish]', - '$_POST[levelUser]', - '$urut')"); - header('location:media.php?module='.$module); + $ambilID=mysql_query("select max(idModul)+1 from modul"); + $ID=mysql_fetch_array($ambilID); + $id_modul; + if ($ID[0] == '') + $id_modul='1'; + else + $id_modul=$ID[0]; + $ambilUrut=mysql_query("select max(urutan)+1 from modul where urutan < 100"); + $u=mysql_fetch_array($ambilUrut); + $urut; + if ($u[0] == '') + $urut='1'; + else + $urut=$u[0]; + mysql_query("INSERT INTO modul(idModul, + namaModul, + link, + publish, + idLevelUser, + urutan) + VALUES('$id_modul', + '$_POST[namaModul]', + '$_POST[link]', + '$_POST[publish]', + '$_POST[levelUser]', + '$urut')"); + header('location:media.php?module=' . $module); }// end input modul // Update modul elseif ($module == 'modul' AND $act == 'update') { - mysql_query("UPDATE modul SET namaModul = '$_POST[namaModul]', - link = '$_POST[link]', - publish = '$_POST[publish]', - idLevelUser= '$_POST[levelUser]' - WHERE idModul = '$_POST[idModul]'"); - header('location:media.php?module='.$module); + mysql_query("UPDATE modul SET namaModul='$_POST[namaModul]', + link = '$_POST[link]', + publish = '$_POST[publish]', + idLevelUser= '$_POST[levelUser]' + WHERE idModul='$_POST[idModul]'"); + header('location:media.php?module=' . $module); }// end update modul // Hapus Modul elseif ($module == 'modul' AND $act == 'hapus') { - mysql_query("DELETE FROM modul WHERE idModul = '$_GET[id]'"); - header('location:media.php?module='.$module); + mysql_query("DELETE FROM modul WHERE idModul='$_GET[id]'"); + header('location:media.php?module=' . $module); } // end hapus modul // Input Menu elseif ($module == 'menu' AND $act == 'input') { - mysql_query("INSERT INTO menu(nama, parent_id, link, icon, label, accesskey, publish, level_user_id, urutan) - VALUES('{$_POST['nama']}', '{$_POST['parent_id']}', '{$_POST['link']}', '{$_POST['icon']}'," - ." '{$_POST['label']}', '{$_POST['accesskey']}', '{$_POST['publish']}', '{$_POST['level_user_id']}', '{$_POST['urutan']}')"); - header('location:media.php?module='.$module); + mysql_query("INSERT INTO menu(nama, parent_id, link, icon, label, accesskey, publish, level_user_id, urutan) + VALUES('{$_POST['nama']}', '{$_POST['parent_id']}', '{$_POST['link']}', '{$_POST['icon']}'," + . " '{$_POST['label']}', '{$_POST['accesskey']}', '{$_POST['publish']}', '{$_POST['level_user_id']}', '{$_POST['urutan']}')"); + header('location:media.php?module=' . $module); }// end input menu // // Update menu elseif ($module == 'menu' AND $act == 'update') { - mysql_query("UPDATE menu SET nama = '{$_POST['nama']}', - parent_id = '{$_POST['parent_id']}', - link = '{$_POST['link']}', - icon = '{$_POST['icon']}', - label = '{$_POST['label']}', - accesskey = '{$_POST['accesskey']}', - publish = '{$_POST['publish']}', + mysql_query("UPDATE menu SET nama='{$_POST['nama']}', + parent_id='{$_POST['parent_id']}', + link = '{$_POST['link']}', + icon = '{$_POST['icon']}', + label = '{$_POST['label']}', + accesskey='{$_POST['accesskey']}', + publish = '{$_POST['publish']}', level_user_id= '{$_POST['level_user_id']}', urutan= '{$_POST['urutan']}' - WHERE id = {$_POST['id']}"); - header('location:media.php?module='.$module); + WHERE id={$_POST['id']}"); + header('location:media.php?module=' . $module); }// end update menu // Hapus Modul elseif ($module == 'menu' AND $act == 'hapus') { - mysql_query("DELETE FROM menu WHERE id = '{$_GET['id']}'"); - header('location:media.php?module='.$module); + mysql_query("DELETE FROM menu WHERE id='{$_GET['id']}'"); + header('location:media.php?module=' . $module); } // end hapus modul // Workstation Management ============================================================================================================ elseif ($module == 'workstation' AND $act == 'input') { - mysql_query("INSERT INTO workstation (namaWorkstation, keterangan, workstation_address, printer_type, printer_commands) + mysql_query("INSERT INTO workstation (namaWorkstation, keterangan, workstation_address, printer_type, printer_commands) VALUES ('$_POST[namaWorkstation]', '$_POST[keterangan]','$_POST[workstation_address]','$_POST[printer_type]','$_POST[printer_commands]') "); - header('location:media.php?module='.$module); -} elseif ($module == 'workstation' AND $act == 'update') { - mysql_query("UPDATE workstation SET namaWorkstation = '$_POST[namaWorkstation]', + header('location:media.php?module=' . $module); +} +elseif ($module == 'workstation' AND $act == 'update') { + mysql_query("UPDATE workstation SET namaWorkstation = '$_POST[namaWorkstation]', keterangan = '$_POST[keterangan]', workstation_address = '$_POST[workstation_address]', printer_type = '$_POST[printer_type]', - printer_commands = '$_POST[printer_commands]', - send_cdopen_commands = {$_POST['cashdrawer_command']}, - send_autocut_commands = {$_POST['autocut_command']} - WHERE idWorkstation = '$_POST[idWorkstation]' + printer_commands = '$_POST[printer_commands]' + WHERE idWorkstation='$_POST[idWorkstation]' "); - header('location:media.php?module='.$module); -} elseif ($module == 'workstation' AND $act == 'hapus') { - mysql_query("DELETE FROM workstation WHERE idWorkstation = '$_POST[idWorkstation]'"); - header('location:media.php?module='.$module); + header('location:media.php?module=' . $module); +} +elseif ($module == 'workstation' AND $act == 'hapus') { + mysql_query("DELETE FROM workstation WHERE idWorkstation='$_POST[idWorkstation]'"); + header('location:media.php?module=' . $module); } @@ -195,1859 +185,1345 @@ // Input Satuan Barang elseif ($module == 'satuan_barang' AND $act == 'input') { // ============================================================================== - $ambilID = mysql_query("select max(idSatuanBarang)+1 from satuan_barang"); - $ID = mysql_fetch_array($ambilID); - $id_satuan; - if ($ID[0] == '') - $id_satuan = '1'; - else - $id_satuan = $ID[0]; - mysql_query("INSERT INTO satuan_barang(idSatuanBarang,namaSatuanBarang) - VALUES('$id_satuan','$_POST[namaSatuanBarang]')"); - header('location:media.php?module='.$module); + $ambilID=mysql_query("select max(idSatuanBarang)+1 from satuan_barang"); + $ID=mysql_fetch_array($ambilID); + $id_satuan; + if ($ID[0] == '') + $id_satuan='1'; + else + $id_satuan=$ID[0]; + mysql_query("INSERT INTO satuan_barang(idSatuanBarang,namaSatuanBarang) + VALUES('$id_satuan','$_POST[namaSatuanBarang]')"); + header('location:media.php?module=' . $module); }// end Input Satuan Barang // Update Satuan Barang elseif ($module == 'satuan_barang' AND $act == 'update') { - mysql_query("UPDATE satuan_barang SET namaSatuanBarang = '$_POST[namaSatuanBarang]' - WHERE idSatuanBarang = '$_POST[idSatuanBarang]'"); - header('location:media.php?module='.$module); + mysql_query("UPDATE satuan_barang SET namaSatuanBarang='$_POST[namaSatuanBarang]' + WHERE idSatuanBarang='$_POST[idSatuanBarang]'"); + header('location:media.php?module=' . $module); }// end Update Satuan Barang // Hapus Satuan Barang elseif ($module == 'satuan_barang' AND $act == 'hapus') { - $sql = "DELETE FROM satuan_barang WHERE idSatuanBarang = '$_GET[id]'"; - mysql_query($sql) or die(mysql_error()); - header('location:media.php?module='.$module); + $sql="DELETE FROM satuan_barang WHERE idSatuanBarang='$_GET[id]'"; + mysql_query($sql) or die(mysql_error()); + header('location:media.php?module=' . $module); }// end Hapus Satuan Barang // Input Kategori Barang ============================================================================================== elseif ($module == 'kategori_barang' AND $act == 'input') { - $ambilID = mysql_query("SELECT max(idKategoriBarang)+1 FROM kategori_barang"); - $ID = mysql_fetch_array($ambilID); - $id_rak; - if ($ID[0] == '') - $id_rak = '1'; - else - $id_rak = $ID[0]; - mysql_query("INSERT INTO kategori_barang(idKategoriBarang,namaKategoriBarang) - VALUES('$id_rak','$_POST[namaKategoriBarang]')"); - header('location:media.php?module='.$module); + $ambilID=mysql_query("SELECT max(idKategoriBarang)+1 FROM kategori_barang"); + $ID=mysql_fetch_array($ambilID); + $id_rak; + if ($ID[0] == '') + $id_rak='1'; + else + $id_rak=$ID[0]; + mysql_query("INSERT INTO kategori_barang(idKategoriBarang,namaKategoriBarang) + VALUES('$id_rak','$_POST[namaKategoriBarang]')"); + header('location:media.php?module=' . $module); }// end Input Kategori Barang // Update Kategori Barang, bugfix credit to: Yono Nox elseif ($module == 'kategori_barang' AND $act == 'update') { - mysql_query("UPDATE kategori_barang SET namaKategoriBarang = '$_POST[namaKategoriBarang]' - WHERE idKategoriBarang = '$_POST[idKategoriBarang]'"); - header('location:media.php?module='.$module); + mysql_query("UPDATE kategori_barang SET namaKategoriBarang='$_POST[namaKategoriBarang]' + WHERE idKategoriBarang='$_POST[idKategoriBarang]'"); + header('location:media.php?module=' . $module); }// end Update Kategori Barang // Hapus Kategori Barang, credit: mianova.net@gmail.com elseif ($module == 'kategori_barang' AND $act == 'hapus') { - mysql_query("DELETE FROM kategori_barang - WHERE idKategoriBarang = '$_GET[id]'"); - header('location:media.php?module='.$module); + mysql_query("DELETE FROM kategori_barang + WHERE idKategoriBarang='$_GET[id]'"); + header('location:media.php?module=' . $module); }// end Hapus Kategori Barang // Input Rak ============================================================= elseif ($module == 'rak' AND $act == 'input') { - $ambilID = mysql_query("select max(idRak)+1 from rak"); - $ID = mysql_fetch_array($ambilID); - $id_rak; - if ($ID[0] == '') - $id_rak = '1'; - else - $id_rak = $ID[0]; - mysql_query("INSERT INTO rak(idRak,namaRak) - VALUES('$id_rak','$_POST[namaRak]')"); - header('location:media.php?module='.$module); + $ambilID=mysql_query("select max(idRak)+1 from rak"); + $ID=mysql_fetch_array($ambilID); + $id_rak; + if ($ID[0] == '') + $id_rak='1'; + else + $id_rak=$ID[0]; + mysql_query("INSERT INTO rak(idRak,namaRak) + VALUES('$id_rak','$_POST[namaRak]')"); + header('location:media.php?module=' . $module); }// end Input Rak // Update Rak elseif ($module == 'rak' AND $act == 'update') { - mysql_query("UPDATE rak SET namaRak = '$_POST[namaRak]' - WHERE idRak = '$_POST[idRak]'"); - header('location:media.php?module='.$module); + mysql_query("UPDATE rak SET namaRak='$_POST[namaRak]' + WHERE idRak='$_POST[idRak]'"); + header('location:media.php?module=' . $module); }// end Update Rak // Hapus Rak elseif ($module == 'rak' AND $act == 'hapus') { - mysql_query("DELETE FROM rak WHERE idRak = '$_GET[id]'"); - header('location:media.php?module='.$module); + mysql_query("DELETE FROM rak WHERE idRak='$_GET[id]'"); + header('location:media.php?module=' . $module); } // end hapus rak -// Input Barang ============================================================================================================================= +// Input Barang ============================================================================================================================= elseif ($module == 'barang' AND $act == 'input') { -//fixme: bagaimana dengan idBarangnya ? generate dulu di tmp_detail_beli ? - $tgl = date("Y-m-d"); - mysql_query("INSERT INTO barang(namaBarang, - idKategoriBarang,idSatuanBarang,last_update, barcode, username) - VALUES('$_POST[namaBarang]', - '$_POST[kategori_barang]','$_POST[satuan_barang]', - '$tgl', '$_POST[barcode]', '$_SESSION[uname]')"); - header('location:media.php?module='.$module); + //fixme: bagaimana dengan idBarangnya ? generate dulu di tmp_detail_beli ? + $tgl=date("Y-m-d"); + mysql_query("INSERT INTO barang(namaBarang, + idKategoriBarang,idSatuanBarang,last_update, barcode, username) + VALUES('$_POST[namaBarang]', + '$_POST[kategori_barang]','$_POST[satuan_barang]', + '$tgl', '$_POST[barcode]', '$_SESSION[uname]')"); + header('location:media.php?module=' . $module); }// end Input Barang // Hapus Barang elseif ($module == 'barang' AND $act == 'hapus') { -// copy data barang ke table arsip_barang - $sql = "INSERT INTO arsip_barang (idBarang, namaBarang, idKategoriBarang, idSatuanBarang, jumBarang, + // copy data barang ke table arsip_barang + $sql="INSERT INTO arsip_barang (idBarang, namaBarang, idKategoriBarang, idSatuanBarang, jumBarang, hargaJual, last_update, idSupplier, barcode, username, idRak) SELECT idBarang, namaBarang, idKategoriBarang, idSatuanBarang, jumBarang, - hargaJual, '".date("Y-m-d")."', idSupplier, barcode, '".$_SESSION[uname]."', idRak - FROM barang WHERE idBarang = ".$_GET['id']; - $hasil = mysql_query($sql) or die("Error : ".mysql_error()." :: $sql"); + hargaJual, '" . date("Y-m-d") . "', idSupplier, barcode, '" . $_SESSION[uname] . "', idRak + FROM barang WHERE idBarang=" . $_GET['id']; + $hasil=mysql_query($sql) or die("Error : " . mysql_error() . " :: $sql"); -// hapus data barang dari table barang - $sql = "DELETE FROM barang WHERE idBarang = ".$_GET['id']; - $hasil = mysql_query($sql) or die("Error : ".mysql_error()." :: $sql"); + // hapus data barang dari table barang + $sql="DELETE FROM barang WHERE idBarang=" . $_GET['id']; + $hasil=mysql_query($sql) or die("Error : " . mysql_error() . " :: $sql"); - header('location:media.php?module='.$module); + header('location:media.php?module=' . $module); }// end Hapus Barang // Update Barang elseif ($module == 'barang' AND $act == 'update') { - $tgl = date("Y-m-d"); - -// jika barcode diubah, maka ubah juga semua di : -// detail_beli -// detail_jual -// detail_retur_beli -// detail_retur_barang -// detail_stock_opname -// fast_stock_opname - if ($_POST[barcode] <> $_POST[oldbarcode]) { - -// check apakah barcode baru ini sudah ada di database -// jika sudah ada, batalkan semua tindakan - $hasil = mysql_query("SELECT * FROM barang WHERE barcode='$_POST[barcode]'"); - if (mysql_num_rows($hasil) > 0) { - echo "

Barcode $_POST[barcode] sudah ada di database ! Tidak ada perubahan yang dilakukan.


+ $tgl=date("Y-m-d"); + + // jika barcode diubah, maka ubah juga semua di : + // detail_beli + // detail_jual + // detail_retur_beli + // detail_retur_barang + // detail_stock_opname + // fast_stock_opname + if ($_POST[barcode] <> $_POST[oldbarcode]) { + + // check apakah barcode baru ini sudah ada di database + // jika sudah ada, batalkan semua tindakan + $hasil=mysql_query("SELECT * FROM barang WHERE barcode='$_POST[barcode]'"); + if (mysql_num_rows($hasil) > 0) { + echo "

Barcode $_POST[barcode] sudah ada di database ! Tidak ada perubahan yang dilakukan.


[ Kembali ke Menu ]"; - exit; - }; - - $hasil = mysql_query("UPDATE detail_beli SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); - $hasil = mysql_query("UPDATE detail_jual SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); - $hasil = mysql_query("UPDATE detail_retur_beli SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); - $hasil = mysql_query("UPDATE detail_retur_barang SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); - $hasil = mysql_query("UPDATE detail_stock_opname SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); - $hasil = mysql_query("UPDATE fast_stock_opname SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); - } - - /* - * Cari dulu barang yang akan diupdate untuk mengetahui informasi field yang diupdate - */ - $sql = "select barcode, namaBarang, idKategoriBarang, idSatuanBarang, idRak, idSupplier, hargaJual, nonAktif + exit; + }; + + $hasil=mysql_query("UPDATE detail_beli SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); + $hasil=mysql_query("UPDATE detail_jual SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); + $hasil=mysql_query("UPDATE detail_retur_beli SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); + $hasil=mysql_query("UPDATE detail_retur_barang SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); + $hasil=mysql_query("UPDATE detail_stock_opname SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); + $hasil=mysql_query("UPDATE fast_stock_opname SET barcode='$_POST[barcode]' WHERE barcode='$_POST[oldbarcode]'"); + } + + /* + * Cari dulu barang yang akan diupdate untuk mengetahui informasi field yang diupdate + */ + $sql="select barcode, namaBarang, idKategoriBarang, idSatuanBarang, idRak, idSupplier, hargaJual, nonAktif from barang - where barcode = '{$_POST['barcode']}'"; - $result = mysql_query($sql) or die("Gagal ambil data barang, error: ".mysql_error()); - $currentBarang = mysql_fetch_array($result); - $updated = ''; - /* - * Tandai field yang berbeda (yang diupdate) - */ - if ($currentBarang['namaBarang'] != $_POST['namaBarang']) { - $updated .= "&barang=1"; - } - if ($currentBarang['idKategoriBarang'] != $_POST['kategori_barang']) { - $updated .= '&kategori=1'; - } - if ($currentBarang['idSatuanBarang'] != $_POST['satuan_barang']) { - $updated .= '&satuan=1'; - } - if ($currentBarang['idSupplier'] != $_POST['supplier']) { - $updated .= '&supplier=1'; - } - if ($currentBarang['hargaJual'] != $_POST['hargaJual']) { - $updated .= '&hargajual=1'; - hargaJualBerubah($_POST['barcode']); - } - if ($currentBarang['idRak'] != $_POST['rak']) { - $updated .= '&rak=1'; - } - if ($currentBarang['nonAktif'] != $_POST['nonAktif']) { - $updated .= '&nonAktif=1'; - } - - $sql = "UPDATE barang SET namaBarang = '$_POST[namaBarang]', - barcode = '$_POST[barcode]', - idSupplier = $_POST[supplier], - idKategoriBarang = $_POST[kategori_barang], - idSatuanBarang = $_POST[satuan_barang], - hargaJual = $_POST[hargaJual], - last_update = '$tgl', - username = '$_SESSION[uname]', - idRak = $_POST[rak], - nonAKtif = $_POST[nonAktif] - WHERE barcode = '$_POST[barcode]'"; - mysql_query($sql) or die('Gagal update data barang, error: '.mysql_error()); -// header('location:media.php?module=' . $module); - header('location:media.php?module=barang&act=editbarang&id='.$_POST['barcode'].$updated); + where barcode='{$_POST['barcode']}'"; + $result=mysql_query($sql) or die("Gagal ambil data barang, error: " . mysql_error()); + $currentBarang=mysql_fetch_array($result); + $updated=''; + /* + * Tandai field yang berbeda (yang diupdate) + */ + if ($currentBarang['namaBarang'] != $_POST['namaBarang']) { + $updated .= "&barang=1"; + } + if ($currentBarang['idKategoriBarang'] != $_POST['kategori_barang']) { + $updated .= '&kategori=1'; + } + if ($currentBarang['idSatuanBarang'] != $_POST['satuan_barang']) { + $updated .= '&satuan=1'; + } + if ($currentBarang['idSupplier'] != $_POST['supplier']) { + $updated .= '&supplier=1'; + } + if ($currentBarang['hargaJual'] != $_POST['hargaJual']) { + $updated .= '&hargajual=1'; + } + if ($currentBarang['idRak'] != $_POST['rak']) { + $updated .= '&rak=1'; + } + if ($currentBarang['nonAktif'] != $_POST['nonAktif']) { + $updated .= '&nonAktif=1'; + } + + $sql="UPDATE barang SET namaBarang='$_POST[namaBarang]', + barcode='$_POST[barcode]', + idSupplier=$_POST[supplier], + idKategoriBarang=$_POST[kategori_barang], + idSatuanBarang=$_POST[satuan_barang], + hargaJual=$_POST[hargaJual], + last_update='$tgl', + username='$_SESSION[uname]', + idRak=$_POST[rak], + nonAKtif=$_POST[nonAktif] + WHERE barcode='$_POST[barcode]'"; + mysql_query($sql) or die('Gagal update data barang, error: ' . mysql_error()); + // header('location:media.php?module=' . $module); + header('location:media.php?module=barang&act=editbarang&id=' . $_POST['barcode'] . $updated); }// end Update Barang elseif ($module == 'barang' and $act == 'diskonupdate') { - $diskonDetailId = $_POST['id']; - $status = $_POST['status']; - $sql = "update diskon_detail set status={$status} where uid={$diskonDetailId}"; - mysql_query($sql) or die(mysql_error()); + $diskonDetailId=$_POST['id']; + $status=$_POST['status']; + $sql="update diskon_detail set status={$status} where uid={$diskonDetailId}"; + mysql_query($sql) or die(mysql_error()); } -// Input Supplier ============================================================================================================================= +// Input Supplier ============================================================================================================================= elseif ($module == 'supplier' AND $act == 'input') { -//HS idSupplier sekarang auto-increment oleh MySQL, untuk menghindari dobel - /* $ambilID = mysql_query("select max(idSupplier)+1 from supplier"); - $ID = mysql_fetch_array($ambilID); - $id_supplier; - if($ID[0]=='') - $id_supplier = '1'; - else - $id_supplier = $ID[0]; */ - - $tgl = date("Y-m-d"); - mysql_query("INSERT INTO supplier(namaSupplier, - alamatSupplier,telpSupplier,Keterangan,last_update) - VALUES('$_POST[namaSupplier]', - '$_POST[alamatSupplier]','$_POST[telpSupplier]', - '$_POST[Keterangan]','$tgl')"); - header('location:media.php?module='.$module); + //HS idSupplier sekarang auto-increment oleh MySQL, untuk menghindari dobel + /* $ambilID=mysql_query("select max(idSupplier)+1 from supplier"); + $ID=mysql_fetch_array($ambilID); + $id_supplier; + if($ID[0]=='') + $id_supplier='1'; + else + $id_supplier=$ID[0]; */ + + $tgl=date("Y-m-d"); + mysql_query("INSERT INTO supplier(namaSupplier, + alamatSupplier,telpSupplier,Keterangan,last_update) + VALUES('$_POST[namaSupplier]', + '$_POST[alamatSupplier]','$_POST[telpSupplier]', + '$_POST[Keterangan]','$tgl')"); + header('location:media.php?module=' . $module); }// end Input Supplier // Update Supplier elseif ($module == 'supplier' AND $act == 'update') { - $tgl = date("Y-m-d"); - mysql_query("UPDATE supplier SET - namaSupplier = '$_POST[namaSupplier]', - `interval` = $_POST[interval], - alamatSupplier = '$_POST[alamatSupplier]', - telpSupplier = '$_POST[telpSupplier]', - Keterangan = '$_POST[Keterangan]', - last_update = '$tgl' - WHERE idSupplier = '$_POST[idSupplier]'"); - header('location:media.php?module='.$module); + $tgl=date("Y-m-d"); + mysql_query("UPDATE supplier SET + namaSupplier='$_POST[namaSupplier]', + `interval`=$_POST[interval], + alamatSupplier='$_POST[alamatSupplier]', + telpSupplier='$_POST[telpSupplier]', + Keterangan='$_POST[Keterangan]', + last_update='$tgl' + WHERE idSupplier='$_POST[idSupplier]'"); + header('location:media.php?module=' . $module); }// end Update Supplier // Hapus Supplier elseif ($module == 'supplier' AND $act == 'hapus') { - mysql_query("DELETE FROM supplier WHERE idSupplier = '$_GET[id]'"); - header('location:media.php?module='.$module); + mysql_query("DELETE FROM supplier WHERE idSupplier='$_GET[id]'"); + header('location:media.php?module=' . $module); } // end hapus user // Input Customer ===================================================================================================== elseif ($module == 'customer' AND $act == 'input') { - $tgl = date("Y-m-d"); - $tanggalLahir = date_format(date_create_from_format('d-m-Y', $_POST['tanggal_lahir']), 'Y-m-d'); - $nomorKartu = $_POST['nomor_kartu'] == '' ? 'NULL' : "'{$_POST['nomor_kartu']}'"; - mysql_query("INSERT INTO customer(nomor_kartu, namaCustomer, alamatCustomer,telpCustomer,keterangan,last_update, - nomor_ktp, jenis_kelamin, tanggal_lahir, handphone, email, member) - VALUES({$nomorKartu}, '{$_POST['namaCustomer']}', '{$_POST['alamatCustomer']}', '{$_POST['telpCustomer']}', '{$_POST['keterangan']}','$tgl', - '{$_POST['nomor_ktp']}', {$_POST['jenis_kelamin']}, '{$tanggalLahir}', '{$_POST['handphone']}', '{$_POST['email']}', {$_POST['member']})") or die(mysql_error()); - header('location:media.php?module='.$module); + $ambilID=mysql_query("select max(idCustomer)+1 from customer"); + $ID=mysql_fetch_array($ambilID); + $id_customer; + if ($ID[0] == '') + $id_customer='1'; + else + $id_customer=$ID[0]; + $tgl=date("Y-m-d"); + mysql_query("INSERT INTO customer(idCustomer,namaCustomer, + alamatCustomer,telpCustomer,keterangan,last_update) + VALUES('$id_customer','$_POST[namaCustomer]', + '$_POST[alamatCustomer]','$_POST[telpCustomer]', + '$_POST[keterangan]','$tgl')"); + header('location:media.php?module=' . $module); }// end Input Customer // Update Customer elseif ($module == 'customer' AND $act == 'update') { - $tgl = date("Y-m-d"); - $tanggalLahir = $_POST['tanggal_lahir'] == '' ? '0000-00-00' : date_format(date_create_from_format('d-m-Y', $_POST['tanggal_lahir']), 'Y-m-d'); - $nomorKartu = $_POST['nomor_kartu'] == '' ? 'NULL' : "'{$_POST['nomor_kartu']}'"; - $sql = "UPDATE customer SET namaCustomer = '$_POST[namaCustomer]', - nomor_kartu = {$nomorKartu}, - alamatCustomer = '$_POST[alamatCustomer]', - telpCustomer = '$_POST[telpCustomer]', - keterangan = '$_POST[keterangan]', - diskon_persen = {$_POST['diskon_persen']}, - diskon_rupiah = '{$_POST['diskon_rupiah']}', - last_update = '$tgl', - nomor_ktp = '{$_POST['nomor_ktp']}', - jenis_kelamin = {$_POST['jenis_kelamin']}, - tanggal_lahir = '{$tanggalLahir}', - handphone = '{$_POST['handphone']}', - email = '{$_POST['email']}', - member = {$_POST['member']} - WHERE idCustomer = $_POST[idCustomer]"; -// echo $sql; - mysql_query($sql); - header('location:media.php?module='.$module); + $tgl=date("Y-m-d"); + mysql_query("UPDATE customer SET namaCustomer='$_POST[namaCustomer]', + alamatCustomer='$_POST[alamatCustomer]', + telpCustomer='$_POST[telpCustomer]', + keterangan='$_POST[keterangan]', + diskon_persen=$_POST[diskon_persen], + diskon_rupiah=$_POST[diskon_rupiah], + last_update='$tgl' + WHERE idCustomer='$_POST[idCustomer]'"); + header('location:media.php?module=' . $module); }// end Update Customer // Hapus Customer elseif ($module == 'customer' AND $act == 'hapus') { - mysql_query("DELETE FROM customer WHERE idCustomer = '$_GET[id]'"); - header('location:media.php?module='.$module); + mysql_query("DELETE FROM customer WHERE idCustomer='$_GET[id]'"); + header('location:media.php?module=' . $module); } // end hapus customer // Input Transaksi Beli ================================================================================================================= // Ditambahkan pengecekan variabel $_SESSION untuk memastikan input pembelian jika masih ada session elseif ($module == 'pembelian_barang' AND $act == 'input' AND isset($_SESSION['uname'])) { - $tgl = $_POST[TanggalInvoice]; - -//HS - idTransaksi sekarang di generate MySQL, untuk menghindari duplikat / dobel - /* $ambilID = mysql_query("select max(idTransaksiBeli)+1 from transaksibeli"); - $ID = mysql_fetch_array($ambilID); - $id_transaksi; - if($ID[0]=='') - $id_transaksi = '1'; - else - $id_transaksi = $ID[0]; */ - -//HS jika keliru input tipe pembayaran, default ke 1 = CASH - if ($_POST[tipePembayaran] == 0) { - $_POST[tipePembayaran] = 1; - }; - - $sql_trans = "INSERT INTO transaksibeli(tglTransaksiBeli, - idSupplier,nominal,idTipePembayaran,username,last_update,NomorInvoice) - VALUES('$tgl','$_POST[idSupplier]', - '$_POST[tot_pembayaran]','$_POST[tipePembayaran]', - '$_SESSION[uname]','$tgl','$_POST[NomorInvoice]')"; + $tgl=$_POST[TanggalInvoice]; + + //HS - idTransaksi sekarang di generate MySQL, untuk menghindari duplikat / dobel + /* $ambilID=mysql_query("select max(idTransaksiBeli)+1 from transaksibeli"); + $ID=mysql_fetch_array($ambilID); + $id_transaksi; + if($ID[0]=='') + $id_transaksi='1'; + else + $id_transaksi=$ID[0]; */ + + //HS jika keliru input tipe pembayaran, default ke 1=CASH + if ($_POST[tipePembayaran] == 0) { + $_POST[tipePembayaran]=1; + }; + + $sql_trans="INSERT INTO transaksibeli(tglTransaksiBeli, + idSupplier,nominal,idTipePembayaran,username,last_update,NomorInvoice) + VALUES('$tgl','$_POST[idSupplier]', + '$_POST[tot_pembayaran]','$_POST[tipePembayaran]', + '$_SESSION[uname]','$tgl','$_POST[NomorInvoice]')"; // echo $sql_trans; - mysql_query($sql_trans) or die(mysql_error()); - $idTransaksiBeli = mysql_insert_id(); - - if ($_POST[tipePembayaran] == '2') { - - mysql_query("INSERT INTO hutang(idTransaksiBeli,nominal,tglBayar, - username,last_update) - VALUES('$idTransaksiBeli','$_POST[tot_pembayaran]', - '$_POST[tglBayar]','$_SESSION[uname]','$tgl')") or die(mysql_error()); - } - - $sql = "SELECT * FROM tmp_detail_beli WHERE idSupplier = '".$_POST['idSupplier']."' - AND username = '".$_SESSION['uname']."' AND idBarang != 0"; - $dataBarang = mysql_query($sql) or die(mysql_error()); -//echo $sql; - - while ($simpan = mysql_fetch_array($dataBarang)) { - - $sql_simpan = "INSERT INTO detail_beli(idTransaksiBeli,barcode, - tglExpire,jumBarang,jumBarangAsli,hargaBeli,username,idBarang) - VALUES('$idTransaksiBeli','$simpan[barcode]', - '$simpan[tglExpire]',$simpan[jumBarang],$simpan[jumBarang],'$simpan[hargaBeli]','$_SESSION[uname]','$simpan[idBarang]')"; -//echo $sql_simpan; - mysql_query($sql_simpan) or die(mysql_error()); - - $jumlahAkhir = 0; - $jumBarang = mysql_query("SELECT jumBarang FROM barang WHERE barcode = '".$simpan['barcode']."'") or die(mysql_error()); - $jumlah = mysql_fetch_array($jumBarang); - $jumlahAkhir = $jumlah[jumBarang] + $simpan[jumBarang]; - - if (cekHargaJualBerubah($simpan['barcode'], $simpan['hargaJual'])) { - hargaJualBerubah($simpan['barcode']); - } - mysql_query("UPDATE barang SET jumBarang = '$jumlahAkhir', - hargaJual = '$simpan[hargaJual]' WHERE barcode = '$simpan[barcode]'") or die(mysql_error()); - -// harga banded - $hb = mysql_query("SELECT barcode, qty, harga_satuan FROM tmp_harga_banded WHERE barcode = '{$simpan['barcode']}'"); - $tmpHargaBanded = mysql_fetch_array($hb, MYSQL_ASSOC); -// print_r($tmpHargaBanded); - $sql = "INSERT INTO harga_banded (barcode, qty, harga) " - ."VALUES('{$simpan['barcode']}',{$tmpHargaBanded['qty']},{$tmpHargaBanded['harga_satuan']}) " - ."ON DUPLICATE KEY UPDATE qty={$tmpHargaBanded['qty']}, harga={$tmpHargaBanded['harga_satuan']} "; - if ($tmpHargaBanded) { - mysql_query($sql) or die(mysql_error()); - } - } - mysql_query("DELETE FROM tmp_detail_beli where idSupplier = '$_SESSION[idSupplier]' and username = '$_SESSION[uname]'") or die(mysql_error()); - -// hapus harga banded - mysql_query("DELETE FROM tmp_harga_banded WHERE supplier_id = '{$_SESSION['idSupplier']}' and user_name = '{$_SESSION['uname']}'") or die(mysql_error()); - - releaseSupplier(); - header('location:media.php?module=pembelian_barang'); + mysql_query($sql_trans) or die(mysql_error()); + $idTransaksiBeli=mysql_insert_id(); + + if ($_POST[tipePembayaran] == '2') { + + mysql_query("INSERT INTO hutang(idTransaksiBeli,nominal,tglBayar, + username,last_update) + VALUES('$idTransaksiBeli','$_POST[tot_pembayaran]', + '$_POST[tglBayar]','$_SESSION[uname]','$tgl')") or die(mysql_error()); + } + + $sql="SELECT * FROM tmp_detail_beli WHERE idSupplier='" . $_POST['idSupplier'] . "' + AND username='" . $_SESSION['uname'] . "' AND idBarang != 0"; + $dataBarang=mysql_query($sql) or die(mysql_error()); + //echo $sql; + + while ($simpan=mysql_fetch_array($dataBarang)) { + + $sql_simpan="INSERT INTO detail_beli(idTransaksiBeli,barcode, + tglExpire,jumBarang,jumBarangAsli,hargaBeli,username,idBarang) + VALUES('$idTransaksiBeli','$simpan[barcode]', + '$simpan[tglExpire]',$simpan[jumBarang],$simpan[jumBarang],'$simpan[hargaBeli]','$_SESSION[uname]','$simpan[idBarang]')"; + //echo $sql_simpan; + mysql_query($sql_simpan) or die(mysql_error()); + + $jumlahAkhir=0; + $jumBarang=mysql_query("SELECT jumBarang FROM barang WHERE barcode='" . $simpan['barcode'] . "'") or die(mysql_error()); + $jumlah=mysql_fetch_array($jumBarang); + $jumlahAkhir=$jumlah[jumBarang] + $simpan[jumBarang]; + + mysql_query("UPDATE barang SET jumBarang='$jumlahAkhir', + hargaJual='$simpan[hargaJual]' WHERE barcode='$simpan[barcode]'") or die(mysql_error()); + + // harga banded + $hb=mysql_query("SELECT barcode, qty, harga_satuan FROM tmp_harga_banded WHERE barcode='{$simpan['barcode']}'"); + $tmpHargaBanded=mysql_fetch_array($hb, MYSQL_ASSOC); + print_r($tmpHargaBanded); + $sql="INSERT INTO harga_banded (barcode, qty, harga) " + . "VALUES('{$simpan['barcode']}',{$tmpHargaBanded['qty']},{$tmpHargaBanded['harga_satuan']}) " + . "ON DUPLICATE KEY UPDATE qty={$tmpHargaBanded['qty']}, harga={$tmpHargaBanded['harga_satuan']} "; + if ($tmpHargaBanded){ + mysql_query($sql) or die(mysql_error()); + } + } + mysql_query("DELETE FROM tmp_detail_beli where idSupplier='$_SESSION[idSupplier]' and username='$_SESSION[uname]'") or die(mysql_error()); + + // hapus harga banded + mysql_query("DELETE FROM tmp_harga_banded WHERE supplier_id='{$_SESSION['idSupplier']}' and user_name='{$_SESSION['uname']}'") or die(mysql_error()); + + releaseSupplier(); + header('location:media.php?module=pembelian_barang'); } //Batal sebuah item di Nota Beli elseif ($module == 'pembelian_barang' AND $act == 'hapus_detil') { - mysql_query("DELETE FROM tmp_detail_beli where idSupplier = '".$_SESSION['idSupplier']."' and idBarang = '$_GET[id]'"); + mysql_query("DELETE FROM tmp_detail_beli where idSupplier='" . $_SESSION['idSupplier'] . "' and idBarang='$_GET[id]'"); -//var_dump($_SESSION); - header('location:media.php?module=pembelian_barang&act=carisupplier'); + //var_dump($_SESSION); + header('location:media.php?module=pembelian_barang&act=carisupplier'); } //Batal Seluruh Invoice / Transaksi Beli elseif ($module == 'pembelian_barang' AND $act == 'batal') { - mysql_query("DELETE FROM tmp_detail_beli where idSupplier = '$_SESSION[idSupplier]' and tglTransaksi = '$tgl'"); - releaseSupplier(); - header('location:media.php?module='.$module); + mysql_query("DELETE FROM tmp_detail_beli where idSupplier='$_SESSION[idSupplier]' and tglTransaksi='$tgl'"); + releaseSupplier(); + header('location:media.php?module=' . $module); } // Input Transaksi Jual ====================================================================================================================== elseif ($module == 'penjualan_barang' AND $act == 'input') { -//$ambilID = mysql_query("select max(idTransaksiJual)+1 from transaksijual"); -//$ID = mysql_fetch_array($ambilID); -//$id_transaksi; -//if($ID[0]=='') -// $id_transaksi = '1'; -//else -// $id_transaksi = $ID[0]; -// simpan transaksi ke database - $tgl = date("Y-m-d H:i:s"); - - $NomorStruk = 0; - $jumlahPoin = isset($_POST['jumlah_poin']) ? $_POST['jumlah_poin'] : 0; - - $transferahad = false; - $returBeli = false; - if (($_POST['transferahad'] == 1) || ($_GET['transferahad'] == 1)) { - $transferahad = true; - } - if ($_POST['returbeli'] == 1) { - $returBeli = true; - } - if (!$transferahad) { - $sql = "INSERT INTO transaksijual(tglTransaksiJual, - idCustomer,idTipePembayaran,nominal,idUser,last_update,uangDibayar,jumlah_poin) - VALUES('$tgl','$_SESSION[idCustomer]', - '$_POST[tipePembayaran]','$_POST[tot_pembayaran]', - '$_SESSION[iduser]','$tgl', $_POST[uangDibayar], $jumlahPoin)"; - $hasil = mysql_query($sql) or die(mysql_error()); -//echo $sql; - $NomorStruk = mysql_insert_id(); - } else if ($transferahad) { - $sql = "INSERT INTO transaksitransferbarang(tglTransaksi, - idCustomer,idTipePembayaran,nominal,idUser,last_update) - VALUES('$tgl','$_SESSION[idCustomer]', - '$_POST[tipePembayaran]','$_POST[tot_pembayaran]', - '$_SESSION[iduser]','$tgl')"; - $hasil = mysql_query($sql); // or die(mysql_error()); -//echo $sql; - $NomorStruk = mysql_insert_id(); - } - -// cetak struk ------------- -// ambil footer & header struk - $sql = "SELECT `option`,`value` FROM config"; - $hasil = mysql_query($sql) or die(mysql_error()); - while ($x = mysql_fetch_array($hasil)) { - if ($x[option] == 'store_name') { - $store_name = $x[value]; - }; - if ($x[option] == 'receipt_header1') { - $header1 = $x[value]; - }; - if ($x[option] == 'receipt_footer1') { - $footer1 = $x[value]; - }; - if ($x[option] == 'receipt_footer2') { - $footer2 = $x[value]; - }; - }; - -// ambil alamat printer - $sql = "SELECT w.printer_commands, w.printer_type, w.send_cdopen_commands, w.send_autocut_commands FROM kasir AS k, workstation AS w - WHERE k.tglTutupKasir IS NULL AND k.idUser = $_SESSION[iduser] AND k.currentWorkstation = w.idWorkstation"; - $hasil = mysql_query($sql) or die(mysql_error()); - $x = mysql_fetch_array($hasil); - $perintah_printer = $x[printer_commands]; - $jenis_printer = $x[printer_type]; - $bukaCashDrawer = $x['send_cdopen_commands']; - $potongKertas = $x['send_autocut_commands']; - -// ambil transaksi yang akan dicetak - $sql = "SELECT t.jumBarang,t.hargaJual,b.namaBarang, t.diskon_detail_uids, t.diskon_persen, t.diskon_rupiah FROM barang AS b, tmp_detail_jual AS t - WHERE t.username='$_SESSION[uname]' and t.idCustomer = {$_SESSION['idCustomer']} AND t.barcode=b.barcode order by t.uid"; -//echo $sql; - $hasil = mysql_query($sql); - - if ($jenis_printer === 'rlpr' && $bukaCashDrawer) { - /** - * Init printer, dan buka cash drawer - */ - $command = chr(27)."@"; //Init printer -//$command .= chr(27) . chr(101) . chr(1); //1 reverse lf - $command .= chr(27).chr(112).chr(48).chr(60).chr(120); // buka cash drawer - $command .= chr(27).chr(101).chr(1); //1 reverse lf - $perintah = "echo \"$command\" |lpr $perintah_printer "; - exec($perintah, $output); - } - /** - * - */ -// siapkan string yang akan dicetak - $struk = ''; //chr(27) . "@"; //Init printer - $struk .= str_pad($store_name, 40, " ", STR_PAD_BOTH)."\n".str_pad($header1, 40, " ", STR_PAD_BOTH)."\n"; - $struk .= str_pad($_SESSION[uname]." : ".date("d-m-Y H:i")." #$NomorStruk", 40, " ", STR_PAD_BOTH)."\n"; - if ($_SESSION['isMember']) { - $queryCustomer = mysql_query("SELECT nomor_kartu, namaCustomer FROM customer WHERE idCustomer = {$_SESSION['idCustomer']}"); -//print_r($_SESSION); - $customer = mysql_fetch_array($queryCustomer, MYSQL_ASSOC); - $struk .= str_pad("{$customer['namaCustomer']} : {$customer['nomor_kartu']}", 40, " ", STR_PAD_BOTH)."\n"; - } - $struk .= "----------------------------------------\n"; - - $diskonHargaPerBarangTotal = 0; - $diskonCustomer = 0; - while ($x = mysql_fetch_array($hasil)) { -//$temp = $x[jumBarang] . "x ". $x[namaBarang]. " @".number_format($x[hargaJual],0,',','.'). -// ": ".number_format(($x[hargaJual] * $x[jumBarang]),0,',','.')."\n"; - $tempNamaBarang = $x['namaBarang']; - $textSubTotal = number_format(($x['hargaJual'] + $x['diskon_rupiah']) * $x['jumBarang'], 0, ',', '.'); - $tempHarga = "@ ".number_format($x['hargaJual'] + $x['diskon_rupiah'], 0, ',', '.')." x ".$x['jumBarang']." : ".str_pad($textSubTotal, 11, ' ', STR_PAD_LEFT); - - $diskon = ''; - $textDiskon = ''; -// Bilamana ada diskon per barang - if (!is_null($x['diskon_detail_uids'])) { - $detailDiskon = json_decode($x['diskon_detail_uids'], true); -// Jika ada diskon customer dipisah tampilannya di struk - if (isset($detailDiskon['2'])) { - $diskonCustomer+=$detailDiskon['2']; - } - if ($x['diskon_persen'] > 0) { - $diskonPersen = $x['diskon_persen']; - $diskonRupiah = $x['diskon_rupiah'] * $x['jumBarang']; - $diskonHargaPerBarangTotal += $diskonRupiah; - $textDiskon = "Potongan (".$diskonPersen.'%) : '.str_pad('('.number_format($diskonRupiah, 0, ',', '.').')', 12, ' ', STR_PAD_LEFT); - } elseif ($x['diskon_rupiah'] > 0) { - $diskonRupiah = $x['diskon_rupiah'] * $x['jumBarang']; - $diskonHargaPerBarangTotal += $diskonRupiah; - $textDiskon = "Potongan : ".str_pad("(".number_format($diskonRupiah, 0, ',', '.').')', 12, ' ', STR_PAD_LEFT); - } - $diskon = str_pad($textDiskon, 40, ' ', STR_PAD_LEFT)."\n"; - } -// jika panjang baris > 40 huruf, pecah jadi 2 baris -//if (strlen($temp) > 40) { -// $tmp = substr($temp, 0, 40) . "- \n -" . substr($temp, 40); -// $temp = $tmp; -//}; - $struk .= ' '.$tempNamaBarang."\n"; - $struk .= str_pad($tempHarga, 39, ' ', STR_PAD_LEFT)."\n"; - $struk .= $diskon; - } - - $diskonHargaPerBarangTotal -= $diskonCustomer; - $struk .= "----------------------------------------\n"; - $textTotalPotongan = "Total Potongan : ".str_pad(number_format($diskonHargaPerBarangTotal, 0, ',', '.'), 11, ' ', STR_PAD_LEFT); - $textDiskonCustomer = 'Potongan Spesial : '.str_pad(number_format($diskonCustomer, 0, ',', '.'), 11, ' ', STR_PAD_LEFT); - $textTotal = "TOTAL : ".str_pad(number_format($_POST[tot_pembayaran], 0, ',', '.'), 11, " ", STR_PAD_LEFT); - $textDibayar = "Dibayar : ".str_pad(number_format($_POST[uangDibayar], 0, ',', '.'), 11, " ", STR_PAD_LEFT); - $textKembali = "Kembali : ".str_pad(number_format($_POST[uangDibayar] - $_POST[tot_pembayaran], 0, ',', '.'), 11, " ", STR_PAD_LEFT); - $textAndaHemat = "ANDA HEMAT : ".str_pad(number_format($diskonHargaPerBarangTotal + $diskonCustomer, 0, ',', '.'), 11, " ", STR_PAD_LEFT); - - $struk .= $diskonHargaPerBarangTotal > 0 && $diskonCustomer > 0 ? str_pad($textTotalPotongan, 39, ' ', STR_PAD_LEFT)." \n" : ''; - $struk .= $diskonCustomer > 0 ? str_pad($textDiskonCustomer, 39, ' ', STR_PAD_LEFT)."\n" : ''; - $struk .= str_pad($textTotal, 39, ' ', STR_PAD_LEFT)."\n"; - $struk .= str_pad($textDibayar, 39, ' ', STR_PAD_LEFT)." \n"; - $struk .= str_pad($textKembali, 39, ' ', STR_PAD_LEFT)." \n"; - $struk .= $diskonHargaPerBarangTotal > 0 ? str_pad($textAndaHemat, 39, ' ', STR_PAD_LEFT)."\n" : ''; - $struk .= "----------------------------------------\n"; - $struk .= str_pad($footer1, 40, " ", STR_PAD_BOTH)."\n".str_pad($footer2, 40, " ", STR_PAD_BOTH)."\n\n"; - - if ($_SESSION['isMember']) { - $struk .= 'Jumlah poin terkumpul: '.getJumlahPoinPeriodeBerjalan($_SESSION['idCustomer']); - } - $struk .= "\n\n\n\n\n\n\n\n\n\n\n\n\n"; - -// tambahan perintah untuk cutter epson - if ($jenis_printer === 'rlpr' && $potongKertas) { - $struk .= chr(27)."@".chr(29)."V".chr(1); - } - - if ($jenis_printer == 'pdf') { - require('classes/fpdf.php'); - $pdf = new FPDF(); - $pdf->AddPage(); - $pdf->SetFont('Courier', '', 9); - $struk_pdf = explode("\n", $struk); - foreach ($struk_pdf as $baris) { - $width = 40; - $length = 1; - $pdf->Cell($width, $length, $baris); - $pdf->Ln(3); - } - $pdf->Output(); - } else if ($jenis_printer == 'rlpr') { - include "classes/PrintSend.php"; - include "classes/PrintSendLPR.php"; - $perintah = "echo \"$struk\" |lpr $perintah_printer -l"; - -// cara test lpr : -// export ip=192.168.0.17; echo "Ini AhadPOS \n apakah sukses cetak struk ?" |lpr -H $ip -P printer$ip -l -//echo $perintah; exit; - exec($perintah, $output); - } else if ($jenis_printer === 'text') { - header("Content-type: text/plain"); - header("Content-Disposition: attachment; filename=\"struk.txt\""); - header("Pragma: no-cache"); - header("Expires: 0"); - echo $struk; - } - - if ($_POST[tipePembayaran] == '2') { - mysql_query("INSERT INTO piutang(idTransaksiJual,nominal,tglDiBayar, - idUser,last_update) - VALUES('$id_transaksi','$_POST[tot_pembayaran]', - '$_POST[tglBayar]','$_SESSION[iduser]','$tgl')") or die(mysql_error()); - } - - - $dataBarang = mysql_query("SELECT * from tmp_detail_jual - WHERE idCustomer = '$_SESSION[idCustomer]' AND username = '$_SESSION[uname]' order by uid"); - while ($simpan = mysql_fetch_array($dataBarang)) { - $jumlahAkhir = 0; - $jumBarang = mysql_query("SELECT jumBarang FROM barang WHERE barcode = '$simpan[barcode]'"); - $jumlah = mysql_fetch_array($jumBarang); - $jumlahAkhir = $jumlah[jumBarang] - $simpan[jumBarang]; - - /* - * Biarkan minus seperti apa adanya :) - */ - /* - if ($jumlahAkhir < 0) { - $jumlahAkhir = 0; - }; - * - */ - -//fixme: kurangi quantity pembelian dengan benar : -// (1) cari barang di tabel detail_beli, yang stoknya masih ada, lalu -// (2) catat quantity nya, lalu - $sql = "SELECT * FROM detail_beli + //$ambilID=mysql_query("select max(idTransaksiJual)+1 from transaksijual"); + //$ID=mysql_fetch_array($ambilID); + //$id_transaksi; + //if($ID[0]=='') + // $id_transaksi='1'; + //else + // $id_transaksi=$ID[0]; + // simpan transaksi ke database + $tgl=date("Y-m-d H:i:s"); + + $NomorStruk=0; + if (($_POST['transferahad'] != 1)) { + $sql="INSERT INTO transaksijual(tglTransaksiJual, + idCustomer,idTipePembayaran,nominal,idUser,last_update,uangDibayar) + VALUES('$tgl','$_SESSION[idCustomer]', + '$_POST[tipePembayaran]','$_POST[tot_pembayaran]', + '$_SESSION[iduser]','$tgl', $_POST[uangDibayar])"; + $hasil=mysql_query($sql) or die(mysql_error()); + //echo $sql; + $NomorStruk=mysql_insert_id(); + }; + + // cetak struk ------------- + // ambil footer & header struk + $sql="SELECT `option`,`value` FROM config"; + $hasil=mysql_query($sql) or die(mysql_error()); + while ($x=mysql_fetch_array($hasil)) { + if ($x[option] == 'store_name') { + $store_name=$x[value]; + }; + if ($x[option] == 'receipt_header1') { + $header1=$x[value]; + }; + if ($x[option] == 'receipt_footer1') { + $footer1=$x[value]; + }; + if ($x[option] == 'receipt_footer2') { + $footer2=$x[value]; + }; + }; + + // ambil alamat printer + $sql="SELECT w.printer_commands, w.printer_type FROM kasir AS k, workstation AS w + WHERE k.tglTutupKasir IS NULL AND k.idUser=$_SESSION[iduser] AND k.currentWorkstation=w.idWorkstation"; + $hasil=mysql_query($sql) or die(mysql_error()); + $x=mysql_fetch_array($hasil); + $perintah_printer=$x[printer_commands]; + $jenis_printer=$x[printer_type]; + + // ambil transaksi yang akan dicetak + $sql="SELECT t.jumBarang,t.hargaJual,b.namaBarang, t.diskon_detail_uids, t.diskon_persen, t.diskon_rupiah FROM barang AS b, tmp_detail_jual AS t + WHERE t.username='$_SESSION[uname]' and t.idCustomer={$_SESSION['idCustomer']} AND t.barcode=b.barcode order by t.uid"; + //echo $sql; + $hasil=mysql_query($sql); + + if ($jenis_printer == 'rlpr') { + /** + * Init printer, dan buka cash drawer + */ + $command=chr(27) . "@"; //Init printer + //$command .= chr(27) . chr(101) . chr(1); //1 reverse lf + $command .= chr(27) . chr(112) . chr(48) . chr(60) . chr(120); // buka cash drawer + $command .= chr(27) . chr(101) . chr(1); //1 reverse lf + $perintah="echo \"$command\" |lpr $perintah_printer "; + exec($perintah, $output); + } + /** + * + */ + // siapkan string yang akan dicetak + $struk=''; //chr(27) . "@"; //Init printer + $struk .= str_pad($store_name, 40, " ", STR_PAD_BOTH) . "\n" . str_pad($header1, 40, " ", STR_PAD_BOTH) . "\n" + . str_pad($_SESSION[uname] . " : " . date("d-m-Y H:i") . " #$NomorStruk", 40, " ", STR_PAD_BOTH) . " \n"; + + $struk .= "----------------------------------------\n"; + + $diskonHargaPerBarangTotal=0; + $diskonCustomer=0; + while ($x=mysql_fetch_array($hasil)) { + //$temp=$x[jumBarang] . "x ". $x[namaBarang]. " @".number_format($x[hargaJual],0,',','.'). + // ": ".number_format(($x[hargaJual] * $x[jumBarang]),0,',','.')."\n"; + $temp=$x['namaBarang'] . "\n @ " . number_format($x['hargaJual'] + $x['diskon_rupiah'], 0, ',', '.') . " x " . $x['jumBarang'] . + "=" . number_format(($x['hargaJual'] + $x['diskon_rupiah']) * $x['jumBarang'], 0, ',', '.') . "\n"; + + $diskon=''; + // Bilamana ada diskon per barang + if (!is_null($x['diskon_detail_uids'])) { + $detailDiskon=json_decode($x['diskon_detail_uids'], true); + // Jika ada diskon customer dipisah tampilannya di struk + if (isset($detailDiskon['2'])) { + $diskonCustomer+=$detailDiskon['2']; + } + if ($x['diskon_persen'] > 0) { + $diskonPersen=$x['diskon_persen']; + $diskonRupiah=$x['diskon_rupiah'] * $x['jumBarang']; + $diskonHargaPerBarangTotal += $diskonRupiah; + $diskon=" Potongan (" . $diskonPersen . '%)=(' . number_format($diskonRupiah, 0, ',', '.') . ')' . "\n"; + } + elseif ($x['diskon_rupiah'] > 0) { + $diskonRupiah=$x['diskon_rupiah'] * $x['jumBarang']; + $diskonHargaPerBarangTotal += $diskonRupiah; + $diskon=" Potongan (" . number_format($diskonRupiah, 0, ',', '.') . ')' . "\n"; + } + } + // jika panjang baris > 40 huruf, pecah jadi 2 baris + //if (strlen($temp) > 40) { + // $tmp=substr($temp, 0, 40) . "- \n -" . substr($temp, 40); + // $temp=$tmp; + //}; + $struk .= $temp . $diskon; + } + + $diskonHargaPerBarangTotal -= $diskonCustomer; + $struk .= "----------------------------------------\n"; + $struk .= $diskonHargaPerBarangTotal > 0 && $diskonCustomer > 0 ? " Total Potongan : " . str_pad(number_format($diskonHargaPerBarangTotal, 0, ',', '.'), 11, ' ', STR_PAD_LEFT) . " \n" : ''; + $struk .= $diskonCustomer > 0 ? ' Potongan Spesial : ' . str_pad(number_format($diskonCustomer, 0, ',', '.'), 11, ' ', STR_PAD_LEFT) . " \n" : ''; + $struk .= " TOTAL : " . str_pad(number_format($_POST[tot_pembayaran], 0, ',', '.'), 11, " ", STR_PAD_LEFT) . " \n"; + $struk .= " Dibayar : " . str_pad(number_format($_POST[uangDibayar], 0, ',', '.'), 11, " ", STR_PAD_LEFT) . " \n"; + $struk .= " Kembali : " . str_pad(number_format($_POST[uangDibayar] - $_POST[tot_pembayaran], 0, ',', '.'), 11, " ", STR_PAD_LEFT) . " \n"; + $struk .= $diskonHargaPerBarangTotal > 0 ? " ANDA HEMAT : " . str_pad(number_format($diskonHargaPerBarangTotal + $diskonCustomer, 0, ',', '.'), 11, " ", STR_PAD_LEFT) . " \n" : ''; + $struk .= "----------------------------------------\n"; + $struk .= str_pad($footer1, 40, " ", STR_PAD_BOTH) . "\n" . str_pad($footer2, 40, " ", STR_PAD_BOTH) . "\n\n\n\n\n\n\n\n\n\n"; + // tambahan perintah untuk cutter epson + if ($jenis_printer == 'rlpr') { + $struk .= chr(27) . "@" . chr(29) . "V" . chr(1); + } + + if ($jenis_printer == 'pdf') { + require('classes/fpdf.php'); + $pdf=new FPDF(); + $pdf->AddPage(); + $pdf->SetFont('Courier', '', 9); + $struk_pdf=explode("\n", $struk); + foreach ($struk_pdf as $baris) { + $width=40; + $length=1; + $pdf->Cell($width, $length, $baris); + $pdf->Ln(3); + } + $pdf->Output(); + } + elseif ($jenis_printer == 'rlpr') { + include SITE_ROOT."sistem/classes/PrintSend.php"; + include SITE_ROOT."sistem/classes/PrintSendLPR.php"; + $perintah="echo \"$struk\" |lpr $perintah_printer -l"; + + // cara test lpr : + // export ip=192.168.0.17; echo "Ini AhadPOS \n apakah sukses cetak struk ?" |lpr -H $ip -P printer$ip -l + //echo $perintah; exit; + exec($perintah, $output); + }; + + + if ($_POST[tipePembayaran] == '2') { + mysql_query("INSERT INTO piutang(idTransaksiJual,nominal,tglDiBayar, + idUser,last_update) + VALUES('$id_transaksi','$_POST[tot_pembayaran]', + '$_POST[tglBayar]','$_SESSION[iduser]','$tgl')") or die(mysql_error()); + } + + + $dataBarang=mysql_query("SELECT * from tmp_detail_jual + WHERE idCustomer='$_SESSION[idCustomer]' AND username='$_SESSION[uname]' order by uid"); + while ($simpan=mysql_fetch_array($dataBarang)) { + $jumlahAkhir=0; + $jumBarang=mysql_query("SELECT jumBarang FROM barang WHERE barcode='$simpan[barcode]'"); + $jumlah=mysql_fetch_array($jumBarang); + $jumlahAkhir=$jumlah[jumBarang] - $simpan[jumBarang]; + + /* + * Biarkan minus seperti apa adanya :) + */ + /* + if ($jumlahAkhir < 0) { + $jumlahAkhir=0; + }; + * + */ + + //fixme: kurangi quantity pembelian dengan benar : + // (1) cari barang di tabel detail_beli, yang stoknya masih ada, lalu + // (2) catat quantity nya, lalu + $sql="SELECT * FROM detail_beli WHERE isSold='N' AND barcode='$simpan[barcode]' ORDER BY idDetailBeli ASC"; - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil); - -// (3) update dengan jumlah yang terjual -// (4) jika stok habis : tandai -// (5) jika stok kurang : cari lagi stok lainnya -// (6) jika tidak ada lagi - laporkan ke user, bahwa stok kurang - $Sold = $simpan[jumBarang]; - $StockAvailable = $x[jumBarang]; - $SoldOut = false; - $Finish = false; - do { // looping mengurangi jumlah terjual (Sold) dengan stok yg ada (StockAvailable) -// kurangi stok di record tsb dengan $Sold - if ($Sold >= $StockAvailable) { - $newStock = 0; - $Sold = $Sold - $StockAvailable; -// catat bahwa record ini sudah habis stok nya - $sql = "UPDATE detail_beli SET isSold='Y' WHERE idDetailBeli=$x[idDetailBeli]"; - mysql_query($sql); - } else { - $newStock = $StockAvailable - $Sold; - $Finish = true; - $Sold = 0; - } -// catat jumlah stok yang baru / sudah dikurangi penjualan - $sql = "UPDATE detail_beli SET jumBarang=$newStock WHERE idDetailBeli=$x[idDetailBeli]"; - mysql_query($sql); - -// ambil record berikutnya dari database - $records = $records - 1; - if (!($x = mysql_fetch_array($hasil))) { - $SoldOut = true; - }; - $StockAvailable = $x[jumBarang]; - } while (!$SoldOut && !$Finish); - - if (!$SoldOut) { // kurangi sisa item terjual yang masih ada dengan stok yang ada di database -// kurangi stok di record tsb dengan $Sold - if ($Sold > $StockAvailable) { - $newStock = 0; - } else { - $newStock = $StockAvailable - $Sold; - } - $sql = "UPDATE detail_beli SET jumBarang=$newStock WHERE idDetailBeli=$x[idDetailBeli]"; - mysql_query($sql); - } - -// (7) cari barang di tabel barang, lalu -// (8) catat quantity nya, lalu -// (9) update dengan jumlah yang terjual -// - $sql = "UPDATE barang SET jumBarang = '$jumlahAkhir' WHERE barcode = '$simpan[barcode]'"; - $hasil = mysql_query($sql); - -// Cek jika ini adalah harga banded - $query = mysql_query("SELECT qty, harga FROM harga_banded WHERE barcode = '{$simpan['barcode']}'"); - $hargaBanded = mysql_fetch_array($query); - $hargaJualAsli = 'null'; - if ($hargaBanded) { - $query = mysql_query("SELECT hargaJual FROM barang WHERE barcode = '{$simpan['barcode']}'"); - $hargaJual = mysql_fetch_array($query); -// Jika jika qty "terkena" harga banded, maka harga_jual_asli diisi - if (($simpan['jumBarang'] % $hargaBanded['qty']) == 0) { - $hargaJualAsli = $hargaJual['hargaJual']; - } - } - - - if (!$transferahad) { - $sql = "INSERT INTO detail_jual(idBarang, barcode, - jumBarang,hargaJual,harga_jual_asli,username, nomorStruk, hargaBeli) - VALUES({$simpan['idBarang']}, '{$simpan['barcode']}', - {$simpan['jumBarang']},{$simpan['hargaJual']},{$hargaJualAsli},'{$_SESSION['uname']}', {$NomorStruk}, {$simpan['hargaBeli']})"; - mysql_query($sql) or die('Gagal simpan transaksi detail '.mysql_error()); - $detailJualId = mysql_insert_id(); -// Diskon - if (!(is_null($simpan['diskon_detail_uids']) && $simpan['diskon_detail_uids'] == 0)) { - $sql = "insert into diskon_transaksi (diskon_detail_uids, barcode, waktu, diskon_persen, diskon_rupiah, idDetailJual) " - ."values('{$simpan['diskon_detail_uids']}','{$simpan['barcode']}','{$simpan['tglTransaksi']}'," - ."{$simpan['diskon_persen']},{$simpan['diskon_rupiah']},{$detailJualId})"; - mysql_query($sql) or die('Gagal simpan diskon_transaksi '.mysql_error()); - } -// End of Diskon - } else if ($transferahad) { - $sql = "INSERT INTO detail_transfer_barang(idBarang, barcode, - jumBarang,hargaJual, username, nomorStruk) - VALUES({$simpan['idBarang']}, '{$simpan['barcode']}', - {$simpan['jumBarang']},{$simpan['hargaBeli']}, '{$_SESSION['uname']}', {$NomorStruk})"; - mysql_query($sql); // or die('Gagal simpan transaksi detail transfer' . mysql_error()); - } - } - -// jika transfer antar Ahad, -// generate file CSV nya - if ($transferahad) { - -// format isi file CSV : -// $data[0] = barcode -// $data[1] = idBarang - ignored -// $data[2] = namaBarang -// $data[3] = jumlah Barang / jumBarang -// $data[4] = hargaBeli - ignored -// $data[5] = hargaJual (di Gudang) -// $data[6] = RRP (Recommended Retail Price) -// $data[7] = namaSatuanBarang -// $data[8] = namaKategoriBarang -// $data[9] = Supplier - ignored -// $data[10] = username - ignored -// persiapan membuat output file CSV - $csv = "\"barcode\",\"idBarang\",\"namaBarang\",\"jumBarang\",\"hargaBeli\",\"hargaJual\",\"RRP\",\"SatuanBarang\",\"KategoriBarang\",\"Supplier\",\"kasir\"\n"; - -// cari nama gudang ini - $hasil = mysql_query("SELECT value FROM config WHERE `option` = 'store_name'"); - $x = mysql_fetch_array($hasil); - $namaGudang = ""; - $namaGudang = $x[value]; - - $hasil1 = mysql_query("SELECT * FROM tmp_detail_jual WHERE idCustomer = '$_SESSION[idCustomer]' AND username = '$_SESSION[uname]'"); - while ($x = mysql_fetch_array($hasil1)) { - -// cari namaBarang - $hasil2 = mysql_query("SELECT namaBarang, idKategoriBarang, idSatuanBarang, hargaJual FROM barang WHERE barcode='".$x['barcode']."'"); - $y = mysql_fetch_array($hasil2); - $namaBarang = $y['namaBarang']; - $idKategoriBarang = $y['idKategoriBarang']; - $idSatuanBarang = $y['idSatuanBarang']; - $hargaJual = $y['hargaJual']; - -// cari namaSatuanBarang - $hasil2 = mysql_query("SELECT namaSatuanBarang FROM satuan_barang WHERE idSatuanBarang=".$idSatuanBarang); - $y = mysql_fetch_array($hasil2); - $namaSatuanBarang = $y[namaSatuanBarang]; - -// cari namaKategoriBarang - $hasil2 = mysql_query("SELECT namaKategoriBarang FROM kategori_barang WHERE idKategoriBarang=".$idKategoriBarang); - $y = mysql_fetch_array($hasil2); - $namaKategoriBarang = $y[namaKategoriBarang]; - - $csv .= "\"".$x['barcode']."\",\"".$x['idBarang']."\",\"".$namaBarang."\",\"".$x['jumBarang']."\",\"".$x['hargaBeli']."\",\"".$x['hargaBeli']."\",\"".$hargaJual."\",\"".$namaSatuanBarang."\",\"".$namaKategoriBarang."\",\"".$namaGudang."\",\"".$_SESSION['uname']."\"\n"; - }; // while ($x = mysql_fetch_array($hasil)) { -//header('location:media.php?module='.$module); -//echo ""; -// kirim output CSV ke browser untuk di download -// cari nama Customer - $hasil2 = mysql_query("SELECT namaCustomer FROM customer WHERE idCustomer='".$_SESSION[idCustomer]."'"); - $y = mysql_fetch_array($hasil2); - $namaCustomer = $y[namaCustomer]; - $namaFile = $namaCustomer."-".date("Y-m-d--H-i"); - -// hapus transaksi jual ini dari table tmp_detail_jual - mysql_query("DELETE FROM tmp_detail_jual WHERE idCustomer = '$_SESSION[idCustomer]' AND username = '$_SESSION[uname]'"); - $_SESSION[tot_pembelian] = 0; - releaseCustomer(); - - header("Content-type: text/csv"); - header("Content-Disposition: attachment; filename=\"$namaFile.csv\""); - header("Pragma: no-cache"); - header("Expires: 0"); - echo $csv; - } else { -// hapus transaksi jual ini dari table tmp_detail_jual - mysql_query("DELETE FROM tmp_detail_jual WHERE idCustomer = '$_SESSION[idCustomer]' AND username = '$_SESSION[uname]'"); - $_SESSION[tot_pembelian] = 0; - releaseCustomer(); -//header('location:media.php?module='.$module); - if ($jenis_printer != 'text') { - echo ""; - } - } + $hasil=mysql_query($sql); + $x=mysql_fetch_array($hasil); + + // (3) update dengan jumlah yang terjual + // (4) jika stok habis : tandai + // (5) jika stok kurang : cari lagi stok lainnya + // (6) jika tidak ada lagi - laporkan ke user, bahwa stok kurang + $Sold=$simpan[jumBarang]; + $StockAvailable=$x[jumBarang]; + $SoldOut=false; + $Finish=false; + do { // looping mengurangi jumlah terjual (Sold) dengan stok yg ada (StockAvailable) + // kurangi stok di record tsb dengan $Sold + if ($Sold >= $StockAvailable) { + $newStock=0; + $Sold=$Sold - $StockAvailable; + // catat bahwa record ini sudah habis stok nya + $sql="UPDATE detail_beli SET isSold='Y' WHERE idDetailBeli=$x[idDetailBeli]"; + mysql_query($sql); + } + else { + $newStock=$StockAvailable - $Sold; + $Finish=true; + $Sold=0; + } + // catat jumlah stok yang baru / sudah dikurangi penjualan + $sql="UPDATE detail_beli SET jumBarang=$newStock WHERE idDetailBeli=$x[idDetailBeli]"; + mysql_query($sql); + + // ambil record berikutnya dari database + $records=$records - 1; + if (!($x=mysql_fetch_array($hasil))) { + $SoldOut=true; + }; + $StockAvailable=$x[jumBarang]; + } + while (!$SoldOut && !$Finish); + + if (!$SoldOut) { // kurangi sisa item terjual yang masih ada dengan stok yang ada di database + // kurangi stok di record tsb dengan $Sold + if ($Sold > $StockAvailable) { + $newStock=0; + } + else { + $newStock=$StockAvailable - $Sold; + } + $sql="UPDATE detail_beli SET jumBarang=$newStock WHERE idDetailBeli=$x[idDetailBeli]"; + mysql_query($sql); + } + + // (7) cari barang di tabel barang, lalu + // (8) catat quantity nya, lalu + // (9) update dengan jumlah yang terjual + // + $sql="UPDATE barang SET jumBarang='$jumlahAkhir' WHERE barcode='$simpan[barcode]'"; + $hasil=mysql_query($sql); + + + if (($_POST['transferahad'] != 1)) { + $sql="INSERT INTO detail_jual(idBarang, barcode, + jumBarang,hargaJual,username, nomorStruk, hargaBeli) + VALUES({$simpan['idBarang']}, '{$simpan['barcode']}', + {$simpan['jumBarang']},{$simpan['hargaJual']},'{$_SESSION['uname']}', {$NomorStruk}, {$simpan['hargaBeli']})"; + mysql_query($sql) or die('Gagal simpan transaksi detail ' . mysql_error()); + $detailJualId=mysql_insert_id(); + // Diskon + if (!(is_null($simpan['diskon_detail_uids']) && $simpan['diskon_detail_uids'] == 0)) { + $sql="insert into diskon_transaksi (diskon_detail_uids, barcode, waktu, diskon_persen, diskon_rupiah, idDetailJual) " + . "values('{$simpan['diskon_detail_uids']}','{$simpan['barcode']}','{$simpan['tglTransaksi']}'," + . "{$simpan['diskon_persen']},{$simpan['diskon_rupiah']},{$detailJualId})"; + mysql_query($sql) or die('Gagal simpan diskon_transaksi ' . mysql_error()); + } + // End of Diskon + } + } + + // jika transfer antar Ahad, + // generate file CSV nya + if (($_POST['transferahad'] == 1)) { + + // format isi file CSV : + // $data[0]=barcode + // $data[1]=idBarang - ignored + // $data[2]=namaBarang + // $data[3]=jumlah Barang / jumBarang + // $data[4]=hargaBeli - ignored + // $data[5]=hargaJual (di Gudang) + // $data[6]=RRP (Recommended Retail Price) + // $data[7]=namaSatuanBarang + // $data[8]=namaKategoriBarang + // $data[9]=Supplier - ignored + // $data[10]=username - ignored + // persiapan membuat output file CSV + $csv="\"barcode\",\"idBarang\",\"namaBarang\",\"jumBarang\",\"hargaBeli\",\"hargaJual\",\"RRP\",\"SatuanBarang\",\"KategoriBarang\",\"Supplier\",\"kasir\"\n"; + + // cari nama gudang ini + $hasil=mysql_query("SELECT value FROM config WHERE `option`='store_name'"); + $x=mysql_fetch_array($hasil); + $namaGudang=""; + $namaGudang=$x[value]; + + $hasil1=mysql_query("SELECT * FROM tmp_detail_jual WHERE idCustomer='$_SESSION[idCustomer]' AND username='$_SESSION[uname]'"); + while ($x=mysql_fetch_array($hasil1)) { + + // cari namaBarang + $hasil2=mysql_query("SELECT namaBarang, idKategoriBarang, idSatuanBarang FROM barang WHERE barcode='" . $x['barcode'] . "'"); + $y=mysql_fetch_array($hasil2); + $namaBarang=$y['namaBarang']; + $idKategoriBarang=$y['idKategoriBarang']; + $idSatuanBarang=$y['idSatuanBarang']; + + // cari namaSatuanBarang + $hasil2=mysql_query("SELECT namaSatuanBarang FROM satuan_barang WHERE idSatuanBarang=" . $idSatuanBarang); + $y=mysql_fetch_array($hasil2); + $namaSatuanBarang=$y[namaSatuanBarang]; + + // cari namaKategoriBarang + $hasil2=mysql_query("SELECT namaKategoriBarang FROM kategori_barang WHERE idKategoriBarang=" . $idKategoriBarang); + $y=mysql_fetch_array($hasil2); + $namaKategoriBarang=$y[namaKategoriBarang]; + + $csv .= "\"" . $x['barcode'] . "\",\"" . $x['idBarang'] . "\",\"" . $namaBarang . "\",\"" . $x['jumBarang'] . "\",\"" . $x['hargaBeli'] . "\",\"" . $x['hargaBeli'] . "\",\"" . $x['hargaJual'] . "\",\"" . $namaSatuanBarang . "\",\"" . $namaKategoriBarang . "\",\"" . $namaGudang . "\",\"" . $_SESSION['uname'] . "\"\n"; + }; // while ($x=mysql_fetch_array($hasil)) { + //header('location:media.php?module='.$module); + //echo ""; + // kirim output CSV ke browser untuk di download + // cari nama Customer + $hasil2=mysql_query("SELECT namaCustomer FROM customer WHERE idCustomer='" . $_SESSION[idCustomer] . "'"); + $y=mysql_fetch_array($hasil2); + $namaCustomer=$y[namaCustomer]; + $namaFile=$namaCustomer . "-" . date("Y-m-d--H-i"); + + // hapus transaksi jual ini dari table tmp_detail_jual + mysql_query("DELETE FROM tmp_detail_jual WHERE idCustomer='$_SESSION[idCustomer]' AND username='$_SESSION[uname]'"); + $_SESSION[tot_pembelian]=0; + releaseCustomer(); + + header("Content-type: text/csv"); + header("Content-Disposition: attachment; filename=\"$namaFile.csv\""); + header("Pragma: no-cache"); + header("Expires: 0"); + echo $csv; + } + else { + // hapus transaksi jual ini dari table tmp_detail_jual + mysql_query("DELETE FROM tmp_detail_jual WHERE idCustomer='$_SESSION[idCustomer]' AND username='$_SESSION[uname]'"); + $_SESSION[tot_pembelian]=0; + releaseCustomer(); + //header('location:media.php?module='.$module); + echo ""; + }; } //Batal Transaksi Jual elseif ($module == 'penjualan_barang' AND $act == 'batal') { - $transferahad = false; - if (($_POST['transferahad'] == 1) || ($_GET['transferahad'] == 1)) { - $transferahad = true; - } - if ($_SESSION['hakAdmin'] || $transferahad) { - mysql_query("DELETE FROM tmp_detail_jual where idCustomer = '$_SESSION[idCustomer]' AND username = '$_SESSION[uname]'"); - releaseCustomer(); - - header('location:media.php?module='.$module); - } else { - header('location:modul/js_jual_barang.php?act=caricustomer&bg=1'); - } + + mysql_query("DELETE FROM tmp_detail_jual where idCustomer='$_SESSION[idCustomer]' AND username='$_SESSION[uname]'"); + releaseCustomer(); + + header('location:media.php?module=' . $module); } //Self Checkout elseif ($module == 'penjualan_barang' AND $act == 'selfcheckoutinput') { - if (isset($_POST['sc-id'])) { - $scId = $_POST['sc-id']; - $result = mysql_query("select * from self_checkout_detail where self_checkout_uid={$scId}"); - while ($barang = mysql_fetch_array($result)) { - $trueJual = cekBarangTempJual($_SESSION[idCustomer], $barang['barcode']); -// Jika barang sudah ada (hanya tambah kuantiti) maka tambahkan kuantitinya; - if ($trueJual) { - $jumBarang = $trueJual['jumBarang']; - mysql_query("delete from tmp_detail_jual where idCustomer='{$_SESSION['idCustomer']}' " - ."and barcode = '{$barang['barcode']}' " - ."and username='{$_SESSION['uname']}'") or die('Gagal clean '.mysql_error()); - $jumBarang += $barang['qty']; - } else { - $jumBarang = $barang['qty']; - } - tambahBarangJual($barang['barcode'], $jumBarang); - } - } -} - -// Nomor Kartu Customer -elseif ($module == 'penjualan_barang' AND $act == 'nomorkartuinput') { - if (isset($_POST['nomor-kartu'])) { - $return = array('sukses' => false); - $nomorKartu = $_POST['nomor-kartu']; - $result = mysql_query("select idCustomer from customer where nomor_kartu='{$nomorKartu}'"); - $customer = mysql_fetch_array($result); - if ($customer) { - findCustomer($customer['idCustomer']); - mysql_query("UPDATE tmp_detail_jual SET idCustomer = {$customer['idCustomer']} WHERE username = '{$_SESSION['uname']}'"); - $query = mysql_query("SELECT barcode, sum(jumBarang) qty - FROM tmp_detail_jual - WHERE username = '{$_SESSION['uname']}' AND idCustomer = {$customer['idCustomer']} - group by barcode"); -// Hapus semuanya -// Ulangi proses input - while ($barang = mysql_fetch_array($query)) { - mysql_query("delete from tmp_detail_jual where idCustomer={$customer['idCustomer']} " - ."and barcode = '{$barang['barcode']}' " - ."and username='{$_SESSION['uname']}'") or die('Gagal clean '.mysql_error()); - tambahBarangJual($barang['barcode'], $barang['qty']); - } - - $return = array('sukses' => true); - } - } - header('Content-type: application/json'); - echo json_encode($return); + if (isset($_POST['sc-id'])) { + $scId=$_POST['sc-id']; + $result=mysql_query("select * from self_checkout_detail where self_checkout_uid={$scId}"); + while ($barang=mysql_fetch_array($result)) { + $trueJual=cekBarangTempJual($_SESSION[idCustomer], $barang['barcode']); + // Jika barang sudah ada (hanya tambah kuantiti) maka tambahkan kuantitinya; + if ($trueJual) { + $jumBarang=$trueJual['jumBarang']; + mysql_query("delete from tmp_detail_jual where idCustomer='{$_SESSION['idCustomer']}' " + . "and barcode='{$barang['barcode']}' " + . "and username='{$_SESSION['uname']}'") or die('Gagal clean ' . mysql_error()); + $jumBarang += $barang['qty']; + } + else { + $jumBarang=$barang['qty']; + } + tambahBarangJual($barang['barcode'], $jumBarang); + } + } } //ukmMode: Cek Harga untuk input harga jual manual elseif ($module == 'penjualan_barang' AND $act == 'get_harga_jual') { - if (isset($_POST['barcode'])) { - $result = mysql_query("select hargaJual from barang where barcode = '{$_POST['barcode']}'") or die('Gagal ambil harga jual, barang#'.$_POST['barcode'].', error: '.mysql_error()); - $barang = mysql_fetch_array($result); - $return = array( - 'sukses' => true, - 'hargaJual' => $barang['hargaJual'] - ); - echo json_encode($return); - } + if (isset($_POST['barcode'])) { + $result=mysql_query("select hargaJual from barang where barcode='{$_POST['barcode']}'") or die('Gagal ambil harga jual, barang#' . $_POST['barcode'] . ', error: ' . mysql_error()); + $barang=mysql_fetch_array($result); + $return=array( + 'sukses' => true, + 'hargaJual' => $barang['hargaJual'] + ); + echo json_encode($return); + } } -// BUKA KASIR // ----------------------------------------------------------------------------------------------------------------------------------- +// BUKA KASIR // ----------------------------------------------------------------------------------------------------------------------------------- elseif ($module == 'buka_kasir' AND $act == 'input') { -// cari apakah kasir ini sedang aktif - jika ya, maka tolak - $sql = "SELECT * FROM kasir WHERE idUser=$_POST[idKasir] AND tglTutupKasir IS NULL"; - $hasil = mysql_query($sql); + // cari apakah kasir ini sedang aktif - jika ya, maka tolak + $sql="SELECT * FROM kasir WHERE idUser=$_POST[idKasir] AND tglTutupKasir IS NULL"; + $hasil=mysql_query($sql); - if (mysql_num_rows($hasil) > 0) { - echo "Kasir ini sedang Aktif ! Silakan ditutup dulu. + if (mysql_num_rows($hasil) > 0) { + echo "Kasir ini sedang Aktif ! Silakan ditutup dulu.

 

- << Kembali"; - } else { - $sql = "INSERT INTO kasir(tglBukaKasir,idUser,kasAwal,currentWorkstation) + Kembali"; + } + else { + $sql="INSERT INTO kasir(tglBukaKasir,idUser,kasAwal,currentWorkstation) VALUES ('$_POST[tglBukaKasir]',$_POST[idKasir],$_POST[kasAwal],$_POST[idWorkstation])"; - mysql_query($sql); - header('location:media.php?module=kasir'); - }; + mysql_query($sql); + header('location:media.php?module=kasir'); + }; } //TUTUP KASIR elseif ($module == 'tutup_kasir' AND $act == 'input') { - if (empty($_POST[kasAkhir])) { - $_POST[kasAkhir] = 0; - }; - if (empty($_POST[totalTransaksi])) { - $_POST[totalTransaksi] = 0; - }; - if (empty($_POST[totalProfit])) { - $_POST[totalProfit] = 0; - }; - - $sql = "UPDATE kasir SET kasTutup = $_POST[kasAkhir], - kasSeharusnya = $_POST[kasSeharusnya], + if (empty($_POST[kasAkhir])) { + $_POST[kasAkhir]=0; + }; + if (empty($_POST[totalTransaksi])) { + $_POST[totalTransaksi]=0; + }; + if (empty($_POST[totalProfit])) { + $_POST[totalProfit]=0; + }; + + $sql="UPDATE kasir SET kasTutup = $_POST[kasAkhir], + kasSeharusnya = $_POST[kasSeharusnya], tglTutupKasir = '$_POST[tglTutupKasir]', totalTransaksi = $_POST[totalTransaksi], totalProfit = $_POST[totalProfit], totalRetur = $_POST[totalRetur], totalTransaksiKas = $_POST[totalTransaksiKas], totalTransaksiKartu = $_POST[totalTransaksiKartu] - WHERE idUser = $_POST[idKasir] AND tglTutupKasir IS NULL"; -//echo $sql; + WHERE idUser=$_POST[idKasir] AND tglTutupKasir IS NULL"; + //echo $sql; - mysql_query($sql); - header('location:media.php?module=kasir'); -} elseif ($module == 'retur_barang' AND $act == 'input') { // ==================================================================================== - $tgl = date("Y-m-d H:i:s"); + mysql_query($sql); + header('location:media.php?module=kasir'); +} +elseif ($module == 'retur_barang' AND $act == 'input') { // ==================================================================================== + $tgl=date("Y-m-d H:i:s"); - /* fixme : simpan ke table 'retur', dan dapatkan nomor nota retur nya + /* fixme : simpan ke table 'retur', dan dapatkan nomor nota retur nya - mysql_query("INSERT INTO transaksijual(tglTransaksiJual, - idCustomer,idTipePembayaran,nominal,idUser,last_update,uangDibayar) - VALUES('$tgl','$_SESSION[idCustomer]', - '$_POST[tipePembayaran]','$_POST[tot_pembayaran]', - '$_SESSION[iduser]','$tgl', $_POST[uangDibayar])") or die(mysql_error()); - $NomorStruk = mysql_insert_id(); - */ + mysql_query("INSERT INTO transaksijual(tglTransaksiJual, + idCustomer,idTipePembayaran,nominal,idUser,last_update,uangDibayar) + VALUES('$tgl','$_SESSION[idCustomer]', + '$_POST[tipePembayaran]','$_POST[tot_pembayaran]', + '$_SESSION[iduser]','$tgl', $_POST[uangDibayar])") or die(mysql_error()); + $NomorStruk=mysql_insert_id(); + */ -// cetak struk ------------- -// ambil transaksi yang akan dicetak - $sql = "SELECT t.jumBarang,t.hargaJual,t.hargaBeli,b.namaBarang,t.barcode FROM barang AS b, tmp_detail_retur_barang AS t + // cetak struk ------------- + // ambil transaksi yang akan dicetak + $sql="SELECT t.jumBarang,t.hargaJual,t.hargaBeli,b.namaBarang,t.barcode FROM barang AS b, tmp_detail_retur_barang AS t WHERE t.username='$_SESSION[uname]' AND t.barcode=b.barcode"; + //echo $sql; + $hasil=mysql_query($sql); - $hasil = mysql_query($sql); + echo "namaPrinter : " . $_POST[namaPrinter]; - // echo "namaPrinter : ".$_POST[namaPrinter]; - $customerId = isset($_SESSION['idCustomer']) ? $_SESSION['idCustomer'] : 'null'; - $queryInsert = "INSERT INTO transaksireturjual(tglTransaksi, idCustomer, nominal, idUser, idKasir) - VALUES('$tgl',{$customerId},{$_POST['tot_retur']},{$_SESSION['iduser']},{$_POST['idKasir']})"; - mysql_query($queryInsert) or die(mysql_error()); - $idTransaksiReturJual = mysql_insert_id(); + // cetak struk + //cetakStruk ("$_POST[namaPrinter]", 1, "$_SESSION[uname]", $_POST[tot_retur], 0, $hasil, true); + // mulai simpan data ke detail_retur_barang + $dataBarang=mysql_query("SELECT * from tmp_detail_retur_barang + WHERE username='$_SESSION[uname]'"); -// cetak struk -//cetakStruk ("$_POST[namaPrinter]", 1, "$_SESSION[uname]", $_POST[tot_retur], 0, $hasil, true); -// mulai simpan data ke detail_retur_barang - $dataBarang = mysql_query("SELECT * from tmp_detail_retur_barang - WHERE username = '$_SESSION[uname]'"); + while ($simpan=mysql_fetch_array($dataBarang)) { - while ($simpan = mysql_fetch_array($dataBarang)) { + echo "1
"; - // echo "1
"; + $jumlahAkhir=0; + $jumBarang=mysql_query("SELECT jumBarang FROM barang WHERE barcode='$simpan[barcode]'"); + $jumlah=mysql_fetch_array($jumBarang); + $jumlahAkhir=$jumlah[jumBarang] + $simpan[jumBarang]; - $jumlahAkhir = 0; - $jumBarang = mysql_query("SELECT jumBarang FROM barang WHERE barcode = '$simpan[barcode]'"); - $jumlah = mysql_fetch_array($jumBarang); - $jumlahAkhir = $jumlah[jumBarang] + $simpan[jumBarang]; + //fixme: kurangi quantity pembelian dengan benar : + // (1) cari barang di tabel detail_beli, yang stoknya masih ada, lalu + // (2) catat quantity nya, lalu + $sql="SELECT * FROM detail_beli + WHERE isSold='N' AND barcode='$simpan[barcode]' ORDER BY idDetailBeli ASC"; + $hasil=mysql_query($sql); + $x=mysql_fetch_array($hasil); -//fixme: kurangi quantity pembelian dengan benar : -// (1) cari barang di tabel detail_beli, yang stoknya masih ada, lalu -// (2) catat quantity nya, lalu - /* - $sql = "SELECT * FROM detail_beli - WHERE isSold='N' AND barcode='$simpan[barcode]' ORDER BY idDetailBeli ASC"; - */ - // ambil yang detail_beli yang terakhir. (Abu Muhammad) - $sql = "SELECT * FROM detail_beli - WHERE barcode='$simpan[barcode]' ORDER BY idDetailBeli ASC LIMIT 1"; - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil); + // (3) update dengan jumlah yang di retur + $retur=$simpan[jumBarang]; + $StockAvailable=$x[jumBarang]; -// (3) update dengan jumlah yang di retur - $retur = $simpan[jumBarang]; - $StockAvailable = $x[jumBarang]; + $newStock=$StockAvailable + $retur; - $newStock = $StockAvailable + $retur; + mysql_query("UPDATE detail_beli SET jumBarang=$newStock WHERE idDetailBeli=$x[idDetailBeli]"); - mysql_query("UPDATE detail_beli SET jumBarang=$newStock WHERE idDetailBeli=$x[idDetailBeli]"); + // (4) cari barang di tabel barang, lalu + // (5) catat quantity nya, lalu + // (6) update dengan jumlah yang di retur + // + $sql="UPDATE barang SET jumBarang='$jumlahAkhir' WHERE barcode='$simpan[barcode]'"; + $hasil=mysql_query($sql); -// (4) cari barang di tabel barang, lalu -// (5) catat quantity nya, lalu -// (6) update dengan jumlah yang di retur -// - $sql = "UPDATE barang SET jumBarang = '$jumlahAkhir' WHERE barcode = '$simpan[barcode]'"; - $hasil = mysql_query($sql); - - $sql = "INSERT INTO detail_retur_barang (idTransaksiRetur, tglTransaksi, idBarang, barcode, - jumBarang,hargaJual,username, hargaBeli) - VALUES($idTransaksiReturJual, '$tgl', '$simpan[idBarang]', '$simpan[barcode]', - '$simpan[jumBarang]',$simpan[hargaJual],'$_SESSION[uname]', $simpan[hargaBeli])"; - // echo $sql; - mysql_query($sql) or die(mysql_error()); - } - - mysql_query("DELETE FROM tmp_detail_retur_barang WHERE username = '$_SESSION[uname]'"); - - $_SESSION[tot_retur] = 0; -//header('location:media.php?module='.$module); - echo ""; + + $sql="INSERT INTO detail_retur_barang (tglTransaksi, idBarang, barcode, + jumBarang,hargaJual,username, hargaBeli) + VALUES('$tgl', '$simpan[idBarang]', '$simpan[barcode]', + '$simpan[jumBarang]',$simpan[hargaJual],'$_SESSION[uname]', $simpan[hargaBeli])"; + echo $sql; + mysql_query($sql) or die(mysql_error()); + } + + mysql_query("DELETE FROM tmp_detail_retur_barang WHERE username='$_SESSION[uname]'"); + + $_SESSION[tot_retur]=0; + //header('location:media.php?module='.$module); + echo ""; } //Batal Transaksi Retur Barang elseif ($module == 'retur_barang' AND $act == 'batal') { - mysql_query("DELETE FROM tmp_detail_retur_barang WHERE username = '$_SESSION[uname]'"); - $_SESSION[tot_retur] = 0; + mysql_query("DELETE FROM tmp_detail_retur_barang WHERE username='$_SESSION[uname]'"); + $_SESSION[tot_retur]=0; - header('location:media.php?module=barang'); -} elseif ($module == 'inputreturbeli' AND $act == 'inputtemp') { // ==================================================================================== - $sql = "INSERT INTO tmp_edit_detail_retur_beli (idDetailBeli,idTransaksiBeli,idBarang,tglExpire,jumBarang,hargaBeli,barcode) - SELECT d.idDetailBeli,d.idTransaksiBeli,d.idBarang,d.tglExpire,d.jumBarangAsli,d.hargaBeli,d.barcode + header('location:media.php?module=barang'); +} +elseif ($module == 'inputreturbeli' AND $act == 'inputtemp') { // ==================================================================================== + $sql="INSERT INTO tmp_edit_detail_retur_beli (idDetailBeli,idTransaksiBeli,idBarang,tglExpire,jumBarang,hargaBeli,barcode) + SELECT d.idDetailBeli,d.idTransaksiBeli,d.idBarang,d.tglExpire,d.jumBarangAsli,d.hargaBeli,d.barcode FROM detail_beli AS d, barang AS b - WHERE b.barcode = d.barcode AND d.idTransaksiBeli = '$_POST[idNota]' AND d.idTransaksiBeli != 0"; - mysql_query($sql) or die('Gagal input temporary detail return beli, error: '.mysql_error()); -//echo $sql; exit; - header('location:media.php?module=pembelian_barang&act=inputreturbeli&idnota='.$_POST[idNota]); -} elseif ($module == 'inputreturbeli' AND $act == 'simpanretur') { // ----------------------------------------------------------------------------------- -// baca detail nota ybs dari transaksibeli - $sql = "SELECT * FROM transaksibeli WHERE idTransaksiBeli = $_POST[idNota]" or die(mysql_error()); - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil); - $idSupplier = $x[idSupplier]; - $idTipePembayaran = $x[idTipePembayaran]; - $NomorInvoice = $x[NomorInvoice]; - -// hitung nominal retur - $sql = "SELECT SUM(jumRetur * hargaBeli) AS totalRetur, SUM(jumBarang * hargaBeli) AS totalCurrent FROM tmp_edit_detail_retur_beli WHERE idTransaksiBeli = '$_POST[idNota]'"; - $hasil = mysql_query($sql) or die(mysql_error()); - $x = mysql_fetch_array($hasil); - $nominal = $x[totalCurrent] - $x[totalRetur]; - $totalRetur = $x[totalRetur]; - $username = $_SESSION[uname]; - $last_update = date("Y-m-d"); - -// mulai baca data perubahan dari tmp_edit_detail_retur_beli - $query = mysql_query("SELECT idTransaksiBeli, idBarang,tglExpire,jumBarang,hargaBeli,barcode,jumRetur, idDetailBeli - FROM tmp_edit_detail_retur_beli WHERE idTransaksiBeli = '$_POST[idNota]'") or die(mysql_error()); - - while ($tmpEdit = mysql_fetch_array($query)) { - $jumBarang = getJumBarangDiBarang($tmpEdit[idDetailBeli], $tmpEdit[barcode]); - $jumBarangDetail = getJumBarangDetailPembelian($tmpEdit[idDetailBeli]); - $jumBarangBaru = $jumBarang - $tmpEdit[jumRetur]; - $jumBarangDetailBaru = $jumBarangDetail - $tmpEdit[jumRetur]; - -// update nota pembelian - if ($jumBarangDetail > 0) { // jika stok sudah nol, jangan dikurangi (jadi minus) - mysql_query("UPDATE detail_beli SET jumBarang = '$jumBarangDetailBaru' - WHERE idDetailBeli = '$tmpEdit[idDetailBeli]'") or die(mysql_error()); - } - -// update stok barang - if ($jumBarang > 0) { // jika stok sudah nol, jangan dikurangi (jadi minus) - mysql_query("UPDATE barang SET jumBarang = $jumBarangBaru - WHERE barcode = '$tmpEdit[barcode]'") or die(mysql_error()); - } - -// input transaksi retur ke database - if ($tmpEdit[jumRetur] > 0) { // yang jumRetur 0 (nol) tidak usah dicatat - $z = $tmpEdit; - $sql = "INSERT INTO detail_retur_beli (idTransaksiBeli,idBarang,tglExpire,jumRetur,hargaBeli,barcode, + WHERE b.barcode=d.barcode AND d.idTransaksiBeli='$_POST[idNota]' AND d.idTransaksiBeli != 0"; + mysql_query($sql) or die('Gagal input temporary detail return beli, error: ' . mysql_error()); + //echo $sql; exit; + header('location:media.php?module=pembelian_barang&act=inputreturbeli&idnota=' . $_POST[idNota]); +} +elseif ($module == 'inputreturbeli' AND $act == 'simpanretur') { // ----------------------------------------------------------------------------------- + // baca detail nota ybs dari transaksibeli + $sql="SELECT * FROM transaksibeli WHERE idTransaksiBeli=$_POST[idNota]" or die(mysql_error()); + $hasil=mysql_query($sql); + $x=mysql_fetch_array($hasil); + $idSupplier=$x[idSupplier]; + $idTipePembayaran=$x[idTipePembayaran]; + $NomorInvoice=$x[NomorInvoice]; + + // hitung nominal retur + $sql="SELECT SUM(jumRetur * hargaBeli) AS totalRetur, SUM(jumBarang * hargaBeli) AS totalCurrent FROM tmp_edit_detail_retur_beli WHERE idTransaksiBeli='$_POST[idNota]'"; + $hasil=mysql_query($sql) or die(mysql_error()); + $x=mysql_fetch_array($hasil); + $nominal=$x[totalCurrent] - $x[totalRetur]; + $totalRetur=$x[totalRetur]; + $username=$_SESSION[uname]; + $last_update=date("Y-m-d"); + + // mulai baca data perubahan dari tmp_edit_detail_retur_beli + $query=mysql_query("SELECT idTransaksiBeli, idBarang,tglExpire,jumBarang,hargaBeli,barcode,jumRetur, idDetailBeli + FROM tmp_edit_detail_retur_beli WHERE idTransaksiBeli='$_POST[idNota]'") or die(mysql_error()); + + while ($tmpEdit=mysql_fetch_array($query)) { + $jumBarang=getJumBarangDiBarang($tmpEdit[idDetailBeli], $tmpEdit[barcode]); + $jumBarangDetail=getJumBarangDetailPembelian($tmpEdit[idDetailBeli]); + $jumBarangBaru=$jumBarang - $tmpEdit[jumRetur]; + $jumBarangDetailBaru=$jumBarangDetail - $tmpEdit[jumRetur]; + + // update nota pembelian + if ($jumBarangDetail > 0) { // jika stok sudah nol, jangan dikurangi (jadi minus) + mysql_query("UPDATE detail_beli SET jumBarang='$jumBarangDetailBaru' + WHERE idDetailBeli='$tmpEdit[idDetailBeli]'") or die(mysql_error()); + } + + // update stok barang + if ($jumBarang > 0) { // jika stok sudah nol, jangan dikurangi (jadi minus) + mysql_query("UPDATE barang SET jumBarang=$jumBarangBaru + WHERE barcode='$tmpEdit[barcode]'") or die(mysql_error()); + } + + // input transaksi retur ke database + if ($tmpEdit[jumRetur] > 0) { // yang jumRetur 0 (nol) tidak usah dicatat + $z=$tmpEdit; + $sql="INSERT INTO detail_retur_beli (idTransaksiBeli,idBarang,tglExpire,jumRetur,hargaBeli,barcode, username,idSupplier,nominal,idTipePembayaran,NomorInvoice,tglRetur) VALUES ($z[idTransaksiBeli],$z[idBarang],'$z[tglExpire]',$z[jumRetur],$z[hargaBeli],'$z[barcode]', '$username','$idSupplier', $totalRetur, $idTipePembayaran, '$NomorInvoice','$last_update')"; - mysql_query($sql) or die(mysql_error()); - } - } - -// update transaksibeli - mysql_query("UPDATE transaksibeli SET last_update = '$last_update', nominal = $nominal - WHERE idTransaksiBeli = '$_POST[idNota]'") or die(mysql_error()); - -// hapus data temporary - mysql_query("DELETE FROM tmp_edit_detail_retur_beli WHERE idTransaksiBeli = '$_POST[idNota]'") or die(mysql_error()); - header('location:media.php?module=pembelian_barang'); -} elseif ($module == 'editlaporanpembelian' AND $act == 'inputtemp') { // ==================================================================================== - mysql_query("INSERT INTO tmp_edit_detail_beli(idDetailBeli,idTransaksiBeli,idBarang,tglExpire,jumBarang,hargaBeli) - SELECT detail_beli.idDetailBeli,detail_beli.idTransaksiBeli,detail_beli.idBarang,detail_beli.tglExpire, - detail_beli.jumBarang,detail_beli.hargaBeli - from detail_beli,barang where barang.idBarang = detail_beli.idBarang AND detail_beli.idTransaksiBeli = '$_POST[idNota]' AND detail_beli.idTransaksiBeli != 0") or die(mysql_error()); - header('location:media.php?module=pembelian_barang&act=editlaporan&idnota='.$_POST[idNota]); -} elseif ($module == 'editlaporanpembelian' AND $act == 'simpanedit') { // ----------------------------------------------------------------------------------- -// echo "Edit nota $_POST[idNota]"; - $query = mysql_query("SELECT idDetailBeli, idBarang,tglExpire,jumBarang,hargaBeli FROM tmp_edit_detail_beli WHERE idTransaksiBeli = '$_POST[idNota]'") or die(mysql_error()); - while ($tmpEdit = mysql_fetch_array($query)) { - $jumBarang = getJumBarangDiBarang($tmpEdit[idDetailBeli]); - $jumBarangDetail = getJumBarangDetailPembelian($tmpEdit[idDetailBeli]); - $jumBarangEdit = $jumBarangDetail - $tmpEdit[jumBarang]; - $jumBarangBaru = $jumBarang + $jumBarangEdit; - - mysql_query("UPDATE detail_beli SET tglExpire = '$tmpEdit[tglExpire]', jumBarang = '$tmpEdit[jumBarang]', hargaBeli = '$tmpEdit[hargaBeli]' - WHERE idDetailBeli = '$tmpEdit[idDetailBeli]'") or die(mysql_error()); - mysql_query("UPDATE barang SET jumBarang = '$jumBarangBaru' - WHERE idBarang = '$tmpEdit[idBarang]'") or die(mysql_error()); - } - mysql_query("DELETE FROM tmp_edit_detail_beli WHERE idTransaksiBeli = '$_POST[idNota]'") or die(mysql_error()); - header('location:media.php?module=pembelian_barang&act=detaillaporan&idnota='.$_POST[idNota]); -} elseif ($module == 'laporanpenjualan' AND $act == 'hapuslaporan') { -// echo "Kasir : $_POST[kasir], No Nota : $_POST[idNota]"; - $query = mysql_query("SELECT idBarang, jumBarang FROM detail_jual WHERE idTransaksiJual = '$_POST[idNota]'") or die(mysql_error()); - - while ($penjualan = mysql_fetch_array($query)) { - $queryBarang = mysql_query("SELECT jumBarang FROM barang WHERE idBarang = '$penjualan[idBarang]'") or die(mysql_error()); - $jum = mysql_fetch_array($queryBarang); - $jumBarangBaru = $jum[jumBarang] + $penjualan[jumBarang]; - mysql_query("UPDATE barang SET jumBarang = $jumBarangBaru WHERE idBarang = '$penjualan[idBarang]'") or die(mysql_error()); - } - mysql_query("DELETE FROM detail_jual WHERE idTransaksiJual = '$_POST[idNota]'") or die(mysql_error()); - mysql_query("DELETE FROM transaksijual WHERE idTransaksiJual = '$_POST[idNota]'") or die(mysql_error()); + mysql_query($sql) or die(mysql_error()); + } + } + + // update transaksibeli + mysql_query("UPDATE transaksibeli SET last_update='$last_update', nominal=$nominal + WHERE idTransaksiBeli='$_POST[idNota]'") or die(mysql_error()); + + // hapus data temporary + mysql_query("DELETE FROM tmp_edit_detail_retur_beli WHERE idTransaksiBeli='$_POST[idNota]'") or die(mysql_error()); + header('location:media.php?module=pembelian_barang'); +} +elseif ($module == 'editlaporanpembelian' AND $act == 'inputtemp') { // ==================================================================================== + mysql_query("INSERT INTO tmp_edit_detail_beli(idDetailBeli,idTransaksiBeli,idBarang,tglExpire,jumBarang,hargaBeli) + SELECT detail_beli.idDetailBeli,detail_beli.idTransaksiBeli,detail_beli.idBarang,detail_beli.tglExpire, + detail_beli.jumBarang,detail_beli.hargaBeli + from detail_beli,barang where barang.idBarang=detail_beli.idBarang AND detail_beli.idTransaksiBeli='$_POST[idNota]' AND detail_beli.idTransaksiBeli != 0") or die(mysql_error()); + header('location:media.php?module=pembelian_barang&act=editlaporan&idnota=' . $_POST[idNota]); +} +elseif ($module == 'editlaporanpembelian' AND $act == 'simpanedit') { // ----------------------------------------------------------------------------------- +// echo "Edit nota $_POST[idNota]"; + $query=mysql_query("SELECT idDetailBeli, idBarang,tglExpire,jumBarang,hargaBeli FROM tmp_edit_detail_beli WHERE idTransaksiBeli='$_POST[idNota]'") or die(mysql_error()); + while ($tmpEdit=mysql_fetch_array($query)) { + $jumBarang=getJumBarangDiBarang($tmpEdit[idDetailBeli]); + $jumBarangDetail=getJumBarangDetailPembelian($tmpEdit[idDetailBeli]); + $jumBarangEdit=$jumBarangDetail - $tmpEdit[jumBarang]; + $jumBarangBaru=$jumBarang + $jumBarangEdit; + + mysql_query("UPDATE detail_beli SET tglExpire='$tmpEdit[tglExpire]', jumBarang='$tmpEdit[jumBarang]', hargaBeli='$tmpEdit[hargaBeli]' + WHERE idDetailBeli='$tmpEdit[idDetailBeli]'") or die(mysql_error()); + mysql_query("UPDATE barang SET jumBarang='$jumBarangBaru' + WHERE idBarang='$tmpEdit[idBarang]'") or die(mysql_error()); + } + mysql_query("DELETE FROM tmp_edit_detail_beli WHERE idTransaksiBeli='$_POST[idNota]'") or die(mysql_error()); + header('location:media.php?module=pembelian_barang&act=detaillaporan&idnota=' . $_POST[idNota]); +} +elseif ($module == 'laporanpenjualan' AND $act == 'hapuslaporan') { +// echo "Kasir : $_POST[kasir], No Nota : $_POST[idNota]"; + $query=mysql_query("SELECT idBarang, jumBarang FROM detail_jual WHERE idTransaksiJual='$_POST[idNota]'") or die(mysql_error()); + + while ($penjualan=mysql_fetch_array($query)) { + $queryBarang=mysql_query("SELECT jumBarang FROM barang WHERE idBarang='$penjualan[idBarang]'") or die(mysql_error()); + $jum=mysql_fetch_array($queryBarang); + $jumBarangBaru=$jum[jumBarang] + $penjualan[jumBarang]; + mysql_query("UPDATE barang SET jumBarang=$jumBarangBaru WHERE idBarang='$penjualan[idBarang]'") or die(mysql_error()); + } + mysql_query("DELETE FROM detail_jual WHERE idTransaksiJual='$_POST[idNota]'") or die(mysql_error()); + mysql_query("DELETE FROM transaksijual WHERE idTransaksiJual='$_POST[idNota]'") or die(mysql_error()); } // Hapus tmp cetak perbarcode elseif ($module == 'labelperbarcode' AND $act == 'hapus') { - mysql_query("DELETE FROM tmp_cetak_label_perbarcode WHERE id = '$_GET[id]'"); - $kategori = isset($_GET['kategori']) ? '&kategori='.$_GET['kategori']:''; - header('location:media.php?module=barang&act=cetakperbarcode'.$kategori); -} // end -// Hapus semua tmp cetak perbarcode -elseif ($module == 'labelperbarcode' AND $act == 'hapussemua') { - $sqlHapus = "DELETE FROM tmp_cetak_label_perbarcode"; - if (isset($_GET['kategori'])){ - $sqlHapus .= " WHERE tmpKategori = '{$_GET['kategori']}'"; - } - mysql_query($sqlHapus); - header('location:media.php?module=barang&act=cetakperbarcode'); + mysql_query("DELETE FROM tmp_cetak_label_perbarcode WHERE id='$_GET[id]'"); + header('location:media.php?module=barang&act=cetakperbarcode'); } // end // simpan RPO elseif ($module == 'buat_rpo' AND $act == 'input') { - $tgl = date("Y-m-d H:i:s"); - - $NomorStruk = 0; -// cetak struk ------------- -// ambil footer & header struk - $sql = "SELECT `option`,`value` FROM config"; - $hasil = mysql_query($sql) or die(mysql_error()); - while ($x = mysql_fetch_array($hasil)) { - if ($x[option] == 'store_name') { - $store_name = $x[value]; - }; - if ($x[option] == 'receipt_header1') { - $header1 = $x[value]; - }; - if ($x[option] == 'receipt_footer1') { - $footer1 = $x[value]; - }; - if ($x[option] == 'receipt_footer2') { - $footer2 = $x[value]; - }; - }; - -// ambil alamat printer - $sql = "SELECT w.printer_commands, w.printer_type FROM kasir AS k, workstation AS w - WHERE k.tglTutupKasir IS NULL AND k.idUser = $_SESSION[iduser] AND k.currentWorkstation = w.idWorkstation"; - $hasil = mysql_query($sql) or die(mysql_error()); - $x = mysql_fetch_array($hasil); - $perintah_printer = $x['printer_commands']; - $jenis_printer = $x['printer_type']; - -// ambil transaksi yang akan dicetak - $sql = "SELECT t.jumBarang,t.hargaJual,b.namaBarang FROM barang AS b, tmp_detail_jual AS t + $tgl=date("Y-m-d H:i:s"); + + $NomorStruk=0; + // cetak struk ------------- + // ambil footer & header struk + $sql="SELECT `option`,`value` FROM config"; + $hasil=mysql_query($sql) or die(mysql_error()); + while ($x=mysql_fetch_array($hasil)) { + if ($x[option] == 'store_name') { + $store_name=$x[value]; + }; + if ($x[option] == 'receipt_header1') { + $header1=$x[value]; + }; + if ($x[option] == 'receipt_footer1') { + $footer1=$x[value]; + }; + if ($x[option] == 'receipt_footer2') { + $footer2=$x[value]; + }; + }; + + // ambil alamat printer + $sql="SELECT w.printer_commands, w.printer_type FROM kasir AS k, workstation AS w + WHERE k.tglTutupKasir IS NULL AND k.idUser=$_SESSION[iduser] AND k.currentWorkstation=w.idWorkstation"; + $hasil=mysql_query($sql) or die(mysql_error()); + $x=mysql_fetch_array($hasil); + $perintah_printer=$x['printer_commands']; + $jenis_printer=$x['printer_type']; + + // ambil transaksi yang akan dicetak + $sql="SELECT t.jumBarang,t.hargaJual,b.namaBarang FROM barang AS b, tmp_detail_jual AS t WHERE t.username='$_SESSION[uname]' AND t.barcode=b.barcode"; - $hasil = mysql_query($sql); - -// siapkan string yang akan dicetak - $struk = str_pad($store_name, 40, " ", STR_PAD_BOTH)."\n".str_pad($header1, 40, " ", STR_PAD_BOTH)."\n".str_pad($_SESSION[uname]." : ".date("d-m-Y H:i")." #$NomorStruk", 40, " ", STR_PAD_BOTH)." \n"; - - $struk .= "-------------------------------------\n"; - while ($x = mysql_fetch_array($hasil)) { -//$temp = $x[jumBarang] . "x ". $x[namaBarang]. " @".number_format($x[hargaJual],0,',','.'). -// ": ".number_format(($x[hargaJual] * $x[jumBarang]),0,',','.')."\n"; - $temp = $x[namaBarang]."\n @ ".number_format($x[hargaJual], 0, ',', '.')." x ".$x[jumBarang]. - " = ".number_format(($x[hargaJual] * $x[jumBarang]), 0, ',', '.')."\n"; -// jika panjang baris > 40 huruf, pecah jadi 2 baris -//if (strlen($temp) > 40) { -// $tmp = substr($temp, 0, 40) . "- \n -" . substr($temp, 40); -// $temp = $tmp; -//}; - $struk .= $temp; - } - $struk .= "-------------------------------------\n"; - $struk .= " TOTAL : ".number_format($_POST['tot_pembelian'], 0, ',', '.')." \n"; - $struk .= "-------------------------------------\n"; - $struk .= str_pad($footer1, 40, " ", STR_PAD_BOTH)."\n".str_pad($footer2, 40, " ", STR_PAD_BOTH)."\n\n\n\n\n\n\n\n\n\n\n\n\n"; - - if ($jenis_printer == 'pdf') { - require('classes/fpdf.php'); - $pdf = new FPDF(); - $pdf->AddPage(); - $pdf->SetFont('Arial', '', 9); - $struk_pdf = explode("\n", $struk); - foreach ($struk_pdf as $baris) { - $width = 40; - $length = 1; - $pdf->Cell($width, $length, $baris); - $pdf->Ln(3); - } - $pdf->Output(); - } elseif ($jenis_printer == 'rlpr') { - include "classes/PrintSend.php"; - include "classes/PrintSendLPR.php"; - $perintah = "echo \"$struk\" |lpr $perintah_printer -l"; - exec($perintah, $output); - } - - - -// generate file CSV nya -// format isi file CSV untuk RPO : -// $data[0] = barcode -// $data[1] = idBarang - ignored -// $data[2] = namaBarang -// $data[3] = jumlah Barang / jumBarang -// $data[4] = hargaBeli - ignored -// $data[5] = hargaJual - ignored -// $data[6] = RRP (Recommended Retail Price) - ignored -// $data[7] = namaSatuanBarang -// $data[8] = namaKategoriBarang -// $data[9] = Supplier -// $data[10] = username - ignored -// persiapan membuat output file CSV - $csv = "\"barcode\",\"idBarang\",\"namaBarang\",\"jumBarang\",\"hargaBeli\",\"hargaJual\",\"RRP\",\"SatuanBarang\",\"KategoriBarang\",\"Supplier\",\"kasir\"\n"; - -// cari nama gudang ini - $hasil = mysql_query("SELECT value FROM config WHERE `option` = 'store_name'"); - $x = mysql_fetch_array($hasil); - $namaGudang = ""; - $namaGudang = $x['value']; - - $hasil1 = mysql_query("SELECT * FROM tmp_detail_jual WHERE idCustomer = '$_SESSION[idCustomer]' AND username = '$_SESSION[uname]'"); - while ($x = mysql_fetch_array($hasil1)) { - -// cari namaBarang - $hasil2 = mysql_query("SELECT namaBarang, idKategoriBarang, idSatuanBarang FROM barang WHERE barcode='".$x['barcode']."'"); - $y = mysql_fetch_array($hasil2); - $namaBarang = $y['namaBarang']; - $idKategoriBarang = $y['idKategoriBarang']; - $idSatuanBarang = $y['idSatuanBarang']; - -// cari namaSatuanBarang - $hasil2 = mysql_query("SELECT namaSatuanBarang FROM satuan_barang WHERE idSatuanBarang=".$idSatuanBarang); - $y = mysql_fetch_array($hasil2); - $namaSatuanBarang = $y[namaSatuanBarang]; - -// cari namaKategoriBarang - $hasil2 = mysql_query("SELECT namaKategoriBarang FROM kategori_barang WHERE idKategoriBarang=".$idKategoriBarang); - $y = mysql_fetch_array($hasil2); - $namaKategoriBarang = $y[namaKategoriBarang]; - - $csv .= "\"".$x['barcode']."\",\"".$x['idBarang']."\",\"".$namaBarang."\",\"".$x['jumBarang']."\",\"".$x['hargaJual']."\",\"".$x['hargaJual']."\",\"".$x['hargaJual']."\",\"".$namaSatuanBarang."\",\"".$namaKategoriBarang."\",\"".$namaGudang."\",\"".$_SESSION['uname']."\"\n"; - }; // while ($x = mysql_fetch_array($hasil)) { -// kirim output CSV ke browser untuk di download -// cari nama Customer - $hasil2 = mysql_query("SELECT namaSupplier FROM supplier WHERE idSupplier='".$_SESSION['idCustomer']."'"); - $y = mysql_fetch_array($hasil2); - $namaSupplier = $y['namaSupplier']; -//$namaFile = $namaSupplier . "-" . date("Y-m-d--H-i"); -// masukkan nama toko ini ke nama file csv - $namaToko = $store_name; - $namaToko = str_replace(' ', '_', $namaToko); - $namaFile = 'PO-'.$namaToko."-".date("Y-m-d--H-i").".csv"; - -// hapus transaksi jual ini dari table tmp_detail_jual - mysql_query("DELETE FROM tmp_detail_jual WHERE idCustomer = '$_SESSION[idCustomer]' AND username = '$_SESSION[uname]'"); - $_SESSION['tot_pembelian'] = 0; - releaseCustomer(); - - header("Content-type: text/csv"); - header("Content-Disposition: attachment; filename=\"$namaFile\""); - header("Pragma: no-cache"); - header("Expires: 0"); - echo $csv; - -// hapus transaksi jual ini dari table tmp_detail_jual - mysql_query("DELETE FROM tmp_detail_jual WHERE idCustomer = '$_SESSION[idCustomer]' AND username = '$_SESSION[uname]'"); - $_SESSION['tot_pembelian'] = 0; - - unset($_SESSION['idCustomer']); - unset($_SESSION['periode']); - unset($_SESSION['range']); - unset($_SESSION['persediaan']); - releaseCustomer(); + $hasil=mysql_query($sql); + + // siapkan string yang akan dicetak + $struk=str_pad($store_name, 40, " ", STR_PAD_BOTH) . "\n" . str_pad($header1, 40, " ", STR_PAD_BOTH) . "\n" . str_pad($_SESSION[uname] . " : " . date("d-m-Y H:i") . " #$NomorStruk", 40, " ", STR_PAD_BOTH) . " \n"; + + $struk .= "-------------------------------------\n"; + while ($x=mysql_fetch_array($hasil)) { + //$temp=$x[jumBarang] . "x ". $x[namaBarang]. " @".number_format($x[hargaJual],0,',','.'). + // ": ".number_format(($x[hargaJual] * $x[jumBarang]),0,',','.')."\n"; + $temp=$x[namaBarang] . "\n @ " . number_format($x[hargaJual], 0, ',', '.') . " x " . $x[jumBarang] . + "=" . number_format(($x[hargaJual] * $x[jumBarang]), 0, ',', '.') . "\n"; + // jika panjang baris > 40 huruf, pecah jadi 2 baris + //if (strlen($temp) > 40) { + // $tmp=substr($temp, 0, 40) . "- \n -" . substr($temp, 40); + // $temp=$tmp; + //}; + $struk .= $temp; + } + $struk .= "-------------------------------------\n"; + $struk .= " TOTAL : " . number_format($_POST['tot_pembelian'], 0, ',', '.') . " \n"; + $struk .= "-------------------------------------\n"; + $struk .= str_pad($footer1, 40, " ", STR_PAD_BOTH) . "\n" . str_pad($footer2, 40, " ", STR_PAD_BOTH) . "\n\n\n\n\n\n\n\n\n\n\n\n\n"; + + if ($jenis_printer == 'pdf') { + require('classes/fpdf.php'); + $pdf=new FPDF(); + $pdf->AddPage(); + $pdf->SetFont('Arial', '', 9); + $struk_pdf=explode("\n", $struk); + foreach ($struk_pdf as $baris) { + $width=40; + $length=1; + $pdf->Cell($width, $length, $baris); + $pdf->Ln(3); + } + $pdf->Output(); + } + elseif ($jenis_printer == 'rlpr') { + include SITE_ROOT."sistem/classes/PrintSend.php"; + include SITE_ROOT."sistem/classes/PrintSendLPR.php"; + $perintah="echo \"$struk\" |lpr $perintah_printer -l"; + exec($perintah, $output); + } + + + + // generate file CSV nya + // format isi file CSV untuk RPO : + // $data[0]=barcode + // $data[1]=idBarang - ignored + // $data[2]=namaBarang + // $data[3]=jumlah Barang / jumBarang + // $data[4]=hargaBeli - ignored + // $data[5]=hargaJual - ignored + // $data[6]=RRP (Recommended Retail Price) - ignored + // $data[7]=namaSatuanBarang + // $data[8]=namaKategoriBarang + // $data[9]=Supplier + // $data[10]=username - ignored + // persiapan membuat output file CSV + $csv="\"barcode\",\"idBarang\",\"namaBarang\",\"jumBarang\",\"hargaBeli\",\"hargaJual\",\"RRP\",\"SatuanBarang\",\"KategoriBarang\",\"Supplier\",\"kasir\"\n"; + + // cari nama gudang ini + $hasil=mysql_query("SELECT value FROM config WHERE `option`='store_name'"); + $x=mysql_fetch_array($hasil); + $namaGudang=""; + $namaGudang=$x['value']; + + $hasil1=mysql_query("SELECT * FROM tmp_detail_jual WHERE idCustomer='$_SESSION[idCustomer]' AND username='$_SESSION[uname]'"); + while ($x=mysql_fetch_array($hasil1)) { + + // cari namaBarang + $hasil2=mysql_query("SELECT namaBarang, idKategoriBarang, idSatuanBarang FROM barang WHERE barcode='" . $x['barcode'] . "'"); + $y=mysql_fetch_array($hasil2); + $namaBarang=$y['namaBarang']; + $idKategoriBarang=$y['idKategoriBarang']; + $idSatuanBarang=$y['idSatuanBarang']; + + // cari namaSatuanBarang + $hasil2=mysql_query("SELECT namaSatuanBarang FROM satuan_barang WHERE idSatuanBarang=" . $idSatuanBarang); + $y=mysql_fetch_array($hasil2); + $namaSatuanBarang=$y[namaSatuanBarang]; + + // cari namaKategoriBarang + $hasil2=mysql_query("SELECT namaKategoriBarang FROM kategori_barang WHERE idKategoriBarang=" . $idKategoriBarang); + $y=mysql_fetch_array($hasil2); + $namaKategoriBarang=$y[namaKategoriBarang]; + + $csv .= "\"" . $x['barcode'] . "\",\"" . $x['idBarang'] . "\",\"" . $namaBarang . "\",\"" . $x['jumBarang'] . "\",\"" . $x['hargaBeli'] . "\",\"" . $x['hargaJual'] . "\",\"" . $x['hargaJual'] . "\",\"" . $namaSatuanBarang . "\",\"" . $namaKategoriBarang . "\",\"" . $namaGudang . "\",\"" . $_SESSION['uname'] . "\"\n"; + }; // while ($x=mysql_fetch_array($hasil)) { + // kirim output CSV ke browser untuk di download + // cari nama Customer + $hasil2=mysql_query("SELECT namaSupplier FROM supplier WHERE idSupplier='" . $_SESSION['idCustomer'] . "'"); + $y=mysql_fetch_array($hasil2); + $namaSupplier=$y['namaSupplier']; + //$namaFile=$namaSupplier . "-" . date("Y-m-d--H-i"); + // masukkan nama toko ini ke nama file csv + $namaToko=$store_name; + $namaToko=str_replace(' ', '_', $namaToko); + $namaFile='PO-' . $namaToko . "-" . date("Y-m-d--H-i") . ".csv"; + + // hapus transaksi jual ini dari table tmp_detail_jual + mysql_query("DELETE FROM tmp_detail_jual WHERE idCustomer='$_SESSION[idCustomer]' AND username='$_SESSION[uname]'"); + $_SESSION['tot_pembelian']=0; + releaseCustomer(); + + header("Content-type: text/csv"); + header("Content-Disposition: attachment; filename=\"$namaFile\""); + header("Pragma: no-cache"); + header("Expires: 0"); + echo $csv; + + // hapus transaksi jual ini dari table tmp_detail_jual + mysql_query("DELETE FROM tmp_detail_jual WHERE idCustomer='$_SESSION[idCustomer]' AND username='$_SESSION[uname]'"); + $_SESSION['tot_pembelian']=0; + + unset($_SESSION['idCustomer']); + unset($_SESSION['periode']); + unset($_SESSION['range']); + unset($_SESSION['persediaan']); + releaseCustomer(); } // simpan Config elseif ($module == 'system' AND $act == 'setting-simpan') { - if (isset($_POST['config'])) { - $config = $_POST['config']; - foreach ($config as $option => $value) { - mysql_query("update config set value = '{$value}' where `option` = '{$option}'") or die(mysql_error()); - } - header("Refresh:1; url=media.php?module={$module}&act=setting", true, 303); - echo 'Setting sudah disimpan..'; - } + if (isset($_POST['config'])) { + $config=$_POST['config']; + foreach ($config as $option => $value) { + mysql_query("update config set value='{$value}' where `option`='{$option}'") or die(mysql_error()); + } + header("Refresh:1; url=media.php?module={$module}&act=setting", true, 303); + echo 'Setting sudah disimpan..'; + } } // Ambil data barang bermasalah dengan idKategori dan idSatuan elseif ($module == 'system' && $act == 'maintenance-barang') { - $result = mysql_query(' - select barcode, namaBarang, barang.idSatuanBarang, barang.idKategoriBarang - from barang - left join kategori_barang kb on barang.idKategoriBarang = kb.idKategoriBarang - left join satuan_barang sb on barang.idSatuanBarang = sb.idSatuanBarang - where kb.idKategoriBarang is null or sb.idSatuanBarang is null - ') or die('Gagal cari data barang error, error: '.mysql_error()); - ?> - - - 0): - ?> - - - - - - - - - - - - - 0) { - while ($barang = mysql_fetch_array($result)) { - ?> - > - - - - - - - - - - - -
BarcodeNama BarangKategori BarangSatuan Barang
>>
Data tidak ditemukan
- - + + + 0): + ?> + + + + + + + + + + + + + 0) { + while ($barang=mysql_fetch_array($result)) { + ?> + > + + + + + + + + + + + +
BarcodeNama BarangKategori BarangSatuan Barang
>>
Data tidak ditemukan
+ + 0) { - if (!cekDiskonAdmin($uid)) { - - } - $response = array('sukses' => true); - echo json_encode($response); -//echo '{sukses: true}'; - } elseif (mysql_affected_rows() < 0) { - echo json_encode(array('sukses' => false)); - } - } + if (isset($_POST['pk'])) { + $uid=$_POST['pk']; + $hj=$_POST['value']; + $sql="update tmp_detail_jual set hargaJual=$hj where uid=$uid"; + $result=mysql_query($sql) or die(mysql_error()); + + if (mysql_affected_rows() > 0) { + if (!cekDiskonAdmin($uid)) { + + } + $response=array('sukses' => true); + echo json_encode($response); + //echo '{sukses: true}'; + } + elseif (mysql_affected_rows() < 0) { + echo json_encode(array('sukses' => false)); + } + } } // Ambil nama barang dan harga jual, info ketika entry diskon elseif ($module === 'diskon' && $act === "getbarcodeinfo") { - if (isset($_GET['barcode'])) { - $barcode = $_GET['barcode']; - $hasil = cekBarang($barcode); - echo $hasil['namaBarang'].' :: Rp. '.number_format($hasil['hargaJual'], 0, ',', '.'); - } -} elseif ($module === 'hargabanded' && $act === 'getnamabarang') { - if (isset($_GET['term'])) { - $namaBarang = $_GET['term']; - echo $term; - $sql = "SELECT barcode, namaBarang FROM barang where namaBarang like '%{$namaBarang}%' ORDER BY IFNULL(NULLIF(nonAktif,'0'),0), namaBarang ASC"; - $hasil = mysql_query($sql); - $barangs = array(); - while ($barang = mysql_fetch_array($hasil, MYSQL_ASSOC)) { - $barangs[] = array( - 'id' => $barang['barcode'], - 'label' => $barang['namaBarang'], - 'value' => $barang['namaBarang'], - ); - } - - echo json_encode($barangs); - } -} elseif ($module == 'inputreturbeli2' AND $act == 'simpan') { - $sql = "SELECT * FROM tmp_edit_detail_retur_beli"; - $queryAwal = mysql_query($sql); - $username = $_SESSION['uname']; - $idSupplier = $_SESSION['idSupplier']; - $last_update = date("Y-m-d"); - while ($barangRetur = mysql_fetch_array($queryAwal)) { - - $jumBarangDetail = getJumBarangDetailPembelian($barangRetur['idDetailBeli']); - $jumBarangDetailBaru = $jumBarangDetail - $barangRetur['jumRetur']; - - $jumBarangDiBarang = getJumBarangDiBarang(null, $barangRetur['barcode']); - $jumBarangBaru = $jumBarangDiBarang - $barangRetur['jumRetur']; - -// update nota pembelian - if ($jumBarangDetailBaru >= 0) { - $sql = "UPDATE detail_beli SET jumBarang = {$jumBarangDetailBaru}"; - if ($jumBarangDetailBaru == 0) { - $sql.=", isSold='Y'"; - } - $sql .= " WHERE idDetailBeli = {$barangRetur['idDetailBeli']}"; - mysql_query($sql) or die(mysql_error()); - } else { -// Jika < 0, berarti cari detail_beli - $sisa = $barangRetur['jumRetur']; - $query = mysql_query("SELECT * FROM detail_beli WHERE barcode='{$barangRetur['barcode']}' and isSold='N' ORDER BY idDetailBeli"); - while ($dbeli = mysql_fetch_array($query)) { - if ($sisa == 0) { - break; - } - $jumBarangDetail = getJumBarangDetailPembelian($dbeli['idDetailBeli']); - if ($sisa > $jumBarangDetail) { - $sql = "UPDATE detail_beli SET jumBarang=0, isSold='Y' WHERE idDetailBeli = {$dbeli['idDetailBeli']}"; - mysql_query($sql) or die('Gagal update detail_beli, error:'.mysql_error()); - $sisa -= $jumBarangDetail; -// Masih ada sisa, lanjutkan ke detail_beli selanjutnya - } else { - $jumBarangDetailB = $jumBarangDetail - $sisa; - $sql = "UPDATE detail_beli SET jumBarang={$jumBarangDetailB}"; - if ($jumBarangDetailB == 0) { - $sql.=", isSold='Y'"; - } - $sql.=" WHERE idDetailBeli = {$dbeli['idDetailBeli']}"; - mysql_query($sql) or die('Gagal update detail_beli, error:'.mysql_error()); - $sisa = 0; - } - } - /* Jika masih ada sisa (berarti stok tercatat kurang), saat ini diabaikan. */ - } - -// update stok barang - mysql_query("UPDATE barang SET jumBarang = $jumBarangBaru - WHERE barcode = '{$barangRetur['barcode']}'") or die(mysql_error()); - - $z = $barangRetur; - $totalRetur = $z['jumRetur'] * $z['hargaBeli']; - - $queryTransaksiBeli = mysql_query("SELECT * FROM transaksibeli where idTransaksiBeli={$z['idTransaksiBeli']}"); - $transaksiBeli = mysql_fetch_array($queryTransaksiBeli, MYSQL_ASSOC); - $nominalBaru = $transaksiBeli['nominal'] - $totalRetur; -// simpan nominal baru -// update transaksibeli - mysql_query("UPDATE transaksibeli SET last_update = '{$last_update}', nominal = {$nominalBaru} - WHERE idTransaksiBeli = {$z['idTransaksiBeli']}") or die(mysql_error()); - -// input transaksi retur ke database - $sql = "INSERT INTO detail_retur_beli (idTransaksiBeli,idBarang,tglExpire,jumRetur,hargaBeli,barcode, - username,idSupplier,nominal,idTipePembayaran,NomorInvoice,tglRetur) - VALUES ({$z['idTransaksiBeli']},{$z['idBarang']},'{$z['tglExpire']}',{$z['jumRetur']},{$z['hargaBeli']},'{$z['barcode']}', - '{$username}', {$idSupplier}, $totalRetur, {$transaksiBeli['idTipePembayaran']}, '{$transaksiBeli['NomorInvoice']}','{$last_update}')"; - mysql_query($sql) or die('Gagal Insert detail_retur_beli, sql='.$sql.'; error:'.mysql_error()); - } -// hapus data temporary - mysql_query("DELETE FROM tmp_edit_detail_retur_beli") or die(mysql_error()); - header('location:media.php?module=pembelian_barang'); -} elseif ($module == 'inputreturbeli2' && $act == 'batal') { -// hapus data temporary - mysql_query("DELETE FROM tmp_edit_detail_retur_beli") or die(mysql_error()); - header('location:media.php?module=pembelian_barang'); -} elseif ($module === 'membership' && $act === 'simpan') { - if (isset($_POST['config'])) { - $config = $_POST['config']; - foreach ($config as $option => $value) { - mysql_query("update config set value = '{$value}' where `option` = '{$option}'") or die(mysql_error()); - } - header("Refresh:1; url=media.php?module={$module}&act=setting", true, 303); - echo 'Setting membership sudah disimpan..'; - } -} elseif ($module === 'membership' && $act === 'tambahperiode') { - if (isset($_POST['periode'])) { - $periode = $_POST['periode']; -//insert ke tabel - mysql_query("INSERT INTO periode_poin (nama, awal, akhir) VALUES('{$periode['nama']}',{$periode['awal']},{$periode['akhir']})") or die('Gagal Insert Periode Poin'); - - header('location:media.php?module=membership'); - } -} elseif ($module === 'membership' && $act === 'hapusperiode') { - if (isset($_GET['periodeId'])) { - $periodeId = $_GET['periodeId']; -//hapus periode - mysql_query("DELETE FROM periode_poin WHERE id = {$periodeId}") or die('Gagal Hapus Periode Poin: '.mysql_error()); - } - header('location:media.php?module=membership'); -} elseif ($module === 'laporan' && $act === 'jumlahpoin') { - if (isset($_POST['laporan'])) { - $param = $_POST['laporan']; - $sql = "SELECT awal, akhir FROM periode_poin WHERE id= {$param['periode']}"; - $query = mysql_query($sql); - $periode = mysql_fetch_array($query, MYSQL_ASSOC); - $sort = $param['sort'] == 1 ? 'DESC' : 'ASC'; - - $sql = "SELECT poin.*, customer.nomor_kartu, customer.namaCustomer, customer.alamatCustomer, - customer.telpCustomer, customer.email, customer.handphone, customer.nomor_ktp, customer.tanggal_lahir - FROM - ( - SELECT SUM(jumlah_poin) jumlah_poin, idCustomer - FROM transaksijual - WHERE YEAR(tglTransaksiJual)= {$param['tahun']} AND - MONTH(tglTransaksiJual) BETWEEN {$periode['awal']} AND {$periode['akhir']} - GROUP BY idCustomer - HAVING SUM(jumlah_poin) between {$param['jumlahDari']} AND {$param['jumlahSampai']} - ) AS poin - JOIN customer ON poin.idCustomer = customer.idCustomer AND customer.member=1 - ORDER BY poin.jumlah_poin {$sort}, customer.namaCustomer"; - $query = mysql_query($sql); - ?> - - - - - -

Laporan Jumlah Poin

-

Periode -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
No KartuNamaJumlah PoinAlamatTelpHandphoneEmailNo KTPTgl Lahir
- - - - AddPage(); - $pdf->SetFont('Courier', '', 9); - $struk_pdf = explode("\n", $struk); - foreach ($struk_pdf as $baris) { - $width = 40; - $length = 1; - $pdf->Cell($width, $length, $baris); - $pdf->Ln(3); - } - $pdf->Output(); - break; - case 'text': - header("Content-type: text/plain"); - header("Content-Disposition: attachment; filename=\"struk-{$nomorNotaPenjualan}.text\""); - header("Pragma: no-cache"); - header("Expire: 0"); - echo $struk; - exit; - break; - } -} elseif ($module == 'barang' AND $act == 'approvemso-getbarang') { - if (isset($_POST['rak-id'])) { - $rakId = $_POST['rak-id']; - /* mobile so - * fast_stock_opname.selisih = jumlah fisik, - * fast_stock_opname.jmlTercatat = jumlah tercatat pada saat scan - */ - $sql = "SELECT fast_stock_opname.*, rak.namaRak, barang.jumBarang - FROM fast_stock_opname - JOIN rak on fast_stock_opname.idRak = rak.idRak - JOIN barang on barang.barcode = fast_stock_opname.barcode - WHERE approved=0 AND char_length(fast_stock_opname.namaBarang) > 0 AND fast_stock_opname.idRak = {$rakId}"; - $hasil = mysql_query($sql); - $ctr = 1; - while ($barang = mysql_fetch_array($hasil, MYSQL_ASSOC)) { - ?> - - - value=> - - - - value=> - checked=yes> - # - > - - - - - - - - > - - - - ][selisih]" value=> - - # - - - - - false - ); - if (isset($_POST['cek-harga-barcode'])) { - $barcode = $_POST['cek-harga-barcode']; - $sql = "SELECT namaBarang, hargaJual,jumBarang FROM barang WHERE barcode = '{$barcode}'"; - $result = mysql_query($sql); - if ($barang = mysql_fetch_array($result, MYSQL_ASSOC)) { - $return = array( - 'sukses' => true, - 'barcode' => $barcode, - 'nama' => $barang['namaBarang'], - 'harga' => number_format($barang['hargaJual'], 0, ',', '.'), - 'stok' => $barang['jumBarang'] - ); - } - } - header('Content-type: application/json'); - echo json_encode($return); -} elseif ($module === 'penjualan' && $act === 'getnamabarangstok') { - if (isset($_GET['term'])) { - $namaBarang = $_GET['term']; - echo $term; - $sql = "SELECT barcode, namaBarang, jumBarang FROM barang where namaBarang like '%{$namaBarang}%' ORDER BY IFNULL(NULLIF(nonAktif,'0'),0), namaBarang ASC"; - $hasil = mysql_query($sql); - $barangs = array(); - while ($barang = mysql_fetch_array($hasil, MYSQL_ASSOC)) { - $barangs[] = array( - 'id' => $barang['barcode'], - 'label' => "{$barang['namaBarang']} ({$barang['jumBarang']})", - 'value' => $barang['namaBarang'], - ); - } - - echo json_encode($barangs); - } + if (isset($_GET['barcode'])) { + $barcode=$_GET['barcode']; + $hasil=cekBarang($barcode); + echo $hasil['namaBarang'] . ' :: Rp. ' . number_format($hasil['hargaJual'], 0, ',', '.'); + } } -// Nomor Kartu Customer -elseif ($module == 'retur_jual_barang' AND $act == 'nomorkartuinput') { - if (isset($_POST['nomor-kartu'])) { - $return = array('sukses' => false); - $nomorKartu = $_POST['nomor-kartu']; - $result = mysql_query("select idCustomer from customer where nomor_kartu='{$nomorKartu}'"); - $customer = mysql_fetch_array($result); - if ($customer) { - findCustomer($customer['idCustomer']); - mysql_query("UPDATE tmp_detail_retur_barang SET idCustomer = {$customer['idCustomer']} WHERE username = '{$_SESSION['uname']}'"); - - $return = array('sukses' => true); - } - } - header('Content-type: application/json'); - echo json_encode($return); -} -// Ambil kategori barang per rak -elseif ($module == 'so' AND $act == 'kategorirak') { - if (isset($_GET['rakId'])) { - $sql = "SELECT distinct barang.`idKategoriBarang`, k.`namaKategoriBarang` - FROM barang - JOIN kategori_barang k on barang.`idKategoriBarang`= k.`idKategoriBarang` - WHERE idRak={$_GET['rakId']} AND (nonAktif!=1 or nonAktif is null) - ORDER BY k.`namaKategoriBarang`"; - $result = mysql_query($sql); - ?> - - - - 0 - ORDER BY k.`namaKategoriBarang`"; - - /* spesial untuk rak virtual */ - if ($_GET['darirak']=='999999' && $_GET['sampairak']=='999999'){ - $sql = "SELECT distinct barang.`idKategoriBarang`, k.`namaKategoriBarang` - FROM barang - LEFT JOIN kategori_barang k on barang.`idKategoriBarang`= k.`idKategoriBarang` - WHERE barang.idRak=999999 AND (nonAktif!=1 or nonAktif is null) AND jumBarang <> 0 - ORDER BY k.`namaKategoriBarang`"; - } - $result = mysql_query($sql); - ?> - - - - $barang['barcode'], + 'label' => $barang['namaBarang'], + 'value' => $barang['namaBarang'], + ); + } + + echo json_encode($barangs); + } } // else else { // ======================================================================================================================================= - echo "Tidak Ada Aksi untuk modul ini"; + echo "Tidak Ada Aksi untuk modul ini"; } /* CHANGELOG ----------------------------------------------------------- - 1.6.0 / 2013-05-01 : Herwono : fitur : cetak label harga perbarcode - 1.6.0 / 2013-02-24 : Harry Sufehmi : fitur : transfer barang antar sesama pengguna AhadPOS - 1.6.0 / 2013-02-21 : Harry Sufehmi : revisi: cetak struk : kini nama barang & harga dipisah menjadi 2 baris - 1.6.0 / 2013-02-07 : Harry Sufehmi : bugfix: hapus barang kini sudah bisa - 1.2.5 / 2012-04-17 : Harry Sufehmi : bugfix: hapus satuan barang tidak berfungsi - 1.2.5 / 2012-03-16 : Harry Sufehmi : bugfix: kini perubahan barang (dari Barang - Cari Barang - Ubah) disimpan dengan benar - (branch "($module=='barang' AND $act=='update')") - 1.2.5 / 2012-02-14 : Harry Sufehmi : bugfix: kini Retur Pembelian ($act=='simpanretur') akan mengurangi jumlah stok (jumBarang) di table barang dengan benar - 1.0.3 / 2011-07-14 : Harry Sufehmi : jika ganti / edit barcode, maka otomatis barcode ybs di table-table lainnya juga di update - 1.0.2 / 2011-03-04 : Harry Sufehmi : jika user biasa ganti password, kembali ke Home - 1.0.1 / 2010-06-03 : Harry Sufehmi : penambahan fasilitas workstation management, print ke PDF - - 0.9.1 : Gregorius Arief : initial release - - ------------------------------------------------------------------------ */ +1.6.0 / 2013-05-01 : Herwono : fitur : cetak label harga perbarcode +1.6.0 / 2013-02-24 : Harry Sufehmi : fitur : transfer barang antar sesama pengguna AhadPOS +1.6.0 / 2013-02-21 : Harry Sufehmi : revisi: cetak struk : kini nama barang & harga dipisah menjadi 2 baris +1.6.0 / 2013-02-07 : Harry Sufehmi : bugfix: hapus barang kini sudah bisa +1.2.5 / 2012-04-17 : Harry Sufehmi : bugfix: hapus satuan barang tidak berfungsi +1.2.5 / 2012-03-16 : Harry Sufehmi : bugfix: kini perubahan barang (dari Barang - Cari Barang - Ubah) disimpan dengan benar +(branch "($module=='barang' AND $act=='update')") +1.2.5 / 2012-02-14 : Harry Sufehmi : bugfix: kini Retur Pembelian ($act=='simpanretur') akan mengurangi jumlah stok (jumBarang) di table barang dengan benar +1.0.3 / 2011-07-14 : Harry Sufehmi : jika ganti / edit barcode, maka otomatis barcode ybs di table-table lainnya juga di update +1.0.2 / 2011-03-04 : Harry Sufehmi : jika user biasa ganti password, kembali ke Home +1.0.1 / 2010-06-03 : Harry Sufehmi : penambahan fasilitas workstation management, print ke PDF + +0.9.1 : Gregorius Arief : initial release + +------------------------------------------------------------------------ */ ?> diff --git a/sistem/buka_kasir.php b/sistem/buka_kasir.php index 5a5f5b6..5a4a57e 100644 --- a/sistem/buka_kasir.php +++ b/sistem/buka_kasir.php @@ -1,6 +1,6 @@ -
Untuk mengakses modul, Anda harus login
"; - echo "LOGIN
"; -} -else{ +check_ahadpos_session(); ?> - Halaman Login AhadPOS - + -
+

Menu Buka Kasir

> - - - + + + - +
User :
Tanggal :
Uang Kas Awal :
User
Tanggal
Uang Kas Awal
 
BATAL   
BATAL 

 

-
+
0) { - session_start(); - #session_register("idUser"); - #session_register("namauser"); - #session_register("passuser"); - #session_register("leveluser"); - #session_register("uname"); - - $_SESSION[namauser] = $r[namaUser]; - $_SESSION[iduser] = $r[idUser]; - $_SESSION[leveluser] = $r[levelUser]; - $_SESSION[uname] = $r[uname]; - - - // cek jika ada upgrade database yang perlu dilakukan - include "upgrade_check.php"; -} -else { - echo ""; - echo "
Login gagal! username & password tidak benar
"; - echo "ULANGI LAGI
"; -} - - - -/* CHANGELOG ----------------------------------------------------------- - - 1.5.0 / 2012-11-25 : Harry Sufehmi : clean up + upgrade_check.php - - 1.0.2 : Gregorius Arief : initial release - - ------------------------------------------------------------------------ */ -?> + 0) { + session_start(); + #session_register("idUser"); + #session_register("namauser"); + #session_register("passuser"); + #session_register("leveluser"); + #session_register("uname"); + + $_SESSION[namauser]=$r[namaUser]; + $_SESSION[iduser]=$r[idUser]; + $_SESSION[leveluser]=$r[levelUser]; + $_SESSION[uname]=$r[uname]; + + + // cek jika ada upgrade database yang perlu dilakukan + include SITE_ROOT."sistem/upgrade_check.php"; +} +else { + ta_logingagal(); +} + + + +/* CHANGELOG ----------------------------------------------------------- + +1.5.0 / 2012-11-25 : Harry Sufehmi : clean up + upgrade_check.php + +1.0.2 : Gregorius Arief : initial release + +------------------------------------------------------------------------ */ +?> diff --git a/sistem/coba.php b/sistem/coba.php index a0e99ea..5f9f1c1 100644 --- a/sistem/coba.php +++ b/sistem/coba.php @@ -1,4 +1,4 @@ - - -

Selamat Datang

-

Hai , id Anda = . - Anda menjabat sebagai - di sistem ini. Pergunakanlah dengan bijak jabatan Anda.

-

Kas Awal Anda adalah : Rp.

-

Uang Transaksi : Rp.

-

 

- - -

(Berita terbaru seputar AhadPOS bisa didapatkan dari :
- http://www.rimbalinux.com/projects/ahadpos/news.html dan AhadPOS.com) -

- -

- - "; - } - ?> - -

 

-

Waktu Login Saat ini: | -

- + diff --git a/sistem/index.php b/sistem/index.php index d6bcaef..8afeb1d 100644 --- a/sistem/index.php +++ b/sistem/index.php @@ -1,43 +1,55 @@ - - - - - Halaman Login AhadPOS - - - - -
-
- -
- - - -
-
- - - - + + + +
+
+ +
+ +
+
+ + +
+
+ + +
+
+ +
+
+ +
+

— Point of Sales —
+It's an AhadPOS — Copyright © 2011 by Rimbalinux.com.

+
+ +
+ + + + \ No newline at end of file diff --git a/sistem/logout.php b/sistem/logout.php index 5e59c1e..5af9476 100644 --- a/sistem/logout.php +++ b/sistem/logout.php @@ -1,28 +1,28 @@ - + diff --git a/sistem/media.php b/sistem/media.php index 23d4383..41bdd96 100644 --- a/sistem/media.php +++ b/sistem/media.php @@ -1,82 +1,46 @@ - -
Untuk mengakses modul, Anda harus login
"; - echo "LOGIN
"; -} else { - ?> - - - - - Halaman AhadPOS - - - - - - - - - - - - -
- - -
- -
- -
- - - - -
- - - - - +\n"; +require_once("menu2.php"); +?> +
+
+ +
+
+ +
+
— Point of Sales — — +It's an AhadPOS — Copyright © 2011 by Rimbalinux.com.
+
+ +
+ + + + \ No newline at end of file diff --git a/sistem/menu.php b/sistem/menu.php index fff220f..58e2563 100644 --- a/sistem/menu.php +++ b/sistem/menu.php @@ -1,50 +1,51 @@ -» $data[namaModul]"; -} - -$semua = mysql_query("select * from modul where idLevelUser = 1"); -while ($dataSemua=mysql_fetch_array($semua)){ - echo "
  • » $dataSemua[namaModul]
  • "; -} - - -/* CHANGELOG ----------------------------------------------------------- - - 1.0.2 : Gregorius Arief : initial release - ------------------------------------------------------------------------- */ - -?> +» $data[namaModul]"; +} + +$semua=mysql_query("select * from modul where idLevelUser=1"); +while ($dataSemua=mysql_fetch_array($semua)){ +echo "
  • » $dataSemua[namaModul]
  • "; +} + + +/* CHANGELOG ----------------------------------------------------------- + +1.0.2 : Gregorius Arief : initial release + +------------------------------------------------------------------------ */ + +?> diff --git a/sistem/menu2.php b/sistem/menu2.php index 9e9248e..d0662f0 100644 --- a/sistem/menu2.php +++ b/sistem/menu2.php @@ -1,97 +1,113 @@ - -
      - -
    • > - - - -
    • - -
    - + + + + + + + \ No newline at end of file diff --git a/sistem/modul/_js_retur_beli.php b/sistem/modul/_js_retur_beli.php deleted file mode 100644 index 80150d9..0000000 --- a/sistem/modul/_js_retur_beli.php +++ /dev/null @@ -1,217 +0,0 @@ - - - - -
    - -
    -
    - RETUR BELI :
    - -
    -
    -
    - - -
    - - -
    - - -
    - -
    - -
    -
    - - -
    - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NoNota BeliBarcodeNama BarangJumlah AsliJumlah ReturHargaTotalHapus
    '>
    - - -
    - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    Total Retur Beli :
    Tipe Pembayaran : - -
    Surcharge : -
    - - -
    -
    - - -
    -
    Batal   
    -
    -
    -
    - - Belum ada barang yang diretur
    - - - -
    - -
    \ No newline at end of file diff --git a/sistem/modul/ajax-check-dup-barcode.php b/sistem/modul/ajax-check-dup-barcode.php index 9b7bb72..e330a45 100644 --- a/sistem/modul/ajax-check-dup-barcode.php +++ b/sistem/modul/ajax-check-dup-barcode.php @@ -1,6 +1,6 @@ 0) { return 'ERROR: Barcode Sudah Ada !'; }; @@ -33,8 +33,8 @@ function check_barcode($barcode){ /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.7.5 : Harry Sufehmi : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.7.5 : Harry Sufehmi : initial release ------------------------------------------------------------------------ */ diff --git a/sistem/modul/function.php b/sistem/modul/function.php index 8f57e97..c17c23a 100644 --- a/sistem/modul/function.php +++ b/sistem/modul/function.php @@ -1,1395 +1,1226 @@ 0 + //cekBarangTempJual($idBarang); + $ukmMode=is_null($hargaBarang) ? false : true; + + $dataAda=cekBarang($barcode); + if ($dataAda != 0) { + $jumlah=0; +// if($jumBarang==0){ + // quantity can not be 0 (zero) or less than that + if ($jumBarang < 1) { + $jumlah=1; + } + else { + $jumlah=$jumBarang; + } + $tgl=date("Y-m-d H:i:s"); + $jualBarang=mysql_query("SELECT * FROM barang WHERE barcode='$barcode'") or die(mysql_error()); + $jual=mysql_fetch_array($jualBarang); + + // bugfix : + // "ORDER BY idDetailBeli" diganti menjadi "ORDER BY idTransaksiBeli" + // karena, banyak database di berbagai toko Ahad mart yang isi idDetailBeli nya ngaco + // (banyak field idDetailBeli yang isinya 0 [nol]) + // cari hargaBeli & idBarang nya + $sql="SELECT * FROM detail_beli + WHERE isSold='N' AND barcode='$barcode' AND jumBarang > 0 ORDER BY idTransaksiBeli ASC LIMIT 1"; - //echo $sql; - $hasil = mysql_query($sql); - if (mysql_num_rows($hasil) < 1) { // jika tidak ada / stok sudah habis semua, coba cari lagi dengan menyertakan stok barang = 0 - // tampilkan stok yang terakhir dibeli (ORDER BY idDetailBeli DESC) - $sql = "SELECT * FROM detail_beli - WHERE barcode = '$barcode' + //echo $sql; + $hasil=mysql_query($sql); + if (mysql_num_rows($hasil) < 1) { // jika tidak ada / stok sudah habis semua, coba cari lagi dengan menyertakan stok barang=0 + // tampilkan stok yang terakhir dibeli (ORDER BY idDetailBeli DESC) + $sql="SELECT * FROM detail_beli + WHERE barcode='$barcode' ORDER BY idTransaksiBeli DESC LIMIT 1"; - $hasil = mysql_query($sql); - } - - $detilBarang = mysql_fetch_array($hasil); - if (mysql_num_rows($hasil) > 0) { - $hargaBeli = $detilBarang[hargaBeli]; - $idBarang = $detilBarang[idBarang]; - } else { - // not supposed to ever happen, but just to be safe.... - //fixme: kalau seluruh stok barang sudah habis (sehingga jadi masuk ke blok ini) - // -- coba lagi dengan record terakhir utk barang ybs di detail_beli, walaupun isSold=Y - $hargaBeli = 0; - $idBarang = 0; - } - - /* - * ukmMode: Jika tidak ada $hargaBarang / ukmMode==false maka dipakai harga jual asli - */ - if (!$ukmMode) { - $hargaBarang = $jual['hargaJual']; - } - - $sql = "INSERT into tmp_detail_jual(idCustomer, tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('$_SESSION[idCustomer]','$tgl','$barcode', - '$jumlah','$hargaBeli','$hargaBarang','$_SESSION[uname]', $idBarang)"; - - mysql_query($sql) or die(mysql_error()); - $uid = mysql_insert_id(); - - // Jika transfer ahad / retur beli, maka diskon dan harga banded diabaikan - if ($uid && !($transferAhad || $returBeli)) { - // Cek dan sekaligus tambahkan diskon jika ada - if ($ukmMode) { - /* - * ukmMode: cek diskon admin terlebih dahulu - */ - cekDiskonAdmin($uid, $barcode, $jumlah); - } else { - cekDiskon($uid, $barcode, $jumlah); - } - - /* - * Cek dan terapkan harga banded, diskon akan diabaikan (overwrite) - */ - $paramJual = array( - 'tgl' => $tgl, - 'hargaBeli' => $hargaBeli, - 'hargaBarang' => $hargaBarang, - 'idBarang' => $idBarang, - ); - cekHargaBanded($uid, $barcode, $jumlah, $paramJual); - } - } else { - echo "Barang tidak ada"; - } + $hasil=mysql_query($sql); + } + + $detilBarang=mysql_fetch_array($hasil); + if (mysql_num_rows($hasil) > 0) { + $hargaBeli=$detilBarang[hargaBeli]; + $idBarang=$detilBarang[idBarang]; + } + else { + // not supposed to ever happen, but just to be safe.... + //fixme: kalau seluruh stok barang sudah habis (sehingga jadi masuk ke blok ini) + // -- coba lagi dengan record terakhir utk barang ybs di detail_beli, walaupun isSold=Y + $hargaBeli=0; + $idBarang=0; + } + + /* + * ukmMode: Jika tidak ada $hargaBarang / ukmMode==false maka dipakai harga jual asli + */ + if (!$ukmMode) { + $hargaBarang=$jual['hargaJual']; + } + + $sql="INSERT into tmp_detail_jual(idCustomer, tglTransaksi, + barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) + VALUES('$_SESSION[idCustomer]','$tgl','$barcode', + '$jumlah','$hargaBeli','$hargaBarang','$_SESSION[uname]', $idBarang)"; + + mysql_query($sql) or die(mysql_error()); + $uid=mysql_insert_id(); + if ($uid) { + // Cek dan sekaligus tambahkan diskon jika ada + if ($ukmMode) { + /* + * ukmMode: cek diskon admin terlebih dahulu + */ + cekDiskonAdmin($uid, $barcode, $jumlah); + } + else { + cekDiskon($uid, $barcode, $jumlah); + } + + /* + * Cek dan terapkan harga banded, diskon akan diabaikan (overwrite) + */ + $paramJual=array( + 'tgl' => $tgl, + 'hargaBeli' => $hargaBeli, + 'hargaBarang' => $hargaBarang, + 'idBarang' => $idBarang, + ); + cekHargaBanded($uid, $barcode, $jumlah, $paramJual); + } + } + else { + echo "Barang tidak ada"; + } } function cekDiskon($uid, $barcode, $jumBarang) { - // Cek dan tambahkan diskon waktu/promo jika ada - // Jika ada diskon waktu/promo, maka diskon member tidak ada (untuk barang yang sama) - if (!cekDiskonWaktu($uid) && $_SESSION['isMember']) { - cekDiskonWaktuMember($uid); - } - // eo diskon waktu - // Cek dan tambahkan diskon grosir jika ada - // ctt: Diskon grosir akan menambah diskon waktu/promo jika ada - $diskonGrosir = cekDiskonGrosir($barcode, $jumBarang); - if ($diskonGrosir) { - //echo 'ketemu diskon grosir'; - tambahkanDiskonGrosir($barcode, $diskonGrosir); - } - // eo diskon grosir - - $diskonCustomer = cekDiskonCustomer($_SESSION['idCustomer']); - if ($diskonCustomer) { - //echo 'ketemu diskon customer'; - tambahkanDiskonCustomer($barcode, $diskonCustomer); - } + // Cek dan tambahkan diskon waktu/promo jika ada + cekDiskonWaktu($uid); + // eo diskon waktu + // Cek dan tambahkan diskon grosir jika ada + // ctt: Diskon grosir akan menambah diskon waktu/promo jika ada + $diskonGrosir=cekDiskonGrosir($barcode, $jumBarang); + if ($diskonGrosir) { + //echo 'ketemu diskon grosir'; + tambahkanDiskonGrosir($barcode, $diskonGrosir); + } + // eo diskon grosir + + $diskonCustomer=cekDiskonCustomer($_SESSION['idCustomer']); + if ($diskonCustomer) { + //echo 'ketemu diskon customer'; + tambahkanDiskonCustomer($barcode, $diskonCustomer); + } } function tambahkanDiskonCustomer($barcode, $diskonCustomer) { - $sql = "select uid, diskon_persen, diskon_rupiah, diskon_detail_uids, b.hargaJual + $sql="select uid, diskon_persen, diskon_rupiah, diskon_detail_uids, b.hargaJual from tmp_detail_jual tdj - join barang b on b.barcode = tdj.barcode - where tdj.username = '{$_SESSION['uname']}' and idCustomer = {$_SESSION['idCustomer']} and tdj.barcode = '$barcode'"; - $hasil = mysql_query($sql) or die("DC: Gagal ambil detail_jual, error: ".mysql_error()); - while ($tdj = mysql_fetch_array($hasil)): - $nilaiDiskonCustomer = 0; - if ($diskonCustomer['diskon_persen'] > 0) { - $nilaiDiskonCustomer = $diskonCustomer['diskon_persen'] / 100 * $tdj['hargaJual']; - } else { - $nilaiDiskonCustomer = $diskonCustomer['diskon_rupiah']; - } - $totalDiskon = $nilaiDiskonCustomer; - $hargaJual = $tdj['hargaJual'] - $totalDiskon; - - $uidsDiskon = array('2' => $totalDiskon); // Diskon Customer idnya adalah 2 - // Jika sebelumnya ada diskon waktu/promo, - // 1. kurangi lagi hargaJual, - // 2. tambahkan lagi nilai diskon - // 3. tambahkan lagi uid diskon detail - if ($tdj['diskon_rupiah'] > 0) { - $uidsDiskon = json_decode($tdj['diskon_detail_uids'], true); - - // tambahkan nilai diskonnya - if ($diskonCustomer['diskon_persen'] > 0) { - $nilaiDiskonCustomer = $diskonCustomer['diskon_persen'] / 100 * ($tdj['hargaJual'] - $tdj['diskon_rupiah']); - } else { - $nilaiDiskonCustomer = $diskonCustomer['diskon_rupiah']; - } - $totalDiskon = $tdj['diskon_rupiah'] + $nilaiDiskonCustomer; - - $uidsDiskon['2'] = $nilaiDiskonCustomer; - // kurangi hargaJual nya - $hargaJual = $tdj['hargaJual'] - $totalDiskon; - } - // simpan lagi - // simpan hanya nilai diskon rupiahnya, - // diskon persen di nol kan - $uidsDiskon = json_encode($uidsDiskon); - //echo 'diskon Customer:'.$uidsDiskon; - $sql = "update tmp_detail_jual set hargaJual = {$hargaJual}, diskon_persen = 0, diskon_rupiah = {$totalDiskon}, diskon_detail_uids='{$uidsDiskon}' " - ." where uid={$tdj['uid']}"; - //echo $sql; - mysql_query($sql) or die("Gagal menambahkan diskon customer, error: ".mysql_error()); - endwhile; + join barang b on b.barcode=tdj.barcode + where tdj.username='{$_SESSION['uname']}' and idCustomer={$_SESSION['idCustomer']} and tdj.barcode='$barcode'"; + $hasil=mysql_query($sql) or die("DC: Gagal ambil detail_jual, error: " . mysql_error()); + while ($tdj=mysql_fetch_array($hasil)): + $nilaiDiskonCustomer=0; + if ($diskonCustomer['diskon_persen'] > 0) { + $nilaiDiskonCustomer=$diskonCustomer['diskon_persen'] / 100 * $tdj['hargaJual']; + } + else { + $nilaiDiskonCustomer=$diskonCustomer['diskon_rupiah']; + } + $totalDiskon=$nilaiDiskonCustomer; + $hargaJual=$tdj['hargaJual'] - $totalDiskon; + + $uidsDiskon=array('2' => $totalDiskon); // Diskon Customer idnya adalah 2 + // Jika sebelumnya ada diskon waktu/promo, + // 1. kurangi lagi hargaJual, + // 2. tambahkan lagi nilai diskon + // 3. tambahkan lagi uid diskon detail + if ($tdj['diskon_rupiah'] > 0) { + $uidsDiskon=json_decode($tdj['diskon_detail_uids'], true); + + // tambahkan nilai diskonnya + if ($diskonCustomer['diskon_persen'] > 0) { + $nilaiDiskonCustomer=$diskonCustomer['diskon_persen'] / 100 * ($tdj['hargaJual'] - $tdj['diskon_rupiah']); + } + else { + $nilaiDiskonCustomer=$diskonCustomer['diskon_rupiah']; + } + $totalDiskon=$tdj['diskon_rupiah'] + $nilaiDiskonCustomer; + + $uidsDiskon['2']=$nilaiDiskonCustomer; + // kurangi hargaJual nya + $hargaJual=$tdj['hargaJual'] - $totalDiskon; + } + // simpan lagi + // simpan hanya nilai diskon rupiahnya, + // diskon persen di nol kan + $uidsDiskon=json_encode($uidsDiskon); + //echo 'diskon Customer:'.$uidsDiskon; + $sql="update tmp_detail_jual set hargaJual={$hargaJual}, diskon_persen=0, diskon_rupiah={$totalDiskon}, diskon_detail_uids='{$uidsDiskon}' " + . " where uid={$tdj['uid']}"; + //echo $sql; + mysql_query($sql) or die("Gagal menambahkan diskon customer, error: " . mysql_error()); + endwhile; } function cekDiskonCustomer($idCustomer) { - $sql = "select diskon_persen, diskon_rupiah " - ."from customer " - ."where idCustomer={$idCustomer}"; - $hasil = mysql_query($sql) or die('Gagal ambil data diskon customer, error: '.mysql_error()); - $diskon = mysql_fetch_array($hasil); - if ($diskon['diskon_persen'] > 0 || $diskon['diskon_rupiah'] > 0) { - return $diskon; - } else { - return false; - } + $sql="select diskon_persen, diskon_rupiah " + . "from customer " + . "where idCustomer={$idCustomer}"; + $hasil=mysql_query($sql) or die('Gagal ambil data diskon customer, error: ' . mysql_error()); + $diskon=mysql_fetch_array($hasil); + if ($diskon['diskon_persen'] > 0 || $diskon['diskon_rupiah'] > 0) { + return $diskon; + } + else { + return false; + } } function cekDiskonGrosir($barcode, $jumBarang) { - // Cek tabel diskon_detail, apakah ada skema diskon grosir yang cocok - $sql = "select dd.uid, dd.diskon_persen, dd.diskon_rupiah + // Cek tabel diskon_detail, apakah ada skema diskon grosir yang cocok + $sql="select dd.uid, dd.diskon_persen, dd.diskon_rupiah from diskon_detail dd - where barcode = '$barcode' and + where barcode='$barcode' and dd.tanggal_dari<= now() and (dd.tanggal_sampai='0000-00-00 00:00:00' or tanggal_sampai >= now() ) and dd.min_item<=$jumBarang and dd.diskon_tipe_id=1000 and dd.status=1 order by dd.uid desc"; - $hasil = mysql_query($sql) or die("Gagal cek diskon grosir, error: ".mysql_error()); - return mysql_fetch_array($hasil); + $hasil=mysql_query($sql) or die("Gagal cek diskon grosir, error: " . mysql_error()); + return mysql_fetch_array($hasil); } function tambahkanDiskonGrosir($barcode, $diskonGrosir) { - $sql = "select uid, diskon_persen, diskon_rupiah, diskon_detail_uids, b.hargaJual + $sql="select uid, diskon_persen, diskon_rupiah, diskon_detail_uids, b.hargaJual from tmp_detail_jual tdj - join barang b on b.barcode = tdj.barcode - where tdj.username = '{$_SESSION['uname']}' and idCustomer = {$_SESSION['idCustomer']} and tdj.barcode = '$barcode'"; - $hasil = mysql_query($sql) or die("DG: Gagal ambil detail_jual, error: ".mysql_error()); - while ($tdj = mysql_fetch_array($hasil)): - - // Hitung nilai diskon grosir - $nilaiDiskonGrosir = 0; - if ($diskonGrosir['diskon_persen'] > 0) { - $nilaiDiskonGrosir = $diskonGrosir['diskon_persen'] / 100 * $tdj['diskon_rupiah']; - } else { - $nilaiDiskonGrosir = $diskonGrosir['diskon_rupiah']; - } - $hargaJual = $tdj['hargaJual'] - $nilaiDiskonGrosir; - $totalDiskon = $nilaiDiskonGrosir; - - $uidsDiskon = array($diskonGrosir['uid'] => $totalDiskon); - - // Jika sebelumnya ada diskon waktu/promo, - // 1. kurangi lagi hargaJual, - // 2. tambahkan lagi nilai diskon - // 3. tambahkan lagi uid diskon detail - - if ($tdj['diskon_rupiah'] > 0) { - // ambil uid diskon sebelumnya - $uidsDiskon = json_decode($tdj['diskon_detail_uids'], true); - - // tambahkan nilai diskonnya - if ($diskonGrosir['diskon_persen'] > 0) { - $nilaiDiskonGrosir = $diskonGrosir['diskon_persen'] / 100 * ($tdj['hargaJual'] - $tdj['diskon_rupiah']); - } else { - $nilaiDiskonGrosir = $diskonGrosir['diskon_rupiah']; - } - $totalDiskon = $tdj['diskon_rupiah'] + $nilaiDiskonGrosir; - - // tambahkan uid diskon grosir: - $uidsDiskon[$diskonGrosir['uid']] = $nilaiDiskonGrosir; - - // kurangi hargaJual nya - $hargaJual = $tdj['hargaJual'] - $totalDiskon; - } - // simpan lagi - // simpan hanya nilai diskon rupiahnya, - // diskon persen di nol kan - $uidsDiskon = json_encode($uidsDiskon); - //echo 'diskon grosir: '.$uidsDiskon.' ::'; - $sql = "update tmp_detail_jual set hargaJual = {$hargaJual}, diskon_persen = 0, diskon_rupiah = {$totalDiskon}, diskon_detail_uids='{$uidsDiskon}' " - ." where uid={$tdj['uid']}"; - //echo $sql; - mysql_query($sql) or die("Gagal menambahkan diskon grosir, error: ".mysql_error()); - endwhile; + join barang b on b.barcode=tdj.barcode + where tdj.username='{$_SESSION['uname']}' and idCustomer={$_SESSION['idCustomer']} and tdj.barcode='$barcode'"; + $hasil=mysql_query($sql) or die("DG: Gagal ambil detail_jual, error: " . mysql_error()); + while ($tdj=mysql_fetch_array($hasil)): + + // Hitung nilai diskon grosir + $nilaiDiskonGrosir=0; + if ($diskonGrosir['diskon_persen'] > 0) { + $nilaiDiskonGrosir=$diskonGrosir['diskon_persen'] / 100 * $tdj['diskon_rupiah']; + } + else { + $nilaiDiskonGrosir=$diskonGrosir['diskon_rupiah']; + } + $hargaJual=$tdj['hargaJual'] - $nilaiDiskonGrosir; + $totalDiskon=$nilaiDiskonGrosir; + + $uidsDiskon=array($diskonGrosir['uid'] => $totalDiskon); + + // Jika sebelumnya ada diskon waktu/promo, + // 1. kurangi lagi hargaJual, + // 2. tambahkan lagi nilai diskon + // 3. tambahkan lagi uid diskon detail + + if ($tdj['diskon_rupiah'] > 0) { + // ambil uid diskon sebelumnya + $uidsDiskon=json_decode($tdj['diskon_detail_uids'], true); + + // tambahkan nilai diskonnya + if ($diskonGrosir['diskon_persen'] > 0) { + $nilaiDiskonGrosir=$diskonGrosir['diskon_persen'] / 100 * ($tdj['hargaJual'] - $tdj['diskon_rupiah']); + } + else { + $nilaiDiskonGrosir=$diskonGrosir['diskon_rupiah']; + } + $totalDiskon=$tdj['diskon_rupiah'] + $nilaiDiskonGrosir; + + // tambahkan uid diskon grosir: + $uidsDiskon[$diskonGrosir['uid']]=$nilaiDiskonGrosir; + + // kurangi hargaJual nya + $hargaJual=$tdj['hargaJual'] - $totalDiskon; + } + // simpan lagi + // simpan hanya nilai diskon rupiahnya, + // diskon persen di nol kan + $uidsDiskon=json_encode($uidsDiskon); + //echo 'diskon grosir: '.$uidsDiskon.' ::'; + $sql="update tmp_detail_jual set hargaJual={$hargaJual}, diskon_persen=0, diskon_rupiah={$totalDiskon}, diskon_detail_uids='{$uidsDiskon}' " + . " where uid={$tdj['uid']}"; + //echo $sql; + mysql_query($sql) or die("Gagal menambahkan diskon grosir, error: " . mysql_error()); + endwhile; } function cekDiskonWaktu($uid) { - $adaDiskonWaktu = false; - // diskon_tipe_id = 1001 - $sql = "select dd.uid, dd.diskon_persen, dd.diskon_rupiah, b.hargaJual, tdj.jumBarang, dd.max_item, + // diskon_tipe_id=1001 + $sql="select dd.uid, dd.diskon_persen, dd.diskon_rupiah, b.hargaJual, tdj.jumBarang, dd.max_item, tdj.tglTransaksi, tdj.barcode, tdj.hargaBeli, tdj.idCustomer,tdj.username, tdj.idBarang from tmp_detail_jual tdj - join diskon_detail dd on dd.barcode = tdj.barcode - join barang b on b.barcode = dd.barcode + join diskon_detail dd on dd.barcode=tdj.barcode + join barang b on b.barcode=dd.barcode where tdj.uid=$uid and dd.status=1 and dd.tanggal_dari<= now() and (dd.tanggal_sampai='0000-00-00 00:00:00' or tanggal_sampai >= now() ) and diskon_tipe_id=1001 order by dd.uid desc limit 1"; - $result = mysql_query($sql) or die('Gagal cek diskon promo, error: '.mysql_error()); - $dataDiskon = mysql_fetch_array($result); - if ($dataDiskon) { - $diskonDetailId = $dataDiskon['uid']; - $diskonPersen = $dataDiskon['diskon_persen']; - $diskonRupiah = $dataDiskon['diskon_rupiah']; - $hargaJual = $dataDiskon['hargaJual']; - // Jika ada diskon persen, diskon rupiah diabaikan (dianggap kesalahan input) - if ($diskonPersen > 0) { - $diskon = $diskonPersen / 100 * $hargaJual; - // harga jual dibulatkan ke atas jika berkoma. - $hargaJualNet = ceil($hargaJual - $diskon); - $diskonNet = $hargaJual - $hargaJualNet; - } elseif ($diskonRupiah > 0) { - $diskon = $diskonRupiah; - $hargaJualNet = $hargaJual - $diskon; - $diskonNet = $diskon; - } - - // diskon uid dan value disimpan dalam bentuk json, jika item dikenakan lebih dari 1 diskon - $diskonUids = json_encode(array($diskonDetailId => $diskonNet)); - $jumbarang = $dataDiskon['jumBarang']; - $maxItem = $dataDiskon['max_item']; - if ($jumbarang > $maxItem) { - $sql = "update tmp_detail_jual set jumBarang = {$maxItem}, hargaJual = '{$hargaJualNet}', diskon_persen = $diskonPersen, diskon_rupiah = '$diskonNet', diskon_detail_uids='{$diskonUids}' " - ."where uid=$uid"; - mysql_query($sql) or die('Gagal menambahkan diskon promo1, error: '.mysql_error()); - $sisaBarang = $jumbarang - $maxItem; - $sql = "INSERT into tmp_detail_jual(idCustomer, tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('{$dataDiskon['idCustomer']}','{$dataDiskon['tglTransaksi']}','{$dataDiskon['barcode']}', + $result=mysql_query($sql) or die('Gagal cek diskon promo, error: ' . mysql_error()); + $dataDiskon=mysql_fetch_array($result); + if ($dataDiskon) { + $diskonDetailId=$dataDiskon['uid']; + $diskonPersen=$dataDiskon['diskon_persen']; + $diskonRupiah=$dataDiskon['diskon_rupiah']; + $hargaJual=$dataDiskon['hargaJual']; + // Jika ada diskon persen, diskon rupiah diabaikan (dianggap kesalahan input) + if ($diskonPersen > 0) { + $diskon=$diskonPersen / 100 * $hargaJual; + // harga jual dibulatkan ke atas jika berkoma. + $hargaJualNet=ceil($hargaJual - $diskon); + $diskonNet=$hargaJual - $hargaJualNet; + } + elseif ($diskonRupiah > 0) { + $diskon=$diskonRupiah; + $hargaJualNet=$hargaJual - $diskon; + $diskonNet=$diskon; + } + + // diskon uid dan value disimpan dalam bentuk json, jika item dikenakan lebih dari 1 diskon + $diskonUids=json_encode(array($diskonDetailId => $diskonNet)); + $jumbarang=$dataDiskon['jumBarang']; + $maxItem=$dataDiskon['max_item']; + if ($jumbarang > $maxItem) { + $sql="update tmp_detail_jual set jumBarang={$maxItem}, hargaJual='{$hargaJualNet}', diskon_persen=$diskonPersen, diskon_rupiah='$diskonNet', diskon_detail_uids='{$diskonUids}' " + . "where uid=$uid"; + mysql_query($sql) or die('Gagal menambahkan diskon promo1, error: ' . mysql_error()); + $sisaBarang=$jumbarang - $maxItem; + $sql="INSERT into tmp_detail_jual(idCustomer, tglTransaksi, + barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) + VALUES('{$dataDiskon['idCustomer']}','{$dataDiskon['tglTransaksi']}','{$dataDiskon['barcode']}', {$sisaBarang},{$dataDiskon['hargaBeli']},{$dataDiskon['hargaJual']},'{$dataDiskon['username']}', '{$dataDiskon['idBarang']}')"; - mysql_query($sql) or die('Gagal menambahkan diskon promo2, error: '.mysql_error()); - $uid2 = mysql_insert_id(); - //$return = array($uid => true, $uid2 => false); - } else { - $sql = "update tmp_detail_jual set hargaJual = '{$hargaJualNet}', diskon_persen = $diskonPersen, diskon_rupiah = '$diskonNet', diskon_detail_uids='{$diskonUids}' " - ."where uid=$uid"; - mysql_query($sql) or die('Gagal menambahkan diskon promo0, error: '.mysql_error()); - //$return = array($uid => true); - } - $adaDiskonWaktu = true; - } - return $adaDiskonWaktu; -} - -function cekDiskonWaktuMember($uid) { - $adaDiskonWaktu = false; - // diskon_tipe_id = 1002 - $sql = "select dd.uid, dd.diskon_persen, dd.diskon_rupiah, b.hargaJual, tdj.jumBarang, dd.max_item, - tdj.tglTransaksi, tdj.barcode, tdj.hargaBeli, tdj.idCustomer,tdj.username, tdj.idBarang - from tmp_detail_jual tdj - join diskon_detail dd on dd.barcode = tdj.barcode - join barang b on b.barcode = dd.barcode - where tdj.uid=$uid and dd.status=1 and - dd.tanggal_dari<= now() and - (dd.tanggal_sampai='0000-00-00 00:00:00' or tanggal_sampai >= now() ) and - diskon_tipe_id=1002 - order by dd.uid desc - limit 1"; - $result = mysql_query($sql) or die('Gagal cek diskon promo untuk member, error: '.mysql_error()); - $dataDiskon = mysql_fetch_array($result); - if ($dataDiskon) { - $diskonDetailId = $dataDiskon['uid']; - $diskonPersen = $dataDiskon['diskon_persen']; - $diskonRupiah = $dataDiskon['diskon_rupiah']; - $hargaJual = $dataDiskon['hargaJual']; - // Jika ada diskon persen, diskon rupiah diabaikan (dianggap kesalahan input) - if ($diskonPersen > 0) { - $diskon = $diskonPersen / 100 * $hargaJual; - // harga jual dibulatkan ke atas jika berkoma. - $hargaJualNet = ceil($hargaJual - $diskon); - $diskonNet = $hargaJual - $hargaJualNet; - } elseif ($diskonRupiah > 0) { - $diskon = $diskonRupiah; - $hargaJualNet = $hargaJual - $diskon; - $diskonNet = $diskon; - } - - // diskon uid dan value disimpan dalam bentuk json, jika item dikenakan lebih dari 1 diskon - $diskonUids = json_encode(array($diskonDetailId => $diskonNet)); - $jumbarang = $dataDiskon['jumBarang']; - $maxItem = $dataDiskon['max_item']; - if ($jumbarang > $maxItem) { - $sql = "update tmp_detail_jual set jumBarang = {$maxItem}, hargaJual = '{$hargaJualNet}', diskon_persen = $diskonPersen, diskon_rupiah = '$diskonNet', diskon_detail_uids='{$diskonUids}' " - ."where uid=$uid"; - mysql_query($sql) or die('Gagal menambahkan diskon member promo1, error: '.mysql_error()); - $sisaBarang = $jumbarang - $maxItem; - $sql = "INSERT into tmp_detail_jual(idCustomer, tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('{$dataDiskon['idCustomer']}','{$dataDiskon['tglTransaksi']}','{$dataDiskon['barcode']}', - {$sisaBarang},{$dataDiskon['hargaBeli']},{$dataDiskon['hargaJual']},'{$dataDiskon['username']}', '{$dataDiskon['idBarang']}')"; - mysql_query($sql) or die('Gagal menambahkan diskon member promo2, error: '.mysql_error()); - $uid2 = mysql_insert_id(); - //$return = array($uid => true, $uid2 => false); - } else { - $sql = "update tmp_detail_jual set hargaJual = '{$hargaJualNet}', diskon_persen = $diskonPersen, diskon_rupiah = '$diskonNet', diskon_detail_uids='{$diskonUids}' " - ."where uid=$uid"; - mysql_query($sql) or die('Gagal menambahkan diskon member promo0, error: '.mysql_error()); - //$return = array($uid => true); - } - $adaDiskonWaktu = true; - } - return $adaDiskonWaktu; + mysql_query($sql) or die('Gagal menambahkan diskon promo2, error: ' . mysql_error()); + $uid2=mysql_insert_id(); + $return=array($uid => true, $uid2 => false); + } + else { + $sql="update tmp_detail_jual set hargaJual='{$hargaJualNet}', diskon_persen=$diskonPersen, diskon_rupiah='$diskonNet', diskon_detail_uids='{$diskonUids}' " + . "where uid=$uid"; + mysql_query($sql) or die('Gagal menambahkan diskon promo0, error: ' . mysql_error()); + $return=array($uid => true); + } + return $return; + } + else { + return false; + } } function cekDiskonAdmin($uid, $barcode, $jumlah) { - // Periksa apakah ada perubahan dari hargaJual asli - // Jika ada berarti ada diskon manual dari admin - $sql2 = "select b.hargaJual, tdj.hargaJual as hargaJualTdj, b.hargaJual-tdj.hargaJual as selisih " - ."from barang b " - ."join tmp_detail_jual tdj on tdj.barcode=b.barcode " - ."where tdj.uid=$uid"; - $hasil = mysql_query($sql2) or die(mysql_error()); - $selisih = mysql_fetch_array($hasil); - if ($selisih['selisih'] != 0) { - // PENTING!! Update diskon_detail_uids dengan uid dan value nya; - mysql_query("update tmp_detail_jual set hargaJual= {$selisih['hargaJualTdj']}, diskon_detail_uids='{\"1\":{$selisih['selisih']}}', diskon_rupiah={$selisih['selisih']}, diskon_persen=0 where uid=$uid") or die(mysql_error()); + // Periksa apakah ada perubahan dari hargaJual asli + // Jika ada berarti ada diskon manual dari admin + $sql2="select b.hargaJual, tdj.hargaJual as hargaJualTdj, b.hargaJual-tdj.hargaJual as selisih " + . "from barang b " + . "join tmp_detail_jual tdj on tdj.barcode=b.barcode " + . "where tdj.uid=$uid"; + $hasil=mysql_query($sql2) or die(mysql_error()); + $selisih=mysql_fetch_array($hasil); + if ($selisih['selisih'] != 0) { + // PENTING!! Update diskon_detail_uids dengan uid dan value nya; + mysql_query("update tmp_detail_jual set hargaJual= {$selisih['hargaJualTdj']}, diskon_detail_uids='{\"1\":{$selisih['selisih']}}', diskon_rupiah={$selisih['selisih']}, diskon_persen=0 where uid=$uid") or die(mysql_error()); // mysql_query("update tmp_detail_jual set diskon_detail_uid=1 where uid=$uid") or die(mysql_error()); - return true; - } else { - // Jika tidak ada selisih / tidak ada update dari hak Admin - // Maka cekDiskon lagi - mysql_query("update tmp_detail_jual set diskon_detail_uids=null, diskon_rupiah=0 where uid=$uid") or die(mysql_error()); - cekDiskon($uid, $barcode, $jumlah); - return false; - } + return true; + } + else { + // Jika tidak ada selisih / tidak ada update dari hak Admin + // Maka cekDiskon lagi + mysql_query("update tmp_detail_jual set diskon_detail_uids=0, diskon_rupiah=0 where uid=$uid") or die(mysql_error()); + cekDiskon($uid, $barcode, $jumlah); + return false; + } } function cekCustomerDiskon($customerId) { - $sql = "select diskon_persen, diskon_rupiah from customer where idCustomer = $customerId"; - $result = mysql_query($sql) or die(mysql_error()); - return mysql_fetch_array($result); + $sql="select diskon_persen, diskon_rupiah from customer where idCustomer=$customerId"; + $result=mysql_query($sql) or die(mysql_error()); + return mysql_fetch_array($result); } // ======= HARGA BANDED ======= function cekHargaBanded($uid, $barcode, $jumlah, $paramJual) { - $adaHargaBanded = false; - $sql = "SELECT qty, harga " - ."FROM harga_banded " - ."WHERE barcode = '{$barcode}'"; - $query = mysql_query($sql) or die(mysql_error()); - $hargaBanded = mysql_fetch_array($query, MYSQL_ASSOC); - // print_r($hargaBanded); - if ($hargaBanded && ($hargaBanded['qty'] <= $jumlah)) { - $sisa = $jumlah % $hargaBanded['qty']; - // echo 'sisa = ' . $sisa; - $qtyBanded = $jumlah - $sisa; - // echo 'qtyBanded=' . $qtyBanded; - mysql_query("UPDATE tmp_detail_jual set jumBarang = {$qtyBanded}, hargaJual = {$hargaBanded['harga']} " - ."WHERE uid={$uid}") or die(mysql_error()); - - if ($sisa > 0) { - $sql = "INSERT INTO tmp_detail_jual(idCustomer, tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('$_SESSION[idCustomer]','{$paramJual['tgl']}','$barcode', - '$sisa',{$paramJual['hargaBeli']},{$paramJual['hargaBarang']},'$_SESSION[uname]', {$paramJual['idBarang']})"; - mysql_query($sql) or die(mysql_error()); - } - $adaHargaBanded = true; - } - return $adaHargaBanded; + $sql="SELECT qty, harga " + . "FROM harga_banded " + . "WHERE barcode='{$barcode}'"; + $query=mysql_query($sql) or die(mysql_error()); + $hargaBanded=mysql_fetch_array($query, MYSQL_ASSOC); + // print_r($hargaBanded); + if ($hargaBanded && ($hargaBanded['qty'] <= $jumlah)) { + $sisa=$jumlah % $hargaBanded['qty']; + // echo 'sisa=' . $sisa; + $qtyBanded=$jumlah - $sisa; + // echo 'qtyBanded=' . $qtyBanded; + mysql_query("UPDATE tmp_detail_jual set jumBarang={$qtyBanded}, hargaJual={$hargaBanded['harga']} " + . "WHERE uid={$uid}") or die(mysql_error()); + + if ($sisa > 0) { + $sql="INSERT INTO tmp_detail_jual(idCustomer, tglTransaksi, + barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) + VALUES('$_SESSION[idCustomer]','{$paramJual['tgl']}','$barcode', + '$sisa',{$paramJual['hargaBeli']},{$paramJual['hargaBarang']},'$_SESSION[uname]', {$paramJual['idBarang']})"; + mysql_query($sql) or die(mysql_error()); + } + } } // =========================================== RPO =========================================== function cekBarangTempRPO($idCustomer, $barcode) { - $adaJual = 0; - $sql = "SELECT * from tmp_detail_jual where idCustomer = '$idCustomer' and barcode = '$barcode' and username = '$_SESSION[uname]'"; - $cek = mysql_query($sql); - $adaJual = mysql_num_rows($cek); + $adaJual=0; + $sql="SELECT * from tmp_detail_jual where idCustomer='$idCustomer' and barcode='$barcode' and username='$_SESSION[uname]'"; + $cek=mysql_query($sql); + $adaJual=mysql_num_rows($cek); - return $adaJual; + return $adaJual; } function tambahBarangRPOAda($idCustomer, $barcode, $jumBarang) { - $jumlah = 0; + $jumlah=0; - // jumBarang bisa < 1, yaitu untuk mengurangi jumlah - $jumlah = $jumBarang; + // jumBarang bisa < 1, yaitu untuk mengurangi jumlah + $jumlah=$jumBarang; - $sql = "SELECT jumBarang FROM tmp_detail_jual - WHERE idCustomer = '$idCustomer' AND barcode = '$barcode' AND username='$_SESSION[uname]'"; - $ambilJumBarang = mysql_query($sql); - $dataJum = mysql_fetch_array($ambilJumBarang); + $sql="SELECT jumBarang FROM tmp_detail_jual + WHERE idCustomer='$idCustomer' AND barcode='$barcode' AND username='$_SESSION[uname]'"; + $ambilJumBarang=mysql_query($sql); + $dataJum=mysql_fetch_array($ambilJumBarang); - $jumlah = $jumlah + $dataJum['jumBarang']; + $jumlah=$jumlah + $dataJum['jumBarang']; - $tgl = date("Y-m-d H:i:s"); + $tgl=date("Y-m-d H:i:s"); - $sql = "UPDATE tmp_detail_jual SET jumBarang = '$jumlah', tglTransaksi = '$tgl' - WHERE idCustomer = '$idCustomer' AND barcode = '$barcode' AND username='$_SESSION[uname]'"; - mysql_query($sql); + $sql="UPDATE tmp_detail_jual SET jumBarang='$jumlah', tglTransaksi='$tgl' + WHERE idCustomer='$idCustomer' AND barcode='$barcode' AND username='$_SESSION[uname]'"; + mysql_query($sql); } function tambahBarangRPO($barcode, $jumBarang, $range, $periode, $persediaan) { - $dataAda = cekBarang($barcode); - if ($dataAda != 0) { + $dataAda=cekBarang($barcode); + if ($dataAda != 0) { - $tgl = date("Y-m-d H:i:s"); - $tglrange = date("Y-m-d H:i:s", (time() - ($range * 24 * 60 * 60))); - $jualBarang = mysql_query("SELECT * FROM barang WHERE barcode = '$barcode'") or die(mysql_error()); - $x = mysql_fetch_array($jualBarang); + $tgl=date("Y-m-d H:i:s"); + $tglrange=date("Y-m-d H:i:s", (time() - ($range * 24 * 60 * 60))); + $jualBarang=mysql_query("SELECT * FROM barang WHERE barcode='$barcode'") or die(mysql_error()); + $x=mysql_fetch_array($jualBarang); - $StokSaatIni = $x['jumBarang']; + $StokSaatIni=$x['jumBarang']; - // cari harga modal nya - $sql = "SELECT * FROM detail_beli - WHERE barcode = '$barcode' + // cari harga modal nya + $sql="SELECT * FROM detail_beli + WHERE barcode='$barcode' ORDER BY idTransaksiBeli DESC LIMIT 1"; - $hasil = mysql_query($sql); - - $detilBarang = mysql_fetch_array($hasil); - if (mysql_num_rows($hasil) > 0) { - $hargaBeli = $detilBarang['hargaBeli']; - } else { - $hargaBeli = 0; - } - - // hitung $SaranOrder - // SaranOrder = (TotalPenjualan[$range] / $range) x $persediaan -// $sql = "SELECT SUM(jumBarang) AS total FROM detail_jual AS dj, + $hasil=mysql_query($sql); + + $detilBarang=mysql_fetch_array($hasil); + if (mysql_num_rows($hasil) > 0) { + $hargaBeli=$detilBarang['hargaBeli']; + } + else { + $hargaBeli=0; + } + + // hitung $SaranOrder + // SaranOrder=(TotalPenjualan[$range] / $range) x $persediaan +// $sql="SELECT SUM(jumBarang) AS total FROM detail_jual AS dj, // (SELECT idTransaksiJual FROM transaksijual // WHERE tglTransaksiJual BETWEEN '$tglrange' AND '$tgl') AS tj -// WHERE barcode='$barcode' AND dj.nomorStruk = tj.idTransaksiJual"; - $sql = "select sum(jumBarang) as total +// WHERE barcode='$barcode' AND dj.nomorStruk=tj.idTransaksiJual"; + $sql="select sum(jumBarang) as total from detail_jual dj - join transaksijual tj on tj.idTransaksiJual = dj.nomorStruk + join transaksijual tj on tj.idTransaksiJual=dj.nomorStruk where tj.tglTransaksiJual between DATE_SUB(NOW(), INTERVAL {$range} DAY) AND NOW() and - dj.barcode = '{$barcode}'"; - $hasil = mysql_query($sql) or die(mysql_error()); - $z = mysql_fetch_array($hasil); - - $SaranOrder = round(($z['total'] / $range) * $persediaan) - $StokSaatIni; - - //echo $z['total']." - ".$range." - ".$persediaan." - ".$SaranOrder; - // simpan transaksi di tmp_detail_jual - $sql = "INSERT into tmp_detail_jual(idCustomer, tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('$_SESSION[idCustomer]','$tgl','$barcode', - '$jumBarang','$StokSaatIni',$hargaBeli,'$_SESSION[uname]', $SaranOrder)"; - //echo $sql; - mysql_query($sql) or die(mysql_error()); - } else { - echo "Barang tidak ada"; - } -} - -function tambahBarangRPOperItem($barcode, $jumBarang) { - - $dataAda = cekBarang($barcode); - if ($dataAda != 0) { - - $jualBarang = mysql_query("SELECT * FROM barang WHERE barcode = '$barcode'") or die(mysql_error()); - $x = mysql_fetch_array($jualBarang); - - $StokSaatIni = $x['jumBarang']; - - // cari harga modal nya - $sql = "SELECT * FROM detail_beli - WHERE idDetailBeli= (select max(idDetailBeli) FROM detail_beli WHERE barcode = '{$barcode}')"; - //ORDER BY idTransaksiBeli DESC LIMIT 1"; - $hasil = mysql_query($sql); - - $detilBarang = mysql_fetch_array($hasil); - if (mysql_num_rows($hasil) > 0) { - $hargaBeli = $detilBarang['hargaBeli']; - } else { - $hargaBeli = 0; - } - // simpan transaksi di tmp_detail_jual - $sql = "INSERT into tmp_detail_jual(idCustomer, tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('$_SESSION[idCustomer]', now(),'$barcode', - '$jumBarang','$StokSaatIni',$hargaBeli,'$_SESSION[uname]', {$x['idBarang']})"; - //echo $sql; - mysql_query($sql) or die(mysql_error()); - } else { - echo "Barang tidak ada"; - } + dj.barcode='{$barcode}'"; + $hasil=mysql_query($sql) or die(mysql_error()); + $z=mysql_fetch_array($hasil); + + $SaranOrder=round(($z['total'] / $range) * $persediaan) - $StokSaatIni; + + //echo $z['total']." - ".$range." - ".$persediaan." - ".$SaranOrder; + // simpan transaksi di tmp_detail_jual + $sql="INSERT into tmp_detail_jual(idCustomer, tglTransaksi, + barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) + VALUES('$_SESSION[idCustomer]','$tgl','$barcode', + '$jumBarang','$StokSaatIni',$hargaBeli,'$_SESSION[uname]', $SaranOrder)"; + //echo $sql; + mysql_query($sql) or die(mysql_error()); + } + else { + echo "Barang tidak ada"; + } } // Proses di atas diganti dengan proses di bawah ini, jauh lebih cepat // by abu fathir; function SimpanRPOawalOld1($supplierid, $range, $persediaan, $buffer) { - // ambil daftar barang supplier ybs - $sql = "SELECT b.barcode, b.namaBarang, b.jumBarang FROM barang AS b - WHERE b.idSupplier = ".$supplierid; - $hasil1 = mysql_query($sql); - - while ($x = mysql_fetch_array($hasil1)) { - - // cari harga beli nya - $sql = "SELECT db.hargaBeli - FROM detail_beli AS db - WHERE db.barcode = '".$x['barcode']."' - ORDER BY db.idTransaksiBeli DESC LIMIT 1 - "; - $hasil2 = mysql_query($sql); - if ($z = mysql_fetch_array($hasil2)) { - $hargaBeli = $z['hargaBeli']; - } else { - $hargaBeli = 0; - }; - - // cari SO (Saran Order) - $tglakhir = date("Y-m-d H:i:s"); - $tglawal = date("Y-m-d H:i:s", (time() - ($range * 24 * 60 * 60))); - - $sql = "SELECT SUM(jumBarang) AS total FROM detail_jual AS dj, - (SELECT idTransaksiJual FROM transaksijual - WHERE tglTransaksiJual BETWEEN '$tglawal' AND '$tglakhir') AS tj - WHERE barcode='".$x['barcode']."' AND dj.nomorStruk = tj.idTransaksiJual"; - //echo $sql; - $hasil3 = mysql_query($sql); - $y = mysql_fetch_array($hasil3); - - $AvgDaily = ($y['total'] / $range); - //$BufferStock = 0 + (($SaranOrder * $buffer) / 100); - // SaranOrder = ((Avg Daily x Periode Persediaan) + Buffer Stock) - JumlahStokSaatIni - $SaranOrder = round($AvgDaily * $persediaan); - $BufferStock = 0 + (($SaranOrder * $buffer) / 100); - $SaranOrder = round($SaranOrder + $BufferStock); - $SaranOrder = $SaranOrder - $x['jumBarang']; - if ($SaranOrder < 0) { - $SaranOrder = 0; - }; - - // Dikali 100 untuk menyimpan 2 digit pecahan, - // karena idBarang itu integer / tidak bisa menyimpan pecahan - $AvgDaily = $AvgDaily * 100; - - // simpan RPO awal di tmp_detail_jual - $sql = "INSERT INTO tmp_detail_jual(idCustomer, tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('$_SESSION[idCustomer]','".date("Y-m-d H:i:s", $SaranOrder)."','".$x['barcode']."', - $SaranOrder, $hargaBeli, ".$x['jumBarang'].", '$_SESSION[uname]', $AvgDaily)"; - mysql_query($sql) or die(mysql_error()." :: SQL = ".$sql); - }; // while ($x = mysql_fetch_array($hasil1)) + // ambil daftar barang supplier ybs + $sql="SELECT b.barcode, b.namaBarang, b.jumBarang FROM barang AS b + WHERE b.idSupplier=" . $supplierid; + $hasil1=mysql_query($sql); + + while ($x=mysql_fetch_array($hasil1)) { + + // cari harga beli nya + $sql="SELECT db.hargaBeli + FROM detail_beli AS db + WHERE db.barcode='" . $x['barcode'] . "' + ORDER BY db.idTransaksiBeli DESC LIMIT 1 + "; + $hasil2=mysql_query($sql); + if ($z=mysql_fetch_array($hasil2)) { + $hargaBeli=$z['hargaBeli']; + } + else { + $hargaBeli=0; + }; + + // cari SO (Saran Order) + $tglakhir=date("Y-m-d H:i:s"); + $tglawal=date("Y-m-d H:i:s", (time() - ($range * 24 * 60 * 60))); + + $sql="SELECT SUM(jumBarang) AS total FROM detail_jual AS dj, + (SELECT idTransaksiJual FROM transaksijual + WHERE tglTransaksiJual BETWEEN '$tglawal' AND '$tglakhir') AS tj + WHERE barcode='" . $x['barcode'] . "' AND dj.nomorStruk=tj.idTransaksiJual"; + //echo $sql; + $hasil3=mysql_query($sql); + $y=mysql_fetch_array($hasil3); + + $AvgDaily=($y['total'] / $range); + //$BufferStock = 0 + (($SaranOrder * $buffer) / 100); + // SaranOrder=((Avg Daily x Periode Persediaan) + Buffer Stock) - JumlahStokSaatIni + $SaranOrder=round($AvgDaily * $persediaan); + $BufferStock=0 + (($SaranOrder * $buffer) / 100); + $SaranOrder=round($SaranOrder + $BufferStock); + $SaranOrder=$SaranOrder - $x['jumBarang']; + if ($SaranOrder < 0) { + $SaranOrder=0; + }; + + // Dikali 100 untuk menyimpan 2 digit pecahan, + // karena idBarang itu integer / tidak bisa menyimpan pecahan + $AvgDaily=$AvgDaily * 100; + + // simpan RPO awal di tmp_detail_jual + $sql="INSERT INTO tmp_detail_jual(idCustomer, tglTransaksi, + barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) + VALUES('$_SESSION[idCustomer]','" . date("Y-m-d H:i:s", $SaranOrder) . "','" . $x['barcode'] . "', + $SaranOrder, $hargaBeli, " . $x['jumBarang'] . ", '$_SESSION[uname]', $AvgDaily)"; + mysql_query($sql) or die(mysql_error() . " :: SQL=" . $sql); + }; // while ($x=mysql_fetch_array($hasil1)) } // Penyimpanan diganti tablenya, agar tidak konflik dengan proses penjualan kasir function SimpanRPOawal($supplierid, $range, $persediaan, $buffer) { - /* bigint1 = idSupplier, - * dt1 = tanggal_sekarang, - * vc1 = barcode, - * integer1 = saran, - * float1 = harga_beli, - * integer2 = stok, - * vc2 = username, - * float2 = avgPerHari - */ - $sql = "INSERT INTO tmp(bigint1, dt1, vc1, integer1, float1, integer2, vc2, float2) - SELECT - {$_SESSION['idCustomer']}, - NOW(), - barcode, - CASE - WHEN ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) < 0 THEN 0 - ELSE ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) ". - //WHEN ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) - stok < 0 THEN 0 - //ELSE ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) - stok - "END AS saran, - hargaBeli, - stok, - '{$_SESSION[uname]}', - total/{$range} AS rata - FROM( - - SELECT b.barcode, b.namaBarang, b.jumBarang as stok, t2.hargaBeli, (SELECT IFNULL(SUM(jumBarang),0) - FROM detail_jual AS dj - JOIN transaksijual AS tj ON tj.idTransaksiJual = dj.nomorStruk - WHERE barcode=b.barcode AND - tj.tglTransaksiJual BETWEEN DATE_SUB(NOW(), INTERVAL {$range} DAY) AND NOW()) AS total - FROM barang b - LEFT JOIN ( - - SELECT db . * - FROM detail_beli AS db - JOIN ( - - SELECT barcode, MAX( idTransaksiBeli ) AS idTransaksiBeli - FROM detail_beli - GROUP BY barcode - ) - AS t1 ON t1.barcode = db.barcode AND t1.idTransaksiBeli = db.idTransaksiBeli - ) - AS t2 ON t2.barcode = b.barcode - WHERE b.idSupplier ={$supplierid} - ) AS t3"; - mysql_query($sql) or die(mysql_error()); + /* bigint1=idSupplier, + * dt1=tanggal_sekarang, + * vc1=barcode, + * integer1=saran, + * float1=harga_beli, + * integer2=stok, + * vc2=username, + * float2=avgPerHari + */ + $sql="INSERT INTO tmp(bigint1, dt1, vc1, integer1, float1, integer2, vc2, float2) + SELECT + {$_SESSION['idCustomer']}, + NOW(), + barcode, + CASE + WHEN ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) < 0 THEN 0 + ELSE ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) " . + //WHEN ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) - stok < 0 THEN 0 + //ELSE ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) - stok + "END AS saran, + hargaBeli, + stok, + '{$_SESSION[uname]}', + total/{$range} AS rata + FROM( + + SELECT b.barcode, b.namaBarang, b.jumBarang as stok, t2.hargaBeli, (SELECT IFNULL(SUM(jumBarang),0) + FROM detail_jual AS dj + JOIN transaksijual AS tj ON tj.idTransaksiJual=dj.nomorStruk + WHERE barcode=b.barcode AND + tj.tglTransaksiJual BETWEEN DATE_SUB(NOW(), INTERVAL {$range} DAY) AND NOW()) AS total + FROM barang b + LEFT JOIN ( + + SELECT db . * + FROM detail_beli AS db + JOIN ( + + SELECT barcode, MAX( idTransaksiBeli ) AS idTransaksiBeli + FROM detail_beli + GROUP BY barcode + ) + AS t1 ON t1.barcode=db.barcode AND t1.idTransaksiBeli=db.idTransaksiBeli + ) + AS t2 ON t2.barcode=b.barcode + WHERE b.idSupplier ={$supplierid} + ) AS t3"; + mysql_query($sql) or die(mysql_error()); } function SimpanRPOawalOld2($supplierid, $range, $persediaan, $buffer) { - $sql = "INSERT INTO tmp_detail_jual(idCustomer, tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - SELECT - {$_SESSION['idCustomer']}, - NOW(), - barcode, - CASE - WHEN ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) - stok < 0 THEN 0 - ELSE ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) - stok - END AS saran, - hargaBeli, - stok, - '{$_SESSION[uname]}', - ROUND(total/{$range}*100) AS rata - FROM( - - SELECT b.barcode, b.namaBarang, b.jumBarang as stok, t2.hargaBeli, (SELECT IFNULL(SUM(jumBarang),0) - FROM detail_jual AS dj - JOIN transaksijual AS tj ON tj.idTransaksiJual = dj.nomorStruk - WHERE barcode=b.barcode AND - tj.tglTransaksiJual BETWEEN DATE_SUB(NOW(), INTERVAL {$range} DAY) AND NOW()) AS total - FROM barang b - LEFT JOIN ( - - SELECT db . * - FROM detail_beli AS db - JOIN ( - - SELECT barcode, MAX( idTransaksiBeli ) AS idTransaksiBeli - FROM detail_beli - GROUP BY barcode - ) - AS t1 ON t1.barcode = db.barcode AND t1.idTransaksiBeli = db.idTransaksiBeli - ) - AS t2 ON t2.barcode = b.barcode - WHERE b.idSupplier ={$supplierid} - ) AS t3"; - mysql_query($sql) or die(mysql_error()); + $sql="INSERT INTO tmp_detail_jual(idCustomer, tglTransaksi, + barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) + SELECT + {$_SESSION['idCustomer']}, + NOW(), + barcode, + CASE + WHEN ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) - stok < 0 THEN 0 + ELSE ROUND(ROUND(total/{$range} * {$persediaan}) + ROUND(total/{$range} * {$persediaan}) * {$buffer}/100) - stok + END AS saran, + hargaBeli, + stok, + '{$_SESSION[uname]}', + ROUND(total/{$range}*100) AS rata + FROM( + + SELECT b.barcode, b.namaBarang, b.jumBarang as stok, t2.hargaBeli, (SELECT IFNULL(SUM(jumBarang),0) + FROM detail_jual AS dj + JOIN transaksijual AS tj ON tj.idTransaksiJual=dj.nomorStruk + WHERE barcode=b.barcode AND + tj.tglTransaksiJual BETWEEN DATE_SUB(NOW(), INTERVAL {$range} DAY) AND NOW()) AS total + FROM barang b + LEFT JOIN ( + + SELECT db . * + FROM detail_beli AS db + JOIN ( + + SELECT barcode, MAX( idTransaksiBeli ) AS idTransaksiBeli + FROM detail_beli + GROUP BY barcode + ) + AS t1 ON t1.barcode=db.barcode AND t1.idTransaksiBeli=db.idTransaksiBeli + ) + AS t2 ON t2.barcode=b.barcode + WHERE b.idSupplier ={$supplierid} + ) AS t3"; + mysql_query($sql) or die(mysql_error()); } // ========================================= END RPO ========================================= function ubahJumlahBarangBeliTemp($idSupplier, $idBarang, $jumlah) { - mysql_query("UPDATE tmp_detail_beli SET jumBarang = '$jumlah' - WHERE idSupplier = '$idSupplier' and idBarang = '$idBarang' and username = '$_SESSION[uname]'") or die(mysql_error()); + mysql_query("UPDATE tmp_detail_beli SET jumBarang='$jumlah' + WHERE idSupplier='$idSupplier' and idBarang='$idBarang' and username='$_SESSION[uname]'") or die(mysql_error()); } function detailTransaksiBeli($idTransaksiBeli) { - $query = mysql_query("SELECT idTransaksiBeli, tglTransaksiBeli, namaSupplier, nominal, idTipePembayaran, NomorInvoice, namaUser - FROM transaksibeli AS t, user AS u, supplier AS s - WHERE t.idSupplier = s.idSupplier AND t.username = u.uname - AND t.idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - return $query; + $query=mysql_query("SELECT idTransaksiBeli, tglTransaksiBeli, namaSupplier, nominal, idTipePembayaran, NomorInvoice, namaUser + FROM transaksibeli AS t, user AS u, supplier AS s + WHERE t.idSupplier=s.idSupplier AND t.username=u.uname + AND t.idTransaksiBeli='$idTransaksiBeli'") or die(mysql_error()); + return $query; } function detailBarangTransaksiBeli($idTransaksiBeli) { - $query = mysql_query("SELECT detail_beli.idBarang, barang.barcode, namaBarang, detail_beli.jumBarang, hargaBeli, tglExpire FROM detail_beli, barang - WHERE barang.idBarang = detail_beli.idBarang and detail_beli.idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - return $query; + $query=mysql_query("SELECT detail_beli.idBarang, barang.barcode, namaBarang, detail_beli.jumBarang, hargaBeli, tglExpire FROM detail_beli, barang + WHERE barang.idBarang=detail_beli.idBarang and detail_beli.idTransaksiBeli='$idTransaksiBeli'") or die(mysql_error()); + return $query; } function nominalBeli($idTransaksiBeli) { - $query = mysql_query("select sum(jumBarang*hargaBeli) as nominal from detail_beli - where idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - $dataQuery = mysql_fetch_array($query); - $nominal = $dataQuery[nominal]; - mysql_query("UPDATE transaksibeli SET nominal = '$nominal' WHERE idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - mysql_query("UPDATE hutang SET nominal = '$nominal' WHERE idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - return $nominal; + $query=mysql_query("select sum(jumBarang*hargaBeli) as nominal from detail_beli + where idTransaksiBeli='$idTransaksiBeli'") or die(mysql_error()); + $dataQuery=mysql_fetch_array($query); + $nominal=$dataQuery[nominal]; + mysql_query("UPDATE transaksibeli SET nominal='$nominal' WHERE idTransaksiBeli='$idTransaksiBeli'") or die(mysql_error()); + mysql_query("UPDATE hutang SET nominal='$nominal' WHERE idTransaksiBeli='$idTransaksiBeli'") or die(mysql_error()); + return $nominal; } function editBarangBeli($idTransaksiBeli, $idBarang, $jumBarangLama, $jumBarang, $hargaBeli) { - $queryJumBarang = mysql_query("SELECT jumBarang FROM barang WHERE idBarang = '$idBarang'"); - $jumBarangku = mysql_fetch_array($queryJumBarang); - $jumBarangBaru = ($jumBarangku[jumBarang] - $jumBarangLama); - $jumBarangBaru2 = $jumBarangBaru + $jumBarang; - mysql_query("UPDATE barang SET jumBarang = '$jumBarangBaru2' WHERE idBarang = '$idBarang'") or die(mysql_error()); - mysql_query("UPDATE detail_beli SET jumBarang = '$jumBarang', hargaBeli = '$hargaBeli' - WHERE idTransaksiBeli = '$idTransaksiBeli' and idBarang = '$idBarang'") or die(mysql_error()); -} - -function cetakStruk($nomorStruk, $strukRetur = false) { - - - $totalRetur = 0; - - // ambil footer & header struk - $sql = "SELECT `option`,`value` FROM config"; - $hasil = mysql_query($sql) or die(mysql_error()); - while ($x = mysql_fetch_array($hasil)) { - if ($x[option] == 'store_name') { - $store_name = $x[value]; - }; - if ($x[option] == 'receipt_header1') { - $header1 = $x[value]; - }; - if ($x[option] == 'receipt_footer1') { - $footer1 = $x[value]; - }; - if ($x[option] == 'receipt_footer2') { - $footer2 = $x[value]; - }; - }; - - $sql = "select date_format(tglTransaksiJual, '%d-%m-%Y %H:%i') tglTransaksiJual, nominal, uangDibayar, user.namaUser - from transaksijual tj - join user on tj.idUser = user.idUser - where tj.idTransaksiJual = {$nomorStruk}"; - $query = mysql_query($sql) or die('Gagal ambil header transaksi jual, error:'.mysql_error()); - $transaksiJual = mysql_fetch_array($query, MYSQL_ASSOC); - $tglTransaksi = $transaksiJual['tglTransaksiJual']; - $totalTransaksi = $transaksiJual['nominal']; - $uangDibayar = $transaksiJual['uangDibayar']; - $namaKasir = $transaksiJual['namaUser']; - - $sql = "select dj.jumBarang, b.namaBarang, dj.hargaJual, dt.diskon_detail_uids, dt.diskon_persen, dt.diskon_rupiah - from detail_jual dj - join barang b on b.barcode = dj.barcode - left join diskon_transaksi dt on dt.idDetailJual = dj.uid - where dj.nomorStruk = {$nomorStruk}"; - //echo $sql; - $detailJual = mysql_query($sql) or die(mysql_error()); - - // siapkan string yang akan dicetak - $struk = str_pad($store_name, 40, " ", STR_PAD_BOTH)."\n".str_pad($header1, 40, " ", STR_PAD_BOTH)."\n" - .str_pad($namaKasir." : ".$tglTransaksi." #$nomorStruk", 40, " ", STR_PAD_BOTH)." \n"; - - $struk .= "-------------------------------------\n"; - $diskonHargaPerBarangTotal = 0; - $diskonCustomer = 0; - while ($x = mysql_fetch_array($detailJual)) { - - if ($strukRetur) { - $struk .= $x[namaBarang]." \n".$x[barcode].":" - ." ".$x[jumBarang]."x".number_format($x[hargaBeli], 0, ',', '.')."=" - .number_format(($x[hargaBeli] * $x[jumBarang]), 0, ',', '.')."\n"; - $totalRetur = $totalRetur + ($x[hargaBeli] * $x[jumBarang]); - } else { - //$struk .= $x[jumBarang] . "x ". $x[namaBarang]. " @".number_format($x[hargaJual],0,',','.'). - // ": ".number_format(($x[hargaJual] * $x[jumBarang]),0,',','.')."\n"; - // -// $struk .= $x[namaBarang] . "\n " . -// $x[jumBarang] . " x " . number_format($x[hargaJual], 0, ',', '.') . -// " = " . number_format(($x[hargaJual] * $x[jumBarang]), 0, ',', '.') . "\n"; - - $temp = $x[namaBarang]."\n @ ".number_format($x['hargaJual'] + $x['diskon_rupiah'], 0, ',', '.')." x ".$x['jumBarang']. - " = ".number_format(($x['hargaJual'] + $x['diskon_rupiah']) * $x['jumBarang'], 0, ',', '.')."\n"; - - $diskon = ''; - // Bilamana ada diskon per barang - if (!is_null($x['diskon_detail_uids'])) { - $detailDiskon = json_decode($x['diskon_detail_uids'], true); - // Jika ada diskon customer dipisah tampilannya di struk - if (isset($detailDiskon['2'])) { - $diskonCustomer+=$detailDiskon['2']; - } - if ($x['diskon_persen'] > 0) { - $diskonPersen = $x['diskon_persen']; - $diskonRupiah = $x['diskon_rupiah'] * $x['jumBarang']; - $diskonHargaPerBarangTotal += $diskonRupiah; - $diskon = " Potongan (".$diskonPersen.'%) = ('.number_format($diskonRupiah, 0, ',', '.').')'."\n"; - } elseif ($x['diskon_rupiah'] > 0) { - $diskonRupiah = $x['diskon_rupiah'] * $x['jumBarang']; - $diskonHargaPerBarangTotal += $diskonRupiah; - $diskon = " Potongan (".number_format($diskonRupiah, 0, ',', '.').')'."\n"; - } - } - // jika panjang baris > 40 huruf, pecah jadi 2 baris - //if (strlen($temp) > 40) { - // $tmp = substr($temp, 0, 40) . "- \n -" . substr($temp, 40); - // $temp = $tmp; - //}; - $struk .= $temp.$diskon; - }; - } - $struk .= "-------------------------------------\n"; - - $diskonHargaTotal = $diskonHargaPerBarangTotal; - - // Total Diskon per barang di kurangi $diskonCustomer - $diskonHargaPerBarangTotal -= $diskonCustomer; - if ($strukRetur) { - - $struk .= " TOTAL : ".number_format($totalRetur, 0, ',', '.')." \n"; - } else { - $struk .= $diskonHargaPerBarangTotal > 0 ? - " Total Potongan : ".str_pad(number_format($diskonHargaPerBarangTotal, 0, ',', '.'), 11, ' ', STR_PAD_LEFT)." \n" : ''; - $struk .= $diskonCustomer > 0 ? ' Potongan Spesial : '.str_pad(number_format($diskonCustomer, 0, ',', '.'), 11, ' ', STR_PAD_LEFT)." \n" : ''; - $struk .= " TOTAL : ".str_pad(number_format($totalTransaksi, 0, ',', '.'), 11, " ", STR_PAD_LEFT)." \n"; - $struk .= " Dibayar : ".str_pad(number_format($uangDibayar, 0, ',', '.'), 11, " ", STR_PAD_LEFT)." \n"; - $struk .= " Kembali : ".str_pad(number_format(($uangDibayar - $totalTransaksi), 0, ',', '.'), 11, " ", STR_PAD_LEFT)." \n"; - $struk .= $diskonHargaTotal > 0 ? " ANDA HEMAT : ".str_pad(number_format($diskonHargaTotal, 0, ',', '.'), 11, " ", STR_PAD_LEFT)." \n" : ''; - }; - - $struk .= "-------------------------------------\n"; - $struk .= str_pad($footer1, 40, " ", STR_PAD_BOTH)."\n".str_pad($footer2, 40, " ", STR_PAD_BOTH)."\n\n\n\n\n\n\n\n\n\n\n\n\n"; - return $struk; + $queryJumBarang=mysql_query("SELECT jumBarang FROM barang WHERE idBarang='$idBarang'"); + $jumBarangku=mysql_fetch_array($queryJumBarang); + $jumBarangBaru=($jumBarangku[jumBarang] - $jumBarangLama); + $jumBarangBaru2=$jumBarangBaru + $jumBarang; + mysql_query("UPDATE barang SET jumBarang='$jumBarangBaru2' WHERE idBarang='$idBarang'") or die(mysql_error()); + mysql_query("UPDATE detail_beli SET jumBarang='$jumBarang', hargaBeli='$hargaBeli' + WHERE idTransaksiBeli='$idTransaksiBeli' and idBarang='$idBarang'") or die(mysql_error()); +} + +function cetakStruk($perintahPrinter, $nomorStruk, $namaKasir, $totalTransaksi, $uangDibayar, $arrayTransaksi, $strukRetur=false) { + + + $totalRetur=0; + + // ambil footer & header struk + $sql="SELECT `option`,`value` FROM config"; + $hasil=mysql_query($sql) or die(mysql_error()); + while ($x=mysql_fetch_array($hasil)) { + if ($x[option] == 'store_name') { + $store_name=$x[value]; + }; + if ($x[option] == 'receipt_header1') { + $header1=$x[value]; + }; + if ($x[option] == 'receipt_footer1') { + $footer1=$x[value]; + }; + if ($x[option] == 'receipt_footer2') { + $footer2=$x[value]; + }; + }; + + // siapkan string yang akan dicetak + $struk=str_pad($store_name, 40, " ", STR_PAD_BOTH) . "\n" . str_pad($header1, 40, " ", STR_PAD_BOTH) . "\n" + . str_pad($namaKasir . " : " . date("d-m-Y H:i") . " #$nomorStruk", 40, " ", STR_PAD_BOTH) . " \n"; + + $struk .= "-------------------------------------\n"; + $diskonHargaPerBarangTotal=0; + $diskonCustomer=0; + while ($x=mysql_fetch_array($arrayTransaksi)) { + + if ($strukRetur) { + $struk .= $x[namaBarang] . " \n" . $x[barcode] . ":" + . " " . $x[jumBarang] . "x" . number_format($x[hargaBeli], 0, ',', '.') . "=" + . number_format(($x[hargaBeli] * $x[jumBarang]), 0, ',', '.') . "\n"; + $totalRetur=$totalRetur + ($x[hargaBeli] * $x[jumBarang]); + } + else { + //$struk .= $x[jumBarang] . "x ". $x[namaBarang]. " @".number_format($x[hargaJual],0,',','.'). + // ": ".number_format(($x[hargaJual] * $x[jumBarang]),0,',','.')."\n"; + // +// $struk .= $x[namaBarang] . "\n " . +// $x[jumBarang] . " x " . number_format($x[hargaJual], 0, ',', '.') . +// "=" . number_format(($x[hargaJual] * $x[jumBarang]), 0, ',', '.') . "\n"; + + $temp=$x[namaBarang] . "\n @ " . number_format($x['hargaJual'] + $x['diskon_rupiah'], 0, ',', '.') . " x " . $x['jumBarang'] . + "=" . number_format(($x['hargaJual'] + $x['diskon_rupiah']) * $x['jumBarang'], 0, ',', '.') . "\n"; + + $diskon=''; + // Bilamana ada diskon per barang + if (!is_null($x['diskon_detail_uids'])) { + $detailDiskon=json_decode($x['diskon_detail_uids'], true); + // Jika ada diskon customer dipisah tampilannya di struk + if (isset($detailDiskon['2'])) { + $diskonCustomer+=$detailDiskon['2']; + } + if ($x['diskon_persen'] > 0) { + $diskonPersen=$x['diskon_persen']; + $diskonRupiah=$x['diskon_rupiah'] * $x['jumBarang']; + $diskonHargaPerBarangTotal += $diskonRupiah; + $diskon=" Potongan (" . $diskonPersen . '%)=(' . number_format($diskonRupiah, 0, ',', '.') . ')' . "\n"; + } + elseif ($x['diskon_rupiah'] > 0) { + $diskonRupiah=$x['diskon_rupiah'] * $x['jumBarang']; + $diskonHargaPerBarangTotal += $diskonRupiah; + $diskon=" Potongan (" . number_format($diskonRupiah, 0, ',', '.') . ')' . "\n"; + } + } + // jika panjang baris > 40 huruf, pecah jadi 2 baris + //if (strlen($temp) > 40) { + // $tmp=substr($temp, 0, 40) . "- \n -" . substr($temp, 40); + // $temp=$tmp; + //}; + $struk .= $temp . $diskon; + }; + } + $struk .= "-------------------------------------\n"; + + $diskonHargaTotal=$diskonHargaPerBarangTotal; + + // Total Diskon per barang di kurangi $diskonCustomer + $diskonHargaPerBarangTotal -= $diskonCustomer; + if ($strukRetur) { + + $struk .= " TOTAL : " . number_format($totalRetur, 0, ',', '.') . " \n"; + } + else { + $struk .= $diskonHargaPerBarangTotal > 0 ? + " Total Potongan : " . str_pad(number_format($diskonHargaPerBarangTotal, 0, ',', '.'), 11, ' ', STR_PAD_LEFT) . " \n" : ''; + $struk .= $diskonCustomer > 0 ? ' Potongan Spesial : ' . str_pad(number_format($diskonCustomer, 0, ',', '.'), 11, ' ', STR_PAD_LEFT) . " \n" : ''; + $struk .= " TOTAL : " . str_pad(number_format($totalTransaksi, 0, ',', '.'), 11, " ", STR_PAD_LEFT) . " \n"; + $struk .= " Dibayar : " . str_pad(number_format($uangDibayar, 0, ',', '.'), 11, " ", STR_PAD_LEFT) . " \n"; + $struk .= " Kembali : " . str_pad(number_format(($uangDibayar - $totalTransaksi), 0, ',', '.'), 11, " ", STR_PAD_LEFT) . " \n"; + $struk .= $diskonHargaTotal > 0 ? " ANDA HEMAT : " . str_pad(number_format($diskonHargaTotal, 0, ',', '.'), 11, " ", STR_PAD_LEFT) . " \n" : ''; + }; + + $struk .= "-------------------------------------\n"; + $struk .= str_pad($footer1, 40, " ", STR_PAD_BOTH) . "\n" . str_pad($footer2, 40, " ", STR_PAD_BOTH) . "\n\n\n\n\n\n\n\n\n\n\n\n\n"; + // tambahan perintah untuk cutter epson + $struk .= chr(27) . "@" . chr(29) . "V" . chr(1); + //fixme: cetak ke printer lainnya (bukan cuma LPR) + $perintah="echo \"$struk\" |lpr $perintahPrinter -l"; +//echo $perintah; + //echo str_replace("\n", '
    ', $perintah); + exec($perintah, $output); + exit; } //======================================// function getSupplier() { - $query = mysql_query("SELECT idSupplier, namaSupplier, alamatSupplier FROM supplier ORDER BY namaSupplier") or die(mysql_error()); + $query=mysql_query("SELECT idSupplier, namaSupplier, alamatSupplier FROM supplier ORDER BY namaSupplier") or die(mysql_error()); - return $query; + return $query; } function getDetailSupplier($id) { - $query = mysql_query("SELECT idSupplier, namaSupplier, alamatSupplier from supplier - WHERE idSupplier = '$id'") or die(mysql_error()); + $query=mysql_query("SELECT idSupplier, namaSupplier, alamatSupplier from supplier + WHERE idSupplier='$id'") or die(mysql_error()); - return $query; + return $query; } function getDetailTmpEditReturPembelian($idNota) { // ================================================================================================= - $query = mysql_query("SELECT t.idDetailBeli, t.idBarang, t.tglExpire, t.jumBarang, t.hargaBeli, t.jumRetur, - barang.namaBarang - FROM tmp_edit_detail_retur_beli AS t, barang - WHERE barang.barcode = t.barcode AND t.idTransaksiBeli = '$idNota';") or die(mysql_error()); - return $query; + $query=mysql_query("SELECT t.idDetailBeli, t.idBarang, t.tglExpire, t.jumBarang, t.hargaBeli, t.jumRetur, + barang.namaBarang + FROM tmp_edit_detail_retur_beli AS t, barang + WHERE barang.barcode=t.barcode AND t.idTransaksiBeli='$idNota';") or die(mysql_error()); + return $query; } function ubahTempEditDetailReturPembelian($idDetailBeli, $tglExpire, $jumBarangAsli, $hargaBeli, $jumRetur) { - // sanity checks - if ($jumRetur > $jumBarangAsli) { - $jumRetur = $jumBarangAsli; - }; - if ($jumRetur < 0) { - $jumRetur = 0; - }; - - mysql_query("UPDATE tmp_edit_detail_retur_beli - SET tglExpire = '$tglExpire', jumBarang = '$jumBarangAsli', hargaBeli = '$hargaBeli', jumRetur = $jumRetur - WHERE idDetailBeli = '$idDetailBeli'") or die(mysql_error()); + // sanity checks + if ($jumRetur > $jumBarangAsli) { + $jumRetur=$jumBarangAsli; + }; + if ($jumRetur < 0) { + $jumRetur=0; + }; + + mysql_query("UPDATE tmp_edit_detail_retur_beli + SET tglExpire='$tglExpire', jumBarang='$jumBarangAsli', hargaBeli='$hargaBeli', jumRetur=$jumRetur + WHERE idDetailBeli='$idDetailBeli'") or die(mysql_error()); } function getDataPembelian($supplierId, $bulanLaporan, $tahunLaporan) { // ============================================================================ - if ($bulanLaporan < 10) { - $periode = $tahunLaporan."-0".$bulanLaporan; - } else { - $periode = $tahunLaporan."-".$bulanLaporan; - } - $query = mysql_query("SELECT transaksibeli.idTransaksiBeli as noNota, transaksibeli.tglTransaksiBeli as tglNota, transaksibeli.NomorInvoice, transaksibeli.nominal as nominal - FROM transaksibeli - WHERE transaksibeli.idSupplier = '$supplierId' AND tglTransaksiBeli like '$periode%'") or die(mysql_error()); - return $query; + if ($bulanLaporan < 10) { + $periode=$tahunLaporan . "-0" . $bulanLaporan; + } + else { + $periode=$tahunLaporan . "-" . $bulanLaporan; + } + $query=mysql_query("SELECT transaksibeli.idTransaksiBeli as noNota, transaksibeli.tglTransaksiBeli as tglNota, transaksibeli.NomorInvoice, transaksibeli.nominal as nominal + FROM transaksibeli + WHERE transaksibeli.idSupplier='$supplierId' AND tglTransaksiBeli like '$periode%'") or die(mysql_error()); + return $query; } function getDataNotaPembelian($idNota) { - $sql = "SELECT supplier.namaSupplier, supplier.alamatSupplier, transaksibeli.tglTransaksiBeli as tglNota, transaksibeli.nominal, + $sql="SELECT supplier.namaSupplier, supplier.alamatSupplier, transaksibeli.tglTransaksiBeli as tglNota, transaksibeli.nominal, transaksibeli.NomorInvoice - FROM transaksibeli, supplier - WHERE transaksibeli.idSupplier = supplier.idSupplier AND transaksibeli.idTransaksiBeli = '$idNota'"; + FROM transaksibeli, supplier + WHERE transaksibeli.idSupplier=supplier.idSupplier AND transaksibeli.idTransaksiBeli='$idNota'"; - $query = mysql_query($sql) or die(mysql_error()); + $query=mysql_query($sql) or die(mysql_error()); - return $query; + return $query; } function getDetailNotaPembelian($idNota) { - $sql = "SELECT detail_beli.idBarang, detail_beli.tglExpire, detail_beli.jumBarang, detail_beli.hargaBeli, barang.hargaJual, detail_beli.barcode, - barang.namaBarang, detail_beli.jumBarangAsli - FROM detail_beli, barang - WHERE barang.barcode = detail_beli.barcode AND detail_beli.idTransaksiBeli = '$idNota' + $sql="SELECT detail_beli.idBarang, detail_beli.tglExpire, detail_beli.jumBarang, detail_beli.hargaBeli, barang.hargaJual, detail_beli.barcode, + barang.namaBarang, detail_beli.jumBarangAsli + FROM detail_beli, barang + WHERE barang.barcode=detail_beli.barcode AND detail_beli.idTransaksiBeli='$idNota' ORDER BY detail_beli.idBarang;"; - //echo $sql; - $query = mysql_query($sql) or die('Gagal ambil data detail nota pembelian, error: '.mysql_error()); - return $query; + //echo $sql; + $query=mysql_query($sql) or die('Gagal ambil data detail nota pembelian, error: ' . mysql_error()); + return $query; } function inputDataEditPembelianKeTemp($idNota) { - mysql_query("INSERT INTO tmp_edit_detail_beli(idDetailBeli,idTransaksiBeli,idBarang,tglExpire,jumBarang,hargaBeli) - SELECT detail_beli.idDetailBeli,detail_beli.idTransaksiBeli,detail_beli.idBarang,detail_beli.tglExpire, - detail_beli.jumBarang,detail_beli.hargaBeli - from detail_beli,barang where barang.idBarang = detail_beli.idBarang AND detail_beli.idTransaksiBeli = '$idNota' AND detail_beli.idTransaksiBeli != 0") or die(mysql_error()); + mysql_query("INSERT INTO tmp_edit_detail_beli(idDetailBeli,idTransaksiBeli,idBarang,tglExpire,jumBarang,hargaBeli) + SELECT detail_beli.idDetailBeli,detail_beli.idTransaksiBeli,detail_beli.idBarang,detail_beli.tglExpire, + detail_beli.jumBarang,detail_beli.hargaBeli + from detail_beli,barang where barang.idBarang=detail_beli.idBarang AND detail_beli.idTransaksiBeli='$idNota' AND detail_beli.idTransaksiBeli != 0") or die(mysql_error()); } function getDetailTmpEditPembelian($idNota) { - $query = mysql_query("SELECT tmp_edit_detail_beli.idDetailBeli, tmp_edit_detail_beli.idBarang, tmp_edit_detail_beli.tglExpire, tmp_edit_detail_beli.jumBarang, tmp_edit_detail_beli.hargaBeli, - barang.namaBarang - FROM tmp_edit_detail_beli, barang - WHERE barang.idBarang = tmp_edit_detail_beli.idBarang AND tmp_edit_detail_beli.idTransaksiBeli = '$idNota';") or die(mysql_error()); - return $query; + $query=mysql_query("SELECT tmp_edit_detail_beli.idDetailBeli, tmp_edit_detail_beli.idBarang, tmp_edit_detail_beli.tglExpire, tmp_edit_detail_beli.jumBarang, tmp_edit_detail_beli.hargaBeli, + barang.namaBarang + FROM tmp_edit_detail_beli, barang + WHERE barang.idBarang=tmp_edit_detail_beli.idBarang AND tmp_edit_detail_beli.idTransaksiBeli='$idNota';") or die(mysql_error()); + return $query; } function ubahTempEditDetailPembelian($idDetailBeli, $tglExpire, $jumBarang, $hargaBeli) { - mysql_query("UPDATE tmp_edit_detail_beli SET tglExpire = '$tglExpire', jumBarang = '$jumBarang', hargaBeli = '$hargaBeli' WHERE idDetailBeli = '$idDetailBeli'") or die(mysql_error()); + mysql_query("UPDATE tmp_edit_detail_beli SET tglExpire='$tglExpire', jumBarang='$jumBarang', hargaBeli='$hargaBeli' WHERE idDetailBeli='$idDetailBeli'") or die(mysql_error()); } -function getJumBarangDiBarang($idDetailBeli, $barcode = '') { +function getJumBarangDiBarang($idDetailBeli, $barcode='') { - if ($barcode == '') { - $sql = "SELECT barang.jumBarang FROM barang, tmp_edit_detail_retur_beli AS t WHERE t.idBarang = barang.idBarang AND t.idDetailBeli = '$idDetailBeli'"; - } else { - $sql = "SELECT jumBarang FROM barang WHERE barcode = '$barcode'"; - }; - $query = mysql_query($sql) or die(mysql_error()); - $jum = mysql_fetch_array($query); + if ($barcode == '') { + $sql="SELECT barang.jumBarang FROM barang, tmp_edit_detail_retur_beli AS t WHERE t.idBarang=barang.idBarang AND t.idDetailBeli='$idDetailBeli'"; + } + else { + $sql="SELECT barang.jumBarang FROM barang, tmp_edit_detail_retur_beli AS t WHERE t.barcode=barang.barcode AND t.barcode='$barcode'"; + }; + $query=mysql_query($sql) or die(mysql_error()); + $jum=mysql_fetch_array($query); - return $jum['jumBarang']; + return $jum[jumBarang]; } function getJumBarangDetailPembelian($idDetailBeli) { - $query = mysql_query("SELECT jumBarang FROM detail_beli WHERE idDetailBeli = '$idDetailBeli'") or die(mysql_error()); - $jum = mysql_fetch_array($query); - return $jum[jumBarang]; + $query=mysql_query("SELECT jumBarang FROM detail_beli WHERE idDetailBeli='$idDetailBeli'") or die(mysql_error()); + $jum=mysql_fetch_array($query); + return $jum[jumBarang]; } function getDataPenjualan($idNota) { - $query = mysql_query("") or die(mysql_error()); + $query=mysql_query("") or die(mysql_error()); } function getDetailPenjualan($idNota) { - $query = mysql_query("SELECT detail_jual.idBarang, barang.namaBarang, detail_jual.jumBarang, detail_jual.hargaBeli - FROM detail_jual, barang, transaksijual - WHERE detail_jual.idBarang = barang.idBarang - AND detail_jual.idTransaksiJual = transaksijual.idTransaksiJual - AND transaksijual.idTransaksiJual = '$idNota'") or die(mysql_error()); + $query=mysql_query("SELECT detail_jual.idBarang, barang.namaBarang, detail_jual.jumBarang, detail_jual.hargaBeli + FROM detail_jual, barang, transaksijual + WHERE detail_jual.idBarang=barang.idBarang + AND detail_jual.idTransaksiJual=transaksijual.idTransaksiJual + AND transaksijual.idTransaksiJual='$idNota'") or die(mysql_error()); - return $query; + return $query; } function getDaftarBarangSupplier($idSupplier, $jumlahMin) { -// $query = mysql_query("select idBarang, barcode, namaBarang, jumBarang from barang where idSupplier = '$idSupplier' AND jumBarang < $jumlahMin ORDER BY namaBarang") or die(mysql_error()); +// $query=mysql_query("select idBarang, barcode, namaBarang, jumBarang from barang where idSupplier='$idSupplier' AND jumBarang < $jumlahMin ORDER BY namaBarang") or die(mysql_error()); - $sql = "SELECT b.idBarang, b.barcode, b.namaBarang, b.jumBarang, d.hargaBeli - FROM barang AS b, - (SELECT * FROM detail_beli - GROUP BY barcode ORDER BY idTransaksiBeli) AS d - WHERE b.idSupplier = '$idSupplier' AND b.jumBarang < $jumlahMin AND b.barcode = d.barcode - ORDER BY b.namaBarang ASC"; - $query = mysql_query($sql) or die(mysql_error()); + $sql="SELECT b.idBarang, b.barcode, b.namaBarang, b.jumBarang, d.hargaBeli + FROM barang AS b, + (SELECT * FROM detail_beli + GROUP BY barcode ORDER BY idTransaksiBeli) AS d + WHERE b.idSupplier='$idSupplier' AND b.jumBarang < $jumlahMin AND b.barcode=d.barcode + ORDER BY b.namaBarang ASC"; + $query=mysql_query($sql) or die(mysql_error()); - return $query; + return $query; } function getBarangPesan($barcode) { - //$sql = "SELECT idBarang, barcode, namaBarang, jumBarang FROM barang WHERE idBarang = '$idBarang'"; - $sql = "SELECT b.idBarang, b.barcode, b.namaBarang, b.jumBarang, d.hargaBeli + //$sql="SELECT idBarang, barcode, namaBarang, jumBarang FROM barang WHERE idBarang='$idBarang'"; + $sql="SELECT b.idBarang, b.barcode, b.namaBarang, b.jumBarang, d.hargaBeli FROM barang AS b, (SELECT * FROM detail_beli - WHERE barcode = '$barcode' + WHERE barcode='$barcode' GROUP BY barcode ORDER BY idTransaksiBeli) AS d - WHERE b.barcode = '$barcode' AND b.barcode = d.barcode + WHERE b.barcode='$barcode' AND b.barcode=d.barcode ORDER BY b.namaBarang ASC; "; - $query = mysql_query($sql) or die(mysql_error()); + $query=mysql_query($sql) or die(mysql_error()); - return $query; + return $query; } // ============================================================================================================================== function tambahBarangReturAda($barcode, $jumBarang) { - $jumlah = 0; - if ($jumBarang == 0) { - $jumlah = 1; - } else { - $jumlah = $jumBarang; - } + $jumlah=0; + if ($jumBarang == 0) { + $jumlah=1; + } + else { + $jumlah=$jumBarang; + } - $ambilJumBarang = mysql_query("SELECT jumBarang FROM tmp_detail_retur_barang WHERE barcode = '$barcode'"); - $dataJum = mysql_fetch_array($ambilJumBarang); + $ambilJumBarang=mysql_query("SELECT jumBarang FROM tmp_detail_retur_barang WHERE barcode='$barcode'"); + $dataJum=mysql_fetch_array($ambilJumBarang); - $jumlah = $jumlah + $dataJum[jumBarang]; + $jumlah=$jumlah + $dataJum[jumBarang]; - $tgl = date("Y-m-d H:i:s"); - mysql_query("UPDATE tmp_detail_retur_barang SET jumBarang = '$jumlah', tglTransaksi = '$tgl' - WHERE barcode = '$barcode'"); + $tgl=date("Y-m-d H:i:s"); + mysql_query("UPDATE tmp_detail_retur_barang SET jumBarang='$jumlah', tglTransaksi='$tgl' + WHERE barcode='$barcode'"); } function tambahBarangRetur($barcode, $jumBarang) { - //cekBarangTempJual($idBarang); - $dataAda = cekBarang($barcode); - if ($dataAda != 0) { - $jumlah = 0; - if ($jumBarang == 0) { - $jumlah = 1; - } else { - $jumlah = $jumBarang; - } - $tgl = date("Y-m-d H:i:s"); - $jualBarang = mysql_query("SELECT * FROM barang WHERE barcode = '$barcode'") or die(mysql_error()); - $jual = mysql_fetch_array($jualBarang); - - // cari hargaBeli & idBarang nya - $sql = "SELECT * FROM detail_beli WHERE isSold = 'N' AND barcode = '$barcode' ORDER BY idTransaksiBeli ASC LIMIT 1"; - //echo $sql; - $hasil = mysql_query($sql); - $detilBarang = mysql_fetch_array($hasil); - if (mysql_num_rows($hasil) > 0) { - $hargaBeli = $detilBarang[hargaBeli]; - $idBarang = $detilBarang[idBarang]; - } else { - // not supposed to ever happen, but just to be safe.... - // -- coba lagi dengan record terakhir utk barang ybs di detail_beli, walaupun isSold=Y - // cari hargaBeli & idBarang nya - $sql = "SELECT * FROM detail_beli WHERE barcode = '$barcode' ORDER BY idTransaksiBeli DESC LIMIT 1"; - //echo $sql; - $hasil = mysql_query($sql); - $detilBarang = mysql_fetch_array($hasil); - $hargaBeli = $detilBarang['hargaBeli']; - $idBarang = $detilBarang['idBarang']; - } - - // simpan transaksi di tmp_detail_jual - $sql = "INSERT into tmp_detail_retur_barang (tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('$tgl','$barcode', - '$jumlah','$hargaBeli','$jual[hargaJual]','$_SESSION[uname]', $idBarang)"; - //echo $sql; - mysql_query($sql) or die(mysql_error()); - } else { - echo "Barang tidak ada"; - } + //cekBarangTempJual($idBarang); + $dataAda=cekBarang($barcode); + if ($dataAda != 0) { + $jumlah=0; + if ($jumBarang == 0) { + $jumlah=1; + } + else { + $jumlah=$jumBarang; + } + $tgl=date("Y-m-d H:i:s"); + $jualBarang=mysql_query("SELECT * FROM barang WHERE barcode='$barcode'") or die(mysql_error()); + $jual=mysql_fetch_array($jualBarang); + + // cari hargaBeli & idBarang nya + $sql="SELECT * FROM detail_beli WHERE isSold='N' AND barcode='$barcode' ORDER BY idTransaksiBeli ASC LIMIT 1"; + //echo $sql; + $hasil=mysql_query($sql); + $detilBarang=mysql_fetch_array($hasil); + if (mysql_num_rows($hasil) > 0) { + $hargaBeli=$detilBarang[hargaBeli]; + $idBarang=$detilBarang[idBarang]; + } + else { + // not supposed to ever happen, but just to be safe.... + //fixme: kalau seluruh stok barang sudah habis (sehingga jadi masuk ke blok ini) + // -- coba lagi dengan record terakhir utk barang ybs di detail_beli, walaupun isSold=Y + $hargaBeli=0; + $idBarang=0; + } + + // simpan transaksi di tmp_detail_jual + $sql="INSERT into tmp_detail_retur_barang (tglTransaksi, + barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) + VALUES('$tgl','$barcode', + '$jumlah','$hargaBeli','$jual[hargaJual]','$_SESSION[uname]', $idBarang)"; + //echo $sql; + mysql_query($sql) or die(mysql_error()); + } + else { + echo "Barang tidak ada"; + } } function cekBarangTempRetur($barcode) { - $adaJual = 0; - $sql = "SELECT * from tmp_detail_retur_barang where barcode = '$barcode' and username = '$_SESSION[uname]'"; - //echo $sql; - $cek = mysql_query($sql); - $adaJual = mysql_num_rows($cek); + $adaJual=0; + $sql="SELECT * from tmp_detail_retur_barang where barcode='$barcode' and username='$_SESSION[uname]'"; + //echo $sql; + $cek=mysql_query($sql); + $adaJual=mysql_num_rows($cek); - return $adaJual; + return $adaJual; } -//function check_user_access($module_name) { -// -// $userid = (int) $_SESSION['iduser']; -// //var_dump($_SESSION); -// ahp_user_can_access_module($module_name, $userid); -//} - -/* Fungsi di atas diganti dengan ini, karena perubahan-perubahan yang terjadi - * Abu Muhammad */ -function check_user_access($module_name = null) { - // print_r($_SESSION); - // echo '
    '; - $queryUser = mysql_query("SELECT * FROM user WHERE idUser = {$_SESSION['iduser']}"); - $user = mysql_fetch_array($queryUser, MYSQL_ASSOC); - $currUserLevel = $user['idLevelUser']; - // echo 'curUsrLev:'.$currUserLevel.'
    '; - - parse_str(parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY)); - $currentScriptName = basename($_SERVER['SCRIPT_NAME']).' '; - $currentModule = $module; - $currentAct = $act; - - $sql = "SELECT link, level_user_id FROM menu"; - $menus = mysql_query($sql); - $scriptMatch = false; - $scriptUserOK = false; - $moduleMatch = false; - $moduleUserOK = false; - $actMatch = false; - $actUserOK = false; - //echo 'curr: S:'.$currentScriptName.' - M:'.$currentModule.' - A:'.$currentAct.'
    '; - while ($menu = mysql_fetch_array($menus, MYSQL_ASSOC)) { - $module = ''; - $act = ''; - parse_str(parse_url($menu['link'], PHP_URL_QUERY)); - $dataScriptName = basename(parse_url($menu['link'], PHP_URL_PATH)); - $dataModule = $module; - $dataAct = $act; - //echo 'data: S:'.$dataScriptName.' - M:'.$dataModule.' - A:'.$dataAct.'
    '; - if (trim($currentScriptName) == trim($dataScriptName)) { - $scriptMatch = true; - //echo 'Script MATCH!!
    '; - if ($currUserLevel <= $menu['level_user_id'] || $menu['level_user_id'] == 1) { - $scriptUserOK = true; - //echo 'Script User OK

    '; - } - if (trim($currentModule) == trim($dataModule)) { - $moduleMatch = true; - //echo 'Module MATCH!!
    '; - if ($currUserLevel <= $menu['level_user_id'] || $menu['level_user_id'] == 1) { - $moduleUserOK = true; - //echo 'Module User OK

    '; - } - /* Cek jika act nya sama, cek lagi untuk user level akses nya */ - if (trim($currentAct) === trim($dataAct)) { - $actMatch = true; - //echo 'act Match
    '; - if ($currUserLevel <= $menu['level_user_id'] || $menu['level_user_id'] == 1) { - $actUserOK = true; - //echo 'Act User OK

    '; - break; - } - } - } - } - } - if ($actMatch && !$actUserOK) { - die('Act Access forbidden, please LOGIN'); - } - if ($moduleMatch && !$moduleUserOK) { - die('Module Access forbidden, please LOGIN'); - } - if ($scriptMatch && !$scriptUserOK) { - die('Script Access forbidden, please LOGIN'); - } - /* Jika tidak terdaftar dalam menu, berarti dianggap public (semua bisa akses) */ +function check_user_access($module_name) { + + $userid=(int) $_SESSION['iduser']; + //var_dump($_SESSION); + ahp_user_can_access_module($module_name, $userid); } // credit : Insan Fajar function ahp_user_can_access_module($module_name, $userid) { - $userlevel = ahp_get_user_credentials($userid); - $query = "SELECT `idLevelUser` FROM `modul` WHERE `script_name` = '$module_name' LIMIT 1;"; - //echo "nih : ".$query; - //echo "mod : ".$module_name; - $data = mysql_query($query); - if ($module_name == "media.php") { - return; - }; - if (mysql_num_rows($data) < 1) - die('No such user'); - $dung = mysql_fetch_array($data); - $module_ulevel = $dung['idLevelUser']; - if ($module_ulevel == 1) - return; - if ($userlevel > $module_ulevel) - die('Access forbidden, please LOGIN'); + $userlevel=ahp_get_user_credentials($userid); + $query="SELECT `idLevelUser` FROM `modul` WHERE `script_name`='$module_name' LIMIT 1;"; + //echo "nih : ".$query; + //echo "mod : ".$module_name; + $data=mysql_query($query); + if ($module_name == "media.php") { + return; + }; + if (mysql_num_rows($data) < 1) + die('No such user'); + $dung=mysql_fetch_array($data); + $module_ulevel=$dung['idLevelUser']; + if ($module_ulevel == 1) + return; + if ($userlevel > $module_ulevel) + die('Access forbidden, please LOGIN'); } // credit : Insan Fajar function ahp_get_user_credentials($userid) { - $query = "SELECT `idLevelUser` FROM `user` WHERE `idUser` = '$userid' LIMIT 1;"; - $data = mysql_query($query); - if (mysql_num_rows($data) < 1) - die('Access forbidden, please LOGIN'); - return 0; - $utmp = mysql_fetch_array($data); - $userlevel = $utmp['idLevelUser']; - return $userlevel; + $query="SELECT `idLevelUser` FROM `user` WHERE `idUser`='$userid' LIMIT 1;"; + $data=mysql_query($query); + if (mysql_num_rows($data) < 1) + die('Access forbidden, please LOGIN'); + return 0; + $utmp=mysql_fetch_array($data); + $userlevel=$utmp['idLevelUser']; + return $userlevel; } // cetak label barang per-barcode function insertTempLabel($cekBarcode) { - if (!$cekBarcode) { - $cekBarcode = "0"; - } - $tampil = mysql_query("SELECT + if (!$cekBarcode) { + $cekBarcode="0"; + } + $tampil=mysql_query("SELECT `barang`.`idBarang`, `barang`.`namaBarang`, `barang`.`idKategoriBarang`, @@ -1401,377 +1232,57 @@ function insertTempLabel($cekBarcode) { `barang`.`barcode` FROM `barang` LEFT JOIN `kategori_barang` - ON `barang`.`idKategoriBarang` = `kategori_barang`.`idKategoriBarang` + ON `barang`.`idKategoriBarang`=`kategori_barang`.`idKategoriBarang` LEFT JOIN `satuan_barang` - ON `barang`.`idSatuanBarang` = `satuan_barang`.`idSatuanBarang` - WHERE `barang`.`barcode` = '$cekBarcode' "); - - - while ($r = mysql_fetch_array($tampil)) { - $tmpId = $r['idBarang']; - $tmpBarcode = $r['barcode']; - $tmpNama = $r['namaBarang']; - $tmpKategori = $r['namaKategoriBarang']; - $tmpSatuan = $r['namaSatuanBarang']; - $tmpJumlah = $r['jumBarang']; - $tmpHargaJual = $r['hargaJual']; - - $query = "INSERT INTO tmp_cetak_label_perbarcode (tmpBarcode, tmpNama, tmpKategori, tmpSatuan, tmpJumlah, tmpHargaJual, tmpIdBarang) VALUE ('$tmpBarcode','$tmpNama','$tmpKategori','$tmpSatuan','$tmpJumlah','$tmpHargaJual','$tmpId')"; - $sql = mysql_query($query); - } -} - -function getJumlahPoinPeriodeBerjalan($customerId) { - $bulanSekarang = date('n'); - $sql = "SELECT awal, akhir FROM periode_poin WHERE {$bulanSekarang}>=awal AND {$bulanSekarang}<=akhir"; - $query = mysql_query($sql); - $periode = mysql_fetch_array($query, MYSQL_ASSOC); - //echo $sql.'
    '; - if ($periode) { - $tahunSekarang = date('Y'); - $sql = "SELECT SUM(jumlah_poin) jumlah_poin - FROM transaksijual - WHERE YEAR(tglTransaksiJual)={$tahunSekarang} AND - MONTH(tglTransaksiJual) BETWEEN {$periode['awal']} AND {$periode['akhir']} AND - idCustomer = {$customerId}"; - $query = mysql_query($sql); - $jumlahPoin = mysql_fetch_array($query); - //echo $sql; - return isset($jumlahPoin['jumlah_poin']) ? $jumlahPoin['jumlah_poin'] : 0; - } else { - return '0'; - } -} - -function bulanIndonesia($nomor) { - $bulanIndonesia = array( - 1 => 'Januari', - 2 => 'Februari', - 3 => 'Maret', - 4 => 'April', - 5 => 'Mei', - 6 => 'Juni', - 7 => 'Juli', - 8 => 'Agustus', - 9 => 'September', - 10 => 'Oktober', - 11 => 'November', - 12 => 'Desember' - ); - return $bulanIndonesia[$nomor]; -} - -function kartuStok($barcode, $tanggal) { - $dariTanggal = date_format(date_create_from_format('d-m-Y', $tanggal['dari']), 'Y-m-d'); - $sampaiTanggal = date_format(date_create_from_format('d-m-Y', $tanggal['sampai']), 'Y-m-d'); - - // Saldo Awal Barang - $sql = "select - sum( - case - when posisi=1 then qty #beli - when posisi=2 then -qty #jual - when posisi=3 then qty #so - when posisi=4 then -qty #returbeli - when posisi=5 then qty #fso - when posisi=6 then qty #returjual - else 0 end - ) as saldo - from( - (select db.username, tb.idTransaksiBeli as nota, tb.tglTransaksiBeli as tgl, jumBarangAsli as qty, '1' as posisi - from detail_beli db - join transaksibeli as tb on db.idTransaksiBeli = tb.idTransaksiBeli - where db.barcode = '{$barcode}' and date(tb.tglTransaksiBeli) < '{$dariTanggal}' - order by tb.tglTransaksiBeli) - union - (select dj.username, tj.idTransaksiJual, tj.tglTransaksiJual, dj.jumBarang, '2' as posisi - from detail_jual dj - join transaksijual as tj on tj.idTransaksiJual = dj.nomorStruk - where dj.barcode = '{$barcode}' and date(tj.tglTransaksiJual) < '{$dariTanggal}' - order by tj.tglTransaksiJual) - union - (select so.username, so.idStockOpname, so.tanggalSO, dso.selisih, '3' as posisi - from detail_stock_opname as dso - join stock_opname as so on so.idStockOpname = dso.idStockOpname - where dso.barcode = '{$barcode}' and date(so.tanggalSO) < '{$dariTanggal}') - union - (select username, NomorInvoice, tglRetur, jumRetur, '4' as posisi - from detail_retur_beli - where barcode = '{$barcode}' and date(tglRetur) < '{$dariTanggal}') - union - (select username, '', tanggalSO, selisih, '5' as posisi - from fast_stock_opname - where barcode = '{$barcode}' and date(tanggalSO) < '{$dariTanggal}') - union - (select username, '', tglTransaksi, jumBarang, '6' as posisi - from detail_retur_barang - where barcode = '{$barcode}' and date(tglTransaksi) < '{$dariTanggal}') - ) as t1 - "; - $result = mysql_query($sql) or die(mysql_error()); - $dataSaldo = mysql_fetch_array($result); - $saldo = $dataSaldo['saldo']; - - // Mutasi Transaksi Stock Barang - $sql = "select tgl, nota, username, - case posisi - when 1 then qty else '' end as 'beli', - case posisi - when 4 then qty else '' end as 'rbeli', - case posisi - when 2 then qty else '' end as 'jual', - case posisi - when 6 then qty else '' end as 'rjual', - case posisi - when 3 then qty else '' end as 'so', - case posisi - when 5 then qty else '' end as 'fso' - from( - (select db.username, concat(tb.idTransaksiBeli,' ',tb.NomorInvoice) as nota, tb.tglTransaksiBeli as tgl, jumBarangAsli as qty, '1' as posisi - from detail_beli db - join transaksibeli as tb on db.idTransaksiBeli = tb.idTransaksiBeli - where db.barcode = '{$barcode}' and date(tb.tglTransaksiBeli) between '{$dariTanggal}' and '{$sampaiTanggal}' - order by tb.tglTransaksiBeli) - union all - (select dj.username, tj.idTransaksiJual, tj.tglTransaksiJual, dj.jumBarang, '2' as posisi - from detail_jual dj - join transaksijual as tj on tj.idTransaksiJual = dj.nomorStruk - where dj.barcode = '{$barcode}' and date(tj.tglTransaksiJual) between '{$dariTanggal}' and '{$sampaiTanggal}' - order by tj.tglTransaksiJual) - union all - (select so.username, so.idStockOpname, so.tanggalSO, dso.selisih, '3' as posisi - from detail_stock_opname as dso - join stock_opname as so on so.idStockOpname = dso.idStockOpname - where dso.barcode = '{$barcode}' and date(so.tanggalSO) between '{$dariTanggal}' and '{$sampaiTanggal}') - union all - (select username, '', tanggalSO, selisih, '5' as posisi - from fast_stock_opname - where barcode = '{$barcode}' and date(tanggalSO) between '{$dariTanggal}' and '{$sampaiTanggal}') - union all - (select username, '', tglTransaksi, jumBarang, '6' as posisi - from detail_retur_barang - where barcode = '{$barcode}' and date(tglTransaksi) between '{$dariTanggal}' and '{$sampaiTanggal}') - union all - (select username, concat(NomorInvoice,' ',idTransaksiBeli), tglRetur, jumRetur, '4' as posisi - from detail_retur_beli - where barcode = '{$barcode}' and date(tglRetur) between '{$dariTanggal}' and '{$sampaiTanggal}') - ) as t1 - order by tgl"; - $result = mysql_query($sql) or die(mysql_error()); - return array('saldo' => $saldo, 'mutasi' => $result); -} + ON `barang`.`idSatuanBarang`=`satuan_barang`.`idSatuanBarang` + WHERE `barang`.`barcode`='$cekBarcode' "); -function tambahBarangReturBeli($barcode, $qty) { - $tambahBarang = $qty; - $query = mysql_query("select * from tmp_edit_detail_retur_beli where barcode = '{$barcode}'"); - /* Jika barang sudah ada tambahkan qty nya, hapus row nya */ - if ($adaBarang = mysql_fetch_array($query, MYSQL_ASSOC)) { - $tambahBarang += $adaBarang['jumRetur']; - mysql_query("delete from tmp_edit_detail_retur_beli where barcode = '{$barcode}'"); - } - - /* Cari data detail_beli paling awal yang belum habis stok nya - * fixme: sisa stok yang ada seharusnya diperhitungkan - */ - $sql = "select * from detail_beli where barcode = '{$barcode}' and isSold='N' order by idDetailBeli"; - $query = mysql_query($sql); - $count = mysql_num_rows($query); - - if ($count > 0) { - $detailBeli = mysql_fetch_array($query); - } else { - /* Jika tidak ada, maka ambil detail_beli terakhir */ - $sql = "select * from detail_beli where barcode = '{$barcode}' order by idDetailBeli desc limit 1"; - $query = mysql_query($sql); - $detailBeli = mysql_fetch_array($query); - } - - /* Insert row ke temp */ - mysql_query("insert into tmp_edit_detail_retur_beli (idDetailBeli, idTransaksiBeli, idBarang, tglExpire, jumBarang, hargaBeli, barcode, jumRetur) " - ."values ({$detailBeli['idDetailBeli']}, " - ."{$detailBeli['idTransaksiBeli']}, " - ."{$detailBeli['idBarang']}, " - ."'{$detailBeli['tglExpire']}', " - ."{$detailBeli['jumBarangAsli']}, " - ."{$detailBeli['hargaBeli']}, " - ."'{$detailBeli['barcode']}', " - ."{$tambahBarang})"); -} - -function cekHargaJualBerubah($barcode, $hargaJualBaru) { - $query = mysql_query("SELECT hargaJual FROM barang WHERE barcode = '{$barcode}'"); - $barang = mysql_fetch_array($query, MYSQL_ASSOC); - return !($barang['hargaJual'] == $hargaJualBaru); -} -function hargaJualBerubah($barcode) { - mysql_query("UPDATE barang SET hargaJualLastUpdate=now() WHERE barcode='{$barcode}'") or die('Gagal update perubahan harga jual, error:'.mysql_error()); -} + while ($r=mysql_fetch_array($tampil)) { + $tmpId=$r['idBarang']; + $tmpBarcode=$r['barcode']; + $tmpNama=$r['namaBarang']; + $tmpKategori=$r['namaKategoriBarang']; + $tmpSatuan=$r['namaSatuanBarang']; + $tmpJumlah=$r['jumBarang']; + $tmpHargaJual=$r['hargaJual']; -function textStrukA4($nomorStruk, $cpi = 15) { - $lebarKertas = 8; //inchi - $jumlahKolom = $cpi * $lebarKertas; - - // ambil footer & header struk - $sql = "SELECT `option`,`value` FROM config"; - $hasil = mysql_query($sql) or die(mysql_error()); - while ($x = mysql_fetch_array($hasil)) { - if ($x[option] == 'store_name') { - $store_name = $x[value]; - } - if ($x[option] == 'receipt_header1') { - $header1 = $x[value]; - } - if ($x[option] == 'receipt_footer1') { - $footer1 = $x[value]; - } - if ($x[option] == 'receipt_footer2') { - $footer2 = $x[value]; - } - if ($x[option] == 'footer_nota_a4') { - $footer3 = $x[value]; - } - } - - $sql = "select date_format(tglTransaksiJual, '%d-%m-%Y %H:%i') tglTransaksiJual, nominal, uangDibayar, user.namaUser - from transaksijual tj - join user on tj.idUser = user.idUser - where tj.idTransaksiJual = {$nomorStruk}"; - $query = mysql_query($sql) or die('Gagal ambil header transaksi jual, error:'.mysql_error()); - $transaksiJual = mysql_fetch_array($query, MYSQL_ASSOC); - $tglTransaksi = $transaksiJual['tglTransaksiJual']; - $totalTransaksi = $transaksiJual['nominal']; - $uangDibayar = $transaksiJual['uangDibayar']; - $namaKasir = $transaksiJual['namaUser']; - - $sql = "select dj.jumBarang, b.namaBarang, dj.hargaJual, dt.diskon_detail_uids, dt.diskon_persen, dt.diskon_rupiah - from detail_jual dj - join barang b on b.barcode = dj.barcode - left join diskon_transaksi dt on dt.idDetailJual = dj.uid - where dj.nomorStruk = {$nomorStruk}"; - //echo $sql; - $detailJual = mysql_query($sql) or die(mysql_error()); - - // siapkan string yang akan dicetak - $strNomor = 'Nomor : '.$nomorStruk; - $strTgl = 'Tanggal : '.$tglTransaksi; - $strKasir = 'Kasir : '.ucwords($namaKasir); - $kananMaxLength = strlen($strNomor) > strlen($strTgl) ? strlen($strNomor) : strlen($strTgl); - /* Jika Nama kasir terlalu panjang, akan di truncate */ - $strKasir = strlen($strKasir) > $kananMaxLength ? substr($strKasir, 0, $kananMaxLength - 2).'..' : $strKasir; - - $strInvoice = 'INVOICE '; //Jumlah karakter harus genap! - // $garisBawahHeader1 = str_pad('', strlen($header1), '-'); - $struk = str_pad($store_name, $jumlahKolom / 2 - strlen($strInvoice) / 2, ' ') - .$strInvoice - .str_pad(str_pad($strNomor, $kananMaxLength, ' '), $jumlahKolom / 2 - strlen($strInvoice) / 2, ' ', STR_PAD_LEFT) - .PHP_EOL; - $struk .= str_pad($header1, $jumlahKolom - $kananMaxLength, ' ') - .str_pad($strTgl, $kananMaxLength, ' ') - .PHP_EOL; - $struk .= str_pad(str_pad($strKasir, $kananMaxLength, ' '), $jumlahKolom, ' ', STR_PAD_LEFT).PHP_EOL; - $struk .= PHP_EOL; - $struk .= str_pad('', $jumlahKolom, "-").PHP_EOL; - $textHeader1 = ' No Barang'; - $textHeader2 = 'Jumlah Harga Diskon Harga Net Sub Total '; - $textHeader = $textHeader1.str_pad($textHeader2, $jumlahKolom - strlen($textHeader1), ' ', STR_PAD_LEFT).PHP_EOL; - $struk .= $textHeader; - //$struk .= ' No Barang Jumlah Harga Diskon Harga Net Sub Total'.PHP_EOL; - $struk .= str_pad('', $jumlahKolom, "-").PHP_EOL; - $diskonHargaPerBarangTotal = 0; - $diskonCustomer = 0; - $no = 1; - while ($x = mysql_fetch_array($detailJual)) { - - $strNomor = str_pad($no, 3, ' ', STR_PAD_LEFT).'.'; - $strBarang = str_pad(trim($x['namaBarang']), 39, ' '); - $strQty = str_pad($x['jumBarang'], 6, ' ', STR_PAD_LEFT); - $strHarga = str_pad(number_format($x['hargaJual'] + $x['diskon_rupiah'], 0, ',', '.'), 9, ' ', STR_PAD_LEFT); - $strDiskon = str_pad(number_format($x['diskon_rupiah'], 0, ',', '.'), 9, ' ', STR_PAD_LEFT); // : ' '; - $strHargaNet = str_pad(number_format($x['hargaJual'], 0, ',', '.'), 9, ' ', STR_PAD_LEFT); - $strSubTotal = str_pad(number_format($x['hargaJual'] * $x['jumBarang'], 0, ',', '.'), 9, ' ', STR_PAD_LEFT); - $row1 = $strNomor.' '.$strBarang.' '; - $row2 = $strQty.' '.$strHarga.' '.$strDiskon.' '.$strHargaNet.' '.$strSubTotal; - $row = $row1.str_pad($row2.' ', $jumlahKolom - strlen($row1), ' ', STR_PAD_LEFT).PHP_EOL; - - $struk .= $row; - $no++; - - // Bilamana ada diskon per barang - if (!is_null($x['diskon_detail_uids'])) { - $detailDiskon = json_decode($x['diskon_detail_uids'], true); - // Jika ada diskon customer dipisah tampilannya di struk - if (isset($detailDiskon['2'])) { - $diskonCustomer+=$detailDiskon['2']; - } - if ($x['diskon_persen'] > 0 || $x['diskon_rupiah'] > 0) { - $diskonRupiah = $x['diskon_rupiah'] * $x['jumBarang']; - $diskonHargaPerBarangTotal += $diskonRupiah; - } - } - } - $struk .= str_pad('', $jumlahKolom, "-").PHP_EOL; - - $diskonHargaTotal = $diskonHargaPerBarangTotal; - - // Total Diskon per barang di kurangi $diskonCustomer - $diskonHargaPerBarangTotal -= $diskonCustomer; - - $textTotalPotongan = "Total Potongan ".str_pad(number_format($diskonHargaPerBarangTotal, 0, ',', '.'), 11, ' ', STR_PAD_LEFT); - $textDiskonCustomer = 'Potongan Spesial '.str_pad(number_format($diskonCustomer, 0, ',', '.'), 11, ' ', STR_PAD_LEFT); - $textTotal = "TOTAL ".str_pad(number_format($totalTransaksi, 0, ',', '.'), 11, " ", STR_PAD_LEFT); - $textDibayar = "Dibayar ".str_pad(number_format($uangDibayar, 0, ',', '.'), 11, " ", STR_PAD_LEFT); - $textKembali = "Kembali ".str_pad(number_format($uangDibayar - $totalTransaksi, 0, ',', '.'), 11, " ", STR_PAD_LEFT); - $textAndaHemat = "ANDA HEMAT ".str_pad(number_format($diskonHargaTotal, 0, ',', '.'), 11, " ", STR_PAD_LEFT); - - $struk .= $diskonHargaPerBarangTotal > 0 && $diskonCustomer > 0 ? str_pad($textTotalPotongan, $jumlahKolom - 1, ' ', STR_PAD_LEFT).PHP_EOL : ''; - $struk .= $diskonCustomer > 0 ? str_pad($textDiskonCustomer, $jumlahKolom - 1, ' ', STR_PAD_LEFT).PHP_EOL : ''; - $struk .= ' '.$footer1.str_pad($textTotal, $jumlahKolom - strlen($footer1) - 2, ' ', STR_PAD_LEFT).PHP_EOL; - $struk .= ' '.$footer2.str_pad($textDibayar, $jumlahKolom - strlen($footer2) - 2, ' ', STR_PAD_LEFT).PHP_EOL; - $struk .= str_pad($textKembali, $jumlahKolom - 1, ' ', STR_PAD_LEFT).PHP_EOL; - $struk .= $diskonHargaPerBarangTotal > 0 ? str_pad($textAndaHemat, $jumlahKolom - 1, ' ', STR_PAD_LEFT).PHP_EOL : ''; - $struk .= str_pad('', $jumlahKolom, "-").PHP_EOL; - - $signatureHead = ' Hormat Kami Pelanggan'; - - $struk .= $signatureHead.str_pad($footer3, $jumlahKolom - strlen($signatureHead) - 1, ' ', STR_PAD_LEFT).PHP_EOL; - $struk .= PHP_EOL.PHP_EOL.PHP_EOL; - $struk .= ' ( ) ( )'.PHP_EOL; - $struk .= "\n\n\n\n\n\n\n\n\n\n\n\n\n"; // Tambahan spasi ke bawah, agar pas di posisi robek kertas di lx 300 - return $struk; + $query="INSERT INTO tmp_cetak_label_perbarcode (tmpBarcode, tmpNama, tmpKategori, tmpSatuan, tmpJumlah, tmpHargaJual, tmpIdBarang) VALUE ('$tmpBarcode','$tmpNama','$tmpKategori','$tmpSatuan','$tmpJumlah','$tmpHargaJual','$tmpId')"; + $sql=mysql_query($query); + } } /* CHANGELOG ----------------------------------------------------------- - 1.6.0 / 2013-05-01 : Herwono : fitur : cetak label harga perbarcode - 1.6.0 / 2013-03-06 : Harry Sufehmi : bugfix: fungsi findSupplier() tidak lagi menghapus variabel $_SESSION[idSupplier] - 1.5.0 / 2013-01-01 : Harry Sufehmi : bugfix: fungsi tambahBarangJual() kini tidak lagi mau menerima jumBarang < 1 - (jika quantity penjualan bisa nol / minus, maka uang kas jadi bisa dirampok kasir) +1.6.0 / 2013-05-01 : Herwono : fitur : cetak label harga perbarcode +1.6.0 / 2013-03-06 : Harry Sufehmi : bugfix: fungsi findSupplier() tidak lagi menghapus variabel $_SESSION[idSupplier] +1.5.0 / 2013-01-01 : Harry Sufehmi : bugfix: fungsi tambahBarangJual() kini tidak lagi mau menerima jumBarang < 1 +(jika quantity penjualan bisa nol / minus, maka uang kas jadi bisa dirampok kasir) - 1.5.0 / 2013-01-01 : Harry Sufehmi : bugfix: fungsi tambahBarangJual() kadang mendapatkan harga beli yang salah. - "ORDER BY idDetailBeli" diganti menjadi "ORDER BY idTransaksiBeli" - karena, banyak database di berbagai toko Ahad mart yang isi idDetailBeli nya ngaco - (banyak field idDetailBeli yang isinya 0 [nol]) +1.5.0 / 2013-01-01 : Harry Sufehmi : bugfix: fungsi tambahBarangJual() kadang mendapatkan harga beli yang salah. +"ORDER BY idDetailBeli" diganti menjadi "ORDER BY idTransaksiBeli" +karena, banyak database di berbagai toko Ahad mart yang isi idDetailBeli nya ngaco +(banyak field idDetailBeli yang isinya 0 [nol]) - 1.5.0 / 2012-11-25 : Harry Sufehmi : fungsi-fungsi untuk mengamankan modul-modul (dari akses langsung / bypass login). - Credit : Insan Fajar +1.5.0 / 2012-11-25 : Harry Sufehmi : fungsi-fungsi untuk mengamankan modul-modul (dari akses langsung / bypass login). +Credit : Insan Fajar - 1.2.5 / 2012-03-05 : Harry Sufehmi : fungsi tambahBarangJual() kini akan selalu mendapatkan hargaBeli dengan benar. - (bugfix: hargaBeli tersimpan sebagai 0 di tmp_detail_jual & detail_jual jika - suatu item jumBarang = 0 dan isSold = 'Y' / tidak ada yang isSold = 'N') +1.2.5 / 2012-03-05 : Harry Sufehmi : fungsi tambahBarangJual() kini akan selalu mendapatkan hargaBeli dengan benar. +(bugfix: hargaBeli tersimpan sebagai 0 di tmp_detail_jual & detail_jual jika +suatu item jumBarang=0 dan isSold='Y' / tidak ada yang isSold='N') - 1.2.5 / 2012-02-14 : Harry Sufehmi : fungsi getJumBarangDiBarang() kini bisa retrieve jumBarang dari parameter barcode yang diberikan - (bugfix: jumBarang di table barang tidak berkurang setelah Retur Pembelian) +1.2.5 / 2012-02-14 : Harry Sufehmi : fungsi getJumBarangDiBarang() kini bisa retrieve jumBarang dari parameter barcode yang diberikan +(bugfix: jumBarang di table barang tidak berkurang setelah Retur Pembelian) - 1.2.5 / 2012-02-01 : Harry Sufehmi : fungsi getDaftarBarangSupplier() tidak lagi memotong output barang.namaBarang +1.2.5 / 2012-02-01 : Harry Sufehmi : fungsi getDaftarBarangSupplier() tidak lagi memotong output barang.namaBarang - 1.2.5 / 2012-01-30 : Harry Sufehmi : fungsi getDaftarBarangSupplier() : menampilkan hanya yang barang.jumBarang < $jumlahMin +1.2.5 / 2012-01-30 : Harry Sufehmi : fungsi getDaftarBarangSupplier() : menampilkan hanya yang barang.jumBarang < $jumlahMin - 1.0.1 / 2010-11-22 : Harry Sufehmi : fungsi-fungsi untuk Retur Barang +1.0.1 / 2010-11-22 : Harry Sufehmi : fungsi-fungsi untuk Retur Barang - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.9.1 : Gregorius Arief : initial release +0.9.1 : Gregorius Arief : initial release - ------------------------------------------------------------------------ */ +------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/function.php-20120102 b/sistem/modul/function.php-20120102 deleted file mode 100644 index 219f484..0000000 --- a/sistem/modul/function.php-20120102 +++ /dev/null @@ -1,519 +0,0 @@ - 0 - ORDER BY idDetailBeli ASC LIMIT 1"; - //echo $sql; - $hasil = mysql_query($sql); - if (mysql_num_rows($hasil) < 1) { // jika tidak ada / stok sudah habis semua, coba cari lagi dengan menyertakan stok barang = 0 - // tampilkan stok yang terakhir dibeli (ORDER BY idDetailBeli DESC) - $sql = "SELECT * FROM detail_beli - WHERE isSold = 'N' AND barcode = '$barcode' - ORDER BY idDetailBeli DESC LIMIT 1"; - $hasil = mysql_query($sql); - } - - $detilBarang = mysql_fetch_array($hasil); - if (mysql_num_rows($hasil) > 0) { - $hargaBeli = $detilBarang[hargaBeli]; - $idBarang = $detilBarang[idBarang]; - } else { - // not supposed to ever happen, but just to be safe.... - //fixme: kalau seluruh stok barang sudah habis (sehingga jadi masuk ke blok ini) - // -- coba lagi dengan record terakhir utk barang ybs di detail_beli, walaupun isSold=Y - $hargaBeli = 0; - $idBarang = 0; - } - - // simpan transaksi di tmp_detail_jual - $sql = "INSERT into tmp_detail_jual(idCustomer, tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('$_SESSION[idCustomer]','$tgl','$barcode', - '$jumlah','$hargaBeli','$jual[hargaJual]','$_SESSION[uname]', $idBarang)"; - //echo $sql; - mysql_query($sql) or die(mysql_error()); - } - else{ - echo "Barang tidak ada"; - } -} - -function ubahJumlahBarangBeliTemp($idSupplier,$idBarang,$jumlah){ - mysql_query("UPDATE tmp_detail_beli SET jumBarang = '$jumlah' - WHERE idSupplier = '$idSupplier' and idBarang = '$idBarang' and username = '$_SESSION[uname]'") or die(mysql_error()); -} - -function detailTransaksiBeli($idTransaksiBeli){ - $query = mysql_query("SELECT idTransaksiBeli, tglTransaksiBeli, namaSupplier, nominal, idTipePembayaran, NomorInvoice, namaUser - FROM transaksibeli AS t, user AS u, supplier AS s - WHERE t.idSupplier = s.idSupplier AND t.username = u.uname - AND t.idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - return $query; -} -function detailBarangTransaksiBeli($idTransaksiBeli){ - $query = mysql_query("SELECT detail_beli.idBarang, barang.barcode, namaBarang, detail_beli.jumBarang, hargaBeli, tglExpire FROM detail_beli, barang - WHERE barang.idBarang = detail_beli.idBarang and detail_beli.idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - return $query; -} - -function nominalBeli($idTransaksiBeli){ - $query = mysql_query("select sum(jumBarang*hargaBeli) as nominal from detail_beli - where idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - $dataQuery = mysql_fetch_array($query); - $nominal = $dataQuery[nominal]; - mysql_query("UPDATE transaksibeli SET nominal = '$nominal' WHERE idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - mysql_query("UPDATE hutang SET nominal = '$nominal' WHERE idTransaksiBeli = '$idTransaksiBeli'") or die(mysql_error()); - return $nominal; -} - -function editBarangBeli($idTransaksiBeli,$idBarang,$jumBarangLama,$jumBarang,$hargaBeli){ - $queryJumBarang = mysql_query("SELECT jumBarang FROM barang WHERE idBarang = '$idBarang'"); - $jumBarangku = mysql_fetch_array($queryJumBarang); - $jumBarangBaru = ($jumBarangku[jumBarang] - $jumBarangLama); - $jumBarangBaru2 = $jumBarangBaru + $jumBarang; - mysql_query("UPDATE barang SET jumBarang = '$jumBarangBaru2' WHERE idBarang = '$idBarang'") or die(mysql_error()); - mysql_query("UPDATE detail_beli SET jumBarang = '$jumBarang', hargaBeli = '$hargaBeli' - WHERE idTransaksiBeli = '$idTransaksiBeli' and idBarang = '$idBarang'") or die(mysql_error()); -} - - - -function cetakStruk ($perintahPrinter, $nomorStruk, $namaKasir, $totalTransaksi, $uangDibayar, $arrayTransaksi, $strukRetur=false) { - - - $totalRetur = 0; - - // ambil footer & header struk - $sql = "SELECT `option`,`value` FROM config"; - $hasil = mysql_query($sql) or die(mysql_error()); - while ($x = mysql_fetch_array($hasil)) { - if ($x[option]=='store_name') { $store_name=$x[value];}; - if ($x[option]=='receipt_header1') { $header1=$x[value];}; - if ($x[option]=='receipt_footer1') { $footer1=$x[value];}; - if ($x[option]=='receipt_footer2') { $footer2=$x[value];}; - }; - - // siapkan string yang akan dicetak - $struk = str_pad($store_name, 40, " ", STR_PAD_BOTH) . "\n" . str_pad($header1, 40, " ", STR_PAD_BOTH) . "\n" - . str_pad($namaKasir ." : ". date("d-m-Y H:i") ." #$nomorStruk", 40, " ", STR_PAD_BOTH) ." \n"; - - $struk .= "-------------------------------------\n"; - while ($x = mysql_fetch_array($arrayTransaksi)) { - - if ($strukRetur) { - $struk .= $x[namaBarang]. " \n".$x[barcode].":" - ." ".$x[jumBarang]."x".number_format($x[hargaBeli],0,',','.')."=" - .number_format(($x[hargaBeli] * $x[jumBarang]),0,',','.')."\n"; - $totalRetur = $totalRetur + ($x[hargaBeli] * $x[jumBarang]); - - } else { - $struk .= $x[jumBarang] . "x ". $x[namaBarang]. " @".number_format($x[hargaJual],0,',','.'). - ": ".number_format(($x[hargaJual] * $x[jumBarang]),0,',','.')."\n"; - }; - - } - $struk .= "-------------------------------------\n"; - - if ($strukRetur) { - - $struk .= " TOTAL : ".number_format($totalRetur,0,',','.')." \n"; - - } else { - $struk .= " TOTAL : ".number_format($totalTransaksi,0,',','.')." \n"; - $struk .= " Dibayar : ".number_format($uangDibayar,0,',','.')." \n"; - $struk .= " Kembali : ".number_format(($uangDibayar-$totalTransaksi),0,',','.')." \n"; - }; - - $struk .= "-------------------------------------\n"; - $struk .= str_pad($footer1, 40, " ", STR_PAD_BOTH) . "\n" . str_pad($footer2, 40, " ", STR_PAD_BOTH) . "\n\n\n\n\n\n\n\n\n\n\n\n\n"; - - //fixme: cetak ke printer lainnya (bukan cuma LPR) - $perintah = "echo \"$struk\" |lpr $perintahPrinter -l"; - - //echo $perintah; exit; - exec($perintah, $output); -} - -//======================================// -function getSupplier(){ - $query = mysql_query("SELECT idSupplier, namaSupplier, alamatSupplier FROM supplier ORDER BY namaSupplier") or die(mysql_error()); - - return $query; -} - -function getDetailSupplier($id){ - $query = mysql_query("SELECT idSupplier, namaSupplier, alamatSupplier from supplier - WHERE idSupplier = '$id'") or die(mysql_error()); - - return $query; -} - - - -function getDetailTmpEditReturPembelian($idNota){ // ================================================================================================= - $query = mysql_query("SELECT t.idDetailBeli, t.idBarang, t.tglExpire, t.jumBarang, t.hargaBeli, t.jumRetur, - barang.namaBarang - FROM tmp_edit_detail_retur_beli AS t, barang - WHERE barang.barcode = t.barcode AND t.idTransaksiBeli = '$idNota';") or die(mysql_error()); - return $query; -} - -function ubahTempEditDetailReturPembelian($idDetailBeli,$tglExpire,$jumBarang,$hargaBeli,$jumRetur){ - - // sanity checks - if ($jumRetur > $jumBarang) { $jumRetur = $jumBarang;}; - if ($jumRetur < 0) { $jumRetur = 0;}; - - mysql_query("UPDATE tmp_edit_detail_retur_beli - SET tglExpire = '$tglExpire', jumBarang = '$jumBarang', hargaBeli = '$hargaBeli', jumRetur = $jumRetur - WHERE idDetailBeli = '$idDetailBeli'") or die(mysql_error()); -} - - - - -function getDataPembelian($supplierId, $bulanLaporan, $tahunLaporan){ // ============================================================================ - if($bulanLaporan<10){ - $periode = $tahunLaporan."-0".$bulanLaporan; - } - else{ - $periode = $tahunLaporan."-".$bulanLaporan; - } - $query = mysql_query("SELECT transaksibeli.idTransaksiBeli as noNota, transaksibeli.tglTransaksiBeli as tglNota, transaksibeli.nominal as nominal - FROM transaksibeli - WHERE transaksibeli.idSupplier = '$supplierId' AND tglTransaksiBeli like '$periode%'") or die(mysql_error()); - return $query; -} - -function getDataNotaPembelian($idNota){ - - $sql = "SELECT supplier.namaSupplier, supplier.alamatSupplier, transaksibeli.tglTransaksiBeli as tglNota, transaksibeli.nominal, - transaksibeli.NomorInvoice - FROM transaksibeli, supplier - WHERE transaksibeli.idSupplier = supplier.idSupplier AND transaksibeli.idTransaksiBeli = '$idNota'"; - - $query = mysql_query($sql) or die(mysql_error()); - - return $query; -} - -function getDetailNotaPembelian($idNota){ - $sql = "SELECT detail_beli.idBarang, detail_beli.tglExpire, detail_beli.jumBarang, detail_beli.hargaBeli, detail_beli.barcode, - barang.namaBarang - FROM detail_beli, barang - WHERE barang.barcode = detail_beli.barcode AND detail_beli.idTransaksiBeli = '$idNota' - ORDER BY detail_beli.idBarang;"; - //echo $sql; - $query = mysql_query($sql) or die(mysql_error()); - return $query; -} - -function inputDataEditPembelianKeTemp($idNota){ - mysql_query("INSERT INTO tmp_edit_detail_beli(idDetailBeli,idTransaksiBeli,idBarang,tglExpire,jumBarang,hargaBeli) - SELECT detail_beli.idDetailBeli,detail_beli.idTransaksiBeli,detail_beli.idBarang,detail_beli.tglExpire, - detail_beli.jumBarang,detail_beli.hargaBeli - from detail_beli,barang where barang.idBarang = detail_beli.idBarang AND detail_beli.idTransaksiBeli = '$idNota' AND detail_beli.idTransaksiBeli != 0") or die(mysql_error()); -} - -function getDetailTmpEditPembelian($idNota){ - $query = mysql_query("SELECT tmp_edit_detail_beli.idDetailBeli, tmp_edit_detail_beli.idBarang, tmp_edit_detail_beli.tglExpire, tmp_edit_detail_beli.jumBarang, tmp_edit_detail_beli.hargaBeli, - barang.namaBarang - FROM tmp_edit_detail_beli, barang - WHERE barang.idBarang = tmp_edit_detail_beli.idBarang AND tmp_edit_detail_beli.idTransaksiBeli = '$idNota';") or die(mysql_error()); - return $query; -} - -function ubahTempEditDetailPembelian($idDetailBeli,$tglExpire,$jumBarang,$hargaBeli){ - mysql_query("UPDATE tmp_edit_detail_beli SET tglExpire = '$tglExpire', jumBarang = '$jumBarang', hargaBeli = '$hargaBeli' WHERE idDetailBeli = '$idDetailBeli'") or die(mysql_error()); -} - -function getJumBarangDiBarang($idDetailBeli){ - $query = mysql_query("SELECT barang.jumBarang FROM barang, tmp_edit_detail_retur_beli AS t WHERE t.idBarang = barang.idBarang AND t.idDetailBeli = '$idDetailBeli'") or die(mysql_error()); - $jum = mysql_fetch_array($query); - - return $jum[jumBarang]; -} - -function getJumBarangDetailPembelian($idDetailBeli){ - $query = mysql_query("SELECT jumBarang FROM detail_beli WHERE idDetailBeli = '$idDetailBeli'") or die(mysql_error()); - $jum = mysql_fetch_array($query); - return $jum[jumBarang]; -} - -function getDataPenjualan($idNota){ - $query = mysql_query("") or die(mysql_error()); -} - -function getDetailPenjualan($idNota){ - $query = mysql_query("SELECT detail_jual.idBarang, barang.namaBarang, detail_jual.jumBarang, detail_jual.hargaBeli - FROM detail_jual, barang, transaksijual - WHERE detail_jual.idBarang = barang.idBarang - AND detail_jual.idTransaksiJual = transaksijual.idTransaksiJual - AND transaksijual.idTransaksiJual = '$idNota'") or die(mysql_error()); - - return $query; -} - -function getDaftarBarangSupplier($idSupplier){ - $query = mysql_query("select idBarang, barcode, left(namaBarang,22) as namaBarang, jumBarang from barang where idSupplier = '$idSupplier'") or die(mysql_error()); - - return $query; -} - -function getBarangPesan($idBarang){ - $query = mysql_query("select idBarang, barcode, left(namaBarang,22) as namaBarang, jumBarang from barang where idBarang = '$idBarang'") or die(mysql_error()); - - return $query; -} - - -// ============================================================================================================================== - -function tambahBarangReturAda($barcode,$jumBarang){ - $jumlah = 0; - if($jumBarang==0){ - $jumlah = 1; - } - else{ - $jumlah = $jumBarang; - } - - $ambilJumBarang = mysql_query("SELECT jumBarang FROM tmp_detail_retur_barang WHERE barcode = '$barcode'"); - $dataJum = mysql_fetch_array($ambilJumBarang); - - $jumlah = $jumlah + $dataJum[jumBarang]; - - $tgl = date("Y-m-d H:i:s"); - mysql_query("UPDATE tmp_detail_retur_barang SET jumBarang = '$jumlah', tglTransaksi = '$tgl' - WHERE barcode = '$barcode'"); -} - -function tambahBarangRetur($barcode,$jumBarang){ - //cekBarangTempJual($idBarang); - $dataAda = cekBarang($barcode); - if ($dataAda != 0){ - $jumlah = 0; - if($jumBarang==0){ - $jumlah = 1; - } - else{ - $jumlah = $jumBarang; - } - $tgl = date("Y-m-d H:i:s"); - $jualBarang = mysql_query("SELECT * FROM barang WHERE barcode = '$barcode'") or die(mysql_error()); - $jual = mysql_fetch_array($jualBarang); - - // cari hargaBeli & idBarang nya - $sql = "SELECT * FROM detail_beli WHERE isSold = 'N' AND barcode = '$barcode' ORDER BY idTransaksiBeli ASC LIMIT 1"; - //echo $sql; - $hasil = mysql_query($sql); - $detilBarang = mysql_fetch_array($hasil); - if (mysql_num_rows($hasil) > 0) { - $hargaBeli = $detilBarang[hargaBeli]; - $idBarang = $detilBarang[idBarang]; - } else { - // not supposed to ever happen, but just to be safe.... - //fixme: kalau seluruh stok barang sudah habis (sehingga jadi masuk ke blok ini) - // -- coba lagi dengan record terakhir utk barang ybs di detail_beli, walaupun isSold=Y - $hargaBeli = 0; - $idBarang = 0; - } - - // simpan transaksi di tmp_detail_jual - $sql = "INSERT into tmp_detail_retur_barang (tglTransaksi, - barcode,jumBarang,hargaBeli,hargaJual,username, idBarang) - VALUES('$tgl','$barcode', - '$jumlah','$hargaBeli','$jual[hargaJual]','$_SESSION[uname]', $idBarang)"; - //echo $sql; - mysql_query($sql) or die(mysql_error()); - } - else{ - echo "Barang tidak ada"; - } -} - - -function cekBarangTempRetur($barcode){ - $adaJual = 0; - $sql = "SELECT * from tmp_detail_retur_barang where barcode = '$barcode' and username = '$_SESSION[uname]'"; - //echo $sql; - $cek = mysql_query($sql); - $adaJual = mysql_num_rows($cek); - - return $adaJual; -} - - - -/* CHANGELOG ----------------------------------------------------------- - - 1.0.1 / 2010-11-22 : Harry Sufehmi : fungsi-fungsi untuk Retur Barang - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.9.1 : Gregorius Arief : initial release - ------------------------------------------------------------------------- */ - -?> diff --git a/sistem/modul/js_buat_rpo.php b/sistem/modul/js_buat_rpo.php index 7145a0c..0680378 100644 --- a/sistem/modul/js_buat_rpo.php +++ b/sistem/modul/js_buat_rpo.php @@ -1,43 +1,44 @@ -
    Untuk mengakses modul, Anda harus login
    "; +
    Untuk mengakses modul, Anda harus login
    "; echo "LOGIN
    "; } else { if (!isset($_SESSION['idCustomer'])) { findSupplier($_POST['supplierid']); - $_SESSION['idCustomer'] = $_SESSION['idSupplier']; + $_SESSION['idCustomer']=$_SESSION['idSupplier']; }; if (!isset($_SESSION['periode'])) { - $_SESSION['periode'] = $_POST['periode']; + $_SESSION['periode']=$_POST['periode']; }; if (!isset($_SESSION['range'])) { - $_SESSION['range'] = $_POST['range']; + $_SESSION['range']=$_POST['range']; }; if (!isset($_SESSION['persediaan'])) { - $_SESSION['persediaan'] = $_POST['persediaan']; + $_SESSION['persediaan']=$_POST['persediaan']; }; //var_dump($_SESSION); @@ -55,63 +56,63 @@ function popupform(myform, windowname) if (!window.focus) return true; window.open('', windowname, 'height=400,width=700,scrollbars=yes'); - myform.target = windowname; + myform.target=windowname; return true; } function number_format(a, b, c, d) { // credit: http://www.krisnanda.web.id/2009/06/09/javascript-number-format/ - a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b); + a=Math.round(a * Math.pow(10, b)) / Math.pow(10, b); - e = a + ''; - f = e.split('.'); + e=a + ''; + f=e.split('.'); if (!f[0]) { - f[0] = '0'; + f[0]='0'; } if (!f[1]) { - f[1] = ''; + f[1]=''; } if (f[1].length < b) { - g = f[1]; - for (i = f[1].length + 1; i <= b; i++) { + g=f[1]; + for (i=f[1].length + 1; i <= b; i++) { g += '0'; } - f[1] = g; + f[1]=g; } if (d != '' && f[0].length > 3) { - h = f[0]; - f[0] = ''; - for (j = 3; j < h.length; j += 3) { - i = h.slice(h.length - j, h.length - j + 3); - f[0] = d + i + f[0] + ''; + h=f[0]; + f[0]=''; + for (j=3; j < h.length; j += 3) { + i=h.slice(h.length - j, h.length - j + 3); + f[0]=d + i + f[0] + ''; } - j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3)); - f[0] = j + f[0]; + j=h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3)); + f[0]=j + f[0]; } - c = (b <= 0) ? '' : c; + c=(b <= 0) ? '' : c; return f[0] + c + f[1]; } function RecalcTotal(tot_pembelian) { - var totalBeli = 0; - var Kembali = 0; - var uangDibayar = parseInt(document.getElementById("uangDibayar").value); - var surcharge = parseInt(document.getElementById("surcharge").value); + var totalBeli=0; + var Kembali=0; + var uangDibayar=parseInt(document.getElementById("uangDibayar").value); + var surcharge=parseInt(document.getElementById("surcharge").value); - totalSurcharge = ((tot_pembelian / 100) * surcharge); - totalBeli = tot_pembelian + totalSurcharge; - Kembali = uangDibayar - totalBeli; + totalSurcharge=((tot_pembelian / 100) * surcharge); + totalBeli=tot_pembelian + totalSurcharge; + Kembali=uangDibayar - totalBeli; - document.getElementById("uangKembali").value = Kembali; - document.getElementById("kembalian").innerHTML = '' + number_format(Kembali, 0, ',', '.') + ''; + document.getElementById("uangKembali").value=Kembali; + document.getElementById("kembalian").innerHTML='' + number_format(Kembali, 0, ',', '.') + ''; - document.getElementById("TotalSurcharge").value = number_format(totalSurcharge, 0, ',', '.'); - document.getElementById("tot_pembelian").innerHTML = '' + number_format(totalBeli, 0, ',', '.') + ''; + document.getElementById("TotalSurcharge").value=number_format(totalSurcharge, 0, ',', '.'); + document.getElementById("tot_pembelian").innerHTML='' + number_format(totalBeli, 0, ',', '.') + ''; } --> @@ -125,8 +126,8 @@ function RecalcTotal(tot_pembelian) {
    -
    +
    - +
    - +
    - - + (q) Qty + -->
    -
    +
    - +
    - +
    @@ -182,31 +183,31 @@ function RecalcTotal(tot_pembelian) { "; if ($r) { @@ -215,7 +216,6 @@ function RecalcTotal(tot_pembelian) { Barcode Nama Barang - Rata2 Penjualan
    Mingguan Saran Order Stok Saat Ini Jumlah Pesanan @@ -224,40 +224,36 @@ function RecalcTotal(tot_pembelian) { Hapus = 0 ? $saran : 0; + $no=1; + $tot_pembelian=0; + + $query2=mysql_query("SELECT tdj.uid, tdj.barcode, tdj.idBarang, tdj.hargaBeli, b.namaBarang, + tdj.jumBarang, tdj.hargaJual, tdj.tglTransaksi + FROM tmp_detail_jual tdj, barang b + WHERE tdj.barcode=b.barcode AND tdj.idCustomer='$_SESSION[idCustomer]' + AND tdj.username='$_SESSION[uname]' ORDER BY tglTransaksi DESC"); + + while ($data=mysql_fetch_array($query2)) { + $total=$data[hargaJual] * $data[jumBarang]; ?> "> - - - - - - '> - - */ ?> + + + + + + + '> + + */ ?> - - - - - + + + + '>Hapus @@ -269,10 +265,10 @@ function RecalcTotal(tot_pembelian) { } ?>
    -
    +
    @@ -285,14 +281,14 @@ function RecalcTotal(tot_pembelian) { - [ BATAL ] -     + [ BATAL ] +  
    @@ -316,6 +312,6 @@ function RecalcTotal(tot_pembelian) { diff --git a/sistem/modul/js_cari_barang.php b/sistem/modul/js_cari_barang.php index 653687b..9c7039e 100644 --- a/sistem/modul/js_cari_barang.php +++ b/sistem/modul/js_cari_barang.php @@ -1,135 +1,116 @@
    - - + + - //echo "Barcode: "; - ?> - - - - * - */ - ?> - Barcode "; + ?> + + + + * + */ + ?> + - - - - - - - - - - - - - - - - - -
    BarcodeNama BarangStokHargaPilih
    [Pilih] -
    + if ($_POST['transferahad'] == 1) { + $transferahad='&transferahad=1'; + } else { + $transferahad=''; + }; + ?> + + + + + + + + + + + + + + + + + +
    BarcodeNama BarangStokHargaPilih
    [Pilih] +
    - - - - - - - -
       : Barang non aktif
    - + diff --git a/sistem/modul/js_cari_barang_2.php b/sistem/modul/js_cari_barang_2.php deleted file mode 100644 index 26059f1..0000000 --- a/sistem/modul/js_cari_barang_2.php +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - -
    - - - - //echo "Barcode: "; - ?> - - - - * - */ - ?> - - - - - - - - - - - - - - - - - - -
    BarcodeNama BarangStokHargaPilih
    [Pilih] -
    - -
    - - - diff --git a/sistem/modul/js_cetak_PO.php b/sistem/modul/js_cetak_PO.php index ce4f219..50d6124 100644 --- a/sistem/modul/js_cetak_PO.php +++ b/sistem/modul/js_cetak_PO.php @@ -1,6 +1,6 @@ -
    Untuk mengakses modul, Anda harus login
    "; - echo "LOGIN
    "; +echo " +
    Untuk mengakses modul, Anda harus login
    "; +echo "LOGIN
    "; } else{ if ($_POST['cetakcsv']) { // persiapan membuat output file CSV - $csv = "\"Nomor\",\"Barcode\",\"Nama Barang\",\"Stok Saat Ini\",\"Harga Beli\",\"Pesan\"\n"; - - $cek = $_POST['cek']; - $jumlah = count($cek); - $no = 1; - for($i=0;$i<$jumlah;$i++){ - $data = getBarangPesan($cek[$i]); - $barangPesan = mysql_fetch_array($data); - $csv .= "\"".$no."\",\"".$barangPesan['barcode']."\",\"".$barangPesan['namaBarang']."\",\"".$barangPesan['jumBarang']."\",\"".$barangPesan['hargaBeli']."\",\"\"\n"; - $no++; - }; - - $supplier = getDetailSupplier($_POST['idSupplier']); - $detailSupplier = mysql_fetch_array($supplier); + $csv="\"Nomor\",\"Barcode\",\"Nama Barang\",\"Stok Saat Ini\",\"Harga Beli\",\"Pesan\"\n"; + + $cek=$_POST['cek']; + $jumlah=count($cek); + $no=1; + for($i=0;$i<$jumlah;$i++){ + $data=getBarangPesan($cek[$i]); + $barangPesan=mysql_fetch_array($data); + $csv .= "\"".$no."\",\"".$barangPesan['barcode']."\",\"".$barangPesan['namaBarang']."\",\"".$barangPesan['jumBarang']."\",\"".$barangPesan['hargaBeli']."\",\"\"\n"; + $no++; + }; + + $supplier = getDetailSupplier($_POST['idSupplier']); + $detailSupplier=mysql_fetch_array($supplier); $namaFile = $detailSupplier['namaSupplier']."-".date("Y-m-d--H-i").".csv"; // kirim output CSV ke browser untuk di download @@ -53,36 +55,36 @@ echo $csv; } else { - echo ""; - - echo "

    Purchase Order

    "; - $supplier = getDetailSupplier($_POST[idSupplier]); - $detailSupplier = mysql_fetch_array($supplier); - echo "Nama Supplier : $detailSupplier[namaSupplier] -
    Tanggal PO : ".date("d-m-Y")."

    "; - $cek = $_POST['cek']; - $jumlah = count($cek); - $no = 1; - echo ""; - for($i=0;$i<$jumlah;$i++){ - $data = getBarangPesan($cek[$i]); - $barangPesan = mysql_fetch_array($data); - echo " - - - + echo ""; + + echo "

    Purchase Order

    "; + $supplier=getDetailSupplier($_POST[idSupplier]); + $detailSupplier=mysql_fetch_array($supplier); + echo "Nama Supplier : $detailSupplier[namaSupplier] +
    Tanggal PO : ".date("d-m-Y")."

    "; + $cek=$_POST['cek']; + $jumlah=count($cek); + $no=1; + echo "
    NoBarcodeNama BarangStok
    Saat Ini
    Pesan
    $no$barangPesan[barcode]$barangPesan[namaBarang]
    $barangPesan[jumBarang]
    "; + for($i=0;$i<$jumlah;$i++){ + $data=getBarangPesan($cek[$i]); + $barangPesan=mysql_fetch_array($data); + echo " + + + "; - $no++; - } - echo "
    NoBarcodeNama BarangStok
    Saat Ini
    Pesan
    $no$barangPesan[barcode]$barangPesan[namaBarang]
    $barangPesan[jumBarang]
    _____
    "; + $no++; + } + echo ""; } }; /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.9.3 / 2010-04-16 : Harry Sufehmi : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.9.3 / 2010-04-16 : Harry Sufehmi : initial release ------------------------------------------------------------------------ */ diff --git a/sistem/modul/js_cetak_retur_beli.php b/sistem/modul/js_cetak_retur_beli.php index 5fe7c37..de738ef 100644 --- a/sistem/modul/js_cetak_retur_beli.php +++ b/sistem/modul/js_cetak_retur_beli.php @@ -1,117 +1,118 @@ -
    Untuk mengakses modul, Anda harus login
    "; + echo " +
    Untuk mengakses modul, Anda harus login
    "; echo "LOGIN
    "; } else { if (isset($_POST['cetak'])) { - echo ""; + echo ""; echo "

    Note Retur Beli

    "; - $supplier = getDetailSupplier($_POST[idSupplier]); - $detailSupplier = mysql_fetch_array($supplier); + $supplier=getDetailSupplier($_POST[idSupplier]); + $detailSupplier=mysql_fetch_array($supplier); echo "Nama Supplier : $detailSupplier[namaSupplier] -
    Tanggal Retur : $_POST[tglRetur] -
    Nota : $_POST[idTransaksiBeli]

    "; +
    Tanggal Retur : $_POST[tglRetur] +
    Nota : $_POST[idTransaksiBeli]

    "; - echo " + echo "
    "; - $sql = "SELECT d.idBarang, d.barcode, d.jumRetur, d.hargaBeli, d.nominal, d.username, b.namaBarang - FROM detail_retur_beli AS d, barang AS b - WHERE idTransaksiBeli = $_POST[idTransaksiBeli] AND tglRetur = '$_POST[tglRetur]' AND d.barcode = b.barcode AND d.idSupplier={$_POST['idSupplier']}"; - $hasil = mysql_query($sql); + $sql="SELECT d.idBarang, d.barcode, d.jumRetur, d.hargaBeli, d.nominal, d.username, b.namaBarang + FROM detail_retur_beli AS d, barang AS b + WHERE idTransaksiBeli=$_POST[idTransaksiBeli] AND tglRetur='$_POST[tglRetur]' AND d.barcode=b.barcode"; + $hasil=mysql_query($sql); - $currentTotal = 0; - $oldTotal = 0; - $ctr = 1; - $totalRecord = mysql_num_rows($hasil); - while ($x = mysql_fetch_array($hasil)) { + $currentTotal=0; + $oldTotal=0; + $ctr=1; + $totalRecord=mysql_num_rows($hasil); + while ($x=mysql_fetch_array($hasil)) { if (($ctr % 2) == 0) { - $warna = "#EAF0F7"; + $warna="#EAF0F7"; } else { - $warna = "#FFFFFF"; + $warna="#FFFFFF"; } echo ""; //end warna echo " - - - - - "; + + + + + "; echo ""; $ctr++; - $nominal = $x[nominal]; - $username = $x[username]; - } // while ($x = mysql_fetch_array($hasil)) + $nominal=$x[nominal]; + $username=$x[username]; + } // while ($x=mysql_fetch_array($hasil)) echo "
    NoId BarangBarcodeNama Barang Jumlah
    Retur
    Harga Beli
    $ctr $x[idBarang] $x[barcode] $x[namaBarang] $x[jumRetur]" . uang($x[hargaBeli]) . " $x[idBarang] $x[barcode] $x[namaBarang] $x[jumRetur]" . uang($x[hargaBeli]) . "

    - TOTAL : " . uang($nominal) . "
    (username: $username) + TOTAL : " . uang($nominal) . "
    (username: $username) "; } elseif (isset($_POST['download'])) { // echo 'Download CSV'; // format isi file CSV : - // $data[0] = barcode - // $data[1] = idBarang - ignored - // $data[2] = namaBarang - JOIN ke tabel barang - // $data[3] = jumlah Barang / jumBarang - jumRetur - // $data[4] = hargaBeli - // $data[5] = hargaJual (di Gudang) - ignored - // $data[6] = RRP (Recommended Retail Price) - ignored - // $data[7] = namaSatuanBarang - ignored - // $data[8] = namaKategoriBarang - ignored - // $data[9] = Supplier - ignored - // $data[10] = username - ignored + // $data[0]=barcode + // $data[1]=idBarang - ignored + // $data[2]=namaBarang - JOIN ke tabel barang + // $data[3]=jumlah Barang / jumBarang - jumRetur + // $data[4]=hargaBeli + // $data[5]=hargaJual (di Gudang) - ignored + // $data[6]=RRP (Recommended Retail Price) - ignored + // $data[7]=namaSatuanBarang - ignored + // $data[8]=namaKategoriBarang - ignored + // $data[9]=Supplier - ignored + // $data[10]=username - ignored // persiapan membuat output file CSV - $csv = "\"barcode\",\"idBarang\",\"namaBarang\",\"jumBarang\",\"hargaBeli\",\"hargaJual\",\"RRP\",\"SatuanBarang\",\"KategoriBarang\",\"Supplier\",\"kasir\"\n"; + $csv="\"barcode\",\"idBarang\",\"namaBarang\",\"jumBarang\",\"hargaBeli\",\"hargaJual\",\"RRP\",\"SatuanBarang\",\"KategoriBarang\",\"Supplier\",\"kasir\"\n"; - // cari nama toko ini - $hasil = mysql_query("SELECT value FROM config WHERE `option` = 'store_name'"); - $x = mysql_fetch_array($hasil); - $namaToko = $x[value]; + // cari nama toko ini + $hasil=mysql_query("SELECT value FROM config WHERE `option`='store_name'"); + $x=mysql_fetch_array($hasil); + $namaToko=$x[value]; - $sql = "SELECT d.barcode, d.jumRetur, d.hargaBeli, d.username, b.namaBarang + $sql="SELECT d.barcode, d.jumRetur, d.hargaBeli, d.username, b.namaBarang FROM detail_retur_beli AS d - join barang as b on b.barcode = d.barcode - WHERE idTransaksiBeli = {$_POST['idTransaksiBeli']} AND tglRetur = '{$_POST['tglRetur']}'"; - $hasil = mysql_query($sql); - $kosong = ''; + join barang as b on b.barcode=d.barcode + WHERE idTransaksiBeli={$_POST['idTransaksiBeli']} AND tglRetur='{$_POST['tglRetur']}'"; + $hasil=mysql_query($sql); + $kosong=''; - while ($x = mysql_fetch_array($hasil)) { + while ($x=mysql_fetch_array($hasil)) { $csv.= "\"" . $x['barcode'] . "\",\"" . $kosong . "\",\"" . $x['namaBarang'] . "\",\"" . $x['jumRetur'] . "\",\"" . $x['hargaBeli'] . "\",\"" . $kosong . "\",\"" . $kosong . "\",\"" . $kosong . "\",\"" . $kosong . "\",\"" . $kosong . "\",\"" . $x['username'] . "\",\"\"\n"; } // masukkan nama toko ini ke nama file csv - $namaToko = str_replace(' ', '_', $namaToko); - $namaFile = 'RETUR-' . $namaToko . "-" . date("Y-m-d--H-i") . ".csv"; + $namaToko=str_replace(' ', '_', $namaToko); + $namaFile='RETUR-' . $namaToko . "-" . date("Y-m-d--H-i") . ".csv"; // kirim output CSV ke browser untuk di download header("Content-type: text/csv"); @@ -126,8 +127,8 @@ /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.9.3 / 2010-04-16 : Harry Sufehmi : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.9.3 / 2010-04-16 : Harry Sufehmi : initial release - ------------------------------------------------------------------------ */ +------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/js_cetak_rposup.php b/sistem/modul/js_cetak_rposup.php index 9f5bfee..acf70f8 100644 --- a/sistem/modul/js_cetak_rposup.php +++ b/sistem/modul/js_cetak_rposup.php @@ -1,43 +1,44 @@ -
    Untuk mengakses modul, Anda harus login
    "; +
    Untuk mengakses modul, Anda harus login
    "; echo "LOGIN
    "; } else { //if (!isset($_SESSION['idCustomer'])) { findSupplier($_POST['supplierid']); - $_SESSION['idCustomer'] = $_SESSION['idSupplier']; + $_SESSION['idCustomer']=$_SESSION['idSupplier']; //}; if (!isset($_SESSION['periode'])) { - $_SESSION['periode'] = $_POST['periode']; + $_SESSION['periode']=$_POST['periode']; }; if (!isset($_SESSION['range'])) { - $_SESSION['range'] = $_POST['range']; + $_SESSION['range']=$_POST['range']; }; if (!isset($_SESSION['persediaan'])) { - $_SESSION['persediaan'] = $_POST['persediaan']; + $_SESSION['persediaan']=$_POST['persediaan']; }; //var_dump($_SESSION); @@ -47,18 +48,18 @@ if ($_GET['init'] == 'yes') { /* - * bigint1 = idSupplier, - * dt1 = tanggal_sekarang, - * vc1 = barcode, - * integer1 = saran, - * float1 = harga_beli, - * integer2 = stok, - * vc2 = username, - * float2 = avgPerHari - */ + * bigint1=idSupplier, + * dt1=tanggal_sekarang, + * vc1=barcode, + * integer1=saran, + * float1=harga_beli, + * integer2=stok, + * vc2=username, + * float2=avgPerHari + */ // hapus data jadul - $sql = "DELETE FROM tmp WHERE vc2 = '$_SESSION[uname]'"; - $hasil = mysql_query($sql); + $sql="DELETE FROM tmp WHERE vc2='$_SESSION[uname]'"; + $hasil=mysql_query($sql); // buat RPO awal, dan simpan di table tmp SimpanRPOawal($_POST['supplierid'], $_POST['range'], $_POST['persediaan'], $_POST['buffer']); @@ -68,84 +69,84 @@ // update jumlah pesanan if ($_POST['buat']) { /* - * Delete yang sarannya 0 (nol) - */ - $sql = "DELETE FROM tmp WHERE integer1=0 and vc2 = '{$_SESSION['uname']}'"; - $hasil1 = mysql_query($sql); + * Delete yang sarannya 0 (nol) + */ + $sql="DELETE FROM tmp WHERE integer1=0 and vc2='{$_SESSION['uname']}'"; + $hasil1=mysql_query($sql); }; // update jumlah pesanan if ($_POST['update']) { - $sql = "SELECT tmp.vc1 as barcode, tmp.float2 AS AvgDaily, tmp.float1 as hargaBeli, b.namaBarang, - tmp.integer1 as jumBarang, tmp.integer2 AS StokSaatIni, tmp.dt1 AS SaranOrder - FROM tmp, barang AS b - WHERE tmp.vc1 = b.barcode AND tmp.bigint1 = '$_SESSION[idCustomer]' - AND tmp.vc2 = '$_SESSION[uname]' ORDER BY b.namaBarang"; - $hasil1 = mysql_query($sql); + $sql="SELECT tmp.vc1 as barcode, tmp.float2 AS AvgDaily, tmp.float1 as hargaBeli, b.namaBarang, + tmp.integer1 as jumBarang, tmp.integer2 AS StokSaatIni, tmp.dt1 AS SaranOrder + FROM tmp, barang AS b + WHERE tmp.vc1=b.barcode AND tmp.bigint1='$_SESSION[idCustomer]' + AND tmp.vc2='$_SESSION[uname]' ORDER BY b.namaBarang"; + $hasil1=mysql_query($sql); - for ($i = 1; $i <= $_POST['count']; $i++) { + for ($i=1; $i <= $_POST['count']; $i++) { - $x = mysql_fetch_array($hasil1); + $x=mysql_fetch_array($hasil1); if ($x['barcode'] == $_POST["barcode".$i]) { if ($x['jumBarang'] <> $_POST["jumbarang".$i]) { - $sql = "UPDATE tmp SET integer1 = ".$_POST["jumbarang".$i]." - WHERE vc1 = '".$_POST["barcode".$i]."' AND vc2 = '$_SESSION[uname]'"; + $sql="UPDATE tmp SET integer1=".$_POST["jumbarang".$i]." + WHERE vc1='".$_POST["barcode".$i]."' AND vc2='$_SESSION[uname]'"; //echo $sql; - $hasil2 = mysql_query($sql); + $hasil2=mysql_query($sql); }; }; - }; // for ($i = 1; $i <= $_POST['count']; $i++) + }; // for ($i=1; $i <= $_POST['count']; $i++) }; // edited by abufathir: if ($_POST['buatpo']) { // format isi file CSV : - // $data[0] = barcode - // $data[1] = idBarang - ignored - // $data[2] = namaBarang - // $data[3] = jumlah Barang / jumBarang - // $data[4] = hargaBeli - ignored - // $data[5] = hargaJual (di Gudang) - // $data[6] = RRP (Recommended Retail Price) - // $data[7] = namaSatuanBarang - // $data[8] = namaKategoriBarang - // $data[9] = Supplier - ignored - // $data[10] = username - ignored + // $data[0]=barcode + // $data[1]=idBarang - ignored + // $data[2]=namaBarang + // $data[3]=jumlah Barang / jumBarang + // $data[4]=hargaBeli - ignored + // $data[5]=hargaJual (di Gudang) + // $data[6]=RRP (Recommended Retail Price) + // $data[7]=namaSatuanBarang + // $data[8]=namaKategoriBarang + // $data[9]=Supplier - ignored + // $data[10]=username - ignored // persiapan membuat output file CSV - $csv = ''; - $csv = "\"barcode\",\"idBarang\",\"namaBarang\",\"jumBarang\",\"hargaBeli\",\"hargaJual\",\"RRP\",\"SatuanBarang\",\"KategoriBarang\",\"Supplier\",\"kasir\"\n"; - - // cari nama toko ini - $hasil = mysql_query("SELECT value FROM config WHERE `option` = 'store_name'"); - $x = mysql_fetch_array($hasil); - $namaToko = $x[value]; - -// $sql = "SELECT tdj.barcode, tdj.idBarang AS AvgDaily, tdj.hargaBeli, b.namaBarang, -// tdj.jumBarang, tdj.hargaJual AS StokSaatIni, tdj.tglTransaksi AS SaranOrder -// FROM tmp_detail_jual AS tdj, barang AS b -// WHERE tdj.barcode = b.barcode AND tdj.idCustomer = '$_SESSION[idCustomer]' -// AND tdj.username = '$_SESSION[uname]' ORDER BY b.namaBarang"; - $sql = "SELECT tmp.vc1 as barcode, tmp.float2 AS AvgDaily, tmp.float1 as hargaBeli, b.namaBarang, - tmp.integer1 as jumBarang, tmp.integer2 AS StokSaatIni, tmp.dt1 AS SaranOrder - FROM tmp, barang AS b - WHERE tmp.vc1 = b.barcode AND tmp.bigint1 = '$_SESSION[idCustomer]' - AND tmp.vc2 = '$_SESSION[uname]' ORDER BY b.namaBarang"; - $hasil1 = mysql_query($sql); - $kosong = ''; - - while ($x = mysql_fetch_array($hasil1)) { + $csv=''; + $csv="\"barcode\",\"idBarang\",\"namaBarang\",\"jumBarang\",\"hargaBeli\",\"hargaJual\",\"RRP\",\"SatuanBarang\",\"KategoriBarang\",\"Supplier\",\"kasir\"\n"; + + // cari nama toko ini + $hasil=mysql_query("SELECT value FROM config WHERE `option`='store_name'"); + $x=mysql_fetch_array($hasil); + $namaToko=$x[value]; + +// $sql="SELECT tdj.barcode, tdj.idBarang AS AvgDaily, tdj.hargaBeli, b.namaBarang, +// tdj.jumBarang, tdj.hargaJual AS StokSaatIni, tdj.tglTransaksi AS SaranOrder +// FROM tmp_detail_jual AS tdj, barang AS b +// WHERE tdj.barcode=b.barcode AND tdj.idCustomer='$_SESSION[idCustomer]' +// AND tdj.username='$_SESSION[uname]' ORDER BY b.namaBarang"; + $sql="SELECT tmp.vc1 as barcode, tmp.float2 AS AvgDaily, tmp.float1 as hargaBeli, b.namaBarang, + tmp.integer1 as jumBarang, tmp.integer2 AS StokSaatIni, tmp.dt1 AS SaranOrder + FROM tmp, barang AS b + WHERE tmp.vc1=b.barcode AND tmp.bigint1='$_SESSION[idCustomer]' + AND tmp.vc2='$_SESSION[uname]' ORDER BY b.namaBarang"; + $hasil1=mysql_query($sql); + $kosong=''; + + while ($x=mysql_fetch_array($hasil1)) { $csv .= "\"".$x['barcode']."\",\"".$kosong."\",\"".$x['namaBarang']."\",\"". - $x['jumBarang']."\",\"".$x['hargaBeli']."\",\"". - $kosong."\",\"".$kosong."\",\"".$kosong."\",\"".$kosong."\",\"". - $kosong."\",\"".$kosong."\",\"\"\n"; + $x['jumBarang']."\",\"".$x['hargaBeli']."\",\"". + $kosong."\",\"".$kosong."\",\"".$kosong."\",\"".$kosong."\",\"". + $kosong."\",\"".$kosong."\",\"\"\n"; } // masukkan nama toko ini ke nama file csv - $namaToko = str_replace(' ', '_', $namaToko); - $namaFile = 'PO-'.$namaToko."-".date("Y-m-d--H-i").".csv"; + $namaToko=str_replace(' ', '_', $namaToko); + $namaFile='PO-'.$namaToko."-".date("Y-m-d--H-i").".csv"; // kirim output CSV ke browser untuk di download header("Content-type: text/csv"); @@ -162,15 +163,15 @@ // edited by abufathir: // echo $_POST['buat'] ? "

    Buat PO (Purchase Order) Per SUPPLIER

    " : "

    Buat RPO (Rencana Purchase Order) Per SUPPLIER

    "; // end; - // cari nama toko ini - $hasil = mysql_query("SELECT value FROM config WHERE `option` = 'store_name'"); - $x = mysql_fetch_array($hasil); - $namaToko = $x[value]; + // cari nama toko ini + $hasil=mysql_query("SELECT value FROM config WHERE `option`='store_name'"); + $x=mysql_fetch_array($hasil); + $namaToko=$x[value]; echo '

    Purchase Order '.$namaToko.'

    '; echo "Kpd Yth. ".$_SESSION['namaSupplier']."

    - -
    + + @@ -184,21 +185,21 @@ "; - // $sql = "SELECT tdj.barcode, tdj.idBarang AS AvgDaily, tdj.hargaBeli, b.namaBarang, - // tdj.jumBarang, tdj.hargaJual AS StokSaatIni, tdj.tglTransaksi AS SaranOrder - // FROM tmp_detail_jual AS tdj, barang AS b - // WHERE tdj.barcode = b.barcode AND tdj.idCustomer = '$_SESSION[idCustomer]' - // AND tdj.username = '$_SESSION[uname]' ORDER BY b.namaBarang"; - $sql = "SELECT tmp.vc1 as barcode, tmp.float2 AS AvgDaily, tmp.float1 as hargaBeli, b.namaBarang, - tmp.integer1 as jumBarang, tmp.integer2 AS StokSaatIni, tmp.dt1 AS SaranOrder - FROM tmp, barang AS b - WHERE tmp.vc1 = b.barcode AND tmp.bigint1 = '$_SESSION[idCustomer]' - AND tmp.vc2 = '$_SESSION[uname]' ORDER BY b.namaBarang"; - $hasil1 = mysql_query($sql); - - $ctr = 1; - $grandtotal = 0; - while ($x = mysql_fetch_array($hasil1)) { + // $sql="SELECT tdj.barcode, tdj.idBarang AS AvgDaily, tdj.hargaBeli, b.namaBarang, + // tdj.jumBarang, tdj.hargaJual AS StokSaatIni, tdj.tglTransaksi AS SaranOrder + // FROM tmp_detail_jual AS tdj, barang AS b + // WHERE tdj.barcode=b.barcode AND tdj.idCustomer='$_SESSION[idCustomer]' + // AND tdj.username='$_SESSION[uname]' ORDER BY b.namaBarang"; + $sql="SELECT tmp.vc1 as barcode, tmp.float2 AS AvgDaily, tmp.float1 as hargaBeli, b.namaBarang, + tmp.integer1 as jumBarang, tmp.integer2 AS StokSaatIni, tmp.dt1 AS SaranOrder + FROM tmp, barang AS b + WHERE tmp.vc1=b.barcode AND tmp.bigint1='$_SESSION[idCustomer]' + AND tmp.vc2='$_SESSION[uname]' ORDER BY b.namaBarang"; + $hasil1=mysql_query($sql); + + $ctr=1; + $grandtotal=0; + while ($x=mysql_fetch_array($hasil1)) { ?> > "; - $grandtotal = $grandtotal + ($x['hargaBeli'] * $x['jumBarang']); + $grandtotal=$grandtotal + ($x['hargaBeli'] * $x['jumBarang']); $ctr++; }; @@ -240,8 +241,8 @@ // end; echo "Supplier : ".$_SESSION['namaSupplier']."
    Untuk Persediaan : ".$_POST['persediaan']." hari - - + +
    @@ -259,36 +260,36 @@ "; /* - * bigint1 = idSupplier, - * dt1 = tanggal_sekarang, - * vc1 = barcode, - * integer1 = saran, - * float1 = harga_beli, - * integer2 = stok, - * vc2 = username, - * float2 = avgPerHari - */ + * bigint1=idSupplier, + * dt1=tanggal_sekarang, + * vc1=barcode, + * integer1=saran, + * float1=harga_beli, + * integer2=stok, + * vc2=username, + * float2=avgPerHari + */ - $sql = "SELECT tmp.vc1 as barcode, tmp.float2 AS AvgDaily, tmp.float1 as hargaBeli, b.namaBarang, - tmp.integer1 as jumBarang, tmp.integer2 AS StokSaatIni, tmp.dt1 AS SaranOrder - FROM tmp, barang AS b - WHERE tmp.vc1 = b.barcode AND tmp.bigint1 = '$_SESSION[idCustomer]' - AND tmp.vc2 = '$_SESSION[uname]' ORDER BY b.namaBarang"; -// $sql = "SELECT tdj.barcode, tdj.idBarang AS AvgDaily, tdj.hargaBeli, b.namaBarang, -// tdj.jumBarang, tdj.hargaJual AS StokSaatIni, tdj.tglTransaksi AS SaranOrder -// FROM tmp_detail_jual AS tdj, barang AS b -// WHERE tdj.barcode = b.barcode AND tdj.idCustomer = '$_SESSION[idCustomer]' -// AND tdj.username = '$_SESSION[uname]' ORDER BY b.namaBarang"; - $hasil1 = mysql_query($sql); - - $ctr = 1; - $grandtotal = 0; - while ($x = mysql_fetch_array($hasil1)) { - - //$SaranOrder = strtotime($x['SaranOrder']); + $sql="SELECT tmp.vc1 as barcode, tmp.float2 AS AvgDaily, tmp.float1 as hargaBeli, b.namaBarang, + tmp.integer1 as jumBarang, tmp.integer2 AS StokSaatIni, tmp.dt1 AS SaranOrder + FROM tmp, barang AS b + WHERE tmp.vc1=b.barcode AND tmp.bigint1='$_SESSION[idCustomer]' + AND tmp.vc2='$_SESSION[uname]' ORDER BY b.namaBarang"; +// $sql="SELECT tdj.barcode, tdj.idBarang AS AvgDaily, tdj.hargaBeli, b.namaBarang, +// tdj.jumBarang, tdj.hargaJual AS StokSaatIni, tdj.tglTransaksi AS SaranOrder +// FROM tmp_detail_jual AS tdj, barang AS b +// WHERE tdj.barcode=b.barcode AND tdj.idCustomer='$_SESSION[idCustomer]' +// AND tdj.username='$_SESSION[uname]' ORDER BY b.namaBarang"; + $hasil1=mysql_query($sql); + + $ctr=1; + $grandtotal=0; + while ($x=mysql_fetch_array($hasil1)) { + + //$SaranOrder=strtotime($x['SaranOrder']); // Saran Order ambil dari field jumBarang; edited by abufathir; - $SaranOrder = $x['jumBarang']; - $AvgDaily = round(($x['AvgDaily']), 2); + $SaranOrder=$x['jumBarang']; + $AvgDaily=round(($x['AvgDaily']), 2); ?> > ".$AvgDaily." - + "; // edited by abufathir: @@ -306,26 +307,26 @@ echo " "; - $grandtotal = $grandtotal + ($x['hargaBeli'] * $x['jumBarang']); + $grandtotal=$grandtotal + ($x['hargaBeli'] * $x['jumBarang']); - // fixme : + // fixme : // function di function.php untuk cetak struk // untuk save ke CSV $ctr++; - }; // while ($x = mysql_fetch_array($hasil1)) + }; // while ($x=mysql_fetch_array($hasil1)) echo ""; // edited by abufathir: - echo $_POST['buat'] ? "" : ""; - //echo " "; + echo $_POST['buat'] ? "" : ""; + //echo " "; // end; echo " - + @@ -353,6 +354,6 @@ /* CHANGELOG ----------------------------------------------------------- - 1.6.0 / 2013-05-21 : Harry Sufehmi : initial release - ------------------------------------------------------------------------ */ +1.6.0 / 2013-05-21 : Harry Sufehmi : initial release +------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/js_input_retur_barang.php b/sistem/modul/js_input_retur_barang.php index 33f7909..9b2f077 100644 --- a/sistem/modul/js_input_retur_barang.php +++ b/sistem/modul/js_input_retur_barang.php @@ -1,366 +1,265 @@ -
    Untuk mengakses modul, Anda harus login
    "; - echo "LOGIN
    "; -} else { - - - // catat nama printer yang sudah dipilih - if (!empty($_POST[namaPrinter])) { - $_SESSION[namaPrinter] = $_POST[namaPrinter]; - }; - - - //HS javascript untuk menampilkan popup - ?> - - - - - - - - - - -
    - -
    - -
    -
    - Retur Jual :
    -
    - - -
    - - - -
    -
    - - -
    - - - - -
    -
    - - - -
    - - - - - - -
    - -
    ".$SaranOrder." ".$x['StokSaatIni']." ".number_format($x['hargaBeli'], 0, ',', '.')." ".number_format(($x['hargaBeli'] * $x['jumBarang']), 0, ',', '.')."
    Rp ".number_format($grandtotal, 0, ',', '.')."
    - - - - - - - - - - - - - - - - - - -
    BarcodeNama BarangJumlahHargaTotalAksi
    '>Hapus
    -
    - - '> -
    -
    -
    - - - - - - - - - - - -
    Uang diambil dari kasir aktif: - -
    Batal   
    -
    -
    -
    - - - '> - - - - - - - - - - - - - - -
    Total Retur
    -
    [ BATAL ]   
    - - * - */ - ?> - - Belum ada barang yang di Retur
    - BATAL - -
    - - -
    - -
    -
    -
    - -
    -
    - -
    - - - - - +
    Untuk mengakses modul, Anda harus login
    "; +echo "LOGIN
    "; +} +else{ + + + // catat nama printer yang sudah dipilih + if (!empty($_POST[namaPrinter])) { + $_SESSION[namaPrinter]=$_POST[namaPrinter]; + }; + + + //HS javascript untuk menampilkan popup +?> + + + + + + + + + + +RETUR Barang + +
    ".number_format($_SESSION[tot_retur],0,',','.')."
    + + + "; + + echo "

    Barang yang di RETUR

    + + + + + "; + + echo " + + + + + + + +
    + +
    + (b) Barcode
    (q) Qty +
    + + +
    +
    + + + + + "; + + if($_GET[action]=='tambah'){ + + if($_GET[barcode]) {$_POST[barcode]=$_GET[barcode];}; + $trueJual=cekBarangTempRetur($_POST[barcode]); +// echo "$trueJual"; + if($trueJual != 0){ + + tambahBarangReturAda($_POST[barcode],$_POST[jumBarang]); + } + else{ + + tambahBarangRetur($_POST[barcode],$_POST[jumBarang]); + } + } + + + // mulai cetak daftar transaksi retur sejauh ini + $sql="SELECT * + FROM tmp_detail_retur_barang tdj, barang b + WHERE tdj.barcode=b.barcode AND tdj.username='$_SESSION[uname]'"; + + //echo $sql; + $query=mysql_query($sql); + $r=mysql_fetch_row($query); + echo "
    "; + if($r){ + + echo " + + + + + "; + $no=1; + $tot_retur=0; + + $query2=mysql_query("SELECT tdj.uid, tdj.barcode, b.namaBarang, tdj.jumBarang, tdj.hargaBeli, tdj.tglTransaksi + FROM tmp_detail_retur_barang tdj, barang b + WHERE tdj.barcode=b.barcode AND tdj.username='$_SESSION[uname]' + ORDER BY tglTransaksi DESC"); + + while ($data=mysql_fetch_array($query2)){ + $total=$data[hargaBeli] * $data[jumBarang]; + //untuk mewarnai tabel menjadi selang-seling + if(($no % 2) == 0){ + $warna="#EAF0F7"; + } + else{ + $warna="#FFFFFF"; + } + echo ""; + echo " + + + + "; + $tot_retur += $total; + $no++; + } + + echo "
    BarcodeNama BarangJumlahHargaTotalAksi
    $data[barcode]$data[namaBarang]$data[jumBarang]$data[hargaBeli]".number_format($total,0,',','.')." Hapus
    "; + + echo " + +
    + + + + + + + + + + "; + + $_SESSION[tot_retur]=$tot_retur; + + echo " + + +
    Total Retur
    ".number_format($tot_retur,0,',','.')."
    [ BATAL ]  + + +
    "; + + + } + else{ + echo "Belum ada barang yang di Retur
    + BATAL + "; + } + + echo "
    "; + + break; +} + +} // if (empty($_SESSION[namauser]) + + + +/* CHANGELOG ----------------------------------------------------------- + +1.0.1 / 2010-11-22 : Harry Sufehmi : initial release +------------------------------------------------------------------------ */ + +?> diff --git a/sistem/modul/js_jual_barang.php b/sistem/modul/js_jual_barang.php index aee03da..b698c77 100644 --- a/sistem/modul/js_jual_barang.php +++ b/sistem/modul/js_jual_barang.php @@ -1,900 +1,564 @@ -
    Untuk mengakses modul, Anda harus login
    "; - echo "LOGIN
    "; -} else { - - if (isset($_POST['idCustomer'])) { - findCustomer($_POST['idCustomer']); - } - - $result = mysql_query("select `value` from config where `option`='ukm_mode'") or die(mysql_error()); - $hasil = mysql_fetch_array($result); - $ukmMode = $hasil['value']; - - $transferahad = false; - if (($_POST['transferahad'] == 1) || ($_GET['transferahad'] == 1)) { - $transferahad = true; - } - - $batalGagal = false; - if (isset($_GET['bg']) && $_GET['bg'] && !$transferahad) { - $batalGagal = true; - } - -//HS javascript untuk menampilkan popup - ?> - - - - - - - - - - - - - - - - - - - - -
    - -
    - -
    - -
    - Transfer Barang antar Ahad :
    - -
    - -
    - : - 0) { - echo " ({$_SESSION['customerDiskonP']}%)"; - } elseif ($_SESSION['customerDiskonR'] > 0) { - echo ' ('.number_format($_SESSION['customerDiskonR'], 0, ',', '.').')'; - } - ?> - -
    Jumlah Poin Periode Berjalan = - -
    - - -
    -
    - - - -
    - $brg[barcode] - $brg[namaBarang] - Rp ".number_format($brg[hargaJual],0,',','.')."\n"; - //} - //var_dump($_POST); - //var_dump($_GET); - if ($transferahad) { - ?> - - - -
    - - -
    - - -
    - - -
    - - -
    - -
    -
    - - - -
    - - - - - -
    - - - - - - - - -
    - - - - - - - - - - - - - - + +
    + +
    + +
    + +
    + Transfer Barang antar Ahad :
    + +
    + +

    + Customer : + 0) { + echo " ({$_SESSION['customerDiskonP']}%)"; + } + elseif ($_SESSION['customerDiskonR'] > 0) { + echo ' (' . number_format($_SESSION['customerDiskonR'], 0, ',', '.') . ')'; + } + ?> +

    + + +
    +
    + + +
    + $brg[barcode] - $brg[namaBarang] - Rp ".number_format($brg[hargaJual],0,',','.')."\n"; + //} + //var_dump($_POST); + //var_dump($_GET); + if ($transferahad) { + ?> + + + +
    + + +
    + + +
    + + +
    +
    +
    + +
    + + +
    +
    + + +
    + + + + + + + + + + + +
    + +
    NoBarcodeNama BarangJumlahHargaDiskonNetTotalHapus
    + + + + + + + + + + + - - - - - - - - - - - - 0) { - $totalPlusDiskon = $total - ($total * $data['diskon_persen'] / 100); - echo number_format($totalPlusDiskon, 0, ',', '.'); - } elseif ($data['diskon_rupiah'] > 0) { - $totalPlusDiskon = $total - $data['diskon_rupiah']; - echo number_format($totalPlusDiskon, 0, ',', '.'); - } else { - $totalPlusDiskon = $total; - echo number_format($totalPlusDiskon, 0, ',', '.'); - } - ?> - - * - */ ?> - - - + + + + + + + + + + + 0) { + $totalPlusDiskon=$total - ($total * $data['diskon_persen'] / 100); + echo number_format($totalPlusDiskon, 0, ',', '.'); + } elseif ($data['diskon_rupiah'] > 0) { + $totalPlusDiskon=$total - $data['diskon_rupiah']; + echo number_format($totalPlusDiskon, 0, ',', '.'); + } else { + $totalPlusDiskon=$total; + echo number_format($totalPlusDiskon, 0, ',', '.'); + } + ?> + + * + */ ?> + + + 0) { -// $diskonCustomer = $tot_pembelian * $customerDiskonData['diskon_persen'] / 100; +// $diskonCustomer=$tot_pembelian * $customerDiskonData['diskon_persen'] / 100; // } elseif ($customerDiskonData['diskon_rupiah'] > 0) { -// $diskonCustomer = $customerDiskonData['diskon_rupiah']; +// $diskonCustomer=$customerDiskonData['diskon_rupiah']; // } - // Total Pembelian di kurangi $diskonCustomer - // $tot_pembelian -= $diskonCustomer; - // $_SESSION['diskonCustomer'] = $diskonCustomer; - // end Diskon per Customer - ?> -
    NoBarcodeNama BarangJumlahHargaDiskonTotalHapus
    0) { - echo $data['diskon_persen'].'%'; - } elseif ($data['diskon_rupiah'] > 0) { - echo number_format($data['diskon_rupiah'], 0, ',', '.'); - $totalDiskon += $data['diskon_rupiah'] * $data['jumBarang']; - } - ?> - - - - - '>
    + + + + 0) { + echo $data['diskon_persen'] . '%'; + } + elseif ($data['diskon_rupiah'] > 0) { + echo number_format($data['diskon_rupiah'], 0, ',', '.'); + $totalDiskon += $data['diskon_rupiah'] * $data['jumBarang']; + } + ?> + '>
    - - -
    - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Total Pembelian :
    Jumlah Poin :
    Tipe Pembayaran : - -
    Surcharge : -
    - - -
    -
    - - -
    -
    Uang Dibayar :
    Kembali :
    ' class="tombol">Batal   
    -
    -
    -
    - - Belum ada barang yang dibeli
    - '> - -
    - - -
    - -
    -
    -
    -
    - Batal - -
    -
    -
    -
    -
    - - - -
    -
    -
    -
    -
    - -
    -
    -
    - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    123.456Nama
    - Barcode -
    - Stok -
    - -
    -
    - - -
    - + // Total Pembelian di kurangi $diskonCustomer + // $tot_pembelian -= $diskonCustomer; + // $_SESSION['diskonCustomer']=$diskonCustomer; + // end Diskon per Customer + ?> + + + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Total Pembelian :
    Tipe Pembayaran : + +
    Surcharge : +
    + + +
    +
    + + +
    +
    Uang Dibayar :
    Kembali :
    Batal 
    +
    +
    +
    + + Belum ada barang yang dibeli
    + + +
    +
    +
    +
    + Batal + +
    +
    +
    +
    +
    + + + +
    +
    + + + + - enter. Muncul Harga Jual - 1.6.0 / 2013-02-24 : Harry Sufehmi : fitur : transfer barang antar sesama pengguna AhadPOS - 1.0.1 / 2010-06-03 : Harry Sufehmi : perhitungan Surcharge dibetulkan - 0.9.2 / 2010-03-03 : Harry Sufehmi : initial release - ------------------------------------------------------------------------ */ \ No newline at end of file + /* CHANGELOG ----------------------------------------------------------- + 1.6.0 / 2013-02-24 : Harry Sufehmi : fitur : transfer barang antar sesama pengguna AhadPOS + 1.0.1 / 2010-06-03 : Harry Sufehmi : perhitungan Surcharge dibetulkan + 0.9.2 / 2010-03-03 : Harry Sufehmi : initial release + ------------------------------------------------------------------------ */ diff --git a/sistem/modul/js_jual_barang.php-0.9.3 b/sistem/modul/js_jual_barang.php-0.9.3 deleted file mode 100644 index 4d5d697..0000000 --- a/sistem/modul/js_jual_barang.php-0.9.3 +++ /dev/null @@ -1,246 +0,0 @@ - -
    Untuk mengakses modul, Anda harus login
    "; - echo "LOGIN
    "; -} -else{ - - if(!isset($_SESSION[idCustomer])){ - findCustomer($_POST[idCustomer]); - } - - - //HS javascript untuk menampilkan popup -?> - - - - - - - - - - -Penjualan Barang - -
    ".number_format($_SESSION[tot_pembelian],0,',','.')."
    - - Penjualan Barang untuk customer : $_SESSION[namaCustomer] - - "; - - echo "

    Barang yang dijual

    - - - - - "; - - // ----- TERLALU LAMBAT ! ----- jangan gunakan dropbox terlampir untuk memilih barcode - // ambil daftar barang - //$sql="SELECT namaBarang,barcode,hargaJual - // FROM barang FORCE INDEX (barcode) ORDER BY barcode ASC"; - //$namaBarang=mysql_query($sql); - //while($brg = mysql_fetch_array($namaBarang)){ - // echo "\n"; - //} - - echo " - - - - - - - -
    - -
    - (b) Barcode
    : (q) Qty: -
    - - -
    -
    - - - - - "; - - if($_GET[action]=='tambah'){ - - if($_GET[barcode]) {$_POST[barcode]=$_GET[barcode];}; - $trueJual = cekBarangTempJual($_SESSION[idCustomer],$_POST[barcode]); -// echo "$trueJual"; - if($trueJual != 0){ - - tambahBarangJualAda($_SESSION[idCustomer],$_POST[barcode],$_POST[jumBarang]); - } - else{ - - tambahBarangJual($_POST[barcode],$_POST[jumBarang]); - } - } - $sql = "SELECT * - FROM tmp_detail_jual tdj, barang b - WHERE tdj.barcode = b.barcode AND tdj.idCustomer = '$_SESSION[idCustomer]' AND tdj.username = '$_SESSION[uname]'"; - //echo $sql; - $query = mysql_query($sql); - $r = mysql_fetch_row($query); - echo "
    "; - if($r){ - //echo "Ada $r[0] data"; - echo " - - - - - "; - $no=1; - $tot_pembelian; - - $query2 = mysql_query("SELECT tdj.uid, tdj.barcode, b.namaBarang, tdj.jumBarang, tdj.hargaJual, tdj.tglTransaksi - FROM tmp_detail_jual tdj, barang b - WHERE tdj.barcode = b.barcode AND tdj.idCustomer = '$_SESSION[idCustomer]' - AND tdj.username = '$_SESSION[uname]' ORDER BY tglTransaksi DESC"); - while ($data=mysql_fetch_array($query2)){ - $total = $data[hargaJual] * $data[jumBarang]; - //untuk mewarnai tabel menjadi selang-seling - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo ""; - echo " - - - - "; - $tot_pembelian += $total; - $no++; - } - - echo "
    BarcodeNama BarangJumlahHargaTotalAksi
    $data[barcode]$data[namaBarang]$data[jumBarang]$data[hargaJual]".number_format($total,0,',','.')." Hapus
    "; - $pmbyrn = mysql_query("SELECT * from pembayaran"); - echo " - -
    - - -
    - - - - - - - "; - - $_SESSION[tot_pembelian] = $tot_pembelian; - - echo " - - - - - - - - - -
    Total Pembelian".number_format($tot_pembelian,0,',','.')."
    (a) Tipe Pembayaran
    Surcharge %
    Uang Dibayar
    Kembali
     
    [ BATAL ]   
    "; - - //fixme: buat tombol "Simpan & Cetak PDF" - untuk pengguna di Windows - - - } - else{ - echo "Belum ada barang yang dibeli
    - BATAL"; - } - - break; -} - -} // if (empty($_SESSION[namauser]) - -?> diff --git a/sistem/modul/js_jual_barang_2.php b/sistem/modul/js_jual_barang_2.php index 62f2bd9..a10f3b4 100644 --- a/sistem/modul/js_jual_barang_2.php +++ b/sistem/modul/js_jual_barang_2.php @@ -1,27 +1,28 @@ -
    Untuk mengakses modul, Anda harus login
    "; +
    Untuk mengakses modul, Anda harus login
    "; echo "LOGIN
    "; } else { @@ -41,38 +42,38 @@ function addComma(angka) { nStr += ''; - x = nStr.split('.'); - x1 = x[0]; - x2 = x.length > 1 ? '.' + x[1] : ''; - var rgx = /(\d+)(\d{3})/; + x=nStr.split('.'); + x1=x[0]; + x2=x.length > 1 ? '.' + x[1] : ''; + var rgx=/(\d+)(\d{3})/; while (rgx.test(x1)) { - x1 = x1.replace(rgx, '$1' + ',' + '$2'); + x1=x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; } function RecalcTotal(tot_pembelian) { - var totalBeli = 0; - var Kembali = 0; - var uangDibayar = parseInt(document.getElementById("uangDibayar").value); - var surcharge = parseInt(document.getElementById("surcharge").value); - - totalSurcharge = ((tot_pembelian / 100) * surcharge); - totalBeli = tot_pembelian + totalSurcharge; - Kembali = uangDibayar - totalBeli; - - document.getElementById("uangKembali").value = Kembali; - document.getElementById("kembalian").innerHTML = '' + addComma(Kembali) + ''; - document.getElementById("TotalSurcharge").value = addComma(totalSurcharge); - // document.getElementById("tot_pembelian").innerHTML = '' + number_format(totalBeli, 0, ',', '.') + ''; - document.getElementById("tot_pembelian").innerHTML = '' + addComma(totalBeli) + ''; + var totalBeli=0; + var Kembali=0; + var uangDibayar=parseInt(document.getElementById("uangDibayar").value); + var surcharge=parseInt(document.getElementById("surcharge").value); + + totalSurcharge=((tot_pembelian / 100) * surcharge); + totalBeli=tot_pembelian + totalSurcharge; + Kembali=uangDibayar - totalBeli; + + document.getElementById("uangKembali").value=Kembali; + document.getElementById("kembalian").innerHTML='' + addComma(Kembali) + ''; + document.getElementById("TotalSurcharge").value=addComma(totalSurcharge); + // document.getElementById("tot_pembelian").innerHTML='' + number_format(totalBeli, 0, ',', '.') + ''; + document.getElementById("tot_pembelian").innerHTML='' + addComma(totalBeli) + ''; } -- > - + @@ -81,8 +82,8 @@ function RecalcTotal(tot_pembelian) {
    Barang yang dijual--> -
    + ?> +
    - +
    $brg[barcode] - $brg[namaBarang] - Rp ".number_format($brg[hargaJual],0,',','.')."\n"; //} - //var_dump($_POST); + //var_dump($_POST); //var_dump($_GET); if (($_POST['transferahad'] == 1) || ($_GET['transferahad'] == 1)) { ?> @@ -145,16 +146,16 @@ function RecalcTotal(tot_pembelian) { ?>
    - +
    - - + +
    - +
    - - + +
    @@ -178,10 +179,10 @@ function RecalcTotal(tot_pembelian) { if ($_GET[action] == 'tambah') { if ($_GET[barcode]) { - $_POST[barcode] = $_GET[barcode]; + $_POST[barcode]=$_GET[barcode]; }; - $trueJual = cekBarangTempJual($_SESSION[idCustomer], $_POST[barcode]); -// echo "$trueJual"; + $trueJual=cekBarangTempJual($_SESSION[idCustomer], $_POST[barcode]); +// echo "$trueJual"; if ($trueJual != 0) { tambahBarangJualAda($_SESSION[idCustomer], $_POST[barcode], $_POST[jumBarang]); @@ -190,12 +191,12 @@ function RecalcTotal(tot_pembelian) { tambahBarangJual($_POST[barcode], $_POST[jumBarang]); } } - $sql = "SELECT * - FROM tmp_detail_jual tdj, barang b - WHERE tdj.barcode = b.barcode AND tdj.idCustomer = '$_SESSION[idCustomer]' AND tdj.username = '$_SESSION[uname]'"; + $sql="SELECT * + FROM tmp_detail_jual tdj, barang b + WHERE tdj.barcode=b.barcode AND tdj.idCustomer='$_SESSION[idCustomer]' AND tdj.username='$_SESSION[uname]'"; //echo $sql; - $query = mysql_query($sql); - $r = mysql_fetch_row($query); + $query=mysql_query($sql); + $r=mysql_fetch_row($query); ?>
    Hapus @@ -266,10 +267,10 @@ function RecalcTotal(tot_pembelian) { ?> -
    +
    @@ -281,7 +282,7 @@ function RecalcTotal(tot_pembelian) { Tipe Pembayaran : - @@ -319,24 +320,24 @@ function RecalcTotal(tot_pembelian) {
    - +
    - +
    Uang Dibayar : - + Kembali : - + -     +  
    @@ -363,10 +364,10 @@ function RecalcTotal(tot_pembelian) { /* CHANGELOG ----------------------------------------------------------- - 1.6.0 / 2013-02-24 : Harry Sufehmi : fitur : transfer barang antar sesama pengguna AhadPOS - 1.0.1 / 2010-06-03 : Harry Sufehmi : perhitungan Surcharge dibetulkan - 0.9.2 / 2010-03-03 : Harry Sufehmi : initial release - ------------------------------------------------------------------------ */ + 1.6.0 / 2013-02-24 : Harry Sufehmi : fitur : transfer barang antar sesama pengguna AhadPOS + 1.0.1 / 2010-06-03 : Harry Sufehmi : perhitungan Surcharge dibetulkan + 0.9.2 / 2010-03-03 : Harry Sufehmi : initial release + ------------------------------------------------------------------------ */ ?>
    diff --git a/sistem/modul/js_tambah_barang.php b/sistem/modul/js_tambah_barang.php index 177efcb..5350cd9 100644 --- a/sistem/modul/js_tambah_barang.php +++ b/sistem/modul/js_tambah_barang.php @@ -1,6 +1,6 @@ - - - + + + + + + + + + + +
    Barcode : + echo " + + + - - - - - + + + + + - - + + - - - - - - - - - - - -
    Barcode
    Nama Barang : jumlah yang dibeli :
    Nama Barangjumlah yang dibeli
    Harga Beli Sekarang : Harga Beli Barang : Harga Beli SekarangHarga Beli Barang
    Harga Jual Sekarang : Harga Jual Barang :
     Tanggal Expire : (yyyy-mm-dd)
    - "; +
    Harga Jual SekarangHarga Jual Barang
     Tanggal Expire(yyyy-mm-dd)
    + "; */ // header('location:../media.php?module=pembelian_barang&act=carisupplier#'); // - // harga banded - if ($_POST['qtyBanded'] > 0 && $_POST['hargaBandedSatuan'] > 0){ - $qty = $_POST['qtyBanded']; - $barcode = $_POST['barcode']; - $harga = $_POST['hargaBandedSatuan']; - if ($qty > 0){ - $sql = "INSERT INTO tmp_harga_banded (barcode, user_name, supplier_id, qty, harga_satuan) " - . "VALUES('{$barcode}','{$_POST['username']}','{$_POST['supplier']}', {$qty},{$harga}) " - . "ON DUPLICATE KEY UPDATE qty={$qty}, harga_satuan={$harga} "; - } else { - $sql = "DELETE FROM tmp_harga_banded WHERE barcode = '{$barcode}' AND user_name='{$_POST['username']}'"; - } - mysql_query($sql) or die(mysql_error()); - } - ?> - - + // harga banded + if ($_POST['qtyBanded'] > 0 && $_POST['hargaBandedSatuan'] > 0){ + $qty=$_POST['qtyBanded']; + $barcode=$_POST['barcode']; + $harga=$_POST['hargaBandedSatuan']; + if ($qty > 0){ + $sql="INSERT INTO tmp_harga_banded (barcode, user_name, supplier_id, qty, harga_satuan) " + . "VALUES('{$barcode}','{$_POST['username']}','{$_POST['supplier']}', {$qty},{$harga}) " + . "ON DUPLICATE KEY UPDATE qty={$qty}, harga_satuan={$harga} "; + } else { + $sql="DELETE FROM tmp_harga_banded WHERE barcode='{$barcode}' AND user_name='{$_POST['username']}'"; + } + mysql_query($sql) or die(mysql_error()); + } +?> + + 'media.php') { - // when this module is called directly, we'll need to initialize the session properly - session_start(); - include "../../config/config.php"; - include "function.php"; + // when this module is called directly, we'll need to initialize the session properly + session_start(); + require_once($_SERVER["DOCUMENT_ROOT"].'/define.php'); + include SITE_ROOT."sistem/modul/function.php"; }; check_user_access(basename($_SERVER['SCRIPT_NAME'])); @@ -29,167 +29,98 @@ ?> -

    Data barang

    - - -//
    -//
    -// -//
    -//
    -//
    -//
    -//
    -//
    -//
    -//
    - ?> - - - - - */ - ?> - -//
    -//
    -// -//

    -// -//
    -//
    -//
    -//
    -//
    -//
    -//
    -//
    -//
    -//
    -//
    -//
    -//

    -// -//
    -//
    -//
    -//
    -//
    -//
    -//
    -//
    -// -//
    -//
    -// ||
    -//
    -// -//
    -//
    -// ||
    -//
    -//

    - //
    - ?> - - - -
    - - - - - -
    - -
    - */ - ?> - -//
    -// ||
    -// - ?> -
    - - - - - - - - - - - - - - - - - +

    Data barang

    + +
    + +
    + + + +
    + + + + +
    + + + +
    + +
    noBarcodeNama BarangKategori BarangSatuan BarangJumlahHarga JualHarga BandedQty BandedNon Aktifaksi
    + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - -
    noBarcodeNama BarangKategori BarangSatuan BarangJumlahHarga JualHarga BandedQty BandedNon Aktifaksi
    ' : ''; ?>>Ubahpus ?> -
    -
    - $i ] "; - }; - - echo " -

     

    - << Kembali"; - break; - - - - case "returbarang1": // ======================================================================================================================== - // pilih printer - $sql = "SELECT namaWorkstation,printer_commands,workstation_address FROM workstation "; - $hasil = mysql_query($sql) or die(mysql_error()); - - echo " -
    + $no=1; + $ctr=1; + ?> + + + + + + + + + + + + + ' : ''; ?> + >Ubahpus ?> + + + + + +
    + $i ] "; + }; + + echo " +

     

    + Kembali"; + break; + + + + case "returbarang1": // ======================================================================================================================== + // pilih printer + $sql="SELECT namaWorkstation,printer_commands,workstation_address FROM workstation "; + $hasil=mysql_query($sql) or die(mysql_error()); + + echo " + - + - - - + +
    Pilih Printer :
     
        -
     
      +
    "; - break; - - - - case "tambahbarang": // ======================================================================================================================== - echo "

    Tambah Barang

    -
    - - - - - - - - - - - -
    Barcode :
    Nama Barang :
    Supplier :
    Kategori Barang :
    Satuan Barang :
     
        -
    "; - break; - - - - - case "caribarang1": // ======================================================================================================================== - - echo " + break; + + + + case "tambahbarang": // ======================================================================================================================== + echo "

    Tambah Barang

    +
    + + + + + + + + + + + +
    Barcode
    Nama Barang
    Supplier
    Kategori Barang
    Satuan Barang
     
      +
    "; + break; + + + + + case "caribarang1": // ======================================================================================================================== + + echo "

    Cari Barang

    -
    + - - -
    (r) Pilih Rak ? : + + + while ($rak=mysql_fetch_array($ambilRak)) { + echo ""; + } + echo " - - - + + +
    (r) Pilih Rak ?
    (b) Barcode :
    (n) Nama Barang :
    (b) Barcode
    (n) Nama Barang
    "; - break; + break; - case "caribarang2": + case "caribarang2": - if ($_POST[rak] == '0') { - $q_rak = ""; - } else { - $q_rak = " idRak=$_POST[rak] AND "; - }; + if ($_POST[rak] == '0') { + $q_rak=""; + } + else { + $q_rak=" idRak=$_POST[rak] AND "; + }; - if ($_POST[barcode] == '0') { - $sql = "SELECT b.idBarang,b.namaBarang,b.jumBarang,b.hargaJual,b.barcode, k.namaKategoriBarang, s.namaSatuanBarang, - (`harga_banded`.`harga` * `harga_banded`.`qty`) hargaBanded, - `harga_banded`.`qty` qtyBanded, b.nonAktif - FROM barang AS b - LEFT JOIN `kategori_barang` k - ON b.`idKategoriBarang` = k.`idKategoriBarang` - LEFT JOIN `satuan_barang` s - ON b.`idSatuanBarang` = s.`idSatuanBarang` - LEFT JOIN `harga_banded` - ON b.`barcode` = `harga_banded`.`barcode` + if ($_POST[barcode] == '0') { + $sql="SELECT b.idBarang,b.namaBarang,b.jumBarang,b.hargaJual,b.barcode, k.namaKategoriBarang, s.namaSatuanBarang, b.nonAktif + FROM barang AS b, kategori_barang AS k, satuan_barang AS s WHERE $q_rak namaBarang LIKE '%$_POST[namaBarang]%' AND - b.idKategoriBarang = k.idKategoriBarang AND b.idSatuanBarang = s.idSatuanBarang - ORDER BY namaBarang ASC"; - } else { - $sql = "SELECT b.idBarang,b.namaBarang,b.jumBarang,b.hargaJual,b.barcode, k.namaKategoriBarang, s.namaSatuanBarang, - (`harga_banded`.`harga` * `harga_banded`.`qty`) hargaBanded, - `harga_banded`.`qty` qtyBanded, b.nonAktif - FROM barang AS b - LEFT JOIN `kategori_barang` k - ON b.`idKategoriBarang` = k.`idKategoriBarang` - LEFT JOIN `satuan_barang` s - ON b.`idSatuanBarang` = s.`idSatuanBarang` - LEFT JOIN `harga_banded` - ON b.barcode = `harga_banded`.`barcode` - WHERE $q_rak b.barcode LIKE '$_POST[barcode]%' AND - b.idKategoriBarang = k.idKategoriBarang AND b.idSatuanBarang = s.idSatuanBarang - ORDER BY namaBarang ASC"; - }; - $cari = mysql_query($sql) or die(mysql_error()); - //echo $sql; - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    noBarcodeNama BarangKategori BarangSatuan BarangJumlahHarga JualHarga BandedQty BandedNon Aktifaksi
    ' : ''; ?>>Ubah - pus - // - ?> -
    -
    - + + + + + + + + + + + + + + + + + + + + + + + + + + +
    noBarcodeNama BarangKategori BarangSatuan BarangJumlahHarga JualNon Aktifaksi
    ' : ''; ?>>Ubahpus ?> +
    +
    + Cetak Label Barang -
    + - - - "; - echo " + echo " "; - break; - - - - - case "cetakSO": // ======================================================================================================================== - ?> - -

    Cetak Stock Opname

    - -
    (s) Supplier : + + - - + + + while ($rak=mysql_fetch_array($ambilRak)) { + echo ""; + } + echo " - +
    (s) Supplier
    (r) Rak :
    (r) Rak
    "; - break; + break; - case "cetaklabel2": + case "cetaklabel2": - if ($_POST[rak] == '0') { - $sql = "SELECT b.idBarang,b.namaBarang,b.jumBarang,b.hargaJual,b.barcode, k.namaKategoriBarang, s.namaSatuanBarang - FROM barang AS b, kategori_barang AS k, satuan_barang AS s + if ($_POST[rak] == '0') { + $sql="SELECT b.idBarang,b.namaBarang,b.jumBarang,b.hargaJual,b.barcode, k.namaKategoriBarang, s.namaSatuanBarang + FROM barang AS b, kategori_barang AS k, satuan_barang AS s WHERE idSupplier=$_POST[supplier] AND - b.idKategoriBarang = k.idKategoriBarang AND b.idSatuanBarang = s.idSatuanBarang AND (nonAktif!=1 or nonAktif is null) - ORDER BY namaBarang ASC"; - $cari = mysql_query($sql); - $q = 'sup'; - $sql = $_POST[supplier]; - } else { - $sql = "SELECT b.idBarang,b.namaBarang,b.jumBarang,b.hargaJual,b.barcode, k.namaKategoriBarang, s.namaSatuanBarang - FROM barang AS b, kategori_barang AS k, satuan_barang AS s + b.idKategoriBarang=k.idKategoriBarang AND b.idSatuanBarang=s.idSatuanBarang AND (nonAktif!=1 or nonAktif is null) + ORDER BY namaBarang ASC"; + $cari=mysql_query($sql); + $q='sup'; + $sql=$_POST[supplier]; + } + else { + $sql="SELECT b.idBarang,b.namaBarang,b.jumBarang,b.hargaJual,b.barcode, k.namaKategoriBarang, s.namaSatuanBarang + FROM barang AS b, kategori_barang AS k, satuan_barang AS s WHERE idRak=$_POST[rak] AND - b.idKategoriBarang = k.idKategoriBarang AND b.idSatuanBarang = s.idSatuanBarang AND (nonAktif!=1 or nonAktif is null) - ORDER BY namaBarang ASC"; - $cari = mysql_query($sql); - $q = 'rak'; - $sql = $_POST[rak]; - }; - - $jumlah_pilihan = mysql_num_rows($cari); - ?> -

    Cetak Label Barang - Pilih Barang

    -
    - > - > - > - - - - - - - - - - - - - - - > - - - - - - - - - - - -
    NoBarcodeNama BarangKategori BarangSatuan BarangJumlahHarga JualCetak ?

    - - - -
    - 1 or nonAktif is null) " - . "ORDER BY namaBarang ASC"); - } else { - $cari = mysql_query("SELECT barcode, namaBarang, hargaJual, idBarang, namaSatuanBarang " - . "FROM barang LEFT JOIN satuan_barang satuan ON barang.idSatuanBarang = satuan.idSatuanBarang " - . "WHERE idRak=$_POST[sql] and (nonAktif <> 1 or nonAktif is null) ORDER BY namaBarang ASC"); - }; - if ($_POST['layout'] == '2') { - // Layout 2 = Layout harga banded - ?> - - -
    - $label_per_baris) { - $kolom = 1; - $baris++; - $clear = " clear:left; "; //echo "
    "; // ganti baris - } - if ($baris > $baris_per_halaman) { - $baris = 1; - ?> -

    - $jumlahKarakterNamaBarang) { - $namaBarangArr = explode(' ', $namaBarangLengkap); - $len = 0; - $namaBarang1 = ''; - $namaBarang2 = ''; - foreach ($namaBarangArr as $namBar) { - $len += strlen($namBar); - if ($len <= $jumlahKarakterNamaBarang) { - $namaBarang1 .= $namBar . ' '; - $len++; - } else { - $namaBarang2 .= $namBar . ' '; - } - } - } - - // cetak label - ?> -

    -

    - -

    -

    - -

    - - - - - - - - - - - -
    Rp./
    Rp./
    - - - -
    - -
    - - - -
    - $label_per_baris) { - $kolom = 1; - $baris++; - $clear = " clear:left; "; //echo "
    "; // ganti baris - } - if ($baris > $baris_per_halaman) { - $baris = 1; - ?> -

    - -

    -

    - -

    - - - - - - -
    Rp./
    - - - - - - -
    Rp./
    - - - -
    - -
    - "; - - for ($i = 1; $i <= $total; $i++) { - - $r = mysql_fetch_array($cari); - if ($_POST["cl$i"] == 'on') { - - $clear = ""; - // cek posisi saat ini - if ($kolom > $label_per_baris) { - $kolom = 1; - $baris++; - $clear = " clear:left; "; //echo "
    "; // ganti baris - }; - if ($baris > $baris_per_halaman) { - $baris = 1; - echo '

    '; - }; - - $namaBarang1 = $r['namaBarang']; - $namaBarang2 = ' '; - // jika terlalu panjang nama barangnya -// if (strlen($namaBarang) > 15) { -// // bikin menjadi 2 baris -// $namaBarang = substr($namaBarang, 0, 15) . -// "

    " . substr($namaBarang, 15); -// }; - - $namaBarangLengkap = $r['namaBarang']; - // jika terlalu panjang nama barangnya - if (strlen($namaBarangLengkap) > $jumlahKarakterNamaBarang) { - $namaBarangArr = explode(' ', $namaBarangLengkap); - $len = 0; - $namaBarang1 = ''; - $namaBarang2 = ''; - foreach ($namaBarangArr as $namBar) { - $len += strlen($namBar); - if ($len <= $jumlahKarakterNamaBarang) { - $namaBarang1 .= $namBar . ' '; - $len++; - } else { - $namaBarang2 .= $namBar . ' '; - } - } - } - - // cetak label - echo "\n + b.idKategoriBarang=k.idKategoriBarang AND b.idSatuanBarang=s.idSatuanBarang AND (nonAktif!=1 or nonAktif is null) + ORDER BY namaBarang ASC"; + $cari=mysql_query($sql); + $q='rak'; + $sql=$_POST[rak]; + }; + + $jumlah_pilihan=mysql_num_rows($cari); + ?> +

    Cetak Label Barang - Pilih Barang

    +
    + > + > + > + + + + + + + + + + + + + + + > + + + + + + + + + + + +
    NoBarcodeNama BarangKategori BarangSatuan BarangJumlahHarga JualCetak ?

    + + + +
    + 1 or nonAktif is null) " + . "ORDER BY namaBarang ASC"); + } + else { + $cari=mysql_query("SELECT barcode, namaBarang, hargaJual, idBarang, namaSatuanBarang " + . "FROM barang LEFT JOIN satuan_barang satuan ON barang.idSatuanBarang=satuan.idSatuanBarang " + . "WHERE idRak=$_POST[sql] and (nonAktif <> 1 or nonAktif is null) ORDER BY namaBarang ASC"); + }; + if ($_POST['layout'] == '2') { + // Layout 2=Layout harga banded + ?> + + +
    + $label_per_baris) { + $kolom=1; + $baris++; + $clear=" clear:left; "; //echo "
    "; // ganti baris + } + if ($baris > $baris_per_halaman) { + $baris=1; + ?> +

    + $jumlahKarakterNamaBarang) { + $namaBarangArr=explode(' ', $namaBarangLengkap); + $len=0; + $namaBarang1=''; + $namaBarang2=''; + foreach ($namaBarangArr as $namBar) { + $len += strlen($namBar); + if ($len <= $jumlahKarakterNamaBarang) { + $namaBarang1 .= $namBar . ' '; + $len++; + } + else { + $namaBarang2 .= $namBar . ' '; + } + } + } + + // cetak label + ?> +

    +

    + +

    +

    + +

    + + + + + + + + + + + +
    Rp./
    Rp./
    + + + +
    + +
    + "; + + for ($i=1; $i <= $total; $i++) { + + $r=mysql_fetch_array($cari); + if ($_POST["cl$i"] == 'on') { + + $clear=""; + // cek posisi saat ini + if ($kolom > $label_per_baris) { + $kolom=1; + $baris++; + $clear=" clear:left; "; //echo "
    "; // ganti baris + }; + if ($baris > $baris_per_halaman) { + $baris=1; + echo '

    '; + }; + + $namaBarang1=$r['namaBarang']; + $namaBarang2=' '; + // jika terlalu panjang nama barangnya +// if (strlen($namaBarang) > 15) { +// // bikin menjadi 2 baris +// $namaBarang=substr($namaBarang, 0, 15) . +// "

    " . substr($namaBarang, 15); +// }; + + $namaBarangLengkap=$r['namaBarang']; + // jika terlalu panjang nama barangnya + if (strlen($namaBarangLengkap) > $jumlahKarakterNamaBarang) { + $namaBarangArr=explode(' ', $namaBarangLengkap); + $len=0; + $namaBarang1=''; + $namaBarang2=''; + foreach ($namaBarangArr as $namBar) { + $len += strlen($namBar); + if ($len <= $jumlahKarakterNamaBarang) { + $namaBarang1 .= $namBar . ' '; + $len++; + } + else { + $namaBarang2 .= $namBar . ' '; + } + } + } + + // cetak label + echo "\n

    -

    - {$namaBarang1}

    -

    - {$namaBarang2} +

    + {$namaBarang1}

    +

    + {$namaBarang2}

    " . number_format($r[hargaJual], 0, ',', '.') . "

    $r[barcode] - $r[idBarang] - - + + {$tanggal} - +
    "; - $kolom++; - }; - } // for - } - echo "
    "; - - break; - - - - case "cetakperbarcode": // ============================================================================================= - - if ($_GET[cek] == "barcode") { - if ($_POST[lBarcode] != "") { - $cekBarcode = $_POST[lBarcode]; - insertTempLabel($cekBarcode); - //header('location:?module=barang&act=cetakperbarcode'); - } - } - - if ($_GET['cek'] == 'perubahanhj') { - $tanggalDari = date_format(date_create_from_format('d-m-Y H:i', $_POST['tanggal_dari']), 'Y-m-d H:i:s'); - $sql = "SELECT barcode FROM barang WHERE hargaJualLastUpdate >= '{$tanggalDari}'"; - $query = mysql_query($sql); - while ($barang = mysql_fetch_array($query, MYSQL_ASSOC)) { - insertTempLabel($barang['barcode']); - } - } - - $sqlTampil = "SELECT * FROM tmp_cetak_label_perbarcode"; - /* Jika ada parameter kategori, maka tampilkan kategori itu saja */ - if (isset($_GET['kategori']) && $_GET['kategori'] != '0') { - $sqlTampil .= " WHERE tmpKategori = '{$_GET['kategori']}'"; - } - //echo $sqlTampil; - $tampil = mysql_query($sqlTampil); - $listKategori = mysql_query("select distinct tmpKategori from tmp_cetak_label_perbarcode order by tmpKategori"); - $jumlah_pilihan = mysql_num_rows($tampil); - ?> -
    -
    - - -
    -
    - Harga jual berubah sejak: - -
    - - -
    -
    - - - - - - - - - - - - - - - - - - - - ' /> - - -
    NoBarcodeNama BarangKategori - - Satuan BarangHarga JualBatal
    '>Batal -
    -
    - - - -
    -
    - - Input Cepat Rak -
    - - - - + while ($rak=mysql_fetch_array($ambilRak)) { + if ($rak[idRak] == $_POST[rak]) { + echo ""; + } + else { + echo ""; + } + } + echo " + +
    (r) Rak : + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + ' /> + + +
    NoBarcodeNama BarangKategori BarangSatuan BarangHarga JualAksi
    '>Batal +
    +
    + + + +
    +
    + Input Cepat Rak +
    + + + + - -
    (r) Rak
    (b) Barcode :
    -
    (b) Barcode
    +
    - - - - - - - - - - - - - - - -
    (r) Rak : -
    (u) Urut berdasarkan : -
    Kategori : -
    - - - - - Cetak Stock Opname +
    + + + + + + + + +
    (r) Rak
    "; + + break; + + + + + case "cetakSO2": + + require_once($_SERVER["DOCUMENT_ROOT"].'/define.php'); + + $cari=mysql_query("SELECT * FROM barang WHERE idRak=$_POST[rak] AND (nonAktif!=1 or nonAktif is null) ORDER BY namaBarang ASC"); + + $hasilRak=mysql_query("select namaRak from rak where idRak={$_POST['rak']}"); + $rak=mysql_fetch_array($hasilRak); + ?> + + Rak {$rak['namaRak']} - - - "; - - $no = 1; - $ctr = 1; - while ($r = mysql_fetch_array($cari)) { - //untuk mewarnai tabel menjadi selang-seling - if (($no % 2) == 0) { - $warna = "#EAF0F7"; - } else { - $warna = "#FFFFFF"; - } - echo ""; //end warna - echo " - - - - - +
    noBarcodeNama BarangHarga
    Jual
    Jml
    Tercatat
    Selisih
    $no$r[barcode]$r[namaBarang]" . number_format($r[hargaJual], 0, ',', '.') . "
    $r[jumBarang]
    + + "; + + $no=1; + $ctr=1; + while ($r=mysql_fetch_array($cari)) { + //untuk mewarnai tabel menjadi selang-seling + if (($no % 2) == 0) { + $warna="#EAF0F7"; + } + else { + $warna="#FFFFFF"; + } + echo ""; //end warna + echo " + + + + + "; - $no++; - $ctr++; - } - echo " + $no++; + $ctr++; + } + echo "
    noBarcodeNama BarangHarga
    Jual
    Jml
    Tercatat
    Selisih
    $no$r[barcode]$r[namaBarang]" . number_format($r[hargaJual], 0, ',', '.') . "
    $r[jumBarang]

    "; - break; + break; - case "inputSO": // ======================================================================================================================== + case "inputSO": // ======================================================================================================================== - echo " + echo "

    Input Stock Opname - Pilih Rak

    -
    + - +
    - - + + while ($rak=mysql_fetch_array($ambilRak)) { + echo ""; + } + echo " - +
    (r) Rak :
    (r) Rak
    "; - break; - - - - - case "inputSO2": // mulai input hasil Stock Opname - - include "../config/config.php"; - - $sql = "SELECT * FROM barang WHERE idRak=$_POST[rak] AND (nonAktif!=1 or nonAktif is null) ORDER BY namaBarang ASC"; - $cari = mysql_query($sql); - //echo $sql; - ?> -

    Input Stock Opname (ID Rak: )

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NoBarcodeNama BarangHarga
    Jual
    Jml
    Tercatat
    Selisih
    - ' /> - '> - '>
    -
    - '> - '> - -
    - +

    Input Stock Opname (ID Rak: )

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NoBarcodeNama BarangHarga
    Jual
    Jml
    Tercatat
    Selisih
    + ' /> + '> + '>
    +
    + '> + '> + +
    +
    Mulai menyimpan transaksi Stock Opname :

    "; + echo "Stock Opname sudah disimpan di database, nota SO nomor: " . $idStockOpname . "

    Mulai menyimpan transaksi Stock Opname :

    "; - for ($i = 1; $i <= $ctr; $i++) { + for ($i=1; $i <= $ctr; $i++) { - if ($_POST["selisih$i"] <> 0) { // simpan hanya yang ada selisihnya - $sql = "INSERT INTO detail_stock_opname (idStockOpname,barcode,namaBarang,jmlTercatat,selisih) + if ($_POST["selisih$i"] <> 0) { // simpan hanya yang ada selisihnya + $sql="INSERT INTO detail_stock_opname (idStockOpname,barcode,namaBarang,jmlTercatat,selisih) VALUES ($idStockOpname,'" . $_POST["barcode$i"] . "','" . $_POST["namaBarang$i"] . "'," . $_POST["jmlTercatat$i"] . ", " . $_POST["selisih$i"] . ") "; - $hasil = mysql_query($sql); - - //fixme: ubah jumlah barang - komprehensif - // # cari seluruh stok dari barang ybs di detail_beli - // # pilih yang paling awal - // # apply selisih di salah satunya - // # jika jadi minus = jadikan nol, lalu pilih record barang tsb yang berikutnya - // # sesuaikan jmlBarang di tabel barang - ////////////// update jumlah stok di tabel barang - // StokSekarang = jmlTercatat + Selisih - $StokSekarang = $_POST["jmlTercatat$i"] + $_POST["selisih$i"]; - $sql = "UPDATE barang SET jumBarang = '" . $StokSekarang . "' WHERE barcode = '" . $_POST["barcode$i"] . "'"; - $hasil = mysql_query($sql); - - echo " + $hasil=mysql_query($sql); + + //fixme: ubah jumlah barang - komprehensif + // # cari seluruh stok dari barang ybs di detail_beli + // # pilih yang paling awal + // # apply selisih di salah satunya + // # jika jadi minus=jadikan nol, lalu pilih record barang tsb yang berikutnya + // # sesuaikan jmlBarang di tabel barang + ////////////// update jumlah stok di tabel barang + // StokSekarang=jmlTercatat + Selisih + $StokSekarang=$_POST["jmlTercatat$i"] + $_POST["selisih$i"]; + $sql="UPDATE barang SET jumBarang='" . $StokSekarang . "' WHERE barcode='" . $_POST["barcode$i"] . "'"; + $hasil=mysql_query($sql); + + echo " Transaksi SO : Nama Barang: " . $_POST["namaBarang$i"] . ", Selisih: " . $_POST["selisih$i"] . " - sudah disimpan
    "; - }; // if ($_POST[selisih$i] !== 0) - }; // for ($i = 1; $i <= $_POST[ctr]; $i++) - - - echo "Selesai !"; - - break; - - - - - - case "editbarang": // ======================================================================================================================== - $edit = mysql_query("SELECT * FROM barang WHERE barcode='$_GET[id]'"); - $data = mysql_fetch_array($edit); - ?> -

    Edit Barang

    -
    - '> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '> -
    Barcode : ' />
    Nama Barang : ' />
    Kategori Barang : -
    Satuan Barang : -
    Supplier : -
    Rak : -
    Harga Jual : '>
    Non Aktif : - -
    Harga Banded :
     
        -
    -


    - +

    Edit Barang

    +
    + '> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '> +
    Barcode' />
    Nama Barang' />
    Kategori Barang +
    Satuan Barang +
    Supplier +
    Rak +
    Harga Jual'>
    Non Aktif + +
    Harga Banded
     
      +
    +


    + "; - } - // jika stok nya sudah laku semua, - // cetak 2 stok yang terakhir (sekedar untuk informasi harga) - if ($jumlah < 1) { - /* - $sql = "SELECT d.idTransaksiBeli, d.hargaBeli, d.isSold, d.jumBarang FROM detail_beli AS d - WHERE d.barcode = '$data[barcode]' ORDER BY d.idTransaksiBeli DESC LIMIT 2"; - */ - // Abu Muhammad: Query diganti agar tanggal transaksi terakhir tetap muncul - $sql = "SELECT t.tglTransaksiBeli,d.hargaBeli, d.jumBarang, d.isSold - FROM detail_beli AS d, transaksibeli AS t - WHERE d.barcode = '{$data[barcode]}' AND d.idTransaksiBeli = t.idTransaksiBeli ORDER BY d.idTransaksiBeli DESC LIMIT 2"; - $hasil = mysql_query($sql); - $jumlah = mysql_num_rows($hasil); - while ($x = mysql_fetch_array($hasil)) { - echo "Tgl.Beli: " . $x[tglTransaksiBeli] . ", Harga Beli : Rp " . number_format($x[hargaBeli], 0, ',', '.') . ", Status: "; - if ($x[isSold] == 'Y') { - echo " Habis"; - } else { - echo " Ada"; - }; - echo " (jumlah: $x[jumBarang])
    "; - } - } - - - break; - - - - case "cetakbarang1": // ======================================================================================================================== - // cari tahu jumlah rak yang ada di toko ini - $cari = mysql_query("SELECT idRak FROM rak"); - $jumlah_rak = mysql_num_rows($cari); - - // cari daftar workstation kasir yang ada - $daftarKasir = mysql_query("SELECT idWorkstation,namaWorkstation FROM workstation"); - $daftarRak = mysql_query("SELECT idRak, namaRak FROM rak ORDER BY namaRak"); - ?> - -

    Cetak Stock Barang

    -
    - - Disini Anda bisa mencetak daftar stok Barang yang masih ada / jumlahnya tidak nol. - Biasanya digunakan pada saat Tutup Buku, untuk secara acak memeriksa stok barang yang sebenarnya. - -

    - - - - - - - - - - - - - - - - - - - - - - - -
    (d) Dari Rak - -
    Sampai Rak - -
    Kategori : -

    (p) Cetak ke

    :

    -
    - - "; + } + + // jika stok nya sudah laku semua, + // cetak 2 stok yang terakhir (sekedar untuk informasi harga) + if ($jumlah < 1) { + $sql="SELECT d.idTransaksiBeli, d.hargaBeli, d.isSold, d.jumBarang FROM detail_beli AS d + WHERE d.barcode='$data[barcode]' ORDER BY d.idTransaksiBeli DESC LIMIT 2"; + $hasil=mysql_query($sql); + $jumlah=mysql_num_rows($hasil); + while ($x=mysql_fetch_array($hasil)) { + echo "ID: " . $x[idTransaksiBeli] . ", Harga Beli : Rp " . number_format($x[hargaBeli], 0, ',', '.') . ", Status: "; + if ($x[isSold] == 'Y') { + echo " Habis"; + } + else { + echo " Ada"; + }; + echo " (jumlah: $x[jumBarang])
    "; + } + } + + + break; + + + + case "cetakbarang1": // ======================================================================================================================== + // cari tahu jumlah rak yang ada di toko ini + $cari=mysql_query("SELECT idRak FROM rak"); + $jumlah_rak=mysql_num_rows($cari); + + // cari daftar workstation kasir yang ada + $daftarKasir=mysql_query("SELECT idWorkstation,namaWorkstation FROM workstation"); + + + echo " +

    Cetak Stock Barang

    +
    + + Disini Anda bisa mencetak daftar stok Barang yang masih ada / jumlahnya tidak nol. + Biasanya digunakan pada saat Tutup Buku, untuk secara acak memeriksa stok barang yang sebenarnya. + +

    + + + + + + + + + + + + + + + + +
    (d) Dari Rak
    Sampai Rak
    (p) Cetak ke

    "; + + break; + + + case "cetakbarang2": + + + echo "
    - +
    "; - // ambil data barang yang akan dicetak - if ($_GET['kategoriId'] == '*') { - // Semua Kategori - $sql = "SELECT barang.idRak, namaBarang, hargaJual, jumBarang - FROM barang - JOIN rak ON barang.idRak = rak.idRak - WHERE jumBarang <> 0 AND rak.namaRak BETWEEN '" . $_GET['darirak'] . "' AND '" . $_GET['sampairak'] . "' - ORDER BY namaRak,namaBarang ASC"; - /* Kasus spesial untuk rak virtual 999999 */ - if ($_GET['darirak'] == '999999' && $_GET['sampairak'] == '999999') { - echo '999999'; - $sql = "SELECT barang.idRak, namaBarang, hargaJual, jumBarang - FROM barang - WHERE jumBarang <> 0 AND idRak=999999 - ORDER BY namaBarang ASC"; - } - } else { - // Kategori tertentu - $sql = "SELECT barang.idRak, namaBarang, hargaJual, jumBarang - FROM barang - JOIN rak ON barang.idRak = rak.idRak - WHERE jumBarang <> 0 AND idKategoriBarang={$_GET['kategoriId']} AND rak.namaRak BETWEEN '" . $_GET['darirak'] . "' AND '" . $_GET['sampairak'] . "' - ORDER BY namaRak,namaBarang ASC"; - /* Kasus spesial untuk rak virtual 999999 */ - if ($_GET['darirak'] == '999999' && $_GET['sampairak'] == '999999') { - $sql = "SELECT barang.idRak, namaBarang, hargaJual, jumBarang - FROM barang - WHERE jumBarang <> 0 AND idKategoriBarang={$_GET['kategoriId']} AND idRak=999999 - ORDER BY namaBarang ASC"; - } - } - if ($abangAdekMode) { - if ($_GET['kategoriId'] == '*') { - $sql = "SELECT barang.idRak, barang.namaBarang, barang.jumBarang, detail_beli.hargaBeli - FROM barang - JOIN (select distinct detail_beli.barcode, max(idDetailBeli) maxBeli - from detail_beli - join barang on detail_beli.barcode=barang.barcode - JOIN rak ON barang.idRak = rak.idRak - WHERE rak.namaRak BETWEEN '" . $_GET['darirak'] . "' AND '" . $_GET['sampairak'] . "' - group by barcode) dbeli ON barang.barcode=dbeli.barcode - JOIN detail_beli on dbeli.maxBeli = detail_beli.idDetailBeli - WHERE barang.jumBarang <> 0 AND namaRak BETWEEN '" . $_GET['darirak'] . "' AND '" . $_GET['sampairak'] . "' - ORDER BY namaRak,namaBarang ASC"; - /* Kasus spesial untuk rak virtual 999999 */ - if ($_GET['darirak'] == '999999' && $_GET['sampairak'] == '999999') { - $sql = "SELECT barang.idRak, barang.namaBarang, barang.jumBarang, detail_beli.hargaBeli - FROM barang - JOIN (select distinct detail_beli.barcode, max(idDetailBeli) maxBeli - from detail_beli - join barang on detail_beli.barcode=barang.barcode - WHERE idRak=999999 - group by barcode) dbeli ON barang.barcode=dbeli.barcode - JOIN detail_beli on dbeli.maxBeli = detail_beli.idDetailBeli - WHERE barang.jumBarang <> 0 AND barang.idRak=999999 - ORDER BY namaBarang ASC"; - } - } else { - $sql = "SELECT barang.idRak, barang.namaBarang, barang.jumBarang, detail_beli.hargaBeli - FROM barang - JOIN (select distinct detail_beli.barcode, max(idDetailBeli) maxBeli - from detail_beli - join barang on detail_beli.barcode=barang.barcode - JOIN rak ON barang.idRak = rak.idRak - WHERE rak.namaRak BETWEEN '" . $_GET['darirak'] . "' AND '" . $_GET['sampairak'] . "' - group by barcode) dbeli ON barang.barcode=dbeli.barcode - JOIN detail_beli on dbeli.maxBeli = detail_beli.idDetailBeli - WHERE barang.jumBarang <> 0 AND barang.idKategoriBarang={$_GET['kategoriId']} AND namaRak BETWEEN '" . $_GET['darirak'] . "' AND '" . $_GET['sampairak'] . "' - ORDER BY namaRak,namaBarang ASC"; - /* Kasus spesial untuk rak virtual 999999 */ - if ($_GET['darirak'] == '999999' && $_GET['sampairak'] == '999999') { - $sql = "SELECT barang.idRak, barang.namaBarang, barang.jumBarang, detail_beli.hargaBeli - FROM barang - JOIN (select distinct detail_beli.barcode, max(idDetailBeli) maxBeli - from detail_beli - join barang on detail_beli.barcode=barang.barcode - WHERE idRak=999999 - group by barcode) dbeli ON barang.barcode=dbeli.barcode - JOIN detail_beli on dbeli.maxBeli = detail_beli.idDetailBeli - WHERE barang.jumBarang <> 0 AND barang.idKategoriBarang={$_GET['kategoriId']} AND barang.idRak=999999 - ORDER BY namaBarang ASC"; - } - } - } - $daftarBarang = mysql_query($sql); - $jumlahBarang = mysql_num_rows($daftarBarang); - //echo $sql; - // mulai mencetak - if ($_GET[printer] == '0') { - - $rakSebelum = 0; - $rakSekarang = 0; - $gantiBaris = 0; - for ($i = 1; $i <= $jumlahBarang; $i++) { - - // ambil 1 record - $x = mysql_fetch_array($daftarBarang); - $rakSekarang = $x[idRak]; - - if ($rakSebelum <> $rakSekarang) { - // cetak header - $hasil = mysql_query("SELECT namaRak FROM rak WHERE idRak = $x[idRak]"); - $r = mysql_fetch_array($hasil); - $namaRak = $r ? $r['namaRak'] : 'Virtual'; - - echo " + // ambil data barang yang akan dicetak + $sql="SELECT idRak, namaBarang, hargaJual, jumBarang + FROM barang WHERE jumBarang <> 0 AND idRak BETWEEN " . $_GET['darirak'] . " AND " . $_GET['sampairak'] . " + ORDER BY idRak,namaBarang ASC"; + $daftarBarang=mysql_query($sql); + $jumlahBarang=mysql_num_rows($daftarBarang); + //echo $sql; + // mulai mencetak + if ($_GET[printer] == '0') { + + $rakSebelum=0; + $rakSekarang=0; + $gantiBaris=0; + for ($i=1; $i <= $jumlahBarang; $i++) { + + // ambil 1 record + $x=mysql_fetch_array($daftarBarang); + $rakSekarang=$x[idRak]; + + if ($rakSebelum <> $rakSekarang) { + // cetak header + $hasil=mysql_query("SELECT namaRak FROM rak WHERE idRak=$x[idRak]"); + $r=mysql_fetch_array($hasil); + + echo "

    - Rak #$x[idRak] : $namaRak + Rak #$x[idRak] : $r[namaRak]

    @@ -1633,74 +1257,79 @@ function popupform(myform, windowname) "; - $rakSebelum = $rakSekarang; - }; // if ($rakSebelum <> $rakSekarang) - - if ($gantiBaris > 1) { - // ganti baris - echo ""; - $gantiBaris = 0; - }; // if ($gantiBaris > 1) - // cetak data barang - ?> - - - - $rakSekarang) { - // kirim ke printer - $perintah = "echo \"$struk\" |lpr $perintahPrinter -l"; - exec($perintah, $output); - //echo $struk; - - $struk = ""; - $rakSebelum = $rakSekarang; - - // cetak header - $hasil = mysql_query("SELECT namaRak FROM rak WHERE idRak = $x[idRak]"); - $r = mysql_fetch_array($hasil); - $struk .= "\n\nRak #$x[idRak] : $r[namaRak] \n ==============="; - }; // if ($rakSebelum <> $rakSekarang) - // cetak data barang - $struk .= "\n $x[namaBarang] \n Harga: $x[hargaJual], Jumlah: $x[jumBarang]"; - }; // for ($i = 1; $i <= $jumlahBarang; $i++) - // cetak baris terakhir - $perintah = "echo \"$struk\" |lpr $perintahPrinter -l"; - exec($perintah, $output); - //echo $struk; - }; // if ($_GET[printer] == '0') - - - break; - - - - - case "ApproveFastSO1": // ======================================================================================================================== - // cari SO yang belum di approve - $sql = "SELECT DISTINCT tanggalSO FROM fast_stock_opname WHERE approved=0 ORDER BY tanggalSO ASC"; - $hasil = mysql_query($sql); - - echo " + $rakSebelum=$rakSekarang; + }; // if ($rakSebelum <> $rakSekarang) + + if ($gantiBaris > 1) { + // ganti baris + echo ""; + $gantiBaris=0; + }; // if ($gantiBaris > 1) + // cetak data barang + echo " + + + + "; + + $gantiBaris++; + }; // for ($i=1; $i <= $jumlahBarang; $i++) + } + else { + + // ambil daftar printer_command untuk idWorkstation ybs + $hasil=mysql_query("SELECT printer_commands FROM workstation WHERE idWorkstation=$_GET[printer]"); + $r=mysql_fetch_array($hasil); + $perintahPrinter=$r[printer_commands]; + + $rakSebelum=0; + $rakSekarang=0; + $struk=""; + for ($i=1; $i <= $jumlahBarang; $i++) { + + // ambil 1 record + $x=mysql_fetch_array($daftarBarang); + $rakSekarang=$x[idRak]; + + // kalau ganti rak, cetak dulu $struk + if ($rakSebelum <> $rakSekarang) { + // kirim ke printer + $perintah="echo \"$struk\" |lpr $perintahPrinter -l"; + exec($perintah, $output); + //echo $struk; + + $struk=""; + $rakSebelum=$rakSekarang; + + // cetak header + $hasil=mysql_query("SELECT namaRak FROM rak WHERE idRak=$x[idRak]"); + $r=mysql_fetch_array($hasil); + $struk .= "\n\nRak #$x[idRak] : $r[namaRak] \n ==============="; + }; // if ($rakSebelum <> $rakSekarang) + // cetak data barang + $struk .= "\n $x[namaBarang] \n Harga: $x[hargaJual], Jumlah: $x[jumBarang]"; + }; // for ($i=1; $i <= $jumlahBarang; $i++) + // cetak baris terakhir + $perintah="echo \"$struk\" |lpr $perintahPrinter -l"; + exec($perintah, $output); + //echo $struk; + }; // if ($_GET[printer] == '0') + + + break; + + + + + case "ApproveFastSO1": // ======================================================================================================================== + // cari SO yang belum di approve + $sql="SELECT DISTINCT tanggalSO FROM fast_stock_opname WHERE approved=0 ORDER BY tanggalSO ASC"; + $hasil=mysql_query($sql); + + echo "

    Approve Fast Stock Opname

    @@ -1709,35 +1338,35 @@ function popupform(myform, windowname)
    $x[namaBarang] +
    $x[hargaJual]
    +
    $x[jumBarang]
    +
    - + echo " - +

    (t) Pilih Tanggal SO

    :

    :


    "; - break; + break; - case "ApproveFastSO2": // ---------------------------------------------------------------------------- - // cari SO yang belum di approve di tanggalSO - $sql = "SELECT * FROM fast_stock_opname WHERE tanggalSO='$_GET[tanggalSO]' AND approved=0 ORDER BY idRak,jmlTercatat DESC"; - $hasil1 = mysql_query($sql); + case "ApproveFastSO2": // ---------------------------------------------------------------------------- + // cari SO yang belum di approve di tanggalSO + $sql="SELECT * FROM fast_stock_opname WHERE tanggalSO='$_GET[tanggalSO]' AND approved=0 ORDER BY idRak,jmlTercatat DESC"; + $hasil1=mysql_query($sql); - echo " + echo "

    Approve Fast Stock Opname

    -
    +

    @@ -1770,19 +1399,19 @@ function popupform(myform, windowname) "; - $x = mysql_fetch_array($hasil1); - $rakSekarang = $x[idRak]; - $rakSebelum = $x[idRak]; - $ctr = 1; - $ctrRec = 1; - $jumlahRecord = mysql_num_rows($hasil1); + $x=mysql_fetch_array($hasil1); + $rakSekarang=$x[idRak]; + $rakSebelum=$x[idRak]; + $ctr=1; + $ctrRec=1; + $jumlahRecord=mysql_num_rows($hasil1); - do { + do { - $rakSekarang = $x[idRak]; + $rakSekarang=$x[idRak]; - if (strlen($x[namaBarang]) > 0) { - echo " + if (strlen($x[namaBarang]) > 0) { + echo "
    $x[idRak] @@ -1810,18 +1439,18 @@ function popupform(myform, windowname)
    "; - }; // if (strlen($x[namaBarang]) > 0) { + }; // if (strlen($x[namaBarang]) > 0) { - if (($rakSebelum <> $rakSekarang) || ($ctrRec == $jumlahRecord)) { - // cari barang di rak yang sama, namun tidak masuk di dalam SO = sebetulnya berada di rak yang lain / sudah tidak ada lagi - $sql = "SELECT b.* - FROM barang AS b LEFT JOIN fast_stock_opname AS f ON b.barcode = f.barcode + if (($rakSebelum <> $rakSekarang) || ($ctrRec == $jumlahRecord)) { + // cari barang di rak yang sama, namun tidak masuk di dalam SO=sebetulnya berada di rak yang lain / sudah tidak ada lagi + $sql="SELECT b.* + FROM barang AS b LEFT JOIN fast_stock_opname AS f ON b.barcode=f.barcode WHERE b.idRak=$rakSekarang AND f.idRak IS NULL ORDER BY b.namaBarang ASC"; - //echo $sql; - $hasil2 = mysql_query($sql); - while ($z = mysql_fetch_array($hasil2)) { - $ctr++; - echo " + //echo $sql; + $hasil2=mysql_query($sql); + while ($z=mysql_fetch_array($hasil2)) { + $ctr++; + echo "
    $z[idRak] @@ -1847,449 +1476,439 @@ function popupform(myform, windowname)
    "; - }; // while($z = mysql_fetch_array($hasil)){ - }; // if ($rakSebelum <> $rakSekarang) { + }; // while($z=mysql_fetch_array($hasil)){ + }; // if ($rakSebelum <> $rakSekarang) { - $rakSebelum = $rakSekarang; - $ctr++; - $ctrRec++; // tidak menghitung record yang didapat dari barang (ketika mencari barang yg salah rak) - } while ($x = mysql_fetch_array($hasil1)); + $rakSebelum=$rakSekarang; + $ctr++; + $ctrRec++; // tidak menghitung record yang didapat dari barang (ketika mencari barang yg salah rak) + } + while ($x=mysql_fetch_array($hasil1)); - echo " + echo " - +
    "; - break; + break; - case "ApproveFastSO3": // ---------------------------------------------------------------------------- + case "ApproveFastSO3": // ---------------------------------------------------------------------------- - echo " + echo "

    Proses Fast Stock Opname



    "; - for ($i = 1; $i <= $_POST[ctr]; $i++) { - - // cek barang dihapus - if ($_POST["hapus$i"] == 'on') { - // ....still having thoughts about it, for now just ignore. - // cek barang yang salah rak (tercatat di barang.idRak di rak ybs - tapi, tidak ketemu di rak tsb pada saat SO) - } elseif ($_POST["salahrak$i"] == 'on') { - // ganti barang.idRak ybs menjadi 999999 - $sql = "UPDATE barang SET idRak=999999 WHERE barcode='" . $_POST["barcode$i"] . "'"; - $hasil1 = mysql_query($sql); - echo "Salah Rak : " . $_POST["barcode$i"] . ", sudah diganti raknya menjadi 999999
    "; - - // cek barang yang di approve SO nya - } elseif ($_POST["appr$i"] == 'on') { - // cari barang.jumBarang ybs - $sql = "SELECT jumBarang FROM barang WHERE barcode='" . $_POST["barcode$i"] . "'"; - $hasil1 = mysql_query($sql); - $x = mysql_fetch_array($hasil1); - - // hitung jumlah barang yang seharusnya - $jumBarang = $x[jumBarang] + $_POST["selisih$i"]; - - // update barang.jumBarang untuk barcode ybs - $sql = "UPDATE barang SET jumBarang=$jumBarang WHERE barcode='" . $_POST["barcode$i"] . "'"; - $hasil1 = mysql_query($sql); - - // ganti fast_stock_opname.approved menjadi 1 / true - $sql = "UPDATE fast_stock_opname SET approved=1 WHERE barcode='" . $_POST["barcode$i"] . "'"; - $hasil1 = mysql_query($sql); - echo "Approved : " . $_POST["barcode$i"] . ", stok tercatat: $x[jumBarang], selisih: " . $_POST["selisih$i"] . ", total: $jumBarang
    "; - //var_dump($_POST); - }; - }; // for ($i = 0; $i <= $_POST[ctr]; $i++) { - - break; - - - - case "ApproveMobileSO1": // ---------------------------------------------------------------------------- - /* Cari rak yang di SO */ - $sql = "SELECT distinct fast_stock_opname.idRak, rak.namaRak - FROM fast_stock_opname - JOIN rak on fast_stock_opname.idRak = rak.idRak - WHERE fast_stock_opname.approved=0 AND char_length(namaBarang) > 0 - GROUP BY fast_stock_opname.idRak"; - $hasil1 = mysql_query($sql); - ?> -

    Approve Mobile Stock Opname

    - - -
    -
    -

    - - - - - - - - - - - - - - - - -
    RakBarcodeNama BarangJumlah saat scanSelisihApprove#Hapus
    Barang -
    TercatatDitemukan
    - - -
    - -

    Proses Mobile Stock Opname

    -

    - "; - } elseif ($_POST["appr$i"] == 'on') { - // Simpan barcode ke array - $barcodes[] = $_POST["barcode$i"]; - // cari barang.jumBarang ybs - $sql = "SELECT jumBarang FROM barang WHERE barcode='" . $_POST["barcode$i"] . "'"; - $hasil1 = mysql_query($sql); - $x = mysql_fetch_array($hasil1); - - $jumBarang = $x['jumBarang'] + $_POST["selisih$i"]; - - // update barang.jumBarang untuk barcode ybs - $sql = "UPDATE barang SET jumBarang=$jumBarang, idRak = " . $_POST["idRak$i"] . " WHERE barcode='" . $_POST["barcode$i"] . "'"; - $hasil1 = mysql_query($sql); - - // Sesuaikan jumlah barang di tabel detail_beli - $barcode = $_POST["barcode$i"]; - // Init detail beli (dinol kan) - $sql = "update detail_beli set jumBarang=0, isSold='Y' where barcode = '{$barcode}' "; - mysql_query($sql) or die('Gagal init detail_beli, error: ' . mysql_error()); - - $sql = "select * - from detail_beli db - join transaksibeli tb on tb.idTransaksiBeli = db.idTransaksiBeli - where barcode = '{$barcode}' - order by db.idTransaksiBeli desc"; - $resultDetailBeli = mysql_query($sql) or die('Gagal Ambil Detail Beli, error: ' . mysql_error()); - - $simulasi = false; // Variabel untuk testing.. (just for programmers) - - while (($detailBeli = mysql_fetch_array($resultDetailBeli)) && $jumBarang > 0): - - /* - * Jika pembelian (detail_beli.jumlahBarangAsli) lebih besar dari stock (barang.jumBarang) - * langsung update detail_beli.jumBarang dengan barang.jumBarang - * Jika lebih kecil - * update detail_beli.jumBarang dengan jumlah pembelian (detail_beli.jumBarangAsli) - * yang kemudian mencari lagi di row selanjutnya - */ - if ($detailBeli['jumBarangAsli'] >= $jumBarang) { - if (!$simulasi) { - mysql_query("update detail_beli set jumBarang = {$jumBarang}, isSold='N' where idDetailBeli={$detailBeli['idDetailBeli']}") or die('Gagal update detailbeli script 1, error: ' . mysql_error()); - } - //echo "     detail beli {$detailBeli['idDetailBeli']} {$detailBeli['tglTransaksiBeli']} jumlahBarangAsli={$detailBeli['jumBarangAsli']}: UPDATE jumBarang={$jumBarang} "; - $jumBarang = 0; - } else { - if (!$simulasi) { - mysql_query("update detail_beli set jumBarang = jumBarangAsli, isSold='N' - where idDetailBeli={$detailBeli['idDetailBeli']}") or die('Gagal update detailbeli script 2, error: ' . mysql_error()); - } - $jumBarang -= $detailBeli['jumBarangAsli']; - - //echo "     detail beli {$detailBeli['idDetailBeli']} {$detailBeli['tglTransaksiBeli']} jumlahBarangAsli={$detailBeli['jumBarangAsli']}: UPDATE jumBarang={$detailBeli['jumBarangAsli']}, Sisa={$jumBarang}"; - } - //echo '
    '; - endwhile; - $jumlahFinal = $x['jumBarang'] + $_POST["selisih$i"]; - // ganti fast_stock_opname.approved menjadi 1 / true - $sql = "UPDATE fast_stock_opname SET approved=1 WHERE barcode='" . $_POST["barcode$i"] . "'"; - $hasil1 = mysql_query($sql); - echo "Approved : " . $_POST["barcode$i"] . ", stok tercatat: $x[jumBarang], selisih = " . $_POST["selisih$i"] . ", menjadi = {$jumlahFinal}
    "; - //var_dump($_POST); - } - } // for ($i = 0; $i <= $_POST[ctr]; $i++) { - $rakId = $_POST['rak-id']; - $firstBarcode = true; - $listBarcodes = ''; - foreach ($barcodes as $code) { - if ($firstBarcode) { - $listBarcodes.="'{$code}'"; - $firstBarcode = false; - } else { - $listBarcodes.=",'{$code}'"; - } - } - // Update rak ke 999999 untuk barang yang tidak di SO (diasumsikan barangnya sudah tidak ada di rak ini) - $sql = "UPDATE barang SET idRak=999999 WHERE idRak={$rakId} AND barcode NOT IN ({$listBarcodes})"; - //echo $sql; - mysql_query($sql) or die('Gagal update idRak, error:' . mysql_error()); - echo "Barang lainnya yang sebelumnya tercatat di rak ini, sudah dipindah ke rak ID:999999"; - break; - - case "transfer1": // ---------------------------------------------------------------------------- - // ambil daftar customer - $sql = "SELECT idCustomer, namaCustomer + for ($i=1; $i <= $_POST[ctr]; $i++) { + + // cek barang dihapus + if ($_POST["hapus$i"] == 'on') { + // ....still having thoughts about it, for now just ignore. + // cek barang yang salah rak (tercatat di barang.idRak di rak ybs - tapi, tidak ketemu di rak tsb pada saat SO) + } + elseif ($_POST["salahrak$i"] == 'on') { + // ganti barang.idRak ybs menjadi 999999 + $sql="UPDATE barang SET idRak=999999 WHERE barcode='" . $_POST["barcode$i"] . "'"; + $hasil1=mysql_query($sql); + echo "Salah Rak : " . $_POST["barcode$i"] . ", sudah diganti raknya menjadi 999999
    "; + + // cek barang yang di approve SO nya + } + elseif ($_POST["appr$i"] == 'on') { + // cari barang.jumBarang ybs + $sql="SELECT jumBarang FROM barang WHERE barcode='" . $_POST["barcode$i"] . "'"; + $hasil1=mysql_query($sql); + $x=mysql_fetch_array($hasil1); + + // hitung jumlah barang yang seharusnya + $jumBarang=$x[jumBarang] + $_POST["selisih$i"]; + + // update barang.jumBarang untuk barcode ybs + $sql="UPDATE barang SET jumBarang=$jumBarang WHERE barcode='" . $_POST["barcode$i"] . "'"; + $hasil1=mysql_query($sql); + + // ganti fast_stock_opname.approved menjadi 1 / true + $sql="UPDATE fast_stock_opname SET approved=1 WHERE barcode='" . $_POST["barcode$i"] . "'"; + $hasil1=mysql_query($sql); + echo "Approved : " . $_POST["barcode$i"] . ", stok tercatat: $x[jumBarang], selisih: " . $_POST["selisih$i"] . ", total: $jumBarang
    "; + //var_dump($_POST); + }; + }; // for ($i=0; $i <= $_POST[ctr]; $i++) { + + break; + + + + case "ApproveMobileSO1": // ---------------------------------------------------------------------------- + // cari SO yang belum di approve + $sql="SELECT fast_stock_opname.*, rak.namaRak FROM fast_stock_opname JOIN rak on fast_stock_opname.idRak=rak.idRak WHERE approved=0 LIMIT 100"; + $hasil1=mysql_query($sql); + ?> +

    Approve Mobile Stock Opname

    +
    + +

    + + + + + + + + + + + + 0) { + + $sql="SELECT jumBarang FROM barang WHERE barcode='" . $x[barcode] . "'"; + $hasil2=mysql_query($sql); + $z=mysql_fetch_array($hasil2); + ?> + + + + + + + + + + + 0) { + + $ctr++; + } + while ($x=mysql_fetch_array($hasil1)); + ?> +
    RakBarcodeNama BarangJumlah
    Tercatat
    DitemukanApprove#Hapus
    Barang +
    value=> value=> checked=yes>#>
    + + + > + +
    + Proses Mobile Stock Opname +

    + "; + + for ($i=1; $i <= $_POST[ctr]; $i++) { + + // cek barang dihapus + if ($_POST["hapus$i"] == 'on') { + // ....still having thoughts about it, for now just ignore. + // cek barang yang di approve SO nya + } + elseif ($_POST["appr$i"] == 'on') { + // cari barang.jumBarang ybs + $sql="SELECT jumBarang FROM barang WHERE barcode='" . $_POST["barcode$i"] . "'"; + $hasil1=mysql_query($sql); + $x=mysql_fetch_array($hasil1); + + $jumBarang=$_POST["selisih$i"]; + + // update barang.jumBarang untuk barcode ybs + $sql="UPDATE barang SET jumBarang=$jumBarang, idRak=" . $_POST["idRak$i"] . " WHERE barcode='" . $_POST["barcode$i"] . "'"; + $hasil1=mysql_query($sql); + + // Sesuaikan jumlah barang di tabel detail_beli + $barcode=$_POST["barcode$i"]; + // Init detail beli (dinol kan) + $sql="update detail_beli set jumBarang=0, isSold='Y' where barcode='{$barcode}' "; + mysql_query($sql) or die('Gagal init detail_beli, error: ' . mysql_error()); + + $sql="select * + from detail_beli db + join transaksibeli tb on tb.idTransaksiBeli=db.idTransaksiBeli + where barcode='{$barcode}' + order by db.idTransaksiBeli desc"; + $resultDetailBeli=mysql_query($sql) or die('Gagal Ambil Detail Beli, error: ' . mysql_error()); + + $simulasi=false; // Variabel untuk testing.. (just for programmers) + + while (($detailBeli=mysql_fetch_array($resultDetailBeli)) && $jumBarang > 0): + + /* + * Jika pembelian (detail_beli.jumlahBarangAsli) lebih besar dari stock (barang.jumBarang) + * langsung update detail_beli.jumBarang dengan barang.jumBarang + * Jika lebih kecil + * update detail_beli.jumBarang dengan jumlah pembelian (detail_beli.jumBarangAsli) + * yang kemudian mencari lagi di row selanjutnya + */ + if ($detailBeli['jumBarangAsli'] >= $jumBarang) { + if (!$simulasi) { + mysql_query("update detail_beli set jumBarang={$jumBarang}, isSold='N' where idDetailBeli={$detailBeli['idDetailBeli']}") or die('Gagal update detailbeli script 1, error: ' . mysql_error()); + } + //echo " detail beli {$detailBeli['idDetailBeli']} {$detailBeli['tglTransaksiBeli']} jumlahBarangAsli={$detailBeli['jumBarangAsli']}: UPDATE jumBarang={$jumBarang}"; + $jumBarang=0; + } + else { + if (!$simulasi) { + mysql_query("update detail_beli set jumBarang=jumBarangAsli, isSold='N' + where idDetailBeli={$detailBeli['idDetailBeli']}") or die('Gagal update detailbeli script 2, error: ' . mysql_error()); + } + $jumBarang -= $detailBeli['jumBarangAsli']; + + //echo " detail beli {$detailBeli['idDetailBeli']} {$detailBeli['tglTransaksiBeli']} jumlahBarangAsli={$detailBeli['jumBarangAsli']}: UPDATE jumBarang={$detailBeli['jumBarangAsli']}, Sisa={$jumBarang}"; + } + //echo '
    '; + endwhile; + + // ganti fast_stock_opname.approved menjadi 1 / true + $sql="UPDATE fast_stock_opname SET approved=1 WHERE barcode='" . $_POST["barcode$i"] . "'"; + $hasil1=mysql_query($sql); + echo "Approved : " . $_POST["barcode$i"] . ", stok tercatat: $x[jumBarang], ditemukan=" . $_POST["selisih$i"] . "
    "; + //var_dump($_POST); + }; + }; // for ($i=0; $i <= $_POST[ctr]; $i++) { + + break; + + case "transfer1": // ---------------------------------------------------------------------------- + // ambil daftar customer + $sql="SELECT idCustomer, namaCustomer FROM customer ORDER BY namaCustomer ASC"; - $namaCustomer = mysql_query($sql); - - echo "

    Transfer Barang

    -
    - (i) ID Customer :

    + $namaCustomer=mysql_query($sql); + + echo "

    Transfer Barang

    + + (i) ID Customer :

    - -

    "; - - - break; - - - case 'hargajualsync': - ?> -

    Sinkronisasi Harga Jual - Pilih Rak

    -
    - - - - - - - - -
    (r) Rak :
    -
    - '; - - $sql = "CREATE TABLE IF NOT EXISTS `audit_ubah_harga_jual` ( - `uid` int(11) NOT NULL AUTO_INCREMENT, - `barcode` varchar(30) NOT NULL, - `harga_jual_awal` bigint(20) DEFAULT NULL, - `harga_jual_baru` bigint(20) DEFAULT NULL, - `nama_barang` varchar(30) DEFAULT NULL, - `user_name` varchar(30) DEFAULT NULL, - `lastupdate` datetime DEFAULT NULL, - PRIMARY KEY (`uid`) + + "; + + + break; + + + case 'hargajualsync': + ?> +

    Sinkronisasi Harga Jual - Pilih Rak

    +
    + + + + + + + + +
    (r) Rak
    +
    + '; + + $sql="CREATE TABLE IF NOT EXISTS `audit_ubah_harga_jual` ( + `uid` int(11) NOT NULL AUTO_INCREMENT, + `barcode` varchar(30) NOT NULL, + `harga_jual_awal` bigint(20) DEFAULT NULL, + `harga_jual_baru` bigint(20) DEFAULT NULL, + `nama_barang` varchar(30) DEFAULT NULL, + `user_name` varchar(30) DEFAULT NULL, + `lastupdate` datetime DEFAULT NULL, + PRIMARY KEY (`uid`) ) ENGINE=MyISAM"; - $result = mysql_query($sql) or die(mysql_error()); - if ($result) { - echo 'Pembuatan Tabel Transaksi.. Selesai
    '; - } - $lastupdate = date('Y-m-d H:i:s'); - // Masukkan transaksi sinkronisasi ke tabel audit untuk pencatatan - $sql = " + $result=mysql_query($sql) or die(mysql_error()); + if ($result) { + echo 'Pembuatan Tabel Transaksi.. Selesai
    '; + } + $lastupdate=date('Y-m-d H:i:s'); + // Masukkan transaksi sinkronisasi ke tabel audit untuk pencatatan + $sql=" insert into audit_ubah_harga_jual (barcode, nama_barang, harga_jual_awal, harga_jual_baru, user_name, lastupdate) select b.barcode, b.namaBarang, b.hargaJual as hargaJualAwal, rhj.hargaJual as hargaJualBaru, '{$_SESSION['uname']}','{$lastupdate}' from barang b - join kategori_barang kb on kb.idKategoriBarang = b.idKategoriBarang - join satuan_barang sb on sb.idSatuanBarang = b.idSatuanBarang - join rujukan_harga_jual rhj on rhj.barcode = b.barcode - where idRak = {$idRak} and rhj.hargaJual > b.hargaJual + join kategori_barang kb on kb.idKategoriBarang=b.idKategoriBarang + join satuan_barang sb on sb.idSatuanBarang=b.idSatuanBarang + join rujukan_harga_jual rhj on rhj.barcode=b.barcode + where idRak={$idRak} and rhj.hargaJual > b.hargaJual order by namaBarang"; - $result = mysql_query($sql) or die(mysql_error()); - if ($result) { - echo 'Pencatatan Transaksi.. Selesai
    '; - } - // Setelah dicatat, update tabel barang sesuai dengan yang ada di tabel audit - $sql = "update barang b - join audit_ubah_harga_jual audit on audit.barcode = b.barcode - set b.hargaJual = audit.harga_jual_baru - where b. idRak = {$idRak}"; - $result = mysql_query($sql) or die(mysql_error()); - if ($result) { - ?> - Sinkronisasi Harga.. Selesai
    - Proses Sinkronisasi Selesai

    -
    - - -
    - '; + } + // Setelah dicatat, update tabel barang sesuai dengan yang ada di tabel audit + $sql="update barang b + join audit_ubah_harga_jual audit on audit.barcode=b.barcode + set b.hargaJual=audit.harga_jual_baru + where b. idRak={$idRak}"; + $result=mysql_query($sql) or die(mysql_error()); + if ($result) { + ?> + Sinkronisasi Harga.. Selesai
    + Proses Sinkronisasi Selesai

    +
    + + +
    + b.hargaJual + join kategori_barang kb on kb.idKategoriBarang=b.idKategoriBarang + join satuan_barang sb on sb.idSatuanBarang=b.idSatuanBarang + join rujukan_harga_jual rhj on rhj.barcode=b.barcode + where idRak={$idRak} and rhj.hargaJual > b.hargaJual order by namaBarang"; - $result = mysql_query($sql) or die(mysql_error()); - ?> -

    Sinkronisasi Harga Jual -

    - 0) { - ?> -
    - - -
    -
    - - - - - - - - - - - - > - - - - - - - - - -
    NoBarcodeNama BarangKategori BarangSatuan BarangHarga Jual AwalHarga Jual Baru
    -
    -
    - - -
    -

    Harga Sudah OK, tidak ada yang perlu disinkronisasi

    - -
    - +

    Sinkronisasi Harga Jual -

    + 0) { + ?> +
    + + +
    +
    + + + + + + + + + + + + > + + + + + + + + + +
    NoBarcodeNama BarangKategori BarangSatuan BarangHarga Jual AwalHarga Jual Baru
    +
    +
    + + +
    +

    Harga Sudah OK, tidak ada yang perlu disinkronisasi

    + +
    + "; - - for ($i = 1; $i <= $total; $i++) { - - $r = mysql_fetch_array($result); - - $clear = ""; - // cek posisi saat ini - if ($kolom > $label_per_baris) { - $kolom = 1; - $baris++; - $clear = " clear:left; "; //echo "
    "; // ganti baris - }; - if ($baris > $baris_per_halaman) { - $baris = 1; - echo '

    '; - }; - - $namaBarang = $r['namaBarang']; - // jika terlalu panjang nama barangnya - if (strlen($namaBarang) > 15) { - // bikin menjadi 2 baris - $namaBarang = substr($namaBarang, 0, 15) . - "

    " . substr($namaBarang, 15); - }; - - // cetak label - echo "\n + join audit_ubah_harga_jual audit on audit.barcode=barang.barcode + where audit.lastupdate='{$lastupdate}'"; + $result=mysql_query($sql) or die(mysql_error()); + + $lebar_label=200; + $tinggi_label=112; + $label_per_baris=3; + $baris_per_halaman=7; + + $total=mysql_num_rows($result); + $baris=1; + $kolom=1; + echo "

    "; + + for ($i=1; $i <= $total; $i++) { + + $r=mysql_fetch_array($result); + + $clear=""; + // cek posisi saat ini + if ($kolom > $label_per_baris) { + $kolom=1; + $baris++; + $clear=" clear:left; "; //echo "
    "; // ganti baris + }; + if ($baris > $baris_per_halaman) { + $baris=1; + echo '

    '; + }; + + $namaBarang=$r['namaBarang']; + // jika terlalu panjang nama barangnya + if (strlen($namaBarang) > 15) { + // bikin menjadi 2 baris + $namaBarang=substr($namaBarang, 0, 15) . + "

    " . substr($namaBarang, 15); + }; + + // cetak label + echo "\n

    -

    +

    $namaBarang

    @@ -2299,1080 +1918,917 @@ function popupform(myform, windowname)

    "; - $kolom++; - } // for - - echo "
    "; - } - - - - - break; - case 'diskon': - $sql = "select uid, nama, deskripsi from diskon_tipe where uid >= 1000 order by uid"; - $rDiskonTipe = mysql_query($sql) or die(mysql_error()); - if (isset($_POST['submit'])) { - $diskonDetail = $_POST['diskon_detail']; - //echo '
    ';
    -            //print_r($diskonDetail);
    -            //echo '
    '; - $ketemuError = false; - if (!($diskonDetail['diskon_tipe_id'] > 0)) { - $errorDiskonTipeId = 'Tipe Diskon Harus Dipilih!'; - $ketemuError = true; - } - if ($diskonDetail['barcode'] == '') { - $errorBarcode = 'Barcode Harus Diisi!'; - $ketemuError = true; - } - $min_item = 1; - if ($diskonDetail['min_item'] > 1) { - $min_item = $diskonDetail['min_item']; - } - - if (!$ketemuError) { - $tanggalDari = date_format(date_create_from_format('d-m-Y H:i', $diskonDetail['tanggal_dari']), 'Y-m-d H:i'); - $tanggalSampai = date_format(date_create_from_format('d-m-Y H:i', $diskonDetail['tanggal_sampai']), 'Y-m-d H:i'); - $rDiskon = mysql_query("select uid, nama from diskon_tipe where uid={$diskonDetail['diskon_tipe_id']}") or die(mysql_error()); - $diskonTipe = mysql_fetch_array($rDiskon); - $sqlInsert = "insert into diskon_detail (diskon_tipe_id, diskon_tipe_nama, barcode, tanggal_dari, tanggal_sampai, diskon_persen, diskon_rupiah, min_item, max_item) " - . "values({$diskonDetail['diskon_tipe_id']}," - . "'{$diskonTipe['nama']}'," - . "'{$diskonDetail['barcode']}'," - . "'{$tanggalDari}'," - . "'{$tanggalSampai}'," - . "{$diskonDetail['diskon_persen']}," - . "{$diskonDetail['diskon_rupiah']}," - . "{$min_item}," - . "{$diskonDetail['max_item']})"; - //echo $sqlInsert; - mysql_query($sqlInsert) or die(mysql_error()); - } - } - /* Menonaktifkan diskon-diskon yang sudah terlewat tanggalnya */ - if (isset($_POST['auto_nonaktif'])) { - $sqlUpdate = "UPDATE diskon_detail SET status = 0 WHERE status = 1 AND tanggal_sampai < NOW()"; - mysql_query($sqlUpdate) or die('Gagal auto non aktif, error = ' . mysql_error()); - } - ?> -

    Diskon

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Tipe Diskon - - -
    Barcode
    Periode - - - - - -
    Diskon (%)
    Diskon @ (Rp)
    Jumlah Barang Minimum
    Jumlah Barang Maksimum
    -
    -
    -
    - -
    - - - - - - - - - - - - - - "; + } + + + + + break; + case 'diskon': + $sql="select uid, nama, deskripsi from diskon_tipe where uid >= 1000 order by uid"; + $rDiskonTipe=mysql_query($sql) or die(mysql_error()); + if (isset($_POST['submit'])) { + $diskonDetail=$_POST['diskon_detail']; + //echo '
    ';
    +			//print_r($diskonDetail);
    +			//echo '
    '; + $ketemuError=false; + if (!($diskonDetail['diskon_tipe_id'] > 0)) { + $errorDiskonTipeId='Tipe Diskon Harus Dipilih!'; + $ketemuError=true; + } + if ($diskonDetail['barcode'] == '') { + $errorBarcode='Barcode Harus Diisi!'; + $ketemuError=true; + } + $min_item=1; + if ($diskonDetail['min_item'] > 1) { + $min_item=$diskonDetail['min_item']; + } + + if (!$ketemuError) { + $tanggalDari=date_format(date_create_from_format('d-m-Y H:i', $diskonDetail['tanggal_dari']), 'Y-m-d H:i'); + $tanggalSampai=date_format(date_create_from_format('d-m-Y H:i', $diskonDetail['tanggal_sampai']), 'Y-m-d H:i'); + $rDiskon=mysql_query("select uid, nama from diskon_tipe where uid={$diskonDetail['diskon_tipe_id']}") or die(mysql_error()); + $diskonTipe=mysql_fetch_array($rDiskon); + $sqlInsert="insert into diskon_detail (diskon_tipe_id, diskon_tipe_nama, barcode, tanggal_dari, tanggal_sampai, diskon_persen, diskon_rupiah, min_item, max_item) " + . "values({$diskonDetail['diskon_tipe_id']}," + . "'{$diskonTipe['nama']}'," + . "'{$diskonDetail['barcode']}'," + . "'{$tanggalDari}'," + . "'{$tanggalSampai}'," + . "{$diskonDetail['diskon_persen']}," + . "{$diskonDetail['diskon_rupiah']}," + . "{$min_item}," + . "{$diskonDetail['max_item']})"; + //echo $sqlInsert; + mysql_query($sqlInsert) or die(mysql_error()); + } + } + ?> +

    Diskon

    + +
    Tipe DiskonBarcodeNama BarangDariSampaiDiskon(%)Diskon@(Rp)Qty MinQty MaxAktif
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Tipe Diskon + + +
    Barcode
    Periode + + - + + +
    Diskon (%)
    Diskon @ (Rp)
    Jumlah Barang Minimum
    Jumlah Barang Maksimum
    + +
    + + + + + + + + + + + + + + - - - - - - - - - - - - - -
    Tipe DiskonBarcodeNama BarangDariSampaiDiskon(%)Diskon@(Rp)Qty MinQty MaxAktif
    - -
    - - -

    Pindah Supplier

    -
    -
    - - -
    -
    - + + + + + + + + + + + + + + + + + + +

    Pindah Supplier

    +
    +
    + + +
    +
    + 1 or b.nonAktif is null)"; - $result = mysql_query($sql) or die("Gagal ambil dari barang, supplier id#{$_POST['idSupplier']}, error:" . mysql_error()); - ?> -
    - -
    - -
    - - - - - - - - - - - - - - - > - - - - - - - - - - -
    BarcodeNama BarangKategoriSatuanJumlahHarga JualPilih
    - -
    - -

    Pindah Supplier

    -

    - Barang sudah dipindahkan dari ke -

    -

    - Daftar Barang: -

    - - - - - - - - - - - - - + + +
    + +
    +
    BarcodeNama BarangKategoriSatuanJumlahHarga Jual
    + + + + + + + + + + + + + + > + + + + + + + + + + +
    BarcodeNama BarangKategoriSatuanJumlahHarga JualPilih
    + + + +

    Pindah Supplier

    +

    + Barang sudah dipindahkan dari ke +

    +

    + Daftar Barang: +

    + + + + + + + + + + + + + - > - - - - - - - - - -
    BarcodeNama BarangKategoriSatuanJumlahHarga Jual
    - -

    Pindah Rak

    -
    -
    - - -
    -
    - + > + + + + + + + + + + + +

    Pindah Rak

    +
    +
    + + +
    +
    + 1 or b.nonAktif is null) - order by namaSupplier, namaBarang"; - $result = mysql_query($sql) or die("Gagal ambil dari barang, supplier id#{$_POST['idSupplier']}, error:" . mysql_error()); - ?> -
    - -
    - -
    - - - - - - - - - - - - - - - - > - - - - - - - - - - - -
    BarcodeNama BarangKategoriSupplierSatuanJumlahHarga JualPilih
    - -
    - -

    Pindah Rak

    -

    - Barang sudah dipindahkan dari ke -

    -

    - Daftar Barang: -

    - - - - - - - - - - - - - - 1 or b.nonAktif is null) + order by namaSupplier, namaBarang"; + $result=mysql_query($sql) or die("Gagal ambil dari barang, supplier id#{$_POST['idSupplier']}, error:" . mysql_error()); + ?> + + +
    + +
    +
    BarcodeNama BarangKategoriSupplierSatuanJumlahHarga Jual
    + + + + + + + + + + + + + + + > + + + + + + + + + + + +
    BarcodeNama BarangKategoriSupplierSatuanJumlahHarga JualPilih
    + + + +

    Pindah Rak

    +

    + Barang sudah dipindahkan dari ke +

    +

    + Daftar Barang: +

    + + + + + + + + + + + + + + - > - - - - - - - - - - -
    BarcodeNama BarangKategoriSupplierSatuanJumlahHarga Jual
    - -

    Approve Stock Opname dengan PDT (Portable Data Terminal)

    - - -
    -
    -

    - - - - - - - - - - - - - -
    RakBarcodeNama BarangJumlah
    Tercatat
    DitemukanSelisihApprove#Batal -
    - - - -
    - -

    Proses PDT Stock Opname

    - Cetak - '; - //print_r($dataApproval); - //echo ''; - ?> -
    - - - - - - - - - - - - - - - - 0): - - /* - * Jika pembelian (detail_beli.jumlahBarangAsli) lebih besar dari stock (barang.jumBarang) - * langsung update detail_beli.jumBarang dengan barang.jumBarang - * Jika lebih kecil - * update detail_beli.jumBarang dengan jumlah pembelian (detail_beli.jumBarangAsli) - * yang kemudian mencari lagi di row selanjutnya - */ - if ($detailBeli['jumBarangAsli'] >= $jumBarang) { - if (!$simulasi) { - mysql_query("update detail_beli set jumBarang = {$jumBarang}, isSold='N' where idDetailBeli={$detailBeli['idDetailBeli']}") or die('Gagal update detailbeli script 1, error: ' . mysql_error()); - } - //echo "     detail beli {$detailBeli['idDetailBeli']} {$detailBeli['tglTransaksiBeli']} jumlahBarangAsli={$detailBeli['jumBarangAsli']}: UPDATE jumBarang={$jumBarang} "; - $jumBarang = 0; - } else { - if (!$simulasi) { - mysql_query("update detail_beli set jumBarang = jumBarangAsli, isSold='N' - where idDetailBeli={$detailBeli['idDetailBeli']}") or die('Gagal update detailbeli script 2, error: ' . mysql_error()); - } - $jumBarang -= $detailBeli['jumBarangAsli']; - - //echo "     detail beli {$detailBeli['idDetailBeli']} {$detailBeli['tglTransaksiBeli']} jumlahBarangAsli={$detailBeli['jumBarangAsli']}: UPDATE jumBarang={$detailBeli['jumBarangAsli']}, Sisa={$jumBarang}"; - } - //echo '
    '; - endwhile; - - // Approve SO - $sql = "update fast_stock_opname set approved = 1 where barcode = '{$data['barcode']}' and username='pdt-so' "; - mysql_query($sql) or die('Gagal approved pdt SO: ' . mysql_error()); - ?> - - - - - - - - - - - -
    Stock Opname PDT
    NoBarcodeNama BarangJumlah Barang
    SelisihJumlah Barang
    Saat ini
    Rak
    -
    - - - + > + + + + + + + + + + + + +

    Approve Stock Opname dengan PDT (Portable Data Terminal)

    +
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    RakBarcodeNama BarangJumlah
    Tercatat
    DitemukanSelisihApprove#Batal +
    > >#
    + + + +
    + +

    Proses PDT Stock Opname

    + Cetak + '; + //print_r($dataApproval); + //echo ''; + ?> +
    + + + + + + + + + + + + + + + + 0): + + /* + * Jika pembelian (detail_beli.jumlahBarangAsli) lebih besar dari stock (barang.jumBarang) + * langsung update detail_beli.jumBarang dengan barang.jumBarang + * Jika lebih kecil + * update detail_beli.jumBarang dengan jumlah pembelian (detail_beli.jumBarangAsli) + * yang kemudian mencari lagi di row selanjutnya + */ + if ($detailBeli['jumBarangAsli'] >= $jumBarang) { + if (!$simulasi) { + mysql_query("update detail_beli set jumBarang={$jumBarang}, isSold='N' where idDetailBeli={$detailBeli['idDetailBeli']}") or die('Gagal update detailbeli script 1, error: ' . mysql_error()); + } + //echo " detail beli {$detailBeli['idDetailBeli']} {$detailBeli['tglTransaksiBeli']} jumlahBarangAsli={$detailBeli['jumBarangAsli']}: UPDATE jumBarang={$jumBarang}"; + $jumBarang=0; + } + else { + if (!$simulasi) { + mysql_query("update detail_beli set jumBarang=jumBarangAsli, isSold='N' + where idDetailBeli={$detailBeli['idDetailBeli']}") or die('Gagal update detailbeli script 2, error: ' . mysql_error()); + } + $jumBarang -= $detailBeli['jumBarangAsli']; + + //echo " detail beli {$detailBeli['idDetailBeli']} {$detailBeli['tglTransaksiBeli']} jumlahBarangAsli={$detailBeli['jumBarangAsli']}: UPDATE jumBarang={$detailBeli['jumBarangAsli']}, Sisa={$jumBarang}"; + } + //echo '
    '; + endwhile; + + // Approve SO + $sql="update fast_stock_opname set approved=1 where barcode='{$data['barcode']}' and username='pdt-so' "; + mysql_query($sql) or die('Gagal approved pdt SO: ' . mysql_error()); + ?> + + + + + + + + + + + +
    Stock Opname PDT
    NoBarcodeNama BarangJumlah Barang
    SelisihJumlah Barang
    Saat ini
    Rak
    +
    + + " . $_POST["selisih$i"] . "
    "; -// //var_dump($_POST); -// }; -// }; // for ($i = 0; $i <= $_POST[ctr]; $i++) { - - break; - case 'hargabanded': - ?> -

    Skema Harga Jual (Harga Banded)

    -
    - - - - - - - - - - - - -
    Barcode:
    Nama:
    -
    - - 0) { - $sql = "INSERT INTO harga_banded (barcode,qty,harga) " - . "VALUES('{$barcode}',{$qty},{$harga}) " - . "ON DUPLICATE KEY UPDATE qty={$qty}, harga={$harga} "; - } else { - $sql = "DELETE FROM harga_banded WHERE barcode = '{$barcode}'"; - } - mysql_query($sql) or die(mysql_error()); - endif; - - /* - * Tampilkan data barang, dan harga banded (qty dan harga satuannya) - */ - if (isset($_POST['barcode']) || isset($_GET['barcode'])): - $barcode = isset($_POST['barcode']) ? $_POST['barcode'] : $_GET['barcode']; - $sql = "SELECT namaBarang, hargaJual - FROM barang - WHERE barcode = '{$barcode}' "; - - $query = mysql_query($sql) or die(mysql_error()); - $dataBarang = mysql_fetch_array($query, MYSQL_ASSOC); - //print_r($dataBarang); - - $sql = "select qty, harga - from harga_banded - where barcode = '{$barcode}' - "; - $query = mysql_query($sql); - $dataHargaBanded = mysql_fetch_array($query, MYSQL_ASSOC); - if ($dataHargaBanded) { - $hbQty = $dataHargaBanded['qty']; - $hbHarga = $dataHargaBanded['harga']; - } - - $sql = "SELECT hargaBeli FROM detail_beli WHERE barcode = '{$barcode}' ORDER BY idDetailBeli desc LIMIT 1"; - $query = mysql_query($sql); - $pembelian = mysql_fetch_array($query, MYSQL_ASSOC); - ?> -

    Barang: |

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Harga Beli Satuan
    Harga jual satuan
    Qty banded - - - -
    Total
    Harga banded
    Harga Satuan Banded
    -
    - - -

    Kartu Stok (Mutasi per barang)

    -
    - - - - - - - - - - - - - - - - -
    Barcode:
    Nama:
    Periode - - - - -
    -
    - - -

    Kartu Stok

    -

    -

    Harga Beli Harga Jual

    - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - - -
    TanggalNotaUserBeli (+)R Beli (-)Jual (-)R Jual (+)SOf/m SOSaldo
    Saldo Awal
    - " . $_POST["selisih$i"] . "
    "; +// //var_dump($_POST); +// }; +// }; // for ($i=0; $i <= $_POST[ctr]; $i++) { + + break; + case 'hargabanded': + ?> +

    Skema Harga Jual (Harga Banded)

    +
    + + + + + + + + + + + + +
    Barcode:
    Nama:
    +
    + + 0) { + $sql="INSERT INTO harga_banded (barcode,qty,harga) " + . "VALUES('{$barcode}',{$qty},{$harga}) " + . "ON DUPLICATE KEY UPDATE qty={$qty}, harga={$harga} "; + } + else { + $sql="DELETE FROM harga_banded WHERE barcode='{$barcode}'"; + } + mysql_query($sql) or die(mysql_error()); + endif; + + /* + * Tampilkan data barang, dan harga banded (qty dan harga satuannya) + */ + if (isset($_POST['barcode']) || isset($_GET['barcode'])): + $barcode=isset($_POST['barcode']) ? $_POST['barcode'] : $_GET['barcode']; + $sql="SELECT namaBarang, hargaJual + FROM barang + WHERE barcode='{$barcode}' "; + + $query=mysql_query($sql) or die(mysql_error()); + $dataBarang=mysql_fetch_array($query, MYSQL_ASSOC); + //print_r($dataBarang); + + $sql="select qty, harga + from harga_banded + where barcode='{$barcode}' + "; + $query=mysql_query($sql); + $dataHargaBanded=mysql_fetch_array($query, MYSQL_ASSOC); + if ($dataHargaBanded) { + $hbQty=$dataHargaBanded['qty']; + $hbHarga=$dataHargaBanded['harga']; + } + + $sql="SELECT hargaBeli FROM detail_beli WHERE barcode='{$barcode}' ORDER BY idBarang desc LIMIT 1"; + $query=mysql_query($sql); + $pembelian=mysql_fetch_array($query, MYSQL_ASSOC); + ?> +

    Barang: |

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Harga Beli Satuan
    Harga jual satuan
    Qty banded + + + +
    Total
    Harga banded
    Harga Satuan Banded
    +
    + + 250 item di suatu rak. - Ternyata... default setting max_input_vars = 1000, sedangkan setiap item menyimpan 4 jenis informasi = lebih besar dari batas max_input_vars - Solusi: set max_input_vars di php.ini menjadi 20000 atau lebih +1.5.0 / 2012-11-25 : Harry Sufehmi : optimisasi : query yang menampilkan seluruh data barang. +Credit : Insan Fajar +1.5.0 / 2012-09-09 : Harry Sufehmi : bugfix: form inputSO3 gagal jika ada > 250 item di suatu rak. +Ternyata... default setting max_input_vars=1000, sedangkan setiap item menyimpan 4 jenis informasi=lebih besar dari batas max_input_vars +Solusi: set max_input_vars di php.ini menjadi 20000 atau lebih - 1.2.5 / 2012-03-02 : Harry Sufehmi : bugfix: editbarang kini menemukan item berdasarkan barcode - bukan idBarang - 1.0.3 / 2011-10-21 : Harry Sufehmi : Kategori Barang & Satuan Barang kini muncul pada tabel daftar barang (tadinya kosong) - Juga pada sub-modul : - # caribarang2 - # cetaklabel2 +1.2.5 / 2012-03-02 : Harry Sufehmi : bugfix: editbarang kini menemukan item berdasarkan barcode - bukan idBarang +1.0.3 / 2011-10-21 : Harry Sufehmi : Kategori Barang & Satuan Barang kini muncul pada tabel daftar barang (tadinya kosong) +Juga pada sub-modul : +# caribarang2 +# cetaklabel2 - Thanks kepada Alexander (mr.s4scha@gmail.com) untuk laporannya. +Thanks kepada Alexander (mr.s4scha@gmail.com) untuk laporannya. - 1.0.2 / 2011-07-14 : Harry Sufehmi : menu "editbarang", bisa mendeteksi perubahan barcode. - (sehingga di aksi.php bisa update juga field barcode di table-table lainnya) +1.0.2 / 2011-07-14 : Harry Sufehmi : menu "editbarang", bisa mendeteksi perubahan barcode. +(sehingga di aksi.php bisa update juga field barcode di table-table lainnya) - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - # fitur Stock Opname - # Cari Barang : bisa per Rak - 2010-12-16 : Harry Sufehmi : Cetak Stock Barang +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +# fitur Stock Opname +# Cari Barang : bisa per Rak +2010-12-16 : Harry Sufehmi : Cetak Stock Barang - 2011-01-07 : Harry Sufehmi : Input Fast Stock Opname & Approve Fast Stock Opname +2011-01-07 : Harry Sufehmi : Input Fast Stock Opname & Approve Fast Stock Opname - 0.6.5 : Gregorius Arief : initial release +0.6.5 : Gregorius Arief : initial release - ------------------------------------------------------------------------ */ +------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_beli_barang.php b/sistem/modul/mod_beli_barang.php index 3c06ed4..1ee36fe 100644 --- a/sistem/modul/mod_beli_barang.php +++ b/sistem/modul/mod_beli_barang.php @@ -1,246 +1,220 @@ Pembelian Barang - - - - - - + // Tampil Satuan Barang + default: + echo "

    Pembelian Barang

    - +
    +
    + + +
    + + -
    - - - - + + + + + + + +
    + +
    + + +
    + + +
    -
    - - + + + - - - - + "; -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    -
    - -
    -
    -
    - +
    + + + + + +
    + +
    + +
    "; + break; + + + + + case "cetakretur"; // ========================================================================================================================= + + echo "

    Cetak Nota Retur

    + +
    +
    Periode Laporan : Bulan : + , Tahun : + +  
    -
    "; - break; - - - - - case "cetakretur"; // ========================================================================================================================= - - echo "

    Cetak Nota Retur

    - -
    -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; - - - if ($_GET[action] == 'lihatlaporan') { - - if ($_POST[bulanLaporan] < 10) { - $periode = $_POST[tahunLaporan]."-0".$_POST[bulanLaporan]; - } else { - $periode = $_POST[tahunLaporan]."-".$_POST[bulanLaporan]; - } - ?> - - - - - - - - - - +
    Nota
    Beli
    TanggalSupplierTotalUserAKSI
    + + + + + + + + + - > - + > + $x[idTransaksiBeli] "; - $no++; - } // ($x = mysql_fetch_array($hasil)) - echo "
    Nota
    Beli
    TanggalSupplierTotalUserAKSI
    $x[tglRetur] $x[namaSupplier] $x[nominal] $x[username] -
    - - + + + @@ -248,1233 +222,1177 @@ function popupform(myform, windowname)
    "; - } // ($_GET[action] == 'lihatlaporan') - - break; - - case 'returpembelianpernota': // =================================================== - ?> -

    Retur Pembelian

    - - -
    Periode Laporan : Bulan : - , Tahun : - -       - - - -
    Nama Supplier : $detailSupplier[namaSupplier] -
    Alamat Supplier : $detailSupplier[alamatSupplier] -
    Periode : ".getBulan($_POST[bulanLaporan])." - $_POST[tahunLaporan]"; - $pembelian = getDataPembelian($_POST[supplierId], $_POST[bulanLaporan], $_POST[tahunLaporan]); - $jmlPembelian = mysql_num_rows($pembelian); - if ($jmlPembelian != 0) { - ?> -

    - - - - - - - - - - > - - - - - - - -
    NoNo NotaTgl PembelianNominalDetail
    >Detail
    Total".uang($totalPembelian)." 
    "; - } else { - echo "

    Belum ada pembelian dari supplier ini."; - } - } - break; - - case "returpembelianperbarang"; // ======================================================================================================================= - ?> -

    Retur Pembelian

    -
    - Supplier : - -
    - -
    - Pemesanan Barang -
    - Supplier : - + $no++; + } // ($x=mysql_fetch_array($hasil)) + echo ""; + } // ($_GET[action] == 'lihatlaporan') + + break; + + + case "returpembelian"; // ======================================================================================================================= + echo "

    Retur Pembelian

    + + Supplier : + +
    Periode Laporan : Bulan : + , Tahun : + +   +
    + "; + + + if ($_GET[action] == 'lihatlaporan') { + $detail=getDetailSupplier($_POST[supplierId]); + $detailSupplier=mysql_fetch_array($detail); + echo "
    +
    Nama Supplier : $detailSupplier[namaSupplier] +
    Alamat Supplier : $detailSupplier[alamatSupplier] +
    Periode : ".getBulan($_POST[bulanLaporan])." - $_POST[tahunLaporan]"; + $pembelian=getDataPembelian($_POST[supplierId], $_POST[bulanLaporan], $_POST[tahunLaporan]); + $jmlPembelian=mysql_num_rows($pembelian); + if ($jmlPembelian != 0) { + ?> +

    + + + + + + + + + + > + + + + + + + +
    NoNo NotaTgl PembelianNominalDetail
    >Detail
    Total".uang($totalPembelian)." 
    "; + } else { + echo "

    Belum ada pembelian dari supplier ini."; + } + } + break; + + + + + + case "pemesananbarang"; // ======================================================================================================================= + echo "

    Pemesanan Barang

    +
    + Supplier : +
    - Tampilkan hanya barang dengan jumlah lebih kecil dari : + Tampilkan hanya barang dengan jumlah lebih kecil dari :
    -      - -
    "; - if ($_GET[action] == 'pesanbarang') { - - $supplier = getDetailSupplier($_POST[supplierId]); - $detailSupplier = mysql_fetch_array($supplier); - echo "

    Pesan Barang di Supplier $detailSupplier[namaSupplier]

    -
    Alamat Supplier : $detailSupplier[alamatSupplier]

    -
    - - "; - $no = 0; - $queryBarang = getDaftarBarangSupplier($_POST[supplierId], $_POST[jumlahmin]); - while ($barangSupplier = mysql_fetch_array($queryBarang)) { - if (($no % 2) == 0) { - $warna = "#EAF0F7"; - } else { - $warna = "#FFFFFF"; - } - echo ""; //end warna - echo ""; - $no++; - echo " - - - - "; - } - - echo ""; - echo " - - - "; - echo "
    #NoBarcodeNama BarangStok
    Saat Ini
    $no$barangSupplier[barcode]$barangSupplier[namaBarang]
    $barangSupplier[jumBarang]
    - Check All - Uncheck All -
    Cetak Excel / CSV
    "; - } - break; - - - case "laporanpembelian": // =============================================================================================================== - echo "

    Laporan Pembelian (per Supplier)

    -
    - Supplier : - -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; - - - if ($_GET[action] == 'lihatlaporan') { // ------------------------------------------------------------------- - $detail = getDetailSupplier($_POST[supplierId]); - $detailSupplier = mysql_fetch_array($detail); - echo "
    -
    Nama Supplier : $detailSupplier[namaSupplier] -
    Alamat Supplier : $detailSupplier[alamatSupplier] -
    Periode : ".getBulan($_POST[bulanLaporan])." - $_POST[tahunLaporan]"; - $pembelian = getDataPembelian($_POST[supplierId], $_POST[bulanLaporan], $_POST[tahunLaporan]); - $jmlPembelian = mysql_num_rows($pembelian); - if ($jmlPembelian != 0) { - ?> -

    - - - - - - - - - - - - - - - - - - - -
    NoNo NotaTgl PembelianNo InvoiceNominalDetail
    >Detail
    Total".uang($totalPembelian)." 
    "; - } else { - echo "

    Belum ada pembelian dari supplier ini."; - } - } - break; - - - case "detailretur"; // =========================================================================================================== - $data = getDataNotaPembelian($_GET[idnota]); - $dataBeli = mysql_fetch_array($data); - echo "

    Retur Nota No : $_GET[idnota]

    - - - - - - - - - - - - + +
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]  -
    - - +   + +
    "; + if ($_GET[action] == 'pesanbarang') { + + $supplier=getDetailSupplier($_POST[supplierId]); + $detailSupplier=mysql_fetch_array($supplier); + echo "

    Pesan Barang di Supplier $detailSupplier[namaSupplier]

    +
    Alamat Supplier : $detailSupplier[alamatSupplier]

    +
    + + "; + $no=0; + $queryBarang=getDaftarBarangSupplier($_POST[supplierId], $_POST[jumlahmin]); + while ($barangSupplier=mysql_fetch_array($queryBarang)) { + if (($no % 2) == 0) { + $warna="#EAF0F7"; + } else { + $warna="#FFFFFF"; + } + echo ""; //end warna + echo ""; + $no++; + echo " + + + + "; + } + + echo ""; + echo " + + + "; + echo "
    #NoBarcodeNama BarangStok
    Saat Ini
    $no$barangSupplier[barcode]$barangSupplier[namaBarang]
    $barangSupplier[jumBarang]
    + Check All + Uncheck All +
    Cetak Excel / CSV
    "; + } + break; + + + case "laporanpembelian": // =============================================================================================================== + echo "

    Laporan Pembelian (per Supplier)

    +
    + Supplier : + +
    Periode Laporan : Bulan : + , Tahun : + +   +
    + "; + + + if ($_GET[action] == 'lihatlaporan') { // ------------------------------------------------------------------- + $detail=getDetailSupplier($_POST[supplierId]); + $detailSupplier=mysql_fetch_array($detail); + echo "
    +
    Nama Supplier : $detailSupplier[namaSupplier] +
    Alamat Supplier : $detailSupplier[alamatSupplier] +
    Periode : ".getBulan($_POST[bulanLaporan])." - $_POST[tahunLaporan]"; + $pembelian=getDataPembelian($_POST[supplierId], $_POST[bulanLaporan], $_POST[tahunLaporan]); + $jmlPembelian=mysql_num_rows($pembelian); + if ($jmlPembelian != 0) { + ?> +

    + + + + + + + + + + + + + + + + + + + +
    NoNo NotaTgl PembelianNo InvoiceNominalDetail
    >Detail
    Total".uang($totalPembelian)." 
    "; + } else { + echo "

    Belum ada pembelian dari supplier ini."; + } + } + break; + + + case "detailretur"; // =========================================================================================================== + $data=getDataNotaPembelian($_GET[idnota]); + $dataBeli=mysql_fetch_array($data); + echo "

    Retur Nota No : $_GET[idnota]

    + + + + + + + + + + + + - -
    Nama Supplier$dataBeli[namaSupplier] Alamat$dataBeli[alamatSupplier]
    Tgl Transaksi".tgl_indo($dataBeli[tglNota])." Nominal".uang($dataBeli[nominal])."
    Nomor Invoice$dataBeli[NomorInvoice]  +
    + +
    -
    -
    "; - - $detail = getDetailNotaPembelian($_GET[idnota]); - if (mysql_num_rows($detail) != 0) { - ?> - - - - - - - - - - - - - - - > - - - - - - - - - - - - - > - - - - -
    NOId BarangBarcodeNama BarangTgl ExpireJumlahHarga BeliTotalJumlah Sisa StokTotal Sisa Stok
    TOTAL
    - Nota Retur Yang Sudah Ada +
    +
    "; + + $detail=getDetailNotaPembelian($_GET[idnota]); + if (mysql_num_rows($detail) != 0) { + ?> + + + + + + + + + + + + + + + > + + + + + + + + + + + + + > + + + + +
    NOId BarangBarcodeNama BarangTgl ExpireJumlahHarga BeliTotalJumlah Sisa StokTotal Sisa Stok
    TOTAL
    + Nota Retur Yang Sudah Ada "; - $sql = "SELECT * FROM detail_retur_beli WHERE idTransaksiBeli = $_GET[idnota]"; - $hasil = mysql_query($sql); - - $currentTotal = 0; - $oldTotal = 0; - $ctr = 1; - $totalRecord = mysql_num_rows($hasil); - while ($x = mysql_fetch_array($hasil)) { - - $currentTotal = $x[nominal]; - if (($currentTotal !== $oldTotal) && ($oldTotal > 0)) { - ?> - > - + $sql="SELECT * FROM detail_retur_beli WHERE idTransaksiBeli=$_GET[idnota]"; + $hasil=mysql_query($sql); + + $currentTotal=0; + $oldTotal=0; + $ctr=1; + $totalRecord=mysql_num_rows($hasil); + while ($x=mysql_fetch_array($hasil)) { + + $currentTotal=$x[nominal]; + if (($currentTotal !== $oldTotal) && ($oldTotal > 0)) { + ?> + > + ".uang($oldTotal)."
    (username: $oldUser)
    (tanggal : $oldTgl) "; - }; - ?> - - > - $x[idTransaksiBeli] - - - - + }; + ?> + + > + $x[idTransaksiBeli] + + + + "; - $ctr++; - $oldTotal = $currentTotal; - $oldTgl = $x[tglRetur]; - $oldUser = $x[username]; - } // while ($x = mysql_fetch_array($hasil)) - ?> - > - "; + $ctr++; + $oldTotal=$currentTotal; + $oldTgl=$x[tglRetur]; + $oldUser=$x[username]; + } // while ($x=mysql_fetch_array($hasil)) + ?> + > + ".uang($oldTotal)."
    (username: $oldUser)
    (tanggal : $oldTgl) "; - echo "
    NOTAId BarangBarcode Jumlah
    Retur
    Harga BeliTotal
    $x[idBarang]$x[barcode]$x[jumRetur]".uang($x[hargaBeli])."
    $x[idBarang]$x[barcode]$x[jumRetur]".uang($x[hargaBeli])." "; - echo "
    "; - } else { - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - - break; - - - case "inputreturbeli"; // =========================================================================================================== - //fixme: - // belum disimpan ke table 'retur' (baru ke table 'detail_retur_beli') - - if (isset($_GET[idnota])) { - $idNota = $_GET[idnota]; - } - - $data = getDataNotaPembelian($idNota); - $dataBeli = mysql_fetch_array($data); - echo "

    RETUR PEMBELIAN : Detail Nota No : $idNota

    - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]   -
    -
    "; - - if ($_GET[action] == 'ubahdata') { - ubahTempEditDetailReturPembelian($_POST[idDetailBeli], $_POST[tglExpire], $_POST[jumBarang], $_POST[hargaBeli], $_POST[jumRetur]); - } - - - echo "Nota no : $idNota"; - $detail = getDetailTmpEditReturPembelian($idNota); - if (mysql_num_rows($detail) != 0) { - echo " - "; - - $no = 1; - $total = 0; - $totalRetur = 0; - while ($dataDetail = mysql_fetch_array($detail)) { - if (($no % 2) == 0) { - $warna = "#EAF0F7"; - } else { - $warna = "#FFFFFF"; - } - $subTotal = $dataDetail[jumBarang] * $dataDetail[hargaBeli]; - $total += $subTotal; - $subTotalRetur = $dataDetail[jumRetur] * $dataDetail[hargaBeli]; - $totalRetur += $subTotalRetur; - echo ""; //end warna - echo " - - - - - - - - + echo "
    NOId BarangNama BarangTgl ExpireJumlahHarga BeliTotalJumlah
    RETUR
    AKSI
    $no
    $dataDetail[idBarang]$dataDetail[namaBarang]".uang($subTotal)."
    "; + } else { + echo "Tidak Ada Data Detail Barang yang dibeli"; + } + + break; + + + case "inputreturbeli"; // =========================================================================================================== + //fixme: + // belum disimpan ke table 'retur' (baru ke table 'detail_retur_beli') + + if (isset($_GET[idnota])) { + $idNota=$_GET[idnota]; + } + + $data=getDataNotaPembelian($idNota); + $dataBeli=mysql_fetch_array($data); + echo "

    RETUR PEMBELIAN : Detail Nota No : $idNota

    + + + + + + + + + + + + + +
    Nama Supplier$dataBeli[namaSupplier] Alamat$dataBeli[alamatSupplier]
    Tgl Transaksi".tgl_indo($dataBeli[tglNota])." Nominal".uang($dataBeli[nominal])."
    Nomor Invoice$dataBeli[NomorInvoice]   +
    +
    "; + + if ($_GET[action] == 'ubahdata') { + ubahTempEditDetailReturPembelian($_POST[idDetailBeli], $_POST[tglExpire], $_POST[jumBarang], $_POST[hargaBeli], $_POST[jumRetur]); + } + + + echo "Nota no : $idNota"; + $detail=getDetailTmpEditReturPembelian($idNota); + if (mysql_num_rows($detail) != 0) { + echo " + "; + + $no=1; + $total=0; + $totalRetur=0; + while ($dataDetail=mysql_fetch_array($detail)) { + if (($no % 2) == 0) { + $warna="#EAF0F7"; + } else { + $warna="#FFFFFF"; + } + $subTotal=$dataDetail[jumBarang] * $dataDetail[hargaBeli]; + $total += $subTotal; + $subTotalRetur=$dataDetail[jumRetur] * $dataDetail[hargaBeli]; + $totalRetur += $subTotalRetur; + echo ""; //end warna + echo " + + + + + + + + - "; - } - echo ""; - echo " + + + + + "; + } + echo ""; + echo " - "; - echo "
    NOId BarangNama BarangTgl ExpireJumlahHarga BeliTotalJumlah
    RETUR
    AKSI
    $no$dataDetail[idBarang]$dataDetail[namaBarang]".uang($subTotal)." - - - -
     
    TOTAL".uang($total)."
     
    TOTAL".uang($total)." ".uang($totalRetur)." -
    - - -
    -
    "; - } else { - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - break; - - - - case "detaillaporan"; // =========================================================================================================== - $data = getDataNotaPembelian($_GET[idnota]); - $dataBeli = mysql_fetch_array($data); - ?> -

    Detail Nota No :

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    Nama Supplier :  Alamat :
    Tgl Transaksi :  Nominal :
    Nomor Invoice :   -
    - > - -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NOID BarangBarcodeNama BarangHarga JualTgl ExpireJumlahHarga BeliTotalJumlah Sisa StokTotal Sisa Stok
    TOTAL
    - Detail Nota No : $idNota - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]   -
    -
    "; - if ($_GET[action] == 'ubahdata') { - ubahTempEditDetailPembelian($_POST[idDetailBeli], $_POST[tglExpire], $_POST[jumBarang], $_POST[hargaBeli]); - } - echo "Nota no : $idNota"; - $detail = getDetailTmpEditPembelian($idNota); - if (mysql_num_rows($detail) != 0) { - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NOId BarangNama BarangTgl ExpireJumlahHarga BeliTotalAKSI
    >>> - > - -
    TOTAL -
    - > - -
    -
    - -

    Pembelian Barang

    -
    - - -
    - -

    Pembelian Barang

    Pembelian Barang dari supplier : - - - - -

    - - - - - - - - -
    - - - - - - - - - - - - "; + echo "
    (1) Pilihan barcode: - - - - - - -
    (3) Pilihan barang: - - - -
    - - + +
    + + +
    +
    "; + } else { + echo "Tidak Ada Data Detail Barang yang dibeli"; + } + break; + + + + case "detaillaporan"; // =========================================================================================================== + $data=getDataNotaPembelian($_GET[idnota]); + $dataBeli=mysql_fetch_array($data); + ?> +

    Detail Nota No :

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Nama Supplier Alamat
    Tgl Transaksi Nominal
    Nomor Invoice  +
    + > + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NOID BarangBarcodeNama BarangHarga JualTgl ExpireJumlahHarga BeliTotalJumlah Sisa StokTotal Sisa Stok
    TOTAL
    + Detail Nota No : $idNota + + + + + + + + + + + + + +
    Nama Supplier$dataBeli[namaSupplier] Alamat$dataBeli[alamatSupplier]
    Tgl Transaksi".tgl_indo($dataBeli[tglNota])." Nominal".uang($dataBeli[nominal])."
    Nomor Invoice$dataBeli[NomorInvoice]   +
    +
    "; + if ($_GET[action] == 'ubahdata') { + ubahTempEditDetailPembelian($_POST[idDetailBeli], $_POST[tglExpire], $_POST[jumBarang], $_POST[hargaBeli]); + } + echo "Nota no : $idNota"; + $detail=getDetailTmpEditPembelian($idNota); + if (mysql_num_rows($detail) != 0) { + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NOId BarangNama BarangTgl ExpireJumlahHarga BeliTotalAKSI
    >>> + > + +
    TOTAL +
    + > + +
    +
    + +

    Pembelian Barang

    +
    + + +
    + +

    Pembelian Barang

    Pembelian Barang dari supplier : + + + + +

    + + + + + + + + +
    + + + + + + + + + + + + - -
    (1) Pilihan barcode + + + + + + +
    (3) Pilihan barang + + + +
    + + - "; - ?> -
    - 0) { - $sql = "SELECT barcode, penjualan, rata_rata_mingguan, jumlah_bulan_terakhir FROM data_penjualan - WHERE barcode = '{$barang['barcode']}'"; - $hasil = mysql_query($sql); - $dataPenjualan = mysql_fetch_array($hasil, MYSQL_ASSOC); - } - } - } - ?> - - - -

    - - Rata-rata penjualan perminggu, selama bulan terakhir:
    - - Stok tercatat:
    -

    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Barcode : - Jumlah yang dibeli :
    Nama Barang : ' readonly='readonly' />Subtotal (Rp) :
    Diskon (%) : ' id='xDiskonPersen' tabindex="3" />PPN (%) : ' id='xppn' tabindex=5 />
    Diskon (Rp) : Profit (%) : ' id='xPersenProfit' tabindex=6 />
    Harga Beli Sekarang : ' readonly='readonly' />Harga Beli Barang : ' />
    Harga Jual Sekarang : ' readonly='readonly' />Harga Jual Barang : ' tabindex=9 />
     Tanggal Expire (yyyy-mm-dd) :
    Harga Banded : Harga Banded Satuan :
    Qty Banded :
    - - '> -
    -
    -
    - - - 0) { - if ($true != 0) { - tambahBarangAda($_SESSION[idSupplier], $_POST[barcode], $_POST[jumBarang]); - } else { - tambahBarang($_SESSION[idSupplier], $_POST[barcode], $_POST[jumBarang], $_POST[hargaBeliBaru], $_POST[hargaJualBaru], $_POST[tglExpire]); - } - // harga banded - if (isset($_POST['qtyBanded']) && isset($_POST['hargaBandedSatuan'])) { - $qty = $_POST['qtyBanded']; - $barcode = $_POST['barcode']; - $harga = $_POST['hargaBandedSatuan']; - if ($qty > 0) { - $sql = "INSERT INTO tmp_harga_banded (barcode, user_name, supplier_id, qty, harga_satuan) " - ."VALUES('{$barcode}','{$_SESSION['uname']}','{$_SESSION['idSupplier']}', {$qty},{$harga}) " - ."ON DUPLICATE KEY UPDATE qty={$qty}, harga_satuan={$harga} "; - } else { - $sql = "DELETE FROM tmp_harga_banded WHERE barcode = '{$barcode}' AND user_name='{$_SESSION['uname']}'"; - } - mysql_query($sql) or die(mysql_error()); - } - } - } - if ($_GET[action] == 'ubahjumlah') { - //echo "Ubah Jumlah : $_POST[barcode],$_POST[jumlahBarang],$_POST[hargaBeli],$_POST[hargaJual]"; - - $true = cekBarangTemp($_SESSION[idSupplier], $_POST[barcode]); - if ($true != 0) { - ubahJumlahBarangBeliTemp($_SESSION[idSupplier], $_POST[idBarang], $_POST[jumlahBarang]); - } - } - $sql = "SELECT * - from tmp_detail_beli tdb, barang b - where tdb.barcode = b.barcode and tdb.idSupplier = '$_SESSION[idSupplier]' and tdb.username = '$_SESSION[uname]'"; - //echo $sql; - $query = mysql_query($sql); - - $r = mysql_fetch_row($query); - echo "
    "; - - if ($r) { // -------------------- tampilkan data yang sudah di input sejauh ini --------- - //echo "Ada $r[0] data"; - ?> - - - - - - - - - - -
    "; + ?> + + +
    BarcodeNama BarangTgl ExpireJumlahHarga BeliHarga JualTotalAksi
    + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Barcode + Jumlah yang dibeli
    Nama Barang' readonly='readonly' />Subtotal (Rp)
    Diskon (%)' id='xDiskonPersen' tabindex="3" />PPN (%)' id='xppn' tabindex=5 />
    Diskon (Rp)Profit (%)' id='xPersenProfit' tabindex=6 />
    Harga Beli Sekarang' readonly='readonly' />Harga Beli Barang' />
    Harga Jual Sekarang' readonly='readonly' />Harga Jual Barang' tabindex=9 />
     Tanggal Expire (yyyy-mm-dd)
    Harga BandedHarga Banded Satuan
    Qty Banded
    + + '> +
    +
    +
    + + + 0) { + if ($true != 0) { + tambahBarangAda($_SESSION[idSupplier], $_POST[barcode], $_POST[jumBarang]); + } else { + tambahBarang($_SESSION[idSupplier], $_POST[barcode], $_POST[jumBarang], $_POST[hargaBeliBaru], $_POST[hargaJualBaru], $_POST[tglExpire]); + } + // harga banded + if (isset($_POST['qtyBanded']) && isset($_POST['hargaBandedSatuan'])){ + $qty=$_POST['qtyBanded']; + $barcode=$_POST['barcode']; + $harga=$_POST['hargaBandedSatuan']; + if ($qty > 0){ + $sql="INSERT INTO tmp_harga_banded (barcode, user_name, supplier_id, qty, harga_satuan) " + . "VALUES('{$barcode}','{$_SESSION['uname']}','{$_SESSION['idSupplier']}', {$qty},{$harga}) " + . "ON DUPLICATE KEY UPDATE qty={$qty}, harga_satuan={$harga} "; + } else { + $sql="DELETE FROM tmp_harga_banded WHERE barcode='{$barcode}' AND user_name='{$_SESSION['uname']}'"; + } + mysql_query($sql) or die(mysql_error()); + } + } + } + if ($_GET[action] == 'ubahjumlah') { + //echo "Ubah Jumlah : $_POST[barcode],$_POST[jumlahBarang],$_POST[hargaBeli],$_POST[hargaJual]"; + + $true=cekBarangTemp($_SESSION[idSupplier], $_POST[barcode]); + if ($true != 0) { + ubahJumlahBarangBeliTemp($_SESSION[idSupplier], $_POST[idBarang], $_POST[jumlahBarang]); + } + } + $sql="SELECT * + from tmp_detail_beli tdb, barang b + where tdb.barcode=b.barcode and tdb.idSupplier='$_SESSION[idSupplier]' and tdb.username='$_SESSION[uname]'"; + //echo $sql; + $query=mysql_query($sql); + + $r=mysql_fetch_row($query); + echo "
    "; + + if ($r) { // -------------------- tampilkan data yang sudah di input sejauh ini --------- + //echo "Ada $r[0] data"; + ?> + + + + + + + + + + + - > - - - - - - - - - - - - - - - + > + + + + + + + + + + + + + + + - - -
    BarcodeNama BarangTgl ExpireJumlahHarga BeliHarga JualTotalAksi
    | - '>Hapus
    | + '>Hapus
    - - - -
    Total Pembelian
    + //HS total invoice : + // subtotal - (DiskonPersen x subtotal) - (DiskonRupiah) + PPN + if (empty($_POST[DiskonPersen])) { + $_POST[DiskonPersen]=0; + }; + if (empty($_POST[DiskonRupiah])) { + $_POST[DiskonPersen]=0; + }; + if (empty($_POST[PPN])) { + $_POST[PPN]=0; + }; + $tot_pembelian=$tot_pembelian - ($_POST[DiskonPersen] * $tot_pembelian) - $_POST[DiskonRupiah] + $_POST[PPN]; + ?> + + +
    + + + + - - - - - + + + + - - - "; + + + "; - echo " - - + echo " + + -
    Total Pembelian
    Hitung (U)lang
    Tipe Pembayaran
    Tanggal Pembayaran (hutang)
    Nomor Invoice
    Tanggal InvoiceTipe Pembayaran
    Tanggal Pembayaran (hutang)
    Nomor Invoice
    Tanggal Invoice
    Diskon (%)
    Diskon (Rp)
    PPn (%)
    Diskon (%)
    Diskon (Rp)
    PPn (%)
     
     
    BATAL - +
    + "; - //fixme : Pembatalan Nota (code di atas & bawah komentar ini) perlu merujuk ke user ybs, - // agar jangan keliru menghapus nota yang sedang di input oleh user yang lainnya - } else { + //fixme : Pembatalan Nota (code di atas & bawah komentar ini) perlu merujuk ke user ybs, + // agar jangan keliru menghapus nota yang sedang di input oleh user yang lainnya + } else { - echo "Belum ada barang yang dibeli
    BATAL"; - } + echo "Belum ada barang yang dibeli
    BATAL"; + } - break; + break; - case "laporanpembeliantanggal": // =============================================================================================================== + case "laporanpembeliantanggal": // =============================================================================================================== - echo "

    Laporan Pembelian (per Tanggal)

    -
    + echo "

    Laporan Pembelian (per Tanggal)

    + -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; +
    Periode Laporan : Bulan : + , Tahun : + +   + + "; - if ($_GET[action] == 'pilihtanggal') { // ------------------------------------------------------------ - $sql = "SELECT tglTransaksiBeli, idTransaksiBeli FROM transaksibeli + if ($_GET[action] == 'pilihtanggal') { // ------------------------------------------------------------ + $sql="SELECT tglTransaksiBeli, idTransaksiBeli FROM transaksibeli WHERE month(tglTransaksiBeli)='$_POST[bulanLaporan]' AND year(tglTransaksiBeli)='$_POST[tahunLaporan]' ORDER BY tglTransaksiBeli, idTransaksiBeli ASC"; - $hasil = mysql_query($sql); - ?> -
    -
    + $hasil=mysql_query($sql); + ?> +
    + - - - Tanggal : - -       -
    - + + Tanggal : + +   + + Input Transaksi Pembelian Elektronik -
    - Pilih File Transaksi : -
    + case "inputeprocurement1"; // ======================================================================================================================= + echo "

    Input Transaksi Pembelian Elektronik

    + + Pilih File Transaksi : +
    Tipe File : -

    - +
    "; - break; + break; - case "inputeprocurement2"; // ============================================================================================================= + case "inputeprocurement2"; // ============================================================================================================= - $ctr = 0; - $tgl = date("Y-m-d"); - $totalInvoice = 0; + $ctr=0; + $tgl=date("Y-m-d"); + $totalInvoice=0; - if (empty($_FILES) && empty($_POST) && isset($_SERVER['REQUEST_METHOD']) && strtolower($_SERVER['REQUEST_METHOD']) == 'post') { - $poidsMax = ini_get('post_max_size'); - echo "

    ERROR : file yang di upload lebih besar daripada limit di server, yaitu : $poidsMax.
    Tidak merubah apapun."; - exit; - }; + if (empty($_FILES) && empty($_POST) && isset($_SERVER['REQUEST_METHOD']) && strtolower($_SERVER['REQUEST_METHOD']) == 'post') { + $poidsMax=ini_get('post_max_size'); + echo "

    ERROR : file yang di upload lebih besar daripada limit di server, yaitu : $poidsMax.
    Tidak merubah apapun."; + exit; + }; - // edited by abufathir: tambahan untuk nomor invoice jika ada - $namaFileSaja = explode('.', $_FILES["csvfile"]["name"]); - $namaFile = explode('-', $namaFileSaja[0]); - $nomorInvoice = explode('-', $namaFile[0]); - // ======================================= + // edited by abufathir: tambahan untuk nomor invoice jika ada + $namaFileSaja=explode('.', $_FILES["csvfile"]["name"]); + $namaFile=explode('-', $namaFileSaja[0]); + $nomorInvoice=explode('-', $namaFile[0]); + // ======================================= - $csvfile = $_FILES['csvfile']['tmp_name']; + $csvfile=$_FILES['csvfile']['tmp_name']; - echo "

    Input Transaksi Pembelian Elektronik

    + echo "

    Input Transaksi Pembelian Elektronik

    -
    "; - // tambahan untuk nomor invoice jika ada - ?> - Nomor Invoice (opt): -

    -
    - Keterangan warna: -
    Barang Baru
    -
    Harga Jual Berubah
    -
    - "; + // tambahan untuk nomor invoice jika ada + ?> + Nomor Invoice (opt): +

    +
    Barcode @@ -1496,540 +1414,519 @@ function Recalc() { "; - //echo "File: $csvfile"; - // mulai memproses isi file CSV - $n = 1; - if (($handle = fopen($csvfile, "r")) !== FALSE) { - while (($data = fgetcsv($handle, 1000, ',', '"')) !== FALSE) { - // sometimes there are empty lines in the CSV file - don't process that - if (!is_null($data[0]) AND ( $data[0] !== 'barcode')) { - // format isi file CSV : - // $data[0] = barcode - // $data[1] = idBarang - ignored - // $data[2] = namaBarang - // $data[3] = jumlah Barang / jumBarang - // $data[4] = hargaBeli - ignored - // $data[5] = hargaJual (di Gudang) - // $data[6] = RRP (Recommended Retail Price) - // $data[7] = namaSatuanBarang - // $data[8] = namaKategoriBarang - // $data[9] = Supplier - ignored - // $data[10] = username - ignored - // cari harga jual dari barang ybs pada saat ini - $hargaSekarang = 0; - $sql = "SELECT hargaJual FROM barang WHERE barcode='".$data[0]."'"; - $hasil = mysql_query($sql); - $z = mysql_fetch_array($hasil); - $hargaSekarang = $z[hargaJual]; - $warna = '#fff'; - if ($hargaSekarang != $data[6]) { - $warna = '#edc240'; // Jika harga jual berubah, diberi tanda warna kuning - } - if (!$z) { - $warna = '#4da74d'; // Jika barang belum ada, diberi tanda warna hijau - } - echo " - - + //echo "File: $csvfile"; + // mulai memproses isi file CSV + $n=1; + if (($handle=fopen($csvfile, "r")) !== FALSE) { + while (($data=fgetcsv($handle, 1000, ',', '"')) !== FALSE) { + // sometimes there are empty lines in the CSV file - don't process that + if (!is_null($data[0]) AND ($data[0] !== 'barcode')) { + // format isi file CSV : + // $data[0]=barcode + // $data[1]=idBarang - ignored + // $data[2]=namaBarang + // $data[3]=jumlah Barang / jumBarang + // $data[4]=hargaBeli - ignored + // $data[5]=hargaJual (di Gudang) + // $data[6]=RRP (Recommended Retail Price) + // $data[7]=namaSatuanBarang + // $data[8]=namaKategoriBarang + // $data[9]=Supplier - ignored + // $data[10]=username - ignored + // cari harga jual dari barang ybs pada saat ini + $hargaSekarang=0; + $sql="SELECT hargaJual FROM barang WHERE barcode='".$data[0]."'"; + $hasil=mysql_query($sql); + $z=mysql_fetch_array($hasil); + $hargaSekarang=$z[hargaJual]; + + echo " + + -
    +
    - + - +
    $hargaSekarang - + - + - + "; - $n++; - }; // if (!is_null($data[0]) AND ($data[0] !== 'barcode')) { - }; // while (($data = fgetcsv($handle, 1000, ',', '"')) !== FALSE) { - }; // if (($handle = fopen($csvfile, "r")) !== FALSE) { + $n++; + }; // if (!is_null($data[0]) AND ($data[0] !== 'barcode')) { + }; // while (($data=fgetcsv($handle, 1000, ',', '"')) !== FALSE) { + }; // if (($handle=fopen($csvfile, "r")) !== FALSE) { - echo " + echo " - + "; - break; + break; - case "inputeprocurement3"; // ============================================================================================================= + case "inputeprocurement3"; // ============================================================================================================= - $tgl = date("Y-m-d"); - $totalInvoice = 0; - $ctr = 1; + $tgl=date("Y-m-d"); + $totalInvoice=0; + $ctr=1; - // cek apakah ada Supplier "Gudang.AhadMart.com" di table - if ($_POST['jenistransaksi'] == 'transferahad') { - $hasil = mysql_query("SELECT idSupplier FROM supplier WHERE namaSupplier='Transfer.AhadMart.com'"); - } elseif ($_POST['jenistransaksi'] == 'gudangahad') { - $hasil = mysql_query("SELECT idSupplier FROM supplier WHERE namaSupplier='Gudang.AhadMart.com'"); - }; - // jika tidak - bikin 1 recordnya - if (mysql_num_rows($hasil) < 1) { - if ($_POST['jenistransaksi'] == 'transferahad') { - $sql = mysql_query("INSERT INTO supplier (namaSupplier, alamatSupplier, telpSupplier, Keterangan, last_update) + // cek apakah ada Supplier "Gudang.AhadMart.com" di table + if ($_POST['jenistransaksi'] == 'transferahad') { + $hasil=mysql_query("SELECT idSupplier FROM supplier WHERE namaSupplier='Transfer.AhadMart.com'"); + } elseif ($_POST['jenistransaksi'] == 'gudangahad') { + $hasil=mysql_query("SELECT idSupplier FROM supplier WHERE namaSupplier='Gudang.AhadMart.com'"); + }; + // jika tidak - bikin 1 recordnya + if (mysql_num_rows($hasil) < 1) { + if ($_POST['jenistransaksi'] == 'transferahad') { + $sql=mysql_query("INSERT INTO supplier (namaSupplier, alamatSupplier, telpSupplier, Keterangan, last_update) VALUES ('Transfer.AhadMart.com', 'Jakarta', '021-7359407', 'http://transfer.ahadmart.com', '".date('Y-m-d')."')"); - } elseif ($_POST['jenistransaksi'] == 'gudangahad') { - $sql = mysql_query("INSERT INTO supplier (namaSupplier, alamatSupplier, telpSupplier, Keterangan, last_update) + } elseif ($_POST['jenistransaksi'] == 'gudangahad') { + $sql=mysql_query("INSERT INTO supplier (namaSupplier, alamatSupplier, telpSupplier, Keterangan, last_update) VALUES ('Gudang.AhadMart.com', 'Jakarta', '021-7330923', 'http://gudang.ahadmart.com', '".date('Y-m-d')."')"); - }; - - mysql_query($sql); - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM supplier"); - }; - $x = mysql_fetch_array($hasil); - $idSupplier = $x[0]; - - - // bikin record di table transaksibeli - // tambahan nomorInvoice jika ada : edited by abufathir; - $sql = "INSERT INTO transaksibeli(tglTransaksiBeli, idSupplier, nominal, idTipePembayaran, username, last_update, NomorInvoice) - VALUES('$tgl', ".$idSupplier.", '9999',1, '$_SESSION[uname]','$tgl','{$_POST['nomorInvoice']}')"; - $hasil = mysql_query($sql) or die(mysql_error()); - // simpan nomor transaksi beli nya - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM transaksibeli") or die(mysql_error()); - $x = mysql_fetch_array($hasil); - $idTransaksiBeli = $x[0]; - - while ($ctr < $_POST[count]) { - - // semua transaksi dicatat di table detail_beli - // bikin idBarang dulu, via tmp_detail_beli - $hasil = mysql_query("INSERT INTO tmp_detail_beli (idSupplier, tglTransaksi, tglExpire, jumBarang, hargaBeli, hargaJual) VALUES (1,'$tgl','$tgl',1,2,3)"); - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM tmp_detail_beli"); - $x = mysql_fetch_array($hasil); - $idBarang = $x[0]; - // hapus record temporary tadi - $hasil = mysql_query("DELETE FROM tmp_detail_beli WHERE idBarang=$idBarang"); - // baru bikin record item ini di detail_beli - mysql_query("INSERT INTO detail_beli (idTransaksiBeli, idBarang, tglExpire, jumBarang, hargaBeli, + }; + + mysql_query($sql); + $hasil=mysql_query("SELECT LAST_INSERT_ID() FROM supplier"); + }; + $x=mysql_fetch_array($hasil); + $idSupplier=$x[0]; + + + // bikin record di table transaksibeli + // tambahan nomorInvoice jika ada : edited by abufathir; + $sql="INSERT INTO transaksibeli(tglTransaksiBeli, idSupplier, nominal, idTipePembayaran, username, last_update, NomorInvoice) + VALUES('$tgl', ".$idSupplier.", '9999',1, '$_SESSION[uname]','$tgl','{$_POST['nomorInvoice']}')"; + $hasil=mysql_query($sql) or die(mysql_error()); + // simpan nomor transaksi beli nya + $hasil=mysql_query("SELECT LAST_INSERT_ID() FROM transaksibeli") or die(mysql_error()); + $x=mysql_fetch_array($hasil); + $idTransaksiBeli=$x[0]; + + while ($ctr < $_POST[count]) { + + // semua transaksi dicatat di table detail_beli + // bikin idBarang dulu, via tmp_detail_beli + $hasil=mysql_query("INSERT INTO tmp_detail_beli (idSupplier, tglTransaksi, tglExpire, jumBarang, hargaBeli, hargaJual) VALUES (1,'$tgl','$tgl',1,2,3)"); + $hasil=mysql_query("SELECT LAST_INSERT_ID() FROM tmp_detail_beli"); + $x=mysql_fetch_array($hasil); + $idBarang=$x[0]; + // hapus record temporary tadi + $hasil=mysql_query("DELETE FROM tmp_detail_beli WHERE idBarang=$idBarang"); + // baru bikin record item ini di detail_beli + mysql_query("INSERT INTO detail_beli (idTransaksiBeli, idBarang, tglExpire, jumBarang, hargaBeli, isSold, barcode, username, jumBarangAsli) VALUES ($idTransaksiBeli, $idBarang, '', ".$_POST["jumlah$ctr"].", ".$_POST["harga$ctr"].", 'N', '".$_POST["barcode$ctr"]."', '$_SESSION[uname]', ".$_POST["jumlah$ctr"].")"); - echo "

    --- Menambahkan detail_beli: barcode ".$_POST["barcode$ctr"].""; - - // init idSatuanBarang; - $idSatuanBarang = 3; // Pcs - // cek apakah ada namaSatuanBarang ini di table satuan_barang ? - $hasil = mysql_query("SELECT idSatuanBarang FROM satuan_barang WHERE namaSatuanBarang='".$_POST["satuan$ctr"]."'"); - // jika tidak - bikin 1 recordnya - if (mysql_num_rows($hasil) < 1) { - mysql_query("INSERT INTO satuan_barang (namaSatuanBarang) VALUES ('".$_POST["satuan$ctr"]."')"); - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM satuan_barang"); - $x = mysql_fetch_array($hasil); - $idSatuanBarang = $x[0]; - echo "
    --- Menambahkan satuan barang: ".$_POST["satuan$ctr"].""; - } else { - $x = mysql_fetch_array($hasil); - $idSatuanBarang = $x[idSatuanBarang]; - }; - - // cek apakah ada KategoriBarang ini di table kategori_barang ? - $sql = "SELECT idKategoriBarang FROM kategori_barang + echo "

    --- Menambahkan detail_beli: barcode ".$_POST["barcode$ctr"].""; + + // init idSatuanBarang; + $idSatuanBarang=3; // Pcs + + // cek apakah ada namaSatuanBarang ini di table satuan_barang ? + $hasil=mysql_query("SELECT idSatuanBarang FROM satuan_barang WHERE namaSatuanBarang='".$_POST["satuan$ctr"]."'"); + // jika tidak - bikin 1 recordnya + if (mysql_num_rows($hasil) < 1) { + mysql_query("INSERT INTO satuan_barang (namaSatuanBarang) VALUES ('".$_POST["satuan$ctr"]."')"); + $hasil=mysql_query("SELECT LAST_INSERT_ID() FROM satuan_barang"); + $x=mysql_fetch_array($hasil); + $idSatuanBarang=$x[0]; + echo "
    --- Menambahkan satuan barang: ".$_POST["satuan$ctr"].""; + } else { + $x=mysql_fetch_array($hasil); + $idSatuanBarang=$x[idSatuanBarang]; + }; + + // cek apakah ada KategoriBarang ini di table kategori_barang ? + $sql="SELECT idKategoriBarang FROM kategori_barang WHERE namaKategoriBarang='".$_POST["kategori$ctr"]."'"; - $hasil = mysql_query($sql); - // jika tidak - bikin 1 recordnya - if (mysql_num_rows($hasil) < 1) { - mysql_query("INSERT INTO kategori_barang (namaKategoriBarang) VALUES ('".$_POST["kategori$ctr"]."')"); - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM tmp_detail_beli"); - $x = mysql_fetch_array($hasil); - $idKategoriBarang = $x[0]; - echo "
    --- Menambahkan kategori barang: ".$_POST["kategori$ctr"]." "; - } else { - $x = mysql_fetch_array($hasil); - $idKategoriBarang = $x[idKategoriBarang]; - }; - - // cek apakah ada barcode ini di table barang ? - $hasil = mysql_query("SELECT jumBarang, namaBarang FROM barang WHERE barcode='".$_POST["barcode$ctr"]."'"); - $x = mysql_fetch_array($hasil); - // jika ada - tambah quantity nya - if (mysql_num_rows($hasil) > 0) { - - if (cekHargaJualBerubah($_POST["barcode$ctr"], $_POST["rrp$ctr"])) { - hargaJualBerubah($_POST["barcode$ctr"]); - } - - $sql = "UPDATE barang SET jumBarang=".($x[jumBarang] + $_POST["jumlah$ctr"]).", - idKategoriBarang = $idKategoriBarang, - idSatuanBarang = $idSatuanBarang, "; - // PENTING: SUPPLIER TIDAK DIUBAH JIKA BARANG ADA - // berdasarkan hasil meeting dengan P Dani, P Eko, P Herry, 20140211 - //idSupplier = $idSupplier, - $sql .="hargaJual = ".$_POST["rrp$ctr"]." + $hasil=mysql_query($sql); + // jika tidak - bikin 1 recordnya + if (mysql_num_rows($hasil) < 1) { + mysql_query("INSERT INTO kategori_barang (namaKategoriBarang) VALUES ('".$_POST["kategori$ctr"]."')"); + $hasil=mysql_query("SELECT LAST_INSERT_ID() FROM tmp_detail_beli"); + $x=mysql_fetch_array($hasil); + $idKategoriBarang=$x[0]; + echo "
    --- Menambahkan kategori barang: ".$_POST["kategori$ctr"]." "; + } else { + $x=mysql_fetch_array($hasil); + $idKategoriBarang=$x[idKategoriBarang]; + }; + + // cek apakah ada barcode ini di table barang ? + $hasil=mysql_query("SELECT jumBarang, namaBarang FROM barang WHERE barcode='".$_POST["barcode$ctr"]."'"); + $x=mysql_fetch_array($hasil); + // jika ada - tambah quantity nya + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE barang SET jumBarang=".($x[jumBarang] + $_POST["jumlah$ctr"]).", + idKategoriBarang=$idKategoriBarang, + idSatuanBarang=$idSatuanBarang, "; + // PENTING: SUPPLIER TIDAK DIUBAH JIKA BARANG ADA + // berdasarkan hasil meeting dengan P Dani, P Eko, P Herry, 20140211 + //idSupplier=$idSupplier, + $sql .="hargaJual=".$_POST["rrp$ctr"]." WHERE barcode='".$_POST["barcode$ctr"]."'"; - $hasil = mysql_query($sql); - echo "
    === Barcode sudah ada: di Database: $x[namaBarang], + $hasil=mysql_query($sql); + echo "
    === Barcode sudah ada: di Database: $x[namaBarang], di Invoice: ".$_POST["namabarang$ctr"].""; - echo "
    ### Update data barang: $sql - ".$_POST["namabarang$ctr"]."
    "; - // jika tidak - bikin 1 recordnya - } else { - $sql = "INSERT INTO barang (idBarang, namaBarang, idKategoriBarang, idSatuanBarang, jumBarang, hargaJual, - last_update, idSupplier, barcode, username, idRak) + echo "
    ### Update data barang: $sql - ".$_POST["namabarang$ctr"]."
    "; + // jika tidak - bikin 1 recordnya + } else { + $sql="INSERT INTO barang (idBarang, namaBarang, idKategoriBarang, idSatuanBarang, jumBarang, hargaJual, + last_update, idSupplier, barcode, username, idRak) VALUES ($idBarang, '".$_POST["namabarang$ctr"]."', $idKategoriBarang, $idSatuanBarang, ".$_POST["jumlah$ctr"].", ".$_POST["rrp$ctr"].", '$tgl', $idSupplier, '".$_POST["barcode$ctr"]."', '$_SESSION[uname]', '999')"; - $hasil = mysql_query($sql); - hargaJualBerubah($_POST["barcode$ctr"]); - echo "
    ### Menambahkan data barang: $sql
    "; - }; - - // hitung total - $totalInvoice = $totalInvoice + ($_POST["jumlah$ctr"] * $_POST["harga$ctr"]); - // tambahkan counter - $ctr++; - }; // while ($ctr <= $_POST[count]) { - - // update nilai invoice di table transaksibeli - $sql = "select sum(jumBarangAsli * hargaBeli) total from detail_beli where idTransaksiBeli = {$idTransaksiBeli}"; - $result = mysql_query($sql); - $detailBeli = mysql_fetch_array($result); - /* Total invoice dioverwrite dengan ini, yang di atas sering beda, entah kenapa */ - $totalInvoice = $detailBeli['total']; - - $hasil = mysql_query("UPDATE transaksibeli SET nominal={$totalInvoice} WHERE idTransaksiBeli=$idTransaksiBeli"); - // laporkan jumlah record yang kita proses - echo "

    Jumlah item di invoice ini: ".($ctr - 1)."
    + $hasil=mysql_query($sql); + echo "
    ### Menambahkan data barang: $sql
    "; + }; + + // hitung total + $totalInvoice=$totalInvoice + ($_POST["jumlah$ctr"] * $_POST["harga$ctr"]); + // tambahkan counter + $ctr++; + }; // while ($ctr <= $_POST[count]) { + // update nilai invoice di table transaksibeli + $hasil=mysql_query("UPDATE transaksibeli SET nominal=$totalInvoice WHERE idTransaksiBeli=$idTransaksiBeli"); + // laporkan jumlah record yang kita proses + echo "

    Jumlah item di invoice ini: ".($ctr - 1)."
    Total Pembelian : Rp ".uang($totalInvoice)."


    Selesai."; - break; + break; - case "buatrpo1": // =============================================================================================================== - echo "

    Buat RPO (Rencana Purchase Order) :: Step 1

    -
    + case "buatrpo1": // =============================================================================================================== + echo "

    Buat RPO (Rencana Purchase Order) :: Step 1

    + - Supplier : - + Supplier : + - -
    - "; + + + "; - break; + break; - case "buatrpo2": // =============================================================================================================== - findSupplier($_POST['supplierid']); - echo "

    Buat RPO (Rencana Purchase Order) :: Step 2

    -
    + case "buatrpo2": // =============================================================================================================== + findSupplier($_POST['supplierid']); + echo "

    Buat RPO (Rencana Purchase Order) :: Step 2

    + "; - // cari periode delivery supplier ybs - $sql = "SELECT `interval` FROM supplier WHERE idSupplier=".$_POST['supplierid']; - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil); - ?> - + // cari periode delivery supplier ybs + $sql="SELECT `interval` FROM supplier WHERE idSupplier=".$_POST['supplierid']; + $hasil=mysql_query($sql); + $x=mysql_fetch_array($hasil); + + echo " +
    + + + + + + + + + + + + - - - - - - - - - */ - ?> - - - - +
    Periode delivery Supplier hari
    Range analisa penjualan hari
    Jumlah pemesanan untuk persediaan hari
    Periode delivery Supplier : '> hari
    Range analisa penjualan : hari
    Jumlah pemesanan : untuk persediaan '> hari
    - + +
    + "; - - - Buat RPO (Rencana Purchase Order) Per SUPPLIER :: Step 1 -
    + case "rposup1": // =============================================================================================================== + echo "

    Buat RPO (Rencana Purchase Order) Per SUPPLIER :: Step 1

    + - Supplier : - + Supplier : + - -
    - "; + + + "; - break; + break; - case "rposup2": // =============================================================================================================== - echo "

    Buat RPO (Rencana Purchase Order) Per SUPPLIER :: Step 2

    -
    + case "rposup2": // =============================================================================================================== + echo "

    Buat RPO (Rencana Purchase Order) Per SUPPLIER :: Step 2

    + "; - // echo "Supplier ID = {$_POST['supplierid']}"; - // cari periode delivery supplier ybs - $sql = "SELECT `interval`, namaSupplier FROM supplier WHERE idSupplier=".$_POST['supplierid']; - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil); - ?> - - - - + + + + Range analisa penjualan - : hari + hari Buffer Stock - : % + % Periode delivery Supplier - : hari + hari Pesanan tiba di Gudang - : hari + hari Pesanan tiba di Toko - : hari + hari Jumlah pemesanan - : untuk persediaan - : hari + untuk persediaan + hari - + - -
    - "; + + + "; - break; - } // switch($_GET[act]){ ======================================================================================= + break; + } // switch($_GET[act]){ ======================================================================================= // ======================================================================================================================================== -//HS form input "tambah barang" -- awalnya hidden, baru akan muncul jika tombol "Tambah Barang" dipencet +//HS form input "tambah barang" -- awalnya hidden, baru akan muncul jika tombol "Tambah Barang" dipencet //HS ditaruh paling bawah agar tidak mengacaukan form yang lainnya - echo "\n\n"; - ?> + echo "\n\n"; + ?> -
    -
    - [ X ] - Tambah Barang -
    -
    -
    +
    +
    + [ X ] + Tambah Barang +
    +
    + - function RecalcHargaBarangBaru() { - var HargaBeli = 0; - var HargaJual = 0; + var HargaBeli=0; + var HargaJual=0; var Subtotal = parseInt(document.getElementById("subtotal").value); var PPN = parseInt(document.getElementById("bppn").value); - var JumlahBarang = parseInt(document.getElementById("tjumBarang").value); - var PersenProfit = parseInt(document.getElementById("PersenProfit").value); + var JumlahBarang=parseInt(document.getElementById("tjumBarang").value); + var PersenProfit=parseInt(document.getElementById("PersenProfit").value); if(Subtotal > 0){ - HargaBeli = (Subtotal / JumlahBarang); + HargaBeli=(Subtotal / JumlahBarang); } if(Subtotal < 1){ - HargaBeli = parseInt(document.getElementById("hargaBeli").value); + HargaBeli=parseInt(document.getElementById("hargaBeli").value); } // mencegah keliru input barcode di kolom JumlahBarang if(JumlahBarang > 2000){ - JumlahBarang = 0; + JumlahBarang=0; } - HargaJual = HargaBeli + ((HargaBeli / 100) * PPN) + ((HargaBeli / 100) * PersenProfit); + HargaJual=HargaBeli + ((HargaBeli / 100) * PPN) + ((HargaBeli / 100) * PersenProfit); - document.getElementById("hargaBeli").value = HargaBeli; - document.getElementById("hargaJual").value = HargaJual; - document.getElementById("tjumBarang").value = JumlahBarang; + document.getElementById("hargaBeli").value=HargaBeli; + document.getElementById("hargaJual").value=HargaJual; + document.getElementById("tjumBarang").value=JumlahBarang; } '; - echo " - - + + + + + + + + + + +
    * Barcode : + echo " + + - - - - - + + + + + - + - - + + - - - - + + + + - - - + + + "; - ?> - - - - - - - - - - - -
    * Barcode
    * Nama Barang :
    * Supplier :
    * Kategori Barang :
    * Nama Barang
    * Supplier
    * Kategori Barang
    * Satuan Barang :
    * Rak :
    * Rak
    Subtotal :
    * Jumlah Barang :
    PPN : %
    % Profit :
    Subtotal
    * Jumlah Barang
    PPN %
    % Profit
    * Harga Beli Barang : (h) Hitung Harga
    * Harga Jual Barang :
    Tanggal Expire : (yyyy-mm-dd)
    * Harga Beli Barang (h) Hitung Harga
    * Harga Jual Barang
    Tanggal Expire(yyyy-mm-dd)
     
    Harga Banded :
    Qty Banded :
    Harga Banded Satuan :
        -
    - - - - - - - - + ?> +
    Harga Banded
    Qty Banded
    Harga Banded Satuan
      +
    + + + +
    +
    + + + diff --git a/sistem/modul/mod_beli_barang.php-0.9.3 b/sistem/modul/mod_beli_barang.php-0.9.3 deleted file mode 100644 index be7fe0a..0000000 --- a/sistem/modul/mod_beli_barang.php-0.9.3 +++ /dev/null @@ -1,1149 +0,0 @@ - - - - -Pembelian Barang - - - - - - - - -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    "; - break; - - - - - case "cetakretur"; // ========================================================================================================================= - - echo "

    Cetak Nota Retur

    - -
    -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; - - - if ($_GET[action] == 'lihatlaporan'){ - - if($_POST[bulanLaporan]<10){ - $periode = $_POST[tahunLaporan]."-0".$_POST[bulanLaporan]; - } else{ - $periode = $_POST[tahunLaporan]."-".$_POST[bulanLaporan]; - } - - echo " - "; - - $sql = "SELECT d.idTransaksiBeli, d.tglRetur, d.nominal, d.username, s.namaSupplier, d.idSupplier - FROM detail_retur_beli AS d, supplier AS s - WHERE s.idSupplier = d.idSupplier AND tglRetur LIKE '$periode%' GROUP BY tglRetur ORDER BY tglRetur DESC"; - $hasil = mysql_query($sql); - - while ($x = mysql_fetch_array($hasil)) { - - echo " - - - - - - - - - "; - } // ($x = mysql_fetch_array($hasil)) - echo "
    Nota
    Beli
    TanggalSupplierTotalUserAKSI
    $x[idTransaksiBeli]$x[tglRetur]$x[namaSupplier]$x[nominal]$x[username] -
    - - - - -
    -
    "; - - } // ($_GET[action] == 'lihatlaporan') - - break; - - - case "returpembelian"; // ======================================================================================================================= - echo "

    Retur Pembelian

    -
    - Supplier : - -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; - - - if($_GET[action] == 'lihatlaporan'){ - $detail = getDetailSupplier($_POST[supplierId]); - $detailSupplier = mysql_fetch_array($detail); - echo "
    -
    Nama Supplier : $detailSupplier[namaSupplier] -
    Alamat Supplier : $detailSupplier[alamatSupplier] -
    Periode : ".getBulan($_POST[bulanLaporan])." - $_POST[tahunLaporan]"; - $pembelian = getDataPembelian($_POST[supplierId], $_POST[bulanLaporan], $_POST[tahunLaporan]); - $jmlPembelian = mysql_num_rows($pembelian); - if($jmlPembelian != 0){ - echo "

    "; - $totalPembelian = 0; - $no = 1; - while($dataPembelian = mysql_fetch_array($pembelian)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo " - - - - - "; - $totalPembelian += $dataPembelian[nominal]; - $no++; - } - echo " -
    NoNo NotaTgl PembelianNominalDetail
    $no$dataPembelian[noNota]".tgl_indo($dataPembelian[tglNota])."".uang($dataPembelian[nominal])."Detail
    Total".uang($totalPembelian)." 
    "; - } - else{ - echo "

    Belum ada pembelian dari supplier ini."; - } - - } - break; - - - - - - case "pemesananbarang"; // ======================================================================================================================= - echo "

    Pemesanan Barang

    -
    - Supplier : - -      - -
    "; - if($_GET[action] == 'pesanbarang'){ - - $supplier = getDetailSupplier($_POST[supplierId]); - $detailSupplier = mysql_fetch_array($supplier); - echo "

    Pesan Barang di Supplier $detailSupplier[namaSupplier]

    -
    Alamat Supplier : $detailSupplier[alamatSupplier]

    -
    - - "; - $no = 0; - $queryBarang = getDaftarBarangSupplier($_POST[supplierId]); - while($barangSupplier = mysql_fetch_array($queryBarang)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo ""; - $no++; - echo " - - - - "; - } - - echo ""; - echo " - "; - echo "
    #NoBarcodeNama BarangStok
    Saat Ini
    $no$barangSupplier[barcode]$barangSupplier[namaBarang]
    $barangSupplier[jumBarang]
    - Check All - Uncheck All -
    "; - - } - break; - - - case "laporanpembelian": // =============================================================================================================== - echo "

    Laporan Pembelian

    -
    - Supplier : - -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; - if($_GET[action] == 'lihatlaporan'){ - $detail = getDetailSupplier($_POST[supplierId]); - $detailSupplier = mysql_fetch_array($detail); - echo "
    -
    Nama Supplier : $detailSupplier[namaSupplier] -
    Alamat Supplier : $detailSupplier[alamatSupplier] -
    Periode : ".getBulan($_POST[bulanLaporan])." - $_POST[tahunLaporan]"; - $pembelian = getDataPembelian($_POST[supplierId], $_POST[bulanLaporan], $_POST[tahunLaporan]); - $jmlPembelian = mysql_num_rows($pembelian); - if($jmlPembelian != 0){ - echo "

    "; - $totalPembelian = 0; - $no = 1; - while($dataPembelian = mysql_fetch_array($pembelian)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo " - - - - - "; - $totalPembelian += $dataPembelian[nominal]; - $no++; - } - echo " -
    NoNo NotaTgl PembelianNominalDetail
    $no$dataPembelian[noNota]".tgl_indo($dataPembelian[tglNota])."".uang($dataPembelian[nominal])."Detail
    Total".uang($totalPembelian)." 
    "; - } - else{ - echo "

    Belum ada pembelian dari supplier ini."; - } - - } - break; - - - case "detailretur"; // =========================================================================================================== - $data = getDataNotaPembelian($_GET[idnota]); - $dataBeli = mysql_fetch_array($data); - echo "

    Retur Nota No : $_GET[idnota]

    - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]  -
    - - -
    -
    -
    "; - - $detail = getDetailNotaPembelian($_GET[idnota]); - if(mysql_num_rows($detail)!=0){ - echo " - "; - - $no = 1; - $total = 0; - while($dataDetail = mysql_fetch_array($detail)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - $subTotal = $dataDetail[jumBarang]*$dataDetail[hargaBeli]; - $total += $subTotal; - echo "";//end warna - echo " - - - - - - - - "; - } - echo ""; - echo "
    NOId BarangBarcodeNama BarangTgl ExpireJumlahHarga BeliTotal
    $no$dataDetail[idBarang]$dataDetail[barcode]$dataDetail[namaBarang]$dataDetail[tglExpire]$dataDetail[jumBarang]".uang($dataDetail[hargaBeli])."".uang($subTotal)."
    TOTAL".uang($total)."
    "; - - // Jika sudah ada - tampilkan detail retur untuk Nota ini - echo "

    Nota Retur Yang Sudah Ada

    - - - - "; - - $sql = "SELECT * FROM detail_retur_beli WHERE idTransaksiBeli = $_GET[idnota]"; - $hasil = mysql_query($sql); - - $currentTotal = 0; - $oldTotal = 0; - $ctr = 1; - $totalRecord = mysql_num_rows($hasil); - while ($x = mysql_fetch_array($hasil)) { - - $currentTotal = $x[nominal]; - if (($currentTotal !== $oldTotal) && ($oldTotal > 0)) { - echo "";//end warna - echo " - - - - - "; - $ctr++; - $oldTotal = $currentTotal; - $oldTgl = $x[tglRetur]; - $oldUser = $x[username]; - - - } // while ($x = mysql_fetch_array($hasil)) - echo " - "; - echo "
    NOTAId BarangBarcodeJumlah
    Retur
    Harga BeliTotal
    - ".uang($oldTotal)."
    - (username: $oldUser)
    - (tanggal : $oldTgl) - "; - }; - - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "
    $x[idTransaksiBeli]$x[idBarang]$x[barcode]$x[jumRetur]".uang($x[hargaBeli]).""; - - echo "
    - ".uang($oldTotal)."
    - (username: $oldUser)
    - (tanggal : $oldTgl) -
    "; - - - } - else{ - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - - break; - - - case "inputreturbeli"; // =========================================================================================================== - if(isset($_GET[idnota])){ - $idNota = $_GET[idnota]; - } - - $data = getDataNotaPembelian($idNota); - $dataBeli = mysql_fetch_array($data); - echo "

    RETUR PEMBELIAN : Detail Nota No : $idNota

    - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]   -
    -
    "; - - if($_GET[action] == 'ubahdata'){ - ubahTempEditDetailReturPembelian($_POST[idDetailBeli],$_POST[tglExpire],$_POST[jumBarang],$_POST[hargaBeli],$_POST[jumRetur]); - } - - - echo "Nota no : $idNota"; - $detail = getDetailTmpEditReturPembelian($idNota); - if(mysql_num_rows($detail)!=0){ - echo " - "; - - $no = 1; - $total = 0; - $totalRetur = 0; - while($dataDetail = mysql_fetch_array($detail)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - $subTotal = $dataDetail[jumBarang] * $dataDetail[hargaBeli]; - $total += $subTotal; - $subTotalRetur = $dataDetail[jumRetur] * $dataDetail[hargaBeli]; - $totalRetur += $subTotalRetur; - echo "";//end warna - echo " - - - - - - - - - - "; - } - echo ""; - echo " - - "; - echo "
    NOId BarangNama BarangTgl ExpireJumlahHarga BeliTotalJumlah
    RETUR
    AKSI
    $no
    $dataDetail[idBarang]$dataDetail[namaBarang]".uang($subTotal)." - - - -
     
    TOTAL".uang($total)."".uang($totalRetur)." -
    - - -
    -
    "; - } - else{ - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - break; - - - - case "detaillaporan"; // =========================================================================================================== - $data = getDataNotaPembelian($_GET[idnota]); - $dataBeli = mysql_fetch_array($data); - echo "

    Detail Nota No : $_GET[idnota]

    - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]  -
    - - -
    -
    -
    "; - - $detail = getDetailNotaPembelian($_GET[idnota]); - if(mysql_num_rows($detail)!=0){ - echo " - "; - - $no = 1; - $total = 0; - while($dataDetail = mysql_fetch_array($detail)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - $subTotal = $dataDetail[jumBarang]*$dataDetail[hargaBeli]; - $total += $subTotal; - echo "";//end warna - echo " - - - - - - - - "; - $no++; - } - echo ""; - echo "
    NOId BarangBarcodeNama BarangTgl ExpireJumlahHarga BeliTotal
    $no$dataDetail[idBarang]$dataDetail[barcode]$dataDetail[namaBarang]$dataDetail[tglExpire]$dataDetail[jumBarang]".uang($dataDetail[hargaBeli])."".uang($subTotal)."
    TOTAL".uang($total)."
    "; - } - else{ - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - - break; - - - case "editlaporan"; // =============================================================================================================== - if(isset($_GET[idnota])){ - $idNota = $_GET[idnota]; - } - - $data = getDataNotaPembelian($idNota); - $dataBeli = mysql_fetch_array($data); - echo "

    Detail Nota No : $idNota

    - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]   -
    -
    "; - if($_GET[action] == 'ubahdata'){ - ubahTempEditDetailPembelian($_POST[idDetailBeli],$_POST[tglExpire],$_POST[jumBarang],$_POST[hargaBeli]); - } - echo "Nota no : $idNota"; - $detail = getDetailTmpEditPembelian($idNota); - if(mysql_num_rows($detail)!=0){ - echo " - "; - - $no = 1; - $total = 0; - while($dataDetail = mysql_fetch_array($detail)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - $subTotal = $dataDetail[jumBarang]*$dataDetail[hargaBeli]; - $total += $subTotal; - echo "";//end warna - echo " - - - - - - - - - "; - } - echo ""; - echo " - "; - echo "
    NOId BarangNama BarangTgl ExpireJumlahHarga BeliTotalAKSI
    $no
    $dataDetail[idBarang]$dataDetail[namaBarang]".uang($subTotal)." - - - -
     
    TOTAL".uang($total)." -
    - - -
    -
    "; - } - else{ - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - break; - - - - case "pembelianbarang": // ================================================================================================================= - $sql1 = getSupplier(); - - echo "

    Pembelian Barang

    -
    - - -
    "; - break; - - - case "carisupplier": // ==================================================================================================================== - if(!isset($_SESSION[idSupplier])){ - if (isset($_POST[idSupplier])) { - findSupplier($_POST[idSupplier]); - } else { - findSupplier($_GET[idSupplier]); - }; - } - - echo "

    Pembelian Barang

    Pembelian Barang dari supplier : - $_SESSION[namaSupplier]"; - echo "
    - -

    (1) Pilihan barcode : "; - - $sql1 = mysql_query("SELECT DISTINCT barcode, namaBarang - FROM barang WHERE idSupplier=$_SESSION[idSupplier] ORDER BY namaBarang ASC"); - - echo ""; - - echo " - -
    "; - - - echo "
    - -
    (3) Pilihan barang : "; - - $sql1 = mysql_query("SELECT DISTINCT barcode, namaBarang - FROM barang WHERE idSupplier=$_SESSION[idSupplier] ORDER BY namaBarang ASC"); - - echo ""; - - echo " - -
    "; - - - //HS tombol "Tambah Barang" akan memunculkan form dialog jQuery - echo "
    -
    - -

    "; - - - - - if($_GET[action]=='cek'){ // =============================================================================================================== - $barang = cekBarang($_POST[barcode]); - if(!$barang){ - echo "Data belum ada !"; - break; - } - } - - echo ' - '; - - // inisialisasi variabel xppn - if (!$_POST[xppn]) { $_POST[xppn] = 0;}; - echo "
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Barcode : - Jumlah yang dibeli :
    Nama Barang : Subtotal :
    Diskon % : % PPN :
    Diskon Rp : % Profit :
    -      [ (6) Hitung Harga ] -
    Harga Beli Sekarang : Harga Beli Barang :
    Harga Jual Sekarang : Harga Jual Barang :
     Tanggal Expire : (yyyy-mm-dd)
    -
    -
    - - - "; - - //fixme : perlu validasi input - // # tidak boleh kosong jumlah barang - // # tidak boleh kosong harga beli - // # tidak boleh kosong harga jual - // bisa pakai fasilitas dari jQuery : http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/ - - - - - - if($_GET[action]=='tambah'){ // ============================================================================================================= - - //fixme: item dg barcode "0" pasti selalu ikut terinput - cek dari log query MySQL - $true = cekBarangTemp($_SESSION[idSupplier],$_POST[barcode]); - if($_POST[barcode] <> 0) { - if($true != 0){ - tambahBarangAda($_SESSION[idSupplier],$_POST[barcode],$_POST[jumBarang]); - } else { - tambahBarang($_SESSION[idSupplier],$_POST[barcode],$_POST[jumBarang],$_POST[hargaBeliBaru],$_POST[hargaJualBaru],$_POST[tglExpire]); - } - } - } - if($_GET[action]=='ubahjumlah'){ - //echo "Ubah Jumlah : $_POST[barcode],$_POST[jumlahBarang],$_POST[hargaBeli],$_POST[hargaJual]"; - - $true = cekBarangTemp($_SESSION[idSupplier],$_POST[barcode]); - if($true != 0){ - ubahJumlahBarangBeliTemp($_SESSION[idSupplier],$_POST[idBarang],$_POST[jumlahBarang]); - } - } - $sql = "SELECT * - from tmp_detail_beli tdb, barang b - where tdb.barcode = b.barcode and tdb.idSupplier = '$_SESSION[idSupplier]' and tdb.username = '$_SESSION[uname]'"; - //echo $sql; - $query = mysql_query($sql); - - $r = mysql_fetch_row($query); - echo "
    "; - - if($r){ // -------------------- tampilkan data yang sudah di input sejauh ini --------- - //echo "Ada $r[0] data"; - echo " - - - - - - - "; - $no=1; - $tot_pembelian; - $sql = "SELECT tdb.barcode, tdb.idBarang, tdb.hargaJual, namaBarang, tglExpire, tdb.jumBarang, hargaBeli - FROM tmp_detail_beli tdb, barang b - WHERE tdb.barcode = b.barcode AND tdb.idSupplier = '$_SESSION[idSupplier]' AND tdb.username = '$_SESSION[uname]'"; - //echo $sql; - $query2 = mysql_query($sql); - while ($data=mysql_fetch_array($query2)){ - $total = $data[hargaBeli] * $data[jumBarang]; - //untuk mewarnai tabel menjadi selang-seling - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo ""; - echo " - - - - - - - - - - - "; - $tot_pembelian += $total; - $no++; - } - -//fixme: tombol update membuat jumlah stok jadi sama semua - - - - //HS total invoice : - // subtotal - (DiskonPersen x subtotal) - (DiskonRupiah) + PPN - if (empty($_POST[DiskonPersen])) {$_POST[DiskonPersen] = 0;}; - if (empty($_POST[DiskonRupiah])) {$_POST[DiskonPersen] = 0;}; - if (empty($_POST[PPN])) {$_POST[PPN] = 0;}; - $tot_pembelian = $tot_pembelian - ($_POST[DiskonPersen] * $tot_pembelian) - $_POST[DiskonRupiah] + $_POST[PPN]; - - - echo ' - '; - - echo "
    BarcodeNama BarangTgl ExpireJumlahHarga BeliHarga JualTotalAksi
    $data[barcode]$data[namaBarang]$data[tglExpire]$data[hargaBeli]$data[hargaJual]".number_format($total,0,',','.')." | - Hapus
    "; - $pmbyrn = mysql_query("SELECT * from pembayaran"); - echo "
    - - - - - - - - - - - "; - - - - echo " - - -
    Total Pembelian
    - Hitung (U)lang
    Tipe Pembayaran
    Tanggal Pembayaran (hutang)
    Nomor Invoice
    Tanggal Invoice
    Diskon (%) %
    Diskon (Rp)Rp
    PPn %
     
    BATAL
    - "; - - //fixme : Pembatalan Nota (code di atas & bawah komentar ini) perlu merujuk ke user ybs, - // agar jangan keliru menghapus nota yang sedang di input oleh user yang lainnya - - } - else{ - - echo "Belum ada barang yang dibeli
    BATAL"; - } - - break; - -} - - - // ======================================================================================================================================== - //HS form input "tambah barang" -- awalnya hidden, baru akan muncul jika tombol "Tambah Barang" dipencet - //HS ditaruh paling bawah agar tidak mengacaukan form yang lainnya - - echo "\n\n"; - -?> - -
    -
    - [ X ] - Tambah Barang -
    -
    -
    - - - function RecalcHargaBarangBaru() { - var HargaBeli = 0; - var HargaJual = 0; - var Subtotal = parseInt(document.getElementById("subtotal").value); - var PPN = parseInt(document.getElementById("bppn").value); - var JumlahBarang = parseInt(document.getElementById("tjumBarang").value); - var PersenProfit = parseInt(document.getElementById("PersenProfit").value); - - if(Subtotal){ - HargaBeli = (Subtotal / JumlahBarang); - HargaJual = HargaBeli + ((HargaBeli / 100) * PPN) + ((HargaBeli / 100) * PersenProfit); - } - - document.getElementById("hargaBeli").value = HargaBeli; - document.getElementById("hargaJual").value = HargaJual; - } - - '; - - - echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Barcode : -
    Nama Barang :
    Supplier :
    Kategori Barang :
    Satuan Barang :
    Subtotal :
    Jumlah Barang :
    PPN : %
    % Profit :
    Harga Beli Barang : [ (h) Hitung Harga ]
    Harga Jual Barang :
    Tanggal Expire : (yyyy-mm-dd)
      - -
        -
    - "; -?> - -
    -
    -
    - diff --git a/sistem/modul/mod_beli_barang.php-20120102 b/sistem/modul/mod_beli_barang.php-20120102 deleted file mode 100644 index 71d0152..0000000 --- a/sistem/modul/mod_beli_barang.php-20120102 +++ /dev/null @@ -1,1464 +0,0 @@ - - - - -Pembelian Barang - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    -
    -
    (per Tanggal)
    -
    -
    -
    -
    (per Supplier)
    -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    "; - break; - - - - - case "cetakretur"; // ========================================================================================================================= - - echo "

    Cetak Nota Retur

    - -
    -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; - - - if ($_GET[action] == 'lihatlaporan'){ - - if($_POST[bulanLaporan]<10){ - $periode = $_POST[tahunLaporan]."-0".$_POST[bulanLaporan]; - } else{ - $periode = $_POST[tahunLaporan]."-".$_POST[bulanLaporan]; - } - - echo " - "; - - $sql = "SELECT d.idTransaksiBeli, d.tglRetur, d.nominal, d.username, s.namaSupplier, d.idSupplier - FROM detail_retur_beli AS d, supplier AS s - WHERE s.idSupplier = d.idSupplier AND tglRetur LIKE '$periode%' GROUP BY tglRetur ORDER BY tglRetur DESC"; - $hasil = mysql_query($sql); - - - while ($x = mysql_fetch_array($hasil)) { - - echo " - - - - - - - - - "; - } // ($x = mysql_fetch_array($hasil)) - echo "
    Nota
    Beli
    TanggalSupplierTotalUserAKSI
    $x[idTransaksiBeli]$x[tglRetur]$x[namaSupplier]$x[nominal]$x[username] -
    - - - - -
    -
    "; - - } // ($_GET[action] == 'lihatlaporan') - - break; - - - case "returpembelian"; // ======================================================================================================================= - echo "

    Retur Pembelian

    -
    - Supplier : - -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; - - - if($_GET[action] == 'lihatlaporan'){ - $detail = getDetailSupplier($_POST[supplierId]); - $detailSupplier = mysql_fetch_array($detail); - echo "
    -
    Nama Supplier : $detailSupplier[namaSupplier] -
    Alamat Supplier : $detailSupplier[alamatSupplier] -
    Periode : ".getBulan($_POST[bulanLaporan])." - $_POST[tahunLaporan]"; - $pembelian = getDataPembelian($_POST[supplierId], $_POST[bulanLaporan], $_POST[tahunLaporan]); - $jmlPembelian = mysql_num_rows($pembelian); - if($jmlPembelian != 0){ - echo "

    "; - $totalPembelian = 0; - $no = 1; - while($dataPembelian = mysql_fetch_array($pembelian)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo " - - - - - "; - $totalPembelian += $dataPembelian[nominal]; - $no++; - } - echo " -
    NoNo NotaTgl PembelianNominalDetail
    $no$dataPembelian[noNota]".tgl_indo($dataPembelian[tglNota])."".uang($dataPembelian[nominal])."Detail
    Total".uang($totalPembelian)." 
    "; - } - else{ - echo "

    Belum ada pembelian dari supplier ini."; - } - - } - break; - - - - - - case "pemesananbarang"; // ======================================================================================================================= - echo "

    Pemesanan Barang

    -
    - Supplier : - -      - -
    "; - if($_GET[action] == 'pesanbarang'){ - - $supplier = getDetailSupplier($_POST[supplierId]); - $detailSupplier = mysql_fetch_array($supplier); - echo "

    Pesan Barang di Supplier $detailSupplier[namaSupplier]

    -
    Alamat Supplier : $detailSupplier[alamatSupplier]

    -
    - - "; - $no = 0; - $queryBarang = getDaftarBarangSupplier($_POST[supplierId]); - while($barangSupplier = mysql_fetch_array($queryBarang)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo ""; - $no++; - echo " - - - - "; - } - - echo ""; - echo " - "; - echo "
    #NoBarcodeNama BarangStok
    Saat Ini
    $no$barangSupplier[barcode]$barangSupplier[namaBarang]
    $barangSupplier[jumBarang]
    - Check All - Uncheck All -
    "; - - } - break; - - - case "laporanpembelian": // =============================================================================================================== - echo "

    Laporan Pembelian (per Supplier)

    -
    - Supplier : - -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; - - - if($_GET[action] == 'lihatlaporan'){ // ------------------------------------------------------------------- - $detail = getDetailSupplier($_POST[supplierId]); - $detailSupplier = mysql_fetch_array($detail); - echo "
    -
    Nama Supplier : $detailSupplier[namaSupplier] -
    Alamat Supplier : $detailSupplier[alamatSupplier] -
    Periode : ".getBulan($_POST[bulanLaporan])." - $_POST[tahunLaporan]"; - $pembelian = getDataPembelian($_POST[supplierId], $_POST[bulanLaporan], $_POST[tahunLaporan]); - $jmlPembelian = mysql_num_rows($pembelian); - if($jmlPembelian != 0){ - echo "

    "; - $totalPembelian = 0; - $no = 1; - while($dataPembelian = mysql_fetch_array($pembelian)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo " - - - - - "; - $totalPembelian += $dataPembelian[nominal]; - $no++; - } - echo " -
    NoNo NotaTgl PembelianNominalDetail
    $no$dataPembelian[noNota]".tgl_indo($dataPembelian[tglNota])."".uang($dataPembelian[nominal])."Detail
    Total".uang($totalPembelian)." 
    "; - } - else{ - echo "

    Belum ada pembelian dari supplier ini."; - } - - } - break; - - - case "detailretur"; // =========================================================================================================== - $data = getDataNotaPembelian($_GET[idnota]); - $dataBeli = mysql_fetch_array($data); - echo "

    Retur Nota No : $_GET[idnota]

    - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]  -
    - - -
    -
    -
    "; - - $detail = getDetailNotaPembelian($_GET[idnota]); - if(mysql_num_rows($detail)!=0){ - echo " - "; - - $no = 1; - $total = 0; - while($dataDetail = mysql_fetch_array($detail)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - $subTotal = $dataDetail[jumBarang]*$dataDetail[hargaBeli]; - $total += $subTotal; - echo "";//end warna - echo " - - - - - - - - "; - } - echo ""; - echo "
    NOId BarangBarcodeNama BarangTgl ExpireJumlahHarga BeliTotal
    $no$dataDetail[idBarang]$dataDetail[barcode]$dataDetail[namaBarang]$dataDetail[tglExpire]$dataDetail[jumBarang]".uang($dataDetail[hargaBeli])."".uang($subTotal)."
    TOTAL".uang($total)."
    "; - - // Jika sudah ada - tampilkan detail retur untuk Nota ini - echo "

    Nota Retur Yang Sudah Ada

    - - - - "; - - $sql = "SELECT * FROM detail_retur_beli WHERE idTransaksiBeli = $_GET[idnota]"; - $hasil = mysql_query($sql); - - $currentTotal = 0; - $oldTotal = 0; - $ctr = 1; - $totalRecord = mysql_num_rows($hasil); - while ($x = mysql_fetch_array($hasil)) { - - $currentTotal = $x[nominal]; - if (($currentTotal !== $oldTotal) && ($oldTotal > 0)) { - echo "";//end warna - echo " - - - - - "; - $ctr++; - $oldTotal = $currentTotal; - $oldTgl = $x[tglRetur]; - $oldUser = $x[username]; - - - } // while ($x = mysql_fetch_array($hasil)) - echo " - "; - echo "
    NOTAId BarangBarcodeJumlah
    Retur
    Harga BeliTotal
    - ".uang($oldTotal)."
    - (username: $oldUser)
    - (tanggal : $oldTgl) - "; - }; - - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "
    $x[idTransaksiBeli]$x[idBarang]$x[barcode]$x[jumRetur]".uang($x[hargaBeli]).""; - - echo "
    - ".uang($oldTotal)."
    - (username: $oldUser)
    - (tanggal : $oldTgl) -
    "; - - - } - else{ - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - - break; - - - case "inputreturbeli"; // =========================================================================================================== - - //fixme: - // belum disimpan ke table 'retur' (baru ke table 'detail_retur_beli') - - if(isset($_GET[idnota])){ - $idNota = $_GET[idnota]; - } - - $data = getDataNotaPembelian($idNota); - $dataBeli = mysql_fetch_array($data); - echo "

    RETUR PEMBELIAN : Detail Nota No : $idNota

    - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]   -
    -
    "; - - if($_GET[action] == 'ubahdata'){ - ubahTempEditDetailReturPembelian($_POST[idDetailBeli],$_POST[tglExpire],$_POST[jumBarang],$_POST[hargaBeli],$_POST[jumRetur]); - } - - - echo "Nota no : $idNota"; - $detail = getDetailTmpEditReturPembelian($idNota); - if(mysql_num_rows($detail)!=0){ - echo " - "; - - $no = 1; - $total = 0; - $totalRetur = 0; - while($dataDetail = mysql_fetch_array($detail)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - $subTotal = $dataDetail[jumBarang] * $dataDetail[hargaBeli]; - $total += $subTotal; - $subTotalRetur = $dataDetail[jumRetur] * $dataDetail[hargaBeli]; - $totalRetur += $subTotalRetur; - echo "";//end warna - echo " - - - - - - - - - - "; - } - echo ""; - echo " - - "; - echo "
    NOId BarangNama BarangTgl ExpireJumlahHarga BeliTotalJumlah
    RETUR
    AKSI
    $no
    $dataDetail[idBarang]$dataDetail[namaBarang]".uang($subTotal)." - - - -
     
    TOTAL".uang($total)."".uang($totalRetur)." -
    - - -
    -
    "; - } - else{ - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - break; - - - - case "detaillaporan"; // =========================================================================================================== - $data = getDataNotaPembelian($_GET[idnota]); - $dataBeli = mysql_fetch_array($data); - echo "

    Detail Nota No : $_GET[idnota]

    - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]  -
    - - -
    -
    -
    "; - - $detail = getDetailNotaPembelian($_GET[idnota]); - if(mysql_num_rows($detail)!=0){ - echo " - "; - - $no = 1; - $total = 0; - while($dataDetail = mysql_fetch_array($detail)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - $subTotal = $dataDetail[jumBarang]*$dataDetail[hargaBeli]; - $total += $subTotal; - echo "";//end warna - echo " - - - - - - - - "; - $no++; - } - echo ""; - echo "
    NOId BarangBarcodeNama BarangTgl ExpireJumlahHarga BeliTotal
    $no$dataDetail[idBarang]$dataDetail[barcode]$dataDetail[namaBarang]$dataDetail[tglExpire]$dataDetail[jumBarang]".uang($dataDetail[hargaBeli])."".uang($subTotal)."
    TOTAL".uang($total)."
    "; - } - else{ - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - - break; - - - case "editlaporan"; // =============================================================================================================== - if(isset($_GET[idnota])){ - $idNota = $_GET[idnota]; - } - - $data = getDataNotaPembelian($idNota); - $dataBeli = mysql_fetch_array($data); - echo "

    Detail Nota No : $idNota

    - - - - - - - - - - - - - -
    Nama Supplier : $dataBeli[namaSupplier] Alamat : $dataBeli[alamatSupplier]
    Tgl Transaksi : ".tgl_indo($dataBeli[tglNota])." Nominal : ".uang($dataBeli[nominal])."
    Nomor Invoice : $dataBeli[NomorInvoice]   -
    -
    "; - if($_GET[action] == 'ubahdata'){ - ubahTempEditDetailPembelian($_POST[idDetailBeli],$_POST[tglExpire],$_POST[jumBarang],$_POST[hargaBeli]); - } - echo "Nota no : $idNota"; - $detail = getDetailTmpEditPembelian($idNota); - if(mysql_num_rows($detail)!=0){ - echo " - "; - - $no = 1; - $total = 0; - while($dataDetail = mysql_fetch_array($detail)){ - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - $subTotal = $dataDetail[jumBarang]*$dataDetail[hargaBeli]; - $total += $subTotal; - echo "";//end warna - echo " - - - - - - - - - "; - } - echo ""; - echo " - "; - echo "
    NOId BarangNama BarangTgl ExpireJumlahHarga BeliTotalAKSI
    $no
    $dataDetail[idBarang]$dataDetail[namaBarang]".uang($subTotal)." - - - -
     
    TOTAL".uang($total)." -
    - - -
    -
    "; - } - else{ - echo "Tidak Ada Data Detail Barang yang dibeli"; - } - break; - - - - case "pembelianbarang": // ================================================================================================================= - $sql1 = getSupplier(); - - echo "

    Pembelian Barang

    -
    - - -
    "; - break; - - - case "carisupplier": // ==================================================================================================================== - if(!isset($_SESSION[idSupplier])){ - if (isset($_POST[idSupplier])) { - findSupplier($_POST[idSupplier]); - } else { - findSupplier($_GET[idSupplier]); - }; - } - - echo "

    Pembelian Barang

    Pembelian Barang dari supplier : - $_SESSION[namaSupplier]"; - echo "
    - -

    (1) Pilihan barcode : "; - - $sql1 = mysql_query("SELECT DISTINCT barcode, namaBarang - FROM barang WHERE idSupplier=$_SESSION[idSupplier] ORDER BY namaBarang ASC"); - - echo ""; - - echo " - -
    "; - - - echo "
    - -
    (3) Pilihan barang : "; - - $sql1 = mysql_query("SELECT DISTINCT barcode, namaBarang - FROM barang WHERE idSupplier=$_SESSION[idSupplier] ORDER BY namaBarang ASC"); - - echo ""; - - echo " - -
    "; - - - //HS tombol "Tambah Barang" akan memunculkan form dialog jQuery - echo "
    -
    - -

    "; - - - - - if($_GET[action]=='cek'){ // =============================================================================================================== - $barang = cekBarang($_POST[barcode]); - if(!$barang){ - echo "Data belum ada !"; - break; - } - } - - echo ' - '; - - // inisialisasi variabel xppn - if (!$_POST[xppn]) { $_POST[xppn] = 0;}; - echo "
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Barcode : - Jumlah yang dibeli :
    Nama Barang : Subtotal : Rp
    Diskon % : % PPN :
    Diskon Rp : % Profit :
    -      [ (6) Hitung Harga ] -
    Harga Beli Sekarang : Harga Beli Barang :
    Harga Jual Sekarang : Harga Jual Barang :
     Tanggal Expire : (yyyy-mm-dd)
    -
    -
    - - - "; - - //fixme : perlu validasi input - // # tidak boleh kosong jumlah barang - // # tidak boleh kosong harga beli - // # tidak boleh kosong harga jual - // bisa pakai fasilitas dari jQuery : http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/ - - - - - - if($_GET[action]=='tambah'){ // ============================================================================================================= - - //fixme: item dg barcode "0" pasti selalu ikut terinput - cek dari log query MySQL - $true = cekBarangTemp($_SESSION[idSupplier],$_POST[barcode]); - if($_POST[barcode] <> 0) { - if($true != 0){ - tambahBarangAda($_SESSION[idSupplier],$_POST[barcode],$_POST[jumBarang]); - } else { - tambahBarang($_SESSION[idSupplier],$_POST[barcode],$_POST[jumBarang],$_POST[hargaBeliBaru],$_POST[hargaJualBaru],$_POST[tglExpire]); - } - } - } - if($_GET[action]=='ubahjumlah'){ - //echo "Ubah Jumlah : $_POST[barcode],$_POST[jumlahBarang],$_POST[hargaBeli],$_POST[hargaJual]"; - - $true = cekBarangTemp($_SESSION[idSupplier],$_POST[barcode]); - if($true != 0){ - ubahJumlahBarangBeliTemp($_SESSION[idSupplier],$_POST[idBarang],$_POST[jumlahBarang]); - } - } - $sql = "SELECT * - from tmp_detail_beli tdb, barang b - where tdb.barcode = b.barcode and tdb.idSupplier = '$_SESSION[idSupplier]' and tdb.username = '$_SESSION[uname]'"; - //echo $sql; - $query = mysql_query($sql); - - $r = mysql_fetch_row($query); - echo "
    "; - - if($r){ // -------------------- tampilkan data yang sudah di input sejauh ini --------- - //echo "Ada $r[0] data"; - echo " - - - - - - - "; - $no=1; - $tot_pembelian; - $sql = "SELECT tdb.barcode, tdb.idBarang, tdb.hargaJual, namaBarang, tglExpire, tdb.jumBarang, hargaBeli - FROM tmp_detail_beli tdb, barang b - WHERE tdb.barcode = b.barcode AND tdb.idSupplier = '$_SESSION[idSupplier]' AND tdb.username = '$_SESSION[uname]' - ORDER BY idBarang"; - //echo $sql; - $query2 = mysql_query($sql); - while ($data=mysql_fetch_array($query2)){ - $total = $data[hargaBeli] * $data[jumBarang]; - //untuk mewarnai tabel menjadi selang-seling - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo ""; - echo " - - - - - - - - - - - "; - $tot_pembelian += $total; - $no++; - } - -//fixme: tombol update membuat jumlah stok jadi sama semua - - - - //HS total invoice : - // subtotal - (DiskonPersen x subtotal) - (DiskonRupiah) + PPN - if (empty($_POST[DiskonPersen])) {$_POST[DiskonPersen] = 0;}; - if (empty($_POST[DiskonRupiah])) {$_POST[DiskonPersen] = 0;}; - if (empty($_POST[PPN])) {$_POST[PPN] = 0;}; - $tot_pembelian = $tot_pembelian - ($_POST[DiskonPersen] * $tot_pembelian) - $_POST[DiskonRupiah] + $_POST[PPN]; - - - echo ' - '; - - echo "
    BarcodeNama BarangTgl ExpireJumlahHarga BeliHarga JualTotalAksi
    $data[barcode]$data[namaBarang]$data[tglExpire]$data[hargaBeli]$data[hargaJual]".number_format($total,0,',','.')." | - Hapus
    "; - $pmbyrn = mysql_query("SELECT * from pembayaran"); - echo "
    - - - - - - - - - - - "; - - - - echo " - - -
    Total Pembelian
    - Hitung (U)lang
    Tipe Pembayaran
    Tanggal Pembayaran (hutang)
    Nomor Invoice
    Tanggal Invoice
    Diskon (%) %
    Diskon (Rp)Rp
    PPn %
     
    BATAL
    - "; - - //fixme : Pembatalan Nota (code di atas & bawah komentar ini) perlu merujuk ke user ybs, - // agar jangan keliru menghapus nota yang sedang di input oleh user yang lainnya - - } - else{ - - echo "Belum ada barang yang dibeli
    BATAL"; - } - - break; - - - - case "laporanpembeliantanggal": // =============================================================================================================== - - echo "

    Laporan Pembelian (per Tanggal)

    -
    - -
    Periode Laporan : Bulan : - , Tahun : - -       -
    - "; - - - if($_GET[action] == 'pilihtanggal'){ // ------------------------------------------------------------ - - $sql = "SELECT tglTransaksiBeli, idTransaksiBeli FROM transaksibeli - WHERE month(tglTransaksiBeli)='$_POST[bulanLaporan]' AND year(tglTransaksiBeli)='$_POST[tahunLaporan]' - ORDER BY tglTransaksiBeli, idTransaksiBeli ASC"; - $hasil = mysql_query($sql); - - echo "
    -
    - - Tanggal : - -       - - - - -
    - "; - - - }; // if($_GET[action] == 'pilihtanggal'){ - - - break; - - - - - case "inputeprocurement1"; // ======================================================================================================================= - echo "

    Input Pembelian dari Gudang Ahad

    -
    - Pilih File Transaksi : -
    - Tipe File : -

    - - -
    - "; - - - - break; - - - - case "inputeprocurement2"; // ======================================================================================================================= - - $ctr = 0; - $tgl = date("Y-m-d"); - $totalInvoice = 0; - - echo "

    Input Pembelian dari Gudang Ahad

    - "; - - if (empty($_FILES) && empty($_POST) && isset($_SERVER['REQUEST_METHOD']) && strtolower($_SERVER['REQUEST_METHOD']) == 'post') { - $poidsMax = ini_get('post_max_size'); - echo "

    ERROR : file yang di upload lebih besar daripada limit di server, yaitu : $poidsMax.
    Tidak merubah apapun."; - exit; - }; - - $csvfile = $_FILES['csvfile']['tmp_name']; - //echo "File: $csvfile"; - - // cek apakah ada Supplier "Gudang.AhadMart.com" di table - $hasil = mysql_query("SELECT idSupplier FROM supplier WHERE namaSupplier='Gudang.AhadMart.com'"); - // jika tidak - bikin 1 recordnya - if (mysql_num_rows($hasil) < 1 ) { - mysql_query("INSERT INTO supplier (namaSupplier, alamatSupplier, telpSupplier, Keterangan, last_update) VALUES ('Gudang.AhadMart.com', 'Jakarta', '021-7330923', 'http://gudang.ahadmart.com', '".date('Y-m-d')."')"); - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM supplier"); - }; - $x = mysql_fetch_array($hasil); - $idSupplier = $x[0]; - - - // bikin record di table transaksibeli - $sql = "INSERT INTO transaksibeli(tglTransaksiBeli, idSupplier, nominal, idTipePembayaran, username, last_update, NomorInvoice) - VALUES('$tgl', ".$idSupplier.", '9999',1, '$_SESSION[uname]','$tgl',' ')"; - $hasil = mysql_query($sql); - // simpan nomor transaksi beli nya - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM transaksibeli"); - $x = mysql_fetch_array($hasil); - $idTransaksiBeli = $x[0]; - - - // mulai memproses isi file CSV - if (($handle = fopen($csvfile, "r")) !== FALSE) { - while (($data = fgetcsv($handle, 1000, ',', '"')) !== FALSE) { - // sometimes there are empty lines in the CSV file - don't process that - if (!is_null($data[0]) AND ($data[0] !== 'barcode')) { - // format isi file CSV : - // $data[0] = barcode - // $data[1] = idBarang - ignored - // $data[2] = namaBarang - // $data[3] = jumlah Barang / jumBarang - // $data[4] = hargaBeli - ignored - // $data[5] = hargaJual (di Gudang) - // $data[6] = RRP (Recommended Retail Price) - // $data[7] = namaSatuanBarang - // $data[8] = namaKategoriBarang - // $data[9] = Supplier - ignored - // $data[10] = username - ignored - - // semua transaksi dicatat di table detail_beli - // bikin idBarang dulu, via tmp_detail_beli - $hasil = mysql_query("INSERT INTO tmp_detail_beli (idSupplier, tglTransaksi, tglExpire, jumBarang, hargaBeli, hargaJual) VALUES (1,'$tgl','$tgl',1,2,3)"); - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM tmp_detail_beli"); - $x = mysql_fetch_array($hasil); - $idBarang = $x[0]; - // hapus record temporary tadi - $hasil = mysql_query("DELETE FROM tmp_detail_beli WHERE idBarang=$idBarang"); - // baru bikin record item ini di detail_beli - mysql_query("INSERT INTO detail_beli (idTransaksiBeli, idBarang, tglExpire, jumBarang, hargaBeli, isSold, barcode, username, jumBarangAsli) VALUES ($idTransaksiBeli, $idBarang, '', $data[3], $data[5], 'N', '$data[0]', '$_SESSION[uname]', $data[3])"); - echo "

    --- Menambahkan detail_beli: barcode $data[0]"; - - // cek apakah ada namaSatuanBarang ini di table satuan_barang ? - $hasil = mysql_query("SELECT idSatuanBarang FROM satuan_barang WHERE namaSatuanBarang='$data[7]'"); - // jika tidak - bikin 1 recordnya - if (mysql_num_rows($hasil) < 1 ) { - mysql_query("INSERT INTO satuan_barang (namaSatuanBarang) VALUES ('$data[7]')"); - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM satuan_barang"); - $x = mysql_fetch_array($hasil); - $idSatuanBarang = $x[0]; - echo "
    --- Menambahkan satuan barang: $data[7]"; - } else { - $x = mysql_fetch_array($hasil); - $idSatuanBarang = $x[idSatuanBarang]; - }; - - // cek apakah ada KategoriBarang ini di table kategori_barang ? - $hasil = mysql_query("SELECT idKategoriBarang FROM kategori_barang WHERE namaKategoriBarang='$data[8]'"); - // jika tidak - bikin 1 recordnya - if (mysql_num_rows($hasil) < 1 ) { - mysql_query("INSERT INTO kategori_barang (namaKategoriBarang) VALUES ('$data[8]')"); - $hasil = mysql_query("SELECT LAST_INSERT_ID() FROM tmp_detail_beli"); - $x = mysql_fetch_array($hasil); - $idKategoriBarang = $x[0]; - echo "
    --- Menambahkan kategori barang: $data[8]"; - } else { - $x = mysql_fetch_array($hasil); - $idKategoriBarang = $x[idKategoriBarang]; - }; - - // cek apakah ada barcode ini di table barang ? - $hasil = mysql_query("SELECT jumBarang, namaBarang FROM barang WHERE barcode='$data[0]'"); - $x = mysql_fetch_array($hasil); - // jika ada - tambah quantity nya - if (mysql_num_rows($hasil) > 0 ) { - $sql = "UPDATE barang SET jumBarang=".($x[jumBarang] + $data[3])." WHERE barcode='$data[0]'"; - $hasil = mysql_query($sql); - echo "
    === Barcode sudah ada: di Database: $x[namaBarang], - di Invoice: $data[2]"; - echo "
    ### Update data barang: $sql - $data[2]
    "; - // jika tidak - bikin 1 recordnya - } else { - $sql = "INSERT INTO barang (idBarang, namaBarang, idKategoriBarang, idSatuanBarang, jumBarang, hargaJual, - last_update, idSupplier, barcode, username, idRak) - VALUES ($idBarang, '$data[2]', $idKategoriBarang, $idSatuanBarang, $data[3], $data[6], '$tgl', - $idSupplier, '$data[0]', '$_SESSION[uname]', '999')"; - $hasil = mysql_query($sql); - echo "
    ### Menambahkan data barang: $sql
    "; - }; - - // hitung total - $totalInvoice = $totalInvoice + ($data[3] * $data[5]); - // tambahkan counter - $ctr++; - }; - }; - }; - - // update nilai invoice di table transaksibeli - $hasil = mysql_query("UPDATE transaksibeli SET nominal=$totalInvoice WHERE idTransaksiBeli=$idTransaksiBeli"); - // laporkan jumlah record yang kita proses - echo "

    Jumlah jenis item di invoice ini: $ctr
    - Total Pembelian : Rp ".uang($totalInvoice)."


    Selesai."; - - exit; -} - - - - - - - - - - - - // ======================================================================================================================================== - //HS form input "tambah barang" -- awalnya hidden, baru akan muncul jika tombol "Tambah Barang" dipencet - //HS ditaruh paling bawah agar tidak mengacaukan form yang lainnya - - echo "\n\n"; - -?> - -
    -
    - [ X ] - Tambah Barang -
    -
    -
    - - - function RecalcHargaBarangBaru() { - var HargaBeli = 0; - var HargaJual = 0; - var Subtotal = parseInt(document.getElementById("subtotal").value); - var PPN = parseInt(document.getElementById("bppn").value); - var JumlahBarang = parseInt(document.getElementById("tjumBarang").value); - var PersenProfit = parseInt(document.getElementById("PersenProfit").value); - - if(Subtotal > 0){ - HargaBeli = (Subtotal / JumlahBarang); - } - - if(Subtotal < 1){ - HargaBeli = parseInt(document.getElementById("hargaBeli").value); - } - - // mencegah keliru input barcode di kolom JumlahBarang - if(JumlahBarang > 2000){ - JumlahBarang = 0; - } - - HargaJual = HargaBeli + ((HargaBeli / 100) * PPN) + ((HargaBeli / 100) * PersenProfit); - - document.getElementById("hargaBeli").value = HargaBeli; - document.getElementById("hargaJual").value = HargaJual; - document.getElementById("tjumBarang").value = JumlahBarang; - - } - - '; - - - echo " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    * Barcode : -
    * Nama Barang :
    * Supplier :
    * Kategori Barang :
    * Satuan Barang :
    * Rak :
    Subtotal :
    * Jumlah Barang :
    PPN : %
    % Profit :
    * Harga Beli Barang : (h) Hitung Harga
    * Harga Jual Barang :
    Tanggal Expire : (yyyy-mm-dd)
      - -
        -
    - "; -?> - -
    -
    -
    - - - diff --git a/sistem/modul/mod_cetakperbarcode.php b/sistem/modul/mod_cetakperbarcode.php index 8c2715c..e997d59 100644 --- a/sistem/modul/mod_cetakperbarcode.php +++ b/sistem/modul/mod_cetakperbarcode.php @@ -1,294 +1,209 @@ Data tidak ditemukan
    '; - } - elseif ($_POST['layout'] == '2') { - // Layout 2 = Layout harga banded - ?> - - -
    - $label_per_baris) { - $kolom = 1; - $baris++; - $clear = " clear:left; "; //echo "
    "; // ganti baris - } - if ($baris > $baris_per_halaman) { - $baris = 1; - ?> -

    - $jumlahKarakterNamaBarang) { - $namaBarangArr = explode(' ', $namaBarangLengkap); - $len = 0; - $namaBarang1 = ''; - $namaBarang2 = ''; - foreach ($namaBarangArr as $namBar) { - $len += strlen($namBar); - if ($len <= $jumlahKarakterNamaBarang) { - $namaBarang1 .= $namBar . ' '; - $len++; - } - else { - $namaBarang2 .= $namBar . ' '; - } - } - } - - // cetak label - echo "\n"; - ?> -

    -

    - -

    -

    - -

    - - - - - - - - - - - -
    Rp./
    Rp./
    - - - -
    - -
    - - - -
    - $label_per_baris) { - $kolom = 1; - $baris++; - $clear = " clear:left; "; //echo "
    "; // ganti baris - } - if ($baris > $baris_per_halaman) { - $baris = 1; - ?> -

    - -

    -

    - -

    - - - - - - -
    Rp./
    - - - - - - -
    Rp./
    - - - -
    - -
    - "; - - for ($i = 1; $i <= $total; $i++) { - - $r = mysql_fetch_array($cari); - - $clear = ""; - // cek posisi saat ini - if ($kolom > $label_per_baris) { - $kolom = 1; - $baris++; - $clear = " clear:left; "; //echo "
    "; // ganti baris - }; - if ($baris > $baris_per_halaman) { - $baris = 1; - echo '

    '; - }; - - $namaBarang1 = $r['tmpNama']; - $namaBarang2 = ' '; - - $namaBarangLengkap = $r['tmpNama']; - // jika terlalu panjang nama barangnya - if (strlen($namaBarangLengkap) > $jumlahKarakterNamaBarang) { - $namaBarangArr = explode(' ', $namaBarangLengkap); - $len = 0; - $namaBarang1 = ''; - $namaBarang2 = ''; - foreach ($namaBarangArr as $namBar) { - $len += strlen($namBar); - if ($len <= $jumlahKarakterNamaBarang) { - $namaBarang1 .= $namBar . ' '; - $len++; - } - else { - $namaBarang2 .= $namBar . ' '; - } - } - } - - // cetak label - echo "\n +switch ($_GET[act]) { + default: + + echo "Data tidak ditemukan"; + + break; + + case "printperbarcode": + + $cari=mysql_query("SELECT * FROM tmp_cetak_label_perbarcode"); + + if ($_POST[idTmpBarang] == '') { + echo '

    Data tidak ditemukan
    '; + } + elseif ($_POST['layout'] == '2') { + // Layout 2=Layout harga banded + ?> + + +
    + $label_per_baris) { + $kolom=1; + $baris++; + $clear=" clear:left; "; //echo "
    "; // ganti baris + } + if ($baris > $baris_per_halaman) { + $baris=1; + ?> +

    + $jumlahKarakterNamaBarang) { + $namaBarangArr=explode(' ', $namaBarangLengkap); + $len=0; + $namaBarang1=''; + $namaBarang2=''; + foreach ($namaBarangArr as $namBar) { + $len += strlen($namBar); + if ($len <= $jumlahKarakterNamaBarang) { + $namaBarang1 .= $namBar . ' '; + $len++; + } + else { + $namaBarang2 .= $namBar . ' '; + } + } + } + + // cetak label + echo "\n"; + ?> +

    +

    + +

    +

    + +

    + + + + + + + + + + + +
    Rp./
    Rp./
    + + + +
    + +
    + "; + + for ($i=1; $i <= $total; $i++) { + + $r=mysql_fetch_array($cari); + + $clear=""; + // cek posisi saat ini + if ($kolom > $label_per_baris) { + $kolom=1; + $baris++; + $clear=" clear:left; "; //echo "
    "; // ganti baris + }; + if ($baris > $baris_per_halaman) { + $baris=1; + echo '

    '; + }; + + $namaBarang1=$r['tmpNama']; + $namaBarang2=' '; + + $namaBarangLengkap=$r['tmpNama']; + // jika terlalu panjang nama barangnya + if (strlen($namaBarangLengkap) > $jumlahKarakterNamaBarang) { + $namaBarangArr=explode(' ', $namaBarangLengkap); + $len=0; + $namaBarang1=''; + $namaBarang2=''; + foreach ($namaBarangArr as $namBar) { + $len += strlen($namBar); + if ($len <= $jumlahKarakterNamaBarang) { + $namaBarang1 .= $namBar . ' '; + $len++; + } + else { + $namaBarang2 .= $namBar . ' '; + } + } + } + + // cetak label + echo "\n

    -

    - {$namaBarang1}

    -

    - {$namaBarang2} +

    + {$namaBarang1}

    +

    + {$namaBarang2}

    " . number_format($r[tmpHargaJual], 0, ',', '.') . "

    $r[tmpBarcode] - $r[tmpIdBarang] - - + + {$tanggal} - +
    "; - $kolom++; - } - echo "
    "; - } + $kolom++; + } + echo ""; + } - break; + break; } ?> \ No newline at end of file diff --git a/sistem/modul/mod_customer.php b/sistem/modul/mod_customer.php index 08edf86..2b8c886 100644 --- a/sistem/modul/mod_customer.php +++ b/sistem/modul/mod_customer.php @@ -1,19 +1,19 @@

    Data Customer

    - - - - - - - -
    -
    -
    - Cari Customer - - - -
    -
    -
    -
    -
    - -
    -
    +
    +
    +
    - - - - - - - - - - - + + + > - - - - - - - - - - + +
    NoNomorNamaAlamatNo.TelpNo.HPNo.KTPJenis KelaminTanggal LahirE-mailStatusKeteranganNama CustomerAlamat CustomerNo.Telp Customer Diskon aksi
    % >Edit | @@ -105,178 +55,51 @@ } ?>
    - $halaman ] "; - } - ?>

     

    - << Kembali + Kembali -

    Tambah Customer

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Nomor Kartu Member :
    Nama :
    Nomor KTP :
    Alamat :
    Jenis Kelamin : -
    Tanggal Lahir :
    Telp :
    HP :
    Email :
    Member : -
    Keterangan :
     
    -     - -
    -
    - Tambah Customer +
    + + + + + + + +
    Nama Customer
    Alamat Customer
    Telp Customer
    Keterangan
     
      +
    "; break; case "editcustomer": - $edit = mysql_query("SELECT * FROM customer WHERE idCustomer='$_GET[id]'"); - $data = mysql_fetch_array($edit); - ?> -

    Edit Customer

    -
    - '> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Nomor Kartu Member :
    Nama : '>
    Nomor KTP :
    Alamat :
    Jenis Kelamin : -
    Tanggal Lahir :
    Telp : '>
    HP :
    Email :
    Member : -
    Keterangan :
    Diskon (%) : ' />
    Diskon (Rp) : ' />
     
        -
    - Edit Customer +
    + + + + + + + + + + +
    Nama Customer
    Alamat Customer
    Telp Customer
    Keterangan
    Diskon (%)
    Diskon (Rp)
     
      +
    "; break; } /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.6.5 : Gregorius Arief : initial release - ------------------------------------------------------------------------ */ +------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_diskon.php b/sistem/modul/mod_diskon.php index 2afe5a1..bbaec3e 100644 --- a/sistem/modul/mod_diskon.php +++ b/sistem/modul/mod_diskon.php @@ -1,4 +1,4 @@ Daftar Hutang - - - "; - $tampil=mysql_query("select h.idTransaksiBeli, namaSupplier, h.nominal, h.tglBayar, NomorInvoice - from supplier s,hutang h,transaksibeli tb - where h.idTransaksiBeli = tb.idTransaksiBeli and s.idSupplier = tb.idSupplier"); - $no=1; - while ($r=mysql_fetch_array($tampil)){ - $tgl = tgl_indo($r[tglBayar]); - //untuk mewarnai tabel menjadi selang-seling - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo " - - - - - - - "; - $no++; - } - echo "
    noId TransaksiNama SupplierTgl Harus BayarNominalNo.InvoiceAksi
    $no$r[idTransaksiBeli]$r[namaSupplier]$tgl".uang($r[nominal])."$r[NomorInvoice]Lihat | Edit
    -

     

    - << Kembali"; - - break; - - - case "lihatdetail": // ---------------------------------------------------------------------------- - $transaksiBeli = detailTransaksiBeli($_GET[id]); - $dataTrans = mysql_fetch_array($transaksiBeli); - echo "

    Detail Hutang

    - - - - - -
    Nomor Invoice : $dataTrans[NomorInvoice] Tgl Transaksi : $dataTrans[tglTransaksiBeli]
    No Transaksi Beli : $dataTrans[idTransaksiBeli] Nama Supplier : $dataTrans[namaSupplier]

    - "; - echo " - - "; - $barangTransaksiBeli = detailBarangTransaksiBeli($_GET[id]); - $no = 1; - while($dataBarangTrans = mysql_fetch_array($barangTransaksiBeli)){ - $total = $dataBarangTrans[jumBarang]*$dataBarangTrans[hargaBeli]; - //untuk mewarnai tabel menjadi selang-seling - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo " - - - - - - "; - echo ""; - } - echo " - - - -
    barcodeNama BarangTgl ExpireJumlahHarga BeliTotal
    $dataBarangTrans[barcode]$dataBarangTrans[namaBarang]".tgl_indo($dataBarangTrans[tglExpire])."$dataBarangTrans[jumBarang]".uang($dataBarangTrans[hargaBeli])."".uang($total)."
    Total".uang($dataTrans[nominal])."
     
    KembaliEdit
    "; - - break; - - case "edittrans": - if($_GET[action] == 'update'){ - $_GET[id] = $_POST[idTransaksiBeli]; -// echo "$_POST[idTransaksiBeli], $_POST[idBarang], $_POST[jumBarang], $_POST[hargaBeli]"; - editBarangBeli($_POST[idTransaksiBeli], $_POST[idBarang], $_POST[jumBarangLama], $_POST[jumBarang], $_POST[hargaBeli]); - } - $transaksiBeli = detailTransaksiBeli($_GET[id]); - $dataTrans = mysql_fetch_array($transaksiBeli); - echo "

    Edit Transaksi Beli

    - - - - - -
    Nomor Invoice : $dataTrans[NomorInvoice] Tgl Transaksi : $dataTrans[tglTransaksiBeli]
    No Transaksi Beli : $dataTrans[idTransaksiBeli] Nama Supplier : $dataTrans[namaSupplier]

    - "; - echo " - - "; - - $barangTransaksiBeli = detailBarangTransaksiBeli($dataTrans[idTransaksiBeli]); - $no = 1; - while($dataBarangTrans = mysql_fetch_array($barangTransaksiBeli)){ - $total = $dataBarangTrans[jumBarang]*$dataBarangTrans[hargaBeli]; - //untuk mewarnai tabel menjadi selang-seling - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo " - - - - - - - - - - - - "; - echo ""; - } - $nominal = nominalBeli($_GET[id]); - - echo " -
    barcodeNama BarangTgl ExpireJumlahHarga BeliTotalAKSI
    $dataBarangTrans[barcode]$dataBarangTrans[namaBarang]".tgl_indo($dataBarangTrans[tglExpire])."".uang($total)."
    Total".uang($nominal)."
    "; - echo "
    Kembali"; - break; + default: + echo " +

    Daftar Hutang

    + + + "; + $tampil=mysql_query("select h.idTransaksiBeli, namaSupplier, h.nominal, h.tglBayar, NomorInvoice + from supplier s,hutang h,transaksibeli tb + where h.idTransaksiBeli=tb.idTransaksiBeli and s.idSupplier=tb.idSupplier"); + $no=1; + while ($r=mysql_fetch_array($tampil)){ + $tgl=tgl_indo($r[tglBayar]); + //untuk mewarnai tabel menjadi selang-seling + if(($no % 2) == 0){ + $warna="#EAF0F7"; + } + else{ + $warna="#FFFFFF"; + } + echo "";//end warna + echo " + + + + + + + "; + $no++; + } + echo "
    noId TransaksiNama SupplierTgl Harus BayarNominalNo.InvoiceAksi
    $no$r[idTransaksiBeli]$r[namaSupplier]$tgl".uang($r[nominal])."$r[NomorInvoice]Lihat | Edit
    +

     

    + Kembali"; + + break; + + + case "lihatdetail": // ---------------------------------------------------------------------------- + $transaksiBeli=detailTransaksiBeli($_GET[id]); + $dataTrans=mysql_fetch_array($transaksiBeli); + echo "

    Detail Hutang

    + + + + + +
    Nomor Invoice$dataTrans[NomorInvoice] Tgl Transaksi$dataTrans[tglTransaksiBeli]
    No Transaksi Beli$dataTrans[idTransaksiBeli] Nama Supplier$dataTrans[namaSupplier]

    + "; + echo " + + "; + $barangTransaksiBeli=detailBarangTransaksiBeli($_GET[id]); + $no=1; + while($dataBarangTrans=mysql_fetch_array($barangTransaksiBeli)){ + $total=$dataBarangTrans[jumBarang]*$dataBarangTrans[hargaBeli]; + //untuk mewarnai tabel menjadi selang-seling + if(($no % 2) == 0){ + $warna="#EAF0F7"; + } + else{ + $warna="#FFFFFF"; + } + echo "";//end warna + echo " + + + + + + "; + echo ""; + } + echo " + + + +
    barcodeNama BarangTgl ExpireJumlahHarga BeliTotal
    $dataBarangTrans[barcode]$dataBarangTrans[namaBarang]".tgl_indo($dataBarangTrans[tglExpire])."$dataBarangTrans[jumBarang]".uang($dataBarangTrans[hargaBeli])."".uang($total)."
    Total".uang($dataTrans[nominal])."
     
    KembaliEdit
    "; + + break; + + case "edittrans": + if($_GET[action] == 'update'){ + $_GET[id]=$_POST[idTransaksiBeli]; +// echo "$_POST[idTransaksiBeli], $_POST[idBarang], $_POST[jumBarang], $_POST[hargaBeli]"; + editBarangBeli($_POST[idTransaksiBeli], $_POST[idBarang], $_POST[jumBarangLama], $_POST[jumBarang], $_POST[hargaBeli]); + } + $transaksiBeli=detailTransaksiBeli($_GET[id]); + $dataTrans=mysql_fetch_array($transaksiBeli); + echo "

    Edit Transaksi Beli

    + + + + + +
    Nomor Invoice$dataTrans[NomorInvoice] Tgl Transaksi$dataTrans[tglTransaksiBeli]
    No Transaksi Beli$dataTrans[idTransaksiBeli] Nama Supplier$dataTrans[namaSupplier]

    + "; + echo " + + "; + + $barangTransaksiBeli=detailBarangTransaksiBeli($dataTrans[idTransaksiBeli]); + $no=1; + while($dataBarangTrans=mysql_fetch_array($barangTransaksiBeli)){ + $total=$dataBarangTrans[jumBarang]*$dataBarangTrans[hargaBeli]; + //untuk mewarnai tabel menjadi selang-seling + if(($no % 2) == 0){ + $warna="#EAF0F7"; + } + else{ + $warna="#FFFFFF"; + } + echo "";//end warna + echo " + + + + + + + + + + + + "; + echo ""; + } + $nominal=nominalBeli($_GET[id]); + + echo " +
    barcodeNama BarangTgl ExpireJumlahHarga BeliTotalAKSI
    $dataBarangTrans[barcode]$dataBarangTrans[namaBarang]".tgl_indo($dataBarangTrans[tglExpire])."".uang($total)."
    Total".uang($nominal)."
    "; + echo "
    Kembali"; + break; } /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.9.1 : Gregorius Arief : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.9.1 : Gregorius Arief : initial release ------------------------------------------------------------------------ */ diff --git a/sistem/modul/mod_jual_barang.php b/sistem/modul/mod_jual_barang.php index 1df8123..241bebc 100644 --- a/sistem/modul/mod_jual_barang.php +++ b/sistem/modul/mod_jual_barang.php @@ -1,147 +1,144 @@ +?>

    Penjualan Barang

    -
    - (i) ID Customer : - Penjualan Barang - - (i) ID Customer : - + Penjualan Barang + + (i) ID Customer : +
    - - - + + + - Buka Cash Drawer - - + Buka Cash Drawer + + - - diff --git a/sistem/modul/mod_kasir.php b/sistem/modul/mod_kasir.php index 9541a47..42aab50 100644 --- a/sistem/modul/mod_kasir.php +++ b/sistem/modul/mod_kasir.php @@ -1,49 +1,49 @@ Manajemen Kasir +// echo "

    Manajemen Kasir

    // // // // // // // // // // // // @@ -53,243 +53,236 @@ switch ($_GET[act]) { //------------------------------------------------------------------------ - default: - ?> -
    -

    Kasir Aktif

    -
    -//
    -// +// +// //
    //
    -//
    -// +// +// //
    //
    -//
    -// +// +// //
    //
    -//
    -// +// +// //
    //
    - - - - - - - - - - - - - -
    NamaWorkstationSejakKas Awal
    -

     

    - << Kembali - Buka Kasir"; - - // ambil daftar nama kasir - // idLevelUser : 4 = kasir - $sql = "SELECT namaUser, idUser - FROM user - WHERE idLevelUser = 4 ORDER BY namaUser ASC"; - $namaKasir = mysql_query($sql); - - // ambil daftar workstation - $sql = "SELECT idWorkstation, namaWorkstation + default: + ?> +

    Kasir Aktif

    + + + + + + + + + + + + + + +
    NamaWorkstationSejakKas Awal
    +

     

    + Kembali + Buka Kasir"; + + // ambil daftar nama kasir + // idLevelUser : 4=kasir + $sql="SELECT namaUser, idUser + FROM user + WHERE idLevelUser=4 ORDER BY namaUser ASC"; + $namaKasir=mysql_query($sql); + + // ambil daftar workstation + $sql="SELECT idWorkstation, namaWorkstation FROM workstation ORDER BY namaWorkstation ASC"; - $namaWorkstation = mysql_query($sql); + $namaWorkstation=mysql_query($sql); - echo " -
    + echo " + - + - + - + - - + - - - - -
    Tanggal / Waktu :
    (k) Pilih Kasir :
    Pilih Workstation :
    Uang Kasir:
     
        -
    -
    + Uang Kasir +   +   + + + "; - break; + break; - case "tutupkasir": // =========================================================================================================== + case "tutupkasir": // =========================================================================================================== - echo "

    Tutup Kasir

    "; + echo "

    Tutup Kasir

    "; - // ambil nama kasir - $sql = "SELECT u.namaUser, k.idUser - FROM kasir AS k, user AS u - WHERE k.tglTutupKasir IS NULL - AND k.idUser = u.idUser ORDER BY u.namaUser ASC"; - $namaKasir = mysql_query($sql); + // ambil nama kasir + $sql="SELECT u.namaUser, k.idUser + FROM kasir AS k, user AS u + WHERE k.tglTutupKasir IS NULL + AND k.idUser=u.idUser ORDER BY u.namaUser ASC"; + $namaKasir=mysql_query($sql); - echo " -
    + echo " + - + - - -
    (k) Pilih Kasir :
    -
    + + + "; - break; + break; - case "tutupkasir2": // =========================================================================================================== + case "tutupkasir2": // =========================================================================================================== - echo "

    Tutup Kasir

    "; + echo "

    Tutup Kasir

    "; - // cari kasAwal - $sql = "SELECT k.kasAwal,k.tglBukaKasir,u.uname FROM kasir AS k, user AS u - WHERE k.idUser = $_POST[idKasir] AND tglTutupKasir IS NULL AND k.idUser = u.idUser"; - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil); + // cari kasAwal + $sql="SELECT k.kasAwal,k.tglBukaKasir,u.uname FROM kasir AS k, user AS u + WHERE k.idUser=$_POST[idKasir] AND tglTutupKasir IS NULL AND k.idUser=u.idUser"; + $hasil=mysql_query($sql); + $x=mysql_fetch_array($hasil); - $kasAwal = $x[kasAwal]; - $tglBukaKasir = $x[tglBukaKasir]; - $tglTutupKasir = date("Y-m-d H:i:s"); - $username = $x[uname]; + $kasAwal=$x[kasAwal]; + $tglBukaKasir=$x[tglBukaKasir]; + $tglTutupKasir=date("Y-m-d H:i:s"); + $username=$x[uname]; - // hitung TotalTransaksi - $totalTransaksi = 0; - $sql = "SELECT sum(nominal) AS tot_trans FROM transaksijual + // hitung TotalTransaksi + $totalTransaksi=0; + $sql="SELECT sum(nominal) AS tot_trans FROM transaksijual WHERE idUser=$_POST[idKasir] AND tglTransaksiJual BETWEEN '$tglBukaKasir' AND '$tglTutupKasir'"; - $hasil = mysql_query($sql); - if ($x = mysql_fetch_array($hasil)) { - $totalTransaksi = $x[tot_trans]; - }; - - // hitung total profit - $totalProfit = 0; -// $sql = "SELECT sum(d.hargaJual - b.hargaBeli) AS tot_profit FROM detail_jual AS d, transaksijual AS t, detail_beli AS b -// WHERE d.username='$username' AND t.tglTransaksiJual BETWEEN '$tglBukaKasir' AND '$tglTutupKasir' -// AND d.nomorStruk = t.idTransaksiJual AND d.barcode = b.barcode"; - // Sepertinya script di atas salah, coba ganti dengan ini: (by bambang abu muhammad) - $sql = "select sum((hargaJual-hargaBeli) * jumBarang) as tot_profit - from detail_jual d - join transaksijual as t on t.idTransaksiJual = d.nomorStruk - where t.tglTransaksiJual BETWEEN '$tglBukaKasir' AND '$tglTutupKasir' - and username='{$username}'"; - - //echo "(".$sql.")
    "; - $hasil = mysql_query($sql); - if ($x = mysql_fetch_array($hasil)) { - $totalProfit = $x[tot_profit]; - }; - - // hitung total Retur - $totalRetur = 0; - $sql = "SELECT ifnull(sum(nominal),0) AS tot_retur FROM transaksireturjual - WHERE idKasir=$_POST[idKasir] AND tglTransaksi BETWEEN '$tglBukaKasir' AND '$tglTutupKasir'"; - $hasil = mysql_query($sql); - if ($x = mysql_fetch_array($hasil)) { - $totalRetur = $x[tot_retur]; - } - - //fixme: hitung total transaksi petty cash - $totalTransaksiKas = 0; - - //fixme: hitung total transaksi debit / credit - $totalTransaksiKartu = 0; - - // hitung kasSeharusnya - $kasSeharusnya = $kasAwal + $totalTransaksi + $totalTransaksiKas - $totalRetur - $totalTransaksiKartu; - - echo " -
    + $hasil=mysql_query($sql); + if ($x=mysql_fetch_array($hasil)) { + $totalTransaksi=$x[tot_trans]; + }; + + // hitung total profit + $totalProfit=0; +// $sql="SELECT sum(d.hargaJual - b.hargaBeli) AS tot_profit FROM detail_jual AS d, transaksijual AS t, detail_beli AS b +// WHERE d.username='$username' AND t.tglTransaksiJual BETWEEN '$tglBukaKasir' AND '$tglTutupKasir' +// AND d.nomorStruk=t.idTransaksiJual AND d.barcode=b.barcode"; + // Sepertinya script di atas salah, coba ganti dengan ini: (by bambang abu muhammad) + $sql="select sum((hargaJual-hargaBeli) * jumBarang) as tot_profit + from detail_jual d + join transaksijual as t on t.idTransaksiJual=d.nomorStruk + where t.tglTransaksiJual BETWEEN '$tglBukaKasir' AND '$tglTutupKasir' + and username='{$username}'"; + + //echo "(".$sql.")
    "; + $hasil=mysql_query($sql); + if ($x=mysql_fetch_array($hasil)) { + $totalProfit=$x[tot_profit]; + }; + + //fixme: hitung total Retur + $totalRetur=0; + + //fixme: hitung total transaksi petty cash + $totalTransaksiKas=0; + + //fixme: hitung total transaksi debit / credit + $totalTransaksiKartu=0; + + // hitung kasSeharusnya + $kasSeharusnya=$kasAwal + $totalTransaksi + $totalTransaksiKas - $totalRetur - $totalTransaksiKartu; + + echo " + - - - - - - - - - - - -
    Tanggal / Waktu :
    Kas Awal :
    Total Transaksi :
    Total Profit :
    Total Retur :
    Total Transaksi Kas :
    Total Transaksi Kartu Kredit/Debit :
    Uang Seharusnya :
    Uang Kasir :
     
        -
    -
    + + Kas Awal + Total Transaksi + Total Profit + Total Retur + Total Transaksi Kas + Total Transaksi Kartu Kredit/Debit + Uang Seharusnya + Uang Kasir +   +   + + + "; - break; + break; - case "tambahdana": // =========================================================================================================== - //fixme : selesaikan modul - // transaksi disimpan di tabel transaksikasir + case "tambahdana": // =========================================================================================================== + //fixme : selesaikan modul + // transaksi disimpan di tabel transaksikasir - echo " + echo "

    Tambah Dana Kasir

    Gunakan form ini untuk dropping dana kepada Kasir yang sedang bertugas. "; - break; + break; - case "pettycash": // =========================================================================================================== - //fixme : selesaikan modul - // transaksi disimpan di tabel transaksikasir + case "pettycash": // =========================================================================================================== + //fixme : selesaikan modul + // transaksi disimpan di tabel transaksikasir - echo " + echo "

    Petty Cash

    Gunakan form ini jika ada pengambilan uang Kas dari Kasir yang sedang bertugas. "; - break; + break; @@ -301,48 +294,48 @@ - $edit = mysql_query("select * from rak where idRak = '$_GET[id]'"); - $data = mysql_fetch_array($edit); - echo "

    Edit Rak Barang

    -
    - - - - -
    Edit Rak :
        -
    -
    -
    -

    Data Rak Barang

    - - "; - $tampil = mysql_query("SELECT * from rak"); - $no = 1; - while ($r = mysql_fetch_array($tampil)) { - //untuk mewarnai tabel menjadi selang-seling - if (($no % 2) == 0) { - $warna = "#EAF0F7"; - } - else { - $warna = "#FFFFFF"; - } - echo ""; //end warna - echo " - - "; - $no++; - } - echo "
    norakaksi
    $no$r[namaRak]Edit | - Hapus -
    "; - break; + $edit=mysql_query("select * from rak where idRak='$_GET[id]'"); + $data=mysql_fetch_array($edit); + echo "

    Edit Rak Barang

    +
    + + + + +
    Edit Rak
      +
    +
    +
    +

    Data Rak Barang

    + + "; + $tampil=mysql_query("SELECT * from rak"); + $no=1; + while ($r=mysql_fetch_array($tampil)) { + //untuk mewarnai tabel menjadi selang-seling + if (($no % 2) == 0) { + $warna="#EAF0F7"; + } + else { + $warna="#FFFFFF"; + } + echo ""; //end warna + echo " + + "; + $no++; + } + echo "
    norakaksi
    $no$r[namaRak]Edit | + Hapus +
    "; + break; } /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.9.1 / 2010-02-27 : Harry Sufehmi : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.9.1 / 2010-02-27 : Harry Sufehmi : initial release - ------------------------------------------------------------------------ */ +------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_kategori_barang.php b/sistem/modul/mod_kategori_barang.php index 31e440b..146d4d8 100644 --- a/sistem/modul/mod_kategori_barang.php +++ b/sistem/modul/mod_kategori_barang.php @@ -1,17 +1,17 @@

    Tambah Kategori Barang

    -
    + - - + +
    Tambah Kategori :
        -
    Tambah Kategori
      +

    @@ -37,18 +37,18 @@ Aksi @@ -62,24 +62,24 @@ $no++; } echo " -

     

    - << Kembali"; +

     

    + Kembali"; break; case "editkategori": - $edit = mysql_query("select * from kategori_barang where idKategoriBarang = '$_GET[id]'"); - $data = mysql_fetch_array($edit); + $edit=mysql_query("select * from kategori_barang where idKategoriBarang='$_GET[id]'"); + $data=mysql_fetch_array($edit); echo "

    Edit Kategori Barang

    -
    - - - - -
    Edit Kategori :
        -
    -
    -
    -

    Data Kategori Barang

    "; +
    + + + + +
    Edit Kategori
      +
    +
    +
    +

    Data Kategori Barang

    "; ?> @@ -88,9 +88,9 @@ > @@ -112,8 +112,8 @@ /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release + 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes + 0.6.5 : Gregorius Arief : initial release - ------------------------------------------------------------------------ */ + ------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_laporan.php b/sistem/modul/mod_laporan.php index 90bbfbe..c7c74d1 100644 --- a/sistem/modul/mod_laporan.php +++ b/sistem/modul/mod_laporan.php @@ -1,424 +1,343 @@ - + "; -?> - - -Laporan Manajemen -
    Aksi
    - - - - - - - - +switch ($_GET[act]) { //------------------------------------------------------------------------ + default: - + echo "

    Laporan Manajemen

    - +
    +
    + + -
    + + + + + + - +
    -
    + + + - + + + + +
    -
    - + + + + + "; + break; -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    -
    - -
    -
    - "; - break; + case "penjualan1": // =========================================================================================================== + echo "

    Laporan Penjualan

    "; - case "penjualan1": // =========================================================================================================== +// ambil daftar nama kasir +// idLevelUser : 4=kasir + $sql="SELECT namaUser, idUser + FROM user + WHERE idLevelUser=4 ORDER BY namaUser ASC"; + $namaKasir=mysql_query($sql); + ?> +
    + + + + + + + + + + + + + + + + + + + + + +
    (d) Dari Tanggal " accesskey='d'>
    Sampai Tanggal ">
    Pilih Kasir
     
    +   + +
    +
    + + Laporan Penjualan"; + case "penjualan2": // =========================================================================================================== // ambil daftar nama kasir -// idLevelUser : 4 = kasir - $sql = "SELECT namaUser, idUser - FROM user - WHERE idLevelUser = 4 ORDER BY namaUser ASC"; - $namaKasir = mysql_query($sql); - ?> -
    - - - - - - - - - - - - - - - - - - - - - -
    (d) Dari Tanggal : " accesskey='d'>
    Sampai Tanggal : ">
    Pilih Kasir :
     
    -     - -
    -
    - - -

    Laporan Penjualan

    + if ($_GET[idKasir] == 'SEMUA') { + $x[namaUser]='SEMUA'; + } + else { + $sql="SELECT namaUser FROM user WHERE idUser=$_GET[idKasir]"; + $hasil=mysql_query($sql); + $x=mysql_fetch_array($hasil); + } + + echo " +
    +

    Laporan Penjualan

    Kasir: $x[namaUser], Dari: $_GET[DariTanggal], Sampai: $_GET[SampaiTanggal]

    "; - ?> - - - - - - - - - +
    No.StrukWaktuTotal TransaksiAksi
    + + + + + + + + - - - - - */ ?> - - + + + + + + + + "; - - if ($_GET[idKasir] == 'SEMUA') { - $sql = "SELECT t.id, t.tglTransaksi, t.nominal - FROM transaksireturjual AS t - WHERE t.tglTransaksi BETWEEN '$dariTanggal' AND '$sampaiTanggal' - ORDER BY t.tglTransaksi ASC"; - } else { - $sql = "SELECT t.id, t.tglTransaksi, t.nominal - FROM transaksireturjual AS t - WHERE t.idKasir = {$_GET['idKasir']} - AND t.tglTransaksi BETWEEN '$dariTanggal' AND '$sampaiTanggal' ORDER BY t.tglTransaksi ASC"; - } - $tampil = mysql_query($sql); - ?> -

    Retur Penjualan

    -
    No.StrukWaktuTotal TransaksiAksiHapus?
    - &kasir='>Cetak | - &kasir='>Lihat - Ha&idKasir=&DariTanggal=&SampaiTanggal='>pus
    &kasir='>Cetak | + &kasir='>Lihat Ha&idKasir=&DariTanggal=&SampaiTanggal='>pus
    - - - - - - - - - - - - - - -
    No.StrukWaktuTotalAksi
    '>Lihat
    - -

    Total Transaksi:

    -

    Total Profit:

    -

    Total Retur Jual: ()

    -

    Total Retur Profit: ()

    - -

     

    - << Kembali - - -

    Laporan Diskon

    -
    - - - - - - - - - - - - - - - + + + + + + + + + +
    (d) Dari Tanggal :
    Sampai Tanggal :
    Pilih Kasir : + + + + + + + + + + + + + - - - - - - - -
    (d) Dari Tanggal
    Sampai Tanggal
    Pilih Kasir -
    Pilih Jenis Diskon :
     
        -
    - - - - -

    Laporan Diskon

    -

    Kasir: , Dari: , Sampai:

    - - - - - - - - - - - - - - - - - + + + + + + + + + + + +
    Nomor StrukWaktu TransaksiBarcodeHarga JualHarga BeliBanyaknyaTotal
    Harga (Net)
    Total
    Diskon
    Diskon @Detail
    Diskon @
    Sub Total
    Pilih Jenis Diskon
     
      +
    + + + + +

    Laporan Diskon

    +

    Kasir: , Dari: , Sampai:

    + + + + + + + + + + + + + + + + + $value) { - /* - * Jika tipe diskon adalah admin / customer - */ - if ($key < 3 && $key == $tipeDiskon) { - $adaDiskon = true; - break; - } else { - $dataDiskon = null; - $hasil = mysql_query("select * from diskon_detail where uid=$key") or die("Gagal ambil detail diskon $key, error:".mysql_error()); - $dataDiskon = mysql_fetch_array($hasil); - if ($tipeDiskon == $dataDiskon['diskon_tipe_id']) { - $adaDiskon = true; - break; - } - } - } - if ($tipeDiskon === 'SEMUA' || $adaDiskon): - ?> - - - - - - - - - - - - - - - - -
    Nomor StrukWaktu TransaksiBarcodeHarga JualHarga BeliBanyaknyaTotal
    Harga (Net)
    Total
    Diskon
    Diskon @Detail
    Diskon @
    Sub Total
    $value) { - if ($key < 3) { - /* - * Untuk diskon admin dan diskon per customer - */ - switch ($key): - case 1: - if ($tipeDiskon === 'SEMUA' || $tipeDiskon == 1) { - $s = '(Admin) '.number_format($value, 0, ',', '.'); - $subTotal = $value * $data['jumBarang']; - $totalDiskon += $subTotal; - } - break; - case 2: - if ($tipeDiskon === 'SEMUA' || $tipeDiskon == 2) { - $s = '(Customer) '.number_format($value, 0, ',', '.'); - $subTotal = $value * $data['jumBarang']; - $totalDiskon += $subTotal; - } - break; - endswitch; - echo $s; - } else { - /* - * Untuk diskon grosir dan diskon waktu - */ - $dataDiskon = null; - $hasil = mysql_query("select * from diskon_detail where uid=$key") or die("Gagal ambil detail diskon $key, error:".mysql_error()); - $dataDiskon = mysql_fetch_array($hasil); - //echo "
    dataDiskonTipeId: {$dataDiskon['diskon_tipe_id']}
    tipeDiskon: {$tipeDiskon}
    "; - $s = ''; - if ($tipeDiskon === 'SEMUA' || $tipeDiskon == $dataDiskon['diskon_tipe_id']) { - $s = "({$dataDiskon['diskon_tipe_nama']}) "; - if ($dataDiskon['diskon_persen'] > 0) { - $s.=$dataDiskon['diskon_persen'].'%'; - } else { - $s.=number_format($dataDiskon['diskon_rupiah'], 0, ',', '.'); - } - $subTotal = $dataDiskon['diskon_rupiah'] * $data['jumBarang']; - $totalDiskon += $subTotal; - echo $s.'
    '; - } - } - } - ?> -
    -

    Total Diskon:

    -

     

    - << Kembali - - ?> -
    - - - - - - - - - - - - - - - -
    Pilih Printer : Pilih layout struk - -
     
        -
    - - '> - '> - -
    - -

    << Kembali -
    << Kembali"; - } - - - if ($_GET[action] == 'lihatjual') { // --------------------------------------------------------------------------------- - if ($_GET[kasir] == 'SEMUA') { - $namaKasir = 'SEMUA'; - } else { - $namaKasir = $_GET[kasir]; - } - - echo " -
    -

    Detail Penjualan

    - -

    Kasir: $namaKasir, No.Struk: $_GET[id]

    "; - ?> - - - - - - - - - - - - $value) { + /* + * Jika tipe diskon adalah admin / customer + */ + if ($key < 3 && $key == $tipeDiskon) { + $adaDiskon=true; + break; + } + else { + $dataDiskon=null; + $hasil=mysql_query("select * from diskon_detail where uid=$key") or die("Gagal ambil detail diskon $key, error:" . mysql_error()); + $dataDiskon=mysql_fetch_array($hasil); + if ($tipeDiskon == $dataDiskon['diskon_tipe_id']) { + $adaDiskon=true; + break; + } + } + } + if ($tipeDiskon === 'SEMUA' || $adaDiskon): + ?> + + + + + + + + + + + + + + + + +
    BarcodeNama BarangHarga JualHarga BeliJumlahTotalTotal DiskonHarga Jual Asli
    (Selisih)
    $value) { + if ($key < 3) { + /* + * Untuk diskon admin dan diskon per customer + */ + switch ($key): + case 1: + if ($tipeDiskon === 'SEMUA' || $tipeDiskon == 1) { + $s='(Admin) ' . number_format($value, 0, ',', '.'); + $subTotal=$value * $data['jumBarang']; + $totalDiskon += $subTotal; + } + break; + case 2: + if ($tipeDiskon === 'SEMUA' || $tipeDiskon == 2) { + $s='(Customer) ' . number_format($value, 0, ',', '.'); + $subTotal=$value * $data['jumBarang']; + $totalDiskon += $subTotal; + } + break; + endswitch; + echo $s; + } + else { + /* + * Untuk diskon grosir dan diskon waktu + */ + $dataDiskon=null; + $hasil=mysql_query("select * from diskon_detail where uid=$key") or die("Gagal ambil detail diskon $key, error:" . mysql_error()); + $dataDiskon=mysql_fetch_array($hasil); + //echo "
    dataDiskonTipeId: {$dataDiskon['diskon_tipe_id']}
    tipeDiskon: {$tipeDiskon}
    "; + $s=''; + if ($tipeDiskon === 'SEMUA' || $tipeDiskon == $dataDiskon['diskon_tipe_id']) { + $s="({$dataDiskon['diskon_tipe_nama']}) "; + if ($dataDiskon['diskon_persen'] > 0) { + $s.=$dataDiskon['diskon_persen'] . '%'; + } + else { + $s.=number_format($dataDiskon['diskon_rupiah'], 0, ',', '.'); + } + $subTotal=$dataDiskon['diskon_rupiah'] * $data['jumBarang']; + $totalDiskon += $subTotal; + echo $s . '
    '; + } + } + } + ?> +
    +

    Total Diskon:

    +

     

    + Kembali + + + + + + + + + + +
    Pilih Printer
      +
      +   +   +
    + + + + + + "; + + // tampilkan link untuk kembali + echo "

    Kembali"; + } // if ($_GET[action] == 'cetakjual1') + + + + if ($_GET[action] == 'cetakjual2') { // --------------------------------------------------------------------------------- + // ambil info struk ybs + $sql="SELECT nominal, uangDibayar FROM transaksijual WHERE idTransaksiJual=$_POST[idTransaksi]"; + //echo $sql; + $hasil=mysql_query($sql); + $x=mysql_fetch_array($hasil); + $totalTransaksi=$x[nominal]; + $uangDibayar=$x[uangDibayar]; + + // ambil transaksi yang akan dicetak + $sql="SELECT t.jumBarang, t.hargaJual, b.namaBarang FROM barang AS b, detail_jual AS t + WHERE t.nomorStruk='$_POST[idTransaksi]' AND t.barcode=b.barcode"; + + $sql="select dj.jumBarang, b.namaBarang, dj.hargaJual, dt.diskon_detail_uids, dt.diskon_persen, dt.diskon_rupiah + from detail_jual dj + join barang b on b.barcode=dj.barcode + left join diskon_transaksi dt on dt.idDetailJual=dj.uid + where dj.nomorStruk={$_POST['idTransaksi']}"; + //echo $sql; + $hasil=mysql_query($sql) or die(mysql_error()); + + // cetak struk + cetakStruk("$_POST[namaPrinter]", $_POST[idTransaksi], "$_POST[namaKasir]", $totalTransaksi, $uangDibayar, $hasil); + + // tampilkan link untuk kembali + echo "

    Kembali"; + } + + + if ($_GET[action] == 'lihatjual') { // --------------------------------------------------------------------------------- + if ($_GET[kasir] == 'SEMUA') { + $namaKasir='SEMUA'; + } + else { + $namaKasir=$_GET[kasir]; + } + + echo " +
    +

    Detail Penjualan

    + +

    Kasir: $namaKasir, No.Struk: $_GET[id]

    "; + ?> + + + + + + + + + + + - - - - - - - - - - - -
    BarcodeNama BarangHarga JualHarga BeliJumlahTotalTotal Diskon
    - 0) { - echo $r['diskon_persen'].'%'.' = '; - $total_diskon += $r['diskon_persen'] / 100 * $r['hargaJual'] * $r['jumBarang']; - } - if ($r['diskon_rupiah'] > 0) { - echo number_format($r['diskon_rupiah'] * $r['jumBarang'], 0, ',', '.'); - $total_diskon += $r['diskon_rupiah']; - } - ?> - - -
    - -

    Total Transaksi :

    -

    Total Profit :

    - -

     

    - << Kembali - -

    Detail Retur Penjualan

    - -

    No.Struk: $_GET[id]

    "; - ?> - - - - - - - - - - - - - - - - - - - - -
    BarcodeNama BarangHarga JualHarga BeliJumlahTotal
    - -

    Total Retur Jual :

    -

    Total Retur Profit :

    - -

     

    - << Kembali - -

    Laporan Total Stok

    + $tampil=mysql_query($sql) or die('Gagal ambil detail penjualan, error:' . mysql_error()); + + $no=1; + $total_transaksi=0; + $total_profit=0; + $total_diskon=0; + while ($r=mysql_fetch_array($tampil)) { + ?> +
    + 0) { + echo $r['diskon_persen'] . '%' . '='; + $total_diskon += $r['diskon_persen'] / 100 * $r['hargaJual'] * $r['jumBarang']; + } + if ($r['diskon_rupiah'] > 0) { + echo number_format($r['diskon_rupiah'] * $r['jumBarang'], 0, ',', '.'); + $total_diskon += $r['diskon_rupiah']; + } + ?> +
    + +

    Total Transaksi :

    +

    Total Profit :

    + +

     

    + Kembali + +

    Laporan Total Stok

    "; @@ -838,95 +712,95 @@ function popupform(myform, windowname) // Biarkan penentu keberadaan stok adalah field jumBarang di table barang // $sql = "SELECT SUM(b.jumBarang * d.hargaBeli) AS TotalStok // FROM barang AS b, (SELECT barcode, hargaBeli FROM detail_beli WHERE isSold='N' AND hargaBeli > 0 GROUP BY barcode) AS d -// WHERE b.jumBarang > 0 AND b.barcode = d.barcode"; +// WHERE b.jumBarang > 0 AND b.barcode=d.barcode"; - /* // query ini mengambil hargaBeli yang paling pertama / lama - $sql = "SELECT SUM(b.jumBarang * d.hargaBeli) AS TotalStok - FROM barang AS b, (SELECT barcode, hargaBeli FROM detail_beli WHERE hargaBeli > 0 GROUP BY barcode) AS d - WHERE b.jumBarang > 0 AND b.barcode = d.barcode"; - */ + /* // query ini mengambil hargaBeli yang paling pertama / lama + $sql = "SELECT SUM(b.jumBarang * d.hargaBeli) AS TotalStok + FROM barang AS b, (SELECT barcode, hargaBeli FROM detail_beli WHERE hargaBeli > 0 GROUP BY barcode) AS d + WHERE b.jumBarang > 0 AND b.barcode=d.barcode"; + */ - // query ini mengambil hargaBeli yang terbaru - $sql = "SELECT SUM(b.jumBarang * d.hargaBeli) AS TotalStok + // query ini mengambil hargaBeli yang terbaru + $sql="SELECT SUM(b.jumBarang * d.hargaBeli) AS TotalStok FROM barang AS b, (SELECT barcode, hargaBeli FROM (SELECT barcode, hargaBeli, idTransaksiBeli - FROM detail_beli WHERE hargaBeli > 0 ORDER BY idTransaksiBeli DESC) AS d1 + FROM detail_beli WHERE hargaBeli > 0 ORDER BY idTransaksiBeli DESC) AS d1 GROUP BY barcode) AS d - WHERE b.jumBarang > 0 AND b.barcode = d.barcode"; + WHERE b.jumBarang > 0 AND b.barcode=d.barcode"; - $tampil = mysql_query($sql); - $x = mysql_fetch_array($tampil); + $tampil=mysql_query($sql); + $x=mysql_fetch_array($tampil); - echo "Total Stok Saat Ini = Rp ".number_format($x[TotalStok], 0, ',', '.')." + echo "Total Stok Saat Ini=Rp " . number_format($x[TotalStok], 0, ',', '.') . " -

     

    - << Kembali +

     

    + Kembali "; - exit; - } + exit; + } - case 'toprank1': { // --------------------------------------------------------------------------------- - $tanggal = date('Y-m-d'); - echo " -
    -

    Laporan Top Rank

    + case 'toprank1': { // --------------------------------------------------------------------------------- + $tanggal=date('Y-m-d'); + echo " +
    +

    Laporan Top Rank

    -
    + - + - - + - - + - - + - - + - - + - - +
    Dari Tanggal : +
    Sampai Tanggal : +
    Kategori : + echo "
    Rack : + echo "
    Jumlah Item : +
    Sortir berdasarkan:
    "; - exit; - } - - case 'toprank2': { // --------------------------------------------------------------------------------- - if ($_POST['kategori'] == 'SEMUA') { - $kategori = 'SEMUA'; - } else { - $hasil = mysql_query("SELECT namaKategoriBarang FROM kategori_barang WHERE idKategoriBarang=".$_POST['kategori']); - $x = mysql_fetch_array($hasil); - $kategori = $x['namaKategoriBarang']; - }; - - if ($_POST['rak'] == 'SEMUA') { - $rak = 'SEMUA'; - } else { - $sql = "SELECT namaRak FROM rak WHERE idRak=".$_POST['rak']; - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil); - $rak = $x['namaRak']; - }; - - if ($_POST['kategori'] == 'SEMUA') { - $idKategoriBarang = ''; - } else { - $idKategoriBarang = 'AND b.idKategoriBarang = '.$_POST['kategori']; - }; - - if ($_POST['rak'] == 'SEMUA') { - $idRak = ''; - } else { - $idRak = 'AND b.idRak = '.$_POST['rak']; - }; - - $sortir = $_POST['sortir']; - $sql = "SELECT lb.barcode, lb.namaBarang, COUNT(lb.barcode) AS jumlah, SUM(lb.hargaJual) AS omset, + exit; + } + + case 'toprank2': { // --------------------------------------------------------------------------------- + if ($_POST['kategori'] == 'SEMUA') { + $kategori='SEMUA'; + } + else { + $hasil=mysql_query("SELECT namaKategoriBarang FROM kategori_barang WHERE idKategoriBarang=" . $_POST['kategori']); + $x=mysql_fetch_array($hasil); + $kategori=$x['namaKategoriBarang']; + }; + + if ($_POST['rak'] == 'SEMUA') { + $rak='SEMUA'; + } + else { + $sql="SELECT namaRak FROM rak WHERE idRak=" . $_POST['rak']; + $hasil=mysql_query($sql); + $x=mysql_fetch_array($hasil); + $rak=$x['namaRak']; + }; + + if ($_POST['kategori'] == 'SEMUA') { + $idKategoriBarang=''; + } + else { + $idKategoriBarang='AND b.idKategoriBarang=' . $_POST['kategori']; + }; + + if ($_POST['rak'] == 'SEMUA') { + $idRak=''; + } + else { + $idRak='AND b.idRak=' . $_POST['rak']; + }; + + $sortir=$_POST['sortir']; + $sql="SELECT lb.barcode, lb.namaBarang, COUNT(lb.barcode) AS jumlah, SUM(lb.hargaJual) AS omset, SUM(lb.hargaJual - lb.hargaBeli) AS profit, lb.jumBarang FROM (SELECT dj.barcode AS barcode, b.namaBarang AS namaBarang, b.jumBarang, dj.hargaJual, dj.hargaBeli, b.idKategoriBarang - FROM barang AS b, - (SELECT barcode, hargaJual, hargaBeli FROM detail_jual AS j, - (SELECT idTransaksiJual AS nomorStruk FROM transaksijual - WHERE tglTransaksiJual BETWEEN '".$_POST['dari']." 00:00:01' AND '".$_POST['sampai']." 23:59:59') AS t - WHERE j.nomorStruk = t.nomorStruk) AS dj - WHERE dj.barcode = b.barcode $idKategoriBarang ORDER BY dj.barcode) AS lb + FROM barang AS b, + (SELECT barcode, hargaJual, hargaBeli FROM detail_jual AS j, + (SELECT idTransaksiJual AS nomorStruk FROM transaksijual + WHERE tglTransaksiJual BETWEEN '" . $_POST['dari'] . " 00:00:01' AND '" . $_POST['sampai'] . " 23:59:59') AS t + WHERE j.nomorStruk=t.nomorStruk) AS dj + WHERE dj.barcode=b.barcode $idKategoriBarang ORDER BY dj.barcode) AS lb GROUP BY lb.barcode ORDER BY $sortir DESC - LIMIT ".$_POST['jumlah']."; + LIMIT " . $_POST['jumlah'] . "; "; - if ($_POST['rak'] <> 0) { - $sql = "SELECT lb.barcode, lb.namaBarang, COUNT(lb.barcode) AS jumlah, SUM(lb.hargaJual) AS omset, + if ($_POST['rak'] <> 0) { + $sql="SELECT lb.barcode, lb.namaBarang, COUNT(lb.barcode) AS jumlah, SUM(lb.hargaJual) AS omset, SUM(lb.hargaJual - lb.hargaBeli) AS profit, lb.jumBarang FROM (SELECT dj.barcode AS barcode, b.namaBarang AS namaBarang, b.jumBarang, dj.hargaJual, dj.hargaBeli, b.idKategoriBarang - FROM barang AS b, - (SELECT barcode, hargaJual, hargaBeli FROM detail_jual AS j, - (SELECT idTransaksiJual AS nomorStruk FROM transaksijual - WHERE tglTransaksiJual BETWEEN '".$_POST['dari']." 00:00:01' AND '".$_POST['sampai']." 23:59:59') AS t - WHERE j.nomorStruk = t.nomorStruk) AS dj - WHERE dj.barcode = b.barcode $idRak ORDER BY dj.barcode) AS lb + FROM barang AS b, + (SELECT barcode, hargaJual, hargaBeli FROM detail_jual AS j, + (SELECT idTransaksiJual AS nomorStruk FROM transaksijual + WHERE tglTransaksiJual BETWEEN '" . $_POST['dari'] . " 00:00:01' AND '" . $_POST['sampai'] . " 23:59:59') AS t + WHERE j.nomorStruk=t.nomorStruk) AS dj + WHERE dj.barcode=b.barcode $idRak ORDER BY dj.barcode) AS lb GROUP BY lb.barcode ORDER BY $sortir DESC - LIMIT ".$_POST['jumlah']."; + LIMIT " . $_POST['jumlah'] . "; "; - }; - $hasil = mysql_query($sql) or die("Error : ".mysql_error()); - //echo $sql; + }; + $hasil=mysql_query($sql) or die("Error : " . mysql_error()); + //echo $sql; - echo " + echo "

    Laporan Top Rank

    - Tanggal:".$_POST['dari']." s/d ".$_POST['sampai']; - - if ($_POST['rak'] <> 0) { - echo " Rak: $rak"; - } else { - echo " Kategori: $kategori"; - }; - ?> - - - - - - - - - - - - - > - - - - - - - - - - -
    NoBarcodeNama BarangJumlahOmsetProfitAvg / dayTotal Stok
    - -

    Laporan Aging / Barang Mati

    - -
    + Tanggal:" . $_POST['dari'] . " s/d " . $_POST['sampai']; + + if ($_POST['rak'] <> 0) { + echo " Rak: $rak"; + } + else { + echo " Kategori: $kategori"; + }; + ?> + + + + + + + + + + + + + > + + + + + + + + + + +
    NoBarcodeNama BarangJumlahOmsetProfitAvg / dayTotal Stok
    + +

    Laporan Aging / Barang Mati

    + + - + - - + - - + - - + - - + - - +
    Dari Tanggal : +
    Sampai Tanggal : +
    Kategori : + echo "
    Jumlah Item : +
    Sortir berdasarkan:
    "; - exit; - } - - case 'aging2': { // --------------------------------------------------------------------------------- - if ($_POST['kategori'] == 'SEMUA') { - $kategori = 'SEMUA'; - } else { - $hasil = mysql_query("SELECT namaKategoriBarang FROM kategori_barang WHERE idKategoriBarang=".$_POST['kategori']); - $x = mysql_fetch_array($hasil); - $kategori = $x['namaKategoriBarang']; - }; - - if ($_POST['kategori'] == 'SEMUA') { - $idKategoriBarang = ''; - } else { - $idKategoriBarang = 'AND b.idKategoriBarang = '.$_POST['kategori']; - }; - - // buat temporary table untuk simpan hasil - $sql = " + exit; + } + + case 'aging2': { // --------------------------------------------------------------------------------- + if ($_POST['kategori'] == 'SEMUA') { + $kategori='SEMUA'; + } + else { + $hasil=mysql_query("SELECT namaKategoriBarang FROM kategori_barang WHERE idKategoriBarang=" . $_POST['kategori']); + $x=mysql_fetch_array($hasil); + $kategori=$x['namaKategoriBarang']; + }; + + if ($_POST['kategori'] == 'SEMUA') { + $idKategoriBarang=''; + } + else { + $idKategoriBarang='AND b.idKategoriBarang=' . $_POST['kategori']; + }; + + // buat temporary table untuk simpan hasil + $sql=" CREATE TABLE IF NOT EXISTS `tmp_lap_aging` ( - `uid` bigint(20) NOT NULL AUTO_INCREMENT, - `barcode` varchar(25) DEFAULT NULL, - `namaBarang` varchar(30) DEFAULT ' ', - `nilaiStok` bigint(20) DEFAULT '0', - `umurStok` int(10) DEFAULT '0', - `jmlStokIni` int(10) DEFAULT '0', - `jmlStokSemua` int(10) DEFAULT '0', - `avgSales` DECIMAL (6,6) DEFAULT '0', - - PRIMARY KEY `uid` (`uid`), - KEY `avgSales` (`avgSales`) + `uid` bigint(20) NOT NULL AUTO_INCREMENT, + `barcode` varchar(25) DEFAULT NULL, + `namaBarang` varchar(30) DEFAULT ' ', + `nilaiStok` bigint(20) DEFAULT '0', + `umurStok` int(10) DEFAULT '0', + `jmlStokIni` int(10) DEFAULT '0', + `jmlStokSemua` int(10) DEFAULT '0', + `avgSales` DECIMAL (6,6) DEFAULT '0', + + PRIMARY KEY `uid` (`uid`), + KEY `avgSales` (`avgSales`) ) ENGINE=MEMORY DEFAULT CHARSET=latin1; "; - $hasil = mysql_query($sql) or die("Error : ".mysql_error()); + $hasil=mysql_query($sql) or die("Error : " . mysql_error()); - $sortir = $_POST['sortir']; + $sortir=$_POST['sortir']; - $sql = "SELECT lb.barcode, lb.namaBarang, SUM(lb.jumBarang) AS sisastok, + $sql="SELECT lb.barcode, lb.namaBarang, SUM(lb.jumBarang) AS sisastok, SUM(lb.hargaBeli * lb.jumBarang) AS nilaistok, (TIMESTAMPDIFF(DAY, lb.tglTransaksiBeli, NOW())) AS umurstok, lb.tglTransaksiBeli, lb.TotalJumlah @@ -1168,48 +1049,48 @@ function popupform(myform, windowname) FROM detail_beli AS b, ( SELECT idTransaksiBeli, tglTransaksiBeli FROM transaksibeli - WHERE tglTransaksiBeli BETWEEN '".$_POST['dari']."' AND '".$_POST['sampai']."' + WHERE tglTransaksiBeli BETWEEN '" . $_POST['dari'] . "' AND '" . $_POST['sampai'] . "' ) AS t - WHERE isSold = 'N' AND t.idTransaksiBeli = b.idTransaksiBeli AND b.jumBarang > 0 + WHERE isSold='N' AND t.idTransaksiBeli=b.idTransaksiBeli AND b.jumBarang > 0 ) AS dj - WHERE dj.barcode = b.barcode $idKategoriBarang ORDER BY dj.barcode + WHERE dj.barcode=b.barcode $idKategoriBarang ORDER BY dj.barcode ) AS lb GROUP BY lb.barcode - LIMIT ".$_POST['jumlah']."; + LIMIT " . $_POST['jumlah'] . "; "; - $hasil = mysql_query($sql) or die("Error : ".mysql_error()); + $hasil=mysql_query($sql) or die("Error : " . mysql_error()); - // masukkan ke temporary table - $sqltmp = "INSERT INTO tmp_lap_aging (barcode,namaBarang,nilaiStok,umurStok,jmlStokIni,jmlStokSemua,avgSales) VALUES "; - while ($x = mysql_fetch_array($hasil)) { - // hitung Average Sales / Day - $sql = " + // masukkan ke temporary table + $sqltmp="INSERT INTO tmp_lap_aging (barcode,namaBarang,nilaiStok,umurStok,jmlStokIni,jmlStokSemua,avgSales) VALUES "; + while ($x=mysql_fetch_array($hasil)) { + // hitung Average Sales / Day + $sql=" SELECT SUM(jumBarang) AS total FROM detail_jual AS dj, ( SELECT idTransaksiJual FROM transaksijual - WHERE tglTransaksiJual BETWEEN '".$_POST['dari']."' AND '".$_POST['sampai']."') AS tj - WHERE barcode='".$x['barcode']."' AND dj.nomorStruk = tj.idTransaksiJual"; - $hasil3 = mysql_query($sql); - $y = mysql_fetch_array($hasil3); - $avgSales = ($y['total'] / $jmlhari); - - // buat statement SQL - $sqltmp .= "('".$x['barcode']."','".$x['namaBarang']."','".$x['nilaistok']."','".$x['umurstok']."', - '".$x['sisastok']."','".$x['TotalJumlah']."','$avgSales'),"; - }; - // hapus koma di akhir string - $sqltmp = substr($sqltmp, 0, -1); - // simpan ke temporary table - $hasil = mysql_query($sqltmp) or die("Error : ".mysql_error()); - - echo " + WHERE tglTransaksiJual BETWEEN '" . $_POST['dari'] . "' AND '" . $_POST['sampai'] . "') AS tj + WHERE barcode='" . $x['barcode'] . "' AND dj.nomorStruk=tj.idTransaksiJual"; + $hasil3=mysql_query($sql); + $y=mysql_fetch_array($hasil3); + $avgSales=($y['total'] / $jmlhari); + + // buat statement SQL + $sqltmp .= "('" . $x['barcode'] . "','" . $x['namaBarang'] . "','" . $x['nilaistok'] . "','" . $x['umurstok'] . "', + '" . $x['sisastok'] . "','" . $x['TotalJumlah'] . "','$avgSales'),"; + }; + // hapus koma di akhir string + $sqltmp=substr($sqltmp, 0, -1); + // simpan ke temporary table + $hasil=mysql_query($sqltmp) or die("Error : " . mysql_error()); + + echo "

    Laporan Aging

    - Tanggal:".$_POST['dari']." s/d ".$_POST['sampai']." Kategori: $kategori + Tanggal:" . $_POST['dari'] . " s/d " . $_POST['sampai'] . " Kategori: $kategori @@ -1224,347 +1105,126 @@ function popupform(myform, windowname) "; - // ambil data dari temporary table - if ($sortir == 'avgSales') { - $sortir = 'avgSales,nilaiStok'; - }; - $sql = "SELECT * FROM tmp_lap_aging ORDER BY $sortir DESC"; - $hasil = mysql_query($sql) or die("Error : ".mysql_error()); + // ambil data dari temporary table + if ($sortir == 'avgSales') { + $sortir='avgSales,nilaiStok'; + }; + $sql="SELECT * FROM tmp_lap_aging ORDER BY $sortir DESC"; + $hasil=mysql_query($sql) or die("Error : " . mysql_error()); - $start = strtotime($_POST['dari']); - $end = strtotime(time()); - $jmlhari = abs($end - $start) / 86400; + $start=strtotime($_POST['dari']); + $end=strtotime(time()); + $jmlhari=abs($end - $start) / 86400; - $no = 0; - $nilai = 0; - while ($x = mysql_fetch_array($hasil)) { + $no=0; + $nilai=0; + while ($x=mysql_fetch_array($hasil)) { - //untuk mewarnai tabel menjadi selang-seling - $no++; - if (($no % 2) == 0) { - $warna = "#EAF0F7"; - } else { - $warna = "#FFFFFF"; - } + //untuk mewarnai tabel menjadi selang-seling + $no++; + if (($no % 2) == 0) { + $warna="#EAF0F7"; + } + else { + $warna="#FFFFFF"; + } - echo ""; - echo " + echo ""; + echo " - - - - - - - + + + + + + + "; - $nilai = $nilai + ($x['nilaiStok'] / $x['jmlStokIni'] * $x['jmlStokSemua']); - }; - echo "
    $no ".$x['barcode']." ".$x['namaBarang']." ".number_format($x['nilaiStok'], 0, ',', '.')." ".number_format($x['umurStok'], 0, ',', '.')."
    ".number_format($x['jmlStokIni'], 0, ',', '.')."
    ".number_format($x['jmlStokSemua'], 0, ',', '.')."
    ".number_format($x['avgSales'], 6, ',', '.')." " . $x['barcode'] . "" . $x['namaBarang'] . "" . number_format($x['nilaiStok'], 0, ',', '.') . "" . number_format($x['umurStok'], 0, ',', '.') . "
    " . number_format($x['jmlStokIni'], 0, ',', '.') . "
    " . number_format($x['jmlStokSemua'], 0, ',', '.') . "
    " . number_format($x['avgSales'], 6, ',', '.') . "
    Nilai Stok : Rp ".number_format($nilai, 0, ',', '.'); - - // bersihkan temporary table - $hasil = mysql_query("DELETE FROM tmp_lap_aging"); - - exit; - } - - case "po": // ======================================================================================================================= - echo "

    Purchase Order

    -
    - Supplier : - + $nilai=$nilai + ($x['nilaiStok'] / $x['jmlStokIni'] * $x['jmlStokSemua']); + }; + echo " Nilai Stok : Rp " . number_format($nilai, 0, ',', '.'); + + // bersihkan temporary table + $hasil=mysql_query("DELETE FROM tmp_lap_aging"); + + exit; + } + + case "po"; // ======================================================================================================================= + echo "

    Purchase Order

    + + Supplier : +
    - Tampilkan hanya barang dengan jumlah lebih kecil dari : + Tampilkan hanya barang dengan jumlah lebih kecil dari :
    -      - -
    "; - - if ($_GET[action] == 'pesanbarang') { - - $supplier = getDetailSupplier($_POST[supplierId]); - $detailSupplier = mysql_fetch_array($supplier); - echo "

    Pesan Barang di Supplier $detailSupplier[namaSupplier]

    -
    Alamat Supplier : $detailSupplier[alamatSupplier]

    -
    - - "; - $no = 0; - $queryBarang = getDaftarBarangSupplier($_POST[supplierId], $_POST[jumlahmin]); - while ($barangSupplier = mysql_fetch_array($queryBarang)) { - if (($no % 2) == 0) { - $warna = "#EAF0F7"; - } else { - $warna = "#FFFFFF"; - } - echo ""; //end warna - echo ""; - $no++; - echo " - - - - - "; - } - - echo ""; - echo " - - - "; - echo "
    #NoBarcodeNama BarangStok
    Saat Ini
    Harga
    Beli
    $no$barangSupplier[barcode]$barangSupplier[namaBarang]
    $barangSupplier[jumBarang]
    $barangSupplier[hargaBeli]
    - Check All - Uncheck All -
    Cetak Excel / CSV
    "; - } - exit; - - case 'jumlahpoin': - $bulanIndonesia = array( - 1 => 'Januari', - 2 => 'Februari', - 3 => 'Maret', - 4 => 'April', - 5 => 'Mei', - 6 => 'Juni', - 7 => 'Juli', - 8 => 'Agustus', - 9 => 'September', - 10 => 'Oktober', - 11 => 'November', - 12 => 'Desember' - ); - $sql = "SELECT id, nama, awal, akhir FROM periode_poin ORDER BY nama"; - $query = mysql_query($sql); - $periode = array(); - while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) { - $periode[] = $row; - } - ?> -

    Laporan Jumlah Poin Member

    -
    - - - - - - - - - - - - - - - - - -
    Tahun:Periode: - - Sort by: - - Jumlah Poin dari - - sampai - -
    -
    - -

    Laporan Transfer Barang

    -
    - - - - - - - - - - - - -
    Customer: - -
    Periode - - - - -
    -
    - - 0) { - $queryCustomer = mysql_query("SELECT namaCustomer FROM customer WHERE idCustomer = {$customerId}"); - $cust = mysql_fetch_array($queryCustomer, MYSQL_ASSOC); - $namaCustomer = $cust['namaCustomer']; - } - ?> -

    Laporan Transfer Barang

    -

    Customer: , Periode

    - 0 ? "AND customer.idCustomer = {$customerId} " : ''; - $sql .= "WHERE date(trx.tglTransaksi) between '{$dariTanggal}' AND '{$sampaiTanggal}' - ORDER BY trx.tglTransaksi"; - $queryHeader = mysql_query($sql); - ?> - - - - - - - - - - - - > - - - - - - - -
    Tgl TransaksiCustomerNominalAksi
    Lihat
    - -

    Transfer Barang

    -

    Customer: , Total:

    - - - - - - - - - - - - - > - - - - - - - - -
    BarcodeNama BarangQtyHargaSub Total
    - + "; + + if ($_GET[action] == 'pesanbarang') { + + $supplier=getDetailSupplier($_POST[supplierId]); + $detailSupplier=mysql_fetch_array($supplier); + echo "

    Pesan Barang di Supplier $detailSupplier[namaSupplier]

    +
    Alamat Supplier : $detailSupplier[alamatSupplier]

    +
    + + "; + $no=0; + $queryBarang=getDaftarBarangSupplier($_POST[supplierId], $_POST[jumlahmin]); + while ($barangSupplier=mysql_fetch_array($queryBarang)) { + if (($no % 2) == 0) { + $warna="#EAF0F7"; + } + else { + $warna="#FFFFFF"; + } + echo ""; //end warna + echo ""; + $no++; + echo " + + + + + "; + } + + echo ""; + echo " + + + "; + echo "
    #NoBarcodeNama BarangStok
    Saat Ini
    Harga
    Beli
    $no$barangSupplier[barcode]$barangSupplier[namaBarang]
    $barangSupplier[jumBarang]
    $barangSupplier[hargaBeli]
    + Check All + Uncheck All +
    Cetak Excel / CSV
    "; + } + exit; + } + /* CHANGELOG ----------------------------------------------------------- - 1.5.5 / 2013-01-22 : Harry Sufehmi : Penambahan Laporan : Top Rank - 1.5.0 / 2013-01-04 : Harry Sufehmi : bugfix : perbaikan rumus perhitungan Total Stok - 1.2.5 / 2012-05-14 : Harry Sufehmi : fitur : audit trail untuk "hapusjual" - 1.2.5 / 2012-04-17 : Harry Sufehmi : bugfix : perbaikan rumus perhitungan Total Stok - 1.2.5 / 2012-03-04 : Harry Sufehmi : bugfix : perhitungan Total Stok / total nilai stok kini sudah dari hargaBeli - (tadinya dari hargaJual) - 1.2.5 / 2012-02-14 : Harry Sufehmi : Hapus transaksi jual : kini otomatis mengembalikan jumlah stok barang ke - table barang & detail_beli, sejumlah banyak barang yang dibatalkan transaksinya - 1.2.5 / 2012-02-01 : Harry Sufehmi : Laporan Total Stok - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.9.2 / 2010-03-08 : Harry Sufehmi : initial release - - ------------------------------------------------------------------------ */ - \ No newline at end of file + 1.5.5 / 2013-01-22 : Harry Sufehmi : Penambahan Laporan : Top Rank + 1.5.0 / 2013-01-04 : Harry Sufehmi : bugfix : perbaikan rumus perhitungan Total Stok + 1.2.5 / 2012-05-14 : Harry Sufehmi : fitur : audit trail untuk "hapusjual" + 1.2.5 / 2012-04-17 : Harry Sufehmi : bugfix : perbaikan rumus perhitungan Total Stok + 1.2.5 / 2012-03-04 : Harry Sufehmi : bugfix : perhitungan Total Stok / total nilai stok kini sudah dari hargaBeli + (tadinya dari hargaJual) + 1.2.5 / 2012-02-14 : Harry Sufehmi : Hapus transaksi jual : kini otomatis mengembalikan jumlah stok barang ke + table barang & detail_beli, sejumlah banyak barang yang dibatalkan transaksinya + 1.2.5 / 2012-02-01 : Harry Sufehmi : Laporan Total Stok + 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes + 0.9.2 / 2010-03-08 : Harry Sufehmi : initial release + + ------------------------------------------------------------------------ */ + ?> diff --git a/sistem/modul/mod_manage_workstation.php b/sistem/modul/mod_manage_workstation.php index d056ba0..9460e92 100644 --- a/sistem/modul/mod_manage_workstation.php +++ b/sistem/modul/mod_manage_workstation.php @@ -1,27 +1,28 @@ -
    Untuk mengakses modul, Anda harus login
    "; +
    Untuk mengakses modul, Anda harus login
    "; echo "LOGIN
    "; } else { @@ -32,23 +33,23 @@ //HS javascript untuk menampilkan popup ?> + - - + -

    Data Workstation

    -
    -
    +

    Data Workstation

    +
    +

    @@ -69,10 +70,10 @@ function CalculatePrinterCommands() { > @@ -89,7 +90,7 @@ function CalculatePrinterCommands() { ?>
    aksi

     

    - << Kembali + Kembali Tambah Workstation -
    - - - - + +
    Nama Workstation :
    Keterangan :
    IP address :
    + + + - - + "; echo " - - -
    Nama Workstation
    Keterangan
    IP address
    Jenis Printer :
    Jenis Printer
    Printer Commands
    (auto-generated)
    :
    Printer Commands
    (auto-generated)
     
        -
    +   +   + + "; break; case "editworkstation": // ====================================================================================================================== - $edit = mysql_query("SELECT * FROM workstation WHERE idWorkstation='$_GET[id]'"); - $data = mysql_fetch_array($edit); - ?> -

    Edit Workstation

    -
    - '> - - - - - - - - - - - - - - - - + $edit=mysql_query("SELECT * FROM workstation WHERE idWorkstation='$_GET[id]'"); + $data=mysql_fetch_array($edit); - - -
    Nama Workstation : ' size=30>
    Keterangan : ' size=30>
    IP address : ' size=30>
    Jenis Printer : -
    Otomatis Buka
    CashDrawer (*rlpr)
    : -
    Otomatis potong
    kertas (*rlpr)
    : -
    Printer Commands
    (auto-generated)
    : ' size=30 readonly>
     
        -
    - Edit Workstation +
    + + + + + + + + + + + "; + + echo " + + +
    Nama Workstation
    Keterangan
    IP address
    Jenis Printer +
    Printer Commands
    (auto-generated)
     
      +
    "; break; } } // if (empty($_SESSION[namauser]) AND empty($_SESSION[passuser])) @@ -172,7 +158,7 @@ function CalculatePrinterCommands() { /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : initial release - ------------------------------------------------------------------------ */ +------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_membership.php b/sistem/modul/mod_membership.php deleted file mode 100644 index 194ea0d..0000000 --- a/sistem/modul/mod_membership.php +++ /dev/null @@ -1,145 +0,0 @@ - $configItem['value'], - 'description' => $configItem['description'] - ); - } - ?> - -

    Membership Configuration

    -
    - - - - - - - - - - - - - -
    :
     
    - -
    -
    - 'Januari', - 2 => 'Februari', - 3 => 'Maret', - 4 => 'April', - 5 => 'Mei', - 6 => 'Juni', - 7 => 'Juli', - 8 => 'Agustus', - 9 => 'September', - 10 => 'Oktober', - 11 => 'November', - 12 => 'Desember' - ); - - ?> -

    Periode Poin

    -
    - - - - - - - - - - - - -
    Nama:Awal: - - Akhir: - - - -
    -
    - - - - - - - - - - - - - - - - - - - -
    Nama PeriodeAwalAkhir
    -

    Data Menu

    -
    - + +
    -
    - + +

    @@ -46,13 +46,13 @@ Aksi @@ -73,27 +73,27 @@ ?>
    - << Kembali + Kembali

    Tambah Menu

    -
    + - + - - - + + - - + + - - + + - - + + - - + + - - - + + +   +
    Nama Menu :
    Parent :
    Link : Link
    Icon : Icon
    Label : Label
    Access Key : Access Key
    Publish : Y - N PublishY + N
    Pejabat : - : +
    Urutan : Urutan
     
    -     -
    @@ -156,59 +156,59 @@ break; case "editmenu": - $edit = mysql_query("SELECT * FROM menu WHERE id = '$_GET[id]'"); - $data = mysql_fetch_array($edit); + $edit=mysql_query("SELECT * FROM menu WHERE id='$_GET[id]'"); + $data=mysql_fetch_array($edit); ?>

    Edit Menu

    - - + + - - - + + - - + + - - + + - - + + - - - - + + - +
    Nama Menu :
    Nama Menu
    Parent :
    Link : Link
    Icon : Icon
    Label : Label
    Access Key : Access Key
    Publish : > Y + > Y > N
    Jabatan User :
    Urutan : Urutan
     
        -
      +
    @@ -239,33 +239,33 @@
    fa-rub
    - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -278,483 +278,483 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -767,27 +767,27 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -799,47 +799,47 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -852,95 +852,95 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -953,109 +953,109 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1068,37 +1068,37 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1119,99 +1119,99 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1221,21 +1221,21 @@ @@ -1247,8 +1247,8 @@ /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release + 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes + 0.6.5 : Gregorius Arief : initial release - ------------------------------------------------------------------------ */ + ------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_modul.php b/sistem/modul/mod_modul.php index a128807..5f618bc 100644 --- a/sistem/modul/mod_modul.php +++ b/sistem/modul/mod_modul.php @@ -1,6 +1,6 @@ Data Modul -
    -
    -
    - - "; - $tampil=mysql_query("SELECT idModul,namaModul,link,publish,levelUser,urutan - FROM modul m, leveluser lu - WHERE m.idLevelUser = lu.idLevelUser - ORDER BY urutan"); - $no=1; - while ($r=mysql_fetch_array($tampil)){ - //untuk mewarnai tabel menjadi selang-seling - if(($no % 2) == 0){ - $warna = "#EAF0F7"; +// Tampil Modul +default: + echo "

    Data Modul

    + + +
    +
    Nonama modullinkpublishpejabataksi
    + "; + $tampil=mysql_query("SELECT idModul,namaModul,link,publish,levelUser,urutan + FROM modul m, leveluser lu + WHERE m.idLevelUser=lu.idLevelUser + ORDER BY urutan"); + $no=1; + while ($r=mysql_fetch_array($tampil)){ + //untuk mewarnai tabel menjadi selang-seling + if(($no % 2) == 0){ + $warna="#EAF0F7"; } else{ - $warna = "#FFFFFF"; + $warna="#FFFFFF"; } - echo "";//end warna - echo " - - - - - "; + echo "";//end warna + echo " + + + + + "; - $no++; - } - echo "
    Nonama modullinkpublishpejabataksi
    $no$r[namaModul]$r[link]$r[publish]$r[levelUser]Edit | - Hapus -
    $no$r[namaModul]$r[link]$r[publish]$r[levelUser]Edit | + Hapus +

     

    - << Kembali"; - break; + $no++; + } + echo "

     

    + Kembali"; + break; - case "tambahmodul": - echo "

    Tambah Modul

    -
    - - - - - - - - -
    Nama Modul :
    Link :
    Publish : Y - N
    Pejabat :
     
        -
    "; - break; +case "tambahmodul": + echo "

    Tambah Modul

    +
    + + + + + + + + +
    Nama Modul
    Link
    Publish Y + N
    Pejabat
     
      +
    "; + break; - case "editmodul": - $edit = mysql_query("SELECT * FROM modul WHERE idModul = '$_GET[id]'"); - $data = mysql_fetch_array($edit); +case "editmodul": + $edit=mysql_query("SELECT * FROM modul WHERE idModul='$_GET[id]'"); + $data = mysql_fetch_array($edit); - echo "

    Edit Modul

    -
    - - - - "; - if ($data[publish]=='Y'){ - echo ""; - } - else{ - echo ""; - } - echo " - - - -
    Nama Modul :
    Link :
    Publish : Y - N
    Publish : Y - N
    Jabatan User :
     
        -
    "; - break; + echo "

    Edit Modul

    +
    + + + + "; + if ($data[publish]=='Y'){ + echo ""; + } + else{ + echo ""; + } + echo " + + + +
    Nama Modul
    Link
    PublishY + N
    PublishY + N
    Jabatan User
     
      +
    "; + break; } /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.6.5 : Gregorius Arief : initial release ------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_piutang.php b/sistem/modul/mod_piutang.php index d8a5c9b..6db67c6 100644 --- a/sistem/modul/mod_piutang.php +++ b/sistem/modul/mod_piutang.php @@ -1,6 +1,6 @@ Daftar Piutang - - - "; - $tampil=mysql_query("select p.idTransaksiJual, namaCustomer, p.tglDiBayar, p.nominal - from piutang p, transaksijual tj, customer c - where p.idTransaksiJual = tj.idTransaksiJual and tj.idCustomer = c.idCustomer"); - $no=1; - while ($r=mysql_fetch_array($tampil)){ - $tgl = tgl_indo($r[tglDiBayar]); - //untuk mewarnai tabel menjadi selang-seling - if(($no % 2) == 0){ - $warna = "#EAF0F7"; - } - else{ - $warna = "#FFFFFF"; - } - echo "";//end warna - echo " - - - - - "; - $no++; - } - echo "
    noId TransaksiNama CustomerTgl Harus BayarNominal
    $no$r[idTransaksiJual]$r[namaCustomer]$tgl$r[nominal]
    -

     

    - << Kembali"; + default: + echo " +

    Daftar Piutang

    + + + "; + $tampil=mysql_query("select p.idTransaksiJual, namaCustomer, p.tglDiBayar, p.nominal + from piutang p, transaksijual tj, customer c + where p.idTransaksiJual=tj.idTransaksiJual and tj.idCustomer=c.idCustomer"); + $no=1; + while ($r=mysql_fetch_array($tampil)){ + $tgl=tgl_indo($r[tglDiBayar]); + //untuk mewarnai tabel menjadi selang-seling + if(($no % 2) == 0){ + $warna="#EAF0F7"; + } + else{ + $warna="#FFFFFF"; + } + echo "";//end warna + echo " + + + + + "; + $no++; + } + echo "
    noId TransaksiNama CustomerTgl Harus BayarNominal
    $no$r[idTransaksiJual]$r[namaCustomer]$tgl$r[nominal]
    +

     

    + Kembali"; - break; + break; } /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.6.5 : Gregorius Arief : initial release ------------------------------------------------------------------------ */ diff --git a/sistem/modul/mod_rak.php b/sistem/modul/mod_rak.php index 4d44358..00370b3 100644 --- a/sistem/modul/mod_rak.php +++ b/sistem/modul/mod_rak.php @@ -1,17 +1,17 @@

    Tambah Rak Barang

    -
    + - + +   +
    Tambah Rak :
    -     -
    @@ -43,18 +43,18 @@ Aksi @@ -68,24 +68,24 @@ $no++; } echo " -

     

    - << Kembali"; +

     

    + Kembali"; break; case "editrak": - $edit = mysql_query("select * from rak where idRak = '$_GET[id]'"); - $data = mysql_fetch_array($edit); + $edit=mysql_query("select * from rak where idRak='$_GET[id]'"); + $data=mysql_fetch_array($edit); echo "

    Edit Rak Barang

    -
    - - - - -
    Edit Rak :
        -
    -
    -
    -

    Data Rak Barang

    "; +
    + + + + +
    Edit Rak
      +
    +
    +
    +

    Data Rak Barang

    "; ?> @@ -94,9 +94,9 @@ > @@ -117,8 +117,8 @@ /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release + 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes + 0.6.5 : Gregorius Arief : initial release - ------------------------------------------------------------------------ */ + ------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_satuan_barang.php b/sistem/modul/mod_satuan_barang.php index 5f5ab51..1f29522 100644 --- a/sistem/modul/mod_satuan_barang.php +++ b/sistem/modul/mod_satuan_barang.php @@ -1,17 +1,17 @@

    Tambah Satuan Barang

    - +
    Aksi
    -
    Tambah Satuan :
    -     - +   +
    @@ -46,18 +46,18 @@ @@ -72,24 +72,24 @@ $no++; } echo " -

     

    - << Kembali"; +

     

    + Kembali"; break; case "editsatuan": - $edit = mysql_query("select * from satuan_barang where idSatuanBarang = '$_GET[id]'"); - $data = mysql_fetch_array($edit); + $edit=mysql_query("select * from satuan_barang where idSatuanBarang='$_GET[id]'"); + $data=mysql_fetch_array($edit); echo "

    Edit Satuan Barang

    - - - - - -
    Edit Satuan :
        -
    - -
    -

    Data Satuan Barang

    "; +
    + + + + +
    Edit Satuan
      +
    +
    +
    +

    Data Satuan Barang

    "; ?> @@ -98,9 +98,9 @@ > @@ -121,8 +121,8 @@ /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release + 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes + 0.6.5 : Gregorius Arief : initial release - ------------------------------------------------------------------------ */ + ------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_supplier.php b/sistem/modul/mod_supplier.php index 089783d..a564d9b 100644 --- a/sistem/modul/mod_supplier.php +++ b/sistem/modul/mod_supplier.php @@ -1,19 +1,20 @@

    Data Supplier

    - - + +
    Aksi
    @@ -34,9 +35,9 @@ > @@ -52,49 +53,49 @@ ?>
    aksi

     

    - << Kembali + Kembali Tambah Supplier -
    - - - - - - - -
    Nama Supplier :
    Alamat Supplier :
    Telp Supplier :
    Keterangan :
     
        -
    "; +
    + + + + + + + +
    Nama Supplier
    Alamat Supplier
    Telp Supplier
    Keterangan
     
      +
    "; break; case "editsupplier": - $edit = mysql_query("SELECT * FROM supplier WHERE idSupplier='$_GET[id]'"); - $data = mysql_fetch_array($edit); + $edit=mysql_query("SELECT * FROM supplier WHERE idSupplier='$_GET[id]'"); + $data=mysql_fetch_array($edit); echo "

    Edit Supplier

    -
    - - - - - - - - - -
    Nama Supplier :
    Interval : hari
    (selang waktu / periode kunjungan)
    Alamat Supplier :
    Telp Supplier :
    Keterangan :
     
        -
    "; +
    + + + + + + + + + +
    Nama Supplier
    Interval hari
    (selang waktu / periode kunjungan)
    Alamat Supplier
    Telp Supplier
    Keterangan
     
      +
    "; break; } /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.6.5 : Gregorius Arief : initial release - ------------------------------------------------------------------------ */ +------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/mod_system.php b/sistem/modul/mod_system.php index 0d51bb5..1170932 100644 --- a/sistem/modul/mod_system.php +++ b/sistem/modul/mod_system.php @@ -2,131 +2,108 @@ check_user_access(basename($_SERVER['SCRIPT_NAME'])); session_start(); -$act = $_GET['act']; +$act=$_GET['act']; switch ($act) { - case 'setting': - $result = mysql_query('select `option`, value, description from config') or die(mysql_error()); - $config = array(); + case 'setting': + $result=mysql_query('select `option`, value, description from config') or die(mysql_error()); + $config=array(); - while ($configItem = mysql_fetch_array($result)) { - $config[$configItem['option']] = array( - 'value' => $configItem['value'], - 'description' => $configItem['description'] - ); - } - ?> - -

    Setting Configuration

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    :
    :
    :
    :
    :
    :
    : -
    : - -
    : - -
     
    - -
    -
    - $configItem['value'], + 'description' => $configItem['description'] + ); + } + ?> - case 'maintenance': - ?> -

    System Maintenance

    - - -
    +

    Setting Configuration

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
     
    + +
    +
    + - - + + Server Info"; + ahad_info(); + break; } //eof diff --git a/sistem/modul/mod_user.php b/sistem/modul/mod_user.php index 84a77cb..f6d139c 100644 --- a/sistem/modul/mod_user.php +++ b/sistem/modul/mod_user.php @@ -1,167 +1,153 @@ -
    - '> - - - - - - - - - - - - - - -
    Nama User : '>
    Jabatan User : -
    Username : '>
    Password :
    *) Apabila password tidak diubah, dikosongkan saja.
     
        -
    - +

    User Info

    +
    + '> + + + + + + + + + + +
    Nama User'>
    Jabatan User
    Username'>
    Password
    *) Apabila password tidak diubah, dikosongkan saja.
     
      +
    menampilkan semua daftar user tanpa paging - default: - ?> -

    Data User

    -
    -
    -
    - - - - - - - - - - > - - - - - - - -
    NoID UserNama UserJabatan Useraksi
    >Edit | - >Hapus -
    -

     

    - << Kembali - Tambah User -
    - - - - - - - - - -
    Nama User :
    Jabatan User :
    Username :
    Password :
     
        -
    "; - break; - - case "edituser": - $edit = mysql_query("SELECT * FROM user WHERE idUser='$_GET[id]'"); - $data = mysql_fetch_array($edit); - - echo "

    Edit User

    -
    - - - - - - - - - - - -
    Nama User :
    Jabatan User :
    Username :
    Password :
    *) Apabila password tidak diubah, dikosongkan saja.
     
        -
    "; - break; - }; + switch ($_GET[act]) { + // Tampil User -> menampilkan semua daftar user tanpa paging + default: + ?> +

    Data User

    +
    +
    +
    + + + + + + + + + + > + + + + + + + +
    NoID UserNama UserJabatan Useraksi
    >Edit | + >Hapus +
    +

     

    + Kembali + Tambah User +
    + + + + + + + + + +
    Nama User
    Jabatan User
    Username
    Password
     
      +
    "; + break; + + case "edituser": + $edit=mysql_query("SELECT * FROM user WHERE idUser='$_GET[id]'"); + $data=mysql_fetch_array($edit); + + echo "

    Edit User

    +
    + + + + + + + + + + + +
    Nama User
    Jabatan User
    Username
    Password
    *) Apabila password tidak diubah, dikosongkan saja.
     
      +
    "; + break; + }; }; //if ($_GET[module] == 'ganti_password') { /* CHANGELOG ----------------------------------------------------------- - 1.0.2 / 2011-03-04 : Harry Sufehmi : ganti password untuk semua user - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release +1.0.2 / 2011-03-04 : Harry Sufehmi : ganti password untuk semua user +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.6.5 : Gregorius Arief : initial release - ------------------------------------------------------------------------ */ +------------------------------------------------------------------------ */ ?> diff --git a/sistem/modul/tutup_kas.php b/sistem/modul/tutup_kas.php index 3082374..f2790ff 100644 --- a/sistem/modul/tutup_kas.php +++ b/sistem/modul/tutup_kas.php @@ -1,6 +1,6 @@ - - - - - - - - -
    Kas Awal : $kas
    Uang Transaksi : $uang
    Uang Seharusnya : $jum
    Uang Kasir :
     
        -
    - +$kas=getKasAwal($_SESSION[iduser]); +$uang=getUangKasir($_SESSION[iduser]); +$jum=$kas+$uang; + +echo "
    + + + + + + + + +
    Kas Awal$kas
    Uang Transaksi$uang
    Uang Seharusnya$jum
    Uang Kasir
     
      +
    +
    "; - /* CHANGELOG ----------------------------------------------------------- - 1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes - 0.6.5 : Gregorius Arief : initial release +1.0.1 / 2010-06-03 : Harry Sufehmi : various enhancements, bugfixes +0.6.5 : Gregorius Arief : initial release ------------------------------------------------------------------------ */ diff --git a/sistem/upgrade_check.php b/sistem/upgrade_check.php index 60cfed6..ff08f83 100644 --- a/sistem/upgrade_check.php +++ b/sistem/upgrade_check.php @@ -1,1276 +1,870 @@ -"; - echo "Current software version : $major.$minor.$revision

    "; - - if ($dbmajor == 1) { // ------- eksekusi semua patch versi 1.x - echo "Checking database version 1.x.x \n
    "; - check_minor_major1($dbminor, $minor, $dbrevision, $revision); - } -// else { -// selesai(); -// }; - - if ($major == 2 && $dbmajor == 1) { // ------- upgrade dari versi 1.6.1 ke versi 2.0.0 - echo "Upgrading to database version 2.0.0 \n
    "; - upgrade_161_to_200(); - } -// else { -// selesai(); -// } - - if (($major == 2) && ($dbmajor == 2)) { // ------- eksekusi semua patch versi 2.x - echo "Checking database version 2.x.x \n
    "; - check_minor_major2($dbminor, $minor, $dbrevision, $revision); - } else { - selesai(); - } - - if ($major >= 3 && $dbmajor <= $major) { // ------- eksekusi semua patch versi 3.x - echo "Checking database version 3.x.x \n
    "; - check_minor_major3($dbminor, $minor, $dbrevision, $revision); - } else { - selesai(); - } - - - - exit; -} - -// =================================== PATCH VERSI 1.x.x ========================================== -function check_minor_major1($dbminor, $minor, $dbrevision, $revision) { - - if ($dbminor == 2) { // ------- eksekusi semua patch versi 1.2.x - echo "Upgrading database to version 1.2.x \n
    "; - check_revision_minor2_major1($dbminor, $minor, $dbrevision, $revision); - } - - if ($dbminor < 5) { // ------- eksekusi semua patch versi 1.5.x - echo "Upgrading database to version 1.5.x \n
    "; - check_revision_minor5_major1($dbminor, $minor, $dbrevision, $revision); - } - - if ($dbminor < 6) { // ------- eksekusi semua patch versi 1.6.x - if ($dbrevision < 1) { - echo "Upgrading database to version 1.6.x \n
    "; - check_revision_minor6_major1($dbminor, $minor, $dbrevision, $revision); - } - } -} - -function check_revision_minor2_major1($dbminor, $minor, $dbrevision, $revision) { - - echo "Upgrading database to version 1.2.0 \n
    "; - upgrade_old_to_120(); - - echo "Upgrading database from 1.2.0 to version 1.2.5 \n
    "; - upgrade_120_to_125(); -} - -function check_revision_minor5_major1($dbminor, $minor, $dbrevision, $revision) { - - echo "Upgrading database from 1.2.5 to version 1.5.0 \n
    "; - upgrade_125_to_150(); -} - -function check_revision_minor6_major1($dbminor, $minor, $dbrevision, $revision) { - -// upgrade 1.5.x ke 1.6.0 - if ($dbminor == '5') { - echo "Upgrading database from 1.5.0 to version 1.6.0 \n
    "; - upgrade_150_to_160(); - }; - -// upgrade 1.6.0 ke 1.6.x - if ($dbrevision < 1) { - echo "Upgrading database from 1.6.0 to version 1.6.1 \n
    "; - upgrade_160_to_161(); - }; -} - -// ------------------------------------------------------------------------------------ -// ----------------------------------------------------------------------------------- - -function upgrade_old_to_120() { - -// nothing to do here -} - -function upgrade_120_to_125() { - - -// database structure upgrade ------------------------------------------------- - $sql = "ALTER TABLE `kategori_barang` CHANGE `idKategoriBarang` `idKategoriBarang` INT( 5 ) NOT NULL AUTO_INCREMENT"; - $hasil = exec_query($sql); - -// optimizations -------------------------------------------------------------- - $sql = "ALTER TABLE `barang` ADD INDEX (`idKategoriBarang`); - ALTER TABLE `barang` ADD INDEX (`idSupplier`); - ALTER TABLE `barang` ADD FULLTEXT (`namaBarang`); - - ALTER TABLE `detail_beli` ADD INDEX (`isSold`); - ALTER TABLE `detail_beli` ADD INDEX (`jumBarang`); - ALTER TABLE `detail_beli` ADD INDEX (`idBarang`); - ALTER TABLE `detail_beli` ADD INDEX (`barcode`); - - ALTER TABLE `detail_jual` ADD INDEX (`username`); - ALTER TABLE `detail_jual` ADD INDEX (`nomorStruk`); - ALTER TABLE `detail_jual` ADD INDEX (`barcode`); - - ALTER TABLE `tmp_detail_beli` ADD INDEX (`idSupplier`); - ALTER TABLE `tmp_detail_beli` ADD INDEX (`username`); - - ALTER TABLE `transaksijual` ADD INDEX (`idUser`); - ALTER TABLE `transaksijual` ADD INDEX (`tglTransaksiJual`); - ALTER TABLE `transaksijual` ADD INDEX (`nominal`); - "; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(1, 2, 5))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(1, 2, 5))."', '')"; - }; - $hasil = mysql_query($sql); -} - -function upgrade_125_to_150() { - -// database structure upgrade ------------------------------------------------- - $sql = " - ALTER TABLE `modul` ADD `script_name` VARCHAR( 50 ) NOT NULL; - ALTER TABLE `modul` ADD INDEX (`script_name`); - - UPDATE `modul` SET `script_name` = 'mod_user.php' WHERE `modul`.`link` = '?module=user' ; - UPDATE `modul` SET `script_name` = 'mod_supplier.php' WHERE `modul`.`link` = '?module=supplier' ; - UPDATE `modul` SET `script_name` = 'mod_customer.php' WHERE `modul`.`link` = '?module=customer' ; - UPDATE `modul` SET `script_name` = 'mod_barang.php' WHERE `modul`.`link` = '?module=barang' ; - UPDATE `modul` SET `script_name` = 'mod_rak.php' WHERE `modul`.`link` = '?module=rak' ; - UPDATE `modul` SET `script_name` = 'mod_satuan_barang.php' WHERE `modul`.`link` = '?module=satuan_barang' ; - UPDATE `modul` SET `script_name` = 'mod_kategori_barang.php' WHERE `modul`.`link` = '?module=kategori_barang' ; - UPDATE `modul` SET `script_name` = 'mod_beli_barang.php' WHERE `modul`.`link` = '?module=pembelian_barang' ; - UPDATE `modul` SET `script_name` = 'mod_jual_barang.php' WHERE `modul`.`link` = '?module=penjualan_barang' ; - UPDATE `modul` SET `script_name` = 'mod_hutang.php' WHERE `modul`.`link` = '?module=hutang' ; - UPDATE `modul` SET `script_name` = 'mod_piutang.php' WHERE `modul`.`link` = '?module=piutang' ; - UPDATE `modul` SET `script_name` = 'mod_modul.php' WHERE `modul`.`link` = '?module=modul' ; - UPDATE `modul` SET `script_name` = 'mod_kasir.php' WHERE `modul`.`link` = '?module=kasir' ; - UPDATE `modul` SET `script_name` = 'mod_laporan.php' WHERE `modul`.`link` = '?module=laporan' ; - UPDATE `modul` SET `script_name` = 'mod_manage_workstation.php' WHERE `modul`.`link` = '?module=workstation' ; - - "; - $hasil = exec_query($sql); - echo mysql_error(); - -// optimizations -------------------------------------------------------------- -// no optimizations for 1.2.5 --> 1.5.0 -//$sql = ""; -//$hasil = exec_query($sql); -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(1, 5, 0))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(1, 5, 0))."', '')"; - }; - $hasil = mysql_query($sql); -} - -function upgrade_150_to_160() { - - $sql = "alter table modul add index(idLevelUser);"; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "alter table modul add index(publish);"; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "alter table leveluser add index (idLevelUser);"; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "alter table leveluser add index (levelUser);"; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "ALTER TABLE `supplier` ADD `interval` INT NOT NULL DEFAULT '7'"; - $hasil = exec_query($sql); - echo mysql_error(); - - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(1, 6, 0))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(1, 6, 0))."', '')"; - }; - $hasil = mysql_query($sql); -} - -function upgrade_160_to_161() { - - $sql = "CREATE TABLE IF NOT EXISTS `arsip_barang` ( - `idBarang` bigint(20) NOT NULL DEFAULT '0', - `namaBarang` varchar(30) DEFAULT ' ', - `idKategoriBarang` int(5) DEFAULT '0', - `idSatuanBarang` int(5) DEFAULT '0', - `jumBarang` int(10) DEFAULT '0', - `hargaJual` bigint(20) DEFAULT '0', - `last_update` date DEFAULT '2000-01-01', - `idSupplier` bigint(20) DEFAULT '0', - `barcode` varchar(25) DEFAULT NULL, - `username` varchar(30) DEFAULT NULL, - `idRak` bigint(5) DEFAULT NULL, - UNIQUE KEY `barcode` (`barcode`), - KEY `idKategoriBarang` (`idKategoriBarang`), - KEY `namaBarang` (`namaBarang`), - KEY `idSupplier` (`idSupplier`), - KEY `idKategoriBarang_2` (`idKategoriBarang`), - KEY `idSupplier_2` (`idSupplier`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1; - "; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "CREATE TABLE IF NOT EXISTS `tmp_cetak_label_perbarcode` ( - `id` int(12) NOT NULL AUTO_INCREMENT, - `tmpBarcode` varchar(50) DEFAULT NULL, - `tmpNama` varchar(100) DEFAULT NULL, - `tmpKategori` varchar(50) DEFAULT NULL, - `tmpSatuan` varchar(50) DEFAULT NULL, - `tmpJumlah` varchar(100) DEFAULT NULL, - `tmpHargaJual` varchar(100) DEFAULT NULL, - `tmpIdBarang` int(12) DEFAULT NULL, - PRIMARY KEY (`id`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9;"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(1, 6, 1))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(1, 6, 1))."', '')"; - }; - $hasil = mysql_query($sql); -} - -// =================================== PATCH VERSI 2.x.x ========================================== -function check_minor_major2($dbminor, $minor, $dbrevision, $revision) { - - if ($minor == 0) { // ------- eksekusi semua patch versi 2.0.x - echo "Upgrading database to version 2.0.x \n
    "; - check_revision_minor0_major2($dbminor, $minor, $dbrevision, $revision); - } -} - -function check_revision_minor0_major2($dbminor, $minor, $dbrevision, $revision) { - if ($dbrevision < 1) { - echo "Upgrading database to version 2.0.1
    "; - upgrade_200_to_201(); - } - if ($dbrevision < 2) { - echo "Upgrading database to version 2.0.2
    "; - upgrade_201_to_202(); - } - if ($dbrevision < 3) { - echo "Upgrading database to version 2.0.3
    "; - upgrade_202_to_203(); - } - if ($dbrevision < 4) { - echo "Upgrading database to version 2.0.4
    "; - upgrade_203_to_204(); - } - if ($dbrevision < 5) { - echo "Upgrading database to version 2.0.5
    "; - upgrade_204_to_205(); - } - if ($dbrevision < 6) { - echo "Upgrading database to version 2.0.6
    "; - upgrade_205_to_206(); - } - if ($dbrevision < 7) { - echo "Upgrading database to version 2.0.7
    "; - upgrade_206_to_207(); - } - if ($dbrevision < 8) { - echo "Upgrading database to version 2.0.8
    "; - upgrade_207_to_208(); - } - if ($dbrevision < 9) { - echo "Upgrading database to version 2.0.9
    "; - upgrade_208_to_209(); - } - if ($dbrevision < 10) { - echo "Upgrading database to version 2.0.10
    "; - upgrade_209_to_210(); - } - if ($dbrevision < 11) { - echo "Upgrading database to version 2.0.11
    "; - upgrade_210_to_211(); - } - if ($dbrevision < 12) { - echo "Upgrading database to version 2.0.12
    "; - upgrade_211_to_212(); - } - if ($dbrevision < 13) { - echo "Upgrading database to version 2.0.13
    "; - upgrade_212_to_213(); - } - if ($dbrevision < 14) { - echo "Upgrading database to version 2.0.14
    "; - upgrade_213_to_214(); - } - if ($dbrevision < 15) { - echo "Upgrading database to version 2.0.15
    "; - upgrade_214_to_215(); - } - if ($dbrevision < 16) { - echo "Upgrading database to version 2.0.16
    "; - upgrade_215_to_216(); - } - if ($dbrevision < 17) { - echo "Upgrading database to version 2.0.17
    "; - upgrade_216_to_217(); - } -} - -function upgrade_161_to_200() { - - /* Create Tabel Menu */ - $sql = "CREATE TABLE IF NOT EXISTS `menu` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `nama` varchar(100) NOT NULL, - `link` varchar(1000) NOT NULL, - `icon` varchar(45) DEFAULT NULL, - `parent_id` int(11) DEFAULT NULL, - `label` varchar(100) NOT NULL, - `accesskey` varchar(1) DEFAULT NULL, - `publish` enum('Y','N') NOT NULL, - `level_user_id` int(11) NOT NULL, - `urutan` int(11) NOT NULL DEFAULT '1', - `level` int(11) NOT NULL DEFAULT '0', - `last_update` datetime DEFAULT NULL, - PRIMARY KEY (`id`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 - "; - $hasil = exec_query($sql); - echo mysql_error(); - - /* Isi tabel menu */ - $sql = "INSERT INTO `menu` (`id`, `nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - (1, 'Home', 'media.php?module=home', 'fa fa-home fa-4x', 0, 'Home', '', 'Y', 1, 1, 0, ''), - (2, 'Barang', 'media.php?module=barang', 'fa fa-barcode fa-4x', 0, 'Barang', '', 'Y', 3, 2, 0, ''), - (3, 'Pembelian', 'media.php?module=pembelian_barang', 'fa fa-truck fa-4x', 0, 'Pembelian', '', 'Y', 3, 3, 0, ''), - (4, 'Kasir', 'media.php?module=kasir', 'fa fa-shopping-cart fa-4x', 0, 'Kasir', '', 'Y', 3, 4, 0, ''), - (5, 'Laporan', 'media.php?module=laporan', 'fa fa-bar-chart-o fa-4x', 0, 'Laporan', '', 'Y', 2, 5, 0, ''), - (6, 'Stock Opname', 'media.php?module=barang&act=cetakbarang1', 'fa fa-check-square-o fa-4x', 0, 'Stock Op', '', 'Y', 3, 5, 0, ''), - (7, 'Settings', 'media.php?module=ganti_password', 'fa fa-wrench fa-4x', 0, 'Settings', '', 'Y', 2, 7, 0, ''), - (8, 'Logout', 'logout.php', 'fa fa-power-off fa-4x', 0, 'Logout', '', 'Y', 1, 9, 0, ''), - (9, 'Satuan Barang', 'media.php?module=satuan_barang', '', 2, 'Satuan Barang', '', 'Y', 3, 1, 0, ''), - (10, 'Menu', 'media.php?module=menu', '', 7, 'Menu', '', 'Y', 2, 4, 0, ''), - (11, 'Supplier', 'media.php?module=supplier', '', 7, 'Supplier', '', 'Y', 3, 1, 0, ''), - (12, 'Kategori Barang', 'media.php?module=kategori_barang', '', 2, 'Kategori Barang', '', 'Y', 3, 2, 0, ''), - (13, 'Rak Barang', 'media.php?module=rak', '', 2, 'Rak Barang', '', 'Y', 3, 3, 0, ''), - (14, 'Tambah Barang', 'media.php?module=barang&act=tambahbarang', '', 2, 'Tambah Barang', '', 'Y', 3, 4, 0, ''), - (15, 'Cari Barang', 'media.php?module=barang&act=caribarang1', '', 2, 'Cari Barang', '', 'Y', 3, 5, 0, ''), - (16, 'Cetak Label per Rak', 'media.php?module=barang&act=cetaklabel1', '', 2, 'Cetak Label per Rak', '', 'Y', 3, 6, 0, ''), - (17, 'Transfer Barang Antar Ahad', 'media.php?module=barang&act=transfer1', '', 2, 'Transfer Barang Antar Ahad', '', 'Y', 3, 7, 0, ''), - (18, 'Input Rak Barang', 'media.php?module=barang&act=inputrak', '', 2, 'Input Rak Barang', '', 'Y', 3, 8, 0, ''), - (19, 'Pembelian Barang', 'media.php?module=pembelian_barang&act=pembelianbarang', '', 3, 'Pembelian Barang', '', 'Y', 3, 1, 0, ''), - (20, 'Retur Pembelian', 'media.php?module=pembelian_barang&act=returpembelian', '', 3, 'Retur Pembelian', '', 'Y', 3, 2, 0, ''), - (21, 'Cetak Nota Retur', 'media.php?module=pembelian_barang&act=cetakretur', '', 3, 'Cetak Nota Retur', '', 'Y', 3, 3, 0, ''), - (22, 'Input pembelian elektronik', 'media.php?module=pembelian_barang&act=inputeprocurement1', '', 3, 'Input Pembelian Elektronik', '', 'Y', 3, 4, 0, ''), - (23, 'Input RPO per item', 'media.php?module=pembelian_barang&act=buatrpo1', '', 3, 'Input RPO (per Item)', '', 'Y', 3, 5, 0, ''), - (24, 'Input RPO per Supplier', 'media.php?module=pembelian_barang&act=rposup1', '', 3, 'Input RPO per Supplier', '', 'Y', 3, 6, 0, ''), - (25, 'Buka kasir', 'media.php?module=kasir&act=bukakasir', '', 4, 'Buka Kasir', '', 'Y', 3, 1, 0, ''), - (26, 'Tutup kasir', 'media.php?module=kasir&act=tutupkasir', '', 4, 'Tutup Kasir', '', 'Y', 3, 2, 0, ''), - (27, 'Penambahan Dana', 'media.php?module=kasir&act=tambahdana', '', 4, 'Penambahan Dana', '', 'Y', 3, 3, 0, ''), - (28, 'Penjualan', 'media.php?module=penjualan_barang', '', 4, 'Penjualan', '', 'Y', 4, 4, 0, ''), - (29, 'User', 'media.php?module=user', '', 7, 'User', '', 'Y', 2, 3, 0, ''), - (34, 'Customer', 'media.php?module=customer', '', 7, 'Customer', '', 'Y', 4, 2, 0, ''), - (35, 'Workstation', 'media.php?module=workstation', '', 7, 'Workstation', '', 'Y', 2, 5, 0, ''), - (36, 'Personal Info', 'media.php?module=ganti_password', '', 7, 'Personal Info', '', 'Y', 2, 6, 0, ''), - (37, 'Laporan Pemb Brg / tgl', 'media.php?module=pembelian_barang&act=laporanpembeliantanggal', '', 5, 'Pembelian Barang per Tanggal', '', 'Y', 2, 1, 0, ''), - (38, 'Laporan Pemb Brg / sup', 'media.php?module=pembelian_barang&act=laporanpembelian', '', 5, 'Pembelian Barang per Supplier', '', 'Y', 2, 2, 0, ''), - (39, 'Laporan Penjualan', 'media.php?module=laporan&act=penjualan1', '', 5, 'Penjualan', '', 'Y', 2, 3, 0, ''), - (40, 'Total Stock', 'media.php?module=laporan&act=total1', '', 5, 'Total Stock', '', 'Y', 2, 4, 0, ''), - (41, 'Top Rank', 'media.php?module=laporan&act=toprank1', '', 5, 'Top Rank', '', 'Y', 2, 5, 0, ''), - (42, 'Aging', 'media.php?module=laporan&act=aging1', '', 5, 'Aging Stock', '', 'Y', 2, 6, 0, ''), - (43, 'Cetak Stock Barang', 'media.php?module=barang&act=cetakbarang1', '', 6, 'Cetak Stock Barang', '', 'Y', 3, 1, 0, ''), - (44, 'Cetak Form Stock Op', 'media.php?module=barang&act=cetakSO', '', 6, 'Cetak Form Stock Opname', '', 'Y', 3, 2, 0, ''), - (45, 'Input SO Manual', 'media.php?module=barang&act=inputSO', '', 6, 'Input SO Manual', '', 'Y', 3, 3, 0, ''), - (46, 'Fast SO', '../tools/fast-stock-opname/fast-SO.php', '', 6, 'Input Fast SO', '', 'Y', 3, 4, 0, ''), - (47, 'Approve Fast SO', 'media.php?module=barang&act=ApproveFastSO1', '', 6, 'Approve Fast SO', '', 'Y', 3, 5, 0, ''), - (48, 'Input Mobil SO', '../tools/fast-stock-opname/fast-SO-mobile.php', '', 6, 'Input Mobile SO', '', 'Y', 3, 6, 0, ''), - (49, 'Approve Mobile SO', 'media.php?module=barang&act=ApproveMobileSO1', '', 6, 'Approve Mobile SO', '', 'Y', 3, 7, 0, ''), - (50, 'System', 'media.php?module=system', 'fa fa-cogs fa-4x', 0, 'System', '', 'Y', 2, 8, 0, ''), - (51, 'Setting', 'media.php?module=system&act=setting', '', 50, 'Setting', '', 'Y', 2, 1, 0, ''), - (52, 'Maintenance', 'media.php?module=system&act=maintenance', '', 50, 'Maintenance', '', 'Y', 2, 2, 0, ''), - (53, 'Diskon', 'media.php?module=barang&act=diskon', '', 2, 'Diskon', '', 'Y', 2, 9, 0, ''), - (54, 'Diskon', 'media.php?module=laporan&act=diskon1', '', 5, 'Diskon', '', 'Y', 2, 7, 0, ''), - (55, 'Pindah Supplier', 'media.php?module=barang&act=pindahsupplier', '', 2, 'Pindah Supplier', '', 'Y', 2, 10, 0, ''), - (56, 'Pindah Rak', 'media.php?module=barang&act=pindahrak', '', 2, 'Pindah Rak', '', 'Y', 2, 11, 0, ''), - (57, 'Rpo per Supplier Responsive', '../tools/rpo', '', 3, 'Input RPO per Supplier per Rak', '', 'Y', 3, 7, 0, ''); - "; - $hasil = exec_query($sql); - echo mysql_error(); - - /* Update deskripsi untuk memudahkan update config di aplikasi */ - $sql = "update config set description = 'Nama Toko' where `option`='store_name'; - update config set description = 'Struk Footer 1' where `option`='receipt_footer1'; - update config set description = 'Struk Footer 2' where `option`='receipt_footer2'; - update config set description = 'Struk Header 1' where `option`='receipt_header1'; - update config set description = 'Temporary Space' where `option`='temporary_space'; - update config set description = 'Versi' where `option`='version'; - "; - $hasil = exec_query($sql); - echo mysql_error(); - - /* Update struktur database untuk diskon (detail_jual, customer) - * Create table diskon (diskon_detail, diskon_tipe, diskon_transaksi) - */ - $sql = "ALTER TABLE `tmp_detail_jual` ADD `diskon_persen` INT( 11 ) NOT NULL DEFAULT '0'; - ALTER TABLE `tmp_detail_jual` ADD `diskon_rupiah` DECIMAL( 15, 2 ) NOT NULL DEFAULT '0'; - ALTER TABLE `tmp_detail_jual` ADD `diskon_detail_uids` varchar(255) DEFAULT NULL ; - - ALTER TABLE `detail_jual` - ADD COLUMN `uid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT FIRST, - ADD PRIMARY KEY (`uid`); - - ALTER TABLE `customer` - ADD COLUMN `diskon_persen` INT NULL DEFAULT 0 AFTER `last_update`, - ADD COLUMN `diskon_rupiah` DECIMAL(15,5) NULL DEFAULT 0 AFTER `diskon_persen`; - - - CREATE TABLE IF NOT EXISTS `diskon_detail` ( - `uid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, - `diskon_tipe_id` bigint(20) UNSIGNED NOT NULL, - `diskon_tipe_nama` varchar(25) NOT NULL, - `trigger` varchar(25) NOT NULL, - `barcode` varchar(25) DEFAULT NULL, - `tanggal_dari` datetime DEFAULT '0000-00-00 00:00:00', - `tanggal_sampai` datetime DEFAULT '0000-00-00 00:00:00', - `diskon_rupiah` decimal(15,2) NOT NULL DEFAULT '0.00', - `diskon_persen` int(11) NOT NULL DEFAULT '0', - `min_item` int(11) unsigned DEFAULT NULL COMMENT 'if (value >= qty) dapatDiskon;', - `max_item` int(11) unsigned DEFAULT NULL, - `status` tinyint(1) DEFAULT '1' COMMENT 'true=aktif; ', - PRIMARY KEY (`uid`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1000 ; - - - CREATE TABLE IF NOT EXISTS `diskon_tipe` ( - `uid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, - `nama` varchar(25) NOT NULL, - `deskripsi` varchar(250) DEFAULT NULL, - `trigger_quantity` tinyint(1) NOT NULL DEFAULT '0', - `trigger_price` tinyint(1) NOT NULL DEFAULT '0', - `trigger_time` tinyint(1) NOT NULL DEFAULT '0', - `trigger_total` tinyint(1) NOT NULL DEFAULT '0', - `trigger_barcode` tinyint(1) NOT NULL DEFAULT '0', - PRIMARY KEY (`uid`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1000 ; - - - INSERT INTO `diskon_tipe` (`uid`, `nama`, `deskripsi`, `trigger_quantity`, `trigger_price`, `trigger_time`, `trigger_total`, `trigger_barcode`) VALUES - (1, 'Admin', 'Entry Diskon Manual by Admin', 0, 0, 0, 0, 0), - (2, 'Customer', 'Diskon per Customer/Member', 0, 0, 0, 0, 0), - (1000, 'Grosir', 'Beli banyak harga turun', 1, 0, 0, 0, 1), - (1001, 'Waktu', 'Turun Harga selama waktu tertentu', 0, 0, 1, 0, 1); - - - CREATE TABLE IF NOT EXISTS `diskon_transaksi` ( - `uid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, - `diskon_detail_uids` varchar(255) NOT NULL COMMENT 'json = {diskon_detail_uid : diskon_rupiah}', - `barcode` varchar(25) DEFAULT NULL, - `waktu` datetime NOT NULL, - `diskon_rupiah` decimal(15,2) NOT NULL DEFAULT '0.00', - `diskon_persen` int(11) NOT NULL DEFAULT '0', - `idDetailJual` bigint(20) unsigned NOT NULL, - PRIMARY KEY (`uid`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; - - "; - $hasil = exec_query($sql); - echo mysql_error(); - - /* Create table "universal" tmp, saat ini dibuat, tabel ini hanya digunakan untuk rpo per supplier */ - $sql = "CREATE TABLE IF NOT EXISTS `tmp` ( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `bigint1` bigint(20) DEFAULT NULL, - `bigint2` bigint(20) DEFAULT NULL, - `bigint3` bigint(20) DEFAULT NULL, - `integer1` int(11) DEFAULT NULL, - `integer2` int(11) DEFAULT NULL, - `integer3` int(11) DEFAULT NULL, - `vc1` varchar(45) DEFAULT NULL, - `vc2` varchar(45) DEFAULT NULL, - `vc3` varchar(45) DEFAULT NULL, - `float1` float DEFAULT NULL, - `float2` float DEFAULT NULL, - `float3` float DEFAULT NULL, - `dt1` datetime DEFAULT NULL, - `dt2` datetime DEFAULT NULL, - `dt3` datetime DEFAULT NULL, - PRIMARY KEY (`id`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1; - "; - $hasil = exec_query($sql); - echo mysql_error(); - - /* Ubah struktur tabel barang agar bisa menampung status nonAktif */ - $sql = "ALTER TABLE `barang` - ADD COLUMN `nonAktif` TINYINT(1) NULL COMMENT '1=Tidak Aktif' AFTER `idRak`; - "; - $hasil = exec_query($sql); - echo mysql_error(); - - /* Create tabel untuk proses self_checkout / mobile cashier - * Tabel: self_checkout, self_checkout_detail, self_checkout_temp - */ - $sql = "CREATE TABLE `self_checkout` ( - `uid` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `ipv4` varchar(15) NOT NULL, - PRIMARY KEY (`uid`) - ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; - - CREATE TABLE `self_checkout_detail` ( - `uid` int(10) unsigned NOT NULL AUTO_INCREMENT, - `self_checkout_uid` bigint(20) NOT NULL, - `barcode` varchar(45) NOT NULL, - `qty` int(11) NOT NULL, - `harga_jual` bigint(20) NOT NULL, - `diskon` bigint(20) NOT NULL, - PRIMARY KEY (`uid`) - ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; - - CREATE TABLE `self_checkout_temp` ( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `barcode` varchar(45) NOT NULL, - `qty` int(10) unsigned NOT NULL, - `harga_jual` bigint(20) NOT NULL, - `diskon` bigint(20) NOT NULL DEFAULT '0', - `ipv4` varchar(15) NOT NULL, - PRIMARY KEY (`id`) - ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; - "; - $hasil = exec_query($sql); - echo mysql_error(); - - - /* Create tabel untuk modul rpo (responsive layout) di /tools/rpo - * Tabel: purchase_order, purchase_order_detail - */ - $sql = "CREATE TABLE `purchase_order` ( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `tanggal_buat` datetime NOT NULL, - `supplier_id` bigint(20) NOT NULL, - `range` int(11) NOT NULL COMMENT 'hari', - `buffer` int(11) NOT NULL COMMENT '%', - `jumlah_hari_persediaan` int(11) NOT NULL COMMENT 'hari', - `updated_by` varchar(30) NOT NULL, - `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0=rpo; 1=po', - PRIMARY KEY (`id`) - ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; - - - CREATE TABLE `purchase_order_detail` ( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `purchase_order_id` bigint(20) unsigned NOT NULL, - `barcode` varchar(25) NOT NULL, - `harga_beli_terakhir` bigint(20) NOT NULL, - `stok_saat_ini` int(11) DEFAULT NULL, - `avg_daily_sales` float DEFAULT NULL, - `saran_order` int(11) DEFAULT NULL, - `jumlah_order` int(11) DEFAULT NULL, - PRIMARY KEY (`id`) - ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; - "; - $hasil = exec_query($sql); - echo mysql_error(); - - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 0))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 0))."', '')"; - }; - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_200_to_201() { -// alter tabel self_checkout_temp - $sql = "ALTER TABLE `self_checkout_temp` - ADD COLUMN `waktu` TIMESTAMP NOT NULL AFTER `ipv4`; - "; - $hasil = exec_query($sql); - echo mysql_error(); - -// ubah tabel ke myisam (standar ahadpos) - $sql = "ALTER TABLE `purchase_order` - ENGINE = MyISAM"; - $hasil = exec_query($sql); - echo mysql_error(); - $sql = "ALTER TABLE `purchase_order_detail` - ENGINE = MyISAM"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 1))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 1))."', '')"; - }; - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_201_to_202() { - /* - * Init DB ahadPOS2 dari versi ini - * Yang belum ada di init script. dipindah ke upgrade_202_to_203 - */ -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 2))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 2))."', '')"; - }; - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_202_to_203() { -// Menambahkan UKM Mode: default Off - $sql = "INSERT INTO `config` (`option`, `value`, `description`) VALUES ('ukm_mode', '0', 'UKM Mode')"; - $hasil = exec_query($sql); - echo mysql_error(); - -// Menambahkan Stok (SO dengan tambahan summary ) - $sql = "INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - ('SO dengan Summary', '../tools/stok', '', 6, 'Stok', '', 'Y', 3, 8, 0, '')"; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "CREATE TABLE `stok_stat` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `keterangan` varchar(1000) NOT NULL, - `updated_by` varchar(30) NOT NULL, - `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `status` tinyint(4) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1"; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "CREATE TABLE `stok_stat_detail` ( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `stok_stat_id` int(10) unsigned NOT NULL, - `barcode` varchar(25) NOT NULL, - `harga_jual` bigint(20) NOT NULL, - `stok_tercatat` int(11) NOT NULL, - `stok_sebenarnya` int(11) DEFAULT NULL, - `updated_by` varchar(30) NOT NULL, - `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1;"; - $hasil = exec_query($sql); - echo mysql_error(); - -// alter tabel stok_stat_detail - $sql = "ALTER TABLE `stok_stat_detail` - ADD UNIQUE INDEX `stok_stat_id_UNIQUE` (`stok_stat_id` ASC, `barcode` ASC) - "; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 3))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 3))."', '')"; - }; - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_203_to_204() { -// ubah urutan menu Stok ke belakang - $sql = "UPDATE `menu` SET `urutan`='10' WHERE `label`='Stok'"; - $hasil = exec_query($sql); - echo mysql_error(); - -// Tambahkan menu Fast PDT SO (input SO dengan menggunakan Portable Data Terminal atau alat lain yang bisa batch scan barcode) -// dan "Approve" nya - $sql = "INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - ('Input SO dengan Portable Data Terminal', '../tools/fast-stock-opname/pdt-so.php', '', 6, 'Input PDT SO', '', 'Y', 3, 8, 0, ''), - ('Approve SO dengan Portable Data Terminal', 'media.php?module=barang&act=ApprovePdtSO1', '', 6, 'Approve PDT SO', '', 'Y', 3, 9, 0, '');"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 4))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 4))."', '')"; - }; - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_204_to_205() { -// Create Tabel harga_banded - $sql = "CREATE TABLE `harga_banded` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `barcode` varchar(25) NOT NULL, - `qty` int(10) unsigned NOT NULL, - `harga` int(11) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `barcode_UNIQUE` (`barcode`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1"; - $hasil = exec_query($sql); - echo mysql_error(); - -// Tambahkan menu Harga banded - $sql = "INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - ('Harga Banded', 'media.php?module=barang&act=hargabanded', '', 2, 'Harga Banded', '', 'Y', 2, 12, 0, '')"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 5))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 5))."', '')"; - }; - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_205_to_206() { -// Create Tabel tmp_harga_banded - $sql = "CREATE TABLE `tmp_harga_banded` ( - `barcode` varchar(25) NOT NULL, - `supplier_id` int(11) NOT NULL, - `user_name` varchar(30) NOT NULL, - `qty` int(11) NOT NULL, - `harga_satuan` float NOT NULL, - PRIMARY KEY (`barcode`,`user_name`,`supplier_id`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 6))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 6))."', '')"; - }; - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_206_to_207() { -// Create Tabel tmp_harga_banded - $sql = "ALTER TABLE `detail_jual` - ADD COLUMN `harga_jual_asli` BIGINT NULL AFTER `hargaJual` - "; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 7))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 7))."', '')"; - }; - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_207_to_208() { -// Pembuatan tabel untuk menyimpan transaksi transfer antar ahad - $sql = "CREATE TABLE `transaksitransferbarang` ( - `idTransaksi` bigint(20) NOT NULL AUTO_INCREMENT, - `tglTransaksi` datetime DEFAULT NULL, - `idCustomer` varchar(10) DEFAULT NULL, - `tglKirimBarang` date DEFAULT NULL, - `idTipePembayaran` int(3) DEFAULT NULL, - `nominal` bigint(20) DEFAULT '0', - `idUser` int(3) DEFAULT NULL, - `last_update` date DEFAULT NULL, - PRIMARY KEY (`idTransaksi`), - KEY `idUser` (`idUser`), - KEY `tglTransaksi` (`tglTransaksi`), - KEY `nominal` (`nominal`) - ) ENGINE=MyISAM - "; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "CREATE TABLE `detail_transfer_barang` ( - `uid` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `idBarang` bigint(20) NOT NULL, - `jumBarang` int(10) NOT NULL, - `hargaJual` bigint(20) NOT NULL, - `username` varchar(30) DEFAULT NULL, - `barcode` varchar(25) DEFAULT NULL, - `nomorStruk` bigint(20) DEFAULT NULL, - PRIMARY KEY (`uid`), - KEY `username` (`username`), - KEY `nomorStruk` (`nomorStruk`), - KEY `barcode` (`barcode`) - ) ENGINE=MyISAM - "; - $hasil = exec_query($sql); - echo mysql_error(); - -// Tambahkan menu Laporan Transfer Barang - $sql = "INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - ('Laporan Transfer Barang', 'media.php?module=laporan&act=transferbarang', '', 5, 'Transfer Barang', '', 'Y', 3, 8, 0, '')"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 8))."' WHERE `option` = 'version'"; - } else { - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 8))."', '')"; - }; - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_208_to_209() { -// Penambahan field customer - $sql = "ALTER TABLE `customer` - ADD COLUMN `nomor_ktp` VARCHAR(45) NULL, - ADD COLUMN `jenis_kelamin` TINYINT(1) NULL COMMENT '0=Laki-laki; 1=Perempuan', - ADD COLUMN `tanggal_lahir` DATE NULL, - ADD COLUMN `handphone` VARCHAR(45) NULL, - ADD COLUMN `email` VARCHAR(255) NULL, - ADD COLUMN `member` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '0=bukan, 1=member' - "; - $hasil = exec_query($sql); - echo mysql_error(); - -// Penambahan field nomor_kartu, dan perubahan idCustomer menjadi auto increment - $sql = "ALTER TABLE `customer` - CHANGE COLUMN `idCustomer` `idCustomer` INT UNSIGNED NOT NULL AUTO_INCREMENT , - ADD COLUMN `nomor_kartu` VARCHAR(45) NULL AFTER `idCustomer`, - ADD UNIQUE INDEX `nomor_kartu_UNIQUE` (`nomor_kartu` ASC) - "; - $hasil = exec_query($sql); - echo mysql_error(); - -// Menambahkan konfigurasi untuk point member - $sql = "INSERT INTO config (`option`, `value`, `description`) - VALUES ('point_value', '', 'Nilai rupiah untuk member mendapatkan 1 point') - "; - $hasil = exec_query($sql); - echo mysql_error(); - -// Tambahkan menu Membership - $sql = "INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - ('Membership', 'media.php?module=membership', '', 7, 'Membership', '', 'Y', 2, 7, 0, '')"; - $hasil = exec_query($sql); - echo mysql_error(); - -// Tambahkan menu Laporan Jumlah Poin - $sql = "INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - ('Jumlah POIN member', 'media.php?module=laporan&act=jumlahpoin', '', 5, 'Jumlah Poin', '', 'Y', 3, 8, 0, '')"; - $hasil = exec_query($sql); - echo mysql_error(); - -// Tambahkan field jumlah poin pada transaksi penjualan, jika ada - $sql = "ALTER TABLE `transaksijual` - ADD COLUMN `jumlah_poin` INT NULL DEFAULT 0 AFTER `uangDibayar`"; - $hasil = exec_query($sql); - echo mysql_error(); - -// Membuat tabel periode_poin untuk menentukan perhitungan di tampilan POS, -// Dan memudahkan dalam melihat laporan - $sql = "CREATE TABLE `periode_poin` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `nama` varchar(45) NOT NULL, - `awal` tinyint(4) NOT NULL, - `akhir` tinyint(4) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `nama_UNIQUE` (`nama`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1"; - $hasil = exec_query($sql); - echo mysql_error(); -//INSERT INTO `insan`.`diskon_tipe` (`uid`, `nama`, `deskripsi`, `trigger_time`) VALUES ('1002', 'Member: Waktu', 'Turun Harga selama waktu tertentu', '1'); - - $sql = "INSERT INTO `diskon_tipe` (`uid`, `nama`, `deskripsi`, `trigger_time`) VALUES ('1002', 'Member: Waktu', 'Turun Harga selama waktu tertentu', '1')"; - $hasil = exec_query($sql); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 9))."' WHERE `option` = 'version'"; - } else { - - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 9))."', '')"; - } - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_209_to_210() { - // Penambahan field untuk menyimpan waktu terakhir perubahan harga jual - $sql = "ALTER TABLE `barang` - ADD COLUMN `hargaJualLastUpdate` DATETIME NULL AFTER `hargaJual`"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 10))."' WHERE `option` = 'version'"; - } else { - - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 10))."', '')"; - } - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_210_to_211() { - // Penambahan panjang karakter untuk menyimpan alamat - $sql = "ALTER TABLE `customer` - CHANGE COLUMN `alamatCustomer` `alamatCustomer` VARCHAR(1000) NULL DEFAULT NULL"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 11))."' WHERE `option` = 'version'"; - } else { - - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 11))."', '')"; - } - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_211_to_212() { - // Penambahan tipe printer untuk tipe text/plain download (print dari text editor) - $sql = "ALTER TABLE `workstation` - CHANGE COLUMN `printer_type` `printer_type` ENUM('pdf','rlpr','text') NOT NULL DEFAULT 'pdf' COMMENT 'types: pdf - Adobe PDF, rlpr: remote lpr (for unix/linux), text: Text/plain'"; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "ALTER TABLE `config` - CHANGE COLUMN `value` `value` VARCHAR(70) NOT NULL"; - $hasil = exec_query($sql); - echo mysql_error(); - - $sql = "INSERT INTO `config` (`option`, `value`, `description`) - VALUES ('footer_nota_a4','Barang yang sudah dibeli tidak bisa ditukar atau dikembalikan','Footer Nota A4')"; - $hasil = exec_query($sql); - echo mysql_error(); - - /* - * Setting untuk: mengirimkan perintah buka cash drawer dan "auto" potong kertas ke printer - */ - $sql = "ALTER TABLE `workstation` - ADD COLUMN `send_cdopen_commands` TINYINT NOT NULL DEFAULT 1 COMMENT '0=tidak, 1=Ya' AFTER `printer_commands`, - ADD COLUMN `send_autocut_commands` TINYINT NOT NULL DEFAULT 1 COMMENT '0=Tidak, 1=Ya' AFTER `send_cdopen_commands`"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 12))."' WHERE `option` = 'version'"; - } else { - - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 12))."', '')"; - } - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_212_to_213() { -// Menambahkan AbangAdek Mode: default Off - $sql = "INSERT INTO `config` (`option`, `value`, `description`) VALUES ('abangadek_mode', '0', 'Abang Adek Mode')"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 13))."' WHERE `option` = 'version'"; - } else { - - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 13))."', '')"; - } - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_213_to_214() { -// Menambahkan AbangAdek Mode: default Off - $sql = "CREATE TABLE `transaksireturjual` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, - `tglTransaksi` datetime DEFAULT NULL, - `idCustomer` varchar(10) DEFAULT NULL, - `nominal` bigint(20) DEFAULT '0', - `idUser` int(3) DEFAULT NULL, - `idKasir` int(3) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `idUser` (`idUser`), - KEY `tglTransaksi` (`tglTransaksi`), - KEY `nominal` (`nominal`) - ) ENGINE=MyISAM DEFAULT CHARSET=latin1;"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 14))."' WHERE `option` = 'version'"; - } else { - - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 14))."', '')"; - } - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_214_to_215() { -// Setting (ganti password) dibolehkan untuk kasir - $sql = "UPDATE menu SET level_user_id=4 WHERE nama = 'Settings';"; - $hasil = exec_query($sql); - echo mysql_error(); - -// Menambahkan Menu Kasir: Kasir Aktif - $sql = "INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - ('List kasir yang aktif', 'media.php?module=kasir', '', 4, 'Kasir Aktif', '', 'Y', 3, 5, 0, '')"; - $hasil = exec_query($sql); - echo mysql_error(); - -// Default menu Kasir diubah menjadi penjualan - $sql = "UPDATE menu SET link = 'media.php?module=penjualan_barang' WHERE nama='Kasir';"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 15))."' WHERE `option` = 'version'"; - } else { - - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 15))."', '')"; - } - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_215_to_216() { - - // Menambahkan Sub Menu Barang - $sql = "INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - ('Cetak label per barcode / update HJ', 'media.php?module=barang&act=cetakperbarcode', '', 2, 'Cetak Label per Barcode/Update HJ', '', 'Y', 3, 13, 0, ''), - ('Sinkronisasi harga jual dari toko lain', 'module=barang&act=hargajualsync', '', 2, 'Sync HJ', '', 'N', 2, 14, 0, ''), - ('Kartu Stok', 'media.php?module=barang&act=kartustok', '', 2, 'Kartu Stok', '', 'Y', 3, 15, 0, '')"; - $hasil = exec_query($sql); - echo mysql_error(); - - /* Ganti link dan label Retur Pembelian, menjadi Retur Pembelian per Nota */ - $sql = "UPDATE menu - SET link = 'media.php?module=pembelian_barang&act=returpembelianpernota', - label='Retur Pembelian per Nota' - WHERE nama='Retur Pembelian'"; - $hasil = exec_query($sql); - echo mysql_error(); - - /* Geser urutan untuk menu pembelian */ - $sql = "update menu set urutan=urutan+1 where parent_id=3 and urutan >=3"; - $hasil = exec_query($sql); - echo mysql_error(); - - /* Tambah sub menu Retur beli per barcode di menu Pembelian */ - /* Tambah sub menu PO by stok di menu Laporan */ - $sql = "INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES - ('Retur Beli per Barcode', 'media.php?module=pembelian_barang&act=returpembelianperbarang', '', 3, 'Retur Pembelian per barang', '', 'Y', 3, 3, 0, ''), - ('PO by jumlah barang (stok)', 'media.php?module=laporan&act=po', '', 5, 'Purchase Order', '', 'Y', 3, 9, 0, '')"; - $hasil = exec_query($sql); - echo mysql_error(); - - - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 16))."' WHERE `option` = 'version'"; - } else { - - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 16))."', '')"; - } - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - -function upgrade_216_to_217() { - - /* Ganti hak akses Laporan Penjualan ke gudang */ - $sql = "update menu set level_user_id = 3 where nama = 'Laporan Penjualan'"; - $hasil = exec_query($sql); - echo mysql_error(); - -// update version number ------------------------------------------------------ - $sql = "SELECT * FROM config WHERE `option` = 'version'"; - $hasil = mysql_query($sql); - - if (mysql_num_rows($hasil) > 0) { - $sql = "UPDATE `config` SET value = '".serialize(array(2, 0, 17))."' WHERE `option` = 'version'"; - } else { - - $sql = "INSERT INTO `config` (`option`, value, description) VALUES ('version', '".serialize(array(2, 0, 17))."', '')"; - } - $hasil = mysql_query($sql) or die('Gagal update db version, error: '.mysql_error()); -} - - -// =================================== PATCH VERSI 3.x.x ========================================== -function check_minor_major3($dbminor, $minor, $dbrevision, $revision) { - -// nothing here yet -} - -// ==================== general functions ============================== - -function exec_query($sql) { -// able to loop through & execute MULTIPLE query lines - - $queries = preg_split("/;+(?=([^'|^\\\']*['|\\\'][^'|^\\\']*['|\\\'])*[^'|^\\\']*[^'|^\\\']$)/", $sql); - foreach ($queries as $query) { - if (strlen(trim($query)) > 0) - mysql_query($query); - } -} - -function selesai() { - - echo "Database upgrade finished, thank you.
    Silakan LOGIN lagi."; - exit; -} - -/* CHANGELOG ----------------------------------------------------------- - - 1.6.0 / 2013-02-07 : Harry Sufehmi : table arsip_barang - - 1.5.0 / 2012-11-25 : Harry Sufehmi : initial release - - ------------------------------------------------------------------------ */ +"; + echo "Current software version : $major.$minor.$revision

    "; + + if ($dbmajor == 1) { // ------- eksekusi semua patch versi 1.x + echo "Checking database version 1.x.x \n
    "; + check_minor_major1($dbminor, $minor, $dbrevision, $revision); + } +// else { +// selesai(); +// }; + + if ($major == 2 && $dbmajor == 1) { // ------- upgrade dari versi 1.6.1 ke versi 2.0.0 + echo "Upgrading to database version 2.0.0 \n
    "; + upgrade_161_to_200(); + } +// else { +// selesai(); +// } + + if (($major == 2) && ($dbmajor == 2)) { // ------- eksekusi semua patch versi 2.x + echo "Checking database version 2.x.x \n
    "; + check_minor_major2($dbminor, $minor, $dbrevision, $revision); + } + else { + selesai(); + } + + if ($major >= 3 && $dbmajor <= $major) { // ------- eksekusi semua patch versi 3.x + echo "Checking database version 3.x.x \n
    "; + check_minor_major3($dbminor, $minor, $dbrevision, $revision); + } + else { + selesai(); + } + + + + exit; +} + +// =================================== PATCH VERSI 1.x.x ========================================== +function check_minor_major1($dbminor, $minor, $dbrevision, $revision) { + + if ($dbminor == 2) { // ------- eksekusi semua patch versi 1.2.x + echo "Upgrading database to version 1.2.x \n
    "; + check_revision_minor2_major1($dbminor, $minor, $dbrevision, $revision); + } + + if ($dbminor < 5) { // ------- eksekusi semua patch versi 1.5.x + echo "Upgrading database to version 1.5.x \n
    "; + check_revision_minor5_major1($dbminor, $minor, $dbrevision, $revision); + } + + if ($dbminor < 6) { // ------- eksekusi semua patch versi 1.6.x + if ($dbrevision < 1) { + echo "Upgrading database to version 1.6.x \n
    "; + check_revision_minor6_major1($dbminor, $minor, $dbrevision, $revision); + } + } +} + +function check_revision_minor2_major1($dbminor, $minor, $dbrevision, $revision) { + + echo "Upgrading database to version 1.2.0 \n
    "; + upgrade_old_to_120(); + + echo "Upgrading database from 1.2.0 to version 1.2.5 \n
    "; + upgrade_120_to_125(); +} + +function check_revision_minor5_major1($dbminor, $minor, $dbrevision, $revision) { + + echo "Upgrading database from 1.2.5 to version 1.5.0 \n
    "; + upgrade_125_to_150(); +} + +function check_revision_minor6_major1($dbminor, $minor, $dbrevision, $revision) { + + // upgrade 1.5.x ke 1.6.0 + if ($dbminor == '5') { + echo "Upgrading database from 1.5.0 to version 1.6.0 \n
    "; + upgrade_150_to_160(); + }; + + // upgrade 1.6.0 ke 1.6.x + if ($dbrevision < 1) { + echo "Upgrading database from 1.6.0 to version 1.6.1 \n
    "; + upgrade_160_to_161(); + }; +} + +// ------------------------------------------------------------------------------------ +// ----------------------------------------------------------------------------------- + +function upgrade_old_to_120() { + + // nothing to do here +} + +function upgrade_120_to_125() { + + + // database structure upgrade ------------------------------------------------- + $sql="ALTER TABLE `kategori_barang` CHANGE `idKategoriBarang` `idKategoriBarang` INT( 5 ) NOT NULL AUTO_INCREMENT"; + $hasil=exec_query($sql); + + // optimizations -------------------------------------------------------------- + $sql="ALTER TABLE `barang` ADD INDEX (`idKategoriBarang`); + ALTER TABLE `barang` ADD INDEX (`idSupplier`); + ALTER TABLE `barang` ADD FULLTEXT (`namaBarang`); + + ALTER TABLE `detail_beli` ADD INDEX (`isSold`); + ALTER TABLE `detail_beli` ADD INDEX (`jumBarang`); + ALTER TABLE `detail_beli` ADD INDEX (`idBarang`); + ALTER TABLE `detail_beli` ADD INDEX (`barcode`); + + ALTER TABLE `detail_jual` ADD INDEX (`username`); + ALTER TABLE `detail_jual` ADD INDEX (`nomorStruk`); + ALTER TABLE `detail_jual` ADD INDEX (`barcode`); + + ALTER TABLE `tmp_detail_beli` ADD INDEX (`idSupplier`); + ALTER TABLE `tmp_detail_beli` ADD INDEX (`username`); + + ALTER TABLE `transaksijual` ADD INDEX (`idUser`); + ALTER TABLE `transaksijual` ADD INDEX (`tglTransaksiJual`); + ALTER TABLE `transaksijual` ADD INDEX (`nominal`); + "; + $hasil=exec_query($sql); + echo mysql_error(); + + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(1, 2, 5)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(1, 2, 5)) . "', '')"; + }; + $hasil=mysql_query($sql); +} + +function upgrade_125_to_150() { + + // database structure upgrade ------------------------------------------------- + $sql=" + ALTER TABLE `modul` ADD `script_name` VARCHAR( 50 ) NOT NULL; + ALTER TABLE `modul` ADD INDEX (`script_name`); + + UPDATE `modul` SET `script_name`='mod_user.php' WHERE `modul`.`link`='?module=user' ; + UPDATE `modul` SET `script_name`='mod_supplier.php' WHERE `modul`.`link`='?module=supplier' ; + UPDATE `modul` SET `script_name`='mod_customer.php' WHERE `modul`.`link`='?module=customer' ; + UPDATE `modul` SET `script_name`='mod_barang.php' WHERE `modul`.`link`='?module=barang' ; + UPDATE `modul` SET `script_name`='mod_rak.php' WHERE `modul`.`link`='?module=rak' ; + UPDATE `modul` SET `script_name`='mod_satuan_barang.php' WHERE `modul`.`link`='?module=satuan_barang' ; + UPDATE `modul` SET `script_name`='mod_kategori_barang.php' WHERE `modul`.`link`='?module=kategori_barang' ; + UPDATE `modul` SET `script_name`='mod_beli_barang.php' WHERE `modul`.`link`='?module=pembelian_barang' ; + UPDATE `modul` SET `script_name`='mod_jual_barang.php' WHERE `modul`.`link`='?module=penjualan_barang' ; + UPDATE `modul` SET `script_name`='mod_hutang.php' WHERE `modul`.`link`='?module=hutang' ; + UPDATE `modul` SET `script_name`='mod_piutang.php' WHERE `modul`.`link`='?module=piutang' ; + UPDATE `modul` SET `script_name`='mod_modul.php' WHERE `modul`.`link`='?module=modul' ; + UPDATE `modul` SET `script_name`='mod_kasir.php' WHERE `modul`.`link`='?module=kasir' ; + UPDATE `modul` SET `script_name`='mod_laporan.php' WHERE `modul`.`link`='?module=laporan' ; + UPDATE `modul` SET `script_name`='mod_manage_workstation.php' WHERE `modul`.`link`='?module=workstation' ; + + "; + $hasil=exec_query($sql); + echo mysql_error(); + + // optimizations -------------------------------------------------------------- + // no optimizations for 1.2.5 --> 1.5.0 + //$sql=""; + //$hasil=exec_query($sql); + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(1, 5, 0)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(1, 5, 0)) . "', '')"; + }; + $hasil=mysql_query($sql); +} + +function upgrade_150_to_160() { + + $sql="alter table modul add index(idLevelUser);"; + $hasil=exec_query($sql); + echo mysql_error(); + + $sql="alter table modul add index(publish);"; + $hasil=exec_query($sql); + echo mysql_error(); + + $sql="alter table leveluser add index (idLevelUser);"; + $hasil=exec_query($sql); + echo mysql_error(); + + $sql="alter table leveluser add index (levelUser);"; + $hasil=exec_query($sql); + echo mysql_error(); + + $sql="ALTER TABLE `supplier` ADD `interval` INT NOT NULL DEFAULT '7'"; + $hasil=exec_query($sql); + echo mysql_error(); + + + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(1, 6, 0)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(1, 6, 0)) . "', '')"; + }; + $hasil=mysql_query($sql); +} + +function upgrade_160_to_161() { + + $sql="CREATE TABLE IF NOT EXISTS `arsip_barang` ( + `idBarang` bigint(20) NOT NULL DEFAULT '0', + `namaBarang` varchar(30) DEFAULT ' ', + `idKategoriBarang` int(5) DEFAULT '0', + `idSatuanBarang` int(5) DEFAULT '0', + `jumBarang` int(10) DEFAULT '0', + `hargaJual` bigint(20) DEFAULT '0', + `last_update` date DEFAULT '2000-01-01', + `idSupplier` bigint(20) DEFAULT '0', + `barcode` varchar(25) DEFAULT NULL, + `username` varchar(30) DEFAULT NULL, + `idRak` bigint(5) DEFAULT NULL, + UNIQUE KEY `barcode` (`barcode`), + KEY `idKategoriBarang` (`idKategoriBarang`), + KEY `namaBarang` (`namaBarang`), + KEY `idSupplier` (`idSupplier`), + KEY `idKategoriBarang_2` (`idKategoriBarang`), + KEY `idSupplier_2` (`idSupplier`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1; + "; + $hasil=exec_query($sql); + echo mysql_error(); + + $sql="CREATE TABLE IF NOT EXISTS `tmp_cetak_label_perbarcode` ( + `id` int(12) NOT NULL AUTO_INCREMENT, + `tmpBarcode` varchar(50) DEFAULT NULL, + `tmpNama` varchar(100) DEFAULT NULL, + `tmpKategori` varchar(50) DEFAULT NULL, + `tmpSatuan` varchar(50) DEFAULT NULL, + `tmpJumlah` varchar(100) DEFAULT NULL, + `tmpHargaJual` varchar(100) DEFAULT NULL, + `tmpIdBarang` int(12) DEFAULT NULL, + PRIMARY KEY (`id`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9;"; + $hasil=exec_query($sql); + echo mysql_error(); + + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(1, 6, 1)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(1, 6, 1)) . "', '')"; + }; + $hasil=mysql_query($sql); +} + +// =================================== PATCH VERSI 2.x.x ========================================== +function check_minor_major2($dbminor, $minor, $dbrevision, $revision) { + + if ($minor == 0) { // ------- eksekusi semua patch versi 2.0.x + echo "Upgrading database to version 2.0.x \n
    "; + check_revision_minor0_major2($dbminor, $minor, $dbrevision, $revision); + } +} + +function check_revision_minor0_major2($dbminor, $minor, $dbrevision, $revision) { + if ($dbrevision < 1) { + echo "Upgrading database to version 2.0.1
    "; + upgrade_200_to_201(); + } + if ($dbrevision < 2) { + echo "Upgrading database to version 2.0.2
    "; + upgrade_201_to_202(); + } + if ($dbrevision < 3) { + echo "Upgrading database to version 2.0.3
    "; + upgrade_202_to_203(); + } + if ($dbrevision < 4) { + echo "Upgrading database to version 2.0.4
    "; + upgrade_203_to_204(); + } + if ($dbrevision < 5) { + echo "Upgrading database to version 2.0.5
    "; + upgrade_204_to_205(); + } + if ($dbrevision < 6) { + echo "Upgrading database to version 2.0.6
    "; + upgrade_205_to_206(); + } +} + +function upgrade_161_to_200() { + + /* Create Tabel Menu */ + $sql="CREATE TABLE IF NOT EXISTS `menu` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nama` varchar(100) NOT NULL, + `link` varchar(1000) NOT NULL, + `icon` varchar(45) DEFAULT NULL, + `parent_id` int(11) DEFAULT NULL, + `label` varchar(100) NOT NULL, + `accesskey` varchar(1) DEFAULT NULL, + `publish` enum('Y','N') NOT NULL, + `level_user_id` int(11) NOT NULL, + `urutan` int(11) NOT NULL DEFAULT '1', + `level` int(11) NOT NULL DEFAULT '0', + `last_update` datetime DEFAULT NULL, + PRIMARY KEY (`id`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 + "; + $hasil=exec_query($sql); + echo mysql_error(); + + /* Isi tabel menu */ + $sql="INSERT INTO `menu` (`id`, `nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES + (1, 'Home', 'media.php?module=home', 'fa fa-home fa-4x', 0, 'Home', '', 'Y', 1, 1, 0, ''), + (2, 'Barang', 'media.php?module=barang', 'fa fa-barcode fa-4x', 0, 'Barang', '', 'Y', 3, 2, 0, ''), + (3, 'Pembelian', 'media.php?module=pembelian_barang', 'fa fa-truck fa-4x', 0, 'Pembelian', '', 'Y', 3, 3, 0, ''), + (4, 'Kasir', 'media.php?module=kasir', 'fa fa-shopping-cart fa-4x', 0, 'Kasir', '', 'Y', 3, 4, 0, ''), + (5, 'Laporan', 'media.php?module=laporan', 'fa fa-bar-chart-o fa-4x', 0, 'Laporan', '', 'Y', 2, 5, 0, ''), + (6, 'Stock Opname', 'media.php?module=barang&act=cetakbarang1', 'fa fa-check-square-o fa-4x', 0, 'Stock Op', '', 'Y', 3, 5, 0, ''), + (7, 'Settings', 'media.php?module=ganti_password', 'fa fa-wrench fa-4x', 0, 'Settings', '', 'Y', 2, 7, 0, ''), + (8, 'Logout', 'logout.php', 'fa fa-power-off fa-4x', 0, 'Logout', '', 'Y', 1, 9, 0, ''), + (9, 'Satuan Barang', 'media.php?module=satuan_barang', '', 2, 'Satuan Barang', '', 'Y', 3, 1, 0, ''), + (10, 'Menu', 'media.php?module=menu', '', 7, 'Menu', '', 'Y', 2, 4, 0, ''), + (11, 'Supplier', 'media.php?module=supplier', '', 7, 'Supplier', '', 'Y', 3, 1, 0, ''), + (12, 'Kategori Barang', 'media.php?module=kategori_barang', '', 2, 'Kategori Barang', '', 'Y', 3, 2, 0, ''), + (13, 'Rak Barang', 'media.php?module=rak', '', 2, 'Rak Barang', '', 'Y', 3, 3, 0, ''), + (14, 'Tambah Barang', 'media.php?module=barang&act=tambahbarang', '', 2, 'Tambah Barang', '', 'Y', 3, 4, 0, ''), + (15, 'Cari Barang', 'media.php?module=barang&act=caribarang1', '', 2, 'Cari Barang', '', 'Y', 3, 5, 0, ''), + (16, 'Cetak Label per Rak', 'media.php?module=barang&act=cetaklabel1', '', 2, 'Cetak Label per Rak', '', 'Y', 3, 6, 0, ''), + (17, 'Transfer Barang Antar Ahad', 'media.php?module=barang&act=transfer1', '', 2, 'Transfer Barang Antar Ahad', '', 'Y', 3, 7, 0, ''), + (18, 'Input Rak Barang', 'media.php?module=barang&act=inputrak', '', 2, 'Input Rak Barang', '', 'Y', 3, 8, 0, ''), + (19, 'Pembelian Barang', 'media.php?module=pembelian_barang&act=pembelianbarang', '', 3, 'Pembelian Barang', '', 'Y', 3, 1, 0, ''), + (20, 'Retur Pembelian', 'media.php?module=pembelian_barang&act=returpembelian', '', 3, 'Retur Pembelian', '', 'Y', 3, 2, 0, ''), + (21, 'Cetak Nota Retur', 'media.php?module=pembelian_barang&act=cetakretur', '', 3, 'Cetak Nota Retur', '', 'Y', 3, 3, 0, ''), + (22, 'Input pembelian elektronik', 'media.php?module=pembelian_barang&act=inputeprocurement1', '', 3, 'Input Pembelian Elektronik', '', 'Y', 3, 4, 0, ''), + (23, 'Input RPO per item', 'media.php?module=pembelian_barang&act=buatrpo1', '', 3, 'Input RPO (per Item)', '', 'Y', 3, 5, 0, ''), + (24, 'Input RPO per Supplier', 'media.php?module=pembelian_barang&act=rposup1', '', 3, 'Input RPO per Supplier', '', 'Y', 3, 6, 0, ''), + (25, 'Buka kasir', 'media.php?module=kasir&act=bukakasir', '', 4, 'Buka Kasir', '', 'Y', 3, 1, 0, ''), + (26, 'Tutup kasir', 'media.php?module=kasir&act=tutupkasir', '', 4, 'Tutup Kasir', '', 'Y', 3, 2, 0, ''), + (27, 'Penambahan Dana', 'media.php?module=kasir&act=tambahdana', '', 4, 'Penambahan Dana', '', 'Y', 3, 3, 0, ''), + (28, 'Penjualan', 'media.php?module=penjualan_barang', '', 4, 'Penjualan', '', 'Y', 4, 4, 0, ''), + (29, 'User', 'media.php?module=user', '', 7, 'User', '', 'Y', 2, 3, 0, ''), + (34, 'Customer', 'media.php?module=customer', '', 7, 'Customer', '', 'Y', 4, 2, 0, ''), + (35, 'Workstation', 'media.php?module=workstation', '', 7, 'Workstation', '', 'Y', 2, 5, 0, ''), + (36, 'Personal Info', 'media.php?module=ganti_password', '', 7, 'Personal Info', '', 'Y', 2, 6, 0, ''), + (37, 'Laporan Pemb Brg / tgl', 'media.php?module=pembelian_barang&act=laporanpembeliantanggal', '', 5, 'Pembelian Barang per Tanggal', '', 'Y', 2, 1, 0, ''), + (38, 'Laporan Pemb Brg / sup', 'media.php?module=pembelian_barang&act=laporanpembelian', '', 5, 'Pembelian Barang per Supplier', '', 'Y', 2, 2, 0, ''), + (39, 'Laporan Penjualan', 'media.php?module=laporan&act=penjualan1', '', 5, 'Penjualan', '', 'Y', 2, 3, 0, ''), + (40, 'Total Stock', 'media.php?module=laporan&act=total1', '', 5, 'Total Stock', '', 'Y', 2, 4, 0, ''), + (41, 'Top Rank', 'media.php?module=laporan&act=toprank1', '', 5, 'Top Rank', '', 'Y', 2, 5, 0, ''), + (42, 'Aging', 'media.php?module=laporan&act=aging1', '', 5, 'Aging Stock', '', 'Y', 2, 6, 0, ''), + (43, 'Cetak Stock Barang', 'media.php?module=barang&act=cetakbarang1', '', 6, 'Cetak Stock Barang', '', 'Y', 3, 1, 0, ''), + (44, 'Cetak Form Stock Op', 'media.php?module=barang&act=cetakSO', '', 6, 'Cetak Form Stock Opname', '', 'Y', 3, 2, 0, ''), + (45, 'Input SO Manual', 'media.php?module=barang&act=inputSO', '', 6, 'Input SO Manual', '', 'Y', 3, 3, 0, ''), + (46, 'Fast SO', '../tools/fast-stock-opname/fast-SO.php', '', 6, 'Input Fast SO', '', 'Y', 3, 4, 0, ''), + (47, 'Approve Fast SO', 'media.php?module=barang&act=ApproveFastSO1', '', 6, 'Approve Fast SO', '', 'Y', 3, 5, 0, ''), + (48, 'Input Mobil SO', '../tools/fast-stock-opname/fast-SO-mobile.php', '', 6, 'Input Mobile SO', '', 'Y', 3, 6, 0, ''), + (49, 'Approve Mobile SO', 'media.php?module=barang&act=ApproveMobileSO1', '', 6, 'Approve Mobile SO', '', 'Y', 3, 7, 0, ''), + (50, 'System', 'media.php?module=system', 'fa fa-cogs fa-4x', 0, 'System', '', 'Y', 2, 8, 0, ''), + (51, 'Setting', 'media.php?module=system&act=setting', '', 50, 'Setting', '', 'Y', 2, 1, 0, ''), + (52, 'Maintenance', 'media.php?module=system&act=maintenance', '', 50, 'Maintenance', '', 'Y', 2, 2, 0, ''), + (53, 'Diskon', 'media.php?module=barang&act=diskon', '', 2, 'Diskon', '', 'Y', 2, 9, 0, ''), + (54, 'Diskon', 'media.php?module=laporan&act=diskon1', '', 5, 'Diskon', '', 'Y', 2, 7, 0, ''), + (55, 'Pindah Supplier', 'media.php?module=barang&act=pindahsupplier', '', 2, 'Pindah Supplier', '', 'Y', 2, 10, 0, ''), + (56, 'Pindah Rak', 'media.php?module=barang&act=pindahrak', '', 2, 'Pindah Rak', '', 'Y', 2, 11, 0, ''), + (57, 'Rpo per Supplier Responsive', '../tools/rpo', '', 3, 'Input RPO per Supplier per Rak', '', 'Y', 3, 7, 0, ''); + "; + $hasil=exec_query($sql); + echo mysql_error(); + + /* Update deskripsi untuk memudahkan update config di aplikasi */ + $sql="update config set description='Nama Toko' where `option`='store_name'; + update config set description='Struk Footer 1' where `option`='receipt_footer1'; + update config set description='Struk Footer 2' where `option`='receipt_footer2'; + update config set description='Struk Header 1' where `option`='receipt_header1'; + update config set description='Temporary Space' where `option`='temporary_space'; + update config set description='Versi' where `option`='version'; + "; + $hasil=exec_query($sql); + echo mysql_error(); + + /* Update struktur database untuk diskon (detail_jual, customer) + * Create table diskon (diskon_detail, diskon_tipe, diskon_transaksi) + */ + $sql="ALTER TABLE `tmp_detail_jual` ADD `diskon_persen` INT( 11 ) NOT NULL DEFAULT '0'; + ALTER TABLE `tmp_detail_jual` ADD `diskon_rupiah` DECIMAL( 15, 2 ) NOT NULL DEFAULT '0'; + ALTER TABLE `tmp_detail_jual` ADD `diskon_detail_uids` varchar(255) DEFAULT NULL ; + + ALTER TABLE `detail_jual` + ADD COLUMN `uid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT FIRST, + ADD PRIMARY KEY (`uid`); + + ALTER TABLE `customer` + ADD COLUMN `diskon_persen` INT NULL DEFAULT 0 AFTER `last_update`, + ADD COLUMN `diskon_rupiah` DECIMAL(15,5) NULL DEFAULT 0 AFTER `diskon_persen`; + + + CREATE TABLE IF NOT EXISTS `diskon_detail` ( + `uid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, + `diskon_tipe_id` bigint(20) UNSIGNED NOT NULL, + `diskon_tipe_nama` varchar(25) NOT NULL, + `trigger` varchar(25) NOT NULL, + `barcode` varchar(25) DEFAULT NULL, + `tanggal_dari` datetime DEFAULT '0000-00-00 00:00:00', + `tanggal_sampai` datetime DEFAULT '0000-00-00 00:00:00', + `diskon_rupiah` decimal(15,2) NOT NULL DEFAULT '0.00', + `diskon_persen` int(11) NOT NULL DEFAULT '0', + `min_item` int(11) unsigned DEFAULT NULL COMMENT 'if (value >= qty) dapatDiskon;', + `max_item` int(11) unsigned DEFAULT NULL, + `status` tinyint(1) DEFAULT '1' COMMENT 'true=aktif; ', + PRIMARY KEY (`uid`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1000 ; + + + CREATE TABLE IF NOT EXISTS `diskon_tipe` ( + `uid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, + `nama` varchar(25) NOT NULL, + `deskripsi` varchar(250) DEFAULT NULL, + `trigger_quantity` tinyint(1) NOT NULL DEFAULT '0', + `trigger_price` tinyint(1) NOT NULL DEFAULT '0', + `trigger_time` tinyint(1) NOT NULL DEFAULT '0', + `trigger_total` tinyint(1) NOT NULL DEFAULT '0', + `trigger_barcode` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`uid`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1000 ; + + + INSERT INTO `diskon_tipe` (`uid`, `nama`, `deskripsi`, `trigger_quantity`, `trigger_price`, `trigger_time`, `trigger_total`, `trigger_barcode`) VALUES + (1, 'Admin', 'Entry Diskon Manual by Admin', 0, 0, 0, 0, 0), + (2, 'Customer', 'Diskon per Customer/Member', 0, 0, 0, 0, 0), + (1000, 'Grosir', 'Beli banyak harga turun', 1, 0, 0, 0, 1), + (1001, 'Waktu', 'Turun Harga selama waktu tertentu', 0, 0, 1, 0, 1); + + + CREATE TABLE IF NOT EXISTS `diskon_transaksi` ( + `uid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, + `diskon_detail_uids` varchar(255) NOT NULL COMMENT 'json={diskon_detail_uid : diskon_rupiah}', + `barcode` varchar(25) DEFAULT NULL, + `waktu` datetime NOT NULL, + `diskon_rupiah` decimal(15,2) NOT NULL DEFAULT '0.00', + `diskon_persen` int(11) NOT NULL DEFAULT '0', + `idDetailJual` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`uid`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; + + "; + $hasil=exec_query($sql); + echo mysql_error(); + + /* Create table "universal" tmp, saat ini dibuat, tabel ini hanya digunakan untuk rpo per supplier */ + $sql="CREATE TABLE IF NOT EXISTS `tmp` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `bigint1` bigint(20) DEFAULT NULL, + `bigint2` bigint(20) DEFAULT NULL, + `bigint3` bigint(20) DEFAULT NULL, + `integer1` int(11) DEFAULT NULL, + `integer2` int(11) DEFAULT NULL, + `integer3` int(11) DEFAULT NULL, + `vc1` varchar(45) DEFAULT NULL, + `vc2` varchar(45) DEFAULT NULL, + `vc3` varchar(45) DEFAULT NULL, + `float1` float DEFAULT NULL, + `float2` float DEFAULT NULL, + `float3` float DEFAULT NULL, + `dt1` datetime DEFAULT NULL, + `dt2` datetime DEFAULT NULL, + `dt3` datetime DEFAULT NULL, + PRIMARY KEY (`id`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1; + "; + $hasil=exec_query($sql); + echo mysql_error(); + + /* Ubah struktur tabel barang agar bisa menampung status nonAktif */ + $sql="ALTER TABLE `barang` + ADD COLUMN `nonAktif` TINYINT(1) NULL COMMENT '1=Tidak Aktif' AFTER `idRak`; + "; + $hasil=exec_query($sql); + echo mysql_error(); + + /* Create tabel untuk proses self_checkout / mobile cashier + * Tabel: self_checkout, self_checkout_detail, self_checkout_temp + */ + $sql="CREATE TABLE `self_checkout` ( + `uid` int(11) NOT NULL AUTO_INCREMENT, + `datetime` datetime NOT NULL, + `ipv4` varchar(15) NOT NULL, + PRIMARY KEY (`uid`) + ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; + + CREATE TABLE `self_checkout_detail` ( + `uid` int(10) unsigned NOT NULL AUTO_INCREMENT, + `self_checkout_uid` bigint(20) NOT NULL, + `barcode` varchar(45) NOT NULL, + `qty` int(11) NOT NULL, + `harga_jual` bigint(20) NOT NULL, + `diskon` bigint(20) NOT NULL, + PRIMARY KEY (`uid`) + ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; + + CREATE TABLE `self_checkout_temp` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `barcode` varchar(45) NOT NULL, + `qty` int(10) unsigned NOT NULL, + `harga_jual` bigint(20) NOT NULL, + `diskon` bigint(20) NOT NULL DEFAULT '0', + `ipv4` varchar(15) NOT NULL, + PRIMARY KEY (`id`) + ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; + "; + $hasil=exec_query($sql); + echo mysql_error(); + + + /* Create tabel untuk modul rpo (responsive layout) di /tools/rpo + * Tabel: purchase_order, purchase_order_detail + */ + $sql="CREATE TABLE `purchase_order` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `tanggal_buat` datetime NOT NULL, + `supplier_id` bigint(20) NOT NULL, + `range` int(11) NOT NULL COMMENT 'hari', + `buffer` int(11) NOT NULL COMMENT '%', + `jumlah_hari_persediaan` int(11) NOT NULL COMMENT 'hari', + `updated_by` varchar(30) NOT NULL, + `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0=rpo; 1=po', + PRIMARY KEY (`id`) + ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; + + + CREATE TABLE `purchase_order_detail` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `purchase_order_id` bigint(20) unsigned NOT NULL, + `barcode` varchar(25) NOT NULL, + `harga_beli_terakhir` bigint(20) NOT NULL, + `stok_saat_ini` int(11) DEFAULT NULL, + `avg_daily_sales` float DEFAULT NULL, + `saran_order` int(11) DEFAULT NULL, + `jumlah_order` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) + ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; + "; + $hasil=exec_query($sql); + echo mysql_error(); + + + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(2, 0, 0)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(2, 0, 0)) . "', '')"; + }; + $hasil=mysql_query($sql) or die('Gagal update db version, error: ' . mysql_error()); +} + +function upgrade_200_to_201() { + // alter tabel self_checkout_temp + $sql="ALTER TABLE `self_checkout_temp` + ADD COLUMN `waktu` TIMESTAMP NOT NULL AFTER `ipv4`; + "; + $hasil=exec_query($sql); + echo mysql_error(); + + // ubah tabel ke myisam (standar ahadpos) + $sql="ALTER TABLE `purchase_order` + ENGINE=MyISAM"; + $hasil=exec_query($sql); + echo mysql_error(); + $sql="ALTER TABLE `purchase_order_detail` + ENGINE=MyISAM"; + $hasil=exec_query($sql); + echo mysql_error(); + + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(2, 0, 1)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(2, 0, 1)) . "', '')"; + }; + $hasil=mysql_query($sql) or die('Gagal update db version, error: ' . mysql_error()); +} + +function upgrade_201_to_202() { + /* + * Init DB ahadPOS2 dari versi ini + * Yang belum ada di init script. dipindah ke upgrade_202_to_203 + */ + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(2, 0, 2)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(2, 0, 2)) . "', '')"; + }; + $hasil=mysql_query($sql) or die('Gagal update db version, error: ' . mysql_error()); +} + +function upgrade_202_to_203() { + // Menambahkan UKM Mode: default Off + $sql="INSERT INTO `config` (`option`, `value`, `description`) VALUES ('ukm_mode', '0', 'UKM Mode')"; + $hasil=exec_query($sql); + echo mysql_error(); + + // Menambahkan Stok (SO dengan tambahan summary ) + $sql="INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES + ('SO dengan Summary', '../tools/stok', '', 6, 'Stok', '', 'Y', 3, 8, 0, '')"; + $hasil=exec_query($sql); + echo mysql_error(); + + $sql="CREATE TABLE `stok_stat` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `keterangan` varchar(1000) NOT NULL, + `updated_by` varchar(30) NOT NULL, + `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `status` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1"; + $hasil=exec_query($sql); + echo mysql_error(); + + $sql="CREATE TABLE `stok_stat_detail` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `stok_stat_id` int(10) unsigned NOT NULL, + `barcode` varchar(25) NOT NULL, + `harga_jual` bigint(20) NOT NULL, + `stok_tercatat` int(11) NOT NULL, + `stok_sebenarnya` int(11) DEFAULT NULL, + `updated_by` varchar(30) NOT NULL, + `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1;"; + $hasil=exec_query($sql); + echo mysql_error(); + + // alter tabel stok_stat_detail + $sql="ALTER TABLE `stok_stat_detail` + ADD UNIQUE INDEX `stok_stat_id_UNIQUE` (`stok_stat_id` ASC, `barcode` ASC) + "; + $hasil=exec_query($sql); + echo mysql_error(); + + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(2, 0, 3)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(2, 0, 3)) . "', '')"; + }; + $hasil=mysql_query($sql) or die('Gagal update db version, error: ' . mysql_error()); +} + +function upgrade_203_to_204() { + // ubah urutan menu Stok ke belakang + $sql="UPDATE `menu` SET `urutan`='10' WHERE `label`='Stok'"; + $hasil=exec_query($sql); + echo mysql_error(); + + // Tambahkan menu Fast PDT SO (input SO dengan menggunakan Portable Data Terminal atau alat lain yang bisa batch scan barcode) + // dan "Approve" nya + $sql="INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES + ('Input SO dengan Portable Data Terminal', '../tools/fast-stock-opname/pdt-so.php', '', 6, 'Input PDT SO', '', 'Y', 3, 8, 0, ''), + ('Approve SO dengan Portable Data Terminal', 'media.php?module=barang&act=ApprovePdtSO1', '', 6, 'Approve PDT SO', '', 'Y', 3, 9, 0, '');"; + $hasil=exec_query($sql); + echo mysql_error(); + + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(2, 0, 4)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(2, 0, 4)) . "', '')"; + }; + $hasil=mysql_query($sql) or die('Gagal update db version, error: ' . mysql_error()); +} + +function upgrade_204_to_205() { + // Create Tabel harga_banded + $sql="CREATE TABLE `harga_banded` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `barcode` varchar(25) NOT NULL, + `qty` int(10) unsigned NOT NULL, + `harga` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `barcode_UNIQUE` (`barcode`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1"; + $hasil=exec_query($sql); + echo mysql_error(); + + // Tambahkan menu Harga banded + $sql="INSERT INTO `menu` (`nama`, `link`, `icon`, `parent_id`, `label`, `accesskey`, `publish`, `level_user_id`, `urutan`, `level`, `last_update`) VALUES + ('Harga Banded', 'media.php?module=barang&act=hargabanded', '', 2, 'Harga Banded', '', 'Y', 2, 12, 0, '')"; + $hasil=exec_query($sql); + echo mysql_error(); + + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(2, 0, 5)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(2, 0, 5)) . "', '')"; + }; + $hasil=mysql_query($sql) or die('Gagal update db version, error: ' . mysql_error()); +} + +function upgrade_205_to_206() { + // Create Tabel tmp_harga_banded + $sql="CREATE TABLE `tmp_harga_banded` ( + `barcode` varchar(25) NOT NULL, + `supplier_id` int(11) NOT NULL, + `user_name` varchar(30) NOT NULL, + `qty` int(11) NOT NULL, + `harga_satuan` float NOT NULL, + PRIMARY KEY (`barcode`,`user_name`,`supplier_id`) + ) ENGINE=MyISAM DEFAULT CHARSET=latin1"; + $hasil=exec_query($sql); + echo mysql_error(); + + // update version number ------------------------------------------------------ + $sql="SELECT * FROM config WHERE `option`='version'"; + $hasil=mysql_query($sql); + + if (mysql_num_rows($hasil) > 0) { + $sql="UPDATE `config` SET value='" . serialize(array(2, 0, 6)) . "' WHERE `option`='version'"; + } + else { + $sql="INSERT INTO `config` (`option`, value, description) VALUES ('version', '" . serialize(array(2, 0, 6)) . "', '')"; + }; + $hasil=mysql_query($sql) or die('Gagal update db version, error: ' . mysql_error()); +} +// =================================== PATCH VERSI 3.x.x ========================================== +function check_minor_major3($dbminor, $minor, $dbrevision, $revision) { + + // nothing here yet +} + +// ==================== general functions ============================== + +function exec_query($sql) { +// able to loop through & execute MULTIPLE query lines + + $queries=preg_split("/;+(?=([^'|^\\\']*['|\\\'][^'|^\\\']*['|\\\'])*[^'|^\\\']*[^'|^\\\']$)/", $sql); + foreach ($queries as $query) { + if (strlen(trim($query)) > 0) + mysql_query($query); + } +} + +function selesai() { + + echo "Database upgrade finished, thank you.
    Silakan LOGIN lagi."; + exit; +} + +/* CHANGELOG ----------------------------------------------------------- + +1.6.0 / 2013-02-07 : Harry Sufehmi : table arsip_barang + +1.5.0 / 2012-11-25 : Harry Sufehmi : initial release + +------------------------------------------------------------------------ */ + diff --git a/tacoen/bootstrap.compile.min.css b/tacoen/bootstrap.compile.min.css new file mode 100644 index 0000000..be6d50a --- /dev/null +++ b/tacoen/bootstrap.compile.min.css @@ -0,0 +1,2 @@ +@font-face{font-family:'Dosis';font-style:normal;font-weight:200;src:local('Dosis ExtraLight'),local('Dosis-ExtraLight'),url('font/dosis/05xr33FHwecUTIADg28rEfesZW2xOQ-xsNqO47m55DA.ttf')format('truetype')}@font-face{font-family:'Dosis';font-style:normal;font-weight:300;src:local('Dosis Light'),local('Dosis-Light'),url('font/dosis/0b3R8ORT0i9mlMGM3BxXF_esZW2xOQ-xsNqO47m55DA.ttf')format('truetype')}@font-face{font-family:'Dosis';font-style:normal;font-weight:400;src:local('Dosis Regular'),local('Dosis-Regular'),url('font/dosis/guC5lwT5Dw7anV_xfpCGqw.ttf')format('truetype')}@font-face{font-family:'Dosis';font-style:normal;font-weight:500;src:local('Dosis Medium'),local('Dosis-Medium'),url('font/dosis/obisuY-MenYRAFwd-r2NhfesZW2xOQ-xsNqO47m55DA.ttf')format('truetype')}@font-face{font-family:'Dosis';font-style:normal;font-weight:600;src:local('Dosis SemiBold'),local('Dosis-SemiBold'),url('font/dosis/URSgP3aplSko3CQAzdXHwPesZW2xOQ-xsNqO47m55DA.ttf')format('truetype')}@font-face{font-family:'Dosis';font-style:normal;font-weight:700;src:local('Dosis Bold'),local('Dosis-Bold'),url('font/dosis/Luunk03-uSz9LnB7oNEUuvesZW2xOQ-xsNqO47m55DA.ttf')format('truetype')}@font-face{font-family:'Dosis';font-style:normal;font-weight:800;src:local('Dosis ExtraBold'),local('Dosis-ExtraBold'),url('font/dosis/T4JvHtpMHbjlr73o1YLMo_esZW2xOQ-xsNqO47m55DA.ttf')format('truetype')}/*! * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font:SIL OFL 1.1,CSS:MIT License)*//* FONT PATH * -------------------------- */@font-face{font-family:'FontAwesome';src:url('font/fa/fontawesome-webfont.eot');src:url('font/fa/fontawesome-webfont.eot?#iefix&v=4.0.3')format('embedded-opentype'),url('font/fa/fontawesome-webfont.woff')format('woff'),url('font/fa/fontawesome-webfont.ttf')format('truetype'),url('font/fa/fontawesome-webfont.svg#fontawesomeregular')format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333333333em;line-height:0.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857142858em;text-align:center}.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:0.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eeeeee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1);-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1);-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#ffffff}/* Font Awesome uses the Unicode Private Use Area (PUA)to ensure screen readers do not read off random characters that represent icons */.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-reply-all:before{content:"\f122"}.fa-mail-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}/*! * Bootstrap v3.3.5 (http://getbootstrap.com)* Copyright 2011-2016 Twitter,Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)*//*! * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=2c59b280ebd0c7c5d7b4)* Config saved to config.json and https://gist.github.com/2c59b280ebd0c7c5d7b4 *//*! * Bootstrap v3.3.6 (http://getbootstrap.com)* Copyright 2011-2015 Twitter,Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)*/html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href)")"}abbr[title]:after{content:" (" attr(title)")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333333;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eeeeee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eeeeee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970px}}@media(min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media(min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media(min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media(min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd}.table>caption + thead>tr:first-child>th,.table>colgroup + thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption + thead>tr:first-child>td,.table>colgroup + thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody + tbody{border-top:2px solid #dddddd}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and(max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999999;opacity:1}.form-control:-ms-input-placeholder{color:#999999}.form-control::-webkit-input-placeholder{color:#999999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eeeeee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and(-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio + .radio,.checkbox + .checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline + .radio-inline,.checkbox-inline + .checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg + .form-control-feedback,.input-group-lg + .form-control-feedback,.form-group-lg .form-control + .form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm + .form-control-feedback,.input-group-sm + .form-control-feedback,.form-group-sm .form-control + .form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label ~ .form-control-feedback{top:25px}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media(min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media(min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media(min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333333;background-color:#ffffff;border-color:#cccccc}.btn-default:focus,.btn-default.focus{color:#333333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#ffffff;border-color:#cccccc}.btn-default .badge{color:#ffffff;background-color:#333333}.btn-primary{color:#ffffff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#ffffff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#ffffff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#ffffff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#ffffff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#ffffff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#ffffff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block + .btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media(min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn + .btn,.btn-group .btn + .btn-group,.btn-group .btn-group + .btn,.btn-group .btn-group + .btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn + .dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg + .dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn + .btn,.btn-group-vertical>.btn + .btn-group,.btn-group-vertical>.btn-group + .btn,.btn-group-vertical>.btn-group + .btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555555;text-align:center;background-color:#eeeeee;border:1px solid #cccccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn + .btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee}.nav>li.disabled>a{color:#777777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dddddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li + li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li + li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media(min-width:768px){.navbar{border-radius:4px}}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media(max-device-width:480px)and(orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media(min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar + .icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media(min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media(min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right ~ .navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777777}.navbar-default .navbar-nav>li>a{color:#777777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#dddddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#dddddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555555}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#777777}.navbar-default .navbar-link:hover{color:#333333}.navbar-default .btn-link{color:#777777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#222222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#ffffff}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li + li:before{content:"/\00a0";padding:0 5px;color:#cccccc}.breadcrumb>.active{color:#777777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eeeeee;border-color:#dddddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#ffffff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777777;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777777;background-color:#ffffff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#ffffff}.list-group-item>.badge{float:right}.list-group-item>.badge + .badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eeeeee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and(min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p + p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eeeeee;color:#777777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading + .panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading + .list-group .list-group-item:first-child{border-top-width:0}.list-group + .panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body + .table,.panel>.panel-body + .table-responsive,.panel>.table + .panel-body,.panel>.table-responsive + .panel-body{border-top:1px solid #dddddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel + .panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading + .panel-collapse>.panel-body,.panel-group .panel-heading + .panel-collapse>.list-group{border-top:1px solid #dddddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer + .panel-collapse .panel-body{border-bottom:1px solid #dddddd}.panel-default{border-color:#dddddd}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:#dddddd}.panel-default>.panel-heading + .panel-collapse>.panel-body{border-top-color:#dddddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333333}.panel-default>.panel-footer + .panel-collapse>.panel-body{border-bottom-color:#dddddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#ffffff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading + .panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#ffffff}.panel-primary>.panel-footer + .panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading + .panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer + .panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading + .panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer + .panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading + .panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer + .panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading + .panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer + .panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn + .btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn + .btn{margin-left:-1px}.modal-footer .btn-block + .btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media(min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:0.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#000000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and(transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5)0%,rgba(0,0,0,0.0001)100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.5)0%,rgba(0,0,0,0.0001)100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,0.5)),to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right,rgba(0,0,0,0.5)0%,rgba(0,0,0,0.0001)100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.0001)0%,rgba(0,0,0,0.5)100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.0001)0%,rgba(0,0,0,0.5)100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,0.0001)),to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right,rgba(0,0,0,0.0001)0%,rgba(0,0,0,0.5)100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and(min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media(max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media(max-width:767px){.visible-xs-block{display:block !important}}@media(max-width:767px){.visible-xs-inline{display:inline !important}}@media(max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media(min-width:768px)and(max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media(min-width:768px)and(max-width:991px){.visible-sm-block{display:block !important}}@media(min-width:768px)and(max-width:991px){.visible-sm-inline{display:inline !important}}@media(min-width:768px)and(max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media(min-width:992px)and(max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media(min-width:992px)and(max-width:1199px){.visible-md-block{display:block !important}}@media(min-width:992px)and(max-width:1199px){.visible-md-inline{display:inline !important}}@media(min-width:992px)and(max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media(min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media(min-width:1200px){.visible-lg-block{display:block !important}}@media(min-width:1200px){.visible-lg-inline{display:inline !important}}@media(min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media(max-width:767px){.hidden-xs{display:none !important}}@media(min-width:768px)and(max-width:991px){.hidden-sm{display:none !important}}@media(min-width:992px)and(max-width:1199px){.hidden-md{display:none !important}}@media(min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}/*! * Bootstrap v3.3.5 (http://getbootstrap.com)* Copyright 2011-2016 Twitter,Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)*//*! * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=2c59b280ebd0c7c5d7b4)* Config saved to config.json and https://gist.github.com/2c59b280ebd0c7c5d7b4 *//*! * Bootstrap v3.3.6 (http://getbootstrap.com)* Copyright 2011-2015 Twitter,Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)*/.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-default.disabled,.btn-primary.disabled,.btn-success.disabled,.btn-info.disabled,.btn-warning.disabled,.btn-danger.disabled,.btn-default[disabled],.btn-primary[disabled],.btn-success[disabled],.btn-info[disabled],.btn-warning[disabled],.btn-danger[disabled],fieldset[disabled] .btn-default,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-info,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-danger{-webkit-box-shadow:none;box-shadow:none}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top,#ffffff 0%,#e0e0e0 100%);background-image:-o-linear-gradient(top,#ffffff 0%,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ffffff),to(#e0e0e0));background-image:linear-gradient(to bottom,#ffffff 0%,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0%,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0%,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0%,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7',endColorstr='#ff265a88',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#245580}.btn-primary:hover,.btn-primary:focus{background-color:#265a88;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0%,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0%,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0%,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff419641',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0%,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0%,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0%,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2aabd2',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0%,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0%,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0%,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffeb9316',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0%,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0%,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0%,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc12e2a',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top,#f5f5f5 0%,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0%,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0%,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top,#337ab7 0%,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0%,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0%,#2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7',endColorstr='#ff2e6da4',GradientType=0);background-color:#2e6da4}.navbar-default{background-image:-webkit-linear-gradient(top,#ffffff 0%,#f8f8f8 100%);background-image:-o-linear-gradient(top,#ffffff 0%,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ffffff),to(#f8f8f8));background-image:linear-gradient(to bottom,#ffffff 0%,#f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff8f8f8',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0%,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0%,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0%,#e2e2e2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb',endColorstr='#ffe2e2e2',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.075);box-shadow:inset 0 3px 9px rgba(0,0,0,0.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,0.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0%,#222222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0%,#222222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222222));background-image:linear-gradient(to bottom,#3c3c3c 0%,#222222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border-radius:4px}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#080808 0%,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0%,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0%,#0f0f0f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808',endColorstr='#ff0f0f0f',GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,0.25);box-shadow:inset 0 3px 9px rgba(0,0,0,0.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}@media(max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0%,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0%,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0%,#2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7',endColorstr='#ff2e6da4',GradientType=0)}}.alert{text-shadow:0 1px 0 rgba(255,255,255,0.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.25),0 1px 2px rgba(0,0,0,0.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0%,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0%,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0%,#c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffc8e5bc',GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0%,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0%,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0%,#b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffb9def0',GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0%,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0%,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0%,#f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fff8efc0',GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0%,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0%,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0%,#e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffe7c3c3',GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0%,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0%,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0%,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb',endColorstr='#fff5f5f5',GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0%,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0%,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0%,#286090 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7',endColorstr='#ff286090',GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0%,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0%,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0%,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0%,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0%,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0%,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0%,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0%,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0%,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0%,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0%,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0%,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15)25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15)50%,rgba(255,255,255,0.15)75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.075);box-shadow:0 1px 2px rgba(0,0,0,0.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0%,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0%,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0%,#2b669a 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7',endColorstr='#ff2b669a',GradientType=0);border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0%,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0%,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0%,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffe8e8e8',GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0%,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0%,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0%,#2e6da4 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7',endColorstr='#ff2e6da4',GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0%,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0%,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0%,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8',endColorstr='#ffd0e9c6',GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0%,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0%,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0%,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7',endColorstr='#ffc4e3f3',GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0%,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0%,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0%,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3',endColorstr='#fffaf2cc',GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0%,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0%,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0%,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede',endColorstr='#ffebcccc',GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0%,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0%,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0%,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8',endColorstr='#fff5f5f5',GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1)}html,body{font-family:'Dosis';font-style:normal;font-weight:400;font-size:16px;line-height:24px}.first{margin-top:0} +/* 160302.1145 */ \ No newline at end of file diff --git a/tacoen/bootstrap.html b/tacoen/bootstrap.html new file mode 100644 index 0000000..0318601 --- /dev/null +++ b/tacoen/bootstrap.html @@ -0,0 +1,1315 @@ + + + + +Bootstrapkan! + + + + + + + + + + + + + + + +
    +',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},i.prototype.init=function(e,i,o){if(this.enabled=!0,this.type=e,this.$element=t(i),this.options=this.getOptions(o),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var n=this.options.trigger.split(" "),s=n.length;s--;){var a=n[s];if("click"==a)this.$element.on("click."+this.type,this.options.selector,t.proxy(this.toggle,this));else if("manual"!=a){var r="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(r+"."+this.type,this.options.selector,t.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,t.proxy(this.leave,this))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},i.prototype.getDelegateOptions=function(){var e={},i=this.getDefaults();return this._options&&t.each(this._options,function(t,o){i[t]!=o&&(e[t]=o)}),e},i.prototype.enter=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusin"==e.type?"focus":"hover"]=!0),i.tip().hasClass("in")||"in"==i.hoverState?void(i.hoverState="in"):(clearTimeout(i.timeout),i.hoverState="in",i.options.delay&&i.options.delay.show?void(i.timeout=setTimeout(function(){"in"==i.hoverState&&i.show()},i.options.delay.show)):i.show())},i.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},i.prototype.leave=function(e){var i=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i)),e instanceof t.Event&&(i.inState["focusout"==e.type?"focus":"hover"]=!1),i.isInStateTrue()?void 0:(clearTimeout(i.timeout),i.hoverState="out",i.options.delay&&i.options.delay.hide?void(i.timeout=setTimeout(function(){"out"==i.hoverState&&i.hide()},i.options.delay.hide)):i.hide())},i.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var o=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!o)return;var n=this,s=this.tip(),a=this.getUID(this.type);this.setContent(),s.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&s.addClass("fade");var r="function"==typeof this.options.placement?this.options.placement.call(this,s[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,h=l.test(r);h&&(r=r.replace(l,"")||"top"),s.detach().css({top:0,left:0,display:"block"}).addClass(r).data("bs."+this.type,this),this.options.container?s.appendTo(this.options.container):s.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var d=this.getPosition(),p=s[0].offsetWidth,c=s[0].offsetHeight;if(h){var f=r,u=this.getPosition(this.$viewport);r="bottom"==r&&d.bottom+c>u.bottom?"top":"top"==r&&d.top-cu.width?"left":"left"==r&&d.left-pa.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;ha.right&&(n.left=a.left+a.width-d)}return n},i.prototype.getTitle=function(){var t,e=this.$element,i=this.options;return t=e.attr("data-original-title")||("function"==typeof i.title?i.title.call(e[0]):i.title)},i.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},i.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},i.prototype.enable=function(){this.enabled=!0},i.prototype.disable=function(){this.enabled=!1},i.prototype.toggleEnabled=function(){this.enabled=!this.enabled},i.prototype.toggle=function(e){var i=this;e&&(i=t(e.currentTarget).data("bs."+this.type),i||(i=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,i))),e?(i.inState.click=!i.inState.click,i.isInStateTrue()?i.enter(i):i.leave(i)):i.tip().hasClass("in")?i.leave(i):i.enter(i)},i.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null})};var o=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=i,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=o,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.popover"),s="object"==typeof e&&e;(n||!/destroy|hide/.test(e))&&(n||o.data("bs.popover",n=new i(this,s)),"string"==typeof e&&n[e]())})}var i=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");i.VERSION="3.3.6",i.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),i.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),i.prototype.constructor=i,i.prototype.getDefaults=function(){return i.DEFAULTS},i.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof i?"html":"append":"text"](i),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},i.prototype.hasContent=function(){return this.getTitle()||this.getContent()},i.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},i.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var o=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=i,t.fn.popover.noConflict=function(){return t.fn.popover=o,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.tab");n||o.data("bs.tab",n=new i(this)),"string"==typeof e&&n[e]()})}var i=function(e){this.element=t(e)};i.VERSION="3.3.6",i.TRANSITION_DURATION=150,i.prototype.show=function(){var e=this.element,i=e.closest("ul:not(.dropdown-menu)"),o=e.data("target");if(o||(o=e.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,"")),!e.parent("li").hasClass("active")){var n=i.find(".active:last a"),s=t.Event("hide.bs.tab",{relatedTarget:e[0]}),a=t.Event("show.bs.tab",{relatedTarget:n[0]});if(n.trigger(s),e.trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){var r=t(o);this.activate(e.closest("li"),i),this.activate(r,r.parent(),function(){n.trigger({type:"hidden.bs.tab",relatedTarget:e[0]}),e.trigger({type:"shown.bs.tab",relatedTarget:n[0]})})}}},i.prototype.activate=function(e,o,n){function s(){a.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),r?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),n&&n()}var a=o.find("> .active"),r=n&&t.support.transition&&(a.length&&a.hasClass("fade")||!!o.find("> .fade").length);a.length&&r?a.one("bsTransitionEnd",s).emulateTransitionEnd(i.TRANSITION_DURATION):s(),a.removeClass("in")};var o=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=i,t.fn.tab.noConflict=function(){return t.fn.tab=o,this};var n=function(i){i.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',n).on("click.bs.tab.data-api",'[data-toggle="pill"]',n)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var o=t(this),n=o.data("bs.affix"),s="object"==typeof e&&e;n||o.data("bs.affix",n=new i(this,s)),"string"==typeof e&&n[e]()})}var i=function(e,o){this.options=t.extend({},i.DEFAULTS,o),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};i.VERSION="3.3.6",i.RESET="affix affix-top affix-bottom",i.DEFAULTS={offset:0,target:window},i.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return i>n?"top":!1;if("bottom"==this.affixed)return null!=i?n+this.unpin<=s.top?!1:"bottom":t-o>=n+a?!1:"bottom";var r=null==this.affixed,l=r?n:s.top,h=r?a:e;return null!=i&&i>=n?"top":null!=o&&l+h>=t-o?"bottom":!1},i.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(i.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},i.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},i.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),o=this.options.offset,n=o.top,s=o.bottom,a=Math.max(t(document).height(),t(document.body).height());"object"!=typeof o&&(s=n=o),"function"==typeof n&&(n=o.top(this.$element)),"function"==typeof s&&(s=o.bottom(this.$element));var r=this.getState(a,e,n,s);if(this.affixed!=r){null!=this.unpin&&this.$element.css("top","");var l="affix"+(r?"-"+r:""),h=t.Event(l+".bs.affix");if(this.$element.trigger(h),h.isDefaultPrevented())return;this.affixed=r,this.unpin="bottom"==r?this.getPinnedOffset():null,this.$element.removeClass(i.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==r&&this.$element.offset({top:a-e-s})}};var o=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=i,t.fn.affix.noConflict=function(){return t.fn.affix=o,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var i=t(this),o=i.data();o.offset=o.offset||{},null!=o.offsetBottom&&(o.offset.bottom=o.offsetBottom),null!=o.offsetTop&&(o.offset.top=o.offsetTop),e.call(i,o)})})}(jQuery),+function(t){"use strict";function e(e){var i,o=e.attr("data-target")||(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"");return t(o)}function i(e){return this.each(function(){var i=t(this),n=i.data("bs.collapse"),s=t.extend({},o.DEFAULTS,i.data(),"object"==typeof e&&e);!n&&s.toggle&&/show|hide/.test(e)&&(s.toggle=!1),n||i.data("bs.collapse",n=new o(this,s)),"string"==typeof e&&n[e]()})}var o=function(e,i){this.$element=t(e),this.options=t.extend({},o.DEFAULTS,i),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};o.VERSION="3.3.6",o.TRANSITION_DURATION=350,o.DEFAULTS={toggle:!0},o.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},o.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,n=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(n&&n.length&&(e=n.data("bs.collapse"),e&&e.transitioning))){var s=t.Event("show.bs.collapse");if(this.$element.trigger(s),!s.isDefaultPrevented()){n&&n.length&&(i.call(n,"hide"),e||n.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var r=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return r.call(this);var l=t.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",t.proxy(r,this)).emulateTransitionEnd(o.TRANSITION_DURATION)[a](this.$element[0][l]); +}}}},o.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var i=this.dimension();this.$element[i](this.$element[i]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var n=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[i](0).one("bsTransitionEnd",t.proxy(n,this)).emulateTransitionEnd(o.TRANSITION_DURATION):n.call(this)}}},o.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},o.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(i,o){var n=t(o);this.addAriaAndCollapsedClass(e(n),n)},this)).end()},o.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var n=t.fn.collapse;t.fn.collapse=i,t.fn.collapse.Constructor=o,t.fn.collapse.noConflict=function(){return t.fn.collapse=n,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(o){var n=t(this);n.attr("data-target")||o.preventDefault();var s=e(n),a=s.data("bs.collapse"),r=a?"toggle":n.data();i.call(s,r)})}(jQuery),+function(t){"use strict";function e(i,o){this.$body=t(document.body),this.$scrollElement=t(t(i).is(document.body)?window:i),this.options=t.extend({},e.DEFAULTS,o),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function i(i){return this.each(function(){var o=t(this),n=o.data("bs.scrollspy"),s="object"==typeof i&&i;n||o.data("bs.scrollspy",n=new e(this,s)),"string"==typeof i&&n[i]()})}e.VERSION="3.3.6",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,i="offset",o=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(i="position",o=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),n=e.data("target")||e.attr("href"),s=/^#./.test(n)&&t(n);return s&&s.length&&s.is(":visible")&&[[s[i]().top+o,n]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),e>=o)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e=n[t]&&(void 0===n[t+1]||e"; + +print_r($_POST); + +$css = $_POST['css']; +$out = $_POST['out']; + +$l=''; $lz = "\n/* ". date('ymd.hi') ." */"; + +foreach ($css as $c) { + $s = file_get_contents(ROOT.$c); + $sta = "[NA]"; if (file_exists(ROOT.$c)) { $sta = "[OK]"; } + $l .= compress_css($s); + echo "\n+ $sta ".ROOT."$c"; +} + +file_put_contents(ROOT.$out,$l.$lz); + +echo "\n= ".ROOT."$out"; +echo ""; + +exit; + +function compress_css($css) { + $css = preg_replace('#\/\*(.+?)\*\/#','',$css); + $css = preg_replace('#^\s+#','',$css); + $css = preg_replace('#\s+$#','',$css); + $css = preg_replace("/\n|\r+/","",$css); + $css = preg_replace("/\s+/"," ",$css); + $css = preg_replace("/(\s+|)(\:|\;|\}|\{|\,|\(|\)|\>)(\s+|\s)/","\\2",$css); + $css = preg_replace("/\;\}/","}",$css); + $css = preg_replace("/\, \./",",.",$css); + $css = preg_replace("/and\s+\(/","and(",$css); + $css = preg_replace("/media\s+\(/","media(",$css); + $css = preg_replace("/ /"," ",$css); + return $css; +} \ No newline at end of file diff --git a/tacoen/css/ap.css b/tacoen/css/ap.css new file mode 100644 index 0000000..eac657c --- /dev/null +++ b/tacoen/css/ap.css @@ -0,0 +1,69 @@ +body {overflow-x: auto;overflow-y:scroll} +body.kasir {padding-bottom: 3em; } +body.loginpage {background: #ddd; overflow:hidden; display:flex;justify-content: center;align-items: center;height: 100vh;width: 100vw; } +body.with_drawer #content {margin: 64px 1em 1em 1em} +select.form-control {padding: 0 .5em;} +div.nav-option {padding: 1em; text-align: right; font-size: .85em; display:none;} +table td {padding: .2em .25em; vertical-align:top } +table.tabel, table.pembayaran {width:100%;} +table.tabel th, table.tabel td {border: 1px solid #ccc; padding: .1em .2em;font-size: .9em; vertical-align:middle} +table.tabel tr.alt {background: rgba(0,0,0,.05); } +table.tabel tr >th:first-child,table.tabel tr >td:first-child {text-align: right} +table.tabel tr >th:last-child,table.tabel tr >td:last-child {text-align: center} +table.tabel th {border-bottom: 2px solid #333; padding: .2em;} + +td form input[type='submit'] {width:100%; } +*[onclick] {cursor:pointer; } + +footer { border-top: 1px solid rgba(0,0,0,.1); } +footer small { line-height:1; font-size: 11px; } + + +nav#drawer {width:100%; } +nav#drawer:after {display:block;content:'';clear:both} +nav#drawer{box-sizing: border-box; -moz-box-sizing: border-box; width: 100%; position: absolute; top: 0;left: 0;padding: 3em 0 1em 0;font-size: 16px;line-height: 1;z-index: 101;background: #e7e7e7;border-right:1px solid rgba(0,0,0,.1);height:100%;} +nav#drawer a { color:#444; } +nav#drawer a:hover { color:#111; } +nav#drawer .fa-4x {font-size: 100%!important; } + +#mainmenu >li >ul {margin: 0 0 .5em 0} +#mainmenu >li {border-bottom: 1px solid #ddd} +#mainmenu >li:hover >ul a {color:#000 } +#mainmenu li {position: relative;display:block;list-style-type:none} +#mainmenu ul >li >a {padding: .25em 0 .25em 2.25em;font-size: .9em;} +.nav a i {margin-right: .5em} +.btn .fa {margin-right: .25em; } + +#login {width: 80%; background: #fff; border-radius: .75em; padding: 1em;-webkit-box-shadow: 0 0 6px 8px rgba(0,0,0,.1);box-shadow: 0 0 6px 8px rgba(0,0,0,.1);} + +@media (min-width: 760px) { + body.with_drawer #content {margin: 64px 1em 1em 316px} + nav#drawer {width:300px; position: fixed;overflow-y:auto; } + div.nav-option {display:block } + #login { width: 45%; } +} + +#header {position: fixed;top:0;left:0;width:100%;height: 48px;border-radius:none;z-index:102} +#header button i.fa {width:24px;height:24px;font-size: 24px;display:block} +#header button {padding:0;width:48px;height:48px;padding: 12px;border: 0;background: transparent;outline:none; display:inline-block; } +#header h1 {margin:0; font-weight:700; font-size: 24px; line-height: 48px; display:inline-block;} + +#content {margin: 64px 1em 1em 1em;} +#content h2 {color: #d31; text-transform:capitalize;} +#content main {min-height: calc(100vh - 150px); padding-bottom: 2em;} + +#close{float:right;text-decoration:none;color:#fff;} +#entry-barang .input-group {float: left; margin-right: 1em; } +#entry-barang:after {display:block; content:''; clear:both; } +#layer1_content{padding:5px;} +#layer1_handle{background-color:#265180;padding:2px;text-align:center;font-weight:bold;color: #FFFFFF;vertical-align:middle;} +#layer1{position: absolute;left:200px;top:100px;width:450px;background-color:#eef4d2;border: 1px solid #000;z-index: 50;} + +#tot_pembelian {font-size: 300%; color: #d31; } +.kasir #content {margin: 1em 1em 1em 1em; } +.kasir #footer {position:fixed; height: 1px; bottom:0; left:0; width:100%;padding: 1px; background:#eee; text-align: right; } +.kasir #footer:hover {height: 48px; bottom:0; left:0; width:100%;padding: .5em 1em; } +.smallprint {font-size: 10px; line-height:1; margin-top:1em; padding-top:2em; border-top: 1px solid #ddd; } +.surchange-td input.form-control {width: auto; float:none} + +form.inline { display:inline-block; } diff --git a/tacoen/dosis-style.css b/tacoen/dosis-style.css new file mode 100644 index 0000000..e0d2b2c --- /dev/null +++ b/tacoen/dosis-style.css @@ -0,0 +1,43 @@ +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 200; + src: local('Dosis ExtraLight'), local('Dosis-ExtraLight'), url('font/dosis/05xr33FHwecUTIADg28rEfesZW2xOQ-xsNqO47m55DA.ttf') format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 300; + src: local('Dosis Light'), local('Dosis-Light'), url('font/dosis/0b3R8ORT0i9mlMGM3BxXF_esZW2xOQ-xsNqO47m55DA.ttf') format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 400; + src: local('Dosis Regular'), local('Dosis-Regular'), url('font/dosis/guC5lwT5Dw7anV_xfpCGqw.ttf') format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 500; + src: local('Dosis Medium'), local('Dosis-Medium'), url('font/dosis/obisuY-MenYRAFwd-r2NhfesZW2xOQ-xsNqO47m55DA.ttf') format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 600; + src: local('Dosis SemiBold'), local('Dosis-SemiBold'), url('font/dosis/URSgP3aplSko3CQAzdXHwPesZW2xOQ-xsNqO47m55DA.ttf') format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 700; + src: local('Dosis Bold'), local('Dosis-Bold'), url('font/dosis/Luunk03-uSz9LnB7oNEUuvesZW2xOQ-xsNqO47m55DA.ttf') format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 800; + src: local('Dosis ExtraBold'), local('Dosis-ExtraBold'), url('font/dosis/T4JvHtpMHbjlr73o1YLMo_esZW2xOQ-xsNqO47m55DA.ttf') format('truetype'); +} + diff --git a/tacoen/fa-style.css b/tacoen/fa-style.css new file mode 100644 index 0000000..1b21097 --- /dev/null +++ b/tacoen/fa-style.css @@ -0,0 +1,1341 @@ +/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('font/fa/fontawesome-webfont.eot'); + src: url('font/fa/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), + url('font/fa/fontawesome-webfont.woff') format('woff'), + url('font/fa/fontawesome-webfont.ttf') format('truetype'), + url('font/fa/fontawesome-webfont.svg#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.3333333333333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.2857142857142858em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.142857142857143em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.142857142857143em; + width: 2.142857142857143em; + top: 0.14285714285714285em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.8571428571428572em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@-ms-keyframes spin { + 0% { + -ms-transform: rotate(0deg); + } + 100% { + -ms-transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -moz-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + -o-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -moz-transform: scale(1, -1); + -ms-transform: scale(1, -1); + -o-transform: scale(1, -1); + transform: scale(1, -1); +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-asc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-desc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-reply-all:before { + content: "\f122"; +} +.fa-mail-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} diff --git a/tacoen/font/dosis/05xr33FHwecUTIADg28rEfesZW2xOQ-xsNqO47m55DA.ttf b/tacoen/font/dosis/05xr33FHwecUTIADg28rEfesZW2xOQ-xsNqO47m55DA.ttf new file mode 100644 index 0000000..c3223d7 Binary files /dev/null and b/tacoen/font/dosis/05xr33FHwecUTIADg28rEfesZW2xOQ-xsNqO47m55DA.ttf differ diff --git a/tacoen/font/dosis/0b3R8ORT0i9mlMGM3BxXF_esZW2xOQ-xsNqO47m55DA.ttf b/tacoen/font/dosis/0b3R8ORT0i9mlMGM3BxXF_esZW2xOQ-xsNqO47m55DA.ttf new file mode 100644 index 0000000..a8663f1 Binary files /dev/null and b/tacoen/font/dosis/0b3R8ORT0i9mlMGM3BxXF_esZW2xOQ-xsNqO47m55DA.ttf differ diff --git a/tacoen/font/dosis/Luunk03-uSz9LnB7oNEUuvesZW2xOQ-xsNqO47m55DA.ttf b/tacoen/font/dosis/Luunk03-uSz9LnB7oNEUuvesZW2xOQ-xsNqO47m55DA.ttf new file mode 100644 index 0000000..fa0b39c Binary files /dev/null and b/tacoen/font/dosis/Luunk03-uSz9LnB7oNEUuvesZW2xOQ-xsNqO47m55DA.ttf differ diff --git a/tacoen/font/dosis/T4JvHtpMHbjlr73o1YLMo_esZW2xOQ-xsNqO47m55DA.ttf b/tacoen/font/dosis/T4JvHtpMHbjlr73o1YLMo_esZW2xOQ-xsNqO47m55DA.ttf new file mode 100644 index 0000000..5dad733 Binary files /dev/null and b/tacoen/font/dosis/T4JvHtpMHbjlr73o1YLMo_esZW2xOQ-xsNqO47m55DA.ttf differ diff --git a/tacoen/font/dosis/URSgP3aplSko3CQAzdXHwPesZW2xOQ-xsNqO47m55DA.ttf b/tacoen/font/dosis/URSgP3aplSko3CQAzdXHwPesZW2xOQ-xsNqO47m55DA.ttf new file mode 100644 index 0000000..152ac09 Binary files /dev/null and b/tacoen/font/dosis/URSgP3aplSko3CQAzdXHwPesZW2xOQ-xsNqO47m55DA.ttf differ diff --git a/tacoen/font/dosis/guC5lwT5Dw7anV_xfpCGqw.ttf b/tacoen/font/dosis/guC5lwT5Dw7anV_xfpCGqw.ttf new file mode 100644 index 0000000..f061ce7 Binary files /dev/null and b/tacoen/font/dosis/guC5lwT5Dw7anV_xfpCGqw.ttf differ diff --git a/tacoen/font/dosis/obisuY-MenYRAFwd-r2NhfesZW2xOQ-xsNqO47m55DA.ttf b/tacoen/font/dosis/obisuY-MenYRAFwd-r2NhfesZW2xOQ-xsNqO47m55DA.ttf new file mode 100644 index 0000000..3552fee Binary files /dev/null and b/tacoen/font/dosis/obisuY-MenYRAFwd-r2NhfesZW2xOQ-xsNqO47m55DA.ttf differ diff --git a/tacoen/font/dosis/style.css b/tacoen/font/dosis/style.css new file mode 100644 index 0000000..879f609 --- /dev/null +++ b/tacoen/font/dosis/style.css @@ -0,0 +1,43 @@ +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 200; + src: local('Dosis ExtraLight'), local('Dosis-ExtraLight'), url(05xr33FHwecUTIADg28rEfesZW2xOQ-xsNqO47m55DA.ttf) format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 300; + src: local('Dosis Light'), local('Dosis-Light'), url(0b3R8ORT0i9mlMGM3BxXF_esZW2xOQ-xsNqO47m55DA.ttf) format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 400; + src: local('Dosis Regular'), local('Dosis-Regular'), url('guC5lwT5Dw7anV_xfpCGqw.ttf') format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 500; + src: local('Dosis Medium'), local('Dosis-Medium'), url(obisuY-MenYRAFwd-r2NhfesZW2xOQ-xsNqO47m55DA.ttf) format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 600; + src: local('Dosis SemiBold'), local('Dosis-SemiBold'), url(URSgP3aplSko3CQAzdXHwPesZW2xOQ-xsNqO47m55DA.ttf) format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 700; + src: local('Dosis Bold'), local('Dosis-Bold'), url(Luunk03-uSz9LnB7oNEUuvesZW2xOQ-xsNqO47m55DA.ttf) format('truetype'); +} +@font-face { + font-family: 'Dosis'; + font-style: normal; + font-weight: 800; + src: local('Dosis ExtraBold'), local('Dosis-ExtraBold'), url(T4JvHtpMHbjlr73o1YLMo_esZW2xOQ-xsNqO47m55DA.ttf) format('truetype'); +} + diff --git a/tacoen/font/fa/cheat-sheet.html b/tacoen/font/fa/cheat-sheet.html new file mode 100644 index 0000000..d2f217d --- /dev/null +++ b/tacoen/font/fa/cheat-sheet.html @@ -0,0 +1,2258 @@ + + + + + + + + + + Font Awesome Cheatsheet + + + + + + + + + + +
    + + + +
    + +
    + + fa-glass + (&#xf000;) +
    + +
    + + fa-music + (&#xf001;) +
    + +
    + + fa-search + (&#xf002;) +
    + +
    + + fa-envelope-o + (&#xf003;) +
    + +
    + + fa-heart + (&#xf004;) +
    + +
    + + fa-star + (&#xf005;) +
    + +
    + + fa-star-o + (&#xf006;) +
    + +
    + + fa-user + (&#xf007;) +
    + +
    + + fa-film + (&#xf008;) +
    + +
    + + fa-th-large + (&#xf009;) +
    + +
    + + fa-th + (&#xf00a;) +
    + +
    + + fa-th-list + (&#xf00b;) +
    + +
    + + fa-check + (&#xf00c;) +
    + +
    + + fa-times + (&#xf00d;) +
    + +
    + + fa-search-plus + (&#xf00e;) +
    + +
    + + fa-search-minus + (&#xf010;) +
    + +
    + + fa-power-off + (&#xf011;) +
    + +
    + + fa-signal + (&#xf012;) +
    + +
    + + fa-cog + (&#xf013;) +
    + +
    + + fa-trash-o + (&#xf014;) +
    + +
    + + fa-home + (&#xf015;) +
    + +
    + + fa-file-o + (&#xf016;) +
    + +
    + + fa-clock-o + (&#xf017;) +
    + +
    + + fa-road + (&#xf018;) +
    + +
    + + fa-download + (&#xf019;) +
    + +
    + + fa-arrow-circle-o-down + (&#xf01a;) +
    + +
    + + fa-arrow-circle-o-up + (&#xf01b;) +
    + +
    + + fa-inbox + (&#xf01c;) +
    + +
    + + fa-play-circle-o + (&#xf01d;) +
    + +
    + + fa-repeat + (&#xf01e;) +
    + +
    + + fa-refresh + (&#xf021;) +
    + +
    + + fa-list-alt + (&#xf022;) +
    + +
    + + fa-lock + (&#xf023;) +
    + +
    + + fa-flag + (&#xf024;) +
    + +
    + + fa-headphones + (&#xf025;) +
    + +
    + + fa-volume-off + (&#xf026;) +
    + +
    + + fa-volume-down + (&#xf027;) +
    + +
    + + fa-volume-up + (&#xf028;) +
    + +
    + + fa-qrcode + (&#xf029;) +
    + +
    + + fa-barcode + (&#xf02a;) +
    + +
    + + fa-tag + (&#xf02b;) +
    + +
    + + fa-tags + (&#xf02c;) +
    + +
    + + fa-book + (&#xf02d;) +
    + +
    + + fa-bookmark + (&#xf02e;) +
    + +
    + + fa-print + (&#xf02f;) +
    + +
    + + fa-camera + (&#xf030;) +
    + +
    + + fa-font + (&#xf031;) +
    + +
    + + fa-bold + (&#xf032;) +
    + +
    + + fa-italic + (&#xf033;) +
    + +
    + + fa-text-height + (&#xf034;) +
    + +
    + + fa-text-width + (&#xf035;) +
    + +
    + + fa-align-left + (&#xf036;) +
    + +
    + + fa-align-center + (&#xf037;) +
    + +
    + + fa-align-right + (&#xf038;) +
    + +
    + + fa-align-justify + (&#xf039;) +
    + +
    + + fa-list + (&#xf03a;) +
    + +
    + + fa-outdent + (&#xf03b;) +
    + +
    + + fa-indent + (&#xf03c;) +
    + +
    + + fa-video-camera + (&#xf03d;) +
    + +
    + + fa-picture-o + (&#xf03e;) +
    + +
    + + fa-pencil + (&#xf040;) +
    + +
    + + fa-map-marker + (&#xf041;) +
    + +
    + + fa-adjust + (&#xf042;) +
    + +
    + + fa-tint + (&#xf043;) +
    + +
    + + fa-pencil-square-o + (&#xf044;) +
    + +
    + + fa-share-square-o + (&#xf045;) +
    + +
    + + fa-check-square-o + (&#xf046;) +
    + +
    + + fa-arrows + (&#xf047;) +
    + +
    + + fa-step-backward + (&#xf048;) +
    + +
    + + fa-fast-backward + (&#xf049;) +
    + +
    + + fa-backward + (&#xf04a;) +
    + +
    + + fa-play + (&#xf04b;) +
    + +
    + + fa-pause + (&#xf04c;) +
    + +
    + + fa-stop + (&#xf04d;) +
    + +
    + + fa-forward + (&#xf04e;) +
    + +
    + + fa-fast-forward + (&#xf050;) +
    + +
    + + fa-step-forward + (&#xf051;) +
    + +
    + + fa-eject + (&#xf052;) +
    + +
    + + fa-chevron-left + (&#xf053;) +
    + +
    + + fa-chevron-right + (&#xf054;) +
    + +
    + + fa-plus-circle + (&#xf055;) +
    + +
    + + fa-minus-circle + (&#xf056;) +
    + +
    + + fa-times-circle + (&#xf057;) +
    + +
    + + fa-check-circle + (&#xf058;) +
    + +
    + + fa-question-circle + (&#xf059;) +
    + +
    + + fa-info-circle + (&#xf05a;) +
    + +
    + + fa-crosshairs + (&#xf05b;) +
    + +
    + + fa-times-circle-o + (&#xf05c;) +
    + +
    + + fa-check-circle-o + (&#xf05d;) +
    + +
    + + fa-ban + (&#xf05e;) +
    + +
    + + fa-arrow-left + (&#xf060;) +
    + +
    + + fa-arrow-right + (&#xf061;) +
    + +
    + + fa-arrow-up + (&#xf062;) +
    + +
    + + fa-arrow-down + (&#xf063;) +
    + +
    + + fa-share + (&#xf064;) +
    + +
    + + fa-expand + (&#xf065;) +
    + +
    + + fa-compress + (&#xf066;) +
    + +
    + + fa-plus + (&#xf067;) +
    + +
    + + fa-minus + (&#xf068;) +
    + +
    + + fa-asterisk + (&#xf069;) +
    + +
    + + fa-exclamation-circle + (&#xf06a;) +
    + +
    + + fa-gift + (&#xf06b;) +
    + +
    + + fa-leaf + (&#xf06c;) +
    + +
    + + fa-fire + (&#xf06d;) +
    + +
    + + fa-eye + (&#xf06e;) +
    + +
    + + fa-eye-slash + (&#xf070;) +
    + +
    + + fa-exclamation-triangle + (&#xf071;) +
    + +
    + + fa-plane + (&#xf072;) +
    + +
    + + fa-calendar + (&#xf073;) +
    + +
    + + fa-random + (&#xf074;) +
    + +
    + + fa-comment + (&#xf075;) +
    + +
    + + fa-magnet + (&#xf076;) +
    + +
    + + fa-chevron-up + (&#xf077;) +
    + +
    + + fa-chevron-down + (&#xf078;) +
    + +
    + + fa-retweet + (&#xf079;) +
    + +
    + + fa-shopping-cart + (&#xf07a;) +
    + +
    + + fa-folder + (&#xf07b;) +
    + +
    + + fa-folder-open + (&#xf07c;) +
    + +
    + + fa-arrows-v + (&#xf07d;) +
    + +
    + + fa-arrows-h + (&#xf07e;) +
    + +
    + + fa-bar-chart-o + (&#xf080;) +
    + +
    + + fa-twitter-square + (&#xf081;) +
    + +
    + + fa-facebook-square + (&#xf082;) +
    + +
    + + fa-camera-retro + (&#xf083;) +
    + +
    + + fa-key + (&#xf084;) +
    + +
    + + fa-cogs + (&#xf085;) +
    + +
    + + fa-comments + (&#xf086;) +
    + +
    + + fa-thumbs-o-up + (&#xf087;) +
    + +
    + + fa-thumbs-o-down + (&#xf088;) +
    + +
    + + fa-star-half + (&#xf089;) +
    + +
    + + fa-heart-o + (&#xf08a;) +
    + +
    + + fa-sign-out + (&#xf08b;) +
    + +
    + + fa-linkedin-square + (&#xf08c;) +
    + +
    + + fa-thumb-tack + (&#xf08d;) +
    + +
    + + fa-external-link + (&#xf08e;) +
    + +
    + + fa-sign-in + (&#xf090;) +
    + +
    + + fa-trophy + (&#xf091;) +
    + +
    + + fa-github-square + (&#xf092;) +
    + +
    + + fa-upload + (&#xf093;) +
    + +
    + + fa-lemon-o + (&#xf094;) +
    + +
    + + fa-phone + (&#xf095;) +
    + +
    + + fa-square-o + (&#xf096;) +
    + +
    + + fa-bookmark-o + (&#xf097;) +
    + +
    + + fa-phone-square + (&#xf098;) +
    + +
    + + fa-twitter + (&#xf099;) +
    + +
    + + fa-facebook + (&#xf09a;) +
    + +
    + + fa-github + (&#xf09b;) +
    + +
    + + fa-unlock + (&#xf09c;) +
    + +
    + + fa-credit-card + (&#xf09d;) +
    + +
    + + fa-rss + (&#xf09e;) +
    + +
    + + fa-hdd-o + (&#xf0a0;) +
    + +
    + + fa-bullhorn + (&#xf0a1;) +
    + +
    + + fa-bell + (&#xf0f3;) +
    + +
    + + fa-certificate + (&#xf0a3;) +
    + +
    + + fa-hand-o-right + (&#xf0a4;) +
    + +
    + + fa-hand-o-left + (&#xf0a5;) +
    + +
    + + fa-hand-o-up + (&#xf0a6;) +
    + +
    + + fa-hand-o-down + (&#xf0a7;) +
    + +
    + + fa-arrow-circle-left + (&#xf0a8;) +
    + +
    + + fa-arrow-circle-right + (&#xf0a9;) +
    + +
    + + fa-arrow-circle-up + (&#xf0aa;) +
    + +
    + + fa-arrow-circle-down + (&#xf0ab;) +
    + +
    + + fa-globe + (&#xf0ac;) +
    + +
    + + fa-wrench + (&#xf0ad;) +
    + +
    + + fa-tasks + (&#xf0ae;) +
    + +
    + + fa-filter + (&#xf0b0;) +
    + +
    + + fa-briefcase + (&#xf0b1;) +
    + +
    + + fa-arrows-alt + (&#xf0b2;) +
    + +
    + + fa-users + (&#xf0c0;) +
    + +
    + + fa-link + (&#xf0c1;) +
    + +
    + + fa-cloud + (&#xf0c2;) +
    + +
    + + fa-flask + (&#xf0c3;) +
    + +
    + + fa-scissors + (&#xf0c4;) +
    + +
    + + fa-files-o + (&#xf0c5;) +
    + +
    + + fa-paperclip + (&#xf0c6;) +
    + +
    + + fa-floppy-o + (&#xf0c7;) +
    + +
    + + fa-square + (&#xf0c8;) +
    + +
    + + fa-bars + (&#xf0c9;) +
    + +
    + + fa-list-ul + (&#xf0ca;) +
    + +
    + + fa-list-ol + (&#xf0cb;) +
    + +
    + + fa-strikethrough + (&#xf0cc;) +
    + +
    + + fa-underline + (&#xf0cd;) +
    + +
    + + fa-table + (&#xf0ce;) +
    + +
    + + fa-magic + (&#xf0d0;) +
    + +
    + + fa-truck + (&#xf0d1;) +
    + +
    + + fa-pinterest + (&#xf0d2;) +
    + +
    + + fa-pinterest-square + (&#xf0d3;) +
    + +
    + + fa-google-plus-square + (&#xf0d4;) +
    + +
    + + fa-google-plus + (&#xf0d5;) +
    + +
    + + fa-money + (&#xf0d6;) +
    + +
    + + fa-caret-down + (&#xf0d7;) +
    + +
    + + fa-caret-up + (&#xf0d8;) +
    + +
    + + fa-caret-left + (&#xf0d9;) +
    + +
    + + fa-caret-right + (&#xf0da;) +
    + +
    + + fa-columns + (&#xf0db;) +
    + +
    + + fa-sort + (&#xf0dc;) +
    + +
    + + fa-sort-asc + (&#xf0dd;) +
    + +
    + + fa-sort-desc + (&#xf0de;) +
    + +
    + + fa-envelope + (&#xf0e0;) +
    + +
    + + fa-linkedin + (&#xf0e1;) +
    + +
    + + fa-undo + (&#xf0e2;) +
    + +
    + + fa-gavel + (&#xf0e3;) +
    + +
    + + fa-tachometer + (&#xf0e4;) +
    + +
    + + fa-comment-o + (&#xf0e5;) +
    + +
    + + fa-comments-o + (&#xf0e6;) +
    + +
    + + fa-bolt + (&#xf0e7;) +
    + +
    + + fa-sitemap + (&#xf0e8;) +
    + +
    + + fa-umbrella + (&#xf0e9;) +
    + +
    + + fa-clipboard + (&#xf0ea;) +
    + +
    + + fa-lightbulb-o + (&#xf0eb;) +
    + +
    + + fa-exchange + (&#xf0ec;) +
    + +
    + + fa-cloud-download + (&#xf0ed;) +
    + +
    + + fa-cloud-upload + (&#xf0ee;) +
    + +
    + + fa-user-md + (&#xf0f0;) +
    + +
    + + fa-stethoscope + (&#xf0f1;) +
    + +
    + + fa-suitcase + (&#xf0f2;) +
    + +
    + + fa-bell-o + (&#xf0a2;) +
    + +
    + + fa-coffee + (&#xf0f4;) +
    + +
    + + fa-cutlery + (&#xf0f5;) +
    + +
    + + fa-file-text-o + (&#xf0f6;) +
    + +
    + + fa-building-o + (&#xf0f7;) +
    + +
    + + fa-hospital-o + (&#xf0f8;) +
    + +
    + + fa-ambulance + (&#xf0f9;) +
    + +
    + + fa-medkit + (&#xf0fa;) +
    + +
    + + fa-fighter-jet + (&#xf0fb;) +
    + +
    + + fa-beer + (&#xf0fc;) +
    + +
    + + fa-h-square + (&#xf0fd;) +
    + +
    + + fa-plus-square + (&#xf0fe;) +
    + +
    + + fa-angle-double-left + (&#xf100;) +
    + +
    + + fa-angle-double-right + (&#xf101;) +
    + +
    + + fa-angle-double-up + (&#xf102;) +
    + +
    + + fa-angle-double-down + (&#xf103;) +
    + +
    + + fa-angle-left + (&#xf104;) +
    + +
    + + fa-angle-right + (&#xf105;) +
    + +
    + + fa-angle-up + (&#xf106;) +
    + +
    + + fa-angle-down + (&#xf107;) +
    + +
    + + fa-desktop + (&#xf108;) +
    + +
    + + fa-laptop + (&#xf109;) +
    + +
    + + fa-tablet + (&#xf10a;) +
    + +
    + + fa-mobile + (&#xf10b;) +
    + +
    + + fa-circle-o + (&#xf10c;) +
    + +
    + + fa-quote-left + (&#xf10d;) +
    + +
    + + fa-quote-right + (&#xf10e;) +
    + +
    + + fa-spinner + (&#xf110;) +
    + +
    + + fa-circle + (&#xf111;) +
    + +
    + + fa-reply + (&#xf112;) +
    + +
    + + fa-github-alt + (&#xf113;) +
    + +
    + + fa-folder-o + (&#xf114;) +
    + +
    + + fa-folder-open-o + (&#xf115;) +
    + +
    + + fa-smile-o + (&#xf118;) +
    + +
    + + fa-frown-o + (&#xf119;) +
    + +
    + + fa-meh-o + (&#xf11a;) +
    + +
    + + fa-gamepad + (&#xf11b;) +
    + +
    + + fa-keyboard-o + (&#xf11c;) +
    + +
    + + fa-flag-o + (&#xf11d;) +
    + +
    + + fa-flag-checkered + (&#xf11e;) +
    + +
    + + fa-terminal + (&#xf120;) +
    + +
    + + fa-code + (&#xf121;) +
    + +
    + + fa-reply-all + (&#xf122;) +
    + +
    + + fa-mail-reply-all + (&#xf122;) +
    + +
    + + fa-star-half-o + (&#xf123;) +
    + +
    + + fa-location-arrow + (&#xf124;) +
    + +
    + + fa-crop + (&#xf125;) +
    + +
    + + fa-code-fork + (&#xf126;) +
    + +
    + + fa-chain-broken + (&#xf127;) +
    + +
    + + fa-question + (&#xf128;) +
    + +
    + + fa-info + (&#xf129;) +
    + +
    + + fa-exclamation + (&#xf12a;) +
    + +
    + + fa-superscript + (&#xf12b;) +
    + +
    + + fa-subscript + (&#xf12c;) +
    + +
    + + fa-eraser + (&#xf12d;) +
    + +
    + + fa-puzzle-piece + (&#xf12e;) +
    + +
    + + fa-microphone + (&#xf130;) +
    + +
    + + fa-microphone-slash + (&#xf131;) +
    + +
    + + fa-shield + (&#xf132;) +
    + +
    + + fa-calendar-o + (&#xf133;) +
    + +
    + + fa-fire-extinguisher + (&#xf134;) +
    + +
    + + fa-rocket + (&#xf135;) +
    + +
    + + fa-maxcdn + (&#xf136;) +
    + +
    + + fa-chevron-circle-left + (&#xf137;) +
    + +
    + + fa-chevron-circle-right + (&#xf138;) +
    + +
    + + fa-chevron-circle-up + (&#xf139;) +
    + +
    + + fa-chevron-circle-down + (&#xf13a;) +
    + +
    + + fa-html5 + (&#xf13b;) +
    + +
    + + fa-css3 + (&#xf13c;) +
    + +
    + + fa-anchor + (&#xf13d;) +
    + +
    + + fa-unlock-alt + (&#xf13e;) +
    + +
    + + fa-bullseye + (&#xf140;) +
    + +
    + + fa-ellipsis-h + (&#xf141;) +
    + +
    + + fa-ellipsis-v + (&#xf142;) +
    + +
    + + fa-rss-square + (&#xf143;) +
    + +
    + + fa-play-circle + (&#xf144;) +
    + +
    + + fa-ticket + (&#xf145;) +
    + +
    + + fa-minus-square + (&#xf146;) +
    + +
    + + fa-minus-square-o + (&#xf147;) +
    + +
    + + fa-level-up + (&#xf148;) +
    + +
    + + fa-level-down + (&#xf149;) +
    + +
    + + fa-check-square + (&#xf14a;) +
    + +
    + + fa-pencil-square + (&#xf14b;) +
    + +
    + + fa-external-link-square + (&#xf14c;) +
    + +
    + + fa-share-square + (&#xf14d;) +
    + +
    + + fa-compass + (&#xf14e;) +
    + +
    + + fa-caret-square-o-down + (&#xf150;) +
    + +
    + + fa-caret-square-o-up + (&#xf151;) +
    + +
    + + fa-caret-square-o-right + (&#xf152;) +
    + +
    + + fa-eur + (&#xf153;) +
    + +
    + + fa-gbp + (&#xf154;) +
    + +
    + + fa-usd + (&#xf155;) +
    + +
    + + fa-inr + (&#xf156;) +
    + +
    + + fa-jpy + (&#xf157;) +
    + +
    + + fa-rub + (&#xf158;) +
    + +
    + + fa-krw + (&#xf159;) +
    + +
    + + fa-btc + (&#xf15a;) +
    + +
    + + fa-file + (&#xf15b;) +
    + +
    + + fa-file-text + (&#xf15c;) +
    + +
    + + fa-sort-alpha-asc + (&#xf15d;) +
    + +
    + + fa-sort-alpha-desc + (&#xf15e;) +
    + +
    + + fa-sort-amount-asc + (&#xf160;) +
    + +
    + + fa-sort-amount-desc + (&#xf161;) +
    + +
    + + fa-sort-numeric-asc + (&#xf162;) +
    + +
    + + fa-sort-numeric-desc + (&#xf163;) +
    + +
    + + fa-thumbs-up + (&#xf164;) +
    + +
    + + fa-thumbs-down + (&#xf165;) +
    + +
    + + fa-youtube-square + (&#xf166;) +
    + +
    + + fa-youtube + (&#xf167;) +
    + +
    + + fa-xing + (&#xf168;) +
    + +
    + + fa-xing-square + (&#xf169;) +
    + +
    + + fa-youtube-play + (&#xf16a;) +
    + +
    + + fa-dropbox + (&#xf16b;) +
    + +
    + + fa-stack-overflow + (&#xf16c;) +
    + +
    + + fa-instagram + (&#xf16d;) +
    + +
    + + fa-flickr + (&#xf16e;) +
    + +
    + + fa-adn + (&#xf170;) +
    + +
    + + fa-bitbucket + (&#xf171;) +
    + +
    + + fa-bitbucket-square + (&#xf172;) +
    + +
    + + fa-tumblr + (&#xf173;) +
    + +
    + + fa-tumblr-square + (&#xf174;) +
    + +
    + + fa-long-arrow-down + (&#xf175;) +
    + +
    + + fa-long-arrow-up + (&#xf176;) +
    + +
    + + fa-long-arrow-left + (&#xf177;) +
    + +
    + + fa-long-arrow-right + (&#xf178;) +
    + +
    + + fa-apple + (&#xf179;) +
    + +
    + + fa-windows + (&#xf17a;) +
    + +
    + + fa-android + (&#xf17b;) +
    + +
    + + fa-linux + (&#xf17c;) +
    + +
    + + fa-dribbble + (&#xf17d;) +
    + +
    + + fa-skype + (&#xf17e;) +
    + +
    + + fa-foursquare + (&#xf180;) +
    + +
    + + fa-trello + (&#xf181;) +
    + +
    + + fa-female + (&#xf182;) +
    + +
    + + fa-male + (&#xf183;) +
    + +
    + + fa-gittip + (&#xf184;) +
    + +
    + + fa-sun-o + (&#xf185;) +
    + +
    + + fa-moon-o + (&#xf186;) +
    + +
    + + fa-archive + (&#xf187;) +
    + +
    + + fa-bug + (&#xf188;) +
    + +
    + + fa-vk + (&#xf189;) +
    + +
    + + fa-weibo + (&#xf18a;) +
    + +
    + + fa-renren + (&#xf18b;) +
    + +
    + + fa-pagelines + (&#xf18c;) +
    + +
    + + fa-stack-exchange + (&#xf18d;) +
    + +
    + + fa-arrow-circle-o-right + (&#xf18e;) +
    + +
    + + fa-arrow-circle-o-left + (&#xf190;) +
    + +
    + + fa-caret-square-o-left + (&#xf191;) +
    + +
    + + fa-dot-circle-o + (&#xf192;) +
    + +
    + + fa-wheelchair + (&#xf193;) +
    + +
    + + fa-vimeo-square + (&#xf194;) +
    + +
    + + fa-try + (&#xf195;) +
    + +
    + + fa-plus-square-o + (&#xf196;) +
    + +
    +
    + +
    + + + + + diff --git a/tacoen/font/fa/fontawesome-webfont.eot b/tacoen/font/fa/fontawesome-webfont.eot new file mode 100644 index 0000000..7c79c6a Binary files /dev/null and b/tacoen/font/fa/fontawesome-webfont.eot differ diff --git a/tacoen/font/fa/fontawesome-webfont.ttf b/tacoen/font/fa/fontawesome-webfont.ttf new file mode 100644 index 0000000..e89738d Binary files /dev/null and b/tacoen/font/fa/fontawesome-webfont.ttf differ diff --git a/tacoen/font/fa/fontawesome-webfont.woff b/tacoen/font/fa/fontawesome-webfont.woff new file mode 100644 index 0000000..8c1748a Binary files /dev/null and b/tacoen/font/fa/fontawesome-webfont.woff differ diff --git a/tacoen/font/fa/style.css b/tacoen/font/fa/style.css new file mode 100644 index 0000000..58d6a71 --- /dev/null +++ b/tacoen/font/fa/style.css @@ -0,0 +1,1341 @@ +/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('fontawesome-webfont.eot'); + src: url('fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), + url('fontawesome-webfont.woff') format('woff'), + url('fontawesome-webfont.ttf') format('truetype'), + url('fontawesome-webfont.svg#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.3333333333333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.2857142857142858em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.142857142857143em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.142857142857143em; + width: 2.142857142857143em; + top: 0.14285714285714285em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.8571428571428572em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: spin 2s infinite linear; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@-ms-keyframes spin { + 0% { + -ms-transform: rotate(0deg); + } + 100% { + -ms-transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -moz-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + -o-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -moz-transform: scale(1, -1); + -ms-transform: scale(1, -1); + -o-transform: scale(1, -1); + transform: scale(1, -1); +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-asc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-desc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-reply-all:before { + content: "\f122"; +} +.fa-mail-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} diff --git a/tacoen/icons/android-chrome-36x36.png b/tacoen/icons/android-chrome-36x36.png new file mode 100644 index 0000000..7798802 Binary files /dev/null and b/tacoen/icons/android-chrome-36x36.png differ diff --git a/tacoen/icons/android-chrome-48x48.png b/tacoen/icons/android-chrome-48x48.png new file mode 100644 index 0000000..82c8ee8 Binary files /dev/null and b/tacoen/icons/android-chrome-48x48.png differ diff --git a/tacoen/icons/apple-touch-icon-57x57.png b/tacoen/icons/apple-touch-icon-57x57.png new file mode 100644 index 0000000..7cecd0f Binary files /dev/null and b/tacoen/icons/apple-touch-icon-57x57.png differ diff --git a/tacoen/icons/apple-touch-icon-60x60.png b/tacoen/icons/apple-touch-icon-60x60.png new file mode 100644 index 0000000..0968c66 Binary files /dev/null and b/tacoen/icons/apple-touch-icon-60x60.png differ diff --git a/tacoen/icons/apple-touch-icon-precomposed.png b/tacoen/icons/apple-touch-icon-precomposed.png new file mode 100644 index 0000000..0ddccd4 Binary files /dev/null and b/tacoen/icons/apple-touch-icon-precomposed.png differ diff --git a/tacoen/icons/apple-touch-icon.png b/tacoen/icons/apple-touch-icon.png new file mode 100644 index 0000000..0968c66 Binary files /dev/null and b/tacoen/icons/apple-touch-icon.png differ diff --git a/tacoen/icons/browserconfig.xml b/tacoen/icons/browserconfig.xml new file mode 100644 index 0000000..249642d --- /dev/null +++ b/tacoen/icons/browserconfig.xml @@ -0,0 +1,11 @@ + + + + + + + + #00aba9 + + + diff --git a/tacoen/icons/favicon-16x16.png b/tacoen/icons/favicon-16x16.png new file mode 100644 index 0000000..9461dd1 Binary files /dev/null and b/tacoen/icons/favicon-16x16.png differ diff --git a/tacoen/icons/favicon-32x32.png b/tacoen/icons/favicon-32x32.png new file mode 100644 index 0000000..8bf4fc9 Binary files /dev/null and b/tacoen/icons/favicon-32x32.png differ diff --git a/tacoen/icons/favicon.ico b/tacoen/icons/favicon.ico new file mode 100644 index 0000000..6cb7908 Binary files /dev/null and b/tacoen/icons/favicon.ico differ diff --git a/tacoen/icons/manifest.json b/tacoen/icons/manifest.json new file mode 100644 index 0000000..033e8a2 --- /dev/null +++ b/tacoen/icons/manifest.json @@ -0,0 +1,17 @@ +{ + "name": "AhadPos", + "icons": [ + { + "src": "\/android-chrome-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": 0.75 + }, + { + "src": "\/android-chrome-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": 1 + } + ] +} diff --git a/tacoen/icons/mstile-150x150.png b/tacoen/icons/mstile-150x150.png new file mode 100644 index 0000000..bdb5ca6 Binary files /dev/null and b/tacoen/icons/mstile-150x150.png differ diff --git a/tacoen/icons/mstile-310x150.png b/tacoen/icons/mstile-310x150.png new file mode 100644 index 0000000..5d6a9a3 Binary files /dev/null and b/tacoen/icons/mstile-310x150.png differ diff --git a/tacoen/icons/mstile-70x70.png b/tacoen/icons/mstile-70x70.png new file mode 100644 index 0000000..d4e15c8 Binary files /dev/null and b/tacoen/icons/mstile-70x70.png differ diff --git a/tacoen/icons/safari-pinned-tab.svg b/tacoen/icons/safari-pinned-tab.svg new file mode 100644 index 0000000..3d1e9dd --- /dev/null +++ b/tacoen/icons/safari-pinned-tab.svg @@ -0,0 +1,21 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + diff --git a/tacoen/img_sem_elements.gif b/tacoen/img_sem_elements.gif new file mode 100644 index 0000000..f56b534 Binary files /dev/null and b/tacoen/img_sem_elements.gif differ diff --git a/tacoen/js/ahadpos.js b/tacoen/js/ahadpos.js new file mode 100644 index 0000000..c8476be --- /dev/null +++ b/tacoen/js/ahadpos.js @@ -0,0 +1,75 @@ +function setCookie(cname, cvalue, exdays) { + var d = new Date(); + if (exdays == -1) { + d.setTime(d.getTime() + (exdays*24*60*60*1000)); + var expires = "expires="+d.toUTCString(); + document.cookie = cname + "=" + cvalue + "; " + expires; + } else { + console.log('no exday'); + document.cookie = cname + "=" + cvalue + "; expires=-365"; + } +} + +function getCookie(cname) { + var name = cname + "="; + var ca = document.cookie.split(';'); + for(var i=0; i 3) { + h=f[0]; + f[0]=''; + for (j=3; j < h.length; j += 3) { + i=h.slice(h.length - j, h.length - j + 3); + f[0]=d + i + f[0] + ''; + } + j=h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3)); + f[0]=j + f[0]; + } + + c=(b <= 0) ? '' : c; + return f[0] + c + f[1]; +} + + +function RecalcTotal(tot_pembelian) { + var totalBeli=0; + var Kembali=0; + var uangDibayar=parseInt(document.getElementById("uangDibayar").value); + var surcharge=parseInt(document.getElementById("surcharge").value); + + totalSurcharge=((tot_pembelian / 100) * surcharge); + totalBeli=tot_pembelian + totalSurcharge; + Kembali=uangDibayar - totalBeli; + + document.getElementById("uangKembali").value=Kembali; + document.getElementById("kembalian").innerHTML='' + number_format(Kembali, 0, ',', '.') + ''; + + document.getElementById("TotalSurcharge").value=number_format(totalSurcharge, 0, ',', '.'); + document.getElementById("tot_pembelian").innerHTML='' + number_format(totalBeli, 0, ',', '.') + ''; +} + diff --git a/tacoen/ta-function.php b/tacoen/ta-function.php new file mode 100644 index 0000000..cd870cc --- /dev/null +++ b/tacoen/ta-function.php @@ -0,0 +1,185 @@ +login ulang"); exit; +} + +function check_ahadpos_session() { + if (empty($_SESSION['namauser']) AND empty($_SESSION['passuser'])){ + e("Login Expire! login ulang"); exit; + } +} + +// dari 2b + +function ahp_htmlheader($title,$add_to_head='') { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "AhadPOS: $title\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + //echo "\n"; + echo "\n"; + echo "\n"; + /* + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + */ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + if ($add_to_head!='') { echo $add_to_head; } + echo ""; + +} + +function ahp_nojs_header($title,$add_to_head='') { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "AhadPOS: $title\n"; + echo "\n"; + /* + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + */ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + if ($add_to_head!='') { echo $add_to_head; } + echo ""; + +} + + +function ahp_kasirheader($title,$add_to_head='') { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "AhadPOS: $title\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + /* + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + */ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + if ($add_to_head!='') { echo $add_to_head; } + echo ""; + +} + +function ahad_homepage() { + + $kas=getKasAwal($_SESSION['iduser']); + $uang=getUangKasir($_SESSION['iduser']); ?> +
    +
    + +

    Halo .

    + +

    Waktu Login Saat ini: |

    + +

    Pintasan Cepat

    +
    + +
    + +
    +
    Uang Transaksi
    +
    Rp.
    +
    + +
    +
    Kas Awal
    +
    Rp.
    +
    + +
    +
    Akses ID
    +
    /
    +
    + +
    +
    + +"; print_r($_SERVER); echo ""; +} + +function ahad_shortcut($lvl) { + $m =""; + switch($lvl) { + case 'admin': + $m .="
  • User Manager
  • "; + $m .="
  • Cashier Workstation
  • "; + break; + case 'gudang': + $m .="
  • Data Barang
  • "; + $m .="
  • Pembelian Barang
  • "; + $m .="
  • Data Customer
  • "; + $m .="
  • Jadi Kasir
  • "; + break; + case 'kasir': + $m .="
  • Data Customer
  • "; + $m .="
  • Buka Kasir
  • "; + break; + default: + $m .="
  • Opsi1
  • "; + break; + } + + return $m; +}?> \ No newline at end of file diff --git a/tacoen/theme/logo-lg.png b/tacoen/theme/logo-lg.png new file mode 100644 index 0000000..52d983b Binary files /dev/null and b/tacoen/theme/logo-lg.png differ diff --git a/tacoen/theme/logo-md.png b/tacoen/theme/logo-md.png new file mode 100644 index 0000000..424735b Binary files /dev/null and b/tacoen/theme/logo-md.png differ diff --git a/tacoen/theme/logo-sm.png b/tacoen/theme/logo-sm.png new file mode 100644 index 0000000..bed0fb9 Binary files /dev/null and b/tacoen/theme/logo-sm.png differ diff --git a/tacoen/theme/logo.png b/tacoen/theme/logo.png new file mode 100644 index 0000000..2021734 Binary files /dev/null and b/tacoen/theme/logo.png differ diff --git a/tools/fast-stock-opname/fast-SO-mobile.php b/tools/fast-stock-opname/fast-SO-mobile.php index 45df1f9..808961a 100644 --- a/tools/fast-stock-opname/fast-SO-mobile.php +++ b/tools/fast-stock-opname/fast-SO-mobile.php @@ -1,17 +1,18 @@ + + + +Mobile SO - Ahad Mart + + + + + + + + + + + + + + + + + "; +if ($_GET["jmlbarang"]) { // ================================================================================ + + echo "
    "; - if (empty($_GET["jumlahtercatat"])) { - $_GET["jumlahtercatat"] = 0; - } + if (empty($_GET["jumlahtercatat"])) { $_GET["jumlahtercatat"] = 0; } - // komplain jika salah input angka barcode ke jumlahTercatat - if ($_GET["jmlbarang"] > 2000) { - echo "

    Salah : Input Barcode sebagai Jumlah Barang.
    + // komplain jika salah input angka barcode ke jumlahTercatat + if ($_GET["jmlbarang"] > 2000) { + echo "

    Salah : Input Barcode sebagai Jumlah Barang.
    Klik disini untuk mengulang kembali

    "; - exit; - }; - - //$selisih = ($_GET["jmlbarang"] - $_GET["jumlahtercatat"]); - $selisih = $_GET["jmlbarang"]; - - // cari apakah sudah ada - $sql = "SELECT sum(selisih) AS total FROM fast_stock_opname WHERE barcode='".$_GET["barcode1"]."' AND approved=0"; - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil); - - /* fix: selisih adalah jmlSebenarnya */ - $hasil = mysql_query("select jumBarang from barang where barcode = '{$_GET["barcode1"]}'"); - $barang = mysql_fetch_array($hasil, MYSQL_ASSOC); - - if (!is_null($x['total'])) { - $selisih = $selisih + $x['total']; - $sql = "UPDATE fast_stock_opname SET selisih=$selisih, jmlTercatat={$barang['jumBarang']}, idRak={$_GET["nomorrak"]} WHERE barcode='".$_GET["barcode1"]."' AND approved=0"; - $hasil = mysql_query($sql); - } else { - // simpan di database - $sql = "INSERT INTO fast_stock_opname (barcode, idRak, jmlTercatat, selisih, tanggalSO, username, namaBarang) - VALUES ('".$_GET["barcode1"]."',".$_GET["nomorrak"].",".$barang['jumBarang'].", + exit; + }; + + //$selisih = ($_GET["jmlbarang"] - $_GET["jumlahtercatat"]); + $selisih = $_GET["jmlbarang"]; + + // cari apakah sudah ada + $sql = "SELECT sum(selisih) AS total FROM fast_stock_opname WHERE barcode='".$_GET["barcode1"]."' AND approved=0"; + $hasil = mysql_query($sql); + $x = mysql_fetch_array($hasil); + + if ($x['total'] > 0) { + $selisih = $selisih + $x['total']; + $sql = "UPDATE fast_stock_opname SET selisih=$selisih, jmlTercatat=$selisih WHERE barcode='".$_GET["barcode1"]."' AND approved=0"; + $hasil = mysql_query($sql); + } else { + // simpan di database + $sql = "INSERT INTO fast_stock_opname (barcode, idRak, jmlTercatat, selisih, tanggalSO, username, namaBarang) + VALUES ('".$_GET["barcode1"]."',".$_GET["nomorrak"].",".$_GET["jmlbarang"].", ".$selisih.",'".date("Y-m-d")."', '".$_GET["username"]."', '".$_GET["namaBarang"]."')"; - $hasil = mysql_query($sql); - }; + $hasil = mysql_query($sql); + }; + + $showdiv = $_GET["divAwal"]; + + header( "refresh:0;url=redirect.php" ); - $showdiv = $_GET["divAwal"]; - header("Location:redirect.php"); } -?> - - - - Mobile SO - Ahad Mart - - - - - - - - - - - - - - - "; - - $sql = "SELECT namaBarang FROM barang WHERE barcode='".$_GET["barcode"]."'"; - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil) or die("

    Barang tidak ditemukan + + +// minta jumlah barang +elseif ($_GET["barcode"]) { // =================================================================================== + + echo " "; + + $sql = "SELECT namaBarang FROM barang WHERE barcode='".$_GET["barcode"]."'"; + $hasil = mysql_query($sql); + $x = mysql_fetch_array($hasil) or die(""); - $namaBarang = $x['namaBarang']; - - if (mysql_num_rows($hasil) < 1) { - echo "Salah input barcode. [ KLIK DISINI ]"; - exit; - } - - $sql = "SELECT sum(selisih) AS total FROM fast_stock_opname WHERE barcode='".$_GET["barcode"]."' AND approved=0"; - $hasil = mysql_query($sql); - $x = mysql_fetch_array($hasil, MYSQL_ASSOC); - - //$total = 0; - if (!is_null($x['total'])) { - $total = $x['total']; - } - ?> - -
    -
    -
    -
    -
    -
    -
    - ?nomorrak=&username=">klik disini untuk membatalkan karena beda barang -
    -
    - Total jumlah barang tercatat pada SO ini : -
    -
    -

    Masukkan jumlah barang saat ini

    -
    - '; - } else { - echo ' '; - } - ?> - -
    - " /> - " /> - " /> - - -
    -
    - - KLIK DISINI ]"; + exit; + } + + $sql = "SELECT sum(selisih) AS total FROM fast_stock_opname WHERE barcode='".$_GET["barcode"]."' AND approved=0"; + $hasil = mysql_query($sql); + $x = mysql_fetch_array($hasil); + + $total = 0; + if($x['total'] > 0) { + $total = $x['total']; + } + +?> + + +
    + + + + + + + + + + + +
    ".$namaBarang."( + klik disini untuk membatalkan karena beda barang)
    ( total jumlah barang tercatat pada SO ini : $total )
    + "; + ?> + + + +

    Masukkan jumlah barang saat ini

    + + + + +" /> +" /> +" /> + + + + + +
    +'; + } else { + echo ' '; + }; +?>" /> +" /> +" /> + + +
    +
    +

    +
    +
    @@ -175,49 +207,51 @@ "; - $no = 1; - while ($r = mysql_fetch_array($cari)) { - //untuk mewarnai tabel menjadi selang-seling - if (($no % 2) == 0) { - $warna = "#EAF0F7"; - } else { - $warna = "#FFFFFF"; - } - echo ""; //end warna + $no=1; + while ($r=mysql_fetch_array($cari)) { + //untuk mewarnai tabel menjadi selang-seling + if(($no % 2) == 0){ + $warna = "#EAF0F7"; + } else { + $warna = "#FFFFFF"; + } + echo "";//end warna - $linkurl = "?noscan=1&username=".$_GET["username"]."&nomorrak=".$_GET["nomorrak"]."&barcode=".$r["barcode"].""; + $linkurl = "?noscan=1&username=".$_GET["username"]."&nomorrak=".$_GET["nomorrak"]."&barcode=".$r["barcode"].""; - echo " + echo ""; - $no++; - } + $no++; + } - if (mysql_num_rows($cari) < 1) { - echo " + if (mysql_num_rows($cari) < 1) { + echo "
    Harga Jual
    $no$no $r[barcode]
    PILIH
    $r[namaBarang] $r[hargaJual]

    Barang tidak ditemukan Klik disini untuk mengulang kembali

    "; - } else { - echo " + + } else { + echo "

    "; - } - } + } +} // minta barcode - if ($_GET["nomorrak"]) { // =================================================================================== - if (!$_GET["noscan"]) { - // ref: https://code.google.com/p/zxing/wiki/ScanningFromWebPages +if ($_GET["nomorrak"]) { // =================================================================================== + + if (!$_GET["noscan"]) { + // ref: https://code.google.com/p/zxing/wiki/ScanningFromWebPages - echo " + echo "
    @@ -227,12 +261,12 @@ - - - - - - - - - + + + + + + + + + + true, - 'strukId' => $uid, - ); - echo json_encode($return); - cetak($link, $clientIP, $uid); + $return = array( + 'sukses' => true, + 'strukId' => $uid, + ); + echo json_encode($return); + cetak($link, $clientIP, $uid); } function cetak($link, $clientIP, $strukId) { - // cetak struk ------------- - // ambil footer & header struk - $sql = "SELECT `option`,`value` FROM config"; - $hasil = mysqli_query($link, $sql) or die('Gagal ambil config, error: '.mysqli_error($link)); - while ($x = mysqli_fetch_array($hasil)) { - if ($x[option] == 'store_name') { - $namaToko = $x[value]; - }; - }; - $ip = $clientIP; - $perintahPrinter = "-H $ip -P printerstruk -l"; - $struk = chr(27)."@"; //Init Printer - //$struk .= chr(27) . chr(101) . chr(2); //2 reverse lf - $struk .= chr(27)."!".chr(1); //font B / normal - //$struk .= chr(27) . chr(101) . chr(2); //1 reverse lf - $struk .= chr(27)."a".chr(48); //0 left - //$struk .= chr(27) . chr(101) . chr(2); //2 reverse lf - //$struk .= chr(27) . chr(101) . chr(2); //2 reverse lf - $struk .= strtoupper($namaToko)."\n"; - $struk .= "Self Check Out\n"; + // cetak struk ------------- + // ambil footer & header struk + $sql = "SELECT `option`,`value` FROM config"; + $hasil = mysqli_query($link, $sql) or die('Gagal ambil config, error: ' . mysqli_error($link)); + while ($x = mysqli_fetch_array($hasil)) { + if ($x[option] == 'store_name') { + $namaToko = $x[value]; + }; + }; + $ip = $clientIP; + $perintahPrinter = "-H $ip -P printerstruk -l"; + $struk = chr(27) . "@"; //Init Printer + //$struk .= chr(27) . chr(101) . chr(2); //2 reverse lf + $struk .= chr(27) . "!" . chr(1); //font B / normal + //$struk .= chr(27) . chr(101) . chr(2); //1 reverse lf + $struk .= chr(27) . "a" . chr(48); //0 left + //$struk .= chr(27) . chr(101) . chr(2); //2 reverse lf + //$struk .= chr(27) . chr(101) . chr(2); //2 reverse lf + $struk .= strtoupper($namaToko) . "\n"; + $struk .= "Self Check Out\n"; - $total = number_format(_ambilTotal($link, $clientIP), 0, ',', '.'); - $struk .= chr(27).chr(101).chr(2); //2 reverse lf - $struk .= chr(27)."!".chr(16); //font double width - $struk .= chr(27)."a".chr(2); //2 right - $struk .= "Rp. {$total}\n\n"; + $total = number_format(_ambilTotal($link, $clientIP), 0, ',', '.'); + $struk .= chr(27) . chr(101) . chr(2); //2 reverse lf + $struk .= chr(27) . "!" . chr(16); //font double width + $struk .= chr(27) . "a" . chr(2); //2 right + $struk .= "Rp. {$total}\n\n"; - $struk .= chr(27)."!".chr(48); //font besar - $struk .= chr(27)."a".chr(1); //0 center - $struk .="{$strukId}\n\n"; - $struk .= chr(27)."!".chr(1); //font Normal - $struk .= chr(27)."a".chr(48); //0 left + $struk .= chr(27) . "!" . chr(48); //font besar + $struk .= chr(27) . "a" . chr(1); //0 center + $struk .="{$strukId}\n\n"; + $struk .= chr(27) . "!" . chr(1); //font Normal + $struk .= chr(27) . "a" . chr(48); //0 left - $struk .= "Ketentuan:\n"; - $struk .= "Struk ini "; + $struk .= "Ketentuan:\n"; + $struk .= "Struk ini "; // $struk .= chr(27) . "!" . chr(8); //font tebal - $struk .= "BUKAN bukti pembayaran\n"; - $struk .= chr(27)."!".chr(1); //font normal - $struk .= "Silahkan melakukan pembayaran di kasir\n" - ."Jika ada perbedaan perhitungan,\n" - ."Yang benar adalah "; + $struk .= "BUKAN bukti pembayaran\n"; + $struk .= chr(27) . "!" . chr(1); //font normal + $struk .= "Silahkan melakukan pembayaran di kasir\n" + . "Jika ada perbedaan perhitungan,\n" + . "Yang benar adalah "; // $struk .= chr(27) . "!" . chr(8); //font tebal - $struk .= "perhitungan kasir\n"; - $struk .= chr(27)."!".chr(1); //font normal - $struk .= chr(29)."V".chr(66).chr(48); //Feed paper & cut - $perintah = "echo \"$struk\" |lpr $perintahPrinter -l"; - //echo $perintah; - exec($perintah, $output); -} - -function cekHarga($link, $barcode) { - $return = array( - 'sukses' => false - ); - if (isset($barcode)) { - $sql = "SELECT barcode, namaBarang, hargaJual FROM barang WHERE barcode = '{$barcode}'"; - $result = mysqli_query($link, $sql); - $barang = mysqli_fetch_array($result, MYSQLI_ASSOC); - $return = array( - 'sukses' => true, - 'barcode' => $barang['barcode'], - 'nama' => $barang['namaBarang'], - 'harga' => number_format($barang['hargaJual'], 0, ',', '.'), - ); - } - echo json_encode($return); + $struk .= "perhitungan kasir\n"; + $struk .= chr(27) . "!" . chr(1); //font normal + $struk .= chr(29) . "V" . chr(66) . chr(48); //Feed paper & cut + $perintah = "echo \"$struk\" |lpr $perintahPrinter -l"; + echo $perintah; + exec($perintah, $output); } diff --git a/tools/self_checkout/cekharga.php b/tools/self_checkout/cekharga.php deleted file mode 100644 index d8da990..0000000 --- a/tools/self_checkout/cekharga.php +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - - - AhadPOS - Cek Harga - - - - - - - - - - - - -
    -
    - -
    -
    -
    -

      - -

    -

      - -

    -
    -
    -
    -
    -
    -
    -

      -

    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    - -
    -
    -
    - 7 -
    -
    - 8 -
    -
    - 9 -
    -
    - C -
    -
    -
    -
    - 4 -
    -
    - 5 -
    -
    - 6 -
    -
    - DEL -
    -
    -
    -
    - 1 -
    -
    - 2 -
    -
    - 3 -
    -
    -   -
    -
    -
    -
    - 0 -
    -
    - ENTER -
    -
    -
    -
    -
    - - - - - \ No newline at end of file diff --git a/tools/self_checkout/img/ahadmart-logo-d.png b/tools/self_checkout/img/ahadmart-logo-d.png new file mode 100644 index 0000000..0644b14 Binary files /dev/null and b/tools/self_checkout/img/ahadmart-logo-d.png differ diff --git a/tools/self_checkout/img/logo.png b/tools/self_checkout/img/ahadmart-logo.png similarity index 100% rename from tools/self_checkout/img/logo.png rename to tools/self_checkout/img/ahadmart-logo.png diff --git a/tools/self_checkout/input.php b/tools/self_checkout/input.php index b2baa5e..ffc1ea9 100644 --- a/tools/self_checkout/input.php +++ b/tools/self_checkout/input.php @@ -90,7 +90,7 @@
    - +
    diff --git a/version.php b/version.php deleted file mode 100644 index bc80560..0000000 --- a/version.php +++ /dev/null @@ -1 +0,0 @@ -1.5.0
    "; - //if (substr($_SERVER["HTTP_USER_AGENT"], 0, 19) == "Mozilla/5.0 (iPhone") { - echo "
    "; - //} else { - //echo "
    "; - //}; - echo " + //if (substr($_SERVER["HTTP_USER_AGENT"], 0, 19) == "Mozilla/5.0 (iPhone") { + echo "
    "; + //} else { + //echo "
    "; + //}; + echo " @@ -257,60 +291,77 @@
    "; - }; - } elseif (!$_GET["noscan"]) { // -------------------------------------------------------------------------------------- - echo " "; - ?> - -
    -
    - -

    Masukkan Nomor Rak

    - - -
    -

    '; - //} else { - //echo '

    '; - //}; - $sql = "select idRak, namaRak from rak ORDER BY LPAD(lower(namaRak), 10,0)"; - $raks = mysql_query($sql) or die('Gagal ambil data rak'); - ?> - -
    -
    -

    -
    -
    -
    - - -
    -
    - - - - - - -

    + + + }; + +} elseif (!$_GET["noscan"]) { // -------------------------------------------------------------------------------------- + + echo "
    "; + + +?> + +
    +
    + +

    Masukkan Nomor Rak

    + + +
    +

    '; + //} else { + //echo '

    '; + //}; + $sql = "select idRak, namaRak from rak order by namaRak"; + $raks = mysql_query($sql) or die('Gagal ambil data rak'); +?> + +
    +
    +

    +
    +
    +
    + + +
    +
    + + + + +
    + +

    diff --git a/tools/fast-stock-opname/pdt-so.php b/tools/fast-stock-opname/pdt-so.php index 0d5574d..0a2f658 100644 --- a/tools/fast-stock-opname/pdt-so.php +++ b/tools/fast-stock-opname/pdt-so.php @@ -62,7 +62,7 @@