自动化立体仓库 - WMS系统
123
zhang
1 天以前 2e82ef6fd6dfbcb1eb88a8d4b705eae7fb99065b
123
15个文件已修改
286 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/InventoryCheckOrderController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/StockOutParam.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WorkService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/task/PlanOrderTask.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/pakStore/locCheckOut.js 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pakStore/locCheckOut.html 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/InventoryCheckOrderController.java
@@ -22,6 +22,7 @@
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.stream.Collectors;
@RestController
public class InventoryCheckOrderController extends BaseController {
@@ -82,6 +83,15 @@
        return R.ok().add(orders);
    }
    @RequestMapping(value = "/inventoryCheckOrder/nav/auth")
    @ManagerAuth
    public R navList() {
        EntityWrapper<InventoryCheckOrder> wrapper = new EntityWrapper<>();
        List<InventoryCheckOrder> orders = inventoryCheckOrderService.selectList(wrapper.eq("status", "1"));
        List<String> locNoList = orders.stream().map(InventoryCheckOrder::getOrderNo).distinct().collect(Collectors.toList());
        return R.ok().add(locNoList);
    }
    @RequestMapping(value = "/inventoryCheckOrder/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
@@ -100,7 +110,9 @@
        excludeTrash(param);
        convert(param, wrapper);
        allLike(InventoryCheckOrder.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
        if (!Cools.isEmpty(orderByField)) {
            wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));
        }
        return R.ok(inventoryCheckOrderService.selectPage(new Page<>(curr, limit), wrapper));
    }
@@ -142,7 +154,7 @@
            return R.parse("单据编号已经存在:" + orderNo);
        }
        inventoryCheckOrder.setCreateBy(getUserId().toString());
        inventoryCheckOrder.setCreateBy(getUserId());
        inventoryCheckOrder.setCreateTime(new Date());
        inventoryCheckOrder.setStatus("1");
src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java
@@ -54,11 +54,11 @@
     */
    @ApiModelProperty(value= "创建人")
    @TableField("create_by")
    private String createBy;
    private Long createBy;
    public InventoryCheckOrder() {}
    public InventoryCheckOrder(Integer id,String orderNo,String area,Date createTime,String createBy) {
    public InventoryCheckOrder(Integer id,String orderNo,String area,Date createTime,Long createBy) {
        this.id = id;
        this.orderNo = orderNo;
        this.area = area;
src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
@@ -1,16 +1,17 @@
package com.zy.asrs.entity;
import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableField;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.Cools;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableName;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
@Data
@TableName("man_Inventory_check_order_detl")
@@ -57,7 +58,8 @@
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date ioTime;
    public InventoryCheckOrderDetl() {}
    public InventoryCheckOrderDetl() {
    }
    public InventoryCheckOrderDetl(String orderNo,String matnr,String maktx,String batch,Double anfme,String area,String locNo,Date ioTime) {
        this.orderNo = orderNo;
@@ -90,7 +92,7 @@
    public String getStatus$(){
        if (Cools.isEmpty(this.status)){
            return "";
            return "待盘";
        }
        switch (this.status){
            case "1":
@@ -103,7 +105,7 @@
    }
    public String getProfit$(){
        if (Cools.isEmpty(this.status) && !this.status.equals("1")){
        if (Cools.isEmpty(this.status) || !this.status.equals("1")) {
            return "未盘点";
        }
        if (Cools.isEmpty(this.anfme) || Cools.isEmpty(this.checkAnfme)){
src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -15,6 +15,9 @@
    // 出站口
    private Integer outSite;
    //
    private String checkId;
    // 物料编号集合
    private List<LocDetl> locDetls;
src/main/java/com/zy/asrs/service/WorkService.java
@@ -38,7 +38,7 @@
     * @param locDetls 待出库物料
     * @param ioType 入出库类型
     */
    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, IoWorkType ioWorkType, Long userId);
    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, IoWorkType ioWorkType, Long userId,String checkOrderNo);
    void stockOut(BasDevp staNo, TaskDto taskDto, Long userId);
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -76,6 +76,12 @@
    private ManLocDetlMapper manLocDetlMapper;
    @Autowired
    private InventoryCheckOrderService inventoryCheckOrderService;
    @Autowired
    private InventoryCheckOrderDetlService inventoryCheckOrderDetlService;
    @Autowired
    private AdjDetlService adjDetlService;
    @Resource
@@ -597,6 +603,7 @@
                }
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.sync(mat);
                waitPakin.setWeight(detlDto.getWeight());
                waitPakin.setBatch(detlDto.getBatch());
                waitPakin.setZpallet(param.getBarcode());   // 托盘码
                waitPakin.setIoStatus("N");     // 入出状态
@@ -786,6 +793,9 @@
                            throw new CoolException(wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号修改数量失败");
                        }
                    }
                    //如果已经拣料回库,就需要取locNo字段
//                    String locNo =Cools.isEmpty(wrkMast.getLocNo())?  wrkMast.getSourceLocNo():wrkMast.getLocNo();
//                    inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no",locNo))
                    iterator.remove();
                    iterator1.remove();
                }
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -94,6 +94,12 @@
    @Resource
    private OrderPakoutService orderPakOutService;
    @Autowired
    private InventoryCheckOrderService checkOrderService;
    @Autowired
    private InventoryCheckOrderDetlService checkOrderDetlService;
    @Override
    @Transactional
    public String startupFullPutStore(FullStoreParam param, Long userId) {
@@ -199,7 +205,7 @@
            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
                // 启动出库开始 101.出库
                stockOut(staNo, locDetlDtos, null, userId);
                stockOut(staNo, locDetlDtos, null, userId, null);
            } else {
                throw new CoolException("所选库位存在状态不为F、D的库位,库位号:" + locMast.getLocNo() + " 、当前状态:" + locMast.getLocSts() + "-" + locMast.getLocSts$());
            }
@@ -288,7 +294,7 @@
    @Override
    @Transactional
    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId) {
    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId, String checkOrderNo) {
        Date now = new Date();
        // 合并同类项
        Set<String> locNos = new HashSet<>();
@@ -315,6 +321,15 @@
                ioType = dto.isAll() ? 101 : 103;
            } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                ioType = 107;
                if (Cools.isEmpty(checkOrderNo)) {
                    checkOrderNo = DateUtils.createTimeStamp();
                    InventoryCheckOrder checkOrder = new InventoryCheckOrder();
                    checkOrder.setCreateBy(userId);
                    checkOrder.setStatus("1");
                    checkOrder.setCreateTime(new Date());
                    checkOrder.setOrderNo(checkOrderNo);
                    checkOrderService.insert(checkOrder);
                }
            }
            assert ioType != null;
            // 获取库位
@@ -372,6 +387,17 @@
                wrkDetl.setModiUser(userId);
                if (!wrkDetlService.insert(wrkDetl)) {
                    throw new CoolException("保存工作档明细失败");
                }
                if (ioType == 107) {
                    InventoryCheckOrderDetl checkOrderDetl = new InventoryCheckOrderDetl();
                    checkOrderDetl.setOrderNo(checkOrderNo);
                    checkOrderDetl.setMatnr(detlDto.getLocDetl().getMatnr());
                    checkOrderDetl.setMaktx(detlDto.getLocDetl().getMaktx());
                    checkOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
                    checkOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
                    checkOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
                    checkOrderDetl.setStatus("0");
                    checkOrderDetlService.insert(checkOrderDetl);
                }
            }
            // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
@@ -705,7 +731,7 @@
            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
            if (locMast.getLocSts().equals("F")) {
                // 启动出库开始 107.盘点出库
                stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
                stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId, param.getCheckId());
            } else {
                throw new CoolException("所选库位存在状态不为F的库位,库位号:" + locMast.getLocNo() + " 、当前状态:" + locMast.getLocSts() + "-" + locMast.getLocSts$());
            }
@@ -1408,7 +1434,9 @@
////                        stockOutRe(wrkMast, wrkDetls);
//            }
//        }
        if (wrkMast.getIoType() == 107) {
            checkOrderDetlService.delete(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo));
        }
        // 取消操作人员记录
        wrkMast.setManuType("手动取消");
        wrkMast.setModiUser(userId);
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -248,6 +248,8 @@
                        locMast.setLocSts("F");
                        locMast.setBarcode(wrkMast.getBarcode());
                        locMast.setIoTime(now);
                        //标记该库位已经拣料过
                        locMast.setPdcType("pick");
                        locMast.setModiTime(now);
                        if (!locMastService.updateById(locMast)) {
//                            exceptionHandle("拣料入库 ===>> 修改库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -331,19 +333,19 @@
                        return FAIL.setMsg("盘点入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                    }
                    for (WrkDetl wrkDetl : wrkDetls57) {
                        if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                            // 更新订单完成数量
                            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                            if (!Cools.isEmpty(orderDetlPakout)) {
//                                if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
//                                        orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
//                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
                                if (!orderDetlPakoutService.increaseQtyByOrderNo(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3(), wrkDetl.getAnfme())) {
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("盘点入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                                }
                            }
                        }
//                        if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
//                            // 更新订单完成数量
//                            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
//                            if (!Cools.isEmpty(orderDetlPakout)) {
////                                if (!orderDetlPakoutService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
////                                        orderDetlPakout.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),
////                                        wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) {
//                                if (!orderDetlPakoutService.increaseQtyByOrderNo(orderDetlPakout.getOrderNo(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getBrand(), orderDetlPakout.getStandby1(), orderDetlPakout.getStandby2(), orderDetlPakout.getStandby3(), orderDetlPakout.getBoxType1(), orderDetlPakout.getBoxType2(), orderDetlPakout.getBoxType3(), wrkDetl.getAnfme())) {
//                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                                    return FAIL.setMsg("盘点入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
//                                }
//                            }
//                        }
                    }
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("Q")) {
src/main/java/com/zy/common/web/WcsController.java
@@ -170,15 +170,15 @@
        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
        //TODO 测试
        StartupDto dto = new StartupDto();
        dto.setCrnNo(1);
        dto.setSourceStaNo(devpNo);
        dto.setStaNo(103);
        LocMast locMastxx = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O"));
        dto.setLocNo(locMastxx.getLocNo());
        dto.setWorkNo(Integer.parseInt(Math.random() * 1000 + ""));
//        StartupDto dto = new StartupDto();
//        dto.setCrnNo(1);
//        dto.setSourceStaNo(devpNo);
//        dto.setStaNo(103);
//        LocMast locMastxx = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O"));
//        dto.setLocNo(locMastxx.getLocNo());
//        dto.setWorkNo(Integer.parseInt(Math.random() * 1000 + ""));
        //StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto);
        StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto);
        int workNo = dto.getWorkNo();
        Date now = new Date();
        // 生成工作档
src/main/java/com/zy/nc/task/PlanOrderTask.java
@@ -183,20 +183,20 @@
     *
     * @return
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    public void execute4() {
        List<String> strings = nccCkPddWmsService.selectPdd();
        for (String string : strings) {
            List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("FBILLFLAG", 4).eq("hdr", 0).eq("bdr", 0));
            ReturnT<String> returnT = planOrderHandler.start4(wmsFlag);
            if (!returnT.isSuccess()) {
                for (NccCkPddWms wms : wmsFlag) {
                    wms.setWmsMemo(returnT.getMsg());
                    wms.setWmsFlag(0);
                    nccCkPddWmsService.updateById(wms);
                }
                log.error(returnT.getMsg());
            }
        }
    }
//    @Scheduled(cron = "0/3 * * * * ? ")
//    public void execute4() {
//        List<String> strings = nccCkPddWmsService.selectPdd();
//        for (String string : strings) {
//            List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("FBILLFLAG", 4).eq("hdr", 0).eq("bdr", 0));
//            ReturnT<String> returnT = planOrderHandler.start4(wmsFlag);
//            if (!returnT.isSuccess()) {
//                for (NccCkPddWms wms : wmsFlag) {
//                    wms.setWmsMemo(returnT.getMsg());
//                    wms.setWmsFlag(0);
//                    nccCkPddWmsService.updateById(wms);
//                }
//                log.error(returnT.getMsg());
//            }
//        }
//    }
}
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -270,40 +270,40 @@
     *
     * @return
     */
    @Transactional
    public ReturnT<String> start4(List<NccCkPddWms> wmsFlag) {
        try {
            InventoryCheckOrder param = new InventoryCheckOrder();
            InventoryCheckOrderDetl checkOrderDetl = null;
            for (NccCkPddWms nccScZkmxbWms : wmsFlag) {
                log.info("NccCkPddWms数据:{}", JSONObject.toJSON(nccScZkmxbWms));
                Mat mat = matService.selectByMatnr(nccScZkmxbWms.getWlbm());
                if (Cools.isEmpty(mat)) {
                    throw new CoolException(nccScZkmxbWms.getWlbm() + "编号商品检索失败,请先添加商品");
                }
                checkOrderDetl = new InventoryCheckOrderDetl();
                checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm());
                checkOrderDetl.setMaktx(mat.getMaktx());
                checkOrderDetl.setOrderNo(nccScZkmxbWms.getVbillcode());
                checkOrderDetl.setAnfme(nccScZkmxbWms.getZmzsl().doubleValue());
                checkOrderDetl.setBatch(nccScZkmxbWms.getVbatchcode());
                inventoryCheckOrderDetlService.insert(checkOrderDetl);
                nccScZkmxbWms.setWmsFlag(1);
                param.setOrderNo(nccScZkmxbWms.getVbillcode());
                param.setCreateBy(nccScZkmxbWms.getPdrmc());
            }
            param.setCreateTime(new Date());
            param.setStatus("1");
            inventoryCheckOrderService.insert(param);
            nccCkPddWmsService.updateBatchById(wmsFlag);
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return FAIL.setMsg(e.getMessage());
        }
        return SUCCESS;
    }
//    @Transactional
//    public ReturnT<String> start4(List<NccCkPddWms> wmsFlag) {
//        try {
//            InventoryCheckOrder param = new InventoryCheckOrder();
//            InventoryCheckOrderDetl checkOrderDetl = null;
//            for (NccCkPddWms nccScZkmxbWms : wmsFlag) {
//                log.info("NccCkPddWms数据:{}", JSONObject.toJSON(nccScZkmxbWms));
//                Mat mat = matService.selectByMatnr(nccScZkmxbWms.getWlbm());
//                if (Cools.isEmpty(mat)) {
//                    throw new CoolException(nccScZkmxbWms.getWlbm() + "编号商品检索失败,请先添加商品");
//                }
//                checkOrderDetl = new InventoryCheckOrderDetl();
//                checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm());
//                checkOrderDetl.setMaktx(mat.getMaktx());
//                checkOrderDetl.setOrderNo(nccScZkmxbWms.getVbillcode());
//                checkOrderDetl.setAnfme(nccScZkmxbWms.getZmzsl().doubleValue());
//                checkOrderDetl.setBatch(nccScZkmxbWms.getVbatchcode());
//                inventoryCheckOrderDetlService.insert(checkOrderDetl);
//                nccScZkmxbWms.setWmsFlag(1);
//                param.setOrderNo(nccScZkmxbWms.getVbillcode());
//                param.setCreateBy(nccScZkmxbWms.getPdrmc());
//
//            }
//            param.setCreateTime(new Date());
//            param.setStatus("1");
//            inventoryCheckOrderService.insert(param);
//            nccCkPddWmsService.updateBatchById(wmsFlag);
//        } catch (Exception e) {
//            e.printStackTrace();
//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//            return FAIL.setMsg(e.getMessage());
//        }
//        return SUCCESS;
//    }
    /**
src/main/webapp/static/js/common.js
@@ -201,7 +201,7 @@
    ,{field: 'manuDate', align: 'center',title: '生产日期', hide: true}
    ,{field: 'itemNum', align: 'center',title: '品项数', hide: true}
    ,{field: 'safeQty', align: 'center',title: '安全库存量', hide: true}
    ,{field: 'weight', align: 'center',title: '单箱净重', hide: true}
    //,{field: 'weight', align: 'center',title: '单箱净重', hide: true}
    ,{field: 'length', align: 'center',title: '单箱毛重', hide: true}
    ,{field: 'volume', align: 'center',title: '单箱体积', hide: true}
    ,{field: 'threeCode', align: 'center',title: '箱子尺寸', hide: true}
@@ -227,6 +227,7 @@
    ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false}
    ,{field: 'batch', align: 'center',title: '批次'}
    ,{field: 'anfme', align: 'center',title: '数量', hide: false}
    ,{field: 'weight', align: 'center',title: '辅数量'}
    ,{field: 'zpallet', align: 'center',title: '托盘条码', hide: false}
    ,{field: 'specs', align: 'center',title: '规格', hide: false}
    ,{field: 'model', align: 'center',title: '型号'}
@@ -244,7 +245,6 @@
    ,{field: 'manuDate', align: 'center',title: '生产日期', hide: true}
    ,{field: 'itemNum', align: 'center',title: '品项数', hide: true}
    ,{field: 'safeQty', align: 'center',title: '安全库存量', hide: true}
    ,{field: 'weight', align: 'center',title: '辅数量'}
    ,{field: 'length', align: 'center',title: '单箱毛重', hide: true}
    ,{field: 'volume', align: 'center',title: '单箱体积', hide: true}
    ,{field: 'threeCode', align: 'center',title: '箱子尺寸', hide: true}
src/main/webapp/static/js/pakStore/locCheckOut.js
@@ -32,6 +32,7 @@
            tableMerge.render(this);
            limit();
            getOutBound();
            getCheckOrder();
        }
    });
@@ -43,12 +44,14 @@
                    layer.msg('请先添加盘点库存', {icon: 2});
                } else {
                    var staNo = $("#staNoSelect").val();
                    var checkId = $("#checkIdSelect").val();
                    if (staNo === "" || staNo === null){
                        layer.msg("请选择盘点站", {icon: 2});
                        return;
                    }
                    let param = {
                        outSite: staNo,
                        checkId: checkId,
                        locDetls: locDetlData
                    }
                    $.ajax({
@@ -97,6 +100,30 @@
        })
    }
    // 获取盘点单
    function getCheckOrder(){
        $.ajax({
            url: baseUrl+"/inventoryCheckOrder/nav/auth",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            async: false,
            success: function (res) {
                if (res.code === 200){
                    var tpl = $("#takeCheckSelectTemplate").html();
                    var template = Handlebars.compile(tpl);
                    var html = template(res);
                    $('#checkIdSelect').append(html);
                    form.render('select');
                } else if (res.code === 403){
                    top.location.href = baseUrl+"/";
                }else {
                    layer.msg(res.msg)
                }
            }
        })
    }
    $(document).on('click','#mat-query', function () {
        let loadIndex = layer.msg('请求中...', {icon: 16, shade: 0.01, time: false});
        locDetlLayerIdx = layer.open({
src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html
@@ -151,9 +151,9 @@
    <!--    </div>-->
<!--    <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>
    <button id="showFormBtn" class="layui-btn icon-btn"  lay-submit>
        <i class="layui-icon">&#xe654;</i>添加单据
    </button>
<!--    <button id="showFormBtn" class="layui-btn icon-btn"  lay-submit>-->
<!--        <i class="layui-icon">&#xe654;</i>添加单据-->
<!--    </button>-->
</script>
<!-- 行工具栏 -->
src/main/webapp/views/pakStore/locCheckOut.html
@@ -100,6 +100,12 @@
                <select id="staNoSelect" lay-verify="required">
                    <option value="">请选择站点</option>
                </select>
                <!-- 1.选择盘点单 -->
                <span id="checkId">盘点单:</span>
                <select id="checkIdSelect" lay-verify="required">
                    <option value="">请选择盘点单</option>
                </select>
                <!-- 2.启动出库 -->
                <button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="outbound">盘点出库</button>
            </div>
@@ -120,6 +126,12 @@
    {{/each}}
</script>
<script type="text/template" id="takeCheckSelectTemplate">
    {{#each data}}
    <option value="{{this}}">{{this}}</option>
    {{/each}}
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>