一些优化
This commit is contained in:
parent
7e9dc3e702
commit
c7d2e64583
|
|
@ -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<Void> submit(@Valid @RequestBody OutProduceSubmitQO request) {
|
||||
public ApiResult<Void> 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<WmsInCostcenterBackItem> datas = inCostcenterBackItemService.getList(order.getId());
|
||||
List<InMaterialScanRecord> records = new ArrayList<>();
|
||||
List<MaterialQRCodeContentDTO> dtos = new ArrayList<>();
|
||||
List<WmsInCostcenterBackTicketItem> 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);
|
||||
|
|
|
|||
|
|
@ -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<PageData<DeliverNormalOrderVO>> 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<PageData<WmsSrmOrder>> searchDeliverOrder(@Valid @RequestBody @NotNull SearchDeliverOrderQO request) {
|
||||
return ApiResult.success(srmOrderService.search(request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取送货单详情
|
||||
* @param id 送货单id
|
||||
*/
|
||||
@GetMapping("getDeliverOrderItems")
|
||||
public ApiResult<List<WmsSrmOrderItem>> getDeliverOrderItems(@Valid @RequestParam @NotNull Long id) {
|
||||
return ApiResult.success(srmOrderItemService.getByDeliverOrderId(id));
|
||||
}
|
||||
// /**
|
||||
// * 搜索送货单
|
||||
// * @param request 请求参数
|
||||
// */
|
||||
// @PostMapping("searchDeliverOrder")
|
||||
// public ApiResult<PageData<WmsSrmOrder>> searchDeliverOrder(@Valid @RequestBody @NotNull SearchDeliverOrderQO request) {
|
||||
// return ApiResult.success(srmOrderService.search(request));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 获取送货单详情
|
||||
// * @param id 送货单id
|
||||
// */
|
||||
// @GetMapping("getDeliverOrderItems")
|
||||
// public ApiResult<List<WmsSrmOrderItem>> getDeliverOrderItems(@Valid @RequestParam @NotNull Long id) {
|
||||
// return ApiResult.success(srmOrderItemService.getByDeliverOrderId(id));
|
||||
// }
|
||||
|
||||
/**
|
||||
* 逐个打印送货单
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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<List<Zwm3a07VO>> searchSAP0(@Valid @RequestBody Zwm3a07QO request) {
|
||||
// List<Zwm3a07VO> vos = sapService.zwm3a07(request);
|
||||
// Map<String, List<Zwm3a07VO>> maps = vos.stream().collect(Collectors.groupingBy(Zwm3a07VO::getKey1));
|
||||
// maps.forEach((key, items) -> {
|
||||
// Map<String, BigDecimal> 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<WmsInventory> inventories = inventoryService.list();
|
||||
List<Zwm3a07VO> 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<Zwm3a07VO> vos = sapService.zwm3a07(request);
|
||||
Map<String, List<Zwm3a07VO>> maps = vos.stream().collect(Collectors.groupingBy(Zwm3a07VO::getKey1));
|
||||
maps.forEach((key, items) -> {
|
||||
Map<String, BigDecimal> 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<WmsInventory> inventories = inventoryService.list();
|
||||
// List<Zwm3a07VO> 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<List<Zwm3a07VO>> searchSAP1(@Valid @RequestBody Zwm3a08QO request) {
|
||||
// List<Zwm3a07VO> vos = sapService.zwm3a08(request);
|
||||
// Map<String, List<Zwm3a07VO>> maps = vos.stream().collect(Collectors.groupingBy(Zwm3a07VO::getKey1));
|
||||
// maps.forEach((key, items) -> {
|
||||
// Map<String, BigDecimal> 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<WmsInventory> inventories = inventoryService.list();
|
||||
List<Zwm3a07VO> 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<Zwm3a07VO> vos = sapService.zwm3a08(request);
|
||||
Map<String, List<Zwm3a07VO>> maps = vos.stream().collect(Collectors.groupingBy(Zwm3a07VO::getKey1));
|
||||
maps.forEach((key, items) -> {
|
||||
Map<String, BigDecimal> 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<WmsInventory> inventories = inventoryService.list();
|
||||
// List<Zwm3a07VO> 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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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)) {
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ public class NormalPGIControllerService {
|
|||
Pair<Pair<String, String>, Pair<String, String>> 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<Long> ids = dto.getReceiptIds();
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<DeliverNormalOrderSaveItemQO> items;
|
||||
|
||||
|
|
@ -18,4 +20,4 @@ public class DeliverNormalOrderSaveQO {
|
|||
* 要删除的数据
|
||||
*/
|
||||
private List<Long> deleteIds;
|
||||
}
|
||||
}
|
||||
|
|
@ -11,9 +11,9 @@ public class DeliverNormalOrderSearchQO extends SearchBaseQO {
|
|||
private String orderNo;
|
||||
|
||||
/**
|
||||
* 供应商ID
|
||||
* 供应商编号
|
||||
*/
|
||||
private Long supplierId;
|
||||
private String supplierNo;
|
||||
|
||||
/**
|
||||
* 送货单号
|
||||
|
|
|
|||
|
|
@ -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<String> lgpbe;
|
||||
|
||||
/**
|
||||
* 二维码列表
|
||||
*/
|
||||
@NotEmpty
|
||||
private List<String> qrCodes;
|
||||
}
|
||||
|
|
@ -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<InCostcenterBackSubmitItemQO> items;
|
||||
}
|
||||
|
|
@ -74,11 +74,11 @@ public class PackageDeliverOrderSaveItemQO {
|
|||
@NotBlank
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 标志:关键部件
|
||||
*/
|
||||
@NotBlank
|
||||
private String kzkri;
|
||||
// /**
|
||||
// * 标志:关键部件
|
||||
// */
|
||||
// @NotBlank
|
||||
// private String kzkri;
|
||||
|
||||
@JsonIgnore
|
||||
private String key1;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public class StructuralPackageDeliverOrderSearchQO extends SearchBaseQO{
|
|||
private String externalOrderNo;
|
||||
|
||||
/**
|
||||
* 供应商id
|
||||
* 供应商编号
|
||||
*/
|
||||
private Long supplierId;
|
||||
private String supplierNo;
|
||||
}
|
||||
|
|
@ -25,9 +25,9 @@ public class StructuralPackageOrderSearchByStateQO extends SearchBaseQO{
|
|||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 供应商id
|
||||
* 供应商编号
|
||||
*/
|
||||
private Long supplierId;
|
||||
private String supplierNo;
|
||||
|
||||
/**
|
||||
* 采购单订单号
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ public class StructuralPackageOrderSearchQO extends SearchBaseQO {
|
|||
private String materialNo;
|
||||
|
||||
/**
|
||||
* 供应商id
|
||||
* 供应商编号
|
||||
*/
|
||||
private Long supplierId;
|
||||
private String supplierNo;
|
||||
|
||||
/**
|
||||
* 采购单订单号
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public class DeliverNormalOrderVO {
|
|||
/**
|
||||
* 供应商代码
|
||||
*/
|
||||
private String supplierCode;
|
||||
private String supplierNo;
|
||||
|
||||
/**
|
||||
* 供应商名称
|
||||
|
|
|
|||
|
|
@ -9,6 +9,11 @@ import java.math.BigDecimal;
|
|||
@Accessors(chain = true)
|
||||
public class OutProduceItemVO {
|
||||
|
||||
/**
|
||||
* 订单项id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 领料物料号
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -61,10 +61,10 @@ public class WmsInCostcenterBackItem implements Serializable {
|
|||
*/
|
||||
private String meins;
|
||||
|
||||
/**
|
||||
* 库存地点
|
||||
*/
|
||||
private String lgort;
|
||||
// /**
|
||||
// * 库存地点
|
||||
// */
|
||||
// private String lgort;
|
||||
|
||||
/**
|
||||
* 库存仓位
|
||||
|
|
|
|||
|
|
@ -59,4 +59,9 @@ public class WmsInCostcenterBackTicket implements Serializable {
|
|||
* 物料凭证年度
|
||||
*/
|
||||
private String docYear;
|
||||
|
||||
/**
|
||||
* 实际入库仓库编号
|
||||
*/
|
||||
private String lgort;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,4 +44,9 @@ public class WmsInCostcenterBackTicketItem implements Serializable {
|
|||
* 退料数量
|
||||
*/
|
||||
private BigDecimal num;
|
||||
|
||||
/**
|
||||
* 实际入库储位
|
||||
*/
|
||||
private String lgpbe;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nflg.wms.repository.mapper.WmsNormalPrintOrderMapper">
|
||||
<select id="search" resultType="com.nflg.wms.common.pojo.vo.DeliverNormalOrderVO">
|
||||
select o.*,us.supplier_name,us.supplier_code
|
||||
select o.*,us.supplier_name,us.supplier_code as "supplier_no"
|
||||
from wms_normal_print_order o
|
||||
left join user_supplier us on o.supplier_id=us.user_id
|
||||
<where>
|
||||
<if test="request.supplierId!=null">
|
||||
and o.supplier_id=#{request.supplierId}
|
||||
<if test="request.supplierNo!=null and request.supplierNo!=''">
|
||||
and us.supplier_code=#{request.supplierNo}
|
||||
</if>
|
||||
<if test="request.orderNo!=null and request.orderNo!=''">
|
||||
and o.order_no like concat('%', #{request.orderNo}, '%')
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
</select>
|
||||
|
||||
<select id="getList" resultType="com.nflg.wms.common.pojo.vo.DeliverNormalOrderVO">
|
||||
select o.*,us.supplier_name,us.supplier_code, wb.no as workbench_no
|
||||
select o.*,us.supplier_name,us.supplier_code as "supplier_no", wb.no as workbench_no
|
||||
from wms_normal_print_order o
|
||||
left join user_supplier us on o.supplier_id=us.user_id
|
||||
left join wms_workbench wb on o.workbench_id=wb.id
|
||||
|
|
|
|||
|
|
@ -3,27 +3,30 @@
|
|||
<mapper namespace="com.nflg.wms.repository.mapper.WmsSrmOrderMapper">
|
||||
<select id="search" resultType="com.nflg.wms.common.pojo.vo.SrmOrderVO">
|
||||
select a.*,b.supplier_name
|
||||
from wms_srm_order a left join user_supplier b on a.supplier_num=b.supplier_code
|
||||
<if test="request.noteNum !=null and request.noteNum !='' ">
|
||||
and a.note_num like concat('%', #{request.noteNum}, '%')
|
||||
</if>
|
||||
<if test="request.supplierNum !=null and request.supplierNum !='' ">
|
||||
and a.supplier_num =#{request.supplierNum}
|
||||
</if>
|
||||
<if test="request.poNum !=null and 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.po_num like concat('%', #{request.poNum}, '%')
|
||||
</if>
|
||||
<if test="request.itemCode !=null and request.itemCode !='' ">
|
||||
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}, '%')
|
||||
</if>
|
||||
<if test="request.startDate !=null and request.startDate !='' ">
|
||||
and a.delivery_note_date >= #{request.startDate}
|
||||
</if>
|
||||
<if test="request.endDate !=null and request.endDate !='' ">
|
||||
and a.delivery_note_date < #{request.endDate}
|
||||
</if>
|
||||
from wms_srm_order a
|
||||
left join user_supplier b on a.supplier_num=b.supplier_code
|
||||
<where>
|
||||
<if test="request.noteNum !=null and request.noteNum !='' ">
|
||||
and a.note_num like concat('%', #{request.noteNum}, '%')
|
||||
</if>
|
||||
<if test="request.supplierNum !=null and request.supplierNum !='' ">
|
||||
and a.supplier_num =#{request.supplierNum}
|
||||
</if>
|
||||
<if test="request.poNum !=null and 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.po_num like concat('%', #{request.poNum}, '%'))
|
||||
</if>
|
||||
<if test="request.itemCode !=null and request.itemCode !='' ">
|
||||
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}, '%'))
|
||||
</if>
|
||||
<if test="request.startDate !=null">
|
||||
and a.delivery_note_date >= #{request.startDate}
|
||||
</if>
|
||||
<if test="request.endDate !=null">
|
||||
and a.delivery_note_date < #{request.endDate}
|
||||
</if>
|
||||
</where>
|
||||
order by a.delivery_note_date desc
|
||||
</select>
|
||||
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.supplierId!=null">
|
||||
and pdo.supplier_id=#{request.supplierId}
|
||||
<if test="request.supplierNo!=null and request.supplierNo!=''">
|
||||
and us.supplier_code=#{request.supplierNo}
|
||||
</if>
|
||||
<if test="request.no!=null and request.no!=''">
|
||||
and pdo.no like concat('%',#{request.no},'%')
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@
|
|||
<if test="request.materialNo!=null and request.materialNo!=''">
|
||||
and sp.no=#{request.materialNo}
|
||||
</if>
|
||||
<if test="request.supplierId!=null">
|
||||
and o.supplier_id=#{request.supplierId}
|
||||
<if test="request.supplierNo!=null and request.supplierNo!=''">
|
||||
and us.supplier_code=#{request.supplierNo}
|
||||
</if>
|
||||
<if test="request.externalOrderNo!=null and request.externalOrderNo!=''">
|
||||
and o.external_order_no=#{request.externalOrderNo}
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
<if test="request.materialNo!=null and request.materialNo!=''">
|
||||
and sp.no=#{request.materialNo}
|
||||
</if>
|
||||
<if test="request.supplierId!=null">
|
||||
and o.supplier_id=#{request.supplierId}
|
||||
<if test="request.supplierNo!=null and request.supplierNo!=''">
|
||||
and us.supplier_code=#{request.supplierNo}
|
||||
</if>
|
||||
<if test="request.externalOrderNo!=null and request.externalOrderNo!=''">
|
||||
and o.external_order_no=#{request.externalOrderNo}
|
||||
|
|
|
|||
|
|
@ -130,11 +130,6 @@
|
|||
<artifactId>minio</artifactId>
|
||||
<version>8.5.17</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.datatype</groupId>
|
||||
<artifactId>jackson-datatype-jsr310</artifactId>
|
||||
<version>2.15.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue