OMS批量签名
This commit is contained in:
+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