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. 20
      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 {
DATE_TIME("yyyy-MM-dd HH:mm:ss"),
DATE_TIME2("yyyy-MM-dd HH:mm:ss.000"),
DATE_TIME_NUM("yyyyMMddHHmmss"),
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.security.model.LoginUser;
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.consts.RedisCacheKeys;
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.InterType;
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.service.SysUserService;
import com.qs.serve.modules.wx.entity.WxUser;
import com.qs.serve.modules.wx.entity.dto.WxLoginUser;
import com.qs.serve.modules.wx.service.WxUserService;
import lombok.AllArgsConstructor;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@ -43,8 +49,11 @@ public class WxSvcLoginApi {
private final RedisService redisService;
private final SysUserDetailsServiceImpl userDetailsService;
private final SysTenantMapper sysTenantMapper;
private SysUserService sysUserService;
/**
* 公众号登录
@ -86,6 +95,12 @@ public class WxSvcLoginApi {
tokenMap.put("client",client);
//关联
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);
}

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

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

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

@ -481,8 +481,8 @@ public class TbsBudgetApplicationService {
String centerType = activityCostItem.getCenterType();
/* 科目条件优先级最高 */
List<TbsScheduleItemBudget> scheduleItemBudgets = activity.getScheduleItemBudgetList();
for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) {
for (TbsBudget budget : currentItemBudgetList) {
for (TbsScheduleItemBudget scheduleItemBudget : scheduleItemBudgets) {
if(!budget.getCenterId().equals(centerId) ||
!budget.getCenterType().equals(centerType) ){
continue;
@ -587,7 +587,7 @@ public class TbsBudgetApplicationService {
Set<String> levelPathSet = new LinkedHashSet<>();
levelPathSet.add(levelPath);
TbsBudgetCostUtil.buildPaths(levelPath,levelPathSet);
List<TbsBudget> currentItemBudgetList = new ArrayList<>();
List<TbsBudgetCondition> budgetConditionList = new ArrayList<>();
for (TbsBudget budget : budgetList) {
if(budget.getConditionFlag().equals(1)){
List<TbsBudgetCondition> budgetConditionListByBudget = budget.getBudgetConditionList();
@ -596,7 +596,7 @@ public class TbsBudgetApplicationService {
if(unMatch){
for (TbsBudgetCondition budgetCondition : budgetConditionListByBudget) {
if(budgetCondition.getTargetLevelPathIds().contains(conditionString)){
currentItemBudgetList.add(budget);
budgetConditionList.add(budgetCondition);
unMatch = false;
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;
}

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

@ -24,7 +24,7 @@ public class TbsBudgetConditionServiceImpl extends ServiceImpl<TbsBudgetConditio
@Override
public List<TbsBudgetCondition> getByBudgetId(Long budgetId) {
LambdaQueryWrapper<TbsBudgetCondition> lqw = new LambdaQueryWrapper<>();
lqw.le(TbsBudgetCondition::getBudgetId,budgetId);
lqw.eq(TbsBudgetCondition::getBudgetId,budgetId);
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("supplierCode",tbsCostApply.getSupplierCode());
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("orgId",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.security.model.LoginUser;
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.SysLog;
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 lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -46,6 +48,8 @@ public class WxSvcUserApi {
private RedisService redisService;
private SysUserService sysUserService;
private TencentYunSmsService tencentYunSmsService;
private SysUserDetailsServiceImpl userDetailsService;
/**
* 用户信息
*/
@ -53,11 +57,11 @@ public class WxSvcUserApi {
public R<?> info(){
WxUser wxUser = wxUserService.getCurrentWxUser(true);
if(StringUtils.hasText(wxUser.getSysUserId())){
LoginUser loginUser = AuthContextUtils.getLoginUser();
if(loginUser!=null&&loginUser.getUserId()!=null){
SysUser sysUser = sysUserService.getById(loginUser.getUserId());
sysUser.setAuthorIds(loginUser.getAuthorIds());
sysUser.setAuthorList(loginUser.getAuthorList());
SysUser sysUser = sysUserService.getById(wxUser.getSysUserId());
if(sysUser!=null){
LoginUser userDetails = userDetailsService.buildLoginUser(sysUser);
sysUser.setAuthorIds(userDetails.getAuthorIds());
sysUser.setAuthorList(userDetails.getAuthorList());
SysUserVo sysUserVo = sysUser.toSysUserVo(false);
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
</if>
<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.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>

Loading…
Cancel
Save