Пример #1
0
 function act_checkSkuPositon()
 {
     $sku = post_check(trim($_POST['sku']));
     $sku = get_goodsSn($sku);
     $location = post_check(trim($_POST['location']));
     $where = " where sku = '{$sku}'";
     $skuinfo = whShelfModel::selectSku($where);
     if (empty($skuinfo)) {
         self::$errCode = 401;
         self::$errMsg = "无该料号信息";
         return false;
     } else {
         $skuId = $skuinfo['id'];
     }
     $sku_positon_list = InvRecordModel::getSkuPosition($skuId, $location);
     if (empty($sku_positon_list)) {
         self::$errCode = 402;
         self::$errMsg = "料号和仓位信息有误";
         return false;
     } else {
         $sku_num = CommonModel::getGoodsCount($sku);
         self::$errMsg = "请输入盘点数量,选择盘点原因";
         return $sku_num;
     }
 }
Пример #2
0
 /**
  * WhGoodsAssignAct::process_sku()
  * 处理停售料号
  * @return
  */
 function process_sku($skus)
 {
     $log_file = 'clearSkuLocation/' . date('Y-m-d') . '.txt';
     $skus = array_filter($skus);
     //处理料号数组
     if (empty($skus)) {
         return FALSE;
     }
     $num_arr = array();
     //库存不为空料号
     $is_sale = array();
     //非停售料号
     $sucess = array();
     //清空成功料号
     $fail = array();
     //清空失败料号
     //print_r($skus);exit;
     foreach ($skus as $sku) {
         $goods_count = CommonModel::getGoodsCount($sku);
         //获取旧ERP库存
         if ($goods_count !== FALSE && $goods_count != 0) {
             //库存非零情况
             $num_arr[$sku] = $goods_count;
             continue;
         }
         $sku_info = packageCheckModel::selectSku($sku);
         //获取料号信息
         if (!in_array($sku_info[0]['goodsStatus'], array(2, 3))) {
             $is_sale[] = $sku;
             continue;
         }
         TransactionBaseModel::begin();
         //清空料号仓位
         $info = whShelfModel::clearSkuLocation($sku_info[0]['id']);
         $date = date('Y-m-d H:i:s');
         if ($info == TRUE) {
             $log_info = sprintf("料号:%s, 时间:%s, 信息:%s \r\n", $sku, $date, '新系统仓位清空成功');
             write_log($log_file, $log_info);
         } else {
             $log_info = sprintf("料号:%s, 时间:%s, 信息:%s \r\n", $sku, $date, '新系统仓位清空失败');
             write_log($log_file, $log_info);
             $fail[] = $sku;
             continue;
         }
         //同步清除老ERP仓位
         $info = CommonModel::clearSkuLocation($sku);
         //接口
         if ($info['errCode'] == 200) {
             $log_info = sprintf("料号:%s, 时间:%s, 信息:%s,返回值:%s \r\n", $sku, $date, '老ERP仓位清空成功', is_array($info) ? json_encode($info) : $info);
             write_log($log_file, $log_info);
             $sucess[] = $sku;
         } else {
             $log_info = sprintf("料号:%s, 时间:%s, 信息:%s,返回值:%s \r\n", $sku, $date, '老ERP仓位清空失败', is_array($info) ? json_encode($info) : $info);
             write_log($log_file, $log_info);
             $fail[] = $sku;
             TransactionBaseModel::rollback();
             continue;
         }
         TransactionBaseModel::commit();
     }
     return array('num_arr' => $num_arr, 'is_sale' => $is_sale, 'sucess' => $sucess, 'fail' => $fail);
 }