收入合同完善
This commit is contained in:
+4
-1
@@ -140,6 +140,7 @@
|
||||
sit.amount_receivable AS receivableAmount,
|
||||
sit.paid_amount AS paidAmount,
|
||||
meeting.director_name AS principalName,
|
||||
sit.company_contact_name AS contactsName,
|
||||
pica.create_time AS createTime
|
||||
FROM pay_income_contract_associated pica
|
||||
JOIN pay_meeting_situation sit ON pica.project_id = sit.id
|
||||
@@ -157,6 +158,7 @@
|
||||
msub.amount_receivable AS receivableAmount,
|
||||
msub.paid_amount AS paidAmount,
|
||||
pmp.director_name AS principalName,
|
||||
msub.company_contact_name AS contactsName,
|
||||
pica.create_time AS createTime
|
||||
FROM pay_income_contract_associated pica
|
||||
JOIN pay_member_project_subitem msub ON pica.project_id = msub.id
|
||||
@@ -173,7 +175,8 @@
|
||||
tmsub.company_name AS chargeCompanyName,
|
||||
tmsub.amount_receivable AS receivableAmount,
|
||||
tmsub.paid_amount AS paidAmount,
|
||||
tmember.director_name AS principalName,
|
||||
'' AS principalName,
|
||||
tmsub.liaison_man AS contactsName,
|
||||
pica.create_time AS createTime
|
||||
FROM pay_income_contract_associated pica
|
||||
JOIN tb_member_project_subitem tmsub ON pica.project_id = tmsub.id
|
||||
|
||||
+3
-58
@@ -87,8 +87,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
@Autowired
|
||||
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
|
||||
@Autowired
|
||||
private ProjectPackService projectPackService;
|
||||
@Autowired
|
||||
private IPayPackCompanyService payPackCompanyService;
|
||||
@Autowired
|
||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||
@@ -174,7 +172,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(CollectionUtils.isEmpty(listPayPackCompany)){
|
||||
PayPackCompany payPackCompanyData = new PayPackCompany();
|
||||
payPackCompanyData.setCompanyId(payIncomeContract.getSignedCompanyId());
|
||||
payPackCompanyData.setCompanyContactId(payIncomeContract.getSignedCompanyId());
|
||||
payPackCompanyData.setCompanyContactId(payIncomeContract.getSignedContactsId());
|
||||
payPackCompanyData.setPackYear(payIncomeContract.getPackYear());
|
||||
payPackCompanyData.setPackContactId(payIncomeContract.getSignedContactsId());
|
||||
payPackCompanyService.addPayPackCompany(payPackCompanyData);
|
||||
@@ -323,7 +321,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
// 添加打包企业
|
||||
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),payIncomeContract.getPack(),payCommonProject.getReceivableAmount(),payCommonProject.getPaidAmount());
|
||||
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayIncomeContractCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
||||
}
|
||||
}
|
||||
projectOutput.setProjectId(payCommonProject.getId());
|
||||
@@ -369,7 +367,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
// 添加打包企业
|
||||
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
||||
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
|
||||
setPack(listPayWorkingGroupSubItem.get(0).getChargeCompanyId(),listPayWorkingGroupSubItem.get(0).getContactsIdOne(),payIncomeContract.getPackYear(),listPayWorkingGroupSubItem.get(0).getId(),payIncomeContract.getPack(),listPayWorkingGroupSubItem.get(0).getReceivableAmount(),listPayWorkingGroupSubItem.get(0).getPaidAmount());
|
||||
payPackCompanyProjectService.setPack(listPayWorkingGroupSubItem.get(0).getChargeCompanyId(),listPayWorkingGroupSubItem.get(0).getContactsIdOne(),payIncomeContract.getPackYear(),listPayWorkingGroupSubItem.get(0).getId(),PayIncomeContractCommon.PROJECT_TYPE2,payIncomeContract.getPack());
|
||||
}
|
||||
}
|
||||
// 更新项目id
|
||||
@@ -403,53 +401,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
return listProjectOutput;
|
||||
}
|
||||
/**
|
||||
* @Description 添加打包企业
|
||||
* @Author lqt
|
||||
* @Date 2021/9/12
|
||||
* @Param
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void setPack(String companyId, String contactsId, String packYear, String projectId, Integer pack, BigDecimal receivableAmount,BigDecimal paidAmount){
|
||||
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
||||
if(Objects.equals(pack,PayIncomeContractCommon.PACK1)){
|
||||
LambdaQueryWrapper<PayPackCompany> queryPayPackCompany = new LambdaQueryWrapper<>();
|
||||
queryPayPackCompany.eq(PayPackCompany::getCompanyId,companyId);
|
||||
queryPayPackCompany.eq(PayPackCompany::getPackYear,packYear);
|
||||
List<PayPackCompany> listPayPackCompany = payPackCompanyService.list(queryPayPackCompany);
|
||||
PayPackCompany payPackCompany = new PayPackCompany();
|
||||
//不存在打包企业 添加打包企业
|
||||
if(CollectionUtils.isEmpty(listPayPackCompany)){
|
||||
PayPackCompany payPackCompanyData = new PayPackCompany();
|
||||
payPackCompanyData.setCompanyId(companyId);
|
||||
payPackCompanyData.setCompanyContactId(contactsId);
|
||||
payPackCompanyData.setPackYear(packYear);
|
||||
payPackCompanyData.setPackContactId(contactsId);
|
||||
payPackCompanyService.addPayPackCompany(payPackCompanyData);
|
||||
LambdaQueryWrapper<PayPackCompany> queryPayPackCompanyNew = new LambdaQueryWrapper<>();
|
||||
queryPayPackCompanyNew.eq(PayPackCompany::getCompanyId,companyId);
|
||||
queryPayPackCompanyNew.eq(PayPackCompany::getPackYear,packYear);
|
||||
List<PayPackCompany> listPayPackCompanyNew = payPackCompanyService.list(queryPayPackCompanyNew);
|
||||
payPackCompany = listPayPackCompanyNew.get(0);
|
||||
}else{
|
||||
payPackCompany = listPayPackCompany.get(0);
|
||||
}
|
||||
// 更新打包实收金额
|
||||
LambdaUpdateWrapper<PayPackCompany> updatePayPackCompany = new LambdaUpdateWrapper<>();
|
||||
updatePayPackCompany.eq(PayPackCompany::getPackChargeTotal,payPackCompany.getPackChargeTotal().add(receivableAmount));
|
||||
updatePayPackCompany.eq(PayPackCompany::getReceiptExpense,payPackCompany.getReceiptExpense().add(paidAmount));
|
||||
updatePayPackCompany.set(PayPackCompany::getId,payPackCompany.getId());
|
||||
payPackCompanyService.update(updatePayPackCompany);
|
||||
// 添加打包企业成员
|
||||
PayPackCompanyProject payPackCompanyProject = new PayPackCompanyProject();
|
||||
payPackCompanyProject.setPackId(payPackCompany.getId());
|
||||
payPackCompanyProject.setProjectId(projectId);
|
||||
payPackCompanyProject.setCome(PayIncomeContractCommon.COME1);
|
||||
payPackCompanyProject.setProjectId(PayIncomeContractCommon.PROJECT_TYPE1);
|
||||
payPackCompanyProjectService.save(payPackCompanyProject);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @Description 验证项目是否被合同关联
|
||||
* @Author lqt
|
||||
* @Date 2021/9/6
|
||||
@@ -634,7 +585,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
throw new JeroBootException("请输入拒绝说明!");
|
||||
}
|
||||
if(Objects.equals(payIncomeContractAudit.getContractStatus(),PayIncomeContractCommon.STATUS3)){
|
||||
// todo 缺少插入合同邮寄表
|
||||
payIncomeContractAudit.setExplainRemarks("");
|
||||
}
|
||||
|
||||
@@ -782,11 +732,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
if(!Objects.equals(payIncomeContract.getSignedCompanyId(),companyId)){
|
||||
throw new JeroBootException("关联合同中签订单位与项目中来款企业不匹配!");
|
||||
}
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||
payIncomeContractAssociated.setProjectId(projectId);
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
return payIncomeContract;
|
||||
}
|
||||
return null;
|
||||
|
||||
+3
-1
@@ -86,7 +86,9 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
||||
}else{
|
||||
p.setReceiptExpense(new BigDecimal("0.00"));
|
||||
}
|
||||
// todo 获取开票金额
|
||||
if(Objects.isNull(p.getPackChargeTotal())){
|
||||
p.setPackChargeTotal(new BigDecimal("0.00"));
|
||||
}
|
||||
});
|
||||
pageList.setRecords(list);
|
||||
}
|
||||
|
||||
+74
-2
@@ -1,32 +1,47 @@
|
||||
package com.jero.pack.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.pack.common.PackCommon;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.pack.vo.PayProjectExcel;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.vo.PayCommonProjectOutput;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -47,6 +62,10 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||
@Autowired
|
||||
private IPayPackCompanyService payPackCompanyService;
|
||||
@Autowired
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Autowired
|
||||
private Environment env;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -125,7 +144,17 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
||||
input.setCompanyId(payPackCompany.getCompanyId());
|
||||
input.setPack(PackCommon.PACKAGING0);
|
||||
List<PayCommonProject> list = payPackCompanyProjectService.queryPackListAll(input);
|
||||
return Result.OK(list);
|
||||
List<PayCommonProjectOutput> listPayCommonProjectOutput = new ArrayList<>();
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
String str = JSON.toJSONString(list);
|
||||
listPayCommonProjectOutput = JSONArray.parseArray(str,PayCommonProjectOutput.class);
|
||||
listPayCommonProjectOutput.forEach(p->{
|
||||
if(!Objects.isNull(p.getChargeUse())){
|
||||
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse())));
|
||||
}
|
||||
});
|
||||
}
|
||||
return Result.OK(listPayCommonProjectOutput);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -240,8 +269,51 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
||||
* @param payPackCompanyProject
|
||||
*/
|
||||
@GetMapping(value = "/exportXls")
|
||||
@ApiOperation(value="打包项目维护-导出excel", notes="打包项目维护-导出excel")
|
||||
public ModelAndView exportXls(HttpServletRequest request, PayPackCompanyProject payPackCompanyProject) {
|
||||
return super.exportXls(request, payPackCompanyProject, PayPackCompanyProject.class, "pay_pack_company_project");
|
||||
// Step.1 组装查询条件
|
||||
QueryWrapper<PayPackCompanyProject> queryWrapper = QueryGenerator.initQueryWrapper(payPackCompanyProject, request.getParameterMap());
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
// Step.2 获取导出数据
|
||||
List<PayPackCompanyProject> pageList = payPackCompanyProjectService.list(queryWrapper);
|
||||
List<PayProjectExcel> exportList = null;
|
||||
|
||||
// 过滤选中数据
|
||||
String selections = request.getParameter("selections");
|
||||
List<String> selectionList = new ArrayList<>();
|
||||
if (oConvertUtils.isNotEmpty(selections)) {
|
||||
selectionList = Arrays.asList(selections.split(","));
|
||||
}
|
||||
if(CollectionUtils.isEmpty(pageList)){
|
||||
throw new JeroBootException("没有数据可导出!");
|
||||
}
|
||||
PayPackCompany payPackCompany = payPackCompanyService.getById(pageList.get(0).getPackId());
|
||||
if(Objects.isNull(payPackCompany)){
|
||||
throw new JeroBootException("打包企业不存在!");
|
||||
}
|
||||
exportList = payPackCompanyProjectService.getExportXls(selectionList,payPackCompany.getCompanyId());
|
||||
if(!CollectionUtils.isEmpty(exportList)){
|
||||
exportList.forEach(p->{
|
||||
if(!StringUtils.isBlank(p.getPhone())){
|
||||
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(p.getEmail())){
|
||||
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
|
||||
}
|
||||
});
|
||||
}
|
||||
// Step.3 AutoPoi 导出Excel
|
||||
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
|
||||
mv.addObject(NormalExcelConstants.FILE_NAME, "打包成员信息"); //此处设置的filename无效 ,前端会重更新设置一下
|
||||
mv.addObject(NormalExcelConstants.CLASS, PayProjectExcel.class);
|
||||
//update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置--------------------
|
||||
ExportParams exportParams=new ExportParams("打包成员信息", "打包成员信息");
|
||||
exportParams.setImageBasePath(env.getProperty("jero.path.upload"));
|
||||
//update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置----------------------
|
||||
mv.addObject(NormalExcelConstants.PARAMS,exportParams);
|
||||
mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
|
||||
return mv;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+12
@@ -6,6 +6,8 @@ import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: pay_pack_company
|
||||
* @Author: jeecg-boot
|
||||
@@ -24,4 +26,14 @@ public interface PayPackCompanyMapper extends BaseMapper<PayPackCompany> {
|
||||
*/
|
||||
PayCommonProject queryPackListCount(PayPackCompanyProjectInput input);
|
||||
|
||||
/**
|
||||
* @Description 导出excel数据
|
||||
* @Author lqt
|
||||
* @Date 2021/9/13
|
||||
* @Param
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
void getExportXls(List<String> list);
|
||||
|
||||
}
|
||||
|
||||
+11
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.pack.common.PackCommon;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.pack.vo.PayProjectExcel;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@@ -50,4 +51,14 @@ public interface PayPackCompanyProjectMapper extends BaseMapper<PayPackCompanyPr
|
||||
List<String> queryPackToYear(@Param("companyId") String companyId,@Param("projectType") String projectType,
|
||||
@Param("year") String year,@Param("come") Integer come);
|
||||
|
||||
/**
|
||||
* @Description 导出excel数据
|
||||
* @Author lqt
|
||||
* @Date 2021/9/13
|
||||
* @Param
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
List<PayProjectExcel> getExportXls(@Param("list") List<String> list,@Param("companyId") String companyId);
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2
|
||||
from pay_working_group g
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
|
||||
<where>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND gsub.charge_company_id = #{companyId}
|
||||
|
||||
+122
-5
@@ -26,8 +26,7 @@
|
||||
( project.phone = '' or project.phone IS NULL, pcmt.phone, project.phone ) AS phone,
|
||||
IF
|
||||
( project.email = '' or project.email IS NULL, pcmt.email, project.email ) AS email
|
||||
from pay_pack_company_project ppcp
|
||||
LEFT JOIN
|
||||
from
|
||||
(
|
||||
<!-- 普通项目-->
|
||||
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email
|
||||
@@ -107,13 +106,18 @@
|
||||
AND tmember.year = #{year}
|
||||
</if>
|
||||
</where>
|
||||
) project ON project.id = ppcp.project_id
|
||||
) project
|
||||
LEFT JOIN pay_pack_company_project ppcp ON project.id = ppcp.project_id
|
||||
LEFT JOIN pay_pack_company ppc ON ppc.id = ppcp.pack_id and ppc.pack_year =#{packYear}
|
||||
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = project.contacts_temporary_id
|
||||
LEFT JOIN pay_payment_record ppr ON ppr.project_id = project.id
|
||||
WHERE project.id IS NOT NULL AND project.id != ''
|
||||
<if test="packId != null and packId != ''">
|
||||
AND ppcp.pack_id = #{packId}
|
||||
</if>
|
||||
<if test="paymentDate != null and paymentDate != ''">
|
||||
AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate}
|
||||
</if>
|
||||
WHERE project.id IS NOT NULL AND project.id != ''
|
||||
GROUP BY ppcp.project_id ORDER BY ppcp.create_time desc
|
||||
</select>
|
||||
<select id="queryPackListAll" resultType="com.jero.project.entity.PayCommonProject">
|
||||
@@ -142,7 +146,7 @@
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2
|
||||
from pay_working_group g
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND gsub.id = #{projectId}
|
||||
@@ -239,4 +243,117 @@
|
||||
WHERE ppcp.project_type =#{projectType} AND ppc.pack_year = #{year} AND ppc.company_id=#{companyId}
|
||||
AND ppcp.come = #{come}
|
||||
</select>
|
||||
<select id="getExportXls" resultType="com.jero.pack.vo.PayProjectExcel">
|
||||
select
|
||||
project.id,
|
||||
project.charge_project,
|
||||
project.charge_use,
|
||||
project.principal_id,
|
||||
project.principal_name,
|
||||
project.contacts_temporary_id,
|
||||
project.contacts_temporary_name,
|
||||
project.charge_company_temporary_name,
|
||||
project.receivable_amount,
|
||||
project.paid_amount,
|
||||
project.need_invoice,
|
||||
project.pack,
|
||||
project.in_account,
|
||||
project.make_invoice,
|
||||
project.mail,
|
||||
project.create_time,
|
||||
project.projectType,
|
||||
IF
|
||||
( project.phone = '' or project.phone IS NULL, pcmt.phone, project.phone ) AS phone,
|
||||
IF
|
||||
( project.email = '' or project.email IS NULL, pcmt.email, project.email ) AS email
|
||||
from
|
||||
(
|
||||
<!-- 普通项目-->
|
||||
select c.id,c.charge_project, c.charge_use,
|
||||
c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1
|
||||
as projectType,'' as phone,'' as email
|
||||
from pay_common_project c
|
||||
<where>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND c.charge_company_id = #{companyId}
|
||||
</if>
|
||||
<if test="list != null and list.size() > 0">
|
||||
AND c.id IN
|
||||
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
<!--工作组项目-->
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project, gsub.charge_use,
|
||||
g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'',''
|
||||
from pay_working_group g
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
|
||||
<where>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND gsub.charge_company_id = #{companyId}
|
||||
</if>
|
||||
<if test="list != null and list.size() > 0">
|
||||
AND gsub.id IN
|
||||
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
<!-- 会议项目-->
|
||||
UNION ALL
|
||||
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id,
|
||||
meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'',''
|
||||
from pay_meeting meeting
|
||||
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
|
||||
<where>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND sit.company_id = #{companyId}
|
||||
</if>
|
||||
<if test="list != null and list.size() > 0">
|
||||
AND sit.id IN
|
||||
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
<!-- 会员项目-->
|
||||
UNION ALL
|
||||
select
|
||||
msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'',''
|
||||
from pay_member_project pmp
|
||||
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
|
||||
<where>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND msub.company_id = #{companyId}
|
||||
</if>
|
||||
<if test="list != null and list.size() > 0">
|
||||
AND msub.id IN
|
||||
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
<!-- 标协会员项目-->
|
||||
UNION ALL
|
||||
select
|
||||
tmsub.id,tmember.project_name,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,mobile,email
|
||||
from tb_member_project tmember
|
||||
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
|
||||
<where>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND tmsub.company_id = #{companyId}
|
||||
</if>
|
||||
<if test="list != null and list.size() > 0">
|
||||
AND tmsub.id IN
|
||||
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
) project
|
||||
LEFT JOIN pay_pack_company_project ppcp ON project.id = ppcp.project_id
|
||||
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = project.contacts_temporary_id
|
||||
</select>
|
||||
</mapper>
|
||||
+20
-1
@@ -4,6 +4,7 @@ package com.jero.pack.service;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.pack.vo.PayProjectExcel;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
|
||||
import java.util.List;
|
||||
@@ -32,7 +33,7 @@ public interface IPayPackCompanyProjectService extends IService<PayPackCompanyPr
|
||||
*/
|
||||
List<PayCommonProject> queryPackListAll(PayPackCompanyProjectInput input);
|
||||
/**
|
||||
* @Description
|
||||
* @Description 打包
|
||||
* @Author lqt
|
||||
* @Date 2021/9/10
|
||||
* @Param
|
||||
@@ -69,4 +70,22 @@ public interface IPayPackCompanyProjectService extends IService<PayPackCompanyPr
|
||||
* @Exception
|
||||
*/
|
||||
List<String> queryPackToYear(String companyId,String projectType,String year);
|
||||
/**
|
||||
* @Description 添加打包企业
|
||||
* @Author lqt
|
||||
* @Date 2021/9/13
|
||||
* @Param
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
void setPack(String companyId, String contactsId, String packYear, String projectId, String projectType, Integer pack);
|
||||
/**
|
||||
* @Description 导出excel数据
|
||||
* @Author lqt
|
||||
* @Date 2021/9/13
|
||||
* @Param
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
List<PayProjectExcel> getExportXls(List<String> list,String companyId);
|
||||
}
|
||||
|
||||
+3
-1
@@ -5,6 +5,8 @@ import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: pay_pack_company
|
||||
* @Author: jeecg-boot
|
||||
@@ -20,7 +22,7 @@ public interface IPayPackCompanyService extends IService<PayPackCompany> {
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
void addPayPackCompany(PayPackCompany payPackCompany);
|
||||
PayPackCompany addPayPackCompany(PayPackCompany payPackCompany);
|
||||
/**
|
||||
* @Description 编辑
|
||||
* @Author lqt
|
||||
|
||||
+42
-2
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.ProjectPackService;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.pack.common.PackCommon;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
@@ -12,11 +13,13 @@ import com.jero.pack.mapper.PayPackCompanyProjectMapper;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.pack.vo.PayProjectExcel;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
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 org.springframework.transaction.annotation.Isolation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -55,7 +58,7 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@Transactional()
|
||||
public void addPayPackCompanyProject(PayPackCompanyProject payPackCompanyProject) {
|
||||
PayPackCompany payPackCompany = payPackCompanyService.getById(payPackCompanyProject.getPackId());
|
||||
if(Objects.isNull(payPackCompany)){
|
||||
@@ -71,10 +74,11 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
if(StringUtils.isBlank(s1)){
|
||||
throw new JeroBootException("项目id不能为空!");
|
||||
}
|
||||
List<PayCommonProject> list = new ArrayList<>();
|
||||
PayPackCompanyProjectInput input = new PayPackCompanyProjectInput();
|
||||
input.setProjectId(s1);
|
||||
input.setCompanyId(payPackCompany.getCompanyId());
|
||||
List<PayCommonProject> list = payPackCompanyProjectService.queryPackListAll(input);
|
||||
list = payPackCompanyProjectService.queryPackListAll(input);
|
||||
if(CollectionUtils.isEmpty(list)){
|
||||
throw new JeroBootException("项目下企业不匹配!");
|
||||
}
|
||||
@@ -140,4 +144,40 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
public List<String> queryPackToYear(String companyId,String projectType,String year) {
|
||||
return payPackCompanyProjectMapper.queryPackToYear(companyId,projectType,year, PackCommon.COME2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPack(String companyId, String contactsId, String packYear, String projectId,String projectType, Integer pack) {
|
||||
// 合同选择了打包,查看打包年份&&打包企业是否存在
|
||||
if(Objects.equals(pack, PackCommon.PACKAGING1)){
|
||||
LambdaQueryWrapper<PayPackCompany> queryPayPackCompany = new LambdaQueryWrapper<>();
|
||||
queryPayPackCompany.eq(PayPackCompany::getCompanyId,companyId);
|
||||
queryPayPackCompany.eq(PayPackCompany::getPackYear,packYear);
|
||||
List<PayPackCompany> listPayPackCompany = payPackCompanyService.list(queryPayPackCompany);
|
||||
PayPackCompany payPackCompany = new PayPackCompany();
|
||||
//不存在打包企业 添加打包企业
|
||||
if(CollectionUtils.isEmpty(listPayPackCompany)){
|
||||
PayPackCompany payPackCompanyData = new PayPackCompany();
|
||||
payPackCompanyData.setCompanyId(companyId);
|
||||
payPackCompanyData.setCompanyContactId(contactsId);
|
||||
payPackCompanyData.setPackYear(packYear);
|
||||
payPackCompanyData.setPackContactId(contactsId);
|
||||
payPackCompany = payPackCompanyService.addPayPackCompany(payPackCompanyData);
|
||||
}else{
|
||||
payPackCompany = listPayPackCompany.get(0);
|
||||
}
|
||||
// 添加打包企业成员
|
||||
PayPackCompanyProject payPackCompanyProject = new PayPackCompanyProject();
|
||||
payPackCompanyProject.setPackId(payPackCompany.getId());
|
||||
payPackCompanyProject.setProjectId(projectId);
|
||||
payPackCompanyProject.setCome(PayIncomeContractCommon.COME1);
|
||||
payPackCompanyProject.setProjectType(Integer.parseInt(projectType));
|
||||
payPackCompanyProjectService.save(payPackCompanyProject);
|
||||
// projectPackService.updateProjectStatus(projectId,projectType,String.valueOf(PackCommon.PACKAGING1),payPackCompanyProject.getPackId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PayProjectExcel> getExportXls(List<String> list,String companyId) {
|
||||
return payPackCompanyProjectMapper.getExportXls(list,companyId);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
@@ -43,7 +44,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void addPayPackCompany(PayPackCompany payPackCompany) {
|
||||
public PayPackCompany addPayPackCompany(PayPackCompany payPackCompany) {
|
||||
try {
|
||||
LambdaQueryWrapper<PayPackCompany> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayPackCompany::getCompanyId,payPackCompany.getCompanyId());
|
||||
@@ -58,6 +59,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
}
|
||||
setPayPackCompany(payPackCompany);
|
||||
payPackCompanyService.save(payPackCompany);
|
||||
return payPackCompany;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,215 @@
|
||||
package com.jero.pack.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Description: pay_common_project
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2021-08-27
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
public class PayProjectExcel implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
/**来款项目*/
|
||||
@Excel(name = "打包项目名称", width = 15)
|
||||
@ApiModelProperty(value = "来款项目")
|
||||
@NotEmpty(message = "来款项目不能为空!")
|
||||
@Size(max = 100,message = "来款项目长度不能大于100个字符")
|
||||
private String chargeProject;
|
||||
/**运行年份*/
|
||||
// @Excel(name = "运行年份", width = 15)
|
||||
@ApiModelProperty(value = "运行年份")
|
||||
@NotEmpty(message = "运行年份不能为空!")
|
||||
@Pattern(regexp = "^\\d{4}$",message = "运行年份格式错误")
|
||||
private String year;
|
||||
/**负责人id*/
|
||||
// @Excel(name = "负责人id", width = 15)
|
||||
@ApiModelProperty(value = "负责人id")
|
||||
@NotEmpty(message = "负责人id不能为空!")
|
||||
@Size(max = 32,message = "来款项目长度不能大于32个字符")
|
||||
private String principalId;
|
||||
/**负责人名称*/
|
||||
@Excel(name = "项目负责人名称", width = 15)
|
||||
@ApiModelProperty(value = "负责人名称")
|
||||
private String principalName;
|
||||
/**来款企业id*/
|
||||
// @Excel(name = "来款企业id", width = 15)
|
||||
@ApiModelProperty(value = "来款企业id")
|
||||
@NotEmpty(message = "来款企业id不能为空!")
|
||||
@Size(max = 32,message = "来款企业id长度不能大于32个字符")
|
||||
private String chargeCompanyId;
|
||||
/**临时来款企业id*/
|
||||
// @Excel(name = "临时来款企业id", width = 15)
|
||||
@ApiModelProperty(value = "临时来款企业id")
|
||||
@Size(max = 32,message = "临时来款企业id长度不能大于32个字符")
|
||||
private String chargeCompanyTemporaryId;
|
||||
/**临时来款企业*/
|
||||
// @Excel(name = "临时来款企业", width = 15)
|
||||
@ApiModelProperty(value = "临时来款企业")
|
||||
private String chargeCompanyTemporaryName;
|
||||
/**来款用途(字典表)*/
|
||||
// @Excel(name = "来款用途(字典表)", width = 15)
|
||||
@ApiModelProperty(value = "来款用途(字典表)")
|
||||
@Dict(dicCode = "payment_charge_use")
|
||||
@NotNull(message = "来款用途不能为空!")
|
||||
private Integer chargeUse;
|
||||
/**联系人id*/
|
||||
// @Excel(name = "联系人id", width = 15)
|
||||
@ApiModelProperty(value = "联系人id")
|
||||
@NotEmpty(message = "联系人id不能为空!")
|
||||
@Size(max = 32,message = "来款企业id长度不能大于32个字符")
|
||||
private String contactsId;
|
||||
/**临时联系人id*/
|
||||
// @Excel(name = "临时联系人id", width = 15)
|
||||
@ApiModelProperty(value = "临时联系人id")
|
||||
@Size(max = 32,message = "临时联系人id长度不能大于32个字符")
|
||||
private String contactsTemporaryId;
|
||||
/**临时联系人名称*/
|
||||
@Excel(name = "企业联系人", width = 15)
|
||||
@ApiModelProperty(value = "临时联系人名称")
|
||||
private String contactsTemporaryName;
|
||||
/**
|
||||
* 联系人电话
|
||||
*/
|
||||
@Excel(name = "联系人电话", width = 15)
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "联系人电话")
|
||||
private String phone;
|
||||
/**
|
||||
* 联系人邮箱
|
||||
*/
|
||||
@Excel(name = "联系人邮箱", width = 15)
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "联系人邮箱")
|
||||
private String email;
|
||||
/**应收金额(元)*/
|
||||
@Excel(name = "应收金额(元)", width = 15)
|
||||
@ApiModelProperty(value = "应收金额(元)")
|
||||
@NotNull(message = "应收金额(元)不能为空!")
|
||||
@DecimalMax(value = "9999999999.99",message = "应收金额(元)格式错误")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal receivableAmount;
|
||||
/**实收金额(元)*/
|
||||
@Excel(name = "实收金额(元)", width = 15)
|
||||
@ApiModelProperty(value = "实收金额(元)")
|
||||
@DecimalMax(value = "9999999999.99",message = "实收金额(元)格式错误")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal paidAmount;
|
||||
/**邮寄联系人id*/
|
||||
// @Excel(name = "邮寄联系人id", width = 15)
|
||||
@ApiModelProperty(value = "邮寄联系人id")
|
||||
@NotEmpty(message = "邮寄联系人id不能为空!")
|
||||
@Size(max = 32,message = "邮寄联系人id长度不能大于32个字符")
|
||||
private String mailContactsId;
|
||||
/**临时邮寄联系人id*/
|
||||
// @Excel(name = "临时邮寄联系人id", width = 15)
|
||||
@ApiModelProperty(value = "临时邮寄联系人id")
|
||||
@Size(max = 32,message = "临时邮寄联系人id长度不能大于32个字符")
|
||||
private String mailContactsTemporaryId;
|
||||
/**临时邮寄联系人名称*/
|
||||
// @Excel(name = "临时邮寄联系人名称", width = 15)
|
||||
@ApiModelProperty(value = "临时邮寄联系人名称")
|
||||
private String mailContactsTemporaryName;
|
||||
/**打包(1:是,0:否)*/
|
||||
// @Excel(name = "打包(1:是,0:否)", width = 15)
|
||||
@ApiModelProperty(value = "打包(1:是,0:否)")
|
||||
private Integer pack;
|
||||
/**需要发票(1:增值税普通发票,2:增值税专用发票,3:否)*/
|
||||
// @Excel(name = "需要发票(1:增值税普通发票,2:增值税专用发票,3:否)", width = 15)
|
||||
@ApiModelProperty(value = "需要发票(1:增值税普通发票,2:增值税专用发票,3:否)")
|
||||
@NotNull(message = "需要发票不能为空!")
|
||||
private Integer needInvoice;
|
||||
/**到账(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))*/
|
||||
// @Excel(name = "到账(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))", width = 15)
|
||||
@ApiModelProperty(value = "到账(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))")
|
||||
private Integer inAccount;
|
||||
/**开票(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))*/
|
||||
// @Excel(name = "开票(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))", width = 15)
|
||||
@ApiModelProperty(value = "开票(1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))")
|
||||
private Integer makeInvoice;
|
||||
/**邮寄((1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志)))*/
|
||||
// @Excel(name = "邮寄((1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志)))", width = 15)
|
||||
@ApiModelProperty(value = "邮寄((1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志)))")
|
||||
private Integer mail;
|
||||
/**来款方式(1:无,2:合同,3:收费通知)*/
|
||||
// @Excel(name = "来款方式(1:无,2:合同,3:收费通知)", width = 15)
|
||||
@ApiModelProperty(value = "来款方式(1:无,2:合同,3:收费通知)")
|
||||
@NotNull(message = "需要发票不能为空!")
|
||||
private Integer chargeWay;
|
||||
/**合同编号*/
|
||||
// @Excel(name = "合同编号", width = 15)
|
||||
@ApiModelProperty(value = "合同编号")
|
||||
@Size(max = 50,message = "合同编号长度不能大于50个字符")
|
||||
private String contractNum;
|
||||
/**收费通知号*/
|
||||
// @Excel(name = "收费通知号", width = 15)
|
||||
@ApiModelProperty(value = "收费通知号")
|
||||
@Size(max = 50,message = "收费通知号长度不能大于50个字符")
|
||||
private String chargeNoticeNo;
|
||||
/**收费通知文件id*/
|
||||
// @Excel(name = "收费通知文件id", width = 15)
|
||||
@ApiModelProperty(value = "收费通知文件id")
|
||||
private String chargeNoticeId;
|
||||
/**催款次数*/
|
||||
// @Excel(name = "催款次数", width = 15)
|
||||
@ApiModelProperty(value = "催款次数")
|
||||
private Integer pressMoneyTimes;
|
||||
/**备注*/
|
||||
// @Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
@Size(max = 200,message = "备注长度不能大于200个字符")
|
||||
private String remarks;
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
/**创建时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
/**更新时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@Dict(dicCode = "project_type")
|
||||
@ApiModelProperty(value = "项目类型")
|
||||
private Integer projectType;
|
||||
/**
|
||||
* 来源(1:收入合同,2:打包管理)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "来源(1:收入合同,2:打包管理)")
|
||||
private Integer come;
|
||||
}
|
||||
+1
-1
@@ -166,7 +166,7 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
||||
}
|
||||
// 去掉已打包&&打包年份不一致的数据
|
||||
if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1)
|
||||
&& finalListProject.contains(p.getId())){
|
||||
&& !finalListProject.contains(p.getId())){
|
||||
return;
|
||||
}
|
||||
if(!Objects.isNull(p.getChargeUse())){
|
||||
|
||||
+1
-1
@@ -173,7 +173,7 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
||||
list.forEach(p->{
|
||||
// 去掉已打包&&打包年份不一致的数据
|
||||
if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1)
|
||||
&& finalListProject.contains(p.getId())){
|
||||
&& !finalListProject.contains(p.getId())){
|
||||
return;
|
||||
}
|
||||
listNew.add(p);
|
||||
|
||||
+45
-27
@@ -7,12 +7,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.ProjectDetailService;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
@@ -28,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.transaction.annotation.Isolation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -60,6 +63,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
@Autowired
|
||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||
@Autowired
|
||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -68,7 +73,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@Transactional()
|
||||
public void addPayCommonProject(PayCommonProject payCommonProject) {
|
||||
try {
|
||||
// 编辑保存前再次校验来款项目是否存在
|
||||
@@ -84,26 +89,33 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
throw new JeroBootException("来款项目已存在!");
|
||||
}
|
||||
|
||||
setPayCommonProject(payCommonProject);
|
||||
payCommonProject.setPack(PayProjectCommon.PACKAGING0);
|
||||
payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
payCommonProject.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
payCommonProject.setMail(PayProjectCommon.MAIL0);
|
||||
payCommonProjectService.save(payCommonProject);
|
||||
|
||||
PayIncomeContract payIncomeContract = null;
|
||||
// 来款方式为合同,校验合同编号
|
||||
if(Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
||||
}
|
||||
setPayCommonProject(payCommonProject);
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
payCommonProject.setPack(PayProjectCommon.PACKAGING1);
|
||||
}else{
|
||||
payCommonProject.setPack(PayProjectCommon.PACKAGING0);
|
||||
}
|
||||
payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
payCommonProject.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
payCommonProject.setMail(PayProjectCommon.MAIL0);
|
||||
payCommonProjectService.save(payCommonProject);
|
||||
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||
payIncomeContractAssociated.setProjectId(payCommonProject.getId());
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
}
|
||||
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(!Objects.isNull(payIncomeContract) && Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
LambdaUpdateWrapper<PayCommonProject> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(PayCommonProject::getId,payCommonProject.getId());
|
||||
update.set(PayCommonProject::getPack,PayProjectCommon.PACKAGING1);
|
||||
payCommonProjectService.update(update);
|
||||
// todo 缺少添加打包功能
|
||||
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,21 +146,27 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
throw new JeroBootException("项目已关联合同,合同编号不可修改!");
|
||||
}
|
||||
|
||||
PayIncomeContract payIncomeContractAdd = null;
|
||||
// 没有关联合同 && 来款方式为合同,校验合同编号
|
||||
if(Objects.isNull(payIncomeContract) && Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
PayIncomeContract payIncomeContractAdd = null;
|
||||
// 没有关联合同 && 来款方式为合同,校验合同编号
|
||||
if(Objects.isNull(payIncomeContract) && Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
|
||||
}
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
payCommonProject.setPack(PayProjectCommon.PACKAGING1);
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||
payIncomeContractAssociated.setProjectId(payCommonProject.getId());
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
}else{
|
||||
payCommonProject.setPack(PayProjectCommon.PACKAGING0);
|
||||
}
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPack());
|
||||
}
|
||||
}
|
||||
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
LambdaUpdateWrapper<PayCommonProject> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(PayCommonProject::getId,payCommonProjectOld.getId());
|
||||
update.set(PayCommonProject::getPack,PayProjectCommon.PACKAGING1);
|
||||
payCommonProjectService.update(update);
|
||||
// todo 缺少添加打包功能
|
||||
}
|
||||
|
||||
setPayCommonProject(payCommonProject);
|
||||
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
|
||||
payCompanyManagementTemporaryService.removeById(payCommonProjectOld.getChargeCompanyTemporaryId());
|
||||
|
||||
+48
-25
@@ -12,7 +12,10 @@ import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
@@ -71,6 +74,10 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
|
||||
@Autowired
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
@Autowired
|
||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||
@Autowired
|
||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||
|
||||
@Override
|
||||
public void updateBatchSetCharge(SetChargeInput input) {
|
||||
@@ -123,26 +130,35 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
throw new JeroBootException("工作组成员单位已存在!");
|
||||
}
|
||||
|
||||
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
|
||||
payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0);
|
||||
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
||||
payWorkingGroupSubItemService.save(payWorkingGroupSubItem);
|
||||
|
||||
|
||||
PayIncomeContract payIncomeContract = null;
|
||||
// 来款方式为合同,校验合同编号
|
||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
|
||||
}
|
||||
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING1);
|
||||
}else{
|
||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
|
||||
}
|
||||
payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0);
|
||||
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
||||
payWorkingGroupSubItemService.save(payWorkingGroupSubItem);
|
||||
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE2));
|
||||
payIncomeContractAssociated.setProjectId(payWorkingGroupSubItem.getId());
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
}
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(!Objects.isNull(payIncomeContract) && Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(PayWorkingGroupSubItem::getId,payWorkingGroupSubItem.getId());
|
||||
update.set(PayWorkingGroupSubItem::getPack,PayProjectCommon.PACKAGING1);
|
||||
payWorkingGroupSubItemService.update(update);
|
||||
// todo 缺少添加打包功能
|
||||
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContract.getPackYear(),payIncomeContract.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,19 +210,26 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
if(!Objects.isNull(payIncomeContract) && !Objects.equals(payIncomeContract.getContractNum(),payWorkingGroupSubItem.getContractNum())){
|
||||
throw new JeroBootException("项目已关联合同,合同编号不可修改!");
|
||||
}
|
||||
|
||||
PayIncomeContract payIncomeContractAdd = null;
|
||||
// 来款方式为合同,校验合同编号
|
||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
|
||||
}
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(PayWorkingGroupSubItem::getId,payWorkingGroupSubItem.getId());
|
||||
update.set(PayWorkingGroupSubItem::getPack,PayProjectCommon.PACKAGING1);
|
||||
payWorkingGroupSubItemService.update(update);
|
||||
// todo 缺少添加打包功能
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
PayIncomeContract payIncomeContractAdd = null;
|
||||
// 来款方式为合同,校验合同编号
|
||||
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
|
||||
}
|
||||
if(!Objects.isNull(payIncomeContract)){
|
||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING1);
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
|
||||
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
|
||||
payIncomeContractAssociated.setProjectId(payWorkingGroupSubItem.getId());
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
}else{
|
||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
|
||||
}
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContract.getPackYear(),payWorkingGroupSubItem.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
|
||||
}
|
||||
}
|
||||
|
||||
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
|
||||
|
||||
Reference in New Issue
Block a user