自动化立体仓库 - WMS系统
luxiaotao1123
2022-03-25 04ac29e927990eecf2f9eadd1a74d7b4daf9058c
#杰克缝纫机立库 【根据单号检索单据数据】 优化
4个文件已修改
101 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/CombParam.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/MobileService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -45,7 +45,7 @@
    /**
     * 根据单号检索单据数据
     */
    @RequestMapping("/order/serach/orderNo/auth")
    @RequestMapping("/order/search/orderNo/auth")
    @ManagerAuth
    public R orderSearchByBarcode(@RequestParam String orderNo){
        Order order = orderService.selectByNo(orderNo);
src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -1,56 +1,35 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.List;
/**
 * Created by vincent on 2020/6/28
 */
@Data
public class CombParam {
    // 单据编号
    private String orderNo;
    // 托盘条码
    private String barcode;
    private List<CombMat> combMats;
    @Data
    public static class CombMat {
        // 物料编号
        private String matNo;
        // 批号
        private String batch;
        // 物料数量
        private Double count;
        public String getMatNo() {
            return matNo;
        }
        public void setMatNo(String matNo) {
            this.matNo = matNo;
        }
        public Double getCount() {
            return count;
        }
        public void setCount(Double count) {
            this.count = count;
        }
    }
    public String getBarcode() {
        return barcode;
    }
    public void setBarcode(String barcode) {
        this.barcode = barcode;
    }
    public List<CombMat> getCombMats() {
        return combMats;
    }
    public void setCombMats(List<CombMat> combMats) {
        this.combMats = combMats;
    }
}
src/main/java/com/zy/asrs/service/MobileService.java
@@ -6,7 +6,6 @@
    /**
     * 组托
     * @param param
     */
    void comb(CombParam param, Long userId);
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -5,10 +5,12 @@
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.MatCode;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.service.MatCodeService;
import com.zy.asrs.service.MobileService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.utils.VersionUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +30,8 @@
    private MatCodeService matCodeService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private OrderService orderService;
    @Override
    @Transactional
@@ -35,31 +39,44 @@
        if (Cools.isEmpty(param.getBarcode()) || param.getCombMats().isEmpty()) {
            throw new CoolException(BaseRes.PARAM);
        }
        int count = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                eq("zpallet", param.getBarcode()).eq("io_status", "N"));
        if (count > 0) {
        // 判断是否有相同条码的数据
        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
            throw new CoolException("条码数据已存在");
        }
        for (CombParam.CombMat combMat : param.getCombMats()) {
            MatCode matCode = matCodeService.selectById(combMat.getMatNo());
            if (Cools.isEmpty(matCode)) {
                throw new CoolException("物料数据错误");
            }
            WaitPakin waitPakin = new WaitPakin();
            waitPakin.setZpallet(param.getBarcode());   // 托盘码
            waitPakin.setStatus("Y");    // 状态
            waitPakin.setAnfme(combMat.getCount());  // 数量
            waitPakin.setIoStatus("N");     // 入出状态
            waitPakin.setAppeUser(userId);
            waitPakin.setAppeTime(new Date());
            waitPakin.setModiUser(userId);
            waitPakin.setModiTime(new Date());
            VersionUtils.setWaitPakIn(waitPakin, matCode);
        // 无单组托
        if (Cools.isEmpty(param.getOrderNo())) {
            for (CombParam.CombMat combMat : param.getCombMats()) {
                MatCode matCode = matCodeService.selectById(combMat.getMatNo());
                if (Cools.isEmpty(matCode)) {
                    throw new CoolException("物料数据错误");
                }
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.setZpallet(param.getBarcode());   // 托盘码
                waitPakin.setStatus("Y");    // 状态
                waitPakin.setAnfme(combMat.getCount());  // 数量
                waitPakin.setIoStatus("N");     // 入出状态
                waitPakin.setAppeUser(userId);
                waitPakin.setAppeTime(new Date());
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(new Date());
                VersionUtils.setWaitPakIn(waitPakin, matCode);
            if (!waitPakinService.insert(waitPakin)) {
                throw new CoolException("保存数据失败");
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存数据失败");
                }
            }
        // 关联组托
        } else {
            Order order = orderService.selectByNo(param.getOrderNo());
            if (order.getSettle() > 2) {
                throw new CoolException("单据编号已过期");
            }
        }
    }
}