| | |
| | | } |
| | | } |
| | | |
| | | @PostMapping("/mat/v1") |
| | | public synchronized R syncMatInfoU8(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) MatSyncParam param, |
| | | HttpServletRequest request){ |
| | | auth(appkey, param, request); |
| | | if (Cools.isEmpty(param)) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | // 1 |
| | | System.out.println("======================================"); |
New file |
| | |
| | | package com.zy.asrs.entity.param; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | |
| | | /** |
| | | * 存货档案同步 u8 |
| | | */ |
| | | @Data |
| | | public class MatInfoParam { |
| | | |
| | | /* |
| | | 存货编码 |
| | | */ |
| | | private String cinvcode; |
| | | |
| | | /* |
| | | 存货名称 |
| | | */ |
| | | private String cinvname; |
| | | |
| | | /* |
| | | 规格型号 |
| | | */ |
| | | private String cInvStd; |
| | | |
| | | /* |
| | | 存货分类编码 |
| | | */ |
| | | private String cinvccode; |
| | | |
| | | /* |
| | | 存货分类名称 |
| | | */ |
| | | private String cInvCName; |
| | | |
| | | /* |
| | | 计量单位 |
| | | */ |
| | | private String cComUnitName; |
| | | |
| | | /* |
| | | 进项税 |
| | | */ |
| | | private double iImpTaxRate; |
| | | |
| | | /* |
| | | 销项税 |
| | | */ |
| | | private double iTaxRate; |
| | | |
| | | /* |
| | | 启用日期 |
| | | */ |
| | | private Date dSDate; |
| | | |
| | | /* |
| | | 建档人 |
| | | */ |
| | | private String cCreatePerson; |
| | | |
| | | /* |
| | | 建档日期 |
| | | */ |
| | | private Date dInvCreateDatetime; |
| | | |
| | | /* |
| | | 通用型号 |
| | | */ |
| | | private String cinvdefine4; |
| | | } |
| | |
| | | private AgvLocRuleService agvLocRuleService; |
| | | @Autowired |
| | | private AgvLocMastService agvLocMastService; |
| | | @Autowired |
| | | private MatService matService; |
| | | |
| | | public int getWorkNo(Integer wrkMk) { |
| | | AgvWrkLastno wrkLastno = agvWrkLastnoService.selectById(wrkMk); |
| | |
| | | //找到库位,返回dto |
| | | //return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto |
| | | } |
| | | |
| | | //根据物料频率搜索库位,频率高则搜索离缓存货架最近库位,频率低则搜索最远库位 |
| | | Mat mat = matService.selectByMatnr(agvWaitPakinList.get(0).getMatnr()); |
| | | if(true){ |
| | | |
| | | }else { |
| | | |
| | | } |
| | | |
| | | // |
| | | // // 靠近摆放规则 --- 空托 |
| | | // locMast = getLocNoStep4(staDescId, locTypeDto); |
| | |
| | | /* |
| | | 靠近摆放规则 |
| | | */ |
| | | |
| | | private AgvLocMast getLocByProximityRule(){ |
| | | //to do |
| | | return null; |
| | | } |
| | | |
| | | /* |
| | | 根据物料频率查找 |
| | | */ |
| | | private AgvLocMast getLocByFre(int fre, int floor){ |
| | | if(floor == 1){ |
| | | if(fre == 1){ |
| | | return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>() |
| | | .eq("floor",floor) |
| | | .eq("loc_sts","O") |
| | | .orderBy("bay1",false)); |
| | | }else{ |
| | | return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>() |
| | | .eq("floor",floor) |
| | | .eq("loc_sts","O") |
| | | .orderBy("bay1")); |
| | | } |
| | | } |
| | | if(floor == 3){ |
| | | if(fre == 1){ |
| | | return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>() |
| | | .eq("floor",floor) |
| | | .eq("loc_sts","O") |
| | | .orderBy("row1",false)); |
| | | }else{ |
| | | return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>() |
| | | .eq("floor",floor) |
| | | .eq("loc_sts","O") |
| | | .orderBy("row1")); |
| | | } |
| | | } |
| | | |
| | | throw new CoolException("搜索库位时,楼层出错。"); |
| | | } |
| | | |
| | | //随机取一个货位 |
| | | private AgvLocMast getLocNoRule(int floor){ |
| | | return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>() |
| | |
| | | //找到库位,返回dto |
| | | return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto |
| | | } |
| | | // 根据物料频率查询库位 |
| | | |
| | | |
| | | // 如果没有相近物料,则按规则轮询货架 |
| | | // 开始查找库位 ==============================>> |
| | |
| | | }) |
| | | continue |
| | | } |
| | | |
| | | if(j == 2 || j==5 || j==8 || j==11 || j==13 || j==16 || j== 18 || j== 21 || j== 24 || j== 27 || j== 29 || j== 32 || |
| | | j== 35 || j== 38 || j== 41 || j== 44 || j== 47 || j== 50){ |
| | | x.push({ |
| | | value: -1, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | continue |
| | | } |
| | | if(i==25 || i==58){ |
| | | x.push({ |
| | | value: -1, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | continue |
| | | } |
| | | |
| | | if((j == 1 || j==3) && i <= 24){ |
| | | x.push({ |
| | | value: -1, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | continue |
| | | } |
| | | |
| | | if(j == 4 && i <= 10){ |
| | | x.push({ |
| | | value: -1, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | continue |
| | | } |
| | | |
| | | if((j==40 || j== 42) && i <= 37){ |
| | | x.push({ |
| | | value: -1, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | continue |
| | | } |
| | | |
| | | if( j >= 43 && i <= 58){ |
| | | x.push({ |
| | | value: -1, |
| | | data: '', |
| | | top: 1000, |
| | | bottom: 1000, |
| | | left: 1000, |
| | | right: 1000, |
| | | x: i, |
| | | y: j |
| | | }) |
| | | continue |
| | | } |
| | | |
| | | |
| | | |
| | | // x.push(0) |
| | | x.push({ |
| | | value: 0, |