| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.BaseRes; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.CombParam; |
| | | import com.zy.asrs.entity.param.MobileAdjustParam; |
| | | import com.zy.asrs.entity.param.OffSaleParam; |
| | | import com.zy.asrs.entity.param.*; |
| | | import com.zy.asrs.entity.result.MobileAdjustResult; |
| | | import com.zy.asrs.mapper.ManLocDetlMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.model.WrkDto; |
| | | import com.zy.common.service.CommonService; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.common.web.BaseController; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.text.DecimalFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 移动端接口控制器 |
| | |
| | | */ |
| | | @RestController |
| | | @RequestMapping("mobile") |
| | | @Slf4j |
| | | public class MobileController extends BaseController { |
| | | |
| | | @Autowired |
| | |
| | | private PackService packService; |
| | | @Autowired |
| | | private ManLocDetlMapper manLocDetlMapper; |
| | | @Autowired |
| | | private WrkDetlLogService wrkDetlLogService; |
| | | @Autowired |
| | | private CommonService commonService; |
| | | |
| | | @PostMapping("/agv/start") |
| | | @ManagerAuth |
| | | public R pdaAgvStart(@RequestBody Map<String,Object> map){ |
| | | |
| | | if (Cools.isEmpty(map.get("sta"))) { |
| | | return R.parse("暂存位不能为空"); |
| | | } else if (Cools.isEmpty(map.get("inSta"))) { |
| | | return R.parse("入库站点不能为空"); |
| | | } |
| | | // HashMap<String, String> map1 = new HashMap<>(); |
| | | // map1.put("agv0001","sta0001"); |
| | | // String sta = map.get("sta").toString(); |
| | | // |
| | | // ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam(); |
| | | // getAgvTaskParam(forwardAGVTaskParam,sta,map1.get(sta)); |
| | | // String request = forwardAGVHttpRequest(forwardAGVTaskParam, "10.0.100.110:8182", "/rcms/services/rest/hikRpcService/genAgvSchedulingTask"); |
| | | // if ("SUCCESS".equals(request)) { |
| | | // return R.ok(); |
| | | // } |
| | | String sta = (String) map.get("sta"); // 暂存位 |
| | | String inSta = (String) map.get("inSta"); // 入库站点 |
| | | |
| | | return mobileService.inLocCallAgv(sta, inSta); |
| | | |
| | | } |
| | | |
| | | private void getAgvTaskParam(ForwardAGVTaskParam agvTaskCreateParam,String agv,String sta){ |
| | | List<ForwardAGVTaskParam.PositionCodePaths> agvTaskParamList = Arrays.asList( |
| | | //起始位 |
| | | new ForwardAGVTaskParam.PositionCodePaths(agv,"05"), |
| | | //目标位 |
| | | new ForwardAGVTaskParam.PositionCodePaths(sta,"05") |
| | | ); |
| | | Date date = new Date(); |
| | | DecimalFormat df = new DecimalFormat("0000"); |
| | | String wrkNo = "Crn"+date.getTime()/1000; |
| | | agvTaskCreateParam.setReqCode(wrkNo); |
| | | agvTaskCreateParam.setReqTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); |
| | | agvTaskCreateParam.setTaskTyp("GT1"); |
| | | agvTaskCreateParam.setCtnrCode("00000000"); |
| | | agvTaskCreateParam.setPositionCodePath(agvTaskParamList); |
| | | agvTaskCreateParam.setCtnrTyp("1"); |
| | | agvTaskCreateParam.setTaskCode(wrkNo); |
| | | |
| | | } |
| | | |
| | | private String forwardAGVHttpRequest(Object requestParam, String url, String path){ |
| | | String response = ""; |
| | | String success = "error"; |
| | | try { |
| | | response = new HttpHandler.Builder() |
| | | .setUri(url) |
| | | // .setHttps(true) |
| | | .setPath(path) |
| | | .setJson(JSONObject.toJSONString(requestParam)) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | |
| | | String message = jsonObject.get("code").toString(); |
| | | if(("0").equals(message) || ("请求编号已存在").contains(message)){ |
| | | success = "SUCCESS"; |
| | | }else { |
| | | success = message; |
| | | } |
| | | log.info("转发agv任务:请求体:"+JSONObject.toJSONString(requestParam)+",返回值:"+jsonObject); |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | return success; |
| | | } |
| | | |
| | | @RequestMapping("/select/workDetl/barcode") |
| | | @ManagerAuth |
| | | public R selectWorkDetlBarcode(@RequestBody Map<String,Object> map) { |
| | | String barcode = map.get("barcode").toString(); |
| | | if (Cools.isEmpty(barcode)) { |
| | | return R.error("条码为空"); |
| | | } |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode)); |
| | | if (Cools.isEmpty(wrkMast)) { |
| | | return R.error("未找到任务"); |
| | | } |
| | | if (wrkMast.getWrkSts() != 14 && wrkMast.getIoType() != 103) { |
| | | return R.error("任务状态有误"); |
| | | } |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | if (Cools.isEmpty(wrkDetls)) { |
| | | return R.error("工作明细有误"); |
| | | } |
| | | return R.ok(wrkDetls); |
| | | |
| | | } |
| | | |
| | | @RequestMapping("/leftovers/out") |
| | | @ManagerAuth |
| | | public R leftoversOut(@RequestBody Map<String,Object> map) { |
| | | mobileService.leftoversOut(map,getUserId()); |
| | | |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | // 商品上架 |
| | | @RequestMapping("/mat/onSale/auth") |
| | |
| | | wrkDetls.removeIf(wrkDetl -> wrkDetl.getInspect() != null && wrkDetl.getInspect() != 0); |
| | | return R.ok().add(Cools.add("wrkNo", wrkMast.getWrkNo()).add("ioType", wrkMast.getIoType()).add("list", wrkDetls)); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 出库确认 - 扫货物 广德宜科版 |
| | | * 1.全板 返回 101 |
| | | * 2.拣料 返回 103 |
| | | */ |
| | | @RequestMapping("/pakout/confirm/goods/auth") //待完善 原因(客户未给出详细信息) |
| | | @ManagerAuth |
| | | public R pakoutQueryByGoods(@RequestBody GDYKConfirmGoodsParam combParam){ |
| | | if (Cools.isEmpty(combParam)) { |
| | | return R.ok(); |
| | | } |
| | | // List<Order> orders = orderService.selectorderNoL(batch); |
| | | OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", combParam.getMatnr()).eq("batch", combParam.getBatch()).eq("order_no",combParam.getOrderNo())); |
| | | if (Cools.isEmpty(orderDetl)){ |
| | | return R.error("未查到数据"); |
| | | } |
| | | if (!orderDetl.getQty$().equals("已完成")){ |
| | | return R.error("任务未完成"); |
| | | } |
| | | //复核数 |
| | | orderDetl.setSource(1); |
| | | orderDetlService.updateById(orderDetl); |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | return R.ok("出库成功"); |
| | | } |
| | | |
| | | @RequestMapping("/ddd/ddd") |
| | | @ManagerAuth() |
| | | public R ddd() { |
| | | int w = 64; |
| | | for (int i = 17; i <= 37; i++) { |
| | | for (int j = 1;j<=14;j++){ |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 1)); |
| | | LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 2)); |
| | | LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 3)); |
| | | // LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", 26).eq("bay1", i).eq("lev1", 1)); |
| | | if (locMast.getGro1() == 999){ |
| | | continue; |
| | | } |
| | | // locMast.setGro1(w); |
| | | locMast2.setGro1(locMast.getGro1()+100); |
| | | locMast3.setGro1(locMast.getGro1()+200); |
| | | // locMast4.setGro1(w); |
| | | // locMastService.updateById(locMast); |
| | | locMastService.updateById(locMast2); |
| | | locMastService.updateById(locMast3); |
| | | // locMastService.updateById(locMast4); |
| | | w++; |
| | | } |
| | | } |
| | | // for (int i = 17; i <=37; i++) { |
| | | // LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 14).eq("lev1", 1)); |
| | | //// LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 10).eq("lev1", 1)); |
| | | //// LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 11).eq("lev1", 1)); |
| | | //// LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 12).eq("lev1", 1)); |
| | | // locMast.setGro1(w); |
| | | //// locMast2.setGro1(w); |
| | | //// locMast3.setGro1(w); |
| | | //// locMast4.setGro1(w); |
| | | // locMastService.updateById(locMast); |
| | | //// locMastService.updateById(locMast2); |
| | | //// locMastService.updateById(locMast3); |
| | | //// locMastService.updateById(locMast4); |
| | | // w++; |
| | | // } |
| | | return R.ok(); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |