自动化立体仓库 - WMS系统
zjj
2024-12-04 824c29bc60bb0b33e8930319878fbf2e5d7562ca
#盘点
9个文件已修改
1个文件已添加
148 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/MobileService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -544,6 +544,13 @@
        return R.ok("盘点成功");
    }
    @RequestMapping("/pda/adjust/auth")
    @ManagerAuth(memo = "pda盘点")
    public R pdaAdjust(@RequestBody pdaAdjustParam param){
        mobileService.pdaAdjust(param,getUserId());
        return R.ok("盘点成功");
    }
    @PostMapping("/order/out/pakout/auth")
    @ManagerAuth(memo = "订单出库")
    public synchronized R pakoutByOrder(@RequestBody JSONObject param) {
@@ -554,6 +561,14 @@
        return R.ok("出库成功");
    }
    @GetMapping("/checkOut/submit/auth")
    @ManagerAuth(memo = "盘点上传")
    public R CheckOutsubmitERP(@RequestParam String orderId){
        return R.ok("盘点成功");
    }
    @RequestMapping("/ddd/ddd")
    @ManagerAuth()
    public R ddd() {
src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
@@ -81,5 +81,19 @@
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
    }
    public String getStatus$(){
        if (Cools.isEmpty(this.status)){
            return "";
        }
        switch (this.status){
            case "1":
                return "未提交";
            case "2":
                return "已提交";
            default:
                return "";
        }
    }
}
src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
@@ -50,7 +50,7 @@
    @ApiModelProperty(value= "")
    @TableField("check_anfme")
    private String checkAnfme;
    private Double checkAnfme;
    @ApiModelProperty(value= "")
    @TableField("io_time")
@@ -102,5 +102,21 @@
        }
    }
    public String getProfit$(){
        if (Cools.isEmpty(this.status) && !this.status.equals("1")){
            return "未盘点";
        }
        if (Cools.isEmpty(this.anfme) || Cools.isEmpty(this.checkAnfme)){
            return "";
        }
        if (this.anfme > this.checkAnfme){
            return "盘亏";
        }else if (this.anfme < this.checkAnfme){
            return "盘盈";
        }else {
            return "平";
        }
    }
}
src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.InventoryCheckOrderDetl;
import lombok.Data;
import java.util.List;
@Data
public class pdaAdjustParam {
    private String barcode;
    private List<InventoryCheckOrderDetl> param;
}
src/main/java/com/zy/asrs/service/MobileService.java
@@ -8,6 +8,7 @@
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.entity.param.OffSaleParam;
import com.zy.asrs.entity.param.pdaAdjustParam;
import java.util.Date;
import java.util.Map;
@@ -53,4 +54,6 @@
                  Double curOutQty, Integer ioType, Long userId, Date now);
    void leftoversOut(Map<String, Object> map, Long userId);
    void pdaAdjust(pdaAdjustParam param, Long userId);
}
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -74,6 +74,8 @@
    private ManLocDetlService manLocDetlService;
    @Autowired
    private ManLocDetlMapper manLocDetlMapper;
    @Resource
    private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
    @Resource
    private BasDevpMapper basDevpMapper;
@@ -372,7 +374,8 @@
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(now);
                waitPakin.setManu(detlDto.getMark());
                waitPakin.setManu(detlDto.getMark()); //标记
                waitPakin.setOrigin(order.getItemName());//仓库
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
@@ -876,6 +879,34 @@
    }
    @Override
    public void pdaAdjust(pdaAdjustParam param, Long userId) {
        if (Cools.isEmpty(param)){
            throw new CoolException("盘点列表参数为空");
        }
        for (InventoryCheckOrderDetl orderDetl: param.getParam()){
            InventoryCheckOrderDetl inventoryCheckOrderDetl = inventoryCheckOrderDetlService.selectOne(new EntityWrapper<InventoryCheckOrderDetl>()
                    .eq("order_no", orderDetl.getOrderNo())
                    .eq("matnr", orderDetl.getMatnr())
                    .eq("batch", orderDetl.getBatch()));
            if (Cools.isEmpty(inventoryCheckOrderDetl)){
                throw new CoolException("未查询到盘点信息");
            }
            if (!inventoryCheckOrderDetl.getStatus().equals("1")){
                throw new CoolException("该任务已盘点");
            }
            inventoryCheckOrderDetl.setCheckAnfme(orderDetl.getCheckAnfme());
            inventoryCheckOrderDetl.setStatus("2");
            if (!inventoryCheckOrderDetlService.updateById(inventoryCheckOrderDetl)){
                throw new CoolException("保存盘点信息失败!");
            }
        }
    }
    @Override
    @Transactional
    public void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl,
                         Double curOutQty, Integer ioType, Long userId, Date now) {
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -376,7 +376,7 @@
                inventoryCheckOrderDetl.setMaktx(detlDto.getLocDetl().getMaktx());
                inventoryCheckOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
                inventoryCheckOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
                inventoryCheckOrderDetl.setArea(wrkMast.getCrnNo$());
                inventoryCheckOrderDetl.setArea(detlDto.getLocDetl().getOrigin());
                inventoryCheckOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
                inventoryCheckOrderDetl.setIoTime(now);
                inventoryCheckOrderDetl.setStatus("1");
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -95,7 +95,8 @@
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        if (null != locDetl) {
                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
                            Double anfme = locDetl.getAnfme()+wrkDetl.getAnfme();
                            if (!locDetlService.updateAnfme(anfme, wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
//                                exceptionHandle("全板入库 ===>> 更新库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                return FAIL.setMsg("全板入库 ===>> 更新库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
@@ -30,8 +30,7 @@
        where: {order_id: 9999999999},
        cols: [[
            {type: 'checkbox'}
            ,{type: 'numbers', title: '#'}
            ,{field: 'orderNo', align: 'center',title: '单据编号', templet: '#orderNoTpl', width: 160}
            ,{field: 'orderNo', align: 'center',title: '单据编号', templet: '#orderNoTpl'}
            ,{field: 'locNo', align: 'center',title: '库位'}
            ,{field: 'matnr', align: 'center',title: '商品编码', width: 160}
            ,{field: 'maktx', align: 'center',title: '商品名称', width: 200}
@@ -49,6 +48,7 @@
            // ,{field: 'itemNum', align: 'center',title: '品项数'}
            // ,{field: 'count', align: 'center',title: '数量'}
            // ,{field: 'weight', align: 'center',title: '重量'}
            ,{field: 'profit$', align: 'center',title: '盈亏',templet: '#profitTpl'}
            ,{field: 'status$', align: 'center',title: '状态'}
            // ,{field: 'createBy$', align: 'center',title: '添加人员'}
            // ,{field: 'createTime$', align: 'center',title: '添加时间'}
@@ -169,7 +169,7 @@
    /* 表格2头工具栏点击事件 */
    table.on('toolbar(orderDetlTable)', function (obj) {
        // console.log(obj.config.where.order_id);
        var checkStatus = table.checkStatus(obj.config.id).data;
        if (obj.event === 'pakoutPreview') { // 添加
            if (checkStatus.length === 0) {
@@ -189,6 +189,29 @@
                return d.id;
            });
            doDelSensor({ids: ids});
        } else if (obj.event === 'submitERP') { // 提交erp
            $.ajax({
                url: baseUrl + "/mobile/checkOut/submit/auth",
                headers: {'token': localStorage.getItem('token')},
                // contentType: 'application/json;charset=UTF-8',
                data: {
                    orderId: obj.config.where.order_id
                },
                method: 'GET',
                success: function (res) {
                    notice.destroy();
                    if (res.code === 200) {
                        layer.msg(res.msg, {icon: 1});
                        insTb.reload({where: null});
                        insTb2.reload({where: null, page: {curr: 1}});
                    } else if (res.code === 403) {
                        top.location.href = baseUrl + "/";
                    } else {
                        layer.msg(res.msg, {icon: 2})
                    }
                }
            });
        }
    });
src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html
@@ -81,6 +81,7 @@
                                <button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit>
                                    <i class="layui-icon">&#xe666;</i>重置
                                </button>
                                <button id="showFormBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>添加</button>
                            </div>
                        </div>
                    </form>
@@ -92,7 +93,7 @@
        <div class="layui-col-md9">
            <div class="layui-card">
                <div class="layui-card-body" style="padding: 10px;">
                    <button id="showFormBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>添加</button>
                    <!--                    <form class="layui-form toolbar">-->
<!--                        <div class="layui-form-item">-->
<!--&lt;!&ndash;                            <div class="layui-inline">&ndash;&gt;-->
@@ -147,8 +148,8 @@
    <!--            </select>-->
    <!--        </div>-->
    <!--    </div>-->
<!--    <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="pakoutPreview">批量出库</button>-->
<!--    <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="submitERP"><i class="layui-icon">&#xe681;</i>提交ERP</button>-->
    <button id="submitERP" class="layui-btn icon-btn btn-add" lay-event="submitERP"><i class="layui-icon">&#xe681;</i>提交ERP</button>
</script>
<!-- 行工具栏 -->
@@ -210,6 +211,18 @@
    <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="正常|禁用" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}>
</script>
<script type="text/html" id="profitTpl">
    <span name="settle"
          {{# if( d.profit$ === "盘亏"){ }}
          class="layui-badge layui-badge-red"
          {{# }else if(d.profit$ === "盘盈"){ }}
          class="layui-badge layui-badge-green"
          {{# }else if(d.profit$ === "平"){ }}
          class="layui-badge layui-badge-gray"
          {{# } }}
    >{{d.profit$}}</span>
</script>
<!-- 表单弹窗 -->
<script type="text/html" id="editDialog">
    <form id="detail" lay-filter="detail" class="layui-form admin-form">