| | |
| | | package com.zy.asrs.wms.asrs.controller;
|
| | |
|
| | | import com.alibaba.fastjson.JSON;
|
| | | import com.alibaba.fastjson.JSONObject;
|
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
| | | import com.zy.asrs.framework.common.Cools;
|
| | | import com.zy.asrs.framework.common.R;
|
| | | import com.zy.asrs.framework.exception.CoolException;
|
| | | import com.zy.asrs.wms.asrs.entity.MatField;
|
| | | import com.zy.asrs.wms.asrs.entity.OrderType;
|
| | | import com.zy.asrs.wms.asrs.entity.*;
|
| | | import com.zy.asrs.wms.asrs.entity.enums.OrderSettleType;
|
| | | import com.zy.asrs.wms.asrs.entity.param.CreateOrderParam;
|
| | | import com.zy.asrs.wms.asrs.entity.param.UpdateOrderParam;
|
| | | import com.zy.asrs.wms.asrs.entity.template.OrderTemplate;
|
| | | import com.zy.asrs.wms.asrs.service.MatFieldService;
|
| | | import com.zy.asrs.wms.asrs.service.OrderTypeService;
|
| | | import com.zy.asrs.wms.asrs.service.*;
|
| | | import com.zy.asrs.wms.asrs.service.impl.OrderDetlServiceImpl;
|
| | | import com.zy.asrs.wms.common.annotation.CacheData;
|
| | | import com.zy.asrs.wms.common.annotation.OperationLog;
|
| | | import com.zy.asrs.wms.common.domain.BaseParam;
|
| | | import com.zy.asrs.wms.common.domain.KeyValVo;
|
| | | import com.zy.asrs.wms.common.domain.PageParam;
|
| | | import com.zy.asrs.wms.asrs.entity.Order;
|
| | | import com.zy.asrs.wms.asrs.service.OrderService;
|
| | | import com.zy.asrs.wms.system.controller.BaseController;
|
| | | import com.zy.asrs.wms.utils.ExcelUtil;
|
| | | import com.zy.asrs.wms.utils.Utils;
|
| | |
| | | private OrderTypeService orderTypeService;
|
| | | @Autowired
|
| | | private MatFieldService matFieldService;
|
| | | @Autowired
|
| | | private OrderDetlServiceImpl orderDetlService;
|
| | | @Autowired
|
| | | private CacheSiteService cacheSiteService;
|
| | | @Autowired
|
| | | private WaveService waveService;
|
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:list')")
|
| | | @PostMapping("/order/page")
|
| | |
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:list')")
|
| | | @PostMapping("/order/in/page")
|
| | | // @CacheData(tableName = {"man_order", "man_order_type"})
|
| | | public R pageIn(@RequestBody Map<String, Object> map) {
|
| | | Map<String, String> order = new HashMap<>();
|
| | | if (!Objects.isNull(map.get("orderBy"))) {
|
| | | order = JSONObject.parseObject(JSON.toJSONString(map.get("orderBy")), Map.class);
|
| | | }
|
| | | String condition = map.getOrDefault("condition", "").toString();
|
| | | BaseParam baseParam = buildParam(map, BaseParam.class);
|
| | | PageParam<Order, BaseParam> pageParam = new PageParam<>(baseParam, Order.class);
|
| | | // QueryWrapper<Order> wrapper = pageParam.buildWrapper(true);
|
| | | QueryWrapper<Order> wrapper = new QueryWrapper<>();
|
| | |
|
| | | QueryWrapper<Order> wrapper = pageParam.ignoreWrapper(true);
|
| | | ArrayList<Long> types = new ArrayList<>();
|
| | | for (OrderType orderType : orderTypeService.list(new LambdaQueryWrapper<OrderType>().eq(OrderType::getType, 1))) {
|
| | | for (OrderType orderType : orderTypeService.list(new LambdaQueryWrapper<OrderType>().in(OrderType::getType, 1))) {
|
| | | types.add(orderType.getId());
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | wrapper.orderByDesc("create_time");
|
| | |
|
| | | if (!Cools.isEmpty(order)) {
|
| | | String fileds = Utils.toSymbolCase(order.get("field"), '_');
|
| | | if (order.get("order").equals("asc")) {
|
| | | wrapper.orderByAsc(fileds);
|
| | | } else {
|
| | | wrapper.orderByDesc(fileds);
|
| | | }
|
| | | } else {
|
| | | wrapper.orderByDesc("create_time");
|
| | | }
|
| | |
|
| | | return R.ok().add(orderService.page(pageParam, wrapper));
|
| | | }
|
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:list')")
|
| | | @PostMapping("/order/out/page")
|
| | | // @CacheData(tableName = {"man_order", "man_order_type"})
|
| | | public R pageOut(@RequestBody Map<String, Object> map) {
|
| | | String condition = map.getOrDefault("condition", "").toString();
|
| | | BaseParam baseParam = buildParam(map, BaseParam.class);
|
| | | PageParam<Order, BaseParam> pageParam = new PageParam<>(baseParam, Order.class);
|
| | | // QueryWrapper<Order> wrapper = pageParam.buildWrapper(true);
|
| | | QueryWrapper<Order> wrapper = new QueryWrapper<>();
|
| | |
|
| | | ArrayList<Long> types = new ArrayList<>();
|
| | | for (OrderType orderType : orderTypeService.list(new LambdaQueryWrapper<OrderType>().eq(OrderType::getType, 2))) {
|
| | | types.add(orderType.getId());
|
| | | }
|
| | |
|
| | | wrapper.in("order_type", types);
|
| | |
|
| | | if (map.containsKey("orderOut")) {
|
| | | wrapper.isNull("wave_id");
|
| | | }
|
| | |
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:list')")
|
| | | @PostMapping("/order/list")
|
| | | // @CacheData(tableName = {"man_order"})
|
| | | public R list(@RequestBody Map<String, Object> map) {
|
| | | return R.ok().add(orderService.list());
|
| | | }
|
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:list')")
|
| | | @GetMapping("/order/{id}")
|
| | | // @CacheData(tableName = {"man_order"})
|
| | | public R get(@PathVariable("id") Long id) {
|
| | | return R.ok().add(orderService.getById(id));
|
| | | Order order = orderService.getById(id);
|
| | | List<OrderDetl> detls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
|
| | | if (!detls.isEmpty()) {
|
| | | Double sum = detls.stream().mapToDouble(OrderDetl::getAnfme).sum();
|
| | | order.setWaitQty(sum);
|
| | | }
|
| | | if (!Objects.isNull(order.getWaveId())) {
|
| | | Wave wave = waveService.getById(order.getWaveId());
|
| | | if (!Objects.isNull(wave)) {
|
| | | order.setSite(wave.getSite());
|
| | | }
|
| | | }
|
| | | return R.ok().add(order);
|
| | | }
|
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:save')")
|
| | |
| | | @PostMapping("/order/save")
|
| | | @Transactional
|
| | | public R save(@RequestBody CreateOrderParam param) {
|
| | | orderService.createOrder(param);
|
| | | orderService.createOrder(param, getLoginUserId());
|
| | | return R.ok("添加成功");
|
| | | }
|
| | |
|
| | |
| | | public R update(@RequestBody UpdateOrderParam param) {
|
| | | orderService.updateOrder(param);
|
| | | return R.ok("修改成功");
|
| | | }
|
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:remove')")
|
| | | @OperationLog("完结订单")
|
| | | @PostMapping("/order/done/{id}")
|
| | | public R orderToDone(@PathVariable Long id) {
|
| | | return R.ok().add(orderService.doneOrder(id));
|
| | | }
|
| | |
|
| | | @PreAuthorize("hasAuthority('asrs:order:remove')")
|
| | |
| | | CreateOrderParam orderParam = (CreateOrderParam) entry.getValue();
|
| | | orderParams.add(orderParam);
|
| | | }
|
| | | orderService.createOrder(orderParams);
|
| | | orderService.createOrder(orderParams, getLoginUserId());
|
| | | return R.ok();
|
| | | }
|
| | |
|