function act_checkSkuNum() { $userId = $_SESSION['userId']; $show_mes = array(); $shipOrderGroup = $_POST['order_group']; $sku = trim($_POST['sku']); //$sku = getGoodsSn2($sku); $sku_num = $_POST['sku_num']; $group_id = $_POST['now_group_id']; $now_pname = $_POST['now_pname']; $sku_info = GroupDistributionBModel::getGroupDistListB("*", "where shipOrderGroup='{$shipOrderGroup}' and sku='{$sku}' and pName='{$now_pname}' and status=0"); $sku_onhand = GroupDistributionBModel::getSkuPositionStock("and c.sku='{$sku}' and b.pName='{$now_pname}' and a.storeId=2"); if (!is_numeric($sku_num) || $sku_num == 0) { self::$errCode = "003"; self::$errMsg = "出库数量必须为正整数,请确认!"; return false; } if ($sku_num > $sku_onhand[0]['nums']) { self::$errCode = "003"; self::$errMsg = "出库数量不能大于系统库存,请确认!"; return false; } if ($sku_num > $sku_info[0]['skuAmount']) { self::$errCode = "003"; self::$errMsg = "出库数量不能大于料号数量,请确认!"; return false; } $i_data = array('status' => 1, 'amount' => $sku_num); $inser_info = GroupDistributionBModel::update($i_data, "and shipOrderGroup='{$shipOrderGroup}' and sku='{$sku}' and pName='{$now_pname}'"); if ($inser_info) { $skuinfo = whShelfModel::selectSku(" where sku = '{$sku}'"); $position_info = OmAvailableModel::getTNameList("wh_position_distribution", "id", "where pName='{$now_pname}' and storeId=2"); $positionId = $position_info[0]['id']; $paraArr = array('ordersn' => $shipOrderGroup, 'sku' => $sku, 'amount' => $sku_num, 'purchaseId' => $skuinfo['purchaseId'], 'ioType' => 1, 'ioTypeId' => 2, 'userId' => $userId, 'reason' => '提货单配货出库', 'positionId' => $positionId, 'storeId' => 2); $WhIoRecordsAct = new WhIoRecordsAct(); $tt = $WhIoRecordsAct->act_addIoRecoresForWh($paraArr); //出库记录 $now_shipOrderId_info = GroupDistributionBModel::getGroupDistListB("shipOrderId", "where shipOrderGroup='{$shipOrderGroup}' and sku='{$sku}' and pName='{$now_pname}' and status=1"); $shipOrderId_arr = array(); $shipOrderId_arr = explode(',', $now_shipOrderId_info[0]['shipOrderId']); foreach ($shipOrderId_arr as $info) { $complete_sql = GroupDistributionBModel::getGroupDistListB("*", "where shipOrderGroup='{$shipOrderGroup}' and FIND_IN_SET({$info},shipOrderId) and status=0"); if (empty($complete_sql)) { //更新订单到待配货状态 GroupDistributionBModel::updateShipOrder(array('orderStatus' => 402), "and id='{$info}' and orderStatus=407"); //WhPushModel::pushOrderStatus($info,'STATESHIPPED_BEPICKING',$_SESSION['userId'],time()); //状态推送 } } } $status_sql = GroupDistributionBModel::getGroupDistListB("*", "where shipOrderGroup='{$shipOrderGroup}' and status=0"); if (empty($status_sql)) { self::$errCode = 1; self::$errMsg = "提货单出库完成,请扫描下一提货单1!"; return true; } else { $show_info = array(); $show_sql = GroupDistributionBModel::getGroupSkuInfoB("and a.shipOrderGroup='{$shipOrderGroup}' and a.status=0 and a.groupId>'{$group_id}' group by a.pName order by a.groupId asc"); if (!empty($show_sql)) { $order_sku_info = $this->get_valid_order($show_sql[0]['shipOrderGroup'], $show_sql[0]['sku'], $show_sql[0]['pName']); if ($order_sku_info) { $show_info['group_id'] = $show_sql[0]['groupId']; $show_info['sku'] = $show_sql[0]['sku']; $show_info['sku_amount'] = $show_sql[0]['skuAmount']; $show_info['goods_location'] = $show_sql[0]['pName']; } } if (empty($show_info)) { $show_info2 = array(); $show_sql = GroupDistributionBModel::getGroupSkuInfoB("and a.shipOrderGroup='{$shipOrderGroup}' and a.status=0 and a.groupId<'{$group_id}' group by a.pName order by a.groupId asc"); if (!empty($show_sql)) { $order_sku_info = $this->get_valid_order($show_sql[0]['shipOrderGroup'], $show_sql[0]['sku'], $show_sql[0]['pName']); if ($order_sku_info) { $show_info2['group_id'] = $show_sql[0]['groupId']; $show_info2['sku'] = $show_sql[0]['sku']; $show_info2['sku_amount'] = $show_sql[0]['skuAmount']; $show_info2['goods_location'] = $show_sql[0]['pName']; } } else { self::$errCode = 1; self::$errMsg = "提货单出库完成,请扫描下一提货单2!"; return true; } if (!empty($show_info2)) { $show_mes = $show_info2; } else { self::$errCode = 1; self::$errMsg = "提货单出库完成,请扫描下一提货单3!"; return true; } } else { $show_mes = $show_info; } self::$errMsg = "出库成功,请扫描下一个料号!"; return $show_mes; } }