Browse Source

费用优先级调整

contract
Yen 2 years ago
parent
commit
b1935f4af3
  1. 1
      src/main/java/com/qs/serve/common/util/model/DateFormatString.java
  2. 15
      src/main/java/com/qs/serve/controller/WxSvcLoginApi.java
  3. 1
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  4. 22
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java
  5. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetConditionServiceImpl.java
  6. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  7. 14
      src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java
  8. 1
      src/main/resources/mapper/sys/SysUserMapper.xml

1
src/main/java/com/qs/serve/common/util/model/DateFormatString.java

@ -12,6 +12,7 @@ import lombok.Getter;
public enum DateFormatString { public enum DateFormatString {
DATE_TIME("yyyy-MM-dd HH:mm:ss"), DATE_TIME("yyyy-MM-dd HH:mm:ss"),
DATE_TIME2("yyyy-MM-dd HH:mm:ss.000"),
DATE_TIME_NUM("yyyyMMddHHmmss"), DATE_TIME_NUM("yyyyMMddHHmmss"),
DATE_TIME_CN("yyyy年MM月dd日 HH时mm分ss秒"), DATE_TIME_CN("yyyy年MM月dd日 HH时mm分ss秒"),

15
src/main/java/com/qs/serve/controller/WxSvcLoginApi.java

@ -3,6 +3,7 @@ package com.qs.serve.controller;
import com.qs.serve.common.framework.redis.RedisService; import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.framework.security.model.LoginUser; import com.qs.serve.common.framework.security.model.LoginUser;
import com.qs.serve.common.framework.security.model.LoginUserType; import com.qs.serve.common.framework.security.model.LoginUserType;
import com.qs.serve.common.framework.security.service.SysUserDetailsServiceImpl;
import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.consts.RedisCacheKeys; import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
@ -10,12 +11,17 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.HttpCode; import com.qs.serve.common.model.enums.HttpCode;
import com.qs.serve.common.model.enums.InterType; import com.qs.serve.common.model.enums.InterType;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.mapper.SysTenantMapper; import com.qs.serve.modules.sys.mapper.SysTenantMapper;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.wx.entity.WxUser; import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.entity.dto.WxLoginUser; import com.qs.serve.modules.wx.entity.dto.WxLoginUser;
import com.qs.serve.modules.wx.service.WxUserService; import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -43,8 +49,11 @@ public class WxSvcLoginApi {
private final RedisService redisService; private final RedisService redisService;
private final SysUserDetailsServiceImpl userDetailsService;
private final SysTenantMapper sysTenantMapper; private final SysTenantMapper sysTenantMapper;
private SysUserService sysUserService;
/** /**
* 公众号登录 * 公众号登录
@ -86,6 +95,12 @@ public class WxSvcLoginApi {
tokenMap.put("client",client); tokenMap.put("client",client);
//关联 //关联
objectMap.put("adminTokenInfo",tokenMap); objectMap.put("adminTokenInfo",tokenMap);
//设置
// SysUser sysUser = sysUserService.getById(wxUser.getSysUserId());
// UserDetails userDetails = userDetailsService.buildLoginUser(sysUser);
// UsernamePasswordAuthenticationToken authentication =
// new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
// SecurityContextHolder.getContext().setAuthentication(authentication);
return R.ok(objectMap); return R.ok(objectMap);
} }

1
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -91,7 +91,6 @@ public class TbsCostApplyController {
* @param id * @param id
* @return * @return
*/ */
@GetMapping("preview2") @GetMapping("preview2")
public R<TbsBudgetTableVo> viewTable(Long id){ public R<TbsBudgetTableVo> viewTable(Long id){
TbsBudgetTableVo result = budgetApplicationService.buildResultTable(id); TbsBudgetTableVo result = budgetApplicationService.buildResultTable(id);

22
src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java

@ -481,8 +481,8 @@ public class TbsBudgetApplicationService {
String centerType = activityCostItem.getCenterType(); String centerType = activityCostItem.getCenterType();
/* 科目条件优先级最高 */ /* 科目条件优先级最高 */
List<TbsScheduleItemBudget> scheduleItemBudgets = activity.getScheduleItemBudgetList(); List<TbsScheduleItemBudget> scheduleItemBudgets = activity.getScheduleItemBudgetList();
for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) { for (TbsBudget budget : currentItemBudgetList) {
for (TbsBudget budget : currentItemBudgetList) { for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) {
if(!budget.getCenterId().equals(centerId) || if(!budget.getCenterId().equals(centerId) ||
!budget.getCenterType().equals(centerType) ){ !budget.getCenterType().equals(centerType) ){
continue; continue;
@ -587,7 +587,7 @@ public class TbsBudgetApplicationService {
Set<String> levelPathSet = new LinkedHashSet<>(); Set<String> levelPathSet = new LinkedHashSet<>();
levelPathSet.add(levelPath); levelPathSet.add(levelPath);
TbsBudgetCostUtil.buildPaths(levelPath,levelPathSet); TbsBudgetCostUtil.buildPaths(levelPath,levelPathSet);
List<TbsBudget> currentItemBudgetList = new ArrayList<>(); List<TbsBudgetCondition> budgetConditionList = new ArrayList<>();
for (TbsBudget budget : budgetList) { for (TbsBudget budget : budgetList) {
if(budget.getConditionFlag().equals(1)){ if(budget.getConditionFlag().equals(1)){
List<TbsBudgetCondition> budgetConditionListByBudget = budget.getBudgetConditionList(); List<TbsBudgetCondition> budgetConditionListByBudget = budget.getBudgetConditionList();
@ -596,7 +596,7 @@ public class TbsBudgetApplicationService {
if(unMatch){ if(unMatch){
for (TbsBudgetCondition budgetCondition : budgetConditionListByBudget) { for (TbsBudgetCondition budgetCondition : budgetConditionListByBudget) {
if(budgetCondition.getTargetLevelPathIds().contains(conditionString)){ if(budgetCondition.getTargetLevelPathIds().contains(conditionString)){
currentItemBudgetList.add(budget); budgetConditionList.add(budgetCondition);
unMatch = false; unMatch = false;
break; break;
} }
@ -605,6 +605,20 @@ public class TbsBudgetApplicationService {
} }
} }
} }
Collections.sort(budgetConditionList, (o1, o2) -> {
int len1 = o1.getTargetLevelPathIds().split("_").length;
int len2 = o2.getTargetLevelPathIds().split("_").length;
return len2 - len1;
});
List<TbsBudget> currentItemBudgetList = new ArrayList<>();
for (TbsBudgetCondition condition : budgetConditionList) {
for (TbsBudget budget : budgetList) {
if(condition.getBudgetId().equals(budget.getId())){
currentItemBudgetList.add(budget);
break;
}
}
}
return currentItemBudgetList; return currentItemBudgetList;
} }

2
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetConditionServiceImpl.java

@ -24,7 +24,7 @@ public class TbsBudgetConditionServiceImpl extends ServiceImpl<TbsBudgetConditio
@Override @Override
public List<TbsBudgetCondition> getByBudgetId(Long budgetId) { public List<TbsBudgetCondition> getByBudgetId(Long budgetId) {
LambdaQueryWrapper<TbsBudgetCondition> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsBudgetCondition> lqw = new LambdaQueryWrapper<>();
lqw.le(TbsBudgetCondition::getBudgetId,budgetId); lqw.eq(TbsBudgetCondition::getBudgetId,budgetId);
return this.list(lqw); return this.list(lqw);
} }
} }

2
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -83,7 +83,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
data.put("supplierName",tbsCostApply.getSupplierName()); data.put("supplierName",tbsCostApply.getSupplierName());
data.put("supplierCode",tbsCostApply.getSupplierCode()); data.put("supplierCode",tbsCostApply.getSupplierCode());
data.put("title",tbsCostApply.getChargeTheme()); data.put("title",tbsCostApply.getChargeTheme());
data.put("rowDate",DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME)); data.put("rowDate",DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME2));
data.put("rowState","03"); data.put("rowState","03");
data.put("orgId",tbsCostApply.getId()); data.put("orgId",tbsCostApply.getId());
data.put("targetId",tbsCostApply.getId()); data.put("targetId",tbsCostApply.getId());

14
src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.framework.redis.RedisService; import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.framework.security.model.LoginUser; import com.qs.serve.common.framework.security.model.LoginUser;
import com.qs.serve.common.framework.security.model.LoginUserType; import com.qs.serve.common.framework.security.model.LoginUserType;
import com.qs.serve.common.framework.security.service.SysUserDetailsServiceImpl;
import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.LimitSubmit;
import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.consts.RedisCacheKeys; import com.qs.serve.common.model.consts.RedisCacheKeys;
@ -24,6 +25,7 @@ import com.qs.serve.modules.wx.entity.dto.WxPhoneBindParam;
import com.qs.serve.modules.wx.service.WxUserService; import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
@ -46,6 +48,8 @@ public class WxSvcUserApi {
private RedisService redisService; private RedisService redisService;
private SysUserService sysUserService; private SysUserService sysUserService;
private TencentYunSmsService tencentYunSmsService; private TencentYunSmsService tencentYunSmsService;
private SysUserDetailsServiceImpl userDetailsService;
/** /**
* 用户信息 * 用户信息
*/ */
@ -53,11 +57,11 @@ public class WxSvcUserApi {
public R<?> info(){ public R<?> info(){
WxUser wxUser = wxUserService.getCurrentWxUser(true); WxUser wxUser = wxUserService.getCurrentWxUser(true);
if(StringUtils.hasText(wxUser.getSysUserId())){ if(StringUtils.hasText(wxUser.getSysUserId())){
LoginUser loginUser = AuthContextUtils.getLoginUser(); SysUser sysUser = sysUserService.getById(wxUser.getSysUserId());
if(loginUser!=null&&loginUser.getUserId()!=null){ if(sysUser!=null){
SysUser sysUser = sysUserService.getById(loginUser.getUserId()); LoginUser userDetails = userDetailsService.buildLoginUser(sysUser);
sysUser.setAuthorIds(loginUser.getAuthorIds()); sysUser.setAuthorIds(userDetails.getAuthorIds());
sysUser.setAuthorList(loginUser.getAuthorList()); sysUser.setAuthorList(userDetails.getAuthorList());
SysUserVo sysUserVo = sysUser.toSysUserVo(false); SysUserVo sysUserVo = sysUser.toSysUserVo(false);
wxUser.setSysUserInfo(sysUserVo); wxUser.setSysUserInfo(sysUserVo);
} }

1
src/main/resources/mapper/sys/SysUserMapper.xml

@ -57,6 +57,7 @@
left join sys_user_role sys_user_role ON sys_user_role.user_id = sys_user.id left join sys_user_role sys_user_role ON sys_user_role.user_id = sys_user.id
</if> </if>
<where> <where>
and sys_user.del_flag = '0'
<if test="query.id != null and query.id != ''"> and sys_user.id = #{query.id}</if> <if test="query.id != null and query.id != ''"> and sys_user.id = #{query.id}</if>
<if test="query.mobile != null and query.mobile != ''"> and sys_user.mobile = #{query.mobile}</if> <if test="query.mobile != null and query.mobile != ''"> and sys_user.mobile = #{query.mobile}</if>
<if test="query.account != null and query.account != ''"> and sys_user.account = #{query.account}</if> <if test="query.account != null and query.account != ''"> and sys_user.account = #{query.account}</if>

Loading…
Cancel
Save