feat(test): 添加补偿 ZWM3A18 功能
- 引入 ZWM3A18DTO、ZWM3A18Item1DTO、ZWM3A17Item2DTO 数据传输对象 - 注入 IWmsSrmQualityInspectionService 和 IWmsQcReceiveItemService 服务 - 移除未使用的 ILanguageService 和注释掉的代码 - 实现 compensateZwm3a18 接口,支持通过单号进行补偿操作 - 集成 SAP 服务调用 zwm3a18 方法完成物料凭证处理 - 添加序列号处理逻辑,根据检验结果设置标识 - 更新质量检验记录的入库状态和相关凭证信息
This commit is contained in:
parent
3be482f52a
commit
bef4bbd18e
|
|
@ -1,22 +1,36 @@
|
||||||
package com.nflg.wms.admin.controller;
|
package com.nflg.wms.admin.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Pair;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.nflg.wms.admin.pojo.dto.ZWM3A17Item2DTO;
|
||||||
|
import com.nflg.wms.admin.pojo.dto.ZWM3A18DTO;
|
||||||
|
import com.nflg.wms.admin.pojo.dto.ZWM3A18Item1DTO;
|
||||||
import com.nflg.wms.admin.service.BasdeSerialNumberControllerService;
|
import com.nflg.wms.admin.service.BasdeSerialNumberControllerService;
|
||||||
import com.nflg.wms.admin.service.SapService;
|
import com.nflg.wms.admin.service.SapService;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.dto.LdapDepartmentDTO;
|
import com.nflg.wms.common.pojo.dto.LdapDepartmentDTO;
|
||||||
import com.nflg.wms.common.pojo.dto.LdapUserDTO;
|
import com.nflg.wms.common.pojo.dto.LdapUserDTO;
|
||||||
|
import com.nflg.wms.common.util.UserUtil;
|
||||||
import com.nflg.wms.common.util.VUtil;
|
import com.nflg.wms.common.util.VUtil;
|
||||||
|
import com.nflg.wms.repository.entity.WmsQcReceiveItem;
|
||||||
|
import com.nflg.wms.repository.entity.WmsSrmQualityInspection;
|
||||||
import com.nflg.wms.repository.service.ILanguageService;
|
import com.nflg.wms.repository.service.ILanguageService;
|
||||||
|
import com.nflg.wms.repository.service.IWmsQcReceiveItemService;
|
||||||
|
import com.nflg.wms.repository.service.IWmsSrmQualityInspectionService;
|
||||||
import com.nflg.wms.starter.BaseController;
|
import com.nflg.wms.starter.BaseController;
|
||||||
import com.sap.conn.jco.JCoException;
|
import com.sap.conn.jco.JCoException;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.metadata.ValidateUnwrappedValue;
|
import jakarta.validation.metadata.ValidateUnwrappedValue;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 测试
|
* 测试
|
||||||
|
|
@ -25,37 +39,17 @@ import java.util.List;
|
||||||
@RequestMapping("/test")
|
@RequestMapping("/test")
|
||||||
public class TestController extends BaseController {
|
public class TestController extends BaseController {
|
||||||
|
|
||||||
@Resource
|
|
||||||
private ILanguageService languageService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private BasdeSerialNumberControllerService basdeSerialNumberControllerService;
|
private BasdeSerialNumberControllerService basdeSerialNumberControllerService;
|
||||||
// @Resource
|
|
||||||
// private LdapService ldapService;
|
|
||||||
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private SapService sapService;
|
private SapService sapService;
|
||||||
@GetMapping("/add")
|
|
||||||
public void add() throws JCoException {
|
|
||||||
|
|
||||||
// try {
|
@Resource
|
||||||
sapService.zwm00_MB017("1309976");
|
private IWmsSrmQualityInspectionService wmsSrmQualityInspectionService;
|
||||||
// }
|
|
||||||
// catch (Exception e)
|
|
||||||
// {
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
// Language language = new Language()
|
private IWmsQcReceiveItemService wmsQcReceiveItemService;
|
||||||
// .setCode("test1")
|
|
||||||
// .setName("测试1")
|
|
||||||
// .setValue("aaa")
|
|
||||||
// .setIco("")
|
|
||||||
// .setZone("");
|
|
||||||
// languageService.save(language);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 同步AD部门列表
|
* 同步AD部门列表
|
||||||
|
|
@ -75,13 +69,66 @@ public class TestController extends BaseController {
|
||||||
|
|
||||||
@GetMapping("/ad/string")
|
@GetMapping("/ad/string")
|
||||||
public ApiResult<String> getString() {
|
public ApiResult<String> getString() {
|
||||||
String ids=basdeSerialNumberControllerService.generateSerialNumber(0);
|
String ids = basdeSerialNumberControllerService.generateSerialNumber(0);
|
||||||
return ApiResult.success(ids);
|
return ApiResult.success(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/businessError")
|
@GetMapping("/businessError")
|
||||||
public void testThrowBusinessError() throws Exception {
|
public void testThrowBusinessError() throws Exception {
|
||||||
int a=0;
|
int a = 0;
|
||||||
Integer b =100/a;
|
Integer b = 100 / a;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 补偿 zwm3a18
|
||||||
|
*/
|
||||||
|
@GetMapping("compensateZwm3a18")
|
||||||
|
public ApiResult<Void> compensateZwm3a18(@RequestParam String no) {
|
||||||
|
WmsSrmQualityInspection srmQualityInspection = wmsSrmQualityInspectionService.lambdaQuery()
|
||||||
|
.eq(WmsSrmQualityInspection::getInspectionNum, no)
|
||||||
|
.one();
|
||||||
|
VUtil.trueThrowBusinessError(Objects.isNull(srmQualityInspection)).throwMessage("该单号不存在");
|
||||||
|
VUtil.trueThrowBusinessError(Boolean.TRUE.equals(srmQualityInspection.getIsIn())).throwMessage("该单号已入库,无需补偿");
|
||||||
|
|
||||||
|
// 入库单行,物料凭证取自入库单
|
||||||
|
WmsQcReceiveItem wmsQcReceiveItem = wmsQcReceiveItemService.getById(srmQualityInspection.getReceiveId());
|
||||||
|
VUtil.trueThrowBusinessError(Objects.isNull(wmsQcReceiveItem)).throwMessage("未找到对应的入库单行");
|
||||||
|
|
||||||
|
// 组装SAP表头信息(参照 NormalQMController.confirm 中 ZWM3A18DTO 的构建逻辑)
|
||||||
|
ZWM3A18DTO dto = new ZWM3A18DTO()
|
||||||
|
.setEbeln(srmQualityInspection.getPoNum())
|
||||||
|
.setUsnam(UserUtil.getUserName())
|
||||||
|
.setMblnr(wmsQcReceiveItem.getMaterialDoc())
|
||||||
|
.setMjahr(wmsQcReceiveItem.getMaterialDocYear())
|
||||||
|
.setItem1(new ArrayList<>())
|
||||||
|
.setItem2(new ArrayList<>());
|
||||||
|
|
||||||
|
// 组装SAP行项目信息(参照 NormalQMController.set3A18DTOS)
|
||||||
|
dto.getItem1().add(new ZWM3A18Item1DTO()
|
||||||
|
.setErfmg(srmQualityInspection.getInspectionQty())
|
||||||
|
.setErfmg1(srmQualityInspection.getQualifiedQty())
|
||||||
|
.setErfmg2(srmQualityInspection.getUnqualifiedQty())
|
||||||
|
.setEbelp(srmQualityInspection.getPoLineNumber())
|
||||||
|
.setMatnr(srmQualityInspection.getItemCode())
|
||||||
|
.setMeins(srmQualityInspection.getUnit())
|
||||||
|
.setCharg(srmQualityInspection.getMaterialBatch())
|
||||||
|
.setLgort(srmQualityInspection.getReceivedWarehouse())
|
||||||
|
.setSgtxt("")
|
||||||
|
.setWerks(srmQualityInspection.getFactory()));
|
||||||
|
|
||||||
|
if (StrUtil.isNotBlank(srmQualityInspection.getSerialNum())) {
|
||||||
|
String flag = "合格".equals(srmQualityInspection.getInspectionResult()) ? "X" : "";
|
||||||
|
dto.getItem2().add(new ZWM3A17Item2DTO()
|
||||||
|
.setEBELP(srmQualityInspection.getPoLineNumber())
|
||||||
|
.setSERNR(srmQualityInspection.getSerialNum())
|
||||||
|
.setFLAG(flag));
|
||||||
|
}
|
||||||
|
Pair<String, String> zwm3a18 = sapService.zwm3a18(dto);
|
||||||
|
srmQualityInspection.setIsIn(true);
|
||||||
|
srmQualityInspection.setInTime(LocalDateTime.now());
|
||||||
|
srmQualityInspection.setMaterialDoc105(zwm3a18.getKey());
|
||||||
|
srmQualityInspection.setMaterialDocYear105(zwm3a18.getValue());
|
||||||
|
wmsSrmQualityInspectionService.updateById(srmQualityInspection);
|
||||||
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue