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; } }
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; }
ini_set('memory_limit', '256M'); header("Content-type: text/html; charset=utf-8"); date_default_timezone_set('Asia/Shanghai'); //include "../framework.php"; if (!class_exists('Core')) { //Core类不存在,重新载入文件 $web_path = str_replace('crontab', '', __DIR__); //获取framework.php所在路径 include_once $web_path . 'framework.php'; } Core::getInstance(); $where = "where tallyStatus=0 and entryStatus=0 and is_delete = 0 group by sku order by id desc"; $query = 'select sku, sum(num) ichibanNums, sum(shelvesNums) shelvesNums from wh_tallying_list ' . $where; mysql_query('SET NAMES UTF8'); $query = $dbConn->query($query); $res = $dbConn->fetch_array_all($query); //点货记录中的sku集合 $log_file = 'updatePurchaseWaitNum/' . date('Y-m-d') . '.txt'; $date = date('Y-m-d H:i:s'); foreach ($res as $val) { $ichibanNums = intval($val['ichibanNums']); $shelvesNums = intval($val['shelvesNums']); $wait_shelf = intval($ichibanNums - $shelvesNums); $sku = $val['sku']; //var_dump($val);exit; /** 释放采购订单更新等待上架数量**/ $info = CommonModel::checkOnWaySkuNum($sku, $wait_shelf, 3); $msg = $info == 0 ? '更新等待上架数量成功!' : '更新等待上架数量失败!'; $log_info = sprintf("料号:%s, 时间:%s,信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, $msg, is_array($info) ? json_decode($info) : $info, $ichibanNums, $shelvesNums); write_log($log_file, $log_info); }