| | |
| | | import com.zy.asrs.entity.*; |
| | | 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; |
| | |
| | | @RestController |
| | | @RequestMapping("mobile") |
| | | @Slf4j |
| | | public class MobileController extends BaseController { |
| | | public class MobileController extends BaseController { |
| | | |
| | | @Autowired |
| | | private MobileService mobileService; |
| | |
| | | @Autowired |
| | | private PackService packService; |
| | | @Autowired |
| | | private ManLocDetlMapper manLocDetlMapper; |
| | | @Autowired |
| | | private WrkDetlLogService wrkDetlLogService; |
| | | @Autowired |
| | | private CommonService commonService; |
| | | |
| | | |
| | | // @PostMapping("/agv/start") |
| | | // @ManagerAuth |
| | | // public R pdaStockCheck(@RequestBody StockCheckParam param){ |
| | | // |
| | | // |
| | | // |
| | | // } |
| | | |
| | | |
| | | @PostMapping("/agv/start") |
| | | @ManagerAuth |
| | | public R pdaAgvStart(@RequestBody Map<String,Object> map){ |
| | | public R pdaAgvStart(@RequestBody Map<String, Object> map) { |
| | | |
| | | if (Cools.isEmpty(map.get("sta"))) { |
| | | return R.parse("暂存位不能为空"); |
| | |
| | | |
| | | @PostMapping("/agv/unbind") |
| | | @ManagerAuth |
| | | public R pdaAgvUnbind(@RequestBody Map<String,Object> map){ |
| | | public R pdaAgvUnbind(@RequestBody Map<String, Object> map) { |
| | | |
| | | String site = (String) map.get("site"); // 暂存位 |
| | | |
| | |
| | | return mobileService.unbind(site); |
| | | } |
| | | |
| | | private void getAgvTaskParam(ForwardAGVTaskParam agvTaskCreateParam,String agv,String sta){ |
| | | private void getAgvTaskParam(ForwardAGVTaskParam agvTaskCreateParam, String agv, String sta) { |
| | | List<ForwardAGVTaskParam.PositionCodePaths> agvTaskParamList = Arrays.asList( |
| | | //起始位 |
| | | new ForwardAGVTaskParam.PositionCodePaths(agv,"05"), |
| | | new ForwardAGVTaskParam.PositionCodePaths(agv, "05"), |
| | | //目标位 |
| | | new ForwardAGVTaskParam.PositionCodePaths(sta,"05") |
| | | new ForwardAGVTaskParam.PositionCodePaths(sta, "05") |
| | | ); |
| | | Date date = new Date(); |
| | | DecimalFormat df = new DecimalFormat("0000"); |
| | | String wrkNo = "Crn"+date.getTime()/1000; |
| | | 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"); |
| | |
| | | |
| | | } |
| | | |
| | | private String forwardAGVHttpRequest(Object requestParam, String url, String path){ |
| | | private String forwardAGVHttpRequest(Object requestParam, String url, String path) { |
| | | String response = ""; |
| | | String success = "error"; |
| | | try { |
| | |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | |
| | | String message = jsonObject.get("code").toString(); |
| | | if(("0").equals(message) || ("请求编号已存在").contains(message)){ |
| | | if (("0").equals(message) || ("请求编号已存在").contains(message)) { |
| | | success = "SUCCESS"; |
| | | }else { |
| | | } else { |
| | | success = message; |
| | | } |
| | | log.info("转发agv任务:请求体:"+JSONObject.toJSONString(requestParam)+",返回值:"+jsonObject); |
| | | }catch (Exception e){ |
| | | 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) { |
| | | public R selectWorkDetlBarcode(@RequestBody Map<String, Object> map) { |
| | | String barcode = map.get("barcode").toString(); |
| | | if (Cools.isEmpty(barcode)) { |
| | | return R.error("条码为空"); |
| | |
| | | |
| | | @RequestMapping("/leftovers/out") |
| | | @ManagerAuth |
| | | public R leftoversOut(@RequestBody Map<String,Object> map) { |
| | | mobileService.leftoversOut(map,getUserId()); |
| | | public R leftoversOut(@RequestBody Map<String, Object> map) { |
| | | mobileService.leftoversOut(map, getUserId()); |
| | | |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | // 商品上架 |
| | | @RequestMapping("/mat/onSale/auth") |
| | | @ManagerAuth |
| | | public R matOnSale(@RequestBody CombParam combParam){ |
| | | mobileService.onSale(combParam); |
| | | return R.ok("上架成功"); |
| | | } |
| | | // 商品下架 |
| | | @RequestMapping("/mat/offSale/auth") |
| | | //@ManagerAuth |
| | | public R matOffSale(@RequestBody OffSaleParam offSaleParam){ |
| | | mobileService.offSale(offSaleParam); |
| | | return R.ok("下架成功"); |
| | | } |
| | | |
| | | |
| | | |
| | | // 组托 ---------------------------------------------------------------------------------------------------- |
| | |
| | | // } |
| | | @RequestMapping("/order/search/orderNo/auth") |
| | | @ManagerAuth |
| | | public R orderSearchByBarcode(@RequestParam String orderNo){ |
| | | if (Cools.isEmpty(orderNo)){ |
| | | orderNo=null; |
| | | public R orderSearchByBarcode(@RequestParam String orderNo) { |
| | | if (Cools.isEmpty(orderNo)) { |
| | | orderNo = null; |
| | | } |
| | | List<Order> orders = orderService.selectorderNoL(orderNo); |
| | | if (Cools.isEmpty(orders)){ |
| | | if (Cools.isEmpty(orders)) { |
| | | return R.ok(); |
| | | } |
| | | LinkedList<CombParam> combParams = new LinkedList<>(); |
| | | if (!Cools.isEmpty(orders)){ |
| | | for (Order order:orders){ |
| | | CombParam combParam=new CombParam(); |
| | | if (!Cools.isEmpty(orders)) { |
| | | for (Order order : orders) { |
| | | CombParam combParam = new CombParam(); |
| | | if (order == null) { |
| | | continue; |
| | | } |
| | |
| | | List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId()); |
| | | if (!Cools.isEmpty(orderDetls)) { |
| | | LinkedList<CombParam.CombMat> combMats = new LinkedList<>(); |
| | | for (OrderDetl orderDetl:orderDetls){ |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | CombParam.CombMat combMat = new CombParam.CombMat(); |
| | | combMat.setMatnr(orderDetl.getMatnr()); |
| | | combMat.setBatch(orderDetl.getBatch()); |
| | | combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty()); |
| | | combMat.setAnfme(orderDetl.getAnfme() - orderDetl.getWorkQty()); |
| | | combMat.setMaktx(orderDetl.getMaktx()); |
| | | combMat.setSpecs(orderDetl.getSpecs()); |
| | | combMats.add(combMat); |
| | |
| | | |
| | | @RequestMapping("/comb/auth") |
| | | @ManagerAuth(memo = "组托") |
| | | public R comb(@RequestBody CombParam combParam){ |
| | | public R comb(@RequestBody CombParam combParam) { |
| | | log.info("组托:" + JSONObject.toJSONString(combParam)); |
| | | if (Cools.isEmpty(combParam.getBarcode(), combParam.getCombMats())) { |
| | | throw new CoolException(BaseRes.PARAM); |
| | | } |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>() |
| | | .eq("barcode", combParam.getBarcode()) |
| | | .eq("io_type", 104) |
| | | .eq("wrk_sts", 14)); |
| | | .in("wrk_sts", 14, 105)); |
| | | if (Cools.isEmpty(wrkMast)) { |
| | | mobileService.comb(combParam, getUserId()); |
| | | return R.ok("组托成功"); |
| | | }else { |
| | | } else { |
| | | mobileService.mergeComb(combParam, getUserId()); |
| | | return R.ok("并板成功"); |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | @RequestMapping("/pack/get/auth") |
| | | @ManagerAuth |
| | | public R packGet(@RequestParam String barcode){ |
| | | public R packGet(@RequestParam String barcode) { |
| | | Pack pack = packService.selectByBarcode(barcode); |
| | | if (pack == null) { |
| | | return R.ok(); |
| | |
| | | |
| | | @RequestMapping("/pack/comb/auth") |
| | | @ManagerAuth(memo = "下线组托") |
| | | public R packComb(@RequestBody CombParam combParam){ |
| | | public R packComb(@RequestBody CombParam combParam) { |
| | | mobileService.packComb(combParam, getUserId()); |
| | | return R.ok("组托成功"); |
| | | } |
| | |
| | | @Deprecated |
| | | public R pakoutQuery(@RequestParam(required = false) String barcode, |
| | | @RequestParam(required = false) Integer staNo, |
| | | @RequestParam(required = false) String matnr){ |
| | | @RequestParam(required = false) String matnr) { |
| | | if (Cools.isEmpty(barcode) && Cools.isEmpty(matnr)) { |
| | | return R.ok(); |
| | | } |
| | |
| | | */ |
| | | @RequestMapping("/pakout/confirm/barcode/auth") |
| | | @ManagerAuth |
| | | public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode){ |
| | | public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode) { |
| | | if (Cools.isEmpty(barcode)) { |
| | | return R.ok(); |
| | | } |
| | |
| | | */ |
| | | @RequestMapping("/pakout/confirm/goods/auth") //待完善 原因(客户未给出详细信息) |
| | | @ManagerAuth |
| | | public R pakoutQueryByGoods(@RequestBody GDYKConfirmGoodsParam combParam){ |
| | | 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)){ |
| | | 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("已完成")){ |
| | | if (!orderDetl.getQty$().equals("已完成")) { |
| | | return R.error("任务未完成"); |
| | | } |
| | | //复核数 |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | // 根据库位码和商品码搜索商品 |
| | | @RequestMapping("/mat/find/auth") |
| | | public R find(@RequestParam(required = false) String locNo |
| | | , @RequestParam(required = false) String matnr){ |
| | | //List<ManLocDetl> manLocDetls = manLocDetlMapper.selectItem0(locNo, matnr); |
| | | ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(locNo, matnr); |
| | | return R.ok(manLocDetl); |
| | | //return R.ok(manLocDetlMapper.selectItem0(locNo, matnr)); |
| | | } |
| | | |
| | | /** |
| | | * 出库确认 - 拣料出库 - 选择具体条码商品 |
| | |
| | | @RequestMapping("/pakout/confirm/pick/auth") |
| | | @ManagerAuth |
| | | public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo |
| | | , @RequestParam(required = false) String matnr){ |
| | | , @RequestParam(required = false) String matnr) { |
| | | if (Cools.isEmpty(wrkNo)) { |
| | | return R.ok(); |
| | | } |
| | |
| | | |
| | | @RequestMapping("/adjust/auth") |
| | | @ManagerAuth(memo = "盘点") |
| | | public R adjust(@RequestBody MobileAdjustParam combParam){ |
| | | public R adjust(@RequestBody MobileAdjustParam combParam) { |
| | | mobileService.adjust(combParam, getUserId()); |
| | | return R.ok("盘点成功"); |
| | | } |
| | | |
| | | |
| | | |
| | | @PostMapping("/order/out/pakout/auth") |
| | | @ManagerAuth(memo = "订单出库") |
| | | public synchronized R pakoutByOrder(@RequestBody JSONObject param) { |
| | | if(!param.containsKey("staNo") || !param.containsKey("orderNo")){ |
| | | if (!param.containsKey("staNo") || !param.containsKey("orderNo")) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | | mobileService.pakoutByOrder(param,getUserId()); |
| | | mobileService.pakoutByOrder(param, getUserId()); |
| | | return R.ok("出库成功"); |
| | | } |
| | | |
| | | |
| | | |
| | | @RequestMapping("/ddd/ddd") |
| | | @ManagerAuth() |
| | | public R ddd() { |
| | | int w = 64; |
| | | int w = 99999; |
| | | for (int i = 17; i <= 37; i++) { |
| | | for (int j = 1;j<=3;j++){ |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 7).eq("lev1", j)); |
| | | LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 12).eq("lev1", j)); |
| | | LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 14).eq("lev1", j)); |
| | | for (int j = 8; 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; |
| | | } |
| | | if (locMast.getGro1() == 999) { |
| | | continue; |
| | | } |
| | | // locMast.setGro1(w); |
| | | locMast.setGro1(locMast.getGro1()+1000); |
| | | locMast2.setGro1(locMast.getGro1()+1000); |
| | | locMast3.setGro1(locMast.getGro1()+1000); |
| | | // locMast.setGro1(locMast.getGro1()+1000); |
| | | locMast2.setGro1(locMast.getGro1() + 1000); |
| | | locMast3.setGro1(locMast.getGro1() + 2000); |
| | | // locMast4.setGro1(w); |
| | | locMastService.updateById(locMast); |
| | | locMastService.updateById(locMast2); |
| | | locMastService.updateById(locMast3); |
| | | // locMastService.updateById(locMast); |
| | | locMastService.updateById(locMast2); |
| | | locMastService.updateById(locMast3); |
| | | // locMastService.updateById(locMast4); |
| | | w++; |
| | | } |
| | | 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 locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 3).eq("lev1", 1)); |
| | | // LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 8).eq("lev1", 1)); |
| | | // LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 13).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); |
| | | // if (!Cools.isEmpty(locMast)) { |
| | | // locMast.setGro1(w); |
| | | // locMastService.updateById(locMast); |
| | | // } |
| | | // |
| | | // locMast2.setGro1(w); |
| | | // locMast3.setGro1(w); |
| | | //// locMast4.setGro1(w); |
| | | // locMastService.updateById(locMast); |
| | | //// locMastService.updateById(locMast2); |
| | | //// locMastService.updateById(locMast3); |
| | | // |
| | | // locMastService.updateById(locMast2); |
| | | // locMastService.updateById(locMast3); |
| | | //// locMastService.updateById(locMast4); |
| | | // w++; |
| | | //// w++; |
| | | // } |
| | | return R.ok(); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |