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; }
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; } }
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; } }