开票
This commit is contained in:
+99
@@ -10,11 +10,23 @@ import com.jero.mail.entity.PayMailBillProject;
|
||||
import com.jero.mail.mapper.PayMailBillMapper;
|
||||
import com.jero.mail.service.IPayMailBillProjectService;
|
||||
import com.jero.mail.service.IPayMailBillService;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.payment.entity.PayPaymentRecord;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.mapper.PayCommonProjectMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -31,6 +43,16 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
private IPayMailBillService payMailBillService;
|
||||
@Autowired
|
||||
private IPayMailBillProjectService payMailBillProjectService;
|
||||
@Resource
|
||||
private PayCommonProjectMapper payCommonProjectMapper;
|
||||
@Resource
|
||||
private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper;
|
||||
@Resource
|
||||
private PayMeetingSituationMapper payMeetingSituationMapper;
|
||||
@Resource
|
||||
private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||
|
||||
@Override
|
||||
public List<PayMailBill> selectMailBillVO(String projectId) {
|
||||
@@ -56,9 +78,17 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
* @return
|
||||
*/
|
||||
public Result<?> addPayBill(PayMailBill payMailBill,String projectIds,String projectTypes){
|
||||
|
||||
String[] projectIdArray = projectIds.split(",");
|
||||
String[] projectTypeArray = projectTypes.split(",");
|
||||
|
||||
//校验不同项目是否属于同一个公司
|
||||
String res=checkCompanyProject(projectIdArray,projectTypeArray);
|
||||
if(!"success".equals(res)){
|
||||
return Result.error(res);
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < projectIdArray.length; i++) {
|
||||
if(PayIncomeContractCommon.PROJECT_TYPE5.equals(String.valueOf(projectIdArray[i]))){
|
||||
|
||||
@@ -86,4 +116,73 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
|
||||
//校验不同项目是否属于同一个公司
|
||||
private String checkCompanyProject(String[] projectIdArray,String[] projectTypeArray){
|
||||
for (int i = 0; i < projectTypeArray.length; i++) {
|
||||
|
||||
String standardCompanyId =null;//基准公司id
|
||||
switch (projectTypeArray[i]) {
|
||||
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(projectIdArray[i]);
|
||||
//将第一个项目作为基准公司
|
||||
if(i==0){
|
||||
standardCompanyId = payCommonProject.getChargeCompanyId();
|
||||
}
|
||||
if(!standardCompanyId.equals(payCommonProject.getChargeCompanyId())){
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem workingGroup = payWorkingGroupSubItemMapper.selectById(projectIdArray[i]);
|
||||
//将第一个项目作为基准公司
|
||||
if(i==0){
|
||||
standardCompanyId = workingGroup.getChargeCompanyId();
|
||||
}
|
||||
if(!standardCompanyId.equals(workingGroup.getChargeCompanyId())){
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(projectIdArray[i]);
|
||||
//将第一个项目作为基准公司
|
||||
if(i==0){
|
||||
standardCompanyId = meeting.getCompanyId();
|
||||
}
|
||||
if(!standardCompanyId.equals(meeting.getCompanyId())){
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem memberProject = payMemberProjectSubitemMapper.selectById(projectIdArray[i]);
|
||||
//将第一个项目作为基准公司
|
||||
if(i==0){
|
||||
standardCompanyId = memberProject.getCompanyId();
|
||||
}
|
||||
if(!standardCompanyId.equals(memberProject.getCompanyId())){
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
TbMemberProjectSubitem tbMemberProject = tbMemberProjectSubitemMapper.selectById(projectIdArray[i]);
|
||||
//将第一个项目作为基准公司
|
||||
if(i==0){
|
||||
standardCompanyId = tbMemberProject.getCompanyId();
|
||||
}
|
||||
if(!standardCompanyId.equals(tbMemberProject.getCompanyId())){
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user