From 595108c00257f238815ffc5c20fbfa82244c7740 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 29 三月 2022 10:52:05 +0800 Subject: [PATCH] # --- src/main/resources/mapper/OrderDetlMapper.xml | 16 ++++++++ src/main/resources/mapper/WrkDetlMapper.xml | 4 ++ src/main/java/com/zy/asrs/entity/OrderDetl.java | 3 + src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 4 ++ src/main/java/com/zy/asrs/service/OrderDetlService.java | 2 + src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 2 + src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 6 +++ src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 32 ++++++++-------- src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 5 ++ src/main/java/com/zy/asrs/service/WrkDetlService.java | 2 + 10 files changed, 60 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java index ebfe9c2..cef183b 100644 --- a/src/main/java/com/zy/asrs/entity/OrderDetl.java +++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java @@ -53,6 +53,9 @@ /** * 浣滀笟鏁伴噺 + * + * 1. 鍏ュ簱 : qty 馃憜 + * 1. 鍑哄簱 : qty 馃憜 */ @ApiModelProperty(value= "浣滀笟鏁伴噺") private Double qty; diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java index b2c328a..800d20f 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java @@ -20,4 +20,6 @@ int increase(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty); + int decrease(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty); + } diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java index 6193859..e4c0ff5 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java @@ -5,8 +5,12 @@ import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; +import java.util.List; + @Mapper @Repository public interface WrkDetlMapper extends BaseMapper<WrkDetl> { + List<WrkDetl> selectByWrkNo(Integer wrkNo); + } diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java index 288c794..8080b2d 100644 --- a/src/main/java/com/zy/asrs/service/OrderDetlService.java +++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java @@ -17,4 +17,6 @@ boolean increase(Long orderId, String matnr, String batch, Double qty); + boolean decrease(String orderNo, String matnr, String batch, Double qty); + } diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java index 8b3c512..7b92036 100644 --- a/src/main/java/com/zy/asrs/service/WrkDetlService.java +++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java @@ -10,4 +10,6 @@ void createWorkDetail(Integer workNo, List<DetlDto> detlDtos, String barcode, Long userId); + List<WrkDetl> selectByWrkNo(Integer wrkNo); + } diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java index 65e721f..99f70f4 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java @@ -48,4 +48,10 @@ public boolean increase(Long orderId, String matnr, String batch, Double qty) { return this.baseMapper.increase(orderId, matnr, batch, qty) > 0; } + + @Override + public boolean decrease(String orderNo, String matnr, String batch, Double qty) { + return this.baseMapper.decrease(orderNo, matnr, batch, qty) > 0; + } + } diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index 0ce118a..0359887 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -45,11 +45,11 @@ @Autowired private WrkMastService wrkMastService; @Autowired + private WrkDetlService wrkDetlService; + @Autowired private BasDevpService basDevpService; @Autowired private CommonService commonService; - @Autowired - private WrkDetlService wrkDetlService; @Autowired private LocMastService locMastService; @Autowired @@ -307,9 +307,7 @@ // 鐢熸垚宸ヤ綔妗f槑缁� for (LocDto locDto : taskDto.getLocDtos()) { if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; } - OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch()); - WrkDetl wrkDetl = new WrkDetl(); wrkDetl.setIoTime(now); wrkDetl.setWrkNo(workNo); @@ -324,6 +322,9 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } + // todo:luxiaotao 淇敼璁㈠崟鏄庣粏鏁伴噺 + + } // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� locMast = locMastService.selectById(taskDto.getLocNo()); @@ -751,18 +752,6 @@ // 鍑哄簱 ===>> F.鍦ㄥ簱 if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) { locSts = "F"; - // 閿�鍞崟鍏宠仈锛屽垯鐢熸垚鏂扮殑鍑哄簱浠诲姟 - if (wrkMast.getPdcType().equals("Y")) { - List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo)); - for (WrkDetl wrkDetl : wrkDetls) { - Double sumAnfme = Optional.ofNullable(locDetlService.getSumAnfme(wrkDetl.getMatnr())).orElse(0.0D); - if (sumAnfme < wrkDetl.getAnfme()) { - throw new CoolException("鍙栨秷澶辫触锛佸簱瀛樹笉瓒充互閲嶆柊鐢熸垚鍑哄簱浣滀笟"); - } - } - // 鐢熸垚鏂扮殑鍑哄簱浣滀笟 - stockOutRe(wrkMast, wrkDetls); - } // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉� } else if (wrkMast.getIoType() == 110) { locSts = "D"; @@ -782,6 +771,17 @@ } else { throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�"); } + // 璁㈠崟鍏宠仈 + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + for (WrkDetl wrkDetl : wrkDetls) { + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { + throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); + } + // 鐢熸垚鏂扮殑鍑哄簱浣滀笟 +// stockOutRe(wrkMast, wrkDetls); + } + } // 鍙栨秷鎿嶄綔浜哄憳璁板綍 wrkMast.setManuType("鎵嬪姩鍙栨秷"); wrkMast.setModiUser(userId); diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java index 8e16a07..80546b5 100644 --- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java @@ -50,4 +50,9 @@ } } } + + @Override + public List<WrkDetl> selectByWrkNo(Integer wrkNo) { + return this.baseMapper.selectByWrkNo(wrkNo); + } } diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml index 2875292..063098f 100644 --- a/src/main/resources/mapper/OrderDetlMapper.xml +++ b/src/main/resources/mapper/OrderDetlMapper.xml @@ -84,4 +84,20 @@ </choose> </update> + <update id="decrease"> + update man_order_detl + set qty = qty - #{qty} + where 1=1 + and order_no = #{orderNo} + and matnr = #{matnr} + <choose> + <when test="batch != null and batch != ''"> + and batch = #{batch} + </when> + <otherwise> + and (batch IS NULL OR batch = '') + </otherwise> + </choose> + </update> + </mapper> diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml index a8614d9..90249c9 100644 --- a/src/main/resources/mapper/WrkDetlMapper.xml +++ b/src/main/resources/mapper/WrkDetlMapper.xml @@ -27,4 +27,8 @@ <result column="appe_time" property="appeTime" /> </resultMap> + <select id="selectByWrkNo" resultMap="BaseResultMap"> + select * from asr_wrk_detl where 1=1 and wrk_no = #{wrkNo} + </select> + </mapper> -- Gitblit v1.9.1