From c46d1d8c3b9875f051a6ec3c4a1d3fa7bd32e5db Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 15 五月 2025 17:15:21 +0800 Subject: [PATCH] 新增库存管理 新增库存明细 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java | 80 +++++++++++++++++++++++++--------------- 1 files changed, 50 insertions(+), 30 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java index d78953b..66440f7 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java @@ -16,6 +16,7 @@ import com.vincent.rsf.server.manager.service.QlyInspectService; import com.vincent.rsf.server.manager.service.QlyIsptItemService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -106,28 +107,28 @@ throw new CoolException("鍗曟嵁鏄庣粏鏁伴噺淇敼澶辫触锛侊紒"); } - WarehouseAreasItem orderItem = warehouseAreasItemService.getById(item.getRcptId()); - if (Objects.isNull(orderItem)) { - throw new CoolException("鏀惰揣鍗曟嵁涓嶅瓨鍦紒锛�"); - } +// WarehouseAreasItem orderItem = warehouseAreasItemService.getById(item.getRcptId()); +// if (Objects.isNull(orderItem)) { +// throw new CoolException("鏀惰揣鍗曟嵁涓嶅瓨鍦紒锛�"); +// } - Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty(); - Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty(); - - Double sum = disQty + safeQty; - orderItem.setIsptQty(sum); - - if (sum.compareTo(0.0) > 0) { - if (!warehouseAreasItemService.updateById(orderItem)) { - throw new CoolException("鏀惰揣鍖哄簱瀛樹俊鎭洿鏂板け璐ワ紒锛�"); - } - - if (Objects.isNull(orderItem.getIsptResult())) { - operateReceipt(item, orderItem); - } else { - - } - } +// Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty(); +// Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty(); +// +// Double sum = disQty + safeQty; +// orderItem.setIsptQty(sum); +// +// if (sum.compareTo(0.0) > 0) { +// if (!warehouseAreasItemService.updateById(orderItem)) { +// throw new CoolException("鏀惰揣鍖哄簱瀛樹俊鎭洿鏂板け璐ワ紒锛�"); +// } +// //鏂板缓璐ㄦ鍗曪紝涓嶄細鏈夎川妫�缁撴灉 +// confirmReceipt(item, orderItem); +// +//// if (Objects.isNull(orderItem.getIsptResult())) { +//// operateReceipt(item, orderItem); +//// } +// } } Set<Long> isptIds = isptItem.stream().map(QlyIsptItem::getIspectId).collect(Collectors.toSet()); @@ -141,7 +142,6 @@ .eq(QlyInspect::getId, isptItem.stream().findFirst().get().getIspectId())); } -// qlyIsptItemService.pageByIsptResult(null, new QueryWrapper<QlyIsptItem>()) return true; } @@ -151,50 +151,70 @@ * @description: 璐ㄦ鍚庝慨鏀规敹璐у尯瀛樹俊鎭� * @version 1.0 */ - private void operateReceipt(QlyIsptItem item, WarehouseAreasItem orderItem) { + @Transactional(rollbackFor = Exception.class) + public void confirmReceipt(QlyIsptItem item, WarehouseAreasItem orderItem) { Double disQty = Objects.isNull(item.getDisQty()) ? 0 : item.getDisQty(); Double safeQty = Objects.isNull(item.getSafeQty()) ? 0 : item.getSafeQty(); Double sum = disQty + safeQty; if (sum.compareTo(orderItem.getAnfme()) >= 0) { //瀹屾垚璐ㄦ,鍋氭洿鏂版搷浣� if (safeQty.compareTo(0.0) > 0) { - orderItem.setIsptQty(safeQty); + orderItem.setIsptQty(safeQty).setAnfme(safeQty); orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val); if (!warehouseAreasItemService.updateById(orderItem)) { throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�"); } } + WarehouseAreasItem areasItem = new WarehouseAreasItem(); + BeanUtils.copyProperties(orderItem, areasItem); if (disQty.compareTo(0.0) > 0) { - orderItem.setIsptQty(disQty) + areasItem.setIsptQty(disQty) + .setAnfme(disQty) .setId(null) .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val); - if (!warehouseAreasItemService.saveOrUpdate(orderItem)) { + if (!warehouseAreasItemService.saveOrUpdate(areasItem)) { throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�"); } } } else { + orderItem.setAnfme(orderItem.getAnfme() - sum); + if (!warehouseAreasItemService.updateById(orderItem)) { + throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�"); + } + + WarehouseAreasItem areasItem = new WarehouseAreasItem(); + BeanUtils.copyProperties(orderItem, areasItem); //鏈畬鎴愬仛娣诲姞鎿嶄綔 if (safeQty.compareTo(0.0) > 0) { - orderItem.setIsptQty(safeQty) + areasItem.setIsptQty(safeQty) + .setAnfme(safeQty) .setId(null) .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val); - if (!warehouseAreasItemService.saveOrUpdate(orderItem)) { + if (!warehouseAreasItemService.saveOrUpdate(areasItem)) { throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�"); } } + WarehouseAreasItem items = new WarehouseAreasItem(); + BeanUtils.copyProperties(orderItem, items); if (disQty.compareTo(0.0) > 0) { - orderItem.setIsptQty(disQty) + items.setIsptQty(disQty) + .setAnfme(disQty) .setId(null) .setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val); - if (!warehouseAreasItemService.saveOrUpdate(orderItem)) { + if (!warehouseAreasItemService.saveOrUpdate(items)) { throw new CoolException("鏀惰揣鍖哄簱瀛樻槑缁嗘洿鏂板け璐ワ紒锛�"); } } } } + @Override + public List<QlyIsptItem> selectIsptResult(LambdaQueryWrapper<QlyIsptItem> eq) { + return this.baseMapper.selectIsptResult(eq); + } + /** * @author Ryan * @date 2025/5/12 -- Gitblit v1.9.1