Ejemplo n.º 1
0
 public function view_unAuditSkuConversion()
 {
     $skuConversionAct = new SkuConversionAct();
     $skuConversionAct->act_unAuditSkuConversion();
     $status = $skuConversionAct::$errMsg;
     header("Location:index.php?mod=goods&act=getSkuConversionList&status={$status}");
 }
Ejemplo n.º 2
0
 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;
     }
 }