From e3c794d1738ff9ea9e63ec2de69e27098b2e4d65 Mon Sep 17 00:00:00 2001 From: zhangqinlin <1500920753@qq.com> Date: Fri, 17 Sep 2021 16:50:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jero/mail/commont/constant.java | 33 ++++ .../controller/PayMailBillController.java | 150 +++++++++--------- .../com/jero/mail/entity/PayMailBill.java | 4 +- .../com/jero/mail/entity/PayMailBillList.java | 10 +- .../mail/mapper/xml/PayMailContractMapper.xml | 2 + .../entity/PayWorkingGroupSubletSearch.java | 2 +- .../project/mapper/PayWorkingGroupMapper.java | 2 +- .../mapper/xml/PayWorkingGroupMapper.xml | 7 +- .../service/IPayWorkingGroupService.java | 2 +- .../impl/PayWorkingGroupServiceImpl.java | 4 +- .../AllProjectStatisticsController.java | 71 +++++++++ .../PayWorkingGroupStatisticsController.java | 95 +++++++---- .../entity/AllProjectStatisticsSearch.java | 55 +++++++ .../api/controller/SystemAPIController.java | 3 +- 14 files changed, 322 insertions(+), 118 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/mail/commont/constant.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java rename jero-boot-incoming-payment/src/main/java/com/jero/{project => statistics}/controller/PayWorkingGroupStatisticsController.java (61%) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/AllProjectStatisticsSearch.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/commont/constant.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/commont/constant.java new file mode 100644 index 00000000..fa344821 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/commont/constant.java @@ -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"; + + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java index 55b0718d..7455169d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/controller/PayMailBillController.java @@ -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 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 queryPayMailBillProject = new LambdaQueryWrapper<>(); queryPayMailBillProject.eq(PayMailBillProject::getBillId,payMailBill.getId()); PayMailBillProject one = payMailBillProjectService.getOne(queryPayMailBillProject); @@ -204,67 +207,68 @@ public class PayMailBillController extends JeroController0){ - 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(y0){ - 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(y0){ - 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(y0){ - 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(y0){ - 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()); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBill.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBill.java index cc8ac1c6..4c591942 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBill.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBill.java @@ -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) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBillList.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBillList.java index 213d6f8e..453b87d2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBillList.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/entity/PayMailBillList.java @@ -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") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailContractMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailContractMapper.xml index 2d0aa805..d8d58761 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailContractMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/mapper/xml/PayMailContractMapper.xml @@ -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, diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubletSearch.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubletSearch.java index 612cb7ee..3e229a5f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubletSearch.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubletSearch.java @@ -34,7 +34,7 @@ public class PayWorkingGroupSubletSearch { private BigDecimal allMoneyTwo; @ApiModelProperty(value = "来款年份") - private int year; + private String year; @ApiModelProperty(value = "来款用途") private int chargeUse; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java index 91001845..165e778f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java @@ -57,7 +57,7 @@ public interface PayWorkingGroupMapper extends BaseMapper { * @Return * @Exception */ - IPage queryPageListForStatistics(Page page,@Param("payWorkingGroupSearch") PayWorkingGroupSearch payWorkingGroupSearch); + IPage queryPageListForStatistics(Page page,@Param("payWorkingGroupSearch") PayWorkingGroupSearch payWorkingGroupSearch,@Param("joint")String joint); /** * @Description 工作组统计导出 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml index cb6b2970..63cf8269 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml @@ -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 + + working_group_id in (joint) + + 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) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java index dec915c1..4eae734d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java @@ -71,7 +71,7 @@ public interface IPayWorkingGroupService extends IService { * @Return * @Exception */ - IPage queryPageListForStatistics(Page page, PayWorkingGroupSearch payWorkingGroupSearch); + IPage queryPageListForStatistics(Page page, PayWorkingGroupSearch payWorkingGroupSearch,String joint); /** * @Description 工作组统计查询导出 * @Author zql diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index 1a49c12a..a654ca2a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -93,8 +93,8 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl queryPageListForStatistics(Page page, PayWorkingGroupSearch payWorkingGroupSearch) { - return payWorkingGroupMapper.queryPageListForStatistics(page,payWorkingGroupSearch); + public IPage queryPageListForStatistics(Page page, PayWorkingGroupSearch payWorkingGroupSearch,String joint) { + return payWorkingGroupMapper.queryPageListForStatistics(page,payWorkingGroupSearch, joint); } @Override diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java new file mode 100644 index 00000000..d0ffe33d --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectStatisticsController.java @@ -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 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 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 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); +// } + + + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PayWorkingGroupStatisticsController.java similarity index 61% rename from jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupStatisticsController.java rename to jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PayWorkingGroupStatisticsController.java index 6c082d7d..cbe7c9c4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/PayWorkingGroupStatisticsController.java @@ -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 page = new Page<>(pageNo, pageSize); - IPage 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 userList = userMapper.selectList(new QueryWrapper().eq("status", 1).eq("del_flag", 0).eq("org_code", orgCode)); + List 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 pageList = payWorkingGroupService.queryPageListForStatistics(page, payWorkingGroupSearch,jointo); + List records = pageList.getRecords(); + //去除项目下来款金额为零的工作组 + ArrayList 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 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 getGroupList() { - List 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 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 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 payment_charge_use = sysBaseAPI.queryDictItemsByCode("payment_charge_use"); - List account_type = sysBaseAPI.queryDictItemsByCode("account_type"); - HashMap> hashMap = new HashMap<>(); - hashMap.put("payment_charge_use", payment_charge_use); - hashMap.put("account_type", account_type); - return hashMap; - } - } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/AllProjectStatisticsSearch.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/AllProjectStatisticsSearch.java new file mode 100644 index 00000000..8ccf83dc --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/AllProjectStatisticsSearch.java @@ -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; + + +} diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/api/controller/SystemAPIController.java b/jero-boot-module-system/src/main/java/com/jero/modules/api/controller/SystemAPIController.java index d5087869..125f481a 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/api/controller/SystemAPIController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/api/controller/SystemAPIController.java @@ -155,7 +155,8 @@ public class SystemAPIController { /** * 查询所有分类字典 * @return - */ + * + * @GetMapping("/queryAllDSysCategory") List queryAllDSysCategory(){ return sysBaseAPI.queryAllDSysCategory();