diff --git a/src/main/java/com/qs/serve/common/config/properties/ProjectProperties.java b/src/main/java/com/qs/serve/common/config/properties/ProjectProperties.java new file mode 100644 index 00000000..743f35db --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/qs/serve/common/model/chart/BiCommonCounter.java b/src/main/java/com/qs/serve/common/model/chart/BiCommonCounter.java new file mode 100644 index 00000000..3403a26e --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/qs/serve/common/model/chart/BiMonthCounter.java b/src/main/java/com/qs/serve/common/model/chart/BiMonthCounter.java new file mode 100644 index 00000000..ed23beaf --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/qs/serve/common/model/chart/ChartAxisColumn.java b/src/main/java/com/qs/serve/common/model/chart/ChartAxisColumn.java new file mode 100644 index 00000000..3f01cb94 --- /dev/null +++ b/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 buildMonthsOfYear(){ + List 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; + } + +} diff --git a/src/main/java/com/qs/serve/common/model/chart/ChartDataVo.java b/src/main/java/com/qs/serve/common/model/chart/ChartDataVo.java new file mode 100644 index 00000000..7346a6fc --- /dev/null +++ b/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 axisColumnList; + + /** + * 系列 + */ + List seriesItemList; + + /** + * 分组 + */ + List 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 stateCounterList, Map stateMap){ + ChartDataVo chartDataVo = new ChartDataVo(); + List axisColumnList = new ArrayList<>(); + List seriesItemList = new ArrayList<>(); + List 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 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 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 stateCounterList){ + ChartGroupItem groupItem = new ChartGroupItem(); + groupItem.setGroupId(groupId); + groupItem.setGroupName(groupName); + groupItemList.add(groupItem); + List 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<>(); + } + } + +} diff --git a/src/main/java/com/qs/serve/common/model/chart/ChartGroupItem.java b/src/main/java/com/qs/serve/common/model/chart/ChartGroupItem.java new file mode 100644 index 00000000..6dc51d2d --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/qs/serve/common/model/chart/ChartSeriesItem.java b/src/main/java/com/qs/serve/common/model/chart/ChartSeriesItem.java new file mode 100644 index 00000000..0e5e99e8 --- /dev/null +++ b/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 values; + +} diff --git a/src/main/java/com/qs/serve/common/model/chart/PrintChart.java b/src/main/java/com/qs/serve/common/model/chart/PrintChart.java new file mode 100644 index 00000000..846aed11 --- /dev/null +++ b/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 axisColumnList = new ArrayList<>(); + List seriesItemList = new ArrayList<>(); + List 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 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); + } + + + +} diff --git a/src/main/java/com/qs/serve/common/util/JumpToUtil.java b/src/main/java/com/qs/serve/common/util/JumpToUtil.java new file mode 100644 index 00000000..7229297b --- /dev/null +++ b/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="; + } + +} diff --git a/src/main/java/com/qs/serve/controller/AdminPortalController.java b/src/main/java/com/qs/serve/controller/AdminPortalController.java index 5ced3963..40c9ff3f 100644 --- a/src/main/java/com/qs/serve/controller/AdminPortalController.java +++ b/src/main/java/com/qs/serve/controller/AdminPortalController.java @@ -2,6 +2,7 @@ package com.qs.serve.controller; import cn.hutool.crypto.SecureUtil; 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.model.annotation.LimitSubmit; 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.enums.BizType; 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.SysUser; 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 javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -44,6 +48,7 @@ public class AdminPortalController { private SysUserLoginService sysUserLoginService; private RedisService redisService; private SysUserService sysUserService; + private ProjectProperties projectProperties; /** * 获取所有租户 @@ -55,6 +60,31 @@ public class AdminPortalController { 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 diff --git a/src/main/java/com/qs/serve/controller/dto/SyLoginParam.java b/src/main/java/com/qs/serve/controller/dto/SyLoginParam.java new file mode 100644 index 00000000..584f5193 --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java b/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java index b1254d35..34983855 100644 --- a/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java +++ b/src/main/java/com/qs/serve/modules/bir/controller/BirRoiRateController.java @@ -57,7 +57,6 @@ public class BirRoiRateController { } - /** * 获取费率 * @param param @@ -66,26 +65,7 @@ public class BirRoiRateController { @RepeatSubmit @GetMapping("/costYearMonth") public R> getCostRoiOfYearMonth(BirCostRoiSo param){ - List list = new ArrayList<>(); - 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); + return R.ok(birRoiRateService.getCostRoiOfYearMonth(param)); } diff --git a/src/main/java/com/qs/serve/modules/bir/mapper/BirRoiRateMapper.java b/src/main/java/com/qs/serve/modules/bir/mapper/BirRoiRateMapper.java index bd8e9517..4fa5dad8 100644 --- a/src/main/java/com/qs/serve/modules/bir/mapper/BirRoiRateMapper.java +++ b/src/main/java/com/qs/serve/modules/bir/mapper/BirRoiRateMapper.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.bir.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.bir.entity.BirRoiRate; import com.qs.serve.modules.bir.entity.dto.BirRoiCostDTO; @@ -15,6 +16,7 @@ import java.util.List; */ public interface BirRoiRateMapper extends BaseMapper { + @InterceptorIgnore(tenantLine = "1") List queryRoiCostItems(@Param("query") BirRoiCostDTO param); } diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java index 1f08f2cb..1afc8a7f 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsChannelPointServiceImpl.java @@ -90,7 +90,7 @@ public class BmsChannelPointServiceImpl extends ServiceImpl { * @param cusCodes * @return */ + @InterceptorIgnore(tenantLine = "1") List querySumCost(@Param("startNumber")Integer startNumber, @Param("endNumber")Integer endNumber, @Param("cusCodes")List cusCodes); diff --git a/src/main/java/com/qs/serve/modules/sys/service/SysUserLoginService.java b/src/main/java/com/qs/serve/modules/sys/service/SysUserLoginService.java index b2ae2da9..c8cbdf9f 100644 --- a/src/main/java/com/qs/serve/modules/sys/service/SysUserLoginService.java +++ b/src/main/java/com/qs/serve/modules/sys/service/SysUserLoginService.java @@ -21,6 +21,8 @@ public interface SysUserLoginService { Map login(String loginCode); + String loginBySyUserId(String syUserId); + /** * 手机登陆 * @param loginParam diff --git a/src/main/java/com/qs/serve/modules/sys/service/SysUserService.java b/src/main/java/com/qs/serve/modules/sys/service/SysUserService.java index 7e229070..21c8aaff 100644 --- a/src/main/java/com/qs/serve/modules/sys/service/SysUserService.java +++ b/src/main/java/com/qs/serve/modules/sys/service/SysUserService.java @@ -26,6 +26,8 @@ public interface SysUserService extends IService { SysUser getByIdentityNo(String acc); + SysUser getBySyId(String acc); + LoginUser getLoginUserByAccount(String account); LoginUser getLoginUserById(String id); diff --git a/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserLoginServiceImpl.java b/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserLoginServiceImpl.java index 284a2eb0..641560ed 100644 --- a/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserLoginServiceImpl.java +++ b/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); } + @Override + public String loginBySyUserId(String syUserId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SysUser::getSyUserId,syUserId); + List 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 public Map login(SysLoginByPhoneParam loginParam) { String key = RedisCacheKeys.PHONE_KEY+loginParam.getPhone(); diff --git a/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java b/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java index 8d67b822..8ccd4ecc 100644 --- a/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/sys/service/impl/SysUserServiceImpl.java @@ -60,6 +60,13 @@ public class SysUserServiceImpl extends ServiceImpl impl return getOne(wrapper,false); } + @Override + public SysUser getBySyId(String acc) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SysUser::getSyUserId,acc); + return getOne(wrapper,false); + } + @Override public LoginUser getLoginUserByAccount(String account) { SysUser sysUser = getByAccount(account); diff --git a/src/main/java/com/qs/serve/modules/tbs/common/dto/CostSortWrapper.java b/src/main/java/com/qs/serve/modules/tbs/common/dto/CostSortWrapper.java index c010899b..cd2ccc2f 100644 --- a/src/main/java/com/qs/serve/modules/tbs/common/dto/CostSortWrapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/common/dto/CostSortWrapper.java @@ -35,7 +35,14 @@ public class CostSortWrapper { public void putActivityCostCondition(Long activityId, List list){ - activityCostConditionsOfSort.put(activityId, list); + activityCostConditionsOfSort.put(activityId,list); +// List lastList = activityCostConditionsOfSort.get(activityId); +// if(lastList == null){ +// activityCostConditionsOfSort.put(activityId, list); +// }else { +// lastList.addAll(list); +// activityCostConditionsOfSort.put(activityId,lastList); +// } } /** diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index 5bae8229..5825f162 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/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.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.consts.BudgetLogRollbackFlag; import com.qs.serve.common.model.dto.R; @@ -58,6 +59,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl actLqw = new LambdaQueryWrapper<>(); + actLqw.eq(TbsActivity::getCostApplyId,id); + List activityList = tbsActivityMapper.selectList(actLqw); + if(tbsCostApply.getContractFlag()!=null&&tbsCostApply.getContractFlag().equals(1)){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(TbsActivityPayCondition::getCostApplyId,id); @@ -82,9 +89,6 @@ public class TbsCostApplyServiceImpl extends ServiceImpl actLqw = new LambdaQueryWrapper<>(); - actLqw.eq(TbsActivity::getCostApplyId,id); - List activityList = tbsActivityMapper.selectList(actLqw); if(activityList.size()>1){ Assert.throwEx("协议类申请出现多条活动,请联系管理员"); }else if (activityList.size()<1){ @@ -115,6 +119,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl data = new HashMap<>(10); + String actTitles = activityList.stream().map(TbsActivity::getActTitle).collect(Collectors.joining("; ")); data.put("applyUserCode",sysUser.getCode()); data.put("applyUserName",sysUser.getName()); data.put("supplierName",tbsCostApply.getSupplierName()); @@ -126,7 +131,12 @@ public class TbsCostApplyServiceImpl extends ServiceImpl tbsActivityCenters = tbsActivityCenterService.listByCostApplyId(Long.parseLong(id)); List tbsActivitySubjects = tbsActivitySubjectService.listByCostApplyId(Long.parseLong(id)); diff --git a/src/main/java/com/qs/serve/modules/tzc/common/dto/PolicySortWrapper.java b/src/main/java/com/qs/serve/modules/tzc/common/dto/PolicySortWrapper.java index d2d6f849..3b24b497 100644 --- a/src/main/java/com/qs/serve/modules/tzc/common/dto/PolicySortWrapper.java +++ b/src/main/java/com/qs/serve/modules/tzc/common/dto/PolicySortWrapper.java @@ -17,14 +17,33 @@ import java.util.stream.Collectors; @Data public class PolicySortWrapper { + /** + * 有科目的预算id + */ Set budgetSet4Subject = new HashSet<>(); + + /** + * 没有科目的预算id + */ Set budgetSet4NoSubject = new HashSet<>(); + /** + * 有条件的预算id + */ Set budgetSet4Condition = new HashSet<>(); - Set budgetSet4NoCondition = new HashSet<>(); + /** + * 无条件的预算id + */ + Set budgetSet4NoCondition = new HashSet<>(); + /** + * key->政策项id + * value->满足政策项的条件列表 + */ Map> policyItemCostConditionsOfSort = new HashMap<>(); + + Map> policyItemAllowBudgetId; /** @@ -36,6 +55,24 @@ public class PolicySortWrapper { public void putPolicyItemCondition(Long policyItemId, List list){ policyItemCostConditionsOfSort.put(policyItemId, list); +// List 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); +// } } /** diff --git a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java index 1025dba3..03b372db 100644 --- a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java @@ -1,6 +1,7 @@ package com.qs.serve.modules.tzc.service.impl; 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.consts.BudgetLogRollbackFlag; import com.qs.serve.common.model.dto.R; @@ -80,6 +81,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ private BmsSupplierService bmsSupplierService; private GoodsSkuService goodsSkuService; private XiaoLuTonService xiaoLuTonService; + private ProjectProperties projectProperties; @Override public void syncPolicyItem(Long policyItemId) { @@ -163,6 +165,12 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ data.put("targetId",tzcPolicy.getId()); data.put("targetCode",tzcPolicy.getPolicyCode()); 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(); createProcess.setTemplateCode(TbsSeeYonConst.PolicyConf.Code()); createProcess.setMemberLoginName(sysUser.getSyAccount()); diff --git a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java index 110909d9..d2358739 100644 --- a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java @@ -47,7 +47,7 @@ public class TzcPolicyOperationServiceImpl implements SeeYonOperationService { @Override public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) { TzcPolicy tzcPolicy = tzcPolicyService.getById(affairCommit.getPolicyId()); - if(tzcPolicy.getPolicyStatus().equals(TzcPolicyStatus.Status_1_Checking)){ + if(!tzcPolicy.getPolicyStatus().equals(TzcPolicyStatus.Status_1_Checking)){ Assert.throwEx("当前政策状态不可审批"); } return tzcPolicy.getSyFormId(); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 5e522ce4..0a4e1a3d 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/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.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.dto.R; import com.qs.serve.common.util.*; @@ -87,6 +88,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl and bir_base_activity.key_num >= #{query.startMonthNum} and bir_base_activity.key_num <= #{query.endMonthNum} @@ -76,8 +78,6 @@ - FROM - `bir_base_activity` GROUP BY `year_month` ORDER BY diff --git a/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml b/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml index 0902d96c..1c260e18 100644 --- a/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml +++ b/src/main/resources/mapper/erp/ErpDispatchDataMapper.xml @@ -61,7 +61,7 @@ #{selectId} - GROUP BY `year_month` + GROUP BY DATE_FORMAT(date,'%Y%m')