| | |
| | | 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.GDYKConfirmGoodsParam; |
| | | 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 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){ |
| | | |
| | | 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.valueOf(map.get("inSta")); // 入库站点 |
| | | |
| | | return mobileService.inLocCallAgv(sta, inSta); |
| | | |
| | | } |
| | | |
| | | @PostMapping("/agv/unbind") |
| | | @ManagerAuth |
| | | public R pdaAgvUnbind(@RequestBody Map<String,Object> map){ |
| | | |
| | | String site = (String) map.get("site"); // 暂存位 |
| | | |
| | | if (Cools.isEmpty(site)) { |
| | | return R.parse("暂存位不能为空"); |
| | | } |
| | | |
| | | return mobileService.unbind(site); |
| | | } |
| | | |
| | | 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 |
| | |
| | | @RequestMapping("/comb/auth") |
| | | @ManagerAuth(memo = "组托") |
| | | public R comb(@RequestBody CombParam combParam){ |
| | | mobileService.comb(combParam, getUserId()); |
| | | return R.ok("组托成功"); |
| | | 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)); |
| | | if (Cools.isEmpty(wrkMast)) { |
| | | mobileService.comb(combParam, getUserId()); |
| | | return R.ok("组托成功"); |
| | | }else { |
| | | mobileService.mergeComb(combParam, getUserId()); |
| | | return R.ok("并板成功"); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | @RequestMapping("/pingKu/Shelves/auth") |
| | | @ManagerAuth(memo = "平库上架") |
| | | public R pingKuShelves(@RequestBody CombParam combParam){ |
| | | if (Cools.isEmpty(combParam.getLocno(), combParam.getCombMats())) { |
| | | throw new CoolException(BaseRes.PARAM); |
| | | } |
| | | mobileService.pingKuShelves(combParam, getUserId()); |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping("/pingKu/unShelves/auth") |
| | | @ManagerAuth(memo = "平库下架") |
| | | public R pingKuUnShelves(@RequestBody CombParam combParam){ |
| | | if (Cools.isEmpty(combParam.getLocno(), combParam.getCombMats())) { |
| | | throw new CoolException(BaseRes.PARAM); |
| | | } |
| | | mobileService.pingKuUnShelves(combParam, getUserId()); |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping("/pack/get/auth") |
| | |
| | | return R.ok("盘点成功"); |
| | | } |
| | | |
| | | @RequestMapping("/pda/adjust/auth") |
| | | @ManagerAuth(memo = "pda盘点") |
| | | public R pdaAdjust(@RequestBody pdaAdjustParam param){ |
| | | mobileService.pdaAdjust(param,getUserId()); |
| | | return R.ok("盘点成功"); |
| | | } |
| | | |
| | | @PostMapping("/order/out/pakout/auth") |
| | | @ManagerAuth(memo = "订单出库") |
| | | public synchronized R pakoutByOrder(@RequestBody JSONObject param) { |
| | |
| | | return R.ok("出库成功"); |
| | | } |
| | | |
| | | @GetMapping("/checkOut/submit/auth") |
| | | @ManagerAuth(memo = "盘点上传") |
| | | public R CheckOutUploadERP(@RequestParam String orderId){ |
| | | mobileService.inventoryUpload(orderId); |
| | | 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<=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)); |
| | | // LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", 26).eq("bay1", i).eq("lev1", 1)); |
| | | // if (locMast.getGro1() == 999){ |
| | | // continue; |
| | | // } |
| | | // locMast.setGro1(w); |
| | | // locMast.setGro1(locMast.getGro1()+1000); |
| | | locMast2.setGro1(locMast2.getGro1()+10000); |
| | | locMast3.setGro1(locMast3.getGro1()+2000); |
| | | // 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(); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |