From b011b1368c2f8813ef2684a4a63914e6e59b5e15 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 05 六月 2025 17:06:51 +0800 Subject: [PATCH] DO单优化 出库单优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 38 insertions(+), 14 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java index 819b08a..e7707b9 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockItemServiceImpl.java @@ -4,12 +4,17 @@ import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import com.alibaba.fastjson.JSONObject; 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.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; -import com.vincent.rsf.server.api.entity.enums.OrderType; -import com.vincent.rsf.server.api.entity.enums.OrderWorkType; +import com.vincent.rsf.server.manager.entity.excel.OutStockTemplate; +import com.vincent.rsf.server.manager.enums.OrderType; +import com.vincent.rsf.server.manager.enums.OrderWorkType; +import com.vincent.rsf.server.common.domain.BaseParam; +import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.common.utils.CommonUtil; import com.vincent.rsf.server.common.utils.ExcelUtil; import com.vincent.rsf.server.common.utils.FieldsUtils; @@ -84,20 +89,27 @@ return true; } + /** + * @author Ryan + * @description 鍑哄簱鍗曟ā鏉垮鍏� + * @param + * @return + * @time 2025/4/22 12:40 + */ @Override @Transactional(rollbackFor = Exception.class) public R excelImport(MultipartFile file, HashMap<String, Object> hashMap, Long loginUserId) throws Exception { - ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), AsnOrderTemplate.class, ExcelUtil.getDefaultImportParams()); + ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), OutStockTemplate.class, ExcelUtil.getDefaultImportParams()); if (result.getList().isEmpty()) { throw new CoolException("鐗╂枡瀵煎叆澶辫触锛侊紒"); } if (result.getList().isEmpty()) { throw new CoolException("琛ㄦ牸鍐呭涓嶈兘涓虹┖锛侊紒"); } - List<AsnOrderTemplate> resultList = result.getList(); - Map<String, List<AsnOrderTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(AsnOrderTemplate::getCode)); + List<OutStockTemplate> resultList = result.getList(); + Map<String, List<OutStockTemplate>> listMap = resultList.stream().collect(Collectors.groupingBy(OutStockTemplate::getCode)); for (String key : listMap.keySet()) { - AsnOrderTemplate template = listMap.get(key).stream().findFirst().get(); + OutStockTemplate template = listMap.get(key).stream().findFirst().get(); AsnOrder asnOrder = outStockService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, template.getCode())); if (Objects.isNull(asnOrder)) { continue; @@ -108,14 +120,13 @@ .setMemo(template.getMemo()) .setUpdateBy(loginUserId) .setCreateBy(loginUserId) - .setPoId(Long.parseLong(template.getPoId())) .setType(OrderType.getTypeVal(template.getType())) .setWkType(OrderWorkType.getWorkType(template.getWkType())); if (!outStockService.save(order)) { throw new CoolException("鍗曟嵁淇濆瓨澶辫触锛侊紒"); } List<AsnOrderItem> items = new ArrayList<>(); - for (AsnOrderTemplate orderTemplate : listMap.get(key)) { + for (OutStockTemplate orderTemplate : listMap.get(key)) { AsnOrderItem orderItem = new AsnOrderItem(); Matnr matnr = null; if (!Objects.isNull(orderTemplate.getMatnrCode()) || StringUtils.isNotBlank(orderTemplate.getMatnrCode())) { @@ -126,16 +137,11 @@ .setAsnCode(order.getCode()) .setSplrBatch(orderTemplate.getSplrBatch()) .setAnfme(Double.parseDouble(orderTemplate.getAnfme())) - .setQty(Double.parseDouble(orderTemplate.getQty())) .setSplrName(orderTemplate.getSplrName()) - .setBarcode(orderTemplate.getBarcode()) - .setTrackCode(orderTemplate.getTrackCode()) .setSplrCode(orderTemplate.getSplrCode()) .setPoCode(orderTemplate.getPoCode()) .setMaktx(orderTemplate.getMaktx()) - .setMatnrCode(orderTemplate.getMatnrCode()) - .setPurUnit(orderTemplate.getPurUnit()) - .setPurQty(Double.parseDouble(orderTemplate.getPurQty())); + .setMatnrCode(orderTemplate.getMatnrCode()); if (!Objects.isNull(matnr)) { orderItem.setMaktx(matnr.getName()).setMatnrCode(matnr.getCode()).setMatnrId(matnr.getId()); } @@ -156,4 +162,22 @@ return R.ok("鎿嶄綔鎴愬姛锛侊紒"); } + /** + * @author Ryan + * @description 鑾峰彇Page椤� + * @param + * @return + * @time 2025/4/22 12:39 + */ + @Override + public IPage<Map<String, Object>> listByAsnId(PageParam<AsnOrderItem, BaseParam> pageParam, QueryWrapper<AsnOrderItem> buildWrapper) { + IPage<Map<String, Object>> hsahMap = this.baseMapper.resultForMap(pageParam, buildWrapper); + if (hsahMap.getRecords().isEmpty()) { + return hsahMap.setRecords(new ArrayList<>()); + } + hsahMap.setRecords(FieldsUtils.getExtendFields(hsahMap.getRecords())); + return hsahMap; + + } + } -- Gitblit v1.9.1