diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java index 651f136f..6c22bf0f 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsCostCenterController.java @@ -8,12 +8,14 @@ import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; import com.qs.serve.modules.bms.common.MasterUserType; +import com.qs.serve.modules.bms.entity.BmsCenterRegion; import com.qs.serve.modules.bms.entity.BmsMasterUser; import com.qs.serve.modules.bms.entity.BmsRegion; import com.qs.serve.modules.bms.entity.bo.BmsCostCenterBo; import com.qs.serve.modules.bms.entity.vo.BmsCostCenterTreeVo; 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.BmsCenterRegionService; import com.qs.serve.modules.bms.service.BmsMasterUserService; import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.sys.entity.SysUser; @@ -53,6 +55,7 @@ public class BmsCostCenterController { private TbsActivityCenterService activityCenterService; private TbsBudgetService tbsBudgetService; private BmsRegionService regionService; + private BmsCenterRegionService bmsCenterRegionService; /** * 树查询 @@ -159,9 +162,14 @@ public class BmsCostCenterController { BmsCostCenter parentCostCenter = bmsCostCenterService.getById(bmsCostCenter.getPid()); bmsCostCenter.setParentInfo(parentCostCenter); } - if(StringUtils.hasText(bmsCostCenter.getSaleRegionId())&&!bmsCostCenter.getSaleRegionId().equals("0")){ - BmsRegion region = regionService.getById(bmsCostCenter.getSaleRegionId()); - bmsCostCenter.setSaleRegionInfo(region); + LambdaQueryWrapper centerRegionLambdaQueryWrapper = new LambdaQueryWrapper<>(); + centerRegionLambdaQueryWrapper.eq(BmsCenterRegion::getCenterId,bmsCostCenter.getId()); + List bmsCenterRegionList = bmsCenterRegionService.list(centerRegionLambdaQueryWrapper); + if(CollectionUtil.isNotEmpty(bmsCenterRegionList)){ + List regionList = regionService.listByIds( + bmsCenterRegionList.stream().map(a->a.getRegionId()).collect(Collectors.toList()) + ); + bmsCostCenter.setSaleRegionInfo(regionList); } return R.ok(bmsCostCenter); } @@ -201,6 +209,20 @@ public class BmsCostCenterController { } } bmsCostCenterService.saveOrUpdate(costCenter); + if(CollectionUtil.isNotEmpty(param.getSaleRegionId())){ + LambdaQueryWrapper centerRegionLambdaQueryWrapper = new LambdaQueryWrapper<>(); + centerRegionLambdaQueryWrapper.eq(BmsCenterRegion::getCenterId,costCenter.getId()); + bmsCenterRegionService.remove(centerRegionLambdaQueryWrapper); + + List bmsCenterRegionList = param.getSaleRegionId().stream().map(a->{ + BmsCenterRegion bcr = new BmsCenterRegion(); + bcr.setCenterId(costCenter.getId()); + bcr.setRegionId(a); + return bcr; + }).collect(Collectors.toList()); + + bmsCenterRegionService.saveBatch(bmsCenterRegionList); + } } private void checkRepeat(BmsCostCenter parent,Long id){ diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsCenterRegion.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsCenterRegion.java new file mode 100644 index 00000000..4d5b84c6 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsCenterRegion.java @@ -0,0 +1,57 @@ +package com.qs.serve.modules.bms.entity; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 实体类 + * @author YenHex + * @since 2023-07-20 + */ +@Data +@TableName("bms_center_region") +public class BmsCenterRegion implements Serializable { + + private static final long serialVersionUID = 1L; + + /** */ + @TableId(type = IdType.AUTO) + private Long id; + + /** */ + private Long centerId; + + /** */ + @Length(max = 32,message = "长度不能超过32字") + private String regionId; + + /** */ + @JsonIgnore + @JsonProperty + private String delFlag; + + + public static BmsCenterRegion toNewObject(BmsCenterRegion source){ + BmsCenterRegion centerRegion = new BmsCenterRegion(); + centerRegion.setId(source.getId()); + centerRegion.setCenterId(source.getCenterId()); + centerRegion.setRegionId(source.getRegionId()); + centerRegion.setDelFlag(source.getDelFlag()); + return centerRegion; + } + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsCostCenter.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsCostCenter.java index e1c3dc5b..57a54a2f 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsCostCenter.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsCostCenter.java @@ -53,9 +53,6 @@ public class BmsCostCenter implements Serializable { @NotNull(message = "父级节点不能为空") private Long pid; - /** 销售区域id */ - private String saleRegionId; - /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") private String remark; @@ -100,7 +97,7 @@ public class BmsCostCenter implements Serializable { /** 成本中心信息 */ @TableField(exist = false) - private Object saleRegionInfo; + private List saleRegionInfo; } diff --git a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java index cccdbe0a..8f31407d 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCostCenterBo.java @@ -7,6 +7,7 @@ import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.util.List; /** * @author YenHex @@ -46,6 +47,6 @@ public class BmsCostCenterBo { /** 销售区域id */ - private String saleRegionId; + private List saleRegionId; } diff --git a/src/main/java/com/qs/serve/modules/bms/mapper/BmsCenterRegionMapper.java b/src/main/java/com/qs/serve/modules/bms/mapper/BmsCenterRegionMapper.java new file mode 100644 index 00000000..0562c458 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/mapper/BmsCenterRegionMapper.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qs.serve.modules.bms.entity.BmsCenterRegion; + +/** + * Mapper + * @author YenHex + * @date 2023-07-20 + */ +public interface BmsCenterRegionMapper extends BaseMapper { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/BmsCenterRegionService.java b/src/main/java/com/qs/serve/modules/bms/service/BmsCenterRegionService.java new file mode 100644 index 00000000..7afd860f --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/BmsCenterRegionService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.bms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.bms.entity.BmsCenterRegion; + +/** + * 服务接口 + * @author YenHex + * @date 2023-07-20 + */ +public interface BmsCenterRegionService extends IService { + +} + diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterRegionServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterRegionServiceImpl.java new file mode 100644 index 00000000..a2aa0adc --- /dev/null +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterRegionServiceImpl.java @@ -0,0 +1,22 @@ +package com.qs.serve.modules.bms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import com.qs.serve.modules.bms.entity.BmsCenterRegion; +import com.qs.serve.modules.bms.service.BmsCenterRegionService; +import com.qs.serve.modules.bms.mapper.BmsCenterRegionMapper; + +/** + * 服务实现类 + * @author YenHex + * @since 2023-07-20 + */ +@Slf4j +@Service +@AllArgsConstructor +public class BmsCenterRegionServiceImpl extends ServiceImpl implements BmsCenterRegionService { + +} +