public function refreshReqTotal($req_id) { $total = 0; if ($req_id) { $data = $this->fetchAll("req_id = " . $req_id); if ($data->count() > 0) { $items = $data->toArray(); foreach ($items as $item) { $total += $item['line_total']; } } } $req = new Erp_Model_Purchse_Req(); $req->update(array('total' => $total), "id = " . $req_id); }
/** * 编辑采购申请(新建、更新、删除) */ public function editreqAction() { // 返回值数组 $result = array('success' => true, 'info' => '提交成功', 'req_id' => 0, 'transfer_id' => 0); $request = $this->getRequest()->getParams(); $typeArr = array('new' => '新建', 'edit' => '修改', 'transfer' => '变更'); // 操作类别(新建、更新、删除) $type = isset($request['operate']) ? $request['operate'] : ''; $now = date('Y-m-d H:i:s'); $user_session = new Zend_Session_Namespace('user'); $user_id = $user_session->user_info['user_id']; $req = new Erp_Model_Purchse_Req(); if ($type == 'new' || $type == 'edit' || $type == 'transfer') { $hand = 0; if (isset($request['hand']) && $request['hand'] == 'on') { $hand = 1; } $data = array('dept_id' => $request['dept_id'], 'apply_user' => $request['apply_user'], 'type_id' => $request['type_id'], 'remark' => $request['remark'], 'reason' => $request['reason'], 'update_time' => $now, 'update_user' => $user_id); if ($type == 'new') { if ($hand) { $data['state'] = 2; $data['hand'] = 1; $data['number'] = $request['hand_number']; $data['review_info'] = date('Y-m-d H:i:s') . ' 补单<br>'; if ($req->fetchAll("number = '" . $data['number'] . "'")->count() > 0) { $result['success'] = false; $result['info'] = "添加错误,申请单号重复!"; echo Zend_Json::encode($result); exit; } } else { $data['hand'] = 0; $data['number'] = $req->getNewNum($request['type_id']); // 生成申订单号 } $data['create_time'] = $now; $data['create_user'] = $user_id; $data['review_info'] = $now . ': ' . $user_session->user_info['user_name'] . ' [' . $typeArr[$type] . ']'; try { $req_id = $result['req_id'] = $req->insert($data); } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); } } elseif ($type == 'edit' || $type == 'transfer') { try { $review_info = $now . ': ' . $user_session->user_info['user_name'] . ' [' . $typeArr[$type] . ']'; $reqData = $req->getData(null, $request['id']); if ($request['type_id'] != $reqData['type_id']) { // 当类别发送改变时,生成申请单号 $data['number'] = $req->getNewNum($request['type_id']); } $data['review_info'] = $reqData['review_info'] . '<br>' . $review_info; $data['state'] = 0; if ($type == 'transfer') { $transfer = new Erp_Model_Purchse_Transfer(); $transferData = array('transfer_type' => $request['transfer_type'], 'transfer_description' => $request['transfer_description'], 'create_user' => $user_id, 'create_time' => $now); $data['submit_type'] = 'transfer'; // 修改变更时,先清空被拒绝的修改内容列表 if ($request['transfer_id'] != '') { $transfer_items = new Erp_Model_Purchse_Transferreqitems(); $transfer_items->delete("transfer_id = " . $request['transfer_id']); $transferData['state'] = 0; $transfer->update($transferData, "id = " . $request['transfer_id']); $data['transfer_id'] = $result['transfer_id'] = $request['transfer_id']; } else { $transferData['type'] = 'req'; $transferData['target_id'] = $request['id']; $data['transfer_id'] = $result['transfer_id'] = $transfer->insert($transferData); } } $req->update($data, "id = " . $request['id']); $result['req_id'] = $request['id']; } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); } } } elseif ($type == 'delete') { try { $req->delete("id = " . $request['req_id']); } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); } } echo Zend_Json::encode($result); exit; }