feat(repository): 生成新的实体和接口

- 生成 IWmsInTaskItemService、IWmsInTaskService、IWmsSrmMaterialReceiptService 接口
- 生成 WmsInTask、WmsInTaskItem、WmsSrmMaterialReceipt 实体类
- 生成 WmsInTaskItemMapper、WmsInTaskMapper、WmsSrmMaterialReceiptMapper 映射接口
- 更新 SRMController 中的代码,使用新的实体和接口- 删除旧的 WmsTask、WmsTaskItem 实体和相关接口
This commit is contained in:
zhangke 2025-07-25 16:52:40 +08:00
parent cc46fe1364
commit c7b0c89970
20 changed files with 295 additions and 141 deletions

View File

@ -6,10 +6,10 @@ import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.nflg.wms.common.pojo.qo.SRMOrderReceiveQO;
import com.nflg.wms.common.pojo.qo.SRMQualityInspectionResult;
import com.nflg.wms.repository.entity.WmsInTaskItem;
import com.nflg.wms.repository.entity.WmsSrmOrder;
import com.nflg.wms.repository.entity.WmsSrmOrderItem;
import com.nflg.wms.repository.entity.WmsSrmQualityInspection;
import com.nflg.wms.repository.entity.WmsTaskItem;
import com.nflg.wms.repository.service.*;
import com.nflg.wms.starter.BaseController;
import jakarta.annotation.Resource;
@ -43,7 +43,7 @@ public class SRMController extends BaseController {
private IWmsSrmQualityInspectionService srmQualityInspectionService;
@Resource
private IWmsTaskService taskService;
private IWmsInTaskService taskService;
/**
* 接收SRM送货单
@ -93,7 +93,7 @@ public class SRMController extends BaseController {
WmsSrmQualityInspection inspect = srmQualityInspectionService.lambdaQuery()
.eq(WmsSrmQualityInspection::getInspectionNum, request.getInspectionNum())
.one();
List<WmsTaskItem> tasks = new ArrayList<WmsTaskItem>();
List<WmsInTaskItem> tasks = new ArrayList<WmsInTaskItem>();
if (Objects.nonNull(inspect)) {
inspect.setFactory(request.getFactory())
.setDeliveryQty(request.getDeliveryQty())
@ -141,7 +141,7 @@ public class SRMController extends BaseController {
result = srmQualityInspectionService.save(inspect) ? 0 : 1;
}
tasks.add(
new WmsTaskItem().setItemCode(request.getItemCode())
new WmsInTaskItem().setItemCode(request.getItemCode())
.setItemName(request.getItemName())
.setReceivedWarehouse(request.getReceivedWarehouse())
.setInspectionQty(request.getInspectionQty())
@ -161,7 +161,7 @@ public class SRMController extends BaseController {
);
if (result == 0 && CollectionUtil.isNotEmpty(tasks))
if (!taskService.generateTask(tasks, "普通物料送货单"))
if (!taskService.generateTask(tasks, (short) 1))
log.error("质检单生成上架任务失败");
return result;

View File

@ -22,9 +22,9 @@ import java.time.LocalDateTime;
@Getter
@Setter
@ToString
@TableName("wms_task")
@Accessors(chain = true)
public class WmsTask implements Serializable {
@TableName("wms_in_task")
public class WmsInTask implements Serializable {
private static final long serialVersionUID = 1L;
@ -37,9 +37,9 @@ public class WmsTask implements Serializable {
private String taskNumber;
/**
* 任务来源普通物料采购收货
* 1钢构包送货单 2普通物料送货单
*/
private String taskFrom;
private Short taskFrom;
/**
* 任务源单号
@ -54,5 +54,15 @@ public class WmsTask implements Serializable {
/**
* 最后一次添加任务单的时间
*/
private LocalDateTime modifyTime;
private LocalDateTime updateTime;
/**
* 0 待上架 1 上架中 2 已上架
*/
private Short taskStatus;
/**
* SAP 同步成功或失败
*/
private Boolean sapStatus;
}

View File

@ -24,8 +24,8 @@ import java.time.LocalDateTime;
@Setter
@ToString
@Accessors(chain = true)
@TableName("wms_task_item")
public class WmsTaskItem implements Serializable {
@TableName("wms_in_task_item")
public class WmsInTaskItem implements Serializable {
private static final long serialVersionUID = 1L;

View File

@ -0,0 +1,66 @@
package com.nflg.wms.repository.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName("wms_srm_material_receipt")
public class WmsSrmMaterialReceipt implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
/**
* 普通物料送货单的详情ID
*/
private Long orderItemId;
/**
* 收货数量如果是需要质检的数量为0
*/
private BigDecimal receiptNum;
/**
* 是否质检
*/
private Boolean isQuality;
/**
* 越库数量
*/
private BigDecimal crossNumber;
/**
* 收货数量
*/
private LocalDateTime createTime;
/**
* 收货人编号
*/
private Integer createUserId;
/**
* 收货人名称
*/
private String createUserName;
}

View File

@ -1,7 +1,7 @@
package com.nflg.wms.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nflg.wms.repository.entity.WmsTaskItem;
import com.nflg.wms.repository.entity.WmsInTaskItem;
/**
* <p>
@ -11,6 +11,6 @@ import com.nflg.wms.repository.entity.WmsTaskItem;
* @author 代码生成器生成
* @since 2025
*/
public interface WmsTaskItemMapper extends BaseMapper<WmsTaskItem> {
public interface WmsInTaskItemMapper extends BaseMapper<WmsInTaskItem> {
}

View File

@ -1,7 +1,7 @@
package com.nflg.wms.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nflg.wms.repository.entity.WmsTask;
import com.nflg.wms.repository.entity.WmsInTask;
/**
* <p>
@ -11,6 +11,6 @@ import com.nflg.wms.repository.entity.WmsTask;
* @author 代码生成器生成
* @since 2025
*/
public interface WmsTaskMapper extends BaseMapper<WmsTask> {
public interface WmsInTaskMapper extends BaseMapper<WmsInTask> {
}

View File

@ -0,0 +1,16 @@
package com.nflg.wms.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nflg.wms.repository.entity.WmsSrmMaterialReceipt;
/**
* <p>
* Mapper 接口
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
public interface WmsSrmMaterialReceiptMapper extends BaseMapper<WmsSrmMaterialReceipt> {
}

View File

@ -1,8 +1,10 @@
package com.nflg.wms.repository.service;
import com.nflg.wms.repository.entity.WmsTaskItem;
import com.nflg.wms.repository.entity.WmsInTaskItem;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 服务类
@ -11,6 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @author 代码生成器生成
* @since 2025
*/
public interface IWmsTaskItemService extends IService<WmsTaskItem> {
public interface IWmsInTaskItemService extends IService<WmsInTaskItem> {
}

View File

@ -0,0 +1,26 @@
package com.nflg.wms.repository.service;
import com.nflg.wms.repository.entity.WmsInTask;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nflg.wms.repository.entity.WmsInTaskItem;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
public interface IWmsInTaskService extends IService<WmsInTask> {
/**
* 生成入库任务
* @param tasks 任务详情
* @param taskSource 来源 1钢构包送货单 2普通物料送货单
* @return
*/
boolean generateTask(List<WmsInTaskItem> tasks, short taskSource) ;
}

View File

@ -0,0 +1,16 @@
package com.nflg.wms.repository.service;
import com.nflg.wms.repository.entity.WmsSrmMaterialReceipt;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
public interface IWmsSrmMaterialReceiptService extends IService<WmsSrmMaterialReceipt> {
}

View File

@ -1,22 +0,0 @@
package com.nflg.wms.repository.service;
import com.nflg.wms.repository.entity.WmsTask;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nflg.wms.repository.entity.WmsTaskItem;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
public interface IWmsTaskService extends IService<WmsTask> {
/**
生成任务单
*/
boolean generateTask(List<WmsTaskItem> tasks, String taskSource);
}

View File

@ -0,0 +1,20 @@
package com.nflg.wms.repository.service.impl;
import com.nflg.wms.repository.entity.WmsInTaskItem;
import com.nflg.wms.repository.mapper.WmsInTaskItemMapper;
import com.nflg.wms.repository.service.IWmsInTaskItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
@Service
public class WmsInTaskItemServiceImpl extends ServiceImpl<WmsInTaskItemMapper, WmsInTaskItem> implements IWmsInTaskItemService {
}

View File

@ -0,0 +1,85 @@
package com.nflg.wms.repository.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import com.nflg.wms.repository.entity.WmsInTask;
import com.nflg.wms.repository.entity.WmsInTaskItem;
import com.nflg.wms.repository.mapper.WmsInTaskMapper;
import com.nflg.wms.repository.service.IWmsInTaskItemService;
import com.nflg.wms.repository.service.IWmsInTaskService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* <p>
* 服务实现类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
@Service
public class WmsInTaskServiceImpl extends ServiceImpl<WmsInTaskMapper, WmsInTask> implements IWmsInTaskService {
@Resource
private IWmsInTaskItemService wmsTaskItemService;
@Override
@Transactional
public boolean generateTask(List<WmsInTaskItem> tasks, short taskSource) {
boolean result = false;
if (Objects.isNull(tasks) || CollectionUtil.isEmpty(tasks)) {
return result;
}
try {
List<WmsInTask> newTaskList = new ArrayList<WmsInTask>();
List<WmsInTask> oldTaskList = new ArrayList<WmsInTask>();
tasks.forEach(task -> {
String taskNumber = "SJ-" + task.getNoteNum();
task.setId(IdUtil.getSnowflake().nextId());
task.setTaskNumber(taskNumber);
WmsInTask wmsInTask = lambdaQuery().eq(WmsInTask::getTaskNumber, taskNumber).one();
if (Objects.isNull(wmsInTask)) {
if (!newTaskList.stream().anyMatch(t -> t.getTaskNumber().equals(taskNumber))) {
newTaskList.add(new WmsInTask().setTaskFrom(taskSource)
.setId(IdUtil.getSnowflakeNextId())
.setTaskNumber(taskNumber)
.setOrderNumber(task.getNoteNum())
.setCreateTime(LocalDateTime.now())
.setUpdateTime(LocalDateTime.now())
);
}
} else {
if (!oldTaskList.stream().anyMatch(t -> t.getTaskNumber().equals(taskNumber))) {
wmsInTask.setUpdateTime(LocalDateTime.now());
oldTaskList.add(wmsInTask);
}
}
});
if (CollectionUtil.isNotEmpty(newTaskList)) {
result = saveBatch(newTaskList);
}
if (result && CollectionUtil.isNotEmpty(oldTaskList)) {
result = updateBatchById(oldTaskList);
}
if (result) {
result = wmsTaskItemService.saveBatch(tasks);
}
} catch (Exception e) {
log.error("生成上架任务失败", e);
}
return result;
}
}

View File

@ -0,0 +1,20 @@
package com.nflg.wms.repository.service.impl;
import com.nflg.wms.repository.entity.WmsSrmMaterialReceipt;
import com.nflg.wms.repository.mapper.WmsSrmMaterialReceiptMapper;
import com.nflg.wms.repository.service.IWmsSrmMaterialReceiptService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
@Service
public class WmsSrmMaterialReceiptServiceImpl extends ServiceImpl<WmsSrmMaterialReceiptMapper, WmsSrmMaterialReceipt> implements IWmsSrmMaterialReceiptService {
}

View File

@ -1,20 +0,0 @@
package com.nflg.wms.repository.service.impl;
import com.nflg.wms.repository.entity.WmsTaskItem;
import com.nflg.wms.repository.mapper.WmsTaskItemMapper;
import com.nflg.wms.repository.service.IWmsTaskItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
@Service
public class WmsTaskItemServiceImpl extends ServiceImpl<WmsTaskItemMapper, WmsTaskItem> implements IWmsTaskItemService {
}

View File

@ -1,79 +0,0 @@
package com.nflg.wms.repository.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil;
import com.nflg.wms.repository.entity.WmsTask;
import com.nflg.wms.repository.entity.WmsTaskItem;
import com.nflg.wms.repository.mapper.WmsTaskMapper;
import com.nflg.wms.repository.service.IWmsTaskItemService;
import com.nflg.wms.repository.service.IWmsTaskService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* <p>
* 服务实现类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
@Service
public class WmsTaskServiceImpl extends ServiceImpl<WmsTaskMapper, WmsTask> implements IWmsTaskService {
@Resource
private IWmsTaskItemService wmsTaskItemService;
@Override
@Transactional
public boolean generateTask(List<WmsTaskItem> tasks, String taskSource) {
boolean result = false;
if (Objects.isNull(tasks) || CollectionUtil.isEmpty(tasks)) {
return result;
}
List<WmsTask> newTaskList = new ArrayList<WmsTask>();
List<WmsTask> oldTaskList = new ArrayList<WmsTask>();
tasks.forEach(task -> {
String taskNumber = "SJ-" + task.getNoteNum();
task.setId(IdUtil.getSnowflake().nextId());
task.setTaskNumber(taskNumber);
WmsTask wmsTask = lambdaQuery().eq(WmsTask::getTaskNumber, taskNumber).one();
if (Objects.nonNull(wmsTask)) {
if (!newTaskList.stream().anyMatch(t -> t.getTaskNumber().equals(taskNumber))) {
newTaskList.add(new WmsTask().setTaskFrom(taskSource)
.setId(IdUtil.getSnowflakeNextId())
.setTaskNumber(taskNumber)
.setOrderNumber(task.getNoteNum())
.setCreateTime(LocalDateTime.now())
.setModifyTime(LocalDateTime.now())
);
}
} else {
if (!oldTaskList.stream().anyMatch(t -> t.getTaskNumber().equals(taskNumber))) {
wmsTask.setModifyTime(LocalDateTime.now());
oldTaskList.add(wmsTask);
}
}
});
if (CollectionUtil.isNotEmpty(newTaskList)) {
result = saveBatch(newTaskList);
}
if (result && CollectionUtil.isNotEmpty(oldTaskList)) {
result = updateBatchById(oldTaskList);
}
if (result) {
result = wmsTaskItemService.saveBatch(tasks);
}
return result;
}
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nflg.wms.repository.mapper.WmsInTaskItemMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nflg.wms.repository.mapper.WmsInTaskMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nflg.wms.repository.mapper.WmsSrmMaterialReceiptMapper">
</mapper>

View File

@ -33,7 +33,7 @@ public class CodeGeneratorTest {
)
.strategyConfig(builder -> {
builder
.addInclude("wms_task_item") //只生成指定表
.addInclude("wms_srm_material_receipt") //只生成指定表
.entityBuilder().idType(IdType.ASSIGN_ID)
.enableLombok()
.enableChainModel()