| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 | <?php/** * @author darkredz */class SoftController extends DooController {	public $webPath="http://cld.smartcost.com.cn/upload/emailAnnex/";	function __construct() {			}	function longleTest(){		$this->render ( "/test", array() );	}		function categoryApi(){		Doo::loadModel ( 'L_category' );		$L_category = new L_category ();		$category=$L_category->getCategory();		header ( 'Content-Type:text/html;charset=utf-8' );		echo json_encode(array('status'=>1,'categoryList'=>$category),JSON_UNESCAPED_UNICODE);die;	}	function productApi(){		Doo::loadModel ( 'product' );		$product = new product ();		$product=$product->getProudct();		header ( 'Content-Type:text/html;charset=utf-8' );		echo json_encode(array('status'=>1,'productList'=>$product),JSON_UNESCAPED_UNICODE);die;	}		function addLockApi(){		$longleList=isset($_POST['longle'])?$_POST['longle']:"";		header ( 'Content-Type:text/html;charset=utf-8' );		if($longleList!=""){			Doo::loadModel ( 'longle' );			Doo::loadModel ( 'longle_log' );			//$exlArray=$this->_format_excel_to_array(DOO::conf()->SITE_PATH."upload/".iconv("UTF-8", "GB2312", $path));						$longleList=json_decode($longleList,TRUE);			//print_r($longleList);die;			if (!is_array($longleList)){				echo json_encode(array('status'=>2,'msg'=>'锁数据不正确'),JSON_UNESCAPED_UNICODE);die;			}			 			$findStr='';$longle = new longle ();			foreach ($longleList as $key=>$value){				$li=$longle->getOne(array('where'=>'key_num like "'.$value['key_num'].'"','asArray' => TRUE));								if (!empty($li))					$findStr.=$li['key_num']." ; ";			}			if (!empty($findStr))				$this->postEmail($findStr);									//$category=$L_category->getCategoryById($cid);			try {			Doo::db()->beginTransaction();			foreach ($longleList as $key=>$value){				//锁记录				$longle = new longle ();				$longle->key_num=$value['key_num'];				$longle->product=$value['product'];				$longle->make_day=$value['make_day'];				$longle->alloted_time=$value['alloted_time'];				$longle->status=1;				$longle->statusT="生成";				$longle->cid=$value['cid'];				$longle->category=$value['title'];				$longle->SerialNumber=$value['serialnumber'];				$longle->version=$value['version'];				$lid=$longle->insert();				//锁日志记录				$longle_log=new longle_log();				$longle_log->lid=$lid;				$longle_log->status=1;				$longle_log->statusT="生成";				$longle_log->operator='软件生成';				$longle_log->product=$longle->product;				$longle_log->category='总部';				$longle_log->dateline=date("Y-m-d");				$id=$longle_log->insert();			}			//记录日常行为			Doo::loadModel("action_log");			$action_log=new action_log();			$action_log->action='总部<b href="javascript:void(0)"  >软件</b>生成<a href="javascript:void(0)" onclick="showLook(\''.$longleList[0]['key_num'].'\')">'.$longleList[0]['key_num'].'</a>等<b>'.count($longleList).'</b>个锁';			$action_log->sid=43;			$action_log->cid=12;			$action_log->class=$action_log->iconGenerate;			$action_log->updatetime=date("Y-m-d");			$action_log->time=date("H:i");			$action_log->status=11;			$action_log->insert();			Doo::db()->commit();									} catch (Exception $e) {				echo json_encode(array('status'=>2,'msg'=>'数据录入发生异常'),JSON_UNESCAPED_UNICODE);				//print $e->getMessage();				die;			}			echo json_encode(array('status'=>1,'msg'=>'入库'.count($longleList).'个'),JSON_UNESCAPED_UNICODE);die;		}else{			echo json_encode(array('status'=>2,'msg'=>'请求参数不正确或者为空'),JSON_UNESCAPED_UNICODE);die;		}	}	function postEmail($elid){				if (!empty($elid)){										    $url = 'http://sendcloud.sohu.com/webapi/mail.send.json';						   			     $param = array('api_user' => 'cldmail',			            'api_key' => 'cDO1GjtY1seH',			    		'to'=>'1971614655@qq.com',			            'from' =>'1971614655@qq.com',			            'fromname' => '软件导入CLD锁接口',			            'subject' => '软件导入CLD锁接口通知',			            'html' => $elid);			    $post_data = http_build_query($param);			    $ch = curl_init();			    curl_setopt($ch, CURLOPT_POST, 1);			    curl_setopt($ch, CURLOPT_URL,$url);			    curl_setopt($ch, CURLOPT_HEADER, false); //设定是否输出页面内容				curl_setopt($ch, CURLOPT_NOBODY, false);			    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);							    $result =curl_exec($ch);			    curl_close($ch);		}	}				/**	 * 格式化excel文件为数组	 * @param unknown_type $file_url	 * @param unknown_type $mcid	 */	function _format_excel_to_array($file_url = "") {		if (! file_exists ( $file_url ))			return array ();		Doo::loadClass ( 'PHPExcel' );		$PHPExcel = new PHPExcel ();		$PHPReader = new PHPExcel_Reader_Excel2007 ();		if (! $PHPReader->canRead ( $file_url )) {			$PHPReader = new PHPExcel_Reader_Excel5 ();			if (! $PHPReader->canRead ( $file_url )) {				echo 'no Excel';				return;			}		}		$PHPExcel = $PHPReader->load ( $file_url );		/**读取excel文件中的第一个工作表*/		$currentSheet = $PHPExcel->getSheet ( 0 );		/**取得最大的列号*/		$allColumn = $currentSheet->getHighestColumn ();		/**取得一共有多少行*/		$allRow = $currentSheet->getHighestRow ();		$excel_array = array ();		for($currentRow = 2; $currentRow <= $allRow; $currentRow ++) {			$excel_column = array ();			//后期改进			if($allColumn=='AM')				$allColumn='Z';			/**从第A列开始输出*/			for($currentColumn = 'A'; $currentColumn <= $allColumn; $currentColumn ++) {				$val = $currentSheet->getCellByColumnAndRow ( ord ( $currentColumn ) - 65, $currentRow )->getValue ();				/**ord()将字符转为十进制数 iconv ( 'utf-8', 'gb2312',*/				$val = "'" . addslashes ( $val ) . "'";					if ($currentColumn == 'A')						$excel_column ['key_num'] = $val;					elseif ($currentColumn == 'C')						$excel_column ['product'] = $val;					elseif ($currentColumn == 'D'){						$val=str_replace("'","",$val);						$excel_column ['make_day'] = $this->excelTime($val);					}elseif($currentColumn == 'E'){						$val=str_replace("'","",$val);						$excel_column ['alloted_time'] = $this->excelTime($val);					}elseif($currentColumn == 'F'){						$val=str_replace("'","",$val);						$excel_column ['version'] = $val;					}elseif ($currentColumn == 'B'){						$val=str_replace("'","",$val);						$excel_column ['SerialNumber'] = $val;					}			}			array_push ( $excel_array, $excel_column );		}		return $excel_array;	}}?>
 |