自动化立体仓库 - WMS系统
dubin
16 小时以前 23ba6b079e80ae6e5fbd909df6544c1d992df561
根据库存明细更新商品信息
4个文件已修改
1个文件已添加
79 ■■■■■ 已修改文件
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 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/InOutSyncScheduler.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -93,4 +93,6 @@
    @Select("select count(*) from asr_loc_detl where matnr = #{matnr};")
    Integer selectCountByMatNr(String matnr);
    List<LocDetl> select100();
}
src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -91,4 +91,6 @@
    List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr, String batch, String grade, Integer crnNo);
    Integer selectCountByMatNr(String matnr);
    List<LocDetl> select100();
}
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -15,6 +15,7 @@
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -216,6 +217,11 @@
    }
    @Override
    public List<LocDetl> select100() {
        return this.baseMapper.select100();
    }
    @Override
    public LocDetl selectItem(String locNo, WrkDetl wrkDetl) {
        List<LocDetl> locDetls = this.baseMapper.selectItem3(locNo, wrkDetl.getMatnr());
        if (locDetls != null) {
src/main/java/com/zy/asrs/task/InOutSyncScheduler.java
New file
@@ -0,0 +1,60 @@
package com.zy.asrs.task;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.zy.asrs.entity.InOut;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.service.InOutService;
import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.service.MatService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Component
@Slf4j
@Transactional
public class InOutSyncScheduler {
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private InOutService inOutService;
    @Autowired
    private MatService matService;
    @Scheduled(cron = "0/30 * * * * ? ")
    private void syncInOut(){
//        List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().ne("length",1).last("top 100"));
        List<LocDetl> locDetlList = locDetlService.select100();
        if (locDetlList.size() == 0){
            log.info("商品信息更新完毕");
            return;
        }
        for (LocDetl locDetl : locDetlList) {
            InOut inOut = inOutService.selectByMatnr(locDetl.getMatnr());
            Mat mat = matService.selectByMatnr(locDetl.getMatnr());
            inOut.setBrand(locDetl.getZpallet());//托盘条码
            inOut.setTemp3(locDetl.getLocNo());//库位号
            inOut.setTemp1("在库");//是否在库
            inOut.setTemp2(mat.getName());//套号
            locDetl.setLength(1.0);//标记
            if (!inOutService.update(inOut, new EntityWrapper<InOut>().eq("matnr",inOut.getMatnr()))){
                log.error("更新商品信息失败");
            }
            if (!locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("matnr",locDetl.getMatnr()))){
                log.error("更新库存标记失败");
            }
        }
        log.info("更新" + locDetlList.size() + "条商品信息成功");
    }
}
src/main/resources/mapper/LocDetlMapper.xml
@@ -559,6 +559,15 @@
        order by row1
    </select>
    <select id="select100" resultMap="BaseResultMap">
        select TOP 100 a.*
        from asr_loc_detl a
                 left join asr_loc_mast b on a.loc_no = b.loc_no
        where 1=1
          and b.loc_sts = 'F'
          and a.length != 1
    </select>