update 会议项目 年度数据锁定
This commit is contained in:
+1
-1
@@ -35,7 +35,7 @@ public interface PayMeetingMapper extends BaseMapper<PayMeeting> {
|
||||
|
||||
IPage<PayMeeting> workGroupPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
|
||||
|
||||
IPage<PayMeeting> draftGroupPage(Page<PayMeeting> page,@Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
|
||||
IPage<PayMeeting> draftGroupPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
|
||||
|
||||
|
||||
IPage<PayMeeting> standardPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
|
||||
|
||||
+7
@@ -38,4 +38,11 @@ public interface PayMeetingSituationMapper extends BaseMapper<PayMeetingSituatio
|
||||
List<MeetingPackStatistics> getMeetingPackStatistics(@Param(Constants.WRAPPER) QueryWrapper<PayMeetingSituation> query);
|
||||
|
||||
MeetingPackStatistics getMeetingPackStatisticsCount(@Param(Constants.WRAPPER) QueryWrapper<PayMeetingSituation> query);
|
||||
|
||||
/**
|
||||
* 根据年份获取参会人
|
||||
* @param year 年份
|
||||
*/
|
||||
List<PayMeetingSituation> listByYear(@Param("year")String year);
|
||||
|
||||
}
|
||||
|
||||
+57
@@ -1,6 +1,53 @@
|
||||
<?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.jero.meeting.mapper.PayMeetingSituationMapper">
|
||||
<sql id="Base_Column_List">
|
||||
id,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
update_time,
|
||||
meeting_id,
|
||||
company_id,
|
||||
company_name,
|
||||
company_contact_id,
|
||||
company_contact_name,
|
||||
post,
|
||||
phone,
|
||||
email,
|
||||
`identity`,
|
||||
guest_type,
|
||||
speech_topic,
|
||||
speech_ppt,
|
||||
photo,
|
||||
profile,
|
||||
have_meals,
|
||||
hui_people,
|
||||
check_in_hotel,
|
||||
in_hotel_time,
|
||||
out_hotel_time,
|
||||
room_layout,
|
||||
arrival_time,
|
||||
destination,
|
||||
arrival_shift,
|
||||
delivery_station,
|
||||
departure_time,
|
||||
departure_station,
|
||||
departure_shift,
|
||||
remark,
|
||||
check_in,
|
||||
pick_up,
|
||||
post_contact_id,
|
||||
post_contact_address,
|
||||
pay_mode,
|
||||
need_invoice,
|
||||
payment_record,
|
||||
`status`,
|
||||
pack,
|
||||
in_account,
|
||||
make_invoice,
|
||||
mail
|
||||
</sql>
|
||||
<resultMap id="PayMeetingSituationResultMap" type="com.jero.meeting.entity.PayMeetingSituation">
|
||||
<id column="id" property="id"/>
|
||||
<result column="create_by" property="createBy"/>
|
||||
@@ -202,4 +249,14 @@
|
||||
from v_meeting_pack_statistical
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<!--auto generated by MybatisCodeHelper on 2024-07-24-->
|
||||
<select id="listByYear" resultType="com.jero.meeting.entity.PayMeetingSituation">
|
||||
select
|
||||
*
|
||||
from pay_meeting_situation
|
||||
<where>
|
||||
meeting_id in (select id from pay_meeting where particular_year = #{year})
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+6
-1
@@ -77,6 +77,7 @@ import com.jero.payment.entity.PayPaymentRecord;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.standards.memberinfo.service.IMemberInfoService;
|
||||
@@ -173,7 +174,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
|
||||
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
|
||||
private static final String[] CAN_MODIFY_LIST =
|
||||
new String[]{"arrivalTime", "departureTime", "checkInHotel"};
|
||||
@@ -198,6 +200,9 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
if (!b && !Objects.equals(payMeeting1.getDirectorId(),loginUser.getId())) {
|
||||
throw new JeroBootException("只有会议负责人,会议联系人可以新增参会人");
|
||||
}
|
||||
if (annualDataLockingService.checkYear(payMeeting1.getParticularYear())) {
|
||||
throw new JeroBootException(payMeeting1.getParticularYear()+"年数据已经锁定,无法修改");
|
||||
}
|
||||
}
|
||||
|
||||
payMeetingSituation.setStatus(MeetingSubitemCommon.STATUS_3);
|
||||
|
||||
+4
@@ -1,4 +1,5 @@
|
||||
package com.jero.project.mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
@@ -9,4 +10,7 @@ import com.jero.project.entity.AnnualDataLocking;
|
||||
*@date 2024-07-24 13:51
|
||||
*/
|
||||
public interface AnnualDataLockingMapper extends BaseMapper<AnnualDataLocking> {
|
||||
Integer countByYear(@Param("year")String year);
|
||||
|
||||
|
||||
}
|
||||
+11
@@ -15,4 +15,15 @@
|
||||
<!--@mbg.generated-->
|
||||
id, `year`, create_by, create_time, update_by, update_time
|
||||
</sql>
|
||||
|
||||
<!--auto generated by MybatisCodeHelper on 2024-07-24-->
|
||||
<select id="countByYear" resultType="java.lang.Integer">
|
||||
select count(1)
|
||||
from pay_annual_data_locking
|
||||
<where>
|
||||
<if test="year != null and year != ''">
|
||||
and `year`=#{year,jdbcType=VARCHAR}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
+107
-2
@@ -1,11 +1,41 @@
|
||||
package com.jero.project.service;
|
||||
|
||||
import com.jero.common.common.RoleCommon;
|
||||
import com.jero.common.constant.CacheConstant;
|
||||
import com.jero.common.service.ProjectDetailService;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingMapper;
|
||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||
import com.jero.member.mapper.TbCertificatePaymentMapper;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.member.service.IPayMemberProjectService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.project.mapper.PayCommonProjectMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.project.mapper.AnnualDataLockingMapper;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
@@ -13,16 +43,91 @@ import com.jero.project.entity.AnnualDataLocking;
|
||||
*/
|
||||
@Service
|
||||
public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMapper, AnnualDataLocking> {
|
||||
@Resource
|
||||
private ISysUserService sysUserService;
|
||||
@Resource
|
||||
private ProjectDetailService projectDetailService;
|
||||
@Resource
|
||||
private PayCommonProjectMapper payCommonProjectMapper;
|
||||
@Resource
|
||||
private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper;
|
||||
@Resource
|
||||
private PayWorkingGroupMapper payWorkingGroupMapper;
|
||||
@Resource
|
||||
private PayMeetingSituationMapper meetingSituationMapper;
|
||||
@Resource
|
||||
private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private TbCertificatePaymentMapper certificatePaymentMapper;
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IPayMemberProjectService payMemberProjectService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private PayMeetingMapper meetingMapper;
|
||||
@Resource
|
||||
private IPayMeetingSituationService meetingSituationService;
|
||||
@Resource
|
||||
private IPayCompanyManagementTemporaryService companyTemporaryService;
|
||||
@Resource
|
||||
private IPayContactsManagementTemporaryService contactsTemporaryService;
|
||||
|
||||
public void add(AnnualDataLocking annualDataLocking) {
|
||||
this.save(annualDataLocking);
|
||||
String year = annualDataLocking.getYear();
|
||||
//会议项目
|
||||
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYear(year);
|
||||
for (PayMeetingSituation meetingSituation : meetingSituations) {
|
||||
String companyId = meetingSituation.getCompanyId();
|
||||
String companyContactId = meetingSituation.getCompanyContactId();
|
||||
String postContactId = meetingSituation.getPostContactId();
|
||||
//获得临时表id
|
||||
PayCompanyManagementTemporary companyTemporary = companyTemporaryService.insertCompanyManagementTemporary(companyId);
|
||||
PayContactsManagementTemporary contactsTemporary = contactsTemporaryService.insertContactsManagementTemporary(companyContactId);
|
||||
PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryService.insertContactsManagementTemporary(postContactId);
|
||||
//更新临时表id
|
||||
PayMeetingSituation update = new PayMeetingSituation();
|
||||
update.setCompanyTemporaryId(companyTemporary.getId());
|
||||
update.setCompanyContactTemporaryId(contactsTemporary.getId());
|
||||
update.setPostContactTemporaryId(contactsTemporary1.getId());
|
||||
meetingSituationMapper.updateById(update);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询年份是否存在
|
||||
*/
|
||||
@Cacheable(cacheNames= "annualDataLocking", key="#year")
|
||||
public boolean checkYear(String year){
|
||||
return baseMapper.countByYear(year) > 0;
|
||||
}
|
||||
|
||||
public void editById(AnnualDataLocking annualDataLocking) {
|
||||
this.updateById(annualDataLocking);
|
||||
}
|
||||
|
||||
@CacheEvict(value="annualDataLocking", allEntries=true)
|
||||
public void deleteById(String id) {
|
||||
AnnualDataLocking annualDataLocking = this.getById(id);
|
||||
this.removeById(id);
|
||||
String year = annualDataLocking.getYear();
|
||||
//会议项目
|
||||
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYear(year);
|
||||
for (PayMeetingSituation meetingSituation : meetingSituations) {
|
||||
String companyId = meetingSituation.getCompanyId();
|
||||
String companyContactId = meetingSituation.getCompanyContactId();
|
||||
String postContactId = meetingSituation.getPostContactId();
|
||||
//更新临时表id
|
||||
PayMeetingSituation update = new PayMeetingSituation();
|
||||
update.setCompanyTemporaryId(companyId);
|
||||
update.setCompanyContactTemporaryId(companyContactId);
|
||||
update.setPostContactTemporaryId(postContactId);
|
||||
meetingSituationMapper.updateById(update);
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteByIds(List<String> idList) {
|
||||
|
||||
Reference in New Issue
Block a user