diff --git a/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java index 6bf5309..076e649 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/charge/ChargeController.java @@ -3,8 +3,10 @@ package com.syjiaer.clinic.server.controller.charge; import com.syjiaer.clinic.server.common.api.output.OM2206A; import com.syjiaer.clinic.server.common.api.output.OM2207A; import com.syjiaer.clinic.server.common.util.DateUtil; +import com.syjiaer.clinic.server.common.vo.Page; import com.syjiaer.clinic.server.common.vo.Result; import com.syjiaer.clinic.server.controller.BaseController; +import com.syjiaer.clinic.server.entity.charge.ChargeLog; import com.syjiaer.clinic.server.entity.charge.ChargeOrder; import com.syjiaer.clinic.server.entity.charge.dto.ChargeQuery; import com.syjiaer.clinic.server.entity.charge.dto.ChargeSaveDto; @@ -91,6 +93,7 @@ public class ChargeController extends BaseController { } + @RequestMapping("/getListByPatientId") public Result> getListByPatientId() { Integer patientId = parmsUtil.getInteger("patientId"); @@ -98,4 +101,11 @@ public class ChargeController extends BaseController { } + + @RequestMapping("/getChargeRecord") + public Result> getChargeRecord() { + return success(chargeService.getChargeRecordPageList()); + } + + } diff --git a/src/main/java/com/syjiaer/clinic/server/controller/statistics/StatisticsController.java b/src/main/java/com/syjiaer/clinic/server/controller/statistics/StatisticsController.java index afbccca..2320482 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/statistics/StatisticsController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/statistics/StatisticsController.java @@ -7,6 +7,7 @@ import com.syjiaer.clinic.server.controller.BaseController; import com.syjiaer.clinic.server.entity.goods.Goods; import com.syjiaer.clinic.server.entity.statistics.PersonPayOverviewVo; import com.syjiaer.clinic.server.entity.statistics.RevenueOverviewVo; +import com.syjiaer.clinic.server.entity.statistics.SalePersonReportVo; import com.syjiaer.clinic.server.service.goods.GoodsService; import com.syjiaer.clinic.server.service.inventory.InventoryService; import com.syjiaer.clinic.server.service.statistics.StatisticsService; @@ -49,6 +50,7 @@ public class StatisticsController extends BaseController { public Result> numberEarlyWarning() { QueryWrapper goodsQuery = new QueryWrapper<>(); goodsQuery.apply("inventory_whole_number <= inventory_warn_number"); + goodsQuery.last("limit 20"); List list = goodsService.list(goodsQuery); return success(list); } @@ -70,5 +72,12 @@ public class StatisticsController extends BaseController { } + @RequestMapping("/salePerson") + public Result> salePerson() { + return success( statisticsService.salePersonReport()); + } + + + } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/charge/ChargeOrder.java b/src/main/java/com/syjiaer/clinic/server/entity/charge/ChargeOrder.java index 4fff2de..76643c3 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/charge/ChargeOrder.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/charge/ChargeOrder.java @@ -75,5 +75,5 @@ public class ChargeOrder implements Serializable { private BigDecimal totalCost; @ApiModelProperty("销售人id") - private Integer salePersionId; + private Integer salePersonId; } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/statistics/PayTypeRevenue.java b/src/main/java/com/syjiaer/clinic/server/entity/statistics/PayTypeRevenue.java index 8af47e1..ee8be13 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/statistics/PayTypeRevenue.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/statistics/PayTypeRevenue.java @@ -7,6 +7,7 @@ import java.math.BigDecimal; @Getter @Setter public class PayTypeRevenue { + private Integer payType; private BigDecimal totalRevenue; private String name; } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/statistics/RevenueOverviewVo.java b/src/main/java/com/syjiaer/clinic/server/entity/statistics/RevenueOverviewVo.java index c6837b1..1b5fd8e 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/statistics/RevenueOverviewVo.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/statistics/RevenueOverviewVo.java @@ -14,16 +14,18 @@ import java.util.List; public class RevenueOverviewVo { //总营业额 private BigDecimal totalRevenue; - //会员销售额 - private BigDecimal vipRevenue; + //医保销售额 + private BigDecimal socialRevenue; //总完成单数 private Long totalOrderCount; - //会员单数 - private Long vipOrderCount; + //医保单数 + private Long socialOrderCount; private List goodsTypeRevenue; private List payTypeRevenue; + + } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/statistics/SalePersonReportVo.java b/src/main/java/com/syjiaer/clinic/server/entity/statistics/SalePersonReportVo.java new file mode 100644 index 0000000..b39a64e --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/statistics/SalePersonReportVo.java @@ -0,0 +1,28 @@ +package com.syjiaer.clinic.server.entity.statistics; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class SalePersonReportVo { + private Integer salePersonId; + private String salePersonName; + private BigDecimal totalIncome; + private BigDecimal wechatIncome; + private BigDecimal aliPayIncome; + private BigDecimal cashIncome; + private BigDecimal otherIncome; + private BigDecimal socialIncome; + private Long count; + + public SalePersonReportVo() { + this.totalIncome = BigDecimal.ZERO; + this.wechatIncome = BigDecimal.ZERO; + this.aliPayIncome = BigDecimal.ZERO; + this.cashIncome = BigDecimal.ZERO; + this.otherIncome = BigDecimal.ZERO; + this.socialIncome = BigDecimal.ZERO; + this.count = 0L; + } +} diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/charge/ChargeOrderMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/charge/ChargeOrderMapper.java index f89ace6..ebb9ef4 100644 --- a/src/main/java/com/syjiaer/clinic/server/mapper/charge/ChargeOrderMapper.java +++ b/src/main/java/com/syjiaer/clinic/server/mapper/charge/ChargeOrderMapper.java @@ -4,6 +4,9 @@ import com.syjiaer.clinic.server.entity.charge.ChargeOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Select; +import java.util.List; +import java.util.Map; + /** *

@@ -16,6 +19,7 @@ import org.apache.ibatis.annotations.Select; public interface ChargeOrderMapper extends BaseMapper { @Select("select * from charge_order where code = #{code}") ChargeOrder selectByCode(String code); - + @Select("SELECT sale_person_id,pay_type,\"sum\"(total_price) ,\"count\"(0) FROM \"public\".\"charge_order\" GROUP BY sale_person_id,pay_type") + List> selectSaleReport(); } diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryMapper.java index 913005b..9199be5 100644 --- a/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryMapper.java +++ b/src/main/java/com/syjiaer/clinic/server/mapper/inventory/InventoryMapper.java @@ -20,7 +20,7 @@ public interface InventoryMapper extends BaseMapper { @Select("SELECT" + " inventory.*,goods.expiry_warn_days,goods.unit_price,EXTRACT(EPOCH FROM AGE(expiry_date, CURRENT_DATE)) / 86400 AS remaining_days" + " FROM inventory LEFT JOIN goods ON inventory.good_id = goods.id" + - " WHERE CURRENT_DATE + INTERVAL '1 day' * goods.expiry_warn_days >= inventory.expiry_date AND inventory.whole_number !=0") + " WHERE CURRENT_DATE + INTERVAL '1 day' * goods.expiry_warn_days >= inventory.expiry_date AND inventory.whole_number !=0 limit 20") List> selectExpiryWarn(); } diff --git a/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java b/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java index 2701241..aca9800 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/charge/ChargeService.java @@ -35,10 +35,7 @@ import com.syjiaer.clinic.server.entity.patient.PatientRegistration; import com.syjiaer.clinic.server.entity.social.SocialDirectory; import com.syjiaer.clinic.server.entity.social.SocialItem; import com.syjiaer.clinic.server.entity.social.SocialUser; -import com.syjiaer.clinic.server.mapper.charge.ChargeGoodsListMapper; -import com.syjiaer.clinic.server.mapper.charge.ChargeItemListMapper; -import com.syjiaer.clinic.server.mapper.charge.ChargeLogMapper; -import com.syjiaer.clinic.server.mapper.charge.ChargeOrderMapper; +import com.syjiaer.clinic.server.mapper.charge.*; import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMapper; import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalGoodsListMapper; import com.syjiaer.clinic.server.mapper.diagnosis.DiagnosisMedicalItemListMapper; @@ -77,6 +74,8 @@ public class ChargeService extends BaseService { @Autowired private ChargeLogMapper chargeLogMapper; @Autowired + private ChargeInventoryLogMapper chargeInventoryLogMapper; + @Autowired private SocialUserMapper socialUserMapper; @Autowired private ChargeItemListMapper chargeItemListMapper; @@ -330,6 +329,8 @@ public class ChargeService extends BaseService { updateOrder.setPayType(payType); updateOrder.setPayTime(LocalDateTime.now()); chargeOrderMapper.updateById(updateOrder); + + order = chargeOrderMapper.selectById(id); //扣除商品库存 List goodsLists = chargeGoodsListMapper.selectDetailByCode(order.getCode()); for (ChargeGoodsListVo goodsList : goodsLists) { @@ -347,10 +348,12 @@ public class ChargeService extends BaseService { log.setSocialType(InventorySocialTypeEnum.INVENTORY_SURPLUS.getType()); } inventoryLogMapper.insert(logs); + this.recordChargeInventoryLog(logs,order); } //记录收费日志 this.recordChargeLog(order, ChargeSourceEnum.CHARGE, ChargeTypeEnum.CHARGE); + } public void uploadCostDetails(String changeOrderCode) { @@ -602,10 +605,10 @@ public class ChargeService extends BaseService { chargeLog.setNetReceipts(chargeOrder.getTotalPrice()); chargeLog.setDiscount(chargeOrder.getTotalPrice().subtract(chargeOrder.getPreTotalPrice())); chargeLog.setPayType(chargeOrder.getPayType()); - if (chargeOrder.getSalePersionId() != null){ - OrganizationMember organizationMember = organizationMemberMapper.selectById(chargeOrder.getSalePersionId()); + if (chargeOrder.getSalePersonId() != null){ + OrganizationMember organizationMember = organizationMemberMapper.selectById(chargeOrder.getSalePersonId()); chargeLog.setSalePersonName(organizationMember.getName()); - chargeLog.setSalePersonId(chargeOrder.getSalePersionId()); + chargeLog.setSalePersonId(chargeOrder.getSalePersonId()); } chargeLog.setChargeTime(LocalDateTime.now()); chargeLog.setProjectCode(chargeOrder.getCode()); @@ -614,28 +617,47 @@ public class ChargeService extends BaseService { /** * 销售库存变更 日志 */ - public void recordChargeInventoryLog(InventoryLog log,ChargeOrder chargeOrder){ - ChargeInventoryLog chargeInventoryLog = new ChargeInventoryLog(); - chargeInventoryLog.setChargeOrderCode(chargeOrder.getCode()); - chargeInventoryLog.setGoodsId(log.getGoodsId()); - chargeInventoryLog.setInventoryId(log.getInventoryId()); - chargeInventoryLog.setNumber(log.getChangeWholeNumber()); - Goods dbGoods = goodsMapper.selectById(log.getGoodsId()); - chargeInventoryLog.setTrdnFlag(false); - chargeInventoryLog.setUnit(dbGoods.getPackagingUnit()); - chargeInventoryLog.setNumber(log.getChangeWholeNumber()); - if (log.getChangeFragmentNumber() > 0 ){ - chargeInventoryLog.setTrdnFlag(true); - chargeInventoryLog.setUnit(dbGoods.getMinPackagingUnit()); - chargeInventoryLog.setNumber(log.getChangeWholeNumber()*dbGoods.getMinPackagingNumber()+log.getChangeFragmentNumber()); + public void recordChargeInventoryLog(List logs,ChargeOrder chargeOrder){ + List chargeInventoryLogs = new ArrayList<>(); + for (InventoryLog log : logs){ + ChargeInventoryLog chargeInventoryLog = new ChargeInventoryLog(); + chargeInventoryLog.setChargeOrderCode(chargeOrder.getCode()); + chargeInventoryLog.setGoodsId(log.getGoodsId()); + chargeInventoryLog.setInventoryId(log.getInventoryId()); + chargeInventoryLog.setNumber(log.getChangeWholeNumber()); + Goods dbGoods = goodsMapper.selectById(log.getGoodsId()); + chargeInventoryLog.setTrdnFlag(false); + chargeInventoryLog.setUnit(dbGoods.getPackagingUnit()); + chargeInventoryLog.setNumber(log.getChangeWholeNumber()); + if (log.getChangeFragmentNumber() != 0 ){ + chargeInventoryLog.setTrdnFlag(true); + chargeInventoryLog.setUnit(dbGoods.getMinPackagingUnit()); + chargeInventoryLog.setNumber(log.getChangeWholeNumber()*dbGoods.getMinPackagingNumber()+log.getChangeFragmentNumber()); + } + QueryWrapper listWrapper = new QueryWrapper<>(); + listWrapper.eq("charge_order_code",chargeOrder.getCode()); + listWrapper.eq("goods_id",log.getGoodsId()); + ChargeGoodsList chargeGoodsList = chargeGoodsListMapper.selectOne(listWrapper); + chargeInventoryLog.setFeedetlSn(chargeGoodsList.getFeedetlSn()); + chargeInventoryLog.setCreateTime(LocalDateTime.now()); + chargeInventoryLog.setGoodsType(chargeGoodsList.getType()); + chargeInventoryLog.setUploadStatus(UploadStatusEnum.NoUpload.getStatus()); + chargeInventoryLog.setType(ChargeTypeEnum.CHARGE.getChargeType()); + + chargeInventoryLogs.add(chargeInventoryLog); + } - QueryWrapper listWrapper = new QueryWrapper<>(); - listWrapper.eq("charge_order_code",chargeOrder.getCode()); - listWrapper.eq("goods_id",log.getGoodsId()); - ChargeGoodsList chargeGoodsList = chargeGoodsListMapper.selectOne(listWrapper); -// chargeInventoryLog.setUnitPrice(chargeGoodsList.getUnitPrice()); - - + chargeInventoryLogMapper.insert(chargeInventoryLogs); } + + /** + * 获取收费记录 + * @return + */ + public Page getChargeRecordPageList() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = pageHelper(1, 20, queryWrapper, chargeLogMapper, "charge_time", false); + return page; + } } diff --git a/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java b/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java index d8a2286..7d516df 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/diagnosis/MedicalRecordService.java @@ -99,6 +99,7 @@ public class MedicalRecordService extends BaseService { Diagnosis diagnosis = new Diagnosis(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("registration_id", saveDto.getRegistrationId()); + queryWrapper.last("limit 1"); Diagnosis dbDiagnosis = diagnosisMapper.selectOne(queryWrapper); if (dbDiagnosis!=null){ diagnosis.setId(dbDiagnosis.getId()); diff --git a/src/main/java/com/syjiaer/clinic/server/service/statistics/StatisticsService.java b/src/main/java/com/syjiaer/clinic/server/service/statistics/StatisticsService.java index f3a848d..27e487c 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/statistics/StatisticsService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/statistics/StatisticsService.java @@ -8,12 +8,11 @@ import com.syjiaer.clinic.server.common.util.DateUtil; import com.syjiaer.clinic.server.entity.charge.ChargeGoodsList; import com.syjiaer.clinic.server.entity.charge.ChargeItemList; import com.syjiaer.clinic.server.entity.charge.ChargeOrder; -import com.syjiaer.clinic.server.entity.statistics.GoodsTypeRevenue; -import com.syjiaer.clinic.server.entity.statistics.PayTypeRevenue; -import com.syjiaer.clinic.server.entity.statistics.PersonPayOverviewVo; -import com.syjiaer.clinic.server.entity.statistics.RevenueOverviewVo; +import com.syjiaer.clinic.server.entity.organization.OrganizationMember; +import com.syjiaer.clinic.server.entity.statistics.*; import com.syjiaer.clinic.server.mapper.charge.ChargeGoodsListMapper; import com.syjiaer.clinic.server.mapper.charge.ChargeOrderMapper; +import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper; import com.syjiaer.clinic.server.service.BaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -29,6 +28,9 @@ public class StatisticsService extends BaseService { private ChargeOrderMapper chargeOrderMapper; @Autowired private ChargeGoodsListMapper chargeGoodsListMapper; + @Autowired + private OrganizationMemberMapper organizationMemberMapper; + public RevenueOverviewVo getRevenueOverview(LocalDateTime begin, LocalDateTime end) { RevenueOverviewVo overviewVo = new RevenueOverviewVo(); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -37,13 +39,21 @@ public class StatisticsService extends BaseService { queryWrapper.le("pay_time", end); queryWrapper.eq("status", RetailOrderStatusEnum.FINISHED.getCode()); Map map = chargeOrderMapper.selectMaps(queryWrapper).get(0); - overviewVo.setTotalRevenue((BigDecimal) map.getOrDefault("total_revenue",new BigDecimal(0))); - overviewVo.setTotalOrderCount((Long) map.getOrDefault("total_order_count",new BigDecimal(0))); -// -// queryWrapper.isNotNull("vip_id"); -// Map vipMap = retailOrderService.getMap(queryWrapper); -// overviewVo.setVipRevenue((BigDecimal) vipMap.getOrDefault("total_revenue",new BigDecimal(0))); -// overviewVo.setVipOrderCount((Long) vipMap.getOrDefault("total_order_count",new BigDecimal(0))); + overviewVo.setTotalRevenue((BigDecimal) map.getOrDefault("total_revenue", new BigDecimal(0))); + overviewVo.setTotalOrderCount((Long) map.getOrDefault("total_order_count", new BigDecimal(0))); + + //医保概况数据 + QueryWrapper socialQuery = new QueryWrapper<>(); + socialQuery.select("sum(total_price) as total_revenue,count(*) as total_order_count"); + socialQuery.ge("pay_time", begin); + socialQuery.le("pay_time", end); + socialQuery.eq("pay_type", RetailOrderPayTypeEnum.MEDICARE.getCode()); + socialQuery.eq("status", RetailOrderStatusEnum.FINISHED.getCode()); + Map socialMap = chargeOrderMapper.selectMaps(socialQuery).get(0); + overviewVo.setSocialRevenue((BigDecimal) socialMap.getOrDefault("total_revenue", new BigDecimal(0))); + overviewVo.setSocialOrderCount((Long) socialMap.getOrDefault("total_order_count", new BigDecimal(0))); + + QueryWrapper payTypeQuery = new QueryWrapper<>(); payTypeQuery.ge("pay_time", begin); @@ -58,8 +68,9 @@ public class StatisticsService extends BaseService { List payTypeRevenueList = new ArrayList<>(); for (Map payTypeMap : payTypeMaps) { PayTypeRevenue revenue = new PayTypeRevenue(); + revenue.setPayType((Integer) payTypeMap.get("pay_type")); revenue.setName(RetailOrderPayTypeEnum.getByCode((Integer) payTypeMap.get("pay_type")).getDesc()); - revenue.setTotalRevenue((BigDecimal) payTypeMap.getOrDefault("total_revenue",new BigDecimal(0))); + revenue.setTotalRevenue((BigDecimal) payTypeMap.getOrDefault("total_revenue", new BigDecimal(0))); payTypeRevenueList.add(revenue); } overviewVo.setPayTypeRevenue(payTypeRevenueList); @@ -70,8 +81,8 @@ public class StatisticsService extends BaseService { retailListQuery.ge("create_time", begin); retailListQuery.le("create_time", end); List> goodsTypeMaps = new ArrayList<>(); - if (!retailOrderCodes.isEmpty() ){ - retailListQuery.in("charge_order_code",retailOrderCodes); + if (!retailOrderCodes.isEmpty()) { + retailListQuery.in("charge_order_code", retailOrderCodes); goodsTypeMaps = chargeGoodsListMapper.selectMaps(retailListQuery); } @@ -80,13 +91,14 @@ public class StatisticsService extends BaseService { for (Map goodsTypeMap : goodsTypeMaps) { GoodsTypeRevenue goodsTypeRevenue = new GoodsTypeRevenue(); goodsTypeRevenue.setName(GoodsTypeEnum.getByType((Integer) goodsTypeMap.get("type")).getDesc()); - goodsTypeRevenue.setTotalRevenue((BigDecimal) goodsTypeMap.getOrDefault("total_revenue",new BigDecimal(0))); + goodsTypeRevenue.setTotalRevenue((BigDecimal) goodsTypeMap.getOrDefault("total_revenue", new BigDecimal(0))); goodsTypeRevenuesList.add(goodsTypeRevenue); } overviewVo.setGoodsTypeRevenue(goodsTypeRevenuesList); + return overviewVo; } @@ -111,7 +123,7 @@ public class StatisticsService extends BaseService { commonQuery.groupBy("create_date"); commonQuery.orderByAsc("create_date"); // commonQuery.isNull("vip_id"); - List> commonMaps = chargeOrderMapper.selectMaps(commonQuery); + List> commonMaps = chargeOrderMapper.selectMaps(commonQuery); List dateList = DateUtil.getDatesBetween(beginTime, endTime); Map tempMap = new TreeMap<>(); for (LocalDate date : dateList) { @@ -130,4 +142,44 @@ public class StatisticsService extends BaseService { return personPayOverview; } + + public List salePersonReport() { + List> maps = chargeOrderMapper.selectSaleReport(); + Map voMaps = new HashMap<>(); + for (Map map : maps) { + Integer salePersonId = (Integer) map.get("sale_person_id"); + SalePersonReportVo vo = voMaps.getOrDefault(salePersonId, new SalePersonReportVo()); + vo.setSalePersonId(salePersonId); + OrganizationMember organizationMember = organizationMemberMapper.selectById(salePersonId); + vo.setSalePersonName(organizationMember.getName()); + vo.setTotalIncome(vo.getTotalIncome().add((BigDecimal) map.get("sum"))); + vo.setCount(vo.getCount()+(Long) map.get("count")); + RetailOrderPayTypeEnum payType = RetailOrderPayTypeEnum.getByCode((Integer) map.get("pay_type")); + if (payType == null){ + continue; + } + switch (payType) { + case WXPAY: + vo.setWechatIncome(vo.getWechatIncome().add((BigDecimal) map.get("sum"))); + break; + case ALIPAY: + vo.setAliPayIncome(vo.getAliPayIncome().add((BigDecimal) map.get("sum"))); + break; + case CASH: + vo.setCashIncome(vo.getCashIncome().add((BigDecimal) map.get("sum"))); + break; + case OTHER: + vo.setOtherIncome(vo.getOtherIncome().add((BigDecimal) map.get("sum"))); + break; + case MEDICARE: + vo.setSocialIncome(vo.getSocialIncome().add((BigDecimal) map.get("sum"))); + break; + default: + break; + } + voMaps.put(salePersonId, vo); + } + List result = voMaps.values().stream().toList(); + return result; + } }