Merge remote-tracking branch 'origin/master'

This commit is contained in:
baozhipeng
2021-09-13 11:59:01 +08:00
13 changed files with 195 additions and 11 deletions
@@ -544,7 +544,7 @@ public class PayDataFileController extends JeroController<PayDataFile, IPayDataF
zipos = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()));
zipos.setMethod(ZipOutputStream.DEFLATED); //设置压缩方法
for (String path : paths){
File file = new File(upLoadPath + "\\" + path);
File file = new File(upLoadPath + "\\temp\\" + path);
if(file.exists()){
try {
//添加ZipEntry,并ZipEntry中写入文件流w
@@ -1,6 +1,7 @@
package com.jero.data.controller;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.activation.MimetypesFileTypeMap;
@@ -8,8 +9,10 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
@@ -108,7 +111,7 @@ public class PayFileDownloadRecordController extends JeroController<PayFileDownl
byte[] buff = new byte[1024];
BufferedInputStream bis = null;
// 读取filename
bis = new BufferedInputStream(new FileInputStream(new File(upLoadPath+"\\"+filename)));
bis = new BufferedInputStream(new FileInputStream(new File(upLoadPath+"\\temp\\"+filename)));
int i = bis.read(buff);
while (i != -1) {
outputStream.write(buff, 0, buff.length);
@@ -126,10 +129,12 @@ public class PayFileDownloadRecordController extends JeroController<PayFileDownl
@AutoLog(value = "资料下载记录-导出")
@ApiOperation(value="资料下载记录-导出", notes="资料下载记录-导出")
@GetMapping(value = "/exportXls",produces = "text/text;charset=utf-8")
public ModelAndView customExportXlsList() {
QueryWrapper<PayFileDownloadRecord> queryWrapper = Wrappers.query();
List<PayFileDownloadRecord> list = payFileDownloadRecordService.list(queryWrapper);
// Step.3 AutoPoi 导出Excel
public ModelAndView customExportXlsList(@RequestParam(name="ids",required = true) String ids) {
ArrayList<String> strings = new ArrayList<>(Arrays.asList(ids.split(",")));
LambdaQueryWrapper<PayFileDownloadRecord> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
objectLambdaQueryWrapper.eq(StringUtils.isNotBlank(ids),PayFileDownloadRecord::getId,strings);
List<PayFileDownloadRecord> list = payFileDownloadRecordService.list(objectLambdaQueryWrapper);
// Step.3 AutoPoi 导出Excelaw
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
mv.addObject(NormalExcelConstants.FILE_NAME, "资料下载记录"); //此处设置的filename无效 ,前端会重更新设置一下
mv.addObject(NormalExcelConstants.CLASS, PayFileDownloadRecord.class);
@@ -269,11 +269,15 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
//校验是否是选择的企业的联系人
String companyId2 = postContact.getCompanyId();
if (companyId2.equals(companyId)) {
payMeetingSituation.setCompanyContactTemporaryId(postContact.getId());
payMeetingSituation.setCompanyContactName(postContact.getName());
payMeetingSituation1.setPostContactId(postContact.getId());
payMeetingSituation1.setPostContactName(postContact.getName());
payMeetingSituation1.setPostContactAddress(payMeetingSituation.getPostContactAddress());
} else {
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人");
}
payMeetingSituation1.setCheckInHotel(payMeetingSituation.getCheckInHotel());
payMeetingSituation1.setArrivalTime(payMeetingSituation.getArrivalTime());
payMeetingSituation1.setDepartureTime(payMeetingSituation.getDepartureTime());
}
//其他会议的嘉宾和内部企业
}else {
@@ -1,5 +1,6 @@
package com.jero.pack.controller;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@@ -22,6 +23,8 @@ 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.project.entity.PayCommonProject;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import lombok.extern.slf4j.Slf4j;
@@ -73,6 +76,19 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
if(!CollectionUtils.isEmpty(pageList.getRecords())){
List<PayPackCompany> list = pageList.getRecords();
list.forEach(p->{
// 获取 打包费用,实际到账金额
PayPackCompanyProjectInput input = new PayPackCompanyProjectInput();
input.setCompanyId(p.getCompanyId());
input.setPackId(p.getId());
PayCommonProject payCommonProject = payPackCompanyService.queryPackListCount(input);
if(!Objects.isNull(payCommonProject)){
payCommonProject.setReceivableAmount(payCommonProject.getReceivableAmount());
payCommonProject.setPaidAmount(payCommonProject.getPaidAmount());
}else{
payCommonProject.setReceivableAmount(new BigDecimal("0.00"));
payCommonProject.setPaidAmount(new BigDecimal("0.00"));
}
// todo 获取开票金额
});
}
@@ -93,7 +109,6 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
payPackCompanyService.addPayPackCompany(payPackCompany);
return Result.OK("添加成功!");
}
@@ -3,6 +3,8 @@ package com.jero.pack.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.vo.PayPackCompanyProjectInput;
import com.jero.project.entity.PayCommonProject;
/**
* @Description: pay_pack_company
@@ -12,4 +14,14 @@ import com.jero.pack.entity.PayPackCompany;
*/
public interface PayPackCompanyMapper extends BaseMapper<PayPackCompany> {
/**
* @Description 查询金额
* @Author lqt
* @Date 2021/9/13
* @Param
* @Return
* @Exception
*/
PayCommonProject queryPackListCount(PayPackCompanyProjectInput input);
}
@@ -1,5 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.pack.mapper.PayPackCompanyMapper">
<select id="queryPackListCount" resultType="com.jero.project.entity.PayCommonProject">
SELECT
sum(receivable_amount) as receivable_amount,
sum(paid_amount) as paid_amount
FROM (
<!-- 普通项目-->
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_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
from pay_common_project c
<where>
<if test="companyId != null and companyId != ''">
AND c.charge_company_id = #{companyId}
</if>
</where>
<!--工作组项目-->
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
<where>
<if test="companyId != null and companyId != ''">
AND gsub.charge_company_id = #{companyId}
</if>
</where>
<!-- 会议项目-->
UNION ALL
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_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>
</where>
<!-- 会员项目-->
UNION ALL
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_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>
</where>
<!-- 标协会员项目-->
UNION ALL
select tmsub.id,tmember.project_name,tmsub.charge_use,'','',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
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>
</where>
) project
<if test="packId != null and packId != ''">
WHERE project.id NOT IN (SELECT project_id FROM pay_pack_company_project where pack_id = #{packId})
</if>
</select>
</mapper>
@@ -2,6 +2,8 @@ package com.jero.pack.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.vo.PayPackCompanyProjectInput;
import com.jero.project.entity.PayCommonProject;
/**
* @Description: pay_pack_company
@@ -28,4 +30,13 @@ public interface IPayPackCompanyService extends IService<PayPackCompany> {
* @Exception
*/
void editPayPackCompany(PayPackCompany payPackCompany);
/**
* @Description 查询金额
* @Author lqt
* @Date 2021/9/13
* @Param
* @Return
* @Exception
*/
PayCommonProject queryPackListCount(PayPackCompanyProjectInput input);
}
@@ -7,6 +7,8 @@ import com.jero.common.exception.JeroBootException;
import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.mapper.PayPackCompanyMapper;
import com.jero.pack.service.IPayPackCompanyService;
import com.jero.pack.vo.PayPackCompanyProjectInput;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
@@ -17,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Objects;
@@ -35,6 +38,8 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Autowired
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Resource
private PayPackCompanyMapper payPackCompanyMapper;
@Override
@Transactional
@@ -74,13 +79,18 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
log.error("",e);
throw new JeroBootException("该年份下已存在此打包企业!");
}
setPayPackCompany(payPackCompany);
// 删除历史数据
payCompanyManagementTemporaryService.removeById(payPackCompanyOld.getCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payPackCompanyOld.getCompanyContactTemporaryId(),payPackCompanyOld.getPackContactTemporaryId()));
setPayPackCompany(payPackCompany);
payPackCompanyService.updateById(payPackCompany);
}
@Override
public PayCommonProject queryPackListCount(PayPackCompanyProjectInput input) {
return payPackCompanyMapper.queryPackListCount(input);
}
/**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt
@@ -94,6 +94,34 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param payWorkingGroup 工作组项目
* @param pageNo 页数
* @param pageSize 条数
* @return
*/
@ApiOperation(value="工作组项目统计-分页列表查询", notes="工作组项目统计-分页列表查询")
@GetMapping(value = "/list2")
public Result<?> list2(PayWorkingGroup payWorkingGroup,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
if(!StringUtils.isBlank(payWorkingGroup.getWorkingGroupProject()) && payWorkingGroup.getWorkingGroupProject().length() > 50){
return Result.error("工作组项目长度不能大于50个字符");
}
Page<PayWorkingGroupVO> page = new Page<PayWorkingGroupVO>(pageNo, pageSize);
IPage<PayWorkingGroupVO> pageList = payWorkingGroupService.queryPageListForStatistics(page, payWorkingGroup);
if(!Objects.isNull(pageList)){
List<PayWorkingGroupVO> listPayWorkingGroupVO = pageList.getRecords();
if(!CollectionUtils.isEmpty(listPayWorkingGroupVO)){
setPayWorkingGroupSubItem(listPayWorkingGroupVO);
pageList.setRecords(listPayWorkingGroupVO);
}
}
return Result.OK(pageList);
}
/**
* 列表查询
*
@@ -0,0 +1,17 @@
package com.jero.project.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
/**
* @author zql
* @date 2021/9/13 10:45
*/
public class PayWorkingGroupStatistics {
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
}
@@ -47,4 +47,13 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
*/
List<PayWorkingGroup> queryListByNotCompany(@Param("companyId") String companyId);
/**
* @Description 查询不存在成员单位的列表
* @Author zqk
* @Date 2021/9/13
* @Param
* @Return
* @Exception
*/
IPage<PayWorkingGroupVO> queryPageListForStatistics(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup);
}
@@ -60,4 +60,14 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
* @Exception
*/
void deleteByIds(List<String> ids);
/**
* @Description 工作组统计查询
* @Author zql
* @Date 2021/9/13
* @Param
* @Return
* @Exception
*/
IPage<PayWorkingGroupVO> queryPageListForStatistics(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup);
}
@@ -84,6 +84,12 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getWorkingGroupId,ids);
payWorkingGroupSubItemService.remove(updatePayWorkingGroupSubItem);
}
@Override
public IPage<PayWorkingGroupVO> queryPageListForStatistics(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup) {
return payWorkingGroupMapper.queryPageListForStatistics(page,payWorkingGroup);
}
/**
* @Description 校验是存在关联合同的项目
* @Author lqt