会议日程业务逻辑完善

This commit is contained in:
2025-11-09 22:13:17 +08:00
parent 2eabcaedc4
commit d24afb1062
10 changed files with 526 additions and 30 deletions

View File

@@ -1,5 +1,6 @@
package com.vetti.hotake.domain; package com.vetti.hotake.domain;
import com.vetti.common.core.domain.entity.SysUser;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@@ -32,5 +33,8 @@ public class HotakeMeetingCalendarDetail extends BaseEntity
@Excel(name = "参会人员ID") @Excel(name = "参会人员ID")
private Long userId; private Long userId;
@ApiModelProperty("参会人员详细信息")
private SysUser user;
} }

View File

@@ -1,11 +1,14 @@
package com.vetti.hotake.domain; package com.vetti.hotake.domain;
import com.vetti.common.core.domain.entity.SysUser;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.vetti.common.annotation.Excel; import com.vetti.common.annotation.Excel;
import com.vetti.common.core.domain.BaseEntity; import com.vetti.common.core.domain.BaseEntity;
import java.util.List;
/** /**
* 会议日历记录主对象 hotake_meeting_calendar_info * 会议日历记录主对象 hotake_meeting_calendar_info
* *
@@ -38,7 +41,7 @@ public class HotakeMeetingCalendarInfo extends BaseEntity
private String meetingName; private String meetingName;
/** 会议日期 */ /** 会议日期 */
@ApiModelProperty("会议日期") @ApiModelProperty("会议日期(年月日)")
@Excel(name = "会议日期") @Excel(name = "会议日期")
private String meetingDate; private String meetingDate;
@@ -52,5 +55,8 @@ public class HotakeMeetingCalendarInfo extends BaseEntity
@Excel(name = "状态", readConverterExp = "0=,取=消1,正=常") @Excel(name = "状态", readConverterExp = "0=,取=消1,正=常")
private String status; private String status;
@ApiModelProperty("参会人员")
private List<HotakeMeetingCalendarDetail> calendarDetails;
} }

View File

@@ -66,4 +66,10 @@ public interface HotakeMeetingCalendarDetailMapper
*/ */
public int batchInsertHotakeMeetingCalendarDetail(List<HotakeMeetingCalendarDetail> hotakeMeetingCalendarDetailList); public int batchInsertHotakeMeetingCalendarDetail(List<HotakeMeetingCalendarDetail> hotakeMeetingCalendarDetailList);
/**
* 删除参会人员数据
* @param infoId
* @return
*/
public int deleteHotakeMeetingCalendarDetailByInfoId(Long infoId);
} }

View File

@@ -67,4 +67,12 @@ public interface IHotakeMeetingCalendarDetailService
*/ */
public int batchInsertHotakeMeetingCalendarDetail(List<HotakeMeetingCalendarDetail> hotakeMeetingCalendarDetailList); public int batchInsertHotakeMeetingCalendarDetail(List<HotakeMeetingCalendarDetail> hotakeMeetingCalendarDetailList);
/**
* 删除会议日历记录明细信息
*
* @param infoId 会议日历记录主键
* @return 结果
*/
public int deleteHotakeMeetingCalendarDetailByInfoId(Long infoId);
} }

View File

@@ -117,4 +117,14 @@ public class HotakeMeetingCalendarDetailServiceImpl extends BaseServiceImpl impl
public int batchInsertHotakeMeetingCalendarDetail(List<HotakeMeetingCalendarDetail> hotakeMeetingCalendarDetailList){ public int batchInsertHotakeMeetingCalendarDetail(List<HotakeMeetingCalendarDetail> hotakeMeetingCalendarDetailList){
return hotakeMeetingCalendarDetailMapper.batchInsertHotakeMeetingCalendarDetail(hotakeMeetingCalendarDetailList); return hotakeMeetingCalendarDetailMapper.batchInsertHotakeMeetingCalendarDetail(hotakeMeetingCalendarDetailList);
} }
/**
* 删除参会人员信息
* @param infoId 会议日历记录主键
* @return
*/
@Override
public int deleteHotakeMeetingCalendarDetailByInfoId(Long infoId) {
return hotakeMeetingCalendarDetailMapper.deleteHotakeMeetingCalendarDetailByInfoId(infoId);
}
} }

View File

@@ -1,9 +1,16 @@
package com.vetti.hotake.service.impl; package com.vetti.hotake.service.impl;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import com.vetti.common.core.domain.entity.SysUser;
import com.vetti.common.core.service.BaseServiceImpl; import com.vetti.common.core.service.BaseServiceImpl;
import com.vetti.common.enums.FillTypeEnum; import com.vetti.common.enums.FillTypeEnum;
import com.vetti.hotake.domain.HotakeMeetingCalendarDetail;
import com.vetti.hotake.service.IHotakeMeetingCalendarDetailService;
import com.vetti.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -20,11 +27,16 @@ import com.vetti.hotake.service.IHotakeMeetingCalendarInfoService;
*/ */
@SuppressWarnings("all") @SuppressWarnings("all")
@Service @Service
public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implements IHotakeMeetingCalendarInfoService public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implements IHotakeMeetingCalendarInfoService {
{
@Autowired @Autowired
private HotakeMeetingCalendarInfoMapper hotakeMeetingCalendarInfoMapper; private HotakeMeetingCalendarInfoMapper hotakeMeetingCalendarInfoMapper;
@Autowired
private IHotakeMeetingCalendarDetailService calendarDetailService;
@Autowired
private ISysUserService userService;
/** /**
* 查询会议日历记录主 * 查询会议日历记录主
* *
@@ -33,9 +45,25 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
*/ */
@Transactional(readOnly = true) @Transactional(readOnly = true)
@Override @Override
public HotakeMeetingCalendarInfo selectHotakeMeetingCalendarInfoById(Long id) public HotakeMeetingCalendarInfo selectHotakeMeetingCalendarInfoById(Long id) {
{ HotakeMeetingCalendarInfo calendarInfo = hotakeMeetingCalendarInfoMapper.selectHotakeMeetingCalendarInfoById(id);
return hotakeMeetingCalendarInfoMapper.selectHotakeMeetingCalendarInfoById(id); //获取对应的参会人员数据
HotakeMeetingCalendarDetail queryDetail = new HotakeMeetingCalendarDetail();
List<HotakeMeetingCalendarDetail> detailList = calendarDetailService.selectHotakeMeetingCalendarDetailList(queryDetail);
if (CollectionUtil.isNotEmpty(detailList)) {
Map<Long, List<HotakeMeetingCalendarDetail>> mapDetailList = detailList.stream().collect(Collectors.groupingBy(HotakeMeetingCalendarDetail::getMeetingId));
SysUser queryUser = new SysUser();
List<SysUser> userList = userService.selectUserList(queryUser);
List<HotakeMeetingCalendarDetail> calendarDetails = mapDetailList.get(calendarInfo.getId());
for (HotakeMeetingCalendarDetail detail : calendarDetails) {
List<SysUser> users = userList.stream().filter(e -> e.getUserId() == detail.getUserId()).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(users)) {
detail.setUser(users.get(0));
}
}
calendarInfo.setCalendarDetails(calendarDetails);
}
return calendarInfo;
} }
/** /**
@@ -46,9 +74,29 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
*/ */
@Transactional(readOnly = true) @Transactional(readOnly = true)
@Override @Override
public List<HotakeMeetingCalendarInfo> selectHotakeMeetingCalendarInfoList(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo) public List<HotakeMeetingCalendarInfo> selectHotakeMeetingCalendarInfoList(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo) {
{ List<HotakeMeetingCalendarInfo> calendarInfos = hotakeMeetingCalendarInfoMapper.selectHotakeMeetingCalendarInfoList(hotakeMeetingCalendarInfo);
return hotakeMeetingCalendarInfoMapper.selectHotakeMeetingCalendarInfoList(hotakeMeetingCalendarInfo); if (CollectionUtil.isNotEmpty(calendarInfos)) {
//获取对应的参会人员数据
HotakeMeetingCalendarDetail queryDetail = new HotakeMeetingCalendarDetail();
List<HotakeMeetingCalendarDetail> detailList = calendarDetailService.selectHotakeMeetingCalendarDetailList(queryDetail);
if (CollectionUtil.isNotEmpty(detailList)) {
Map<Long, List<HotakeMeetingCalendarDetail>> mapDetailList = detailList.stream().collect(Collectors.groupingBy(HotakeMeetingCalendarDetail::getMeetingId));
SysUser queryUser = new SysUser();
List<SysUser> userList = userService.selectUserList(queryUser);
for (HotakeMeetingCalendarInfo calendarInfo : calendarInfos) {
List<HotakeMeetingCalendarDetail> calendarDetails = mapDetailList.get(calendarInfo.getId());
for (HotakeMeetingCalendarDetail detail : calendarDetails) {
List<SysUser> users = userList.stream().filter(e -> e.getUserId() == detail.getUserId()).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(users)) {
detail.setUser(users.get(0));
}
}
calendarInfo.setCalendarDetails(calendarDetails);
}
}
}
return calendarInfos;
} }
/** /**
@@ -59,10 +107,20 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public HotakeMeetingCalendarInfo insertHotakeMeetingCalendarInfo(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo) public HotakeMeetingCalendarInfo insertHotakeMeetingCalendarInfo(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo) {
{
fill(FillTypeEnum.INSERT.getCode(), hotakeMeetingCalendarInfo); fill(FillTypeEnum.INSERT.getCode(), hotakeMeetingCalendarInfo);
hotakeMeetingCalendarInfoMapper.insertHotakeMeetingCalendarInfo(hotakeMeetingCalendarInfo); hotakeMeetingCalendarInfoMapper.insertHotakeMeetingCalendarInfo(hotakeMeetingCalendarInfo);
//保存参会人员
//1.1 先删除对应的参会人员
calendarDetailService.deleteHotakeMeetingCalendarDetailByInfoId(hotakeMeetingCalendarInfo.getId());
//1.2 保存参会人员数据
for (HotakeMeetingCalendarDetail detail : hotakeMeetingCalendarInfo.getCalendarDetails()) {
detail.setMeetingId(hotakeMeetingCalendarInfo.getId());
fill(FillTypeEnum.INSERT.getCode(), detail);
}
calendarDetailService.batchInsertHotakeMeetingCalendarDetail(hotakeMeetingCalendarInfo.getCalendarDetails());
return hotakeMeetingCalendarInfo; return hotakeMeetingCalendarInfo;
} }
@@ -74,10 +132,18 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public HotakeMeetingCalendarInfo updateHotakeMeetingCalendarInfo(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo) public HotakeMeetingCalendarInfo updateHotakeMeetingCalendarInfo(HotakeMeetingCalendarInfo hotakeMeetingCalendarInfo) {
{
fill(FillTypeEnum.UPDATE.getCode(), hotakeMeetingCalendarInfo); fill(FillTypeEnum.UPDATE.getCode(), hotakeMeetingCalendarInfo);
hotakeMeetingCalendarInfoMapper.updateHotakeMeetingCalendarInfo(hotakeMeetingCalendarInfo); hotakeMeetingCalendarInfoMapper.updateHotakeMeetingCalendarInfo(hotakeMeetingCalendarInfo);
//保存参会人员
//1.1 先删除对应的参会人员
calendarDetailService.deleteHotakeMeetingCalendarDetailByInfoId(hotakeMeetingCalendarInfo.getId());
//1.2 保存参会人员数据
for (HotakeMeetingCalendarDetail detail : hotakeMeetingCalendarInfo.getCalendarDetails()) {
detail.setMeetingId(hotakeMeetingCalendarInfo.getId());
fill(FillTypeEnum.INSERT.getCode(), detail);
}
calendarDetailService.batchInsertHotakeMeetingCalendarDetail(hotakeMeetingCalendarInfo.getCalendarDetails());
return hotakeMeetingCalendarInfo; return hotakeMeetingCalendarInfo;
} }
@@ -89,8 +155,7 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public int deleteHotakeMeetingCalendarInfoByIds(Long[] ids) public int deleteHotakeMeetingCalendarInfoByIds(Long[] ids) {
{
return hotakeMeetingCalendarInfoMapper.deleteHotakeMeetingCalendarInfoByIds(ids); return hotakeMeetingCalendarInfoMapper.deleteHotakeMeetingCalendarInfoByIds(ids);
} }
@@ -102,10 +167,10 @@ public class HotakeMeetingCalendarInfoServiceImpl extends BaseServiceImpl implem
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public int deleteHotakeMeetingCalendarInfoById(Long id) public int deleteHotakeMeetingCalendarInfoById(Long id) {
{
return hotakeMeetingCalendarInfoMapper.deleteHotakeMeetingCalendarInfoById(id); return hotakeMeetingCalendarInfoMapper.deleteHotakeMeetingCalendarInfoById(id);
} }
/** /**
* 批量新增会议日历记录主 * 批量新增会议日历记录主
* *

View File

@@ -0,0 +1,97 @@
<?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.vetti.hotake.mapper.HotakeInterviewDetailMapper">
<resultMap type="HotakeInterviewDetail" id="HotakeInterviewDetailResult">
<result property="id" column="id" />
<result property="interviewId" column="interview_id" />
<result property="interviewerName" column="interviewer_name" />
<result property="content" column="content" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectHotakeInterviewDetailVo">
select id, interview_id, interviewer_name, content, del_flag, create_by, create_time, update_by, update_time, remark from hotake_interview_detail
</sql>
<select id="selectHotakeInterviewDetailList" parameterType="HotakeInterviewDetail" resultMap="HotakeInterviewDetailResult">
<include refid="selectHotakeInterviewDetailVo"/>
<where>
<if test="interviewId != null "> and interview_id = #{interviewId}</if>
<if test="interviewerName != null and interviewerName != ''"> and interviewer_name like concat('%', #{interviewerName}, '%')</if>
<if test="content != null and content != ''"> and content = #{content}</if>
</where>
</select>
<select id="selectHotakeInterviewDetailById" parameterType="Long" resultMap="HotakeInterviewDetailResult">
<include refid="selectHotakeInterviewDetailVo"/>
where id = #{id}
</select>
<insert id="insertHotakeInterviewDetail" parameterType="HotakeInterviewDetail" useGeneratedKeys="true" keyProperty="id">
insert into hotake_interview_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="interviewId != null">interview_id,</if>
<if test="interviewerName != null">interviewer_name,</if>
<if test="content != null">content,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="interviewId != null">#{interviewId},</if>
<if test="interviewerName != null">#{interviewerName},</if>
<if test="content != null">#{content},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateHotakeInterviewDetail" parameterType="HotakeInterviewDetail">
update hotake_interview_detail
<trim prefix="SET" suffixOverrides=",">
<if test="interviewId != null">interview_id = #{interviewId},</if>
<if test="interviewerName != null">interviewer_name = #{interviewerName},</if>
<if test="content != null">content = #{content},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteHotakeInterviewDetailById" parameterType="Long">
delete from hotake_interview_detail where id = #{id}
</delete>
<delete id="deleteHotakeInterviewDetailByIds" parameterType="String">
delete from hotake_interview_detail where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<insert id="batchInsertHotakeInterviewDetail">
insert into hotake_interview_detail( id, interview_id, interviewer_name, content, del_flag, create_by, create_time, update_by, update_time, remark) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.id}, #{item.interviewId}, #{item.interviewerName}, #{item.content}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
</foreach>
</insert>
</mapper>

View File

@@ -0,0 +1,92 @@
<?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.vetti.hotake.mapper.HotakeInterviewInfoMapper">
<resultMap type="HotakeInterviewInfo" id="HotakeInterviewInfoResult">
<result property="id" column="id" />
<result property="userId" column="user_id" />
<result property="interName" column="inter_name" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectHotakeInterviewInfoVo">
select id, user_id, inter_name, del_flag, create_by, create_time, update_by, update_time, remark from hotake_interview_info
</sql>
<select id="selectHotakeInterviewInfoList" parameterType="HotakeInterviewInfo" resultMap="HotakeInterviewInfoResult">
<include refid="selectHotakeInterviewInfoVo"/>
<where>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="interName != null and interName != ''"> and inter_name like concat('%', #{interName}, '%')</if>
</where>
</select>
<select id="selectHotakeInterviewInfoById" parameterType="Long" resultMap="HotakeInterviewInfoResult">
<include refid="selectHotakeInterviewInfoVo"/>
where id = #{id}
</select>
<insert id="insertHotakeInterviewInfo" parameterType="HotakeInterviewInfo" useGeneratedKeys="true" keyProperty="id">
insert into hotake_interview_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="userId != null">user_id,</if>
<if test="interName != null">inter_name,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userId != null">#{userId},</if>
<if test="interName != null">#{interName},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateHotakeInterviewInfo" parameterType="HotakeInterviewInfo">
update hotake_interview_info
<trim prefix="SET" suffixOverrides=",">
<if test="userId != null">user_id = #{userId},</if>
<if test="interName != null">inter_name = #{interName},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteHotakeInterviewInfoById" parameterType="Long">
delete from hotake_interview_info where id = #{id}
</delete>
<delete id="deleteHotakeInterviewInfoByIds" parameterType="String">
delete from hotake_interview_info where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<insert id="batchInsertHotakeInterviewInfo">
insert into hotake_interview_info( id, user_id, inter_name, del_flag, create_by, create_time, update_by, update_time, remark) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.id}, #{item.userId}, #{item.interName}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
</foreach>
</insert>
</mapper>

View File

@@ -0,0 +1,96 @@
<?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.vetti.hotake.mapper.HotakeMeetingCalendarDetailMapper">
<resultMap type="HotakeMeetingCalendarDetail" id="HotakeMeetingCalendarDetailResult">
<result property="id" column="id" />
<result property="meetingId" column="meeting_id" />
<result property="userId" column="user_id" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectHotakeMeetingCalendarDetailVo">
select id, meeting_id, user_id, del_flag, create_by, create_time, update_by, update_time, remark from hotake_meeting_calendar_detail
</sql>
<select id="selectHotakeMeetingCalendarDetailList" parameterType="HotakeMeetingCalendarDetail" resultMap="HotakeMeetingCalendarDetailResult">
<include refid="selectHotakeMeetingCalendarDetailVo"/>
<where>
<if test="meetingId != null "> and meeting_id = #{meetingId}</if>
<if test="userId != null "> and user_id = #{userId}</if>
</where>
</select>
<select id="selectHotakeMeetingCalendarDetailById" parameterType="Long" resultMap="HotakeMeetingCalendarDetailResult">
<include refid="selectHotakeMeetingCalendarDetailVo"/>
where id = #{id}
</select>
<insert id="insertHotakeMeetingCalendarDetail" parameterType="HotakeMeetingCalendarDetail" useGeneratedKeys="true" keyProperty="id">
insert into hotake_meeting_calendar_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="meetingId != null">meeting_id,</if>
<if test="userId != null">user_id,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="meetingId != null">#{meetingId},</if>
<if test="userId != null">#{userId},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateHotakeMeetingCalendarDetail" parameterType="HotakeMeetingCalendarDetail">
update hotake_meeting_calendar_detail
<trim prefix="SET" suffixOverrides=",">
<if test="meetingId != null">meeting_id = #{meetingId},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteHotakeMeetingCalendarDetailById" parameterType="Long">
delete from hotake_meeting_calendar_detail where id = #{id}
</delete>
<delete id="deleteHotakeMeetingCalendarDetailByInfoId" parameterType="Long">
delete from hotake_meeting_calendar_detail where meeting_id = #{infoId}
</delete>
<delete id="deleteHotakeMeetingCalendarDetailByIds" parameterType="String">
delete from hotake_meeting_calendar_detail where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<insert id="batchInsertHotakeMeetingCalendarDetail">
insert into hotake_meeting_calendar_detail( id, meeting_id, user_id, del_flag, create_by, create_time, update_by, update_time, remark) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.id}, #{item.meetingId}, #{item.userId}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
</foreach>
</insert>
</mapper>

View File

@@ -0,0 +1,112 @@
<?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.vetti.hotake.mapper.HotakeMeetingCalendarInfoMapper">
<resultMap type="HotakeMeetingCalendarInfo" id="HotakeMeetingCalendarInfoResult">
<result property="id" column="id" />
<result property="userId" column="user_id" />
<result property="compName" column="comp_name" />
<result property="meetingName" column="meeting_name" />
<result property="meetingDate" column="meeting_date" />
<result property="times" column="times" />
<result property="status" column="status" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectHotakeMeetingCalendarInfoVo">
select id, user_id, comp_name, meeting_name, meeting_date, times, status, del_flag, create_by, create_time, update_by, update_time, remark from hotake_meeting_calendar_info
</sql>
<select id="selectHotakeMeetingCalendarInfoList" parameterType="HotakeMeetingCalendarInfo" resultMap="HotakeMeetingCalendarInfoResult">
<include refid="selectHotakeMeetingCalendarInfoVo"/>
<where>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="compName != null and compName != ''"> and comp_name like concat('%', #{compName}, '%')</if>
<if test="meetingName != null and meetingName != ''"> and meeting_name like concat('%', #{meetingName}, '%')</if>
<if test="meetingDate != null and meetingDate != ''"> and meeting_date = #{meetingDate}</if>
<if test="times != null and times != ''"> and times = #{times}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
</where>
</select>
<select id="selectHotakeMeetingCalendarInfoById" parameterType="Long" resultMap="HotakeMeetingCalendarInfoResult">
<include refid="selectHotakeMeetingCalendarInfoVo"/>
where id = #{id}
</select>
<insert id="insertHotakeMeetingCalendarInfo" parameterType="HotakeMeetingCalendarInfo" useGeneratedKeys="true" keyProperty="id">
insert into hotake_meeting_calendar_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="userId != null">user_id,</if>
<if test="compName != null">comp_name,</if>
<if test="meetingName != null">meeting_name,</if>
<if test="meetingDate != null">meeting_date,</if>
<if test="times != null">times,</if>
<if test="status != null">status,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userId != null">#{userId},</if>
<if test="compName != null">#{compName},</if>
<if test="meetingName != null">#{meetingName},</if>
<if test="meetingDate != null">#{meetingDate},</if>
<if test="times != null">#{times},</if>
<if test="status != null">#{status},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateHotakeMeetingCalendarInfo" parameterType="HotakeMeetingCalendarInfo">
update hotake_meeting_calendar_info
<trim prefix="SET" suffixOverrides=",">
<if test="userId != null">user_id = #{userId},</if>
<if test="compName != null">comp_name = #{compName},</if>
<if test="meetingName != null">meeting_name = #{meetingName},</if>
<if test="meetingDate != null">meeting_date = #{meetingDate},</if>
<if test="times != null">times = #{times},</if>
<if test="status != null">status = #{status},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteHotakeMeetingCalendarInfoById" parameterType="Long">
delete from hotake_meeting_calendar_info where id = #{id}
</delete>
<delete id="deleteHotakeMeetingCalendarInfoByIds" parameterType="String">
delete from hotake_meeting_calendar_info where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<insert id="batchInsertHotakeMeetingCalendarInfo">
insert into hotake_meeting_calendar_info( id, user_id, comp_name, meeting_name, meeting_date, times, status, del_flag, create_by, create_time, update_by, update_time, remark) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.id}, #{item.userId}, #{item.compName}, #{item.meetingName}, #{item.meetingDate}, #{item.times}, #{item.status}, #{item.delFlag}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark})
</foreach>
</insert>
</mapper>