123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- <?php
- /**
- * 开票功能控制器
- * @author CP
- * @version 1.0
- * @namespace invoice
- * @package invoiceController
- */
- class InvoiceAjaxController extends DooController {
- public $staff;
- public $NEW;
- public $data;
- private $INVOICEKEY = "APPROVAL";
- private $INVOICECOLLECTPATH = "protected/cache/invoiceCollect/";
- private $ACTION = '';
- private $appId = 'wx3ee46531947a1384';
- private $appSecret = 'awGWzy3J5q_96VXKBLA2BQ9RpiT0LiPXnkMF-xV6h5o'; // awGWzy3J5q_96VXKBLA2BXU6mVCGynPGD-sxUCsdNDE //'PeiQVH8tbQE7pM9pVO4AIPlX9FFNpwu7O6Iy6VFcAVtpjTA3Qn42dbNmktBFkUHo';
-
- function __construct() {
- if (isset ( $_COOKIE ["staff"] )) {
- if (! empty ( $_COOKIE ["staff"] )) {
- Doo::loadModel ( 'staff' );
- $staff = new staff ();
-
- $uriPartsOrig = explode ( '/', $_SERVER ['REQUEST_URI'] );
- $this->ACTION = $uriPartsOrig [1];
- $this->data ['new'] = $this->isInvoiceNew ();
- $this->staff = $staff->getUserByIdList ( $_COOKIE ["staff"] );
-
- $this->data ['isStaffCompleteMsg'] = false;
- $detail = $staff->checkStaffInfoIsComplete ( $_COOKIE ["staff"] );
- if (! empty ( $detail ))
- $this->data ['isStaffCompleteMsg'] = true;
-
- return "/";
- }
- }
-
- Doo::loadCore ( 'uri/DooUriRouter' );
- $router = new DooUriRouter ();
- $routeRs = $router->execute ( Doo::app ()->route, Doo::conf ()->SUBFOLDER );
-
- if ($routeRs ['1'] != "login") {
- header ( 'Content-Type:text/html;charset=utf-8' );
- @header ( "Location: /login" );
- }
- }
-
- /**
- * 自动填写
- */
- function autoFillInIFB() {
- $fill = $this->get_args ( 'fill' ) ? $this->get_args ( 'fill' ) : "";
- $fillType = $this->get_args ( 'fillType' ) ? $this->get_args ( 'fillType' ) : "TITLE";
-
- if (! empty ( $fill )) {
- Doo::loadModel ( 'invoiceInfoBase' );
- $invoiceInfoBase = new invoiceInfoBase ();
- if ($fillType=='TIN'){
- $ifbList = $invoiceInfoBase->getIFBByTIN ( $fill );
- }else{
- $ifbList = $invoiceInfoBase->getIFBByTitle ( $fill );
- }
-
- echo json_encode ( $ifbList );
- } else {
- echo json_encode ( array (
- 0 => array (
- 'invoiceTitle' => ''
- )
- ) );
- }
- }
-
- function ajaxGetInvoceList(){
-
- }
-
- /**
- * 获得已经结算完成的培训班
- */
- function ajaxGetInvoiceTrainByEnd(){
- Doo::loadModel ( 'invoiceTraining' );
- $invoiceTraining = new invoiceTraining ();
-
- $invoiceTrainingList = $invoiceTraining->getInvoiceTrainBySettlementStatus ( 0 ,$this->staff[0]['cid'],0);
-
- echo json_encode ( array (
- 'status' => 1,
- 'invoiceTrainingList' => $invoiceTrainingList
- ) );
- }
-
- function ajaxGetInvoice(){
- $iidKey = $this->get_args ( 'iidKey' ) ? $this->get_args ( 'iidKey' ) : "";
-
- Doo::loadClass ( 'XDeode' );
- $XDeode = new XDeode ( 5 );
- $iid = $XDeode->decode ( $iidKey );
- if (! is_numeric ( $iid )){
- echo json_encode ( array (
- 'status' => 0,
- 'invoiceDetail' => array()
- ) );
- die ( 'illegal request' );
- }
-
-
- Doo::loadModel ( 'invoice' );
- $invoice = new invoice ();
-
- $invoiceDetail = $invoice->getInvoiceByIid ( $iid );
-
- Doo::loadModel ( 'invoiceTraining' );
- $invoiceTraining = new invoiceTraining ();
- $itList = $invoiceTraining->getInvoiceTrainingByCid ( $invoiceDetail ['cid'] );
-
- Doo::loadModel ( 'receipt' );
- $receipt = new receipt ();
- foreach ( $itList as $key => $value ) { // 不展示已结算完结的培训班
- $receiptDetail = $receipt->getReceiptByinvoiceTrainId ( $value ['itid'] );
- if (! empty ( $receiptDetail )) {
- if ($receiptDetail ['status'] == 8 || $receiptDetail ['status'] == 9) {
- unset ( $itList [$key] );
- }
- }
- }
- $html='';
- foreach ($itList as $key=>$value){
- if($value['itid']==$invoiceDetail ['trainId']){
- $html.='<option selected value="'.$value['itidKey'].'">'.$value['trainDate'].' '.$value['trainName'].'</option>';
- }else{
- $html.='<option value="'.$value['itidKey'].'">'.$value['trainDate'].' '.$value['trainName'].'</option>';
- }
- }
-
- $invoiceDetail['itList']=$itList;
-
- echo json_encode ( array (
- 'status' => 1,
- 'invoiceDetail' => $invoiceDetail,
- 'settlementHtml'=>$html
- ) );
- }
-
-
-
- /**
- * 旧输入导入
- */
- function _GetFileEXT($filename) {
- $pics = explode ( '.', $filename );
- $num = count ( $pics );
- return $pics [$num - 1];
- }
-
- /**
- * 获取get或者POST值
- *
- * @param string $name 属性名称
- * @return fixed 值
- */
- function get_args($name) {
- if (isset ( $_GET [$name] )) {
- if (is_array ( $_GET [$name] ))
- return $_GET [$name];
- else
- return addslashes ( $_GET [$name] );
- } elseif (isset ( $_POST [$name] )) {
- if (is_array ( $_POST [$name] ))
- return $_POST [$name];
- else
- return addslashes ( $_POST [$name] );
- } else
- return false;
- }
- function SafeFilter(&$arr) {
- $ra = Array (
- '/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/',
- '/script/',
- '/javascript/',
- '/vbscript/',
- '/expression/',
- '/applet/',
- '/meta/',
- '/xml/',
- '/blink/',
- '/link/',
- '/style/',
- '/embed/',
- '/object/',
- '/frame/',
- '/layer/',
- '/title/',
- '/bgsound/',
- '/base/',
- '/onload/',
- '/onunload/',
- '/onchange/',
- '/onsubmit/',
- '/onreset/',
- '/onselect/',
- '/onblur/',
- '/onfocus/',
- '/onabort/',
- '/onkeydown/',
- '/onkeypress/',
- '/onkeyup/',
- '/onclick/',
- '/ondblclick/',
- '/onmousedown/',
- '/onmousemove/',
- '/onmouseout/',
- '/onmouseover/',
- '/onmouseup/',
- '/onunload/'
- );
-
- if (is_array ( $arr )) {
- foreach ( $arr as $key => $value ) {
- if (! is_array ( $value )) {
- if (! get_magic_quotes_gpc ()) // 不对magic_quotes_gpc转义过的字符使用addslashes(),避免双重转义。
- {
- $value = addslashes ( $value ); // 给单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)加上反斜线转义
- }
- $value = preg_replace ( $ra, '', $value ); // 删除非打印字符,粗暴式过滤xss可疑字符串
- $arr [$key] = htmlentities ( strip_tags ( $value ) ); // 去除 HTML 和 PHP 标记并转换为 HTML 实体
- } else {
- SafeFilter ( $arr [$key] );
- }
- }
- }
- }
-
- /**
- * Escape String
- *
- * @access public
- * @param string
- * @param bool whether or not the string will be used in a LIKE condition
- * @return string
- */
- function escape_str($str, $like = FALSE) {
- if (is_array ( $str )) {
- foreach ( $str as $key => $val ) {
- $str [$key] = $this->escape_str ( $val, $like );
- }
- return $str;
- }
-
- var_dump ( Doo::db ()->getDbObject () );
- die ();
-
- if (function_exists ( 'mysql_real_escape_string' ) and is_resource ( Doo::db ()->getDbObject () )) { // Doo::db ()->getDbObject()
- $str = mysql_real_escape_string ( $str, Doo::db ()->getDbObject () );
- } elseif (function_exists ( 'mysql_escape_string' )) {
- $str = mysql_escape_string ( $str );
- } else {
- $str = addslashes ( $str );
- }
- // escape LIKE condition wildcards
- if ($like === TRUE) {
- $str = str_replace ( array (
- '%',
- '_'
- ), array (
- '\\%',
- '\\_'
- ), $str );
- }
- return $str;
- }
-
-
- }
- ?>
|