Browse Source

致远跳转;政策调试;报表VO;

contract
Yen 2 years ago
parent
commit
1d0fd9dde9
  1. 23
      src/main/java/com/qs/serve/common/config/properties/ProjectProperties.java
  2. 19
      src/main/java/com/qs/serve/common/model/chart/BiCommonCounter.java
  3. 15
      src/main/java/com/qs/serve/common/model/chart/BiMonthCounter.java
  4. 39
      src/main/java/com/qs/serve/common/model/chart/ChartAxisColumn.java
  5. 148
      src/main/java/com/qs/serve/common/model/chart/ChartDataVo.java
  6. 18
      src/main/java/com/qs/serve/common/model/chart/ChartGroupItem.java
  7. 26
      src/main/java/com/qs/serve/common/model/chart/ChartSeriesItem.java
  8. 75
      src/main/java/com/qs/serve/common/model/chart/PrintChart.java
  9. 19
      src/main/java/com/qs/serve/common/util/JumpToUtil.java
  10. 30
      src/main/java/com/qs/serve/controller/AdminPortalController.java
  11. 27
      src/main/java/com/qs/serve/controller/dto/SyLoginParam.java
  12. 22
      src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java
  13. 2
      src/main/java/com/qs/serve/modules/bir/mapper/BirRoiRateMapper.java
  14. 2
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java
  15. 2
      src/main/java/com/qs/serve/modules/erp/mapper/ErpDispatchDataMapper.java
  16. 2
      src/main/java/com/qs/serve/modules/sys/service/SysUserLoginService.java
  17. 2
      src/main/java/com/qs/serve/modules/sys/service/SysUserService.java
  18. 12
      src/main/java/com/qs/serve/modules/sys/service/impl/SysUserLoginServiceImpl.java
  19. 7
      src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java
  20. 7
      src/main/java/com/qs/serve/modules/tbs/common/dto/CostSortWrapper.java
  21. 18
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  22. 39
      src/main/java/com/qs/serve/modules/tzc/common/dto/PolicySortWrapper.java
  23. 8
      src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java
  24. 2
      src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java
  25. 8
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java
  26. 4
      src/main/java/com/qs/serve/task/HisTask.java
  27. 3
      src/main/resources/application-dev.yml
  28. 1
      src/main/resources/application.yml
  29. 4
      src/main/resources/mapper/bir/BirRoiRateMapper.xml
  30. 2
      src/main/resources/mapper/erp/ErpDispatchDataMapper.xml

23
src/main/java/com/qs/serve/common/config/properties/ProjectProperties.java

@ -0,0 +1,23 @@
package com.qs.serve.common.config.properties;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @Author: YenHex
* @Date: 2021/3/3
* @Version: 1.0
**/
@Getter
@Setter
@Component
@ConfigurationProperties(prefix = "project")
public class ProjectProperties {
private String hostUrl;
private String webUrl;
}

19
src/main/java/com/qs/serve/common/model/chart/BiCommonCounter.java

@ -0,0 +1,19 @@
package com.qs.serve.common.model.chart;
import lombok.Data;
/**
* @author YenHex
* @since 2023/6/7
*/
@Data
public class BiCommonCounter {
/**
* 横轴下标的ID
*/
private String label;
private Long counts;
}

15
src/main/java/com/qs/serve/common/model/chart/BiMonthCounter.java

@ -0,0 +1,15 @@
package com.qs.serve.common.model.chart;
import lombok.Data;
/**
* @author YenHex
* @since 2023/6/7
*/
@Data
public class BiMonthCounter {
private String months;
private Long counts;
}

39
src/main/java/com/qs/serve/common/model/chart/ChartAxisColumn.java

@ -0,0 +1,39 @@
package com.qs.serve.common.model.chart;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author YenHex
* @since 2023/6/7
*/
@Data
public class ChartAxisColumn {
/** 列Id */
String columnId;
/** 列名 */
String columnName;
/** 系列坐标值合计 */
Double total;
public static List<ChartAxisColumn> buildMonthsOfYear(){
List<ChartAxisColumn> axisColumnList = new ArrayList<>();
for (long i = 1; i < 13; i++) {
ChartAxisColumn axisColumn = new ChartAxisColumn();
if(i>9){
axisColumn.setColumnId(i+"");
}else {
axisColumn.setColumnId("0"+i);
}
axisColumn.setColumnName(i+"月");
axisColumnList.add(axisColumn);
}
return axisColumnList;
}
}

148
src/main/java/com/qs/serve/common/model/chart/ChartDataVo.java

@ -0,0 +1,148 @@
package com.qs.serve.common.model.chart;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author YenHex
* @since 2023/6/7
*/
@Data
public class ChartDataVo {
/**
* 饼状图的主要参数
*/
List<ChartAxisColumn> axisColumnList;
/**
* 系列
*/
List<ChartSeriesItem> seriesItemList;
/**
* 分组
*/
List<ChartGroupItem> groupItemList;
public void initAxisColumnTotal(){
for (int i = 0; i < axisColumnList.size(); i++) {
ChartAxisColumn axisColumn = axisColumnList.get(i);
BigDecimal total = BigDecimal.ZERO;
if(seriesItemList!=null&&seriesItemList.size()>0){
for (ChartSeriesItem seriesItem : seriesItemList) {
double value = seriesItem.getValues().get(i);
total = total.add(new BigDecimal(value+""));
}
}
axisColumn.setTotal(total.doubleValue());
}
}
public static ChartDataVo buildStateChartData(List<BiCommonCounter> stateCounterList, Map<String,String> stateMap){
ChartDataVo chartDataVo = new ChartDataVo();
List<ChartAxisColumn> axisColumnList = new ArrayList<>();
List<ChartSeriesItem> seriesItemList = new ArrayList<>();
List<ChartGroupItem> groupItemList = new ArrayList<>();
ChartGroupItem groupItem = new ChartGroupItem();
groupItem.setGroupId(100L);
groupItem.setGroupName("默认");
groupItemList.add(groupItem);
for (String stateNum : stateMap.keySet()) {
String label = stateMap.get(stateNum);
ChartAxisColumn axisColumn = new ChartAxisColumn();
axisColumn.setColumnId(stateNum);
axisColumn.setColumnName(label);
axisColumnList.add(axisColumn);
}
List<Double> values = new ArrayList<>();
for (ChartAxisColumn chartAxisColumn : axisColumnList) {
Double currVal = 0.0;
for (BiCommonCounter counter : stateCounterList) {
if(chartAxisColumn.getColumnId().equals(counter.getLabel())){
currVal = counter.getCounts().doubleValue();
break;
}
}
values.add(currVal);
}
ChartSeriesItem seriesItem = new ChartSeriesItem();
seriesItem.setGroupId(groupItem.getGroupId());
seriesItem.setGroupName(groupItem.getGroupName());
seriesItem.setValues(values);
seriesItemList.add(seriesItem);
//更新total
chartDataVo.setAxisColumnList(axisColumnList);
chartDataVo.setGroupItemList(groupItemList);
chartDataVo.setSeriesItemList(seriesItemList);
chartDataVo.initAxisColumnTotal();
return chartDataVo;
}
public void tes(){
}
public void buildStateMap(Map<String,String> stateMap){
init();
for (String stateNum : stateMap.keySet()) {
String label = stateMap.get(stateNum);
ChartAxisColumn axisColumn = new ChartAxisColumn();
axisColumn.setColumnId(stateNum);
axisColumn.setColumnName(label);
this.axisColumnList.add(axisColumn);
}
}
public void buildStateMapOfMonths(){
init();
this.axisColumnList = ChartAxisColumn.buildMonthsOfYear();
}
/**
* 先调用buildStateMap
* @param groupId
* @param groupName
* @param stateCounterList
*/
public void addData(Long groupId,String groupName,List<BiCommonCounter> stateCounterList){
ChartGroupItem groupItem = new ChartGroupItem();
groupItem.setGroupId(groupId);
groupItem.setGroupName(groupName);
groupItemList.add(groupItem);
List<Double> values = new ArrayList<>();
for (ChartAxisColumn chartAxisColumn : axisColumnList) {
Double currVal = 0.0;
for (BiCommonCounter counter : stateCounterList) {
if(chartAxisColumn.getColumnId().equals(counter.getLabel())){
currVal = counter.getCounts().doubleValue();
break;
}
}
values.add(currVal);
}
ChartSeriesItem seriesItem = new ChartSeriesItem();
seriesItem.setGroupId(groupItem.getGroupId());
seriesItem.setGroupName(groupItem.getGroupName());
seriesItem.setValues(values);
seriesItemList.add(seriesItem);
this.initAxisColumnTotal();
}
private void init(){
if(axisColumnList==null){
axisColumnList = new ArrayList<>();
}
if(seriesItemList==null){
seriesItemList = new ArrayList<>();
}
if(groupItemList==null){
groupItemList = new ArrayList<>();
}
}
}

18
src/main/java/com/qs/serve/common/model/chart/ChartGroupItem.java

@ -0,0 +1,18 @@
package com.qs.serve.common.model.chart;
import lombok.Data;
/**
* @author YenHex
* @since 2023/6/7
*/
@Data
public class ChartGroupItem {
/** 组id */
private Long groupId;
/** 组名 */
private String groupName;
}

26
src/main/java/com/qs/serve/common/model/chart/ChartSeriesItem.java

@ -0,0 +1,26 @@
package com.qs.serve.common.model.chart;
import lombok.Data;
import java.util.List;
/**
* @author YenHex
* @since 2023/6/7
*/
@Data
public class ChartSeriesItem {
/** 组id */
Long groupId;
/** 组名 */
String groupName;
/**
* 值列表(列对应axisColumns)
*/
List<Double> values;
}

75
src/main/java/com/qs/serve/common/model/chart/PrintChart.java

@ -0,0 +1,75 @@
package com.qs.serve.common.model.chart;
import com.qs.serve.common.util.JsonUtil;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**
* @author YenHex
* @since 2023/2/17
*/
public class PrintChart {
public static void main(String[] args) {
//eg. 统计最近5年入学人数,并区分男女数量
ChartDataVo chartDataVo = new ChartDataVo();
List<ChartAxisColumn> axisColumnList = new ArrayList<>();
List<ChartSeriesItem> seriesItemList = new ArrayList<>();
List<ChartGroupItem> groupItemList = new ArrayList<>();
ChartGroupItem groupItem = new ChartGroupItem();
groupItem.setGroupId(100L);
groupItem.setGroupName("男学生");
groupItemList.add(groupItem);
ChartGroupItem groupItem2 = new ChartGroupItem();
groupItem2.setGroupId(200L);
groupItem2.setGroupName("女学生");
groupItemList.add(groupItem2);
for (long i = 1; i <= 5; i++) {
ChartAxisColumn axisColumn = new ChartAxisColumn();
axisColumn.setColumnId(i+"");
axisColumn.setColumnName("202"+i+"年");
axisColumnList.add(axisColumn);
}
Random random = new Random();
for (ChartGroupItem chartGroupItem : groupItemList) {
ChartSeriesItem seriesItem = new ChartSeriesItem();
seriesItem.setGroupId(chartGroupItem.getGroupId());
seriesItem.setGroupName(chartGroupItem.getGroupName());
List<Double> values = new ArrayList<>();
for (int i = 0; i < axisColumnList.size(); i++) {
double result = random.nextInt(1000)+3000;
values.add(result);
}
seriesItem.setValues(values);
seriesItemList.add(seriesItem);
}
//更新total
for (int i = 0; i < axisColumnList.size(); i++) {
ChartAxisColumn axisColumn = axisColumnList.get(i);
BigDecimal total = BigDecimal.ZERO;
for (ChartSeriesItem seriesItem : seriesItemList) {
double value = seriesItem.getValues().get(i);
total = total.add(new BigDecimal(value+""));
}
axisColumn.setTotal(total.doubleValue());
}
chartDataVo.setAxisColumnList(axisColumnList);
chartDataVo.setGroupItemList(groupItemList);
chartDataVo.setSeriesItemList(seriesItemList);
String v = JsonUtil.objectToJson(chartDataVo);
System.out.println(v);
}
}

19
src/main/java/com/qs/serve/common/util/JumpToUtil.java

@ -0,0 +1,19 @@
package com.qs.serve.common.util;
import lombok.experimental.UtilityClass;
/**
* @author YenHex
* @since 2023/6/8
*/
@UtilityClass
public class JumpToUtil {
public static String getUrl(String host, String templateCode, String key) {
return host+ "/portal/syKeyLogin?" +
"templateCode="+templateCode+
"&key="+key+
"&syId=";
}
}

30
src/main/java/com/qs/serve/controller/AdminPortalController.java

@ -2,6 +2,7 @@ package com.qs.serve.controller;
import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.SecureUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.framework.redis.RedisService; import com.qs.serve.common.framework.redis.RedisService;
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;
@ -9,6 +10,7 @@ import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.util.IdUtil; import com.qs.serve.common.util.IdUtil;
import com.qs.serve.controller.dto.SyLoginParam;
import com.qs.serve.modules.sys.entity.SysTenant; import com.qs.serve.modules.sys.entity.SysTenant;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.entity.dto.SysLoginByPhoneParam; import com.qs.serve.modules.sys.entity.dto.SysLoginByPhoneParam;
@ -24,7 +26,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -44,6 +48,7 @@ public class AdminPortalController {
private SysUserLoginService sysUserLoginService; private SysUserLoginService sysUserLoginService;
private RedisService redisService; private RedisService redisService;
private SysUserService sysUserService; private SysUserService sysUserService;
private ProjectProperties projectProperties;
/** /**
* 获取所有租户 * 获取所有租户
@ -55,6 +60,31 @@ public class AdminPortalController {
return R.ok(list); return R.ok(list);
} }
/**
* 致远远程跳转接口
* @param param
* @param response
* @throws IOException
*/
@GetMapping("/syKeyLogin")
public void getList(SyLoginParam param, HttpServletResponse response) throws IOException {
String templateCode = param.getTemplateCode();
String key = param.getKey();
String syId = param.getSyId();
//通过类型和key获取审批id
String targetId = "";
//通过syId生成token
String token = sysUserLoginService.loginBySyUserId(syId);
if(token==null){
response.sendRedirect(projectProperties.getWebUrl()+"/#/login?");
}else {
//todo 获取跳转地址
String jumpUrl = "/#/expense-application-detail?id="+targetId;
String fontUrl = projectProperties.getWebUrl() + "/#/jump?code=001&token="+token+"&jumpTo="+jumpUrl;
response.sendRedirect(fontUrl);
}
}
/** /**
* 登录接口 * 登录接口
* @return * @return

27
src/main/java/com/qs/serve/controller/dto/SyLoginParam.java

@ -0,0 +1,27 @@
package com.qs.serve.controller.dto;
import lombok.Data;
/**
* @author YenHex
* @since 2023/6/8
*/
@Data
public class SyLoginParam {
/**
* 模板编码
*/
private String templateCode;
/**
* 表单data的exsp5字段值
*/
private String key;
/**
* 致远员工id
*/
private String syId;
}

22
src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java

@ -57,7 +57,6 @@ public class BirRoiRateController {
} }
/** /**
* 获取费率 * 获取费率
* @param param * @param param
@ -66,26 +65,7 @@ public class BirRoiRateController {
@RepeatSubmit @RepeatSubmit
@GetMapping("/costYearMonth") @GetMapping("/costYearMonth")
public R<List<BirRoiCostItemVo>> getCostRoiOfYearMonth(BirCostRoiSo param){ public R<List<BirRoiCostItemVo>> getCostRoiOfYearMonth(BirCostRoiSo param){
List<BirRoiCostItemVo> list = new ArrayList<>(); return R.ok(birRoiRateService.getCostRoiOfYearMonth(param));
BirRoiCostItemVo itemVo = new BirRoiCostItemVo();
itemVo.setYearMonth(202301);
itemVo.setYearMonthDate(LocalDate.of(2023,1,1));
itemVo.setCostAmt(BigDecimal.ZERO);
itemVo.setCheckAmt(BigDecimal.ZERO);
itemVo.setReturnAmt(BigDecimal.ONE);
itemVo.setDispatchAmt(BigDecimal.ZERO);
BirRoiCostItemVo itemVo2 = new BirRoiCostItemVo();
itemVo2.setYearMonth(202302);
itemVo2.setYearMonthDate(LocalDate.of(2023,2,1));
itemVo2.setCostAmt(new BigDecimal(100));
itemVo2.setCheckAmt(new BigDecimal(80));
itemVo2.setReturnAmt(BigDecimal.ONE);
itemVo2.setDispatchAmt(new BigDecimal(60));
list.add(itemVo2);
list.add(itemVo);
return R.ok(list);
} }

2
src/main/java/com/qs/serve/modules/bir/mapper/BirRoiRateMapper.java

@ -1,5 +1,6 @@
package com.qs.serve.modules.bir.mapper; package com.qs.serve.modules.bir.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.bir.entity.BirRoiRate; import com.qs.serve.modules.bir.entity.BirRoiRate;
import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO; import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO;
@ -15,6 +16,7 @@ import java.util.List;
*/ */
public interface BirRoiRateMapper extends BaseMapper<BirRoiRate> { public interface BirRoiRateMapper extends BaseMapper<BirRoiRate> {
@InterceptorIgnore(tenantLine = "1")
List<BirRoiCostItemVo> queryRoiCostItems(@Param("query") BirRoiCostDTO param); List<BirRoiCostItemVo> queryRoiCostItems(@Param("query") BirRoiCostDTO param);
} }

2
src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java

@ -90,7 +90,7 @@ public class BmsChannelPointServiceImpl extends ServiceImpl<BmsChannelPointMappe
masterUser.setChannelCode(channel.getChannelCode()); masterUser.setChannelCode(channel.getChannelCode());
masterUser.setPointCode(channelPoint.getPointCode()); masterUser.setPointCode(channelPoint.getPointCode());
masterUser.setPointName(channelPoint.getPointName()); masterUser.setPointName(channelPoint.getPointName());
masterUser.setUserId(sysUser.getSyUserId()); masterUser.setUserId(sysUser.getId());
masterUser.setUserName(sysUser.getName()); masterUser.setUserName(sysUser.getName());
masterUser.setUserCode(sysUser.getCode()); masterUser.setUserCode(sysUser.getCode());
bmsMasterUserMapper.insert(masterUser); bmsMasterUserMapper.insert(masterUser);

2
src/main/java/com/qs/serve/modules/erp/mapper/ErpDispatchDataMapper.java

@ -1,5 +1,6 @@
package com.qs.serve.modules.erp.mapper; package com.qs.serve.modules.erp.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.erp.entity.ErpDispatchData; import com.qs.serve.modules.erp.entity.ErpDispatchData;
import com.qs.serve.modules.erp.entity.dto.ErpDispatchSumVo; import com.qs.serve.modules.erp.entity.dto.ErpDispatchSumVo;
@ -21,6 +22,7 @@ public interface ErpDispatchDataMapper extends BaseMapper<ErpDispatchData> {
* @param cusCodes * @param cusCodes
* @return * @return
*/ */
@InterceptorIgnore(tenantLine = "1")
List<ErpDispatchSumVo> querySumCost(@Param("startNumber")Integer startNumber, List<ErpDispatchSumVo> querySumCost(@Param("startNumber")Integer startNumber,
@Param("endNumber")Integer endNumber, @Param("endNumber")Integer endNumber,
@Param("cusCodes")List<String> cusCodes); @Param("cusCodes")List<String> cusCodes);

2
src/main/java/com/qs/serve/modules/sys/service/SysUserLoginService.java

@ -21,6 +21,8 @@ public interface SysUserLoginService {
Map<String,Object> login(String loginCode); Map<String,Object> login(String loginCode);
String loginBySyUserId(String syUserId);
/** /**
* 手机登陆 * 手机登陆
* @param loginParam * @param loginParam

2
src/main/java/com/qs/serve/modules/sys/service/SysUserService.java

@ -26,6 +26,8 @@ public interface SysUserService extends IService<SysUser> {
SysUser getByIdentityNo(String acc); SysUser getByIdentityNo(String acc);
SysUser getBySyId(String acc);
LoginUser getLoginUserByAccount(String account); LoginUser getLoginUserByAccount(String account);
LoginUser getLoginUserById(String id); LoginUser getLoginUserById(String id);

12
src/main/java/com/qs/serve/modules/sys/service/impl/SysUserLoginServiceImpl.java

@ -67,6 +67,18 @@ public class SysUserLoginServiceImpl implements SysUserLoginService {
return buildResultMap(userDetails, "sso", null); return buildResultMap(userDetails, "sso", null);
} }
@Override
public String loginBySyUserId(String syUserId) {
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysUser::getSyUserId,syUserId);
List<SysUser> userList = sysUserMapper.selectList(wrapper);
if(userList.size()==1){
UserDetails userDetails = userDetailsService.buildLoginUser(userList.get(0));
return buildResultMap(userDetails, "sy", "").get("token").toString();
}
return null;
}
@Override @Override
public Map<String, Object> login(SysLoginByPhoneParam loginParam) { public Map<String, Object> login(SysLoginByPhoneParam loginParam) {
String key = RedisCacheKeys.PHONE_KEY+loginParam.getPhone(); String key = RedisCacheKeys.PHONE_KEY+loginParam.getPhone();

7
src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java

@ -60,6 +60,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return getOne(wrapper,false); return getOne(wrapper,false);
} }
@Override
public SysUser getBySyId(String acc) {
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysUser::getSyUserId,acc);
return getOne(wrapper,false);
}
@Override @Override
public LoginUser getLoginUserByAccount(String account) { public LoginUser getLoginUserByAccount(String account) {
SysUser sysUser = getByAccount(account); SysUser sysUser = getByAccount(account);

7
src/main/java/com/qs/serve/modules/tbs/common/dto/CostSortWrapper.java

@ -36,6 +36,13 @@ public class CostSortWrapper {
public void putActivityCostCondition(Long activityId, List<TbsBudgetCondition> list){ public void putActivityCostCondition(Long activityId, List<TbsBudgetCondition> list){
activityCostConditionsOfSort.put(activityId,list); activityCostConditionsOfSort.put(activityId,list);
// List<TbsBudgetCondition> lastList = activityCostConditionsOfSort.get(activityId);
// if(lastList == null){
// activityCostConditionsOfSort.put(activityId, list);
// }else {
// lastList.addAll(list);
// activityCostConditionsOfSort.put(activityId,lastList);
// }
} }
/** /**

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

@ -2,6 +2,7 @@ package com.qs.serve.modules.tbs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; import com.qs.serve.common.model.consts.BudgetLogRollbackFlag;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
@ -58,6 +59,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private TbsActivityPayConditionMapper tbsActivityPayConditionMapper; private TbsActivityPayConditionMapper tbsActivityPayConditionMapper;
private TbsActivityMapper tbsActivityMapper; private TbsActivityMapper tbsActivityMapper;
private ProjectProperties projectProperties;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -74,6 +76,11 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
Assert.throwEx("当前模板已停用"); Assert.throwEx("当前模板已停用");
} }
} }
//相关活动
LambdaQueryWrapper<TbsActivity> actLqw = new LambdaQueryWrapper<>();
actLqw.eq(TbsActivity::getCostApplyId,id);
List<TbsActivity> activityList = tbsActivityMapper.selectList(actLqw);
if(tbsCostApply.getContractFlag()!=null&&tbsCostApply.getContractFlag().equals(1)){ if(tbsCostApply.getContractFlag()!=null&&tbsCostApply.getContractFlag().equals(1)){
LambdaQueryWrapper<TbsActivityPayCondition> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsActivityPayCondition> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsActivityPayCondition::getCostApplyId,id); lqw.eq(TbsActivityPayCondition::getCostApplyId,id);
@ -82,9 +89,6 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
Assert.throwEx("请补充支付条件"); Assert.throwEx("请补充支付条件");
} }
//暂且只有一个协议申请,只有一个活动,后续可能要改 //暂且只有一个协议申请,只有一个活动,后续可能要改
LambdaQueryWrapper<TbsActivity> actLqw = new LambdaQueryWrapper<>();
actLqw.eq(TbsActivity::getCostApplyId,id);
List<TbsActivity> activityList = tbsActivityMapper.selectList(actLqw);
if(activityList.size()>1){ if(activityList.size()>1){
Assert.throwEx("协议类申请出现多条活动,请联系管理员"); Assert.throwEx("协议类申请出现多条活动,请联系管理员");
}else if (activityList.size()<1){ }else if (activityList.size()<1){
@ -115,6 +119,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
//恢复绑定 //恢复绑定
this.releaseCost(tbsCostApply.getId(),0); this.releaseCost(tbsCostApply.getId(),0);
Map<String, Object> data = new HashMap<>(10); Map<String, Object> data = new HashMap<>(10);
String actTitles = activityList.stream().map(TbsActivity::getActTitle).collect(Collectors.joining("; "));
data.put("applyUserCode",sysUser.getCode()); data.put("applyUserCode",sysUser.getCode());
data.put("applyUserName",sysUser.getName()); data.put("applyUserName",sysUser.getName());
data.put("supplierName",tbsCostApply.getSupplierName()); data.put("supplierName",tbsCostApply.getSupplierName());
@ -126,7 +131,12 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
data.put("targetId",tbsCostApply.getId()+""); data.put("targetId",tbsCostApply.getId()+"");
data.put("targetCode",tbsCostApply.getCode()); data.put("targetCode",tbsCostApply.getCode());
data.put("exsp1",TbsSeeYonConst.CostApplyConf.Code()); data.put("exsp1",TbsSeeYonConst.CostApplyConf.Code());
data.put("cmsLink",IdUtil.getSnowFlakeId()); //添加跳转地址业务
String urlKey = "exsp5"+IdUtil.simpleUUID();
String baseJumpUrl = JumpToUtil.getUrl(projectProperties.getHostUrl(),TbsSeeYonConst.CostApplyConf.Code(),urlKey);
data.put("exsp5",urlKey);
data.put("cmsLink",baseJumpUrl);
data.put("activitySummary",actTitles);
//添加科目和成本中心 //添加科目和成本中心
List<TbsActivityCenter> tbsActivityCenters = tbsActivityCenterService.listByCostApplyId(Long.parseLong(id)); List<TbsActivityCenter> tbsActivityCenters = tbsActivityCenterService.listByCostApplyId(Long.parseLong(id));
List<TbsActivitySubject> tbsActivitySubjects = tbsActivitySubjectService.listByCostApplyId(Long.parseLong(id)); List<TbsActivitySubject> tbsActivitySubjects = tbsActivitySubjectService.listByCostApplyId(Long.parseLong(id));

39
src/main/java/com/qs/serve/modules/tzc/common/dto/PolicySortWrapper.java

@ -17,14 +17,33 @@ import java.util.stream.Collectors;
@Data @Data
public class PolicySortWrapper { public class PolicySortWrapper {
/**
* 有科目的预算id
*/
Set<Long> budgetSet4Subject = new HashSet<>(); Set<Long> budgetSet4Subject = new HashSet<>();
/**
* 没有科目的预算id
*/
Set<Long> budgetSet4NoSubject = new HashSet<>(); Set<Long> budgetSet4NoSubject = new HashSet<>();
/**
* 有条件的预算id
*/
Set<Long> budgetSet4Condition = new HashSet<>(); Set<Long> budgetSet4Condition = new HashSet<>();
Set<Long> budgetSet4NoCondition = new HashSet<>();
/**
* 无条件的预算id
*/
Set<Long> budgetSet4NoCondition = new HashSet<>();
/**
* key->政策项id
* value->满足政策项的条件列表
*/
Map<Long,List<TbsBudgetCondition>> policyItemCostConditionsOfSort = new HashMap<>(); Map<Long,List<TbsBudgetCondition>> policyItemCostConditionsOfSort = new HashMap<>();
Map<Long,List<Long>> policyItemAllowBudgetId; Map<Long,List<Long>> policyItemAllowBudgetId;
/** /**
@ -36,6 +55,24 @@ public class PolicySortWrapper {
public void putPolicyItemCondition(Long policyItemId, List<TbsBudgetCondition> list){ public void putPolicyItemCondition(Long policyItemId, List<TbsBudgetCondition> list){
policyItemCostConditionsOfSort.put(policyItemId, list); policyItemCostConditionsOfSort.put(policyItemId, list);
// List<TbsBudgetCondition> lastList = policyItemCostConditionsOfSort.get(policyItemId);
// if(lastList!=null&&lastList.size()>0){
// for (TbsBudgetCondition condition : list) {
// boolean exist = false;
// for (TbsBudgetCondition budgetCondition : lastList) {
// if(budgetCondition.getId().equals(condition.getId())){
// exist = true;
// break;
// }
// }
// if (!exist){
// lastList.add(condition);
// }
// }
// policyItemCostConditionsOfSort.put(policyItemId, lastList);
// }else {
// policyItemCostConditionsOfSort.put(policyItemId, list);
// }
} }
/** /**

8
src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java

@ -1,6 +1,7 @@
package com.qs.serve.modules.tzc.service.impl; package com.qs.serve.modules.tzc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; import com.qs.serve.common.model.consts.BudgetLogRollbackFlag;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
@ -80,6 +81,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private GoodsSkuService goodsSkuService; private GoodsSkuService goodsSkuService;
private XiaoLuTonService xiaoLuTonService; private XiaoLuTonService xiaoLuTonService;
private ProjectProperties projectProperties;
@Override @Override
public void syncPolicyItem(Long policyItemId) { public void syncPolicyItem(Long policyItemId) {
@ -163,6 +165,12 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ
data.put("targetId",tzcPolicy.getId()); data.put("targetId",tzcPolicy.getId());
data.put("targetCode",tzcPolicy.getPolicyCode()); data.put("targetCode",tzcPolicy.getPolicyCode());
data.put("exsp1", TbsSeeYonConst.PolicyConf.Code()); data.put("exsp1", TbsSeeYonConst.PolicyConf.Code());
//添加跳转地址业务
String urlKey = "exsp5"+IdUtil.simpleUUID();
String baseJumpUrl = JumpToUtil.getUrl(projectProperties.getHostUrl(),TbsSeeYonConst.CostApplyConf.Code(),urlKey);
data.put("exsp5",urlKey);
data.put("cmsLink",baseJumpUrl);
BaseCreateProcessBo createProcess = new BaseCreateProcessBo(); BaseCreateProcessBo createProcess = new BaseCreateProcessBo();
createProcess.setTemplateCode(TbsSeeYonConst.PolicyConf.Code()); createProcess.setTemplateCode(TbsSeeYonConst.PolicyConf.Code());
createProcess.setMemberLoginName(sysUser.getSyAccount()); createProcess.setMemberLoginName(sysUser.getSyAccount());

2
src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java

@ -47,7 +47,7 @@ public class TzcPolicyOperationServiceImpl implements SeeYonOperationService {
@Override @Override
public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) { public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) {
TzcPolicy tzcPolicy = tzcPolicyService.getById(affairCommit.getPolicyId()); TzcPolicy tzcPolicy = tzcPolicyService.getById(affairCommit.getPolicyId());
if(tzcPolicy.getPolicyStatus().equals(TzcPolicyStatus.Status_1_Checking)){ if(!tzcPolicy.getPolicyStatus().equals(TzcPolicyStatus.Status_1_Checking)){
Assert.throwEx("当前政策状态不可审批"); Assert.throwEx("当前政策状态不可审批");
} }
return tzcPolicy.getSyFormId(); return tzcPolicy.getSyFormId();

8
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.vtb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.config.properties.ProjectProperties;
import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
@ -87,6 +88,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
private final SysUserService sysUserService; private final SysUserService sysUserService;
private final PayWayMapper payWayMapper; private final PayWayMapper payWayMapper;
private final ProjectProperties projectProperties;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -357,6 +359,12 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
data.put("targetCode",verification.getVerificationCode()); data.put("targetCode",verification.getVerificationCode());
data.put("exsp1",TbsSeeYonConst.CostCheckConf.Code()); data.put("exsp1",TbsSeeYonConst.CostCheckConf.Code());
data.put("jinE",verification.getAmount().toString()); data.put("jinE",verification.getAmount().toString());
//添加跳转地址业务
String urlKey = "exsp5"+IdUtil.simpleUUID();
String baseJumpUrl = JumpToUtil.getUrl(projectProperties.getHostUrl(),TbsSeeYonConst.CostApplyConf.Code(),urlKey);
data.put("exsp5",urlKey);
data.put("cmsLink",baseJumpUrl);
BaseCreateProcessBo createProcess = new BaseCreateProcessBo(); BaseCreateProcessBo createProcess = new BaseCreateProcessBo();
createProcess.setTemplateCode(TbsSeeYonConst.CostCheckConf.Code()); createProcess.setTemplateCode(TbsSeeYonConst.CostCheckConf.Code());
createProcess.setMemberLoginName(sysUser.getSyAccount()); createProcess.setMemberLoginName(sysUser.getSyAccount());

4
src/main/java/com/qs/serve/task/HisTask.java

@ -28,9 +28,9 @@ public class HisTask {
HisUserSupplierTempService tempService; HisUserSupplierTempService tempService;
/** /**
* 每隔半小时执行一次,串行 * 数据处理10-15分钟每隔20分钟执行一次,串行
*/ */
@Scheduled(cron="0 0/30 * * * ?") @Scheduled(cron="0 0/20 * * * ?")
public void buildTempTable(){ public void buildTempTable(){
AuthContextUtils.setTenant("001"); AuthContextUtils.setTenant("001");
Integer opt = redisService.getInteger(RedisCacheKeys.HIS_UPDATE); Integer opt = redisService.getInteger(RedisCacheKeys.HIS_UPDATE);

3
src/main/resources/application-dev.yml

@ -1,5 +1,7 @@
#项目配置 #项目配置
project: project:
web_url: 'http://192.168.0.9:6031'
host_url: 'http://192.168.0.9:7400'
task: true task: true
dev: true dev: true
seeyon: seeyon:
@ -40,7 +42,6 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.0.9:3306/jsl_mall_qs_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true url: jdbc:mysql://192.168.0.9:3306/jsl_mall_qs_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: kpjsl username: kpjsl
#username: mpw:MN24AzePZ6U0rE61PbfX1A==
password: 123456 password: 123456
redis: redis:
database: 4 database: 4

1
src/main/resources/application.yml

@ -20,6 +20,7 @@ project:
- /callback - /callback
- /favicon.ico - /favicon.ico
- /error - /error
- /portal/syKeyLogin
permits: #忽略登录 permits: #忽略登录
- /thirty/** #第三方接口 - /thirty/** #第三方接口
- /common/upload #支持API上传调整 - /common/upload #支持API上传调整

4
src/main/resources/mapper/bir/BirRoiRateMapper.xml

@ -53,6 +53,8 @@
min( start_date ) AS year_month_date, min( start_date ) AS year_month_date,
sum(bir_base_activity.activity_total_amt) as cost_amt, sum(bir_base_activity.activity_total_amt) as cost_amt,
sum(bir_base_activity.verification_amt) as check_amt sum(bir_base_activity.verification_amt) as check_amt
FROM
`bir_base_activity`
<where> <where>
and bir_base_activity.key_num &gt;= #{query.startMonthNum} and bir_base_activity.key_num &gt;= #{query.startMonthNum}
and bir_base_activity.key_num &lt;= #{query.endMonthNum} and bir_base_activity.key_num &lt;= #{query.endMonthNum}
@ -76,8 +78,6 @@
</foreach> </foreach>
</if> </if>
</where> </where>
FROM
`bir_base_activity`
GROUP BY GROUP BY
`year_month` `year_month`
ORDER BY ORDER BY

2
src/main/resources/mapper/erp/ErpDispatchDataMapper.xml

@ -61,7 +61,7 @@
<foreach collection="cusCodes" item ="selectId" index="i" open="(" close=")" separator=","> <foreach collection="cusCodes" item ="selectId" index="i" open="(" close=")" separator=",">
#{selectId} #{selectId}
</foreach> </foreach>
GROUP BY `year_month` GROUP BY DATE_FORMAT(date,'%Y%m')
</select> </select>

Loading…
Cancel
Save