修改多对多关系新增的问题以及查询的问题

This commit is contained in:
2025-07-25 14:49:15 +08:00
parent 9216b1741f
commit a331b93ab1
6 changed files with 42 additions and 7 deletions

View File

@@ -4,6 +4,7 @@ import com.klp.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import java.util.List;
/** /**
@@ -21,7 +22,8 @@ public class WmsCheckTaskBo extends BaseEntity {
* 主键 * 主键
*/ */
private Long taskId; private Long taskId;
//检查项id
private List<Long> itemId;
/** /**
* 任务名称 * 任务名称
*/ */

View File

@@ -37,5 +37,9 @@ public class WmsCheckTaskVo {
@ExcelProperty(value = "备注") @ExcelProperty(value = "备注")
private String remark; private String remark;
/**
* 检查项列表
*/
private java.util.List<WmsCheckItemVo> itemList;
} }

View File

@@ -1,5 +1,7 @@
package com.klp.mes.qc.mapper; package com.klp.mes.qc.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.klp.mes.qc.domain.WmsCheckTask; import com.klp.mes.qc.domain.WmsCheckTask;
import com.klp.mes.qc.domain.vo.WmsCheckTaskVo; import com.klp.mes.qc.domain.vo.WmsCheckTaskVo;
import com.klp.common.core.mapper.BaseMapperPlus; import com.klp.common.core.mapper.BaseMapperPlus;
@@ -12,4 +14,5 @@ import com.klp.common.core.mapper.BaseMapperPlus;
*/ */
public interface WmsCheckTaskMapper extends BaseMapperPlus<WmsCheckTaskMapper, WmsCheckTask, WmsCheckTaskVo> { public interface WmsCheckTaskMapper extends BaseMapperPlus<WmsCheckTaskMapper, WmsCheckTask, WmsCheckTaskVo> {
Page<WmsCheckTaskVo> selectVoPagePlus(Page<Object> build, LambdaQueryWrapper<WmsCheckTask> lqw);
} }

View File

@@ -35,7 +35,7 @@ public interface IWmsCheckTaskService {
/** /**
* 新增检查任务 * 新增检查任务
*/ */
Boolean insertByBo(WmsCheckTaskBo bo); int insertByBo(WmsCheckTaskBo bo);
/** /**
* 修改检查任务 * 修改检查任务

View File

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils; import com.klp.common.utils.StringUtils;
import com.klp.mes.qc.domain.WmsCheckTaskItem;
import com.klp.mes.qc.mapper.WmsCheckTaskItemMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.klp.mes.qc.domain.bo.WmsCheckTaskBo; import com.klp.mes.qc.domain.bo.WmsCheckTaskBo;
@@ -14,6 +16,7 @@ import com.klp.mes.qc.domain.vo.WmsCheckTaskVo;
import com.klp.mes.qc.domain.WmsCheckTask; import com.klp.mes.qc.domain.WmsCheckTask;
import com.klp.mes.qc.mapper.WmsCheckTaskMapper; import com.klp.mes.qc.mapper.WmsCheckTaskMapper;
import com.klp.mes.qc.service.IWmsCheckTaskService; import com.klp.mes.qc.service.IWmsCheckTaskService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -30,6 +33,7 @@ import java.util.Collection;
public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
private final WmsCheckTaskMapper baseMapper; private final WmsCheckTaskMapper baseMapper;
private final WmsCheckTaskItemMapper wmsCheckTaskItemMapper;
/** /**
* 查询检查任务 * 查询检查任务
@@ -45,7 +49,7 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
@Override @Override
public TableDataInfo<WmsCheckTaskVo> queryPageList(WmsCheckTaskBo bo, PageQuery pageQuery) { public TableDataInfo<WmsCheckTaskVo> queryPageList(WmsCheckTaskBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsCheckTask> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<WmsCheckTask> lqw = buildQueryWrapper(bo);
Page<WmsCheckTaskVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<WmsCheckTaskVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@@ -68,15 +72,28 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService {
/** /**
* 新增检查任务 * 新增检查任务
*/ */
@Transactional()
@Override @Override
public Boolean insertByBo(WmsCheckTaskBo bo) { public int insertByBo(WmsCheckTaskBo bo) {
WmsCheckTask add = BeanUtil.toBean(bo, WmsCheckTask.class); WmsCheckTask add = BeanUtil.toBean(bo, WmsCheckTask.class);
validEntityBeforeSave(add); validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0; boolean mainFlag = baseMapper.insert(add) > 0;
if (flag) { int count = 0;
for (Long itemId : bo.getItemId()) {
WmsCheckTaskItem wmsCheckTaskItem = new WmsCheckTaskItem();
wmsCheckTaskItem.setCheckTaskId(add.getTaskId());
wmsCheckTaskItem.setCheckItemId(itemId);
int insertCount = wmsCheckTaskItemMapper.insert(wmsCheckTaskItem);
if (insertCount <= 0) {
throw new RuntimeException("新增检查任务失败检查项ID" + itemId);
} else {
count++;
}
}
if (mainFlag) {
bo.setTaskId(add.getTaskId()); bo.setTaskId(add.getTaskId());
} }
return flag; return count;
} }
/** /**

View File

@@ -14,6 +14,15 @@
<result property="delFlag" column="del_flag"/> <result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/> <result property="remark" column="remark"/>
</resultMap> </resultMap>
<select id="selectVoPagePlus" resultType="com.klp.mes.qc.domain.vo.WmsCheckTaskVo">
SELECT t.*, GROUP_CONCAT(i.item_name) AS itemNames, GROUP_CONCAT(i.item_id) AS itemIds
FROM wms_check_task t
LEFT JOIN wms_check_task_item ti ON t.task_id = ti.check_task_id AND ti.del_flag = 0
LEFT JOIN wms_check_item i ON ti.check_item_id = i.item_id AND i.del_flag = 0
WHERE t.del_flag = 0
${ew.customSqlSegment}
GROUP BY t.task_id
</select>
</mapper> </mapper>