From a993d80747bcbc8f937999d8493d386c7aa7f7e6 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期五, 19 五月 2023 15:09:28 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/ManPakOutController.java | 48 ++++++++++++++++++++++-- src/main/resources/mapper/ManLocDetlMapper.xml | 14 ++++++ src/main/java/com/zy/asrs/controller/OutController.java | 23 +++++++++-- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 10 ++++- 4 files changed, 84 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/ManPakOutController.java b/src/main/java/com/zy/asrs/controller/ManPakOutController.java index 39ce18a..fe2e3fd 100644 --- a/src/main/java/com/zy/asrs/controller/ManPakOutController.java +++ b/src/main/java/com/zy/asrs/controller/ManPakOutController.java @@ -5,13 +5,14 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; -import com.core.common.Cools; -import com.core.common.DateUtils; -import com.core.common.R; -import com.core.common.SpringUtils; +import com.core.common.*; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.OrderDomainParam; import com.zy.asrs.service.*; +import com.zy.common.CodeRes; +import com.zy.common.config.AdminInterceptor; +import com.zy.common.utils.BarcodeUtils; +import com.zy.common.utils.QrCode; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -20,6 +21,10 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -101,4 +106,39 @@ } return R.ok(orders1); } + + @RequestMapping(value = "/ManPakOut/print/auth") + @ManagerAuth(memo = "璁㈠崟缂栫爜鎵撳嵃") + public R manPakOutPrint(@RequestParam(value = "param[]") String[] param) { + if(Cools.isEmpty(param)) { + return R.parse(CodeRes.EMPTY); + } + List<ManPakOut> res = new ArrayList<>(); + for (String orderNo : param){ + res = manPakOutService.selectList(new EntityWrapper<ManPakOut>().eq("doc_num", orderNo)); + } + return R.ok().add(res); + } + @RequestMapping(value = "/ManPakOut/code/auth") +// @ManagerAuth(memo = "鐗╂枡缂栫爜鏉″舰鐮佽幏鍙�(type:1(鏉″舰鐮�);2(浜岀淮鐮�)") + public R manPakOutCodeBarcode(@RequestParam(defaultValue = "2") Integer type + , @RequestParam String param + , HttpServletResponse response) throws Exception { + AdminInterceptor.cors(response); + if (Cools.isEmpty(param)){ + return R.parse(BaseRes.EMPTY); + } + BufferedImage img; + if (type == 1) { + img = BarcodeUtils.encode(param); + } else { + img = QrCode.createImg(param); + } + if (!ImageIO.write(img, "jpg", response.getOutputStream())) { + throw new IOException("Could not write an image of format jpg"); + } + response.getOutputStream().flush(); + response.getOutputStream().close(); + return R.ok(); + } } diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index a99af3c..e02785c 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -159,8 +159,10 @@ List<String> matnrs=new ArrayList<>(); for (int i = 0; i < locDtos.size(); i++) { LocDto locDto = locDtos.get(locDtos.size() - 1 - i); - if (locDto.getLocNo() == null || locDto.getManu().equals("绔嬪簱")) { + if (locDto.getLocNo() == null) { is[i][0] = 1; + } else if (locDto.getManu().equals("绔嬪簱")){ + is[i][0] = 2; } else { is[i][0] = 0; } @@ -168,12 +170,17 @@ } List<LocDto> locDtos1=new ArrayList<>(); for (int[] i : is) { - if (i[0] == 1) { + if (i[0] == 2) { if (!matnrs.contains(locDtos.get(i[1]).getMatnr())){ matnrs.add(locDtos.get(i[1]).getMatnr()); } locDtos1.add(locDtos.get(i[1])); locDtos.remove(i[1]); + }else if (i[0]==1){ + LocDto locDto = locDtos.get(i[1]); + locDto.setLocNo("搴撳瓨涓嶈冻"); + locDtos.remove(i[1]); + locDtos.add(locDto); } } for (String matnr:matnrs){ @@ -181,7 +188,7 @@ int b = 0; for (int i = 0; i < locDtos1.size(); i++){ if (locDtos1.get(i).getMatnr().equals(matnr)){ - if (a.equals(0)){ + if (a.equals(0.0)){ b=i; } a=a+locDtos1.get(i).getAnfme(); @@ -207,7 +214,7 @@ } for (LocDto locDto:locDtos){ ManLocDetl manLocDetl = manLocDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch()); - if (!(locDto.getAnfme()>manLocDetl.getAnfme())) { + if (!Cools.isEmpty(manLocDetl) && !(locDto.getAnfme()>=manLocDetl.getAnfme())) { manLocDetl.setStatus(0); if (manLocDetlService.update(manLocDetl, new EntityWrapper<ManLocDetl>().eq("uuid", manLocDetl.getUuid()))) { if (addPakOUT(locDto).equals(R.ok())) { @@ -232,6 +239,13 @@ return R.error("娣诲姞鎷h揣鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+locDto.getOrderNo()+locDto.getMatnr()); } } + }else if (locDto.getLocNo().equals("绔嬪簱")){ + addPakOUT(locDto).equals(R.ok()); + } + } + for (LocDto locDto:locDtos){ + if (locDto.getLocNo().equals("搴撳瓨涓嶈冻")){ + addPakOUT(locDto).equals(R.ok()); } } return R.ok(); @@ -246,6 +260,7 @@ manPakOut.setMatnr(locDto.getMatnr()); manPakOut.setMaktx(locDto.getMaktx()); manPakOut.setDocNum(locDto.getOrderNo()); + manPakOut.setCount(0); manPakOut.setStatus(0); manPakOut.setCreateTime(new Date()); manPakOut.setBatch(locDto.getBatch()); diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 7530d36..a722014 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -60,6 +60,8 @@ private NodeService nodeService; @Autowired private ManLocDetlService manLocDetlService; + @Autowired + private ManPakOutService manPakOutService; @Override @Transactional @@ -657,8 +659,12 @@ if (Cools.isEmpty(orderDetl)) { return R.error("鍗曟嵁鏄庣粏鏈夎,璇锋鏌�"); } - if (jsonOrderDetl.getAnfme() > (orderDetl.getAnfme() - orderDetl.getQty())) { - return R.error("鍑哄簱鏁伴噺澶т簬鍗曟嵁鍙嚭鏁伴噺"); + EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>(); + manPakOutEntityWrapper.eq("loc_no",jsonLocNo); + manPakOutEntityWrapper.eq("matnr",jsonOrderDetl.getMatnr()); + ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper); //鑾峰彇鎷h揣鍗曚腑鐨勫搴旂殑璁㈠崟 + if (jsonOrderDetl.getAnfme() > (manPakOut.getAnfme()-manPakOut.getCount())) { //鍒ゆ柇宸ヤ綔鏁伴噺鏄惁澶т簬鎷h揣鍗曞墿浣欏彲鍑虹殑鏁伴噺 + return R.error("鍑哄簱鏁伴噺澶т簬鎷h揣鍗曞墿浣欏彲鍑烘暟閲�"); } ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>() .eq("loc_no", jsonLocNo) diff --git a/src/main/resources/mapper/ManLocDetlMapper.xml b/src/main/resources/mapper/ManLocDetlMapper.xml index ac19331..125456a 100644 --- a/src/main/resources/mapper/ManLocDetlMapper.xml +++ b/src/main/resources/mapper/ManLocDetlMapper.xml @@ -30,6 +30,7 @@ <result column="update_by" property="updateBy" /> <result column="modi_time" property="modiTime" /> <result column="memo" property="memo" /> + <result column="uuid" property="uuid" /> </resultMap> @@ -247,10 +248,21 @@ where loc_no = #{locNo} and matnr = #{matnr} </select> - <select id="selectItem0" resultType="com.zy.asrs.entity.ManLocDetl"> + <select id="selectItem" resultType="com.zy.asrs.entity.ManLocDetl"> select top 1 * from man_loc_detl where loc_no = #{locNo} and matnr = #{matnr} + <if test="batch!=null and batch!='' "> + and batch = #{batch} + </if> + <!-- <choose>--> + <!-- <when test="batch != null and batch != ''">--> + <!-- and batch = #{batch}--> + <!-- </when>--> + <!-- <otherwise>--> + <!-- and (batch IS NULL OR batch = '')--> + <!-- </otherwise>--> + <!-- </choose>--> </select> <select id="listByOutPage" resultMap="BaseResultMap"> -- Gitblit v1.9.1