自动化立体仓库 - WCS系统
1
zhangc
2025-04-14 710deccd42576ad2dcbdc22e75f18b455d5ce2ff
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -2,7 +2,8 @@
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.WrkMast;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -11,84 +12,52 @@
@Repository
public interface WrkMastMapper extends BaseMapper<WrkMast> {
    WrkMast selectBySourceLocNo(@Param("sourceLocNo") String sourceLocNo);
//    @Select("select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 ) and io_type <> 103 and io_type <> 104 and io_type <> 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,io_time,wrk_no")
    List<WrkMast> selectToBeCompleteData();
    List<WrkMast> selectToBeHistoryData();
    // wcs ---------------------------------------------
    // 入库第一步,扫码仪获取条码信息时查询
//    @Select("select top 1 * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=2 and barcode=#{barcode} and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC")
    WrkMast selectPakInStep1(@Param("sourceStaNo")Integer sourceStaNo, @Param("barcode")String barcode);
    WrkMast selectPakInStep1(@Param("sourceStaNo") Integer sourceStaNo, @Param("barcode") String barcode);
    WrkMast selectPakInStep11(@Param("sourceStaNo")Integer sourceStaNo);
    WrkMast selectPakInStep11(@Param("sourceStaNo") Integer sourceStaNo);
    // 入库第二步,当托盘物料在堆垛机入库站时时查询
//    @Select("select top 1 * from dbo.asr_wrk_mast where wrk_sts=2 and crn_no=#{crnNo} and wrk_no=#{workNo} and (io_type=1 or io_type=10 or io_type=53 or io_type=54 or io_type=57) order by io_pri desc,io_time,wrk_no ASC")
    WrkMast selectPakInStep23456(@Param("crnNo")Integer crnNo, @Param("workNo")Integer workNo, @Param("staNo")Integer staNo);
    List<WrkMast> selectInStep4();
    // 入库第三步,当堆垛机把货放入库位时
//    @Select("select top 1 from dbo.asr_wrk_mast where wrk_no=#{workNo}")
    WrkMast selectCrnWaiting(@Param("workNo")Integer workNo);
    WrkMast selectByWorkNo(Integer workNo);
    WrkMast selectPakInStep45(@Param("workNo")Integer workNo);
    WrkMast selectByMainWrkNo(Integer workNo);
    WrkMast selectCarWaiting(@Param("workNo")Integer workNo);
    List<WrkMast> selectLiftStep223103();
    // 拣料再入库时,站点有物且需求时查询
//    @Select("select top 1 * from asr_wrk_mast where wrk_no=#{workNo} and wrk_sts=14 and (io_type=103 or io_type=107 or io_type=104)")
    WrkMast selectPickStep(@Param("wrkNo")Short wrkNo);
    WrkMast selectByWorkNo324104(Integer workNo);
    WrkMast selectPickStepByBarcode(@Param("barcode")String barcode);
    List<WrkMast> selectBy2125();
    // 出库第一步,从库位到堆垛机出库站
//    @Select("select top 1 * from dbo.asr_wrk_mast where crn_no=#{crnNo} and wrk_sts=11 and io_type>100 order by io_pri desc,io_time,wrk_no asc")
    WrkMast selectPakOutStep111215(@Param("crnNo")Integer crnNo, @Param("sourceStaNo")Integer sourceStaNo);
    //查询指定楼层待分配车辆的任务
    List<WrkMast> selectNoShuttleWrkByLev(String lev);
    List<WrkMast> selectWorkingOfPakOutBySource(@Param("locNos") List<String> locNos);
    List<WrkMast> selectShuttleWrkByLev(String lev);
    // 出库第二步,从堆垛机出库站到目标出库站,堆垛机出库站有物时执行
//    @Select("select top 1 * from dbo.asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=12 and io_type>100 order by io_pri desc,io_time desc,wrk_no ASC")
    WrkMast selectPakOutStep16(@Param("sourceStaNo")Integer sourceStaNo);
    List<WrkMast> selectShuttleOutWrkByLev(String lev);
    // 库位移转工作档,在进行一次入出库作业后紧跟库位移转
//    @Select("select top 1 * from dbo.asr_wrk_mast where wrk_sts=11 and (io_type=11 or io_type=110) and crn_no=#{crnNo} order by io_time,wrk_no")
    WrkMast selectLocMove(@Param("crnNo")Integer crnNo);
    WrkMast selectLiftWrkMast(Integer liftNo);
    WrkMast selectLocMoving(@Param("crnNo")Integer crnNo);
    WrkMast selectLiftWrkMastAndWrkNo(@Param("liftNo") Integer liftNo, @Param("wrkNo") Integer wrkNo, @Param("wrkNo2") Integer wrkNo2);
    WrkMast selectWorking(@Param("crnNo")Integer crnNo);
    List<WrkMast> selectLocToLocWrkMast();//查询库位移转工作档
    // work log -------------------------------------------------------
    @Insert("insert into asr_wrk_mast_log select * from asr_wrk_mast where wrk_no=#{workNo}")
    int saveWrkMastLog(Integer workNo);
    WrkMast selectPickStepByBarcode(String barcode);
    @Insert("insert into asr_wrk_detl_log select * from asr_wrk_detl where wrk_no=#{workNo}")
    int saveWrkDetlLog(Integer workNo);
    WrkMast selectShuttleHasMoveWorking(@Param("shuttleNo") Integer shuttleNo);
    // 通知档 ----------------------------------------------------------------------
    List<WrkMast> selectShuttleMoveWrk();
    // update 入库通知档 -- Y
    @Update("update cust_wait_pakin set io_status='Y' where zpallet = #{barcode}")
    int updateWaitPakInStep1(String barcode);
    WrkMast selectShuttleWorking(@Param("shuttleNo") Integer shuttleNo);//是否有穿梭车任务(移库任务除外)
    // update 入库通知档  -- F
    @Update("update cust_wait_pakin set io_status='F' where zpallet = #{barcode}")
    int updateWaitPakInStep2(String barcode);
    WrkMast selectByBarcode(String barcode);
    @Update("update asr_wrk_mast set ste_no = null where wrk_no = #{wrkNo}")
    int setSteEmpty(Integer wrkNo);
    List<WrkMast> selectInWrkMastByLiftNo(Integer liftNo);//搜索指定提升机的入库任务
    WrkMast selectPakin(@Param("crnNo")Integer crnNo, @Param("steNo")Integer steNo);
    WrkMast selectChargeWorking(Integer shuttleNo);
    WrkMast selectPakout(@Param("crnNo")Integer crnNo, @Param("steNo")Integer steNo);
    WrkMast selectWorkingByCrn(@Param("crnNo")Integer crnNo);
    WrkMast selectPakinWorkingByGroupLoc(@Param("locNos")List<String> locNos);
    WrkMast selectPakoutWorkingByGroupLoc(@Param("locNos")List<String> locNos);
    WrkMast selectChargeWorkingByChargeSta(Integer chargeSta);
}