public function getReqItemsList($key = null, $option = 'data') { $dataResult = array(); $sql = $this->select()->setIntegrityCheck(false)->from(array('t1' => $this->_name), array('req_number' => 'number', 'req_dept_id' => 'dept_id', 'req_release_time' => 'release_time', 'req_remark' => 'remark', 'req_reason' => 'reason', 'req_type_id' => 'type_id'))->joinLeft(array('t2' => $this->_dbprefix . 'user'), "t1.create_user = t2.id", array())->joinLeft(array('t3' => $this->_dbprefix . 'employee'), "t2.employee_id = t3.id", array('creater' => 'cname'))->joinLeft(array('t4' => $this->_dbprefix . 'user'), "t1.update_user = t4.id", array())->joinLeft(array('t5' => $this->_dbprefix . 'employee'), "t4.employee_id = t5.id", array('updater' => 'cname'))->joinLeft(array('t6' => $this->_dbprefix . 'employee_dept'), "t1.dept_id = t6.id", array('req_dept' => 'name'))->joinLeft(array('t7' => $this->_dbprefix . 'erp_pur_type'), "t1.type_id = t7.id", array('req_type' => 'name'))->joinLeft(array('t8' => $this->_dbprefix . 'erp_pur_req_items'), "t1.id = t8.req_id")->where("t1.state = 2 and t1.order_flag = 0 and t1.active = 1 and t8.active = 1"); if ($key) { $sql->where("t8.code like '%" . $key . "%' or t1.number like '%" . $key . "%' or t1.remark like '%" . $key . "%' or t1.reason like '%" . $key . "%' or t3.cname like '%" . $key . "%' or t3.ename like '%" . $key . "%' or t7.name like '%" . $key . "%' or t8.name like '%" . $key . "%' or t8.description like '%" . $key . "%'"); } $data = $this->fetchAll($sql)->toArray(); $items_req = new Erp_Model_Purchse_Orderitemsreq(); for ($i = 0; $i < count($data); $i++) { $data[$i]['qty_order'] = 0; if ($data[$i]['id']) { $data[$i]['qty_order'] = $items_req->getQty('req', $data[$i]['id'], false); } $data[$i]['qty_left'] = $data[$i]['qty'] - $data[$i]['qty_order']; $data[$i]['qty_order'] = 0; $data[$i]['description'] = str_replace("'", "\\'", $data[$i]['description']); if ($data[$i]['qty_left'] > 0) { array_push($dataResult, $data[$i]); } } if ($option == 'csv') { $data_csv = array(); $title = array('cnt' => '#', 'req_number' => '申请单号', 'req_dept' => '申请部门', 'req_type' => '采购类别', 'creater' => '申请人', 'code' => '物料号', 'name' => '名称', 'qty' => '申请数量', 'qty_left' => '剩余数量', 'unit' => '单位', 'description' => '描述', 'customer_address' => '客户收件人地址简码', 'remark' => '备注', 'project_info' => '项目信息', 'req_reason' => '申请事由', 'req_remark' => '申请备注'); array_push($data_csv, $title); $i = 0; foreach ($data as $d) { $i++; $info = array('cnt' => $i, 'req_number' => $d['req_number'], 'req_dept' => $d['req_dept'], 'req_type' => $d['req_type'], 'creater' => $d['creater'], 'code' => $d['code'], 'name' => $d['name'], 'qty' => $d['qty'], 'qty_left' => $d['qty_left'], 'unit' => $d['unit'], 'description' => $d['description'], 'customer_address' => $d['customer_address'], 'remark' => $d['remark'], 'project_info' => $d['project_info'], 'req_reason' => $d['req_reason'], 'req_remark' => $d['req_remark']); array_push($data_csv, $info); } return $data_csv; } return $dataResult; }
public function getData($req_id) { $result = array(); $data = $this->fetchAll("req_id = " . $req_id)->toArray(); $item = new Erp_Model_Purchse_Orderitemsreq(); foreach ($data as $d) { $active = $d['active'] == 1 ? true : false; //$qty_order = $item->getQty('req', $d['id']); $qty_order = $item->getQty('req', $d['id'], false); //2014-12-28 array_push($result, array('items_id' => $d['id'], 'items_req_id' => $d['req_id'], 'items_active' => $active, 'items_code' => $d['code'], 'items_name' => $d['name'], 'items_description' => $d['description'], 'items_qty' => $d['qty'], 'items_qty_order' => $qty_order, 'items_unit' => $d['unit'], 'items_price' => $d['price'], 'items_line_total' => $d['line_total'], 'items_date_req' => $d['date_req'], 'items_supplier' => $d['supplier'], 'items_dept_id' => $d['dept_id'], 'items_model' => $d['model'], 'items_project_info' => $d['project_info'], 'items_order_req_num' => $d['order_req_num'], 'items_customer_address' => $d['customer_address'], 'items_customer_aggrement' => $d['customer_aggrement'], 'items_remark' => $d['remark'])); } return $result; }