function act_addSpu() { $data = array(); $data['spu'] = trim($_POST['spu']); $data['sort'] = trim($_POST['sort']); $data['prefix'] = trim($_POST['prefix']); $data['isSingSpu'] = trim($_POST['isSingSpu']); $data['createdTime'] = time(); $data['purchaseId'] = $_SESSION['userId']; //验证生成的SPU是否合法 if (!preg_match("/^[A-Z]{2}[0-9]{6}\$/", $data['spu'])) { self::$errCode = 01; self::$errMsg = "{$data['spu']} 不合法,请联系IT人员查看"; return false; } if (intval($data['purchaseId']) <= 0) { self::$errCode = 02; self::$errMsg = "登陆超时,请重试"; return false; } //验证spu是否已经存在 $res = OmAvailableModel::getTNameCount('pc_auto_create_spu', "where spu='{$data['spu']}'"); if (!empty($res)) { self::$errCode = 03; self::$errMsg = "{$data['spu']}已经存在,请重新生成"; return false; } else { if (SpuModel::insertSkuRow($data)) { //这里添加对应销售人记录逻辑 //addSalerInfoForAny($data['spu'], $data['isSingSpu'], $_SESSION['userId'], $_SESSION['userId']);//取消在申请SPU的时候添加销售人信息,改为在添加真实SKU的时候添加 // $dataAuto = array(); $dataAuto['sku'] = $data['spu']; $dataAuto['cguser'] = getPersonNameById($data['purchaseId']); $dataAuto['mainsku'] = $data['sort']; $dataAuto['status'] = 2; $dataAuto['addtime'] = time(); if ($data['prefix'] == 'TK') { $type = 4; } if ($data['prefix'] == 'MT') { $type = 3; } if ($data['prefix'] == 'OS') { $type = 6; } if ($data['prefix'] == 'CB') { $type = 7; } $dataAuto['type'] = $type; OmAvailableModel::newData2ErpInterfOpen('pc.erp.addAutoCreatSpu', $dataAuto, 'gw88'); return true; } else { self::$errCode = SpuModel::$errCode; self::$errMsg = '生成失败,请重试'; return false; } } }
/** *功能:提供给仓库系统的接口,重量拦截重新得到重量 * */ public function act_setSkuWeightInWh() { $sku = isset($_GET['sku']) ? $_GET['sku'] : ""; $skuweight = isset($_GET['skuweight']) ? $_GET['skuweight'] / 1000 : ""; //传递过来的重量为g $userId = isset($_GET['userId']) ? $_GET['userId'] : 0; if (intval($userId) <= 0) { self::$errCode = 111; self::$errMsg = "登陆超时,请重新登陆!"; return false; } if (empty($sku) || empty($skuweight)) { self::$errCode = 333; self::$errMsg = "料号或重量不能为空!"; return false; } $skuList = getSkuBygoodsCode($sku); //根据条码获取真实sku if (empty($skuList)) { self::$errCode = 404; self::$errMsg = '料号不存在'; return false; } $oldWeight = !empty($skuList[0]['goodsWeight']) ? $skuList[0]['goodsWeight'] : 0; //先找出该sku的重量 if ($oldWeight != $skuweight) { //如果新旧重量不相等时,则更新 try { BaseModel::begin(); $tName = 'pc_goods'; $set = "SET goodsWeight='{$skuweight}'"; $where = "WHERE sku='{$skuList[0]['sku']}'"; OmAvailableModel::updateTNameRow($tName, $set, $where); //$info = UserCacheModel::getOpenSysApi('pc.updateTNameRow',array(array('tName'=>"pc_goods",'set'=>"goodsWeight='{$skuweight}'",'where'=>"WHERE sku='{$sku}' and is_delete = 0"))); //添加重量备份记录 //$tName = 'pc_goods_weight_backups'; // $backupsArr = array (); // $backupsArr['sku'] = $skuList[0]['sku']; // $backupsArr['goodsWeight'] = $skuweight; // $backupsArr['addUserId'] = $userId; // $backupsArr['addTime'] = time(); // OmAvailableModel :: addTNameRow2arr($tName, $backupsArr); addWeightBackupsModify($skuList[0]['sku'], $skuweight, $userId); // //$url = "add2ebay_goods_weight.php?goods_sn=".$skuList[0]['sku']."&goods_weight=".$skuweight; // OmAvailableModel::newData2ErpInterf($url); $paraArr['goods_sn'] = $skuList[0]['sku']; $paraArr['goods_weight'] = $skuweight; $res = OmAvailableModel::newData2ErpInterfOpen('pc.erp.addGoodsSnWeight', $paraArr, 'gw88'); //print_r($res); // exit; BaseModel::commit(); BaseModel::autoCommit(); $string = empty($oldWeight) ? "(Kg) 录入成功!" : "(Kg) 更新成功,原来重量为 {$oldWeight}(Kg)"; self::$errCode = 200; self::$errMsg = $skuList[0]['sku'] . " 重量 " . $skuweight . $string; return true; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); self::$errCode = 404; self::$errMsg = $skuList[0]['sku'] . " 重量 " . $skuweight . "(Kg) 录入失败! " . $e->getMessage(); return false; } } else { self::$errCode = 200; self::$errMsg = $skuList[0]['sku'] . " 重量 无修改,为 {$skuweight}(Kg)"; return true; } }
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; } }
public function view_changePurchaseBatchOn() { $useId = $_SESSION['userId']; $personName = getPersonNameById($useId); if (empty($personName)) { $status = "<font color=red>系统找不到登录人信息!</font><br/>"; echo $status; exit; } if (isset($_POST['submit']) && $_POST['submit'] != '') { $uploadfile = 'changePurchaseBatch' . date("Y") . date("m") . date("d") . date("H") . date('i') . date('s') . '_' . $personName . ".xls"; if (move_uploaded_file($_FILES['upfile']['tmp_name'], 'upload/' . $uploadfile)) { echo "<font color=BLUE>文件上传成功!</font><br>"; } else { echo "<font color=red> 文件上传失败!</font>"; exit; } $fileName = 'upload/' . $uploadfile; $filePath = $fileName; $PHPExcel = new PHPExcel(); $PHPReader = new PHPExcel_Reader_Excel2007(); if (!$PHPReader->canRead($filePath)) { $PHPReader = new PHPExcel_Reader_Excel5(); if (!$PHPReader->canRead($filePath)) { echo 'no Excel'; return; } } $PHPExcel = $PHPReader->load($filePath); $currentSheet = $PHPExcel->getSheet(0); $highestRow = $currentSheet->getHighestRow(); //表格中的最大行数 $tmpArr = array(); $status = ''; $flag = true; //标识检测结果 for ($i = 2; $i <= $highestRow; $i++) { //先检查导入表格的正确性 $sku = trim($currentSheet->getCell('A' . $i)->getValue()); //sku $sku = preg_replace("/(\\s|\\ \\;| | )/", "", $sku); $purchaseName = trim($currentSheet->getCell('B' . $i)->getValue()); //采购人名称 $purchaseName = preg_replace("/(\\s|\\ \\;| | )/", "", $purchaseName); $sku = strpos($sku, '_') === false ? str_pad($sku, 3, '0', STR_PAD_LEFT) : $sku; if (empty($sku)) { $status .= "<font color=red>第 {$i} 行,SKU为空!</font><br/>"; echo $status; exit; } if (empty($purchaseName)) { $status .= "<font color=red>第 {$i} 行,采购为空!</font><br/>"; echo $status; exit; } if (!isSkuExist($sku)) { $status .= "<font color=red>第 {$i} 行,找不到该SKU信息!</font><br/>"; $flag = false; } $purchaseId = getPersonIdByName($purchaseName); if (empty($purchaseId)) { $status .= "<font color=red>第 {$i} 行,找不到该采购员!</font><br/>"; $flag = false; } } if (!$flag) { $status .= '<font color=red>更新失败!</font>'; echo $status; exit; } $status = ''; for ($i = 2; $i <= $highestRow; $i++) { //如果通过了检测,则批量更新数据 $sku = trim($currentSheet->getCell('A' . $i)->getValue()); //sku $sku = preg_replace("/(\\s|\\ \\;| | )/", "", $sku); $purchaseName = trim($currentSheet->getCell('B' . $i)->getValue()); //采购人名称 $purchaseName = preg_replace("/(\\s|\\ \\;| | )/", "", $purchaseName); $sku = strpos($sku, '_') === false ? str_pad($sku, 3, '0', STR_PAD_LEFT) : $sku; $purchaseId = getPersonIdByName($purchaseName); $tName = 'pc_goods'; $dataPurchase = array(); $dataPurchase['purchaseId'] = $purchaseId; $where = "WHERE sku='{$sku}'"; OmAvailableModel::updateTNameRow2arr($tName, $dataPurchase, $where); OmAvailableModel::newData2ErpInterfOpen('pc.erp.updateCguser', array('goods_sn' => $sku, 'cguser' => $purchaseName, 'gw88')); //同步到深圳ERP $status .= "<font color=green>{$sku} 采购 {$purchaseName} 更新成功</font><br/>"; } $status .= '<font color=green>更新成功!</font>'; echo $status; exit; } }
public function view_addCombineOn() { $combineSpu = $_POST['combineSpu'] ? post_check(trim($_POST['combineSpu'])) : ''; if (empty($combineSpu)) { $status = "空的SPU"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (intval($_SESSION['userId']) <= 0) { $status = "登陆超时!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_auto_create_spu'; $select = 'status'; $where = "WHERE spu='{$combineSpu}' and is_delete=0"; $autoSpuList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($autoSpuList)) { $status = "自动生成SPU列表中不存在 {$combineSpu}"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $amount = $_POST['amount'] ? post_check(trim($_POST['amount'])) : 0; $amount = intval($amount); if ($amount <= 0 || $amount > 500) { $status = "数量必须在1-500之间"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_goods_combine'; $where = "WHERE is_delete=0 AND combineSpu='{$combineSpu}'"; $countComSpu = OmAvailableModel::getTNameCount($tName, $where); $tmpArr = array(); for ($index = 0; $index <= $amount; $index++) { $combineSku = $_POST['combineSku' . $index] ? post_check(trim($_POST['combineSku' . $index])) : ''; $combineSku = $combineSpu . $combineSku; if ($index == 0 && $countComSpu > 0 && $combineSku == $combineSpu) { $status = "存在为空的子料号,请检查!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if ($index > 0 && $combineSku == $combineSpu) { //只可能index=0时候,$combineSku==$combineSpu,其他表示无效 continue; } $combineLength = $_POST['combineLength' . $index] ? post_check(trim($_POST['combineLength' . $index])) : ''; $combineWidth = $_POST['combineWidth' . $index] ? post_check(trim($_POST['combineWidth' . $index])) : ''; $combineHeight = $_POST['combineHeight' . $index] ? post_check(trim($_POST['combineHeight' . $index])) : ''; $combineNote = $_POST['combineNote' . $index] ? trim($_POST['combineNote' . $index]) : ''; $skuArr = $_POST['sku' . $index]; $countArr = $_POST['count' . $index]; if (strlen($combineSku) > 30) { $status = "{$combineSku} 字符长度大于30,错误!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (!preg_match("/^{$combineSpu}(_[A-Z0-9]+)*\$/", $combineSku)) { $status = "{$combineSku} 不规范,请检查格式是否正确"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if ($combineSku == $combineSpu && $amount > 1) { $status = "存在SKU为空的参数"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tmpArr[] = $combineSku; if (!empty($combineLength)) { if (!is_numeric($combineLength) || $combineLength < 0) { $status = "{$combineSku} 长度必须为数字"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } if (!empty($combineWidth)) { if (!is_numeric($combineWidth) || $combineWidth < 0) { $status = "{$combineSku} 宽度必须为数字"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } if (!empty($combineHeight)) { if (!is_numeric($combineHeight) || $combineHeight < 0) { $status = "{$combineSku} 高度必须为数字"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } if (empty($skuArr[0]) || empty($countArr[0])) { $status = "{$combineSku} 至少要包含一条不为空的真实料号对应记录"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_goods_combine'; $where = "WHERE combineSku='{$combineSku}' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if ($count) { $status = "{$combineSku} 已经存在"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (count($skuArr) != count(array_unique($skuArr))) { $status = "{$combineSku} 中存在重复的真实料号,请检查"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_goods'; foreach ($skuArr as $value) { if (!empty($value)) { $where = "WHERE sku='{$value}' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if (!$count) { $status = "{$combineSku} 真实料号 {$value} 不存在"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } } foreach ($countArr as $value) { if (intval($value) <= 0) { $status = "{$combineSku} 对应真实料号的数量有误"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } } $tmpArr = array_filter($tmpArr); if (count($tmpArr) != count(array_unique($tmpArr))) { $status = "存在重复的虚拟子料号,请检查!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } try { $ebayGoodsArr = array(); //同步数据数组 BaseModel::begin(); for ($index = 0; $index <= $amount; $index++) { $combineSku = $_POST['combineSku' . $index] ? post_check(trim($_POST['combineSku' . $index])) : ''; $combineSku = $combineSpu . $combineSku; if ($index > 0 && $combineSku == $combineSpu) { //只可能index=0时候,$combineSku==$combineSpu,其他表示无效 continue; } $combineLength = $_POST['combineLength' . $index] ? post_check(trim($_POST['combineLength' . $index])) : ''; $combineWidth = $_POST['combineWidth' . $index] ? post_check(trim($_POST['combineWidth' . $index])) : ''; $combineHeight = $_POST['combineHeight' . $index] ? post_check(trim($_POST['combineHeight' . $index])) : ''; $combineNote = $_POST['combineNote' . $index] ? trim($_POST['combineNote' . $index]) : ''; $skuArr = $_POST['sku' . $index]; $countArr = $_POST['count' . $index]; $dataCom = array(); $dataCom['combineSpu'] = $combineSpu; $dataCom['combineSku'] = $combineSku; $dataCom['combineCost'] = $combineCost; $dataCom['combineWeight'] = $combineWeight; $dataCom['combineLength'] = $combineLength; $dataCom['combineWidth'] = $combineWidth; $dataCom['combineHeight'] = $combineHeight; $dataCom['combineNote'] = $combineNote; $dataCom['combineUserId'] = $_SESSION['userId']; $dataCom['addTime'] = time(); $tName = 'pc_goods_combine'; $insertIdCom = OmAvailableModel::addTNameRow2arr($tName, $dataCom); if (!$insertIdCom) { throw new Exception('add combine error'); } $dataRelation = array(); $dataRelationMem = array(); for ($i = 0; $i < count($skuArr); $i++) { if (!empty($skuArr[$i]) && !empty($countArr[$i])) { $dataRelation[] = array('combineSku' => $combineSku, 'sku' => $skuArr[$i], 'count' => $countArr[$i]); $dataRelationMem[] = array('sku' => $skuArr[$i], 'count' => $countArr[$i]); } } if (!empty($dataRelation)) { $tName = 'pc_sku_combine_relation'; $where = "WHERE combineSku='{$combineSku}'"; $dataRelationCount = OmAvailableModel::getTNameCount($tName, $where); if ($dataRelationCount) { OmAvailableModel::deleteTNameRow($tName, $where); } foreach ($dataRelation as $value) { if (!empty($value['combineSku']) && !empty($value['sku']) && !empty($value['count'])) { $insertId = OmAvailableModel::addTNameRow2arr($tName, $value); } } } if ($autoSpuList[0]['status'] != 2) { $tName = 'pc_auto_create_spu'; $set = "SET status=2"; $where = "WHERE spu='{$combineSpu}'"; $affectRow = OmAvailableModel::updateTNameRow($tName, $set, $where); } //将新添加的sku添加到mem中 $key = 'pc_goods_combine_' . $combineSku; $dataCom['detail'] = $dataRelationMem; $value = $dataCom; setMemNewByKey($key, $value); //这里不保证能添加成功 //同步新数据到旧系统中 $ebayProductsCombine = array(); $ebayProductsCombine['id'] = $insertIdCom; $ebayProductsCombine['goods_sn'] = $combineSku; $goods_sncombine = array(); $truesku = array(); foreach ($dataRelationMem as $value) { $str = ''; $strTrue = ''; $str = $value['sku'] . '*' . $value['count']; $strTrue = '[' . $value['sku'] . ']'; $goods_sncombine[] = $str; $truesku[] = $strTrue; } $ebayProductsCombine['goods_sncombine'] = implode(',', $goods_sncombine); $ebayProductsCombine['notes'] = $combineNote; $ebayProductsCombine['goods_price'] = $combineCost; $ebayProductsCombine['goods_weight'] = $combineWeight; $ebayProductsCombine['cguser'] = getPersonNameById($_SESSION['userId']); $ebayProductsCombine['ebay_user'] = '******'; $ebayProductsCombine['createdtime'] = time(); $ebayProductsCombine['truesku'] = implode(',', $truesku); $ebayGoodsArr[] = $ebayProductsCombine; } BaseModel::commit(); BaseModel::autoCommit(); addSalerInfoForAny($combineSpu, 2, $_SESSION['userId'], $_SESSION['userId']); //add by zqt 20140519,添加销售人逻辑 //同步数据到深圳ERP foreach ($ebayGoodsArr as $value) { $ret = OmAvailableModel::newData2ErpInterfOpen('pc.erp.addGoodsCombine', $value, 'gw88'); } $status = "添加成功"; echo '<script language="javascript"> alert("' . $status . '"); window.parent.location.href = "index.php?mod=goods&act=getCombineList&searchComField=1&fieldValue=' . $combineSpu . '"; </script>'; exit; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); echo $e->getMessage(); $status = "添加失败,请联系系统技术部,谢谢"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; } }
function act_updateSpuArchivePid() { $spu = $_POST['spu']; $pid = $_POST['pid']; $userId = $_SESSION['userId']; if (intval($userId) <= 0) { self::$errCode = '100'; self::$errMsg = "登陆超时,请重试"; return false; } if (empty($spu) || empty($pid)) { self::$errCode = '101'; self::$errMsg = "异常,错误!"; return false; } $tName = 'pc_spu_archive'; $select = 'categoryPath'; $where = "WHERE is_delete=0 AND spu='{$spu}'"; $spuList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($spuList)) { self::$errCode = '102'; self::$errMsg = "该SPU档案不存在"; return false; } if ($spuList[0]['categoryPath'] == $pid) { self::$errCode = '110'; self::$errMsg = "类别无修改"; return false; } $tName = 'pc_goods_category'; $where = "WHERE path='{$pid}' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if (!$count) { self::$errCode = '103'; self::$errMsg = "所选类别不存在,请刷新重试!"; return false; } $where = "WHERE path like'{$pid}-%' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if ($count) { self::$errCode = '104'; self::$errMsg = "产品档案只能建立在最小分类下,请选择最小分类"; return false; } try { BaseModel::begin(); $tName = 'pc_spu_archive'; $where = "WHERE spu='{$spu}'"; $dataTmpArr = array(); $dataTmpArr['categoryPath'] = $pid; OmAvailableModel::updateTNameRow2arr($tName, $dataTmpArr, $where); //更新SPU档案的类别 $tName = 'pc_archive_spu_property_value_relation'; $where = "WHERE spu='{$spu}'"; OmAvailableModel::deleteTNameRow($tName, $where); //物理删除该SPU产品档案选择属性记录 $tName = 'pc_archive_spu_input_value_relation'; $where = "WHERE spu='{$spu}'"; OmAvailableModel::deleteTNameRow($tName, $where); //物理删除SPU产品档案文本记录 $tName = 'pc_goods'; $where = "WHERE is_delete=0 AND spu='{$spu}'"; $dataTmpArr = array(); $dataTmpArr['goodsCategory'] = $pid; OmAvailableModel::updateTNameRow2arr($tName, $dataTmpArr, $where); //更新该SPU下所有SKU的类别 BaseModel::commit(); BaseModel::autoCommit(); OmAvailableModel::newData2ErpInterfOpen('pc.erp.updateGoodsCategoryBySpu', array('spu' => $spu, 'pid' => $pid), 'gw88'); $personName = getPersonNameById($userId); error_log(date('Y-m-d_H:i') . " {$personName} 将SPU:{$spu} 类别改为 {$pid} 原始类别为: {$spuList[0]['categoryPath']} \r\n", 3, WEB_PATH . "log/updateSpuCategoryLog.txt"); self::$errCode = 200; self::$errMsg = "修改成功"; return true; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); self::$errCode = 404; self::$errMsg = '修改失败,原因为:' . $e->getMessage(); return false; } }
public function view_addSkuSingOn() { $spu = $_POST['spu'] ? post_check(trim($_POST['spu'])) : ''; $pid = $_POST['pid'] ? post_check(trim($_POST['pid'])) : ''; $id = $_POST['id'] ? post_check(trim($_POST['id'])) : ''; $goodsStatus = $_POST['goodsStatus'] ? post_check(trim($_POST['goodsStatus'])) : ''; $isNew = $_POST['isNew'] ? post_check(trim($_POST['isNew'])) : ''; if (!preg_match("/^[A-Z0-9]+\$/", $spu)) { $status = "非法spu"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (empty($pid)) { $status = "类别为空"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $skuArr = $_POST['sku']; $goodsNameArr = $_POST['goodsName']; $goodsCostArr = $_POST['goodsCost']; $goodsNoteArr = $_POST['goodsNote']; $goodsColorArr = $_POST['goodsColor']; $goodsSizeArr = $_POST['goodsSize']; if (!isset($skuArr[0])) { $status = "空的SKU记录"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (empty($skuArr[0]) && !empty($skuArr[1])) { $status = "只能是一个子料号情况下,SKU才能为空"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (count($skuArr) != count(array_unique($skuArr))) { $status = "错误,存在重复的SKU"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $userId = $_SESSION['userId']; if (intval($userId) <= 0) { $status = "登陆超时,请重新登陆!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } for ($i = 0; $i < count($skuArr); $i++) { $sku = post_check($spu . trim($skuArr[$i])); if (strlen($sku) > 30) { $status = "{$sku} 字符长度大于30,错误!"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (!preg_match("/^{$spu}(_[A-Z0-9]+)*\$/", $sku)) { $status = "{$sku} 格式非法"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $goodsName = !empty($goodsNameArr[$i]) ? $goodsNameArr[$i] : ''; $goodsCost = !empty($goodsCostArr[$i]) ? $goodsCostArr[$i] : 0; $goodsNote = !empty($goodsNoteArr[$i]) ? $goodsNoteArr[$i] : ''; $goodsColor = !empty($goodsColorArr[$i]) ? $goodsColorArr[$i] : 0; $goodsSize = !empty($goodsSizeArr[$i]) ? $goodsSizeArr[$i] : 0; if ($i >= 1 && $sku == $spu) { continue; } if (empty($goodsName)) { $status = "{$sku} 的描述不能为空"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (strpos($goodsName, '#') !== false || strpos($goodsNote, '#') !== false) { //如果描述中有#则报错 $status = "{$sku} 的描述/备注 不能含有'井'号等特殊字符"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } if (!is_numeric($goodsCost) || $goodsCost <= 0) { $status = "{$sku} 的成本必须为正数"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } $tName = 'pc_goods'; $where = "WHERE is_delete=0 AND sku='{$sku}'"; $count = OmAvailableModel::getTNameCount($tName, $where); if ($count) { $status = "{$sku} 已经存在"; echo '<script language="javascript"> alert("' . $status . '"); </script>'; exit; } } try { $ebayGoodsArr = array(); //同步数据数组 BaseModel::begin(); for ($i = 0; $i < count($skuArr); $i++) { $sku = post_check($spu . trim($skuArr[$i])); $goodsName = !empty($goodsNameArr[$i]) ? $goodsNameArr[$i] : ''; $goodsCost = !empty($goodsCostArr[$i]) ? $goodsCostArr[$i] : 0; $goodsNote = !empty($goodsNoteArr[$i]) ? $goodsNoteArr[$i] : ''; $goodsColor = !empty($goodsColorArr[$i]) ? $goodsColorArr[$i] : 0; $goodsSize = !empty($goodsSizeArr[$i]) ? $goodsSizeArr[$i] : 0; if ($i >= 1 && $sku == $spu) { continue; } $dataSku = array(); $dataSku['spu'] = $spu; $dataSku['goodsCategory'] = $pid; $dataSku['purchaseId'] = $userId; $dataSku['goodsCreatedTime'] = time(); $dataSku['goodsSort'] = intval(substr($spu, 2)); $dataSku['sku'] = $sku; $dataSku['goodsName'] = $goodsName; $dataSku['goodsCost'] = $goodsCost; $dataSku['goodsNote'] = $goodsNote; $dataSku['goodsStatus'] = $goodsStatus; $dataSku['isNew'] = $isNew; $dataSku['goodsColor'] = $goodsColor; $dataSku['goodsSize'] = $goodsSize; $tName = 'pc_goods'; $insertId = OmAvailableModel::addTNameRow2arr($tName, $dataSku); addWeightBackupsModify($sku, 0, $userId, false); //添加默认的重量变化记录 addVolumeBackupsModify($sku, 0, 0, 0, $userId, false); //添加默认的体积变化记录 addPmBackupsModify($sku, 0, 1, $userId, false); //添加默认的包材变化记录 addCostBackupsModify($sku, $goodsCost, $userId, false); //添加默认的成本变化记录 addStatusBackupsModify($sku, $goodsStatus, '', $userId, false); //添加默认的状态变化记录 //将新添加的sku添加到mem中 $key = 'pc_goods_' . $sku; $value = $dataSku; setMemNewByKey($key, $value); //这里不保证能添加成功 //同步新数据到旧系统中 $ebayGoods = array(); $ebayGoods['goods_id'] = $insertId; $ebayGoods['goods_name'] = preg_replace("/(\\s|\\ \\;| | )/", "", $goodsName); $ebayGoods['goods_sn'] = $sku; $ebayGoods['goods_price'] = $goodsCost; $ebayGoods['goods_cost'] = $goodsCost; //$ebayGoods['goods_weight'] = $goodsWeight; $ebayGoods['goods_note'] = preg_replace("/(\\s|\\ \\;| | )/", "", $goodsNote); $ebayGoods['goods_category'] = $pid; //$ebayGoods['isPacking'] = $isPacking; $ebayGoods['ebay_user'] = '******'; //$ebayGoods['factory'] = $partnerId; $ebayGoods['cguser'] = empty($_SESSION['userId']) ? '' : getPersonNameById($_SESSION['userId']); //$ebayGoods['capacity'] = $pmCapacity; //$ebayGoods['ebay_packingmaterial'] = empty($pmId)?'':PackingMaterialsModel::getPmNameById($pmId); $ebayGoods['add_time'] = time(); $ebayGoods['spu'] = $spu; $ebayGoods['goods_code'] = $insertId + 1000000; $ebayGoods['color'] = $goodsColor; $ebayGoods['size'] = $goodsSize; if ($goodsStatus == 1) { //在线 $ebayGoods['isuse'] = 0; } elseif ($goodsStatus == 51) { //PK产品 $ebayGoods['isuse'] = 51; } else { //其余的都做下线处理 $ebayGoods['isuse'] = 1; } $ebayGoodsArr[] = $ebayGoods; } BaseModel::commit(); BaseModel::autoCommit(); //同步数据到深圳ERP foreach ($ebayGoodsArr as $value) { $res = OmAvailableModel::newData2ErpInterfOpen('pc.erp.addGoods', $value, 'gw88'); } $status = "添加成功"; echo '<script language="javascript"> alert("' . $status . '"); window.parent.location.href = "index.php?mod=goods&act=getGoodsList&searchs=1&status=' . $status . '&seachdata=' . $spu . '"; </script>'; exit; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); $status = $e->getMessage(); echo '<script language="javascript"> alert("' . '添加失败——' . $status . '"); window.parent.location.href = "index.php?mod=goods&act=getGoodsList&searchs=1&status=' . $status . '&seachdata=' . $spu . '"; </script>'; exit; } }
function interFaceForCNDLToMH($sku, $type) { $tName = 'pc_goods'; $select = 'spu,goodsCost,goodsStatus,goodsWeight,goodsLength,goodsWidth,goodsHeight'; $where = "WHERE sku='{$sku}'"; $skuLst = OmAvailableModel::getTNameList($tName, $select, $where); $spu = $skuLst[0]['spu']; $goodsCost = $skuLst[0]['goodsCost']; $goodsStatus = $skuLst[0]['goodsStatus']; $goodsWeight = $skuLst[0]['goodsWeight']; $goodsLength = $skuLst[0]['goodsLength']; $goodsWidth = $skuLst[0]['goodsWidth']; $goodsHeight = $skuLst[0]['goodsHeight']; $dataArr = array(); $dataArr['spu'] = $spu; $dataArr['status'] = $goodsStatus == 1 || $goodsStatus == 51 ? 1 : 0; $dataArr['weight'] = $goodsWeight; $dataArr['length'] = $goodsLength; $dataArr['width'] = $goodsWidth; $dataArr['height'] = $goodsHeight; $dataArr['cost'] = $goodsCost; $toArr = array(); $toArr['sku'] = $sku; $toArr['type'] = $type; $toArr['data'] = json_encode($dataArr); $ret = OmAvailableModel::newData2ErpInterfOpen('erp.getPCgoodsInfo', $toArr, 'gw88'); error_log(date('Y-m-d_H:i') . " sku:{$sku} type:{$type} data:{$toArr['data']} \r\n", 3, WEB_PATH . "log/interFaceForCNDLToMHLog.txt"); //print_r($ret); // exit; }
function act_alertSkuConversion() { $id = $_GET['id'] ? post_check(trim($_GET['id'])) : 0; $id = intval($id); if ($id <= 0) { self::$errCode = '100'; self::$errMsg = "异常"; return; } $modifiedUserId = intval($_SESSION['userId']); $modifiedTime = time(); $update_new_sku = $_REQUEST['update_new_sku'] ? post_check(trim($_REQUEST['update_new_sku'])) : ""; $update_old_sku = $_REQUEST['update_old_sku'] ? post_check(trim($_REQUEST['update_old_sku'])) : ""; $preoldsku = $_REQUEST['preoldsku'] ? post_check(trim($_REQUEST['preoldsku'])) : ""; $prenewsku = $_REQUEST['prenewsku'] ? post_check(trim($_REQUEST['prenewsku'])) : ""; if ($modifiedUserId <= 0) { self::$errCode = '103'; self::$errMsg = "登陆超时,请重试"; return; } if (empty($update_old_sku)) { self::$errCode = '101'; self::$errMsg = "旧料号不能为空"; return; } if (empty($update_new_sku)) { self::$errCode = '101'; self::$errMsg = "新料号不能为空"; return; } /* if(!preg_match("/^[A-Z0-9]+(_[A-Z0-9]+)*$/",$update_new_sku)){ self::$errCode = '100'; self::$errMsg = "新料号 $update_new_sku 格式不合法"; return; } if(!preg_match("/^[A-Z0-9]+(_[A-Z0-9]+)*$/",$update_old_sku)){ self::$errCode = '100'; self::$errMsg = "旧料号 $update_old_sku 格式不合法"; return; } */ $paArr = array('oldsku' => $update_old_sku, 'newsku' => $update_new_sku, 'preoldsku' => $preoldsku, 'prenewsku' => $prenewsku); try { BaseModel::begin(); $tName = ' pc_sku_conversion'; $set = " SET new_sku='{$update_new_sku}', old_sku='{$update_old_sku}', modifiedUserId='{$modifiedUserId}',modifiedTime='{$modifiedTime}'"; $where = " WHERE id={$id} and is_delete=0"; OmAvailableModel::updateTNameRow($tName, $set, $where); //先将转换记录修改 self::$errCode = '200'; self::$errMsg = "修改转换记录成功,旧料号{$update_old_sku}转新料号{$update_new_sku} 记录修改成功"; $data = OmAvailableModel::newData2ErpInterfOpen("erp.updatePurchaseSkuConversion", $paArr, "88", false); if ($data['resCode'] != 200) { self::$errCode = '5004'; self::$errMsg = "同步数据出错"; return; } BaseModel::commit(); BaseModel::autoCommit(); return; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); self::$errCode = '4004'; self::$errMsg = $e->getMessage(); return; } }