From 466c71aba1d5e5b7695d55e0e53eea88631cd9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Fri, 12 Apr 2024 15:33:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=8B=A4=E6=A0=B7=E5=BC=8F=E8=B0=83?= =?UTF-8?q?=E6=95=B4=EF=BC=8C=E9=A3=9F=E5=A0=82=E6=A0=87=E5=87=86=E5=8F=96?= =?UTF-8?q?=E6=95=B0=E4=BC=98=E5=8C=96=EF=BC=8C=E5=8A=9E=E5=85=AC=E5=AE=A4?= =?UTF-8?q?=E5=B7=A5=E8=B5=84=E5=AD=97=E5=85=B8=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BusinessZcmxController.java | 5 +- .../business/entity/BusinessStEntity.java | 3 +- .../service/BusinessOutlayService.java | 2 +- .../impl/BusinessOutlayServiceImpl.java | 36 +++++++-- .../impl/BusinessWorkerCqServiceImpl.java | 80 ++++++++++++++----- .../mapper/business/BusinessOutlayDao.xml | 4 +- 6 files changed, 100 insertions(+), 30 deletions(-) diff --git a/src/main/java/io/renren/modules/business/controller/BusinessZcmxController.java b/src/main/java/io/renren/modules/business/controller/BusinessZcmxController.java index 121c537..6f95038 100644 --- a/src/main/java/io/renren/modules/business/controller/BusinessZcmxController.java +++ b/src/main/java/io/renren/modules/business/controller/BusinessZcmxController.java @@ -10,6 +10,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -227,7 +228,7 @@ public class BusinessZcmxController { @RequiresPermissions("business:businesszcmx:list") public R stbzList(@RequestParam Map params){ //System.out.println(params); - List> page = businessOutlayService.stbzList(params); + Map page = businessOutlayService.stbzList(params); return R.ok().put("page", page); } @@ -251,7 +252,7 @@ public class BusinessZcmxController { businessStEntity.setDateDay(date); } if (item.get("stday") != null && !item.get("stday").toString().equals("")) { - businessStEntity.setFixDay(Integer.parseInt(item.get("stday").toString())); + businessStEntity.setFixDay(new BigDecimal(item.get("stday").toString())); } businessStEntityList.add(businessStEntity); } diff --git a/src/main/java/io/renren/modules/business/entity/BusinessStEntity.java b/src/main/java/io/renren/modules/business/entity/BusinessStEntity.java index a778607..8aa77df 100644 --- a/src/main/java/io/renren/modules/business/entity/BusinessStEntity.java +++ b/src/main/java/io/renren/modules/business/entity/BusinessStEntity.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** @@ -33,5 +34,5 @@ public class BusinessStEntity implements Serializable { /** * 修正天数 */ - private Integer fixDay; + private BigDecimal fixDay; } diff --git a/src/main/java/io/renren/modules/business/service/BusinessOutlayService.java b/src/main/java/io/renren/modules/business/service/BusinessOutlayService.java index 69d7cfe..9076c66 100644 --- a/src/main/java/io/renren/modules/business/service/BusinessOutlayService.java +++ b/src/main/java/io/renren/modules/business/service/BusinessOutlayService.java @@ -52,7 +52,7 @@ public interface BusinessOutlayService extends IService { * @param params * @return */ - List> stbzList(Map params); + Map stbzList(Map params); /** * 获取最新的年度日期 diff --git a/src/main/java/io/renren/modules/business/service/impl/BusinessOutlayServiceImpl.java b/src/main/java/io/renren/modules/business/service/impl/BusinessOutlayServiceImpl.java index 7115982..cafa7da 100644 --- a/src/main/java/io/renren/modules/business/service/impl/BusinessOutlayServiceImpl.java +++ b/src/main/java/io/renren/modules/business/service/impl/BusinessOutlayServiceImpl.java @@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -125,12 +126,35 @@ public class BusinessOutlayServiceImpl extends ServiceImpl> stbzList(Map params) { -// String startTime = params.get("year") + "-02"; -// String endTime = (Integer.parseInt((String) params.get("year")) + 1) + "-03"; -// params.put("startTime",startTime); -// params.put("endTime",endTime); - return baseMapper.stbzList(params); + public Map stbzList(Map params) { + BigDecimal pjMoney = new BigDecimal("0"); + BigDecimal pjDay = new BigDecimal("0"); + BigDecimal pjStDay = new BigDecimal("0"); + BigDecimal bzJz = new BigDecimal("0"); + List> list = baseMapper.stbzList(params); + for(int i=0;i map= (Map)list.get(i); + String moneyStr = map.get("money").toString(); + String dayStr = map.get("day").toString(); + String stdayStr = map.get("stday").toString(); + pjMoney = pjMoney.add(new BigDecimal(moneyStr)); + pjDay = pjDay.add(new BigDecimal(dayStr)); + pjStDay = pjStDay.add(new BigDecimal(stdayStr)); + } + + BigDecimal bzTs = new BigDecimal("0"); + bzTs = pjDay.add(pjStDay); + if(bzTs.compareTo(new BigDecimal("0")) != 0){ + bzJz = pjMoney.divide(bzTs,2); + } + + Map mapList = new HashMap<>(); + mapList.put("list",list); + mapList.put("pjMoney",pjMoney.setScale(2, RoundingMode.HALF_UP)); + mapList.put("pjDay",pjDay.setScale(2, RoundingMode.HALF_UP)); + mapList.put("pjStDay",pjStDay.setScale(2, RoundingMode.HALF_UP)); + mapList.put("bzJz",bzJz.setScale(2, RoundingMode.HALF_UP)); + return mapList; } /** diff --git a/src/main/java/io/renren/modules/business/service/impl/BusinessWorkerCqServiceImpl.java b/src/main/java/io/renren/modules/business/service/impl/BusinessWorkerCqServiceImpl.java index fa49c22..9bb9088 100644 --- a/src/main/java/io/renren/modules/business/service/impl/BusinessWorkerCqServiceImpl.java +++ b/src/main/java/io/renren/modules/business/service/impl/BusinessWorkerCqServiceImpl.java @@ -154,28 +154,72 @@ public class BusinessWorkerCqServiceImpl extends ServiceImpl and b.out_time <= #{endTime} - WHERE a.dict_id IN ( '141', '259', '260', '261', '327' ) + WHERE a.dict_id IN ( '141', '259', '260', '262', '327' ) GROUP BY a.NAME ORDER BY a.order_num @@ -782,7 +782,7 @@ sum(hjg) as hjg, sum(xs) as xs, sum(hjq) as hjq, - sum(lxj) as xj, + sum(lxj) as lxj, sum(hjg) - sum(xs) - sum(hjq) - sum(lxj) as yz from ( select