Example #1
0
 public function act_batchMove()
 {
     $type = $_REQUEST['type'];
     $ostatus = $_REQUEST['ostatus'];
     $otype = $_REQUEST['otype'];
     $valuestr = $_REQUEST['valuestr'];
     $sysUserId = $_SESSION['sysUserId'];
     //var_dump($valuestr); exit;
     $where = ' WHERE 1 ';
     if (!empty($valuestr)) {
         $idArr = explode(',', $valuestr);
         $where .= ' AND id in (' . join(',', $idArr) . ') ';
     }
     if ($ostatus) {
         $where .= ' AND orderStatus = ' . $ostatus;
     }
     if ($otype) {
         $where .= ' AND orderType = ' . $otype;
     }
     if (empty($ostatus) || empty($otype)) {
         self::$errCode = 500;
         self::$errMsg = "不能在状态或类别为ALL的状态下进行批量移动!";
         return false;
     }
     $accountacc = $_SESSION['accountacc'];
     //var_dump($accountacc);
     if ($accountacc) {
         $where .= ' AND (' . $accountacc . ') ';
     }
     $update_arr = array();
     BaseModel::begin();
     //开始事务
     if ($type == 1) {
         $ProductStatus = new ProductStatus();
         $UserCompetenceAct = new UserCompetenceAct();
         $batch_otype_val = $_REQUEST['batch_otype_val'];
         $batch_ostatus_val = $_REQUEST['batch_ostatus_val'];
         $visible_movefolder = $UserCompetenceAct->act_getInStatusIds($otype, $sysUserId);
         if ($batch_ostatus_val == 900) {
             self::$errCode = 400;
             self::$errMsg = "注意不能直接移动到 仓库发货 ,需要申请打印";
             return false;
         }
         if ($otype && !in_array($batch_otype_val, $visible_movefolder)) {
             self::$errCode = 500;
             self::$errMsg = "无权限从 {$otype} 移动到 {$batch_otype_val}";
             return false;
         }
         $update_arr['orderStatus'] = $batch_ostatus_val;
         $update_arr['orderType'] = $batch_otype_val;
         if ($ProductStatus->updateSkuStatusByOrderStatus($idArr, $batch_ostatus_val, $batch_otype_val)) {
             if ($ret = OrderModifyModel::batchMove($update_arr, $where)) {
             } else {
                 BaseModel::rollback();
             }
         } else {
             BaseModel::rollback();
         }
     } else {
         if ($type == 2) {
             $batch_transport_val = $_REQUEST['batch_transport_val'];
             $update_arr['transportId'] = $batch_transport_val;
             $ret = OrderModifyModel::batchMove($update_arr, $where);
         }
     }
     BaseModel::commit();
     BaseModel::autoCommit();
     self::$errCode = OrderModifyModel::$errCode;
     self::$errMsg = OrderModifyModel::$errMsg;
     /*if(!$ret){
     			return false;
     		}*/
     return $ret;
 }