自动化立体仓库 - WMS系统
zwl
2 天以前 73f677ac03ebcf0f9d2e865dd60d3e4a6c2bc2c9
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
package com.zy.asrs.mapper;
 
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.InventoryFlowDto;
import com.zy.asrs.entity.WrkMastLog;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
 
import java.util.Date;
import java.util.List;
import java.util.Map;
 
@Mapper
@Repository
public interface WrkMastLogMapper extends BaseMapper<WrkMastLog> {
 
        @Insert("INSERT INTO asr_wrk_mast_log (" +
            "wrk_no, inv_wh, ymd, mk, whs_type, wrk_sts, io_type, crn_no, sheet_no, io_pri, wrk_date, loc_no, sta_no, source_sta_no, source_loc_no, loc_sts, " +
            "picking, link_mis, online_yn, upd_mk, exit_mk, plt_type, batch_seq, empty_mk, io_time, ctn_type, packed, ove_mk, mtn_type, user_no, crn_str_time, " +
            "crn_end_time, plc_str_time, crn_pos_time, load_time, exp_time, cost_time, ref_wrkno, ref_iotime, modi_user, modi_time, appe_user, appe_time, pause_mk, " +
            "error_time, error_memo, ctn_kind, manu_type, memo_m, sc_weight, log_mk, log_err_time, log_err_memo, barcode, Pdc_type, container_no, teu, plate_no, train_no, freq_type, cube_number, ctn_no, full_plt, pre_have, take_none) " +
            "SELECT " +
            "wrk_no, inv_wh, ymd, mk, whs_type, wrk_sts, io_type, crn_no, sheet_no, io_pri, wrk_date, loc_no, sta_no, source_sta_no, source_loc_no, loc_sts, " +
            "picking, link_mis, online_yn, upd_mk, exit_mk, plt_type, batch_seq, empty_mk, io_time, ctn_type, packed, ove_mk, mtn_type, user_no, crn_str_time, " +
            "crn_end_time, plc_str_time, crn_pos_time, load_time, exp_time, DATEDIFF(MINUTE, appe_time, GETDATE()), ref_wrkno, ref_iotime, modi_user, modi_time, appe_user, appe_time, pause_mk, " +
            "error_time, error_memo, ctn_kind, manu_type, memo, sc_weight, log_mk, log_err_time, log_err_memo, barcode, Pdc_type, container_no, teu, plate_no, train_no, freq_type, cube_number, ctn_no, full_plt, pre_have, take_none " +
            "FROM asr_wrk_mast WHERE wrk_no=#{workNo}")
    int save(Integer workNo);
 
    /**
     * 出库 101 下该单号同批次已出现的 plt_type(历史表)
     */
    @Select("SELECT plt_type FROM asr_wrk_mast_log WHERE io_type = 101 AND plt_type IS NOT NULL AND plt_type > 0 AND user_no = #{userNo} AND ((#{batchSeq} IS NULL AND batch_seq IS NULL) OR batch_seq = #{batchSeq})")
    List<Integer> listOutboundPltTypesByUserNo(@Param("userNo") String userNo, @Param("batchSeq") String batchSeq);
 
    @Select("SELECT MIN(ISNULL(appe_time, io_time)) FROM asr_wrk_mast_log WHERE train_no = #{trainNo} AND io_type < 100")
    Date selectFirstInboundCreateTimeByTrainNo(@Param("trainNo") String trainNo);
 
    @Select("SELECT wrk_no FROM asr_wrk_mast_log WHERE train_no = #{trainNo} AND io_type < 100 AND wrk_sts = 5")
    List<Integer> listFinishedInboundWrkNosByTrainNo(@Param("trainNo") String trainNo);
 
    @Select("SELECT ISNULL(SUM(CAST(ISNULL(cost_time, 0) AS BIGINT)), 0) " +
            "FROM asr_wrk_mast_log " +
            "WHERE wrk_sts = #{wrkSts} " +
            "AND appe_time >= #{startTime} " +
            "AND appe_time <= #{endTime}")
    Long sumCostTimeByWrkSts(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("wrkSts") Integer wrkSts);
 
    @Select("SELECT COUNT(1) " +
            "FROM asr_wrk_mast_log " +
            "WHERE wrk_sts = 5 " +
            "AND source_sta_no = #{sourceStaNo} " +
            "AND appe_time >= #{startTime} " +
            "AND appe_time <= #{endTime}")
    Long countInboundHistoryBySourceStaNo(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("sourceStaNo") Integer sourceStaNo);
 
    /**
     * 查询库存移动流水记录
     */
    List<InventoryFlowDto> inventoryFlowList(@Param("curr") Integer curr,@Param("limit") Integer limit, @Param("param") Map<String, Object> param);
 
    /**
     * 统计库存移动流水记录数
     */
    int inventoryFlowListCount(@Param("param") Map<String, Object> param);
}