自动化立体仓库 - WCS系统
Junjie
2023-06-29 0c9b8fe24e495da1f5e3362fa6b36acc41617cb7
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -1,10 +1,9 @@
package com.zy.asrs.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkMast;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -13,13 +12,101 @@
@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 wrk_no,loc_no,source_sta_no,sta_no,crn_no,wrk_sts,io_type 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")
    // 入库第一步,扫码仪获取条码信息时查询
//    @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 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);
    // 入库第三步,当堆垛机把货放入库位时
//    @Select("select top 1 from dbo.asr_wrk_mast where wrk_no=#{workNo}")
    WrkMast selectCrnWaiting(@Param("workNo")Integer workNo);
    WrkMast selectCrnWaiting2(@Param("workNo")Integer workNo);
    WrkMast selectPakInStep45(@Param("workNo")Integer workNo);
    WrkMast selectCarWaiting(@Param("workNo")Integer workNo);
    // 拣料再入库时,站点有物且需求时查询
//    @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 selectPickStepByBarcode(@Param("barcode")String barcode);
    // 出库第一步,从库位到堆垛机出库站
//    @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> selectWorkingOfPakOutBySource(@Param("locNos") List<String> locNos);
    // 出库第二步,从堆垛机出库站到目标出库站,堆垛机出库站有物时执行
//    @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);
    // 库位移转工作档,在进行一次入出库作业后紧跟库位移转
//    @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 selectLocMoving(@Param("crnNo")Integer crnNo);
    WrkMast selectWorking(@Param("crnNo")Integer crnNo);
    // work log -------------------------------------------------------
    @Insert("insert into asr_wrk_mast_log select * from asr_wrk_mast where wrk_no=#{workNo}")
    int saveWrkMastLog(Integer workNo);
    @Insert("insert into asr_wrk_detl_log select * from asr_wrk_detl where wrk_no=#{workNo}")
    int saveWrkDetlLog(Integer workNo);
    // 通知档 ----------------------------------------------------------------------
    // update 入库通知档 -- Y
    @Update("update cust_wait_pakin set io_status='Y' where zpallet = #{barcode}")
    int updateWaitPakInStep1(String barcode);
    // update 入库通知档  -- F
    @Update("update cust_wait_pakin set io_status='F' where zpallet = #{barcode}")
    int updateWaitPakInStep2(String barcode);
    @Update("update asr_wrk_mast set ste_no = null where wrk_no = #{wrkNo}")
    int setSteEmpty(Integer wrkNo);
    WrkMast selectPakin(@Param("crnNo")Integer crnNo, @Param("steNo")Integer steNo);
    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);
    List<WrkMast> selectAll(@Param("staNo")Integer staNo);
    WrkMast selectAllC();
    WrkMast selectRackInStep48(Short workNo,Integer staNo);
    WrkMast selectByWorkNo(Integer workNo);
    WrkMast selectLiftStep262327();
    WrkMast selectByWorkNo372428(Integer workNo);
    List<WrkMast> selectBy2125();
    //查询指定楼层待分配车辆的任务
    List<LocMast> selectNoShuttleWrkByLev(String lev);
}