function act_groupGenerate() { $list_id = trim($_POST['print_list']); $order_all = array(); //获取所有请求生成提货单的配货单号 $list_info = OrderPrintListModel::getPrintList("*", "where id in({$list_id}) and storeId=2 and is_delete=0"); if ($list_info) { foreach ($list_info as $info) { $order_arr = array(); $order_arr = array_filter(explode(',', $info['orderIds'])); foreach ($order_arr as $orders) { $order_all[] = $orders; } } } if (empty($order_all)) { self::$errCode = "401"; self::$errMsg = "配货单为空,请确认"; return false; } if (!empty($order_all)) { $userName = $_SESSION['userName']; $create_time = strtotime(date("Y-m-d")); $time = time(); $sku_arr = array(); $status_info = GroupRouteBModel::getOrderGroupB("*", "where createdTime>'{$create_time}' and user='******' order by id desc limit 0,1"); //当天打印次数 if (empty($status_info)) { $sequence = 1; } else { $sequence = $status_info[0]['todaySequence'] + 1; } //获取当前最后一个提货单编号 $group_info = GroupRouteBModel::getOrderGroupB("*", "order by id desc limit 0,1"); if (empty($group_info)) { $num = 0; } else { $num = substr($group_info[0]['shipOrderGroup'], 3); } foreach ($order_all as $order) { $position_arr = GroupRouteModel::getOrderPositionID($order); foreach ($position_arr as $position) { if ($position['storeId'] == 2) { if (isset($sku_arr[$position['pName']][$position['sku']])) { $sku_arr[$position['pName']][$position['sku']]['amount'] = $sku_arr[$position['pName']][$position['sku']]['amount'] + $position['amount']; $sku_arr[$position['pName']][$position['sku']]['shipOrderId'] = $sku_arr[$position['pName']][$position['sku']]['shipOrderId'] . ',' . $position['shipOrderId']; } else { $sku_arr[$position['pName']][$position['sku']]['amount'] = $position['amount']; $sku_arr[$position['pName']][$position['sku']]['shipOrderId'] = $position['shipOrderId']; } } } } ksort($sku_arr); $group_num = $num + 1; $group_num = str_pad($group_num, 9, "0", STR_PAD_LEFT); $group_num = "BPH" . $group_num; $string = ""; foreach ($sku_arr as $position => $position_info) { foreach ($position_info as $sku => $sku_info) { $string .= "('" . $sku . "','" . $sku_info['amount'] . "','" . $sku_info['shipOrderId'] . "','" . $group_num . "','" . $position . "','" . $sequence . "','" . $userName . "','" . $time . "'),"; } } $string = trim($string, ","); if (empty($string)) { self::$errCode = "004"; self::$errMsg = "没有B仓料号"; return false; } $list_one = GroupRouteBModel::insertOrderGroupB($string); if ($list_one) { self::$errMsg = "提货单生成已完成,请打印!"; return true; } else { self::$errCode = "003"; self::$errMsg = "提货单生成失败,请联系it!"; return false; } } else { self::$errCode = "003"; self::$errMsg = "请选择打印列表"; return false; } }
function act_getGroupInfo() { $userId = $_SESSION['userId']; $shipOrderGroup = $_POST['order_group']; $group_sql = GroupRouteBModel::getOrderGroupB("*", "where shipOrderGroup='{$shipOrderGroup}'"); if (empty($group_sql)) { self::$errCode = "003"; self::$errMsg = "该提货单不存在,请重新输入!"; return false; } else { $scan_sql = GroupDistributionBModel::getGroupDistListB("shipOrderGroup", "where shipOrderGroup='{$shipOrderGroup}'"); if (empty($scan_sql)) { $string = ""; $time = time(); foreach ($group_sql as $info) { $string .= "('" . $info['shipOrderGroup'] . "','" . $info['sku'] . "','" . $info['id'] . "','" . $info['skuAmount'] . "','" . $info['shipOrderId'] . "','0','0','" . $info['pName'] . "','" . $userId . "','" . $time . "'),"; } $string = trim($string, ","); //插入配货提货单表 $insert_info = GroupDistributionBModel::insertGroupDistB($string); if ($insert_info) { $show_info = array(); $show_sql = GroupDistributionBModel::getGroupSkuInfoB("and a.shipOrderGroup='{$shipOrderGroup}' and a.status=0 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)) { self::$errCode = "003"; self::$errMsg = "该提货单不在等提货状态,请确认!"; return false; } else { self::$errMsg = "请扫描该配货提货单下的料号!"; return $show_info; } } else { self::$errCode = "003"; self::$errMsg = "订单料号初始化出错,请重试"; return false; } } else { $iscan = GroupDistributionBModel::getGroupDistListB("*", "where shipOrderGroup='{$shipOrderGroup}' and status=0"); if (empty($iscan)) { self::$errCode = "003"; self::$errMsg = "该单已扫描配货完成,请扫描其他单!"; return false; } else { //更新配货人 $data = array('userID' => $userId); GroupDistributionBModel::update($data, "and shipOrderGroup='{$shipOrderGroup}' and status=0"); //检查是否有出库过 $isout = GroupDistributionBModel::getGroupDistListB("*", "where shipOrderGroup='{$shipOrderGroup}' and status=1"); $show_info = array(); $show_sql = GroupDistributionBModel::getGroupSkuInfoB("and a.shipOrderGroup='{$shipOrderGroup}' and a.status=0 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)) { if (empty($isout)) { self::$errCode = "003"; self::$errMsg = "该提货单不在待提货状态,请确认!"; return false; } else { self::$errCode = "003"; self::$errMsg = "该单已扫描配货完成,请扫描其他单!"; return false; } } else { self::$errMsg = "请扫描该配货提货单下的料号!"; return $show_info; } } } } }