示例#1
0
 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;
     }
 }