自动化立体仓库 - WMS系统
zhou zhou
10 小时以前 5315fe106471728406cbd521576c3fc5d9d28791
#盘点
7个文件已修改
1个文件已添加
205 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/CheckOrderController.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/LocDetlController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/CheckOrderDetl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/CheckTaskListParam.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/CheckOrderService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/checkOrder/checkOrder.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/CheckOrderController.java
@@ -8,6 +8,7 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CheckTaskListParam;
import com.zy.asrs.entity.param.OrderDomainParam;
import com.zy.asrs.service.*;
import com.core.annotations.ManagerAuth;
@@ -34,33 +35,29 @@
    @Autowired
    private DocTypeService docTypeService;
    @PostMapping(value = "/checkOrder/preview/auth")
    @ManagerAuth
    public R checkOrderPreview(@RequestParam("orderId") Long orderId) {
        List<LocDto> locDtos = checkOrderService.preview(orderId);
        return R.ok(locDtos);
    }
    @PostMapping(value = "/checkOrder/createTask/auth")
    @ManagerAuth
    public R checkOrderCreateTask(@RequestParam("orderId") Long orderId) {
        CheckOrder checkOrder = checkOrderService.selectById(orderId);
        if (Cools.isEmpty(checkOrder)) {
            throw new CoolException("数据错误");
        }
        checkOrder.setSettle(11L);
        checkOrderService.updateById(checkOrder);
    @PostMapping(value = "/checkOrder/pdaComplete/auth")
    @ManagerAuth(memo = "pda:完成盘点")
    public R checkOrderPdaComplete(@RequestBody CheckTaskListParam checkTaskListParam) {
        checkOrderService.pdaComplete(checkTaskListParam);
        return R.ok();
    }
    @PostMapping(value = "/checkOrder/preview/auth")
    @ManagerAuth(memo = "盘点单出库预览")
    public R checkOrderPreview(@RequestParam("orderId") Long orderId) {
        List<LocDto> locDtos = checkOrderService.preview(orderId);
        return R.ok(locDtos);
    }
    @PostMapping(value = "/checkOrder/getTaskList/auth")
    @ManagerAuth(memo = "pda:获取盘点任务列表")
    public R checkOrderGetTaskList(@RequestBody CheckTaskListParam checkTaskListParam) {
        List<CheckOrderDetl> list = checkOrderService.getTaskList(checkTaskListParam.getBarcode());
        return R.ok(list);
    }
    @PostMapping(value = "/checkOrder/complete/auth")
    @ManagerAuth
    @ManagerAuth(memo = "完成盘点单")
    public R checkOrderComplete(@RequestParam("orderId") Long orderId) {
        CheckOrder checkOrder = checkOrderService.selectById(orderId);
        if (Cools.isEmpty(checkOrder)) {
src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -39,8 +39,6 @@
    private LocDetlService locDetlService;
    @Autowired
    private LocDetlMapper locDetlMapper;
    @Autowired
    private MatService matService;
    @Autowired
src/main/java/com/zy/asrs/entity/CheckOrderDetl.java
@@ -255,7 +255,7 @@
    private Integer danger;
    /**
     * 状态 1: 正常  0: 禁用
     * 状态 1: 未生成  0: 禁用  2:待盘  3:已盘
     */
    @ApiModelProperty(value= "状态 1: 未生成  0: 禁用  2:待盘  3:已盘")
    private Integer status;
@@ -495,7 +495,7 @@
        }
        if (null != this.anfme && this.workQty != null) {
            BigDecimal subtract = new BigDecimal(this.anfme.toString()).subtract(new BigDecimal(this.workQty.toString()));
            BigDecimal subtract = new BigDecimal(this.workQty.toString()).subtract(new BigDecimal(this.anfme.toString()));
            return subtract.doubleValue();
        }
src/main/java/com/zy/asrs/entity/param/CheckTaskListParam.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.entity.param;
import com.zy.asrs.entity.CheckOrderDetl;
import lombok.Data;
import java.util.List;
@Data
public class CheckTaskListParam {
    private String barcode;
    private List<CheckOrderDetl> checkOrderDetlList;
}
src/main/java/com/zy/asrs/service/CheckOrderService.java
@@ -2,7 +2,11 @@
import com.zy.asrs.entity.CheckOrder;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.CheckOrderDetl;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.param.CheckTaskListParam;
import com.zy.common.model.LocDto;
import com.core.common.R;
import java.util.List;
@@ -11,4 +15,8 @@
    void remove(Long orderId);
    List<LocDto> preview(Long orderId);
    List<CheckOrderDetl> getTaskList(String barcode);
    R pdaComplete(CheckTaskListParam checkTaskListParam);
}
src/main/java/com/zy/asrs/service/impl/CheckOrderServiceImpl.java
@@ -3,14 +3,17 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CheckTaskListParam;
import com.zy.asrs.mapper.CheckOrderMapper;
import com.zy.asrs.service.*;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.common.model.LocDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collections;
@@ -30,6 +33,12 @@
    @Autowired
    private StaDescService staDescService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Override
    public void remove(Long orderId) {
@@ -68,4 +77,72 @@
        return locDtos;
    }
    @Override
    public List<CheckOrderDetl> getTaskList(String barcode) {
        List<CheckOrderDetl> checkOrderDetls = new ArrayList<>();
        WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
        if (Cools.isEmpty(wrkMast)) {
            throw new CoolException("未找到任务");
        }
        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        if (Cools.isEmpty(wrkDetls)) {
            throw new CoolException("未找到任务明细");
        }
        for (WrkDetl wrkDetl : wrkDetls) {
            if(Cools.isEmpty(wrkDetl.getOrderNo())){
                throw new CoolException("明细数据有误,无订单号数据");
            }
            CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>()
                    .eq("loc_no", wrkMast.getSourceLocNo())
                    .eq("matnr", wrkDetl.getMatnr())
                    .eq("batch", wrkDetl.getBatch())
                    .eq("order_no", wrkDetl.getOrderNo()));
            if(Cools.isEmpty(checkOrderDetl)){
                throw new CoolException("明细数据有误,未找到盘点单数据");
            }
            if (checkOrderDetl.getStatus().equals(2)){
                checkOrderDetls.add(checkOrderDetl);
            }
        }
        if (Cools.isEmpty(checkOrderDetls)) {
            throw new CoolException("该容器已完成盘点");
        }
        return checkOrderDetls;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R pdaComplete(CheckTaskListParam checkTaskListParam) {
        WrkMast wrkMast = wrkMastService.selectByBarcode(checkTaskListParam.getBarcode());
        if (Cools.isEmpty(wrkMast)) {
            throw new CoolException("未找到任务");
        }
        for (CheckOrderDetl checkOrderDetl: checkTaskListParam.getCheckOrderDetlList()){
            checkOrderDetl.setStatus(3);
            if (!checkOrderDetlService.updateById(checkOrderDetl)){
                throw new CoolException("更新盘点状态失败");
            }
        }
        CheckOrder checkOrder = this.selectOne(new EntityWrapper<CheckOrder>().eq("order_no", checkTaskListParam.getCheckOrderDetlList().get(0).getOrderNo()));
        List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", checkOrder.getId()));
        boolean is = checkOrderDetls.stream().allMatch(item -> item.getStatus().equals(3));
        if (is){
            checkOrder.setSettle(4L);
            if (!this.updateById(checkOrder)){
                throw new CoolException("更新盘点主单状态失败");
            }
        }
        return R.ok();
    }
}
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -69,12 +69,6 @@
    @Autowired
    private WrkDetlLogService wrkDetlLogService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private WcsController wcsController;
    @Autowired
    private RowLastnoService rowLastnoService;
@@ -91,9 +85,6 @@
    @Resource
    private LocMastMapper locMastMapper;
    @Resource
    private OrderPakoutService orderPakOutService;
    @Autowired
    private CheckOrderService checkOrderService;
@@ -1165,7 +1156,7 @@
    @Override
    @Transactional
    @Transactional(rollbackFor = Exception.class)
    public void cancelWrkMast(String workNo, Long userId) {
        Date now = new Date();
        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",workNo));
@@ -1272,6 +1263,30 @@
        }
        if (wrkMast.getIoType() == 107) {
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            if (!Cools.isEmpty(wrkDetls.get(0).getOrderNo())){
                for (WrkDetl wrkDetl : wrkDetls) {
                    CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>()
                            .eq("loc_no", wrkMast.getSourceLocNo())
                            .eq("matnr", wrkDetl.getMatnr())
                            .eq("batch", wrkDetl.getBatch())
                            .eq("order_no", wrkDetl.getOrderNo())
                    );
                    checkOrderDetl.setStatus(1);
                    checkOrderDetlService.updateById(checkOrderDetl);
                }
                CheckOrder checkOrder = checkOrderService.selectOne(new EntityWrapper<CheckOrder>().eq("order_no", wrkDetls.get(0).getOrderNo()));
                List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", checkOrder.getId()));
                boolean is = checkOrderDetls.stream().allMatch(item -> item.getStatus().equals(1));
                checkOrder.setSettle(is?1L:12L);
                checkOrderService.updateById(checkOrder);
            }
        }
//        // 订单关联
//        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
//        for (WrkDetl wrkDetl : wrkDetls) {
src/main/webapp/static/js/checkOrder/checkOrder.js
@@ -626,30 +626,6 @@
        });
    }
    function createTask(orderId) {
        let loadIndex = layer.msg('请求中...', {icon: 16, shade: 0.01, time: false});
        $.ajax({
            url: baseUrl+"/checkOrder/createTask/auth",
            headers: {'token': localStorage.getItem('token')},
            data: {
                orderId: orderId
            },
            method: 'POST',
            success: function (res) {
                layer.close(loadIndex);
                if (res.code === 200){
                    layer.msg(res.msg, {icon: 1});
                    insTb.reload({page: {curr: 1}});
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/";
                }else {
                    layer.msg(res.msg, {icon: 2});
                }
            }
        })
    }
    layDate.render({
        elem: '.layui-laydate-range'
        ,type: 'datetime'