20260409修改内容

This commit is contained in:
秦鸿展
2026-04-10 09:29:26 +08:00
parent fd5e81e5ff
commit bfb3c92678
11 changed files with 249 additions and 14 deletions
@@ -54,6 +54,7 @@ public class ReviewOrderDTO extends BaseVOEntity {
private String receiveTimeEnd;
@ApiModelProperty("复核单ID集合")
@JsonAlias({"outOrderIds"})
private List<Long> reviewOrderIds;
@ApiModelProperty("复核作业人用户ID(复核下发可选,未传则默认当前登录人)")
@@ -65,4 +66,7 @@ public class ReviewOrderDTO extends BaseVOEntity {
@ApiModelProperty("复核明细列表(用于批量复核/取消复核)")
@JsonAlias({"materialDetailList"})
private List<ReviewMaterialDetailPO> details;
@ApiModelProperty("PDA 列表 Tab:2=历史(已复核),其它=待办(待复核/复核中)")
private Integer tabType;
}
@@ -158,6 +158,10 @@ public class ShelfMaterialDetailDTO extends BaseVOEntity {
@Excel(name = "批次号")
private String batchNumber;
@ApiModelProperty("LOT编号")
@Excel(name = "LOT编号")
private String lotNumber;
@ApiModelProperty("物料状态编码")
@Excel(name = "物料状态编码")
private String materialStatusCode;
@@ -0,0 +1,116 @@
package com.mhd.wms.interfaces.facadeApp.reviewOrder;
import cn.hutool.json.JSONUtil;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.web.controller.BaseController;
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.system.api.domain.cache.AssociationWarehouseCacheDO;
import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
import com.mhd.system.api.model.LoginUser;
import com.mhd.wms.application.service.reviewOrder.ReviewOrderApplicationService;
import com.mhd.wms.domain.reviewOrder.repository.po.ReviewOrderPO;
import com.mhd.wms.domain.reviewOrder.repository.todo.ReviewOrderDO;
import com.mhd.wms.interfaces.assember.reviewOrder.ReviewOrderAssembler;
import com.mhd.wms.interfaces.dto.reviewOrder.ReviewOrderDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* PDA 复核单接口:列表、详情、提交复核、取消复核、完成复核。
* 数据口径以 {@code REVIEW_ORDER}、{@code REVIEW_MATERIAL_DETAIL} 为准(与 PC {@code ReviewOrderApi} 同源服务)。
*
* @see com.mhd.wms.interfaces.facadeApi.reviewOrder.ReviewOrderApi
* @see com.mhd.wms.interfaces.facadeApp.stockOutOrder.StockOutOrderAppApi
*/
@Api(tags = "PDA复核单")
@RestController
@RequestMapping("/reviewOrderAppApi")
public class ReviewOrderAppApi extends BaseController {
@Autowired
private ReviewOrderApplicationService reviewOrderApplicationService;
@Resource
private ReviewOrderAssembler reviewOrderAssembler;
/**
* 分页查询复核单列表(仅已下发任务,按当前用户仓库过滤)
* <ul>
* <li>{@code tabType=2}:历史({@code review_status=3} 已复核)</li>
* <li>其它:待办({@code review_status &lt; 3},待复核/复核中)</li>
* </ul>
*/
@ApiOperation("PDA 复核单列表(REVIEW_ORDER")
@GetMapping("/list")
public TableDataInfoApi list(ReviewOrderDTO reviewOrderDTO) {
ReviewOrderDO query = reviewOrderAssembler.toDO(reviewOrderDTO);
startPage();
LoginUser loginUser = SecurityUtils.getLoginUser();
UserPo userPo = loginUser.getUserPo();
query.setOrganizationId(userPo.getOrganizationId());
query.setTopOrganizationId(userPo.getTopOrganizationId());
AssociationWarehouseCacheDO wh = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (wh != null) {
query.setWarehouseId(wh.getWarehouseId());
}
List<ReviewOrderPO> list = reviewOrderApplicationService.queryListForPda(query);
return getDataTableApi(list);
}
/**
* 复核单详情(头 + REVIEW_MATERIAL_DETAIL 明细,含批次展示字段)
*/
@ApiOperation("PDA 复核单详情")
@GetMapping("/getInfo")
public AjaxResult getInfo(@RequestParam("reviewOrderId") Long reviewOrderId) {
return AjaxResult.success(reviewOrderApplicationService.getDetailByReviewOrderId(reviewOrderId));
}
@ApiOperation("PDA 按复核单号查详情")
@GetMapping("/getInfoByNumber")
public AjaxResult getInfoByNumber(@RequestParam("reviewOrderNumber") String reviewOrderNumber) {
return AjaxResult.success(reviewOrderApplicationService.getDetailByReviewOrderNumber(reviewOrderNumber));
}
/**
* 提交复核(更新 REVIEW_MATERIAL_DETAIL 已复核/待复核数量等,与 PC batchCheck 一致)
*/
@ApiOperation("PDA 提交复核")
@PostMapping("/check")
public AjaxResult check(@RequestBody ReviewOrderDTO reviewOrderDTO) {
ReviewOrderDO cmd = JSONUtil.toBean(JSONUtil.toJsonStr(reviewOrderDTO), ReviewOrderDO.class);
return toAjax(reviewOrderApplicationService.batchCheck(cmd));
}
/**
* 取消复核(与 PC batchCancelCheck 一致)
*/
@ApiOperation("PDA 取消复核")
@PostMapping("/cancelCheck")
public AjaxResult cancelCheck(@RequestBody ReviewOrderDTO reviewOrderDTO) {
ReviewOrderDO cmd = reviewOrderAssembler.toDO(reviewOrderDTO);
return toAjax(reviewOrderApplicationService.batchCancelCheck(cmd));
}
/**
* 完成复核确认(无待复核数量时可确认,同步出库明细并生成交接等,与 PC checkConfirm 一致)
*/
@ApiOperation("PDA 完成复核")
@PostMapping("/completeCheck")
public AjaxResult completeCheck(@RequestBody ReviewOrderDTO reviewOrderDTO) {
ReviewOrderDO cmd = JSONUtil.toBean(JSONUtil.toJsonStr(reviewOrderDTO), ReviewOrderDO.class);
return toAjax(reviewOrderApplicationService.checkConfirm(cmd));
}
}