自动化立体仓库 - WMS系统
#
Junjie
2025-06-18 9ba0113a871f5f1d71af2df93c2af759cde7d58a
#
4个文件已修改
7个文件已添加
289 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/entity/NccQilibcTmprintWms.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/entity/NccSaleXclGgsybWms.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/mapper/NccJcQilibcBarcodeflowWmsMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/mapper/NccQilibcTmprintWmsMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/service/NccQilibcTmprintWmsService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/service/NccSaleXclGgsybWmsService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/service/impl/NccQilibcTmprintWmsServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/nc/service/impl/NccSaleXclGgsybWmsServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/nc/NccQilibcTmprintWmsMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/nc/NccSaleXclGgsybWmsMapper.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -19,12 +19,17 @@
import com.zy.common.utils.Synchro;
import com.zy.common.web.BaseController;
import com.zy.nc.entity.NccJcQilibcBarcodeflowWms;
import com.zy.nc.entity.NccQilibcTmprintWms;
import com.zy.nc.entity.NccSaleXclGgsybWms;
import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService;
import com.zy.nc.service.NccQilibcTmprintWmsService;
import com.zy.nc.service.NccSaleXclGgsybWmsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
/**
@@ -61,11 +66,17 @@
    private WrkDetlLogService wrkDetlLogService;
    @Autowired
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private StoreTypeService storeTypeService;
    @Autowired
    private MatService matService;
    @Autowired
    private NccJcQilibcBarcodeflowWmsService nccJcQilibcBarcodeflowWmsService;
    @Autowired
    private NccQilibcTmprintWmsService nccQilibcTmprintWmsService;
    @Autowired
    private NccSaleXclGgsybWmsService nccSaleXclGgsybWmsService;
    @Autowired
    private OrderPakinService orderPakinService;
@@ -264,23 +275,19 @@
    @RequestMapping(value = "/mat/auth")
    @ManagerAuth
    public R pdaSearchV3(@RequestParam String matnr) {
        EntityWrapper<NccJcQilibcBarcodeflowWms> wrapper = new EntityWrapper<>();
        wrapper.eq("VBARCODE", matnr).orderBy("ts", false);
        NccJcQilibcBarcodeflowWms nccJcQilibcBarcodeflowWms = nccJcQilibcBarcodeflowWmsService.selectOne(wrapper);
        if (null == nccJcQilibcBarcodeflowWms) {
        EntityWrapper<NccQilibcTmprintWms> wrapper = new EntityWrapper<>();
        wrapper.eq("BARCODE", matnr).orderBy("PRINTTIME", false);
        NccQilibcTmprintWms nccQilibcTmprintWms = nccQilibcTmprintWmsService.selectOne(wrapper);
        if (null == nccQilibcTmprintWms) {
            return R.error("未找到此条码");
        } else {
            if (!nccJcQilibcBarcodeflowWms.getInfla().equals("出库")) {
                return R.error("该条码最后一次不是出库");
            }
        }
        Mat mat = matService.selectByMatnr(nccJcQilibcBarcodeflowWms.getWlbm());
        Mat mat = matService.selectByMatnr(nccQilibcTmprintWms.getWlbm());
        MatParam matParam = new MatParam();
        Synchro.Copy(mat, matParam);
        matParam.setBatch(nccJcQilibcBarcodeflowWms.getVbatchcode());
        matParam.setAnfme(nccJcQilibcBarcodeflowWms.getAsnnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getAsnnum().doubleValue());
        matParam.setAnfme2(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue());
        matParam.setTiaoma(nccJcQilibcBarcodeflowWms.getVbarcode());
        matParam.setBatch(nccQilibcTmprintWms.getVbatchcode());
        matParam.setAnfme(nccQilibcTmprintWms.getAsnnum() == null ? 0.0D : nccQilibcTmprintWms.getAsnnum().doubleValue());
        matParam.setAnfme2(nccQilibcTmprintWms.getNastnum() == null ? 0.0D : nccQilibcTmprintWms.getNastnum().doubleValue());
        matParam.setTiaoma(nccQilibcTmprintWms.getBarcode());
        return R.ok().add(matParam);
    }
@@ -334,6 +341,53 @@
        return R.ok("组托成功");
    }
    @RequestMapping("/comb2/auth")
    @ManagerAuth(memo = "采购组托")
    public R comb2(@RequestBody CombParam combParam) {
        CombParam.CombMat combMat = combParam.getCombMats().get(0);
        ArrayList<String> ckbmList = new ArrayList<>();
        List<StoreType> storeTypes = storeTypeService.selectList(new EntityWrapper<StoreType>()
                .like("store_name", "立体库"));
        for (StoreType storeType : storeTypes) {
            ckbmList.add(storeType.getStoreId());
        }
        NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>()
                .eq("WLBM", combMat.getMatnr())
                .eq("VBATCHCODE", combMat.getBatch())
                .in("CKBM", ckbmList)
        );
        if(null == nccSaleXclGgsybWms) {
            return R.error("未查到ERP库存");
        }
        //ERP库存数量
        BigDecimal zsl = nccSaleXclGgsybWms.getZsl();
        //获取立库数量
        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
                .eq("matnr", combMat.getMatnr())
                .eq("batch", combMat.getBatch())
        );
        BigDecimal stockNum = new BigDecimal(0);
        for (LocDetl locDetl : locDetls) {
            stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme()));
        }
        //加上组托数量
        for (CombParam.CombMat mat : combParam.getCombMats()) {
            stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme()));
        }
        if(stockNum.doubleValue() > zsl.doubleValue()) {
            return R.error("组托数量超过ERP库存");
        }
        mobileService.comb(combParam, getUserId());
        return R.ok("组托成功");
    }
    @RequestMapping("/pack/get/auth")
    @ManagerAuth
    public R packGet(@RequestParam String barcode) {
src/main/java/com/zy/nc/entity/NccQilibcTmprintWms.java
New file
@@ -0,0 +1,59 @@
package com.zy.nc.entity;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.Data;
import java.math.BigDecimal;
/**
 *
 * @TableName ncc_qilibc_tmprint_wms
 */
@TableName(value ="ncc_qilibc_tmprint_wms")
@Data
public class NccQilibcTmprintWms {
    /**
     *
     */
    @TableId
    private String pkTmprint;
    /**
     *
     */
    private String ts;
    private String printtime;
    /**
     *
     */
    private String barcode;
    /**
     *
     */
    private String wlbm;
    /**
     *
     */
    private String vbatchcode;
    /**
     *
     */
    private BigDecimal asnnum;
    /**
     *
     */
    private String pkMaterial;
    /**
     *
     */
    private BigDecimal nastnum;
}
src/main/java/com/zy/nc/entity/NccSaleXclGgsybWms.java
@@ -45,6 +45,11 @@
    /**
     * 
     */
    private String ckbm;
    /**
     *
     */
    private String sssyb;
src/main/java/com/zy/nc/mapper/NccJcQilibcBarcodeflowWmsMapper.java
@@ -5,9 +5,9 @@
/**
* @author ZY
* @description 针对表【ncc_jc_qilibc_barcodeflow_wms】的数据库操作Mapper
* @description 针对表【ncc_qilibc_tmprint_wms】的数据库操作Mapper
* @createDate 2025-05-13 17:50:58
* @Entity com.zy.nc.entity.NccJcQilibcBarcodeflowWms
* @Entity com.zy.nc.entity.ncc_qilibc_tmprint_wms
*/
public interface NccJcQilibcBarcodeflowWmsMapper extends BaseMapper<NccJcQilibcBarcodeflowWms> {
src/main/java/com/zy/nc/mapper/NccQilibcTmprintWmsMapper.java
New file
@@ -0,0 +1,16 @@
package com.zy.nc.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.nc.entity.NccJcQilibcBarcodeflowWms;
import com.zy.nc.entity.NccQilibcTmprintWms;
/**
* @author ZY
* @description 针对表【ncc_jc_qilibc_barcodeflow_wms】的数据库操作Mapper
* @createDate 2025-05-13 17:50:58
* @Entity com.zy.nc.entity.NccJcQilibcBarcodeflowWms
*/
public interface NccQilibcTmprintWmsMapper extends BaseMapper<NccQilibcTmprintWms> {
}
src/main/java/com/zy/nc/service/NccQilibcTmprintWmsService.java
New file
@@ -0,0 +1,13 @@
package com.zy.nc.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.nc.entity.NccQilibcTmprintWms;
/**
* @author ZY
* @description 针对表【ncc_qilibc_tmprint_wms】的数据库操作Service
* @createDate 2025-05-08 09:54:48
*/
public interface NccQilibcTmprintWmsService extends IService<NccQilibcTmprintWms> {
}
src/main/java/com/zy/nc/service/NccSaleXclGgsybWmsService.java
New file
@@ -0,0 +1,14 @@
package com.zy.nc.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.nc.entity.NccQilibcTmprintWms;
import com.zy.nc.entity.NccSaleXclGgsybWms;
/**
* @author ZY
* @description 针对表【ncc_sale_xcl_ggsyb_wms】的数据库操作Service
* @createDate 2025-05-08 09:54:48
*/
public interface NccSaleXclGgsybWmsService extends IService<NccSaleXclGgsybWms> {
}
src/main/java/com/zy/nc/service/impl/NccQilibcTmprintWmsServiceImpl.java
New file
@@ -0,0 +1,18 @@
package com.zy.nc.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.nc.entity.NccQilibcTmprintWms;
import com.zy.nc.mapper.NccQilibcTmprintWmsMapper;
import com.zy.nc.service.NccQilibcTmprintWmsService;
import org.springframework.stereotype.Service;
/**
* @author ZY
* @description 针对表【ncc_qilibc_tmprint_wms】的数据库操作Service实现
* @createDate 2025-05-08 09:54:48
*/
@Service
public class NccQilibcTmprintWmsServiceImpl extends ServiceImpl<NccQilibcTmprintWmsMapper, NccQilibcTmprintWms>
implements NccQilibcTmprintWmsService {
}
src/main/java/com/zy/nc/service/impl/NccSaleXclGgsybWmsServiceImpl.java
New file
@@ -0,0 +1,21 @@
package com.zy.nc.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.nc.entity.NccQilibcTmprintWms;
import com.zy.nc.entity.NccSaleXclGgsybWms;
import com.zy.nc.mapper.NccQilibcTmprintWmsMapper;
import com.zy.nc.mapper.NccSaleXclGgsybWmsMapper;
import com.zy.nc.service.NccQilibcTmprintWmsService;
import com.zy.nc.service.NccSaleXclGgsybWmsService;
import org.springframework.stereotype.Service;
/**
* @author ZY
* @description 针对表【ncc_sale_xcl_ggsyb_wms】的数据库操作Service实现
* @createDate 2025-05-08 09:54:48
*/
@Service
public class NccSaleXclGgsybWmsServiceImpl extends ServiceImpl<NccSaleXclGgsybWmsMapper, NccSaleXclGgsybWms>
implements NccSaleXclGgsybWmsService {
}
src/main/resources/mapper/nc/NccQilibcTmprintWmsMapper.xml
New file
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.nc.mapper.NccQilibcTmprintWmsMapper">
    <resultMap id="BaseResultMap" type="com.zy.nc.entity.NccQilibcTmprintWms">
            <id property="pkTmprint" column="PK_TMPRINT" />
            <result property="ts" column="TS" />
            <result property="printtime" column="PRINTTIME" />
            <result property="barcode" column="BARCODE" />
            <result property="wlbm" column="WLBM" />
            <result property="vbatchcode" column="VBATCHCODE" />
            <result property="asnnum" column="ASNNUM" />
            <result property="pkMaterial" column="PK_MATERIAL" />
            <result property="nastnum" column="NASTNUM" />
    </resultMap>
</mapper>
src/main/resources/mapper/nc/NccSaleXclGgsybWmsMapper.xml
@@ -4,8 +4,44 @@
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.nc.mapper.NccSaleXclGgsybWmsMapper">
    <resultMap id="BaseResultMap" type="com.zy.nc.entity.NccSaleXclGgsybWms">
        <id property="pkOrg" column="PK_ORG" />
        <result property="kczz" column="KCZZ" />
        <result property="scrq" column="SCRQ" />
        <result property="rkrq" column="RKRQ" />
        <result property="wlbm" column="WLBM" />
        <result property="cwarehouseid" column="CWAREHOUSEID" />
        <result property="ck" column="CK" />
        <result property="ckbm" column="CKBM" />
        <result property="sssyb" column="SSSYB" />
        <result property="wlbm" column="WLBM" />
        <result property="wlmc" column="WLMC" />
        <result property="gg" column="GG" />
        <result property="xh" column="XH" />
        <result property="wljc" column="WLJC" />
        <result property="kf" column="KF" />
        <result property="cunitid" column="CUNITID" />
        <result property="zdw" column="ZDW" />
        <result property="castunitid" column="CASTUNITID" />
        <result property="fdw" column="FDW" />
        <result property="cstateid" column="CSTATEID" />
        <result property="kczt" column="KCZT" />
        <result property="vbatchcode" column="VBATCHCODE" />
        <result property="jt1" column="JT1" />
        <result property="jt2" column="JT2" />
        <result property="jt3" column="JT3" />
        <result property="wlflbm" column="WLFLBM" />
        <result property="wlflmc" column="WLFLMC" />
        <result property="zsjflbm" column="ZSJFLBM" />
        <result property="zsjflmc" column="ZSJFLMC" />
        <result property="sjflbm" column="SJFLBM" />
        <result property="sjflmc" column="SJFLMC" />
        <result property="zsl" column="ZSL" />
        <result property="fsl" column="FSL" />
        <result property="clcj" column="CLCJ" />
        <result property="wmsMemo" column="wms_memo" />
        <result property="wmsFlag" column="wms_flag" />
    </resultMap>
   
</mapper>