| | |
| | | import com.core.annotations.AppAuth; |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.zy.asrs.entity.AgvCallbackDto; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.param.MatSyncParam; |
| | | import com.zy.asrs.entity.param.OpenLocDetlQueryParam; |
| | | import com.zy.asrs.entity.param.OpenOrderCompleteParam; |
| | | import com.zy.asrs.entity.param.OpenOrderPakinParam; |
| | | import com.zy.asrs.entity.param.OpenOrderPakoutParam; |
| | | import com.zy.asrs.service.LocDetlService; |
| | | import com.zy.asrs.service.OpenService; |
| | | import com.zy.common.model.DetlDto; |
| | | import com.zy.common.model.MesPakinParam; |
| | | import com.zy.common.model.MesPakoutParam; |
| | | import com.zy.common.web.BaseController; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * Created by vincent on 2022/4/8 |
| | |
| | | |
| | | @Autowired |
| | | private OpenService openService; |
| | | |
| | | @Resource |
| | | private LocDetlService locDetlService; |
| | | |
| | | @PostMapping("/api/agv_callback") |
| | | @AppAuth(memo = "agv任务回调") |
| | | public synchronized R agvCallback(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) AgvCallbackDto param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | return openService.agvCallback(param); |
| | | } |
| | | |
| | | // 入库完成上报测试接口 |
| | | @PostMapping("/inOrderFinishReport") |
| | | public synchronized R inOrderFinishReport(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) MesPakinParam param, |
| | | HttpServletRequest request) { |
| | | return R.ok(); |
| | | } |
| | | |
| | | // 出库完成上报测试接口 |
| | | @PostMapping("/outOrderFinishReport") |
| | | public synchronized R outOrderFinishReport(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) MesPakoutParam param, |
| | | HttpServletRequest request) { |
| | | return R.ok(); |
| | | } |
| | | |
| | | //呼叫agv测试接口 |
| | | @PostMapping("/api/entity/create/one") |
| | | @AppAuth(memo = "呼叫agv测试接口") |
| | | public synchronized R create(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) MesPakoutParam param, |
| | | HttpServletRequest request) { |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("/order/matSync/default/v2") |
| | | // @AppAuth(memo = "商品信息同步接口") |
| | |
| | | } |
| | | |
| | | @PostMapping("/order/matSync/default/v1") |
| | | // @AppAuth(memo = "商品信息同步接口") |
| | | @AppAuth(memo = "物料信息同步") |
| | | public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) MatSyncParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | if (Cools.isEmpty(param)) { |
| | | if (Cools.isEmpty(param,param.getMatDetails())) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | | openService.syncMat(param); |
| | |
| | | * 添加入库单 |
| | | */ |
| | | @PostMapping("/order/pakin/default/v1") |
| | | @AppAuth(memo = "入库单据下发") |
| | | public synchronized R pakinOrderCreate(@RequestHeader(required = false) String appkey, |
| | | @RequestBody OpenOrderPakinParam param, |
| | | HttpServletRequest request) { |
| | |
| | | return R.error("单据类型[orderType]不能为空"); |
| | | } |
| | | if (Cools.isEmpty(param.getOrderDetails())) { |
| | | return R.error("单据明细[orderDetails]不能为空"); |
| | | } |
| | | if (!param.getOptType().equals("delete") && Cools.isEmpty(param.getOrderDetails())) { |
| | | return R.error("单据明细[orderDetails]不能为空"); |
| | | } |
| | | openService.pakinOrderCreate(param); |
| | |
| | | * 添加出库单 |
| | | */ |
| | | @PostMapping("/order/pakout/default/v1") |
| | | @AppAuth(memo = "添加订单出库") |
| | | @AppAuth(memo = "出库单据下发") |
| | | public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey, |
| | | @RequestBody OpenOrderPakoutParam param, |
| | | HttpServletRequest request) { |
| | |
| | | return R.error("单据类型[orderType]不能为空"); |
| | | } |
| | | if (Cools.isEmpty(param.getOrderDetails())) { |
| | | return R.error("单据明细[orderDetails]不能为空"); |
| | | } |
| | | if (!param.getOptType().equals("delete") && Cools.isEmpty(param.getOrderDetails())) { |
| | | return R.error("单据明细[orderDetails]不能为空"); |
| | | } |
| | | openService.pakoutOrderCreate(param); |
| | |
| | | return R.ok().add(openService.queryStock()); |
| | | } |
| | | |
| | | /** |
| | | * 库存明细查询 |
| | | */ |
| | | @PostMapping("/locDetl/list/default/v1") |
| | | @AppAuth(memo = "库存明细查询") |
| | | public R queryLocDetlList(@RequestHeader(required = false) String appkey, |
| | | @RequestBody OpenLocDetlQueryParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | if (Cools.isEmpty(param)) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | | EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); |
| | | Map<String, Object> paramMap = param.toQueryMap(); |
| | | excludeTrash(paramMap); |
| | | param.convertToWrapper(wrapper); |
| | | allLike(LocDetl.class, paramMap.keySet(), wrapper, param.getCondition()); |
| | | if (!Cools.isEmpty(param.getOrderByField())) { |
| | | wrapper.orderBy(humpToLine(param.getOrderByField()), "asc".equals(param.getOrderByType())); |
| | | } |
| | | Integer curr = param.getCurr() != null ? param.getCurr() : 1; |
| | | Integer limit = param.getLimit() != null ? param.getLimit() : 10; |
| | | return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | |
| | | private void auth(String appkey, Object obj, HttpServletRequest request) { |
| | | log.info("{}接口被访问;appkey:{};请求数据:{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj)); |
| | | log.info("{}接口被访问;appkey:{};请求数据:{}", request.getRequestURI(), appkey, JSON.toJSONString(obj)); |
| | | request.setAttribute("cache", obj); |
| | | if (!auth) { |
| | | return; |