Beispiel #1
0
 public static function updatePrintGroup($tallyIdArr)
 {
     self::initDB();
     $log_file = 'print_label_record/' . date('Ymd') . '.txt';
     //日志文件
     $date = date('Y-m-d H:i:s');
     $userId = $_SESSION['userId'];
     $time = time();
     if (!is_array($tallyIdArr)) {
         return false;
     }
     $ids = implode(',', $tallyIdArr);
     OmAvailableModel::begin();
     /** 更新点货记录**/
     $update_tallying = "update wh_tallying_list set printerId={$userId},printTime={$time} where id in(" . $ids . ")";
     $update_tallying = self::$dbConn->query($update_tallying);
     if (!$update_tallying) {
         $log_info = sprintf("tallyinglistId:%s, 时间:%s, 信息:%s,返回值:%s, 参数:%s \r\n", $ids, $date, '更新点货信息打标时间失败', $update_tallying, "update wh_tallying_list set printerId={$userId},printTime={$time} where id in(" . $ids . ")");
         write_log($log_file, $log_info);
         OmAvailableModel::rollback();
         return false;
     }
     $log_info = sprintf("tallyinglistId:%s, 时间:%s, 信息:%s,返回值:%s, 参数:%s \r\n", $ids, $date, '更新点货信息打标时间成功', $update_tallying, "update wh_tallying_list set printerId={$userId},printTime={$time} where id in(" . $ids . ")");
     write_log($log_file, $log_info);
     /** 更新点货记录 end**/
     /** 更新打标记录**/
     //        $select_sql  = "select * from wh_print_group where tallyListId={$id} and is_delete=0 order by id desc limit 1";
     //		$select_info = self::$dbConn->fetch_first($select_sql);
     //		if(empty($select_info)){
     //            $log_info      = sprintf("tallyinglistId:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s \r\n", $id, $date, '打标信息不存在',
     //                                is_array($select_info) ? json_encode($select_info) : $select_info , $select_sql);
     //            write_log($log_file, $log_info);
     //			OmAvailableModel::rollback();
     //			return false;
     //		}
     $update_sql = "update wh_print_group set status=1 where tallyListId in ({$ids}) and is_delete=0";
     $update_print = self::$dbConn->query($update_sql);
     if (!$update_print) {
         $log_info = sprintf("tallyinglistId:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s \r\n", $id, $date, '更新打标记录失败', is_array($update_print) ? json_encode($update_print) : $update_print, $update_sql);
         write_log($log_file, $log_info);
         OmAvailableModel::rollback();
         return false;
     }
     $log_info = sprintf("tallyinglistId:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s \r\n", $id, $date, '更新打标记录成功', is_array($update_print) ? json_encode($update_print) : $update_print, $update_sql);
     write_log($log_file, $log_info);
     /** 更新打标记录 end**/
     /** 推送QC**/
     //foreach($tallyIdArr as $id){
     $push = WhPushModel::pushTallyingList($ids);
     $msg = $push ? '推送成功!' : '推送失败!';
     $log_info = sprintf("tallyinglistId:%s, 时间:%s,错误信息:%s,返回值:%s \r\n", $ids, $date, $msg, is_array($push) ? json_encode($push) : $push);
     write_log($log_file, $log_info);
     //}
     OmAvailableModel::commit();
     return true;
 }
Beispiel #2
0
 function act_allPass()
 {
     $userCnName = $_SESSION['userCnName'];
     $id_arr = $_POST['id'];
     $f_count = count($id_arr);
     $id = implode(',', $id_arr);
     $where = "where id in(" . $id . ") and auditStatus=0";
     $record_list = InvRecordModel::getInvRecordList("*", $where);
     $s_count = count($record_list);
     if ($f_count != $s_count) {
         self::$errCode = "401";
         self::$errMsg = "当前包含有不用审核的订单,请确认!";
         return false;
     }
     OmAvailableModel::begin();
     foreach ($record_list as $record) {
         $data = array();
         $id = $record['id'];
         $data = array('auditStatus' => 1);
         $Inv_info = InvRecordModel::getInvRecordList("*", "where id='{$id}'");
         $position_info = OmAvailableModel::getTNameList("wh_position_distribution", "id", "where pName='{$Inv_info[0]['location']}'");
         $skuinfo = whShelfModel::selectSku(" where sku='{$Inv_info[0]['sku']}'");
         $updatedata = InvRecordModel::update($data, "and id='{$id}'");
         if (!$updatedata) {
             self::$errCode = "402";
             self::$errMsg = "更新通过状态失败!";
             return false;
         }
         $tName = 'wh_product_position_relation';
         $set = "SET nums='{$Inv_info[0]['invNums']}'";
         $where = "WHERE pId='{$skuinfo['id']}' AND positionId='{$position_info[0]['id']}' AND is_delete=0 AND storeId=1";
         $affectRow = OmAvailableModel::updateTNameRow($tName, $set, $where);
         //库存变化
         if ($affectRow === false) {
             self::$errCode = "403";
             self::$errMsg = "更新具体仓位库存失败!";
             OmAvailableModel::rollback();
             return false;
         }
         $adjustNums = $Inv_info[0]['adjustNums'];
         if ($Inv_info[0]['invType'] == 2) {
             $adjustNums = "-" . $adjustNums;
         }
         $tName = 'wh_sku_location';
         $set = "SET actualStock=actualStock+'{$adjustNums}'";
         $where = "WHERE sku='{$Inv_info[0]['sku']}' AND storeId=1";
         $affectRow = WhIoRecordsModel::updateTNameRow($tName, $set, $where);
         //库存变化
         if ($affectRow === false) {
             self::$errCode = "404";
             self::$errMsg = "更新总库存失败!";
             OmAvailableModel::rollback();
             return false;
         }
         /**** 插入出入库记录 *****/
         if ($Inv_info[0]['invType'] == 2) {
             $ioType = 1;
             $ioTypeId = 11;
             $reason = '盘点出库';
         } else {
             $ioType = 2;
             $ioTypeId = 10;
             $reason = '盘点入库';
         }
         if ($adjustNums != 0) {
             $update_onhand = CommonModel::adjustInventory($Inv_info[0]['sku'], $adjustNums, $userCnName);
             if ($update_onhand == 0) {
                 self::$errCode = 415;
                 self::$errMsg = "更新旧erp库存失败";
                 OmAvailableModel::rollback();
                 return false;
             }
             $skuinfo = whShelfModel::selectSku(" where sku = '{$Inv_info[0]['sku']}'");
             $paraArr = array('sku' => $Inv_info[0]['sku'], 'amount' => abs($adjustNums), 'positionId' => $position_info[0]['id'], 'purchaseId' => $skuinfo['purchaseId'], 'ioType' => $ioType, 'ioTypeId' => $ioTypeId, 'userId' => $_SESSION['userId'], 'reason' => $reason);
             $record = CommonModel::addIoRecores($paraArr);
             //出库记录
             if (!$record) {
                 OmAvailableModel::rollback();
                 return false;
             }
         }
         //更新申请盘点表
         $waitInf = WaitInventoryModel::updateInv($Inv_info[0]['sku'], $_SESSION['userId']);
         if (!$waitInf) {
             self::$errCode = 414;
             self::$errMsg = "跟新申请盘点表失败!";
             TransactionBaseModel::rollback();
             return false;
         }
     }
     OmAvailableModel::commit();
     return true;
 }
Beispiel #3
0
 public static function deletRecord($id_arr, $type = 0)
 {
     self::initDB();
     if (!is_array($id_arr) || !is_numeric($type)) {
         return false;
     }
     OmAvailableModel::begin();
     foreach ($id_arr as $id) {
         $info = self::selectList("where id={$id}");
         $num = -$info[0]['num'];
         $sku = $info[0]['sku'];
         $update_tallying = "UPDATE wh_tallying_list SET is_delete=1 where id={$id}";
         $update_query = self::$dbConn->query($update_tallying);
         if (!$update_query) {
             OmAvailableModel::rollback();
             return false;
         }
         $update_store = self::updateStore($sku, $num);
         if (!$update_store) {
             OmAvailableModel::rollback();
             return false;
         }
         if ($type == 1) {
             $update_group = "UPDATE wh_print_group SET is_delete=1 where tallyListId={$id}";
             $query_group = self::$dbConn->query($update_group);
             if (!$query_group) {
                 OmAvailableModel::rollback();
                 return false;
             }
         }
         CommonModel::checkOnWaySkuNum($sku, $info[0]['num'], 2);
         //去掉采购系统hold住数量
     }
     OmAvailableModel::commit();
     return true;
 }
Beispiel #4
0
 function rollback()
 {
     OmAvailableModel::rollback();
 }
                    }
                }
                $detail_blag = false;
                foreach ($order_detail as $detail) {
                    $insert_detail_arr = array();
                    $insert_detail_arr[] = "shipOrderId = '{$shipOrderId}'";
                    $insert_detail_arr[] = "sku = '{$detail['sku']}'";
                    $insert_detail_arr[] = "amount = '{$detail['amount']}'";
                    $insert_detail_arr[] = "positionId = '{$detail['positionId']}'";
                    $insert_detail_arr[] = "pName = '{$detail['pName']}'";
                    $detail_tname = "wh_shipping_orderdetail";
                    $detail_set = "set " . implode(",", $insert_tracknumber_arr);
                    $detailId = OmAvailableModel::addTNameRow($detail_tname, $detail_set);
                    if (!$detailId) {
                        Log::write("INSERT INTO " . $detail_tname . $detail_set, Log::ERR);
                        OmAvailableModel::rollback();
                        $detail_blag = true;
                        break;
                    }
                }
                if ($detail_blag) {
                    continue;
                }
                OmAvailableModel::commit();
                $channel->basic_ack($msg->delivery_info['delivery_tag']);
            }
        }
    }
    $i++;
}
$channel->close();
 public function act_return()
 {
     $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : "";
     $userId = $_SESSION['userId'];
     //先核对订单
     //兼容 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, $orderid)) {
     } else {
         if (preg_match($p_trackno_eub, $orderid)) {
             $is_eub_package_type = true;
         } else {
             self::$errCode = 401;
             self::$errMsg = "订单号[" . $orderid . "]格式有误";
             return false;
         }
     }
     if ($is_eub_package_type === true) {
         $record = ShippingOrderModel::getShippingOrderInfo("b.*", "where a.tracknumber='{$orderid}' and a.is_delete=0");
     } else {
         $record = ShippingOrderModel::getShippingOrder("*", "where id='{$orderid}'");
     }
     //验证发货单号 以及所属状态
     if (!$record) {
         self::$errCode = 402;
         self::$errMsg = "发货单号不存在!";
         return false;
     }
     if ($record[0]['orderStatus'] != 501) {
         self::$errCode = 403;
         self::$errMsg = "此发货单不是已发货!";
         return false;
     }
     $order_detail = get_realskunum($record[0]['id']);
     $return_info = PostReturnModel::getReturnList("*", "where shipOrderId={$record[0]['id']}");
     if (empty($return_info)) {
         $data = array();
         $qc_arr = array();
         $time = time();
         OmAvailableModel::begin();
         foreach ($order_detail as $sku => $num) {
             $data['shipOrderId'] = $record[0]['id'];
             $data['sku'] = $sku;
             $data['amount'] = $num;
             $data['returnTime'] = $time;
             $insert_info = PostReturnModel::insertRow($data);
             if (!$insert_info) {
                 self::$errCode = 404;
                 self::$errMsg = "订单录入失败";
                 OmAvailableModel::rollback();
                 return false;
             }
             $qc_arr[$record[0]['id']][$sku] = $num;
         }
         $qcinfo = CommonModel::qcOrderBackDetect(json_encode($qc_arr));
         if (!$qcinfo) {
             self::$errCode = 405;
             self::$errMsg = "订单录入失败";
             OmAvailableModel::rollback();
             return false;
         }
         OmAvailableModel::commit();
         self::$errMsg = "订单录入成功";
     } else {
         self::$errCode = 406;
         self::$errMsg = "该订单已录入系统,请不要重复录入";
         return false;
     }
 }
Beispiel #7
0
 function act_removeRollback()
 {
     $userId = $_SESSION['userId'];
     $time = time();
     $shipOrderId = $_POST['order'];
     $sku = $_POST['sku'];
     $pName = $_POST['pname'];
     $scan_record = OmAvailableModel::getTNameList("wh_order_picking_records", "*", "where shipOrderId='{$shipOrderId}' and sku='{$sku}' and pName='{$pName}' and is_delete=0 ");
     if (empty($scan_record)) {
         self::$errCode = "401";
         self::$errMsg = "配货单号 {$shipOrderId} 其中料号 {$sku} 在仓位 {$pName} 的配货记录不存在!";
         return false;
     } else {
         OmAvailableModel::begin();
         $amount = $scan_record[0]['amount'];
         //配货数量
         $sql = "update ebay_order_scan_record set is_show = 1,canceltime='{$mctime}' where ebay_id = '{$ebay_id}' and sku = '{$ebay_sku}' and is_show = 0 ";
         $update_record = OmAvailableModel::updateTNameRow("wh_order_picking_records", "set cancelUserId='{$userId}',cancelTime='{$time}',is_delete=1", "where shipOrderId='{$shipOrderId}' and sku='{$sku}' and pName='{$pName}' and is_delete=0");
         if (!$update_record) {
             self::$errCode = "402";
             self::$errMsg = "配货单删除配货记录失败";
             return false;
         }
         $sku_info = OmAvailableModel::getTNameList("pc_goods", "id", "where sku='{$sku}' and is_delete=0");
         $position_info = OmAvailableModel::getTNameList("wh_position_distribution", "id", "where pName='{$pName}' and storeId=1");
         if (!$position_info || !$sku_info) {
             self::$errCode = "403";
             self::$errMsg = "配货单删除配货记录失败,找不到对应仓位id或者skuid";
             OmAvailableModel::rollback();
             return false;
         }
         $update_product_position = OmAvailableModel::updateTNameRow("wh_product_position_relation", "set nums=nums+'{$amount}'", "where pId={$sku_info[0]['id']} and positionId={$position_info[0]['id']}");
         if (!$update_product_position) {
             self::$errCode = "404";
             self::$errMsg = "配货单删除配货记录失败,更新仓位数量出错";
             OmAvailableModel::rollback();
             return false;
         }
         $update_sku_location = OmAvailableModel::updateTNameRow("wh_sku_location", "set actualStock=actualStock+'{$amount}'", "where sku='{$sku}' and storeId=1");
         if (!$update_sku_location) {
             self::$errCode = "405";
             self::$errMsg = "配货单删除配货记录失败,更新库存数量出错";
             OmAvailableModel::rollback();
             return false;
         }
         self::$errMsg = "配货单删除配货记录成功";
         OmAvailableModel::commit();
         return false;
     }
 }
Beispiel #8
0
 public function act_pdaAdjust()
 {
     $userCnName = $_SESSION['userCnName'];
     $userId = $_SESSION['userId'];
     $groupid = trim($_POST['groupid']);
     $num = intval(trim($_POST['num']));
     if ($num == 0) {
         self::$errCode = "401";
         self::$errMsg = "请输入正数";
         return false;
     }
     $list = packageCheckModel::getSKUByGroupId($groupid);
     if ($list) {
         OmAvailableModel::begin();
         $entryStatus = 0;
         $nums = -$num;
         $id = $list[0]['id'];
         $batchNum = $list[0]['batchNum'];
         $sku = $list[0]['sku'];
         $beforeNum = $list[0]['num'];
         $ichibanNums = $list[0]['ichibanNums'];
         $shelvesNums = $list[0]['shelvesNums'];
         $now_num = $beforeNum - $num;
         $u_num = -$num;
         /** 判断点货调整后数量是否为负数**/
         if ($now_num <= 0) {
             self::$errCode = 203;
             self::$errMsg = "调整后数量必须大于0!";
             return false;
         }
         /** 已上架情况下不许调整**/
         if ($shelvesNums) {
             self::$errCode = 203;
             self::$errMsg = "料号已有上架数,不能调整!";
             return false;
         }
         /** 判断有良品的情况下调整数量只能小于原先点货数量**/
         if ($ichibanNums && $now_num > $beforeNum) {
             self::$errCode = 203;
             self::$errMsg = "良品存在时,点货调整后数量必须小于原点货数量!";
             return false;
         }
         CommonModel::adjustPrintNum($batchNum, $nums);
         //去除qc数量
         if ($shelvesNums == 0) {
             //释放采购hold住数量
             $delCheckOnWaySku = CommonModel::checkOnWaySkuNum($sku, $beforeNum, 2);
             //验证sku在途数量是否足够
             $checkOnWaySku = CommonModel::checkOnWaySkuNum($sku, $now_num, 1);
             if ($checkOnWaySku == 0) {
                 $u_num = -$num;
             } else {
                 $entryStatus = 1;
                 $u_num = -$beforeNum;
             }
         }
         $updateinfo = packageCheckModel::updateRecord($id, $nums, $entryStatus);
         if (!$updateinfo) {
             self::$errCode = 203;
             self::$errMsg = "更新点货记录失败!";
             OmAvailableModel::rollback();
             return false;
         }
         $insertinfo = packageCheckModel::insertAdjustRecord($id, $nums, $beforeNum, $userId);
         if (!$insertinfo) {
             self::$errCode = 204;
             self::$errMsg = "插入点货调整记录失败!";
             OmAvailableModel::rollback();
             return false;
         }
         $updatestore = packageCheckModel::updateStore($sku, $u_num);
         if (!updatestore) {
             self::$errCode = 205;
             self::$errMsg = "更新总库存失败!";
             OmAvailableModel::rollback();
             return false;
         }
         if ($ichibanNums != 0 && $ichibanNums != NULL) {
             $updateIchibanNums = packageCheckModel::updateIchibanNums($nums, $id);
             if ($shelvesNums != 0) {
                 $updateshelvesNums = packageCheckModel::updateShelvesNums($nums, $sku, $id);
                 if (!$updateshelvesNums) {
                     self::$errCode = 206;
                     self::$errMsg = "更新上架库存失败!";
                     OmAvailableModel::rollback();
                     return false;
                 }
                 $update_onhand = CommonModel::adjustOut($sku, $nums, $userCnName);
                 if ($update_onhand == 0) {
                     self::$errCode = 206;
                     self::$errMsg = "更新旧erp库存失败";
                     OmAvailableModel::rollback();
                     return false;
                 }
             }
         }
         self::$errMsg = "调整成功";
         OmAvailableModel::commit();
         return true;
     } else {
         self::$errCode = "402";
         self::$errMsg = "该分组不存在";
         return false;
     }
 }
Beispiel #9
0
 public function act_markUnusual1()
 {
     $userId = $_SESSION['userId'];
     $orderids = isset($_POST['orderids']) ? $_POST['orderids'] : '';
     if (empty($orderids)) {
         self::$errCode = 0;
         self::$errMsg = '请选择发货单号!';
         return;
     }
     if (!is_numeric($orderids)) {
         $tracknumber = $orderids;
         $info = orderWeighingModel::selectOrderId($tracknumber);
         if (!$info) {
             self::$errCode = 501;
             self::$errMsg = "此跟踪号不存在!";
             return false;
         }
         $orderids = $info[0]['shipOrderId'];
     }
     $order_arr = explode(',', $orderids);
     OmAvailableModel::begin();
     $po_obj = new PackingOrderModel();
     $qresult = $po_obj->changeStatusToUnusual($orderids);
     if ($qresult) {
         foreach ($order_arr as $order) {
             $order_info = orderWeighingModel::selectOrderDetail($order);
             foreach ($order_info as $o_info) {
                 $data = array();
                 $sku_info = InvRecordModel::getSkuInfo($o_info['sku']);
                 $data = array('sku' => $o_info['sku'], 'applicantId' => $userId, 'applicantionTime' => time(), 'invReasonId' => 4, 'invStatus' => 0, 'systemNums' => $sku_info['actualStock']);
                 $insertid = WaitInventoryModel::insertRow($data);
                 if (!$insertid) {
                     self::$errCode = 0;
                     self::$errMsg = '标记异常发货单失败!';
                     OmAvailableModel::rollback();
                     return false;
                 }
             }
         }
         self::$errCode = 200;
         self::$errMsg = '标记异常发货单成功!';
         OmAvailableModel::commit();
         return true;
     } else {
         self::$errCode = 0;
         self::$errMsg = '标记异常发货单失败!';
         return false;
     }
 }
Beispiel #10
0
 /**
  * 订单系统通过接口更改仓库系统异常订单
  */
 public static function orderUnusual($orderId, $calcWeight)
 {
     self::initDB();
     //$sql   		   = "select shipOrderId from wh_shipping_order_relation where originOrderId='{$orderId}'";
     //$shipOrderInfo = self::$dbConn->fetch_first($sql);
     if (is_numeric($orderId)) {
         OmAvailableModel::begin();
         $del_arr = array();
         $id_str = '';
         $detail_info = self::getorderUnusualInfo($orderId);
         foreach ($detail_info['detail'] as $detail) {
             if (!empty($detail['combineSku'])) {
                 if ($detail_info['picking'][$detail['combineSku']] == 0) {
                     $del_arr[] = $detail['id'];
                 }
             } else {
                 if ($detail_info['picking'][$detail['sku']] == 0) {
                     $del_arr[] = $detail['id'];
                 }
             }
         }
         if (empty($del_arr)) {
             self::$errCode = "405";
             self::$errMsg = "该订单料号库存足够,不需拆分";
             OmAvailableModel::rollback();
             return false;
         }
         $id_str = implode(',', $del_arr);
         $time = time();
         $update_record_sql = "update wh_order_picking_records set is_delete=1,cancelTime={$time} where shipOrderdetailId in({$id_str})";
         $udate_query = self::$dbConn->query($update_record_sql);
         if ($udate_query) {
             $del_detail_sql = "delete from wh_shipping_orderdetail where id in({$id_str}) ";
             $del_query = self::$dbConn->query($del_detail_sql);
             if ($del_query) {
                 $update_status_sql = "update wh_shipping_order set orderStatus=403,calcWeight='{$calcWeight}' where id={$orderId}";
                 $status_query = self::$dbConn->query($update_status_sql);
                 if ($status_query) {
                     OmAvailableModel::commit();
                     return true;
                 } else {
                     self::$errCode = "404";
                     self::$errMsg = "仓库系统拆分失败";
                     OmAvailableModel::rollback();
                     return false;
                 }
             } else {
                 self::$errCode = "403";
                 self::$errMsg = "仓库系统拆分失败";
                 OmAvailableModel::rollback();
                 return false;
             }
         } else {
             self::$errCode = "402";
             self::$errMsg = "仓库系统拆分失败";
             return false;
         }
     } else {
         self::$errCode = "401";
         self::$errMsg = "发货单号有误";
         return false;
     }
 }