入库查询签名列表以及详情

This commit is contained in:
秦鸿展
2026-07-24 16:46:42 +08:00
parent f32f43ab18
commit 21db85ef2b
8 changed files with 235 additions and 2 deletions
@@ -159,7 +159,7 @@ public class StockInOrderApplicationService {
if (loginUser != null && loginUser.getUserPo() != null){
Long userOrganizationId = loginUser.getUserPo().getOrganizationId();
Long frontendOrganizationId = stockInOrderDO.getOrganizationId(); // 前端传递的 organizationId
// 数据权限:根据 organizationId 来设置查询权限
// 当前登录用户的 organizationId 为 2827 时,可查全部组织数据;其他组织只能查自己
if (userOrganizationId != null && userOrganizationId == 2827L) {
@@ -250,6 +250,86 @@ public class StockInOrderApplicationService {
return stockInOrderPOS;
}
/**
* PDA入库签名列表查询
*
* <p>参照简易模式快捷入库列表 {@link #queryList(StockInOrderDO)} 实现:
* 查询入库单状态为「已入库」(status=5) 的入库单列表,
* 支持按「作业任务人员」(workUserName) like 模糊查询以及其他常规查询条件。</p>
*/
public List<StockInOrderPO> querySignatureList(StockInOrderDO stockInOrderDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser != null && loginUser.getUserPo() != null) {
Long userOrganizationId = loginUser.getUserPo().getOrganizationId();
Long frontendOrganizationId = stockInOrderDO.getOrganizationId();
// 数据权限:与 queryList 保持一致
if (userOrganizationId != null && userOrganizationId == 2827L) {
if (frontendOrganizationId != null) {
stockInOrderDO.setOrganizationId(frontendOrganizationId);
stockInOrderDO.setTopOrganizationId(null);
} else {
stockInOrderDO.setOrganizationId(null);
stockInOrderDO.setTopOrganizationId(null);
}
} else {
if (frontendOrganizationId != null && userOrganizationId != null) {
if (!frontendOrganizationId.equals(userOrganizationId)) {
stockInOrderDO.setOrganizationId(userOrganizationId);
}
} else {
if (userOrganizationId != null) {
stockInOrderDO.setOrganizationId(userOrganizationId);
}
}
if (stockInOrderDO.getOrganizationId() == null) {
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
if (topOrganizationId != null && topOrganizationId != 1) {
stockInOrderDO.setTopOrganizationId(topOrganizationId);
}
} else {
stockInOrderDO.setTopOrganizationId(2827L);
}
}
// 默认仓库
if (stockInOrderDO.getWarehouseId() == null) {
AssociationWarehouseCacheDO associationWarehouseCacheDO =
SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (associationWarehouseCacheDO != null) {
stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
}
}
}
// 入库签名列表固定「已入库」状态过滤
if (stockInOrderDO.getStatus() == null) {
stockInOrderDO.setStatus(5);
}
List<StockInOrderPO> stockInOrderPOS = stockInOrderDomainService.querySignatureList(stockInOrderDO);
// 状态/签名字段翻译,便于 PDA 端直接展示
for (StockInOrderPO stockInOrderPO : stockInOrderPOS) {
// 状态名称
Integer status = stockInOrderPO.getStatus();
if (status != null) {
if (status == 5) {
stockInOrderPO.setStatusName("已入库");
}
}
// 签名状态名称
Integer signatureStatus = stockInOrderPO.getSignatureStatus();
if (signatureStatus != null) {
if (signatureStatus == 1) {
stockInOrderPO.setSignatureStatusName("待签名");
} else if (signatureStatus == 2) {
stockInOrderPO.setSignatureStatusName("已签名");
}
}
}
return stockInOrderPOS;
}
/**
* 新增入库单
@@ -537,6 +617,11 @@ public class StockInOrderApplicationService {
/**
* 获取入库单详细信息
*
* <p>回显入库单基本信息、物料明细以及 PDA入库签名相关字段
* (签名状态、签名时间、签名图片、签名备注)。<br>
* 与 PDA入库签名列表({@link #querySignatureList(StockInOrderDO)})字段保持一致,
* 供 PDA 端「入库签名详情页 - 电子签名/物料明细」两个 tab 数据回显使用。</p>
*/
public StockInOrderPO getInfo(Long inOrderId)
{
@@ -552,6 +637,24 @@ public class StockInOrderApplicationService {
info.setMaterialDetailList(materialDetailList);
}
// PDA入库签名 - 签名状态名称翻译(待签名/已签名),便于 PDA 详情页直接展示
Integer signatureStatus = info.getSignatureStatus();
if (signatureStatus != null) {
if (signatureStatus == 1) {
info.setSignatureStatusName("待签名");
} else if (signatureStatus == 2) {
info.setSignatureStatusName("已签名");
}
}
// 入库单状态名称翻译
Integer status = info.getStatus();
if (status != null) {
if (status == 5) {
info.setStatusName("已入库");
}
}
return info;
}
@@ -392,4 +392,19 @@ public class StockInOrder extends BaseVOEntity {
@ApiModelProperty("任务下发用户ID")
private String taskIssueUserId;
// ========== PDA入库签名字段 ==========
@ApiModelProperty("签名状态:1-待签名 2-已签名")
private Integer signatureStatus;
@ApiModelProperty("签名时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date signatureTime;
@ApiModelProperty("签名图片(base64/URL")
private String signaturePic;
@ApiModelProperty("签名备注")
private String signatureRemark;
}
@@ -453,4 +453,22 @@ public class StockInOrderPO extends BaseVOEntity {
@ApiModelProperty("任务下发用户ID")
private String taskIssueUserId;
// ========== PDA入库签名字段 ==========
@ApiModelProperty("签名状态:1-待签名 2-已签名")
private Integer signatureStatus;
@ApiModelProperty("签名状态名称")
private String signatureStatusName;
@ApiModelProperty("签名时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date signatureTime;
@ApiModelProperty("签名图片(base64/URL")
private String signaturePic;
@ApiModelProperty("签名备注")
private String signatureRemark;
}
@@ -448,4 +448,29 @@ public class StockInOrderDO extends BaseVOEntity {
@ApiModelProperty("任务移除用户ID")
private String removeUserId;
// ========== PDA入库签名字段 ==========
@ApiModelProperty("签名状态:1-待签名 2-已签名")
private Integer signatureStatus;
@ApiModelProperty("签名状态名称")
private String signatureStatusName;
@ApiModelProperty("签名时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date signatureTime;
@ApiModelProperty("签名图片(base64/URL")
private String signaturePic;
@ApiModelProperty("签名备注")
private String signatureRemark;
/**
* PDA入库签名列表专用:作业任务人员模糊查询字段(与 workUserName LIKE 同义,
* 单独提供是为了避免和现有 workUserName(精确/等值)逻辑冲突)。
*/
@ApiModelProperty("作业任务人员模糊查询")
private String workUserNameLike;
}
@@ -115,6 +115,26 @@ public class StockInOrderDomainService {
return stockInOrderService.queryList(stockInOrderDO);
}
/**
* PDA入库签名列表查询
*
* <p>参照简易模式快捷入库列表({@link #queryList(StockInOrderDO)})实现,
* 默认查询 status=已入库(5) 的入库单;同时支持「作业任务人员」模糊查询及其他业务字段。</p>
*
* @param stockInOrderDO 查询条件
* @return 入库单列表
*/
public List<StockInOrderPO> querySignatureList(StockInOrderDO stockInOrderDO) {
// 入库签名列表固定按「已入库」状态过滤
if (stockInOrderDO.getStatus() == null) {
stockInOrderDO.setStatus(5);
}
// 委托给 queryList,复用 selectStockInOrderPo1 中现有的查询条件(包括新加的 workUserNameLike、signatureStatus
return stockInOrderService.queryList(stockInOrderDO);
}
/**
* 新增入库单
@@ -445,4 +445,24 @@ public class StockInOrderDTO extends StockInOrderBaseDTO {
@ApiModelProperty("任务移除用户ID")
private String removeUserId;
// ========== PDA入库签名字段 ==========
@ApiModelProperty("签名状态:1-待签名 2-已签名")
private Integer signatureStatus;
@ApiModelProperty("签名时间起")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date signatureTimeFrom;
@ApiModelProperty("签名时间止")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date signatureTimeTo;
/**
* PDA入库签名列表专用作业任务人员模糊查询字段
*/
@ApiModelProperty("作业任务人员(模糊查询)")
private String workUserNameLike;
}
@@ -64,6 +64,25 @@ public class StockInOrderApi extends BaseController {
return getDataTable(list);
}
/**
* PDA入库签名列表查询
*
* <p>查询入库单状态已入库(status=5) 的入库单列表
* 同时支持作业任务人员(workUserName) like 模糊查询
* 参照简易模式快捷入库列表实现响应中包含签名相关字段签名状态签名时间签名图片签名备注</p>
*/
@ApiOperation("PDA入库签名列表查询")
@GetMapping("/signatureList")
public TableDataInfo signatureList(StockInOrderDTO stockInOrderDTO) {
//转换实体
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
startPage();
List<StockInOrderPO> list = stockInOrderApplicationService.querySignatureList(stockInOrderDO);
return getDataTable(list);
}
/**
* 编辑入库单
*/
@@ -105,6 +105,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="workUserName" column="WORK_USER_NAME" />
<result property="workTaskReceiveStatus" column="WORK_TASK_RECEIVE_STATUS" />
<result property="taskIssueUserId" column="TASK_ISSUE_USER_ID" />
<result property="signatureStatus" column="SIGNATURE_STATUS" />
<result property="signatureTime" column="SIGNATURE_TIME" />
<result property="signaturePic" column="SIGNATURE_PIC" />
<result property="signatureRemark" column="SIGNATURE_REMARK" />
</resultMap>
<sql id="selectStockInOrderPo">
@@ -138,7 +142,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER,
a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO,
a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT,
a.WAREHOUSE_DATE, a.COMPLETION_TIME, a.ORDER_DATE,a.stock_in_order,a.business_order_no,a.WORK_USER_ID,a.WORK_TASK_RECEIVE_STATUS,a.TASK_ISSUE_USER_ID,a.WORK_USER_NAME
a.WAREHOUSE_DATE, a.COMPLETION_TIME, a.ORDER_DATE,a.stock_in_order,a.business_order_no,a.WORK_USER_ID,a.WORK_TASK_RECEIVE_STATUS,a.TASK_ISSUE_USER_ID,a.WORK_USER_NAME,
a.SIGNATURE_STATUS, a.SIGNATURE_TIME, a.SIGNATURE_PIC, a.SIGNATURE_REMARK
</sql>
<sql id="joinStockInOrderPo">
@@ -356,6 +361,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="queryUserId != null">
and a.TASK_ISSUE_USER_ID like concat('%', #{queryUserId}, '%')
</if>
<!-- PDA入库签名列表:作业任务人员模糊查询 -->
<if test="workUserNameLike != null and workUserNameLike != ''">
and a.WORK_USER_NAME like concat('%', #{workUserNameLike}, '%')
</if>
<!-- PDA入库签名列表:按签名状态精确查询 -->
<if test="signatureStatus != null">
and a.SIGNATURE_STATUS = #{signatureStatus}
</if>
<!-- 报关相关字段查询条件 -->
<if test="to != null and to != ''">
and a."TO" like concat('%', #{to}, '%')