From 0b190d8a9aad67aa521ec163b437c59f6e63c400 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 17 七月 2025 14:04:27 +0800 Subject: [PATCH] 盘点单下发功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java | 67 ++++++++++++--------------------- 1 files changed, 25 insertions(+), 42 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java index 22ee73d..4a033b9 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java @@ -10,21 +10,20 @@ import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.server.manager.entity.WkOrder; +import com.vincent.rsf.server.manager.entity.WkOrderItem; 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; -import com.vincent.rsf.server.manager.entity.AsnOrder; import com.vincent.rsf.server.manager.entity.Companys; import com.vincent.rsf.server.manager.entity.Matnr; import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate; import com.vincent.rsf.server.manager.enums.CompanysType; import com.vincent.rsf.server.manager.enums.QlyIsptResult; import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper; -import com.vincent.rsf.server.manager.entity.AsnOrderItem; import com.vincent.rsf.server.manager.service.AsnOrderItemService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vincent.rsf.server.manager.service.AsnOrderService; @@ -46,7 +45,7 @@ import java.util.stream.Collectors; @Service("asnOrderItemService") -public class AsnOrderItemServiceImpl extends ServiceImpl<AsnOrderItemMapper, AsnOrderItem> implements AsnOrderItemService { +public class AsnOrderItemServiceImpl extends ServiceImpl<AsnOrderItemMapper, WkOrderItem> implements AsnOrderItemService { @Autowired private AsnOrderService asnOrderMapper; @@ -73,7 +72,7 @@ if (Objects.isNull(orders) || orders.isEmpty()) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - List<AsnOrderItem> items = this.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, orders)); + List<WkOrderItem> items = this.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getId, orders)); if (items.isEmpty()) { throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); } @@ -96,9 +95,6 @@ public synchronized R excelImport(MultipartFile file, HashMap<String, Object> hashMap, Long loginUserId) throws Exception { ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), AsnOrderTemplate.class, ExcelUtil.getDefaultImportParams()); if (result.getList().isEmpty()) { - throw new CoolException("鐗╂枡瀵煎叆澶辫触锛侊紒"); - } - if (result.getList().isEmpty()) { throw new CoolException("琛ㄦ牸鍐呭涓嶈兘涓虹┖锛侊紒"); } List<AsnOrderTemplate> resultList = result.getList(); @@ -109,12 +105,12 @@ throw new CoolException("鍗曞彿涓嶈兘涓虹┖锛侊紒"); } AsnOrderTemplate template = listMap.get(key).stream().findFirst().get(); - AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, key)); + WkOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getCode, key)); if (!Objects.isNull(order)) { sbFaild.append(template.getCode()).append(",宸叉坊鍔狅紒锛�"); throw new CoolException(sbFaild.toString()); } - order = new AsnOrder(); + order = new WkOrder(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = dateFormat.parse(template.getArrTime()); if (Objects.isNull(date)) { @@ -141,9 +137,9 @@ if (!asnOrderMapper.save(order)) { throw new CoolException("鍗曟嵁淇濆瓨澶辫触锛侊紒"); } - List<AsnOrderItem> items = new ArrayList<>(); + List<WkOrderItem> items = new ArrayList<>(); for (AsnOrderTemplate orderTemplate : listMap.get(key)) { - AsnOrderItem orderItem = new AsnOrderItem(); + WkOrderItem orderItem = new WkOrderItem(); if (StringUtils.isBlank(orderTemplate.getMatnrCode())) { throw new CoolException(orderTemplate.getCode() + "锛氱墿鏂欑紪鐮佷笉鑳戒负绌猴紒锛�"); } @@ -164,8 +160,8 @@ throw new CoolException(sbFaild.toString()); } String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, matnr); - orderItem.setAsnId(order.getId()) - .setAsnCode(order.getCode()) + orderItem.setOrderId(order.getId()) + .setOrderCode(order.getCode()) .setSplrBatch(orderTemplate.getSplrBatch()) .setPlatItemId(orderTemplate.getPlatItemId()) .setAnfme(Double.parseDouble(orderTemplate.getAnfme())) @@ -206,11 +202,11 @@ } if (!items.isEmpty()) { // double qty = items.stream().mapToDouble(AsnOrderItem::getQty).sum(); - double anfme = items.stream().mapToDouble(AsnOrderItem::getAnfme).sum(); - if (!asnOrderMapper.update(new LambdaUpdateWrapper<AsnOrder>() + double anfme = items.stream().mapToDouble(WkOrderItem::getAnfme).sum(); + if (!asnOrderMapper.update(new LambdaUpdateWrapper<WkOrder>() // .set(AsnOrder::getQty, qty) - .set(AsnOrder::getAnfme, anfme) - .eq(AsnOrder::getId, order.getId()))) { + .set(WkOrder::getAnfme, anfme) + .eq(WkOrder::getId, order.getId()))) { throw new CoolException("鍗曟嵁鏁伴噺淇敼澶辫触锛侊紒"); } } @@ -230,40 +226,26 @@ @Override @Transactional(rollbackFor = Exception.class) public boolean fieldsSave(Map<String, Object> params, Long loginUserId) { - AsnOrderItem asnOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), AsnOrderItem.class); - asnOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId); -// if (StringUtils.isBlank(asnOrderItem.getTrackCode())) { -// String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, asnOrderItem); -// asnOrderItem.setTrackCode(ruleCode).setBarcode(ruleCode); -// } - if (StringUtils.isNoneBlank(asnOrderItem.getSplrCode())) { + WkOrderItem wkOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), WkOrderItem.class); + if (StringUtils.isNoneBlank(wkOrderItem.getSplrCode())) { Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>() - .eq(Companys::getId, asnOrderItem.getSplrCode()) + .eq(Companys::getId, wkOrderItem.getSplrCode()) .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val)); if (!Objects.isNull(companys)) { - asnOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName()); + wkOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName()); } } - if (Objects.isNull(asnOrderItem.getAnfme()) || Double.compare(asnOrderItem.getAnfme(), 0.0) <= 0) { + if (Objects.isNull(wkOrderItem.getAnfme()) || Double.compare(wkOrderItem.getAnfme(), 0.0) <= 0) { throw new CoolException("璁″垝鏁颁笉鑳戒负绌猴紒锛�"); } -// if (StringUtils.isBlank(asnOrderItem.getSplrBatch())) { -// throw new CoolException("渚涘簲鍟嗘壒娆′笉鑳戒负绌猴紒锛�"); -// } //淇濆瓨鎵╁睍瀛楁 try { StringBuffer sb = new StringBuffer(); - if (Objects.isNull(asnOrderItem.getFieldsIndex()) || StringUtils.isBlank(asnOrderItem.getFieldsIndex())) { - if (!Objects.isNull(asnOrderItem.getExtendFields()) && !asnOrderItem.getExtendFields().isEmpty()) { - Map<String, String> fields = asnOrderItem.getExtendFields(); - asnOrderItem.getExtendFields().keySet().forEach(key -> { - sb.append(fields.get(key)); - }); - } - sb.append(asnOrderItem.getAsnCode() + asnOrderItem.getMatnrId() + asnOrderItem.getSplrBatch() + asnOrderItem.getIsptResult$()); + if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) { + sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch() ); //鑾峰彇16浣島uid String uuid16 = Cools.md5Chinese(sb.toString()); - asnOrderItem.setFieldsIndex(uuid16); + wkOrderItem.setFieldsIndex(uuid16); params.put("index", uuid16); } //淇濆瓨鎴栨洿鏂板姩鎬佸瓧娈靛�� @@ -271,14 +253,15 @@ } catch (Exception e) { throw new RuntimeException(e); } - if (!this.saveOrUpdate(asnOrderItem)) { + wkOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId); + if (!this.saveOrUpdate(wkOrderItem)) { throw new CoolException("鏀惰揣閫氱煡鍗曟槑缁嗕繚瀛樺け璐ワ紒锛�"); } return true; } @Override - public IPage<Map<String, Object>> listByAsnId(PageParam<AsnOrderItem, BaseParam> pageParam, QueryWrapper<AsnOrderItem> buildWrapper) { + public IPage<Map<String, Object>> listByAsnId(PageParam<WkOrderItem, BaseParam> pageParam, QueryWrapper<WkOrderItem> buildWrapper) { IPage<Map<String, Object>> hsahMap = this.baseMapper.resultForMap(pageParam, buildWrapper); if (hsahMap.getRecords().isEmpty()) { return hsahMap.setRecords(new ArrayList<>()); -- Gitblit v1.9.1