自动化立体仓库 - WMS系统
#1
dubin
昨天 9268cd77b4e864b901a8b0bf965f441f2e8c4fbd
#1
17个文件已修改
247 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/Mat.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkDetlService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkDetlMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/locDetl/locDetl.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pda/comb.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pda/index.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pda/matQuery.html 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/Mat.java
@@ -135,10 +135,10 @@
    private Double units;
    /**
     * 条码
     * 批次号
     */
    @ApiModelProperty(value= "条码")
    @ExcelProperty(value = "条码")
    @ExcelProperty(value = "批次号")
    private String barcode;
    /**
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -6,6 +6,7 @@
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Mapper
@@ -26,5 +27,5 @@
    List<WrkDetl> findByWorkNo(Integer workNo);
    boolean updateWorkNo(@Param("oldWrkNo") Integer oldWrkNo, @Param("newWrkNo") Integer newWrkNo);
    boolean updateWorkNo(@Param("oldWrkNo") Integer oldWrkNo, @Param("newWrkNo") Integer newWrkNo, @Param("now") Date now);
}
src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
@@ -13,4 +13,4 @@
    @Insert("insert into asr_wrk_mast_log select * from asr_wrk_mast where wrk_no=#{workNo}")
    int save(Integer workNo);
}
}
src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -19,7 +19,7 @@
    boolean updateInspect(Integer wrkNo, String matnr, String batch);
    boolean updateWorkNo(Integer oldWrkNo, Integer newWrkNo);
    boolean updateWorkNo(Integer oldWrkNo, Integer newWrkNo,Date now);
    List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr);
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -82,7 +82,7 @@
    @Override
    @Transactional
    public void comb(CombParam param, Long userId) {
        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
            if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
            throw new CoolException(BaseRes.PARAM);
        }
        // 判断是否有相同条码的数据
@@ -141,6 +141,7 @@
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(now);
                waitPakin.setBatch(mat.getBarcode());  //批次
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -87,7 +87,7 @@
    }
    @Override
    public boolean updateWorkNo(Integer oldWrkNo, Integer newWrkNo) {
        return this.baseMapper.updateWorkNo(oldWrkNo, newWrkNo);
    public boolean updateWorkNo(Integer oldWrkNo, Integer newWrkNo,Date now) {
        return this.baseMapper.updateWorkNo(oldWrkNo, newWrkNo,now);
    }
}
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -139,7 +139,7 @@
                    // 修改库位状态 S ====>> F
                    if (locMast.getLocSts().equals("S")) {
                        locMast.setLocSts("F");
                        locMast.setBarcode(wrkMast.getBarcode());
//                        locMast.setBarcode(wrkMast.getBarcode());
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
                        if (!locMastService.updateById(locMast)) {
@@ -160,16 +160,18 @@
                    }
                    for (WrkDetl wrkDetl : wrkDetls53) {
                        LocDetl locDetl = new LocDetl();
                        locDetl.sync(wrkDetl);
                        locDetl.setAnfme(wrkDetl.getPrice()-wrkDetl.getAnfme());//数量
                        locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
                        locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                        locDetl.setModiTime(now);
                        locDetl.setAppeTime(now);
                        locDetl.setPrice(0.0);
                        if (null != locDetl) {
                            if (!locDetlService.insert(locDetl)) {
                        LocDetl locDetl1 = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
//                        LocDetl locDetl = new LocDetl();
//                        locDetl.sync(wrkDetl);
//                        locDetl.setAnfme(wrkDetl.getPrice()-wrkDetl.getAnfme());//数量
//                        locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
//                        locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
//                        locDetl.setModiTime(now);
//                        locDetl.setAppeTime(now);
//                        locDetl.setPrice(0.0);
                        if (null != locDetl1) {
//                            if (!locDetlService.insert(locDetl)) {
                              if (!locDetlService.updateAnfme(locDetl1.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
//                                exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                return FAIL.setMsg("拣料入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
@@ -195,9 +197,9 @@
                    }
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("S")) {
                    if (locMast.getLocSts().equals("Q")) {
                        locMast.setLocSts("F");
                        locMast.setBarcode(wrkMast.getBarcode());
//                        locMast.setBarcode(wrkMast.getBarcode());
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
                        if (!locMastService.updateById(locMast)) {
@@ -231,7 +233,7 @@
                            locDetl.sync(wrkDetl);
                            locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
                            locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
//                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                            locDetl.setModiTime(now);
                            locDetl.setAppeTime(now);
                            if (!locDetlService.insert(locDetl)) {
@@ -244,7 +246,7 @@
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("Q")) {
                        locMast.setLocSts("F");
                        locMast.setBarcode(wrkMast.getBarcode());
//                        locMast.setBarcode(wrkMast.getBarcode());
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
                        if (!locMastService.updateById(locMast)) {
@@ -263,27 +265,29 @@
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return FAIL.setMsg("盘点入库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                    }
                    for (WrkDetl wrkDetl:wrkDetls57){
                        LocDetl locDetl = new LocDetl();
                        locDetl.sync(wrkDetl);
                        locDetl.setAnfme(wrkDetl.getAnfme());//数量
                        locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
                        locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                        locDetl.setModiTime(now);
                        locDetl.setAppeTime(now);
                        locDetl.setPrice(0.0);
                        if (null != locDetl) {
                            if (!locDetlService.insert(locDetl)) {
//                    for (WrkDetl wrkDetl:wrkDetls57){
//                        LocDetl locDetl1 = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
//                        LocDetl locDetl = new LocDetl();
//                        locDetl.sync(wrkDetl);
//                        locDetl.setAnfme(wrkDetl.getAnfme());//数量
//                        locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
//                        locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
//                        locDetl.setModiTime(now);
//                        locDetl.setAppeTime(now);
//                        locDetl.setPrice(0.0);
//                        if (null != locDetl1) {
//                            if (!locDetlService.insert(locDetl)) {
//                            if (!locDetlService.updateAnfme(locDetl1.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
//                                exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                return FAIL.setMsg("拣料入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                            }
                        }
                    }
//                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                                return FAIL.setMsg("盘点入库 ===>> 修改库存明细数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
//                            }
//                        }
//                    }
                    // 修改库位状态 S ====>> F
                    if (locMast.getLocSts().equals("S")) {
                        locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D");
                        locMast.setBarcode(wrkMast.getBarcode());
                    if (locMast.getLocSts().equals("Q")) {
                        locMast.setLocSts("F");
//                        locMast.setBarcode(wrkMast.getBarcode());
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
                        if (!locMastService.updateById(locMast)) {
@@ -310,7 +314,7 @@
                    // 修改源库位状态 ==> O
                    LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
                    if (null != sourceLoc) {
                        sourceLoc.setBarcode("");
//                        sourceLoc.setBarcode("");
                        sourceLoc.setLocSts("O");
                        sourceLoc.setModiTime(now);
                        sourceLoc.setIoTime(now);
@@ -322,7 +326,7 @@
                    }
                    // 修改目标库位状态 ==> .locSts
                    locMast.setLocSts(locSts);
                    locMast.setBarcode(wrkMast.getBarcode());
//                    locMast.setBarcode(wrkMast.getBarcode());
                    locMast.setIoTime(now);
                    locMast.setModiTime(now);
                    if (!locMastService.updateById(locMast)) {
@@ -402,7 +406,7 @@
                    // 修改源库位状态 R ===>> O
                    if (locMast.getLocSts().equals("R")) {
                        locMast.setLocSts("O");
                        locMast.setBarcode("");
//                        locMast.setBarcode("");
                        locMast.setModiTime(now);
                        locMast.setIoTime(now);
                        if (!locMastService.updateById(locMast)) {
@@ -419,7 +423,7 @@
                    // 修改库位状态 R ===>> O
                    if (locMast.getLocSts().equals("R")) {
                        locMast.setLocSts("O");
                        locMast.setBarcode("");
//                        locMast.setBarcode("");
                        locMast.setModiTime(now);
                        locMast.setIoTime(now);
                        if (!locMastService.updateById(locMast)) {
@@ -434,34 +438,34 @@
                    //拣料和盘点出库
                case 103:
                case 107:
                    if (locMast.getLocSts().equals("P")) {
                        locMast.setLocSts("O");
                        locMast.setBarcode("");
                        locMast.setModiTime(now);
                        locMast.setIoTime(now);
                        if (!locMastService.updateById(locMast)) {
//                            exceptionHandle("空板出库 ===>> 修改源库位状态失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                            return FAIL.setMsg("拣料和盘点出库 ===>> 修改源库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                        }
                        wrkMast.setWrkSts(16L);//等待入库
                        // 保存工作主档历史档
                        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
                            exceptionHandle("保存工作历史档[workNo={0}]失败", wrkMast.getWrkNo());
                        }
                        if(!wrkMast.getEmptyMk().equals("Y")) {
                            // 保存工作明细档历史档
                            if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
                                exceptionHandle("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo());
                            }
                        }
                        // 删除工作档源库位的库存明细
                        if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
//                        exceptionHandle("全板出库 ===>> 删除库存明细失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                            return FAIL.setMsg("拣料盘点出库 ===>> 删除库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                        }
                    }
//                    if (locMast.getLocSts().equals("P")) {
//                        locMast.setLocSts("O");
//                        locMast.setBarcode("");
//                        locMast.setModiTime(now);
//                        locMast.setIoTime(now);
//                        if (!locMastService.updateById(locMast)) {
////                            exceptionHandle("空板出库 ===>> 修改源库位状态失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
//                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                            return FAIL.setMsg("拣料和盘点出库 ===>> 修改源库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
//                        }
//                        wrkMast.setWrkSts(14L);//等待入库
//                        // 保存工作主档历史档
//                        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
//                            exceptionHandle("保存工作历史档[workNo={0}]失败", wrkMast.getWrkNo());
//                        }
//                        if(!wrkMast.getEmptyMk().equals("Y")) {
//                            // 保存工作明细档历史档
//                            if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
//                                exceptionHandle("保存工作明细历史档[workNo={0}]失败", wrkMast.getWrkNo());
//                            }
//                        }
//                        // 删除工作档源库位的库存明细
//                        if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
////                        exceptionHandle("全板出库 ===>> 删除库存明细失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
//                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                            return FAIL.setMsg("拣料盘点出库 ===>> 删除库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
//                        }
//                    }
                    break;
                default:
                    break;
src/main/java/com/zy/common/service/CommonService.java
@@ -102,13 +102,13 @@
        StartupDto startupDto = null;
        StringBuilder builder = new StringBuilder();
        try {
            startupDto = searchLocNoByCrnNo(staDescId, sourceStaNo, findLocNoAttributeVo, locTypeDto);
            startupDto = searchLocNoByCrnNo(staDescId, sourceStaNo, findLocNoAttributeVo, locTypeDto,barcode);
        } catch (Exception e) {
            builder.append(e.getMessage()).append(",");
        }
        if(startupDto == null) {
            builder.append("找不到空库位");
            builder.append("找不到空库位--->" + barcode);
            throw new CoolException(builder.toString());
        }
@@ -125,14 +125,17 @@
     * @return locNo 检索到的库位号
     */
    @Transactional
    public StartupDto searchLocNoByCrnNo(Integer staDescId, Integer sourceStaNo, FindLocNoAttributeVo findLocNoAttributeVo, LocTypeDto locTypeDto) {
    public StartupDto searchLocNoByCrnNo(Integer staDescId, Integer sourceStaNo, FindLocNoAttributeVo findLocNoAttributeVo, LocTypeDto locTypeDto,String barcode) {
        LocMast locMast = null;
        if (staDescId == 10) {
            //搜索空托盘
            locMast = searchEmptyPallet(locTypeDto);
//            locMast = searchEmptyPallet(locTypeDto);
            locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("barcode",barcode));
        }else {
            //满托盘
            locMast = searchMaxPallet(findLocNoAttributeVo, locTypeDto);
//            locMast = searchMaxPallet(findLocNoAttributeVo, locTypeDto);
            locMast = locMastService.selectOne(new EntityWrapper<LocMast>().in("loc_sts","O","P").eq("barcode",barcode));
        }
        if(locMast == null) {
src/main/java/com/zy/common/web/WcsController.java
@@ -51,6 +51,10 @@
    private  LocDetlService locDetlService;
    @Autowired
    private  BasCrnpService basCrnpService;
    @Autowired
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private WrkDetlLogService wrkDetlLogService;
    @Value("${led.ip}")
    private String ledIp;
@@ -157,7 +161,7 @@
        StartupDto dto = commonService.getLocNo(1, devpNo, findLocNoAttributeVo, locTypeDto, barcode);
        if (dto == null) {
            throw new CoolException("找不到空库位");
            throw new CoolException("找不到空库位--->" + barcode);
        }
        int workNo = dto.getWorkNo();
        Date now = new Date();
@@ -237,7 +241,7 @@
            throw new CoolException("拣选盘点任务不存在");
        }
        if (wrkMastOut.getIoType() != 103 || wrkMastOut.getIoType() != 107) {
        if (wrkMastOut.getIoType() != 103 && wrkMastOut.getIoType() != 107) {
            throw new CoolException("任务类型不属于拣选、盘点");
        }
@@ -277,12 +281,24 @@
        // 操作人员数据
        wrkMast.setAppeTime(now);
        wrkMast.setModiTime(now);
        wrkMast.setIoTime(now);
        boolean res = wrkMastService.insert(wrkMast);
        if (!res) {
            throw new CoolException("保存工作档失败");
        }
        wrkDetlService.updateWorkNo(wrkMastOut.getWrkNo(), workNo);
        //保存工作主档
        if (!wrkMastLogService.save(wrkMastOut.getWrkNo())){
            throw new CoolException("保存工作主档失败,workNo=" + wrkMastOut.getWrkNo());
        }
        //保存工作明细档
        if (!wrkMastOut.getEmptyMk().equals("Y")) {
            if (!wrkDetlLogService.save(wrkMastOut.getWrkNo())){
                throw new CoolException("保存工作明细失败,workNo=" + wrkMastOut.getWrkNo());
            }
        }
        wrkDetlService.updateWorkNo(wrkMastOut.getWrkNo(), workNo,now);
        // 删除工作主档
        if (!wrkMastService.deleteById(wrkMastOut)) {
@@ -297,8 +313,8 @@
        }
        // 更新目标库位状态
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")) {
            locMast.setLocSts("S"); // S.入库预约
        if (locMast.getLocSts().equals("P")) {
            locMast.setLocSts("Q"); // S.入库预约
            locMast.setModiTime(now);
            if (!locMastService.updateById(locMast)) {
                throw new CoolException("改变库位状态失败");
src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 8081
  port: 8080
  servlet:
    context-path: /@pom.build.finalName@
@@ -10,7 +10,7 @@
    enabled: false
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://127.0.0.1:1433;databasename=shhtgcasrs
    url: jdbc:sqlserver://127.0.0.1:52840;databasename=shhtgcasrs
    username: sa
    password: sa@123
  mvc:
src/main/resources/mapper/WrkDetlMapper.xml
@@ -85,6 +85,7 @@
        update asr_wrk_detl
        set wrk_no = #{newWrkNo}
        , modi_time = getdate()
        , io_time = #{now}
        where 1=1
        and wrk_no = #{oldWrkNo}
    </update>
src/main/resources/mapper/WrkMastMapper.xml
@@ -71,7 +71,7 @@
        where wrk_sts=5
        or wrk_sts=20
        or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp))
        or (wrk_sts=15 and dateadd(mi,8,modi_time) &lt;= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
        or (wrk_sts=15 and dateadd(mi,5,modi_time) &lt;= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
        or (wrk_sts=15 and modi_time is null and wrk_no not in (select wrk_no from asr_bas_devp))
        order by modi_time,wrk_no asc
    </select>
src/main/webapp/static/js/common.js
@@ -195,7 +195,7 @@
    ,{field: 'price', align: 'center',title: '单价', hide: true}
    ,{field: 'sku', align: 'center',title: 'sku', hide: true}
    ,{field: 'units', align: 'center',title: '单位量', hide: true}
    ,{field: 'barcode', align: 'center',title: '条码', hide: true}
    ,{field: 'barcode', align: 'center',title: '批次', hide: true}
    ,{field: 'origin', align: 'center',title: '产地', hide: true}
    ,{field: 'manu', align: 'center',title: '厂家', hide: true}
    ,{field: 'manuDate', align: 'center',title: '生产日期', hide: true}
@@ -225,10 +225,10 @@
    {field: 'matnr', align: 'center',title: '商品编号', sort:true}
    ,{field: 'maktx', align: 'center',title: '商品名称', sort:true}
    ,{field: 'orderNo', align: 'center',title: '单据编号', hide: true}
    ,{field: 'loc_no', align: 'center',title: '库位号', sort:true}
//    ,{field: 'loc_no', align: 'center',title: '库位号', sort:true}
    ,{field: 'anfme', align: 'center',title: '数量'}
    ,{field: 'zpallet', align: 'center',title: '托盘条码'}
    ,{field: 'batch', align: 'center',title: '批号', hide: false}
    ,{field: 'specs', align: 'center',title: '规格'}
    ,{field: 'model', align: 'center',title: '图号', hide: false}
    ,{field: 'color', align: 'center',title: '颜色', hide: true}
src/main/webapp/static/js/locDetl/locDetl.js
@@ -8,7 +8,7 @@
        ,{field: 'batch', align: 'center',title: '批号', width: 300, sort:true}
        ,{field: 'anfme', align: 'center',title: '数量'}
        ,{field: 'zpallet', align: 'center',title: '托盘条码'}
        ,{field: 'specs', align: 'center',title: '配置'}
        ,{field: 'specs', align: 'center',title: '配置',hide: true}
        ,{field: 'model', align: 'center',title: '图号', hide: false}
        ,{field: 'color', align: 'center',title: '颜色', hide: true}
        ,{field: 'brand', align: 'center',title: '品牌', hide: true}
src/main/webapp/views/pda/comb.html
@@ -54,11 +54,11 @@
            limit: 500,
            cellMinWidth: 50,
            cols: [[
                {fixed: 'left', align: 'center', field: 'count', title: '数量', style:'color: blue', width:50},
                {fixed: 'left', align: 'center', field: 'anfme', title: '数量', style:'color: blue', width:50},
                {field: 'matnr', align: 'center', title: '商品编号'},
                {field: 'maktx', align: 'center', title: '商品名称'}
            ]],
            done: function (res, curr, count) {
            done: function (res, curr, anfme) {
            }
        });
@@ -100,7 +100,7 @@
        let toPush = true;
        for (var j=0;j<matData.length;j++){
            if (data.matnr === matData[j].matnr) {
                matData[j].count = Number(matData[j].count) + Number(data.count);
                matData[j].anfme = Number(matData[j].anfme) + Number(data.anfme);
                toPush  = false;
            }
        }
src/main/webapp/views/pda/index.html
@@ -74,8 +74,8 @@
<!-- 导航栏 -->
<ul class="nav">
    <li><a id="comb" onclick="nav(this.id)" class="nav-select" href="#">组托</a></li>
    <li><a id="stockIn" onclick="nav(this.id)" class="nav-unselect" href="#">入库</a></li>
    <li><a id="stockOut" onclick="nav(this.id)" class="nav-unselect" href="#">出库</a></li>
<!--    <li><a id="stockIn" onclick="nav(this.id)" class="nav-unselect" href="#">入库</a></li>-->
<!--    <li><a id="stockOut" onclick="nav(this.id)" class="nav-unselect" href="#">出库</a></li>-->
</ul>
<!-- 主体内容 -->
src/main/webapp/views/pda/matQuery.html
@@ -78,19 +78,23 @@
<div class="form-box">
    <div class="form-item">
        <span>商品编号</span>
        <input id="matNo" type="text" placeholder="扫码 / 输入" onkeyup="find(this)" autocomplete="off">
        <input id="matnr" type="text" placeholder="扫码 / 输入" onkeyup="find(this)" autocomplete="off">
    </div>
    <div class="form-item">
        <span>商品名称</span>
        <input id="matName" type="text" disabled="disabled">
        <input id="maktx" type="text" disabled="disabled">
    </div>
    <div class="form-item">
        <span>规格</span>
        <input id="str2" type="text" disabled="disabled">
        <span>图号</span>
        <input id="model" type="text" disabled="disabled">
    </div>
    <div class="form-item">
        <span>单位</span>
        <input id="str1" type="text" disabled="disabled">
        <input id="unit" type="text" disabled="disabled">
    </div>
    <div class="form-item">
        <span>批次号</span>
        <input id="barcode" type="text" disabled="disabled">
    </div>
    <div class="form-item">
        <span style="vertical-align: middle">数量</span>
@@ -124,9 +128,10 @@
            success: function (res) {
                if (res.code === 200) {
                    if (res.data != null) {
                        $('#matName').val(res.data.matName);
                        $('#str1').val(res.data.str1);
                        $('#str2').val(res.data.str2);
                        $('#maktx').val(res.data.maktx);
                        $('#model').val(res.data.model);
                        $('#unit').val(res.data.unit);
                        $('#barcode').val(res.data.barcode);
                        countDom.val(initMatCount);
                        $('#count').focus().select();
                    }
@@ -144,15 +149,15 @@
     */
    function confirm(){
        var data = {
            matNo: $('#matNo').val(),
            matName: $('#matName').val(),
            count: countDom.val()
            matnr: $('#matnr').val(),
            maktx: $('#maktx').val(),
            anfme: countDom.val()
        };
        parent.addTableData(data);
        parent.layer.close(parent.matCodeLayerIdx);
    }
    window.onload = function(){document.getElementById("matNo").focus();}
    window.onload = function(){document.getElementById("matnr").focus();}
    $(document).on('click','#confirm', function () {
    })