Merge remote-tracking branch 'origin/tzskasrs' into tzskasrs
| | |
| | | @ManagerAuth(memo = "初始化库位") |
| | | public R init(LocMastInitParam param) { |
| | | //清空原有库位 |
| | | agvLockMastService.clearLoc(); |
| | | //agvLockMastService.clearLoc(); |
| | | //初始化一楼站点 |
| | | //agvLockMastService.initLocFloor1(); |
| | | //初始化三楼站点 |
| | |
| | | Page<ManLocDetl> all = manLocDetlService.selectAllPage(manLocDetlPage); |
| | | return R.ok().add(all); |
| | | } |
| | | |
| | | /* |
| | | 平库移库 |
| | | */ |
| | | @RequestMapping("/node/move/start") |
| | | public R nodeMoveStart(@RequestParam String sourceLocNo, @RequestParam String targetLocNo){ |
| | | manLocDetlService.updateLocNo(targetLocNo,sourceLocNo); |
| | | return R.ok(); |
| | | } |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ |
| | | for (Map.Entry<String, Object> entry : map.entrySet()){ |
| | | String val = String.valueOf(entry.getValue()); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | response.getOutputStream().close(); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /* |
| | | 平库库区拣料信息 根据库位获取拣料信息,并且根绝库位做排序 |
| | | */ |
| | | @RequestMapping("/node/order/pakout") |
| | | public R nodeOrderPakout(@RequestParam String locType){ |
| | | return R.ok(manPakOutService.pakoutByLocType(locType)); |
| | | } |
| | | } |
| | |
| | | return R.ok().add(waitPakins); |
| | | } |
| | | |
| | | /* |
| | | 平库移库 |
| | | */ |
| | | @RequestMapping("/node/move/start") |
| | | public R nodeMoveStart(@RequestParam String sourceLocNo, @RequestParam String targetLocNo){ |
| | | |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | /* |
| | | 平库库区拣料信息 |
| | | */ |
| | | @RequestMapping("/node/order/pakout") |
| | | public R nodeOrderPakout(@RequestParam String locType){ |
| | | |
| | | |
| | | return R.ok(); |
| | | } |
| | | } |
| | |
| | | return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); |
| | | } |
| | | |
| | | public ManPakOut(){ |
| | | |
| | | } |
| | | |
| | | public ManPakOut(String locNo){ |
| | | this.setLocNo(locNo); |
| | | } |
| | | |
| | | } |
| | |
| | | //销售订单行号 |
| | | private String deadTime; |
| | | |
| | | public LocDetlAdjust(String matnr, String batch, Double count, String threeCode, String deadTime) { |
| | | //料箱码 |
| | | private String suppCode; |
| | | |
| | | public LocDetlAdjust(String matnr, String batch, Double count, String threeCode, String deadTime, String suppCode) { |
| | | this.matnr = matnr; |
| | | this.batch = batch; |
| | | this.count = count; |
| | | this.threeCode = threeCode; |
| | | this.deadTime = deadTime; |
| | | this.suppCode = suppCode; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | if (!exit) { |
| | | copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount(), adjust.getThreeCode(), adjust.getDeadTime())); |
| | | copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount(), adjust.getThreeCode(), adjust.getDeadTime(),adjust.getSuppCode())); |
| | | } |
| | | } |
| | | list = copyList; |
| | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.ManPakOut; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface ManPakOutService extends IService<ManPakOut> { |
| | | void updateAllStatus(String orderNo,int status); |
| | | |
| | | ManPakOut selectByOrderWithName(String orderNo); |
| | | |
| | | List<ManPakOut> selectByLocType(String locType); |
| | | |
| | | List<ManPakOut> pakoutByLocType(String locType); |
| | | |
| | | } |
| | |
| | | |
| | | public void initLocFloor3() { |
| | | //3楼 1-33排 1-14列 8层 ------> 1-33排 1-17列 8层 |
| | | this.insertBatch(getLocMastList(1, 33, 1, 17, 1, 8, 3)); |
| | | // this.insertBatch(getLocMastList(1, 33, 1, 17, 1, 8, 3)); |
| | | // |
| | | // //3楼 1-27排 15-34列 8层 ------> 1-26排 18-25列 8层 |
| | | // this.insertBatch(getLocMastList(1, 27, 18, 25, 1, 8, 3)); |
| | | // |
| | | // //3楼 1-25排 35-46列 8层 ------> 1-25排 26-35列 8层 |
| | | // this.insertBatch(getLocMastList(1, 25, 26, 35, 1, 8, 3)); |
| | | // |
| | | // //3楼 3-25排 47-60列 8层 ------> 1-23排 36-70列 8层 |
| | | // this.insertBatch(getLocMastList(1, 23, 36, 70, 1, 8, 3)); |
| | | |
| | | //3楼 1-27排 15-34列 8层 ------> 1-26排 18-25列 8层 |
| | | this.insertBatch(getLocMastList(1, 27, 18, 25, 1, 8, 3)); |
| | | |
| | | //3楼 1-25排 35-46列 8层 ------> 1-25排 26-35列 8层 |
| | | this.insertBatch(getLocMastList(1, 25, 26, 35, 1, 8, 3)); |
| | | |
| | | //3楼 3-25排 47-60列 8层 ------> 1-23排 36-70列 8层 |
| | | this.insertBatch(getLocMastList(1, 23, 36, 70, 1, 8, 3)); |
| | | |
| | | //3楼 4-25排 61-70列 8层 |
| | | //this.insertBatch(getLocMastList(4, 25, 61, 70, 1, 8, 3)); |
| | | //3楼 3-23排 71-72列 8层 |
| | | this.insertBatch(getLocMastList(3, 23, 71, 72, 1, 8, 3)); |
| | | |
| | | } |
| | | |
| | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 移动端服务核心类 |
| | |
| | | public List<AgvBasDevp> getAgvBasDevpByFloor(int floor) { |
| | | EntityWrapper<AgvBasDevp> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("floor",floor).eq("cache_shelves","Y").eq("loc_sts","F"); |
| | | return agvBasDevpService.selectList(wrapper); |
| | | List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(wrapper); |
| | | return agvBasDevpList.stream().filter(agvBasDevp -> { |
| | | return !Cools.isEmpty(agvWaitPakinService.selectByContainerCode(agvBasDevp.getBarcode())); |
| | | }).collect(Collectors.toList()); |
| | | } |
| | | |
| | | } |
| | |
| | | locDetl.setAppeTime(now); |
| | | locDetl.setThreeCode(adjust.getThreeCode()); |
| | | locDetl.setDeadTime(adjust.getDeadTime()); |
| | | locDetl.setSuppCode(adjust.getSuppCode()); |
| | | if (!agvLocDetlService.insert(locDetl)) { |
| | | throw new CoolException("添加" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码库存明细失败"); |
| | | } |
| | |
| | | agvTaskParam.setTaskPriority(agvWrkMast.getIoPri().intValue()); |
| | | |
| | | //AgvTaskkDescribeParam |
| | | agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); |
| | | if(agvWrkMast.getSourceLocNo().contains("C")){ |
| | | agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo()); |
| | | } |
| | | agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo()); |
| | | agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode()); |
| | | return agvTaskParam; |
| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.zy.asrs.entity.ManPakOut; |
| | | import com.zy.asrs.mapper.ManPakOutMapper; |
| | | import com.zy.asrs.service.ManPakOutService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Service("manPakOutService") |
| | | public class ManPakOutServiceImpl extends ServiceImpl<ManPakOutMapper, ManPakOut> implements ManPakOutService { |
| | |
| | | public ManPakOut selectByOrderWithName(String orderNo) { |
| | | return this.baseMapper.selectByOrderWithName(orderNo); |
| | | } |
| | | |
| | | @Override |
| | | public List<ManPakOut> selectByLocType(String locType) { |
| | | return this.selectList(new EntityWrapper<ManPakOut>().like("loc_no",locType).eq("status",1)); |
| | | } |
| | | |
| | | @Override |
| | | public List<ManPakOut> pakoutByLocType(String locType) { |
| | | List<ManPakOut> manPakOuts = this.selectByLocType(locType); |
| | | |
| | | manPakOuts.sort((m1,m2) -> { |
| | | //取库位编码最后6位得到排列层 |
| | | String locNo1 = m1.getLocNo().substring(m1.getLocNo().length()-6); |
| | | String locNo2 = m2.getLocNo().substring(m2.getLocNo().length()-6); |
| | | |
| | | int row1 = Integer.parseInt(locNo1.substring(0, 2)); |
| | | int row2 = Integer.parseInt(locNo2.substring(0, 2)); |
| | | int bay1 = Integer.parseInt(locNo1.substring(2,4)); |
| | | int bay2 = Integer.parseInt(locNo2.substring(2,4)); |
| | | |
| | | //每两排为一个起点,根据列来由近到远排序 |
| | | if((row1 + 1)/2 != (row2+1)/2){ |
| | | return row1 - row2; |
| | | }else { |
| | | return bay1 - bay2; |
| | | } |
| | | }); |
| | | |
| | | return manPakOuts; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | |
| | | String str = "DT-13C-010203"; |
| | | System.out.println(str.substring(str.length()-6)); |
| | | |
| | | List<ManPakOut> list = new ArrayList<>(); |
| | | list.add(new ManPakOut("DT-C-010403")); |
| | | list.add(new ManPakOut("DT-C-050203")); |
| | | list.add(new ManPakOut("DT-C-040503")); |
| | | list.add(new ManPakOut("DT-C-030203")); |
| | | list.add(new ManPakOut("DT-C-010503")); |
| | | list.add(new ManPakOut("DT-C-020103")); |
| | | list.add(new ManPakOut("DT-C-020203")); |
| | | list.add(new ManPakOut("DT-C-040103")); |
| | | |
| | | //Collections.sort(list); |
| | | |
| | | list.sort((m1,m2) ->{ |
| | | |
| | | //取库位编码最后6位得到排列层 |
| | | String locNo1 = m1.getLocNo().substring(m1.getLocNo().length()-6); |
| | | String locNo2 = m2.getLocNo().substring(m2.getLocNo().length()-6); |
| | | |
| | | int row1 = Integer.parseInt(locNo1.substring(0, 2)); |
| | | int row2 = Integer.parseInt(locNo2.substring(0, 2)); |
| | | int bay1 = Integer.parseInt(locNo1.substring(2,4)); |
| | | int bay2 = Integer.parseInt(locNo2.substring(2,4)); |
| | | |
| | | if((row1 + 1)/2 != (row2+1)/2){ |
| | | return row1 - row2; |
| | | }else { |
| | | return bay1 - bay2; |
| | | } |
| | | |
| | | }); |
| | | |
| | | list.forEach(manPakOut -> { |
| | | System.out.println(manPakOut); |
| | | }); |
| | | } |
| | | } |
| | |
| | | ,{field: 'batch', align: 'center',title: '序列码', edit: true, style: 'font-weight:bold'} |
| | | ,{field: 'threeCode', align: 'center',title: '销售订单号', edit: true, style: 'font-weight:bold'} |
| | | ,{field: 'deadTime', align: 'center',title: '销售订单行号', edit: true, style: 'font-weight:bold'} |
| | | ,{field: 'suppCode', align: 'center',title: '料箱码', edit: false, style: 'font-weight:bold'} |
| | | ,{field: 'suppCode', align: 'center',title: '料箱码', edit: true, style: 'font-weight:bold'} |
| | | ]; |
| | | arrRemove(detlCols, "field", "zpallet"); |
| | | arrRemove(detlCols, "field", "anfme"); |
| | |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary" lay-event="edit">修改</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary btn-modify" lay-event="edit" style="display: none">修改</a> |
| | | <button class="layui-btn layui-btn-xs btn-print" lay-event="btnPrint">打印</button> |
| | | </script> |
| | | |