public function view_unAuditSkuConversion() { $skuConversionAct = new SkuConversionAct(); $skuConversionAct->act_unAuditSkuConversion(); $status = $skuConversionAct::$errMsg; header("Location:index.php?mod=goods&act=getSkuConversionList&status={$status}"); }
function act_updateSkuConversion() { $id = $_GET['id'] ? post_check(trim($_GET['id'])) : 0; $id = intval($id); $new_sku = $_GET['new_sku'] ? post_check(trim($_GET['new_sku'])) : ''; //new_sku $modifiedUserId = intval($_SESSION['userId']); $modifiedTime = time(); if ($modifiedUserId <= 0) { self::$errCode = '103'; self::$errMsg = "登陆超时,请重试"; return; } if ($id <= 0) { self::$errCode = '100'; self::$errMsg = "异常"; return; } if (empty($new_sku)) { self::$errCode = '101'; self::$errMsg = "新料号不能为空"; return; } if (!preg_match("/^[A-Z0-9]+(_[A-Z0-9]+)*\$/", $new_sku)) { self::$errCode = '100'; self::$errMsg = "新料号 {$new_sku} 格式不合法"; return; } if ($modifiedUserId <= 0) { self::$errCode = '103'; self::$errMsg = "登陆超时,请重试"; return; } $tName = 'pc_sku_conversion'; $select = 'new_sku'; $where = "WHERE id={$id} and is_delete=0"; $skuConNewSkuList = OmAvailableModel::getTNameList($tName, $select, $where); //在料号转换表中找到id所在记录的新料号new_sku $skuConNewSku = $skuConNewSkuList[0]['new_sku']; if (empty($skuConNewSku)) { self::$errCode = '104'; self::$errMsg = "记录的新料号不存在"; return; } if ($skuConNewSku == $new_sku) { self::$errCode = '111'; self::$errMsg = "修改前后料号相同,无修改"; return; } $tName = 'pc_goods'; $select = '*'; $where = "WHERE is_delete=0 AND sku='{$skuConNewSku}'"; $newSkuPcList = OmAvailableModel::getTNameList($tName, $select, $where); //在产品表里找是否存在未修改前的料号 $newSkuPc = $newSkuPcList[0]; //未修改前的料号信息 if (empty($newSkuPc)) { self::$errCode = '105'; self::$errMsg = "修改前的料号 {$skuConNewSku} 在产品列表中不存在"; return; } $newSkuPcSku = $newSkuPc['sku']; //$newSkuPcArr = array_filter(explode('_',$newSkuPc));//修改前的sku按照_来截取 // $newSpuPc = $newSkuPcArr[0];//取得新料号的SPU // $newSkuArr = array_filter(explode('_',$new_sku));//修改后的sku按照_来截取 // $newSpu = $newSkuArr[0];//取得新料号的SPU // if($newSpuPc != $newSpu){ // self::$errCode = '107'; // self::$errMsg = "修改前后的SPU不符,请检查"; // return; // } try { BaseModel::begin(); $tName = 'pc_sku_conversion'; $set = "SET new_sku='{$new_sku}',modifiedUserId='{$modifiedUserId}',modifiedTime='{$modifiedTime}'"; $where = "WHERE id={$id} and is_delete=0"; OmAvailableModel::updateTNameRow($tName, $set, $where); //先将转换记录修改 $tName = 'pc_goods'; $set = "SET goodsStatus=101,is_delete=1"; //将未修改前的sku状态改为 料号转化,并delete $where = "WHERE is_delete=0 and sku='{$newSkuPcSku}'"; OmAvailableModel::updateTNameRow($tName, $set, $where); $where = "WHERE is_delete=0 and sku='{$new_sku}'"; $newSkuCount = OmAvailableModel::getTNameCount($tName, $where); if ($newSkuCount) { //如果新料号在产品中已经存在,则只添加转换记录 self::$errCode = '200'; self::$errMsg = "修改转换记录成功,新料号:{$new_sku} 已经存在记录"; } else { //如果新料号在产品表中不存在,则自动添加旧料号的记录进去 unset($newSkuPc['id']); //去掉旧记录的id $newSkuPc['sku'] = $new_sku; //将旧的sku换成新的sku OmAvailableModel::addTNameRow2arr($tName, $newSkuPc); self::$errCode = '200'; self::$errMsg = "修改转换记录成功,新料号:{$new_sku} 记录已插入成功"; } //下面对关联单料号的组合料号进行修改 $tName = 'pc_sku_combine_relation'; $select = '*'; $where = "WHERE sku='{$newSkuPcSku}' group by combineSku"; $skuRelationList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($skuRelationList)) { self::$errMsg .= "<br/>其中,无关联组合料号被更新"; } else { $combineSkuArr = array(); foreach ($skuRelationList as $value) { $combineSkuArr[] = $value['combineSku']; } $combineSkuStr = implode(',', $combineSkuArr); $set = "SET sku='{$new_sku}'"; $where = "WHERE sku='{$newSkuPcSku}'"; $affectRows = OmAvailableModel::updateTNameRow($tName, $set, $where); self::$errMsg .= "<br/>"; self::$errMsg .= "其中,组合料号 {$combineSkuStr} 中共有 {$affectRows} 条单料号数据已更新"; } ////// BaseModel::commit(); BaseModel::autoCommit(); return; } catch (Exception $e) { BaseModel::rollback(); BaseModel::autoCommit(); self::$errCode = '404'; self::$errMsg = $e->getMessage(); return; } }