| New file |
| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.core.common.Arith; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.AxisBean; |
| | | import com.zy.asrs.entity.LocChartPie; |
| | | import com.zy.asrs.entity.WorkChartAxis; |
| | | import com.zy.asrs.mapper.ReportQueryMapper; |
| | | import com.zy.common.model.MatDto; |
| | | import com.zy.common.model.command.LedCommand; |
| | | import com.zy.common.service.CommonService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | | @RequestMapping("/monitor") |
| | | public class MonitorController { |
| | | |
| | | private static final String[] WEEK = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; |
| | | |
| | | |
| | | @Autowired |
| | | private ReportQueryMapper reportQueryMapper; |
| | | |
| | | /** |
| | | * 获取当前时间 |
| | | */ |
| | | @GetMapping("/date") |
| | | public R monitorDate() { |
| | | Date now = new Date(); |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(now); |
| | | return R.ok( |
| | | Cools.add("year", calendar.get(Calendar.YEAR)) |
| | | .add("month", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MONTH)+1), 2)) |
| | | .add("day", CommonService.zerofill(String.valueOf(calendar.get(Calendar.DATE)), 2)) |
| | | .add("hour", CommonService.zerofill(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)), 2)) |
| | | .add("minute", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MINUTE)), 2)) |
| | | .add("second", CommonService.zerofill(String.valueOf(calendar.get(Calendar.SECOND)) , 2)) |
| | | .add("week", WEEK[calendar.get(Calendar.DAY_OF_WEEK)-1]) |
| | | ); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 入库报表 -- 折线图 |
| | | */ |
| | | @GetMapping("/pakin/rep") |
| | | public R monitorPakinRep(){ |
| | | // 入库 |
| | | List<Map<String, Object>> pakinRep = reportQueryMapper.queryPakinRep(); |
| | | for (Map<String, Object> map : pakinRep) { |
| | | if (map.get("node")!=null) { |
| | | map.put("node", String.valueOf(map.get("node")).substring(5, 10)); |
| | | } |
| | | } |
| | | // 出库 |
| | | List<Map<String, Object>> pakoutRep = reportQueryMapper.queryPakinRep(); |
| | | return R.ok(pakinRep); |
| | | } |
| | | |
| | | @GetMapping("/line/charts") |
| | | public R locIoLineCharts(){ |
| | | Map<String,Object> map=new HashMap<String, Object>(); |
| | | List<AxisBean> list = new ArrayList<AxisBean>(); |
| | | |
| | | List<WorkChartAxis> listChart = reportQueryMapper.getChartAxis(); |
| | | |
| | | if(listChart!=null) { |
| | | ArrayList<Integer> data1 = new ArrayList<Integer>(); |
| | | ArrayList<Integer> data2 = new ArrayList<Integer>(); |
| | | |
| | | SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.add(Calendar.DATE, -12); |
| | | for(int i=0;i<12;i++) { |
| | | boolean flag = true; |
| | | calendar.add(Calendar.DATE, 1); |
| | | String str = sf.format(calendar.getTime()); |
| | | for(WorkChartAxis workChart : listChart) { |
| | | if(str.equals(workChart.getYmd())) { |
| | | data1.add(workChart.getInqty()); |
| | | data2.add(workChart.getOutqty()); |
| | | flag = false; |
| | | break; |
| | | } |
| | | } |
| | | if(flag) { |
| | | data1.add(0); |
| | | data2.add(0); |
| | | } |
| | | } |
| | | AxisBean inqty = new AxisBean(); |
| | | inqty.setName("入库数量"); |
| | | Integer[] array1 = new Integer[data1.size()]; |
| | | inqty.setData(data1.toArray(array1)); |
| | | list.add(inqty); |
| | | AxisBean outqty = new AxisBean(); |
| | | outqty.setName("出库数量"); |
| | | Integer[] array2 = new Integer[data2.size()]; |
| | | outqty.setData(data2.toArray(array2)); |
| | | list.add(outqty); |
| | | } |
| | | map.put("rows",list); |
| | | return R.ok(map); |
| | | } |
| | | |
| | | /** |
| | | * 库位使用情况统计 |
| | | */ |
| | | @GetMapping("/loc/rep") |
| | | public R monitorLocRep(){ |
| | | List<Map<String, Object>> pie = new ArrayList<>(); |
| | | |
| | | LocChartPie locUseRate = reportQueryMapper.getLocUseRate(); |
| | | if(locUseRate!=null) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", "在库"); |
| | | map.put("value", locUseRate.getFqty()); |
| | | pie.add(map); |
| | | |
| | | Map<String, Object> map1 = new HashMap<>(); |
| | | map1.put("name", "空"); |
| | | map1.put("value", locUseRate.getOqty()); |
| | | pie.add(map1); |
| | | |
| | | Map<String, Object> map2 = new HashMap<>(); |
| | | map2.put("name", "使用"); |
| | | map2.put("value", locUseRate.getUqty()); |
| | | pie.add(map2); |
| | | |
| | | Map<String, Object> map3 = new HashMap<>(); |
| | | map3.put("name", "禁用"); |
| | | map3.put("value", locUseRate.getXqty()); |
| | | pie.add(map3); |
| | | } |
| | | |
| | | // 总库位数 |
| | | Integer total = (int) Arith.add(0, locUseRate.getFqty(), locUseRate.getOqty(), locUseRate.getUqty(), locUseRate.getXqty()); |
| | | // 使用中 |
| | | Integer used = locUseRate.getFqty() + locUseRate.getUqty(); |
| | | // 库位使用率 |
| | | double usedDivides = Arith.divides(3, used, total); |
| | | double usedPr = Arith.multiplys(1, usedDivides, 100); |
| | | |
| | | return R.ok( |
| | | Cools.add("pie", pie) |
| | | .add("stockCunt", locUseRate.getFqty()) |
| | | .add("emptyCount", locUseRate.getOqty()) |
| | | .add("noneCount", locUseRate.getXqty()) |
| | | .add("total", total) |
| | | .add("used", used) |
| | | .add("usedPr", usedPr) |
| | | ); |
| | | } |
| | | |
| | | /** |
| | | * 获取其他信息 |
| | | */ |
| | | @GetMapping("/led") |
| | | public R monitorLed(@RequestParam("ledId") Integer ledId) { |
| | | String ledContent = ""; |
| | | List<LedCommand> commandList = new ArrayList<>(); |
| | | List<MatDto> matDtoList = new ArrayList<>(); |
| | | MatDto matDto = new MatDto( |
| | | "001", |
| | | "原材料", |
| | | 100.0, |
| | | 150.0, |
| | | 100.0, |
| | | 200.0, |
| | | "1.2*1.3", |
| | | "ZGDW890", |
| | | "80000001", |
| | | "DWT01", |
| | | "中国电网", |
| | | "中国电网", |
| | | "ZGDW4396", |
| | | "ZGDW-9945" |
| | | |
| | | ); |
| | | matDtoList.add(matDto); |
| | | if (ledId == 100){ |
| | | LedCommand command = new LedCommand( |
| | | "全板入库", |
| | | 9527, |
| | | 100, |
| | | 100, |
| | | "0100101", |
| | | "", |
| | | matDtoList, |
| | | false, |
| | | 1, |
| | | "80000001" |
| | | ); |
| | | commandList.add(command); |
| | | } |
| | | return R.ok().add(commandList); |
| | | } |
| | | |
| | | /** |
| | | * 异常通知 |
| | | */ |
| | | @GetMapping("/led/error") |
| | | public R monitorLedError(@RequestParam("ledId") Integer ledId) { |
| | | String errorMsg = ""; |
| | | if (ledId == 100){ |
| | | // errorMsg = "麦当劳VS肯德基"; |
| | | } |
| | | return R.ok().add(errorMsg); |
| | | } |
| | | |
| | | @GetMapping("/getLedInfos") |
| | | public R getLedInfos(HttpServletRequest request) { |
| | | String remoteAddr = request.getRemoteAddr(); |
| | | if (remoteAddr.equals("127.0.0.1")) { |
| | | return R.ok(); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | } |
| | |
| | | * 目的位置编码 |
| | | */ |
| | | private String gridId; |
| | | |
| | | /* |
| | | * 仓库编码 |
| | | * */ |
| | | private String warehouse; |
| | | } |
| | |
| | | * 前,大的在后 |
| | | */ |
| | | private int order; |
| | | |
| | | /* |
| | | * 货物尺寸 |
| | | * 同层存在不同尺寸的托盘时必填 |
| | | * 1,2,3数字越大尺寸越大*/ |
| | | private Integer cargoSize; |
| | | } |
| | | } |
| | |
| | | |
| | | /*取消时间*/ |
| | | private String msgTime; |
| | | |
| | | /*仓库编码*/ |
| | | private String warehouse; |
| | | } |
| | |
| | | @Data |
| | | public class WrkPriority { |
| | | |
| | | /*组号*/ |
| | | /*任务号*/ |
| | | private String taskId; |
| | | |
| | | /*优先级*/ |
| | |
| | | |
| | | /*调整时间*/ |
| | | private String msgTime; |
| | | |
| | | /*仓库编码*/ |
| | | private String warehouse; |
| | | } |
| | |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Mapper |
| | | @Repository |
| | |
| | | Integer selectWorkCountInSum(String matnr, @Param("start") String startTime, @Param("end") String endTime); |
| | | |
| | | Integer selectWorkCountOutSum(String matnr, @Param("start") String startTime, @Param("end") String endTime); |
| | | |
| | | @Select("select \n" + |
| | | "Min(wm.io_time) as node,\n" + |
| | | "isnull(count(1), 0) as val\n" + |
| | | "from asr_wrk_mast_log wm\n" + |
| | | "where wm.wrk_sts = 5 \n" + |
| | | "and (wm.io_type = 1 OR wm.io_type = 54)\n" + |
| | | "and datediff(d, wm.io_time, getdate())<=7 \n" + |
| | | "group by datediff(day,wm.io_time,getdate())\n" + |
| | | "order by Min(wm.io_time) asc\n") |
| | | List<Map<String, Object>> queryPakinRep(); |
| | | } |
| | |
| | | private String cancel; |
| | | @Value("${wcs-slave.url}") |
| | | private String url; |
| | | @Value("${wcs-slave.warehouse}") |
| | | private String warehouse; |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | wrkCancel.setTaskId(workNo); // 任务号 |
| | | wrkCancel.setMsgTime(dateFormat.format(date)); // 取消时间 |
| | | wrkCancel.setWarehouse(warehouse); // 仓库编码 |
| | | |
| | | String response = ""; |
| | | boolean flag = false; |
| | |
| | | private String inDevp; |
| | | @Value("${wcs-slave.outDevp}") |
| | | private String outDevp; |
| | | @Value("${wcs-slave.warehouse}") |
| | | private String warehouse; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | @Autowired |
| | |
| | | WrkPriority wrkPriority = new WrkPriority(); |
| | | Date date = new Date(); |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | wrkPriority.setTaskId(wrkMast.getWrkNo().toString()); // 组号 |
| | | wrkPriority.setTaskId(wrkMast.getWrkNo().toString()); // 任务号 |
| | | wrkPriority.setWarehouse(warehouse); // 仓库编码 |
| | | wrkPriority.setPriorityCode(wrkMast.getIoPri().intValue()); // 优先级 |
| | | wrkPriority.setMsgTime(dateFormat.format(date)); // 调整时间 |
| | | |
| New file |
| | |
| | | package com.zy.common.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * Created by vincent on 2020/8/6 |
| | | */ |
| | | @Data |
| | | public class MatDto { |
| | | |
| | | // 物料编号 |
| | | private String matnr; |
| | | |
| | | // 物料名称 |
| | | private String maktx; |
| | | |
| | | private String maknx; |
| | | |
| | | // 库位规格 |
| | | private String specs; |
| | | |
| | | // 物料数量 |
| | | private Double anfme; |
| | | |
| | | // 库位数量 |
| | | private Double total; |
| | | |
| | | //辅数量 |
| | | private Double weight; |
| | | |
| | | // 辅库位数量 |
| | | private Double totalWeight; |
| | | |
| | | //托盘码 |
| | | private String barcode; |
| | | |
| | | //u8旧品名 |
| | | private String sku; |
| | | |
| | | //型号 |
| | | private String model; |
| | | |
| | | //客户名称 |
| | | private String supp; |
| | | |
| | | //开票客户名称 |
| | | private String kpCstmrName; |
| | | |
| | | //单号 |
| | | private String orderNo; |
| | | |
| | | //批号 |
| | | private String batch; |
| | | |
| | | // private String cstateid; |
| | | |
| | | public MatDto() { |
| | | } |
| | | |
| | | public MatDto(String matNo, String maktx, Double anfme, Double weight, Double total, Double totalWeight, String specs, String sku, String barcode, String model, String supp, String kpCstmrName, String orderNo, String batch) { |
| | | this.matnr = matNo; |
| | | this.maktx = maktx; |
| | | this.maknx = maktx; |
| | | this.specs = specs; |
| | | this.anfme = anfme; |
| | | this.weight = weight; |
| | | this.total = total; |
| | | this.totalWeight = totalWeight; |
| | | this.sku = sku; |
| | | this.barcode = barcode; |
| | | this.model = model; |
| | | this.supp = supp; |
| | | this.kpCstmrName = kpCstmrName; |
| | | this.orderNo = orderNo; |
| | | this.batch = batch; |
| | | // this.cstateid = cstateid; |
| | | } |
| | | } |
| New file |
| | |
| | | package com.zy.common.model.command; |
| | | |
| | | import com.zy.common.model.MatDto; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * led命令报文 |
| | | * Created by vincent on 2020/8/11 |
| | | */ |
| | | @Data |
| | | @AllArgsConstructor |
| | | public class LedCommand extends Object { |
| | | |
| | | private String title; |
| | | |
| | | private Integer workNo; |
| | | |
| | | private Integer staNo; |
| | | |
| | | private Integer sourceStaNo; |
| | | |
| | | private String locNo; |
| | | |
| | | private String sourceLocNo; |
| | | |
| | | private List<MatDto> matDtos = new ArrayList<>(); |
| | | |
| | | private boolean emptyMk = false; |
| | | |
| | | private Integer ioType; |
| | | |
| | | private String barcode; |
| | | } |
| | |
| | | // levList.addAll(locLevList); |
| | | |
| | | for (Integer lev : locLevList) { |
| | | List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "O").eq("lev1", lev).orderBy("bay1", true).orderBy("row1",true)); |
| | | List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() |
| | | .eq("loc_sts", "O") |
| | | .eq("lev1", lev) |
| | | .eq("loc_type1",locTypeDto.getLocType1()) |
| | | .eq("loc_type2",locTypeDto.getLocType2()) |
| | | .orderBy("bay1", true) |
| | | .orderBy("row1",true)); |
| | | for (LocMast locMast : locMasts) { |
| | | String locNo = locMast.getLocNo(); |
| | | //获取通道组 |
| | |
| | | import com.zy.common.model.StartupDto; |
| | | import com.zy.common.service.CommonService; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.common.web.param.ApplyChangeEnd; |
| | | import com.zy.common.web.param.ErrorMsg; |
| | | import com.zy.common.web.param.SearchEmptyParam; |
| | | import com.zy.common.web.param.SearchLocParam; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | if (Cools.isEmpty(param.getFromPort())) { |
| | | return Re.error("源站编号不能为空"); |
| | | } |
| | | // if(Cools.isEmpty(param.getWarehouse())){ |
| | | // return Re.error("仓库编号不能为空"); |
| | | // } |
| | | // if(!param.getWarehouse().equals(warehouse)){ |
| | | // return Re.error("仓库编号不匹配"); |
| | | // } |
| | | if(Cools.isEmpty(param.getWarehouse())){ |
| | | return Re.error("仓库编号不能为空"); |
| | | } |
| | | if(!param.getWarehouse().equals(warehouse)){ |
| | | return Re.error("仓库编号不匹配"); |
| | | } |
| | | List<WaitPakin> waitPakins = null; |
| | | if (param.getFromPort().equals("101")) { |
| | | |
| | |
| | | return Re.error("条码不能为空"); |
| | | } |
| | | waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarCode())); |
| | | if (Cools.isEmpty(waitPakins) && param.getIoType() != 10) { |
| | | if (Cools.isEmpty(waitPakins)) { |
| | | WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarCode()); |
| | | if (wrkMast != null && wrkMast.getIoType() == 103) { |
| | | return Re.parse(CodeRes.PICK_600); |
| | |
| | | if (Cools.isEmpty(param.getCargoHeight())) { |
| | | return Re.error("高低检测信号不能为空"); |
| | | } |
| | | if (!param.getBarCode().startsWith("7")&&!param.getBarCode().startsWith("8")){ |
| | | return Re.error("未定义的托盘码规则"); |
| | | } |
| | | |
| | | // 源站点状态检测 |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.valueOf(param.getFromPort()), true); |
| | | sourceStaNo.setLocType1(param.getCargoHeight().shortValue()); |
| | | sourceStaNo.setLocType1(param.getCargoHeight().shortValue()); // 高低库位 |
| | | if (param.getBarCode().startsWith("7")){ |
| | | sourceStaNo.setLocType2((short) 1); // 宽窄库位 1.窄库位1200*1000*990 1期库位 |
| | | }else if (param.getBarCode().startsWith("8")){ |
| | | sourceStaNo.setLocType2((short) 2); // 宽窄库位 2.宽库位1200*1000*1270 2期库位 |
| | | } |
| | | LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); |
| | | |
| | | StartupDto dto = null; |
| | |
| | | default: |
| | | break; |
| | | } |
| | | log.info("WCS入库接口返参:{},托盘码:{}", dto, param.getBarCode()); |
| | | log.info("WCS满板入库接口返参:{},托盘码:{}", dto, param.getBarCode()); |
| | | return Re.ok(); |
| | | } |
| | | |
| | |
| | | @ResponseBody |
| | | public synchronized Re getLocNo(@RequestBody SearchEmptyParam param) { |
| | | log.info("收到WCS空板入库接口请求====>>入参:{}", param); |
| | | // if(Cools.isEmpty(param.getWarehouse())){ |
| | | // return Re.error("仓库编号不能为空"); |
| | | // } |
| | | // if(!param.getWarehouse().equals(warehouse)){ |
| | | // return Re.error("仓库编号不匹配"); |
| | | // } |
| | | if(Cools.isEmpty(param.getWarehouse())){ |
| | | return Re.error("仓库编号不能为空"); |
| | | } |
| | | if(!param.getWarehouse().equals(warehouse)){ |
| | | return Re.error("仓库编号不匹配"); |
| | | } |
| | | |
| | | // 源站点状态检测 |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.valueOf(param.getFromPort()), true); |
| | |
| | | StartupDto dto = null; |
| | | |
| | | dto = emptyPlateIn(Integer.valueOf(param.getFromPort()), locTypeDto); |
| | | log.info("WCS入库接口返参:{},托盘码:{}", dto); |
| | | log.info("WCS空板入库接口返参:{}", dto); |
| | | return Re.ok(); |
| | | } |
| | | |
| | | @PostMapping("/fromwcs/errorReport") |
| | | @ResponseBody |
| | | public synchronized Re errReport(@RequestBody ErrorMsg param){ |
| | | log.info("收到WCS任务入库异常上报===>>入参:{}",param); |
| | | if(Cools.isEmpty(param.getWarehouse())){ |
| | | return Re.error("仓库编号不能为空"); |
| | | } |
| | | if(!param.getWarehouse().equals(warehouse)){ |
| | | return Re.error("仓库编号不匹配"); |
| | | } |
| | | return Re.ok(); |
| | | } |
| | | |
| | | @PostMapping("/fromwcs/applyChangeEnd") |
| | | @ResponseBody |
| | | public synchronized Re applyChangeEnd(@RequestBody ApplyChangeEnd param){ |
| | | log.info("收到WCS申请最终目的位置===>>入参:{}",param); |
| | | if(Cools.isEmpty(param.getWarehouse())){ |
| | | return Re.error("仓库编号不能为空"); |
| | | } |
| | | if(!param.getWarehouse().equals(warehouse)){ |
| | | return Re.error("仓库编号不匹配"); |
| | | } |
| | | if (Cools.isEmpty(param.getTaskId())){ |
| | | return Re.error("任务编号不能为空"); |
| | | } |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", param.getTaskId())); |
| | | if (wrkMast == null){ |
| | | return Re.error("WMS不存在任务号:" + param.getTaskId() + "任务"); |
| | | } |
| | | if (wrkMast.getIoType() > 100){ |
| | | return Re.error("任务号:" + param.getTaskId() + "是出库任务"); |
| | | } |
| | | if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15){ |
| | | return Re.error("任务号:" + param.getTaskId() + "已结束"); |
| | | } |
| | | String targetNo = wrkMast.getLocNo(); |
| | | return Re.ok(targetNo); |
| | | } |
| | | |
| | | |
| | |
| | | LocTypeDto locTypeDto = new LocTypeDto(); |
| | | locTypeDto.setLocType1(locType1); |
| | | //注意一个板只能放同一种物料(检索新库位) |
| | | StartupDto dto = commonService.getLocNoRunPick(4, 1, 101, wrkDetls.get(0).getMatnr(), wrkDetls.get(0).getBatch(), null, 4, locTypeDto, 2); |
| | | // StartupDto dto = commonService.getLocNoRunPick(4, 1, 101, wrkDetls.get(0).getMatnr(), wrkDetls.get(0).getBatch(), null, 4, locTypeDto, 2); |
| | | FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); |
| | | findLocNoAttributeVo.setMatnr(wrkDetls.get(0).getMatnr()); |
| | | StartupDto dto = commonService.getLocNoNew(1, 101, findLocNoAttributeVo,locTypeDto,null); |
| | | Date now = new Date(); |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setIoType(wrkMast.getIoType() - 50); // 入出库类型: 103->53,104->54,107->57 |
| | |
| | | map.put("posiY", locMast.getBay1()); |
| | | map.put("posiZ", locMast.getLev1()); |
| | | map.put("cargoNo", locMast.getLocNo()); |
| | | if(locMast.getLev1() == 1 && locMast.getRow1() == 8 && locMast.getBay1() == 1){ |
| | | if(locMast.getLev1() == 1 && locMast.getRow1() == 6 && locMast.getBay1() == 1){ |
| | | map.put("type", "6"); |
| | | }else { |
| | | map.put("type", "0"); |
| | |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "wms同步wcs库位失败", |
| | | "wms同步wcs库位", |
| | | url + "/" + loc, |
| | | null, |
| | | "127.0.0.1", |
| New file |
| | |
| | | package com.zy.common.web.param; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class ApplyChangeEnd { |
| | | /*仓库编码*/ |
| | | private String warehouse; |
| | | |
| | | /*任务id |
| | | * 上位系统下发的任务id*/ |
| | | private String taskId; |
| | | |
| | | /*车辆编号*/ |
| | | private Integer deviceNo; |
| | | |
| | | /*申请时间*/ |
| | | private String msgTime; |
| | | |
| | | /*巷道口编号 |
| | | * 巷道口所在的货位编码*/ |
| | | private String roadNo; |
| | | } |
| | |
| | | package com.zy.common.web.param; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class ErrorMsg { |
| | | /** |
| | | * 仓库编码 |
| | |
| | | #groupCount: 4 |
| | | # 由浅入深 |
| | | locGroupAscOrder: [ |
| | | {rowList: [3,1,2],minBay: 1,maxBay: 16}, |
| | | {rowList: [4],minBay: 1,maxBay: 16}, |
| | | {rowList: [5,6,7,8,9,10],minBay: 1,maxBay: 16}, |
| | | {rowList: [4,3,2],minBay: 1,maxBay: 49}, |
| | | {rowList: [6],minBay: 3,maxBay: 48}, |
| | | {rowList: [7],minBay: 1,maxBay: 17}, |
| | | {rowList: [8,9,10,11,12,13],minBay: 3,maxBay: 48}, |
| | | ] |
| | | #是否开启wms下发任务给wcs |
| | | workIssued-fig : true |
| | |
| | | #库位同步 |
| | | loc: fromWms/cargoNoSyn |
| | | #货位信息同步 |
| | | locInfo: fromWms/cargoLocationSyn |
| | | locInfo : fromWms/cargoLocationSyn |
| | | #任务取消 |
| | | cancel: fromWms/taskCancel |
| | | cancel : fromWms/taskCancel |
| | | #任务优先级调整 |
| | | priority: fromWms/taskPriority |
| | | priority : fromWms/taskPriority |
| | | #入库站 |
| | | inDevp : 101 |
| | | #出库站 |
| | | outDevp : 100 |
| | | #仓库编码 |
| | | warehouse : ddthasrs |
| | | warehouse : ddth |
| | | # wms参数配置 |
| | | wms-parameter: |
| | | # 自动补空板功能开关 |