自动化立体仓库 - WMS系统
zhangc
2025-01-18 8ca385d65454fb8e993970a768ed3ad5c3a095ab
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
package com.zy.asrs.mapper;
 
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.AgvLocDetl;
import com.zy.asrs.entity.LocDetl;
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;
 
@Mapper
@Repository
public interface AgvLocDetlMapper extends BaseMapper<AgvLocDetl> {
 
    @Update("update agv_loc_detl set loc_no = '${targetLoc}' where loc_no = '${sourceLoc}' ")
    void updateStock(@Param("sourceLoc")String sourceLoc, @Param("targetLoc")String targetLoc);
 
    List<AgvLocDetl> getStockStatis1(Map<String, Object> map);
 
    Integer getStockStatisCount(Map<String, Object> map);
 
    @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode}")
    Double selectSumAnfmeByMatnr(@Param("matnr") String matnr,@Param("threeCode") String threeCode);
 
    @Select("select * from agv_loc_detl where 1=1 and loc_no = #{locNo} and matnr = #{matnr} and three_code = #{csocode}")
    AgvLocDetl selectItemByOrderNo(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
 
    @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts = 1")
    Double selectSumAnfmeByMatnrProcess(@Param("matnr") String matnr,@Param("threeCode") String threeCode);
 
    @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1 AND b.floor != 1")
    Double selectSumAnfmeByMatnrProcessed(@Param("matnr") String matnr,@Param("threeCode") String threeCode);
 
    @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where (b.loc_sts = 'F' or b.loc_sts = 'R') and b.floor = #{floor} and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1")
    Double selectSumAnfmeByMatnr2(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor);
 
    @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where (b.loc_sts = 'F' or b.loc_sts = 'R') and b.floor != #{floor} and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1")
    Double getSumAnfmeback(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor);
 
    @Select("SELECT SUM(anfme) FROM agv_loc_detl")
    Integer sum();
 
    @Select("select\n" +
            "        ROW_NUMBER() over (order by sum(a.anfme) desc) as row\n" +
            "        , a.matnr\n" +
            "        , a.maktx, a.specs, a.model\n "  +
            "        , sum(a.anfme) as anfme\n" +
            "        from agv_loc_detl a\n" +
            "        where 1=1\n" +
            "        group by a.matnr, a.maktx, a.specs, a.model")
    List<AgvLocDetl> getStockStatisExcel();
 
    @Select("SELECT SUM(anfme) FROM agv_loc_detl WHERE loc_no = #{locNo}")
    Double sumByLocNo(@Param("locNo")String locNo);
 
    @Select("SELECT SUM(anfme) FROM agv_loc_detl WHERE matnr = #{matnr}")
    Double sumByMatnr(@Param("matnr")String matnr);
 
    int updateAnfme(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
 
    int updateAnfmeProcess(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode, @Param("process")Integer process);
 
    int deleteLocDetl(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
 
    AgvLocDetl selectLocdetl(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
 
    @Update("update agv_loc_detl set loc_no = '${targetLoc}' where loc_no = '${sourceLoc}' and supp_code = '${containerCode}'")
    void updateLocNo(@Param("targetLoc")String targetLoc, @Param("sourceLoc")String sourceLoc, @Param("containerCode")String containerCode);
}