From 391e56cca8fc835791358ff32e63b1da6574462d Mon Sep 17 00:00:00 2001 From: Ryan <creaycat@gmail.com> Date: 星期四, 03 四月 2025 20:26:31 +0800 Subject: [PATCH] no message --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 157 +++++++++++++++++++++------------------------------- 1 files changed, 63 insertions(+), 94 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java index 31c1b43..df57841 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java @@ -6,6 +6,7 @@ import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.api.controller.params.*; import com.vincent.rsf.server.api.entity.dto.*; +import com.vincent.rsf.server.api.entity.enums.OrderType; import com.vincent.rsf.server.api.entity.enums.OrderWorkType; import com.vincent.rsf.server.api.service.MobileService; import com.vincent.rsf.server.common.config.ConfigProperties; @@ -27,21 +28,18 @@ import com.vincent.rsf.server.system.mapper.TenantMapper; import com.vincent.rsf.server.system.mapper.UserMapper; import com.vincent.rsf.server.system.service.FieldsItemService; -import com.vincent.rsf.server.system.service.FieldsService; import com.vincent.rsf.server.system.service.UserLoginService; import com.vincent.rsf.server.system.utils.SerialRuleUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; -import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -204,7 +202,7 @@ List<ReceiptDetlsDto> receipts = params.getReceipts(); List<WarehouseAreasItem> allOrders = new ArrayList<>(); - double receiptQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getReceiptQty).sum(); + Double receiptQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getReceiptQty).sum(); String asnCode = receipts.stream().findFirst().get().getAsnCode(); @@ -213,7 +211,9 @@ if (Objects.isNull(asnOrder)) { throw new CoolException("鏁版嵁閿欒锛氫富鍗曚笉瀛樺湪锛侊紒"); } - asnOrder.setQty(receiptQty); + /**鏀惰揣鏁伴噺绱姞锛�1. 浼氬嚭瓒呮敹鎯呭喌 2. 浼氭湁鏀惰揣涓嶈冻鎯呭喌*/ + Double rcptedQty = asnOrder.getQty() + receiptQty; + asnOrder.setQty(rcptedQty); if (!asnOrderMapper.updateById(asnOrder)) { throw new CoolException("宸叉敹璐ф暟閲忎慨鏀瑰け璐ワ紒锛�"); @@ -237,40 +237,14 @@ if (Objects.isNull(orderItem)) { throw new CoolException("閫氱煡鍗曟槑缁嗕笉瀛樺湪锛侊紒"); } - if (Objects.isNull(dto.getReceiptQty()) || Double.compare(dto.getReceiptQty(), 0.0) == 0) { - throw new CoolException("鏀惰揣鏁伴噺涓嶈兘涓洪浂锛侊紒"); - } - orderItem.setQty(dto.getReceiptQty()) - .setProdTime(dto.getProdTime()); - - if (asnOrderItemMapper.updateById(orderItem) < 1) { - throw new CoolException("閫氱煡鍗曟槑缁嗘暟閲忎慨鏀瑰け璐ワ紒锛�"); - } - - WarehouseAreasItem item = new WarehouseAreasItem(); -// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// String format = null; -// if (Objects.isNull(dto.getProdTime())) { -// format = dateFormat.format(dto.getProdTime()); +// if (Objects.isNull(dto.getReceiptQty()) || Double.compare(dto.getReceiptQty(), 0.0) == 0) { +// throw new CoolException("鏀惰揣鏁伴噺涓嶈兘涓洪浂锛侊紒"); // } - item.setBarcode(dto.getBarcode()) - .setAreaName(areasItem.getName()) - .setAreaId(areasItem.getId()) - .setProdTime(dto.getProdTime()) - .setWeight(dto.getWeigth()) + Double itemRcptQty = dto.getReceiptQty() + orderItem.getQty(); + orderItem.setQty(itemRcptQty) + .setSplrBatch(dto.getSplrBatch()) .setStockUnit(dto.getStockUnit()) - .setBatch(SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_RECEIPT_BATCH, dto)) - .setAnfme(dto.getReceiptQty()) - .setSplrBtch(dto.getSplrBatch()) - .setMatnrCode(matnr.getCode()) - .setMatnrId(matnr.getId()) - .setMatnrName(matnr.getName()) - //搴撳瓨鍗曚綅涓烘渶灏忓崟浣� - .setUnit(dto.getStockUnit()) - .setStockUnit(dto.getStockUnit()) - .setWeight(matnr.getWeight()) - .setShipperId(matnr.getShipperId()); - //TODO 渚涘簲鍟嗘爣璇嗘湭璁剧疆锛屾爣璇嗙敱PO鍗曚緵搴斿晢缂栫爜杞崲 + .setProdTime(dto.getProdTime()); if (!Objects.isNull(fields)) { if (!Objects.isNull(dto.getExtendFields())) { @@ -289,76 +263,65 @@ .setValue(extendFields.get(key).toString()) .setUuid(uuid16); fieldsItems.add(fieldsItem); - //鍞竴鏍囪瘑鍏ュ簱 - item.setFieldsIndex(uuid16); } }); }); if (!fieldsItemService.saveBatch(fieldsItems)) { throw new CoolException("鎵╁睍瀛楁淇濆瓨澶辫触锛侊紒"); } + orderItem.setFieldsIndex(uuid16); } } + + if (asnOrderItemMapper.updateById(orderItem) < 1) { + throw new CoolException("閫氱煡鍗曟槑缁嗘暟閲忎慨鏀瑰け璐ワ紒锛�"); + } + + WarehouseAreasItem item = new WarehouseAreasItem(); +// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String format = null; +// if (Objects.isNull(dto.getProdTime())) { +// format = dateFormat.format(dto.getProdTime()); +// } + item.setBarcode(dto.getBarcode()) + .setAreaName(areasItem.getName()) + .setAreaId(areasItem.getId()) + .setProdTime(dto.getProdTime()) + .setWeight(dto.getWeigth()) + .setStockUnit(dto.getStockUnit()) + .setBatch(SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_RECEIPT_BATCH, dto)) + .setAnfme(itemRcptQty) + .setSplrBtch(dto.getSplrBatch()) + .setMatnrCode(matnr.getCode()) + .setMatnrId(matnr.getId()) + .setMatnrName(matnr.getName()) + //搴撳瓨鍗曚綅涓烘渶灏忓崟浣� + .setUnit(dto.getStockUnit()) + .setStockUnit(dto.getStockUnit()) + .setWeight(matnr.getWeight()) + .setFieldsIndex(orderItem.getFieldsIndex()) + .setShipperId(matnr.getShipperId()); + //TODO 渚涘簲鍟嗘爣璇嗘湭璁剧疆锛屾爣璇嗙敱PO鍗曚緵搴斿晢缂栫爜杞崲 + + allOrders.add(item); }); if (!warehouseAreasItemService.saveBatch(allOrders)) { throw new CoolException("鏀惰揣澶辫触锛侊紒"); } - - //鑾峰彇閲囪喘鏁伴噺 - double purQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getPurQty).sum(); - - BigDecimal subtract = BigDecimal.valueOf(receiptQty).subtract(BigDecimal.valueOf(purQty)); - //鍒ゆ柇宸叉敹璐ф暟閲忔槸鍚﹀皬浜庣瓑浜庨噰璐暟閲� - if (subtract.compareTo(new BigDecimal("0.0")) <= 0) { - asnOrder.setRleStatus(Short.valueOf("1")); - //鏃ュ織琛ㄦ搷浣� - operateOrderLogs(asnOrder); - } - +// //鑾峰彇閲囪喘鏁伴噺 +// double purQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getPurQty).sum(); +// +// BigDecimal subtract = BigDecimal.valueOf(receiptQty).subtract(BigDecimal.valueOf(purQty)); +// //鍒ゆ柇宸叉敹璐ф暟閲忔槸鍚﹀皬浜庣瓑浜庨噰璐暟閲� +// if (subtract.compareTo(new BigDecimal("0.0")) <= 0) { +// asnOrder.setRleStatus(Short.valueOf("1")); +// //鏃ュ織琛ㄦ搷浣� +// operateOrderLogs(asnOrder); +// } return R.ok("鎿嶄綔鎴愬姛"); } - - /** - * @author Ryan - * @description 鍒犻櫎鍘熶富鍗曞強鏄庣粏锛屽姞鍏ュ巻鍙叉。 - * @param - * @return - * @time 2025/3/19 19:53 - */ - private void operateOrderLogs(AsnOrder asnOrder) { - if (!asnOrderMapper.removeById(asnOrder.getId())) { - throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�"); - } - - AsnOrderLog orderLog = new AsnOrderLog(); - BeanUtils.copyProperties(asnOrder, orderLog); - orderLog.setAsnId(asnOrder.getId()); - - if (!asnOrderLogService.save(orderLog)) { - throw new CoolException("涓诲崟鍘嗗彶妗f坊鍔犲け璐ワ紒锛�"); - } - - List<AsnOrderItemLog> logs = new ArrayList<>(); - List<AsnOrderItem> items = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, asnOrder.getId())); - items.forEach(item -> { - AsnOrderItemLog itemLog = new AsnOrderItemLog(); - BeanUtils.copyProperties(item, itemLog); - itemLog.setAsnItemId(itemLog.getId()) - .setAsnId(item.getAsnId()); - logs.add(itemLog); - }); - - if (!asnOrderItemLogService.saveBatch(logs)) { - throw new CoolException("閫氱煡鍗曟槑缁嗗巻鍙叉。淇濆瓨澶辫触锛侊紒"); - } - - if (asnOrderItemMapper.delete(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, asnOrder.getId())) < 1) { - throw new CoolException("鍘熷崟鎹槑缁嗗垹闄ゅけ璐ワ紒锛�"); - } - } - /** * @author Ryan @@ -612,12 +575,14 @@ /** * 浜哄伐涓婃灦鍏ュ簱 + * * @param params + * @param loginUserId * @return */ @Override @Transactional(rollbackFor = Exception.class) - public R publicToStock(PublicToStockParams params) { + public R publicToStock(PublicToStockParams params, Long loginUserId) { if (Objects.isNull(params.getLocCode()) || StringUtils.isBlank(params.getLocCode())) { throw new CoolException("搴撲綅涓嶈兘涓虹┖锛侊紒"); } @@ -625,7 +590,10 @@ throw new CoolException("鍗曟嵁鏄庣粏涓嶈兘涓虹┖锛侊紒"); } Long OrderId = params.getItemList().stream().findFirst().get().getAsnId(); - AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, OrderId)); + /**鑾峰彇骞冲簱璁㈠崟*/ + AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>() + .eq(AsnOrder::getId, OrderId) + .eq(AsnOrder::getType, OrderType.ORDER_PLAT_IN.type)); if (Objects.isNull(order)) { throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); } @@ -655,6 +623,7 @@ stockItem.setAsnItemId(orderItem.getId()) .setBarcode(orderItem.getBarcode()) .setLocId(loc.getId()) + .setUpdateBy(loginUserId) .setId(null) .setStockId(stock.getId()); stockItems.add(stockItem); @@ -681,7 +650,7 @@ throw new CoolException("鎷栫洏浠诲姟涓嶅瓨鍦紒锛�"); } List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId())); - if (!taskItems.isEmpty()) { + if (taskItems.isEmpty()) { throw new CoolException("鎷栫洏浠诲姟鏄庣粏涓嶅瓨鍦紒锛�"); } TaskQueueDto queueDto = new TaskQueueDto(); -- Gitblit v1.9.1