コード例 #1
0
ファイル: packageCheck.action.php プロジェクト: ohjack/newErp
 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;
     }
 }
コード例 #2
0
ファイル: packageCheck.model.php プロジェクト: ohjack/newErp
 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;
 }
コード例 #3
0
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);
}