#
Junjie
2024-01-05 96f09fb7eb450bac7e94565838f10d945f35af57
#
4个文件已修改
1个文件已添加
78 ■■■■■ 已修改文件
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/GenerateOrderMatParam.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/GenerateOrderPakInParam.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/GenerateOrderPakOutParam.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/impl/ApiServiceImpl.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/GenerateOrderMatParam.java
New file
@@ -0,0 +1,17 @@
package com.zy.asrs.common.openapi.entity.param;
import lombok.Data;
@Data
public class GenerateOrderMatParam {
    //物料编号
    private String matnr;
    //批号
    private String batch;
    //数量
    private Double count;
}
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/GenerateOrderPakInParam.java
@@ -1,6 +1,5 @@
package com.zy.asrs.common.openapi.entity.param;
import com.zy.asrs.common.domain.dto.DetlDto;
import lombok.Data;
import java.util.List;
@@ -12,7 +11,7 @@
    private Integer orderType;
    private List<DetlDto> orderDetails;
    private List<GenerateOrderMatParam> mats;
    private String sign;
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/GenerateOrderPakOutParam.java
@@ -14,7 +14,7 @@
    private String orderTime;
    private List<DetlDto> orderDetails;
    private List<GenerateOrderMatParam> mats;
    private Long hostId;
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/service/impl/ApiServiceImpl.java
@@ -89,28 +89,16 @@
        if (!orderService.save(order)) {
            throw new CoolException("生成单据主档失败,请联系管理员");
        }
        // 单据明细档
        List<DetlDto> list = new ArrayList<>();
        List<DetlDto> orderDetails = param.getOrderDetails();
        for (DetlDto detail : orderDetails) {
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
            if (DetlDto.has(list, dto)) {
                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
                assert detlDto != null;
                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
            } else {
                list.add(dto);
            }
        }
        for (DetlDto detlDto : list) {
            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, detlDto.getMatnr()).eq(Mat::getHostId, param.getHostId()));
        List<GenerateOrderMatParam> mats = param.getMats();
        for (GenerateOrderMatParam matParam : mats) {
            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matParam.getMatnr()).eq(Mat::getHostId, param.getHostId()));
            if (Cools.isEmpty(mat)) {
                throw new CoolException(detlDto.getMatnr() + "编号商品检索失败,请先添加商品");
                throw new CoolException(matParam.getMatnr() + "编号商品检索失败,请先添加商品");
            }
            OrderDetl orderDetl = new OrderDetl();
            orderDetl.sync(mat);
            orderDetl.setBatch(detlDto.getBatch());
            orderDetl.setAnfme(detlDto.getAnfme());
            orderDetl.setBatch(matParam.getBatch());
            orderDetl.setAnfme(matParam.getCount());
            orderDetl.setOrderId(order.getId());
            orderDetl.setOrderNo(order.getOrderNo());
            orderDetl.setCreateBy(9527L);
@@ -181,28 +169,16 @@
        if (!orderService.save(order)) {
            throw new CoolException("生成单据主档失败,请联系管理员");
        }
        // 单据明细档
        List<DetlDto> list = new ArrayList<>();
        List<DetlDto> orderDetails = param.getOrderDetails();
        for (DetlDto detail : orderDetails) {
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme());
            if (DetlDto.has(list, dto)) {
                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
                assert detlDto != null;
                detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme());
            } else {
                list.add(dto);
            }
        }
        for (DetlDto detlDto : list) {
            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, detlDto.getMatnr()).eq(Mat::getHostId, param.getHostId()));
        List<GenerateOrderMatParam> mats = param.getMats();
        for (GenerateOrderMatParam matParam : mats) {
            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matParam.getMatnr()).eq(Mat::getHostId, param.getHostId()));
            if (Cools.isEmpty(mat)) {
                throw new CoolException(detlDto.getMatnr() + "编号商品检索失败,请先添加商品");
                throw new CoolException(matParam.getMatnr() + "编号商品检索失败,请先添加商品");
            }
            OrderDetl orderDetl = new OrderDetl();
            orderDetl.sync(mat);
            orderDetl.setBatch(detlDto.getBatch());
            orderDetl.setAnfme(detlDto.getAnfme());
            orderDetl.setBatch(matParam.getBatch());
            orderDetl.setAnfme(matParam.getCount());
            orderDetl.setOrderId(order.getId());
            orderDetl.setOrderNo(order.getOrderNo());
            orderDetl.setCreateBy(9527L);
zy-asrs-openapi/src/main/java/com/zy/asrs/openapi/controller/ApiController.java
@@ -55,8 +55,8 @@
        if (Cools.isEmpty(param.getOrderType())) {
            return R.error("单据类型[orderType]不能为空");
        }
        if (Cools.isEmpty(param.getOrderDetails())) {
            return R.error("单据明细[orderDetails]不能为空");
        if (Cools.isEmpty(param.getMats())) {
            return R.error("物料[mats]不能为空");
        }
        param.setHostId(hostKey.getHostId());
        apiService.generateOrderPakIn(param);
@@ -80,8 +80,8 @@
        if (Cools.isEmpty(param.getOrderType())) {
            return R.error("单据类型[orderType]不能为空");
        }
        if (Cools.isEmpty(param.getOrderDetails())) {
            return R.error("单据明细[orderDetails]不能为空");
        if (Cools.isEmpty(param.getMats())) {
            return R.error("物料[mats]不能为空");
        }
        param.setHostId(hostKey.getHostId());
        apiService.generateOrderPakOut(param);