合并了develop分支的代码
This commit is contained in:
parent
985d43e346
commit
ba1b80819c
|
|
@ -8,18 +8,17 @@ import com.nflg.wms.admin.pojo.dto.ZIM003105DTO;
|
|||
import com.nflg.wms.admin.pojo.dto.ZIM003DTO;
|
||||
import com.nflg.wms.common.constant.STATE;
|
||||
import com.nflg.wms.common.exception.NflgException;
|
||||
import com.nflg.wms.common.pojo.dto.C_MaterialReturnDTO;
|
||||
import com.nflg.wms.common.pojo.dto.C_MaterialReturnQueryDTO;
|
||||
import com.nflg.wms.common.pojo.dto.SAPOrderDTO;
|
||||
import com.nflg.wms.common.pojo.dto.SAPSyncFromDTO;
|
||||
import com.nflg.wms.common.pojo.dto.*;
|
||||
import com.nflg.wms.common.pojo.qo.C_MaterialReturnItemQO;
|
||||
import com.nflg.wms.common.pojo.qo.C_MaterialReturnQO;
|
||||
import com.nflg.wms.common.pojo.qo.ScanCodeQO;
|
||||
import com.nflg.wms.common.util.VUtil;
|
||||
import com.sap.conn.jco.*;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -299,21 +298,50 @@ public class SapService {
|
|||
}
|
||||
|
||||
// 成本中心退库确认
|
||||
private C_MaterialReturnDTO zwm00_MB112(C_MaterialReturnQO request) {
|
||||
private C_MaterialReturnDTO zwm00_MB112(C_MaterialReturnQO request) throws JCoException {
|
||||
Map<String, Object> parameters = new HashMap<>();
|
||||
parameters.put("I_RSNUM", request.getResbRsNum());
|
||||
parameters.put("I_USNAM", request.getResbRsNum());
|
||||
List<C_MaterialReturnItemQO> items = request.getItems();
|
||||
//
|
||||
// / /Map<String, Map<String, Double>> summary = items.stream()
|
||||
// / / .collect(Collectors.groupingBy(
|
||||
// / / C_MaterialReturnItemQO::getResbRspos,
|
||||
// / /
|
||||
// / / Collectors.groupingBy(
|
||||
// / / C_MaterialReturnItemQO::getResbMatnr,
|
||||
// / /Collectors.summingDouble(item -> Double.parseDouble(item.getMsebErfmg()))
|
||||
// / / )
|
||||
// / / ));
|
||||
List<C_MaterialReturnItemDTO> t_list1 = new ArrayList<>();
|
||||
List<C_MaterialReturnSerialItemDTO> t_list2 = new ArrayList<>();
|
||||
for (C_MaterialReturnItemQO item : request.getItems()) {
|
||||
if (CollectionUtil.isNotEmpty(item.getScanCodes())) {
|
||||
List<ScanCodeQO> scanCodeList = item.getScanCodes();
|
||||
//合并批次数量
|
||||
Map<String, BigDecimal> batchSummary = scanCodeList.stream()
|
||||
.collect(Collectors.groupingBy(
|
||||
ScanCodeQO::getBatchNumber,
|
||||
Collectors.reducing(BigDecimal.ZERO, ScanCodeQO::getCodeNum, BigDecimal::add)
|
||||
));
|
||||
for (Map.Entry<String, BigDecimal> entry : batchSummary.entrySet()) {
|
||||
t_list1.add(new C_MaterialReturnItemDTO()
|
||||
.setMatnr(item.getResbMatnr())
|
||||
.setRspos(item.getResbRspos())
|
||||
.setLgort(item.getResbLgort())
|
||||
.setMeins(item.getResbMeins())
|
||||
.setWerks(item.getResbWerks())
|
||||
.setCharg(entry.getKey())
|
||||
.setErfmg(String.valueOf(entry.getValue()))
|
||||
|
||||
);
|
||||
}
|
||||
for (ScanCodeQO scanCode : scanCodeList) {
|
||||
t_list2.add(new C_MaterialReturnSerialItemDTO()
|
||||
.setRspos(item.getResbRspos())
|
||||
.setSernr(scanCode.getSerialNumber())
|
||||
.setFlag("X")
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
parameters.put("T_LIST1", t_list1);
|
||||
parameters.put("T_LIST2", t_list2);
|
||||
|
||||
JCoFunction function = exec("ZWM00_MB112", parameters, null);
|
||||
JCoTable tOut = function.getTableParameterList().getTable("T_OUT");
|
||||
log.info("SAP返回: {}", tOut);
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.wms.common.pojo.dto;
|
||||
|
||||
import com.nflg.wms.common.pojo.qo.C_MaterialReturnQO;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
|
|
@ -11,4 +12,7 @@ public class C_MaterialReturnDTO {
|
|||
|
||||
//物料凭证年度
|
||||
private String eMJahr;
|
||||
|
||||
//中心退库的物料详情信息
|
||||
private C_MaterialReturnQO requestQO;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
package com.nflg.wms.common.pojo.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class C_MaterialReturnItemDTO {
|
||||
//预留项目号
|
||||
private String rspos;
|
||||
|
||||
// 物料号
|
||||
private String matnr;
|
||||
|
||||
//库存地点
|
||||
private String lgort;
|
||||
|
||||
// 工厂
|
||||
private String werks;
|
||||
|
||||
// 退库数量
|
||||
private String erfmg;
|
||||
|
||||
//单位
|
||||
private String meins;
|
||||
|
||||
// 批次
|
||||
private String charg;
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.nflg.wms.common.pojo.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class C_MaterialReturnSerialItemDTO {
|
||||
//预留项目号
|
||||
private String rspos;
|
||||
|
||||
//序列号
|
||||
private String sernr;
|
||||
|
||||
//X 表示合格产品,空表示不合格产品
|
||||
private String flag;
|
||||
}
|
||||
|
|
@ -5,6 +5,7 @@ import lombok.Data;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
|
|
@ -16,9 +17,6 @@ public class C_MaterialReturnItemQO {
|
|||
// 物料号
|
||||
private String resbMatnr;
|
||||
|
||||
//实退数量
|
||||
private BigDecimal msebErfmg;
|
||||
|
||||
//库存地点
|
||||
private String resbLgort;
|
||||
|
||||
|
|
@ -28,15 +26,6 @@ public class C_MaterialReturnItemQO {
|
|||
// 单位
|
||||
private String resbMeins;
|
||||
|
||||
// 批次
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
private String batchNumber;
|
||||
|
||||
/**
|
||||
* 序列号,多个序列号使用;号隔开
|
||||
*/
|
||||
private String serialNumber;
|
||||
|
||||
//扫码信息
|
||||
private List<ScanCodeQO> scanCodes;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,38 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ScanCodeQO {
|
||||
|
||||
/**
|
||||
* 二维码编号
|
||||
*/
|
||||
private String codeId;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@NotNull
|
||||
private BigDecimal codeNum;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
private String batchNumber;
|
||||
|
||||
/**
|
||||
* 序列号
|
||||
*/
|
||||
private String serialNumber;
|
||||
|
||||
/**
|
||||
* 二维码内容
|
||||
*/
|
||||
private String codeContent;
|
||||
}
|
||||
Loading…
Reference in New Issue