自动化立体仓库 - WMS系统
cl
1 天以前 f08a5ea16b9fd30d7832ac33d9c0ae3fae122102
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.LocDetl;
import com.zy.asrs.entity.param.ExportParam;
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.math.BigDecimal;
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,
                       @Param("brand")String brand,@Param("standby1")String standby1,@Param("standby2")String standby2,
                       @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3 );
 
    int deleteItem(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch,
                   @Param("brand")String brand,@Param("standby1")String standby1,@Param("standby2")String standby2,
                   @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3 );
 
    int updateAnfme(@Param("anfme")Double anfme, @Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch,
                    @Param("brand")String brand,@Param("standby1")String standby1,@Param("standby2")String standby2,
                    @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3 );
 
    int updateWeight(@Param("weight") BigDecimal weight, @Param("locNo") String locNo, @Param("matnr") String matnr, @Param("batch") String batch,
                     @Param("brand") String brand, @Param("standby1") String standby1, @Param("standby2") String standby2,
                     @Param("standby3") String standby3, @Param("boxType1") String boxType1, @Param("boxType2") String boxType2, @Param("boxType3") String boxType3);
 
    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);
    List<LocDetl> selectStatisForExport(ExportParam param);
    List<LocDetl> selectStockStatisExport( ExportParam param);
    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);
//    List<LocDetl> queryStockAll(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("batch")String batch,
//                                @Param("brand")String brand,@Param("standby1")String standby1,@Param("standby2")String standby2,
//                                @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3);
    List<LocDetl> queryStockAll(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("batch")String batch,
                                @Param("brand")String brand,@Param("standby1")String standby1,@Param("standby2")String standby2,
                                @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2);
    List<LocDetl> queryStockAll7(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("standby1")String standby1,@Param("standby2")String standby2,
                                @Param("standby3")String standby3,@Param("boxType1")String boxType1,@Param("boxType2")String boxType2,@Param("boxType3")String boxType3);
    List<LocDetl> queryStockAll123(@Param("orderNo")String orderNo, @Param("locNos") Set<String> locNos, @Param("matnr")String matnr, @Param("boxType3")String boxType3);
 
    Double queryStockAnfme(String matnr, String batch);
    List<LocDetl> queryStockMatnr(@Param("matnr")String matnr);
 
    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);
 
}