Merge branch 'dev' into dev_WMS20260401

# Conflicts:
#	mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/entity/MaterialBaseInfo.java
#	mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/po/MaterialBaseInfoPO.java
#	mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/materialBaseInfo/repository/todo/MaterialBaseInfoDO.java
#	mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/materialBaseInfo/MaterialBaseInfoDTO.java
#	mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java
#	mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutOrder/StockOutOrderApplicationService.java
#	mhd_wms/src/main/java/com/mhd/wms/application/service/stockReceiptOrder/StockReceiptOrderApplicationService.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/pickingOrder/service/PickingOrderDomainService.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/facade/IReceiptMaterialDetailService.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/receiptMaterialDetail/repository/persistence/ReceiptMaterialDetailImpl.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/shelfMaterialDetail/repository/todo/ShelfMaterialDetailDO.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/entity/StockOutOrder.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/po/StockOutOrderPO.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java
#	mhd_wms/src/main/java/com/mhd/wms/domain/stockReceiptOrder/repository/po/StockReceiptOrderPO.java
#	mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java
#	mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java
#	mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockReceiptOrder/StockReceiptOrderApi.java
#	mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockReceiptOrder/StockReceiptOrderAppApi.java
#	mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml
#	mhd_wms/src/main/resources/mapper/stockReceiptOrder/StockReceiptOrderMapper.xml
This commit is contained in:
王奎兴
2026-04-15 18:48:55 +08:00
79 changed files with 3519 additions and 476 deletions
@@ -172,4 +172,6 @@ public class HandoverTaskOrderDTO extends BaseVOEntity {
@ApiModelProperty("app上传的图片")
private String pictureApp;
}
private String billingJson;
}
@@ -2,6 +2,7 @@ package com.mhd.wms.interfaces.dto.stockInOrder;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.annotation.Excel;
import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount;
import com.mhd.wms.interfaces.dto.inMaterialDetail.InMaterialDetailDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -376,4 +377,15 @@ public class StockInOrderDTO extends StockInOrderBaseDTO {
@ApiModelProperty("入库明细-物料编码,模糊匹配,与前端参数 materialCode 一致")
private String materialCode;
@ApiModelProperty(name = "费用参数json")
private String billingJson;
@ApiModelProperty("费用")
List<ReceiptOrderAccount> receiptOrderAccountList;
@ApiModelProperty("结算币种")
private String settlementCurrency;
@ApiModelProperty("业务员ID")
private String salesmanId;
@ApiModelProperty("业务员名称")
private String salesmanName;
}
@@ -3,6 +3,7 @@ package com.mhd.wms.interfaces.dto.stockOutOrder;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.annotation.Excel;
import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount;
import com.mhd.wms.interfaces.dto.outMaterialDetail.OutMaterialDetailDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -430,4 +431,14 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO {
@ApiModelProperty("承运商名称")
@Excel(name = "承运商名称")
private String carrierName;
@ApiModelProperty("计费信息")
private String billingJson;
@ApiModelProperty("结算币种")
private String settlementCurrency;
@ApiModelProperty("业务员ID")
private String salesmanId;
@ApiModelProperty("业务员名称")
private String salesmanName;
@ApiModelProperty("费用")
List<ReceiptOrderAccount> receiptOrderAccountList;
}
@@ -156,4 +156,7 @@ public class StockReceiptOrderDTO extends StockInOrderBaseDTO {
@ApiModelProperty("费用")
List<ReceiptOrderAccount> receiptOrderAccountList;
@ApiModelProperty(name = "费用参数json")
private String billingJson;
}
@@ -10,8 +10,11 @@ import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
import com.mhd.wms.interfaces.assember.stockInOrder.StockInOrderAssembler;
import com.mhd.wms.interfaces.assember.stockOutOrder.StockOutOrderAssembler;
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
import com.mhd.wms.interfaces.dto.stockOutOrder.StockOutOrderDTO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -34,6 +37,8 @@ public class StockInOrderApi extends BaseController {
@Resource
private StockInOrderAssembler stockInOrderAssembler;
@Resource
private StockOutOrderAssembler stockOutOrderAssembler;
/**
* 分页查询入库单列表
@@ -65,6 +70,28 @@ public class StockInOrderApi extends BaseController {
}
}
/**
* 编辑入库单
*/
@ApiOperation("编辑入库单")
@PostMapping("/saveAmount")
public AjaxResult saveAmount(@RequestBody StockInOrderDTO stockInOrderDTO)
{
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
return toAjax(stockInOrderApplicationService.saveAmount(stockInOrderDO));
}
/**
* 编辑入库单
*/
@ApiOperation("编辑入库单")
@PostMapping("/saveOutAmount")
public AjaxResult saveOutAmount(@RequestBody StockOutOrderDTO stockOutOrderDTO)
{
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO);
return toAjax(stockInOrderApplicationService.saveOutAmount(stockOutOrderDO));
}
/**
* 批量删除入库单
*/
@@ -98,6 +98,14 @@ public class StockReceiptOrderApi extends BaseController {
return toAjax(stockReceiptOrderApplicationService.completeReceipt(receiptOrderId));
}
@ApiOperation("完成收货")
@PostMapping("/completeReceiptAndUpdateJson")
public AjaxResult completeReceipt(@RequestBody StockReceiptOrderDTO stockReceiptOrderDTO) {
Long receiptOrderId = stockReceiptOrderDTO.getReceiptOrderId();
stockReceiptOrderApplicationService.updateInOrder(stockReceiptOrderDTO);
return toAjax(stockReceiptOrderApplicationService.completeReceipt(receiptOrderId));
}
@ApiOperation("整单收货")
@GetMapping("/entireReceipt/{receiptOrderIds}")
public AjaxResult entireReceipt(@PathVariable("receiptOrderIds") Long[] receiptOrderIds) {
@@ -111,4 +119,4 @@ public class StockReceiptOrderApi extends BaseController {
return AjaxResult.success(list);
}
}
}
@@ -64,13 +64,14 @@ public class StockReceiptOrderAppApi extends BaseController {
}
/**
* PDA:查询当前卡片(计划行)下全部分批收货子行(level=2,库表真实子行,无 parent_copy
* PDA:查询某计划行(卡片)下所有 level=2 分批收货子行(含首笔仅落主行时的主行快照),附带序列号。
*/
@ApiOperation("查询指定收货明细下的分批子行列表(level=2)")
@ApiOperation("按父计划行查询分批收货子行(level=2")
@GetMapping("/listLevel2ChildrenByParent")
public AjaxResult listLevel2ChildrenByParent(
@ApiParam(value = "收货单ID", required = true) @RequestParam Long receiptOrderId,
@ApiParam(value = "卡片对应明细主键 material_detail_id", required = true) @RequestParam Long materialDetailId) {
@ApiParam(value = "收货明细 material_detail_id(计划行或子行均可,会解析到计划父行)", required = true)
@RequestParam Long materialDetailId) {
List<ReceiptMaterialDetailPO> list = stockReceiptOrderApplicationService.listLevel2ChildrenByParentForApp(
receiptOrderId, materialDetailId);
return AjaxResult.success(list);
@@ -93,6 +94,7 @@ public class StockReceiptOrderAppApi extends BaseController {
@ApiOperation("完成收货")
@PostMapping("/completeReceipt")
public AjaxResult completeReceipt(@RequestBody StockReceiptOrderDTO stockReceiptOrderDTO) {
stockReceiptOrderApplicationService.updateInOrder(stockReceiptOrderDTO);
return toAjax(stockReceiptOrderApplicationService.completeReceiptByApp(stockReceiptOrderDTO.getReceiptOrderId()));
}
@@ -112,4 +114,4 @@ public class StockReceiptOrderAppApi extends BaseController {
return toAjax(stockReceiptOrderApplicationService.noOrderReceipt(stockReceiptOrderDO));
}
}
}
@@ -5,11 +5,13 @@ import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.core.web.page.TableDataInfoApi;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.wms.application.service.stockShelfOrder.StockShelfOrderApplicationService;
import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO;
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
import com.mhd.wms.interfaces.assember.stockShelfOrder.StockShelfOrderAssembler;
import com.mhd.wms.interfaces.dto.stockShelfOrder.StockShelfOrderDTO;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -47,7 +49,7 @@ public class StockShelfOrderAppApi extends BaseController {
}
/**
* 获取上架单详细信息(PDA:主项无子项时添加 parent_copy,供详情页从 children 读取数据
* 获取上架单详细信息(PDA:与收货 getInfoByApp 一致保留父子结构;子行计划数量在服务端清空,见 StockShelfOrderApplicationService#getInfo
*/
@ApiOperation("获取上架单")
@GetMapping(value = "/getInfo")
@@ -58,6 +60,19 @@ public class StockShelfOrderAppApi extends BaseController {
return AjaxResult.success(stockShelfOrderApplicationService.getInfo(shelfOrderId, true, shelfStatus));
}
/**
* PDA:查询某计划行(卡片)下所有 level=2 分批上架子行(含首笔仅落主行时的主行快照),附带序列号。
*/
@ApiOperation("按父计划行查询分批上架子行(level=2)")
@GetMapping("/listLevel2ChildrenByParent")
public AjaxResult listLevel2ChildrenByParent(
@ApiParam(value = "上架单ID", required = true) @RequestParam Long shelfOrderId,
@ApiParam(value = "上架明细 material_detail_id(计划行或子行均可,会解析到计划父行)", required = true)
@RequestParam Long materialDetailId) {
List<ShelfMaterialDetailPO> list = stockShelfOrderApplicationService.listLevel2ChildrenByParentForApp(
shelfOrderId, materialDetailId);
return AjaxResult.success(list);
}
@ApiOperation("上架")
@PostMapping("/upShelf")