50], [['ticket_code'], 'string', 'max' => 100], [['ticket_date', 'ticket_time', 'ticket_name'], 'string', 'max' => 20], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'supplier_id' => 'Supplier ID', 'prod_name' => 'Prod Name', 'prod_code' => 'Prod Code', 'ticket_code' => 'Ticket Code', 'ticket_date' => 'Ticket Date', 'ticket_time' => 'Ticket Time', 'ticket_name' => 'Ticket Name', 'ticket_comment' => 'Ticket Comment', 'ticket_num' => 'Ticket Num', 'ticket_price' => 'Ticket Price', 'agent_price' => 'Agent Price', 'cancel_flag' => 'Cancel Flag', 'update_time' => 'Update Time', 'cs_prod_id' => 'Cs Prod ID', ]; } //************************************邱哥没备注的三个方法********************************************** public function getTicketMiniValueRun( $ticket_code ) { $ticket_code_array = explode("_", $ticket_code); $search_ticket_code = $ticket_code_array[0]; $current_date = date("Y-m-d"); $row = self::find()->select("opr.run_date as ticket_date,opr.run_time as ticket_time,min(opr.cus_price) as mini_price ")->from("opera_product_run as opr") ->leftJoin("opera_product as op", "opr.PROD_ID = op.PROD_ID") ->leftJoin("opera_product as op2", "op.PARENT_ID = op2.PROD_ID" ) ->where(['and', ["or",["=", "op2.prod_code", $ticket_code],["=", "op2.prod_id", $ticket_code]], [">=", "opr.run_date", $current_date], ["=", "opr.cancel_flag", 0]]) ->groupBy("ticket_date")->asArray()->all(); return $row; } public function getTicketDateRun( $ticket_code, $ticket_date ) { $ticket_code_array = explode("_", $ticket_code); $search_ticket_code = $ticket_code_array[0]; $row = self::find()->select("op2.prod_name,op2.prod_code,opr.prod_id as ticket_code,opr.run_date as ticket_date,opr.run_time as ticket_time,op.prod_name ticket_name,(opr.total_count - opr.saled_count) as ticket_num,opr.cus_price as ticket_price,opr.prod_id as cs_prod_id,opr.prod_id as prod_id,opr.is_onsale")->from("opera_product_run as opr") ->leftJoin("opera_product as op", "opr.PROD_ID = op.PROD_ID" ) ->leftJoin("opera_product as op2", "op.PARENT_ID = op2.PROD_ID" ) ->where(['and', ["or",["=", "op2.prod_code", $search_ticket_code],["=", "op2.prod_id", $search_ticket_code]], ["=", "opr.run_date", $ticket_date], ["=", "opr.cancel_flag", 0]])->asArray()->all(); return $row; } public function getTicketAll() { $not_ticket_array = array(81,82,282); $row = self::find()->select("prod_id,prod_name,prod_code,prod_type,parent_id")->from("opera_product") ->where(['and',["not in", "prod_type", $not_ticket_array],["=", "cancel_flag", 0],["=", "is_onsale", 1]])->asArray()->all(); return $row; } //**************************************************************************************************************************** /** * Function Description:插入或更新outside_ticket,根据驴妈妈批量数据 * Function Name: InsertData * @param $tmp_prod_code * @param $tmp_prod_name * @param $tmp_ticket_code * @param $tmp_ticket_date * @param $tmp_ticket_name * @param $tmp_ticket_num * @param $tmp_ticket_price * @param $tmp_agent_price * @param $tmp_cs_prod_id * * @return bool * * @author 娄梦宁 */ public function InsertData($tmp_prod_code,$tmp_prod_name,$tmp_ticket_code,$tmp_ticket_date,$tmp_ticket_name, $tmp_ticket_num,$tmp_ticket_price,$tmp_agent_price,$tmp_cs_prod_id){ $transaction = Yii::$app->db->beginTransaction(); $values=[ 'prod_code'=>(string)$tmp_prod_code, 'prod_name'=>$tmp_prod_name, 'ticket_code'=>(string)$tmp_ticket_code, 'ticket_date'=>$tmp_ticket_date, 'ticket_name'=>$tmp_ticket_name, 'ticket_num'=>$tmp_ticket_num, 'ticket_price'=>$tmp_ticket_price, 'agent_price'=>$tmp_agent_price, 'cs_prod_id'=>$tmp_cs_prod_id, 'supplier_id'=>1369, 'cancel_flag'=>0 ]; $model=self::find()->select('id')->from(self::tableName()) ->where(['and',['=','prod_code',$tmp_prod_code],['=','ticket_code',$tmp_ticket_code],['=','ticket_date',$tmp_ticket_date]]) ->asArray()->one(); if(!$model){//为空时插入 $outside_ticket=clone $this; $outside_ticket->attributes=$values; $res=$outside_ticket->insert(); if(!$res){ $transaction->rollBack(); return false; } }else{//更新 self::updateAll($values,['id'=>$model['id']]); } $transaction->commit(); return true; } /* * 删除票种 */ public function cancelGoods($prod_code,$ticket_code){ self::updateAll(['prod_code'=>$prod_code,'ticket_code'=>$ticket_code,'cancel_flag'=>0],['cancel_flag'=>1]);//库存表数据失效 $opera_prod=new OperaProduct(); $opera_prod::updateAll(['prod_code'=>$ticket_code,'org_id'=>1369,'cancel_flag'=>0],['cancel_flag'=>1]);//产品表该条商品失效 } }