public function getprintAction() { $result = array('success' => true, 'info' => ''); $request = $this->getRequest()->getParams(); if (isset($request['id'])) { $type = $request['type']; $type_name = $type == 'send' ? '销售交货' : '销售退货'; $receive = new Erp_Model_Stock_Receive(); $data = $receive->getData(null, $request['id'], $type_name); $data['customer'] = ''; if ($data['customer_id']) { $partnerModel = new Erp_Model_Partner(); $customerInfo = $partnerModel->getInfoById($data['customer_id']); if ($customerInfo['ename'] != '') { $data['customer'] = $customerInfo['code'] . ' ' . $customerInfo['ename']; } else { $data['customer'] = $customerInfo['code'] . ' ' . $customerInfo['cname']; } } $items = new Erp_Model_Purchse_Receiveitems(); $itemsData = $items->getData($request['id']); $tpl = new Erp_Model_Tpl(); $tplHtmlData = $tpl->fetchRow("type = 'sale_send'")->toArray(); $tplHtml = $tplHtmlData['html']; $itemsHtml = ''; $i = 0; foreach ($itemsData as $item) { $i++; $itemsHtml .= ' <tr> <td>' . $i . '</td> <td>' . $item['items_code'] . '</td> <td width="100px" style="word-wrap:break-word;">' . $item['items_name'] . '</td> <td width="150px" style="word-wrap:break-word;">' . $item['items_description'] . '</td> <td>' . $item['items_qty'] . '</td> <td>' . $item['items_unit'] . '</td> <td>' . $item['items_customer_code'] . '</td> <td width="150px" style="word-wrap:break-word;">' . $item['items_customer_description'] . '</td> <td>' . $item['items_warehouse_code'] . '</td> <td>' . $item['items_remark'] . '</td> </tr>'; } $orderInfo = array('title' => $type_name, 'number' => $data['number'], 'customer' => $data['customer'], 'type' => $data['transaction_type'], 'creater' => $data['creater'], 'date' => $data['date'], 'description' => $data['description'], 'remark' => $data['remark'], 'items' => $itemsHtml, 'company_logo' => HOME_PATH . '/public/images/company.png'); foreach ($orderInfo as $key => $val) { $tplHtml = str_replace('<tpl_' . $key . '>', $val, $tplHtml); } $result['info'] = $tplHtml; } else { $result['success'] = false; } echo Zend_Json::encode($result); exit; }
public function editAction() { $result = array('success' => true, 'info' => ''); $request = $this->getRequest()->getParams(); $data = isset($request['data']) ? Zend_Json::decode($request['data']) : null; //echo '<pre>';print_r($data);exit; if ($data) { $priceModel = new Erp_Model_Sale_Price(); $priceItemsModel = new Erp_Model_Sale_Priceitems(); $priceLadderModel = new Erp_Model_Sale_Priceitemladder(); $partnerModel = new Erp_Model_Partner(); $price_id = $data['id']; $now = date('Y-m-d H:i:s'); $user_session = new Zend_Session_Namespace('user'); $user_id = $user_session->user_info['user_id']; $taxData = $partnerModel->getTaxInfo($data['customer_id']); //echo '<pre>';print_r(Zend_Json::decode($data['items']['inserted'][1]['items_ladder']));exit; $priceData = array('price_date' => $data['price_date'], 'customer_id' => $data['customer_id'], 'currency' => $data['currency'], 'price_tax' => $data['price_tax'], 'tax_id' => $taxData['id'], 'description' => $data['description'], 'remark' => $data['remark'], 'update_user' => $user_id, 'update_time' => $now); if ($data['operate'] == 'new') { $priceData['number'] = $priceModel->getNewNum(); $priceData['create_user'] = $user_id; $priceData['create_time'] = $now; try { $price_id = $priceModel->insert($priceData); } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); echo Zend_Json::encode($result); exit; } } else { $priceData['state'] = 0; $priceData['update_user'] = $user_id; $priceData['update_time'] = $now; try { $priceModel->update($priceData, "id = " . $price_id); } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); echo Zend_Json::encode($result); exit; } } if ($result['success']) { // 插入 foreach ($data['items']['inserted'] as $item) { $insertData = array('customer_id' => $data['customer_id'], 'type' => $item['items_type'], 'currency' => $data['currency'], 'price_id' => $price_id, 'active_date' => $item['items_active_date'], 'code' => $item['items_code'], 'price_start' => $item['items_price_start'], 'price_final' => $item['items_price_final'], 'remark' => $item['items_remark'], 'customer_code' => $item['items_customer_code'], 'customer_description' => $item['items_customer_description'], 'name' => $item['items_name'], 'description' => $item['items_description'], 'product_type' => $item['items_product_type'], 'product_series' => $item['items_product_series'], 'remark' => $item['items_remark']); try { $item_id = $priceItemsModel->insert($insertData); } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); echo Zend_Json::encode($result); exit; } if ($result['success'] && $item['items_ladder'] != '') { $ladderData = Zend_Json::decode($item['items_ladder']); foreach ($ladderData as $ld) { $ld['item_id'] = $item_id; $priceLadderModel->insert($ld); } } } // 表体处理 if ($data['operate'] == 'edit') { foreach ($data['items']['updated'] as $item) { $updateData = array('type' => $item['items_type'], 'currency' => $data['currency'], 'active_date' => $item['items_active_date'], 'code' => $item['items_code'], 'name' => $item['items_name'], 'description' => $item['items_description'], 'customer_code' => $item['items_customer_code'], 'customer_description' => $item['items_customer_description'], 'price_start' => $item['items_price_start'], 'price_final' => $item['items_price_final'], 'product_type' => $item['items_product_type'], 'product_series' => $item['items_product_series'], 'remark' => $item['items_remark']); try { $priceItemsModel->update($updateData, "id = " . $item['items_id']); } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); echo Zend_Json::encode($result); exit; } $item_id = $item['items_id']; if ($result['success'] && $item['items_ladder'] != '') { $priceLadderModel->delete("item_id = " . $item_id); $ladderData = Zend_Json::decode($item['items_ladder']); foreach ($ladderData as $ld) { $ld['item_id'] = $item_id; $priceLadderModel->insert($ld); } } } foreach ($data['items']['deleted'] as $item) { try { $priceItemsModel->delete("id = " . $item['items_id']); } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); echo Zend_Json::encode($result); exit; } if ($result['success'] && $item['ladder'] != '') { $priceLadderModel->delete("item_id = " . $item_id); } } } // 进入审核流程 $flow = new Admin_Model_Flow(); $flowData = $flow->fetchRow("flow_name = '销售价格清单审核'")->toArray(); // 获取审核阶段 $step = new Admin_Model_Step(); $stepIds = $flowData['step_ids']; $stepArr = explode(',', $stepIds); $review = new Dcc_Model_Review(); $review->delete("type = 'sale_price_add' and file_id = " . $price_id); $mailTo = null; $i = 0; $help = new Application_Model_Helpers(); // 根据阶段信息初始化审批流程,并向第一阶段审核人发送邮件 foreach ($stepArr as $s) { $stepData = $step->fetchRow("id = " . $s)->toArray(); $step_user = $stepData['user'] != '' ? $stepData['user'] : null; $step_role = $stepData['dept'] != '' ? $stepData['dept'] : null; $employeeArr = $help->getReviewEmployee($step_user, $step_role); $employeeIdArr = $employeeArr['id']; $employeeIds = implode(',', $employeeIdArr); $reviewData = array('type' => 'sale_price_add', 'file_id' => $price_id, 'step_name' => $stepData['step_name'], 'plan_user' => $employeeIds, 'plan_dept' => $step_role, 'method' => $stepData['method'], 'return' => $stepData['return']); $review->insert($reviewData); // 第一阶段发送邮件通知 if ($i == 0) { $mailTo = $employeeIdArr; } $i++; } // 邮件通知 if ($mailTo) { $customerInfo = $partnerModel->getInfoById($data['customer_id']); $customerName = $customerInfo['cname'] ? $customerInfo['cname'] : $customerInfo['ename']; $priceData = $priceModel->getData(null, $price_id); $mailContent = '<div>销售价格申请,请登录系统查看:</div> <div> <p><b>申请单号:</b>' . $priceData['number'] . '</p> <p><b>客户代码:</b>' . $customerInfo['code'] . '</p> <p><b>客户名称:</b>' . $customerName . '</p> <p><b>申请人:</b>' . $user_session->user_info['user_name'] . '</p> <p><b>描述:</b>' . $data['description'] . '</p> <p><b>备注:</b>' . $data['remark'] . '</p> <p><b>提交时间:</b>' . $now . '</p> </div><hr>'; $itemsContent = '<div><style type="text/css"> table.gridtable { font-family: verdana,arial,sans-serif; font-size:12px; color:#333333; border-width: 1px; border-color: #666666; border-collapse: collapse; } table.gridtable th { border-width: 1px; padding: 8px; border-style: solid; border-color: #666666; background-color: #dedede; } table.gridtable td { border-width: 1px; padding: 8px; border-style: solid; border-color: #666666; background-color: #ffffff; } .delete{ text-decoration: line-through; color: #FF0000; } .update{ font-weight: bold; color: #000093; } .inactive{ font-weight: bold; color: #999999; } </style><table class="gridtable"> <tr> <th>#</th> <th>类别</th> <th>物料号/内部型号</th> <th>名称</th> <th>产品类别</th> <th>产品系列</th> <th>描述</th> <th>客户产品名称</th> <th>客户产品描述</th> <th>初始价格</th> <th>最终价格</th> <th>生效日期</th> <th>备注</th> </tr>'; $itemsData = $priceItemsModel->getItems($price_id); $i = 0; foreach ($itemsData as $item) { $i++; $itemType = $item['items_type'] == 'catalog' ? '内部型号' : '物料号'; $itemsContent .= '<tr> <td>' . $i . '</td> <td>' . $itemType . '</td> <td>' . $item['items_code'] . '</td> <td>' . $item['items_name'] . '</td> <td>' . $item['items_product_type'] . '</td> <td>' . $item['items_product_series'] . '</td> <td>' . $item['items_description'] . '</td> <td>' . $item['items_customer_code'] . '</td> <td>' . $item['items_customer_description'] . '</td> <td>' . $item['items_price_start'] . '</td> <td>' . $item['items_price_final'] . '</td> <td>' . $item['items_active_date'] . '</td> <td>' . $item['items_remark'] . '</td> </tr>'; } $itemsContent .= '</table></div>'; $mailData = array('type' => '消息', 'subject' => '销售价格清单申请', 'cc' => $user_session->user_info['user_email'], 'content' => $mailContent . $itemsContent, 'add_date' => $now); $result = $help->sendMailToStep($mailTo, $mailData); } } } else { $result['success'] = false; $result['info'] = '参数错误'; } echo Zend_Json::encode($result); exit; }