统计
This commit is contained in:
@@ -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";
|
||||
|
||||
|
||||
}
|
||||
+77
-73
@@ -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")
|
||||
|
||||
+2
@@ -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,
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ public class PayWorkingGroupSubletSearch {
|
||||
private BigDecimal allMoneyTwo;
|
||||
|
||||
@ApiModelProperty(value = "来款年份")
|
||||
private int year;
|
||||
private String year;
|
||||
|
||||
@ApiModelProperty(value = "来款用途")
|
||||
private int chargeUse;
|
||||
|
||||
+1
-1
@@ -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 工作组统计导出
|
||||
|
||||
+6
-1
@@ -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 != ''">
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+71
@@ -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);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
}
|
||||
+64
-31
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+55
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
+2
-1
@@ -155,7 +155,8 @@ public class SystemAPIController {
|
||||
/**
|
||||
* 查询所有分类字典
|
||||
* @return
|
||||
*/
|
||||
*
|
||||
*
|
||||
@GetMapping("/queryAllDSysCategory")
|
||||
List<SysCategoryModel> queryAllDSysCategory(){
|
||||
return sysBaseAPI.queryAllDSysCategory();
|
||||
|
||||
Reference in New Issue
Block a user