| | |
| | | // 接口地址 |
| | | export const API_BASE_URL: string = 'http://127.0.0.1:9090/wcs'; |
| | | export const WEBSOCKET_BASE_URL: string = 'ws://127.0.0.1:9090/wcs'; |
| | | export const IP: string = 'localhost'; |
| | | export const PORT: number = 9090; |
| | | |
| | | export const API_BASE_URL: string = 'http://' + IP + ':' + PORT + '/wcs'; |
| | | export const WEBSOCKET_BASE_URL: string = 'ws://' + IP + ':' + PORT + '/wcs'; |
| | | |
| | | export const API_TIMEOUT: number = 60; |
| | | |
| | |
| | | '': '', |
| | | 'map.pallet.barcode': 'Pallet Barcode', |
| | | 'map.is.enable': 'Enable or Not', |
| | | 'map.loc.sts': 'Location Status', |
| | | 'map.loc.operation': 'Location Operation', |
| | | 'map.loc.lock': 'Lock', |
| | | 'map.loc.unlock': 'Unlock', |
| | |
| | | import * as Utils from '../../utils' |
| | | import Http from '@/utils/http'; |
| | | import ShelfThree from './shelfThree' |
| | | import BoolValueIcon from '@/components/BoolValueIcon'; |
| | | |
| | | const useStyles = createStyles(({ token, css }) => { |
| | | return { |
| | |
| | | } |
| | | } |
| | | |
| | | const fetchShelfInfo = async (locNo) => { |
| | | const res = await Http.doGet('/api/map/shelf/info', { locNo: locNo }); |
| | | const fetchShelfGroup = async (locNo) => { |
| | | const res = await Http.doGet('/api/map/shelf/group', { locNo: locNo }); |
| | | if (res?.data && shelfThree) { |
| | | shelfThree.generateMesh((loader, addObject) => { |
| | | const promises = []; |
| | |
| | | |
| | | const { data, curFloor, curLocNo, setCurLocNo } = props; |
| | | const [loading, setLoading] = React.useState(false); |
| | | const [info, setInfo] = React.useState(null); |
| | | |
| | | useEffect(() => { |
| | | // init curLocNo |
| | |
| | | shelfThree.handleClick = (objName) => { |
| | | setCurLocNo(objName); |
| | | }; |
| | | fetchShelfInfo(originLocNo); |
| | | fetchShelfGroup(originLocNo); |
| | | setLoading(false); |
| | | }, 300) |
| | | |
| | | return endThree; |
| | | }, [data]); |
| | | |
| | | useEffect(() => { |
| | | if (!curLocNo) { |
| | | return; |
| | | } |
| | | const fetchShelfInfo = async (locNo) => { |
| | | const res = await Http.doGet('/api/map/shelf/info', { locNo: locNo }); |
| | | if (res?.data) { |
| | | setInfo(res.data); |
| | | } |
| | | } |
| | | fetchShelfInfo(curLocNo); |
| | | }, [curLocNo]) |
| | | |
| | | return ( |
| | | <> |
| | |
| | | items={ |
| | | [ |
| | | { |
| | | key: '1', |
| | | label: intl.formatMessage({ id: 'map.loc.no', defaultMessage: '库位号' }), |
| | | children: curLocNo, |
| | | }, |
| | | { |
| | | key: '2', |
| | | label: intl.formatMessage({ id: 'map.loc.sts', defaultMessage: '库位状态' }), |
| | | children: info?.locSts, |
| | | }, |
| | | { |
| | | label: intl.formatMessage({ id: 'map.pallet.barcode', defaultMessage: '托盘条码' }), |
| | | children: '80000010', |
| | | children: info?.zpallet, |
| | | }, |
| | | { |
| | | key: '3', |
| | | label: intl.formatMessage({ id: 'map.is.enable', defaultMessage: '是否启用' }), |
| | | children: 'Disabled', |
| | | children: <BoolValueIcon value={info?.enable} />, |
| | | }, |
| | | { |
| | | key: '4', |
| | | label: intl.formatMessage({ id: 'map.loc.operation', defaultMessage: '库位操作' }), |
| | | children: ( |
| | | <> |
| | |
| | | |
| | | |
| | | // 货架 - 库位 -------------------------------------------------------- |
| | | @GetMapping("/shelf/group") |
| | | public R shelfGroup(@RequestParam String locNo) { |
| | | return R.ok().add(mapService.getShelfLocNoGroup(locNo)); |
| | | } |
| | | |
| | | @GetMapping("/shelf/info") |
| | | public R shelfInfo(@RequestParam String locNo) { |
| | | return R.ok().add(mapService.getShelfLocNoList(locNo)); |
| | | return R.ok().add(mapService.getShelfLocNoInfo(locNo)); |
| | | } |
| | | |
| | | // 穿梭车 -------------------------------------------------------- |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | public List<LocVo> getShelfLocNoList(String locNo) { |
| | | public List<LocVo> getShelfLocNoGroup(String locNo) { |
| | | List<LocVo> locVos = new ArrayList<>(); |
| | | int row = Utils.getRow(locNo); |
| | | int bay = Utils.getBay(locNo); |
| | |
| | | return locVos; |
| | | } |
| | | |
| | | public LocVo getShelfLocNoInfo(String locNo) { |
| | | LocVo locVo = new LocVo(); |
| | | locVo.setLocNo(locNo); |
| | | Loc loc = locService.selectByLocNo(locNo); |
| | | if (null == loc) { |
| | | return locVo; |
| | | } |
| | | locVo.setLocSts(loc.getLocStsFlag()); |
| | | locVo.setZpallet(loc.getZpallet()); |
| | | locVo.setEnable(CommonUtils.getStatusBool(loc.getStatus())); |
| | | return locVo; |
| | | } |
| | | |
| | | public ShuttleVo getShuttleInfo(String shuttleNo) { |
| | | ShuttleVo vo = new ShuttleVo(); |
| | | vo.setShuttleNo(shuttleNo); |
| | |
| | | |
| | | public interface LocService extends IService<Loc> { |
| | | |
| | | Loc selectByLocNo(String locNo); |
| | | |
| | | } |
| | |
| | | package com.zy.asrs.wcs.core.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.zy.asrs.framework.common.Cools; |
| | | import com.zy.asrs.wcs.core.mapper.LocMapper; |
| | | import com.zy.asrs.wcs.core.entity.Loc; |
| | | import com.zy.asrs.wcs.core.service.LocService; |
| | |
| | | @Service("locService") |
| | | public class LocServiceImpl extends ServiceImpl<LocMapper, Loc> implements LocService { |
| | | |
| | | @Override |
| | | public Loc selectByLocNo(String locNo) { |
| | | if (Cools.isEmpty(locNo)) { |
| | | return null; |
| | | } |
| | | return this.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, locNo)); |
| | | } |
| | | |
| | | } |