From 3e7ddfed8f28fda861710fda62cb485e393244c5 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 12 五月 2025 08:13:48 +0800 Subject: [PATCH] no message --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java | 91 +++++++++++++++++++++++++++++++-------------- 1 files changed, 62 insertions(+), 29 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java index e826e7f..1ca78d1 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java @@ -1,22 +1,18 @@ package com.vincent.rsf.server.manager.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.manager.controller.params.IsptOrderParam; import com.vincent.rsf.server.manager.controller.params.QlyInspectAndItem; -import com.vincent.rsf.server.manager.entity.AsnOrder; -import com.vincent.rsf.server.manager.entity.AsnOrderItem; -import com.vincent.rsf.server.manager.entity.QlyIsptItem; +import com.vincent.rsf.server.manager.entity.*; +import com.vincent.rsf.server.manager.enums.QlyIsptResult; import com.vincent.rsf.server.manager.enums.QlyIsptStatus; import com.vincent.rsf.server.manager.mapper.QlyInspectMapper; -import com.vincent.rsf.server.manager.entity.QlyInspect; -import com.vincent.rsf.server.manager.service.AsnOrderItemService; -import com.vincent.rsf.server.manager.service.AsnOrderService; -import com.vincent.rsf.server.manager.service.QlyInspectService; +import com.vincent.rsf.server.manager.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.vincent.rsf.server.manager.service.QlyIsptItemService; import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.system.utils.SerialRuleUtils; import org.apache.commons.lang3.StringUtils; @@ -42,6 +38,12 @@ @Autowired private QlyIsptItemService qlyIsptItemService; + + @Autowired + private CompanysService companysService; + + @Autowired + private WarehouseAreasItemService warehouseAreasItemService; @Override public List<AsnOrderItem> listByAsn(Map<String, Object> map) { @@ -103,12 +105,18 @@ * @time 2025/3/31 10:12 */ @Override - public List<AsnOrder> getUnInspect(Map<String, Object> params) { - List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>() - .eq(AsnOrder::getStatus, 1) - .eq(!Objects.isNull(params.get("asnCode")), AsnOrder::getCode, !Objects.isNull(params.get("asnCode")) ? params.get("asnCode").toString() : "") - .eq(AsnOrder::getNtyStatus, 0)); - return asnOrders; + public List<WarehouseAreasItem> getUnInspect(Map<String, String> params) { + String code = params.get("asnCode"); + List<WarehouseAreasItem> warehouseAreasItems = warehouseAreasItemService + .list(new QueryWrapper<WarehouseAreasItem>() + .select("asn_id as id, SUM(anfme) anfme, SUM(qty) qty, area_id, area_name, asn_code, asn_id, splr_id, splr_batch") + .eq(StringUtils.isNotBlank(code), "asn_code", code) + .lambda() + .isNull(WarehouseAreasItem::getIsptResult) + .lt(WarehouseAreasItem::getWorkQty, 1) + .lt(WarehouseAreasItem::getQty, 1) + .groupBy(WarehouseAreasItem::getAsnCode)); + return warehouseAreasItems; } /** @@ -125,15 +133,18 @@ if (Objects.isNull(param.getIds()) || param.getIds().isEmpty()) { throw new CoolException("鍗曟嵁ID涓嶈兘涓虹┖锛侊紒"); } - List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()).eq(AsnOrder::getNtyStatus, 0)); + List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds())); if (asnOrders.isEmpty()) { throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); } - List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, param.getIds())); - if (orderItems.isEmpty()) { - throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); - } - Map<Long, List<AsnOrderItem>> listMap = orderItems.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId)); +// List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, param.getIds())); +// if (orderItems.isEmpty()) { +// throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); +// } + + List<WarehouseAreasItem> orderItems = warehouseAreasItemService.list(new LambdaQueryWrapper<WarehouseAreasItem>() + .in(WarehouseAreasItem::getAsnId, param.getIds())); + Map<Long, List<WarehouseAreasItem>> listMap = orderItems.stream().collect(Collectors.groupingBy(WarehouseAreasItem::getAsnId)); for (AsnOrder asnOrder : asnOrders) { QlyInspect inspect = new QlyInspect(); String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_CODE, null); @@ -147,23 +158,26 @@ .setAsnId(asnOrder.getId()) .setAsnCode(asnOrder.getCode()); /**鑾峰彇鍗曟嵁鏄庣粏*/ - List<AsnOrderItem> asnOrderItems = listMap.get(asnOrder.getId()); + List<WarehouseAreasItem> asnOrderItems = listMap.get(asnOrder.getId()); if (Objects.isNull(asnOrderItems) || asnOrderItems.isEmpty()) { continue; } - double rcptQty = asnOrderItems.stream().mapToDouble(AsnOrderItem::getQty).sum(); - double anfme = asnOrderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum(); - inspect.setRcptQty(rcptQty).setDlyQty(anfme); + double anfme = asnOrderItems.stream().mapToDouble(WarehouseAreasItem::getAnfme).sum(); + inspect.setRcptQty(anfme); if (!this.save(inspect)) { throw new CoolException("鍗曟嵁" + asnOrder.getCode() + "淇濆瓨澶辫触锛侊紒"); } List<QlyIsptItem> items = new ArrayList<>(); - for (AsnOrderItem orderItem : asnOrderItems) { + for (WarehouseAreasItem orderItem : asnOrderItems) { QlyIsptItem isptItem = new QlyIsptItem(); BeanUtils.copyProperties(orderItem, isptItem); isptItem.setAsnItemId(orderItem.getId()) .setIspectId(inspect.getId()) - .setRcptQty(orderItem.getQty()) + .setRcptQty(orderItem.getAnfme()) + .setAnfme(0.0) + .setFieldsIndex(orderItem.getFieldsIndex()) + .setSplrBatch(orderItem.getSplrBatch()) + .setSplrName(orderItem.getSplrId$()) .setCreateBy(loginUserId) .setDlyQty(orderItem.getAnfme()); items.add(isptItem); @@ -172,9 +186,28 @@ throw new CoolException("鏄庣粏淇濆瓨澶辫触锛侊紒"); } } - if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()).set(AsnOrder::getNtyStatus, 1))) { - throw new CoolException("鎶ユ鐘舵�佷慨鏀瑰け璐ワ紒锛�"); - } +// if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().in(AsnOrder::getId, param.getIds()))) { +// throw new CoolException("鎶ユ鐘舵�佷慨鏀瑰け璐ワ紒锛�"); +// } return R.ok("淇濆瓨鎴愬姛锛侊紒"); } + + @Override + public boolean qlySave(QlyInspect qlyInspect) { + String code = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_CODE, qlyInspect); + if (Objects.isNull(code) || StringUtils.isBlank(code)) { + throw new CoolException("缂栫爜瑙勫垯閿欒锛�" + "璇锋鏌ョ紪鐮侊細" + "銆孲YS_INSPECT_CODE銆�" + "鏄惁璁剧疆鎴愬姛锛侊紒"); + } + qlyInspect.setCode(code); + if (Objects.isNull(qlyInspect.getAsnCode()) || StringUtils.isBlank(qlyInspect.getAsnCode())) { + throw new CoolException("鏀惰揣鍗曞彿涓嶈兘涓虹┖锛侊紒"); + } + AsnOrder asnOrder = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, qlyInspect.getAsnCode())); + if (Objects.isNull(asnOrder)) { + throw new CoolException("鏀惰揣鍗曚笉瀛樺湪锛侊紒"); + } + qlyInspect.setAsnCode(asnOrder.getCode()).setAsnId(asnOrder.getId()); + + return this.save(qlyInspect); + } } -- Gitblit v1.9.1