diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java index 840a2192..d2e81514 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java @@ -167,17 +167,14 @@ public class InCostCenterBackController extends BaseController { .filter(item -> item.getLeft().compareTo(BigDecimal.ZERO) > 0) .map(item -> { OutProduceItemVO vo = new OutProduceItemVO() - .setLgort2(item.getLgort()) + .setId(item.getId()) + .setLgort2(order.getLgort()) .setLgpbe(item.getLgpbe()) .setMaktx2(item.getMaktx()) .setMatnr(item.getMatnr()) .setNum(item.getLeft()); if (StrUtil.isBlank(vo.getLgort2())) { - String warehouseNo = storageService.getWarehouseNo(order.getWerks(), item.getMatnr()); - if (StrUtil.isBlank(warehouseNo)) { - warehouseNo = order.getLgort(); - } - vo.setLgort2(warehouseNo); + vo.setLgort2(storageService.getWarehouseNo(order.getWerks(), item.getMatnr())); } if (StrUtil.isNotBlank(vo.getLgort2()) && StrUtil.isBlank(vo.getLgpbe())) { vo.setLgpbe(StrUtil.join("/", storageService.getBinNos(item.getMatnr(), order.getWerks(), vo.getLgort2()))); @@ -193,7 +190,7 @@ public class InCostCenterBackController extends BaseController { */ @Transactional @PostMapping("pda/submit") - public ApiResult submit(@Valid @RequestBody OutProduceSubmitQO request) { + public ApiResult submit(@Valid @RequestBody InCostcenterBackSubmitQO request) { WmsInCostcenterBack order = inCostcenterBackService.lambdaQuery().eq(WmsInCostcenterBack::getNo, request.getNo()).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); VUtil.trueThrowBusinessError(Objects.equals(order.getState(), 2)).throwMessage("该订单已完成"); @@ -201,47 +198,45 @@ public class InCostCenterBackController extends BaseController { .setId(IdUtil.getSnowflakeNextId()) .setNo(NoUtil.getOutProduceTicketNo()) .setOrderId(order.getId()) + .setLgort(request.getLgort()) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); List datas = inCostcenterBackItemService.getList(order.getId()); List records = new ArrayList<>(); List dtos = new ArrayList<>(); List ticketItems = new ArrayList<>(); - request.getQrCodes().forEach(qrCode -> { - MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode); - dtos.add(qrCodeContent); - String materialNo = qrCodeContent.getMaterialNo(); - WmsInCostcenterBackItem item = datas.stream().filter(d -> StrUtil.equals(d.getMatnr(), materialNo)).findFirst().orElse(null); - VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要退料"); - WmsInCostcenterBackTicketItem pti = ticketItems.stream() - .filter(ti -> Objects.equals(ti.getOrderItemId(), item.getId())) - .findFirst() - .orElseGet(() -> { - WmsInCostcenterBackTicketItem ti = new WmsInCostcenterBackTicketItem() - .setId(IdUtil.getSnowflakeNextId()) - .setTicketId(ticket.getId()) - .setOrderItemId(item.getId()) - .setNum(BigDecimal.ZERO); - ticketItems.add(ti); - return ti; - }); - item.setLeft(item.getLeft().subtract(qrCodeContent.getNum())); - VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) - .throwMessage("物料" + materialNo + "的入库数量超出申请数量"); - pti.setNum(pti.getNum().add(qrCodeContent.getNum())); - records.add(new InMaterialScanRecord() - .setSource(2) - .setSourceId(item.getId()) - .setTicketItemId(pti.getId()) - .setMaterialNo(materialNo) - .setContent(qrCode) - .setBatchNo(qrCodeContent.getBatchNo()) - .setSerialNo(qrCodeContent.getSerialNo()) - .setUniqNo(qrCodeContent.getUniqNo()) - .setNum(qrCodeContent.getNum()) - .setCreateBy(UserUtil.getUserName()) - .setCreateTime(Instant.now()) - ); + request.getItems().forEach(it -> { + WmsInCostcenterBackItem item = datas.stream().filter(d -> Objects.equals(it.getOrderItemId(), d.getId())).findFirst().orElse(null); + VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("订单项无效"); + WmsInCostcenterBackTicketItem ti = new WmsInCostcenterBackTicketItem() + .setId(IdUtil.getSnowflakeNextId()) + .setTicketId(ticket.getId()) + .setOrderItemId(item.getId()) + .setLgpbe(StrUtil.join(",", it.getLgpbe())) + .setNum(BigDecimal.ZERO); + ticketItems.add(ti); + it.getQrCodes().forEach(qrCode -> { + MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode); + dtos.add(qrCodeContent); + String materialNo = qrCodeContent.getMaterialNo(); + item.setLeft(item.getLeft().subtract(qrCodeContent.getNum())); + VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) + .throwMessage("物料" + materialNo + "的入库数量超出申请数量"); + ti.setNum(ti.getNum().add(qrCodeContent.getNum())); + records.add(new InMaterialScanRecord() + .setSource(2) + .setSourceId(item.getId()) + .setTicketItemId(ti.getId()) + .setMaterialNo(materialNo) + .setContent(qrCode) + .setBatchNo(qrCodeContent.getBatchNo()) + .setSerialNo(qrCodeContent.getSerialNo()) + .setUniqNo(qrCodeContent.getUniqNo()) + .setNum(qrCodeContent.getNum()) + .setCreateBy(UserUtil.getUserName()) + .setCreateTime(Instant.now()) + ); + }); }); inCostcenterBackItemService.updateBatchById(datas); inMaterialScanRecordRespository.saveAll(records); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalOrderController.java index 8243d4b4..34e51465 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalOrderController.java @@ -7,14 +7,12 @@ import com.nflg.wms.admin.util.NoUtil; import com.nflg.wms.admin.util.PdfGeneratorUtil; import com.nflg.wms.admin.util.QRCodeUtil; import com.nflg.wms.admin.util.ThymeleafUtil; -import com.nflg.wms.common.constant.UserType; import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.dto.DeliverNormalOrderItemDTO; import com.nflg.wms.common.pojo.qo.DeliverNormalOrderSaveItemQO; import com.nflg.wms.common.pojo.qo.DeliverNormalOrderSaveQO; import com.nflg.wms.common.pojo.qo.DeliverNormalOrderSearchQO; -import com.nflg.wms.common.pojo.qo.SearchDeliverOrderQO; import com.nflg.wms.common.pojo.vo.DeliverNormalOrderVO; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; @@ -36,6 +34,7 @@ import org.springframework.core.io.ClassPathResource; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.net.URL; import java.text.DecimalFormat; import java.time.LocalDateTime; @@ -131,9 +130,6 @@ public class NormalOrderController extends BaseController { */ @PostMapping("search") public ApiResult> search(@Valid @RequestBody @NotNull DeliverNormalOrderSearchQO request) { - if (Objects.equals(UserUtil.getType(), UserType.Supplier)) { - request.setSupplierId(UserUtil.getUserId()); - } return ApiResult.success(deliverNormalOrderService.search(request)); } @@ -216,7 +212,12 @@ public class NormalOrderController extends BaseController { dto.setIndex(i); dto.setPrintNo(order.getId() + "-" + i); if (i == order.getLableNum() - 1) { - dto.setPrintNum(DF.format(order.getBatchNum().divideAndRemainder(order.getMinPackageNum())[1])); + BigDecimal n = order.getBatchNum().divideAndRemainder(order.getMinPackageNum())[1]; + if (n.compareTo(BigDecimal.ZERO) == 0) { + dto.setPrintNum(DF.format(order.getMinPackageNum())); + } else { + dto.setPrintNum(DF.format(n)); + } } else { dto.setPrintNum(DF.format(order.getMinPackageNum())); } @@ -235,23 +236,23 @@ public class NormalOrderController extends BaseController { return content; } - /** - * 搜索送货单 - * @param request 请求参数 - */ - @PostMapping("searchDeliverOrder") - public ApiResult> searchDeliverOrder(@Valid @RequestBody @NotNull SearchDeliverOrderQO request) { - return ApiResult.success(srmOrderService.search(request)); - } - - /** - * 获取送货单详情 - * @param id 送货单id - */ - @GetMapping("getDeliverOrderItems") - public ApiResult> getDeliverOrderItems(@Valid @RequestParam @NotNull Long id) { - return ApiResult.success(srmOrderItemService.getByDeliverOrderId(id)); - } +// /** +// * 搜索送货单 +// * @param request 请求参数 +// */ +// @PostMapping("searchDeliverOrder") +// public ApiResult> searchDeliverOrder(@Valid @RequestBody @NotNull SearchDeliverOrderQO request) { +// return ApiResult.success(srmOrderService.search(request)); +// } +// +// /** +// * 获取送货单详情 +// * @param id 送货单id +// */ +// @GetMapping("getDeliverOrderItems") +// public ApiResult> getDeliverOrderItems(@Valid @RequestParam @NotNull Long id) { +// return ApiResult.success(srmOrderItemService.getByDeliverOrderId(id)); +// } /** * 逐个打印送货单 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index f1f3bda0..2cb971b7 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -426,7 +426,7 @@ public class NormalPGIController extends BaseController { item2.add(new ZWM3A17Item2DTO() .setEBELP(item.getPoLineNumber()) .setFLAG("") - .setFLAG(code.getSerialNumbers())); + .setSERNR(code.getSerialNumbers())); }); } else { item1.add(new ZWM3A17Item1DTO() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java index 6dc702be..af161307 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java @@ -3,7 +3,6 @@ package com.nflg.wms.admin.controller; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import com.nflg.wms.admin.pojo.document.OutMaterialScanRecord; import com.nflg.wms.admin.pojo.dto.PdfPageDTO; @@ -23,7 +22,10 @@ import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.vo.*; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; -import com.nflg.wms.repository.entity.*; +import com.nflg.wms.repository.entity.WmsOutProduce; +import com.nflg.wms.repository.entity.WmsOutProduceItem; +import com.nflg.wms.repository.entity.WmsOutProduceTicket; +import com.nflg.wms.repository.entity.WmsOutProduceTicketItem; import com.nflg.wms.repository.service.*; import com.nflg.wms.starter.BaseController; import jakarta.annotation.Resource; @@ -38,7 +40,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; -import java.math.RoundingMode; import java.time.Instant; import java.time.LocalDateTime; import java.util.*; @@ -82,53 +83,52 @@ public class OutProduceController extends BaseController { */ @PostMapping("0/searchSAP") public ApiResult> searchSAP0(@Valid @RequestBody Zwm3a07QO request) { -// List vos = sapService.zwm3a07(request); -// Map> maps = vos.stream().collect(Collectors.groupingBy(Zwm3a07VO::getKey1)); -// maps.forEach((key, items) -> { -// Map imaps = inventoryService.getNum(items.get(0).getDwerk(), items.get(0).getLgort2(), items.stream().map(Zwm3a07VO::getMatnr).toList()); -// items.forEach(item -> item.setLeftNum(imaps.getOrDefault(item.getMatnr(), BigDecimal.ZERO))); -// }); -// return ApiResult.success(vos); -// inventoryService.search() - List inventories = inventoryService.list(); - List vos = new ArrayList<>(); - for (int i = 0, count = inventories.size(); i < count; i++) { - WmsInventory inventory = inventories.get(i); - vos.add(new Zwm3a07VO() - .setInsme(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setDwerk(inventory.getFactoryNo()) - .setMatnr(inventory.getMaterialNo()) - .setAufnr(RandomUtil.randomNumbers(10)) - .setMaktx(RandomUtil.randomString(20)) - .setLgort2(inventory.getWarehouseNo()) - .setLgpbe(RandomUtil.randomString(10)) - .setMeins(RandomUtil.randomString(2)) - .setName(RandomUtil.randomString(10)) - .setQlsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setSqsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, inventory.getNum().divide(new BigDecimal("5"), RoundingMode.HALF_UP))) - .setSqsl2(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setSqsl3(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setBdmng(RandomUtil.randomBigDecimal(new BigDecimal("50"), new BigDecimal("100"))) - .setLabst(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setKcqls(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setKtext(RandomUtil.randomString(20)) - .setRsnum(RandomUtil.randomNumbers(10)) - .setRsnum2(RandomUtil.randomNumbers(10)) - .setPlnbez(RandomUtil.randomString(20)) - .setEkgrp(RandomUtil.randomString(10)) - .setDispo(RandomUtil.randomString(10)) - .setCusn(RandomUtil.randomNumbers(10)) - .setBdter(DateUtil.format(DateUtil.date(), "yyyy-MM-dd")) - .setVornr(RandomUtil.randomNumbers(10)) - .setSernr(RandomUtil.randomNumbers(10)) - .setJtsn(RandomUtil.randomNumbers(10)) - .setRspos(RandomUtil.randomNumbers(10)) - .setEnmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("50"))) - .setMaktx2(RandomUtil.randomString(20)) - .setLeftNum(inventory.getNum()) - ); - } + List vos = sapService.zwm3a07(request); + Map> maps = vos.stream().collect(Collectors.groupingBy(Zwm3a07VO::getKey1)); + maps.forEach((key, items) -> { + Map imaps = inventoryService.getNum(items.get(0).getDwerk(), items.get(0).getLgort2(), items.stream().map(Zwm3a07VO::getMatnr).toList()); + items.forEach(item -> item.setLeftNum(imaps.getOrDefault(item.getMatnr(), BigDecimal.ZERO))); + }); return ApiResult.success(vos); +// List inventories = inventoryService.list(); +// List vos = new ArrayList<>(); +// for (int i = 0, count = inventories.size(); i < count; i++) { +// WmsInventory inventory = inventories.get(i); +// vos.add(new Zwm3a07VO() +// .setInsme(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setDwerk(inventory.getFactoryNo()) +// .setMatnr(inventory.getMaterialNo()) +// .setAufnr(RandomUtil.randomNumbers(10)) +// .setMaktx(RandomUtil.randomString(20)) +// .setLgort2(inventory.getWarehouseNo()) +// .setLgpbe(RandomUtil.randomString(10)) +// .setMeins(RandomUtil.randomString(2)) +// .setName(RandomUtil.randomString(10)) +// .setQlsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setSqsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, inventory.getNum().divide(new BigDecimal("5"), RoundingMode.HALF_UP))) +// .setSqsl2(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setSqsl3(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setBdmng(RandomUtil.randomBigDecimal(new BigDecimal("50"), new BigDecimal("100"))) +// .setLabst(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setKcqls(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setKtext(RandomUtil.randomString(20)) +// .setRsnum(RandomUtil.randomNumbers(10)) +// .setRsnum2(RandomUtil.randomNumbers(10)) +// .setPlnbez(RandomUtil.randomString(20)) +// .setEkgrp(RandomUtil.randomString(10)) +// .setDispo(RandomUtil.randomString(10)) +// .setCusn(RandomUtil.randomNumbers(10)) +// .setBdter(DateUtil.format(DateUtil.date(), "yyyy-MM-dd")) +// .setVornr(RandomUtil.randomNumbers(10)) +// .setSernr(RandomUtil.randomNumbers(10)) +// .setJtsn(RandomUtil.randomNumbers(10)) +// .setRspos(RandomUtil.randomNumbers(10)) +// .setEnmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("50"))) +// .setMaktx2(RandomUtil.randomString(20)) +// .setLeftNum(inventory.getNum()) +// ); +// } +// return ApiResult.success(vos); } /** @@ -136,52 +136,52 @@ public class OutProduceController extends BaseController { */ @PostMapping("1/searchSAP") public ApiResult> searchSAP1(@Valid @RequestBody Zwm3a08QO request) { -// List vos = sapService.zwm3a08(request); -// Map> maps = vos.stream().collect(Collectors.groupingBy(Zwm3a07VO::getKey1)); -// maps.forEach((key, items) -> { -// Map imaps = inventoryService.getNum(items.get(0).getDwerk(), items.get(0).getLgort2(), items.stream().map(Zwm3a07VO::getMatnr).toList()); -// items.forEach(item -> item.setLeftNum(imaps.getOrDefault(item.getMatnr(), BigDecimal.ZERO))); -// }); -// return ApiResult.success(vos); - List inventories = inventoryService.list(); - List vos = new ArrayList<>(); - for (int i = 0, count = inventories.size(); i < count; i++) { - WmsInventory inventory = inventories.get(i); - vos.add(new Zwm3a07VO() - .setInsme(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setMatnr(inventory.getMaterialNo()) - .setAufnr(RandomUtil.randomNumbers(10)) - .setMaktx(RandomUtil.randomString(20)) - .setLgort2(inventory.getWarehouseNo()) - .setLgpbe(RandomUtil.randomString(6)) - .setMeins(RandomUtil.randomString(2)) - .setName(RandomUtil.randomString(10)) - .setQlsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setSqsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, inventory.getNum().divide(new BigDecimal("5"), RoundingMode.HALF_UP))) - .setSqsl2(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setSqsl3(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setBdmng(RandomUtil.randomBigDecimal(new BigDecimal("50"), new BigDecimal("100"))) - .setLabst(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setKcqls(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) - .setKtext(RandomUtil.randomString(20)) - .setDwerk(inventory.getFactoryNo()) - .setRsnum(RandomUtil.randomNumbers(10)) - .setRsnum2(RandomUtil.randomNumbers(10)) - .setPlnbez(RandomUtil.randomString(20)) - .setEkgrp(RandomUtil.randomString(10)) - .setDispo(RandomUtil.randomString(10)) - .setCusn(RandomUtil.randomNumbers(10)) - .setBdter(DateUtil.format(DateUtil.date(), "yyyy-MM-dd")) - .setVornr(RandomUtil.randomNumbers(10)) - .setSernr(RandomUtil.randomNumbers(10)) - .setJtsn(RandomUtil.randomNumbers(10)) - .setRspos(RandomUtil.randomNumbers(10)) - .setEnmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("50"))) - .setMaktx2(RandomUtil.randomString(20)) - .setLeftNum(inventory.getNum()) - ); - } + List vos = sapService.zwm3a08(request); + Map> maps = vos.stream().collect(Collectors.groupingBy(Zwm3a07VO::getKey1)); + maps.forEach((key, items) -> { + Map imaps = inventoryService.getNum(items.get(0).getDwerk(), items.get(0).getLgort2(), items.stream().map(Zwm3a07VO::getMatnr).toList()); + items.forEach(item -> item.setLeftNum(imaps.getOrDefault(item.getMatnr(), BigDecimal.ZERO))); + }); return ApiResult.success(vos); +// List inventories = inventoryService.list(); +// List vos = new ArrayList<>(); +// for (int i = 0, count = inventories.size(); i < count; i++) { +// WmsInventory inventory = inventories.get(i); +// vos.add(new Zwm3a07VO() +// .setInsme(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setMatnr(inventory.getMaterialNo()) +// .setAufnr(RandomUtil.randomNumbers(10)) +// .setMaktx(RandomUtil.randomString(20)) +// .setLgort2(inventory.getWarehouseNo()) +// .setLgpbe(RandomUtil.randomString(6)) +// .setMeins(RandomUtil.randomString(2)) +// .setName(RandomUtil.randomString(10)) +// .setQlsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setSqsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, inventory.getNum().divide(new BigDecimal("5"), RoundingMode.HALF_UP))) +// .setSqsl2(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setSqsl3(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setBdmng(RandomUtil.randomBigDecimal(new BigDecimal("50"), new BigDecimal("100"))) +// .setLabst(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setKcqls(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100"))) +// .setKtext(RandomUtil.randomString(20)) +// .setDwerk(inventory.getFactoryNo()) +// .setRsnum(RandomUtil.randomNumbers(10)) +// .setRsnum2(RandomUtil.randomNumbers(10)) +// .setPlnbez(RandomUtil.randomString(20)) +// .setEkgrp(RandomUtil.randomString(10)) +// .setDispo(RandomUtil.randomString(10)) +// .setCusn(RandomUtil.randomNumbers(10)) +// .setBdter(DateUtil.format(DateUtil.date(), "yyyy-MM-dd")) +// .setVornr(RandomUtil.randomNumbers(10)) +// .setSernr(RandomUtil.randomNumbers(10)) +// .setJtsn(RandomUtil.randomNumbers(10)) +// .setRspos(RandomUtil.randomNumbers(10)) +// .setEnmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("50"))) +// .setMaktx2(RandomUtil.randomString(20)) +// .setLeftNum(inventory.getNum()) +// ); +// } +// return ApiResult.success(vos); } /** diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java index 2b4d2d0c..16724f5e 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java @@ -143,6 +143,7 @@ public class StructuralPackageOrderController extends BaseController { .setTransportNum(order.getTransportNum()) .setLbprt(order.getLbprt()) .setUnit(order.getMeins()) + .setKzkri(order.getKzkri()) ) .toList(); if (Objects.equals(request.getType(), 1)) { diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java index 4e9f4afc..8ff626fa 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java @@ -246,7 +246,7 @@ public class NormalPGIControllerService { Pair, Pair> zwm3A17ReturnDTO = sapService.zwm3a17(dto.getZwm3A17DTO()); //推入srm SRMInspectionContentDTO content = dto.getPushDto().getContent(); - content.setReceiveNum(zwm3A17ReturnDTO.getKey().getKey()); + content.setReceiveNum(zwm3A17ReturnDTO.getValue().getKey()); pushInspectionMaterialsToSRM(dto.getPushDto()); //修改收货单的物料凭证和年度物料凭证 List ids = dto.getReceiptIds(); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java index e754b2bc..8aa2b8d3 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/SapService.java @@ -3,6 +3,7 @@ package com.nflg.wms.admin.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Pair; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.nflg.wms.admin.pojo.dto.SAPMaterialInfoInOrderDTO; import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO; @@ -216,6 +217,7 @@ public class SapService { JCoFunction function = exec("ZWM3A17", parameters, tables); JCoStructure structure = function.getExportParameterList().getStructure("OUTPUT1"); + print("OUTPUT1", structure); VUtil.trueThrowBusinessError(!StrUtil.equals(structure.getString("TYPE"), "S")) .throwMessage("SAP错误:" + structure.getString("MSG")); @@ -1217,4 +1219,19 @@ public ZWM00MB113DTO zwm00_mb113(ZWM00MB113QO query) { throw new NflgException(STATE.BusinessError, "SAP调用异常:" + MDC.get(Constant.TRACE_ID)); } } + + private void print(String name, JCoStructure structure) { + log.info(name); + if (Objects.nonNull(structure)) { + JCoRecordFieldIterator iterator = structure.getRecordFieldIterator(); + if (Objects.nonNull(iterator)) { + JSONObject json = new JSONObject(); + while (iterator.hasNextField()) { + JCoField field = iterator.nextField(); + json.put(field.getName(), field.getValue()); + } + log.info(json.toString()); + } + } + } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DeliverNormalOrderSaveQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DeliverNormalOrderSaveQO.java index 255eee66..86275a92 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DeliverNormalOrderSaveQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DeliverNormalOrderSaveQO.java @@ -1,5 +1,6 @@ package com.nflg.wms.common.pojo.qo; +import jakarta.validation.Valid; import jakarta.validation.constraints.NotEmpty; import lombok.Data; @@ -11,6 +12,7 @@ public class DeliverNormalOrderSaveQO { /** * 要保存的数据 */ + @Valid @NotEmpty private List items; @@ -18,4 +20,4 @@ public class DeliverNormalOrderSaveQO { * 要删除的数据 */ private List deleteIds; -} +} \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DeliverNormalOrderSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DeliverNormalOrderSearchQO.java index 8c5df578..da31668b 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DeliverNormalOrderSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/DeliverNormalOrderSearchQO.java @@ -11,9 +11,9 @@ public class DeliverNormalOrderSearchQO extends SearchBaseQO { private String orderNo; /** - * 供应商ID + * 供应商编号 */ - private Long supplierId; + private String supplierNo; /** * 送货单号 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InCostcenterBackSubmitItemQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InCostcenterBackSubmitItemQO.java new file mode 100644 index 00000000..dd1b6a14 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InCostcenterBackSubmitItemQO.java @@ -0,0 +1,29 @@ +package com.nflg.wms.common.pojo.qo; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.List; + +@Data +public class InCostcenterBackSubmitItemQO { + + /** + * 订单项ID + */ + @NotNull + private Long orderItemId; + + /** + * 实际入库储位编号列表 + */ + @NotEmpty + private List lgpbe; + + /** + * 二维码列表 + */ + @NotEmpty + private List qrCodes; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InCostcenterBackSubmitQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InCostcenterBackSubmitQO.java new file mode 100644 index 00000000..fe87bb7c --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InCostcenterBackSubmitQO.java @@ -0,0 +1,28 @@ +package com.nflg.wms.common.pojo.qo; + +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +import java.util.List; + +@Data +public class InCostcenterBackSubmitQO { + + @NotBlank + private String no; + + /** + * 实际入库仓库编号 + */ + @NotBlank + private String lgort; + + /** + * 订单项列表 + */ + @Valid + @NotEmpty + private List items; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java index 062b0a87..6a257728 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java @@ -74,11 +74,11 @@ public class PackageDeliverOrderSaveItemQO { @NotBlank private String unit; - /** - * 标志:关键部件 - */ - @NotBlank - private String kzkri; +// /** +// * 标志:关键部件 +// */ +// @NotBlank +// private String kzkri; @JsonIgnore private String key1; diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageDeliverOrderSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageDeliverOrderSearchQO.java index bfcece1f..59977db6 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageDeliverOrderSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageDeliverOrderSearchQO.java @@ -16,7 +16,7 @@ public class StructuralPackageDeliverOrderSearchQO extends SearchBaseQO{ private String externalOrderNo; /** - * 供应商id + * 供应商编号 */ - private Long supplierId; + private String supplierNo; } \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderSearchByStateQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderSearchByStateQO.java index 0e9d0911..2f41c321 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderSearchByStateQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderSearchByStateQO.java @@ -25,9 +25,9 @@ public class StructuralPackageOrderSearchByStateQO extends SearchBaseQO{ private String materialNo; /** - * 供应商id + * 供应商编号 */ - private Long supplierId; + private String supplierNo; /** * 采购单订单号 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderSearchQO.java index 402c6161..f4a61a20 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/StructuralPackageOrderSearchQO.java @@ -16,9 +16,9 @@ public class StructuralPackageOrderSearchQO extends SearchBaseQO { private String materialNo; /** - * 供应商id + * 供应商编号 */ - private Long supplierId; + private String supplierNo; /** * 采购单订单号 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverNormalOrderVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverNormalOrderVO.java index 697e20ac..64611a4a 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverNormalOrderVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/DeliverNormalOrderVO.java @@ -25,7 +25,7 @@ public class DeliverNormalOrderVO { /** * 供应商代码 */ - private String supplierCode; + private String supplierNo; /** * 供应商名称 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/OutProduceItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/OutProduceItemVO.java index 761b2389..ae09c0f0 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/OutProduceItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/OutProduceItemVO.java @@ -9,6 +9,11 @@ import java.math.BigDecimal; @Accessors(chain = true) public class OutProduceItemVO { + /** + * 订单项id + */ + private Long id; + /** * 领料物料号 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackItem.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackItem.java index a2a1aec5..979a8bb1 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackItem.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackItem.java @@ -61,10 +61,10 @@ public class WmsInCostcenterBackItem implements Serializable { */ private String meins; - /** - * 库存地点 - */ - private String lgort; +// /** +// * 库存地点 +// */ +// private String lgort; /** * 库存仓位 diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackTicket.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackTicket.java index 77ca77bd..1cfa5d44 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackTicket.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackTicket.java @@ -59,4 +59,9 @@ public class WmsInCostcenterBackTicket implements Serializable { * 物料凭证年度 */ private String docYear; + + /** + * 实际入库仓库编号 + */ + private String lgort; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackTicketItem.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackTicketItem.java index 77b84eee..6c0f1ee8 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackTicketItem.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInCostcenterBackTicketItem.java @@ -44,4 +44,9 @@ public class WmsInCostcenterBackTicketItem implements Serializable { * 退料数量 */ private BigDecimal num; + + /** + * 实际入库储位 + */ + private String lgpbe; } diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsNormalPrintOrderMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsNormalPrintOrderMapper.xml index bbaf665f..6475b080 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsNormalPrintOrderMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsNormalPrintOrderMapper.xml @@ -2,12 +2,12 @@ select a.*,b.supplier_name - from wms_srm_order a left join user_supplier b on a.supplier_num=b.supplier_code - - and a.note_num like concat('%', #{request.noteNum}, '%') - - - and a.supplier_num =#{request.supplierNum} - - - and EXISTS (select 1 from wms_srm_order_item where a.id=wms_srm_order_item.order_id and - wms_srm_order_item.po_num like concat('%', #{request.poNum}, '%') - - - and EXISTS (select 1 from wms_srm_order_item where a.id=wms_srm_order_item.order_id and - wms_srm_order_item.item_code like concat('%', #{request.itemCode}, '%') - - - and a.delivery_note_date >= #{request.startDate} - - - and a.delivery_note_date < #{request.endDate} - + from wms_srm_order a + left join user_supplier b on a.supplier_num=b.supplier_code + + + and a.note_num like concat('%', #{request.noteNum}, '%') + + + and a.supplier_num =#{request.supplierNum} + + + and EXISTS (select 1 from wms_srm_order_item where a.id=wms_srm_order_item.order_id and + wms_srm_order_item.po_num like concat('%', #{request.poNum}, '%')) + + + and EXISTS (select 1 from wms_srm_order_item where a.id=wms_srm_order_item.order_id and + wms_srm_order_item.item_code like concat('%', #{request.itemCode}, '%')) + + + and a.delivery_note_date >= #{request.startDate} + + + and a.delivery_note_date < #{request.endDate} + + order by a.delivery_note_date desc diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageDeliverOrderMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageDeliverOrderMapper.xml index b95bcc99..5b542826 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageDeliverOrderMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageDeliverOrderMapper.xml @@ -14,8 +14,8 @@ #{item} - - and pdo.supplier_id=#{request.supplierId} + + and us.supplier_code=#{request.supplierNo} and pdo.no like concat('%',#{request.no},'%') diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderMapper.xml index 99ad79eb..9547d972 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderMapper.xml @@ -17,8 +17,8 @@ and sp.no=#{request.materialNo} - - and o.supplier_id=#{request.supplierId} + + and us.supplier_code=#{request.supplierNo} and o.external_order_no=#{request.externalOrderNo} diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderTrayMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderTrayMapper.xml index 62a809d8..63354b83 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderTrayMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsStructuralPackageOrderTrayMapper.xml @@ -18,8 +18,8 @@ and sp.no=#{request.materialNo} - - and o.supplier_id=#{request.supplierId} + + and us.supplier_code=#{request.supplierNo} and o.external_order_no=#{request.externalOrderNo} diff --git a/nflg-wms-starter/pom.xml b/nflg-wms-starter/pom.xml index cace1eb8..a4abd924 100644 --- a/nflg-wms-starter/pom.xml +++ b/nflg-wms-starter/pom.xml @@ -130,11 +130,6 @@ minio 8.5.17 - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - 2.15.2 - diff --git a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/JacksonConfig.java b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/JacksonConfig.java index a3b9e686..59fe051a 100644 --- a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/JacksonConfig.java +++ b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/JacksonConfig.java @@ -26,9 +26,9 @@ public class JacksonConfig { @Bean public ObjectMapper objectMapper() { return new ObjectMapper() + .registerModule(new JavaTimeModule()) .registerModule(customDateTimeModule()) .registerModule(bigDecimalModule()) - .registerModule(new JavaTimeModule()) .configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false) .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) .configure(SerializationFeature.INDENT_OUTPUT, false);