Example #1
0
 public static function insertOrderGroupB($data)
 {
     self::initDB();
     $sql = "INSERT INTO " . self::$table . "(sku,skuAmount,shipOrderId,shipOrderGroup,pName,todaySequence,user,createdTime) values{$data}";
     $query = self::$dbConn->query($sql);
     if ($query) {
         return true;
     } else {
         self::$errCode = "003";
         self::$errMsg = "error";
         return false;
     }
 }
Example #2
0
 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;
                 }
             }
         }
     }
 }