自动化立体仓库 - WMS系统
#
mrzhssss
2022-09-12 030b1c1b91e0cd86f9969ac0cb80d262e3b03730
#
1个文件已添加
13个文件已修改
151 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/ManLocDetlController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/NodeController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/InitPakoutParam.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/ManLocDetlService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/NodeService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ManLocDetlMapper.xml 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/ioWorks/stockOut.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/ioWorks/locDetlQuery.html 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/ioWorks/stockOut.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ManLocDetlController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.DateUtils;
@@ -52,4 +53,18 @@
        }
        return R.ok(manLocDetlService.getPage(toPage(curr, limit, param, ManLocDetl.class)));
    }
    @RequestMapping("/manLocDetl/list")
    public R outList(@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){
        Page<ManLocDetl> manLocDetlPage = toPage(curr, limit, param, ManLocDetl.class);
        Page<ManLocDetl> outPage = manLocDetlService.getOutPage(manLocDetlPage);
//        Page<ManLocDetl> page = manLocDetlService.getPage(manLocDetlPage);
        return R.ok(outPage);
    }
}
src/main/java/com/zy/asrs/controller/NodeController.java
@@ -15,6 +15,7 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.ManLocDetl;
import com.zy.asrs.entity.Node;
import com.zy.asrs.entity.param.InitPakoutParam;
import com.zy.asrs.entity.param.PakinParam;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.NodeService;
@@ -304,4 +305,9 @@
        return nodeService.stockPakin(number, getUserId(), getHostId());
    }
    @RequestMapping("/work/stock/pakout")
    @ManagerAuth(memo = "生成拣货单")
    public R initPakout(@RequestBody List<InitPakoutParam> params) {
        return nodeService.initPakout(params, getUserId(), getHostId());
    }
}
src/main/java/com/zy/asrs/entity/param/InitPakoutParam.java
New file
@@ -0,0 +1,17 @@
package com.zy.asrs.entity.param;
import lombok.Data;
/**
 * Created by vincent on 2021/3/10
 */
@Data
public class InitPakoutParam {
    private Long nodeId;
    private String matnr;
    private Double count;
}
src/main/java/com/zy/asrs/mapper/ManLocDetlMapper.java
@@ -75,4 +75,8 @@
    int deleteLocNo0(String locNo, String matnr);
    int updateAnfme0(double anfme, Long nodeId);
    List<ManLocDetl> listByOutPage(Map<String, Object> condition);
    long listByOutPageCount(Map<String, Object> condition);
}
src/main/java/com/zy/asrs/service/ManLocDetlService.java
@@ -53,4 +53,9 @@
    List<ManLocDetl> unreason();
    Double getLocDetlSumQty(String locNo);
    Page<ManLocDetl> getOutPage(Page<ManLocDetl> manLocDetlPage);
}
src/main/java/com/zy/asrs/service/NodeService.java
@@ -3,7 +3,10 @@
import com.baomidou.mybatisplus.service.IService;
import com.core.common.R;
import com.zy.asrs.entity.Node;
import com.zy.asrs.entity.param.InitPakoutParam;
import com.zy.asrs.entity.param.PakinParam;
import java.util.List;
public interface NodeService extends IService<Node> {
@@ -18,4 +21,6 @@
        Node selectByUuid(String uuid, Long hostId, Integer type, Long parentId);
    R stockPakin(PakinParam number, Long userId, Long hostId);
        R initPakout(List<InitPakoutParam> params, Long userId, Long hostId);
}
src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
@@ -9,6 +9,7 @@
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Service("manLocDetlService")
@@ -18,7 +19,9 @@
        @Override
        public Page<ManLocDetl> getPage(Page<ManLocDetl> page) {
            page.setRecords(baseMapper.listByPage(page.getCondition()));
            Map<String, Object> condition = page.getCondition();
            List<ManLocDetl> manLocDetls = baseMapper.listByPage(condition);
            page.setRecords(manLocDetls);
            page.setTotal(baseMapper.listByPageCount(page.getCondition()));
            return page;
        }
@@ -119,4 +122,13 @@
            return this.baseMapper.selectLocDetlSumQty(locNo);
        }
    @Override
    public Page<ManLocDetl> getOutPage(Page<ManLocDetl> manLocDetlPage) {
        Map<String, Object> condition = manLocDetlPage.getCondition();
        List<ManLocDetl> manLocDetls = baseMapper.listByOutPage(condition);
        manLocDetlPage.setRecords(manLocDetls);
        manLocDetlPage.setTotal(baseMapper.listByOutPageCount(manLocDetlPage.getCondition()));
        return manLocDetlPage;
    }
}
src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java
@@ -9,6 +9,7 @@
import com.zy.asrs.entity.ManLocDetl;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.Node;
import com.zy.asrs.entity.param.InitPakoutParam;
import com.zy.asrs.entity.param.MatnrDto;
import com.zy.asrs.entity.param.PakinParam;
import com.zy.asrs.entity.result.Pakin;
@@ -19,8 +20,11 @@
import com.zy.asrs.utils.VersionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.beans.Transient;
import java.util.Date;
import java.util.List;
@Service("nodeService")
public class NodeServiceImpl extends ServiceImpl<NodeMapper, Node> implements NodeService {
@@ -110,4 +114,34 @@
        }
        return R.ok("入库成功");
    }
    @Transactional
    @Override
    public R initPakout(List<InitPakoutParam> params, Long userId, Long hostId) {
        if (!Cools.isEmpty(params)) {
            Date now = new Date();
            for (InitPakoutParam param : params) {
                ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>()
                        .eq("node_id", param.getNodeId())
                        .eq("matnr", param.getMatnr()));
                Node node = nodeService.selectOne(new EntityWrapper<Node>()
                        .eq("id", param.getNodeId()));
                if (node == null) {
                    return R.error("找不到该库位,请联系管理员:" + param.getNodeId() );
                }
                if (manLocDetl == null) {
                    return R.error("物料:"+ param.getMatnr() + " 在库位中不存在");
                }
                if (manLocDetl.getAnfme() - param.getCount() < 0) {
                    return R.error("物料:"+ param.getMatnr() + " 在库位中数量不足");
                }else {
                    manLocDetl.setAnfme(manLocDetl.getAnfme() - param.getCount());
                    manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>()
                            .eq("loc_no",node.getUuid())
                            .eq("matnr",param.getMatnr()));
                }
            }
        }
        return R.ok("出库成功");
    }
}
src/main/resources/application.yml
@@ -26,7 +26,7 @@
      maxRequestSize: 100MB
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  mapper-locations: classpath:mapper/*.xml
#  global-config:
#    field-strategy: 0
#  configuration:
src/main/resources/mapper/ManLocDetlMapper.xml
@@ -62,8 +62,8 @@
        LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
        LEFT JOIN man_tag mt ON mm.tag_id = mt.id
        WHERE 1=1
        AND (CHARINDEX(','+#{node_id}+',', ','+mn.path+',') > 0 OR mn.id = #{node_id})
        AND (CHARINDEX(','+#{tag_id}+',', ','+mt.path+',') > 0 OR mt.id = #{tag_id})
         AND (CHARINDEX(','+#{node_id}+',', ','+mn.path+',') > 0 OR mn.id = #{node_id})
         AND (CHARINDEX(','+#{tag_id}+',', ','+mt.path+',') > 0 OR mt.id = #{tag_id})
        <include refid="locDetlCondition"></include>
        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
    </select>
@@ -230,6 +230,31 @@
        and matnr = #{matnr}
    </select>
    <select id="listByOutPage" resultMap="BaseResultMap">
        select * from
        (
        SELECT
        ROW_NUMBER() over (order by mld.create_time desc) as row,
        mld.*
        FROM man_loc_detl mld
        LEFT JOIN man_node mn ON mld.node_id = mn.id
        LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
        LEFT JOIN man_tag mt ON mm.tag_id = mt.id
        WHERE 1=1
        <include refid="locDetlCondition"></include>
        ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
    </select>
    <select id="listByOutPageCount" resultType="java.lang.Long">
        select
        count(1)
        FROM man_loc_detl mld
        LEFT JOIN man_node mn ON mld.node_id = mn.id
        LEFT JOIN man_mat mm ON mld.matnr = mm.matnr
        LEFT JOIN man_tag mt ON mm.tag_id = mt.id
        WHERE 1=1
        <include refid="locDetlCondition"></include>
    </select>
    <update id="updateLocNo0">
        update man_loc_detl set loc_no = #{locNo}
src/main/webapp/static/js/common.js
@@ -224,7 +224,7 @@
var detlCols = [
    {field: 'matnr', align: 'center',title: '商品编号', sort:true}
    ,{field: 'maktx', align: 'center',title: '商品名称', sort:true}
    ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false}
    ,{field: 'orderNo', align: 'center',title: '单据编号', hide: true}
    ,{field: 'batch', align: 'center',title: '批号', sort:true}
    ,{field: 'anfme', align: 'center',title: '数量'}
    ,{field: 'zpallet', align: 'center',title: '托盘条码'}
src/main/webapp/static/js/ioWorks/stockOut.js
@@ -50,7 +50,7 @@
                        locDetls.push({nodeId: elem.nodeId, matnr: elem.matnr, count: elem.count});
                    });
                    $.ajax({
                        url: baseUrl+"/work/pakout/init",
                        url: baseUrl+"/work/stock/pakout",
                        headers: {'token': localStorage.getItem('token')},
                        data: JSON.stringify(locDetls),
                        contentType:'application/json;charset=UTF-8',
src/main/webapp/views/ioWorks/locDetlQuery.html
@@ -61,11 +61,11 @@
            </div>
        </div>
        <!-- 日期范围 -->
        <div class="layui-inline" style="width: 300px">
            <div class="layui-input-inline">
                <input class="layui-input layui-laydate-range" name="update_time" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px">
            </div>
        </div>
<!--        <div class="layui-inline" style="width: 300px">-->
<!--            <div class="layui-input-inline">-->
<!--                <input class="layui-input layui-laydate-range" name="update_time" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px">-->
<!--            </div>-->
<!--        </div>-->
        <!-- 待添加 -->
        <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
            <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button>
@@ -115,7 +115,7 @@
        locDetlTableIns = table.render({
            elem: '#stockOut',
            headers: {token: localStorage.getItem('token')},
            url: baseUrl+'/locDetl/list/auth',
            url: baseUrl+'/manLocDetl/list',
            page: true,
            limit: 10,
            even: true,
src/main/webapp/views/ioWorks/stockOut.html
@@ -47,7 +47,7 @@
        #btn-outbound {
            margin-left: 20px;
            display: none;
            /*display: none;*/
        }
        /*----------------------------------*/
@@ -74,7 +74,7 @@
        }
        #mat-query {
            display: none;
            /*display: none;*/
        }
    </style>
</head>