自动化立体仓库 - WMS系统
lty
2025-04-18 220241ca33a28ab4b7a3fb75093129ac5263a3ea
#erp开发新增库存检查表
7个文件已修改
5个文件已添加
173 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/CheckDetl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/CheckDetlMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/CheckDetlService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocDetlService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/CheckDetlMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -52,10 +52,10 @@
                                      @RequestBody(required = false) List<MatSyncParam> param,
                                      HttpServletRequest request){
        auth(appkey, param, request);
//        if (Cools.isEmpty(param)) {
//            return R.parse(BaseRes.PARAM);
//        }
//        openService.syncMat(param);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        openService.check(param);
        return R.ok();
    }
src/main/java/com/zy/asrs/entity/CheckDetl.java
New file
@@ -0,0 +1,50 @@
package com.zy.asrs.entity;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.core.common.Cools;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
@Data
@TableName("asr_check_detl")
@ExcelIgnoreUnannotated
public class CheckDetl implements Serializable {
    @ApiModelProperty(value= "数量")
    @ExcelProperty("数量")
    private Double anfme;
    @ApiModelProperty(value= "商品编号")
    @ExcelProperty("商品编号")
    private String matnr;
    @ApiModelProperty(value= "商品名称")
    @ExcelProperty("商品名称")
    private String maktx;
    @ApiModelProperty(value= "规格")
    @ExcelProperty("规格")
    private String specs;
    @ApiModelProperty(value= "批号")
    @ExcelProperty("批号")
    private String batch;
    @ApiModelProperty(value= "添加时间")
    @TableField("create_time")
    private Date createTime;
    public String getCreateTime$(){
        if (Cools.isEmpty(this.createTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
    }
}
src/main/java/com/zy/asrs/mapper/CheckDetlMapper.java
New file
@@ -0,0 +1,11 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.CheckDetl;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface CheckDetlMapper extends BaseMapper<CheckDetl> {
}
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -40,6 +40,7 @@
    List<String> selectSameDetlTodayBatch(@Param("matnr") String matnr,@Param("batch") String batch, @Param("start") Integer start, @Param("end") Integer end);
    List<LocDetl> getStockStatis(Map<String, Object> map);
    Double getAnfmeByMatnr(@Param("matnr") String matnr);
    Integer getStockStatisCount(Map<String, Object> map);
src/main/java/com/zy/asrs/service/CheckDetlService.java
New file
@@ -0,0 +1,7 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.CheckDetl;
public interface CheckDetlService extends IService<CheckDetl> {
}
src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -69,4 +69,6 @@
    List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo);
    List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo);
    Double getAnfmeByMatnr(String matnr);
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -43,4 +43,9 @@
     * @param param
     */
    void syncMat(List<MatSyncParam> param);
    /**
     * 检查erp与立库系统物料数量
     */
    void check(List<MatSyncParam> param);
}
src/main/java/com/zy/asrs/service/impl/CheckDetlServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.CheckDetl;
import com.zy.asrs.mapper.CheckDetlMapper;
import com.zy.asrs.service.CheckDetlService;
import org.springframework.stereotype.Service;
@Service
public class CheckDetlServiceImpl extends ServiceImpl<CheckDetlMapper, CheckDetl> implements CheckDetlService {
}
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -6,6 +6,7 @@
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -63,6 +64,11 @@
    }
    @Override
    public Double getAnfmeByMatnr(String matnr){
        return this.baseMapper.getAnfmeByMatnr(matnr);
    }
    @Override
    public Double getSumAnfme(String matnr) {
        return this.baseMapper.selectSumAnfmeByMatnr(matnr);
    }
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -18,7 +18,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.zy.asrs.entity.CheckDetl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -48,6 +48,8 @@
    private TagService tagService;
    @Autowired
    private TagMapper tagMapper;
    @Autowired
    private CheckDetlService checkDetlService;
    @Override
    @Transactional
@@ -601,6 +603,46 @@
                }
            }
        }
    @Override
    @Transactional
    public void check(List<MatSyncParam> paramList){
        if (Cools.isEmpty(paramList)) {
            throw new CoolException("上报数据为空");
        }
        for (MatSyncParam param : paramList) {
            if (Cools.isEmpty(param.getData()) || param.getData().isEmpty()) {
                throw new CoolException("物料数据为空");
            }
            for (MatSyncParam.MatParam matParam : param.getData()) {
                if (Cools.isEmpty(matParam.getMatnr())) {
                    throw new CoolException("商品编码为空");
                }
                Double LKAnfme = locDetlService.getAnfmeByMatnr(matParam.getMatnr());
                if (LKAnfme == null) {
                    LKAnfme = 0.0;
                }
                // 计算差值
                double diff = matParam.getAnfme() - LKAnfme;
                if (diff != 0) {
                    CheckDetl checkDetl = new CheckDetl();
                    checkDetl.setAnfme(diff);  //这里记录差值
                    checkDetl.setMatnr(matParam.getMatnr());
                    checkDetl.setMaktx(matParam.getMaktx());
                    checkDetl.setSpecs(matParam.getSpecs());
                    checkDetl.setCreateTime(new Date());
                    checkDetlService.insert(checkDetl);  // 插入差异记录
                }
            }
        }
    }
src/main/resources/mapper/CheckDetlMapper.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.asrs.mapper.CheckDetlMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.CheckDetl">
        <result column="anfme" property="anfme"/>
        <result column="matnr" property="matnr"/>
        <result column="maktx" property="maktx"/>
        <result column="specs" property="specs"/>
        <result column="batch" property="batch"/>
        <result column="create_time" property="createTime"/>
    </resultMap>
</mapper>
src/main/resources/mapper/LocDetlMapper.xml
@@ -150,6 +150,14 @@
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
    </select>
    <select id="getAnfmeByMatnr" resultType="com.zy.asrs.entity.LocDetl">
        select
            sum(a.anfme) as anfme
        from asr_loc_detl a
        where matnr = #{matnr}
    </select>
    <select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer">
     select count(1) as count from
        (