生成入库单同步生成电子签名;
This commit is contained in:
+17
-1
@@ -84,6 +84,22 @@ public class ElectronicSignatureDomainService {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存电子签名记录(生成待签名记录)
|
||||||
|
* 业务规则:
|
||||||
|
* 1. 查询是否已有签名记录
|
||||||
|
* 2. 若已签名(SIGNATURE_STATUS=2),跳过
|
||||||
|
* 3. 若待签名(SIGNATURE_STATUS=1),覆盖明细(先逻辑删除旧明细,再插入新明细)
|
||||||
|
* 4. 若不存在,新增主表+明细
|
||||||
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean updateSignature(ElectronicSignatureDO electronicSignatureDO) {
|
||||||
|
Long orderId = electronicSignatureDO.getOrderId();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询电子签名列表
|
* 分页查询电子签名列表
|
||||||
*/
|
*/
|
||||||
@@ -190,4 +206,4 @@ public class ElectronicSignatureDomainService {
|
|||||||
|
|
||||||
return updated;
|
return updated;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+18
-1
@@ -55,6 +55,23 @@ public class ElectronicSignatureApi extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存电子签名记录(WMS端Feign调用)
|
||||||
|
*/
|
||||||
|
@ApiOperation("保存电子签名记录")
|
||||||
|
@PostMapping("/updateSignature")
|
||||||
|
public AjaxResult updateSignature(@RequestBody ElectronicSignatureSaveDTO saveDTO) {
|
||||||
|
try {
|
||||||
|
ElectronicSignatureDO signatureDO = toDO(saveDTO);
|
||||||
|
electronicSignatureDomainService.updateSignature(signatureDO);
|
||||||
|
return AjaxResult.success("电子签名记录保存成功");
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("保存电子签名记录失败", e);
|
||||||
|
return AjaxResult.error("保存电子签名记录失败:" + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询电子签名列表
|
* 分页查询电子签名列表
|
||||||
*/
|
*/
|
||||||
@@ -164,4 +181,4 @@ public class ElectronicSignatureApi extends BaseController {
|
|||||||
}
|
}
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+3
-3
@@ -302,9 +302,9 @@ public class StockInOrderApplicationService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 入库签名列表固定「已入库」状态过滤
|
// 入库签名列表固定「已入库」状态过滤
|
||||||
if (stockInOrderDO.getStatus() == null) {
|
// if (stockInOrderDO.getStatus() == null) {
|
||||||
stockInOrderDO.setStatus(5);
|
// stockInOrderDO.setStatus(5);
|
||||||
}
|
// }
|
||||||
|
|
||||||
List<StockInOrderPO> stockInOrderPOS = stockInOrderDomainService.querySignatureList(stockInOrderDO);
|
List<StockInOrderPO> stockInOrderPOS = stockInOrderDomainService.querySignatureList(stockInOrderDO);
|
||||||
// 状态/签名字段翻译,便于 PDA 端直接展示
|
// 状态/签名字段翻译,便于 PDA 端直接展示
|
||||||
|
|||||||
+67
@@ -1,5 +1,6 @@
|
|||||||
package com.mhd.wms.domain.stockInOrder.service;
|
package com.mhd.wms.domain.stockInOrder.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.TypeReference;
|
import com.alibaba.fastjson.TypeReference;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
@@ -16,7 +17,9 @@ import com.mhd.common.core.utils.bean.BeanUtils;
|
|||||||
import com.mhd.common.core.utils.uuid.IdGenerator;
|
import com.mhd.common.core.utils.uuid.IdGenerator;
|
||||||
import com.mhd.common.core.web.domain.AjaxResult;
|
import com.mhd.common.core.web.domain.AjaxResult;
|
||||||
import com.mhd.common.security.utils.SecurityUtils;
|
import com.mhd.common.security.utils.SecurityUtils;
|
||||||
|
import com.mhd.system.api.OmsServiceFeign;
|
||||||
import com.mhd.system.api.SystemServiceFeign;
|
import com.mhd.system.api.SystemServiceFeign;
|
||||||
|
import com.mhd.system.api.domain.ElectronicSignatureSyncDTO;
|
||||||
import com.mhd.system.api.domain.PackDetailFeignPO;
|
import com.mhd.system.api.domain.PackDetailFeignPO;
|
||||||
import com.mhd.system.api.model.LoginUser;
|
import com.mhd.system.api.model.LoginUser;
|
||||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||||
@@ -97,6 +100,8 @@ public class StockInOrderDomainService {
|
|||||||
private IMaterialWarehouseControlService materialWarehouseControlService;
|
private IMaterialWarehouseControlService materialWarehouseControlService;
|
||||||
@Resource
|
@Resource
|
||||||
private SystemServiceFeign systemServiceFeign;
|
private SystemServiceFeign systemServiceFeign;
|
||||||
|
@Resource
|
||||||
|
private OmsServiceFeign omsServiceFeign;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -428,6 +433,8 @@ public class StockInOrderDomainService {
|
|||||||
if (StringUtils.isEmpty(inOrderNumber)) {
|
if (StringUtils.isEmpty(inOrderNumber)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper<StockInOrder>().lambda()
|
StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper<StockInOrder>().lambda()
|
||||||
.eq(StockInOrder::getInOrderNumber, inOrderNumber)
|
.eq(StockInOrder::getInOrderNumber, inOrderNumber)
|
||||||
.eq(StockInOrder::getDelFlag, 1)
|
.eq(StockInOrder::getDelFlag, 1)
|
||||||
@@ -435,6 +442,15 @@ public class StockInOrderDomainService {
|
|||||||
if (stockInOrder == null || AUDIT_STATUS_PASS == stockInOrder.getAuditStatus()) {
|
if (stockInOrder == null || AUDIT_STATUS_PASS == stockInOrder.getAuditStatus()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//生成电子签名
|
||||||
|
StockInOrderPO info = getInfo(stockInOrder.getInOrderId());
|
||||||
|
List<InMaterialDetail> materialDetails = materialDetailService.list(new QueryWrapper<InMaterialDetail>().lambda()
|
||||||
|
.eq(InMaterialDetail::getInOrderNumber, inOrderNumber)
|
||||||
|
.eq(InMaterialDetail::getDelFlag, 1));
|
||||||
|
genElectronicSignature(info,materialDetails);
|
||||||
|
|
||||||
|
|
||||||
StockInOrderDO auditDO = new StockInOrderDO();
|
StockInOrderDO auditDO = new StockInOrderDO();
|
||||||
auditDO.setInOrderIds(Collections.singletonList(stockInOrder.getInOrderId()));
|
auditDO.setInOrderIds(Collections.singletonList(stockInOrder.getInOrderId()));
|
||||||
auditDO.setAuditStatus(AUDIT_STATUS_PASS);
|
auditDO.setAuditStatus(AUDIT_STATUS_PASS);
|
||||||
@@ -1252,4 +1268,55 @@ public class StockInOrderDomainService {
|
|||||||
public List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO) {
|
public List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO) {
|
||||||
return stockInOrderService.queryNoticePrintDetail(stockInOrderDO);
|
return stockInOrderService.queryNoticePrintDetail(stockInOrderDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成入库电子签名记录(上架完成触发)
|
||||||
|
*/
|
||||||
|
private void genElectronicSignature(StockInOrderPO stockShelfOrderPO, List<InMaterialDetail> shelfMaterialDetailList) {
|
||||||
|
try {
|
||||||
|
ElectronicSignatureSyncDTO dto = new ElectronicSignatureSyncDTO();
|
||||||
|
dto.setOrderId(stockShelfOrderPO.getInOrderId());
|
||||||
|
dto.setOrderNumber(stockShelfOrderPO.getInOrderNumber());
|
||||||
|
dto.setOrderType("IN");
|
||||||
|
dto.setOrganizationId(stockShelfOrderPO.getOrganizationId());
|
||||||
|
dto.setOrganizationName(stockShelfOrderPO.getOrganizationName());
|
||||||
|
dto.setTopOrganizationId(stockShelfOrderPO.getTopOrganizationId());
|
||||||
|
dto.setWarehouseId(stockShelfOrderPO.getWarehouseId());
|
||||||
|
dto.setWarehouseCode(stockShelfOrderPO.getWarehouseCode());
|
||||||
|
dto.setWarehouseName(stockShelfOrderPO.getWarehouseName());
|
||||||
|
|
||||||
|
List<ElectronicSignatureSyncDTO.MaterialDetailItem> items = new ArrayList<>();
|
||||||
|
if (CollectionUtil.isNotEmpty(shelfMaterialDetailList)) {
|
||||||
|
for (InMaterialDetail detail : shelfMaterialDetailList) {
|
||||||
|
ElectronicSignatureSyncDTO.MaterialDetailItem item = new ElectronicSignatureSyncDTO.MaterialDetailItem();
|
||||||
|
item.setMaterialBaseInfoId(detail.getMaterialBaseInfoId());
|
||||||
|
item.setMaterialCode(detail.getMaterialCode());
|
||||||
|
item.setMaterialName(detail.getMaterialName());
|
||||||
|
item.setQuantity(detail.getShelvesQuantity());
|
||||||
|
item.setUnitCode(detail.getUnitCode());
|
||||||
|
item.setUnitName(detail.getUnitName());
|
||||||
|
item.setBatchNumber(detail.getBatchNumber());
|
||||||
|
item.setLotNumber(detail.getLotNo());
|
||||||
|
item.setWarehouseId(detail.getWarehouseId());
|
||||||
|
item.setWarehouseCode(detail.getWarehouseCode());
|
||||||
|
item.setWarehouseName(detail.getWarehouseName());
|
||||||
|
item.setStorageSectionId(detail.getStorageSectionId());
|
||||||
|
item.setStorageSectionCode(detail.getStorageCode());
|
||||||
|
item.setStorageSectionName(detail.getStorageName());
|
||||||
|
item.setStorageLocationId(detail.getStorageLocationId());
|
||||||
|
item.setStorageLocationCode(detail.getStorageLocationCode());
|
||||||
|
item.setStorageLocationName(detail.getStorageLocationName());
|
||||||
|
item.setUniqueId(detail.getUniqueId());
|
||||||
|
items.add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dto.setMaterialDetailList(items);
|
||||||
|
|
||||||
|
log.info("生成入库电子签名记录,订单号:{},物料条目数:{}", stockShelfOrderPO.getInOrderNumber(), items.size());
|
||||||
|
omsServiceFeign.saveSignature(dto);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("生成入库电子签名记录失败,订单号:{}", stockShelfOrderPO.getInOrderNumber(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+1
-1
@@ -879,7 +879,7 @@ public class StockShelfOrderDomainService {
|
|||||||
if (businessOrderNumber != null) stockShelfOrderService.updateOmsReserveOrder(businessOrderNumber,
|
if (businessOrderNumber != null) stockShelfOrderService.updateOmsReserveOrder(businessOrderNumber,
|
||||||
shelvesQuantity == null ? null : shelvesQuantity);
|
shelvesQuantity == null ? null : shelvesQuantity);
|
||||||
//生成电子签名记录
|
//生成电子签名记录
|
||||||
genElectronicSignature(stockShelfOrderPO, shelfMaterialDetailList);
|
// genElectronicSignature(stockShelfOrderPO, shelfMaterialDetailList);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user