#
LSH
2023-05-06 1bdb27f4508fd8a718e8f5a834b923667625f5bd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.zy.asrs.mapper;
 
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.WrkMast;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
 
import java.util.List;
 
@Mapper
@Repository
public interface WrkMastMapper extends BaseMapper<WrkMast> {
 
    WrkMast selectByLocNo(@Param("sourceLocNo") String sourceLocNo);
    WrkMast selectByLocNo1(@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 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 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);
 
    // 出库第二步,从堆垛机出库站到目标出库站,堆垛机出库站有物时执行
//    @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);
 
    WrkMast selectWorking1(@Param("crnNo")Integer crnNo, @Param("wrkNo")Integer wrkNo);
 
    // 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);
 
    /**
     * 查询工作档是是否存在未完成的移库任务,状态17表示移库已经完成,等待回原库位
     * @param crnNo
     * @return
     */
    WrkMast selectLocMoveWorking(@Param("crnNo")Integer crnNo);
 
    /**
     * 查找工作状态为17的移库完成任务,待处理回到原库位,并顺序往里移动
     * @param crnNo
     * @return
     */
    WrkMast selectLocMove17(@Param("crnNo")Integer crnNo);
 
    List<WrkMast> selectPick17(@Param("staNo") Integer staNo, @Param("wrkNo") Integer wrkNo);
 
    /**
     * 查询工作档是否存在移库任务
     * @param crnNo
     * @return
     */
    WrkMast selectLocMoveData(@Param("crnNo")Integer crnNo);
 
    /**
     * 查找工作档是否已存在绑定小车号的任务,状态17的除外
     * @param steNo
     * @return
     */
    WrkMast selectSteNoData(@Param("steNo")Integer steNo);
 
    List<WrkMast> selectWrkStsAndIoType(@Param("sour")Integer sour);
    List<WrkMast> selectWrkStsAndIoType0(@Param("sour")Integer sour);
    List<WrkMast> selectWrkStsAndIoType1(@Param("sour")Integer sour);
 
    WrkMast selectWorkingPakin(@Param("sourceStaNo")Integer sourceStaNo);
    WrkMast selectWorkingPakout(@Param("sourceStaNo")Integer sourceStaNo);
 
 
    WrkMast selectShallowLoc(@Param("row")Integer row,@Param("bay")Integer bay,@Param("lev")Integer lev);
}