Browse Source

适配活动模板

mssql
Yen 3 years ago
parent
commit
173b2e2af5
  1. 8
      src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java
  2. 8
      src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java
  3. 10
      src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java
  4. 8
      src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java
  5. 3
      src/main/java/com/qs/serve/modules/tbs/common/TbsCostApplyState.java
  6. 14
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  7. 2
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenter.java
  8. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenterGoods.java
  9. 2
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityChannel.java
  10. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityChannelPoint.java
  11. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityGoods.java
  12. 3
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivitySubject.java
  13. 2
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityCenterGoodsBo.java
  14. 2
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelBo.java
  15. 2
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelPointBo.java
  16. 3
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityGoodsBo.java
  17. 6
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivitySubjectBo.java
  18. 14
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

8
src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java

@ -9,6 +9,8 @@ import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bms.entity.BmsChannelPoint;
import com.qs.serve.modules.bms.service.BmsChannelPointService;
import com.qs.serve.modules.tbs.entity.TbsActivityChannel;
import com.qs.serve.modules.tbs.service.TbsActivityChannelService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -34,6 +36,7 @@ public class BmsChannelController {
private BmsChannelService bmsChannelService;
private BmsChannelPointService bmsChannelPointService;
private TbsActivityChannelService activityChannelService;
/**
* 翻页
@ -108,6 +111,11 @@ public class BmsChannelController {
@SysLog(module = SystemModule.BASE, title = "渠道", biz = BizType.DELETE)
@PreAuthorize("hasRole('bms:channel:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
LambdaQueryWrapper<TbsActivityChannel> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsActivityChannel::getChannelId,id);
if(activityChannelService.count()>0){
return R.error("活动含当前渠道,删除失败");
}
boolean result = bmsChannelService.removeById(id);
return R.isTrue(result);
}

8
src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java

@ -16,6 +16,8 @@ import com.qs.serve.modules.bms.entity.bo.BmsChannelPointBo;
import com.qs.serve.modules.bms.service.BmsChannelService;
import com.qs.serve.modules.bms.service.BmsRegion2Service;
import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.tbs.entity.TbsActivityChannelPoint;
import com.qs.serve.modules.tbs.service.TbsActivityChannelPointService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -43,6 +45,7 @@ public class BmsChannelPointController {
private BmsChannelService bmsChannelService;
private BmsRegionService bmsRegionService;
private BmsRegion2Service bmsRegion2Service;
private TbsActivityChannelPointService activityChannelPointService;
/**
* 翻页
@ -126,6 +129,11 @@ public class BmsChannelPointController {
@SysLog(module = SystemModule.BASE, title = "渠道站点", biz = BizType.DELETE)
@PreAuthorize("hasRole('bms:channelPoint:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
LambdaQueryWrapper<TbsActivityChannelPoint> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsActivityChannelPoint::getPointId,id);
if(activityChannelPointService.count(lqw)>0){
return R.error("活动含当前站点,删除失败");
}
boolean result = bmsChannelPointService.removeById(id);
return R.isTrue(result);
}

10
src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java

@ -15,6 +15,9 @@ import com.qs.serve.modules.bms.entity.vo.BmsMasterUserCenterVo;
import com.qs.serve.modules.bms.entity.vo.BmsSubjectTreeVo;
import com.qs.serve.modules.bms.service.BmsMasterUserService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.tbs.common.TbsCenterType;
import com.qs.serve.modules.tbs.entity.TbsActivityCenter;
import com.qs.serve.modules.tbs.service.TbsActivityCenterService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -42,6 +45,7 @@ public class BmsCostCenterController {
private BmsCostCenterService bmsCostCenterService;
private BmsMasterUserService bmsMasterUserService;
private TbsActivityCenterService activityCenterService;
/**
* 树查询
@ -196,6 +200,12 @@ public class BmsCostCenterController {
@PreAuthorize("hasRole('bms:costCenter:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
//TODO 未校验已用不能删,预算和费用申请
LambdaQueryWrapper<TbsActivityCenter> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsActivityCenter::getCenterId,id);
lqw.eq(TbsActivityCenter::getCenterType, TbsCenterType.center.name());
if(activityCenterService.count(lqw)>0){
return R.error("活动含当前成本中心,删除失败");
}
boolean result = bmsCostCenterService.removeSelfAndChildById(id);
return R.isTrue(result);
}

8
src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java

@ -13,6 +13,8 @@ import com.qs.serve.modules.bms.entity.BmsCostCenter;
import com.qs.serve.modules.bms.entity.bo.BmsCostCenterBo;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo;
import com.qs.serve.modules.bms.entity.vo.BmsSubjectTreeVo;
import com.qs.serve.modules.tbs.entity.TbsActivitySubject;
import com.qs.serve.modules.tbs.service.TbsActivitySubjectService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
@ -37,6 +39,7 @@ import java.util.stream.Collectors;
public class BmsSubjectController {
private BmsSubjectService bmsSubjectService;
private TbsActivitySubjectService activitySubjectService;
/**
* 树查询
@ -134,6 +137,11 @@ public class BmsSubjectController {
@SysLog(module = SystemModule.BASE, title = "科目", biz = BizType.DELETE)
@PreAuthorize("hasRole('bms:subject:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
LambdaQueryWrapper<TbsActivitySubject> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsActivitySubject::getSubjectId,id);
if(activitySubjectService.count(lqw)>0){
return R.error("活动含当前的科目,删除失败");
}
boolean result = bmsSubjectService.removeSelfAndChildById(id);
return R.isTrue(result);
}

3
src/main/java/com/qs/serve/modules/tbs/common/TbsCostApplyState.java

@ -15,7 +15,8 @@ public enum TbsCostApplyState {
State_0_unPublish(0),
State_1_apply(1),
State_2_actioning(2),
State_3_finished(3);
State_3_finished(3),
State_4_refused(4);
private Integer code;

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

@ -118,7 +118,7 @@ public class TbsCostApplyController {
}
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsCostApply tbsCostApply = tbsCostApplyService.getById(id);
if(tbsCostApply.getChargeState().equals(0)){
if(tbsCostApply.getChargeState().equals(TbsCostApplyState.State_0_unPublish.getCode())){
Map<String, Object> data = new HashMap<>(10);
data.put("empId",sysUser.getCode());
data.put("applyTime",DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME));
@ -147,7 +147,7 @@ public class TbsCostApplyController {
tbsCostApplyService.updateById(costApply);
//todo 扣除预算
return R.ok();
}else if (tbsCostApply.getChargeState().equals(4)){
}else if (tbsCostApply.getChargeState().equals(TbsCostApplyState.State_4_refused.getCode())){
//todo 驳回重新申请
}
return R.error("当前状态不可申请");
@ -266,7 +266,7 @@ public class TbsCostApplyController {
public R<?> commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsCostApply costApply = tbsCostApplyService.getById(affairCommit.getAffairId());
if(!costApply.getChargeState().equals(1)){
if(!costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())){
return R.error("param err1");
}
CtpAffairCommit param = new CtpAffairCommit();
@ -285,14 +285,14 @@ public class TbsCostApplyController {
//判断是否有下一节点
String flag = result.getData();
//审批中(next)、完成(finish)、拒绝(refused)
if(flag.equals("finish")){
if("finish".equals(flag)){
TbsCostApply apply = new TbsCostApply();
apply.setId(costApply.getId());
apply.setChargeState(2);
apply.setChargeState(TbsCostApplyState.State_2_actioning.getCode());
tbsCostApplyService.updateById(apply);
}else if (flag.equals("refused")){
}else if ("refused".equals(flag)){
//todo 退回节点
}else if (flag.equals("next")){
}else if ("next".equals(flag)){
return R.ok();
}
}

2
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenter.java

@ -112,5 +112,7 @@ public class TbsActivityCenter implements Serializable {
@JsonProperty
private String delFlag;
/** 模板唯一健 */
private String tmpUk;
}

3
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityCenterGoods.java

@ -181,6 +181,9 @@ public class TbsActivityCenterGoods implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDate preCheckDate;
/** 模板唯一健 */
private String tmpUk;
@TableField(exist = false)
private String spuName;

2
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityChannel.java

@ -95,5 +95,7 @@ public class TbsActivityChannel implements Serializable {
@JsonProperty
private String delFlag;
/** 模板唯一健 */
private String tmpUk;
}

3
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityChannelPoint.java

@ -105,5 +105,8 @@ public class TbsActivityChannelPoint implements Serializable {
@JsonProperty
private String delFlag;
/** 模板唯一健 */
private String tmpUk;
}

3
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivityGoods.java

@ -100,6 +100,9 @@ public class TbsActivityGoods implements Serializable {
@JsonProperty
private String delFlag;
/** 模板唯一健 */
private String tmpUk;
@TableField(exist = false)
private String spuName;

3
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivitySubject.java

@ -103,6 +103,9 @@ public class TbsActivitySubject implements Serializable {
@JsonProperty
private String delFlag;
/** 模板唯一健 */
private String tmpUk;
@TableField(exist = false)
List<TbsActivityCenter> activityCenterList;

2
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityCenterGoodsBo.java

@ -62,5 +62,7 @@ public class TbsActivityCenterGoodsBo implements Serializable {
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 模板唯一健 */
private String tmpUk;
}

2
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelBo.java

@ -41,5 +41,7 @@ public class TbsActivityChannelBo implements Serializable {
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 模板唯一健 */
private String tmpUk;
}

2
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityChannelPointBo.java

@ -35,5 +35,7 @@ public class TbsActivityChannelPointBo implements Serializable {
private String remark;
/** 模板唯一健 */
private String tmpUk;
}

3
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityGoodsBo.java

@ -33,5 +33,8 @@ public class TbsActivityGoodsBo implements Serializable {
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 模板唯一健 */
private String tmpUk;
}

6
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivitySubjectBo.java

@ -43,6 +43,9 @@ public class TbsActivitySubjectBo implements Serializable {
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 模板唯一健 */
private String tmpUk;
/** 成本中心列表 */
private List<ActivityCenterBo> centerList;
@ -70,6 +73,9 @@ public class TbsActivitySubjectBo implements Serializable {
@NotNull(message = "费用占比率不能为空")
private BigDecimal centerAmount;
/** 模板唯一健 */
private String tmpUk;
}
}

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

@ -83,6 +83,7 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
String random = String.format("%03d",new Random().nextInt(999));
activity.setActivityCode("G"+ StringUtils.genShortId() + random);
}
activity.setTemplateValue(activityBo.getTemplateValue());
activity.setSupplierId(Long.parseLong(supplier.getId()));
activity.setSupplierCode(supplier.getCode());
activity.setSupplierName(supplier.getName());
@ -163,6 +164,7 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
activityChannel.setChannelRate(activityChannelBo.getChannelRate());
activityChannel.setPreCountPoint(activityChannelBo.getPreCountPoint());
activityChannel.setRemark(activityChannelBo.getRemark());
activityChannel.setTmpUk(activityChannelBo.getTmpUk());
activityChannelList.add(activityChannel);
}
activityChannelService.saveBatch(activityChannelList);
@ -182,6 +184,7 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
activityChannelPoint.setPointName(channelPoint.getPointName());
activityChannelPoint.setPointRate(activityChannelPointBo.getPointRate());
activityChannelPoint.setRemark(activityChannelPointBo.getRemark());
activityChannelPoint.setTmpUk(activityChannelPointBo.getTmpUk());
activityChannelPointList.add(activityChannelPoint);
}
activityChannelPointService.saveBatch(activityChannelPointList);
@ -211,6 +214,7 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
BmsSubject subject = subjectMap.get(centerGoodsBo.getSubjectId());
TbsActivityCenterGoods centerGoods = new TbsActivityCenterGoods();
centerGoods.setCenterGoodsCode(activity.getActivityCode()+"_"+(i+1));
centerGoods.setTmpUk(centerGoodsBo.getTmpUk());
//设置成本中心
String key = centerGoodsBo.getCenterType()+":"+centerGoodsBo.getCenterId();
TbsCenterDto tbsCenterDto = centerDtoMap.get(key);
@ -286,8 +290,12 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
TbsCostApply costApply,TbsActivity activity){
for (TbsActivitySubjectBo subjectBo : activityBo.getActivitySubjectList()) {
BmsSubject subject = subjectService.getById(subjectBo.getSubjectId());
if(subject==null){
Assert.throwEx("部分科目不存在了,请重新编辑");
}
subjectMap.put(subject.getId(),subject);
TbsActivitySubject activitySubject = new TbsActivitySubject();
activitySubject.setTmpUk(subjectBo.getTmpUk());
activitySubject.setCostApplyId(costApply.getId());
activitySubject.setActivityId(activity.getId());
activitySubject.setSubjectId(subject.getId());
@ -309,6 +317,9 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
TbsCenterDto tbsCenterDto = centerDtoMap.get(key);
if(tbsCenterDto==null){
tbsCenterDto = tbsCenterDtoService.getCenterDto(centerType,centerId);
if(tbsCenterDto==null){
Assert.throwEx("部分成本中心不存在了,请重新编辑");
}
tbsCenterDto.setCenterRate(centerBo.getCenterRate());
tbsCenterDto.setCenterAmount(centerBo.getCenterAmount());
centerDtoMap.put(key,tbsCenterDto);
@ -323,15 +334,16 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
activityCenter.setCenterId(centerBo.getCenterId());
activityCenter.setCenterName(tbsCenterDto.getCenterName());
activityCenter.setCenterCode(tbsCenterDto.getCenterCode());
activityCenter.setTmpUk(centerBo.getTmpUk());
activityCenterList.add(activityCenter);
}
//判断是否允许超预算
if(activitySubject.getAmount().compareTo(totalAmount)!=0){
Assert.throwEx("成本中心费用入参有误");
}
if(totalRate.compareTo(new BigDecimal(100))!=0){
Assert.throwEx("成本中心费用配比有误");
}
//todo 判断是否允许超预算
}
}

Loading…
Cancel
Save