自动化立体仓库 - WMS系统
#
whycq
2024-04-16 2002142e29ed84ae83d55a9ceedb90d13ef84aaf
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -98,6 +98,59 @@
        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
    }
    //  所有入库订单
    @RequestMapping(value = "/order/detls/in/page/auth")
    @ManagerAuth
    public R orderIn(@RequestParam(defaultValue = "1")Integer curr,
                  @RequestParam(defaultValue = "10000")Integer limit,
                  @RequestParam(required = false)String orderByField,
                  @RequestParam(required = false)String orderByType,
                  @RequestParam Map<String, Object> param){
        EntityWrapper<Order> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
            wrapper.orderBy("settle").orderBy("create_time", false);
        }
        wrapper.eq("status", 1);
        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
        List<Long> docIds = new ArrayList<>();
        for (DocType pakin : pakins) {
            docIds.add(pakin.getDocId());
        }
        wrapper.in("doc_type",docIds);
        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
    }
    //  所有入库订单明细
    @RequestMapping(value = "/order/detls/pakin/page/auth")
    @ManagerAuth
    public R orderDetls(@RequestParam(defaultValue = "1")Integer curr,
                        @RequestParam(defaultValue = "100")Integer limit,
                        @RequestParam(required = false)String orderByField,
                        @RequestParam(required = false)String orderByType,
                        @RequestParam Map<String, Object> param){
        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
            wrapper.orderBy("create_time", false);
        }
        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
        List<Long> docIds = new ArrayList<>();
        for (DocType pakin : pakins) {
            docIds.add(pakin.getDocId());
        }
        EntityWrapper<Order> orderEntityWrapper = new EntityWrapper<>();
        List<Order> orders = orderService.selectList(orderEntityWrapper.in("doc_type",docIds));
        List<String> orderNos = new ArrayList<>();
        for (Order order : orders) {
            orderNos.add(order.getOrderNo());
        }
        wrapper.in("order_no",orderNos);
        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/order/detl/all/auth")
    @ManagerAuth
    public R head(@RequestParam Long orderId){
@@ -439,34 +492,34 @@
        DataFormatter dataFormatter = new DataFormatter();
        for (int i = 1; i < totalRows; i++) {
            Row row = sheet.getRow(i);
            // 订单编号
            String uuid = dataFormatter.formatCellValue(row.getCell(0));
            // 物料号
            String maktx = dataFormatter.formatCellValue(row.getCell(1));
            // 物料号
            //单据类型
            String docName =  dataFormatter.formatCellValue(row.getCell(0));
            //单据编号
            String uuid = dataFormatter.formatCellValue(row.getCell(1));
            //物料号
            String matnr = dataFormatter.formatCellValue(row.getCell(2));
            //销售单号
            String csocode = dataFormatter.formatCellValue(row.getCell(3));
            //自由项
            String isocode = dataFormatter.formatCellValue(row.getCell(4));
            // 数量
            Double anfme = Double.parseDouble(dataFormatter.formatCellValue(row.getCell(3)));
            // 下单时间
            String timeStr = dataFormatter.formatCellValue(row.getCell(4));
            // 销售订单号
            String csocode = dataFormatter.formatCellValue(row.getCell(5));
            // 销售订单行号
            String isocode = dataFormatter.formatCellValue(row.getCell(6));
            Date time = null;
            try {
                time = DateUtils.convert(timeStr, DateUtils.yyyyMMddHHmmss_F);
            } catch (Exception e) {
                throw new CoolException("第" + i + "行下的那时间解析失败,请重新导入!");
            if(Cools.isEmpty(dataFormatter.formatCellValue(row.getCell(5)))){
                continue;
            }
            // 商品系列
            String tagName = dataFormatter.formatCellValue(row.getCell(5));
            // 规格
            String specs = dataFormatter.formatCellValue(row.getCell(6));
            Double anfme = Double.parseDouble(dataFormatter.formatCellValue(row.getCell(5)));
            Mat mat = matService.selectByMatnr(matnr);
            if (null == mat) {
                throw new CoolException(matnr + "商品编码的商品不存在,请重新导入!");
            }
            //String timeStr = DateUtils.convert(new Date());
            DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", docName));
            if(docType.getPakin() == 1){
                uuid += "_I";
            }else {
                uuid += "_O";
            }
            Order order = orderService.selectByNo(uuid);
@@ -474,8 +527,8 @@
                order = new Order(
                        String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]
                        uuid,    // 订单编号
                        timeStr,    // 单据日期
                        14L,    // 单据类型
                        null,    // 单据日期
                        docType.getDocId(),    // 单据类型
                        null,    // 项目编号
                        null,    //
                        null,    // 调拨项目编号
@@ -510,6 +563,9 @@
                if (!orderService.insert(order)) {
                    throw new CoolException("生成单据主档失败,请重新导入!");
                }
            }else {
                order.setSettle(order.getSettle() == 1L ? 1L : 2L );
                orderService.updateById(order);
            }
            OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), matnr, null,csocode,isocode);
@@ -524,6 +580,8 @@
                orderDetl.setCreateTime(now);
                orderDetl.setUpdateBy(userId);
                orderDetl.setUpdateTime(now);
                orderDetl.setThreeCode(csocode);
                orderDetl.setDeadTime(isocode);
                orderDetl.setStatus(1);
                orderDetl.setQty(0.0D);
                if (!orderDetlService.insert(orderDetl)) {