自动化立体仓库 - WMS系统
pang.jiabao
2024-12-24 096e1d6caa4afadd7341430c953fd4299a92869b
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
package com.zy.asrs.mapper;
 
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.result.LocDetlAll;
import com.zy.asrs.entity.result.LocDetlDTO;
import com.zy.asrs.entity.result.StockVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
 
import java.util.List;
import java.util.Map;
import java.util.Set;
 
@Mapper
@Repository
public interface LocDetlMapper extends BaseMapper<LocDetl> {
 
    List<LocDetlAll> selectAllOwner(LocDetlDTO locDetlDTO);
 
    int selectAllCount(LocDetlDTO locDetlDTO);
 
    List<LocDetl> listByPage(Map<String, Object> map);
 
    Integer listByPageCount(Map<String, Object> map);
 
    LocDetl selectItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
 
    int deleteItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
 
    int updateAnfme(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch);
 
    List<LocDetl> getStockOutPage(Map<String, Object> map);
 
    Integer getStockOutPageCount(Map<String, Object> map);
 
    @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}")
    int updateLocNo(String newLocNo, String oldLocNo);
 
    @Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end})  AND lm.loc_sts = 'F' AND DateDiff(dd, ld.appe_time, getdate()) = 0) ORDER BY ld.appe_time ASC")
    List<String> selectSameDetlToday(@Param("matnr") String matnr, @Param("start") Integer start, @Param("end") Integer end);
 
    List<String> selectSameDetlTodayBatch(@Param("matnr") String matnr,@Param("batch") String batch, @Param("start") Integer start, @Param("end") Integer end);
 
    List<LocDetl> getStockStatis(Map<String, Object> map);
 
    Integer getStockStatisCount(Map<String, Object> map);
 
    List<LocDetl> getStockStatis2(Map<String, Object> map);
 
    List<LocDetl> getStockStatisExcel();
 
    @Select("select sum(a.anfme) as sum from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr}")
    Double selectSumAnfmeByMatnr(@Param("matnr") String matnr);
 
    List<LocDetl> selectPakoutByRule(String matnr);
 
    List<LocDetl> getAsrsLocDetl(String matnr);
 
    Integer countLocNoNum(String locNo);
 
    // -------------------------------------------------
 
    List<LocDetl> queryStock(@Param("matnr")String matnr, @Param("batch")String batch, @Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos);
 
    Double queryStockAnfme(String matnr, String batch);
 
    List<StockVo> queryStockTotal();
 
 
    Integer sum();
 
    List<LocDetl> unreason();
 
    Double selectLocDetlSumQty(String locNo);
 
    void updateMatTurn(@Param("matnrOld")String matnrOld,@Param("matnr")String matnr);
 
    List<Map<String,Object>> selectLocDetlUnilateralMoveShuttleMapY(Integer crnNo);
 
    List<Map<String,Object>> selectLocDetlUnilateralMoveShuttleMapN(Integer crnNo);
 
    List<LocDetl> selectLocDetlUnilateralMoveShuttleY(@Param("matnr")String matnr,@Param("batch")String batch,@Param("grade")String grade);
    List<LocDetl> selectLocDetlUnilateralMoveShuttleN(@Param("matnr")String matnr,@Param("batch")String batch,@Param("grade")String grade);
 
    List<LocDetl> searchByLike(String orderNo, String matnr, String maktx, String specs, String locNo);//通过订单号、物料号、物料名称、规格、库位号进行模糊搜索
 
    /**
     * 根据库位号更新库存明细为冻结状态
     */
    void updateDetlFrozenByLocNo(@Param("locNo") String locNo);
 
    /**
     * 冻结/解冻库存明细
     * @param locNo 库位号
     * @param matnr 物料编码
     * @param batch 批次
     * @param frozen 0解冻,1冻结
     */
    void frozenInventory(@Param("locNo") String locNo, @Param("matnr") String matnr, @Param("batch") String batch, @Param("frozen") int frozen);
 
}