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; }
/** * */ 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")); }
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; }
/** * 格式化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)); }
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; }
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; }