public function view_waveinit() { $waveId = WhWaveInfoModel::number_decode($_POST['waveId']); //判断每个区域是否已配货完结 $list = WhWaveReceiveRecordModel::select("waveId='{$waveId}'"); if (!$list) { $result = array('status' => 'A00', 'msg' => '配货单收货记录不存在'); echo json_encode($result); exit; } else { $areas = array(); foreach ($list as $val) { if ($val['scanStatus'] < 2) { $areas[] = $val['area']; } } if ($areas) { $result = array('status' => 'A00', 'msg' => '部分区域未完成收货,暂不能执行分拣<br/>' . implode(', ', $areas)); echo json_encode($result); exit; } } //分配筒号(亮灯) $orderlist = WhWaveShippingRelationModel::select("waveId='{$waveId}' AND is_delete=0 order by shipOrderId asc"); $light = 1; $shipOrderPickData = array(); foreach ($orderlist as $val) { $data = array('pickLight' => $light, 'pickTime' => time(), 'pickUserId' => $_SESSION['userId']); WhWaveShippingRelationModel::update($data, $val['id']); //生成发货单投放记录表 $shipOrderPickData[] = array('waveId' => $waveId, 'shipOrderId' => $val['shipOrderId'], 'pickStatus' => 0, 'pickTime' => 0, 'pickUserId' => 0, 'is_delete' => 0); $light++; } //查看是否有此波次的发货单投放记录 $shipOrderPick = WhWaveShippingPickRecordModel::find(' waveId=' . $waveId); if (!$shipOrderPick) { WhWaveShippingPickRecordModel::insert($shipOrderPickData, true); } //生成分拣记录表 $pick = WhWavePickRecordModel::find("waveId='{$waveId}'"); if (!$pick) { $list = WhShippingOrderdetailModel::getShippingOrderSkuList($waveId); foreach ($list as $val) { $data = array('waveId' => $val['waveId'], 'shipOrderId' => $val['shipOrderId'], 'sku' => $val['sku'], 'skuAmount' => $val['amount'], 'amount' => 0, 'pickStatus' => 0, 'pickUserId' => 0, 'pickTime' => 0, 'deleteUserId' => '0', 'deleteTime' => '0', 'is_delete' => '0'); $picklist[] = $data; } WhWavePickRecordModel::insert($picklist, true); } //扫描配货单的时候,查看配货单是否已经配货完成 $shipOrderPicks = WhWaveShippingPickRecordModel::select(' waveId=' . $waveId . ' AND pickStatus = 0', '*'); $hasShippingPick = false; $message = '配货单筒号分配正常,可以执行分拣(当前流程是SKU分拣)'; if (count($shipOrderPicks) > 0) { $hasShippingPick = true; $message = '配货单筒号分配正常,可以执行分拣(当前流程是发货单投放)'; } $result = array('status' => 'A99', 'hasShippingPick' => $hasShippingPick, 'msg' => $message); echo json_encode($result); }