自动化立体仓库 - WMS系统
chen.llin
2025-12-24 75c252bce336b9f1bd024cc186ce09992a0b01bc
出/入库单据记录
17个文件已添加
2876 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderDetlPakinLogController.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderDetlPakoutLogController.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderPakinLogController.java 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderPakoutLogController.java 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlPakinLogService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlPakoutLogService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderPakinLogService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderPakoutLogService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlPakinLogServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutLogServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderPakinLogServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderPakoutLogServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/出入库历史表创建.sql 1385 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/orderPakinLog/order.js 219 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/orderPakoutLog/order.js 219 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/orderPakinLog/order.html 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/orderPakoutLog/order.html 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderDetlPakinLogController.java
New file
@@ -0,0 +1,64 @@
package com.zy.asrs.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.OrderDetlPakinLog;
import com.zy.asrs.service.OrderDetlPakinLogService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("order/pakinLog")
public class OrderDetlPakinLogController extends BaseController {
    @Autowired
    private OrderDetlPakinLogService orderDetlService;
    @RequestMapping(value = "/orderDetl/list/auth")
    @ManagerAuth
    public R list(@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<OrderDetlPakinLog> 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);
        }
        Page<OrderDetlPakinLog> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
        return R.ok(orderDetlPage);
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            String key = entry.getKey();
            String val = String.valueOf(entry.getValue());
            if (Cools.isEmpty(val) || "null".equals(val)) {
                continue;
            }
            if (val.contains(RANGE_TIME_LINK)) {
                String[] dates = val.split(RANGE_TIME_LINK);
                wrapper.ge(key, DateUtils.convert(dates[0]));
                wrapper.le(key, DateUtils.convert(dates[1]));
            } else if ("order_id".equals(key) || "orderId".equals(key)) {
                // order_id使用精确匹配
                wrapper.eq(key, val);
            } else {
                wrapper.like(key, val);
            }
        }
    }
}
src/main/java/com/zy/asrs/controller/OrderDetlPakoutLogController.java
New file
@@ -0,0 +1,64 @@
package com.zy.asrs.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.OrderDetlPakoutLog;
import com.zy.asrs.service.OrderDetlPakoutLogService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("order/pakoutLog")
public class OrderDetlPakoutLogController extends BaseController {
    @Autowired
    private OrderDetlPakoutLogService orderDetlService;
    @RequestMapping(value = "/orderDetl/list/auth")
    @ManagerAuth
    public R list(@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<OrderDetlPakoutLog> 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);
        }
        Page<OrderDetlPakoutLog> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
        return R.ok(orderDetlPage);
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) {
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            String key = entry.getKey();
            String val = String.valueOf(entry.getValue());
            if (Cools.isEmpty(val) || "null".equals(val)) {
                continue;
            }
            if (val.contains(RANGE_TIME_LINK)) {
                String[] dates = val.split(RANGE_TIME_LINK);
                wrapper.ge(key, DateUtils.convert(dates[0]));
                wrapper.le(key, DateUtils.convert(dates[1]));
            } else if ("order_id".equals(key) || "orderId".equals(key)) {
                // order_id使用精确匹配
                wrapper.eq(key, val);
            } else {
                wrapper.like(key, val);
            }
        }
    }
}
src/main/java/com/zy/asrs/controller/OrderPakinLogController.java
New file
@@ -0,0 +1,152 @@
package com.zy.asrs.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.*;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.result.WrkTraceVo;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@RestController
@RequestMapping("order/pakinLog")
public class OrderPakinLogController extends BaseController {
    @Autowired
    private OrderPakinLogService orderService;
    @Autowired
    private OrderDetlPakinLogService orderDetlService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private WrkMastLogService wrkMastLogService;
    @RequestMapping(value = "/order/head/page/auth")
    @ManagerAuth
    public R head(@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<OrderPakinLog> 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(orderService.selectPage(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/order/detl/all/auth")
    @ManagerAuth
    public R head(@RequestParam Long orderId) {
        return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetlPakinLog>().eq("order_id", orderId)));
    }
    @PostMapping(value = "/order/wrk/trace/auth")
    @ManagerAuth
    public R orderWrkTrace(@RequestParam("orderId") Long orderId) {
        OrderPakinLog order = orderService.selectById(orderId);
        if (null == order) {
            return R.error("单据不存在");
        }
        // æ•°é‡ç»Ÿè®¡
        List<OrderDetlPakinLog> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetlPakinLog>().eq("order_id", orderId));
        double totalQty = 0;
        double wrkQty = 0;
        double lackQty = 0;
        double endQty = 0;
        for (OrderDetlPakinLog orderDetl : orderDetls) {
            totalQty = totalQty + orderDetl.getAnfme();
            wrkQty = wrkQty + (orderDetl.getWorkQty() != null ? orderDetl.getWorkQty() : 0);
            endQty = endQty + (orderDetl.getQty() != null ? orderDetl.getQty() : 0);
        }
        // ä»»åŠ¡è¿½æº¯
        List<WrkTraceVo> wrkTraceVos = new ArrayList<>();
        List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo());
        for (WrkDetl wrkDetl : wrkDetls) {
            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()));
                if (wrkMastLog != null && wrkMastLog.getIoType() == 103) {
                    wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()).eq("io_type", 53));
                }
                if (wrkMastLog != null) {
                    wrkMast = new WrkMast();
                    BeanUtils.copyProperties(wrkMastLog, wrkMast);
                } else {
                    continue;
                }
            }
            boolean exist = false;
            for (WrkTraceVo vo : wrkTraceVos) {
                if (vo.getWrkNo().equals(wrkMast.getWrkNo()) && vo.getIoTimeStr().equals(DateUtils.convert(wrkMast.getIoTime()))) {
                    vo.getWrkDetls().add(wrkDetl);
                    exist = true;
                }
            }
            if (!exist) {
                WrkTraceVo vo = new WrkTraceVo(wrkMast.getWrkNo(), DateUtils.convert(wrkMast.getIoTime()), wrkMast, wrkDetl);
                wrkTraceVos.add(vo);
            }
        }
        if (!Cools.isEmpty(wrkTraceVos) && wrkTraceVos.size() > 1) {
            wrkTraceVos.sort((o1, o2) -> (int) (o2.getWrkMast().getIoTime().getTime() - o1.getWrkMast().getIoTime().getTime()));
        }
        return R.ok().add(Cools
                .add("list", wrkTraceVos)
                .add("orderNo", order.getOrderNo())
                .add("totalQty", totalQty)
                .add("wrkQty", wrkQty)
                .add("lackQty", lackQty)
                .add("endQty", endQty)
        );
    }
    @RequestMapping(value = "/order/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(orderService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/order/list/auth")
    @ManagerAuth
    public R list(@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<OrderPakinLog> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)) {
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        }
        return R.ok(orderService.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());
            if (val.contains(RANGE_TIME_LINK)) {
                String[] dates = val.split(RANGE_TIME_LINK);
                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
            } else {
                wrapper.like(entry.getKey(), val);
            }
        }
    }
}
src/main/java/com/zy/asrs/controller/OrderPakoutLogController.java
New file
@@ -0,0 +1,157 @@
package com.zy.asrs.controller;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.*;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.result.WrkTraceVo;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@RestController
@RequestMapping("order/pakoutLog")
public class OrderPakoutLogController extends BaseController {
    @Autowired
    private OrderPakoutLogService orderService;
    @Autowired
    private OrderDetlPakoutLogService orderDetlService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private WrkMastLogService wrkMastLogService;
    @RequestMapping(value = "/order/head/page/auth")
    @ManagerAuth
    public R head(@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<OrderPakoutLog> 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(orderService.selectPage(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/order/detl/all/auth")
    @ManagerAuth
    public R head(@RequestParam Long orderId) {
        return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetlPakoutLog>().eq("order_id", orderId)));
    }
    @PostMapping(value = "/order/wrk/trace/auth")
    @ManagerAuth
    public R orderWrkTrace(@RequestParam("orderId") Long orderId) {
        OrderPakoutLog order = orderService.selectById(orderId);
        if (null == order) {
            return R.error("单据不存在");
        }
        // æ•°é‡ç»Ÿè®¡
        List<OrderDetlPakoutLog> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetlPakoutLog>().eq("order_id", orderId));
        double totalQty = 0;
        double wrkQty = 0;
        double lackQty = 0;
        double endQty = 0;
        for (OrderDetlPakoutLog orderDetl : orderDetls) {
            totalQty = totalQty + orderDetl.getAnfme();
            wrkQty = wrkQty + (orderDetl.getWorkQty() != null ? orderDetl.getWorkQty() : 0);
            endQty = endQty + (orderDetl.getQty() != null ? orderDetl.getQty() : 0);
        }
        // ä»»åŠ¡è¿½æº¯
        List<WrkTraceVo> wrkTraceVos = new ArrayList<>();
        List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo());
        for (WrkDetl wrkDetl : wrkDetls) {
            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()));
                if (wrkMastLog != null && wrkMastLog.getIoType() == 103) {
                    wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>()
                            .eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()).eq("io_type", 53));
                }
                if (wrkMastLog != null) {
                    wrkMast = new WrkMast();
                    BeanUtils.copyProperties(wrkMastLog, wrkMast);
                } else {
                    continue;
                }
            }
            boolean exist = false;
            for (WrkTraceVo vo : wrkTraceVos) {
                if (vo.getWrkNo().equals(wrkMast.getWrkNo())
                        && vo.getIoTimeStr().equals(DateUtils.convert(wrkMast.getIoTime()))) {
                    vo.getWrkDetls().add(wrkDetl);
                    exist = true;
                }
            }
            if (!exist) {
                WrkTraceVo vo = new WrkTraceVo(wrkMast.getWrkNo(), DateUtils.convert(wrkMast.getIoTime()), wrkMast,
                        wrkDetl);
                wrkTraceVos.add(vo);
            }
        }
        if (!Cools.isEmpty(wrkTraceVos) && wrkTraceVos.size() > 1) {
            wrkTraceVos.sort(
                    (o1, o2) -> (int) (o2.getWrkMast().getIoTime().getTime() - o1.getWrkMast().getIoTime().getTime()));
        }
        return R.ok().add(Cools
                .add("list", wrkTraceVos)
                .add("orderNo", order.getOrderNo())
                .add("totalQty", totalQty)
                .add("wrkQty", wrkQty)
                .add("lackQty", lackQty)
                .add("endQty", endQty));
    }
    @RequestMapping(value = "/order/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(orderService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/order/list/auth")
    @ManagerAuth
    public R list(@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<OrderPakoutLog> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        if (!Cools.isEmpty(orderByField)) {
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        }
        return R.ok(orderService.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());
            if (val.contains(RANGE_TIME_LINK)) {
                String[] dates = val.split(RANGE_TIME_LINK);
                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
            } else {
                wrapper.like(entry.getKey(), val);
            }
        }
    }
}
src/main/java/com/zy/asrs/service/OrderDetlPakinLogService.java
New file
@@ -0,0 +1,9 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.OrderDetlPakinLog;
public interface OrderDetlPakinLogService extends IService<OrderDetlPakinLog> {
}
src/main/java/com/zy/asrs/service/OrderDetlPakoutLogService.java
New file
@@ -0,0 +1,9 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.OrderDetlPakoutLog;
public interface OrderDetlPakoutLogService extends IService<OrderDetlPakoutLog> {
}
src/main/java/com/zy/asrs/service/OrderPakinLogService.java
New file
@@ -0,0 +1,16 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.OrderDetlPakinLog;
import com.zy.asrs.entity.OrderPakinLog;
import java.util.List;
public interface OrderPakinLogService extends IService<OrderPakinLog> {
    OrderPakinLog selectByNo(String orderNo);
    List<OrderDetlPakinLog> selectDetlsByOrderId(Long orderId);
}
src/main/java/com/zy/asrs/service/OrderPakoutLogService.java
New file
@@ -0,0 +1,16 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.OrderDetlPakoutLog;
import com.zy.asrs.entity.OrderPakoutLog;
import java.util.List;
public interface OrderPakoutLogService extends IService<OrderPakoutLog> {
    OrderPakoutLog selectByNo(String orderNo);
    List<OrderDetlPakoutLog> selectDetlsByOrderId(Long orderId);
}
src/main/java/com/zy/asrs/service/impl/OrderDetlPakinLogServiceImpl.java
New file
@@ -0,0 +1,13 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.OrderDetlPakinLog;
import com.zy.asrs.mapper.OrderDetlPakinLogMapper;
import com.zy.asrs.service.OrderDetlPakinLogService;
import org.springframework.stereotype.Service;
@Service("orderDetlPakinLogService")
public class OrderDetlPakinLogServiceImpl extends ServiceImpl<OrderDetlPakinLogMapper, OrderDetlPakinLog> implements OrderDetlPakinLogService {
}
src/main/java/com/zy/asrs/service/impl/OrderDetlPakoutLogServiceImpl.java
New file
@@ -0,0 +1,13 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.OrderDetlPakoutLog;
import com.zy.asrs.mapper.OrderDetlPakoutLogMapper;
import com.zy.asrs.service.OrderDetlPakoutLogService;
import org.springframework.stereotype.Service;
@Service("orderDetlPakoutLogService")
public class OrderDetlPakoutLogServiceImpl extends ServiceImpl<OrderDetlPakoutLogMapper, OrderDetlPakoutLog> implements OrderDetlPakoutLogService {
}
src/main/java/com/zy/asrs/service/impl/OrderPakinLogServiceImpl.java
New file
@@ -0,0 +1,37 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.OrderDetlPakinLog;
import com.zy.asrs.entity.OrderPakinLog;
import com.zy.asrs.mapper.OrderDetlPakinLogMapper;
import com.zy.asrs.mapper.OrderPakinLogMapper;
import com.zy.asrs.service.OrderPakinLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("orderPakinLogService")
public class OrderPakinLogServiceImpl extends ServiceImpl<OrderPakinLogMapper, OrderPakinLog> implements OrderPakinLogService {
    @Autowired
    private OrderDetlPakinLogMapper orderDetlPakinLogMapper;
    @Override
    public OrderPakinLog selectByNo(String orderNo) {
        List<OrderPakinLog> orderList = this.selectList(new EntityWrapper<OrderPakinLog>().eq("order_no", orderNo));
        if (Cools.isEmpty(orderList)) {
            return null;
        }
        return orderList.get(0);
    }
    @Override
    public List<OrderDetlPakinLog> selectDetlsByOrderId(Long orderId) {
        return orderDetlPakinLogMapper.selectList(new EntityWrapper<OrderDetlPakinLog>().eq("order_id", orderId));
    }
}
src/main/java/com/zy/asrs/service/impl/OrderPakoutLogServiceImpl.java
New file
@@ -0,0 +1,37 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.OrderDetlPakoutLog;
import com.zy.asrs.entity.OrderPakoutLog;
import com.zy.asrs.mapper.OrderDetlPakoutLogMapper;
import com.zy.asrs.mapper.OrderPakoutLogMapper;
import com.zy.asrs.service.OrderPakoutLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("orderPakoutLogService")
public class OrderPakoutLogServiceImpl extends ServiceImpl<OrderPakoutLogMapper, OrderPakoutLog> implements OrderPakoutLogService {
    @Autowired
    private OrderDetlPakoutLogMapper orderDetlPakoutLogMapper;
    @Override
    public OrderPakoutLog selectByNo(String orderNo) {
        List<OrderPakoutLog> orderList = this.selectList(new EntityWrapper<OrderPakoutLog>().eq("order_no", orderNo));
        if (Cools.isEmpty(orderList)) {
            return null;
        }
        return orderList.get(0);
    }
    @Override
    public List<OrderDetlPakoutLog> selectDetlsByOrderId(Long orderId) {
        return orderDetlPakoutLogMapper.selectList(new EntityWrapper<OrderDetlPakoutLog>().eq("order_id", orderId));
    }
}
src/main/java/³öÈë¿âÀúÊ·±í´´½¨.sql
New file
@@ -0,0 +1,1385 @@
CREATE TABLE [dbo].[man_order_log_pakout] (
[id] bigint  NOT NULL,
[uuid] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
[order_no] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[order_time] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[doc_type] bigint  NULL,
[item_id] bigint  NULL,
[item_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[allot_item_id] bigint  NULL,
[def_number] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[number] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[cstmr] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[cstmr_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[tel] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[oper_memb] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
[total_fee] decimal(24,9)  NULL,
[discount] decimal(24,9)  NULL,
[discount_fee] decimal(24,9)  NULL,
[other_fee] decimal(24,9)  NULL,
[act_fee] decimal(24,9)  NULL,
[pay_type] int  NULL,
[salesman] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[account_day] int  NULL,
[post_fee_type] int  NULL,
[post_fee] decimal(24,9)  NULL,
[pay_time] datetime  NULL,
[send_time] datetime  NULL,
[ship_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[ship_code] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[settle] bigint  NULL,
[status] int  NULL,
[create_by] bigint  NULL,
[create_time] datetime  NULL,
[update_by] bigint  NULL,
[update_time] datetime  NULL,
[memo] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[move_status] int  NULL,
[pakin_pakout_status] int DEFAULT ((2)) NULL,
[monthly_settle_id] bigint DEFAULT NULL NULL,
[monthly_settle_no] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT NULL NULL
)
ON [PRIMARY]
GO
ALTER TABLE [dbo].[man_order_log_pakout] SET (LOCK_ESCALATION = TABLE)
GO
CREATE NONCLUSTERED INDEX [idx_monthly_settle_id]
ON [dbo].[man_order_log_pakout] (
[monthly_settle_id] ASC
)
GO
EXEC sp_addextendedproperty
'MS_Description', N'ID',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'编号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'uuid'
GO
EXEC sp_addextendedproperty
'MS_Description', N'订单编号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'order_no'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单据日期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'order_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单据类型[man_doc_type]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'doc_type'
GO
EXEC sp_addextendedproperty
'MS_Description', N'项目编号[man_item]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'item_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'调拨项目编号[man_item]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'allot_item_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'初始票据号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'def_number'
GO
EXEC sp_addextendedproperty
'MS_Description', N'票据号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'number'
GO
EXEC sp_addextendedproperty
'MS_Description', N'客户编号[man_cstmr]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'cstmr'
GO
EXEC sp_addextendedproperty
'MS_Description', N'客户',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'cstmr_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'联系方式',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'tel'
GO
EXEC sp_addextendedproperty
'MS_Description', N'操作人员',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'oper_memb'
GO
EXEC sp_addextendedproperty
'MS_Description', N'合计金额',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'total_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'优惠率',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'discount'
GO
EXEC sp_addextendedproperty
'MS_Description', N'优惠金额',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'discount_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'销售或采购费用合计',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'other_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'实付金额',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'act_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'付款类型{1:现金,2:è®°è´¦}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'pay_type'
GO
EXEC sp_addextendedproperty
'MS_Description', N'业务员',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'salesman'
GO
EXEC sp_addextendedproperty
'MS_Description', N'结算天数',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'account_day'
GO
EXEC sp_addextendedproperty
'MS_Description', N'邮费支付类型{1:在线支付,2:货到付款}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'post_fee_type'
GO
EXEC sp_addextendedproperty
'MS_Description', N'邮费',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'post_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'付款时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'pay_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'发货时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'send_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'物流名称',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'ship_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'物流单号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'ship_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'订单状态[man_order_settle]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'settle'
GO
EXEC sp_addextendedproperty
'MS_Description', N'状态{1:正常,0:禁用}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'添加人员[sys_user]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'添加时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改人员[sys_user]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'备注',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'memo'
GO
EXEC sp_addextendedproperty
'MS_Description', N'入出库类型(0:未知,1:入库,2:出库)',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'pakin_pakout_status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'月结ID',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'monthly_settle_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'月结编号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakout',
'COLUMN', N'monthly_settle_no'
CREATE TABLE [dbo].[man_order_log_pakin] (
[id] bigint  NOT NULL,
[uuid] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
[order_no] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[order_time] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[doc_type] bigint  NULL,
[item_id] bigint  NULL,
[item_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[allot_item_id] bigint  NULL,
[def_number] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[number] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[cstmr] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[cstmr_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[tel] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[oper_memb] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
[total_fee] decimal(24,9)  NULL,
[discount] decimal(24,9)  NULL,
[discount_fee] decimal(24,9)  NULL,
[other_fee] decimal(24,9)  NULL,
[act_fee] decimal(24,9)  NULL,
[pay_type] int  NULL,
[salesman] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[account_day] int  NULL,
[post_fee_type] int  NULL,
[post_fee] decimal(24,9)  NULL,
[pay_time] datetime  NULL,
[send_time] datetime  NULL,
[ship_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[ship_code] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[settle] bigint  NULL,
[status] int  NULL,
[create_by] bigint  NULL,
[create_time] datetime  NULL,
[update_by] bigint  NULL,
[update_time] datetime  NULL,
[memo] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[move_status] int  NULL,
[pakin_pakout_status] int DEFAULT ((1)) NULL,
[monthly_settle_id] bigint DEFAULT NULL NULL,
[monthly_settle_no] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT NULL NULL
)
ON [PRIMARY]
GO
ALTER TABLE [dbo].[man_order_log_pakin] SET (LOCK_ESCALATION = TABLE)
GO
CREATE NONCLUSTERED INDEX [idx_monthly_settle_id]
ON [dbo].[man_order_log_pakin] (
[monthly_settle_id] ASC
)
GO
EXEC sp_addextendedproperty
'MS_Description', N'ID',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'编号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'uuid'
GO
EXEC sp_addextendedproperty
'MS_Description', N'订单编号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'order_no'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单据日期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'order_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单据类型[man_doc_type]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'doc_type'
GO
EXEC sp_addextendedproperty
'MS_Description', N'项目编号[man_item]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'item_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'调拨项目编号[man_item]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'allot_item_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'初始票据号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'def_number'
GO
EXEC sp_addextendedproperty
'MS_Description', N'票据号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'number'
GO
EXEC sp_addextendedproperty
'MS_Description', N'客户编号[man_cstmr]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'cstmr'
GO
EXEC sp_addextendedproperty
'MS_Description', N'客户',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'cstmr_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'联系方式',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'tel'
GO
EXEC sp_addextendedproperty
'MS_Description', N'操作人员',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'oper_memb'
GO
EXEC sp_addextendedproperty
'MS_Description', N'合计金额',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'total_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'优惠率',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'discount'
GO
EXEC sp_addextendedproperty
'MS_Description', N'优惠金额',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'discount_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'销售或采购费用合计',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'other_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'实付金额',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'act_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'付款类型{1:现金,2:è®°è´¦}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'pay_type'
GO
EXEC sp_addextendedproperty
'MS_Description', N'业务员',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'salesman'
GO
EXEC sp_addextendedproperty
'MS_Description', N'结算天数',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'account_day'
GO
EXEC sp_addextendedproperty
'MS_Description', N'邮费支付类型{1:在线支付,2:货到付款}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'post_fee_type'
GO
EXEC sp_addextendedproperty
'MS_Description', N'邮费',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'post_fee'
GO
EXEC sp_addextendedproperty
'MS_Description', N'付款时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'pay_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'发货时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'send_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'物流名称',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'ship_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'物流单号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'ship_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'订单状态[man_order_settle]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'settle'
GO
EXEC sp_addextendedproperty
'MS_Description', N'状态{1:正常,0:禁用}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'添加人员[sys_user]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'添加时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改人员[sys_user]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'备注',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'memo'
GO
EXEC sp_addextendedproperty
'MS_Description', N'入出库类型(0:未知,1:入库,2:出库)',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'pakin_pakout_status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'月结ID',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'monthly_settle_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'月结编号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_log_pakin',
'COLUMN', N'monthly_settle_no'
CREATE TABLE [dbo].[man_order_detl_log_pakin] (
[id] bigint  NOT NULL,
[order_id] bigint  NOT NULL,
[order_no] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
[anfme] decimal(24,9) DEFAULT ((1)) NOT NULL,
[qty] decimal(24,9) DEFAULT ((0)) NOT NULL,
[matnr] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[maktx] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[batch] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[specs] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[model] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[color] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[brand] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[unit] varchar(50) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[price] decimal(24,9) DEFAULT ((1)) NOT NULL,
[sku] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[units] decimal(24,9) DEFAULT ((1)) NOT NULL,
[barcode] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[origin] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[manu] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[manu_date] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[item_num] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[safe_qty] decimal(24,9) DEFAULT ((999999)) NOT NULL,
[weight] decimal(24,9) DEFAULT ((9999)) NOT NULL,
[man_length] decimal(24,9) DEFAULT ((9999)) NOT NULL,
[volume] decimal(24,9) DEFAULT ((9999)) NOT NULL,
[three_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[supp] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[supp_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[be_batch] int DEFAULT ((0)) NOT NULL,
[dead_time] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[dead_warn] int DEFAULT ((9999)) NOT NULL,
[source] int DEFAULT ((0)) NOT NULL,
[inspect] int DEFAULT ((0)) NOT NULL,
[danger] int DEFAULT ((0)) NOT NULL,
[status] int DEFAULT ((1)) NOT NULL,
[create_by] bigint  NULL,
[create_time] datetime  NULL,
[update_by] bigint  NULL,
[update_time] datetime  NULL,
[memo] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
[work_qty] decimal(24,9) DEFAULT ((0)) NULL,
[qr_code] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[start_date] datetime  NULL,
[end_date] datetime  NULL,
[pakin_pakout_status] int DEFAULT ((1)) NOT NULL,
[line_number] bigint DEFAULT ((1)) NOT NULL,
[standby1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
[standby2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
[standby3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
[box_type1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL,
[box_type2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL,
[box_type3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL
)
ON [PRIMARY]
GO
ALTER TABLE [dbo].[man_order_detl_log_pakin] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'ID',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'订单内码[man_order]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'order_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单据编号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'order_no'
GO
EXEC sp_addextendedproperty
'MS_Description', N'数量',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'anfme'
GO
EXEC sp_addextendedproperty
'MS_Description', N'商品编码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'matnr'
GO
EXEC sp_addextendedproperty
'MS_Description', N'商品名称',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'maktx'
GO
EXEC sp_addextendedproperty
'MS_Description', N'批号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'batch'
GO
EXEC sp_addextendedproperty
'MS_Description', N'规格',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'specs'
GO
EXEC sp_addextendedproperty
'MS_Description', N'型号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'model'
GO
EXEC sp_addextendedproperty
'MS_Description', N'颜色',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'color'
GO
EXEC sp_addextendedproperty
'MS_Description', N'品牌',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'brand'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单位',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'unit'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单价',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'price'
GO
EXEC sp_addextendedproperty
'MS_Description', N'sku',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'sku'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单位量',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'units'
GO
EXEC sp_addextendedproperty
'MS_Description', N'条码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'barcode'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产地',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'origin'
GO
EXEC sp_addextendedproperty
'MS_Description', N'厂家',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'manu'
GO
EXEC sp_addextendedproperty
'MS_Description', N'生产日期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'manu_date'
GO
EXEC sp_addextendedproperty
'MS_Description', N'品项数',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'item_num'
GO
EXEC sp_addextendedproperty
'MS_Description', N'安全库存量',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'safe_qty'
GO
EXEC sp_addextendedproperty
'MS_Description', N'重量',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'weight'
GO
EXEC sp_addextendedproperty
'MS_Description', N'长度',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'man_length'
GO
EXEC sp_addextendedproperty
'MS_Description', N'体积',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'volume'
GO
EXEC sp_addextendedproperty
'MS_Description', N'三方编码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'three_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'供应商',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'supp'
GO
EXEC sp_addextendedproperty
'MS_Description', N'供应商编码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'supp_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'是否批次{1:是,0:否}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'be_batch'
GO
EXEC sp_addextendedproperty
'MS_Description', N'保质期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'dead_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'预警天数',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'dead_warn'
GO
EXEC sp_addextendedproperty
'MS_Description', N'制购{1:制造,2:采购,3:外协}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'source'
GO
EXEC sp_addextendedproperty
'MS_Description', N'要求检验{1:是,0:否}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'inspect'
GO
EXEC sp_addextendedproperty
'MS_Description', N'危险品{1:是,0:否}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'danger'
GO
EXEC sp_addextendedproperty
'MS_Description', N'状态{1:正常,0:禁用}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'添加人员[sys_user]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'添加时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改人员[sys_user]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'备注',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'memo'
GO
EXEC sp_addextendedproperty
'MS_Description', N'条形码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'qr_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'收卷开始日期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'start_date'
GO
EXEC sp_addextendedproperty
'MS_Description', N'收卷结束日期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'end_date'
GO
EXEC sp_addextendedproperty
'MS_Description', N'入出库类型(0:未知,1:入库,2:出库)',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'pakin_pakout_status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'行号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakin',
'COLUMN', N'line_number'
CREATE TABLE [dbo].[man_order_detl_log_pakout] (
[id] bigint  NOT NULL,
[order_id] bigint  NOT NULL,
[order_no] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
[anfme] decimal(24,9) DEFAULT ((1)) NOT NULL,
[qty] decimal(24,9) DEFAULT ((0)) NOT NULL,
[matnr] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[maktx] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[batch] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[specs] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[model] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[color] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[brand] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[unit] varchar(50) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[price] decimal(24,9) DEFAULT ((1)) NOT NULL,
[sku] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[units] decimal(24,9) DEFAULT ((1)) NOT NULL,
[barcode] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[origin] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[manu] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[manu_date] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[item_num] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[safe_qty] decimal(24,9) DEFAULT ((999999)) NOT NULL,
[weight] decimal(24,9) DEFAULT ((9999)) NOT NULL,
[man_length] decimal(24,9) DEFAULT ((9999)) NOT NULL,
[volume] decimal(24,9) DEFAULT ((9999)) NOT NULL,
[three_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[supp] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[supp_code] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NOT NULL,
[be_batch] int DEFAULT ((0)) NOT NULL,
[dead_time] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[dead_warn] int DEFAULT ((9999)) NOT NULL,
[source] int DEFAULT ((0)) NOT NULL,
[inspect] int DEFAULT ((0)) NOT NULL,
[danger] int DEFAULT ((0)) NOT NULL,
[status] int DEFAULT ((1)) NOT NULL,
[create_by] bigint  NULL,
[create_time] datetime  NULL,
[update_by] bigint  NULL,
[update_time] datetime  NULL,
[memo] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
[work_qty] decimal(24,9) DEFAULT ((0)) NULL,
[qr_code] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
[start_date] datetime  NULL,
[end_date] datetime  NULL,
[pakin_pakout_status] int DEFAULT ((2)) NOT NULL,
[line_number] bigint DEFAULT ((1)) NOT NULL,
[standby1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
[standby2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
[standby3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT '' NULL,
[box_type1] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL,
[box_type2] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL,
[box_type3] varchar(255) COLLATE Chinese_PRC_CI_AS DEFAULT ('1') NULL
)
ON [PRIMARY]
GO
ALTER TABLE [dbo].[man_order_detl_log_pakout] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'ID',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'订单内码[man_order]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'order_id'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单据编号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'order_no'
GO
EXEC sp_addextendedproperty
'MS_Description', N'数量',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'anfme'
GO
EXEC sp_addextendedproperty
'MS_Description', N'商品编码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'matnr'
GO
EXEC sp_addextendedproperty
'MS_Description', N'商品名称',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'maktx'
GO
EXEC sp_addextendedproperty
'MS_Description', N'批号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'batch'
GO
EXEC sp_addextendedproperty
'MS_Description', N'规格',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'specs'
GO
EXEC sp_addextendedproperty
'MS_Description', N'型号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'model'
GO
EXEC sp_addextendedproperty
'MS_Description', N'颜色',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'color'
GO
EXEC sp_addextendedproperty
'MS_Description', N'品牌',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'brand'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单位',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'unit'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单价',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'price'
GO
EXEC sp_addextendedproperty
'MS_Description', N'sku',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'sku'
GO
EXEC sp_addextendedproperty
'MS_Description', N'单位量',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'units'
GO
EXEC sp_addextendedproperty
'MS_Description', N'条码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'barcode'
GO
EXEC sp_addextendedproperty
'MS_Description', N'产地',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'origin'
GO
EXEC sp_addextendedproperty
'MS_Description', N'厂家',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'manu'
GO
EXEC sp_addextendedproperty
'MS_Description', N'生产日期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'manu_date'
GO
EXEC sp_addextendedproperty
'MS_Description', N'品项数',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'item_num'
GO
EXEC sp_addextendedproperty
'MS_Description', N'安全库存量',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'safe_qty'
GO
EXEC sp_addextendedproperty
'MS_Description', N'重量',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'weight'
GO
EXEC sp_addextendedproperty
'MS_Description', N'长度',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'man_length'
GO
EXEC sp_addextendedproperty
'MS_Description', N'体积',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'volume'
GO
EXEC sp_addextendedproperty
'MS_Description', N'三方编码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'three_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'供应商',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'supp'
GO
EXEC sp_addextendedproperty
'MS_Description', N'供应商编码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'supp_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'是否批次{1:是,0:否}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'be_batch'
GO
EXEC sp_addextendedproperty
'MS_Description', N'保质期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'dead_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'预警天数',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'dead_warn'
GO
EXEC sp_addextendedproperty
'MS_Description', N'制购{1:制造,2:采购,3:外协}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'source'
GO
EXEC sp_addextendedproperty
'MS_Description', N'要求检验{1:是,0:否}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'inspect'
GO
EXEC sp_addextendedproperty
'MS_Description', N'危险品{1:是,0:否}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'danger'
GO
EXEC sp_addextendedproperty
'MS_Description', N'状态{1:正常,0:禁用}',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'添加人员[sys_user]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'create_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'添加时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'create_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改人员[sys_user]',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'update_by'
GO
EXEC sp_addextendedproperty
'MS_Description', N'修改时间',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'update_time'
GO
EXEC sp_addextendedproperty
'MS_Description', N'备注',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'memo'
GO
EXEC sp_addextendedproperty
'MS_Description', N'条形码',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'qr_code'
GO
EXEC sp_addextendedproperty
'MS_Description', N'收卷开始日期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'start_date'
GO
EXEC sp_addextendedproperty
'MS_Description', N'收卷结束日期',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'end_date'
GO
EXEC sp_addextendedproperty
'MS_Description', N'入出库类型(0:未知,1:入库,2:出库)',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'pakin_pakout_status'
GO
EXEC sp_addextendedproperty
'MS_Description', N'行号',
'SCHEMA', N'dbo',
'TABLE', N'man_order_detl_log_pakout',
'COLUMN', N'line_number'
src/main/webapp/static/js/orderPakinLog/order.js
New file
@@ -0,0 +1,219 @@
var insTbCount = 0;
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['layer', 'form', 'table', 'util', 'admin', 'laydate'], function () {
    var $ = layui.jquery;
    var layer = layui.layer;
    var form = layui.form;
    var table = layui.table;
    var util = layui.util;
    var admin = layui.admin;
    var layDate = layui.laydate;
    var laytpl = layui.laytpl;
    // æ¸²æŸ“搜索模板
    $.ajax({
        url: baseUrl + "/docType/list/auth",
        headers: { 'token': localStorage.getItem('token') },
        data: {
            limit: 9999,
            pakin: 1
        },
        method: 'POST',
        success: function (res) {
            if (res.code === 200) {
                let template = Handlebars.compile($('#docTypeTpl').html());
                $('#docType-query').html(template(res.data));
                layui.form.render('select');
            } else if (res.code === 403) {
                top.location.href = baseUrl + "/";
            } else {
                layer.msg(res.msg, { icon: 2 })
            }
        }
    })
    // æ¸²æŸ“表格
    var insTb = table.render({
        elem: '#order',
        url: baseUrl + '/order/pakinLog/order/head/page/auth',
        method: 'POST',
        headers: { token: localStorage.getItem('token') },
        page: true,
        cellMinWidth: 100,
        cols: [[
            { type: 'numbers' },
            { field: 'orderNo', title: '单据编号', templet: '#orderNoTpl' },
            { field: 'orderTime', align: 'center', title: '业务时间', },
            { field: 'cstmrName', align: 'center', title: '客户', },
            { field: 'docType$', align: 'center', title: '类型', minWidth: 160, width: 160 },
            { align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160, width: 160 },
            { field: 'createTime$', title: '创建时间', minWidth: 200, width: 200 },
            { field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl', minWidth: 160, width: 160 },
            { field: 'memo', align: 'center', title: '备注', hide: true }
        ]],
        request: {
            pageName: 'curr',
            pageSize: 'limit'
        },
        parseData: function (res) {
            return {
                'code': res.code,
                'msg': res.msg,
                'count': res.data.total,
                'data': res.data.records
            }
        },
        response: {
            statusCode: 200
        },
        done: function (res, curr, count) {
            limit();
            if (res.code === 403) {
                top.location.href = baseUrl + "/";
            }
            insTbCount = count;
        }
    });
    // æœç´¢
    form.on('submit(tbSearch)', function (data) {
        insTb.reload({ where: data.field, page: { curr: 1 } });
    });
    // å·¥å…·æ¡ç‚¹å‡»äº‹ä»¶
    table.on('tool(order)', function (obj) {
        var data = obj.data;
        var layEvent = obj.event;
        if (layEvent === 'wrkTrace') {
            showWrkTrace(data.id);
        } else if (layEvent === 'look') {
            var $a = $(obj.tr).find('a[lay-event="look"]');
            var offset = $a.offset();
            var top = offset.top;
            var left = offset.left;
            layer.open({
                type: 1,
                title: false,
                area: '820px',
                offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
                shade: .01,
                shadeClose: true,
                fixed: false,
                content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>',
                success: function (layero) {
                    table.render({
                        elem: '#lookSSXMTable',
                        method: 'POST',
                        headers: { token: localStorage.getItem('token') },
                        url: baseUrl + '/order/pakinLog/orderDetl/list/auth',
                        where: {
                            order_id: data.id
                        },
                        page: true,
                        cellMinWidth: 100,
                        cols: [[
                            { type: 'numbers' },
                            { field: 'matnr', title: '商品编码', width: 160 },
                            { field: 'maktx', title: '商品名称', width: 160 },
                            { field: 'batch', title: '批号' },
                            { field: 'anfme', title: '数量' },
                            { field: 'workQty', title: '作业数量' },
                            { field: 'qty', title: '完成数量', style: 'font-weight: bold' },
                            { field: 'specs', title: '规格' }
                        ]],
                        request: {
                            pageName: 'curr',
                            pageSize: 'limit'
                        },
                        parseData: function (res) {
                            return {
                                'code': res.code,
                                'msg': res.msg,
                                'count': res.data.total,
                                'data': res.data.records
                            }
                        },
                        response: {
                            statusCode: 200
                        },
                        done: function () {
                            $(layero).find('.layui-table-view').css('margin', '0');
                        },
                        size: ''
                    });
                }
            });
        }
    });
    // ä»»åŠ¡è¿½æº¯
    function showWrkTrace(orderId) {
        let loadIndex = layer.msg('请求中...', { icon: 16, shade: 0.01, time: false });
        $.ajax({
            url: baseUrl + "/order/pakinLog/order/wrk/trace/auth",
            headers: { 'token': localStorage.getItem('token') },
            data: {
                orderId: orderId
            },
            method: 'POST',
            success: function (res) {
                layer.close(loadIndex);
                if (res.code === 200) {
                    laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) {
                        admin.open({
                            type: 1,
                            title: '任务追溯',
                            area: ['800px', '450px'],
                            shadeClose: true,
                            content: html,
                            success: function (layero, dIndex) {
                                $(layero).children('.layui-layer-content').css('overflow', 'visible');
                                /** ç»Ÿè®¡å›¾è¡¨ */
                                var traceCharts = echarts.init(document.getElementById('wrkTraceCharts'));
                                var traceOptions = {
                                    title: {
                                        text: '总量/作业/完成', x: 'center', y: '38%',
                                        textStyle: { fontSize: 18, color: '#262626', fontWeight: 'normal' },
                                        subtextStyle: { fontSize: 36, color: '#10B4E8' },
                                        itemGap: 20
                                    },
                                    color: ['#10B4E8', '#E0E0E0', '#FF0000'],
                                    tooltip: { trigger: 'item' },
                                    series: [{ name: '数量', type: 'pie', radius: ['75%', '80%'], label: { normal: { show: false } } }]
                                };
                                traceCharts.setOption(traceOptions);
                                // èµ‹å€¼
                                traceCharts.setOption({
                                    title: {
                                        subtext: res.data.totalQty + "/" + res.data.wrkQty + "/" + res.data.endQty
                                    },
                                    series: [
                                        {
                                            data: [
                                                { name: '已作业', value: res.data.wrkQty },
                                                { name: '未作业', value: res.data.totalQty - res.data.wrkQty - res.data.lackQty },
                                                { name: '库存不足', value: res.data.lackQty },
                                            ]
                                        }
                                    ]
                                });
                            }
                        });
                    });
                } else if (res.code === 403) {
                    top.location.href = baseUrl + "/";
                } else {
                    layer.msg(res.msg, { icon: 2 });
                }
            }
        })
    }
    layDate.render({
        elem: '.layui-laydate-range'
        , type: 'datetime'
        , range: true
    });
});
src/main/webapp/static/js/orderPakoutLog/order.js
New file
@@ -0,0 +1,219 @@
var insTbCount = 0;
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['layer', 'form', 'table', 'util', 'admin', 'laydate'], function () {
    var $ = layui.jquery;
    var layer = layui.layer;
    var form = layui.form;
    var table = layui.table;
    var util = layui.util;
    var admin = layui.admin;
    var layDate = layui.laydate;
    var laytpl = layui.laytpl;
    // æ¸²æŸ“搜索模板
    $.ajax({
        url: baseUrl + "/docType/list/auth",
        headers: { 'token': localStorage.getItem('token') },
        data: {
            limit: 9999,
            pakout: 1
        },
        method: 'POST',
        success: function (res) {
            if (res.code === 200) {
                let template = Handlebars.compile($('#docTypeTpl').html());
                $('#docType-query').html(template(res.data));
                layui.form.render('select');
            } else if (res.code === 403) {
                top.location.href = baseUrl + "/";
            } else {
                layer.msg(res.msg, { icon: 2 })
            }
        }
    })
    // æ¸²æŸ“表格
    var insTb = table.render({
        elem: '#order',
        url: baseUrl + '/order/pakoutLog/order/head/page/auth',
        method: 'POST',
        headers: { token: localStorage.getItem('token') },
        page: true,
        cellMinWidth: 100,
        cols: [[
            { type: 'numbers' },
            { field: 'orderNo', title: '单据编号', templet: '#orderNoTpl' },
            { field: 'orderTime', align: 'center', title: '业务时间' },
            { field: 'cstmrName', align: 'center', title: '客户' },
            { field: 'docType$', align: 'center', title: '类型', minWidth: 160, width: 160 },
            { align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160, width: 160 },
            { field: 'createTime$', title: '创建时间', minWidth: 200, width: 200 },
            { field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl', minWidth: 160, width: 160 },
            { field: 'memo', align: 'center', title: '备注', hide: true }
        ]],
        request: {
            pageName: 'curr',
            pageSize: 'limit'
        },
        parseData: function (res) {
            return {
                'code': res.code,
                'msg': res.msg,
                'count': res.data.total,
                'data': res.data.records
            }
        },
        response: {
            statusCode: 200
        },
        done: function (res, curr, count) {
            limit();
            if (res.code === 403) {
                top.location.href = baseUrl + "/";
            }
            insTbCount = count;
        }
    });
    // æœç´¢
    form.on('submit(tbSearch)', function (data) {
        insTb.reload({ where: data.field, page: { curr: 1 } });
    });
    // å·¥å…·æ¡ç‚¹å‡»äº‹ä»¶
    table.on('tool(order)', function (obj) {
        var data = obj.data;
        var layEvent = obj.event;
        if (layEvent === 'wrkTrace') {
            showWrkTrace(data.id);
        } else if (layEvent === 'look') {
            var $a = $(obj.tr).find('a[lay-event="look"]');
            var offset = $a.offset();
            var top = offset.top;
            var left = offset.left;
            layer.open({
                type: 1,
                title: false,
                area: '820px',
                offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
                shade: .01,
                shadeClose: true,
                fixed: false,
                content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>',
                success: function (layero) {
                    table.render({
                        elem: '#lookSSXMTable',
                        method: 'POST',
                        headers: { token: localStorage.getItem('token') },
                        url: baseUrl + '/order/pakoutLog/orderDetl/list/auth',
                        where: {
                            order_id: data.id
                        },
                        page: true,
                        cellMinWidth: 100,
                        cols: [[
                            { type: 'numbers' },
                            { field: 'matnr', title: '商品编码', width: 160 },
                            { field: 'maktx', title: '商品名称', width: 160 },
                            { field: 'batch', title: '批号' },
                            { field: 'anfme', title: '数量' },
                            { field: 'workQty', title: '作业数量' },
                            { field: 'qty', title: '完成数量', style: 'font-weight: bold' },
                            { field: 'specs', title: '规格' }
                        ]],
                        request: {
                            pageName: 'curr',
                            pageSize: 'limit'
                        },
                        parseData: function (res) {
                            return {
                                'code': res.code,
                                'msg': res.msg,
                                'count': res.data.total,
                                'data': res.data.records
                            }
                        },
                        response: {
                            statusCode: 200
                        },
                        done: function () {
                            $(layero).find('.layui-table-view').css('margin', '0');
                        },
                        size: ''
                    });
                }
            });
        }
    });
    // ä»»åŠ¡è¿½æº¯
    function showWrkTrace(orderId) {
        let loadIndex = layer.msg('请求中...', { icon: 16, shade: 0.01, time: false });
        $.ajax({
            url: baseUrl + "/order/pakoutLog/order/wrk/trace/auth",
            headers: { 'token': localStorage.getItem('token') },
            data: {
                orderId: orderId
            },
            method: 'POST',
            success: function (res) {
                layer.close(loadIndex);
                if (res.code === 200) {
                    laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) {
                        admin.open({
                            type: 1,
                            title: '任务追溯',
                            area: ['800px', '450px'],
                            shadeClose: true,
                            content: html,
                            success: function (layero, dIndex) {
                                $(layero).children('.layui-layer-content').css('overflow', 'visible');
                                /** ç»Ÿè®¡å›¾è¡¨ */
                                var traceCharts = echarts.init(document.getElementById('wrkTraceCharts'));
                                var traceOptions = {
                                    title: {
                                        text: '总量/作业/完成', x: 'center', y: '38%',
                                        textStyle: { fontSize: 18, color: '#262626', fontWeight: 'normal' },
                                        subtextStyle: { fontSize: 36, color: '#10B4E8' },
                                        itemGap: 20
                                    },
                                    color: ['#10B4E8', '#E0E0E0', '#FF0000'],
                                    tooltip: { trigger: 'item' },
                                    series: [{ name: '数量', type: 'pie', radius: ['75%', '80%'], label: { normal: { show: false } } }]
                                };
                                traceCharts.setOption(traceOptions);
                                // èµ‹å€¼
                                traceCharts.setOption({
                                    title: {
                                        subtext: res.data.totalQty + "/" + res.data.wrkQty + "/" + res.data.endQty
                                    },
                                    series: [
                                        {
                                            data: [
                                                { name: '已作业', value: res.data.wrkQty },
                                                { name: '未作业', value: res.data.totalQty - res.data.wrkQty - res.data.lackQty },
                                                { name: '库存不足', value: res.data.lackQty },
                                            ]
                                        }
                                    ]
                                });
                            }
                        });
                    });
                } else if (res.code === 403) {
                    top.location.href = baseUrl + "/";
                } else {
                    layer.msg(res.msg, { icon: 2 });
                }
            }
        })
    }
    layDate.render({
        elem: '.layui-laydate-range'
        , type: 'datetime'
        , range: true
    });
});
src/main/webapp/views/orderPakinLog/order.html
New file
@@ -0,0 +1,233 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title></title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <style>
        .wrk-trace {
            color: green;
            cursor: pointer;
            margin-left: 6px;
            font-size: 18px;
        }
        .layui-timeline:first-child .layui-timeline-item {
            margin-top: 30px;
        }
    </style>
</head>
<body>
    <!-- æ­£æ–‡å¼€å§‹ -->
    <div class="layui-fluid">
        <div class="layui-card">
            <div class="layui-card-body">
                <!-- è¡¨æ ¼é¡¶éƒ¨å·¥å…·æ  -->
                <div class="layui-form toolbar">
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <div class="layui-input-inline mr0">
                                <input name="order_no" class="layui-input" type="text" placeholder="输入单据编号" />
                            </div>
                        </div>
                        <div class="layui-inline" style="width: 300px">
                            <div class="layui-input-inline">
                                <input class="layui-input layui-laydate-range" name="create_time" type="text"
                                    placeholder="起始时间 - ç»ˆæ­¢æ—¶é—´" autocomplete="off" style="width: 300px">
                            </div>
                        </div>
                        <div class="layui-inline">
                            <div class="layui-input-inline">
                                <select name="doc_type" id="docType-query">
                                </select>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <div class="layui-input-inline">
                                <select name="settle">
                                    <option value="">选择状态</option>
                                    <option value="1">待处理</option>
                                    <option value="2">作业中</option>
                                    <option value="4">已完成</option>
                                    <option value="6">上报完成</option>
                                </select>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit>
                                <i class="layui-icon">&#xe615;</i>搜索
                            </button>
                        </div>
                    </div>
                </div>
                <table id="order" lay-filter="order"></table>
            </div>
        </div>
        <div class="layui-card">
            <div class="layui-card-body">
                å…¥åº“历史单据:查询已完成的入库单据历史记录。
            </div>
        </div>
    </div>
    <!-- è¡¨æ ¼æ“ä½œåˆ— -->
    <script type="text/html" id="tbLook">
    <span class="layui-text">
        <a href="javascript:;" lay-event="look">
            <i class="layui-icon" style="font-size: 12px;">&#xe61a;</i> æŸ¥çœ‹å•据明细
        </a>
    </span>
</script>
    <script type="text/html" id="orderNoTpl">
    {{d.orderNo}}
    {{# if(d.settle > 1 && d.settle !== 3){ }}
    <i class="layui-icon layui-icon-about wrk-trace" lay-tips="查看任务追溯" lay-direction="2" lay-offset="-10px,0px" lay-event="wrkTrace"></i>
    {{# } }}
</script>
    <script type="text/html" id="settleTpl">
    <span name="settle"
          {{# if( d.settle === 1){ }}
          class="layui-badge layui-badge-red"
          {{# }else if(d.settle === 2){ }}
          class="layui-badge layui-badge-green"
          {{# }else if(d.settle === 3){ }}
          class="layui-badge layui-badge-gray"
          {{# }else if(d.settle === 4){ }}
          class="layui-badge layui-badge-blue"
          {{# }else if(d.settle === 5){ }}
          class="layui-badge layui-badge-gray"
          {{# }else if(d.settle === 6){ }}
          class="layui-badge layui-badge-gray"
          {{# } }}
    >{{d.settle$}}</span>
</script>
    <!-- è®¢å•任务追溯 -->
    <script id="wrkTraceDialog" type="text/html" style="position: relative">
    <div style="position: absolute; top: 0; left: 0;">
        <div class="layui-card" style="overflow: hidden;">
            <div class="layui-card-header" style="text-align: center;width: 80%;font-weight: inherit;font-size: 18px">{{ d.orderNo }}</div>
            <div class="layui-card-body">
                <div id="wrkTraceCharts" style="height: 300px;width: 400px;transform: translateX(-10%);"></div>
            </div>
        </div>
    </div>
    <div class="layui-row" >
        <div class="layui-col-md5">
            <h1 style="opacity: 0;">Hello World</h1>
        </div>
        <div  class="layui-col-md7" style="">
            {{#  if(d.list.length > 0){ }}
            <ul class="layui-timeline" style="height: 400px; overflow: scroll;">
                {{#  layui.each(d.list, function(index, item){ }}
                <li class="layui-timeline-item">
                    <i class="layui-icon layui-timeline-axis">&#xe63f;</i>
                    <div class="layui-timeline-content layui-text">
                        <div class="layui-timeline-title">
                            <h3 class="inline-block">
                                {{ item.wrkNo }}&nbsp;
                                {{#  if(item.wrkMast.ioType < 100){ }}
                                <span class="layui-badge layui-bg-blue" style="line-height: 20px;">
                                 {{ item.wrkMast.ioType$ }}&nbsp;
                                </span>
                                {{#  } }}
                                {{#  if(item.wrkMast.ioType > 100){ }}
                                <span class="layui-badge layui-bg-orange" style="line-height: 20px;">
                                  {{ item.wrkMast.ioType$ }}&nbsp;
                                </span>
                                {{#  } }}
                                {{#  if(item.wrkMast.wrkSts < 14){ }}
                                <span class="layui-badge layui-bg-red" style="line-height: 20px;">
                                    {{ item.wrkMast.wrkSts$ }}&nbsp;
                                </span>
                                {{#  } }}
                                {{#  if(item.wrkMast.wrkSts >= 14){ }}
                                <span class="layui-badge layui-bg-green" style="line-height: 20px;">
                                    {{ item.wrkMast.wrkSts$ }}&nbsp;
                                </span>
                                {{#  } }}
                            </h3>&emsp;
                            {{ item.wrkMast.ioTime$ }}
                        </div>
                        <table class="layui-table" lay-skin="nob" style="width: 80%">
                            <tbody>
                            {{#  layui.each(item.wrkDetls, function(idx, wrkDetl){ }}
                            <tr style="background: none">
                                <td>No.</td>
                                <td><span class="layui-badge layui-bg-cyan">{{ idx+1 }}</span></td>
                            </tr>
                            <tr style="background: none">
                                <td>品号:</td>
                                <td>{{ wrkDetl.matnr }}</td>
                            </tr>
                            <tr style="background: none">
                                <td>品名:</td>
                                <td>{{ wrkDetl.maktx }}</td>
                            </tr>
                            <tr style="background: none">
                                <td>规格:</td>
                                <td>{{ wrkDetl.specs }}</td>
                            </tr>
                            <tr style="background: none">
                                <td>数量:</td>
                                <td style="font-weight: bold">{{ wrkDetl.anfme }}</td>
                            </tr>
                            <tr style="background: none">
                                <td>条码:</td>
                                <td style="font-weight: bold">{{ wrkDetl.zpallet }}</td>
                            </tr>
                            {{#  }); }}
                            </tbody>
                        </table>
                        <hr class="layui-border-cyan" style="width: 90%; opacity: .6;">
                    </div>
                </li>
                {{#  }); }}
            </ul>
            {{#  } else { }}
            <div style="height: 350px;display: flex;justify-content: center;align-items: center;">
                <h2 style="font-weight: bold;letter-spacing: 2px">暂无任务</h2>
            </div>
            {{#  } }}
        </div>
    </div>
</script>
    <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
    <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/echarts/echarts.min.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/orderPakinLog/order.js" charset="utf-8"></script>
    <script type="text/template" id="docTypeTpl">
    <option value="">选择类型</option>
    {{#each records}}
    <option value="{{docId}}">{{docName}}</option>
    {{/each}}
</script>
</body>
</html>
src/main/webapp/views/orderPakoutLog/order.html
New file
@@ -0,0 +1,233 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title></title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <style>
        .wrk-trace {
            color: green;
            cursor: pointer;
            margin-left: 6px;
            font-size: 18px;
        }
        .layui-timeline:first-child .layui-timeline-item {
            margin-top: 30px;
        }
    </style>
</head>
<body>
    <!-- æ­£æ–‡å¼€å§‹ -->
    <div class="layui-fluid">
        <div class="layui-card">
            <div class="layui-card-body">
                <!-- è¡¨æ ¼é¡¶éƒ¨å·¥å…·æ  -->
                <div class="layui-form toolbar">
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <div class="layui-input-inline mr0">
                                <input name="order_no" class="layui-input" type="text" placeholder="输入单据编号" />
                            </div>
                        </div>
                        <div class="layui-inline" style="width: 300px">
                            <div class="layui-input-inline">
                                <input class="layui-input layui-laydate-range" name="create_time" type="text"
                                    placeholder="起始时间 - ç»ˆæ­¢æ—¶é—´" autocomplete="off" style="width: 300px">
                            </div>
                        </div>
                        <div class="layui-inline">
                            <div class="layui-input-inline">
                                <select name="doc_type" id="docType-query">
                                </select>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <div class="layui-input-inline">
                                <select name="settle">
                                    <option value="">选择状态</option>
                                    <option value="1">待处理</option>
                                    <option value="2">作业中</option>
                                    <option value="4">已完成</option>
                                    <option value="6">上报完成</option>
                                </select>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit>
                                <i class="layui-icon">&#xe615;</i>搜索
                            </button>
                        </div>
                    </div>
                </div>
                <table id="order" lay-filter="order"></table>
            </div>
        </div>
        <div class="layui-card">
            <div class="layui-card-body">
                å‡ºåº“历史单据:查询已完成的出库单据历史记录。
            </div>
        </div>
    </div>
    <!-- è¡¨æ ¼æ“ä½œåˆ— -->
    <script type="text/html" id="tbLook">
    <span class="layui-text">
        <a href="javascript:;" lay-event="look">
            <i class="layui-icon" style="font-size: 12px;">&#xe61a;</i> æŸ¥çœ‹å•据明细
        </a>
    </span>
</script>
    <script type="text/html" id="orderNoTpl">
    {{d.orderNo}}
    {{# if(d.settle > 1 && d.settle !== 3){ }}
    <i class="layui-icon layui-icon-about wrk-trace" lay-tips="查看任务追溯" lay-direction="2" lay-offset="-10px,0px" lay-event="wrkTrace"></i>
    {{# } }}
</script>
    <script type="text/html" id="settleTpl">
    <span name="settle"
          {{# if( d.settle === 1){ }}
          class="layui-badge layui-badge-red"
          {{# }else if(d.settle === 2){ }}
          class="layui-badge layui-badge-green"
          {{# }else if(d.settle === 3){ }}
          class="layui-badge layui-badge-gray"
          {{# }else if(d.settle === 4){ }}
          class="layui-badge layui-badge-blue"
          {{# }else if(d.settle === 5){ }}
          class="layui-badge layui-badge-gray"
          {{# }else if(d.settle === 6){ }}
          class="layui-badge layui-badge-gray"
          {{# } }}
    >{{d.settle$}}</span>
</script>
    <!-- è®¢å•任务追溯 -->
    <script id="wrkTraceDialog" type="text/html" style="position: relative">
    <div style="position: absolute; top: 0; left: 0;">
        <div class="layui-card" style="overflow: hidden;">
            <div class="layui-card-header" style="text-align: center;width: 80%;font-weight: inherit;font-size: 18px">{{ d.orderNo }}</div>
            <div class="layui-card-body">
                <div id="wrkTraceCharts" style="height: 300px;width: 400px;transform: translateX(-10%);"></div>
            </div>
        </div>
    </div>
    <div class="layui-row" >
        <div class="layui-col-md5">
            <h1 style="opacity: 0;">Hello World</h1>
        </div>
        <div  class="layui-col-md7" style="">
            {{#  if(d.list.length > 0){ }}
            <ul class="layui-timeline" style="height: 400px; overflow: scroll;">
                {{#  layui.each(d.list, function(index, item){ }}
                <li class="layui-timeline-item">
                    <i class="layui-icon layui-timeline-axis">&#xe63f;</i>
                    <div class="layui-timeline-content layui-text">
                        <div class="layui-timeline-title">
                            <h3 class="inline-block">
                                {{ item.wrkNo }}&nbsp;
                                {{#  if(item.wrkMast.ioType < 100){ }}
                                <span class="layui-badge layui-bg-blue" style="line-height: 20px;">
                                 {{ item.wrkMast.ioType$ }}&nbsp;
                                </span>
                                {{#  } }}
                                {{#  if(item.wrkMast.ioType > 100){ }}
                                <span class="layui-badge layui-bg-orange" style="line-height: 20px;">
                                  {{ item.wrkMast.ioType$ }}&nbsp;
                                </span>
                                {{#  } }}
                                {{#  if(item.wrkMast.wrkSts < 14){ }}
                                <span class="layui-badge layui-bg-red" style="line-height: 20px;">
                                    {{ item.wrkMast.wrkSts$ }}&nbsp;
                                </span>
                                {{#  } }}
                                {{#  if(item.wrkMast.wrkSts >= 14){ }}
                                <span class="layui-badge layui-bg-green" style="line-height: 20px;">
                                    {{ item.wrkMast.wrkSts$ }}&nbsp;
                                </span>
                                {{#  } }}
                            </h3>&emsp;
                            {{ item.wrkMast.ioTime$ }}
                        </div>
                        <table class="layui-table" lay-skin="nob" style="width: 80%">
                            <tbody>
                            {{#  layui.each(item.wrkDetls, function(idx, wrkDetl){ }}
                            <tr style="background: none">
                                <td>No.</td>
                                <td><span class="layui-badge layui-bg-cyan">{{ idx+1 }}</span></td>
                            </tr>
                            <tr style="background: none">
                                <td>品号:</td>
                                <td>{{ wrkDetl.matnr }}</td>
                            </tr>
                            <tr style="background: none">
                                <td>品名:</td>
                                <td>{{ wrkDetl.maktx }}</td>
                            </tr>
                            <tr style="background: none">
                                <td>规格:</td>
                                <td>{{ wrkDetl.specs }}</td>
                            </tr>
                            <tr style="background: none">
                                <td>数量:</td>
                                <td style="font-weight: bold">{{ wrkDetl.anfme }}</td>
                            </tr>
                            <tr style="background: none">
                                <td>条码:</td>
                                <td style="font-weight: bold">{{ wrkDetl.zpallet }}</td>
                            </tr>
                            {{#  }); }}
                            </tbody>
                        </table>
                        <hr class="layui-border-cyan" style="width: 90%; opacity: .6;">
                    </div>
                </li>
                {{#  }); }}
            </ul>
            {{#  } else { }}
            <div style="height: 350px;display: flex;justify-content: center;align-items: center;">
                <h2 style="font-weight: bold;letter-spacing: 2px">暂无任务</h2>
            </div>
            {{#  } }}
        </div>
    </div>
</script>
    <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
    <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/echarts/echarts.min.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../static/js/orderPakoutLog/order.js" charset="utf-8"></script>
    <script type="text/template" id="docTypeTpl">
    <option value="">选择类型</option>
    {{#each records}}
    <option value="{{docId}}">{{docName}}</option>
    {{/each}}
</script>
</body>
</html>