| | |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.param.*; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.OpenService; |
| | | import com.zy.common.model.DetlDto; |
| | | import com.zy.common.web.BaseController; |
| | |
| | | if (Cools.isEmpty(param.getUpc())) { |
| | | return R.error("UPC[upc]不能为空"); |
| | | } |
| | | if (Cools.isEmpty(param.getSupplier())) { |
| | | return R.error("货源[supplier]不能为空"); |
| | | if (Cools.isEmpty(param.getItem())) { |
| | | return R.error("UPC[item]不能为空"); |
| | | } |
| | | // if (Cools.isEmpty(param.getSupplier())) { |
| | | // return R.error("货源[supplier]不能为空"); |
| | | // } |
| | | if (Cools.isEmpty(param.getStaNo())) { |
| | | return R.error("分拣点位[staNo]不能为空"); |
| | | } |
| | | openService.taskArmReport(param); |
| | | if (Cools.isEmpty(param.getBindingTags())) { |
| | | return R.error("分拣绑定类别[bindingTags]不能为空"); |
| | | } |
| | | try{ |
| | | openService.taskArmReport(param); |
| | | } catch (Exception e){ |
| | | return R.error(e.getMessage()).add(e.getMessage()); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | } |
| | | if (Cools.isEmpty(param.getId())) { |
| | | return R.error("单据编号[order_id]不能为空"); |
| | | } |
| | | if (Integer.parseInt(param.getId())<2){ |
| | | return R.ok().add("来料口空间复位成功"); |
| | | } |
| | | if (Cools.isEmpty(param.getType())) { |
| | | return R.error("客人型号[pick_num]不能为空"); |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 是否存在后续托盘 |
| | | */ |
| | | @PostMapping("/arm/task/order_sign") |
| | | @AppAuth(memo = "是否存在后续托盘") |
| | | public synchronized R TaskArmWorkOrderSign(@RequestHeader(required = false) String appkey, |
| | | @RequestBody OrderArmEndParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | if (Cools.isEmpty(param)) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | | if (Cools.isEmpty(param.getArm_no())) { |
| | | return R.error("机械臂编号[Arm_no]不能为空"); |
| | | } |
| | | if (Cools.isEmpty(param.getOrder_id())) { |
| | | return R.error("单据编号[order_id]不能为空"); |
| | | } |
| | | try{ |
| | | param.OrderIdTwo(sign_arm_order,sign_arm_sku); |
| | | } catch (Exception e){ |
| | | return R.error("单据编号[order_id]以 "+sign_arm_sku+" 与 "+sign_arm_order+" 作为拆分标记拆分失败!!!"); |
| | | } |
| | | |
| | | boolean taskArmWorkOrderSign = openService.TaskArmWorkOrderSign(param); |
| | | return R.ok().add(taskArmWorkOrderSign); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * AGV上报接收 |
| | | */ |
| | | @PostMapping("/agv/task/v1/agvCallback") |
| | | // @AppAuth(memo = "AGV上报接收") |
| | | public synchronized R TaskAgvReport(@RequestHeader(required = false) String appkey, |
| | | @RequestBody TaskAgvReportParam param, |
| | | HttpServletRequest request) { |
| | | // auth(appkey, param, request); |
| | | // 日志记录 |
| | | ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class); |
| | | apiLogService.save( |
| | | "AGV上报接收", |
| | | "/open/asrs/agv/task/v1/agvCallback", |
| | | null, |
| | | request.getRemoteAddr(), |
| | | JSON.toJSONString(param), |
| | | null, |
| | | true |
| | | ); |
| | | if (Cools.isEmpty(param)) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | | if (Cools.isEmpty(param.getReqCode())) { |
| | | return R.error("WMS任务号[reqCode]不能为空"); |
| | | } |
| | | if (Cools.isEmpty(param.getTaskCode())) { |
| | | return R.error("WMS任务号[reqCode]不能为空"); |
| | | } |
| | | String taskCode = param.getTaskCode(); |
| | | String[] split = taskCode.split("-"); |
| | | param.setTaskNo(Integer.parseInt(split[0])); |
| | | // if (Cools.isEmpty(param.getTimestamp())) { |
| | | // return R.error("RGV任务号[timestamp]不能为空"); |
| | | // } |
| | | boolean taskAgvReport = openService.TaskAgvReport(param); |
| | | if (taskAgvReport){ |
| | | return R.ok(); |
| | | } |
| | | return R.error("任务号不存在"); |
| | | } |
| | | |
| | | /** |
| | | * PDA创建AGV任务 |
| | | */ |
| | | @PostMapping("/agv/task/v1/createTask") |
| | | @AppAuth(memo = "PDA创建AGV任务") |
| | | public synchronized R TaskAgvCreate(@RequestHeader(required = false) String appkey, |
| | | @RequestBody TaskAgvCreateParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | if (Cools.isEmpty(param)) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | | boolean taskAgvCreate = openService.taskAgvCreate(param); |
| | | if (taskAgvCreate){ |
| | | return R.ok(); |
| | | } |
| | | return R.error("任务号不存在"); |
| | | } |
| | | |
| | | /** |
| | | * PDA获取AGV库位 |
| | | */ |
| | | @PostMapping("/agv/loc/v1/getLocList") |
| | | @AppAuth(memo = "PDA检索AGV库位") |
| | | public synchronized R GetAgvLocList(@RequestHeader(required = false) String appkey, |
| | | @RequestBody AgvLocListParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | |
| | | |
| | | List<AgvLocListDetlParam> list = openService.getAgvLocList(param); |
| | | if (!list.isEmpty()) { |
| | | return R.ok(list); |
| | | } |
| | | return R.error("库位不存在或无明细"); |
| | | } |
| | | |
| | | /** |
| | | * PDA绑定解绑 |
| | | */ |
| | | @PostMapping("/agv/bindCtnrAndBin/v1") |
| | | @AppAuth(memo = "PDA绑定与解绑") |
| | | public synchronized R bindCtnrAndBin(@RequestHeader(required = false) String appkey, |
| | | @RequestBody bindCtnrAndBinParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | if (Cools.isEmpty(param)) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | | boolean bindCtnrAndBin = openService.bindCtnrAndBin(param); |
| | | if (bindCtnrAndBin) { |
| | | return R.ok(); |
| | | } |
| | | return R.error("库位不存在或无明细"); |
| | | } |
| | | |
| | | } |