Merge branch 'dev' into dev-ty1.2
# Conflicts: # mhd_wms/src/main/java/com/mhd/wms/domain/handoverTaskOrder/service/HandoverTaskOrderDomainService.java # mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java # mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/todo/StockOutOrderDO.java # mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java # mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java
This commit is contained in:
+17
@@ -387,6 +387,23 @@ public class InMaterialDetailDTO extends BaseVOEntity {
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
private Date drinkDate;
|
||||
|
||||
@ApiModelProperty("来货验收是否合格;1 合格,0 不合格")
|
||||
@Excel(name = "来货验收是否合格;1 合格,0 不合格")
|
||||
private String arrivalAcceptQualified;
|
||||
|
||||
@ApiModelProperty("包装是否破损;1 破损,0 完好")
|
||||
@Excel(name = "包装是否破损;1 破损,0 完好")
|
||||
private String packageDamaged;
|
||||
|
||||
@ApiModelProperty("是否解冻 / 水渍;1 是,0 否")
|
||||
@Excel(name = "是否解冻 / 水渍;1 是,0 否")
|
||||
private String isThawWaterstain;
|
||||
|
||||
@ApiModelProperty("问题货是否已通知客户;1 已通知,0 未通知")
|
||||
@Excel(name = "问题货是否已通知客户;1 已通知,0 未通知")
|
||||
private String notifyCustomerAbnormal;
|
||||
|
||||
//订单行号
|
||||
private String lineNumGw;
|
||||
//物料规格
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.mhd.wms.interfaces.dto.signature;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* PDA批量签名请求DTO
|
||||
*
|
||||
* <p>支持四种签名方式:电子签名、附件上传、扫二维码、系统自动。</p>
|
||||
*/
|
||||
@Data
|
||||
public class BatchSignatureDTO {
|
||||
|
||||
@ApiModelProperty("入库单ID列表")
|
||||
private List<Long> inOrderIds;
|
||||
|
||||
@ApiModelProperty("出库单ID列表")
|
||||
private List<Long> outOrderIds;
|
||||
|
||||
@ApiModelProperty("签名状态:2-已签名(PDA端直接传2表示签完)")
|
||||
private Integer signatureStatus;
|
||||
|
||||
@ApiModelProperty("签名时间(PDA端可传当前时间)")
|
||||
@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("拍照取证图片列表(base64或URL,多张)")
|
||||
private List<String> evidencePics;
|
||||
|
||||
@ApiModelProperty("签名备注")
|
||||
private String signatureRemark;
|
||||
|
||||
@ApiModelProperty("签名方式:1-扫描二维码 2-电子签名 3-打印手写签名 4-超时自动签名")
|
||||
private Integer signatureMode;
|
||||
}
|
||||
@@ -448,4 +448,24 @@ public class StockInOrderDTO extends StockInOrderBaseDTO {
|
||||
|
||||
@ApiModelProperty("是否返回物料明细(导出时传 true)")
|
||||
private Boolean needDetail;
|
||||
|
||||
// ========== 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;
|
||||
}
|
||||
@@ -505,4 +505,12 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO {
|
||||
|
||||
@ApiModelProperty("是否返回物料明细(导出时传 true)")
|
||||
private Boolean needDetail;
|
||||
|
||||
// ========== PDA出库签名字段 ==========
|
||||
@ApiModelProperty("签名状态:1-待签名 2-已签名")
|
||||
private Integer signatureStatus;
|
||||
|
||||
/** PDA出库签名列表专用:作业任务人员模糊查询字段 */
|
||||
@ApiModelProperty("作业任务人员(模糊查询)")
|
||||
private String workUserNameLike;
|
||||
}
|
||||
+52
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 编辑入库单
|
||||
*/
|
||||
@@ -219,6 +238,28 @@ public class StockInOrderApi extends BaseController {
|
||||
return AjaxResult.success(stockInOrderApplicationService.receiptEasyMode(stockInOrderDO));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 审核入库单
|
||||
*/
|
||||
@ApiOperation("pda简易模式调整备注")
|
||||
@PostMapping(value = "/remarkEasyMode")
|
||||
public AjaxResult remarkEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) {
|
||||
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
|
||||
List<InMaterialDetailDTO> materialDetailList = stockInOrderDTO.getMaterialDetailList();
|
||||
if (materialDetailList != null && !materialDetailList.isEmpty()) {
|
||||
List<InMaterialDetailDO> inMaterialDetailDOList = new ArrayList<>();
|
||||
for (InMaterialDetailDTO dto : materialDetailList) {
|
||||
InMaterialDetailDO detailDO = new InMaterialDetailDO();
|
||||
BeanUtils.copyProperties(dto, detailDO);
|
||||
inMaterialDetailDOList.add(detailDO);
|
||||
}
|
||||
stockInOrderDO.setMaterialDetailList(inMaterialDetailDOList);
|
||||
}
|
||||
|
||||
return AjaxResult.success(stockInOrderApplicationService.remarkEasyMode(stockInOrderDO));
|
||||
}
|
||||
|
||||
@ApiOperation("pda简易模式修改计划数量")
|
||||
@GetMapping(value = "/updateQuantity")
|
||||
public AjaxResult updateQuantity(@RequestParam BigDecimal quantity,
|
||||
@@ -295,4 +336,15 @@ public class StockInOrderApi extends BaseController {
|
||||
return stockInOrderApplicationService.batchPush(idList);
|
||||
}
|
||||
|
||||
/**
|
||||
* PDA批量入库签名
|
||||
*
|
||||
* <p>勾选多条入库记录批量签名,更新入库表的签名状态、签名时间、签名图片、签名备注。</p>
|
||||
*/
|
||||
@ApiOperation("PDA批量入库签名")
|
||||
@PostMapping("/batchSignature")
|
||||
public AjaxResult batchSignature(@RequestBody com.mhd.wms.interfaces.dto.signature.BatchSignatureDTO dto) {
|
||||
return stockInOrderApplicationService.batchSignature(dto);
|
||||
}
|
||||
|
||||
}
|
||||
+27
@@ -116,6 +116,22 @@ public class StockOutOrderApi extends BaseController {
|
||||
return handoverTaskOrderDomainService.customsConfirmOut(outOrderNumbers);
|
||||
}
|
||||
|
||||
/**
|
||||
* PDA出库签名列表查询
|
||||
*
|
||||
* <p>查询出库单状态「已出库」(status=9) 的出库单列表,
|
||||
* 支持「作业任务人员」(workUserName) like 模糊查询,
|
||||
* 参照简易模式快捷出库列表实现。</p>
|
||||
*/
|
||||
@ApiOperation("PDA出库签名列表查询")
|
||||
@GetMapping("/signatureList")
|
||||
public TableDataInfo signatureList(StockOutOrderDTO stockOutOrderDTO) {
|
||||
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO);
|
||||
startPage();
|
||||
List<StockOutOrderPO> list = stockOutOrderApplicationService.querySignatureList(stockOutOrderDO);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传并解析出仓委托单Excel
|
||||
*/
|
||||
@@ -582,4 +598,15 @@ public class StockOutOrderApi extends BaseController {
|
||||
}
|
||||
return stockOutOrderApplicationService.batchPush(idList);
|
||||
}
|
||||
|
||||
/**
|
||||
* PDA批量出库签名
|
||||
*
|
||||
* <p>勾选多条出库记录批量签名,更新出库表的签名状态、签名时间、签名图片、签名备注。</p>
|
||||
*/
|
||||
@ApiOperation("PDA批量出库签名")
|
||||
@PostMapping("/batchSignature")
|
||||
public AjaxResult batchSignature(@RequestBody com.mhd.wms.interfaces.dto.signature.BatchSignatureDTO dto) {
|
||||
return stockOutOrderApplicationService.batchSignature(dto);
|
||||
}
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
package com.mhd.wms.interfaces.facadeApi.stockSignature;
|
||||
|
||||
import com.mhd.common.core.web.controller.BaseController;
|
||||
import com.mhd.common.core.web.domain.AjaxResult;
|
||||
import com.mhd.system.api.domain.SignatureBatchFeignDTO;
|
||||
import com.mhd.wms.application.service.stockInOrder.StockInOrderApplicationService;
|
||||
import com.mhd.wms.application.service.stockOutOrder.StockOutOrderApplicationService;
|
||||
import com.mhd.wms.interfaces.dto.signature.BatchSignatureDTO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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.RestController;
|
||||
|
||||
/**
|
||||
* 库存签名API(供OMS端Feign调用,统一更新WMS入/出库单签名字段)
|
||||
*
|
||||
* <p>OMS端批量签名后,通过Feign调用此API,
|
||||
* 更新WMS stock_in_order / stock_out_order 表的签名状态、签名时间、签名图片、签名备注。</p>
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/stockSignatureApi")
|
||||
@Api(tags = "库存签名(OMS→WMS)")
|
||||
public class StockSignatureApi extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private StockInOrderApplicationService stockInOrderApplicationService;
|
||||
|
||||
@Autowired
|
||||
private StockOutOrderApplicationService stockOutOrderApplicationService;
|
||||
|
||||
/**
|
||||
* 批量签名(OMS→WMS)
|
||||
*
|
||||
* <p>接收SignatureBatchFeignDTO,映射为BatchSignatureDTO后,分别调用
|
||||
* StockInOrderApplicationService.batchSignature 和
|
||||
* StockOutOrderApplicationService.batchSignature。</p>
|
||||
*/
|
||||
@ApiOperation("OMS批量签名-更新WMS入/出库单签名字段")
|
||||
@PostMapping("/batchSign")
|
||||
public AjaxResult batchSign(@RequestBody SignatureBatchFeignDTO dto) {
|
||||
if (dto == null) {
|
||||
return AjaxResult.error("请求参数不能为空");
|
||||
}
|
||||
boolean hasIn = dto.getInOrderIds() != null && !dto.getInOrderIds().isEmpty();
|
||||
boolean hasOut = dto.getOutOrderIds() != null && !dto.getOutOrderIds().isEmpty();
|
||||
if (!hasIn && !hasOut) {
|
||||
return AjaxResult.error("请指定入库单ID列表或出库单ID列表");
|
||||
}
|
||||
|
||||
// 映射 SignatureBatchFeignDTO → BatchSignatureDTO
|
||||
BatchSignatureDTO batchDTO = new BatchSignatureDTO();
|
||||
batchDTO.setInOrderIds(dto.getInOrderIds());
|
||||
batchDTO.setOutOrderIds(dto.getOutOrderIds());
|
||||
batchDTO.setSignatureStatus(dto.getSignatureStatus() != null ? dto.getSignatureStatus() : 2);
|
||||
batchDTO.setSignatureTime(dto.getSignatureTime());
|
||||
batchDTO.setSignaturePic(dto.getSignaturePic());
|
||||
batchDTO.setSignatureRemark(dto.getSignatureRemark());
|
||||
// evidencePics: Feign DTO中是comma-separated String → List<String>
|
||||
if (dto.getEvidencePics() != null && !dto.getEvidencePics().isEmpty()) {
|
||||
batchDTO.setEvidencePics(java.util.Arrays.asList(dto.getEvidencePics().split(",")));
|
||||
}
|
||||
|
||||
String msg = "";
|
||||
if (hasIn) {
|
||||
AjaxResult inResult = stockInOrderApplicationService.batchSignature(batchDTO);
|
||||
log.info("OMS→WMS批量入库签名完成:{}条,结果:{}", dto.getInOrderIds().size(),
|
||||
inResult != null ? inResult.get("msg") : "OK");
|
||||
msg += "入库签名完成";
|
||||
}
|
||||
if (hasOut) {
|
||||
AjaxResult outResult = stockOutOrderApplicationService.batchSignature(batchDTO);
|
||||
log.info("OMS→WMS批量出库签名完成:{}条,结果:{}", dto.getOutOrderIds().size(),
|
||||
outResult != null ? outResult.get("msg") : "OK");
|
||||
if (!msg.isEmpty()) msg += ",";
|
||||
msg += "出库签名完成";
|
||||
}
|
||||
|
||||
return AjaxResult.success(msg);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user