From e2446e9f092cc8cdc433c1e74ccd2e7a8225bd0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Tue, 14 Sep 2021 08:51:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/PayIncomeContractMapper.xml | 5 +- .../impl/PayIncomeContractServiceImpl.java | 61 +---- .../controller/PayPackCompanyController.java | 4 +- .../PayPackCompanyProjectController.java | 76 ++++++- .../pack/mapper/PayPackCompanyMapper.java | 12 + .../mapper/PayPackCompanyProjectMapper.java | 11 + .../pack/mapper/xml/PayPackCompanyMapper.xml | 2 +- .../xml/PayPackCompanyProjectMapper.xml | 127 ++++++++++- .../IPayPackCompanyProjectService.java | 21 +- .../pack/service/IPayPackCompanyService.java | 4 +- .../PayPackCompanyProjectServiceImpl.java | 44 +++- .../impl/PayPackCompanyServiceImpl.java | 4 +- .../com/jero/pack/vo/PayProjectExcel.java | 215 ++++++++++++++++++ .../PayCommonProjectController.java | 2 +- .../controller/PayWorkingGroupController.java | 2 +- .../impl/PayCommonProjectServiceImpl.java | 72 +++--- .../PayWorkingGroupSubItemServiceImpl.java | 73 ++++-- 17 files changed, 608 insertions(+), 127 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/pack/vo/PayProjectExcel.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml index 5b5785e5..8ab72391 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml @@ -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 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index 1c71a42a..1fcee7fd 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -87,8 +87,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPayPackCompany = new LambdaQueryWrapper<>(); - queryPayPackCompany.eq(PayPackCompany::getCompanyId,companyId); - queryPayPackCompany.eq(PayPackCompany::getPackYear,packYear); - List 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 queryPayPackCompanyNew = new LambdaQueryWrapper<>(); - queryPayPackCompanyNew.eq(PayPackCompany::getCompanyId,companyId); - queryPayPackCompanyNew.eq(PayPackCompany::getPackYear,packYear); - List listPayPackCompanyNew = payPackCompanyService.list(queryPayPackCompanyNew); - payPackCompany = listPayPackCompanyNew.get(0); - }else{ - payPackCompany = listPayPackCompany.get(0); - } - // 更新打包实收金额 - LambdaUpdateWrapper 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 list = payPackCompanyProjectService.queryPackListAll(input); - return Result.OK(list); + List 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 queryWrapper = QueryGenerator.initQueryWrapper(payPackCompanyProject, request.getParameterMap()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + // Step.2 获取导出数据 + List pageList = payPackCompanyProjectService.list(queryWrapper); + List exportList = null; + + // 过滤选中数据 + String selections = request.getParameter("selections"); + List 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; } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java index 27fe5860..52b81ac9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java @@ -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 { */ PayCommonProject queryPackListCount(PayPackCompanyProjectInput input); + /** + * @Description 导出excel数据 + * @Author lqt + * @Date 2021/9/13 + * @Param + * @Return + * @Exception + */ + void getExportXls(List list); + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java index 697faac1..4ac0f336 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyProjectMapper.java @@ -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 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 getExportXls(@Param("list") List list,@Param("companyId") String companyId); + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml index 4da2637e..7421d177 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml @@ -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 AND gsub.charge_company_id = #{companyId} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml index a37f6708..05468750 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyProjectMapper.xml @@ -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} - ) 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 != '' + + AND ppcp.pack_id = #{packId} + AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate} - WHERE project.id IS NOT NULL AND project.id != '' GROUP BY ppcp.project_id ORDER BY ppcp.create_time desc + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java index 6117860e..b97758ed 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyProjectService.java @@ -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 queryPackListAll(PayPackCompanyProjectInput input); /** - * @Description + * @Description 打包 * @Author lqt * @Date 2021/9/10 * @Param @@ -69,4 +70,22 @@ public interface IPayPackCompanyProjectService extends IService 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 getExportXls(List list,String companyId); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyService.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyService.java index 6d6210bb..2c703c19 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyService.java @@ -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 { * @Return * @Exception */ - void addPayPackCompany(PayPackCompany payPackCompany); + PayPackCompany addPayPackCompany(PayPackCompany payPackCompany); /** * @Description 编辑 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java index 7cafbf39..646a72ab 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyProjectServiceImpl.java @@ -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 list = new ArrayList<>(); PayPackCompanyProjectInput input = new PayPackCompanyProjectInput(); input.setProjectId(s1); input.setCompanyId(payPackCompany.getCompanyId()); - List list = payPackCompanyProjectService.queryPackListAll(input); + list = payPackCompanyProjectService.queryPackListAll(input); if(CollectionUtils.isEmpty(list)){ throw new JeroBootException("项目下企业不匹配!"); } @@ -140,4 +144,40 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl 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 queryPayPackCompany = new LambdaQueryWrapper<>(); + queryPayPackCompany.eq(PayPackCompany::getCompanyId,companyId); + queryPayPackCompany.eq(PayPackCompany::getPackYear,packYear); + List 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 getExportXls(List list,String companyId) { + return payPackCompanyProjectMapper.getExportXls(list,companyId); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java index 4bfa73be..9111d07f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java @@ -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 query = new LambdaQueryWrapper<>(); query.eq(PayPackCompany::getCompanyId,payPackCompany.getCompanyId()); @@ -58,6 +59,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl0 && <总金额(半满标志))*/ +// @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; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java index 0aa7272d..811f4cba 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java @@ -166,7 +166,7 @@ public class PayCommonProjectController extends JeroController{ // 去掉已打包&&打包年份不一致的数据 if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1) - && finalListProject.contains(p.getId())){ + && !finalListProject.contains(p.getId())){ return; } listNew.add(p); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java index 86dee4c4..a0dd278e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayCommonProjectServiceImpl.java @@ -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 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 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()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index e0fa98b1..be483b04 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -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 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 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()); + } } // 先删除临时表企业信息,联系人信息,邮寄联系人信息