This commit is contained in:
zhangqinlin
2021-09-17 16:50:55 +08:00
parent 6aade37dcd
commit e3c794d173
14 changed files with 322 additions and 118 deletions
@@ -0,0 +1,33 @@
package com.jero.mail.commont;
/**
* @author zql
* @date 2021/9/17 15:06
*/
public interface constant {
/**
* 邮寄状态标识√,应收金额等于开票金额,开票次数等于邮寄次数。
*/
public static final int ONE=1;
/**
* 半满状态,邮寄次数小于开票次数大于零
*/
public static final int TWO=2;
/**
* 用户角色(科长)
*/
public static final String KZ="kz";
/**
* 用户角色(所领导)
*/
public static final String SLD="sld";
/**
* 用户角色(职员)
*/
public static final String ZY="zy";
}
@@ -1,17 +1,10 @@
package com.jero.mail.controller;
import java.math.BigDecimal;
import java.security.PrivateKey;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -21,18 +14,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.common.ProjectCommon;
import com.jero.common.constant.GlobalConstants;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.vo.ProjectDetailVO;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.mapper.PayContactsManagementMapper;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.data.entity.PayFileDownloadRecord;
import com.jero.mail.commont.constant;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject;
import com.jero.mail.entity.PayMailBillSearch;
import com.jero.mail.entity.PayMailContract;
import com.jero.mail.service.IPayMailBillProjectService;
import com.jero.mail.service.IPayMailBillService;
import com.jero.meeting.entity.PayMeetingSituation;
@@ -165,19 +156,31 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
ProjectDetailVO projectDetailVO = projectDetailService.getProjectDetail(one1.getProjectId());
return Result.OK(projectDetailVO);
}
/**
* 编辑
*
*/
@ApiOperation(value="邮寄合同-修改", notes="邮寄合同-修改")
@PostMapping(value = "/editTwo")
public Result<?> editTwo(@RequestBody PayMailBill payMailBill
) {
payMailBill.setPostStatus(1);
payMailBillService.updateById(payMailBill);
return Result.OK("操作成功!");
}
/**
* 编辑
*
*/
@ApiOperation(value="邮寄票据-邮寄和修改", notes="邮寄票据-邮寄和修改")
@ApiOperation(value="邮寄票据-邮寄", notes="邮寄票据-邮寄")
@Transactional
@PostMapping(value = "/edit2")
public Result<?> edit2(@RequestBody PayMailBill payMailBill) {
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMailBill payMailBill) {
payMailBill.setPostStatus(1);
payMailBillService.updateById(payMailBill);
//变更5种项目的邮寄状态
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject = new LambdaQueryWrapper<>();
queryPayMailBillProject.eq(PayMailBillProject::getBillId,payMailBill.getId());
PayMailBillProject one = payMailBillProjectService.getOne(queryPayMailBillProject);
@@ -204,67 +207,68 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
}
//获取项目应收金额
BigDecimal receivableAmount = new BigDecimal("0.00");
if(GlobalConstants.ONE.equals(one.getProjectType())){
receivableAmount= payCommonProjectService.getById(one.getProjectId()).getReceivableAmount();}
PayCommonProject payCommonProject = new PayCommonProject();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(1);
payCommonProjectService.updateById(payCommonProject);
}else if(y<c&&y>0){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(2);
payCommonProjectService.updateById(payCommonProject);
}
else if(GlobalConstants.TWO.equals(one.getProjectType())) {
receivableAmount= payWorkingGroupSubItemService.getById(one.getProjectId()).getReceivableAmount();
PayWorkingGroupSubItem payWorkingGroupSubItem = new PayWorkingGroupSubItem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(1);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}else if(y<c&&y>0){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(2);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}
}else if (GlobalConstants.THERE.equals(one.getProjectType())) {
receivableAmount= payMeetingSituationService.getById(one.getProjectId()).getAmountReceivable();
PayMeetingSituation payMeetingSituation = new PayMeetingSituation();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(1);
payMeetingSituationService.updateById(payMeetingSituation);
}else if(y<c&&y>0){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(2);
payMeetingSituationService.updateById(payMeetingSituation);
}
}else if (GlobalConstants.FORE.equals(one.getProjectType())) {
receivableAmount= payMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
PayMemberProjectSubitem payMemberProjectSubitem = new PayMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(1);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}else if(y<c&&y>0){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(2);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}
}else if (GlobalConstants.FIVE.equals(one.getProjectType())){
receivableAmount=tbMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
//判断变更那个项目的邮寄状态
if(GlobalConstants.ONE.equals(one.getProjectType())){
receivableAmount= payCommonProjectService.getById(one.getProjectId()).getReceivableAmount();
PayCommonProject payCommonProject = new PayCommonProject();
if(receivableAmount.compareTo(invoice)==0 && c==y){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(1);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}else if(y<c&&y>0){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(2);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.ONE);
payCommonProjectService.updateById(payCommonProject);
}else if(y<=c&&y>0){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.TWO);
payCommonProjectService.updateById(payCommonProject);
}
}else if(GlobalConstants.TWO.equals(one.getProjectType())) {
receivableAmount=payWorkingGroupSubItemService.getById(one.getProjectId()).getReceivableAmount();
PayWorkingGroupSubItem payWorkingGroupSubItem = new PayWorkingGroupSubItem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.ONE);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}else if(y<=c&&y>0){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.TWO);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}
}else if (GlobalConstants.THERE.equals(one.getProjectType())) {
receivableAmount= payMeetingSituationService.getById(one.getProjectId()).getAmountReceivable();
PayMeetingSituation payMeetingSituation = new PayMeetingSituation();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.ONE);
payMeetingSituationService.updateById(payMeetingSituation);
}else if(y<=c&&y>0){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.TWO);
payMeetingSituationService.updateById(payMeetingSituation);
}
}else if (GlobalConstants.FORE.equals(one.getProjectType())) {
receivableAmount= payMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
PayMemberProjectSubitem payMemberProjectSubitem = new PayMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.ONE);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}else if(y<=c&&y>0){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.TWO);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}
}else if (GlobalConstants.FIVE.equals(one.getProjectType())){
receivableAmount=tbMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.ONE);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}else if(y<=c&&y>0){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.TWO);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}
//推送邮寄数据到会员系统
payMailBillService.pushSendToStandards(payMailBill,one.getProjectId());
}
@@ -70,11 +70,11 @@ public class PayMailBill implements Serializable {
/**邮寄状态(0:未邮寄,1::已邮寄)*/
@Dict(dicCode = "mail_type")
@Excel(name = "邮寄状态", width = 15,dicCode = "mail_type")
@ApiModelProperty(value = "邮寄状态(0:未邮寄,1::已邮寄)")
@ApiModelProperty(value = "邮寄状态")
private java.lang.Integer postStatus;
/**快递公司(1:EMS,2:顺丰)*/
@Dict(dicCode = "mail_send")
@ApiModelProperty(value = "快递公司(1:EMS,2:顺丰)")
@ApiModelProperty(value = "快递公司")
private java.lang.Integer sendMethod;
/**快递单号*/
@Excel(name = "快递单号", width = 15)
@@ -14,18 +14,18 @@ public class PayMailBillList {
private java.lang.String id;
@Dict(dicCode ="mail_type" )
@Excel(name = "邮寄状态", width = 15)
@ApiModelProperty(value = "邮寄状态(0:未邮寄,1::已邮寄)")
@ApiModelProperty(value = "邮寄状态")
private java.lang.String postStatus;
@Excel(name = "邮寄方式", width = 15)
@ApiModelProperty(value = "邮寄方式(1:EMS,2:顺丰)")
@ApiModelProperty(value = "邮寄方式")
private java.lang.String sendMethod;
@Excel(name = "邮寄单号", width = 15)
@ApiModelProperty(value = "邮寄单号")
private java.lang.String postNo;
@Excel(name = "负责", width = 15)
@Excel(name = "邮寄联系", width = 15)
@ApiModelProperty(value = "邮寄联系人")
private java.lang.String liaisonMan;
@Excel(name = "负责人手机号", width = 15)
@Excel(name = "邮寄联系人手机号", width = 15)
@ApiModelProperty(value = "邮寄联系人手机号")
private java.lang.String mobile;
@Excel(name = "合同编号", width = 15)
@@ -37,7 +37,7 @@ public class PayMailBillList {
@Excel(name = "签订单位", width = 15)
@ApiModelProperty(value = "签订单位")
private java.lang.String signedCompanyTemporaryName;
@Excel(name = "邮寄联系", width = 15)
@Excel(name = "负责", width = 15)
@ApiModelProperty(value = "负责人")
private java.lang.String principalName;
@ApiModelProperty(value = "负责人id")
@@ -9,6 +9,8 @@ pc.send_method as sendMethod,
pc.post_no as postNo,
pc.liaison_man as liaisonMan,
pc.mobile,
pc.remark,
pc.send_date as sendDate,
pic.contract_num as contractNum,
pic.contract_name as contractName,
pic.signed_company_temporary_name as signedCompanyTemporaryName,
@@ -34,7 +34,7 @@ public class PayWorkingGroupSubletSearch {
private BigDecimal allMoneyTwo;
@ApiModelProperty(value = "来款年份")
private int year;
private String year;
@ApiModelProperty(value = "来款用途")
private int chargeUse;
@@ -57,7 +57,7 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
* @Return
* @Exception
*/
IPage<PayWorkingGroupStatistics> queryPageListForStatistics(Page<PayWorkingGroupStatistics> page,@Param("payWorkingGroupSearch") PayWorkingGroupSearch payWorkingGroupSearch);
IPage<PayWorkingGroupStatistics> queryPageListForStatistics(Page<PayWorkingGroupStatistics> page,@Param("payWorkingGroupSearch") PayWorkingGroupSearch payWorkingGroupSearch,@Param("joint")String joint);
/**
* @Description 工作组统计导出
@@ -109,7 +109,12 @@
pwgs.comeAllMoney,
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 where working_group_id GROUP BY working_group_id) pwgs on(pwg.id=pwgs.working_group_id)
from pay_working_group_subitem
where
<if test="joint != null and joint != ''">
working_group_id in (joint)
</if>
GROUP BY working_group_id) pwgs on(pwg.id=pwgs.working_group_id)
left join pay_payment_record ppr on(pwgs.id=ppr.project_id)
<where>
<if test="payWorkingGroupSearch.workGroup != null and payWorkingGroupSearch.workGroup != ''">
@@ -71,7 +71,7 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
* @Return
* @Exception
*/
IPage<PayWorkingGroupStatistics> queryPageListForStatistics(Page<PayWorkingGroupStatistics> page, PayWorkingGroupSearch payWorkingGroupSearch);
IPage<PayWorkingGroupStatistics> queryPageListForStatistics(Page<PayWorkingGroupStatistics> page, PayWorkingGroupSearch payWorkingGroupSearch,String joint);
/**
* @Description 工作组统计查询导出
* @Author zql
@@ -93,8 +93,8 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
}
@Override
public IPage<PayWorkingGroupStatistics> queryPageListForStatistics(Page<PayWorkingGroupStatistics> page, PayWorkingGroupSearch payWorkingGroupSearch) {
return payWorkingGroupMapper.queryPageListForStatistics(page,payWorkingGroupSearch);
public IPage<PayWorkingGroupStatistics> queryPageListForStatistics(Page<PayWorkingGroupStatistics> page, PayWorkingGroupSearch payWorkingGroupSearch,String joint) {
return payWorkingGroupMapper.queryPageListForStatistics(page,payWorkingGroupSearch, joint);
}
@Override
@@ -0,0 +1,71 @@
package com.jero.statistics.controller;
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.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.entity.PayWorkingGroupSubletSearch;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.text.DecimalFormat;
import java.util.Calendar;
import java.util.HashMap;
/**
* @author zql
* @date 2021/9/17 16:29
*/
@Api(tags="全所统计")
@RestController
@RequestMapping("/statistics/allProjectStatistics")
@Slf4j
public class AllProjectStatisticsController {
// /**
// * 分页列表查询
// *
// * @param payWorkingGroupSubletSearch 全统计搜索
// * @param pageNo 页数
// * @param pageSize 条数
// *
// */
// @ApiOperation(value = "全统计搜索-分页列表查询", notes = "全统计搜索-详情分页列表查询")
// @GetMapping(value = "/list")
// public Result<?> list(AllProjectStatisticsSearch allProjectStatisticsSearch,
// @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
// @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
// Page<PayWorkGroupSubletStatistics> page = new Page<>(pageNo, pageSize);
// if(allProjectStatisticsSearch.getYear()==null|| allProjectStatisticsSearch.getYear().equals("")){
// Calendar calendar= Calendar.getInstance();
// String year = String.valueOf(calendar.get(Calendar.YEAR));
// allProjectStatisticsSearch.setYear(year);
// }
//
//
//
// IPage<PayWorkGroupSubletStatistics> pageList = payWorkingGroupSubItemService.queryPageList2(page, payWorkingGroupSubletSearch);
// double sum = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null ? "0" : t.getAllMoney())).sum();
// double sum2 = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null ? "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);
// }
// hashMap.put("pageList",pageList);
// hashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum));
// hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2));
// return Result.OK(hashMap);
// }
}
@@ -1,10 +1,16 @@
package com.jero.project.controller;
package com.jero.statistics.controller;
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.system.api.ISysBaseAPI;
import com.jero.common.system.vo.ComboModel;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.mail.commont.constant;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.entity.PayWorkingGroupSearch;
import com.jero.project.entity.PayWorkingGroupStatistics;
@@ -15,6 +21,10 @@ import com.jero.util.AmountUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.ObjectUtils;
import org.apache.poi.hssf.record.DVALRecord;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -22,9 +32,10 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author zql
@@ -35,11 +46,12 @@ import java.util.List;
@RequestMapping("/project/payWorkingGroupStatistics")
@Slf4j
public class PayWorkingGroupStatisticsController {
@Resource
private SysUserMapper userMapper;
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired
private IPayWorkingGroupService payWorkingGroupService;
@@ -49,25 +61,52 @@ public class PayWorkingGroupStatisticsController {
* @param payWorkingGroupSearch 工作组项目
* @param pageNo 页数
* @param pageSize 条数
* @return
*
*/
@ApiOperation(value="工作组项目统计-统计分页列表查询", notes="工作组项目统计-统计分页列表查询")
@GetMapping(value = "/list")
public Result<?> list(PayWorkingGroupSearch payWorkingGroupSearch,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
Page<PayWorkingGroupStatistics> page = new Page<>(pageNo, pageSize);
IPage<PayWorkingGroupStatistics> pageList = payWorkingGroupService.queryPageListForStatistics(page, payWorkingGroupSearch);
double sum = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney()==null ? "0.00" : t.getAllMoney())).sum();
double sum2 = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney()==null ? "0.00" : t.getComeAllMoney())).sum();
if(payWorkingGroupSearch.getYear()==null|| payWorkingGroupSearch.getYear().equals("")){
Calendar calendar= Calendar.getInstance();
String year = String.valueOf(calendar.get(Calendar.YEAR));
payWorkingGroupSearch.setYear(year);
}
String jointo=null;
//判断登录角色显示特定工作组内容
LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal();
String roleCode = sysUser.getRoleCode();
if(constant.KZ.equals(roleCode)) {
String orgCode = sysUser.getOrgCode();
List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode));
List<String> list = userList.stream().map(SysUser::getId).collect(Collectors.toList());
jointo = String.join(",", list);
} else if (constant.SLD.equals(roleCode)) {
jointo = null;
}else if( constant.ZY.equals(roleCode)){
jointo= sysUser.getId();
}
IPage<PayWorkingGroupStatistics> pageList = payWorkingGroupService.queryPageListForStatistics(page, payWorkingGroupSearch,jointo);
List<PayWorkingGroupStatistics> records = pageList.getRecords();
//去除项目下来款金额为零的工作组
ArrayList<PayWorkingGroupStatistics> list = new ArrayList<>();
for(PayWorkingGroupStatistics payWorkingGroupStatistics:records){
if (!(payWorkingGroupStatistics.getComeAllMoney().equals("0") || payWorkingGroupStatistics.getComeAllMoney() == null)) {
list.add(payWorkingGroupStatistics);
}
}
//计算应收和实收总金额
double sum = list.stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney()==null ? "0.00" : t.getAllMoney())).sum();
double sum2 = list.stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney()==null ? "0.00" : t.getComeAllMoney())).sum();
HashMap<String, Object> objectObjectHashMap = new HashMap<>();
DecimalFormat df = new DecimalFormat("#.00");
objectObjectHashMap.put("pageList",pageList);
objectObjectHashMap.put("sumOfMoney", df.format(sum));
objectObjectHashMap.put("sumOfReallyMoney", df.format(sum2));
objectObjectHashMap.put("pageList",pageList.setRecords(list));
objectObjectHashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum));
objectObjectHashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2));
return Result.OK(objectObjectHashMap);
}
@@ -90,8 +129,7 @@ public class PayWorkingGroupStatisticsController {
@GetMapping(value = "/getGroupList")
@ApiOperation(value="工作组获取工作组列表下拉框", notes="工作组获取工作组列表下拉框")
public List<String> getGroupList() {
List<String> pageList = payWorkingGroupService.getGroupList();
return pageList;
return payWorkingGroupService.getGroupList();
}
/**
@@ -100,7 +138,7 @@ public class PayWorkingGroupStatisticsController {
* @param payWorkingGroupSubletSearch 工作组成员统计搜索
* @param pageNo 页数
* @param pageSize 条数
* @return
*
*/
@ApiOperation(value = "工作组成员统计-详情分页列表查询(传工作组id)", notes = "工作组成员统计-详情分页列表查询(传工作组id)")
@GetMapping(value = "/listSub")
@@ -108,6 +146,11 @@ public class PayWorkingGroupStatisticsController {
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Page<PayWorkGroupSubletStatistics> page = new Page<>(pageNo, pageSize);
if(payWorkingGroupSubletSearch.getYear()==null|| payWorkingGroupSubletSearch.getYear().equals("")){
Calendar calendar= Calendar.getInstance();
String year = String.valueOf(calendar.get(Calendar.YEAR));
payWorkingGroupSubletSearch.setYear(year);
}
IPage<PayWorkGroupSubletStatistics> pageList = payWorkingGroupSubItemService.queryPageList2(page, payWorkingGroupSubletSearch);
double sum = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null ? "0" : t.getAllMoney())).sum();
double sum2 = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null ? "0" : t.getComeAllMoney())).sum();
@@ -119,14 +162,15 @@ for(PayWorkGroupSubletStatistics s: pageList.getRecords()){
s.setChargeUse_text(payment_charge_use);
}
hashMap.put("pageList",pageList);
hashMap.put("sumOfMoney", df.format(sum));
hashMap.put("sumOfReallyMoney", df.format(sum2));
hashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum));
hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2));
return Result.OK(hashMap);
}
/**
*导出
* @param id
* @return
*
*/
@GetMapping(value = "/excelSub")
@ApiOperation(value = "工作组成员统计-导出统计(传工作组id)", notes = "工作组成员统计-导出统计(传工作组id)")
@@ -135,16 +179,5 @@ for(PayWorkGroupSubletStatistics s: pageList.getRecords()){
return AmountUtil.exportListXls(list, PayWorkGroupSubletStatistics.class, "工作组成员统计");
}
@ApiOperation(value = "工作组成员字典表获取", notes = "工作组成员字典表获取")
@GetMapping(value = "/getChartUseDict")
public HashMap getChartUse() {
List<DictModel> payment_charge_use = sysBaseAPI.queryDictItemsByCode("payment_charge_use");
List<DictModel> account_type = sysBaseAPI.queryDictItemsByCode("account_type");
HashMap<String, List<DictModel>> hashMap = new HashMap<>();
hashMap.put("payment_charge_use", payment_charge_use);
hashMap.put("account_type", account_type);
return hashMap;
}
}
@@ -0,0 +1,55 @@
package com.jero.statistics.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.DecimalMax;
import java.math.BigDecimal;
/**
* @author zql
* @date 2021/9/17 16:37
*/
@Data
public class AllProjectStatisticsSearch {
@ApiModelProperty(value = "工作组id")
private String id;
@ApiModelProperty(value = "来款项目")
private String projectName;
@ApiModelProperty(value = "来款单位")
private String chargeCompanyTemporaryName;
@DecimalMax(value = "9999999999.99",message = "应收总金额(元)格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@ApiModelProperty(value = "应收总金额")
private BigDecimal allMoney;
@DecimalMax(value = "9999999999.99",message = "应收总金额(元)格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@ApiModelProperty(value = "应收总金额范围")
private BigDecimal allMoneyTwo;
@ApiModelProperty(value = "来款年份")
private String year;
@ApiModelProperty(value = "付款状态")
private String payStatue;
@ApiModelProperty(value = "来款用途")
private int chargeUse;
@ApiModelProperty(value = "打包")
private int pack;
@ApiModelProperty(value = "付款状态")
private int inAccountStatue;
@ApiModelProperty(value = "项目负责人id")
private String principalNameId;
}
@@ -155,7 +155,8 @@ public class SystemAPIController {
/**
* 查询所有分类字典
* @return
*/
*
*
@GetMapping("/queryAllDSysCategory")
List<SysCategoryModel> queryAllDSysCategory(){
return sysBaseAPI.queryAllDSysCategory();