Example #1
0
	public function findRepairJoin($repId,Vehicle_Models_Repair $repair) 
	{
		$row = $this->getDbTable()->fetchRow('repId = '.$repId);

		if (0 == count($row)){
			return;
			}
			
		$repair->setRepId($row->repId)
				->setVeId($row->veId)
				->setRDate($row->rDate)
				->setReason($row->reason)
				->setDetail($row->detail)
				->setContactId($row->contactId)
				->setSpot($row->spot)
				->setDescr($row->descr)
				->setAmount($row->amount)
				->setInsFlag($row->insFlag)
				->setIndem($row->indem)
				->setRemark($row->remark)
				->setCTime($row->cTime);
		if($repair->getInsFlag() == 1)
			{
				$repair->setInsFlag(General_Models_Text::$text_repair_indem_true);
				}
				else
				{
					$repair->setInsFlag(General_Models_Text::$text_repair_indem_false);
					}
		$veId = $repair->getVeId();
		$vehicles = new Vehicle_Models_VehicleMapper();
		$plateNo = $vehicles->findPlateNo($veId);
		$repair->setPlateNo($plateNo);
		$contacts = new Employee_Models_ContactMapper();
		$contactName = $contacts->findContactName($repair->getContactId());
		$repair->setContactName($contactName);
	}
	public function editAction()
	{
		$editForm = new Vehicle_Forms_RepairSave();
		$editForm->submit->setLabel('保存修改');
		$editForm->submit2->setAttrib('class','hide');
		$veId = $editForm->getElement('veId');
		$veId->setAttrib('disabled','disabled');

		$repId = $this->_getParam('id',0);
		$from = $this->_getParam('from',0);
		
		$repairs = new Vehicle_Models_RepairMapper();
		$repairs->populateVeDd($editForm);
		$vId = $repairs->findVeId($repId);
		
		$editForm = $repairs->formValidator($editForm,1);
		
		$errorMsg = null;
		$link = null;
		if($from == 0)
		{
			$link = "/vehicle/repair";
			}
			elseif($from == 1)
			{
				$link = '"/vehicle/index/display/id/'.$vId.'"';
				}
		if($this->getRequest()->isPost())
		{
			$formData = $this->getRequest()->getPost();
			if($editForm->isValid($formData))
			{
				$array = $repairs->dataValidator($formData,1);
				$trigger = $array['trigger'];
				$errorMsg = $array['errorMsg'];
				if($trigger == 0)
				{
					$repair = new Vehicle_Models_Repair();
					$repair->setRepId($repId);
					$repair->setVeId($vId);
					$repair->setRDate($editForm->getValue('rDate'));
					$repair->setReason($editForm->getValue('reason'));
					$repair->setDetail($editForm->getValue('detail'));
					$repair->setContactId($editForm->getValue('contactId'));
					$repair->setSpot($editForm->getValue('spot'));
					$repair->setDescr($editForm->getValue('descr'));
					$repair->setAmount($editForm->getValue('amount'));
					$repair->setInsFlag($editForm->getValue('insFlag'));
					if($editForm->getValue('insFlag') == '1')
					{
						$repair->setIndem($editForm->getValue('indem'));
						}
						else
						{
							$repair->setIndem('');
							}
					$repair->setIndem($editForm->getValue('indem'));
					$repair->setRemark($editForm->getValue('remark'));
					$repairs->save($repair);
					$veId = new Vehicle_Models_VehicleMapper();
					$plateNo = $veId->findPlateNo($repair->getVeId());
					$this->_helper->flashMessenger->addMessage($plateNo.'修改成功。');
					$this->_redirect($link);
					}
					else
					{
						$editForm->populate($formData);
						$veId->setValue($vId);
						}
				}
				else
				{
					$editForm->populate($formData);
					$veId->setValue($vId);
					}
			}
			else
			{
				if($repId > 0)
				{
					$arrayRepair = $repairs->findArrayRepair($repId);
					$editForm->populate($arrayRepair);
					}
					else
					{
						$this->_redirect($link);
						}
				}
		$this->view->errorMsg = $errorMsg;
		$this->view->editForm = $editForm;
		$this->view->id = $repId;
		$this->view->blink = $link;
	}