add:理事会新增导入到标协会员
This commit is contained in:
+15
-4
@@ -23,9 +23,8 @@ import com.jero.data.entity.*;
|
||||
import com.jero.data.service.IPayCaseCouncilService;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.mail.commont.constant;
|
||||
import com.jero.meeting.entity.PayMeetingRemindRecord;
|
||||
import com.jero.meeting.service.IPayMeetingRemindRecordService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.member.service.ITbMemberProjectService;
|
||||
import com.jero.util.AmountUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -38,7 +37,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.util.ArrayList;
|
||||
@@ -67,6 +65,8 @@ public class PayCaseCouncilSubitemController extends JeroController<PayCaseCounc
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
@Resource
|
||||
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
|
||||
@Resource
|
||||
private ITbMemberProjectService tbMemberProjectService;
|
||||
|
||||
/**
|
||||
* 理事会成员表
|
||||
@@ -320,5 +320,16 @@ public class PayCaseCouncilSubitemController extends JeroController<PayCaseCounc
|
||||
return AmountUtil.exportListXls(list, ChooseExcelCouncil.class,"理事会表导出");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导入到标协会员
|
||||
*/
|
||||
@Transactional
|
||||
// @RequiresPermissions("")
|
||||
@AutoLog(value = "理事会成员表-导入到标协会员")
|
||||
@ApiOperation(value="理事会成员表-导入到标协会员", notes="理事会成员表-导入到标协会员")
|
||||
@PostMapping(value = "/import")
|
||||
public Result<?> importToMemberProjectSubitem(@RequestBody JSONObject jsonObject) {
|
||||
payCaseCouncilSubitemService.importToMemberProjectSubitem(jsonObject);
|
||||
return Result.OK("导入成功!");
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,11 +1,11 @@
|
||||
package com.jero.data.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.data.entity.*;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -27,4 +27,5 @@ public interface IPayCaseCouncilSubitemService extends IService<PayCaseCouncilSu
|
||||
|
||||
List<subCouncil> listTwo(QueryWrapper<subCouncil> queryWrapper, String meetingId);
|
||||
|
||||
void importToMemberProjectSubitem(JSONObject jsonObject);
|
||||
}
|
||||
|
||||
+132
-2
@@ -1,18 +1,38 @@
|
||||
package com.jero.data.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.common.ProjectCommon;
|
||||
import com.jero.common.enums.PaymentStatusEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.data.entity.*;
|
||||
import com.jero.data.mapper.PayCaseCouncilSubitemMapper;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.member.entity.TbMemberProject;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.enums.MemberStatusEnum;
|
||||
import com.jero.member.service.ITbMemberProjectService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description: pay_case_council_subitem
|
||||
@@ -25,6 +45,17 @@ public class PayCaseCouncilSubitemServiceImpl extends ServiceImpl<PayCaseCouncil
|
||||
|
||||
@Resource
|
||||
private PayCaseCouncilSubitemMapper payCaseCouncilSubitemMapper;
|
||||
@Resource
|
||||
private IPayCaseCouncilSubitemService payCaseCouncilSubitemService;
|
||||
@Resource
|
||||
private ITbMemberProjectService tbMemberProjectService;
|
||||
@Resource
|
||||
private IPayCompanyManagementService companyManagementService;
|
||||
@Resource
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService memberProjectSubitemService;
|
||||
|
||||
@Override
|
||||
public IPage<councilList> listThree(Page<councilList> page, String contactsNames, String companyNames, String councilNames, String userId) {
|
||||
return payCaseCouncilSubitemMapper.listThree(page,contactsNames,companyNames,councilNames,userId);
|
||||
@@ -50,5 +81,104 @@ public class PayCaseCouncilSubitemServiceImpl extends ServiceImpl<PayCaseCouncil
|
||||
return payCaseCouncilSubitemMapper.listTwo(queryWrapper,meetingId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void importToMemberProjectSubitem(JSONObject jsonObject) {
|
||||
String councilId = jsonObject.getString("id");
|
||||
String projectId = jsonObject.getString("projectId");
|
||||
if (StringUtils.isBlank(councilId) || StringUtils.isBlank(projectId)) {
|
||||
throw new JeroBootException("参数错误");
|
||||
}
|
||||
// 根据理事会id查询属于它的所有企业
|
||||
LambdaUpdateWrapper<PayCaseCouncilSubitem> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(PayCaseCouncilSubitem::getCouncilId,councilId);
|
||||
List<PayCaseCouncilSubitem> councilSubitemList = payCaseCouncilSubitemService.list(lambdaUpdateWrapper);
|
||||
if (councilSubitemList.isEmpty()) {
|
||||
throw new JeroBootException("该理事会下无成员");
|
||||
}
|
||||
// 根据标协会员项目id查询对应的标协会员项目
|
||||
TbMemberProject tbMemberProject = tbMemberProjectService.getById(projectId);
|
||||
if (Objects.isNull(tbMemberProject)) {
|
||||
throw new JeroBootException("该标协会员项目不存在");
|
||||
}
|
||||
List<TbMemberProjectSubitem> tbMemberProjectSubitems = new ArrayList<>();
|
||||
BigDecimal councilChargeStandard = tbMemberProject.getCouncilChargeStandard();
|
||||
String councilChargeNoticeNo = tbMemberProject.getCouncilChargeNoticeNo();
|
||||
String chargeNoticeFileId = tbMemberProject.getCouncilChargeNoticeFileId();
|
||||
// 将所有企业成员添加到标协会成员表中
|
||||
for (PayCaseCouncilSubitem payCaseCouncilSubitem : councilSubitemList) {
|
||||
String companyId = payCaseCouncilSubitem.getCompanyId();
|
||||
PayCompanyManagement companyManagement = companyManagementService.getById(companyId);
|
||||
if (companyManagement == null){
|
||||
throw new JeroBootException(payCaseCouncilSubitem.getCompanyName() + "单位不存在");
|
||||
}
|
||||
String liaisonManId = payCaseCouncilSubitem.getContactsId();
|
||||
PayContactsManagement liaisonMan = payContactsManagementService.checkByCompanyIdAndId(liaisonManId, companyId);
|
||||
if (liaisonMan == null){
|
||||
throw new JeroBootException(payCaseCouncilSubitem.getContactsName() + "企业联系人不存在");
|
||||
}
|
||||
LambdaQueryWrapper<TbMemberProjectSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(TbMemberProjectSubitem::getProjectId, projectId);
|
||||
wrapper.eq(TbMemberProjectSubitem::getCompanyId, companyId);
|
||||
int count = memberProjectSubitemService.count(wrapper);
|
||||
if (count > 0) {
|
||||
throw new JeroBootException(payCaseCouncilSubitem.getCompanyName() + "会员单位已经存在");
|
||||
}
|
||||
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
|
||||
tbMemberProjectSubitem.setProjectId(projectId);
|
||||
tbMemberProjectSubitem.setCompanyId(companyId);
|
||||
tbMemberProjectSubitem.setCompanyName(payCaseCouncilSubitem.getCompanyName());
|
||||
tbMemberProjectSubitem.setLiaisonManId(liaisonManId);
|
||||
tbMemberProjectSubitem.setPostContactId(liaisonManId);
|
||||
tbMemberProjectSubitem.setEstimatedArrivalDate(DateUtil.date());
|
||||
tbMemberProjectSubitem.setMemberNature(ProjectCommon.MEMBER_NATURE2);
|
||||
tbMemberProjectSubitem.setPaymentMethod(PayProjectCommon.CHARGE_WAY3);
|
||||
tbMemberProjectSubitem.setInvoiceRequirements(ProjectCommon.NEED_INVOICE2);
|
||||
if (!Objects.isNull(councilChargeStandard)) {
|
||||
tbMemberProjectSubitem.setAmountReceivable(councilChargeStandard);
|
||||
}else {
|
||||
tbMemberProjectSubitem.setAmountReceivable(BigDecimal.ZERO);
|
||||
}
|
||||
if (StringUtils.isNotBlank(councilChargeNoticeNo)) {
|
||||
tbMemberProjectSubitem.setChargeNoticeNo(councilChargeNoticeNo);
|
||||
}
|
||||
if (StringUtils.isNotBlank(chargeNoticeFileId)) {
|
||||
tbMemberProjectSubitem.setChargeNoticeId(chargeNoticeFileId);
|
||||
}
|
||||
tbMemberProjectSubitem.setTaxRate(StaticConfig.TAX_RATE);
|
||||
BigDecimal noTaxAmount = tbMemberProjectSubitem.getAmountReceivable().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
BigDecimal tax = tbMemberProjectSubitem.getAmountReceivable().subtract(noTaxAmount);
|
||||
tbMemberProjectSubitem.setNoTaxAmount(noTaxAmount);
|
||||
tbMemberProjectSubitem.setTax(tax);
|
||||
setDefaultCreateValue(tbMemberProjectSubitem);
|
||||
//赋值会员编号
|
||||
TbMemberProjectSubitem takeEffectInfo = memberProjectSubitemService.getTakeEffectInfo(companyId);
|
||||
if (takeEffectInfo!=null){
|
||||
tbMemberProjectSubitem.setMemberNo(takeEffectInfo.getMemberNo());
|
||||
}
|
||||
tbMemberProjectSubitems.add(tbMemberProjectSubitem);
|
||||
}
|
||||
memberProjectSubitemService.saveBatch(tbMemberProjectSubitems);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建时默认值
|
||||
*/
|
||||
private void setDefaultCreateValue(TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
//实收金额
|
||||
tbMemberProjectSubitem.setPaidAmount(BigDecimal.ZERO);
|
||||
//到账
|
||||
tbMemberProjectSubitem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
//开票
|
||||
tbMemberProjectSubitem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
//邮寄
|
||||
tbMemberProjectSubitem.setMail(PayProjectCommon.MAIL0);
|
||||
//打包
|
||||
tbMemberProjectSubitem.setPack(PayProjectCommon.PACKAGING0);
|
||||
//提票
|
||||
tbMemberProjectSubitem.setTicketCollection(PayProjectCommon.NO);
|
||||
//会员状态
|
||||
tbMemberProjectSubitem.setMemberStatus(MemberStatusEnum.UNPAID_FEES.getValue());
|
||||
//缴费状态
|
||||
tbMemberProjectSubitem.setPaymentStatus(PaymentStatusEnum.TO_BE_UPLOADED.getCode());
|
||||
}
|
||||
}
|
||||
|
||||
-10
@@ -1,26 +1,16 @@
|
||||
package com.jero.meeting.controller;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.drafting.entity.PayDraftingGroup;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingHotelRecommend;
|
||||
import com.jero.meeting.service.IPayMeetingHotelRecommendService;
|
||||
import com.jero.meeting.vo.excel.PayMeetingHotelRecommendExcel;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.member.vo.TbMemberProjectSubitemExcel;
|
||||
import com.jero.member.vo.TbMemberProjectSubitemExcelImport;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
Reference in New Issue
Block a user