全所统计

This commit is contained in:
zhangqinlin
2021-09-26 11:07:22 +08:00
parent 13f70a5391
commit 2e89abb2e3
8 changed files with 135 additions and 38 deletions
@@ -67,8 +67,6 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
@Autowired
private ProjectDetailService projectDetailService;
@Autowired
private IPayContactsManagementService iPayContactsManagementService;
@Autowired
private IPayMailBillProjectService iPayMailBillProjectService;
@Autowired
private IPayCommonProjectService payCommonProjectService;
@@ -118,7 +116,6 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
calendar.add(Calendar.MINUTE,59);//时
calendar.add(Calendar.SECOND,59);//秒
queryWrapper.le("send_date", calendar.getTime());
}
if (ObjectUtil.isNotEmpty(payMailBillSearch.getChargeCompanyName())){
queryWrapper.like("charge_company_name",payMailBillSearch.getChargeCompanyName());
@@ -156,14 +153,8 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
@ApiOperation(value="邮寄票据-项目详情", notes="邮寄票据-项目详情")
@PostMapping(value = "/getProjectDetail")
@Transactional
public Result<?> getProjectDetail(@RequestParam(name="keyId") String keyId,
@RequestParam(name="companyName") String companyName,
@RequestParam(name="liaisonMan") String liaisonMan) {
//获取联系人id公司id
LambdaQueryWrapper<PayContactsManagement> payContactsManagementLambdaQueryWrapper = new LambdaQueryWrapper<>();
payContactsManagementLambdaQueryWrapper.eq(PayContactsManagement::getCompanyName,companyName);
payContactsManagementLambdaQueryWrapper.eq(PayContactsManagement::getName,liaisonMan);
PayContactsManagement one = iPayContactsManagementService.getOne(payContactsManagementLambdaQueryWrapper, false);
public Result<?> getProjectDetail(@RequestParam(name="keyId") String keyId
) {
//获取项目id
LambdaQueryWrapper<PayMailBillProject> payMailBillProjectLambdaQueryWrapper = new LambdaQueryWrapper<>();
payMailBillProjectLambdaQueryWrapper.eq(PayMailBillProject::getBillId,keyId);
@@ -199,7 +190,7 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject = new LambdaQueryWrapper<>();
queryPayMailBillProject.eq(PayMailBillProject::getBillId,payMailBill.getId());
PayMailBillProject one = payMailBillProjectService.getOne(queryPayMailBillProject,false);
if(ObjectUtils.isEmpty(one)){
if(ObjectUtils.isNotEmpty(one)){
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject2 = new LambdaQueryWrapper<>();
queryPayMailBillProject2.eq(PayMailBillProject::getProjectId,one.getProjectId());
List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject2);
@@ -117,6 +117,18 @@ public class PayWorkingGroupStatisticsController {
sum = records.stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null || t.getAllMoney().equals("") ? "0.00" : t.getAllMoney())).sum();
sum2 = records.stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null || t.getComeAllMoney().equals("") ? "0.00" : t.getComeAllMoney())).sum();
}
//处理为空数据为0
for(PayWorkingGroupStatistics s: pageList.getRecords()){
if(s.getAllMoney()== null || s.getAllMoney().equals("") ){
s.setAllMoney("0.00");
}
if(s.getComeAllMoney()== null || s.getComeAllMoney().equals("") ) {
s.setComeAllMoney("0.00");
}
if(s.getMoneyRate()== null || s.getComeAllMoney().equals("") ) {
s.setMoneyRate("0.00%");
}
}
HashMap<String, Object> objectObjectHashMap = new HashMap<>();
DecimalFormat df = new DecimalFormat("#.00");
objectObjectHashMap.put("pageList",pageList.setRecords(records));
@@ -193,16 +205,26 @@ public class PayWorkingGroupStatisticsController {
double sum=0;
double sum2 =0;
if(ObjectUtils.isNotEmpty(pageList.getRecords())) {
sum = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null || t.getAllMoney().equals("") ? "0" : t.getAllMoney())).sum();
sum2 = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null || t.getComeAllMoney().equals("") ? "0" : t.getComeAllMoney())).sum();
sum = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null || t.getAllMoney().equals("") ? "0.0" : t.getAllMoney())).sum();
sum2 = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null || t.getComeAllMoney().equals("") ? "0.0" : t.getComeAllMoney())).sum();
}
HashMap<String, Object> hashMap = new HashMap<>();
DecimalFormat df = new DecimalFormat("#.00");
// 转义来款用途
for(PayWorkGroupSubletStatistics s: pageList.getRecords()){
String key = String.valueOf(s.getChargeUse());
String payment_charge_use = sysBaseAPI.translateDict("payment_charge_use", key);
s.setChargeUse_text(payment_charge_use);
}
for(PayWorkGroupSubletStatistics s: pageList.getRecords()){
if(s.getAllMoney()== null || s.getAllMoney().equals("") ){
s.setAllMoney("0.0");
}
if(s.getComeAllMoney()== null || s.getComeAllMoney().equals("") ) {
s.setComeAllMoney("0.0");
}
}
hashMap.put("pageList",pageList);
hashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum));
hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2));
@@ -104,16 +104,20 @@
<!-- 工作组统计-->
<select id="queryPageListForStatistics" resultType="com.jero.project.entity.PayWorkingGroupStatistics">
select pwg1.id,pwg1.workGroup, pwg1.allMoney,pwg1.comeAllMoney,pwg1.moneyRate from ((SELECT
select ppp.id,ppp.workGroup, ppp.allMoney,ppp.comeAllMoney,ppp.moneyRate from (SELECT
pwg.id,
pwg.working_group_project AS workGroup,
pwg.principal_id_a as principalId,
pwgs.allMoney,
pwgs.comeAllMoney,
pwgs.createTime,
CONCAT(CAST(ROUND((pwgs.comeAllMoney/pwgs.allMoney)*100,2) AS CHAR),'%') AS moneyRate
FROM pay_working_group pwg left join (select id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney
from pay_working_group_subitem
GROUP BY working_group_id) pwgs on(pwg.id=pwgs.working_group_id)
FROM pay_working_group pwg left join (select pwg1s.id,pwg1s.create_time AS createTime,working_group_id,SUM(receivable_amount) AS
allMoney,SUM(paid_amount) AS comeAllMoney
from pay_working_group_subitem pwg1s
inner join pay_payment_record ppr on(pwg1s.id=ppr.project_id)
WHERE ppr.payment_date like concat('%',#{payWorkingGroupSearch.year},'%') group by pwg1s.working_group_id)
pwgs on(pwg.id=pwgs.working_group_id)
<where>
<if test="ids != null and ids != ''">
pwg.principal_id_a inq
@@ -124,33 +128,22 @@
<if test="payWorkingGroupSearch.workGroup != null and payWorkingGroupSearch.workGroup != ''">
and pwg.working_group_project LIKE concat('%',concat(#{payWorkingGroupSearch.workGroup},'%'))
</if>
</where>
group by pwg.id) pwg1
inner join
(SELECT
pwg.principal_id_a as principalId
FROM pay_working_group pwg
inner JOIN (select pwgs.id as id,working_group_id
from pay_working_group_subitem pwgs
left join pay_payment_record ppr on(pwgs.id=ppr.project_id)
WHERE ppr.payment_date like concat('%',#{payWorkingGroupSearch.year},'%') GROUP BY working_group_id) pwgss ON (pwg.id=pwgss.working_group_id)
GROUP BY pwg.principal_id_a) pwg2 on (pwg2.principalId=pwg1.principalId)
<where>
<choose>
<when test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != '' and payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND pwgs.allMoney > #{payWorkingGroupSearch.allMoney} and pwgs.allMoney <![CDATA[<]]> #{payWorkingGroupSearch.allMoneyTwo}
AND pwgs.allMoney > #{payWorkingGroupSearch.allMoney} and pwgs.allMoney <![CDATA[<]]>
#{payWorkingGroupSearch.allMoneyTwo}
</when>
<otherwise>
<if test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != ''">
AND pwgs.allMoney > #{payWorkingGroupSearch.allMoney}
</if>
<if test="payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND pwgs.allMoney <![CDATA[<]]> #{payWorkingGroupSearch.allMoneyTwo}
AND pwgs.allMoney <![CDATA[<]]> #{payWorkingGroupSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>)
</where>) ppp order by createTime desc
</select>
<select id="queryPageListForStatisticsFirstPage" resultType="com.jero.project.entity.PayWorkingGroupStatistics">
@@ -63,7 +63,7 @@
GROUP BY pwgs.id
ORDER BY pwgs.create_time desc
</select>
<!--工作组详情-->
<select id="queryPageList2" resultType="com.jero.project.entity.PayWorkGroupSubletStatistics">
select * from (SELECT
pwgs.id,
@@ -13,6 +13,7 @@ import com.jero.member.service.ITbMemberProjectService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.entity.PayWorkingGroupStatistics;
import com.jero.project.entity.PayWorkingGroupSubletSearch;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupService;
@@ -89,6 +90,16 @@ public class AllProjectStatisticsController {
s.setChargeUse_text(payment_charge_use);
}
}
//处理为空数据为0
for(AllProjectStatistics s: pageList.getRecords()){
if(s.getAllMoney()== null || s.getAllMoney().equals("") ){
s.setAllMoney("0.00");
}
if(s.getComeAllMoney()== null || s.getComeAllMoney().equals("") ) {
s.setComeAllMoney("0.00");
}
}
hashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum));
hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2));
hashMap.put("pageList",pageList);
@@ -95,6 +95,16 @@ public class CompanyComeMoneyStatisticsController {
sum = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null || t.getAllMoney().equals("") ? "0" : t.getAllMoney())).sum() : 0;
sum2 = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null || t.getComeAllMoney().equals("") ? "0" : t.getComeAllMoney())).sum() : 0;
}
//处理为空数据为0
for(CompanyComeMoneyList s: pageList.getRecords()){
if(s.getAllMoney()== null || s.getAllMoney().equals("") ){
s.setAllMoney("0.00");
}
if(s.getComeAllMoney()== null || s.getComeAllMoney().equals("") ) {
s.setComeAllMoney("0.00");
}
}
DecimalFormat df = new DecimalFormat("#.00");
hashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum));
hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2));
@@ -157,6 +167,15 @@ public class CompanyComeMoneyStatisticsController {
String payment_charge_use = sysBaseAPI.translateDict("payment_charge_use", key);
s.setChargeUse_text(payment_charge_use);
}
//处理为空数据为0
for(CompanyComeMoneyDetail s: pageList.getRecords()) {
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
s.setAllMoney("0.00");
}
if (s.getComeAllMoney() == null || s.getComeAllMoney().equals("")) {
s.setComeAllMoney("0.00");
}
}
hashMap.put("sumOfMoney", sum == 0.0 ? sum : df.format(sum));
hashMap.put("sumOfReallyMoney", sum2 == 0.0 ? sum2 : df.format(sum2));
hashMap.put("pageList", pageList);
@@ -11,9 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -36,6 +33,27 @@ public class FirstPageStatisticsController {
List<PayWorkingGroupStatistics> pageList2 = payWorkingGroupService.queryPageListForStatisticsFirstPage();
List<CompanyComeMoneyList> pageList3 = payWorkingGroupService.queryPageListForCompanyFirstPage();
List<DepartStatistics> pageList4 = payWorkingGroupService.queryPageListForDepartFirstPage();
for(PrincipalPeopleList s: pageList){
if(s.getComeAllMoney()== null || s.getComeAllMoney().equals("") ) {
s.setComeAllMoney("0.00");
}
}
for(PayWorkingGroupStatistics s: pageList2){
if(s.getComeAllMoney()== null || s.getComeAllMoney().equals("") ) {
s.setComeAllMoney("0.00");
}
}
for(CompanyComeMoneyList s: pageList3){
if(s.getComeAllMoney()== null || s.getComeAllMoney().equals("") ) {
s.setComeAllMoney("0.00");
}
}
for(DepartStatistics s: pageList4){
if(s.getComeAllMoney()== null || s.getComeAllMoney().equals("") ) {
s.setComeAllMoney("0.00");
}
}
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("principalPeople",pageList);
hashMap.put("payWorkingGroup",pageList2);
@@ -1,12 +1,16 @@
package com.jero.statistics.controller;
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.service.ProjectDetailService;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.vo.ProjectDetailVO;
import com.jero.mail.commont.constant;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
@@ -19,6 +23,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@@ -46,6 +51,8 @@ public class PrincipalPeopleStatisticsController {
private ISysBaseAPI sysBaseAPI;
@Autowired
private IPayWorkingGroupService payWorkingGroupService;
@Autowired
private ProjectDetailService projectDetailService;
/**
* 分页列表查询
@@ -95,6 +102,18 @@ public class PrincipalPeopleStatisticsController {
sum = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null || t.getAllMoney().equals("") ? "0" : t.getAllMoney())).sum() : 0;
sum2 = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null || t.getComeAllMoney().equals("") ? "0" : t.getComeAllMoney())).sum() : 0;
}
//处理为空数据为0
for(PrincipalPeopleList s: pageList.getRecords()) {
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
s.setAllMoney("0.00");
}
if (s.getComeAllMoney() == null || s.getComeAllMoney().equals("")) {
s.setComeAllMoney("0.00");
}
if(s.getFinishRate() == null || s.getFinishRate().equals("")){
s.setFinishRate("0.00%");
}
}
DecimalFormat df = new DecimalFormat("#.00");
@@ -138,6 +157,16 @@ public class PrincipalPeopleStatisticsController {
String key = String.valueOf(s.getChargeUse());
String payment_charge_use = sysBaseAPI.translateDict("payment_charge_use", key);
s.setChargeUse_text(payment_charge_use);
}
//处理为空数据为0
for(PrincipalPeopleDetail s: pageList.getRecords()) {
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
s.setAllMoney("0.00");
}
if (s.getComeAllMoney() == null || s.getComeAllMoney().equals("")) {
s.setComeAllMoney("0.00");
}
}
hashMap.put("sumOfMoney", sum == 0.0 ? sum : df.format(sum));
hashMap.put("sumOfReallyMoney", sum2 == 0.0 ? sum2 : df.format(sum2));
@@ -146,6 +175,20 @@ public class PrincipalPeopleStatisticsController {
}
/**
* 项目详情
*
* @param projectId
* @return
*/
@ApiOperation(value="个人来款统计-项目详情", notes="个人来款统计-项目详情")
@PostMapping(value = "/getProjectDetail")
@Transactional
public Result<?> getProjectDetail(@RequestParam(name="projectId") String projectId
) {
ProjectDetailVO projectDetailVO = projectDetailService.getProjectDetail(projectId);
return Result.OK(projectDetailVO);
}
/**