Beispiel #1
0
 public function act_postsku()
 {
     $sku = isset($_POST['sku']) ? trim($_POST['sku']) : "";
     $sku = get_goodsSn($sku);
     $position = isset($_POST['position']) ? trim($_POST['position']) : "";
     $num = isset($_POST['num']) ? trim($_POST['num']) : "";
     $num = intval($num);
     if (empty($position)) {
         self::$errCode = 502;
         self::$errMsg = "仓位不能为空";
         return false;
     }
     if ($num < 1) {
         self::$errCode = 502;
         self::$errMsg = "{$sku}出库数量{$num}有误!";
         return false;
     }
     $checkonhandle = wrapperSkuOutModel::selectstock($sku);
     if (empty($checkonhandle)) {
         self::$errCode = 502;
         self::$errMsg = "{$sku}材料未导入库存信息表!";
         return false;
     }
     $skuinfo = whShelfModel::selectSku(" where sku = '{$sku}'");
     if (empty($skuinfo)) {
         self::$errCode = 502;
         self::$errMsg = "{$sku}材料没信息!";
         return false;
     } else {
         $skuId = $skuinfo['id'];
         $purchaseId = $skuinfo['purchaseId'];
     }
     $positon_info = OmAvailableModel::getTNameList("wh_position_distribution", "id", "where pName='{$position}' and storeId in(1,2)");
     if (empty($positon_info)) {
         self::$errCode = 502;
         self::$errMsg = "无仓位号信息";
         return false;
     } else {
         $positionId = $positon_info[0]['id'];
     }
     $relation_info = OmAvailableModel::getTNameList("wh_product_position_relation", "id", "where pId='{$skuId}' and positionId='{$positionId}' and storeId in(1,2)");
     if (empty($relation_info)) {
         self::$errCode = 502;
         self::$errMsg = "包材和仓位不对应";
         return false;
     }
     $paraArr = array('ordersn' => date('YmdHis', time()), 'sku' => $sku, 'amount' => $num, 'purchaseId' => $purchaseId, 'ioType' => 1, 'ioTypeId' => 26, 'userId' => $_SESSION['userId'], 'reason' => '包材出库', 'positionId' => $positionId);
     $WhIoRecordsAct = new WhIoRecordsAct();
     $tt = $WhIoRecordsAct->act_addIoRecoresForWh($paraArr);
     //出库记录
     self::$errCode = 200;
     self::$errMsg = "{$sku}出库{$num}个成功!";
     return true;
 }
Beispiel #2
0
 public function view_export()
 {
     $exportXlsAct = new WhIoRecordsAct();
     $exportXlsAct->act_export();
 }
 public static function internalIoSellApproved($where)
 {
     self::initDB();
     self::$dbConn->begin();
     $ioInventory = array();
     $IoRecordArr = array();
     $sql = "UPDATE " . self::$table4 . " SET ioStatus = 2,endTime = " . time() . ",operatorId = " . $_SESSION['userId'] . " {$where}";
     $query = self::$dbConn->query($sql);
     if ($query) {
         //单据信息
         $sql1 = "select * from " . self::$table4 . " {$where}";
         $ret1 = self::$dbConn->fetch_first($sql1);
         if (empty($ret1)) {
             self::$dbConn->rollback();
             self::$errCode = "2222";
             self::$errMsg = "未找到单据信息";
             return false;
         }
         //单据明细
         $sql2 = "select * from " . self::$table5 . " WHERE iostoreId =" . $ret1['id'];
         $query2 = self::$dbConn->query($sql2);
         $ret2 = self::$dbConn->fetch_array_all($query2);
         if (empty($ret2)) {
             self::$dbConn->rollback();
             self::$errCode = "3333";
             self::$errMsg = "未找到单据SKU明细";
             return false;
         }
         //出入库记录、扣库存
         $WhIoRecordsAct = new WhIoRecordsAct();
         $is_ok = true;
         foreach ($ret2 as $ioArr) {
             //加减库存
             $ioInventory['sku'] = $ioArr['sku'];
             //sku
             //sku转换成 ID
             $skuIdSql = "select id from " . self::$table6 . " where sku = '" . $ioArr['sku'] . "' and is_delete != 1 limit 1";
             $skuIdSql = self::$dbConn->query($skuIdSql);
             $skuIdSql = self::$dbConn->fetch_array_all($skuIdSql);
             $ioInventory['pId'] = $skuIdSql[0]['id'];
             //skuID
             $ioInventory['positionId'] = $ioArr['positionId'];
             //仓位ID
             $ioInventory['amount'] = $ioArr['amount'];
             //数量
             $ioInventory['ioType'] = $ret1['ioType'];
             //出入库
             $ioInventory['storeId'] = 1;
             //仓库,默认为1
             $ioInventoryList = $WhIoRecordsAct->act_updateActualStock($ioInventory);
             //echo $ioInventoryList; exit;
             if ($ioInventoryList == 1) {
                 //出入库记录
                 $IoRecordArr['ordersn'] = $ret1['ordersn'];
                 //单据号
                 $IoRecordArr['sku'] = $ioArr['sku'];
                 //sku
                 $IoRecordArr['amount'] = $ioArr['amount'];
                 //数量
                 $IoRecordArr['purchaseId'] = $ioArr['purchaseId'];
                 //采购ID
                 $IoRecordArr['ioType'] = $ret1['ioType'];
                 //出入库
                 if ($ret1['invoiceTypeId'] == 1) {
                     //私人购买申请单
                     $IoRecordArr['ioTypeId'] = 7;
                     //出入库类型id
                     $IoRecordArr['reason'] = "私人购买申请单" . $ret1['note'];
                     //出库原因
                 } else {
                     if ($ret1['invoiceTypeId'] == 2) {
                         //私人购买退货单
                         $IoRecordArr['ioTypeId'] = 15;
                         $IoRecordArr['reason'] = "私人购买退货单" . $ret1['note'];
                         //出库原因
                     } else {
                         if ($ret1['invoiceTypeId'] == 3) {
                             //部门耗材申请单
                             $IoRecordArr['ioTypeId'] = 8;
                             $IoRecordArr['reason'] = "部门耗材申请单" . $ret1['note'];
                             //出库原因
                         } else {
                             if ($ret1['invoiceTypeId'] == 4) {
                                 //部门借用申请单
                                 $IoRecordArr['ioTypeId'] = 18;
                                 $IoRecordArr['reason'] = "部门借用申请单" . $ret1['note'];
                                 //出库原因
                             } else {
                                 if ($ret1['invoiceTypeId'] == 5) {
                                     //部门归还申请单
                                     $IoRecordArr['ioTypeId'] = 19;
                                     $IoRecordArr['reason'] = "部门归还申请单" . $ret1['note'];
                                     //出库原因
                                 } else {
                                     $IoRecordArr['ioTypeId'] = 0;
                                     $IoRecordArr['reason'] = "";
                                     //出库原因
                                 }
                             }
                         }
                     }
                 }
                 $IoRecordArr['userId'] = $ret1['operatorId'];
                 //审核人ID
                 $IoRecordArr['storeId'] = 1;
                 //仓库,默认为1
                 $IoRecordList = $WhIoRecordsAct->act_addOneIoRecoresForWh($IoRecordArr);
                 if ($IoRecordList != 1) {
                     self::$dbConn->rollback();
                     $is_ok = false;
                     return false;
                 }
             } else {
                 self::$dbConn->rollback();
                 return false;
             }
             if ($is_ok) {
                 self::$dbConn->commit();
                 return true;
             } else {
                 return false;
             }
         }
     } else {
         self::$dbConn->rollback();
         self::$errCode = "1111";
         self::$errMsg = "单据更新失败!";
         return false;
     }
 }
 function act_submitInfo()
 {
     $userId = $_SESSION['userId'];
     $show_mes = array();
     $shipOrderGroup = $_POST['order_group'];
     $sku = trim($_POST['sku']);
     $sku = get_goodsSn($sku);
     $submit_orders = trim($_POST['submit_orders'], ',');
     $submit_nums = trim($_POST['submit_nums'], ',');
     $group_id = $_POST['now_group_id'];
     $now_sku = trim($_POST['now_sku']);
     $now_sku = get_goodsSn($now_sku);
     $now_pname = $_POST['now_pname'];
     $orders_arr = explode(',', $submit_orders);
     $nums_arr = explode(',', $submit_nums);
     if ($sku != $now_sku) {
         $sku = $now_sku;
     }
     if ($sku != 'undefined') {
         foreach ($orders_arr as $key => $order) {
             $i_data = array('status' => 1, 'amount' => $nums_arr[$key]);
             $inser_info = GroupDistributionModel::update($i_data, "and shipOrderGroup='{$shipOrderGroup}' and sku='{$sku}' and shipOrderId='{$order}'");
             if ($inser_info) {
                 //outskunums2($sku,$nums_arr[$key],$order);         //出库记录
                 $position_info = OmAvailableModel::getTNameList("wh_position_distribution", "id", "where pName='{$now_pname}' and storeId=1");
                 $positionId = $position_info[0]['id'];
                 $skuinfo = whShelfModel::selectSku(" where sku = '{$sku}'");
                 $paraArr = array('ordersn' => $order, 'sku' => $sku, 'amount' => $nums_arr[$key], 'purchaseId' => $skuinfo['purchaseId'], 'ioType' => 1, 'ioTypeId' => 2, 'userId' => $userId, 'reason' => '清单配货出库', 'positionId' => $positionId);
                 $WhIoRecordsAct = new WhIoRecordsAct();
                 $WhIoRecordsAct->act_addIoRecoresForWh($paraArr);
                 //出库记录
                 $this->inser_scan_record_by_sku($order, $sku, $nums_arr[$key], $userId);
                 //插入扫描表
                 $complete_sql = GroupDistributionModel::getGroupDistList("*", "where shipOrderGroup='{$shipOrderGroup}' and shipOrderId='{$order}' and status=0");
                 if (empty($complete_sql)) {
                     //更新订单到复核状态
                     GroupDistributionModel::updateShipOrder(array('orderStatus' => 403), "and id='{$order}' and orderStatus=402");
                     WhPushModel::pushOrderStatus($order, 'STATESHIPPED_PENDREVIEW', $_SESSION['userId'], time());
                     //状态推送
                 }
             }
         }
     }
     $status_sql = GroupDistributionModel::getGroupDistList("*", "where shipOrderGroup='{$shipOrderGroup}' and status=0");
     if (empty($status_sql)) {
         self::$errCode = 1;
         self::$errMsg = "配货清单出库完成,请扫描下一清单1!";
         return true;
     } else {
         $show_info = array();
         $show_sql = GroupDistributionModel::getGroupSkuInfo("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)) {
             foreach ($show_sql as $show) {
                 $order_sku_info = $this->get_valid_order($show['shipOrderGroup'], $show['sku'], $show['pName']);
                 if ($order_sku_info['sku_amount'] != 0) {
                     $show_info['group_id'] = $show['groupId'];
                     $show_info['sku'] = $show['sku'];
                     $show_info['sku_amount'] = $order_sku_info['sku_amount'];
                     $show_info['goods_location'] = $show['pName'];
                     break;
                 }
             }
         }
         if (empty($show_info)) {
             $show_info2 = array();
             $show_sql = GroupDistributionModel::getGroupSkuInfo("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)) {
                 foreach ($show_sql as $show) {
                     $order_sku_info = $this->get_valid_order($show['shipOrderGroup'], $show['sku'], $show['pName']);
                     if ($order_sku_info['sku_amount'] != 0) {
                         $show_info2['group_id'] = $show['groupId'];
                         $show_info2['sku'] = $show['sku'];
                         $show_info2['sku_amount'] = $order_sku_info['sku_amount'];
                         $show_info2['goods_location'] = $show['pName'];
                         break;
                     }
                 }
             } 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;
     }
 }
Beispiel #5
0
 function act_updateActualStock($paraArr)
 {
     $sku = $paraArr['sku'];
     //sku
     $pId = $paraArr['pId'];
     //skuId
     $positionId = $paraArr['positionId'];
     //仓位ID
     $amount = $paraArr['amount'];
     //数量
     $ioType = $paraArr['ioType'];
     //出/入库,1为出库,2为入库
     $storeId = isset($paraArr['storeId']) ? intval($paraArr['storeId']) : 1;
     //仓库,默认为1
     if (empty($sku)) {
         self::$errCode = '0401';
         self::$errMsg = 'sku';
         return 0;
     }
     if (empty($amount)) {
         self::$errCode = '0501';
         self::$errMsg = 'empty amount';
         return 0;
     }
     if ($ioType != 1 && $ioType != 2) {
         self::$errCode = '1101';
         self::$errMsg = 'error ioType';
         return 0;
     }
     $tName = 'wh_sku_location';
     if ($ioType == 1) {
         $amount = -1 * $amount;
     } else {
         $amount = "+" . $amount;
     }
     $set = "SET actualStock=actualStock" . $amount;
     $where = "WHERE sku='{$sku}' AND storeId='{$storeId}'";
     $affectRow = WhIoRecordsModel::updateTNameRow($tName, $set, $where);
     if ($affectRow) {
         $tName2 = 'wh_product_position_relation';
         $set2 = "SET nums=nums" . $amount;
         $where2 = "WHERE pId='{$pId}' AND positionId='{$positionId}' LIMIT 1";
         $affectRow2 = WhIoRecordsModel::updateTNameRow($tName2, $set2, $where2);
         self::$errCode = '200';
         self::$errMsg = 'success';
         return 1;
     } else {
         self::$errCode = '404';
         //库存加减错误
         self::$errMsg = 'error';
         return 0;
     }
 }
 function act_checkSku()
 {
     $userId = $_SESSION['userId'];
     $starttime = time();
     $Msg = '';
     $res_data = array();
     $state_status = array(402);
     //准备状态
     $final_status = array(403);
     //配货完成状态
     $no_express_delivery = array('中国邮政平邮', '中国邮政挂号', '香港小包平邮', '香港小包挂号', '德国邮政', '新加坡邮政', 'EUB', 'Global Mail');
     $order_id = $_POST['ebay_id'];
     //先核对订单
     //兼容 EUB或者 包裹 扫描的是 trackno 而非ebayid
     $p_real_ebayid = '#^\\d+$#';
     $p_trackno_eub = '#^(LK|RA|RB|RC|RR|RF|LN)\\d+(CN|HK|DE200)$#';
     $is_eub_package_type = false;
     if (preg_match($p_real_ebayid, $order_id)) {
     } else {
         if (preg_match($p_trackno_eub, $order_id)) {
             $is_eub_package_type = true;
         } else {
             self::$errCode = "001";
             self::$errMsg = "订单号[" . $order_id . "]格式有误";
             return false;
         }
     }
     if ($is_eub_package_type === true) {
         $ordercheck = ShippingOrderModel::getShippingOrderInfo("b.*", "where a.tracknumber='{$order_id}' and a.is_delete=0");
     } else {
         $ordercheck = ShippingOrderModel::getShippingOrder("*", "where id='{$order_id}'");
     }
     if (empty($ordercheck)) {
         self::$errCode = '001';
         self::$errMsg = '未找到订单/跟踪号[' . $order_id . ']';
         return false;
     } else {
         $ebay_carrier = CommonModel::getShipingNameById($ordercheck[0]['transportId']);
         if (!in_array($ebay_carrier, $no_express_delivery)) {
             self::$errCode = '001';
             self::$errMsg = '请选择非快递订单!';
             return false;
         }
     }
     if ($ordercheck[0]['orderStatus'] == 900) {
         self::$errCode = '002';
         self::$errMsg = "该发货单[{$order_id}][已经废弃]!";
         return false;
     } else {
         if (in_array($ordercheck[0]['orderStatus'], $final_status)) {
             self::$errCode = '005';
             self::$errMsg = "该发货单已经扫描完成!";
             return false;
         }
     }
     if (!in_array($ordercheck[0]['orderStatus'], $state_status)) {
         self::$errCode = '002';
         self::$errMsg = "该发货单[{$order_id}][不在待配货]!";
         return false;
     }
     //配货单所有料号及数量
     $skuinfos = array();
     $key_skuinfos = array();
     $skuinfo = GroupRouteModel::getOrderPositionID($ordercheck[0]['id']);
     foreach ($skuinfo as $info) {
         //$s_key = $info['sku']."-".$info['pName'];
         $s_key = $info['id'];
         $skuinfos[$s_key] = $info['amount'];
         $key_skuinfo[$info['sku']] = $info['amount'];
     }
     //print_r($skuinfos);die;
     $eosr_arr2 = OrderPickingRecordsModel::getPickingRecords("*", "where shipOrderId={$ordercheck[0]['id']} and isScan=0 and is_delete=0");
     if (!$eosr_arr2) {
         self::$errCode = '005';
         self::$errMsg = "该发货单已经扫描完成!";
         return false;
     } else {
         if (count($eosr_arr2) <= count($skuinfos)) {
             //初次和二次配货
             $ebay_sku = trim($_POST['ebay_sku']);
             $ebay_sku = get_goodsSn($ebay_sku);
             $now_sku = trim($_POST['now_sku']);
             $now_pname = trim($_POST['now_pname']);
             $now_detailid = trim($_POST['now_detailid']);
             //$s_key 		  = $now_sku."-".$now_pname;
             $s_key = $now_detailid;
             $detail_info = OmAvailableModel::getTNameList("wh_shipping_orderdetail", "storeId,shipOrderId", "where id={$now_detailid}");
             $arr_eosr = OrderPickingRecordsModel::getPickingRecords("sku", "where shipOrderId={$ordercheck[0]['id']} and sku='{$ebay_sku}' and pName='{$now_pname}' and is_delete=0");
             $key_skuinfos = array_keys($key_skuinfo);
             if ($ebay_sku != $now_sku) {
                 self::$errCode = '011';
                 self::$errMsg = "记录料号与扫描料号不符1!" . $ebay_sku;
                 return $ebay_sku;
             }
             if (!empty($arr_eosr)) {
                 if (!in_array($ebay_sku, $key_skuinfos)) {
                     self::$errCode = '009';
                     self::$errMsg = "记录料号与扫描料号不符2!" . $ebay_sku;
                     return $ebay_sku;
                 } else {
                     if ($skuinfos[$s_key] < 1) {
                         self::$errCode = '021';
                         self::$errMsg = "料号数量小于1!({$key_skuinfos[0]})";
                         return $ebay_sku;
                     } else {
                         if ($skuinfos[$s_key] > 1) {
                             if (isset($_POST['pskunum'])) {
                                 if ($_POST['pskunum'] != $skuinfos[$s_key]) {
                                     self::$errCode = '022';
                                     self::$errMsg = "请输入正确的数量,不要配错数量{$_POST['pskunum']}-{$skuinfos[$s_key]}!";
                                     return $ebay_sku;
                                 }
                             } else {
                                 self::$errCode = '020';
                                 self::$errMsg = "多数量料号需要输入数量!";
                                 return $ebay_sku;
                             }
                         }
                     }
                 }
                 if ($arr_eosr[0]['isScan'] == 0) {
                     //$sku_stock = OrderPickingRecordsModel::getSkuStock("actualStock","where sku='$ebay_sku'");
                     $sku_stock = GroupRouteModel::getSkuPosition("where a.sku='{$ebay_sku}' and c.pName='{$now_pname}' and b.is_delete=0");
                     if ($detail_info[0]['storeId'] == 1) {
                         if (isset($sku_stock[0]['nums'])) {
                             if ($sku_stock[0]['nums'] >= $skuinfos[$s_key]) {
                                 $ssname = $order_id . "," . $ebay_sku;
                                 session_start();
                                 if (isset($_SESSION[$ssname]) && $_SESSION[$ssname] == "yes") {
                                     self::$errCode = '502';
                                     self::$errMsg = "数据同步中!请不要重复提交!";
                                     return false;
                                 }
                                 $u_data = array();
                                 $u_data = array('isScan' => 1, 'scanUserId' => $userId, 'amount' => $skuinfos[$s_key], 'scanTime' => time());
                                 OrderPickingRecordsModel::update($u_data, "and shipOrderId='{$ordercheck[0]['id']}' and sku='{$ebay_sku}' and pName='{$now_pname}' and is_delete=0");
                                 $position_info = OmAvailableModel::getTNameList("wh_position_distribution", "id", "where pName='{$now_pname}' and storeId=1");
                                 $positionId = $position_info[0]['id'];
                                 $skuinfo = whShelfModel::selectSku(" where sku = '{$ebay_sku}'");
                                 $paraArr = array('ordersn' => $ordercheck[0]['id'], 'sku' => $ebay_sku, 'amount' => $skuinfos[$s_key], 'purchaseId' => $skuinfo['purchaseId'], 'ioType' => 1, 'ioTypeId' => 2, 'userId' => $userId, 'reason' => '配货单配货出库', 'positionId' => $positionId);
                                 $WhIoRecordsAct = new WhIoRecordsAct();
                                 $WhIoRecordsAct->act_addIoRecoresForWh($paraArr);
                                 //出库记录
                                 self::$errCode = '300';
                                 $Msg = "实际料号出库扫描成功!" . $ebay_sku;
                                 $eosr_arr2 = OrderPickingRecordsModel::getPickingRecords("*", "where shipOrderId={$ordercheck[0]['id']} and isScan=0 and is_delete=0");
                                 if (!$eosr_arr2) {
                                     //更新订单到复核状态
                                     GroupDistributionModel::updateShipOrder(array('orderStatus' => 403), "and id='{$ordercheck[0]['id']}' and orderStatus=402");
                                     WhPushModel::pushOrderStatus($ordercheck[0]['id'], 'STATESHIPPED_PENDREVIEW', $_SESSION['userId'], time());
                                     //状态推送
                                     self::$errCode = '005';
                                     self::$errMsg = "该订单已经扫描完成!";
                                     return true;
                                 }
                             } else {
                                 self::$errCode = '007';
                                 $Msg = "所需数量大于库存,禁止出库!";
                             }
                         } else {
                             self::$errCode = '008';
                             $Msg = "该料号仓储信息有误!" . $ebay_sku;
                         }
                     } else {
                         $snapStock_info = OmAvailableModel::getTNameList("wh_order_review_records_b", "snapStock,id", "where FIND_IN_SET('{$detail_info[0]['shipOrderId']}',shipOrderId) and status=1 and sku='{$ebay_sku}' order by id desc limit 1");
                         if (empty($snapStock_info)) {
                             self::$errCode = '020';
                             self::$errMsg = "该B仓料号提货未复核";
                             return $ebay_sku;
                         } else {
                             if ($snapStock_info[0]['snapStock'] >= $skuinfos[$s_key]) {
                                 $u_data = array();
                                 $u_data = array('isScan' => 1, 'scanUserId' => $userId, 'amount' => $skuinfos[$s_key], 'scanTime' => time());
                                 OrderPickingRecordsModel::update($u_data, "and shipOrderId='{$ordercheck[0]['id']}' and sku='{$ebay_sku}' and pName='{$now_pname}' and is_delete=0");
                                 ReviewBModel::updateSnapStock($skuinfos[$s_key], $snapStock_info[0]['id']);
                                 self::$errCode = '300';
                                 $Msg = "实际料号出库扫描成功!" . $ebay_sku;
                                 $eosr_arr2 = OrderPickingRecordsModel::getPickingRecords("*", "where shipOrderId={$ordercheck[0]['id']} and isScan=0 and is_delete=0");
                                 if (!$eosr_arr2) {
                                     //更新订单到复核状态
                                     GroupDistributionModel::updateShipOrder(array('orderStatus' => 403), "and id='{$ordercheck[0]['id']}' and orderStatus=402");
                                     WhPushModel::pushOrderStatus($ordercheck[0]['id'], 'STATESHIPPED_PENDREVIEW', $_SESSION['userId'], time());
                                     //状态推送
                                     self::$errCode = '005';
                                     self::$errMsg = "该订单已经扫描完成!";
                                     return true;
                                 }
                             } else {
                                 self::$errCode = '013';
                                 $Msg = "B仓提货数量不够配货,请确认";
                             }
                         }
                     }
                     foreach ($eosr_arr2 as $value) {
                         $goods_sn = array();
                         $eg = GroupRouteModel::getSkuPosition("where a.sku='{$value['sku']}' and c.pName='{$value['pName']}' and b.is_delete=0");
                         $goods_sn['detailId'] = $value['shipOrderdetailId'];
                         $goods_sn['sku'] = $value['sku'];
                         $goods_sn['gl'] = $value['pName'];
                         $goods_sn['nums'] = $value['totalNums'];
                         $goods_sn['goods_count'] = $eg[0]['nums'];
                         $res_data['detail'][] = $goods_sn;
                     }
                     $gl_arr = array();
                     $s_arr = array();
                     foreach ($res_data['detail'] as $value) {
                         $s_arr[] = $value['sku'];
                         $gl_arr[] = $value['gl'];
                     }
                     array_multisort($gl_arr, $s_arr, $res_data['detail']);
                 } else {
                     self::$errCode = '010';
                     $Msg = "请不要重复扫描该订单下的料号!" . $ebay_sku;
                 }
             } else {
                 self::$errCode = '009';
                 $Msg = "记录料号与扫描料号不符!" . $ebay_sku;
             }
         } else {
             self::$errCode = '009';
             $Msg = "记录料号与扫描料号不符!";
         }
     }
     $difftime = time() - $starttime;
     self::$errMsg = $Msg . '--' . $difftime;
     return $res_data;
 }
 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;
     }
 }