From ce7bc4497e63231850e5df3a8843b348f9587b6b Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期三, 27 九月 2023 14:58:31 +0800 Subject: [PATCH] # --- src/main/resources/mapper/OrderDetlMapper.xml | 6 + src/main/java/com/zy/asrs/controller/WrkDetlController.java | 24 ++++- src/main/java/com/zy/asrs/service/OrderService.java | 2 src/main/webapp/views/wrkMast/wrkDetl.html | 1 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 5 + src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 2 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 2 src/main/java/com/zy/asrs/entity/WrkDetl.java | 13 +++ src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 81 +++++++++++++++++++- src/main/java/com/zy/asrs/controller/MobileController.java | 25 ++++++ src/main/java/com/zy/asrs/controller/WaitPakinController.java | 26 ++++++ src/main/java/com/zy/asrs/service/MobileService.java | 4 + 12 files changed, 178 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index bd592bb..be943bb 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -1,7 +1,9 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; 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.R; @@ -11,6 +13,7 @@ import com.zy.asrs.entity.param.MobileAdjustParam; import com.zy.asrs.entity.result.MobileAdjustResult; import com.zy.asrs.service.*; +import com.zy.common.model.DetlDto; import com.zy.common.model.WrkDto; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; @@ -161,6 +164,13 @@ public R comb(@RequestBody CombParam combParam){ mobileService.comb(combParam, getUserId()); return R.ok("缁勬墭鎴愬姛"); + } + + @RequestMapping("/comb/2auth") + @ManagerAuth(memo = "缁勬墭") + public R comb2(@RequestBody CombParam combParam){ + mobileService.pikingToFull2(1); + return R.ok(mobileService.pikingToFull2(3732)); } @RequestMapping("/pack/get/auth") @@ -409,7 +419,20 @@ public synchronized R pickAuth(@RequestBody String barcode){ WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); - return R.ok().add(wrkDetls); + ArrayList<WrkDetl> resultwrkDetls = new ArrayList<>(); + for (WrkDetl wrkDetl : wrkDetls) { + if (isJSON(wrkDetl.getOrderNo())) { + JSON.parseArray(wrkDetl.getOrderNo(), DetlDto.class).forEach(detlDto -> { + WrkDetl clone = wrkDetl.clone(); + clone.setOrderNo(detlDto.getOrderNo()); + clone.setAnfme(detlDto.getAnfme()); + resultwrkDetls.add(clone); + }); + } else { + resultwrkDetls.add(wrkDetl); + } + } + return R.ok().add(resultwrkDetls); } @RequestMapping("/order/search/orderNo/auth/v2") diff --git a/src/main/java/com/zy/asrs/controller/WaitPakinController.java b/src/main/java/com/zy/asrs/controller/WaitPakinController.java index 91d5c7f..0dd8ccf 100644 --- a/src/main/java/com/zy/asrs/controller/WaitPakinController.java +++ b/src/main/java/com/zy/asrs/controller/WaitPakinController.java @@ -10,8 +10,12 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.WaitPakin; import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.service.OrderDetlService; +import com.zy.asrs.service.OrderService; import com.zy.asrs.service.WaitPakinService; import com.zy.asrs.service.WrkMastService; import com.zy.common.web.BaseController; @@ -31,6 +35,12 @@ @Autowired private WrkMastService wrkMastService; + + @Autowired + private OrderService orderService; + + @Autowired + private OrderDetlService orderDetlService; @RequestMapping(value = "/waitPakin/{id}/auth") @ManagerAuth @@ -95,7 +105,21 @@ for (WaitPakin entity : list){ WrkMast wrkMast = wrkMastService.selectByBarcode(entity.getBarcode()); if (Cools.isEmpty(wrkMast)) { - waitPakinService.delete(new EntityWrapper<>(entity)); + Order order = orderService.selectByNo(entity.getOrderNo()); + if (!Cools.isEmpty(order)) { + String matnr = entity.getMatnr(); + Double anfme = entity.getAnfme(); + List<OrderDetl> orderDetls = orderService.selectTotalDetls(order.getId()); + for (OrderDetl orderDetl : orderDetls) { + if (matnr.equals(orderDetl.getMatnr())) { + orderDetl.setQty(orderDetl.getQty() - anfme); + orderDetlService.updateById(orderDetl); + } + } + waitPakinService.delete(new EntityWrapper<>(entity)); + } else { + waitPakinService.delete(new EntityWrapper<>(entity)); + } } else { return R.error("宸ヤ綔妗f暟鎹凡瀛樺湪,鏃犳硶鍒犻櫎锛侊紒"); } diff --git a/src/main/java/com/zy/asrs/controller/WrkDetlController.java b/src/main/java/com/zy/asrs/controller/WrkDetlController.java index 3baba43..a72e176 100644 --- a/src/main/java/com/zy/asrs/controller/WrkDetlController.java +++ b/src/main/java/com/zy/asrs/controller/WrkDetlController.java @@ -1,5 +1,6 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; @@ -12,14 +13,12 @@ import com.core.common.R; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.service.WrkDetlService; +import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController public class WrkDetlController extends BaseController { @@ -50,7 +49,22 @@ } else { wrapper.orderBy("appe_time", false); } - return R.ok(wrkDetlService.selectPage(new Page<>(curr, limit), wrapper)); + Page<WrkDetl> page = wrkDetlService.selectPage(new Page<>(curr, limit), wrapper); + List<WrkDetl> resultRecords = new ArrayList<>(); + for (WrkDetl record : page.getRecords()) { + if (isJSON(record.getOrderNo())) { + JSON.parseArray(record.getOrderNo(), DetlDto.class).forEach( detlDto -> { + WrkDetl clone = record.clone(); + clone.setOrderNo(detlDto.getOrderNo()); + clone.setAnfme(detlDto.getAnfme()); + resultRecords.add(clone); + }); + } else { + resultRecords.add(record); + } + } + + return R.ok(page.setRecords(resultRecords)); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java index c6a5349..707d9ab 100644 --- a/src/main/java/com/zy/asrs/entity/WrkDetl.java +++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java @@ -17,7 +17,7 @@ @Data @TableName("asr_wrk_detl") -public class WrkDetl implements Serializable { +public class WrkDetl implements Serializable, Cloneable { private static final long serialVersionUID = 1L; @@ -404,4 +404,15 @@ } } + + @Override + public WrkDetl clone() { + try { + return (WrkDetl) super.clone(); + } catch (CloneNotSupportedException e) { + e.printStackTrace(); + } + return null; + } + } diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java index 901910d..c423f11 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java @@ -19,6 +19,8 @@ List<OrderDetl> selectWorkingDetls(Long orderId); + List<OrderDetl> selectTotalDetls(Long orderId); + List<OrderDetl> getPakoutPage(Map<String, Object> map); Integer getPakoutPageCount(Map<String, Object> map); diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java index f1e5130..628aeb8 100644 --- a/src/main/java/com/zy/asrs/service/MobileService.java +++ b/src/main/java/com/zy/asrs/service/MobileService.java @@ -1,7 +1,10 @@ package com.zy.asrs.service; +import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.entity.param.MobileAdjustParam; + +import java.util.List; public interface MobileService { @@ -20,5 +23,6 @@ void packComb(CombParam param, Long userId); void pikingToFull(String s); + List<WrkDetl> pikingToFull2(Integer wrkNo); } diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java index 61bf9bb..6bd073a 100644 --- a/src/main/java/com/zy/asrs/service/OrderService.java +++ b/src/main/java/com/zy/asrs/service/OrderService.java @@ -15,6 +15,8 @@ List<OrderDetl> selectWorkingDetls(Long orderId); + List<OrderDetl> selectTotalDetls(Long orderId); + boolean updateSettle(Long orderId, Long settle, Long userId); void checkComplete(String orderNo); diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index f7b7822..dedb09b 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -3,10 +3,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.core.common.BaseRes; -import com.core.common.Cools; -import com.core.common.DateUtils; -import com.core.common.SnowflakeIdWorker; +import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.CombParam; @@ -557,4 +554,80 @@ public void pikingToFull(String barcode) { wrkMastService.selectByBarcode(barcode); } + + @Override + @Transactional + public List<WrkDetl> pikingToFull2(Integer wrkNo) { + List<WrkDetl> wrkDetlsNew= new ArrayList<WrkDetl>(); + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkNo); + for (WrkDetl wrkDetl:wrkDetls){ + String[] orderNos = GetOrderNo(wrkDetl.getOrderNo()); + if (!Cools.isEmpty(orderNos) && orderNos.length!=0) { + Double anfme = wrkDetl.getAnfme(); + for (String orderNo : orderNos) { + OrderDetl orderDetl = orderDetlService.selectItem(orderNo, wrkDetl.getMatnr(), wrkDetl.getBatch()); + if (orderDetl == null) { + orderDetl = orderDetlService.selectItem(orderNo, wrkDetl.getMatnr(), null); + if (orderDetl == null) { + log.error("ww"); + return wrkDetlsNew; + } + } + if (orderDetl.getAnfme() <= anfme) { + WrkDetl wrkDetl1 = new WrkDetl(); + wrkDetl1.sync(wrkDetl); + wrkDetl1.setOrderNo(orderNo); + wrkDetl1.setAnfme(anfme); + wrkDetlsNew.add(wrkDetl1); + anfme = anfme - orderDetl.getAnfme(); + } else { + WrkDetl wrkDetl1 = new WrkDetl(); + wrkDetl1.sync(wrkDetl); + wrkDetl1.setOrderNo(orderNo); + wrkDetl1.setAnfme(anfme); + wrkDetlsNew.add(wrkDetl1); + } + } + }else { + wrkDetlsNew.add(wrkDetl); + } + } + return wrkDetlsNew; + } + + private static String[] GetOrderNo(String orderNo) { + String[] s3 = orderNo.split("\""); + String[] s = new String[(s3.length - 1) / 6]; + if (!Cools.isEmpty(s3)){ + int i = 0; + int j = 0; + for (String ss : s3) { + if (ss.equals("orderNo")) { + s[i] = s3[j + 2]; + i++; + } + j++; + } + }else { + s=null; + } + return s; + } + + private String[] GetAnfme(String orderNo) { + String[] s3 = orderNo.split("\""); + String[] s = new String[(s3.length - 1) / 6]; + int i = 0; + int j = 0; + for (String ss : s3) { + if (ss.equals("anfme")) { + String[] s4 = s3[j + 1].split(":"); + String[] s5 = s4[1].split("\\."); + s[i] = s5[0]; + i++; + } + j++; + } + return s; + } } diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index e517265..c9d2f09 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -60,6 +60,11 @@ } @Override + public List<OrderDetl> selectTotalDetls(Long orderId) { + return orderDetlMapper.selectTotalDetls(orderId); + } + + @Override public boolean updateSettle(Long orderId, Long settle, Long userId) { return this.baseMapper.updateSettle(orderId, settle, userId) > 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 7556f76..3218390 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -1664,7 +1664,7 @@ for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())){ String[] orderNos = GetOrderNo(wrkDetl.getOrderNo()); - if (!Cools.isEmpty(orderNos)){ + if (!Cools.isEmpty(orderNos) && orderNos.length!=0){ String[] anfmes = GetAnfme(wrkDetl.getOrderNo()); int i = 0; for (String orderNo : orderNos) { diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml index a189fc4..46097bb 100644 --- a/src/main/resources/mapper/OrderDetlMapper.xml +++ b/src/main/resources/mapper/OrderDetlMapper.xml @@ -82,6 +82,12 @@ and qty < anfme </select> + <select id="selectTotalDetls" resultMap="BaseResultMap"> + select * from man_order_detl + where 1=1 + and order_id = #{orderId} + </select> + <sql id="pakOutPageCondition"> <if test="order_id!=null and order_id!='' "> and mod.order_id = #{order_id} diff --git a/src/main/webapp/views/wrkMast/wrkDetl.html b/src/main/webapp/views/wrkMast/wrkDetl.html index af87049..132a439 100644 --- a/src/main/webapp/views/wrkMast/wrkDetl.html +++ b/src/main/webapp/views/wrkMast/wrkDetl.html @@ -71,6 +71,7 @@ statusCode: 200 }, done: function(res, curr, count) { + console.log(res) if (res.code === 403) { top.location.href = baseUrl+"/"; } -- Gitblit v1.9.1