|
@@ -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);
|