feat(transfer): 添加调拨单审批功能和调拨类型字段

- 在WmsTransferOrder实体中添加调拨类型、审批人、审批时间和审批状态字段
- 在WmsMaterialCoil实体中添加调拨类型字段用于关联调拨信息
- 实现调拨单审批接口,支持通过或驳回操作
- 更新调拨单明细处理逻辑,确保调拨类型正确传递到钢卷信息
- 添加调拨单取消功能,可恢复调拨前的状态
- 在导出VO中增加调拨类型字段支持Excel导出
- 更新查询条件支持按调拨类型、审批状态等字段筛选
- 完善调拨流程中的数据验证和错误处理机制
This commit is contained in:
2026-04-10 09:24:42 +08:00
parent 255a6dc616
commit c8987f6fdd
15 changed files with 224 additions and 33 deletions

View File

@@ -10,6 +10,7 @@ import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.klp.common.helper.LoginHelper;
import com.klp.domain.bo.WmsTransferOrderBo;
import com.klp.domain.vo.WmsTransferOrderVo;
import com.klp.domain.WmsTransferOrder;
@@ -19,6 +20,7 @@ import com.klp.mapper.WmsTransferOrderItemMapper;
import com.klp.service.IWmsTransferOrderService;
import com.klp.service.IWmsTransferOrderItemService;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Collection;
@@ -71,6 +73,10 @@ public class WmsTransferOrderServiceImpl implements IWmsTransferOrderService {
lqw.like(StringUtils.isNotBlank(bo.getTransferName()), WmsTransferOrder::getTransferName, bo.getTransferName());
lqw.eq(bo.getTransferStatus() != null, WmsTransferOrder::getTransferStatus, bo.getTransferStatus());
lqw.eq(bo.getTransferTime() != null, WmsTransferOrder::getTransferTime, bo.getTransferTime());
lqw.like(StringUtils.isNotBlank(bo.getTransferType()), WmsTransferOrder::getTransferType, bo.getTransferType());
lqw.like(StringUtils.isNotBlank(bo.getApproveBy()), WmsTransferOrder::getApproveBy, bo.getApproveBy());
lqw.eq(bo.getApproveStatus() != null, WmsTransferOrder::getApproveStatus, bo.getApproveStatus());
lqw.eq(bo.getApproveTime() != null, WmsTransferOrder::getApproveTime, bo.getApproveTime());
return lqw;
}
@@ -125,4 +131,22 @@ public class WmsTransferOrderServiceImpl implements IWmsTransferOrderService {
// 再删除调拨单主记录
return baseMapper.deleteBatchIds(ids) > 0;
}
/**
* 审批调拨单
*/
@Override
public Boolean approve(Long orderId, Integer approveStatus) {
WmsTransferOrder order = baseMapper.selectById(orderId);
if (order == null) {
throw new RuntimeException("调拨单不存在");
}
if (order.getApproveStatus() != null && order.getApproveStatus() != 0) {
throw new RuntimeException("该调拨单已审批,不能重复审批");
}
order.setApproveStatus(approveStatus);
order.setApproveBy(LoginHelper.getUsername());
order.setApproveTime(new Date());
return baseMapper.updateById(order) > 0;
}
}