Browse Source

BMS调整和修BUG

mssql
07 3 years ago
parent
commit
ea15990652
  1. 1
      .gitignore
  2. 6
      src/main/java/com/qs/serve/modules/bms/common/FactoryIdOperation.java
  3. 9
      src/main/java/com/qs/serve/modules/bms/controller/BmsFactoryController.java
  4. 2
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java
  5. 10
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  6. 13
      src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java
  7. 2
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  8. 5
      src/main/java/com/qs/serve/modules/bms/entity/BmsSubject.java
  9. 2
      src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java
  10. 2
      src/main/java/com/qs/serve/modules/bms/service/BmsRuleRegionService.java
  11. 5
      src/main/java/com/qs/serve/modules/bms/service/BmsSubjectService.java
  12. 51
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java
  13. 2
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleRegionServiceImpl.java
  14. 13
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java
  15. 2
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java
  16. 1
      src/main/resources/mapper/bms/BmsSupplierMapper.xml

1
.gitignore

@ -6,3 +6,4 @@ gyoa-java.iml
*.env.json
*.json
/src/test/
questionnaire.iml

6
src/main/java/com/qs/serve/modules/bms/common/FactoryIdOperation.java

@ -0,0 +1,6 @@
package com.qs.serve.modules.bms.common;
public interface FactoryIdOperation {
String Add = "Add";
String Del = "del";
}

9
src/main/java/com/qs/serve/modules/bms/controller/BmsFactoryController.java

@ -6,7 +6,11 @@ import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.common.FactoryIdOperation;
import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.goods.service.GoodsSpecValueService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -31,6 +35,7 @@ import java.util.List;
public class BmsFactoryController {
private BmsFactoryService bmsFactoryService;
private BmsRegionService bmsRegionService;
private GoodsSpecValueService goodsSpecValueService;
/**
@ -85,6 +90,7 @@ public class BmsFactoryController {
@PreAuthorize("hasRole('bms:factory:insert')")
public R<?> save(@RequestBody @Valid BmsFactory param){
boolean result = bmsFactoryService.save(param);
bmsRegionService.updateAllFactoryIdsByFactoryId(param.getId(), FactoryIdOperation.Add);
return R.isTrue(result);
}
@ -96,8 +102,9 @@ public class BmsFactoryController {
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BASE, title = "工厂产地", biz = BizType.DELETE)
@PreAuthorize("hasRole('bms:factory:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
public R<?> deleteById(@PathVariable("id") String id){
boolean result = bmsFactoryService.removeById(id);
bmsRegionService.updateAllFactoryIdsByFactoryId(id, FactoryIdOperation.Del);
return R.isTrue(result);
}

2
src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java

@ -292,7 +292,7 @@ public class BmsRegion2Controller {
return R.error("地区含有网点无法删除");
}
//删除商品限制
bmsRuleRegionService.removeByRegionId(Long.parseLong(id));
bmsRuleRegionService.removeByRegionId(id);
boolean result = bmsRegion2Service.removeById(id);
return R.isTrue(result);
}

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

@ -175,17 +175,11 @@ public class BmsRegionController {
List<BmsFactory> defaultFactories = bmsFactoryService.list();
if(CollectionUtil.isNotEmpty(bmsRegion.getFactoryIds())){
List<BmsFactory> factories = new ArrayList<>();
for (BmsFactory factory : defaultFactories) {
boolean exist = false;
for (String factoryId : bmsRegion.getFactoryIds()) {
for (BmsFactory factory : defaultFactories) {
if(factory.getId().equals(factoryId)){
factories.add(factory);
exist = true;
break;
}
}
if(!exist){
factories.add(factory);
}
}
bmsRegion.setFactoryInfos(factories);
@ -306,7 +300,7 @@ public class BmsRegionController {
return R.error("地区含有网点无法删除");
}
//删除商品限制
bmsRuleRegionService.removeByRegionId(Long.parseLong(id));
bmsRuleRegionService.removeByRegionId(id);
boolean result = bmsRegionService.removeById(id);
//清空临时表
hisUserSupplierService.cleanTable();

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

@ -68,6 +68,12 @@ public class BmsSubjectController {
@PreAuthorize("hasRole('bms:subject:query')")
public R<BmsSubject> getById(@PathVariable("id") String id){
BmsSubject bmsSubject = bmsSubjectService.getById(id);
if(bmsSubject.getPid()!=null && bmsSubject.getPid()!=0L){
BmsSubject par = bmsSubjectService.getById(id);
if(par!=null){
bmsSubject.setParName(par.getSubjectName());
}
}
return R.ok(bmsSubject);
}
@ -98,11 +104,14 @@ public class BmsSubjectController {
}
private void commonEdit(BmsSubject subject){
if(subject.getId()==null){
bmsSubjectService.save(subject);
}
if(subject.getPid()==null||subject.getPid().equals(0L)){
subject.setPid(0L);
subject.setLevel(1);
subject.setPathNames(subject.getSubjectName());
bmsSubjectService.save(subject);
bmsSubjectService.updateById(subject);
}else {
BmsSubject parent = bmsSubjectService.getById(subject.getPid());
BmsSubject ori = bmsSubjectService.getById(subject.getId());
@ -125,7 +134,7 @@ public class BmsSubjectController {
@SysLog(module = SystemModule.BASE, title = "科目", biz = BizType.DELETE)
@PreAuthorize("hasRole('bms:subject:delete')")
public R<?> deleteById(@PathVariable("id") Long id){
boolean result = bmsSubjectService.removeById(id);
boolean result = bmsSubjectService.removeSelfAndChildById(id);
return R.isTrue(result);
}

2
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java

@ -279,7 +279,7 @@ public class BmsSupplierController {
supplierParam.setUserName(sysUser.getName());
supplierParam.setUserCode(sysUser.getCode());
if(CollectionUtil.isNotEmpty(supplier.getOtherUserIds())){
List<String> otherUserIds = Arrays.asList(supplier.getOtherUserIds());
List<String> otherUserIds = new ArrayList<>(Arrays.asList(supplier.getOtherUserIds()));
if(supplier.getUserId() != null){
otherUserIds.add(supplier.getUserId());
}

5
src/main/java/com/qs/serve/modules/bms/entity/BmsSubject.java

@ -34,6 +34,8 @@ public class BmsSubject implements Serializable {
@Length(max = 50,message = "科目名称长度不能超过50字")
private String subjectName;
private String pathNames;
/** 科目编码 */
@ -45,6 +47,9 @@ public class BmsSubject implements Serializable {
@NotNull(message = "父级id不能为空")
private Long pid;
@TableField(exist = false)
private String parName;
private Integer level;
/** 备注 */

2
src/main/java/com/qs/serve/modules/bms/service/BmsRegionService.java

@ -29,5 +29,7 @@ public interface BmsRegionService extends IService<BmsRegion> {
boolean saveBmsRegion(BmsRegion param);
boolean updateBmsRegionById(BmsRegion param);
void updateAllFactoryIdsByFactoryId(String id,String addOrDel);
}

2
src/main/java/com/qs/serve/modules/bms/service/BmsRuleRegionService.java

@ -15,7 +15,7 @@ public interface BmsRuleRegionService extends IService<BmsRuleRegion> {
* @param regionId
* @return
*/
boolean removeByRegionId(Long regionId);
boolean removeByRegionId(String regionId);
}

5
src/main/java/com/qs/serve/modules/bms/service/BmsSubjectService.java

@ -3,6 +3,8 @@ package com.qs.serve.modules.bms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.bms.entity.BmsSubject;
import java.util.List;
/**
* 科目 服务接口
* @author YenHex
@ -10,9 +12,12 @@ import com.qs.serve.modules.bms.entity.BmsSubject;
*/
public interface BmsSubjectService extends IService<BmsSubject> {
List<BmsSubject> listChild(Long pid);
void updatePathNameByParent(BmsSubject subject);
BmsSubject getByName(String name);
boolean removeSelfAndChildById(Long id);
}

51
src/main/java/com/qs/serve/modules/bms/service/impl/BmsRegionServiceImpl.java

@ -4,22 +4,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.model.dto.TreeNode;
import com.qs.serve.common.util.*;
import com.qs.serve.modules.bms.entity.BmsRegion2;
import com.qs.serve.modules.bms.entity.BmsRegionUser;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.common.FactoryIdOperation;
import com.qs.serve.modules.bms.entity.*;
import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo;
import com.qs.serve.modules.bms.mapper.BmsChannelPointMapper;
import com.qs.serve.modules.bms.mapper.BmsFactoryMapper;
import com.qs.serve.modules.bms.service.BmsFactoryService;
import com.qs.serve.modules.bms.service.BmsRegionUserService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.bms.entity.BmsRegion;
import com.qs.serve.modules.bms.service.BmsRegionService;
import com.qs.serve.modules.bms.mapper.BmsRegionMapper;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@ -36,10 +37,17 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
private BmsRegionUserService bmsRegionUserService;
private SysUserService sysUserService;
private BmsChannelPointMapper bmsChannelPointMapper;
private BmsFactoryService bmsFactoryService;
@Override
public boolean saveBmsRegion(BmsRegion param){
param = this.flushLevel(param);
LambdaQueryWrapper<BmsFactory> lqw = new LambdaQueryWrapper<>();
lqw.orderByAsc(BmsFactory::getCode);
String[] FactoryIds = bmsFactoryService.list(lqw).stream().map(a->a.getId()).toArray(String[]::new);
param.setFactoryIds(FactoryIds);
return this.save(param);
}
@ -218,5 +226,40 @@ public class BmsRegionServiceImpl extends ServiceImpl<BmsRegionMapper,BmsRegion>
}
}
}
public void updateAllFactoryIdsByFactoryId(String id, String addOrDel){
List<BmsRegion> regionList = this.list();
LambdaQueryWrapper<BmsFactory> lqw = new LambdaQueryWrapper<>();
lqw.orderByAsc(BmsFactory::getCode);
String[] FactoryIds = bmsFactoryService.list(lqw).stream().map(a->a.getId()).toArray(String[]::new);
for(BmsRegion region:regionList){
if(CollectionUtil.isNotEmpty(region.getFactoryIds())) {
if (addOrDel.equals(FactoryIdOperation.Add)) {
region = AddOneFactoryIds(region, id);
} else {
region = delOneFactoryIds(region, id);
}
}else {
region.setFactoryIds(FactoryIds);
}
}
this.updateBatchById(regionList);
}
private BmsRegion delOneFactoryIds(BmsRegion region,String id){
String[] newIds = Arrays.stream(region.getFactoryIds())
.filter(e -> !e.equals(id)).toArray(String[]::new);
region.setFactoryIds(newIds);
return region;
}
private BmsRegion AddOneFactoryIds(BmsRegion region,String id){
List<String> newIds = new ArrayList<>(Arrays.asList(region.getFactoryIds()));
newIds.add(id);
region.setFactoryIds(newIds.stream().toArray(String[]::new));
return region;
}
}

2
src/main/java/com/qs/serve/modules/bms/service/impl/BmsRuleRegionServiceImpl.java

@ -20,7 +20,7 @@ import com.qs.serve.modules.bms.mapper.BmsRuleRegionMapper;
public class BmsRuleRegionServiceImpl extends ServiceImpl<BmsRuleRegionMapper,BmsRuleRegion> implements BmsRuleRegionService {
@Override
public boolean removeByRegionId(Long regionId) {
public boolean removeByRegionId(String regionId) {
LambdaQueryWrapper<BmsRuleRegion> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsRuleRegion::getRegionId,regionId);
return this.remove(lqw);

13
src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java

@ -25,6 +25,7 @@ import java.util.stream.Collectors;
@AllArgsConstructor
public class BmsSubjectServiceImpl extends ServiceImpl<BmsSubjectMapper,BmsSubject> implements BmsSubjectService {
@Override
public List<BmsSubject> listChild(Long pid) {
LambdaQueryWrapper<BmsSubject> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsSubject::getPid,pid);
@ -52,5 +53,17 @@ public class BmsSubjectServiceImpl extends ServiceImpl<BmsSubjectMapper,BmsSubje
lqw.eq(BmsSubject::getSubjectName,name);
return getOne(lqw,false);
}
@Override
public boolean removeSelfAndChildById(Long id) {
List<BmsSubject> list = listChild(id);
for(BmsSubject subject:list){
boolean result = removeSelfAndChildById(subject.getId());
if(!result){
return false;
}
}
return this.removeById(id);
}
}

2
src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java

@ -231,7 +231,7 @@ public class BmsSupplierServiceImpl extends ServiceImpl<BmsSupplierMapper,BmsSup
supplier.setRegion2Fourthly(regionIds[i]);
}
}
supplier.setRegionLast(currentRegion.getId());
supplier.setRegion2Last(currentRegion.getId());
}
}

1
src/main/resources/mapper/bms/BmsSupplierMapper.xml

@ -91,6 +91,7 @@
<if test="query.updateBy != null and query.updateBy != ''"> and `bms_supplier`.`update_by` = #{query.updateBy}</if>
<if test="query.tenantId != null and query.tenantId != ''"> and `bms_supplier`.`tenant_id` = #{query.tenantId}</if>
<if test="query.delFlag != null"> and `bms_supplier`.`del_flag` = #{query.delFlag}</if>
<if test="query.delFlag == null"> and `bms_supplier`.`del_flag` = '0'</if>
<if test="query.currUserId!=null and query.currUserId != ''">
and (`bms_supplier`.`user_id` = #{query.currUserId} or FIND_IN_SET(#{query.currUserId},`bms_supplier`.`other_user_ids`) )
</if>

Loading…
Cancel
Save