diff --git a/src/main/java/com/qs/serve/common/util/StringUtils.java b/src/main/java/com/qs/serve/common/util/StringUtils.java index 4e4552d1..8e3d0527 100644 --- a/src/main/java/com/qs/serve/common/util/StringUtils.java +++ b/src/main/java/com/qs/serve/common/util/StringUtils.java @@ -52,7 +52,7 @@ public class StringUtils extends org.springframework.util.StringUtils { } idSb.append(year).append(day); /// 后五位补随机数 - if(SEQ2.intValue()>99990){ + if(SEQ2.intValue()>99900){ SEQ2.getAndSet(10000); } idSb.append(SEQ2.getAndIncrement()); diff --git a/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java b/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java index 829c0680..93247e30 100644 --- a/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java +++ b/src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java @@ -19,7 +19,7 @@ import javax.validation.constraints.NotBlank; /** * 供应商负责人 实体类 * @author YenHex - * @since 2022-11-17 + * @since 2022-11-21 */ @Data @TableName("his_user_supplier") @@ -67,6 +67,10 @@ public class HisUserSupplier implements Serializable { @Length(max = 32,message = "销售区域3长度不能超过32字") private String saleRegionThird; + /** 销售区域4 */ + @Length(max = 32,message = "销售区域4长度不能超过32字") + private String saleRegionFourthly; + /** 主要负责人 */ @NotNull(message = "主要负责人不能为空") private Integer masterFlag; @@ -89,5 +93,9 @@ public class HisUserSupplier implements Serializable { @Length(max = 32,message = "行政区域3长度不能超过32字") private String bizRegionThird; + /** 行政区域4 */ + @Length(max = 32,message = "行政区域4长度不能超过32字") + private String bizRegionFourthly; + } diff --git a/src/main/java/com/qs/serve/modules/sys/controller/SysConfigController.java b/src/main/java/com/qs/serve/modules/sys/controller/SysConfigController.java index d9821241..9a2ed043 100644 --- a/src/main/java/com/qs/serve/modules/sys/controller/SysConfigController.java +++ b/src/main/java/com/qs/serve/modules/sys/controller/SysConfigController.java @@ -41,7 +41,6 @@ public class SysConfigController { */ @GetMapping("/getByKey/{key}") @SysLog(module = SystemModule.SYSTEM, title = "系统配置", biz = BizType.QUERY) - @PreAuthorize("hasRole('sys:config:query')") public R getById(@PathVariable("key") String key){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(SysConfig::getConfigKey,key); diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java index a7ac5a9d..ef5d96f1 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java @@ -1,6 +1,7 @@ package com.qs.serve.modules.tbs.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; @@ -8,6 +9,9 @@ import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.bms.service.BmsSupplierService; +import com.qs.serve.modules.tbs.entity.*; +import com.qs.serve.modules.tbs.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -15,11 +19,11 @@ import org.springframework.web.bind.annotation.*; import com.qs.serve.modules.tbs.entity.vo.TbsActivityVo; import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo; -import com.qs.serve.modules.tbs.entity.TbsActivity; -import com.qs.serve.modules.tbs.service.TbsActivityService; import javax.validation.Valid; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 预算 费用活动 @@ -32,7 +36,15 @@ import java.util.List; @RequestMapping("tbs/activity") public class TbsActivityController { - private TbsActivityService tbsActivityService; + private final TbsActivityService tbsActivityService; + private final TbsActivityGoodsService activityGoodsService; + private final TbsActivitySubjectService activitySubjectService; + private final TbsActivityCenterService activityCenterService; + private final TbsActivityCenterGoodsService activityCenterGoodsService; + private final TbsActivityChannelService activityChannelService; + private final TbsActivityChannelPointService activityChannelPointService; + + private final BmsSupplierService bmsSupplierService; /** * 列表 @@ -73,8 +85,34 @@ public class TbsActivityController { @SysLog(module = SystemModule.Budget, title = "费用活动", biz = BizType.QUERY) @PreAuthorize("hasRole('tbs:activity:query')") public R getById(@PathVariable("id") String id){ - TbsActivity tbsActivity = tbsActivityService.getById(id); - return R.ok(tbsActivity); + TbsActivity activity = tbsActivityService.getById(id); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("activity_id",activity.getId()); + List goodsList = activityGoodsService.list(qw); + if(goodsList.size()>0){ + activity.setGoodsType(goodsList.get(0).getTargetType()); + } + activity.setGoodsList(goodsList); + List activityChannels = activityChannelService.list(qw); + activity.setCustomChannelList(activityChannels); + if(activityChannels.size()<1){ + List channelPoints = activityChannelPointService.list(qw); + activity.setCustomChannelPointList(channelPoints); + if(channelPoints.size()<1 && activityChannels.size()<1){ + activity.setCustomSupplier(bmsSupplierService.getById(activity.getSupplierId())); + } + } + List activitySubjects = activitySubjectService.list(qw); + List activityCenters = activityCenterService.list(qw); + Map> centerListMap = activityCenters.stream().collect(Collectors.groupingBy(TbsActivityCenter::getSubjectId)); + for (TbsActivitySubject activitySubject : activitySubjects) { + List activityCenterList = centerListMap.get(activitySubject.getSubjectId()); + activitySubject.setActivityCenterList(activityCenterList); + } + activity.setSubjectCenterList(activitySubjects); + List activityCenterGoodsList = activityCenterGoodsService.list(qw); + activity.setCenterGoodsList(activityCenterGoodsList); + return R.ok(activity); } /** diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java index 24283250..dc725b45 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.tbs.entity; +import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.io.Serializable; @@ -14,7 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotNull; import javax.validation.constraints.NotBlank; - +import java.util.List; /** * 费用活动 实体类 * @author YenHex @@ -114,5 +115,35 @@ public class TbsActivity implements Serializable { @JsonProperty private String delFlag; + /** 合计金额 */ + private BigDecimal totalAmount; + + /** 产品类型 */ + @TableField(exist = false) + private String goodsType; + + /** 产品详情 */ + @TableField(exist = false) + private List goodsList; + + /** 客户详情1(三选一) */ + @TableField(exist = false) + private List customChannelList; + + /** 客户详情2 */ + @TableField(exist = false) + private List customChannelPointList; + + /** 客户详情3 */ + @TableField(exist = false) + private Object customSupplier; + + /** 成本中心与商品配比列表 */ + @TableField(exist = false) + private List centerGoodsList; + + /** 科目与成本中心 */ + @TableField(exist = false) + private List subjectCenterList; } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivitySubject.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivitySubject.java index d82ac974..ca1714e1 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivitySubject.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivitySubject.java @@ -4,6 +4,7 @@ import java.time.LocalDate; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; @@ -99,5 +100,8 @@ public class TbsActivitySubject implements Serializable { @JsonProperty private String delFlag; + @TableField(exist = false) + List activityCenterList; + } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetExcelBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetExcelBo.java index fea5af03..e45efcec 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetExcelBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetExcelBo.java @@ -16,7 +16,7 @@ import java.util.List; @Data public class TbsBudgetExcelBo implements Serializable { - @NotNull + @NotNull(message = "预算编码不能为空") private String budgetCode; /** 成本中心id */ @@ -29,7 +29,7 @@ public class TbsBudgetExcelBo implements Serializable { bizRegion, saleRegion, */ - @NotNull + @NotNull(message = "成本中心类型不能为空") private String centerType; /** @@ -61,8 +61,8 @@ public class TbsBudgetExcelBo implements Serializable { /** 备注 */ private String remark; - /** 备注 */ - @NotNull + /** 考核期名称 */ + @NotNull(message = "考核期名称不能为空") private String scheduleName; private BigDecimal amountYear; diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetVo.java b/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetVo.java index 4416ef4c..a20291ba 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetVo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetVo.java @@ -13,6 +13,7 @@ import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java index 774ea54e..e2a4ee8e 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java @@ -82,6 +82,11 @@ public class TbsActivityServiceImpl extends ServiceImpl //考核期项 if (budgetIds==null||budgetIds.size()<1){ budgetList = this.list(); + budgetIds = budgetList.stream().map(TbsBudget::getId).collect(Collectors.toList()); }else { budgetList = this.listByIds(budgetIds); } + if(budgetIds.size()<1){ + return null; + } LambdaQueryWrapper lqw2 = new LambdaQueryWrapper<>(); lqw2.in(TbsScheduleItemBudget::getBudgetId,budgetIds); List scheduleItemBudgets = tbsScheduleItemBudgetService.list(lqw2);