自动化立体仓库 - WMS系统
zc
2024-07-29 23d98e719feeba8440522a4474c473cabc10d832
代码bug修改调试
24个文件已修改
238 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OutController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocDetl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderDetl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/StockStatisDTO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkDetl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkDetlLog.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocDetlService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/LocDto.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/third/erp/task/ERPInOrOutService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/third/lk/task/LKInTBScheduler.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkDetlLogMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkDetlMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/common.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/locDetl/locDetl.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/locDetlStatis/locDetlStatis.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/order/order.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/order/out.js 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OutController.java
@@ -57,31 +57,17 @@
            return R.parse(BaseRes.PARAM);
        }
        List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids);
        //用户确认出入库都以pgno为准,那么不考虑数量了
        List<LocDto> locDtos = new ArrayList<>();
        Set<String> exist = new HashSet<>();
        for (OrderDetl orderDetl : orderDetls) {
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
            if (issued <= 0.0D) { continue; }
            List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist);
        if (orderDetls != null && !orderDetls.isEmpty()) {
            List<LocDetl> locDetls = locDetlService.queryStock(orderDetls.get(0).getSPgNO());
            for (LocDetl locDetl : locDetls) {
                if (issued > 0) {
                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
                    locDto.setStaNos(staNos);
                    locDtos.add(locDto);
                    exist.add(locDetl.getLocNo());
                    // 剩余待出数量递减
                    issued = issued - locDetl.getAnfme();
                } else {
                    break;
                }
            }
            if (issued > 0) {
                LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
                locDto.setLack(Boolean.TRUE);
                LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetls.get(0).getOrderNo(),
                        locDetl.getAnfme());
                List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), 101);
                locDto.setStaNos(staNos);
                locDto.setZpallet(locDetl.getZpallet());
                locDto.setSPgNO(orderDetls.get(0).getSPgNO());
                locDtos.add(locDto);
            }
        }
@@ -110,7 +96,9 @@
        List<TaskDto> taskDtos = new ArrayList<>();
        // 根据 (库位 & 出库站) 分组; 理想状态:一组为一次出库任务
        for (LocDto locDto : locDtos) {
            if (locDto.isLack()) { continue; }
            if (locDto.isLack()) {
                continue;
            }
            TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
            if (TaskDto.has(taskDtos, taskDto)) {
                TaskDto dto = TaskDto.find(taskDtos, taskDto);
src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -158,7 +158,8 @@
    @ApiModelProperty(value= "备注")
    private String memo;
    @TableField("pro_type")
    private String  proType;
    /**
     * 订单号
     */
@@ -186,6 +187,13 @@
    private String temp3;
    @TableField("i_no")
    private Integer iNo;
    @TableField("packing")
    private String packing;
    public String getLocNo$(){
        LocMastService service = SpringUtils.getBean(LocMastService.class);
        LocMast locMast = service.selectById(this.locNo);
src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -296,7 +296,7 @@
    private String memo;
    @TableField("i_no")
    private Integer iNO;
    private Integer iNo;
    /**
     * 外部主键
src/main/java/com/zy/asrs/entity/StockStatisDTO.java
@@ -17,4 +17,5 @@
    private String   pgNo;
    private String   outOrderNo;
    private String   batch;
    private String   model;
}
src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -269,6 +269,8 @@
    @ApiModelProperty(value= "备注")
    private String memo;
    @TableField("pro_type")
    private String  proType;
    /**
     * 订单号
     */
@@ -295,6 +297,11 @@
    private String temp3;
    @TableField("i_no")
    private Integer iNo;
    @TableField("packing")
    private String packing;
    public String getIoTime$(){
        if (Cools.isEmpty(this.ioTime)){
src/main/java/com/zy/asrs/entity/WrkDetlLog.java
@@ -268,6 +268,8 @@
    @ApiModelProperty(value= "备注")
    private String memo;
    @TableField("pro_type")
    private String  proType;
    /**
     * 订单号
     */
@@ -294,6 +296,11 @@
    private String temp3;
    @TableField("i_no")
    private Integer iNo;
    @TableField("packing")
    private String packing;
    public String getIoTime$(){
        if (Cools.isEmpty(this.ioTime)){
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -57,7 +57,7 @@
    // -------------------------------------------------
    List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
    List<LocDetl> queryStock(@Param("sPgNO")String sPgNO, @Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
    Double queryStockAnfme(String matnr, String batch);
src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -54,6 +54,8 @@
    List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
    List<LocDetl> queryStock(String sPgNO);
    Double queryStockAnfme(String matnr, String batch);
    List<StockVo> queryStockTotal();
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -52,8 +52,8 @@
    }
    @Override
    public List<String> getSameDetlToday(String matnr,String batch, Integer start, Integer end) {
        return this.baseMapper.selectSameDetlTodayBatch(matnr,batch, start, end);
    public List<String> getSameDetlToday(String matnr, String batch, Integer start, Integer end) {
        return this.baseMapper.selectSameDetlTodayBatch(matnr, batch, start, end);
    }
@@ -86,7 +86,12 @@
    @Override
    public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) {
        return this.baseMapper.queryStock(matnr, batch, orderNo, locNos);
        return this.baseMapper.queryStock(null, matnr, batch, orderNo, locNos);
    }
    @Override
    public List<LocDetl> queryStock(String spgNo) {
        return this.baseMapper.queryStock(spgNo, null, null, null, null);
    }
    @Override
@@ -101,6 +106,7 @@
    /**
     * 获取库存总数
     *
     * @return
     */
    @Override
@@ -126,23 +132,23 @@
    }
    @Override
    public void updateMatTurn(String matnrOld,String matnr){
        this.baseMapper.updateMatTurn(matnrOld,matnr);
    public void updateMatTurn(String matnrOld, String matnr) {
        this.baseMapper.updateMatTurn(matnrOld, matnr);
    }
    @Override
    public List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo) {
        if (crnNo==1){
        if (crnNo == 1) {
            return this.baseMapper.selectLocDetlUnilateralMoveShuttleMapY(crnNo);
        }
        return this.baseMapper.selectLocDetlUnilateralMoveShuttleMapN(crnNo);
    }
    @Override
    public List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo) {
        if (crnNo==1){
            return this.baseMapper.selectLocDetlUnilateralMoveShuttleY(matnr,batch,grade);
    public List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr, String batch, String grade, Integer crnNo) {
        if (crnNo == 1) {
            return this.baseMapper.selectLocDetlUnilateralMoveShuttleY(matnr, batch, grade);
        }
        return this.baseMapper.selectLocDetlUnilateralMoveShuttleN(matnr,batch,grade);
        return this.baseMapper.selectLocDetlUnilateralMoveShuttleN(matnr, batch, grade);
    }
}
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -335,7 +335,7 @@
            wrkDetl.setZpallet(wrkMast.getBarcode());
            wrkDetl.setIoTime(now);
            wrkDetl.setWrkNo(workNo);
            wrkDetl.setBatch(locDto.getBatch());
            //wrkDetl.setBatch(locDto.getBatch());
            wrkDetl.setOrderNo(locDto.getOrderNo());
            wrkDetl.setAnfme(locDto.getAnfme()); // 数量
            wrkDetl.setAppeTime(now);
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
@@ -14,6 +15,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -42,6 +44,7 @@
    @Transactional
    public ReturnT<String> start(WrkMast wrkMast) {
        try {
            System.out.println(DateUtils.convert(new Date()));
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            // 修改订单状态 作业中 ===>> 已完成
            if (!Cools.isEmpty(wrkDetls)) {
@@ -54,7 +57,7 @@
                    }
                }
            }
            System.out.println(DateUtils.convert(new Date()));
            // 入库 --------------------------------------------------------------------------------
            if (wrkMast.getWrkSts() == 5) {
                // 全板入库
@@ -93,7 +96,7 @@
//                    }
//                }
            }
            System.out.println(DateUtils.convert(new Date()));
            // 保存工作主档历史档
            if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
                exceptionHandle("保存工作历史档[workNo={0}]失败", wrkMast.getWrkNo());
@@ -110,6 +113,7 @@
            if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
//                exceptionHandle("删除工作明细档[workNo={0}]失败", wrkMast.getWrkNo());
            }
            System.out.println(DateUtils.convert(new Date()));
        } catch (Exception e) {
            log.error("fail", e);
            e.printStackTrace();
src/main/java/com/zy/common/model/LocDto.java
@@ -29,6 +29,11 @@
    private Integer staNo;
    private String sPgNO;
    private String zpallet;
    public LocDto() {
    }
src/main/java/com/zy/third/erp/task/ERPInOrOutService.java
@@ -67,7 +67,7 @@
        order = new Order(
                String.valueOf(snowflakeIdWorker.nextId()),    // 编号[非空]
                inHedTB.getBillNo(),    // 订单编号
                DateUtils.convert(inHedTB.getBillDate()),    // 单据日期
                DateUtils.convert(inHedTB.getMakeDate()),    // 单据日期
                docType.getDocId(),    // 单据类型
                null,    // 项目编号
                null,    //
@@ -125,7 +125,7 @@
            orderDetl.setWareName(outDetTB.getWareName());
            orderDetl.setBatch(outDetTB.getItemBatch());
            orderDetl.setAnfme(outDetTB.getMainNum());
            orderDetl.setINO(outDetTB.getINO());
            orderDetl.setINo(outDetTB.getINO());
            orderDetl.setOrderId(order.getId());
            orderDetl.setTemp1(outDetTB.getTemp1());
            orderDetl.setTemp2(outDetTB.getTemp2());
@@ -139,6 +139,7 @@
            orderDetl.setStatus(1);
            orderDetl.setProType(outDetTB.getProtype());
            orderDetl.setQty(0.0D);
            orderDetl.setSPgNO(outDetTB.getSPgNO());
            if (!orderDetlService.insert(orderDetl)) {
                throw new CoolException("生成单据明细失败,请联系管理员");
            }
@@ -225,7 +226,7 @@
            orderDetl.setWareName(outDetTB.getWareName());
            orderDetl.setBatch(outDetTB.getItemBatch());
            orderDetl.setAnfme(outDetTB.getMainNum());
            orderDetl.setINO(outDetTB.getINO());
            orderDetl.setINo(outDetTB.getINO());
            orderDetl.setOrderId(order.getId());
            orderDetl.setTemp1(outDetTB.getTemp1());
            orderDetl.setTemp2(outDetTB.getTemp2());
@@ -239,6 +240,7 @@
            orderDetl.setStatus(1);
            orderDetl.setQty(0.0D);
            orderDetl.setProType(outDetTB.getProType());
            orderDetl.setSPgNO(outDetTB.getSPgNO());
            if (!orderDetlService.insert(orderDetl)) {
                throw new CoolException("生成单据明细失败,请联系管理员");
            }
src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Mat;
@@ -19,6 +20,7 @@
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -63,12 +65,14 @@
            if (docType.getPakin() == 1) {
                //入库单
                for (OrderDetl orderDetl : orderDetls) {
                    log.info("该入库单对象:" + orderDetl);
                    insertInDet(orderDetl);
                }
                insertInHed(order);
            } else {
                //出库单
                for (OrderDetl orderDetl : orderDetls) {
                    log.info("该出库单对象:" + orderDetl);
                    insertOutDet(orderDetl);
                }
                insertOutHed(order);
@@ -99,7 +103,6 @@
            log.error("该单号料号中间表表身已存在:" + orderDetl.getOrderNo() + "==>>" + orderDetl.getOrderNo());
            return true;
        }
        Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
        Map<String, Object> content = getMap(orderDetl);
        int insert = erpSqlServer.insert(InDetTB.class, content);
@@ -129,17 +132,23 @@
            log.error("该单号料号中间表表头已存在:" + order.getOrderNo());
            return true;
        }
        DocType docType = docTypeService.selectById(order.getDocType());
        HashMap<String, Object> content = new HashMap<>();
        content.put("BillNo", "'" + order.getOrderNo() + "'");
        content.put("IoKindID", "'" + order.getDocType() + "'");
        content.put("BillDate", "'" + DateUtils.convert(new Date()) + "'");
        if (!Cools.isEmpty(docType.getDocCode())) content.put("IoKindID", "'" + docType.getDocCode() + "'");
        if (!Cools.isEmpty(docType.getDocName())) content.put("IoKindName", "'" + docType.getDocName() + "'");
        if (!Cools.isEmpty(order.getWareId())) content.put("wareId", "'" + order.getWareId() + "'");
        if (!Cools.isEmpty(order.getWareName())) content.put("wareName", "'" + order.getWareName() + "'");
        if (!Cools.isEmpty(order.getTemp1())) content.put("temp1", "'" + order.getTemp1() + "'");
        if (!Cools.isEmpty(order.getTemp2())) content.put("temp2", "'" + order.getTemp2() + "'");
        if (!Cools.isEmpty(order.getTemp3())) content.put("temp3", "'" + order.getTemp3() + "'");
        if (!Cools.isEmpty(order.getCstmr())) content.put("ObjectId", "'" + order.getCstmr() + "'");
        if (!Cools.isEmpty(order.getCstmrName())) content.put("ObjectName", "'" + order.getCstmrName() + "'");
        if (!Cools.isEmpty(order.getMemo())) content.put("Remark", "'" + order.getMemo() + "'");
        content.put("LKName", "'中扬二期'");
        content.put("bPass", "1");
        int insert = erpSqlServer.insert(InHedTB.class, content);
        //String sql = "UPDATE lk_InHedTB SET bPass = 1, LKName='中扬二期' WHERE BillNo = '" + order.getOrderNo() + "'";
        //int update = erpSqlServer.update(sql);
        if (insert == 1) {
            log.info("入库单表头回传成功:" + content);
            return true;
@@ -167,9 +176,8 @@
            log.error("该单号料号中间表表身已存在:" + orderDetl.getOrderNo() + "==>>" + orderDetl.getOrderNo());
            return true;
        }
        Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
        Map<String, Object> content = getMap(orderDetl);
        int insert = erpSqlServer.insert(InDetTB.class, content);
        int insert = erpSqlServer.insert(OutDetTB.class, content);
        if (insert == 1) {
            log.info("入库单表身回传成功:" + content.toString());
@@ -197,17 +205,23 @@
            log.error("该单号料号中间表表头已存在:" + order.getOrderNo());
            return true;
        }
        DocType docType = docTypeService.selectById(order.getDocType());
        HashMap<String, Object> content = new HashMap<>();
        content.put("BillNo", "'" + order.getOrderNo() + "'");
        content.put("IoKindID", "'" + order.getDocType() + "'");
        content.put("BillDate", "'" + DateUtils.convert(new Date()) + "'");
        if (!Cools.isEmpty(docType.getDocCode())) content.put("IoKindID", "'" + docType.getDocCode() + "'");
        if (!Cools.isEmpty(docType.getDocName())) content.put("IoKindName", "'" + docType.getDocName() + "'");
        if (!Cools.isEmpty(order.getWareId())) content.put("wareId", "'" + order.getWareId() + "'");
        if (!Cools.isEmpty(order.getWareName())) content.put("wareName", "'" + order.getWareName() + "'");
        if (!Cools.isEmpty(order.getTemp1())) content.put("temp1", "'" + order.getTemp1() + "'");
        if (!Cools.isEmpty(order.getTemp2())) content.put("temp2", "'" + order.getTemp2() + "'");
        if (!Cools.isEmpty(order.getTemp3())) content.put("temp3", "'" + order.getTemp3() + "'");
        if (!Cools.isEmpty(order.getCstmr())) content.put("ObjectId", "'" + order.getCstmr() + "'");
        if (!Cools.isEmpty(order.getCstmrName())) content.put("ObjectName", "'" + order.getCstmrName() + "'");
        if (!Cools.isEmpty(order.getMemo())) content.put("Remark", "'" + order.getMemo() + "'");
        content.put("LKName", "'中扬二期'");
        content.put("bPass", "1");
        int insert = erpSqlServer.insert(OutHedTB.class, content);
        //String sql = "UPDATE lk_OutHedTB SET bPass = 1, LKName='中扬二期' WHERE BillNo = '" + order.getOrderNo() + "'";
        //int update = erpSqlServer.update(sql);
        if (insert == 1) {
            log.info("入库单表头回传成功:" + content);
            return true;
@@ -220,10 +234,10 @@
    private Map<String, Object> getMap(OrderDetl orderDetl) {
        Map<String, Object> content = new HashMap<>();
        if (!Cools.isEmpty(orderDetl.getOrderNo())) content.put("BillNo", "'" + orderDetl.getOrderNo() + "'");
        if (!Cools.isEmpty(orderDetl.getINO())) content.put("iNO", "'" + orderDetl.getINO() + "'");
        if (!Cools.isEmpty(orderDetl.getINo())) content.put("iNo", "'" + orderDetl.getINo() + "'");
        if (!Cools.isEmpty(orderDetl.getThreeCode())) content.put("detId", orderDetl.getThreeCode());
        if (!Cools.isEmpty(orderDetl.getThreeCode())) content.put("ItemId", "'" + orderDetl.getThreeCode() + "'");
        if (!Cools.isEmpty(orderDetl.getMatnr())) content.put("ItemCode", "'" + orderDetl.getMatnr() + "'");
        if (!Cools.isEmpty(orderDetl.getMatnr())) content.put("ItemId", "'" + orderDetl.getMatnr() + "'");
        if (!Cools.isEmpty(orderDetl.getModel())) content.put("ItemCode", "'" + orderDetl.getModel() + "'");
        if (!Cools.isEmpty(orderDetl.getBatch())) content.put("ItemBatch", "'" + orderDetl.getBatch() + "'");
        if (!Cools.isEmpty(orderDetl.getProType())) content.put("proType", "'" + orderDetl.getProType() + "'");
        if (!Cools.isEmpty(orderDetl.getMemo())) content.put("remark", "'" + orderDetl.getMemo() + "'");
src/main/resources/application.yml
@@ -28,6 +28,7 @@
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
logging:
  path: /stock/out/@pom.build.finalName@/logs
src/main/resources/mapper/LocDetlMapper.xml
@@ -44,6 +44,20 @@
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
        <result column="memo" property="memo" />
        <result column="i_no" property="iNo" />
        <result column="temp1" property="temp1" />
        <result column="temp2" property="temp2" />
        <result column="temp3" property="temp3" />
        <result column="pg_no" property="sPgNO" />
        <result column="pro_type" property="proType" />
        <result column="auto_id" property="autoId" />
        <result column="out_order_no" property="outOrderNo" />
        <result column="lu_hao" property="luHao" />
        <result column="ware_id" property="wareId" />
        <result column="ware_mame" property="wareName" />
        <result column="packing" property="packing" />
    </resultMap>
    <sql id="batchSeq">
@@ -218,7 +232,7 @@
        left join asr_loc_mast b on a.loc_no = b.loc_no
        where 1=1
        and b.loc_sts = 'F'
        and a.matnr = #{matnr}
<!--        <choose>-->
<!--            <when test="batch != null and batch != ''">-->
<!--                and a.batch = #{batch}-->
@@ -227,6 +241,7 @@
<!--                and (a.batch IS NULL OR a.batch = '')-->
<!--            </otherwise>-->
<!--        </choose>-->
            and a.pg_no = #{sPgNO}
        <if test="batch != null and batch != ''">
            and a.batch = #{batch}
        </if>
@@ -426,7 +441,7 @@
        <id column="pgNo" property="pgNo" />
        <id column="outOrderNo" property="outOrderNo" />
        <id column="batch" property="batch" />
        <id column="model" property="model" />
    </resultMap>
    <select id="asrsAndErpList" resultMap="stockStatisDTO">
src/main/resources/mapper/OrderDetlMapper.xml
@@ -46,6 +46,18 @@
        <result column="update_time" property="updateTime" />
        <result column="memo" property="memo" />
        <result column="i_no" property="iNo" />
        <result column="temp1" property="temp1" />
        <result column="temp2" property="temp2" />
        <result column="temp3" property="temp3" />
        <result column="pg_no" property="sPgNO" />
        <result column="pro_type" property="proType" />
        <result column="auto_id" property="autoId" />
        <result column="out_order_no" property="outOrderNo" />
        <result column="lu_hao" property="luHao" />
        <result column="ware_id" property="wareId" />
        <result column="ware_mame" property="wareName" />
        <result column="packing" property="packing" />
    </resultMap>
    <select id="selectItem" resultMap="BaseResultMap">
src/main/resources/mapper/WrkDetlLogMapper.xml
@@ -45,6 +45,19 @@
        <result column="appe_user" property="appeUser"/>
        <result column="appe_time" property="appeTime"/>
        <result column="memo" property="memo"/>
        <result column="i_no" property="iNo" />
        <result column="temp1" property="temp1" />
        <result column="temp2" property="temp2" />
        <result column="temp3" property="temp3" />
        <result column="pg_no" property="sPgNO" />
        <result column="pro_type" property="proType" />
        <result column="auto_id" property="autoId" />
        <result column="out_order_no" property="outOrderNo" />
        <result column="lu_hao" property="luHao" />
        <result column="ware_id" property="wareId" />
        <result column="ware_mame" property="wareName" />
        <result column="packing" property="packing" />
    </resultMap>
    <sql id="batchSeq">
src/main/resources/mapper/WrkDetlMapper.xml
@@ -45,6 +45,21 @@
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
        <result column="memo" property="memo" />
        <result column="i_no" property="iNo" />
        <result column="temp1" property="temp1" />
        <result column="temp2" property="temp2" />
        <result column="temp3" property="temp3" />
        <result column="pg_no" property="sPgNO" />
        <result column="pro_type" property="proType" />
        <result column="auto_id" property="autoId" />
        <result column="out_order_no" property="outOrderNo" />
        <result column="lu_hao" property="luHao" />
        <result column="ware_id" property="wareId" />
        <result column="ware_mame" property="wareName" />
        <result column="packing" property="packing" />
    </resultMap>
    <sql id="batchSeq">
src/main/webapp/static/js/common.js
@@ -188,7 +188,7 @@
    ,{field: 'maktx', align: 'center',title: '商品名称(品名)', width: 200}
    // ,{field: 'name', align: 'center',title: '别名'}
    ,{field: 'specs', align: 'center',title: '规格'}
    ,{field: 'model', align: 'center',title: '代码', hide: true}
    ,{field: 'model', align: 'center',title: '代码'}
    ,{field: 'color', align: 'center',title: '颜色', hide: true}
    ,{field: 'brand', align: 'center',title: '品牌', hide: true}
    ,{field: 'unit', align: 'center',title: '单位', hide: false}
@@ -223,17 +223,16 @@
var detlCols = [
    {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: false}
    ,{field: 'batch', align: 'center',title: '货品特征', sort:true}
    ,{field: 'batch', align: 'center',title: '批次', sort:true}
    ,{field: 'unit', align: 'center',title: '单位', hide: false}
    ,{field: 'anfme', align: 'center',title: '数量', hide: false}
    ,{field: 'zpallet', align: 'center',title: '托盘条码', hide: false}
    ,{field: 'specs', align: 'center',title: '规格', hide: false}
    ,{field: 'model', align: 'center',title: '代码', hide: true}
    ,{field: 'color', align: 'center',title: '颜色', hide: true}
    ,{field: 'brand', align: 'center',title: '品牌', hide: true}
    ,{field: 'unit', align: 'center',title: '单位', hide: false}
    ,{field: 'price', align: 'center',title: '单价', hide: true}
    ,{field: 'sku', align: 'center',title: 'sku', hide: true}
    ,{field: 'units', align: 'center',title: '单位量', hide: true}
src/main/webapp/static/js/locDetl/locDetl.js
@@ -4,13 +4,13 @@
        {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: 'orderNo', align: 'center',title: '单据编号', hide: true}
        ,{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: 'model', align: 'center',title: '代码', hide: true}
        ,{field: 'color', align: 'center',title: '颜色', hide: true}
        ,{field: 'brand', align: 'center',title: '品牌', hide: true}
        ,{field: 'unit', align: 'center',title: '单位', hide: true}
src/main/webapp/static/js/locDetlStatis/locDetlStatis.js
@@ -33,6 +33,7 @@
            {field: 'lkQty', title:'立库数量', align: 'center', width:150},
            {field: 'erpQty', title:'ERP数量', align: 'center', width:150},
            {field: 'matnr', title:'产品编码', align: 'center'},
            {field: 'model', title:'产品代码', align: 'center'},
            {field: 'specs', title:'产品规格', align: 'center'},
            {field: 'maktx', title:'产品名称', align: 'center'},
            {field: 'pgNO', title:'派工单号', align: 'center'},
src/main/webapp/static/js/order/order.js
@@ -44,7 +44,7 @@
            {type: 'numbers'},
            {field: 'orderNo', title: '单据编号', templet: '#orderNoTpl'},
            {field: 'docType$', align: 'center', title: '类型',  minWidth: 160, width: 160},
            {align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160, width: 160},
            {align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 240, width: 240},
            {field: 'createTime$', title: '创建时间', minWidth: 200, width: 200},
            {field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl',  minWidth: 160, width: 160},
            {field: 'memo', align: 'center',title: '备注', hide: true},
@@ -122,8 +122,9 @@
                        cellMinWidth: 100,
                        cols: [[
                            {type: 'numbers'},
                            {field: 'matnr', title: '商品编码', width: 160},
                            {field: 'maktx', title: '商品名称', width: 160},
                            {field: 'matnr', title: '商品编码', width: 150},
                            {field: 'model', title: '物料代码', width: 150},
                            {field: 'maktx', title: '商品名称', width: 150},
                            {field: 'batch', title: '批号'},
                            {field: 'anfme', title: '数量'},
                            {field: 'workQty', title: '作业数量'},
src/main/webapp/static/js/order/out.js
@@ -36,6 +36,7 @@
            ,{field: 'maktx', align: 'center',title: '商品名称', width: 200}
            ,{field: 'batch', align: 'center',title: '序列码'}
            ,{field: 'specs', align: 'center',title: '规格'}
            ,{field: 'spgNO', align: 'center',title: '派工单号'}
            // ,{field: 'anfme', align: 'center',title: '数量'}
            // ,{field: 'qty', align: 'center',title: '作业数量', style: 'font-weight: bold'}
            ,{field: 'enableQty', align: 'center',title: '待出数量', style: 'font-weight: bold'}
@@ -159,8 +160,10 @@
                                    // {type: 'checkbox', merge: ['orderNo']},
                                    {field: 'orderNo', title: '单据编号', merge: true, align: 'center'},
                                    {field: 'title', title: '商品', merge: true, align: 'center', width: 350},
                                    {field: 'batch', title: '序列码', align: 'center'},
                                    {field: 'batch', title: '批次', align: 'center'},
                                    {field: 'sPgNO', title: '派工单号', align: 'center'},
                                    {field: 'anfme', title: '数量', align: 'center', width: 90, style: 'font-weight: bold'},
                                    {field: 'zpallet', align: 'center',title: '托盘码'},
                                    {field: 'locNo', title: '货位', align: 'center', width: 100, templet: '#locNoTpl'},
                                    {field: 'staNos', align: 'center', title: '出库站', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
                                    {type: 'checkbox', merge: ['locNo']},