where(["id"=>$id])->find(); if ($info == null) { return Util::returnArrEr("获取收款单信息失败:".$id); } return Util::returnArrSu("",$info->toArray()); }catch (Exception $e){ return Util::returnArrEr("获取收款单信息失败:".$e->getMessage()); } } /** * 添加记录 * @param $param * @return array */ public function save($param) { if ($this->checkName($param)) { return Util::returnArrEr("名称已经存在"); } try { $data = [ 'name' => $param['name'], "create_id"=>$param['create_id'], "group_id"=>$param['group_id'] ]; $receiptOrder = new ReceiptOrder(); if (empty($param['id'])) { $id = $receiptOrder->insertGetId($data); return Util::returnArrSu("", $id); } else { $receiptOrder->save($data, ['id' => $param['id']]); return Util::returnArrSu("", $param['id']); } } catch (Exception $e) { return Util::returnArrEr("更新主订单失败:" . $e->getMessage()); } } /** * 校验名称 * @param $param * @return bool */ public function checkName($param):bool { try { $model = new ReceiptOrder(); $infoRe = $model->where(["name" => $param['name'],"group_id"=>$param['group_id']])->find(); if ($infoRe == null) { return false; } $info = $infoRe->toArray(); if (isset($param['id'])) { if ($param['id'] != $info['id']) { return true; } }else{ return true; } return false; } catch (Exception $e) { return false; } } /** * 修改状态 * @param $id * @param $status * @return array */ public function setStatus($id, $status) { try { //设置收购单状态 $receiptOrder = new ReceiptOrder(); $receiptOrder->save(['status' => $status], ['id' => $id]); return Util::returnArrSu(); } catch (Exception $e) { return Util::returnArrEr("修改状态失败" . $e->getMessage()); } } /** * 获取列表 * @param $param * @return array */ public function getList($param) { try { $where = ["a.del_flag"=>0,"a.group_id"=>$param['group_id']]; if (!empty($param['name'])) { $where['a.name'] = ["like","%".$param['name']."%"]; } if ($param['status']."" != 'all' && $param['status']!=="") { $where["a.status"] = $param['status']; } $having = ""; if(!empty($param['startMoney']) && !empty($param['endMoney'])) { $having = " total_amount >= {$param['startMoney']} and total_amount <= {$param['endMoney']} "; } if(!empty($param['startMoney']) && empty($param['endMoney'])) { $having = " total_amount >= {$param['startMoney']} "; } if(empty($param['startMoney']) && !empty($param['endMoney'])) { $having = " total_amount <= {$param['endMoney']} "; } $offset = ($param['pageNum'] - 1) * $param['pageSize']; $receiptOrder = new ReceiptOrder(); $total = $receiptOrder ->alias("a") ->join('hbp_order_main b', 'a.id = b.receipt_order_id', 'left') ->field("a.*,GROUP_CONCAT(b.id) order_ids,sum(b.total_amount) total_amount") ->group("a.id") ->where($where) ->having($having) ->count(); $list = $receiptOrder ->alias("a") ->join('hbp_order_main b', 'a.id = b.receipt_order_id', 'left') ->field("a.*,GROUP_CONCAT(b.id ORDER BY b.id DESC) order_ids,sum(b.total_amount) total_amount") ->group("a.id") ->where($where) ->having($having) ->limit($offset, $param['pageSize']) ->order("id","DESC")->select(); $data = ["total" => $total, "list" => $list->toArray()]; return Util::returnArrSu("", $data); } catch (Exception $e) { return Util::returnArrSu("", ["total" => 0, "list" => []]); } } /** * 删除 * @param $id * @return array */ public function del($id){ try { //设置收购单状态 $receiptOrder = new ReceiptOrder(); $receiptOrder->save(['del_flag' => 1], ['id' => $id]); return Util::returnArrSu(); } catch (Exception $e) { return Util::returnArrEr("修改状态失败" . $e->getMessage()); } } }