public function addBoxToaOrder($boxId, $orderid, $opuser) { $time = time(); $box_obj = new BoxManageModel(); $inBox_obj = new OwInBoxStockModel(); $skuDetail = $box_obj->getBoxSkuDetail($boxId); $this->dbConn->begin(); foreach ($skuDetail as $skuInfo) { $tmp = $skuInfo['num']; $inboxInfo = $inBox_obj->getInbocStockInfo($skuInfo['sku']); if (FALSE === $inboxInfo) { //该料号没有封箱库存信息 $this->dbConn->rollback(); self::$errMsg = $skuInfo['sku'] . "没有封箱库存信息!"; return FALSE; } if ($inboxInfo['num'] < $skuInfo['num']) { //如果封箱库存小于箱子中的库存数量 则会导致封箱库存不够扣 $this->dbConn->rollback(); self::$errMsg = $skuInfo['sku'] . "封箱库存小于发货数量!"; return FALSE; } $upsql = "update wh_inboxStock set num=num-{$tmp} where sku='{$skuInfo['sku']}'"; //扣除封箱库存 $upquery = $this->dbConn->query($upsql); if (FALSE === $upquery) { $this->dbConn->rollback(); self::$errMsg = $skuInfo['sku'] . "扣除封箱库存失败!"; return FALSE; } } $sql = "\n update wh_boxinuse set replenshId='{$orderid}', sendScanTime='{$time}', \n sendScanUser='******', status='3' where boxid='{$boxId}'\n "; $query = $this->dbConn->query($sql); if (FALSE === $query) { //更新状态失败 $this->dbConn->rollback(); self::$errMsg = '更新箱子状态失败!'; return FALSE; } $logSql = "\n insert into wh_boxOpLog (boxId, opcode, opuser, optime) values ('{$boxId}', 'send', '{$opuser}', '{$time}');\n "; $logquery = $this->dbConn->query($logSql); if (FALSE === $logquery) { //记录日志出错 $this->dbConn->rollback(); self::$errMsg = '记录日志出错!'; return FALSE; } $upd = "UPDATE wh_boxDetail SET stu = '2' WHERE boxId = '{$boxId}' AND is_delete = 0"; $rtnUpd = $this->dbConn->query($upd); if ($rtnUpd === FALSE) { $this->dbConn->rollback(); self::$errMsg = '更新装箱料号状态出错'; return FALSE; } $this->dbConn->commit(); return TRUE; }
/** * pda扫描退箱,包含整箱退和部分退 * add time:2014-05-07 * add name:wangminwei */ public function view_pdaReturnBox() { $boxId = isset($_GET['boxId']) ? $_GET['boxId'] : ''; $sku = isset($_GET['sku']) ? $_GET['sku'] : ''; $num = isset($_GET['num']) ? $_GET['num'] : ''; $ismark = $_GET['ismark']; $sku = get_goodsSn($sku); $boxObj = new OwInBoxStockModel(); $rtnCode = $boxObj->pdaCheckReturnBox($boxId, $sku, $num, $ismark); switch ($rtnCode) { case 'Null': $rtnData['code'] = '404'; $rtnData['msg'] = '箱号信息有误'; break; case 'noPass': $rtnData['code'] = '403'; $rtnData['msg'] = '箱子未发出,无需退箱'; break; case 'moreQty': $rtnData['code'] = '405'; $rtnData['msg'] = '退箱料号数量超过装箱料号数量'; break; case 'sameQty': $rtnData['code'] = '406'; $rtnData['msg'] = '退箱数量与装箱数量相同,请退整箱'; break; case 'failure': $rtnData['code'] = '407'; $rtnData['msg'] = '退箱失败'; break; case 'success': $rtnData['code'] = '200'; $rtnData['msg'] = '退箱成功'; break; default: $rtnData['code'] = '409'; $rtnData['msg'] = '数据有问题'; break; } $rtnData['sku'] = $sku; echo json_encode($rtnData); }
public function boxReview($sku, $num, $boxid, $user, &$isend) { $inboxSkuInfo = $this->getSkuInfoInBox($sku, $boxid); if (FALSE === $inboxSkuInfo) { self::$errMsg = '不存在的sku!'; return FALSE; } if ($inboxSkuInfo['num'] != $num) { //相等 复核成功 self::$errMsg = '复核数量不对!'; return FALSE; } $isend = $this->isLastSku($sku, $boxid); // var_dump($isend);exit; $this->dbConn->begin(); $sku = mysql_real_escape_string($sku); $time = time(); $insertReview = "insert into wh_boxReview (boxId, sku, number, time, opuser) values ('{$boxid}', '{$sku}', '{$num}', '{$time}', '{$user}')"; // echo $insertReview;exit; $insert_query = $this->dbConn->query($insertReview); if (FALSE === $insert_query) { $this->dbConn->rollback(); self::$errMsg = '写入复核记录失败!'; return FALSE; } if ($isend) { $updateSql = "update wh_boxinuse set status=2, reviewTime={$time}, reviewUser={$user} where boxid='{$boxid}'"; // echo $updateSql;exit; $updateQuery = $this->dbConn->query($updateSql); if (FALSE === $updateQuery) { //更新状态失败 回滚 $this->dbConn->rollback(); self::$errMsg = '更新订单状态回滚'; return FALSE; } } $this->dbConn->commit(); return TRUE; }