| | |
| | | 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.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.RCSParam; |
| | | import com.zy.asrs.entity.result.MobileAdjustResult; |
| | | import com.zy.asrs.mapper.ManLocDetlMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.WorkMastScheduler; |
| | | import com.zy.common.model.LocDto; |
| | | import com.zy.common.model.TaskDto; |
| | | import com.zy.common.model.WrkDto; |
| | | import com.zy.common.model.enums.WorkNoType; |
| | | import com.zy.common.service.CommonService; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.common.web.BaseController; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | |
| | | import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; |
| | | |
| | | /** |
| | | * 移动端接口控制器 |
| | |
| | | @RestController |
| | | @RequestMapping("mobile") |
| | | public class MobileController extends BaseController { |
| | | private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class); |
| | | |
| | | @Autowired |
| | | private MobileService mobileService; |
| | |
| | | private CommonService commonService; |
| | | @Autowired |
| | | private StaDescService staDescService; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | @Value("${rcs.address.url}") |
| | | private String url; |
| | | @Value("${rcs.address.attrcs}") |
| | | private String attrcs; |
| | | |
| | | |
| | | // 商品上架 |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * agv扫描源站点显示目标站点 |
| | | * @param locNo |
| | | * @return |
| | | */ |
| | | @RequestMapping("/AGVSite") |
| | | public R AGVSite(@RequestParam(required = false) String locNo){ |
| | | HashMap<Integer,String> map=new HashMap<>(); |
| | | map.put(100,"100-入库口"); |
| | | map.put(1000,"1000-补空板口"); |
| | | map.put(2001,"2001-出库口1"); |
| | | map.put(2002,"2002-出库口2"); |
| | | map.put(3001,"3001-作业口1"); |
| | | map.put(3002,"3002-作业口2"); |
| | | map.remove(Integer.parseInt(locNo)); |
| | | return R.ok(map); |
| | | } |
| | | |
| | | /** |
| | | * 执行移库任务 |
| | | * @param sourceStaNo |
| | | * @param staNo |
| | | * @return |
| | | */ |
| | | @RequestMapping("/AGVMove") |
| | | public R AGVMove(@RequestParam(required = false) String sourceStaNo |
| | | ,@RequestParam(required = false) String staNo){ |
| | | RCSParam rcsParam = new RCSParam(); |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss"); |
| | | String formattedDate = now.format(formatter); // 格式化日期时间 |
| | | //网络流水号 |
| | | rcsParam.setReqId(now.toString()); |
| | | //应用标识 |
| | | rcsParam.setClientId("WMS"); |
| | | //通知时间 |
| | | rcsParam.setReqTime(formattedDate); |
| | | RCSParam.DataBody dataBody=new RCSParam.DataBody(); |
| | | //任务号 |
| | | dataBody.setId(formattedDate); |
| | | |
| | | List<RCSParam.TaskBody> taskBodyList=new ArrayList<>(); |
| | | RCSParam.TaskBody taskBody=new RCSParam.TaskBody(); |
| | | //取货类型 |
| | | taskBody.setType("load"); |
| | | taskBody.setStation(sourceStaNo); |
| | | taskBodyList.add(taskBody); |
| | | |
| | | RCSParam.TaskBody taskBody1=new RCSParam.TaskBody(); |
| | | //放货类型 |
| | | taskBody1.setType("unload"); |
| | | taskBody1.setStation(staNo); |
| | | taskBodyList.add(taskBody1); |
| | | |
| | | dataBody.setTasks(taskBodyList); |
| | | rcsParam.setData(dataBody); |
| | | String response =""; |
| | | Boolean bool =false; |
| | | |
| | | try { |
| | | log.info("wms派发搬运任务给AGV搬运={}", rcsParam); |
| | | response = new HttpHandler.Builder() |
| | | // .setHeaders(headParam) |
| | | .setUri(url) |
| | | .setPath(attrcs) |
| | | .setJson(JSON.toJSONString(rcsParam)) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | if(jsonObject.getBoolean("IsSuccess")){ |
| | | bool = true; |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("wms派发搬运任务给AGV搬运失败返回值={}", response); |
| | | } finally { |
| | | apiLogService.save("wms派发搬运任务给AGV搬运" |
| | | , url + attrcs |
| | | , null |
| | | , "127.0.0.1" |
| | | , JSON.toJSONString(rcsParam) |
| | | , response |
| | | , bool |
| | | ); |
| | | } |
| | | if(bool){ |
| | | return R.ok(); |
| | | }else { |
| | | return R.error("下发任务失败"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | // 根据库位码和商品码搜索商品 |
| | | @RequestMapping("/mat/find/auth") |
| | | public R find(@RequestParam(required = false) String locNo |