Example #1
0
 public function formatData($postData)
 {
     if (!$postData["id"]) {
         $data["bill_id"] = makeBillCode("CK");
         $data["source_id"] = $postData["source_id"] ? $postData["source_id"] : "";
         $data["source_model"] = $postData["source_model"] ? $postData["source_model"] : "";
         $data["stock_manager"] = getCurrentUid();
         $data["status"] = 0;
     } else {
         $data["id"] = $postData["id"];
     }
     if ($postData["dateline"]) {
         if (strtotime($postData['dateline'])) {
             $data["dateline"] = strtotime($postData['dateline']);
         } else {
             $data["dateline"] = strtotime($postData['dateline']);
         }
     } else {
         $data["dateline"] = CTS;
     }
     $data["total_num"] = $postData["total_num"];
     $data["memo"] = $postData["memo"];
     $rows = array();
     $needed = array("goods_id", "num");
     foreach ($postData["rows"] as $row) {
         list($fc, $goods_id) = explode("_", $row["goods_id"]);
         if (!checkParamsFull($row, $needed) || !$row["num"]) {
             continue;
         }
         $rows[] = array("id" => $row["id"] ? $row["id"] : 0, "stockout_id" => $row["stockout_id"], "factory_code_all" => makeFactoryCode($row, $fc), "goods_id" => $goods_id, "goods_id_label" => $row["goods_id_label"], "stock_id" => $row["stock"], "num" => $row["num"], "store_num" => $row["store_num"], "outed" => $row["outed"] ? $row["outed"] : 0, "memo" => $row["memo"]);
     }
     $data["rows"] = $rows;
     return $data;
 }
Example #2
0
 /**
  * 
  */
 public function insert()
 {
     $data = $_POST;
     foreach ($data["rows"] as $k => $row) {
         if (!$row or !$row["goods_id"]) {
             unset($data["rows"][$k]);
             continue;
         }
         list($fcCode, $goods_id, $catid) = explode("_", $row["goods_id"]);
         $data["rows"][$k]["goods_id"] = $goods_id;
         $data["rows"][$k]["factory_code_all"] = makeFactoryCode($row, $fcCode);
         unset($data["rows"][$k]["standard"]);
         unset($data["rows"][$k]["version"]);
     }
     $data["bill_id"] = makeBillCode("ST");
     $data["dateline"] = strtotime($data["inputTime"]);
     $data["saler_id"] = $this->user["id"];
     unset($data["customerInfo"]);
     unset($data["discount"]);
     unset($data["inputTime"]);
     $model = D("Returns");
     $returnsId = $model->newReturns($data);
     //        var_dump($returnsId);exit;
     if (!$returnsId) {
         $this->error($model->getError());
         return;
     }
     import("@.Workflow.Workflow");
     $workflow = new Workflow($this->workflowAlias);
     $node = $workflow->doNext($returnsId, "", true);
     //        $this->redirect("/JXC/Orders/editDetail/id/".$id);
     //        $this->success(L("operate_success"));
 }
Example #3
0
 public function run()
 {
     $bomModel = D("ProduceBoms");
     $stockoutModel = D("Stockout");
     $stockoutDetailModel = D("StockoutDetail");
     $theBoms = $bomModel->where("plan_id=" . $this->mainrowId)->select();
     $stockoutModel->startTrans();
     $theStockout = array("bill_id" => makeBillCode("CK"), "source_id" => $this->mainrowId, "source_model" => "ProducePlan", "dateline" => CTS, "total_num" => 0, "stock_manager" => 0, "shipment_id" => 0, "status" => 0, "memo" => "ProducePlan #" . $this->mainrowId);
     $stockoutId = $stockoutModel->add($theStockout);
     if (!$stockoutId) {
         Log::write("SQL Error:" . $stockoutModel->getLastSql(), Log::SQL);
         $stockoutModel->rollback();
         $this->response(array("type" => "message", "msg" => "Server Error.", "error" => 1));
     }
     $totalNum = 0;
     foreach ($theBoms as $k => $v) {
         $totalNum += $v["num"];
         $theDetail = array("stockout_id" => $stockoutId, "factory_code_all" => $v["factory_code_all"], "goods_id" => $v["goods_id"], "stock_id" => 0, "num" => $v["num"]);
         if (!$stockoutDetailModel->add($theDetail)) {
             //@todo
             Log::write("SQL Error:" . $stockoutModel->getLastSql(), Log::SQL);
             $stockoutModel->rollback();
             $this->response(array("type" => "message", "msg" => "Server Error.", "error" => 1));
         }
     }
     $stockoutModel->where("id=" . $stockoutId)->save(array("total_num" => $totalNum));
     //        echo $stockoutModel->getLastSql();exit;
     $stockoutModel->commit();
     $workflow = new Workflow("stockout");
     $workflow->doNext($stockoutId, false, true, false);
     //        print_r($theBoms);exit;
 }
Example #4
0
 /**
  * 格式化POST或者PUT的数据
  * @params $postData 提交的数据
  * @params $forceInsert 强制定义为插入,而非修改(billItem是否包含ID)
  */
 public function formatData($postData, $forceInsert = false)
 {
     $stockinModel = $this;
     $billData = array("bill_id" => makeBillCode(C("BILL_PREFIX.Stockin")), "subject" => $postData["subject"], "dateline" => $postData["dateline"] ? strtotime($postData["dateline"]) : CTS, "status" => 0, "user_id" => getCurrentUid(), "stock_manager" => 0, "total_num" => 0, "memo" => $postData["memo"], "type_id" => $postData["type_id"]);
     if ($postData["source_model"]) {
         $billData["source_model"] = $postData["source_model"];
         $billData["source_id"] = $postData["source_id"];
     }
     $id = abs(intval($_GET["id"]));
     if ($id) {
         $billData["id"] = $id;
     }
     $data = $postData["rows"];
     $billItems = array();
     $needed = array("goods_id", "num");
     foreach ($data as $k => $billItem) {
         if (!$billItem || !$billItem["num"] || !checkParamsFull($billItem, $needed)) {
             continue;
         }
         list($factory_code, $goodsId, $catid) = explode("_", $billItem["goods_id"]);
         $billItems[$k] = array("goods_id" => $goodsId, "num" => $billItem["num"], "factory_code_all" => makeFactoryCode($billItem, $factory_code), "memo" => $billItem["memo"], "stock_id" => $billItem["stock"]);
         $billData["total_num"] += $billItem["num"];
         if (!$forceInsert and $billItem["id"]) {
             $billItems[$k]["id"] = $billItem["id"];
         }
     }
     return array($billData, reIndex($billItems));
 }
Example #5
0
 public function formatData($data)
 {
     $rowsFields = array("goods_id", "factory_code_all", "num", "unit_price", "amount", "discount", "order_id", "memo");
     $data["tax_amount"] = $data["tax_amount"];
     $data["total_num"] = 0;
     foreach ($data["rows"] as $k => $row) {
         if (!$row or !$row["goods_id"]) {
             unset($data["rows"][$k]);
             continue;
         }
         list($fcCode, $goods_id, $catid) = explode("_", $row["goods_id"]);
         $data["rows"][$k]["goods_id"] = $goods_id;
         $data["rows"][$k]["factory_code_all"] = makeFactoryCode($row, $fcCode);
         $data["total_num"] += $row["num"];
     }
     foreach ($data["rows"] as $k => $row) {
         foreach ($row as $i => $j) {
             if (!in_array($i, $rowsFields)) {
                 unset($data["rows"][$k][$i]);
             }
         }
     }
     $id = abs(intval($_GET["id"]));
     if ($id) {
         $data["id"] = $id;
     } else {
         $data["bill_id"] = makeBillCode("XS");
     }
     if ($data["inputTime"] && !$id) {
         $data["dateline"] = strtotime($data["inputTime"]);
     } else {
         unset($data["dateline"]);
     }
     $data["saler_id"] = getCurrentUid();
     $data["tax_amount"] = $data["tax_amount"] ? $data["tax_amount"] : 0;
     unset($data["customerInfo"]);
     unset($data["discount"]);
     unset($data["inputTime"]);
     return $data;
 }
Example #6
0
 public function formatData($data)
 {
     foreach ($data["rows"] as $k => $row) {
         if (!$row or !$row["goods_id"]) {
             unset($data["rows"][$k]);
             continue;
         }
         list($fcCode, $goods_id, $catid) = explode("_", $row["goods_id"]);
         $data["rows"][$k]["goods_id"] = $goods_id;
         //$data["rows"][$k]["price"] = $row["amount"] ? $row["amount"] : $row["price"];
         $data["rows"][$k]["factory_code_all"] = makeFactoryCode($row, $fcCode);
     }
     //        $data["total_price_real"] = $data["total_amount_real"];
     //        $data["total_price"] = $data["total_amount"];
     //        $data["quantity"] = $data["total_num"];
     $data["purchase_type"] = $data["purchase_type"] ? $data["purchase_type"] : 0;
     $data["supplier_id"] = $data["supplier_id"] ? $data["supplier_id"] : 0;
     if (!$data["bill_id"]) {
         $data["bill_id"] = makeBillCode("CG");
     }
     $data["dateline"] = $data["inputTime"] ? strtotime($data["inputTime"]) : CTS;
     $data["user_id"] = getCurrentUid();
     return $data;
 }