function act_deleteTmpProsById() { $id = intval($_POST['id']); if ($id <= 0) { self::$errCode = '101'; self::$errMsg = '��Ч��¼��ɾ��ʧ��'; return false; } $tName = 'pc_tmp_products_return'; $where = "WHERE id={$id}"; OmAvailableModel::deleteTNameRow($tName, $where); self::$errCode = '200'; self::$errMsg = "ɾ���ɹ�"; return true; }
/** *功能:我自己运行的接口,自由发送mq队列 * */ public function act_pcForMQByZqt() { $tName = 'pc_goods'; $where = "WHERE is_delete=0 and id in(87276,87277,87278,87279)"; OmAvailableModel::deleteTNameRow($tName, $where); }
public function view_createModReturnBill() { $whId = $_GET['whId'] ? post_check(trim($_GET['whId'])) : ''; $whInfoList = getWhInfo(); //根据接口取得对应仓库信息 $whInfoIdArr = array(); foreach ($whInfoList as $value) { $whInfoIdArr[] = $value['id']; //取得仓库id } if (!in_array($whId, $whInfoIdArr)) { $status = '仓库信息有误'; header("Location:index.php?mod=products&act=tmpReturnPros&status={$status}"); exit; } $whId = intval($whId); $tName = 'pc_tmp_products_return'; $select = '*'; $where = "WHERE returnType=3 "; //选出产品修改归还的产品 $returnSkuList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($returnSkuList)) { $status = '修改产品归还列表中没有sku,请先添加'; header("Location:index.php?mod=products&act=tmpModReturnPros&status={$status}"); exit; } try { BaseModel::begin(); //先插入表头数据 $tName = 'pc_products_iostore'; $dataIostore = array(); $dataIostore['ordersn'] = "XGGH" . 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=tmpModReturnPros&status={$status}"); exit; } $dataIostore['iostoreTypeId'] = 2; //单据类型为2,退料单 $dataIostore['addUserId'] = $_SESSION['userId']; //添加人 if (intval($dataIostore['addUserId']) <= 0) { $status = '登陆超时,请重试'; header("Location:index.php?mod=products&act=tmpModReturnPros&status={$status}"); exit; } $dataIostore['createdTime'] = time(); //生成时间 $dataIostore['whId'] = $whId; $insertIostoreId = OmAvailableModel::addTNameRow2arr($tName, $dataIostore); //下面插入表体 $tName = 'pc_products_iostore_detail'; foreach ($returnSkuList as $value) { $dataIostoreDetail = array(); $dataIostoreDetail['iostoreId'] = $insertIostoreId; $dataIostoreDetail['iostoreTypeId'] = 2; //退料单 $dataIostoreDetail['sku'] = $value['sku']; //$dataIostoreDetail['amount'] = $value['amount']; $dataIostoreDetail['addUserId'] = $value['addUserId']; $dataIostoreDetail['addTime'] = $value['createdTime']; $dataIostoreDetail['whId'] = $whId; OmAvailableModel::addTNameRow2arr($tName, $dataIostoreDetail); } //下面删除掉returnType=3的料号 $tName = 'pc_tmp_products_return'; $where = "WHERE returnType=3 "; OmAvailableModel::deleteTNameRow($tName, $where); BaseModel::commit(); BaseModel::autoCommit(); $status = "退料单 {$dataIostore['ordersn']} 生成成功"; header("Location:index.php?mod=products&act=getInStoreList&status={$status}"); exit; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); $status = "系统错误,生成失败"; header("Location:index.php?mod=products&act=getInStoreList&status={$status}"); exit; } }
require_once "/data/web/erpNew/pc.valsun.cn/framework.php"; Core::getInstance(); session_start(); header("Content-type:text/html;charset=utf-8"); date_default_timezone_set("Asia/Shanghai"); session_cache_expire(30); //session有效时间为30分钟 $tName = 'purchase_sku_conversion'; $select = '*'; $where = "WHERE 1=1"; $purchaseSkuConvertionList = OmAvailableModel::getTNameList($tName, $select, $where); if (!empty($purchaseSkuConvertionList)) { $tName = 'pc_sku_conversion'; $where = "WHERE 1=1"; OmAvailableModel::deleteTNameRow($tName, $where); } foreach ($purchaseSkuConvertionList as $value) { $id = $value['id']; $old_sku = $value['old_sku']; $new_sku = $value['new_sku']; $user = $value['user']; $createdtime = $value['createdtime']; $modifiedtime = $value['modifiedtime']; $dataConvertion = array(); $dataConvertion['id'] = $id; $dataConvertion['old_sku'] = $old_sku; $dataConvertion['new_sku'] = $new_sku; $dataConvertion['addUserId'] = getPersonIdByName($user); $dataConvertion['createdTime'] = strtotime($createdtime); $dataConvertion['modifiedUserId'] = getPersonIdByName($user);
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_updateInputOn() { $id = $_GET['id']; $inputName = $_GET['inputName'] ? post_check(trim($_GET['inputName'])) : ''; $textStatus = $_GET['textStatus'] ? post_check(trim($_GET['textStatus'])) : ''; $pid = $_GET['pid'] ? post_check(trim($_GET['pid'])) : ''; if (intval($id) == 0) { $status = "属性Id错误"; header("Location:index.php?mod=property&act=getInputList&status={$status}"); exit; } if (intval($textStatus) <= 0) { $status = "文本方式有误"; header("Location:index.php?mod=property&act=getInputList&status={$status}"); exit; } if (empty($inputName)) { $tName = 'pc_archive_spu_input_value_relation'; $where = "WHERE inputId={$id}"; $countIN = OmAvailableModel::getTNameCount($tName, $where); if ($countIN) { $status = "该属性已经绑定了SPU,不能删除"; header("Location:index.php?mod=property&act=getInputList&status={$status}"); exit; } $tName = 'pc_archive_input'; $where = "WHERE id={$id}"; OmAvailableModel::deleteTNameRow($tName, $where); $status = "删除成功"; header("Location:index.php?mod=property&act=getInputList&status={$status}"); exit; } if (empty($pid)) { $status = "类型不能为空"; header("Location:index.php?mod=property&act=getInputList&status={$status}"); exit; } $tName = 'pc_archive_input'; $select = '*'; $where = "WHERE id='{$id}'"; $inputList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($inputList)) { $status = "不存在该属性记录"; header("Location:index.php?mod=property&act=getInputList&status={$status}"); exit; } $categoryName = getAllCateNameByPath($pid); $pathImplodeStr = getAllPathBypid($pid); $pathImplodeStr = getAllPathBypid($pid); $i = strrpos($pathImplodeStr, ','); if ($i !== false) { $pathImplodeStr = substr($pathImplodeStr, 0, $i); } $where = "WHERE inputName='{$inputName}' and categoryPath IN ({$pathImplodeStr}) and id<>{$id}"; $count = OmAvailableModel::getTNameCount($tName, $where); if ($count) { $status = "{$categoryName} 或其父类下已经存在 {$inputName} 属性"; header("Location:index.php?mod=property&act=getInputList&status={$status}"); exit; } $set = "SET inputName='{$inputName}',categoryPath='{$pid}',textStatus='{$textStatus}'"; $where = "WHERE id='{$id}'"; $affectRow = OmAvailableModel::updateTNameRow($tName, $set, $where); if (!$affectRow) { $status = "无数据修改"; header("Location:index.php?mod=property&act=getInputList&status={$status}"); exit; } $categoryName1 = getAllCateNameByPath($inputList[0]['categoryPath']); $categoryName2 = getAllCateNameByPath($pid); $status = "{$categoryName1} 下 {$inputList[0]['inputName']} 修改为 {$categoryName2} 下 {$inputName} 成功"; header("Location:index.php?mod=property&act=getInputList&status={$status}"); }
public function act_batchDelSpecialTMSpuOn() { $spuIdArr = $_POST['spuIdArr']; if (!is_array($spuIdArr) || empty($spuIdArr)) { self::$errCode = '404'; self::$errMsg = "请选择SPU"; return false; } $spuIdStr = implode(',', $spuIdArr); $tName = 'pc_special_transport_manager_spu'; $where = "WHERE id in({$spuIdStr})"; OmAvailableModel::deleteTNameRow($tName, $where); self::$errCode = '200'; self::$errMsg = "操作成功"; return true; }
public function view_updateSpuArchiveOn() { $spu = $_POST['spu'] ? post_check(trim($_POST['spu'])) : ''; $pid = $_POST['pid'] ? post_check(trim($_POST['pid'])) : ''; $seach_spu = isset($_POST['seach_spu']) ? $_POST['seach_spu'] : ''; $seach_auditStatus = isset($_POST['seach_auditStatus']) ? $_POST['seach_auditStatus'] : ''; $seach_spuStatus = isset($_POST['seach_spuStatus']) ? $_POST['seach_spuStatus'] : ''; $seach_purchaseId = isset($_POST['seach_purchaseId']) ? $_POST['seach_purchaseId'] : ''; $seach_pid = isset($_POST['seach_pid']) ? $_POST['seach_pid'] : ''; $seach_isPPVRecord = isset($_POST['seach_isPPVRecord']) ? $_POST['seach_isPPVRecord'] : ''; $seach_haveSizePPV = isset($_POST['seach_haveSizePPV']) ? $_POST['seach_haveSizePPV'] : ''; $seach_isMeasureRecord = isset($_POST['seach_isMeasureRecord']) ? $_POST['seach_isMeasureRecord'] : ''; $seach_dept = isset($_POST['seach_dept']) ? $_POST['seach_dept'] : ''; $seach_page = isset($_POST['seach_page']) ? $_POST['seach_page'] : ''; $seach_startdate = isset($_POST['seach_startdate']) ? $_POST['seach_startdate'] : ''; $seach_enddate = isset($_POST['seach_enddate']) ? $_POST['seach_enddate'] : ''; //检查spu,pid是否非法 if (empty($spu)) { $status = "spu为空"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (empty($pid)) { $status = "类别为空"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } $tName = 'pc_auto_create_spu'; $select = 'sort,purchaseId,isSingSpu'; $where = "WHERE spu='{$spu}' and is_delete=0"; $autoSpuList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($autoSpuList)) { $status = "自动生成SPU中不存在 {$spu}"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } $tName = 'pc_spu_archive'; $where = "WHERE spu='{$spu}' and categoryPath='{$pid}' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if (!$count) { $status = "产品档案中不存在 {$spu} 的信息"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } $tName = 'pc_goods_category'; $where = "WHERE path='{$pid}' and is_delete=0"; $count = OmAvailableModel::getTNameCount($tName, $where); if (!$count) { $status = "系统不存在该类别"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } //获取网页传来的数据 $dataSpu = array(); //spu档案属性 $dataSpu['spuName'] = $_POST['spuName'] ? trim($_POST['spuName']) : ''; //描述 $dataSpu['spuPurchasePrice'] = $_POST['spuPurchasePrice'] ? post_check(trim($_POST['spuPurchasePrice'])) : ''; $dataSpu['spuLowestPrice'] = $_POST['spuLowestPrice'] ? post_check(trim($_POST['spuLowestPrice'])) : ''; $dataSpu['spuCalWeight'] = $_POST['spuCalWeight'] ? post_check(trim($_POST['spuCalWeight'])) : ''; $dataSpu['referMonthSales'] = $_POST['referMonthSales'] ? post_check(trim($_POST['referMonthSales'])) : ''; $spId = $_POST['spId']; //特殊属性数组 add zqt 20140819 $dataSpu['minNum'] = $_POST['minNum'] ? post_check(trim($_POST['minNum'])) : ''; //起订量 $dataSpu['platformId'] = $_POST['platformId'] ? post_check(trim($_POST['platformId'])) : ''; //对应平台 $dataSpu['freight'] = $_POST['freight'] ? post_check(trim($_POST['freight'])) : 0; //运费 $dataSpu['secretInfo'] = $_POST['secretInfo'] ? post_check(trim($_POST['secretInfo'])) : ''; //隐私信息,目前为被PK料号信息 $dataSpu['lowestUrl'] = $_POST['lowestUrl'] ? post_check(trim($_POST['lowestUrl'])) : ''; $dataSpu['bidUrl'] = $_POST['bidUrl'] ? post_check(trim($_POST['bidUrl'])) : ''; if (empty($dataSpu['spuName'])) { $status = "描述不能为空"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (!is_numeric($dataSpu['spuPurchasePrice']) || $dataSpu['spuPurchasePrice'] <= 0) { $status = "采购价必须是正数"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (!is_numeric($dataSpu['spuLowestPrice']) || $dataSpu['spuLowestPrice'] <= 0) { $status = "市场最低价必须是正数"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (!is_numeric($dataSpu['spuCalWeight']) || $dataSpu['spuCalWeight'] <= 0) { $status = "估算重量必须是正数"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (intval($dataSpu['referMonthSales']) == 0) { $status = "参考月销量必须为大于0的正数"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (intval($dataSpu['minNum']) <= 0) { $status = "起订量必须为大于0的正数"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (intval($dataSpu['platformId']) <= 0) { $status = "对应平台选择有误"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (!is_numeric($dataSpu['freight']) || $dataSpu['freight'] < 0) { $status = "运费必须为非负数"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (empty($dataSpu['lowestUrl'])) { $status = "最低价链接不能为空"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } if (empty($dataSpu['bidUrl'])) { $status = "参考listing链接不能为空"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); exit; } $dataSpu['spuNote'] = $_POST['spuNote'] ? post_check(trim($_POST['spuNote'])) : ''; $dataSpu['spuStatus'] = $_POST['spuStatus'] ? post_check(trim($_POST['spuStatus'])) : 1; $dataSpu['spuCreatedTime'] = time(); //最后一次修改的时间 $dataLink = array(); //spuLink属性 $dataLinkTmp['spu'] = $spu; $linkUrlArr = $_POST['linkUrl']; $linkNoteArr = $_POST['linkNote']; for ($i = 0; $i < count($linkUrlArr); $i++) { $dataLinkTmp['spu'] = $spu; $dataLinkTmp['linkUrl'] = $linkUrlArr[$i]; $dataLinkTmp['linkNote'] = $linkNoteArr[$i]; $dataLink[] = $dataLinkTmp; } //add 20140526 筛选的PK SKU if ($dataSpu['spuStatus'] == 51 && empty($dataSpu['secretInfo'])) { $tmpStatus = "PK状态下,PK的SPU不能为空!"; echo '<script language="javascript"> alert("' . $tmpStatus . '"); history.back(); </script>'; exit; } if (!preg_match("/^[A-Z0-9]+\$/", $dataSpu['secretInfo']) && !empty($dataSpu['secretInfo'])) { $tmpStatus = "被PK的SPU只能是大写字母和数字字符串!"; echo '<script language="javascript"> alert("' . $tmpStatus . '"); history.back(); </script>'; exit; } $pkSkuArr = !empty($_POST['pkSku']) ? $_POST['pkSku'] : array(); if ($dataSpu['spuStatus'] == 51) { //状态为pk $tName = 'pc_spu_archive'; $select = 'auditTime'; $where = "WHERE is_delete=0 and spu='{$spu}'"; $auditTimeList = OmAvailableModel::getTNameList($tName, $select, $where); if ($auditTimeList[0]['auditTime'] > 1401465600 && count($pkSkuArr) <= 0) { //审核时间大于这个时候开始验证,否则不验证pkSku的值 $tmpStatus = "请填写完PK的SPU后点击'筛选SKU'按钮选择所PK的SKU,谢谢!"; echo '<script language="javascript"> alert("' . $tmpStatus . '"); history.back(); </script>'; exit; } } // $pathImplodeStr = getAllPathBypid($pid); $dataPro = array(); $tName = 'pc_archive_property'; $select = '*'; $where = "WHERE categoryPath IN ({$pathImplodeStr})"; $proList = OmAvailableModel::getTNameList($tName, $select, $where); if (!empty($proList)) { foreach ($proList as $value) { $tmpArr = array(); if ($value['isRadio'] == 1) { //单选 $tmpArr['spu'] = $spu; $tmpArr['propertyId'] = $value['id']; $tmpArr['propertyValueId'] = $_POST['pro' . $value['id']]; //单选时,$_POST['pro'.$value['id']]存放的是一个字符串 $dataPro[] = $tmpArr; } else { //多选 //多选时,$_POST['pro'.$value['id']]存放的是一个数组,固定某个propertyId下的多个值 $tmpPostValueArr = $_POST['pro' . $value['id']]; if (!empty($tmpPostValueArr)) { foreach ($tmpPostValueArr as $value2) { $tmpArr['spu'] = $spu; $tmpArr['propertyId'] = $value['id']; $tmpArr['propertyValueId'] = $value2; $dataPro[] = $tmpArr; } } } } } $dataInp = array(); $tName = 'pc_archive_input'; $select = '*'; $where = "WHERE categoryPath IN ({$pathImplodeStr})"; $inpList = OmAvailableModel::getTNameList($tName, $select, $where); if (!empty($inpList)) { foreach ($inpList as $value) { $tmpArr = array(); $tmpArr['spu'] = $spu; $tmpArr['inputId'] = $value['id']; $tmpArr['inputValue'] = $_POST['inp' . $value['id']]; $dataInp[] = $tmpArr; } } try { BaseModel::begin(); //pc_spu_archive中插入数据 $tName = 'pc_spu_archive'; $where = "WHERE spu='{$spu}'"; $affectRowSpu = OmAvailableModel::updateTNameRow2arr($tName, $dataSpu, $where); if ($affectRowSpu === false) { throw new Exception('add pc_spu_archive error'); } //add zqt 20140711 添加特殊属性 if (!empty($spId) && is_array($spId)) { $tName = 'pc_special_property_spu'; $where = "WHERE spu='{$spu}'"; OmAvailableModel::deleteTNameRow($tName, $where); foreach ($spId as $propertyIdValue) { $propertyIdValue = intval($propertyIdValue); $dataTmpArr = array(); $dataTmpArr['propertyId'] = $propertyIdValue; $dataTmpArr['spu'] = $spu; OmAvailableModel::addTNameRow2arr($tName, $dataTmpArr); } } //add 20140526 更新PK细分SKU $tName = 'pc_spu_archive_pk_sku'; $where = "WHERE spu='{$spu}'"; OmAvailableModel::deleteTNameRow($tName, $where); //先删掉之前关联的记录 foreach ($pkSkuArr as $value) { $tName = 'pc_spu_archive_pk_sku'; $dataPkSkuArr['spu'] = $spu; $dataPkSkuArr['sku'] = $value; OmAvailableModel::addTNameRow2arr($tName, $dataPkSkuArr); } //pc_archive_spu_link中插入数据 $tName = 'pc_archive_spu_link'; if (!empty($dataLink)) { $affectRowDelLnk = OmAvailableModel::deleteTNameRow($tName, $where); if ($affectRowDelLnk === false) { throw new Exception('delete pc_archive_spu_link error'); } foreach ($dataLink as $value) { if (!empty($value['linkUrl'])) { $insertIdLink = OmAvailableModel::addTNameRow2arr($tName, $value); if ($insertIdLink === false) { throw new Exception('add pc_archive_spu_link error'); } } } } //pc_archive_spu_property_value_relation中插入数据 $tName = 'pc_archive_spu_property_value_relation'; if (!empty($dataPro)) { $affectRowDelPro = OmAvailableModel::deleteTNameRow($tName, $where); if ($affectRowDelPro === false) { throw new Exception('delete pc_archive_spu_property_value_relation error'); } foreach ($dataPro as $value) { if (!empty($value['propertyValueId'])) { $insertIdPro = OmAvailableModel::addTNameRow2arr($tName, $value); if ($insertIdPro === false) { throw new Exception('add pc_archive_spu_property_value_relation error'); } } } } //pc_archive_spu_input_value_relation中插入数据 $tName = 'pc_archive_spu_input_value_relation'; if (!empty($dataInp)) { $affectRowDelInp = OmAvailableModel::deleteTNameRow($tName, $where); if ($affectRowDelInp === false) { throw new Exception('delete pc_archive_spu_input_value_relation error'); } foreach ($dataInp as $value) { if (trim($value['inputValue']) != '') { $insertIdPro = OmAvailableModel::addTNameRow2arr($tName, $value); if ($insertIdPro === false) { throw new Exception('add pc_archive_spu_property_value_relation error'); } } } } //添加尺寸测量项 $spuPPVrelationList = isExistForSpuPPV($spu, '尺码'); //先获取该spu下是否已经存在尺寸的属性值 if (!empty($spuPPVrelationList)) { //如果该spu下存在尺码属性值 foreach ($spuPPVrelationList as $valueRelation) { //循环遍历,将尺码下的属性值全部遍历出来,如S,M,X,XL等 $tName = 'pc_archive_input'; $select = '*'; $where = "WHERE textStatus=1 AND categoryPath IN ({$pathImplodeStr})"; $inputList = OmAvailableModel::getTNameList($tName, $select, $where); //根据$pid,获取该类别下的尺寸测量属性值,如胸围,腰围,衣长, foreach ($inputList as $valueInput) { $inputName = $valueInput['inputName']; //根据inputId获取对应名称 $PPVname = getPPVForPPVId($valueRelation['propertyValueId']); //根据ppvId获取对应的名称 $postNameValue = $_POST[$inputName . $PPVname] ? post_check(trim($_POST[$inputName . $PPVname])) : ''; //$inputName.$PPVname为前台传过来的对应值 //echo $postNameValue.'<br/>'; if (!empty($postNameValue) && !empty($inputName) && !empty($PPVname)) { //如果前端传过来的值不为空的话 $tName = 'pc_archive_spu_input_size_measure'; $where = "WHERE spu='{$spu}' and sizeName='{$PPVname}' and inputName='{$inputName}'"; $spuMeasureCount = OmAvailableModel::getTNameCount($tName, $where); if ($spuMeasureCount) { //记录存在的话,则修改 $set = "SET valued='{$postNameValue}'"; OmAvailableModel::updateTNameRow($tName, $set, $where); } else { //不存在则插入 $dataMeasure = array(); $dataMeasure['spu'] = $spu; $dataMeasure['sizeName'] = $PPVname; $dataMeasure['inputName'] = $inputName; $dataMeasure['valued'] = $postNameValue; $dataMeasure['addUserId'] = $_SESSION['userId']; $dataMeasure['addTime'] = time(); OmAvailableModel::addTNameRow2arr($tName, $dataMeasure); } } } } } BaseModel::commit(); BaseModel::autoCommit(); $status = "{$spu} 产品档案修改成功"; header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); $status = $e->getMessage(); header("Location:index.php?mod=autoCreateSpu&act=getSpuArchiveList&status={$status}&spu={$seach_spu}&spuStatus={$seach_spuStatus}&auditStatus={$seach_auditStatus}&purchaseId={$seach_purchaseId}&pid={$seach_pid}&isPPVRecord={$seach_isPPVRecord}&haveSizePPV={$seach_haveSizePPV}&isMeasureRecord={$seach_isMeasureRecord}&dept={$seach_dept}&page={$seach_page}&startdate={$seach_startdate}&enddate={$seach_enddate}"); } }