Esempio n. 1
0
 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;
     }
 }