update 新增会议时选择课题

This commit is contained in:
lijiarao
2023-10-23 15:41:01 +08:00
parent d211d9cdc4
commit 57c6ce9997
6 changed files with 48 additions and 7 deletions
+9 -1
View File
@@ -4,4 +4,12 @@ alter table pay_meeting
add meeting_costs_two_topic decimal(12, 2) null comment '会议费用(2个课题)',
add meeting_costs_three_topic decimal(12, 2) null comment '会议费用(3个及以上)';
alter table pay_meeting_situation
add choice_topic varchar(50) null comment '选择课题';
add choice_topic varchar(50) null comment '选择课题';
INSERT INTO sys_dict ( id, dict_name, dict_code, description, del_flag, create_by, create_time ) VALUES ( '1716348751477309441', '会议关联课题', 'linkTopics', '', 0, 'LKGLZ', '2023-10-23 15:00:05' );
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1716348946118180866', '1716348751477309441', '汽车网络安全与数据安全标准合规专题', '1', '', 1, 1, 'LKGLZ', '2023-10-23 15:00:51' );
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1716349088112148481', '1716348751477309441', '智能网汽车标准化领航及标准路线图专题', '2', '', 2, 1, 'LKGLZ', '2023-10-23 15:01:25' );
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1716349139207159809', '1716348751477309441', '汽车地毯专题', '3', '', 3, 1, 'LKGLZ', '2023-10-23 15:01:37' );
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1716349212045443073', '1716348751477309441', '动力电池安全专题', '4', '', 4, 1, 'LKGLZ', '2023-10-23 15:01:55' );
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1716349338696646657', '1716348751477309441', '弱势道路交通参与者(VRU)保护专题', '5', '', 5, 1, 'LKGLZ', '2023-10-23 15:02:25' );
INSERT INTO sys_dict_item ( id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time ) VALUES ( '1716349372095889410', '1716348751477309441', '免费专题', '6', '', 6, 1, 'LKGLZ', '2023-10-23 15:02:33' );
@@ -213,6 +213,12 @@ public class PayMeeting implements Serializable {
@ApiModelProperty(value = "是否WASIC")
private Integer isWasic;
/**关联课题*/
@Excel(name = "关联课题", width = 15)
@ApiModelProperty(value = "关联课题")
@Size(max = 50, message = "关联课题最多为50个字符")
private String linkTopics;
/**会议费用*/
@Excel(name = "会议费用", width = 15)
@ApiModelProperty(value = "会议费用")
@@ -128,7 +128,7 @@ public class PayMeetingSituation implements Serializable {
/**演讲题目*/
@Excel(name = "课题名称", width = 15)
@ApiModelProperty(value = "课题名称")
@Size(max = 50, message = "课题名称")
@Size(max = 50, message = "课题名称最多为50个字符")
private String choiceTopic;
/**演讲题目*/
@@ -57,6 +57,7 @@ import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.standards.xuanguan.stablecrosstraining.entity.StableCrossTraining;
import com.jero.standards.xuanguan.stablecrosstraining.service.IStableCrossTrainingService;
import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.util.CollectionUtils;
@@ -439,7 +440,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
throw new JeroBootException("会议费用不能为空");
}
}
if (meetingCosts == null && meetingCosts.compareTo(BigDecimal.ZERO) < 1) {
if (meetingCosts != null && meetingCosts.compareTo(BigDecimal.ZERO) < 1) {
if (StringUtils.isNotBlank(payMeetingVO.getPaymentQrCode())) {
throw new JeroBootException("会议费用为0时,不可上传收款二维码");
}
@@ -1390,6 +1391,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
return exportList;
}
@Override
public List<Object> getExportListSummary(HttpServletRequest request, IPage<PayMeeting> queryPageList) {
List<PayMeeting> pageList = queryPageList.getRecords();
// 过滤选中数据
@@ -1432,6 +1434,20 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
payMeetingContacts.setMeetingContactsPhone(PasswordUtil.decrypt(phone));
}
payMeetingVO.setMeetingContactsList(meetingContactsList);
//国际研讨会,判断是否WASIC,判断金额大小,导出大的金额
if (MeetingCommon.INTERNATIONAL_MEETING.equals(meetingType)){
Integer isWasic = meeting.getIsWasic();
if (PayProjectCommon.YES.equals(isWasic)){
BigDecimal meetingCostsTwoTopic = meeting.getMeetingCostsTwoTopic();
BigDecimal meetingCostsThreeTopic = meeting.getMeetingCostsThreeTopic();
if (meetingCostsTwoTopic.compareTo(meetingCostsThreeTopic) > 1){
payMeetingVO.setMeetingCosts(meetingCostsTwoTopic);
}else {
payMeetingVO.setMeetingCosts(meetingCostsThreeTopic);
}
}
}
//保存数据
OtherMeetingExcel otherMeetingExcel = new OtherMeetingExcel();
BeanUtils.copyProperties(payMeetingVO, otherMeetingExcel);
@@ -1258,22 +1258,27 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
Integer isWasic = payMeeting.getIsWasic();
if (PayProjectCommon.YES.equals(isWasic)){
String linkTopics = payMeeting.getLinkTopics();
List<String> linkTopicList = Arrays.asList(linkTopics.split(","));
//先判断是否有免费专题
String choiceTopic = payMeetingSituation.getChoiceTopic();
payMeetingSituation1.setChoiceTopic(choiceTopic);
String[] split = choiceTopic.split(",");
List<String> choiceTopicList = Arrays.asList(choiceTopic.split(","));
if (!linkTopicList.containsAll(choiceTopicList)) {
throw new JeroBootException("课题名称选择错误");
}
boolean isFree = false;
for (String s : split) {
for (String s : choiceTopicList) {
if ("6".equals(s)){
payMeetingSituation1.setAmountReceivable(BigDecimal.ZERO);
isFree = true;
}
}
//根据选择的课题数量,存入金额
if (!isFree && split.length <= 2){
if (!isFree && choiceTopicList.size() <= 2){
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCostsTwoTopic());
}
if (!isFree && split.length > 2){
if (!isFree && choiceTopicList.size() > 2){
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCostsThreeTopic());
}
}else {
@@ -211,6 +211,12 @@ public class PayMeetingVO implements Serializable {
@Range(min = 1, max = 2,message = "是否WASIC格式不正确",groups = InternationalMeeting.class)
private Integer isWasic;
/**关联课题*/
@Excel(name = "关联课题", width = 15)
@ApiModelProperty(value = "关联课题")
@Size(max = 50, message = "关联课题最多为50个字符")
private String linkTopics;
/**会议费用*/
@Excel(name = "会议费用", width = 15)
@ApiModelProperty(value = "会议费用")