public function getInfoByCode($code) { try { $mis = new MIS(); $result = $mis->getInfoByCode($code); if (!$result) { $result = $this->getInfoByCodeFormMySystem($code); if (!$result) { $result = $this->getInfoByCodeFromCodeDict($code); } } return $result; } catch (Exception $e) { throw new Exception($e); } }
/** * 保存 * * @param Array $data Example:$data["modify"] = array() * $data["delete"} = array() * @return boolean true if succeed */ public function save($data) { //明细表 $stocks = new StocksDao(); $stocks->startTrans(); //当前库存表 $current = new CurrentStocksDao(); $current->startTrans(); $modify = $data["modify"]; $delete = $data["delete"]; //删除的数据 for ($i = 0; $i < sizeof($delete); $i++) { try { $tablename = StocksIndexAction::getSaveTableName($delete[$i]["billDate"]); if ($delete[$i]["id"] != '') { $vo = $stocks->find("id=" . $delete[$i]["id"], $tablename); //if($vo==true && $vo->station != '' && $vo->station != null) //{ // $stocks->rollback(); // $current->rollback() ; // $this->setError("[" . $delete[$i]["code"] . "]已经确认位置,不能删除"); // return false ; //} $rtn = $stocks->deleteById($delete[$i]["id"], $tablename); //减库存 if ($vo != null && !$vo->isEmpty()) { $rtn = $this->createCurrentStocks($current, '', $vo->toArray()); if (!$rtn) { $stocks->rollback(); $current->rollback(); $this->setError($this->getError()); return false; } } } //end if } catch (Exception $e) { $current->rollback(); $stocks->rollback(); throw new Exception($e); } //end try } //end for //保存人员近参数表 $otherparm = new OtherParmSetupAction(); $otherparm->addParm('other', 'member', $modify[0]['sendMan']); $mis = new MIS(); //添加/修改的数据 for ($i = 0; $i < sizeof($modify); $i++) { //保存进库存明细表 try { $tablename = StocksIndexAction::getSaveTableName($modify[$i]["billDate"]); if ($modify[$i]["id"] == '' || $modify[$i]["id"] == null || $modify[$i]["id"] == 0) { $vo = $stocks->createVo('add', '', 'id', 0, $modify[$i]); $result = $stocks->add($vo, $tablename); if (!$result) { $stocks->rollback(); $current->rollback(); system_out("StocksManagerActin.save error:新增数据保存出错,errcode:{$result}"); $this->setError("数据保存出错!"); return false; } //生成当前库存表 $rtn = $this->createCurrentStocks($current, $vo->toArray(), ''); if (!$rtn) { $current->rollback(); $stocks->rollback(); $this->setError($this->getError()); return false; } //增加条码索引 if ($vo->code != '' && $vo->code != null) { CodeIndexAction::addCodeIndex($vo->billDate, $vo->code); } //输出出库列表 $result = $mis->outPut($modify[$i]); } else { $vo = $stocks->find("id=" . $modify[$i]["id"], $tablename); if (!$vo) { $stocks->rollback(); $current->rollback(); $this->setError("数据保存出错,数据在保存前已被删除!"); return false; } $oldvo = clone $vo; //给Vo对象赋值 $this->refreshStocksInfo(&$vo, $modify[$i]); $result = $stocks->save($vo, $tablename); if (!$result) { $stocks->rollback(); $current->rollback(); system_out("StocksManagerActin.save error:修改数据保存出错,errcode:{$result}"); $this->setError("数据保存出错,数据在保存前已被删除!"); return false; } //生成当前库存表 $rtn = $this->createCurrentStocks($current, $vo->toArray(), $oldvo->toArray()); if (!$rtn) { $current->rollback(); $stocks->rollback(); $this->setError($this->getError()); return false; } } //end if } catch (Exception $e) { $current->rollback(); $stocks->rollback(); throw new Exception($e); } //end try } //end for $stocks->commit(); $current->commit(); return true; }