|  |  | 
 |  |  | 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")
 | 
 |  |  | 
 |  |  |         QueryWrapper<Order> wrapper = new QueryWrapper<>();
 | 
 |  |  | 
 | 
 |  |  |         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");
 | 
 |  |  | 
 | 
 |  |  |         return R.ok().add(orderService.page(pageParam, wrapper));
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     @PreAuthorize("hasAuthority('asrs:order:list')")
 | 
 |  |  |     @PostMapping("/order/out/page")
 | 
 |  |  |     @CacheData(tableName = {"man_order", "man_order_type"})
 | 
 |  |  | //    @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);
 | 
 |  |  | 
 |  |  |                 }
 | 
 |  |  |             }
 | 
 |  |  |         }
 | 
 |  |  | 
 | 
 |  |  |         wrapper.orderByDesc("create_time");
 | 
 |  |  |         return R.ok().add(orderService.page(pageParam, wrapper));
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     @PreAuthorize("hasAuthority('asrs:order:list')")
 | 
 |  |  |     @PostMapping("/order/list")
 | 
 |  |  |     @CacheData(tableName = {"man_order"})
 | 
 |  |  | //    @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"})
 | 
 |  |  | //    @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')")
 |