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; } }
/** * 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); }