diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java index 117efb435..a36cd4c49 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java @@ -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入库签名列表查询 + * + *

参照简易模式快捷入库列表 {@link #queryList(StockInOrderDO)} 实现: + * 查询入库单状态为「已入库」(status=5) 的入库单列表, + * 支持按「作业任务人员」(workUserName) like 模糊查询以及其他常规查询条件。

+ */ + public List 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 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 { /** * 获取入库单详细信息 + * + *

回显入库单基本信息、物料明细以及 PDA入库签名相关字段 + * (签名状态、签名时间、签名图片、签名备注)。
+ * 与 PDA入库签名列表({@link #querySignatureList(StockInOrderDO)})字段保持一致, + * 供 PDA 端「入库签名详情页 - 电子签名/物料明细」两个 tab 数据回显使用。

*/ 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; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java index 79d8b2dd6..db0e43999 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java @@ -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; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java index ea9facb43..a80ea5acc 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java @@ -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; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java index 24a41d5ce..0b539d0ce 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java @@ -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; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java index 8abce3094..b23d4bbcc 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java @@ -115,6 +115,26 @@ public class StockInOrderDomainService { return stockInOrderService.queryList(stockInOrderDO); } + /** + * PDA入库签名列表查询 + * + *

参照简易模式快捷入库列表({@link #queryList(StockInOrderDO)})实现, + * 默认查询 status=已入库(5) 的入库单;同时支持「作业任务人员」模糊查询及其他业务字段。

+ * + * @param stockInOrderDO 查询条件 + * @return 入库单列表 + */ + public List querySignatureList(StockInOrderDO stockInOrderDO) { + // 入库签名列表固定按「已入库」状态过滤 + if (stockInOrderDO.getStatus() == null) { + stockInOrderDO.setStatus(5); + } + // 委托给 queryList,复用 selectStockInOrderPo1 中现有的查询条件(包括新加的 workUserNameLike、signatureStatus) + return stockInOrderService.queryList(stockInOrderDO); + } + + + /** * 新增入库单 diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java index b70a0c7a7..ca04d04d2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java @@ -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; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java index 988275c98..f226463f0 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockInOrder/StockInOrderApi.java @@ -64,6 +64,25 @@ public class StockInOrderApi extends BaseController { return getDataTable(list); } + /** + * PDA入库签名列表查询 + * + *

查询入库单状态「已入库」(status=5) 的入库单列表, + * 同时支持「作业任务人员」(workUserName) like 模糊查询, + * 参照简易模式快捷入库列表实现。响应中包含签名相关字段(签名状态、签名时间、签名图片、签名备注)。

+ */ + @ApiOperation("PDA入库签名列表查询") + @GetMapping("/signatureList") + public TableDataInfo signatureList(StockInOrderDTO stockInOrderDTO) { + //转换实体 + StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO); + startPage(); + List list = stockInOrderApplicationService.querySignatureList(stockInOrderDO); + return getDataTable(list); + } + + + /** * 编辑入库单 */ diff --git a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml index 7cfb2cdb0..adbc11667 100644 --- a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml @@ -105,6 +105,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + @@ -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 @@ -356,6 +361,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.TASK_ISSUE_USER_ID like concat('%', #{queryUserId}, '%') + + + and a.WORK_USER_NAME like concat('%', #{workUserNameLike}, '%') + + + + and a.SIGNATURE_STATUS = #{signatureStatus} + and a."TO" like concat('%', #{to}, '%')