From dea9852bb63dd54331819ac18d623143fc086b0c Mon Sep 17 00:00:00 2001 From: zhangchao <zc857179121@qq.com> Date: 星期二, 05 十一月 2024 09:11:57 +0800 Subject: [PATCH] Excel导出优化 --- src/main/java/com/zy/asrs/controller/AgvMobileController.java | 87 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 77 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java index e9fa509..bcd4567 100644 --- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java +++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java @@ -5,10 +5,12 @@ import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; +import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.*; import com.zy.asrs.service.*; +import com.zy.asrs.service.impl.OrderServiceImpl; import com.zy.common.web.BaseController; import io.swagger.models.auth.In; import lombok.Synchronized; @@ -47,6 +49,12 @@ private AgvWrkMastService agvWrkMastService; @Autowired private AgvWrkDetlService agvWrkDetlService; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + @Autowired + private FlowLogService flowLogService; + @Autowired + private OrderServiceImpl orderService; /* @@ -276,6 +284,7 @@ String matnr = params.get("matnr"); String floor = params.get("floor"); + OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", orderNo).eq("three_code", threeCode).eq("matnr", matnr)); Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr); @@ -294,7 +303,7 @@ agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()).notLike("loc_no","F1")); } else { // 濡傛灉鏄姞宸ュ崟 鍙湪 lev1 = 1 鏌ュ簱瀛� - if ("JG".equals(orderNo.substring(0,2))) { + if (orderDetl.getSource().equals(35)) { agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("lev1",1).eq("loc_no", agvLocDetl.getLocNo()).like("loc_no",floor)); } else { agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()).like("loc_no",floor)); @@ -372,9 +381,7 @@ - if((!Cools.eq("F",agvLocMastByContainerCode.getLocSts()) - && !Cools.eq("D",agvLocMastByContainerCode.getLocSts())) - || (!Cools.eq("F",agvLocMastByLocNo.getLocSts()) + if((!Cools.eq("F",agvLocMastByLocNo.getLocSts()) && !Cools.eq("D",agvLocMastByLocNo.getLocSts()))){ return R.error("搴撲綅鐘舵�佷笉涓篎鎴栬�匘锛屾棤娉曠淮鎶�"); @@ -399,6 +406,9 @@ agvLocMastByContainerCode.setBarcode(barcode1); agvLocMastService.updateById(agvLocMastByContainerCode); } + // 淇濆瓨璋冩暣璁板綍 + AdjDetl adjDetl = new AdjDetl(); + return R.ok("缁存姢鎴愬姛"); } @@ -427,7 +437,13 @@ } if((listByLocNo == null && listByContainerCode == null) || listByLocNo.equals(listByContainerCode)){ - return R.ok("璇ュ簱浣嶄笌璐ф灦搴撳瓨涓�鑷达紝鏃犻渶缁存姢"); + //agvLocMastByContainerCode.setBarcode(agvLocMastByLocNo.getBarcode()); + //agvLocMastService.updateById(agvLocMastByContainerCode); + + agvLocMastByLocNo.setBarcode(containerCode); + agvLocMastService.updateById(agvLocMastByLocNo); + //return R.ok("璇ュ簱浣嶄笌璐ф灦搴撳瓨涓�鑷达紝鏃犻渶缁存姢"); + return R.ok("缁存姢鎴愬姛"); } @@ -513,6 +529,7 @@ List<HashMap<String,String>> dbList = (List<HashMap<String, String>>) params.get("dbList"); params.get("dbList"); Object mT = params.get("moveType"); + String orderNo = params.get("orderNo").toString(); String moveType = ""; Integer ioType = 0; if (mT.equals("unAuto")) { @@ -540,12 +557,14 @@ } AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), 30,floor); // 鍚屾璋冩嫧鍗� + long flowId = snowflakeIdWorker.nextId(); List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo)); for (AgvLocDetl agvLocDetl : agvLocDetls) { AgvWrkDetl wrkDetl = new AgvWrkDetl(); wrkDetl.setWrkNo(wrkMast.getWrkNo()); wrkDetl.sync(agvLocDetl); wrkDetl.setSuppCode(agvLocDetl.getSuppCode()); + wrkDetl.setModel(orderNo); wrkDetl.setIoTime(now); wrkDetl.setAppeUser(getUserId()); wrkDetl.setAppeTime(now); @@ -555,10 +574,48 @@ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); } // 鏇存柊璁㈠崟 - OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode())); + OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode())); + // 鍒ゆ柇璁㈠崟鏄惁瓒呴噺 + if (orderDetl.getQty() >= orderDetl.getAnfme()) { + throw new CoolException("璋冩嫧鍗�:" + orderNo + "鐨�<" + agvLocDetl.getMatnr() + ">宸插畬鎴愯皟鎷ㄦ暟閲�,璇锋鏌�!"); + } + // FlowLog flowLog = new FlowLog(); +// flowLog.setFid(String.valueOf(flowId)); +// flowLog.setSpare2(wrkMast.getWrkNo().toString()); +// flowLog.setLocNo(wrkMast.getSourceLocNo()); +// flowLog.setSpare1(barcode); +// flowLog.setOpType(5L); +// flowLog.setOrderNo(orderDetl.getOrderNo()); +// flowLog.setThreeCode(orderDetl.getThreeCode()); +// flowLog.setMatnr(agvLocDetl.getMatnr()); +// flowLog.setMaktx(agvLocDetl.getMaktx()); +// flowLog.setOrderPrevious(orderDetl.getAnfme()); +// flowLog.setOrderCurrent(orderDetl.getAnfme()); +// flowLog.setOrderChanged(0.0); +// +// flowLog.setQtyPrevious(orderDetl.getQty()); +// flowLog.setQtyCurrent(orderDetl.getQty() + agvLocDetl.getAnfme()); +// flowLog.setQtyChanged(agvLocDetl.getAnfme()); +// +// flowLog.setLocPrevious(agvLocDetl.getAnfme()); +// flowLog.setLocCurrent(0.0d); +// flowLog.setLocChanged(agvLocDetl.getAnfme()); +// flowLog.setUserId(getUserId()); +// flowLog.setAppeTime(now); +// if (!flowLogService.insert(flowLog)) { +// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触"); +// } orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme()); - if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){ - throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr()); + if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){ + throw new CoolException("璁㈠崟鍙凤細{"+orderNo+"}鏇存柊璁㈠崟鏄庣粏澶辫触锛� 寮傚父鐗╂枡:"+agvLocDetl.getMatnr()+"(鍗婃垚鍝佽皟鎷ㄥ崟浠诲姟)" ); + } + // 鏇存柊璁㈠崟鐘舵�� + Order order = orderService.selectByNo(orderDetl.getOrderNo()); + Long settle = order.getSettle(); + if (settle == 1L) { + if (!orderService.updateSettle(order.getId(),2L,getUserId())) { + throw new CoolException("璁㈠崟鍙凤細{"+order.getOrderNo()+"}鏇存柊璁㈠崟鐘舵�侊細1-->2 澶辫触锛�(鍗婃垚鍝佽皟鎷ㄥ崟浠诲姟)" ); + } } } // 鏇存柊婧愬簱浣� @@ -577,6 +634,7 @@ Date now = new Date(); List<HashMap<String,String>> dbList = (List<HashMap<String, String>>) params.get("dbList"); params.get("dbList"); + String orderNo = params.get("orderNo").toString(); for (HashMap<String, String> map : dbList) { String locNo = map.get("locNo"); String barcode = map.get("suppCode"); @@ -607,10 +665,18 @@ // 鏇存柊璁㈠崟 // 鍏堟煡璇㈠簱璁㈠崟鏄庣粏 鎵�灞炵殑璁㈠崟 - OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("source",36).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode())); + OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",17).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode())); orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme()); - if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("source",36).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){ + if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",17).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){ throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr()); + } + // 鏇存柊璁㈠崟鐘舵�� + Order order = orderService.selectByNo(orderNo); + Long settle = order.getSettle(); + if (settle == 1L) { + if (!orderService.updateSettle(order.getId(),2L,getUserId())) { + throw new CoolException("璁㈠崟鍙凤細{"+order.getOrderNo()+"}鏇存柊璁㈠崟鐘舵�侊細1-->2 澶辫触锛�(鍗婃垚鍝佽皟鎷ㄥ崟浠诲姟)" ); + } } } // 鏇存柊婧愬簱浣� @@ -696,6 +762,7 @@ return R.ok(); } + public static void main(String[] args) { List<AgvLocDetl> agvLocDetls1 = new ArrayList<>(); List<AgvLocDetl> agvLocDetls2 = new ArrayList<>(); -- Gitblit v1.9.1