自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-10-17 1a432aec361a177fc309c33d6c2962fa58ad8b09
#
7个文件已修改
115 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderController.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/order/order.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -50,6 +50,8 @@
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private MatService matService;
    @RequestMapping(value = "/order/nav/list/auth")
    @ManagerAuth
@@ -446,15 +448,90 @@
            // 数量
            Double anfme = Double.parseDouble(dataFormatter.formatCellValue(row.getCell(3)));
            // 下单时间
            Date time = DateUtils.convert(dataFormatter.formatCellValue(row.getCell(4)), DateUtils.yyyyMMddHHmmsssss_F);
            String timeStr = dataFormatter.formatCellValue(row.getCell(4));
            Date time = null;
            try {
                time = DateUtils.convert(timeStr, DateUtils.yyyyMMddHHmmss_F);
            } catch (Exception e) {
                throw new CoolException("第" + i + "行下的那时间解析失败,请重新导入!");
            }
            // 商品系列
            String tagName = dataFormatter.formatCellValue(row.getCell(5));
            // 规格
            String specs = dataFormatter.formatCellValue(row.getCell(6));
            Mat mat = matService.selectByMatnr(matnr);
            if (null == mat) {
                throw new CoolException(matnr + "商品编码的商品不存在,请重新导入!");
            }
            Order order = orderService.selectByNo(uuid);
            if (null == order) {
                order = new Order(
                        String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]
                        uuid,    // 订单编号
                        timeStr,    // 单据日期
                        14L,    // 单据类型
                        null,    // 项目编号
                        null,    //
                        null,    // 调拨项目编号
                        null,    // 初始票据号
                        null,    // 票据号
                        null,    // 客户编号
                        null,    // 客户
                        null,    // 联系方式
                        null,    // 操作人员
                        null,    // 合计金额
                        null,    // 优惠率
                        null,    // 优惠金额
                        null,    // 销售或采购费用合计
                        null,    // 实付金额
                        null,    // 付款类型
                        null,    // 业务员
                        null,    // 结算天数
                        null,    // 邮费支付类型
                        null,    // 邮费
                        null,    // 付款时间
                        null,    // 发货时间
                        null,    // 物流名称
                        null,    // 物流单号
                        1L,    // 订单状态
                        1,    // 状态
                        9527L,    // 添加人员
                        now,    // 添加时间
                        9527L,    // 修改人员
                        now,    // 修改时间
                        null    // 备注
                );
                if (!orderService.insert(order)) {
                    throw new CoolException("生成单据主档失败,请重新导入!");
                }
            }
            OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), matnr, null);
            if (orderDetl == null) {
                orderDetl = new OrderDetl();
                orderDetl.sync(mat);
                orderDetl.setBatch(null);
                orderDetl.setAnfme(anfme);
                orderDetl.setOrderId(order.getId());
                orderDetl.setOrderNo(order.getOrderNo());
                orderDetl.setCreateBy(9527L);
                orderDetl.setCreateTime(now);
                orderDetl.setUpdateBy(9527L);
                orderDetl.setUpdateTime(now);
                orderDetl.setStatus(1);
                orderDetl.setQty(0.0D);
                if (!orderDetlService.insert(orderDetl)) {
                    throw new CoolException("生成单据明细失败,请重新导入!");
                }
            } else {
                if(!orderDetlService.increaseAnfme(order.getId(), matnr, null, anfme)) {
                    throw new CoolException("生成单据明细失败,请重新导入!");
                }
            }
        }
        return R.ok();
        return R.ok("导入成功");
    }
}
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -23,6 +23,8 @@
    Integer getPakoutPageCount(Map<String, Object> map);
    int increaseAnfme(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
    int increase(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
    int decrease(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -18,6 +18,8 @@
    OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch);
    boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty);
    boolean increase(Long orderId, String matnr, String batch, Double qty);
    boolean decrease(String orderNo, String matnr, String batch, Double qty);
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -49,6 +49,11 @@
    }
    @Override
    public boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty) {
        return this.baseMapper.increaseAnfme(orderId, matnr, batch, qty) > 0;
    }
    @Override
    public boolean increase(Long orderId, String matnr, String batch, Double qty) {
        return this.baseMapper.increase(orderId, matnr, batch, qty) > 0;
    }
src/main/resources/application.yml
@@ -10,8 +10,8 @@
    enabled: false
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://10.10.10.100:1433;databasename=bfasrs
#    url: jdbc:sqlserver://localhost:1433;databasename=bfasrs
#    url: jdbc:sqlserver://10.10.10.100:1433;databasename=bfasrs
    url: jdbc:sqlserver://localhost:1433;databasename=bfasrs
    username: sa
#    password: Zoneyung@zy56$
    password: sa@123
src/main/resources/mapper/OrderDetlMapper.xml
@@ -126,6 +126,22 @@
        <include refid="pakOutPageCondition"></include>
    </select>
    <update id="increaseAnfme">
        update man_order_detl
        set anfme = anfme + #{qty}
        where 1=1
        and order_id = #{orderId}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
            </otherwise>
        </choose>
    </update>
    <update id="increase">
        update man_order_detl
        set qty = qty + #{qty}
src/main/webapp/static/js/order/order.js
@@ -1,5 +1,6 @@
var insTbCount = 0;
var admin;
var insTb
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () {
@@ -35,7 +36,7 @@
    })
    // 渲染表格
    var insTb = table.render({
    insTb = table.render({
        elem: '#order',
        url: baseUrl+'/order/head/page/auth',
        headers: {token: localStorage.getItem('token')},
@@ -565,7 +566,7 @@
    let res = JSON.parse(evt.target.responseText);
    if(res.code === 200) {
        layer.msg(res.msg, {icon: 1});
        tableReload();
        insTb.reload({page: {curr: 1}});
    } else {
        alert(res.msg);
        // layer.msg(res.msg, {icon: 2});