自动化立体仓库 - WMS系统
123
zhang
3 天以前 21d0e7ab9d5c7316225a3e9eecf465cd37c9bd85
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -1,5 +1,6 @@
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;
@@ -12,6 +13,7 @@
import com.zy.asrs.entity.result.WrkTraceVo;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import com.zy.common.model.OrderDto;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -28,6 +30,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.*;
@Slf4j
@@ -50,6 +53,8 @@
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private OrderLogService orderLogService;
    @Autowired
    private MatService matService;
@@ -101,7 +106,9 @@
    @RequestMapping(value = "/order/detl/all/auth")
    @ManagerAuth
    public R head(@RequestParam Long orderId){
        return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId)));
        List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId));
        orderDetls.removeIf(next -> next.getQty() > 0);
        return R.ok().add(orderDetls);
    }
    @RequestMapping(value = "/order/form/add/auth")
@@ -267,6 +274,15 @@
        List<WrkTraceVo> wrkTraceVos = new ArrayList<>();
        List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo());
        for (WrkDetl wrkDetl : wrkDetls) {
            if (isJSON(wrkDetl.getOrderNo())) {
                List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class);
                for (OrderDto one : orderDtoList) {
                    if (one.getOrderNo().equals(order.getOrderNo())) {
                        wrkDetl.setAnfme(one.getAnfme());
                        break;
                    }
                }
            }
            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()));
            if (wrkMast == null) {
                WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()));
@@ -324,6 +340,24 @@
        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/order/list/log/auth")
    @ManagerAuth
    public R listLog(@RequestParam(defaultValue = "1")Integer curr,
                  @RequestParam(defaultValue = "10")Integer limit,
                  @RequestParam(required = false)String orderByField,
                  @RequestParam(required = false)String orderByType,
                  @RequestParam Map<String, Object> param){
        EntityWrapper<OrderLog> 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);
        }
        return R.ok(orderLogService.selectPage(new Page<>(curr, limit), wrapper));
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
        for (Map.Entry<String, Object> entry : map.entrySet()){
            String val = String.valueOf(entry.getValue());
@@ -365,6 +399,22 @@
//        }
//        orderDetlService.modifyStatus(orderId, 0);
        return R.ok();
    }
    @RequestMapping(value = "/order/exportOrder/auth")
    @ManagerAuth(memo = "导出订单")
    @Transactional
    public R exportOrder(@RequestParam Long orderId){
        List<String> fields = new ArrayList<>();
        fields.add("orderNo");
        fields.add("matnr");
        fields.add("maktx");
        fields.add("specs");
        fields.add("anfme");
        fields.add("qty");
        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
        List<OrderDetl> orderDetls = orderDetlService.selectList(wrapper.eq("order_id",orderId));
        return R.ok(exportSupport(orderDetls, fields));
    }
    @RequestMapping(value = "/order/export/auth")
@@ -449,6 +499,12 @@
            Double anfme = Double.parseDouble(dataFormatter.formatCellValue(row.getCell(3)));
            // 下单时间
            String timeStr = dataFormatter.formatCellValue(row.getCell(4));
            if (Cools.isEmpty(timeStr)) {
                timeStr = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(now);
            }
            // 单据类型
            Long orderType = Long.parseLong(dataFormatter.formatCellValue(row.getCell(5)));
            Date time = null;
            try {
                time = DateUtils.convert(timeStr, DateUtils.yyyyMMddHHmmss_F);
@@ -471,7 +527,7 @@
                        String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]
                        uuid,    // 订单编号
                        timeStr,    // 单据日期
                        14L,    // 单据类型
                        orderType,    // 单据类型
                        null,    // 项目编号
                        null,    //
                        null,    // 调拨项目编号
@@ -497,9 +553,9 @@
                        null,    // 物流单号
                        1L,    // 订单状态
                        1,    // 状态
                        9527L,    // 添加人员
                        userId,    // 添加人员
                        now,    // 添加时间
                        9527L,    // 修改人员
                        userId,    // 修改人员
                        now,    // 修改时间
                        null    // 备注
                );
@@ -516,9 +572,9 @@
                orderDetl.setAnfme(anfme);
                orderDetl.setOrderId(order.getId());
                orderDetl.setOrderNo(order.getOrderNo());
                orderDetl.setCreateBy(9527L);
                orderDetl.setCreateBy(userId);
                orderDetl.setCreateTime(now);
                orderDetl.setUpdateBy(9527L);
                orderDetl.setUpdateBy(userId);
                orderDetl.setUpdateTime(now);
                orderDetl.setStatus(1);
                orderDetl.setQty(0.0D);
@@ -533,5 +589,4 @@
        }
        return R.ok("导入成功");
    }
}