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; }
public function view_inboxSubmit() { $returnData = array('code' => 0, 'msg' => ''); if (empty($_SESSION['userId'])) { //未登陆 $returnData['msg'] = '登陆超时 请重新登陆!'; echo json_encode($returnData); exit; } $boxNum = isset($_GET['boxNumber']) ? intval($_GET['boxNumber']) : FALSE; if (empty($boxNum)) { $returnData['msg'] = '箱号格式错误!'; echo json_encode($returnData); exit; } $box_Obj = new BoxManageModel(); $result = $box_Obj->checkIfAnIdCanUse($boxNum); if (FALSE === $result) { $returnData['msg'] = BoxManageModel::$errMsg; echo json_encode($returnData); exit; } $dataStr = isset($_GET['data']) ? trim($_GET['data']) : ''; if (empty($dataStr)) { $returnData['msg'] = 'sku数据为空'; echo json_encode($returnData); exit; } $dataStr = trim($dataStr, "|"); $skuList = array(); $splisted = explode('|', $dataStr); foreach ($splisted as $item) { $split2 = explode('*', $item); $sku = isset($split2[0]) ? trim($split2[0]) : FALSE; $sku = get_goodsSn($sku); $num = isset($split2[1]) ? intval($split2[1]) : FALSE; if (FALSE === is_int($num)) { $num = FALSE; } if (FALSE === $sku || FALSE === $num) { $returnData['msg'] = 'sku装箱信息有不对,请重试!'; $returnData['sku'] = $sku; echo json_encode($returnData); exit; } $skuList[] = array('sku' => $sku, 'num' => $num); } $inbox_obj = new OwInBoxStockModel(); foreach ($skuList as $val) { //验证sku是否合法 $skuInfo = $inbox_obj->getInbocStockInfo($val['sku']); if (FALSE === $skuInfo) { //没有改sku的装箱库存信息 $returnData['msg'] = 'sku:' . $val['sku'] . '没有装箱库存信息!'; $returnData['sku'] = $val['sku']; echo json_encode($returnData); exit; } if ($val['num'] > $skuInfo['num']) { //装箱库存数量小于需需装箱的sku数量 $returnData['msg'] = 'sku:' . $val['sku'] . '装箱库存数量小于需装箱的sku数量!'; $returnData['sku'] = $val['sku']; echo json_encode($returnData); exit; } } $addResult = $inbox_obj->addNewSkuBox($boxNum, $skuList, $_SESSION['userId']); if (false === $addResult) { $returnData['msg'] = OwInBoxStockModel::$errMsg; $returnData['sku'] = ''; echo json_encode($returnData); exit; } else { $returnData['code'] = 1; echo json_encode($returnData); exit; } }