Merge remote-tracking branch '惠信/dev_zhangke' into develop

This commit is contained in:
曹鹏飞 2026-03-24 16:24:49 +08:00
commit f2bccd0a4a
9 changed files with 110 additions and 78 deletions

View File

@ -1651,6 +1651,7 @@ public class NormalPGIController extends BaseController {
// 首先判断当前包是否已经收货了
WmsPackage pacageScanVO = wmsPackageService.lambdaQuery().eq(WmsPackage::getPackageCode, request.getPackageCode())
.one();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request.getItems())).throwMessage("没有收货的物料信息");
VUtil.trueThrowBusinessError(ObjectUtil.isNull(pacageScanVO)).throwMessage("打包码不存在");
VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 0).throwMessage("此打包码尚未打包");
VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 2).throwMessage("此打包码已完成收货");

View File

@ -109,6 +109,7 @@ public class OutPurchaseController extends BaseController {
.gt(WmsReturnRequestItem::getLeft, 0)
.list();
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("所有物料均已完成");
order.setPoNum(items.get(0).getPoNumberNew());
ZWM3A05VO vo = new ZWM3A05VO()
.setPurchaseOrderId(order.getId())
.setLifnr(order.getSupplierCode())

View File

@ -76,6 +76,7 @@ public class PurchaseReturnController extends BaseController {
/**
* 获取送货单的入库信息
*
* @param request
* @return
*/
@ -93,6 +94,7 @@ public class PurchaseReturnController extends BaseController {
/**
* 获取退货申请单详情
*
* @param request
* @return
*/
@ -109,6 +111,7 @@ public class PurchaseReturnController extends BaseController {
/**
* 获取送货单的入库信息
*
* @param request
* @return
*/
@ -121,6 +124,7 @@ public class PurchaseReturnController extends BaseController {
/**
* 新增退货申请单
*
* @param request
* @return
*/
@ -140,6 +144,7 @@ public class PurchaseReturnController extends BaseController {
/**
* 删除申请单
*
* @param request
* @return
*/
@ -160,6 +165,7 @@ public class PurchaseReturnController extends BaseController {
/**
* 审核申请单
*
* @param request
* @return
*/
@ -193,7 +199,7 @@ public class PurchaseReturnController extends BaseController {
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(returnRequestItems))
.throwMessage("没有有效的数据");
if (request.getApprovalStatus().equals(1)) {
if (request.getDocumentType().equals(1)) { //25
if (request.getDocumentType().equals(1)) { //25 仅退货
ZWM3A25HeadDTO headDTO25 = new ZWM3A25HeadDTO();
List<ZWM3A25ItemDTO> itemDTOList25 = new ArrayList<>();
headDTO25.setReturnType("2");
@ -212,7 +218,18 @@ public class PurchaseReturnController extends BaseController {
}
ZWM3A25ReturnDTO zwm3a25ReturnDTO = sapService.ZWM3A25(headDTO25, itemDTOList25);
log.info(" zwm3a25ReturnDTO: " + JSONUtil.toJsonStr(zwm3a25ReturnDTO));
} else if (request.getDocumentType().equals(2)) { //24
zwm3a25ReturnDTO.getItemReturnDTOList().forEach(item -> {
String materialNo = item.getMatnr().replace("00000000","");
WmsReturnRequestItem dbItem = returnRequestItems.stream()
.filter(it -> StrUtil.equals(it.getMaterialCode(), materialNo)
)
.findFirst()
.get();
dbItem.setPoLineNumberNew(item.getEbelp());
dbItem.setPoNumberNew(item.getEbeln());
});
returnRequestItemService.updateBatchById(returnRequestItems);
} else if (request.getDocumentType().equals(2)) { //24 退换货
ZWM3A24HeadDTO headDTO24 = new ZWM3A24HeadDTO();
List<ZWM3A24ItemDTO> itemDTOList24 = new ArrayList<>();
headDTO24.setReturnType("1");
@ -230,22 +247,24 @@ public class PurchaseReturnController extends BaseController {
}
ZWM3A24ReturnDTO retrunDto24 = sapService.ZWM3A24(headDTO24, itemDTOList24);
log.info(" zwm3a24ReturnDTO: " + JSONUtil.toJsonStr(retrunDto24));
retrunDto24.getItemReturnDTOList().forEach(item -> {
WmsReturnRequestItem dbItem=returnRequestItems.stream()
.filter(it -> StrUtil.equals(it.getMaterialCode(), item.getMatnr())
&& Objects.equals(Integer.parseInt(it.getPoLineNumber()), item.getEbelp_old())
)
.findFirst()
.get();
dbItem.setPoLineNumberNew(item.getEbelp_new());
});
returnRequestItemService.updateBatchById(returnRequestItems);
for (ZWM3A24ItemReturnDTO item : retrunDto24.getItemReturnDTOList()) {
if (Objects.equals(item.getRetpo(), "X")) {
String materialNo = item.getMatnr().replace("00000000","");
WmsReturnRequestItem dbItem = returnRequestItems.stream()
.filter(it -> it.getMaterialCode().equals(materialNo))
.findFirst().orElse( null);
dbItem.setPoLineNumberNew(item.getEbelp());
dbItem.setPoNumberNew(item.getEbeln());
returnRequestItemService.updateBatchById(returnRequestItems);
}
}
}
}
//修改状态
returnRequestService.lambdaUpdate()
.set(WmsReturnRequest::getApprovalStatus, request.getApprovalStatus())
.set(WmsReturnRequest::getDocumentType,request.getDocumentType())
.set(WmsReturnRequest::getDocumentType, request.getDocumentType())
.set(WmsReturnRequest::getApproveTime, LocalDateTime.now())
.set(WmsReturnRequest::getApproverId, UserUtil.getUserId())
.set(WmsReturnRequest::getApproverName, UserUtil.getUserName())
@ -256,6 +275,7 @@ public class PurchaseReturnController extends BaseController {
/**
* 码验证
*
* @param qrCodeMaster
* @return
*/
@ -301,6 +321,7 @@ public class PurchaseReturnController extends BaseController {
/**
* 保存申请单
*
* @return
*/
private List<InventoryLockVO> SaveApply(List<PurchaseReturnDTO> purchaseReturnDTOList, Short dataSource) {
@ -357,6 +378,7 @@ public class PurchaseReturnController extends BaseController {
/**
* 申请退货(PDA)
*
* @param request
* @return
*/
@ -455,17 +477,17 @@ public class PurchaseReturnController extends BaseController {
if (CollectionUtil.isEmpty(inventoryLockVOS)) {
return ApiResult.success();
} else {
throw new DataAlertException(STATE.OutOfStock, inventoryLockVOS);
return ApiResult.errorWithExtras(STATE.OutOfStock, inventoryLockVOS);
}
}
/**
* 扫码获取扫码信息
*
* @param request
* @return
* @author
*
*/
@PostMapping("pda/scan")
@ApiMark(moduleName = "扫码", apiName = "扫码获取扫码信息")
@ -485,6 +507,14 @@ public class PurchaseReturnController extends BaseController {
@GetMapping("exportTicket")
public void exportTicket(HttpServletResponse response, @Valid @RequestParam @NotNull Long id) throws Exception {
WmsReturnRequest order = returnRequestService.getById(id);
List<WmsReturnRequestItem> orderItem = returnRequestItemService.lambdaQuery()
.eq(WmsReturnRequestItem::getApplicationId, id)
.list();
if(CollectionUtil.isNotEmpty(orderItem))
{
order.setPoNum(orderItem.get(0).getPoNumberNew());
}
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("申请单不存在");
VUtil.trueThrowBusinessError(order.getApprovalStatus() != 1).throwMessage("申请单未审核通过");
UserSupplier supplier = userSupplierService.getByCode(order.getSupplierCode());

View File

@ -12,35 +12,30 @@ public class ZWM3A24ItemReturnDTO{
*/
private String werks;
/**
* 原订单行号
*/
private Integer ebelp_old;
/**
* 单行号
* 定单行号
*/
private Integer ebelp_new;
private Integer ebelp;
/**
* 库存地点
*/
private String lgort;
// /**
// * 物料描述短文本
// */
// private String maktx;
/**
* 物料描述短文本
*/
private String maktx;
// /**
// * 退货项目
// */
// private String retpo;
/**
* 退货项目
*/
private String retpo;
// /**
// * 采购凭证号
// */
// private String ebeln;
/**
* 采购凭证号
*/
private String ebeln;
/**
* 物料号

View File

@ -5,39 +5,39 @@ import lombok.Data;
import java.math.BigDecimal;
@Data
public class ZWM3A25ItemDTO{
public class ZWM3A25ItemDTO {
/**
* 工厂
*/
private String werks;
/**
* 工厂
*/
private String werks;
/**
* 数量
*/
private BigDecimal menge_Ret;
/**
* 数量
*/
private BigDecimal menge_Ret;
/**
* 消息
*/
private String msg;
/**
* 消息
*/
private String msg;
/**
* 库存地点
*/
private String lgort;
/**
* 库存地点
*/
private String lgort;
/**
* 新单行号
*/
//private String ebelpNew;
/**
* 物料号
*/
private String matnr;
/**
* 新单行号
*/
private String ebelpNew;
/**
* 物料号
*/
private String matnr;
/**
* 原订单行号
*/
private Integer ebelp_old;
/**
* 原订单行号
*/
private Integer ebelp_old;
}

View File

@ -11,9 +11,9 @@ public class ZWM3A25ItemReturnDTO{
private String werks;
/**
* 退货单明细
* 新的采购单行号
*/
private String ebelp;
private Integer ebelp;
/**
* 库存地点

View File

@ -11,7 +11,7 @@ import java.util.List;
@Accessors(chain = true)
public class QRCodeSearchQO {
/**
* 包装编号
* 物料码编号
*/
@NotNull
@NotBlank

View File

@ -78,17 +78,6 @@ public class WmsReturnRequestItem implements Serializable {
*/
private BigDecimal requestQuantity;
/**
* 剩余数量
*/
@TableField(value = "\"left\"")
private BigDecimal left;
/**
* sap过账的行号
*/
private Integer poLineNumberNew;
/**
* 出库状态
*/
@ -128,4 +117,20 @@ public class WmsReturnRequestItem implements Serializable {
* 单位
*/
private String unit;
/**
* 剩余数量
*/
@TableField(value ="\"left\"")
private BigDecimal left;
/**
* sap过账的行号
*/
private Integer poLineNumberNew;
/**
* 新的采购单号
*/
private String poNumberNew;
}

View File

@ -33,7 +33,7 @@ public class CodeGeneratorTest {
)
.strategyConfig(builder -> {
builder
.addInclude("opt_record") //只生成指定表
.addInclude("wms_return_request_item") //只生成指定表
.entityBuilder().idType(IdType.ASSIGN_ID)
.enableLombok()
.enableChainModel()