Pārlūkot izejas kodu

首页一层当月收款额明细

sl 1 gadu atpakaļ
vecāks
revīzija
c7417cbbbc

+ 7 - 0
module_kzks/src/main/java/org/jeecg/modules/Index/controller/IndexController.java

@@ -102,6 +102,13 @@ public class IndexController {
         List<ComContractInfoExchange> comContractInfoExchangeList = indexService.getDetailIncome(request, departNameList);
         return Result.OK(comContractInfoExchangeList);
     }
+    @ApiOperation(value = "首页一层当月收款额明细", notes = "首页一层当月收款额明细")
+    @PostMapping("getDetailReceived")
+    @TargetDataSource
+    public Result<List<ComContractInfoExchange>> getDetailReceived(@RequestBody(required = false) List<String> departNameList, HttpServletRequest request){
+        List<ComContractInfoExchange> comContractInfoExchangeList = indexService.getDetailReceived(request, departNameList);
+        return Result.OK(comContractInfoExchangeList);
+    }
 
     @ApiOperation(value = "计算已收款", notes = "计算已收款")
     @GetMapping("getTotalReceived")

+ 3 - 0
module_kzks/src/main/java/org/jeecg/modules/Index/service/IndexService.java

@@ -20,6 +20,9 @@ public interface IndexService {
 
     IndexTotalVo getTotalReceived(HttpServletRequest request,List<String> departNameList);
 
+    /*已收款一层  当月收款额明细*/
+    List<ComContractInfoExchange> getDetailReceived(HttpServletRequest request, List<String> departNameList);
+
     ContractChartInfoVo getContractAmountInfo(HttpServletRequest request, IndexInfoParamDto indexInfoParamDto,List<String> departNameList);
 
     /**

+ 68 - 1
module_kzks/src/main/java/org/jeecg/modules/Index/service/impl/IndexServiceImpl.java

@@ -448,7 +448,6 @@ public class IndexServiceImpl implements IndexService {
                 return indexTotalVo;
             }
 
-
             List<String> ZrbmTasknoList = projectCostMapper.queryZrbmTasknoListbydepartNames(departNames);
             List<String> XdbmTasknoList = projectCostMapper.queryXdbmTasknoListbydepartNames(departNames);
             tasknoList.addAll(ZrbmTasknoList);
@@ -618,6 +617,74 @@ public class IndexServiceImpl implements IndexService {
         return indexTotalVo;
     }
 
+    /*已收款一层  当月收款额明细*/
+    @Override
+    public List<ComContractInfoExchange> getDetailReceived(HttpServletRequest request, List<String> departNameList) {
+        String userNameByToken = JwtUtil.getUserNameByToken(request);
+        LoginUser sysUser = sysBaseApi.getUserByName(userNameByToken);
+        String role = commonMethod.getRole(userNameByToken);
+        if (departNameList != null && !departNameList.isEmpty() && AuthMark.BOSS.equals(role))
+            role = AuthMark.DEPT_LEADER;
+        //初始化参数
+        List<ComContractInfoExchange> comContractInfoExchangeList = new ArrayList<>();
+
+        String depart = null;
+        ArrayList<String> tasknoList = new ArrayList<>();
+
+        if (AuthMark.DEPT_LEADER.equals(role)) {
+            List<String> departNames = null;
+            if (departNameList != null && !departNameList.isEmpty()) {
+                departNames = departNameList;
+            } else {
+                String[] deptIds = sysUser.getDepartIds().split(",");
+                departNames = sysDepartMapper.getDepNameByIds(deptIds);
+            }
+            if (departNames.isEmpty()) return comContractInfoExchangeList;
+
+            StringBuilder stringBuilder = new StringBuilder();
+            for (String departName : departNames) {
+                stringBuilder.append(departName).append("|");
+            }
+            depart = stringBuilder.toString();
+            List<ComContractInfoExchange> cacheObject = (List<ComContractInfoExchange>) redisUtil.get(CacheKey.RECEIVEDDETAIL_DATA_REDIS_KEY + ":" + depart + ":" + role);
+            if (ObjectUtils.isNotEmpty(cacheObject)) {
+                comContractInfoExchangeList = cacheObject;
+                return comContractInfoExchangeList;
+            }
+            List<String> ZrbmTasknoList = projectCostMapper.queryZrbmTasknoListbydepartNames(departNames);
+            List<String> XdbmTasknoList = projectCostMapper.queryXdbmTasknoListbydepartNames(departNames);
+            tasknoList.addAll(ZrbmTasknoList);
+            tasknoList.addAll(XdbmTasknoList);
+            if (tasknoList.isEmpty()) return comContractInfoExchangeList;
+        }
+        if (depart == null) {
+            depart = "Boss";
+            List<ComContractInfoExchange> cacheObject = (List<ComContractInfoExchange>) redisUtil.get(CacheKey.RECEIVEDDETAIL_DATA_REDIS_KEY + ":" + depart + ":" + role);
+            if (ObjectUtils.isNotEmpty(cacheObject)) {
+                comContractInfoExchangeList = cacheObject;
+                return comContractInfoExchangeList;
+            }
+        }
+
+        Calendar instance = Calendar.getInstance();
+        //当月已收款,例:>= 2023-12-01 00:00:00   < 2024-01-01 00:00:00
+        instance.setTime(new Date());
+        setZeroMonth(instance);
+        Date currentMothBginDate = instance.getTime();
+        instance.add(Calendar.MONTH, 1);
+        Date currentMothEndDate = instance.getTime();
+
+        if (AuthMark.DEPT_LEADER.equals(role)) {
+            comContractInfoExchangeList = exchangeMapper.getReceivedDetailByTasknoListAndByQsrqRange(tasknoList, currentMothBginDate, currentMothEndDate);
+        } else if (AuthMark.BOSS.equals(role)) {
+            comContractInfoExchangeList = exchangeMapper.getReceivedDetailByTasknoListAndByQsrqRangeIfBoss(tasknoList, currentMothBginDate, currentMothEndDate);
+        }
+
+        redisUtil.set(CacheKey.RECEIVEDDETAIL_DATA_REDIS_KEY + ":" + depart + ":" + role, comContractInfoExchangeList, 1000L * 60 * 60 * 10);
+
+        return comContractInfoExchangeList;
+    }
+
     public void setZeroYear(Calendar instance) {
         instance.add(Calendar.DAY_OF_MONTH,-1);
         instance.set(Calendar.MONTH, 0);

+ 3 - 0
module_kzks/src/main/java/org/jeecg/modules/Index/util/CacheKey.java

@@ -14,6 +14,9 @@ public class CacheKey {
     /*首页已收款*/
     public static final String RECEIVED_DATA_REDIS_KEY = "receivedDataRedisKey:";
 
+    /*首页当月收款额明细*/
+    public static final String RECEIVEDDETAIL_DATA_REDIS_KEY = "receivedDetailDataRedisKey:";
+
     /*首页图表,合同额与合同数量*/
     public static final String CONTRACT_CHART_INFO_DATA_REDIS_KEY = "ContractChartInfoVoDataRedisKey:";
 

+ 4 - 0
module_kzks/src/main/java/org/jeecg/modules/xmcbDetail/mapper/ComContractInfoExchangeMapper.java

@@ -61,8 +61,12 @@ public interface ComContractInfoExchangeMapper extends BaseMapper<ComContractInf
 
     BigDecimal getReceivedYearTotalByTasknoListAndByQsrqRange(@Param("tasknoList") List<String> tasknoList, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate);
 
+    List<ComContractInfoExchange> getReceivedDetailByTasknoListAndByQsrqRange(@Param("tasknoList") List<String> tasknoList, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate);
+
     BigDecimal getReceivedYearTotalByTasknoListAndByQsrqRangeIfBoss(@Param("tasknoList") List<String> tasknoList, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate);
 
+    List<ComContractInfoExchange> getReceivedDetailByTasknoListAndByQsrqRangeIfBoss(@Param("tasknoList") List<String> tasknoList, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate);
+
     List<ContractAmount> getContractAmountandNumByYear(@Param("tasknoList") List<String> tasknoList, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate);
 
     List<ContractAmount> getContractAmountandNumByYearIfBoss(@Param("tasknoList") List<String> tasknoList, @Param("beginDate") Date beginDate, @Param("endDate") Date endDate);

+ 16 - 0
module_kzks/src/main/java/org/jeecg/modules/xmcbDetail/mapper/xml/ComContractInfoExchangeMapper.xml

@@ -68,6 +68,16 @@
         </foreach>
     </select>
 
+    <select id="getReceivedDetailByTasknoListAndByQsrqRange" resultType="org.jeecg.modules.xmcbDetail.entity.ComContractInfoExchange">
+        select * from com_contract_info_exchange as a where sjly = 40
+        and a.dkhpdqrq <![CDATA[ >= ]]> #{beginDate}
+        and a.dkhpdqrq &lt; #{endDate}
+        and a.rwbh in
+        <foreach item='item' index='index' collection='tasknoList' open='(' separator=',' close=')'>
+            #{item}
+        </foreach>
+    </select>
+
     <select id="getReceivedYearTotalByTasknoListAndByQsrqRangeIfBoss" resultType="java.math.BigDecimal">
         select sum(a.rwskje)
         from (select dkhpdqrq, rwskje from com_contract_info_exchange where sjly = 40) a
@@ -75,6 +85,12 @@
                   and a.dkhpdqrq &lt; #{endDate}
     </select>
 
+    <select id="getReceivedDetailByTasknoListAndByQsrqRangeIfBoss" resultType="org.jeecg.modules.xmcbDetail.entity.ComContractInfoExchange">
+        select * from com_contract_info_exchange as a where sjly = 40
+          and a.dkhpdqrq  <![CDATA[ >= ]]> #{beginDate}
+          and a.dkhpdqrq &lt; #{endDate}
+    </select>
+
 
     <select id="getContractAmountandNumByMonth" resultType="org.jeecg.modules.Index.entity.pojo.ContractAmount">
         SELECT