public function view_createBill() { $id = $_POST['id'] ? post_check(trim($_POST['id'])) : ''; $whId = $_POST['wh'] ? post_check(trim($_POST['wh'])) : ''; $id = $_POST['id'] ? post_check(trim($_POST['id'])) : ''; $whId = $_POST['wh'] ? post_check(trim($_POST['wh'])) : ''; if (empty($id)) { $status = '未选择新品'; header("Location:index.php?mod=products&act=getNewGoodsList&status={$status}"); exit; } if (intval($whId) <= 0) { $status = '仓库有误'; header("Location:index.php?mod=products&act=getNewGoodsList&status={$status}"); exit; } $iostoreDetailArr = array(); $tmpArr = array_filter(explode(',', $id)); $iostoreDetailArr = array(); $tmpArr = array_filter(explode(',', $id)); if (empty($tmpArr)) { $status = '未选择新品'; header("Location:index.php?mod=products&act=getNewGoodsList&status={$status}"); exit; } foreach ($tmpArr as $value) { $sku = $value; if (!empty($sku)) { $iostoreDetailArr[] = $sku; } } if (empty($iostoreDetailArr)) { $status = '生成领料单异常'; header("Location:index.php?mod=products&act=getNewGoodsList&status={$status}"); exit; } //插入数据到单据表中 try { BaseModel::begin(); //先插入表头数据 $tName = 'pc_products_iostore'; $dataIostore = array(); $dataIostore['ordersn'] = "XPLQ" . date('Y') . date('m') . date('d') . date("H") . date('i') . date('s') . str_pad(rand(1, 9999), 4, '0', STR_PAD_LEFT); //默认领料单单号为前缀“PRODUCTOR”+年月日时分秒生成 $where = "WHERE ordersn='{$dataIostore['ordersn']}'"; $countIoStore = OmAvailableModel::getTNameCount($tName, $where); if ($countIoStore) { $status = '异常,请重试'; header("Location:index.php?mod=products&act=tmpReturnPros&status={$status}"); exit; } $dataIostore['addUserId'] = $_SESSION['userId']; //添加人 if (intval($dataIostore['addUserId']) <= 0) { $status = '登陆超时,请重试'; header("Location:index.php?mod=products&act=getNewGoodsList&status={$status}"); exit; } $dataIostore['createdTime'] = time(); //生成时间 $dataIostore['whId'] = $whId; $dataIostore['companyId'] = 1; $dataIostoreTowh = $dataIostore; $dataIostoreTowh['invoiceTypeId'] = 4; //产品部借用 $dataIostoreTowh['ioType'] = 1; //出库 $dataIostoreTowh['paymentMethodsId'] = 3; //无需付款 $whinsertid = OmAvailableModel::newData2ErpInterfOpen("wh.addWhIoStoreInWh", array("jsonArr" => json_encode($dataIostoreTowh)), '88', false); $insertIostoreId = OmAvailableModel::addTNameRow2arr($tName, $dataIostore); //下面插入表体 $tName = 'pc_products_iostore_detail'; foreach ($iostoreDetailArr as $value) { $dataIostoreDetail = array(); $dataIostoreDetailTowh = array(); $dataIostoreDetail['iostoreId'] = $insertIostoreId; $dataIostoreDetailTowh['iostoreId'] = $whinsertid['data']; $dataIostoreDetail['sku'] = $value; $dataIostoreDetailTowh['sku'] = $value; $dataIostoreDetail['addUserId'] = $dataIostore['addUserId']; $dataIostoreDetail['addTime'] = time(); $dataIostoreDetail['whId'] = $whId; $dataIostoreDetailTowh['whId'] = $whId; $dataIostoreDetailTowh['amount'] = 1; //默认数量为1 $dataIostoreDetailTowh['cost'] = GoodsModel::getCostBySku($value); $dataIostoreDetailTowh['purchaseId'] = GoodsModel::getpurchaseIdBySku($value); OmAvailableModel::addTNameRow2arr($tName, $dataIostoreDetail); $msgiostore = OmAvailableModel::newData2ErpInterfOpen("wh.addWhIoStoreDetailInWh", array("jsonArr" => json_encode($dataIostoreDetailTowh)), '88', false); } BaseModel::commit(); BaseModel::autoCommit(); $status = "领料单 {$dataIostore['ordersn']} 生成成功"; header("Location:index.php?mod=products&act=getOutStoreList&status={$status}"); } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); $status = "系统错误,生成失败"; header("Location:index.php?mod=products&act=getOutStoreList&status={$status}"); exit; } }