自动化立体仓库 - WMS系统
#1
dubin
2025-10-30 5ee8d702138b67a8070e850ba622aa4b07d64fb9
#1
2个文件已添加
4个文件已删除
26个文件已修改
4 文件已重命名
741 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/HalfBarcodeController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/InOutController.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/LocDetlController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MatController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WaitPakinController.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/WrkMastController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/InOutMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/InOutServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/MatExcelListener.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/UserController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/InOutMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/halfBarcode/halfBarcode_old.js 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/locDetl/locDetl.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/matInOut/matInOut_old.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/pakStore/clampOut.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/waitPakin/waitPakin.js 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/adjDetl/adjDetl_detail.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/barcodeMatnr/barcodeMatnr.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/barcodeMatnr/barcodeMatnr_clamp.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/barcodeMatnr/barcodeMatnr_detail.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/halfBarcode/halfBarcode_old.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/locDetl/locDetl.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/locDetlStatis/locDetlStatis.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/mat/mat.html 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/matInOut/matInOut_old.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pakStore/clampDetlQuery.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pakStore/locDetlQuery.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/waitPakin/waitPakin.html 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/waitPakin/waitPakin_clamp.html 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/waitPakin/waitPakin_comb.html 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/wrkDetlLog/wrkDetlLog_detail.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java
@@ -120,18 +120,6 @@
    @RequestMapping(value = "/barcodeMatnr/add1/auth")
    @ManagerAuth
    public R comb(WaitPakin waitPakin) {
        Mat mat = matService.selectById(waitPakin.getModiUser());
        MatBarcode matBarcode = matBarcodeService.selectbyMatnr(mat.getMatnr());
        if (matBarcode == null){
            throw new CoolException("该物料未与托盘绑定");
        }else {
            if (!matBarcode.getZpallet().equals(waitPakin.getBarcode())){
                throw new CoolException("该物料与其他托盘绑定,不能与当前托盘"+waitPakin.getBarcode()+"绑定,与该物料绑定的托盘是"+matBarcode.getZpallet());
            }
        }
        if (mat.getColor().equals("报废")){
            throw new CoolException("该物料已报废,请勿绑定");
        }
        if (Cools.isEmpty(waitPakin.getBarcode())||Cools.isEmpty(waitPakin.getModiUser())||Cools.isEmpty(waitPakin.getAnfme())){
            return R.error(BaseRes.PARAM);
        }
src/main/java/com/zy/asrs/controller/HalfBarcodeController.java
@@ -26,7 +26,7 @@
    /*
     * 物料托盘绑定分页查询
     * */
    @RequestMapping(value = "/halfBarcode/list/auth")
    //@RequestMapping(value = "/halfBarcode/list/auth")
    @ManagerAuth
    public R list(@RequestParam(defaultValue = "1")Integer curr,
                  @RequestParam(defaultValue = "10")Integer limit,
src/main/java/com/zy/asrs/controller/InOutController.java
File was deleted
src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -106,6 +106,27 @@
        return R.ok(stockOut);
    }
    @RequestMapping(value = "/clamp/out/list/auth")
    @ManagerAuth
    public R clampOutList(@RequestParam(defaultValue = "1")Integer curr,
                          @RequestParam(defaultValue = "10")Integer limit,
                          @RequestParam Map<String, Object> param){
        if (!Cools.isEmpty(param.get("modi_time"))){
            String val = String.valueOf(param.get("modi_time"));
            if (val.contains(RANGE_TIME_LINK)) {
                String[] dates = val.split(RANGE_TIME_LINK);
                param.put("startTime", DateUtils.convert(dates[0]));
                param.put("endTime", DateUtils.convert(dates[1]));
                param.remove("modi_time");
            }
        }
        Page<LocDetl> stockOut = locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class));
        if (stockOut.getRecords().size()==0){
            stockOut = locDetlService.getStockOut(toPage(1, limit, param, LocDetl.class));
        }
        return R.ok(stockOut);
    }
    @RequestMapping(value = "/locDetl/list/auth")// /locDetl/list/auth 接口问题
    @ManagerAuth
    public R list(@RequestParam(defaultValue = "1")Integer curr,
src/main/java/com/zy/asrs/controller/MatController.java
@@ -43,8 +43,6 @@
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private InOutService inOutService;
    @Autowired
    private MatBarcodeService matBarcodeService;
    @RequestMapping(value = "/mat/auto/matnr/auth")
@@ -141,9 +139,6 @@
        if (!matService.insert(mat)) {
            throw new CoolException("商品档案添加失败,请联系管理员");
        }
        if (!inOutService.insert(inOut)){
            throw new CoolException("商品信息添加失败,请联系管理员");
        }
        return R.ok();
    }
@@ -153,20 +148,9 @@
        if (Cools.isEmpty(mat) || null==mat.getId()){
            return R.error();
        }
        if (mat.getColor().equals("正常")){
            mat.setColor("报废");
        }else if (mat.getColor().equals("报废")){
            mat.setColor("正常");
        }
        InOut inOut = inOutService.selectByMatnr(mat.getMatnr());
        inOut.setMatnr(mat.getMatnr());
        inOut.setMaktx(mat.getMaktx());
        inOut.setColor(mat.getColor());
        inOut.setSpecs(mat.getSpecs());
        mat.setUpdateBy(getUserId());
        mat.setUpdateTime(new Date());
        matService.updateById(mat);
        inOutService.updateById(inOut);
        return R.ok();
    }
src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -10,12 +10,11 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.service.WrkMastService;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@@ -35,6 +34,10 @@
    private OrderDetlService orderDetlService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private MobileService mobileService;
    @Autowired
    private MatService matService;
    @RequestMapping(value = "/waitPakin/{id}/auth")
    @ManagerAuth
@@ -150,4 +153,36 @@
        return R.ok();
    }
    /*入库通知档界面组托 镇江恒立*/
    @RequestMapping(value = "waitPakin/comb/auth")
    @ManagerAuth
    public R comb(WaitPakin waitPakin) {
        if (Cools.isEmpty(waitPakin.getBarcode())||Cools.isEmpty(waitPakin.getModiUser())||Cools.isEmpty(waitPakin.getAnfme())){
            return R.error(BaseRes.PARAM);
        }
        mobileService.combToWms(waitPakin);
        return R.ok("组托成功");
    }
    /*入库通知档界面并板 镇江恒立*/
    @RequestMapping(value = "/waitPakin/clamp/auth")
    @ManagerAuth
    public R clamp(WaitPakin waitPakin) {
        if (Cools.isEmpty(waitPakin.getBarcode())||Cools.isEmpty(waitPakin.getModiUser())||Cools.isEmpty(waitPakin.getAnfme())){
            return R.error(BaseRes.PARAM);
        }
        Mat mat = matService.selectById(waitPakin.getModiUser());
        MobileAdjustParam combParam=new MobileAdjustParam();
        ArrayList<CombParam.CombMat> combMats=new ArrayList<>();
        CombParam.CombMat combMat=new CombParam.CombMat();
        combMat.setSpecs(mat.getSpecs());
        combMat.setMatnr(mat.getMatnr());
        combMat.setMaktx(mat.getMaktx());
        combMat.setAnfme(waitPakin.getAnfme());
        combMats.add(combMat);
        combParam.setBarcode(waitPakin.getBarcode());
        combParam.setCombMats(combMats);
        mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
        return R.ok("并板成功");
    }
}
src/main/java/com/zy/asrs/controller/WrkMastController.java
@@ -85,9 +85,6 @@
        }
        wrkMast.setModiUser(getUserId());
        wrkMast.setModiTime(new Date());
        if (wrkMast.getWrkSts() == 2){
            wrkMast.setPltType(0);
        }
        wrkMastService.updateById(wrkMast);
        return R.ok();
    }
src/main/java/com/zy/asrs/mapper/InOutMapper.java
File was deleted
src/main/java/com/zy/asrs/service/impl/InOutServiceImpl.java
File was deleted
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -711,6 +711,7 @@
                detl.sync(wrkDetl);
                detl.setWrkNo(wrkMast.getWrkNo());
                detl.setZpallet(wrkMast.getBarcode());
                detl.setIoTime(new Date());
                wrkDetlService.insert(detl);
                recordRecordLog = recordRecordLog + "\n" + "新增一条明细:" + "\t商品编号:" + wrkDetl.getMatnr() + "\t批号:" + wrkDetl.getBatch() + "\t数量:" + wrkDetl.getAnfme();
                adjDetl.setOriQty(0.0);
@@ -734,12 +735,6 @@
    @Override
    public void combToWms(WaitPakin waitPakin) {
        // 判断是否有相同条码的数据
//        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
//                eq("zpallet", waitPakin.getBarcode()).eq("io_status", "N")) > 0) {
//            throw new CoolException(waitPakin.getBarcode() + "数据正在进行入库");
//        }
        if (waitPakin.getBarcode().length() != 8) {
            throw new CoolException("条码长度不是8位===>>" + waitPakin.getBarcode());
        }
@@ -770,13 +765,6 @@
            Mat mat = matService.selectByMatnr(dto.getMatnr());
            if (Cools.isEmpty(mat)) {
                throw new CoolException(dto.getMatnr() + "商品档案不存在");
            }
            //校验当前物料与托盘绑定信息是否正确
            MatBarcode mb = matBarcodeService.selectbyMatnr(dto.getMatnr());
            if (mb != null){
                if (!mb.getZpallet().equals(waitPakin.getBarcode())){
                    throw new CoolException(detlDto.getMatnr() + "该物料与其他托盘绑定,请先解绑");
                }
            }
            WaitPakin waitPakin1 = new WaitPakin();
            waitPakin1.sync(mat);
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -36,8 +36,6 @@
    private WaitPakinService waitPakinService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private InOutService inOutService;
    public ReturnT<String> start(WrkMast wrkMast) {
        // 4.入库完成
@@ -69,15 +67,6 @@
                            throw new CoolException("空板入库条码不能为空");
                        }
                        locMast.setBarcode(wrkMast.getBarcode());
                        if (Integer.parseInt(wrkMast.getBarcode().substring(0,1))==5){
                            locMast.setLocType2((short)5);
                        }else if (Integer.parseInt(wrkMast.getBarcode().substring(0,1))==6){
                            locMast.setLocType2((short)6);
                        }else if(Integer.parseInt(wrkMast.getBarcode().substring(0,1))==7){
                            locMast.setLocType2((short)7);
                        }else if(Integer.parseInt(wrkMast.getBarcode().substring(0,1))==8){
                            locMast.setLocType2((short)8);
                        }
                        locMast.setLocSts("D");
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
@@ -122,14 +111,7 @@
                            locDetl.setAppeTime(now);
                            locDetl.setModel(wrkDetl.getModel());
                            InOut inOut=inOutService.selectByMatnr(wrkDetl.getMatnr());
                            if (inOut != null){
                                inOut.setTemp1("在库");
//                                inOut.setModiTime(now.toString());
                            }
                            if (!inOutService.updateById(inOut)){
                                return FAIL.setMsg("更新模具属性失败");
                            }
                            locDetl.setSPgNO(wrkDetl.getZpallet().substring(0,1));//并板出库根据托盘类型去选择
                            if (!locDetlService.insert(locDetl)) {
//                                exceptionHandle("全板入库 ===>> 添加库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -181,17 +163,6 @@
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl);
                        if (locDetl != null) {
                            InOut inOut=inOutService.selectByMatnr(wrkDetl.getMatnr());
                            if (inOut != null){
                                inOut.setTemp1("不在库");
//                                inOut.setModiTime(now.toString());
                            }
                            if (!inOutService.updateById(inOut)){
                                return FAIL.setMsg("更新模具属性失败");
                            }
                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl)) {
//                                exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -249,16 +220,6 @@
                                return FAIL.setMsg("并板入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                            }
                        } else {
                            InOut inOut=inOutService.selectByMatnr(wrkDetl.getMatnr());
                            if (inOut != null){
                                inOut.setTemp1("在库");
//                                inOut.setModiTime(now.toString());
                            }
                            if (!inOutService.updateById(inOut)){
                                return FAIL.setMsg("更新模具属性失败");
                            }
                            locDetl = new LocDetl();
                            locDetl.sync(wrkDetl);
                            locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
@@ -266,6 +227,9 @@
                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                            locDetl.setModiTime(now);
                            locDetl.setAppeTime(now);
                            locDetl.setSPgNO(wrkDetl.getZpallet().substring(0,1));//并板出库根据托盘类型去选择
                            if (!locDetlService.insert(locDetl)) {
//                                exceptionHandle("并板入库 ===>> 新增库存明细失败;[workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -390,18 +354,6 @@
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                    }
                    for (WrkDetl wrkDetl : wrkDetls101) {
                        InOut inOut=inOutService.selectByMatnr(wrkDetl.getMatnr());
                        if (inOut != null){
                            inOut.setTemp1("不在库");
//                            inOut.setModiTime(now.toString());
                        }
                        if (!inOutService.updateById(inOut)){
                            return FAIL.setMsg("更新模具属性失败");
                        }
                    }
                    for (WrkDetl wrkDetl : wrkDetls101) {
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl);
@@ -427,7 +379,6 @@
                    // 修改源库位状态 R ===>> O
                    if (locMast.getLocSts().equals("R")) {
                        locMast.setLocSts("O");
                        locMast.setBarcode("");//托盘与库位绑定
                        locMast.setModiTime(now);
                        locMast.setIoTime(now);
                        if (!locMastService.updateById(locMast)) {
@@ -442,8 +393,6 @@
                    // 修改库位状态 R ===>> O
                    if (locMast.getLocSts().equals("R")) {
                        locMast.setLocSts("O");
                        locMast.setBarcode("");//托盘与库位绑定
                        locMast.setLocType2((short)0);
                        locMast.setModiTime(now);
                        locMast.setIoTime(now);
                        if (!locMastService.updateById(locMast)) {
src/main/java/com/zy/asrs/utils/MatExcelListener.java
@@ -132,20 +132,11 @@
        // 商品
        Mat mat = matService.selectByMatnr(excel.getMatnr());
        if (mat == null) {
            InOut inOut=new InOut();
            mat = excel;
            mat.setTagId(tagId);
            mat.setMatnr(excel.getMatnr()+"__"+excel.getName());
            inOut.setMatnr(mat.getMatnr());
            inOut.setMaktx(mat.getMaktx());
            inOut.setColor(mat.getColor());
            inOut.setSpecs(mat.getSpecs());
            inOut.setTemp1("");
            mat.setMatnr(excel.getMatnr());
            if (!matService.insert(mat)) {
                throw new CoolException("保存商品档案失败,商品编码:" + excel.getMatnr());
            }
            if (!inOutService.insert(inOut)){
                throw new CoolException("保存商品信息失败,商品编码:" + excel.getMatnr());
            }
            total++;
        }
src/main/java/com/zy/common/service/CommonService.java
@@ -206,7 +206,7 @@
        }
        if (signRule1) {
            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").eq("loc_type2",locTypeDto.getLocType2()));
            for (LocMast locMast1 : locMasts) {
                if (VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                    continue;
@@ -260,7 +260,7 @@
        // 靠近摆放规则 --- 空托 //互通版
        if (staDescId == 10) {
            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow));
            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow).eq("loc_type2",locTypeDto.getLocType2()));
            if (locMasts.size() > 0) {
                for (LocMast loc : locMasts) {
                    if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) {
@@ -318,29 +318,29 @@
        if (Cools.isEmpty(locMast) && crnNo != 0) {
            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O").eq("loc_type2",locTypeDto.getLocType2()));
            List<LocMast> locMastList = new ArrayList<>();
            locMasts.sort(new Comparator<LocMast>() {
                @Override
                public int compare(LocMast o1, LocMast o2) {
                    int b1 = o1.getBay1();
                    int b2 = o2.getBay1();
                    if (o1.getBay1() >= 15) {
                        b1 = Math.abs(15 - o1.getBay1());
                    }
                    if (o2.getBay1() >= 15) {
                        b2 = Math.abs(15 - o2.getBay1());
                    }
                    return b2 - b1;
                }
            });
//            locMasts.sort(new Comparator<LocMast>() {
//                @Override
//                public int compare(LocMast o1, LocMast o2) {
//                    int b1 = o1.getBay1();
//                    int b2 = o2.getBay1();
//                    if (o1.getBay1() >= 15) {
//                        b1 = Math.abs(15 - o1.getBay1());
//                    }
//                    if (o2.getBay1() >= 15) {
//                        b2 = Math.abs(15 - o2.getBay1());
//                    }
//                    return b2 - b1;
//                }
//            });
            for (LocMast locMast1 : locMasts) {
                if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                    continue;
                }
                String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O"));
                if (!Cools.isEmpty(locMast2)) {
                    locMast = locMast2;
                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O").eq("loc_type2",locTypeDto.getLocType2()));
                if (Cools.isEmpty(locMast2)) {
                    locMast = locMast1;
                    break;
                }
            }
src/main/java/com/zy/system/controller/UserController.java
@@ -149,7 +149,7 @@
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<Mat> wrapper = new EntityWrapper<>();
        wrapper.like("maktx", condition);
        wrapper.like("matnr", condition);
        Page<Mat> page = matService.selectPage(new Page<>(0, 50), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (Mat mat : page.getRecords()){
src/main/resources/mapper/InOutMapper.xml
File was deleted
src/main/webapp/static/js/common.js
@@ -181,15 +181,15 @@
}
var matCols = [
    {field: 'matnr', align: 'center',title: '商品模具名称', width: 180}
    {field: 'matnr', align: 'center',title: '商品编码', width: 180}
    // {field: 'id', align: 'center',title: 'ID'}
    // ,{field: 'uuid', align: 'center',title: '编号'}
    // ,{field: 'tagId$', align: 'center',title: '所属归类'}
    ,{field: 'maktx', align: 'center',title: '商品型材型号', width: 200}
    ,{field: 'maktx', align: 'center',title: '商品名称', width: 200}
    // ,{field: 'name', align: 'center',title: '别名'}
    ,{field: 'specs', align: 'center',title: '规格'}
    ,{field: 'name', align: 'center',title: '套号'}
    ,{field: 'color', align: 'center',title: '状态', hide: true}
    ,{field: 'name', align: 'center',title: '型号'}
    ,{field: 'color', align: 'center',title: '颜色', hide: true}
    ,{field: 'brand', align: 'center',title: '品牌', hide: true}
    ,{field: 'unit', align: 'center',title: '单位', hide: true}
    ,{field: 'price', align: 'center',title: '单价', hide: true}
@@ -228,9 +228,9 @@
]
var detlCols = [
    {field: 'matnr', align: 'center',title: '商品模具名称', sort:true}
    ,{field: 'model', align: 'center',title: '套号', hide: false}
    ,{field: 'maktx', align: 'center',title: '商品型材型号', sort:true}
    {field: 'matnr', align: 'center',title: '商品编码', sort:true}
    ,{field: 'model', align: 'center',title: '型号', hide: false}
    ,{field: 'maktx', align: 'center',title: '商品名称', sort:true}
    ,{field: 'orderNo', align: 'center',title: '单据编号', hide: true}
    ,{field: 'spgNO', align: 'center',title: '派工单号', hide:true,sort:true}
    ,{field: 'batch', align: 'center',title: '批次', hide:true,sort:true}
@@ -269,9 +269,9 @@
]
var halfBarcodeCols = [
    {field: 'matnr', align: 'center',title: '商品模具名称', sort:true, hide: true}
    ,{field: 'model', align: 'center',title: '套号', hide: true}
    ,{field: 'maktx', align: 'center',title: '商品型材型号', sort:true, hide: true}
    {field: 'matnr', align: 'center',title: '商品编码', sort:true, hide: true}
    ,{field: 'model', align: 'center',title: '型号', hide: true}
    ,{field: 'maktx', align: 'center',title: '商品名称', sort:true, hide: true}
    ,{field: 'orderNo', align: 'center',title: '单据编号', hide: true}
    ,{field: 'spgNO', align: 'center',title: '派工单号', hide:true,sort:true}
    ,{field: 'batch', align: 'center',title: '批次', hide:true,sort:true}
src/main/webapp/static/js/halfBarcode/halfBarcode_old.js
src/main/webapp/static/js/locDetl/locDetl.js
@@ -3,9 +3,9 @@
    var cols = [
        {field: 'locNo$', align: 'center',title: '库位号'}
        ,{field: 'storeDate', align: 'center',title: '库龄(天)', sort:true}
        ,{field: 'matnr', align: 'center',title: '商品模具名称', sort:true}
        ,{field: 'model', align: 'center',title: '套号'}
        ,{field: 'maktx', align: 'center',title: '商品型材型号', sort:true}
        ,{field: 'matnr', align: 'center',title: '物料编码', sort:true}
        ,{field: 'model', align: 'center',title: '型号'}
        ,{field: 'maktx', align: 'center',title: '商品名称', sort:true}
        ,{field: 'spgNO', align: 'center',title: '派工单号', hide:true,sort:true}
        ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false}
        ,{field: 'batch', align: 'center',title: '批号', width: 200,hide:true, sort:true}
src/main/webapp/static/js/matInOut/matInOut_old.js
File was renamed from src/main/webapp/static/js/matInOut/matInOut.js
@@ -3,9 +3,9 @@
    var cols = [
        {field: 'locNo$', align: 'center',title: '库位号', hide: true}
        ,{field: 'storeDate', align: 'center',title: '库龄(天)', sort:true, hide: true}
        ,{field: 'matnr', align: 'center',title: '商品模具名称', sort:true}
        ,{field: 'matnr', align: 'center',title: '商品编号', sort:true}
        ,{field: 'model', align: 'center',title: '代码', hide: true}
        ,{field: 'maktx', align: 'center',title: '商品型材型号', sort:true}
        ,{field: 'maktx', align: 'center',title: '商品名称', sort:true}
        ,{field: 'spgNO', align: 'center',title: '派工单号', hide:true,sort:true}
        ,{field: 'orderNo', align: 'center',title: '单据编号', hide: false}
        ,{field: 'batch', align: 'center',title: '批号', width: 200,hide:true, sort:true}
src/main/webapp/static/js/pakStore/clampOut.js
@@ -40,11 +40,11 @@
        switch (obj.event) {
            case 'outbound':
                if (locDetlData.length === 0){
                    layer.msg('请先添加盘点库存', {icon: 2});
                    layer.msg('请先添加并板库存', {icon: 2});
                } else {
                    var staNo = $("#staNoSelect").val();
                    if (staNo === "" || staNo === null){
                        layer.msg("请选择盘点站", {icon: 2});
                        layer.msg("请选择出库站", {icon: 2});
                        return;
                    }
                    let param = {
src/main/webapp/static/js/waitPakin/waitPakin.js
@@ -169,6 +169,34 @@
                    });
                }
                break;
            case 'combData':
                layer.open({
                    type: 2,
                    title: '组托',
                    maxmin: true,
                    area: [top.detailWidth, top.detailHeight],
                    content: 'waitPakin_comb.html',
                    success: function(layero, index){
                        layer.getChildFrame('#data-detail-submit-edit', index).hide();
                        clearFormVal(layer.getChildFrame('#detail', index));
                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
                    }
                });
                break;
            case 'clampData':
                layer.open({
                    type: 2,
                    title: '并板',
                    maxmin: true,
                    area: [top.detailWidth, top.detailHeight],
                    content: 'waitPakin_clamp.html',
                    success: function(layero, index){
                        layer.getChildFrame('#data-detail-submit-edit', index).hide();
                        clearFormVal(layer.getChildFrame('#detail', index));
                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
                    }
                });
                break;
            case 'exportData':
                layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){
                    var titles=[];
@@ -337,6 +365,24 @@
        method("add");
    });
    // 数据组托动作
    form.on('submit(comb)', function () {
        if (banMsg != null){
            layer.msg(banMsg);
            return;
        }
        method("comb");
    });
    // 数据并板动作
    form.on('submit(clamp)', function () {
        if (banMsg != null){
            layer.msg(banMsg);
            return;
        }
        method("clamp");
    });
    // 数据修改动作
    form.on('submit(edit)', function () {
        method("update")
src/main/webapp/views/adjDetl/adjDetl_detail.html
@@ -42,7 +42,7 @@
            </div>
        </div>
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label"><span class="not-null">*</span>物料编号:</label>
            <label class="layui-form-label"><span class="not-null">*</span>商品编码:</label>
            <div class="layui-input-inline cool-auto-complete">
                <input id="matnr" class="layui-input" type="text" lay-verify="required"  style="display: none">
                <input id="matnr$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()>
src/main/webapp/views/barcodeMatnr/barcodeMatnr.html
@@ -21,7 +21,7 @@
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="matnr" placeholder="商品模具名称" autocomplete="off">
            <input class="layui-input" type="text" name="matnr" placeholder="商品编码" autocomplete="off">
        </div>
    </div>
    <!-- 日期范围 -->
src/main/webapp/views/barcodeMatnr/barcodeMatnr_clamp.html
@@ -78,7 +78,7 @@
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">商品模具名称:</label>
            <label class="layui-form-label">商品编码:</label>
            <div class="layui-input-inline cool-auto-complete">
                <input id="modiUser" class="layui-input" type="text" lay-verify="number"  style="display: none">
                <input id="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()>
src/main/webapp/views/barcodeMatnr/barcodeMatnr_detail.html
@@ -78,7 +78,7 @@
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">商品模具名称:</label>
            <label class="layui-form-label">商品编码:</label>
            <div class="layui-input-inline cool-auto-complete">
                <input id="modiUser" class="layui-input" type="text" lay-verify="number"  style="display: none">
                <input id="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()>
src/main/webapp/views/halfBarcode/halfBarcode_old.html
File was renamed from src/main/webapp/views/halfBarcode/halfBarcode.html
@@ -21,7 +21,7 @@
    </div>
<!--    <div class="layui-inline">-->
<!--        <div class="layui-input-inline">-->
<!--            <input class="layui-input" type="text" name="matnr" placeholder="商品模具名称" autocomplete="off">-->
<!--            <input class="layui-input" type="text" name="matnr" placeholder="物料编号" autocomplete="off">-->
<!--        </div>-->
<!--    </div>-->
    <div class="layui-inline">
@@ -65,7 +65,7 @@
<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>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/halfBarcode/halfBarcode.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/halfBarcode/halfBarcode_old.js" charset="utf-8"></script>
<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
</body>
</html>
src/main/webapp/views/locDetl/locDetl.html
@@ -31,7 +31,7 @@
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="matnr" placeholder="商品模具名称" autocomplete="off">
            <input class="layui-input" type="text" name="matnr" placeholder="商品编码" autocomplete="off">
        </div>
    </div>
    <div class="layui-inline">
src/main/webapp/views/locDetlStatis/locDetlStatis.html
@@ -21,7 +21,7 @@
    </div>
    <div class="layui-inline">
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="matnr" placeholder="商品模具名称" autocomplete="off">
            <input class="layui-input" type="text" name="matnr" placeholder="商品编码" autocomplete="off">
        </div>
    </div>
src/main/webapp/views/mat/mat.html
@@ -86,15 +86,15 @@
                    <!-- 表格工具栏2 -->
                    <div id="search-box" class="layui-form toolbar"  style="padding-top: 5px">
                        <div class="layui-inline">
                            <label class="layui-form-label" style="padding: 8px 15px 8px 15px">商品编号:</label>
                            <label class="layui-form-label" style="padding: 8px 15px 8px 15px">商品编码:</label>
                            <div class="layui-input-inline">
                                <input name="matnr" class="layui-input" placeholder="输入商品编号"/>
                                <input name="matnr" class="layui-input" placeholder="输入商品编码"/>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <label class="layui-form-label" style="padding: 8px 15px 8px 15px">套号:</label>
                            <label class="layui-form-label" style="padding: 8px 15px 8px 15px">型号:</label>
                            <div class="layui-input-inline">
                                <input name="name" class="layui-input" placeholder="输入套号"/>
                                <input name="name" class="layui-input" placeholder="输入型号"/>
                            </div>
                        </div>
                        <div class="layui-inline">
@@ -128,7 +128,7 @@
        <button class="layui-btn layui-btn-sm" id="btn-print-batch" lay-event="btnPrintBatch">批量打印</button>
        <button class="layui-btn layui-btn-sm layui-btn-normal" id="btn-add" lay-event="addData">新增</button>
        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">删除</button>
        <button class="layui-btn layui-btn-sm layui-btn-danger"><a onclick="importImage()" style="font-size: 15px"><i class="layui-icon layui-icon-upload"></i>上传简图</a></button>
<!--        <button class="layui-btn layui-btn-sm layui-btn-danger"><a onclick="importImage()" style="font-size: 15px"><i class="layui-icon layui-icon-upload"></i>上传简图</a></button>-->
        <li style="display: none"><input id="importImage" type="file" onchange="uploadImage(this)" ></li>
        <!-- 商品/物料 数据中心 -->
        <div class="dropdown-menu" style="float: right">
@@ -150,7 +150,7 @@
<script type="text/html" id="operate">
    <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary" lay-event="editBarcode">绑定</a>
<!--    <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary" lay-event="editBarcode">绑定</a>-->
    <button class="layui-btn layui-btn-xs btn-print" lay-event="btnPrint">打印</button>
</script>
@@ -209,9 +209,9 @@
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">套号</label>
                    <label class="layui-form-label">型号</label>
                    <div class="layui-input-block">
                        <input name="name" placeholder="请输入套号" class="layui-input">
                        <input name="name" placeholder="请输入型号" class="layui-input">
                    </div>
                </div>
@@ -321,9 +321,9 @@
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">套号</label>
                    <label class="layui-form-label">型号</label>
                    <div class="layui-input-block">
                        <input name="name" placeholder="请输入套号" class="layui-input">
                        <input name="name" placeholder="请输入型号" class="layui-input">
                    </div>
                </div>
src/main/webapp/views/matInOut/matInOut_old.html
File was renamed from src/main/webapp/views/matInOut/matInOut.html
@@ -103,7 +103,7 @@
<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>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/matInOut/matInOut.js?s=1" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/matInOut/matInOut_old.js?s=1" charset="utf-8"></script>
<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
src/main/webapp/views/pakStore/clampDetlQuery.html
@@ -73,7 +73,7 @@
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <input class="layui-input" type="text" name="matnr" placeholder="商品模具名称"  autocomplete="off">
                <input class="layui-input" type="text" name="matnr" placeholder="商品编码"  autocomplete="off">
            </div>
        </div>
<!--        <div class="layui-inline">-->
@@ -110,7 +110,7 @@
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <select name="loc_type2">
                <select name="sPgNO">
                    <option value="">请选择托盘类型</option>
                    <option value="4">第一种</option>
                    <option value="5">第二种</option>
@@ -173,7 +173,7 @@
        locDetlTableIns = table.render({
            elem: '#stockOut',
            headers: {token: localStorage.getItem('token')},
            url: baseUrl+'/stock/out/list/auth',
            url: baseUrl+'/clamp/out/list/auth',
            page: true,
            limit: 20,
            limits: [20, 50, 100, 200, 500],
src/main/webapp/views/pakStore/locDetlQuery.html
@@ -64,7 +64,7 @@
        </div>
        <div class="layui-inline">
            <div class="layui-input-inline">
                <input class="layui-input" type="text" name="matnr" placeholder="商品模具名称"  autocomplete="off">
                <input class="layui-input" type="text" name="matnr" placeholder="商品编码"  autocomplete="off">
            </div>
        </div>
        <div class="layui-inline">
src/main/webapp/views/waitPakin/waitPakin.html
@@ -46,6 +46,8 @@
<!--        <button class="layui-btn layui-btn-sm" id="btn-wrk" lay-event="addWrk">生成任务</button>-->
        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button>
        <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button>
        <button class="layui-btn layui-btn-sm" id="btn-comb" lay-event="combData">组托</button>
        <button class="layui-btn layui-btn-sm" id="btn-clamp" lay-event="clampData">并板</button>
        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="">导出</button>
    </div>
</script>
src/main/webapp/views/waitPakin/waitPakin_clamp.html
New file
@@ -0,0 +1,132 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title></title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
    <link rel="stylesheet" href="../../static/css/common.css" media="all">
</head>
<body>
<!-- 详情 -->
<div id="data-detail" class="layer_self_wrap">
    <form id="detail" class="layui-form">
        <!--
            <div class="layui-inline"  style="display: none">
                <label class="layui-form-label"><span class="not-null">*</span>编  号:</label>
                <div class="layui-input-inline">
                    <input id="id" class="layui-input" type="text" placeholder="编号">
                </div>
            </div>
        -->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label"><span class="not-null">*</span>编  号:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="id" class="layui-input" type="text" onkeyup="check(this.id, 'waitPakin')" lay-verify="number" >-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">托 盘 码:</label>
            <div class="layui-input-inline">
                <input id="barcode" class="layui-input" type="text">
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">商品编号:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="matnr" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">物料描述:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="maktx" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">数  量:</label>
            <div class="layui-input-inline">
                <input id="anfme" class="layui-input" type="text" lay-verify="number" >
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">单  位:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="unit" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">状  态:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="status" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">备  注:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="memo" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">修改时间:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="modiTime$" class="layui-input" type="text" autocomplete="off">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">商品编码:</label>
            <div class="layui-input-inline cool-auto-complete">
                <input id="modiUser" class="layui-input" type="text" lay-verify="number"  style="display: none">
                <input id="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()>
                <div class="cool-auto-complete-window">
                    <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                    <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                    </select>
                </div>
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">添加时间:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="appeTime$" class="layui-input" type="text" autocomplete="off">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">创 建 者:</label>-->
<!--            <div class="layui-input-inline cool-auto-complete">-->
<!--                <input id="appeUser" class="layui-input" type="text" lay-verify="number"  style="display: none">-->
<!--                <input id="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()>-->
<!--                <div class="cool-auto-complete-window">-->
<!--                    <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">-->
<!--                    <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">-->
<!--                    </select>-->
<!--                </div>-->
<!--            </div>-->
<!--        </div>-->
        <hr class="layui-bg-gray">
        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="clamp">保存</div>
            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">修改</div>
            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div>
        </div>
<!--        <div id="prompt">-->
<!--            温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span>-->
<!--        </div>-->
    </form>
</div>
</body>
<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>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/waitPakin/waitPakin.js" charset="utf-8"></script>
</html>
src/main/webapp/views/waitPakin/waitPakin_comb.html
New file
@@ -0,0 +1,132 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title></title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
    <link rel="stylesheet" href="../../static/css/common.css" media="all">
</head>
<body>
<!-- 详情 -->
<div id="data-detail" class="layer_self_wrap">
    <form id="detail" class="layui-form">
        <!--
            <div class="layui-inline"  style="display: none">
                <label class="layui-form-label"><span class="not-null">*</span>编  号:</label>
                <div class="layui-input-inline">
                    <input id="id" class="layui-input" type="text" placeholder="编号">
                </div>
            </div>
        -->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label"><span class="not-null">*</span>编  号:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="id" class="layui-input" type="text" onkeyup="check(this.id, 'waitPakin')" lay-verify="number" >-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">托 盘 码:</label>
            <div class="layui-input-inline">
                <input id="barcode" class="layui-input" type="text">
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">商品编号:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="matnr" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">物料描述:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="maktx" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">数  量:</label>
            <div class="layui-input-inline">
                <input id="anfme" class="layui-input" type="text" lay-verify="number" >
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">单  位:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="unit" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">状  态:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="status" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">备  注:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="memo" class="layui-input" type="text">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">修改时间:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="modiTime$" class="layui-input" type="text" autocomplete="off">-->
<!--            </div>-->
<!--        </div>-->
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label">物料编码:</label>
            <div class="layui-input-inline cool-auto-complete">
                <input id="modiUser" class="layui-input" type="text" lay-verify="number"  style="display: none">
                <input id="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()>
                <div class="cool-auto-complete-window">
                    <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                    <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                    </select>
                </div>
            </div>
        </div>
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">添加时间:</label>-->
<!--            <div class="layui-input-inline">-->
<!--                <input id="appeTime$" class="layui-input" type="text" autocomplete="off">-->
<!--            </div>-->
<!--        </div>-->
<!--        <div class="layui-inline"  style="width:31%;">-->
<!--            <label class="layui-form-label">创 建 者:</label>-->
<!--            <div class="layui-input-inline cool-auto-complete">-->
<!--                <input id="appeUser" class="layui-input" type="text" lay-verify="number"  style="display: none">-->
<!--                <input id="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()>-->
<!--                <div class="cool-auto-complete-window">-->
<!--                    <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">-->
<!--                    <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">-->
<!--                    </select>-->
<!--                </div>-->
<!--            </div>-->
<!--        </div>-->
        <hr class="layui-bg-gray">
        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="comb">保存</div>
            <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">修改</div>
            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div>
        </div>
<!--        <div id="prompt">-->
<!--            温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span>-->
<!--        </div>-->
    </form>
</div>
</body>
<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>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/waitPakin/waitPakin.js" charset="utf-8"></script>
</html>
src/main/webapp/views/wrkDetlLog/wrkDetlLog_detail.html
@@ -36,7 +36,7 @@
            </div>
        </div>
        <div class="layui-inline"  style="width:31%;">
            <label class="layui-form-label"><span class="not-null">*</span>物料编号:</label>
            <label class="layui-form-label"><span class="not-null">*</span>商品编码:</label>
            <div class="layui-input-inline">
                <input id="matnr" class="layui-input" type="text" lay-verify="required" >
            </div>