Browse Source

添加活动费用统计,关联活动显示参数

mssql
Yen 3 years ago
parent
commit
86818b9af3
  1. 2
      src/main/java/com/qs/serve/common/util/StringUtils.java
  2. 10
      src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java
  3. 1
      src/main/java/com/qs/serve/modules/sys/controller/SysConfigController.java
  4. 48
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java
  5. 33
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java
  6. 4
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivitySubject.java
  7. 8
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetExcelBo.java
  8. 1
      src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetVo.java
  9. 7
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java
  10. 4
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

2
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); idSb.append(year).append(day);
/// 后五位补随机数 /// 后五位补随机数
if(SEQ2.intValue()>99990){ if(SEQ2.intValue()>99900){
SEQ2.getAndSet(10000); SEQ2.getAndSet(10000);
} }
idSb.append(SEQ2.getAndIncrement()); idSb.append(SEQ2.getAndIncrement());

10
src/main/java/com/qs/serve/modules/his/entity/HisUserSupplier.java

@ -19,7 +19,7 @@ import javax.validation.constraints.NotBlank;
/** /**
* 供应商负责人 实体类 * 供应商负责人 实体类
* @author YenHex * @author YenHex
* @since 2022-11-17 * @since 2022-11-21
*/ */
@Data @Data
@TableName("his_user_supplier") @TableName("his_user_supplier")
@ -67,6 +67,10 @@ public class HisUserSupplier implements Serializable {
@Length(max = 32,message = "销售区域3长度不能超过32字") @Length(max = 32,message = "销售区域3长度不能超过32字")
private String saleRegionThird; private String saleRegionThird;
/** 销售区域4 */
@Length(max = 32,message = "销售区域4长度不能超过32字")
private String saleRegionFourthly;
/** 主要负责人 */ /** 主要负责人 */
@NotNull(message = "主要负责人不能为空") @NotNull(message = "主要负责人不能为空")
private Integer masterFlag; private Integer masterFlag;
@ -89,5 +93,9 @@ public class HisUserSupplier implements Serializable {
@Length(max = 32,message = "行政区域3长度不能超过32字") @Length(max = 32,message = "行政区域3长度不能超过32字")
private String bizRegionThird; private String bizRegionThird;
/** 行政区域4 */
@Length(max = 32,message = "行政区域4长度不能超过32字")
private String bizRegionFourthly;
} }

1
src/main/java/com/qs/serve/modules/sys/controller/SysConfigController.java

@ -41,7 +41,6 @@ public class SysConfigController {
*/ */
@GetMapping("/getByKey/{key}") @GetMapping("/getByKey/{key}")
@SysLog(module = SystemModule.SYSTEM, title = "系统配置", biz = BizType.QUERY) @SysLog(module = SystemModule.SYSTEM, title = "系统配置", biz = BizType.QUERY)
@PreAuthorize("hasRole('sys:config:query')")
public R<SysConfig> getById(@PathVariable("key") String key){ public R<SysConfig> getById(@PathVariable("key") String key){
LambdaQueryWrapper<SysConfig> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysConfig> lqw = new LambdaQueryWrapper<>();
lqw.eq(SysConfig::getConfigKey,key); lqw.eq(SysConfig::getConfigKey,key);

48
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityController.java

@ -1,6 +1,7 @@
package com.qs.serve.modules.tbs.controller; package com.qs.serve.modules.tbs.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R; 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.model.enums.SystemModule;
import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil; 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.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize; 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.vo.TbsActivityVo;
import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo; 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 javax.validation.Valid;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 预算 费用活动 * 预算 费用活动
@ -32,7 +36,15 @@ import java.util.List;
@RequestMapping("tbs/activity") @RequestMapping("tbs/activity")
public class TbsActivityController { 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) @SysLog(module = SystemModule.Budget, title = "费用活动", biz = BizType.QUERY)
@PreAuthorize("hasRole('tbs:activity:query')") @PreAuthorize("hasRole('tbs:activity:query')")
public R<TbsActivity> getById(@PathVariable("id") String id){ public R<TbsActivity> getById(@PathVariable("id") String id){
TbsActivity tbsActivity = tbsActivityService.getById(id); TbsActivity activity = tbsActivityService.getById(id);
return R.ok(tbsActivity); QueryWrapper qw = new QueryWrapper<>();
qw.eq("activity_id",activity.getId());
List<TbsActivityGoods> goodsList = activityGoodsService.list(qw);
if(goodsList.size()>0){
activity.setGoodsType(goodsList.get(0).getTargetType());
}
activity.setGoodsList(goodsList);
List<TbsActivityChannel> activityChannels = activityChannelService.list(qw);
activity.setCustomChannelList(activityChannels);
if(activityChannels.size()<1){
List<TbsActivityChannelPoint> channelPoints = activityChannelPointService.list(qw);
activity.setCustomChannelPointList(channelPoints);
if(channelPoints.size()<1 && activityChannels.size()<1){
activity.setCustomSupplier(bmsSupplierService.getById(activity.getSupplierId()));
}
}
List<TbsActivitySubject> activitySubjects = activitySubjectService.list(qw);
List<TbsActivityCenter> activityCenters = activityCenterService.list(qw);
Map<Long,List<TbsActivityCenter>> centerListMap = activityCenters.stream().collect(Collectors.groupingBy(TbsActivityCenter::getSubjectId));
for (TbsActivitySubject activitySubject : activitySubjects) {
List<TbsActivityCenter> activityCenterList = centerListMap.get(activitySubject.getSubjectId());
activitySubject.setActivityCenterList(activityCenterList);
}
activity.setSubjectCenterList(activitySubjects);
List<TbsActivityCenterGoods> activityCenterGoodsList = activityCenterGoodsService.list(qw);
activity.setCenterGoodsList(activityCenterGoodsList);
return R.ok(activity);
} }
/** /**

33
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java

@ -1,5 +1,6 @@
package com.qs.serve.modules.tbs.entity; package com.qs.serve.modules.tbs.entity;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.io.Serializable; import java.io.Serializable;
@ -14,7 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.List;
/** /**
* 费用活动 实体类 * 费用活动 实体类
* @author YenHex * @author YenHex
@ -114,5 +115,35 @@ public class TbsActivity implements Serializable {
@JsonProperty @JsonProperty
private String delFlag; 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;
} }

4
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.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
@ -99,5 +100,8 @@ public class TbsActivitySubject implements Serializable {
@JsonProperty @JsonProperty
private String delFlag; private String delFlag;
@TableField(exist = false)
List<TbsActivityCenter> activityCenterList;
} }

8
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetExcelBo.java

@ -16,7 +16,7 @@ import java.util.List;
@Data @Data
public class TbsBudgetExcelBo implements Serializable { public class TbsBudgetExcelBo implements Serializable {
@NotNull @NotNull(message = "预算编码不能为空")
private String budgetCode; private String budgetCode;
/** 成本中心id */ /** 成本中心id */
@ -29,7 +29,7 @@ public class TbsBudgetExcelBo implements Serializable {
bizRegion, bizRegion,
saleRegion, saleRegion,
*/ */
@NotNull @NotNull(message = "成本中心类型不能为空")
private String centerType; private String centerType;
/** /**
@ -61,8 +61,8 @@ public class TbsBudgetExcelBo implements Serializable {
/** 备注 */ /** 备注 */
private String remark; private String remark;
/** 备注 */ /** 考核期名称 */
@NotNull @NotNull(message = "考核期名称不能为空")
private String scheduleName; private String scheduleName;
private BigDecimal amountYear; private BigDecimal amountYear;

1
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.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;

7
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

@ -82,6 +82,11 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
activity.setSupplierCode(supplier.getCode()); activity.setSupplierCode(supplier.getCode());
activity.setSupplierName(supplier.getName()); activity.setSupplierName(supplier.getName());
boolean isUpdate = activity.getId()!=null; boolean isUpdate = activity.getId()!=null;
BigDecimal totalAmount = BigDecimal.ZERO;
for (TbsActivityCenterGoodsBo centerGoodsBo : activityBo.getActivityCenterGoodsList()) {
totalAmount = centerGoodsBo.getCenterGoodsAmount();
}
activity.setTotalAmount(totalAmount);
this.saveOrUpdate(activity); this.saveOrUpdate(activity);
if(isUpdate){ if(isUpdate){
//删除旧数据 //删除旧数据
@ -347,7 +352,7 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
activityGoods.setTargetType(goodsType); activityGoods.setTargetType(goodsType);
activityGoods.setTargetId(sku.getId()); activityGoods.setTargetId(sku.getId());
activityGoods.setTargetCode(sku.getSkuCode()); activityGoods.setTargetCode(sku.getSkuCode());
activityGoods.setTargetName(sku.getSpecInfos()); activityGoods.setTargetName(goodsSpu.getName()+"("+sku.getSpecInfos()+")");
activityGoods.setTargetLevelPathIds(category1.getId()+"_"+category2.getId()+"_"+category3.getId()+"_"+goodsSpu.getId()+"_"+sku.getId()); activityGoods.setTargetLevelPathIds(category1.getId()+"_"+category2.getId()+"_"+category3.getId()+"_"+goodsSpu.getId()+"_"+sku.getId());
activityGoods.setTargetLevelPathNames(category1.getName()+"_"+category2.getName()+"_"+category3.getName()+"_"+goodsSpu.getName()+"_"+sku.getSpecInfos()); activityGoods.setTargetLevelPathNames(category1.getName()+"_"+category2.getName()+"_"+category3.getName()+"_"+goodsSpu.getName()+"_"+sku.getSpecInfos());
activityGoodsList.add(activityGoods); activityGoodsList.add(activityGoods);

4
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

@ -121,9 +121,13 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
//考核期项 //考核期项
if (budgetIds==null||budgetIds.size()<1){ if (budgetIds==null||budgetIds.size()<1){
budgetList = this.list(); budgetList = this.list();
budgetIds = budgetList.stream().map(TbsBudget::getId).collect(Collectors.toList());
}else { }else {
budgetList = this.listByIds(budgetIds); budgetList = this.listByIds(budgetIds);
} }
if(budgetIds.size()<1){
return null;
}
LambdaQueryWrapper<TbsScheduleItemBudget> lqw2 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsScheduleItemBudget> lqw2 = new LambdaQueryWrapper<>();
lqw2.in(TbsScheduleItemBudget::getBudgetId,budgetIds); lqw2.in(TbsScheduleItemBudget::getBudgetId,budgetIds);
List<TbsScheduleItemBudget> scheduleItemBudgets = tbsScheduleItemBudgetService.list(lqw2); List<TbsScheduleItemBudget> scheduleItemBudgets = tbsScheduleItemBudgetService.list(lqw2);

Loading…
Cancel
Save