add 判断打包企业的接口

This commit is contained in:
lijiarao
2024-07-19 14:36:09 +08:00
parent f7fa7e8369
commit ac1825f0fc
3 changed files with 173 additions and 141 deletions
@@ -1111,6 +1111,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
/**
* 判断当前企业是否是打包企业
*/
@Deprecated
@ApiOperation(value="判断当前企业是否是打包企业")
@GetMapping(value = "/judgeCompanyIsPackaged")
public Result<Boolean> judgeCompanyIsPackaged(@RequestParam(name="companyId") String companyId){
@@ -7,6 +7,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -16,6 +17,7 @@ import com.jero.common.system.base.controller.JeroController;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.service.IPayMailBillProjectService;
import com.jero.pack.entity.PayPackCompany;
@@ -304,7 +306,15 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
return Result.OK(payPackCompany);
}
@ApiOperation(value="判断当前企业是否是打包企业")
@GetMapping(value = "/judgeCompanyIsPackaged")
public Result<Boolean> judgeCompanyIsPackaged(@RequestParam(name="companyId") String companyId){
LambdaQueryWrapper<PayPackCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayPackCompany::getCompanyId,companyId);
wrapper.eq(PayPackCompany::getPackYear, DateUtil.thisYear());
List<PayPackCompany> list = payPackCompanyService.list(wrapper);
return Result.OK(!list.isEmpty()) ;
}
/**
* 导出excel
@@ -17,8 +17,12 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.config.StaticConfig;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.meeting.common.MeetingSubitemCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.meeting.service.IPayMeetingService;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.entity.PayMemberProject;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbCertificatePayment;
@@ -106,7 +110,10 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
private IPayMemberProjectService payMemberProjectService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource
private IPayMeetingService meetingService;
@Resource
private IPayMeetingSituationService meetingSituationService;
@Override
public List<PayCommonProject> queryListAll(PayPackCompanyProjectInput input) {
@@ -415,145 +422,145 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
@Override
public void updateHistory() {
LambdaQueryWrapper<PayPackCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayPackCompany::getPackYear,"2024");
List<PayPackCompany> packCompanyList = payPackCompanyService.list(wrapper);
List<String> packCompanyIdList = packCompanyList.stream().map(PayPackCompany::getId).collect(Collectors.toList());
LambdaQueryWrapper<PayPackCompanyProject> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(PayPackCompanyProject::getPackId,packCompanyIdList);
List<PayPackCompanyProject> list = this.list(wrapper1);
ExecutorService fixedThreadPool = ThreadUtil.newExecutor(10);
for (PayPackCompanyProject project : list) {
fixedThreadPool.submit(() -> {
String projectId = project.getProjectId();
String projectType = project.getProjectType().toString();
// 普通项目
if (PayIncomeContractCommon.PROJECT_TYPE1.equals(projectType)){
PayCommonProject old = payCommonProjectMapper.selectById(projectId);
if (old == null) {
throw new JeroBootException("项目不存在");
}
if (!new BigDecimal("0.00").equals(old.getReceivableAmount())) {
return;
}
PayCommonProject payCommonProject = null;
//普通项目管理-添加
List<JSONObject> jsonObjects = sysBaseAPI.getLogByRequestParam(projectId);
if (jsonObjects.isEmpty()) {
return;
}
for (JSONObject jsonObject : jsonObjects) {
String logContent = jsonObject.getString("logContent");
if ("普通项目管理-添加".equals(logContent)) {
String requestParam = jsonObject.getString("requestParam");
requestParam = requestParam.substring(1, requestParam.length() - 1);
payCommonProject = JSONObject.parseObject(requestParam, PayCommonProject.class);
}
}
if (payCommonProject == null) {
return;
}
PayCommonProject project1 = new PayCommonProject();
project1.setId(projectId);
project1.setReceivableAmount(payCommonProject.getReceivableAmount());
project1.setNoTaxAmount(payCommonProject.getNoTaxAmount());
project1.setTax(payCommonProject.getTax());
payCommonProjectMapper.updateById(project1);
}else if (PayIncomeContractCommon.PROJECT_TYPE2.equals(projectType)){
// 工作组项目
//工作组成员-修改 工作组成员-添加
PayWorkingGroupSubItem old1 = payWorkingGroupSubItemMapper.selectById(projectId);
if (old1 == null) {
throw new JeroBootException("项目不存在");
}
if (!new BigDecimal("0.00").equals(old1.getReceivableAmount())) {
return;
}
String workingGroupId = old1.getWorkingGroupId();
PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroupId);
BigDecimal yearChargeA = payWorkingGroup.getYearChargeA();
if (yearChargeA == null || new BigDecimal("0.00").equals(yearChargeA)) {
yearChargeA = new BigDecimal("0.00");
}
PayWorkingGroupSubItem payWorking = null;
List<JSONObject> jsonObjects1 = sysBaseAPI.getLogByRequestParam(projectId);
for (JSONObject jsonObject : jsonObjects1) {
String logContent = jsonObject.getString("logContent");
if ("工作组成员-添加".equals(logContent) || "工作组成员-修改".equals(logContent) || "企业端-工作组成员-修改".equals(logContent)) {
String requestParam = jsonObject.getString("requestParam");
requestParam = requestParam.substring(1, requestParam.length() - 1);
PayWorkingGroupSubItem obj = JSONObject.parseObject(requestParam, PayWorkingGroupSubItem.class);
BigDecimal receivableAmount = obj.getReceivableAmount();
if (new BigDecimal("0.00").equals(receivableAmount) || receivableAmount == null) {
return;
} else {
payWorking = obj;
}
}
}
if (payWorking == null) {
PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
project2.setId(projectId);
project2.setReceivableAmount(yearChargeA);
BigDecimal noTaxAmount = yearChargeA.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
project2.setNoTaxAmount(noTaxAmount);
project2.setTax(yearChargeA.subtract(noTaxAmount));
payWorkingGroupSubItemMapper.updateById(project2);
} else {
PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
project2.setId(projectId);
project2.setReceivableAmount(payWorking.getReceivableAmount());
project2.setNoTaxAmount(payWorking.getNoTaxAmount());
project2.setTax(payWorking.getTax());
payWorkingGroupSubItemMapper.updateById(project2);
}
}else if (PayIncomeContractCommon.PROJECT_TYPE4.equals(projectType)){
//会员项目
PayMemberProjectSubitem old2 = payMemberProjectSubitemMapper.selectById(projectId);
if (old2 == null) {
throw new JeroBootException("项目不存在");
}
if (!new BigDecimal("0.00").equals(old2.getAmountReceivable())) {
return;
}
String memberProjectId = old2.getProjectId();
PayMemberProject memberProject = payMemberProjectService.getById(memberProjectId);
PayMemberProjectSubitem member = new PayMemberProjectSubitem();
member.setId(projectId);
member.setAmountReceivable(memberProject.getChargeStandard());
BigDecimal noTaxAmount = memberProject.getChargeStandard().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
member.setNoTaxAmount(noTaxAmount);
member.setTax(memberProject.getChargeStandard().subtract(noTaxAmount));
payMemberProjectSubitemMapper.updateById(member);
}else if (PayIncomeContractCommon.PROJECT_TYPE5.equals(projectType)){
//标协会员
TbMemberProjectSubitem old3 = tbMemberProjectSubitemMapper.selectById(projectId);
if (old3 == null) {
throw new JeroBootException("项目不存在");
}
if (!new BigDecimal("0.00").equals(old3.getAmountReceivable())) {
return;
}
TbMemberProjectSubitem tbMember = new TbMemberProjectSubitem();
Integer memberNature = old3.getMemberNature();
BigDecimal amountReceivable = null;
if (memberNature.equals(1)) {
amountReceivable = new BigDecimal("5000");
} else {
amountReceivable = new BigDecimal("2000");
}
tbMember.setId(projectId);
tbMember.setAmountReceivable(amountReceivable);
BigDecimal noTaxAmount1 = amountReceivable.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
tbMember.setNoTaxAmount(noTaxAmount1);
tbMember.setTax(amountReceivable.subtract(noTaxAmount1));
tbMemberProjectSubitemMapper.updateById(tbMember);
}
});
}
//LambdaQueryWrapper<PayPackCompany> wrapper = new LambdaQueryWrapper<>();
//wrapper.eq(PayPackCompany::getPackYear,"2024");
//List<PayPackCompany> packCompanyList = payPackCompanyService.list(wrapper);
//List<String> packCompanyIdList = packCompanyList.stream().map(PayPackCompany::getId).collect(Collectors.toList());
//
//LambdaQueryWrapper<PayPackCompanyProject> wrapper1 = new LambdaQueryWrapper<>();
//wrapper1.in(PayPackCompanyProject::getPackId,packCompanyIdList);
//List<PayPackCompanyProject> list = this.list(wrapper1);
//ExecutorService fixedThreadPool = ThreadUtil.newExecutor(10);
//for (PayPackCompanyProject project : list) {
// fixedThreadPool.submit(() -> {
// String projectId = project.getProjectId();
// String projectType = project.getProjectType().toString();
// // 普通项目
// if (PayIncomeContractCommon.PROJECT_TYPE1.equals(projectType)){
// PayCommonProject old = payCommonProjectMapper.selectById(projectId);
// if (old == null) {
// throw new JeroBootException("项目不存在");
// }
// if (!new BigDecimal("0.00").equals(old.getReceivableAmount())) {
// return;
// }
// PayCommonProject payCommonProject = null;
// //普通项目管理-添加
// List<JSONObject> jsonObjects = sysBaseAPI.getLogByRequestParam(projectId);
// if (jsonObjects.isEmpty()) {
// return;
// }
// for (JSONObject jsonObject : jsonObjects) {
// String logContent = jsonObject.getString("logContent");
// if ("普通项目管理-添加".equals(logContent)) {
// String requestParam = jsonObject.getString("requestParam");
// requestParam = requestParam.substring(1, requestParam.length() - 1);
// payCommonProject = JSONObject.parseObject(requestParam, PayCommonProject.class);
// }
// }
// if (payCommonProject == null) {
// return;
// }
// PayCommonProject project1 = new PayCommonProject();
// project1.setId(projectId);
// project1.setReceivableAmount(payCommonProject.getReceivableAmount());
// project1.setNoTaxAmount(payCommonProject.getNoTaxAmount());
// project1.setTax(payCommonProject.getTax());
// payCommonProjectMapper.updateById(project1);
// }else if (PayIncomeContractCommon.PROJECT_TYPE2.equals(projectType)){
// // 工作组项目
// //工作组成员-修改 工作组成员-添加
// PayWorkingGroupSubItem old1 = payWorkingGroupSubItemMapper.selectById(projectId);
// if (old1 == null) {
// throw new JeroBootException("项目不存在");
// }
// if (!new BigDecimal("0.00").equals(old1.getReceivableAmount())) {
// return;
// }
// String workingGroupId = old1.getWorkingGroupId();
// PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroupId);
// BigDecimal yearChargeA = payWorkingGroup.getYearChargeA();
// if (yearChargeA == null || new BigDecimal("0.00").equals(yearChargeA)) {
// yearChargeA = new BigDecimal("0.00");
// }
// PayWorkingGroupSubItem payWorking = null;
// List<JSONObject> jsonObjects1 = sysBaseAPI.getLogByRequestParam(projectId);
// for (JSONObject jsonObject : jsonObjects1) {
// String logContent = jsonObject.getString("logContent");
// if ("工作组成员-添加".equals(logContent) || "工作组成员-修改".equals(logContent) || "企业端-工作组成员-修改".equals(logContent)) {
// String requestParam = jsonObject.getString("requestParam");
// requestParam = requestParam.substring(1, requestParam.length() - 1);
// PayWorkingGroupSubItem obj = JSONObject.parseObject(requestParam, PayWorkingGroupSubItem.class);
// BigDecimal receivableAmount = obj.getReceivableAmount();
// if (new BigDecimal("0.00").equals(receivableAmount) || receivableAmount == null) {
// return;
// } else {
// payWorking = obj;
// }
// }
// }
// if (payWorking == null) {
//
// PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
// project2.setId(projectId);
//
// project2.setReceivableAmount(yearChargeA);
// BigDecimal noTaxAmount = yearChargeA.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
// project2.setNoTaxAmount(noTaxAmount);
// project2.setTax(yearChargeA.subtract(noTaxAmount));
// payWorkingGroupSubItemMapper.updateById(project2);
// } else {
// PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
// project2.setId(projectId);
// project2.setReceivableAmount(payWorking.getReceivableAmount());
// project2.setNoTaxAmount(payWorking.getNoTaxAmount());
// project2.setTax(payWorking.getTax());
// payWorkingGroupSubItemMapper.updateById(project2);
// }
// }else if (PayIncomeContractCommon.PROJECT_TYPE4.equals(projectType)){
// //会员项目
// PayMemberProjectSubitem old2 = payMemberProjectSubitemMapper.selectById(projectId);
// if (old2 == null) {
// throw new JeroBootException("项目不存在");
// }
// if (!new BigDecimal("0.00").equals(old2.getAmountReceivable())) {
// return;
// }
// String memberProjectId = old2.getProjectId();
// PayMemberProject memberProject = payMemberProjectService.getById(memberProjectId);
// PayMemberProjectSubitem member = new PayMemberProjectSubitem();
// member.setId(projectId);
// member.setAmountReceivable(memberProject.getChargeStandard());
// BigDecimal noTaxAmount = memberProject.getChargeStandard().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
// member.setNoTaxAmount(noTaxAmount);
// member.setTax(memberProject.getChargeStandard().subtract(noTaxAmount));
// payMemberProjectSubitemMapper.updateById(member);
// }else if (PayIncomeContractCommon.PROJECT_TYPE5.equals(projectType)){
// //标协会员
// TbMemberProjectSubitem old3 = tbMemberProjectSubitemMapper.selectById(projectId);
// if (old3 == null) {
// throw new JeroBootException("项目不存在");
// }
// if (!new BigDecimal("0.00").equals(old3.getAmountReceivable())) {
// return;
// }
// TbMemberProjectSubitem tbMember = new TbMemberProjectSubitem();
// Integer memberNature = old3.getMemberNature();
// BigDecimal amountReceivable = null;
// if (memberNature.equals(1)) {
// amountReceivable = new BigDecimal("5000");
// } else {
// amountReceivable = new BigDecimal("2000");
// }
// tbMember.setId(projectId);
// tbMember.setAmountReceivable(amountReceivable);
// BigDecimal noTaxAmount1 = amountReceivable.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
// tbMember.setNoTaxAmount(noTaxAmount1);
// tbMember.setTax(amountReceivable.subtract(noTaxAmount1));
// tbMemberProjectSubitemMapper.updateById(tbMember);
// }
// });
//}
//if (!fixedThreadPool.isShutdown()) {
// fixedThreadPool.shutdown();
//}
@@ -561,5 +568,19 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
// fixedThreadPool.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
//} catch (InterruptedException e) {
//}
LambdaQueryWrapper<PayMeetingSituation> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(PayMeetingSituation::getPayMode, MeetingSubitemCommon.PAY_MODE_3);
List<PayMeetingSituation> situationList = meetingSituationService.list(wrapper2);
for (PayMeetingSituation situation : situationList) {
String meetingId = situation.getMeetingId();
PayMeeting meeting = meetingService.getById(meetingId);
BigDecimal meetingCosts = meeting.getMeetingCosts();
PayMeetingSituation project2 = new PayMeetingSituation();
project2.setId(situation.getId());
project2.setAmountReceivable(meetingCosts);
BigDecimal noTaxAmount = meetingCosts.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
project2.setNoTaxAmount(noTaxAmount);
project2.setTax(meetingCosts.subtract(noTaxAmount));
}
}
}