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/project/controller/PayWorkingGroupStatisticsController.java index 3c5c7b9f..359ba23e 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/project/controller/PayWorkingGroupStatisticsController.java @@ -77,41 +77,45 @@ public class PayWorkingGroupStatisticsController { payWorkingGroupSearch.setYear(year); } //根据不同角色加载不同列表的参数 - String joint=null; + List idList = new ArrayList<>(); //判断登录角色,显示特定工作组内容,判断依据为登录用户的角色和机构编码 LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); String roleCode = sysUser.getRoleCode(); - //部门负责人 + //科长 if(constant.BMFZR.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()); - joint = String.join(",", list); + idList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); //所领导或者超级管理员 } else if (constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) { - joint = null; - //企业职员 + idList=null; + //企业职员项目负责人 }else if( constant.QYRY.equals(roleCode)){ - return Result.OK("无权限"); - //超级管理员 - } - IPage pageList = payWorkingGroupService.queryPageListForStatistics(page, payWorkingGroupSearch,joint); + String userId = sysUser.getId(); + idList.add(userId); + } + IPage pageList = payWorkingGroupService.queryPageListForStatistics(page, payWorkingGroupSearch,idList); List records = pageList.getRecords(); - //去除项目下来款金额为零的工作组 - ArrayList list = new ArrayList<>(); - for(PayWorkingGroupStatistics payWorkingGroupStatistics:records) { - if (ObjectUtils.isNotEmpty(payWorkingGroupStatistics)) { - if (!("0".equals(payWorkingGroupStatistics.getComeAllMoney()) || payWorkingGroupStatistics.getComeAllMoney() == null)) { - list.add(payWorkingGroupStatistics); - } + for (PayWorkingGroupStatistics payWorkingGroupStatistics:records){ + if(payWorkingGroupStatistics.getComeAllMoney()==null||payWorkingGroupStatistics.getComeAllMoney()==""){ + payWorkingGroupStatistics.setComeAllMoney("0.00"); } } +// //去除项目下来款金额为零的工作组 +// ArrayList list = new ArrayList<>(); +// for(PayWorkingGroupStatistics payWorkingGroupStatistics:records) { +// if (ObjectUtils.isNotEmpty(payWorkingGroupStatistics)) { +// if (!("0".equals(payWorkingGroupStatistics.getComeAllMoney()) || 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(); + double sum = records.stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney()==null ? "0.00" : t.getAllMoney())).sum(); + double sum2 = records.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.setRecords(list)); + objectObjectHashMap.put("pageList",pageList.setRecords(records)); objectObjectHashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum)); objectObjectHashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2)); return Result.OK(objectObjectHashMap); 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 ef86fb36..319c8a03 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 @@ -60,7 +60,7 @@ public interface PayWorkingGroupMapper extends BaseMapper { * @Return * @Exception */ - IPage queryPageListForStatistics(Page page,@Param("payWorkingGroupSearch") PayWorkingGroupSearch payWorkingGroupSearch,@Param("joint")String joint); + IPage queryPageListForStatistics(Page page,@Param("payWorkingGroupSearch") PayWorkingGroupSearch payWorkingGroupSearch,@Param("ids")List ids); /** * @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 25b86115..caa21b6d 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 @@ -113,11 +113,14 @@ 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) - - pwg.principal_id_a =#{joint} + + pwg.principal_id_a in + + #{item} + - pwg.working_group_project LIKE concat('%',concat(#{payWorkingGroupSearch.workGroup},'%')) + and pwg.working_group_project LIKE concat('%',concat(#{payWorkingGroupSearch.workGroup},'%')) AND date_format(ppr.payment_date,'%Y-%m-%d') LIKE concat('%',concat(#{payWorkingGroupSearch.year},'%')) 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 ba2cc40a..b67703dc 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 @@ -74,7 +74,7 @@ public interface IPayWorkingGroupService extends IService { * @Return * @Exception */ - IPage queryPageListForStatistics(Page page, PayWorkingGroupSearch payWorkingGroupSearch,String joint); + IPage queryPageListForStatistics(Page page, PayWorkingGroupSearch payWorkingGroupSearch,List ids); /** * @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 07fc717a..5dcb5a52 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 @@ -99,8 +99,8 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl queryPageListForStatistics(Page page, PayWorkingGroupSearch payWorkingGroupSearch,String joint) { - return payWorkingGroupMapper.queryPageListForStatistics(page,payWorkingGroupSearch, joint); + public IPage queryPageListForStatistics(Page page, PayWorkingGroupSearch payWorkingGroupSearch,List ids) { + return payWorkingGroupMapper.queryPageListForStatistics(page,payWorkingGroupSearch, ids); } @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 index d3c1159f..a72e2065 100644 --- 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 @@ -4,6 +4,8 @@ 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.LoginUser; +import com.jero.mail.commont.constant; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.member.service.IPayMemberProjectService; import com.jero.member.service.IPayMemberProjectSubitemService; @@ -22,6 +24,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -61,29 +64,34 @@ public class AllProjectStatisticsController { public Result list(AllProjectStatisticsSearch allProjectStatisticsSearch, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { - - if (allProjectStatisticsSearch.getYear() == null || allProjectStatisticsSearch.getYear().equals("")) { - Calendar calendar = Calendar.getInstance(); - String year = String.valueOf(calendar.get(Calendar.YEAR)); - allProjectStatisticsSearch.setYear(year); - } - Page page = new Page<>(pageNo, pageSize); - IPage pageList = payWorkingGroupService.queryPageList3(page,allProjectStatisticsSearch); - HashMap hashMap = new HashMap<>(); - double sum = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null ? "0" : t.getAllMoney())).sum() : 0; - double sum2 = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null ? "0" : t.getComeAllMoney())).sum() : 0; - DecimalFormat df = new DecimalFormat("#.00"); - if (pageList.getRecords() != null) { - for(AllProjectStatistics 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); + LoginUser sysUser =(LoginUser) SecurityUtils.getSubject().getPrincipal(); + String roleCode = sysUser.getRoleCode(); + if(constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) { + if (allProjectStatisticsSearch.getYear() == null || allProjectStatisticsSearch.getYear().equals("")) { + Calendar calendar = Calendar.getInstance(); + String year = String.valueOf(calendar.get(Calendar.YEAR)); + allProjectStatisticsSearch.setYear(year); } + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payWorkingGroupService.queryPageList3(page,allProjectStatisticsSearch); + HashMap hashMap = new HashMap<>(); + double sum = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null ? "0" : t.getAllMoney())).sum() : 0; + double sum2 = pageList.getRecords() != null ? pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null ? "0" : t.getComeAllMoney())).sum() : 0; + DecimalFormat df = new DecimalFormat("#.00"); + if (pageList.getRecords() != null) { + for(AllProjectStatistics 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("sumOfMoney", sum==0.0?sum:df.format(sum)); + hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2)); + hashMap.put("pageList",pageList); + return Result.OK(hashMap); + }else { + return Result.OK("权限不足"); } - hashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum)); - hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2)); - hashMap.put("pageList",pageList); - return Result.OK(hashMap); } /** @@ -93,11 +101,17 @@ public class AllProjectStatisticsController { @GetMapping(value = "/statistics/excel") @ApiOperation(value = "所领导统计-导出统计", notes = "所领导统计-导出统计") public ModelAndView excel() { - AllProjectStatisticsSearch allProjectStatisticsSearch=new AllProjectStatisticsSearch(); + AllProjectStatisticsSearch allProjectStatisticsSearch = new AllProjectStatisticsSearch(); // Calendar calendar = Calendar.getInstance(); // String year = String.valueOf(calendar.get(Calendar.YEAR)); // allProjectStatisticsSearch.setYear(year); - List pageList = payWorkingGroupService.queryPageListExcel(allProjectStatisticsSearch); - return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "所领导统计"); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String roleCode = sysUser.getRoleCode(); + if(constant.SLD.equals(roleCode)||constant.ADMIN.equals(roleCode)) { + List pageList = payWorkingGroupService.queryPageListExcel(allProjectStatisticsSearch); + return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "所领导统计"); + }else { + return new ModelAndView(); + } } } \ No newline at end of file