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 { @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 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 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 inventoryFlowList(@Param("curr") Integer curr,@Param("limit") Integer limit, @Param("param") Map param); /** * 统计库存移动流水记录数 */ int inventoryFlowListCount(@Param("param") Map param); }