|
- <?php
-
- namespace backend\modules\api\models;
-
- use Yii;
-
- /**
- * This is the model class for table "outside_ticket".
- *
- * @property integer $id
- * @property integer $supplier_id
- * @property string $prod_name
- * @property string $prod_code
- * @property string $ticket_code
- * @property string $ticket_date
- * @property string $ticket_time
- * @property string $ticket_name
- * @property string $ticket_comment
- * @property integer $ticket_num
- * @property string $ticket_price
- * @property string $agent_price
- * @property integer $cancel_flag
- * @property string $update_time
- * @property integer $cs_prod_id
- */
- class OutsideTicket extends \yii\db\ActiveRecord
- {
- /**
- * @inheritdoc
- */
- public static function tableName()
- {
- return 'outside_ticket';
- }
-
- /**
- * @inheritdoc
- */
- public function rules()
- {
- return [
- [['supplier_id', 'ticket_num', 'cancel_flag', 'cs_prod_id'], 'integer'],
- [['ticket_comment'], 'string'],
- [['ticket_price', 'agent_price'], 'number'],
- [['update_time'], 'safe'],
- [['prod_name', 'prod_code'], 'string', 'max' => 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]);//产品表该条商品失效
- }
- }
|