From 17080b28dc3fb0df12a5a4da76e10dd9203e5725 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期三, 08 十月 2025 11:07:48 +0800 Subject: [PATCH] 订单功能完善 --- src/main/java/com/zy/asrs/controller/OrderController.java | 23 +++++++ src/main/java/com/zy/asrs/service/OrderService.java | 5 + src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 30 +++++++++ src/main/java/com/zy/asrs/task/AutoReportingScheduler.java | 4 src/main/resources/mapper/WrkMastMapper.xml | 2 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 62 ++++++++++---------- src/main/java/com/zy/asrs/task/handler/AutoReportingHandler.java | 2 src/main/java/com/zy/asrs/controller/MatController.java | 11 +++ src/main/java/com/zy/asrs/controller/MobileController.java | 4 src/main/java/com/zy/asrs/entity/result/OrderNameListDto.java | 8 ++ 10 files changed, 111 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java index 53e9135..00b8948 100644 --- a/src/main/java/com/zy/asrs/controller/MatController.java +++ b/src/main/java/com/zy/asrs/controller/MatController.java @@ -13,7 +13,6 @@ import com.zy.asrs.entity.Mat; import com.zy.asrs.entity.MatPrint; import com.zy.asrs.entity.OrderDetl; -import com.zy.asrs.entity.param.EmptyPlateOutParam; import com.zy.asrs.entity.result.KeyValueVo; import com.zy.asrs.service.MatService; import com.zy.asrs.utils.MatExcelListener; @@ -48,6 +47,16 @@ return R.ok().add("YJ" + DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss).substring(0, 16)); } + @RequestMapping(value = "/mat/list/pda/page/auth") + @ManagerAuth + public R pdaListPage(@RequestParam Long tagId, @RequestParam Long curr){ + EntityWrapper<Mat> wrapper = new EntityWrapper<>(); + wrapper.eq("tag_id", tagId); + wrapper.orderBy("create_time", false); + List<Mat> mats = matService.selectList(wrapper); + return R.ok().add(mats); + } + @RequestMapping(value = "/mat/list/pda/auth") @ManagerAuth public R pdaList(@RequestParam(required = true)Long tagId){ diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index 84f7452..e1c309e 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -107,7 +107,7 @@ } else { //鏌ョ湅搴撲綅鏄庣粏涓湁鐨勭墿鏂� List<ManLocDetl> locDetls = manLocDetlMapper.selectList(new EntityWrapper<ManLocDetl>() - .eq("matnr", o.getMatnr()).eq("batch",o.getBatch()) + .eq("matnr", o.getMatnr()).orderBy("modi_time",false) ); if (Cools.isEmpty(locDetls)) { continue; @@ -149,7 +149,7 @@ } for (ManLocDetl l : locDetls ) { - if (o.getMatnr().equals(l.getMatnr()) && o.getBatch().equals(l.getBatch())) { + if (o.getMatnr().equals(l.getMatnr())) { if (o.getAnfme() - o.getWorkQty() >= l.getAnfme()) { } else { diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 695f9c8..4f3a8cc 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.*; @RestController @@ -43,6 +44,28 @@ @Autowired private WrkMastLogService wrkMastLogService; + @RequestMapping(value = "/order/comb/list/all") + @ManagerAuth + public R orderListComb() { + return R.ok(orderService.selectAllCombOrderNo()); + } + + @RequestMapping(value = "/order/list/orderNo") + public R orderListorderNo(@RequestParam String orderNo) { + //鏁伴噺淇敼鎴愪负瀹屾垚鏁伴噺 + List<OrderDetl> orderDetl1 = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo)); + List<OrderDetl> orderDetls= new ArrayList<>(); + for (OrderDetl o: orderDetl1) { + BigDecimal c1 = new BigDecimal(o.getEnableQty()).setScale(2,BigDecimal.ROUND_HALF_UP); + o.setAnfme(c1.doubleValue()); + if (o.getAnfme().equals(0.0)){ + continue; + } + orderDetls.add(o); + } + return R.ok(orderDetls); + } + @RequestMapping(value = "/order/nav/list/auth") @ManagerAuth public R navList(@RequestParam(required = false) String orderNo){ diff --git a/src/main/java/com/zy/asrs/entity/result/OrderNameListDto.java b/src/main/java/com/zy/asrs/entity/result/OrderNameListDto.java new file mode 100644 index 0000000..38028c1 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/result/OrderNameListDto.java @@ -0,0 +1,8 @@ +package com.zy.asrs.entity.result; + +import lombok.Data; + +@Data +public class OrderNameListDto { + private String order_no; +} diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java index 1711cc9..848dadd 100644 --- a/src/main/java/com/zy/asrs/service/OrderService.java +++ b/src/main/java/com/zy/asrs/service/OrderService.java @@ -1,15 +1,18 @@ package com.zy.asrs.service; -import com.zy.asrs.entity.Order; import com.baomidou.mybatisplus.service.IService; +import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.result.OrderNameListDto; import java.util.List; public interface OrderService extends IService<Order> { + List<OrderNameListDto> selectAllCombOrderNo(); + Order selectByNo(String orderNo); List<OrderDetl> selectWorkingDetls(Long orderId); 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 e4c1241..71e8bfb 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -29,10 +29,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.Iterator; -import java.util.List; +import java.util.*; /** * 绉诲姩绔湇鍔℃牳蹇冪被 @@ -223,23 +220,24 @@ SaasUtils.insertLog(0, locNo, waitPakin.getMatnr(), waitPakin.getAnfme(), userId,waitPakin.getBatch()); //鏄惁灞炰簬璁㈠崟鏁版嵁 -// if (!Cools.isEmpty(waitPakin.getOrderNo())){ -// Order order = orderService.selectByNo(waitPakin.getOrderNo(), hostId); -// if (Cools.isEmpty(order)){ -// continue; -// } -// OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch(),hostId); -// if (Cools.isEmpty(orderDetl)){ -// continue; -// } -// // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺 -// if (!orderDetlService.increase(order.getId(), hostId, waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) { -// throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触"); -// } -// // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴� -// orderService.checkComplete(waitPakin.getOrderNo(), hostId); -// -// } + //鏄惁灞炰簬璁㈠崟鏁版嵁 + if (!Cools.isEmpty(waitPakin.getOrderNo())){ + Order order = orderService.selectByNo(waitPakin.getOrderNo()); + if (Cools.isEmpty(order)){ + throw new CoolException("骞冲簱涓婃灦鏌ヨ璁㈠崟澶辫触"); + } + OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch()); + if (Cools.isEmpty(orderDetl)){ + throw new CoolException("骞冲簱涓婃灦鏌ヨ璁㈠崟鏄庣粏澶辫触"); + } + // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺 + if (!orderDetlService.increase(order.getId(),waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) { + throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触"); + } + // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴� + orderService.checkComplete(waitPakin.getOrderNo()); + + } // 鏇存柊鍏ュ簱宸ヤ綔妗� waitPakin.setLocNo(locNo); @@ -294,7 +292,7 @@ Date now = new Date(); // 鏃犲崟缁勬墭 - if (Cools.isEmpty(param.getOrderNo())) { + if (Cools.isEmpty(param.getCombMats().get(0).getOrderNo())) { // 鐢熸垚鍏ュ簱閫氱煡妗� List<DetlDto> detlDtos = new ArrayList<>(); @@ -332,22 +330,22 @@ } // 鍏宠仈缁勬墭 } else { - Order order = orderService.selectByNo(param.getOrderNo()); - if (Cools.isEmpty(order) || order.getSettle() > 2) { - throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�"); - } + // 鐢熸垚鍏ュ簱閫氱煡妗� List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { - + Order order = orderService.selectByNo(elem.getOrderNo()); + if (order.getSettle() > 2) { + throw new CoolException("鍗曟嵁缂栧彿宸插畬鎴愶細" + elem.getOrderNo()); + } // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch()); if (elem.getAnfme() > orderDetl.getEnableQty()) { throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); } - // 淇敼璁㈠崟浣滀笟鏁伴噺 + // 淇敼璁㈠崟鏄庣粏鏁伴噺 if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) { - throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); + throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触"); } DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme()); @@ -356,6 +354,7 @@ assert one != null; one.setAnfme(one.getAnfme() + detlDto.getAnfme()); } else { + detlDto.setOrderNo(order.getOrderNo()); detlDtos.add(detlDto); } }); @@ -364,6 +363,9 @@ if (Cools.isEmpty(mat)) { throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); } + + Order order = orderService.selectByNo(detlDto.getOrderNo()); + WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿 @@ -379,8 +381,8 @@ if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } + orderService.updateSettle(order.getId(), 2L, userId); } - orderService.updateSettle(order.getId(), 2L, userId); } } 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 e5ac684..e18d9aa 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -1,6 +1,7 @@ package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SnowflakeIdWorker; @@ -8,10 +9,10 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.OpenOrderPakinParam; import com.zy.asrs.entity.param.OpenOrderPakoutParam; +import com.zy.asrs.entity.result.OrderNameListDto; import com.zy.asrs.mapper.OrderDetlMapper; import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.service.*; -import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.common.model.DetlDto; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -37,6 +38,31 @@ private DocTypeService docTypeService; @Autowired private WrkDetlService wrkDetlService; + + @Override + public List<OrderNameListDto> selectAllCombOrderNo() { + List<Order> list = this.selectList(new EntityWrapper<Order>().orderBy("create_time",false)); + if (Cools.isEmpty(list)){ + return null; + } + ArrayList<OrderNameListDto> orderNameListDtos = new ArrayList<>(); + for (Order order :list){ + DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_id", order.getDocType())); + + if (order.getSettle() >= 4) { + continue; + } + + if (docType.getPakin() == 1){ + OrderNameListDto orderNameListDto = new OrderNameListDto(); + orderNameListDto.setOrder_no(order.getOrderNo()); + orderNameListDtos.add(orderNameListDto); + } + } + + return orderNameListDtos; + + } @Override public Order selectByNo(String orderNo) { @@ -74,7 +100,7 @@ //褰撹璁㈠崟鏄庣粏鏁伴噺==瀹屾垚鏁伴噺涓�>涓婃姤鏁伴噺锛屼笂鎶ョ姸鎬佷负 鍚� 鎴栬�� 鏄� 鏃堕兘鏀规垚绛夊緟涓婃姤锛屽畾鏃跺櫒杞绛夊緟涓婃姤杩涜涓婃姤 for (OrderDetl orderDetl : orderDetls) { if (Objects.equals(orderDetl.getAnfme(), orderDetl.getQty())&& - orderDetl.getQty()>orderDetl.getUnits() + orderDetl.getQty()>(orderDetl.getUnits() == null ? 0 : orderDetl.getUnits()) &&orderDetl.getInspect()<2) { orderDetl.setInspect(2);//绛夊緟涓婃姤 diff --git a/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java b/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java index a456eac..a2a7415 100644 --- a/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoReportingScheduler.java @@ -27,8 +27,8 @@ @Resource private AutoReportingHandler autoReportingHandler; - @Scheduled(cron = "0 0/10 * * * ? ") -// @Scheduled(cron = "0/3 * * * * ? ") +// @Scheduled(cron = "0 0/10 * * * ? ") + @Scheduled(cron = "0/3 * * * * ? ") void execute() { List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("inspect", 2)); if (Cools.isEmpty(orderDetls)) { diff --git a/src/main/java/com/zy/asrs/task/handler/AutoReportingHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoReportingHandler.java index b4f80d8..f9e7cd0 100644 --- a/src/main/java/com/zy/asrs/task/handler/AutoReportingHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AutoReportingHandler.java @@ -110,7 +110,7 @@ .setJson(JSON.toJSONString(orderRsult)) .build() .doPost(); - log.info("璁㈠崟鏄庣粏瀹屾垚涓婃姤u8鍘熷杩斿洖锛歿}", response); + log.info("orderNo:{},matnr:{},qty:{}璁㈠崟鏄庣粏瀹屾垚涓婃姤u8鍘熷杩斿洖锛歿}",orderNo ,orderDetl.getMatnr() ,qty , response); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml index cc284f3..97de812 100644 --- a/src/main/resources/mapper/WrkMastMapper.xml +++ b/src/main/resources/mapper/WrkMastMapper.xml @@ -70,7 +70,7 @@ select * from asr_wrk_mast where wrk_sts=5 or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp)) - or (wrk_sts=15 and dateadd(mi,3,crn_end_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp)) + or (wrk_sts=15 and dateadd(mi,1,crn_end_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp)) or (wrk_sts=15 and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp)) order by io_time,wrk_no asc </select> -- Gitblit v1.9.1