update(["topic_state"=>0], 'mid='.$this->id); m('meeting_key')->update(["meet_state"=>1], 'id='.$this->id); } $meet = m('meeting')->getone("id={$this->id}",'start_time'); if (isset($meet['start_time']) && strtotime($meet['start_time']) > time()) { $topic = m('meeting_topics')->getone("mid={$this->id}",'id, topic_state', 'sort'); if (isset($topic['id']) && $topic['topic_state'] < 2) { m('meeting')->firstMeetingTopicStart($this->id); } } else { $topic = m('meeting_topics')->getone("mid={$this->id}",'id, topic_state', 'sort'); if (isset($topic['id']) && $topic['topic_state'] < 2) { m('meeting')->update(["meet_state"=>1], "id=".$topic['id']); } } } // 初始化单据可替换其他属性,$lx,0默认,1详情展示,2列表显示,3打印页,4外部详情页 public function flowrsreplace($rs, $lx=0) { // m('log')->addlog('会议单据', json_encode($rs, true)); $zt = $rs['meet_state']; $is_hand = $rs['is_hand'] ?? 1; $nzt = $zt; $time = time(); $stime = strtotime($rs['start_time']); $etime = strtotime($rs['end_time']); // 会议状态 if($is_hand != 2){ if($etime < $time){ $nzt = 2; } else if ($stime > $time){ $nzt = 0; } } // 会议开始时的处理 if ($stime <= $time && $nzt != 2) { $nzt = 1; $topic = m('meeting_topics')->getone("mid={$this->id}",'id, topic_state', 'sort'); if (isset($topic['id']) && $topic['topic_state'] < 2) { m('meeting')->firstMeetingTopicStart($this->id); } } // 更新数据状态 if($zt != $nzt) { $this->update('meet_state='.$nzt.'', $rs['id']); $zt = $nzt; } // 会议状态-将id转换为文字 $rs['meet_state'] = m("meeting")->getstatezt($zt); return $rs; } // $ors当前单据操作信息,$crs提交过来的信息 public function flowoptmenu($ors, $crs) { // 切换会议议题 if ($ors['num'] == 'changeTopic') { $topics = $this->db->getall("select * from `[Q]meeting_topics` where mid = {$this->id} order by sort"); for ($i = 0; $i < count($topics); $i++) { if ($topics[$i]['topic_state'] == 2) { $id = $topics[$i]['id']; $data = [ 'topic_state' => $topics[$i]['topic_state'] + 1 ]; m('meeting_topics')->update($data, "id={$id}"); // 更新下一个状态 if (isset($topics[$i + 1]['topic_state'])) { $id = $topics[$i + 1]['id']; $data = ['topic_state' => 2]; m('meeting_topics')->update($data, "id={$id}"); } if (isset($topics[$i + 2]['topic_state'])) { $id = $topics[$i + 2]['id']; $data = ['topic_state' => 1]; m('meeting_topics')->update($data, "id={$id}"); } break; } } if (isset($topics[count($topics) - 1]) && $topics[count($topics) - 1]['topic_state'] == 2) { m('meeting_key')->update(['is_hand' => 2, 'meet_state' => 2], "id={$this->id}"); } } else if ($ors['num'] == 'enableMeeting') { $time = time(); $stime = strtotime($this->rs['start_time']); $etime = strtotime($this->rs['end_time']); if ($stime < $time){ $data = [ 'meet_state'=>1, 'is_hand'=>2 ]; } else if ($stime >= $time) { $data = [ 'meet_state'=>0, 'is_hand'=>2 ]; } m('meeting_key')->update($data, "id={$this->id}"); // $topic = m('meeting_topics')->getone("mid={$this->id}", "id", 'sort desc'); // if (isset($topic['id'])) { // m('meeting_topics')->update(['topic_state'=>'2'], 'id='.$topic['id']); // } } else if ($ors['num'] == 'disenableMeeting') { // $data = [ // 'meet_state'=>2, // 'is_hand'=>2 // ]; // // m('meeting_key')->update($data, "id={$this->id}"); } } // 子表数据替换处理$lx=0编辑时,1展示时 protected function flowsubdata($rows, $lx=0){ if ($lx == 1) { for ($i = 0; $i < count($rows); $i++) { $index = $rows[$i]['topic_state'] ?? 0; $rows[$i]['topic_state'] = m('meeting')->ytarra[$index]; // if (isset($rows[$i]['topic_state']) && !empty($rows[$i]['topic_state'])) { // $rows[$i]['topic_state'] = m('meeting')->ytarra[$index]; // } else { //// $id = $rows[$i]['id']; //// m('meeting_topics')->update(['topic_state'=>1], "id={$id}"); // } } } return $rows; } }