Example #1
0
 function act_getPendingProductsList($select, $where)
 {
     $list = PendingProductsModel::getPendingProductsList($select, $where);
     if ($list) {
         return $list;
     } else {
         self::$errCode = PendingProductsModel::$errCode;
         self::$errMsg = PendingProductsModel::$errMsg;
         return false;
     }
 }
Example #2
0
 function act_operatePendingProducts()
 {
     //QC对待定列表中进行修改图片,正常回测,待退回(全部,不分部分)
     //$pendingId表示待定表中的记录ID,$status表示修改图片,正常回测或待退回
     try {
         $cTime1 = time() + microtime();
         $pendingId = isset($_GET['pendingId']) ? post_check($_GET['pendingId']) : '';
         $status = isset($_GET['status']) ? post_check($_GET['status']) : '';
         $tracktime = isset($_GET['tracktime']) ? post_check($_GET['tracktime']) : '';
         //echo $pendingId.'   '.$status;
         $select = '*';
         $where = "WHERE id='{$pendingId}'";
         $pendingProductsList = PendingProductsModel::getPendingProductsList($select, $where);
         if (empty($pendingProductsList)) {
             throw new Exception("error");
         }
         TransactionBaseModel::begin();
         $selectStatus = $pendingProductsList[0]['pendingStatus'];
         if ($selectStatus != 0 && $selectStatus != 2) {
             //如果该条待定记录中的状态不是0或2(待处理或者是图片修改完成时,报错)
             throw new Exception("error");
         }
         $startTime = $pendingProductsList[0]['startTime'];
         $pendingNum = $pendingProductsList[0]['pendingNum'];
         $pendingId = $pendingProductsList[0]['id'];
         $infoId = $pendingProductsList[0]['infoId'];
         // 			$spu = $pendingProductsList[0]['spu'];
         $sku = $pendingProductsList[0]['sku'];
         $now = time();
         if ($status == 1) {
             //修改图片
             $set = "SET pendingStatus='1',processedNum='{$pendingNum}',startTime='{$now}' ";
             //状态改为需要修改图片
             $where = "WHERE id='{$pendingId}'";
             PendingProductsModel::updatePendingProducts($set, $where);
             //先将该待定记录的相关字段修改
             //这里还要调用API在产品中心待修改列表中添加一条记录//
             //先略过,到时处理
         } elseif ($status == 2) {
             //正常回测
             $set = "SET pendingStatus='3',processedNum='{$pendingNum}',lastModified='{$now}' ";
             //状态改为已处理pendingStatus='3'
             if (empty($startTime)) {
                 //如果不是从修改完图片进行回测的话(即开始处理时间为空),要加上开始处理时间
                 $set .= ",startTime='{$now}' ";
             }
             $where = "WHERE id='{$pendingId}'";
             //echo $set;
             PendingProductsModel::updatePendingProducts($set, $where);
             //先将该待定记录的相关字段修改
             //这里还要在wh_sample_info中将$infoId这条记录的detectStatus状态改为1(待检测),pid=$pendingId
             $select = 'id';
             $where = "WHERE id='{$infoId}'";
             $whInfoList = PendingProductsModel::getWhInfo($select, "WHERE id='{$infoId}'");
             //取出wh_info表中关联pendingId的记录
             if (empty($whInfoList)) {
                 //如果该infoid在whInfo中找不到记录的话
                 throw new Exception("error infoId");
             }
             $set = "set detectStatus='1',pid='{$pendingId}' ";
             $affectRow = PendingProductsModel::updateWhInfo($set, $where);
             //更新原来的wh_info表中的该记录
             if ($affectRow != 1) {
                 //如果更新记录数不是唯一的,也报错
                 throw new Exception("update error");
             }
         } elseif ($status == 3) {
             //待退回
             $set = "SET pendingStatus='3',processedNum='{$pendingNum}',startTime='{$now}',lastModified='{$now}' ";
             $where = "WHERE id='{$pendingId}'";
             PendingProductsModel::updatePendingProducts($set, $where);
             //先将该待定记录的相关字段修改
             $note = '待定移至待退回';
             $set = "SET infoId='{$infoId}',sku='{$sku}',note='{$note}',returnNum='{$pendingNum}'";
             ReturnProductsModel::addReturnProducts($set);
             //在退回表中表中添加记录;
         } else {
             throw new Exception("error status");
         }
         TransactionBaseModel::commit();
         TransactionBaseModel::autoCommit();
         $cTime2 = time() + microtime();
         self::$errCode = $cTime2 . '    ' . $cTime1;
         self::$errMsg = 'Success';
         return 1;
     } catch (Exception $e) {
         TransactionBaseModel::rollback();
         $cTime2 = time() + microtime();
         self::$errCode = $cTime2 . '    ' . $cTime1;
         self::$errMsg = $e->getMessage();
         return 0;
     }
 }
Example #3
0
 function act_getSkuInfo()
 {
     global $memc_obj;
     $sku_name = '';
     $cate = '';
     $sku = $_POST['sku'];
     if (is_numeric($sku) && $sku > 1000000) {
         //此sku为goods_code
         $goods_codes = WhStandardModel::goods_codeTosku($sku);
         $sku = $goods_codes['sku'];
     }
     //读取数据库
     $categoryStr = "";
     //$time1 = time();
     //SKU信息API接口
     $OmAvailableApiAct = new OmAvailableApiAct();
     $skuInfo = $OmAvailableApiAct->act_getGoodsInfoBySku($sku);
     $skuInfo = $skuInfo['data'];
     //$skuInfo       = $memc_obj->get_extral('pc_goods_'.$sku);
     $reSku = $skuInfo['sku'];
     //接口返回SKU
     $reSpu = $skuInfo['spu'];
     //接口返回SKU
     $skuName = $skuInfo['goodsName'];
     //产品描述
     $purchaseId = $skuInfo['purchaseId'];
     //采购人ID
     $goodsCategory = $skuInfo['goodsCategory'];
     //SKU分类path
     $qcCategoryListAct = new qcCategoryListAct();
     $where = 'WHERE is_delete=0 and path= "' . $goodsCategory . '"';
     $categoryList = $qcCategoryListAct->act_getCategoryList('*', $where);
     $getCategoryArr = $qcCategoryListAct->act_getCategoryArr();
     //获取产品类别列表信息
     $sampleTypeListId = empty($categoryList) ? 1 : $categoryList[0]['sampleTypeId'];
     $qcStandard = new qcStandardAct();
     $skuTypeQcArrList = $qcStandard->act_skuTypeQcList('');
     $sampleTypeList = array();
     $categoryInfo_ids = array();
     $categoryInfo = array();
     foreach ($skuTypeQcArrList as $skuTypeQcArrListValue) {
         $categoryInfo[$skuTypeQcArrListValue['id']] = $skuTypeQcArrListValue['typeName'];
         $sampleTypeList[$skuTypeQcArrListValue['id']] = $skuTypeQcArrListValue['typeName'] . "  " . $skuTypeQcArrListValue['describe'];
     }
     $goodsCategoryNameArray = explode("-", $goodsCategory);
     $goodsCategoryName = array();
     foreach ($goodsCategoryNameArray as $cvalue) {
         $goodsCategoryName[] = $getCategoryArr[$cvalue];
     }
     $goodsCategoryNameStr = join('-', $goodsCategoryName);
     //$categoryInfo_ids = array_keys($categoryInfo_ids);
     //$categoryStr = $sampleTypeList[$sampleTypeListId];
     //$img_return = $OmAvailableApiAct->act_getAllPic($reSpu, 'F');//图片接口
     //var_dump($img_return); exit;
     $data = UserCacheModel::qccenterGetErpGoodscount($sku);
     $goods_count = $data['goods_count'];
     /*$goods_location = $data['goods_location'];
     		$cguser = $data['cguser'];*/
     //$categoryL     = explode('-',$goodsCategory);
     /*foreach($category as $c_key=>$categoryArr){
     			if(in_array($categoryL[0],$categoryArr)){
     				if($c_key == '1'){
     					//SKU分类信息API接口
     					$cate			  = 1;
     					$goodsCategorySt  = $memc_obj->get_extral('pc_goods_category_'.$goodsCategory);
     					$categoryStr      = "{$goodsCategorySt['name']}:功能检测";	
     					break;
     				}else if($c_key == '2'){
     					//SKU分类信息API接口
     					$cate			  = 2;
     					$goodsCategorySt  = $memc_obj->get_extral('pc_goods_category_'.$goodsCategory);
     					$categoryStr    = "{$goodsCategorySt['name']}:尺寸质量检测";
     					break;
     				}else if($c_key == '3'){
     					//SKU分类信息API接口
     					$cate			  = 3;
     					$goodsCategorySt  = $memc_obj->get_extral('pc_goods_category_'.$goodsCategory);
     					$categoryStr    = "{$goodsCategorySt['name']}:对图检测";
     					break;
     				}
     			}else{
     				continue;	
     			}
     		}*/
     $where = "where sku='{$sku}' and is_delete=0 and sellerId=1 and getUserId='{$_SESSION['sysUserId']}' and detectStatus=1 order by getTime asc limit 1";
     $list = WhStandardModel::getNowWhList("*", $where);
     $num = $list[0]['num'];
     $infoid = $list[0]['id'];
     $goods_location = $list[0]['location'];
     $cguser = UserModel::getUsernameById($list[0]['purchaseId']);
     //$goods_count     = 'TEST';
     $where2 = "where sampleTypeId='{$sampleTypeListId}' and minimumLimit<='{$num}' and maximumLimit>='{$num}' limit 1";
     $list2 = DetectStandardModel::getNowStandardList("*", $where2);
     //如果是正常回测,获取待定回测信息备注
     $pendingInfo = PendingProductsModel::getPendingProductsList('backNote', ' WHERE infoId=' . $infoid);
     if ($pendingInfo) {
         $backNote = $pendingInfo[0]['backNote'];
     }
     //$time2 = time();
     //echo ($time2-$time1);
     if ($list) {
         self::$errCode = "200";
         $info = array();
         $info['info'] = "{$reSku} {$skuName} <br> 产品分类: {$goodsCategoryNameStr} <br>【 来货 {$num} 个,现有库存 " . $goods_count . " 个,仓位:" . $goods_location . ",采购:{$cguser} 】";
         $info['category'] = $sampleTypeListId;
         $info['categoryInfo'] = $categoryInfo;
         $info['sku'] = $reSku;
         $info['spu'] = $reSpu;
         $info['num'] = $num;
         $info['infoid'] = $infoid;
         $info['cate'] = $list2;
         $info['images'] = $img_return['data']['Description'][0];
         $info['backNote'] = !empty($backNote) ? $backNote : '';
         return $info;
     } else {
         self::$errCode = "003";
         self::$errMsg = "未找到该料号[{$sku}]对于的{$_SESSION['userName']}领取记录!";
         return false;
     }
 }