function act_opisitionManage() { $data = array(); $position_a = array(); $position_d = array(); $mark = true; $position = $_POST['position']; $x_alixs = $_POST['axis_x']; $y_alixs = $_POST['axis_y']; $floor = $_POST['floor']; $storeid = $_POST['storeid']; $storey = $_POST['storey']; $areaId = $_POST['areaId']; $position_a = explode('|', $position); foreach ($position_a as $po_a) { $position_d = explode(',', $po_a); $alixs = array_splice($position_d, -3); //print_r($position_d);exit; $where = array('x_alixs' => $x_alixs, 'y_alixs' => $y_alixs, 'z_alixs' => $alixs[0], 'storey' => $storey, 'areaId' => $areaId, 'storeId' => $storeid); $info = WhPositionDistributionModel::delete_data($where); //先清空该位置仓位信息 foreach ($position_d as $pname) { if (!empty($pname)) { $lists = PositionModel::getPositionList("*", "where pName='{$pname}' and storeId={$storeid}"); if (!empty($lists)) { $data = array('x_alixs' => $x_alixs, 'y_alixs' => $y_alixs, 'z_alixs' => $alixs[0], 'floor' => $floor, 'storeId' => $storeid, 'storey' => $storey, 'areaId' => $areaId, 'is_enable' => $alixs[1], 'type' => $alixs[2]); if (!WhPositionModel::update($data, "and id='{$lists[0]['id']}'")) { $mark = false; } } else { $list = WhPositionModel::getPositionList("*", "where pName='{$pname}' and x_alixs='{$x_alixs}' and y_alixs='{$y_alixs}' and z_alixs='{$position_d['1']}' and floor='{$floor}' and storeId={$storeid}"); if (!empty($list)) { $data = array('pName' => $pname, 'is_enable' => $alixs[1], 'type' => $alixs[2]); if (!WhPositionModel::update($data, "and id='{$list[0]['id']}'")) { $mark = false; } } else { if (!empty($pname)) { $data = array('pName' => $pname, 'x_alixs' => $x_alixs, 'y_alixs' => $y_alixs, 'z_alixs' => $alixs[0], 'floor' => $floor, 'storey' => $storey, 'areaId' => $areaId, 'is_enable' => $alixs[1], 'type' => $alixs[2], 'storeId' => $storeid); if (!WhPositionModel::insertRow($data)) { $mark = false; } } } } } } //$pname = trim($position_d[0]); } if ($mark) { return true; } else { self::$errCode = "003"; self::$errMsg = "更新失败,请重试!"; return false; } }
public function act_whShelf() { //print_r($_POST); $log_file = 'update_onhandle/' . date('Ymd') . '.txt'; //日志文件路径 $date = date('Y-m-d H:i:s'); $userCnName = $_SESSION['userCnName']; $sku = trim($_POST['sku']); $sku = get_goodsSn($sku); $nums = $_POST['nums']; $select_now_position = $_POST['select_now_position']; $select_now_store = $_POST['select_now_store']; $select_hope_position = $_POST['select_hope_position']; $select_hope_store = $_POST['select_hope_store']; $storeId = intval(trim($_POST['storeId'])); $storeId = $storeId ? $storeId : 1; if (empty($sku)) { self::$errCode = 401; self::$errMsg = "sku不能为空"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s \r\n", $sku, $date, self::$errMsg); write_log($log_file, $log_info); return false; } if (preg_match("/^MT\\d+\$/", $sku)) { self::$errCode = 402; self::$errMsg = "包材料号请在包材入库添加入库!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s \r\n", $sku, $date, self::$errMsg); write_log($log_file, $log_info); return false; } if (empty($select_now_position) && empty($select_now_store) && empty($select_hope_position) && empty($select_hope_store)) { self::$errCode = 401; self::$errMsg = "上架位置不能为空"; return false; } if ($nums < 1) { self::$errCode = 403; self::$errMsg = "上架数量不能小于1"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s \r\n", $sku, $date, self::$errMsg); write_log($log_file, $log_info); return false; } $where = "where sku='{$sku}' and tallyStatus=0 and entryStatus = 0 and is_delete = 0 and num >0 and ichibanNums>0"; $tallying_list = packageCheckModel::selectList($where); if (empty($tallying_list)) { self::$errCode = 402; self::$errMsg = "无该料号点货信息"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s \r\n", $sku, $date, self::$errMsg); write_log($log_file, $log_info); return false; } else { $tallying_num = 0; //良品总数减去上架总数 $total_num = 0; //点货总数减去上架总数 foreach ($tallying_list as $tallying) { $tallying_num += $tallying['ichibanNums'] - $tallying['shelvesNums']; $total_num += $tallying['num'] - $tallying['shelvesNums']; } if ($nums > $tallying_num) { self::$errCode = 402; self::$errMsg = "上架数不能大于点货良品数[{$tallying_num}]"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s \r\n", $sku, $date, self::$errMsg); write_log($log_file, $log_info); return false; } if ($nums > $total_num) { self::$errCode = 402; self::$errMsg = "上架数不能大于点货总数[{$total_num}]"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s \r\n", $sku, $date, self::$errMsg); write_log($log_file, $log_info); return false; } } $where = " where sku = '{$sku}'"; $skuinfo = whShelfModel::selectSku($where); if (empty($skuinfo)) { self::$errCode = 404; self::$errMsg = "无该料号信息"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s \r\n", $sku, $date, self::$errMsg); write_log($log_file, $log_info); return false; } else { $skuId = $skuinfo['id']; $purchaseId = $skuinfo['purchaseId']; } /** * 增加新品采购入库类型判断 *@author Gary(yym) * 2014-04-01 * start */ $is_new = self::judge_is_new($sku); $ioTypeId = $is_new === TRUE ? 33 : 13; //13为采购入库 33为新品采购入库 ,都是出入库类型表id /** end */ /** 检测该料号及数量是否已在临时表中存放**/ $temp_record = whShelfModel::getWhselfTempRecord($sku, $nums); if (empty($temp_record)) { //不存在失败记录 $key = md5($sku . $nums . time() . $_SESSION['userId']); //$waitNum = $nums;//CommonModel::checkOnWaySkuNum($sku); } else { $key = $temp_record['rand_key']; //$waitNum = $temp_record['num']; //日志 $log_info = sprintf("料号:%s, 时间:%s, 失败记录: %s \r\n", $sku, $date, json_encode($temp_record)); write_log($log_file, $log_info); } //$key = empty($temp_record) ? substr(md5($sku.$nums.time().$_SESSION['userId']), 0, 16) : $temp_record['rand_key']; //生成判断key值 /** end**/ /** 取消判断上架数量是否满足采购在途数量**/ /*if($nums > $waitNum){ self::$errCode = 405; self::$errMsg = "上架数不能大于订单在途数量"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s ,上架数量:%s, 在途数量:%s \r\n", $sku, $date, self::$errMsg, $nums, $waitNum); write_log($log_file, $log_info); return false; } $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s ,上架数量:%s,在途数量:%s \r\n", $sku, $date, '小于在途数量', $nums,$waitNum); */ $return_num = $nums; $in_positionId = 0; $userId = $_SESSION['userId']; TransactionBaseModel::begin(); /***无料号对应仓位的关系时更新关系表***/ if ($select_hope_store != 0 || $select_hope_position != 0) { $type = 1; $positionId = $select_hope_position; if ($select_hope_store != 0) { $type = 2; $positionId = $select_hope_store; } $in_positionId = $positionId; //$tname = "wh_product_position_relation"; // $set = "set pId='$skuId',positionId='$positionId',nums='$nums',type='$type'"; $insert_relation = whShelfModel::insertRelation($skuId, $positionId, $nums, $storeId, $type); if (!$insert_relation) { self::$errCode = 408; self::$errMsg = "插入关系表失败!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, self::$errMsg, $insert_relation, $tname, $set); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } write_log($log_file, date('Y-m-d H:i:s') . '插入关系表成功' . "{$sku}\r\n"); //更新仓位使用状态 $update_position = OmAvailableModel::updateTNameRow("wh_position_distribution", "set is_enable=1", "where id={$positionId}"); if ($update_position === false) { self::$errCode = 409; self::$errMsg = "更新仓位使用状态失败!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数: %s \r\n", $sku, $date, self::$errMsg, $update_position, $positionId); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } write_log($log_file, date('Y-m-d H:i:s') . '更新仓位使用状态成功!' . "{$sku}\r\n"); } //更新指定仓位存货数量 if ($select_now_store != 0) { $positioninfo = whShelfModel::selectRelation("where id={$select_now_store}"); $in_positionId = $positioninfo[0]['positionId']; $update_position = whShelfModel::updateProductPositionRelation($nums, "where id='{$select_now_store}'"); if (!$update_position) { self::$errCode = 410; self::$errMsg = "更新仓位库存失败!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, self::$errMsg, $update_position, $num, $select_now_store); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } write_log($log_file, date('Y-m-d H:i:s') . '更新仓位库存成功!' . "{$sku}\r\n"); } if ($select_now_store == 0 && $select_hope_position == 0 && $select_hope_store == 0) { $positioninfo = whShelfModel::selectRelation("where id={$select_now_position}"); $in_positionId = $positioninfo[0]['positionId']; $update_position = whShelfModel::updateProductPositionRelation($nums, "where id='{$select_now_position}'"); if (!$update_position) { self::$errCode = 411; self::$errMsg = "更新仓位库存失败!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, self::$errMsg, $update_position, $nums, $select_now_position); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } write_log($log_file, date('Y-m-d H:i:s') . '更新仓位库存成功!' . "{$sku}\r\n"); } /**** 更新总库存 *****/ $actualStock = whShelfModel::selectSkuNums($sku, $storeId); if (!empty($actualStock)) { $where = "where sku='{$sku}' and storeId={$storeId}"; $info = whShelfModel::updateStoreNum($nums, $where); if (!$info) { self::$errCode = 412; self::$errMsg = "更新总库存失败!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, self::$errMsg, $info, $nums, $where); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } write_log($log_file, date('Y-m-d H:i:s') . '更新总库存成功!' . "{$sku}\r\n"); } else { $info = whShelfModel::insertStore($sku, $nums, $storeId); if (!$info) { self::$errCode = 412; self::$errMsg = "更新总库存失败!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, self::$errMsg, $info, $sku, $nums); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } write_log($log_file, date('Y-m-d H:i:s') . '更新总库存成功!' . "{$sku}\r\n"); } /**** 插入出入库记录 *****/ $paraArr = array('sku' => $sku, 'amount' => $nums, 'positionId' => $in_positionId, 'purchaseId' => $purchaseId, 'ioType' => 2, 'ioTypeId' => $ioTypeId, 'userId' => $userId, 'reason' => '上架入库'); $record = CommonModel::addIoRecores($paraArr); //出库记录 if (!$record) { self::$errCode = 413; self::$errMsg = "插入出入库记录失败!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s \r\n", $sku, $date, self::$errMsg, $record, json_encode($paraArr)); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } write_log($log_file, date('Y-m-d H:i:s') . '插入入库记录成功!' . "{$sku}\r\n"); //更新点货记录状态 $where = "where sku='{$sku}' and tallyStatus=0 and ichibanNums>0 and is_delete=0 and num >0 and ichibanNums>0"; $list = packageCheckModel::selectList($where); $i = 0; while ($list[$i] && $nums) { $need_nums = $list[$i]['ichibanNums'] - $list[$i]['shelvesNums']; //良品数与上架数差值 $list_nums = $list[$i]['num'] - $list[$i]['shelvesNums']; //点货数与上架数差值 $need_nums = $list_nums > $need_nums ? $need_nums : $list_nums; if ($nums >= $need_nums) { //更改状态 $msg = whShelfModel::updateTallyStatus($list[$i]['id'], $need_nums); if (!$msg) { self::$errCode = 413; self::$errMsg = "更新点货记录状态失败!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, self::$errMsg, $msg, $list[$i]['id'], $need_nums); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } write_log($log_file, date('Y-m-d H:i:s') . '更新点货记录状态成功!' . "{$sku}\r\n"); $nums = $nums - $need_nums; } else { $msg = whShelfModel::updateShelfNum($list[$i]['id'], $nums); if (!$msg) { self::$errCode = 414; self::$errMsg = "更新点货记录已上架数量失败!"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, self::$errMsg, $msg, $list[$i]['id'], $nums); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } write_log($log_file, date('Y-m-d H:i:s') . '更新点货记录已上架数量成功!' . "{$sku}\r\n"); $nums = 0; } $i++; } $position_info = PositionModel::getPositionList("pName", "where id={$in_positionId}"); if (empty($position_info[0]['pName'])) { self::$errCode = 415; self::$errMsg = "上架仓位不能为空"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s \r\n", $sku, $date, self::$errMsg); write_log($log_file, $log_info); TransactionBaseModel::rollback(); return false; } $time = time(); //添加时间戳 $status = 1; //临时表数据状态 //更新旧erp库存 $update_onhand = CommonModel::updateOnhand($sku, $return_num, $userCnName, $position_info[0]['pName'], '', $time, $key); if ($update_onhand['errCode'] != 200) { self::$errCode = 415; self::$errMsg = "更新旧erp库存失败"; $status = 0; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s, %s, %s \r\n", $sku, $date, self::$errMsg, is_array($update_onhand) ? json_encode($update_onhand) : $update_onhand, $sku, $return_num, $userCnName, $position_info[0]['pName']); write_log($log_file, $log_info); TransactionBaseModel::rollback(); //将临时数据存入上架临时表中状态 whShelfModel::insertFailSku($sku, $return_num, $_SESSION['userId'], $status, $key); TransactionBaseModel::commit(); return false; } $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s, %s, %s \r\n", $sku, $date, '更新旧erp库存成功', is_array($update_onhand) ? json_encode($update_onhand) : $update_onhand, $sku, $return_num, $userCnName, $position_info[0]['pName']); write_log($log_file, $log_info); /** 完结采购订单**/ $purInfo = CommonModel::endPurchaseOrder($sku, $return_num, $time, $key); //api获取采购订单处理情况 if (!isset($purInfo['errorCode']) || $purInfo['errorCode'] != 0) { $status = 0; //临时表数据状态 self::$errCode = 405; self::$errMsg = "完结采购订单出错,上架失败"; $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, self::$errMsg, is_array($purInfo) ? json_encode($purInfo) : $purInfo, $sku, $return_num); write_log($log_file, $log_info); TransactionBaseModel::rollback(); //将临时数据存入上架临时表中状态 whShelfModel::insertFailSku($sku, $return_num, $_SESSION['userId'], $status, $key); TransactionBaseModel::commit(); return false; } $log_info = sprintf("料号:%s, 时间:%s,错误信息:%s,返回值:%s, 参数:%s, %s \r\n", $sku, $date, '完结采购订单成功', is_array($purInfo) ? json_encode($purInfo) : $purInfo, $sku, $return_num); write_log($log_file, $log_info); //将临时数据存入上架临时表中状态 //$where = array('sku'=>$sku, 'num'=>$return_num, 'rand_key'=>$key); if (!empty($temp_record)) { //有失败记录则更新临时表状态 $update = array('status' => 1); whShelfModel::updateFailSku($key, $update); } TransactionBaseModel::commit(); self::$errMsg = "料号[{$sku}]上架成功!"; return true; }
function act_updatePositionIndex() { set_time_limit(0); $x_aixs = 80; $y_aixs = 40; //$z_aixs = 100; //$z_step = 100; $floor = 1; $f_step = 1; //清空数据库 PositionModel::delPositonIndex("where storeId=1"); //8级,一列一通道 $x_step8 = 5; $y_step8 = 2; $i8 = 0; $g8 = 1; while ($i8 < $x_aixs) { $j = 0; while ($j <= $y_aixs) { $k = 0; while ($k <= $floor) { $where = "where x_alixs>={$i8} and x_alixs<" . ($i8 + $x_step8) . " and y_alixs<={$j} and y_alixs>" . ($j - $y_step8) . " and floor={$k} and storeId=1"; //$position_info = PositionModel::getPositionList("id","where x_alixs>='{$i8}' and x_alixs<'{($i8+$x_step8)}' and y_alixs>'{($j-$y_step8)}' and floor='{$k}'"); $position_info = PositionModel::getPositionList("id", $where); if (!empty($position_info)) { $data = array(); $position_id = ''; foreach ($position_info as $position) { $position_id .= ',' . $position['id']; } $position_id = trim($position_id, ','); //$position_id = $position_id."-".$j."-".$k."-".$floor."-".$where; $data = array('level' => 8, 'piece' => $g8, 'positionId' => $position_id); $insertid = PositionModel::insertPositonIndex($data); if ($insertid) { $g8 += 1; } } $k += $f_step; } $j += $y_step8; } $i8 += $x_step8; } //7级,一列两通道 $x_step7 = 5; $y_step7 = 4; $i7 = 0; $g7 = 1; while ($i7 < $x_aixs) { $j = 2; while ($j <= $y_aixs) { $k = 0; while ($k <= $floor) { $where = "where x_alixs>={$i7} and x_alixs<" . ($i7 + $x_step7) . " and y_alixs<={$j} and y_alixs>" . ($j - $y_step7) . " and floor={$k} and storeId=1"; //$position_info = PositionModel::getPositionList("id","where x_alixs>='{$i7}' and x_alixs<'{($i7+$x_step7)}' and y_alixs<='{$j}' and y_alixs>'{($j-$y_step7)}' and floor='{$k}'"); $position_info = PositionModel::getPositionList("id", $where); if (!empty($position_info)) { $data = array(); $position_id = ''; foreach ($position_info as $position) { $position_id .= ',' . $position['id']; } $position_id = trim($position_id, ','); $data = array('level' => 7, 'piece' => $g7, 'positionId' => $position_id); $insertid = PositionModel::insertPositonIndex($data); if (insertid) { $g7 += 1; } } $k += $f_step; } $j += $y_step7; } $i7 += $x_step7; } //6级,两列四通道 $x_step6 = 10; $y_step6 = 8; $i6 = 0; $g6 = 1; while ($i6 < $x_aixs) { $j = 6; while ($j <= $y_aixs) { $k = 0; while ($k <= $floor) { $where = "where x_alixs>={$i6} and x_alixs<" . ($i6 + $x_step6) . " and y_alixs<={$j} and y_alixs>" . ($j - $y_step6) . " and floor={$k} and storeId=1"; //$position_info = PositionModel::getPositionList("id","where x_alixs>='{$i6}' and x_alixs<'{($i6+$x_step6)}' and y_alixs<='{$j}' and y_alixs>'{($j-$y_step6)}' and floor='{$k}'"); $position_info = PositionModel::getPositionList("id", $where); if (!empty($position_info)) { $data = array(); $position_id = ''; foreach ($position_info as $position) { $position_id .= ',' . $position['id']; } $position_id = trim($position_id, ','); $data = array('level' => 6, 'piece' => $g6, 'positionId' => $position_id); $insertid = PositionModel::insertPositonIndex($data); if ($insertid) { $g6 += 1; } } $k += $f_step; } $j += $y_step6; } $i6 += $x_step6; } //5级,两列八通道 $x_step5 = 10; $y_step5 = 16; $i5 = 0; $g5 = 1; while ($i5 < $x_aixs) { $j = 14; while ($j <= $y_aixs) { $k = 0; while ($k <= $floor) { $where = "where x_alixs>={$i5} and x_alixs<" . ($i5 + $x_step5) . " and y_alixs<={$j} and y_alixs>" . ($j - $y_step5) . " and floor={$k} and storeId=1"; //$position_info = PositionModel::getPositionList("id","where x_alixs>='{$i5}' and x_alixs<'{($i5+$x_step5)}' and y_alixs<='{$j}' and y_alixs>'{($j-$y_step5)}' and floor='{$k}'"); $position_info = PositionModel::getPositionList("id", $where); if (!empty($position_info)) { $data = array(); $position_id = ''; foreach ($position_info as $position) { $position_id .= ',' . $position['id']; } $position_id = trim($position_id, ','); $data = array('level' => 5, 'piece' => $g5, 'positionId' => $position_id); $insertid = PositionModel::insertPositonIndex($data); if ($insertid) { $g5 += 1; } } $k += $f_step; } $j += $y_step5; } $i5 += $x_step5; } //4级,南北八通道(切半) $x_step4 = 40; $y_step4 = 16; $i4 = 0; $g4 = 1; while ($i4 < $x_aixs) { $j = 14; while ($j <= $y_aixs) { $k = 0; while ($k <= $floor) { $where = "where x_alixs>={$i4} and x_alixs<" . ($i4 + $x_step4) . " and y_alixs<={$j} and y_alixs>" . ($j - $y_step4) . " and floor={$k} and storeId=1"; //$position_info = PositionModel::getPositionList("id","where x_alixs>='{$i4}' and x_alixs<'{($i4+$x_step4)}' and y_alixs<='{$j}' and y_alixs>'{($j-$y_step4)}' and floor='{$k}'"); $position_info = PositionModel::getPositionList("id", $where); if (!empty($position_info)) { $data = array(); $position_id = ''; foreach ($position_info as $position) { $position_id .= ',' . $position['id']; } $position_id = trim($position_id, ','); $data = array('level' => 4, 'piece' => $g4, 'positionId' => $position_id); $insertid = PositionModel::insertPositonIndex($data); if ($insertid) { $g4 += 1; } } $k += $f_step; } $j += $y_step4; } $i4 += $x_step4; } //3级,南北区 $x_step3 = 40; $y_step3 = 40; $i3 = 0; $g3 = 1; while ($i3 < $x_aixs) { $j = 38; while ($j <= $y_aixs) { $k = 0; while ($k <= $floor) { $where = "where x_alixs>={$i3} and x_alixs<" . ($i3 + $x_step3) . " and y_alixs<={$j} and y_alixs>" . ($j - $y_step3) . " and floor={$k} and storeId=1"; //$position_info = PositionModel::getPositionList("id","where x_alixs>='{$i3}' and x_alixs<'{($i3+$x_step3)}' and y_alixs<='{$j}' and y_alixs>'{($j-$y_step3)}' and floor='{$k}'"); $position_info = PositionModel::getPositionList("id", $where); if (!empty($position_info)) { $data = array(); $position_id = ''; foreach ($position_info as $position) { $position_id .= ',' . $position['id']; } $position_id = trim($position_id, ','); $data = array('level' => 3, 'piece' => $g3, 'positionId' => $position_id); $insertid = PositionModel::insertPositonIndex($data); if ($insertid) { $g3 += 1; } } $k += $f_step; } $j += $y_step3; } $i3 += $x_step3; } //2级,二三楼 $g2 = 1; $k = 0; while ($k <= $floor) { $position_info = PositionModel::getPositionList("id", "where floor='{$k}' and storeId=1"); if (!empty($position_info)) { $data = array(); $position_id = ''; foreach ($position_info as $position) { $position_id .= ',' . $position['id']; } $position_id = trim($position_id, ','); $data = array('level' => 2, 'piece' => $g2, 'positionId' => $position_id); $insertid = PositionModel::insertPositonIndex($data); if ($insertid) { $g2 += 1; } } $k += $f_step; } return true; }