Browse Source

1.增加商场类客户登录的仓库

training
pref_mail@163.com 1 year ago
parent
commit
f05b4b0896
  1. 10
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataWarehouseClient.java
  2. 3
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java
  3. 5
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java
  4. 9
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java
  5. 106
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java
  6. 13
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java
  7. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java
  8. 20
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml
  9. 8
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java
  10. 31
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java
  11. 11
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

10
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataWarehouseClient.java

@ -128,16 +128,6 @@ public interface IBasicdataWarehouseClient {
BasicdataWarehouseEntity getEntityWarehouseId(@RequestParam("warehouseId") Long warehouseId); BasicdataWarehouseEntity getEntityWarehouseId(@RequestParam("warehouseId") Long warehouseId);
/**
* 设置当前用户的仓库前台是如果这个用户只有一个仓库
*
* @param deptId
* @param tenantId
* @param userId
* @return
*/
@GetMapping(API_PREFIX + "/addWarehouseSingle")
BasicdataWarehouseEntity addWarehouseSingle(@RequestParam("deptId")String deptId, @RequestParam("tenantId")String tenantId, @RequestParam("userId")Long userId);
} }

3
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataClientController.java

@ -91,7 +91,8 @@ public class BasicdataClientController extends BladeController {
detail.setLinkman(one.getLinkman()); detail.setLinkman(one.getLinkman());
detail.setPhone(one.getPhone()); detail.setPhone(one.getPhone());
} }
if(list.size() > 0){
if(!list.isEmpty()){
detail.setTypeServiceBusiness(list); detail.setTypeServiceBusiness(list);
} }
return R.data(detail); return R.data(detail);

5
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataWarehouseClient.java

@ -169,11 +169,6 @@ public class BasicdataWarehouseClient implements IBasicdataWarehouseClient {
return warehouseWarehouseService.getById(warehouseId); return warehouseWarehouseService.getById(warehouseId);
} }
@Override
@GetMapping(API_PREFIX + "/addWarehouseSingle")
public BasicdataWarehouseEntity addWarehouseSingle(String deptId, String tenantId, Long userId) {
return warehouseWarehouseService.getMyWarehouseList(deptId, tenantId, userId);
}
} }

9
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataWarehouseService.java

@ -24,6 +24,7 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.excel.BasicdataWarehouseExcel; import com.logpm.basicdata.excel.BasicdataWarehouseExcel;
import com.logpm.basicdata.vo.BasicdataWarehouseVO; import com.logpm.basicdata.vo.BasicdataWarehouseVO;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import java.util.List; import java.util.List;
@ -95,14 +96,6 @@ public interface IBasicdataWarehouseService extends BaseService<BasicdataWarehou
List<BasicdataWarehouseEntity> getMyWarehouseList(); List<BasicdataWarehouseEntity> getMyWarehouseList();
/**
* 根据相关参数查询用户仓库如果用户仓库只有一个 将仓库数据写入缓存
* @param deptId
* @param tenantId
* @param userId
* @return
*/
BasicdataWarehouseEntity getMyWarehouseList(String deptId, String tenantId, Long userId);
/** /**
* 保存当前用户选择的仓库至Redis缓存中 * 保存当前用户选择的仓库至Redis缓存中

106
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java

@ -18,22 +18,28 @@ package com.logpm.basicdata.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.logpm.basicdata.entity.BasicdataClientUserEntity;
import com.logpm.basicdata.entity.BasicdataStorageServicesEntity;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.excel.BasicdataWarehouseExcel; import com.logpm.basicdata.excel.BasicdataWarehouseExcel;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.basicdata.mapper.BasicdataGoodsAreaMapper; import com.logpm.basicdata.mapper.BasicdataGoodsAreaMapper;
import com.logpm.basicdata.mapper.BasicdataStorageServicesMapper;
import com.logpm.basicdata.mapper.BasicdataWarehouseMapper; import com.logpm.basicdata.mapper.BasicdataWarehouseMapper;
import com.logpm.basicdata.service.IBasicdataClientUserService;
import com.logpm.basicdata.service.IBasicdataWarehouseService; import com.logpm.basicdata.service.IBasicdataWarehouseService;
import com.logpm.basicdata.vo.BasicdataWarehouseVO; import com.logpm.basicdata.vo.BasicdataWarehouseVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springblade.common.cache.CacheNames; import org.springblade.common.cache.CacheNames;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
@ -41,12 +47,14 @@ import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil; import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.Dept; import org.springblade.system.entity.Dept;
import org.springblade.system.feign.IDeptClient; import org.springblade.system.feign.IDeptClient;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 仓库 服务实现类 * 仓库 服务实现类
@ -69,6 +77,10 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
private final BladeRedis redis; private final BladeRedis redis;
private final IBasicdataClientUserService basicdataClientUserService;
private final BasicdataStorageServicesMapper basicdataStorageServicesMapper;
// private // private
@ -149,23 +161,42 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
} }
/*
1. 得到仓库列表
根据当前登录人
当前人部门
情况
1登录人部门范围大 登录人 -- 仓库 -> 一对多
递归查询
2登录人部门就是营业部节点 登录人 -- 仓库 -> 一对一
*/
@Override @Override
public List<BasicdataWarehouseEntity> getMyWarehouseList() { public List<BasicdataWarehouseEntity> getMyWarehouseList() {
Set<Long> deptIds = new HashSet<>(); Set<Long> deptIds = new HashSet<>();
// 获取当前登陆人 // 获取当前登陆人
BladeUser user = AuthUtil.getUser(); BladeUser user = AuthUtil.getUser();
List<BasicdataWarehouseEntity> results = null;
String defaultRoleId = DictBizCache.getValue(DictBizConstant.DEFAULT_MALL_ROLE_ID, DictBizConstant.DEFAULT_MALL_ROLE_ID);
if (user.getRoleId().contains(defaultRoleId)) {
// 当前这登录的用户为商场用户
// 根据当前登录人查询商场信息
List<BasicdataClientUserEntity> basicdataClientUserEntityListByUserIds = basicdataClientUserService.getBasicdataClientUserEntityListByUserId(AuthUtil.getUserId());
List clientIds = null;
if (Func.isNotEmpty(basicdataClientUserEntityListByUserIds)) {
clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList());
}
// 根据商场信息查询商场的服务仓库
LambdaQueryWrapper<BasicdataStorageServicesEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(BasicdataStorageServicesEntity::getClientId, clientIds);
// 得到仓库列表
List<BasicdataStorageServicesEntity> basicdataStorageServicesEntities = basicdataStorageServicesMapper.selectList(lambdaQueryWrapper);
if (basicdataStorageServicesEntities != null && !basicdataStorageServicesEntities.isEmpty()) {
results = new ArrayList<>();
for (BasicdataStorageServicesEntity basicdataStorageServicesEntity : basicdataStorageServicesEntities) {
BasicdataWarehouseEntity basicdataWarehouseEntity = new BasicdataWarehouseEntity();
basicdataWarehouseEntity.setId(basicdataStorageServicesEntity.getServeWarehouseId());
basicdataWarehouseEntity.setName(basicdataStorageServicesEntity.getServeWarehouseName());
results.add(basicdataWarehouseEntity);
}
}
} else {
//查询出部门表 //查询出部门表
String deptId = user.getDeptId(); String deptId = user.getDeptId();
String[] split = deptId.split(","); String[] split = deptId.split(",");
@ -182,50 +213,13 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
if (deptIds.isEmpty()) { if (deptIds.isEmpty()) {
return null; return null;
} }
return baseMapper.selectList(Wrappers.<BasicdataWarehouseEntity>query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds)); results = baseMapper.selectList(Wrappers.<BasicdataWarehouseEntity>query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds));
}
@Override
public BasicdataWarehouseEntity getMyWarehouseList(String deptId, String tenantId, Long userId) {
//查询出部门表
// List<Dept> userDeptNode = deptClient.getUserDeptNode(Long.parseLong(deptId));
Set<Long> deptIds = new HashSet<>();
// String deptId = user.getDeptId();
String[] split = deptId.split(",");
for (String s : split) {
List<Dept> userDeptNode = deptClient.getUserDeptNode(Long.parseLong(s));
if (Func.isEmpty(userDeptNode)) {
continue;
} else {
userDeptNode.forEach(u -> {
deptIds.add(u.getId());
});
}
} }
return results;
// if (Func.isEmpty(userDeptNode)) {
// log.error("userDeptNode用户部门信息有误+{" + userDeptNode + "}");
// return null;
// } else {
// userDeptNode.forEach(u -> {
// deptIds.add(u.getId());
// });
// }
BasicdataWarehouseEntity warehouseEntity = null;
List<BasicdataWarehouseEntity> warehouseEntityList = baseMapper.selectList(Wrappers.<BasicdataWarehouseEntity>query().lambda().in(BasicdataWarehouseEntity::getDepartment, deptIds));
if(warehouseEntityList.isEmpty()){
return warehouseEntity;
}
// String json = redis.get(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId()));
if (warehouseEntityList.size() <= 1) {
warehouseEntity = warehouseEntityList.get(0);
String json = JSONObject.toJSONString(warehouseEntity);
redis.setEx(CacheNames.tenantKeyObj(tenantId, CacheNames.USER_WAREHOUSE_KEY, userId), json, 30 * 24 * 60 * 60L);
}
return warehouseEntity;
} }
@ -246,10 +240,16 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
// 2、用户没有选择仓库的动作,返回null // 2、用户没有选择仓库的动作,返回null
@Override @Override
public BasicdataWarehouseEntity getMyCurrentWarehouse() { public BasicdataWarehouseEntity getMyCurrentWarehouse() {
// 根据当前登陆人的信息和角色判断查询是所属仓库 还是服务仓库
BladeUser user = AuthUtil.getUser(); BladeUser user = AuthUtil.getUser();
String json = redis.get(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId())); String json = redis.get(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId()));
if (StringUtil.isBlank(json)) { if (StringUtil.isBlank(json)) {
return getMyWarehouseList(user.getDeptId(),user.getTenantId(),user.getUserId()); List<BasicdataWarehouseEntity> myWarehouseList = getMyWarehouseList();
if (myWarehouseList != null) {
if (myWarehouseList.size() == 1) {
return myWarehouseList.get(0);
}
}
} }
BasicdataWarehouseEntity o = JSONObject.parseObject(json, BasicdataWarehouseEntity.class); BasicdataWarehouseEntity o = JSONObject.parseObject(json, BasicdataWarehouseEntity.class);
return o; return o;

13
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionReservationController.java

@ -96,6 +96,19 @@ public class DistributionReservationController extends BladeController {
} }
/**
* 商场客户预约列表 分页
*/
@GetMapping("/reservation_list")
@ApiOperationSupport(order = 2)
@ApiOperation(value = "分页", notes = "传入distrbutionReservation")
public R<IPage<DistributionReservationVO>> reservationList(@ApiIgnore @RequestParam Map<String, Object> distrbutionReservation, Query query) {
IPage<DistributionReservationVO> page = Condition.getPage(query);
IPage<DistributionReservationVO> pages = reservationService.reservationList(page, distrbutionReservation );
return R.data(pages);
}
/** /**

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.java

@ -199,7 +199,7 @@ public interface DistributionReservationMapper extends BaseMapper<DistributionRe
/** /**
* 查询预约计划的备货任务 * 查询预约计划的备货任务
* @param id * @param ids
* @return * @return
*/ */
List<DistributionStockupEntity> selectStockupList(@Param("reservationIds")List<Long> ids); List<DistributionStockupEntity> selectStockupList(@Param("reservationIds")List<Long> ids);
@ -247,4 +247,12 @@ public interface DistributionReservationMapper extends BaseMapper<DistributionRe
//查询零担品类包件信息 //查询零担品类包件信息
List<DistributionAddvaluePackageVO> selectAppZeroPackageListByReservationId(@Param("reservationId")Long reservationId); List<DistributionAddvaluePackageVO> selectAppZeroPackageListByReservationId(@Param("reservationId")Long reservationId);
/**
* 查询商场客户的预约单
* @param page
* @param distrbutionReservation
* @return
*/
List<DistributionReservationEntity> reservationList(IPage<DistributionReservationVO> page, Map<String, Object> distrbutionReservation);
} }

20
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml

@ -1078,4 +1078,24 @@
WHERE ldrs.reservation_id =#{reservationId} WHERE ldrs.reservation_id =#{reservationId}
</select> </select>
<select id="reservationList" resultMap="reservationResultMap">
select ldr.* from logpm_distribution_reservation ldr
where ldr.delivery_type=2
<if test="distrbutionReservation.distrbutionReservation != null">
and ldr.reservation_status = #{distrbutionReservation.distrbutionReservation}
</if>
<if test="distrbutionReservation.clientIds != null">
and ldr.mall_id in
<foreach item="item" collection="distrbutionReservation.clientIds" separator="," open="(" close=")" index="">
#{item}
</foreach>
</if>
</select>
</mapper> </mapper>

8
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionReservationService.java

@ -232,4 +232,12 @@ public interface IDistributionReservationService extends BaseService<Distributio
* @return * @return
*/ */
boolean retentionCancelReservationPack(DistributionRetentionScanVo distributionRetentionScanVo); boolean retentionCancelReservationPack(DistributionRetentionScanVo distributionRetentionScanVo);
/**
* 商场客户预约单查询
* @param page
* @param distrbutionReservation
* @return
*/
IPage<DistributionReservationVO> reservationList(IPage<DistributionReservationVO> page, Map<String, Object> distrbutionReservation);
} }

31
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java

@ -23,7 +23,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.logpm.basicdata.entity.BasicdataClientUserEntity;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataClientClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.distribution.dto.*; import com.logpm.distribution.dto.*;
import com.logpm.distribution.entity.*; import com.logpm.distribution.entity.*;
@ -199,6 +201,9 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
@Autowired @Autowired
private DistributionReservationZeroPackageMapper distributionReservationZeroPackageMapper; private DistributionReservationZeroPackageMapper distributionReservationZeroPackageMapper;
@Autowired
private IBasicdataClientClient basicdataClientClient;
@Override @Override
public IPage<DistributionReservationVO> selectDistrbutionReservationPage(IPage<DistributionReservationVO> page, DistributionReservationVO distrbutionReservation) { public IPage<DistributionReservationVO> selectDistrbutionReservationPage(IPage<DistributionReservationVO> page, DistributionReservationVO distrbutionReservation) {
@ -3261,4 +3266,30 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl<Distribu
// } // }
return false; return false;
} }
@Override
public IPage<DistributionReservationVO> reservationList(IPage<DistributionReservationVO> page, Map<String, Object> distrbutionReservation) {
// 查询登陆人 映射的商场ID
List<BasicdataClientUserEntity> basicdataClientUserEntityListByUserIds = basicdataClientClient.getBasicdataClientUserEntityListByUserId(AuthUtil.getUserId());
List clientIds =null;
if(Func.isNotEmpty(basicdataClientUserEntityListByUserIds)){
clientIds = basicdataClientUserEntityListByUserIds.stream().map(BasicdataClientUserEntity::getClientId).collect(Collectors.toList());
}
if(ObjectUtil.isEmpty(clientIds)){
throw new ServiceException("当前登陆人无商场");
}
distrbutionReservation.put("clientIds",clientIds);
List<DistributionReservationEntity> distributionReservationEntities =baseMapper.reservationList(page,distrbutionReservation);
List<DistributionReservationVO> distributionReservationVOS = DistributionReservationWrapper.build().listVO(distributionReservationEntities);
page.setRecords(distributionReservationVOS);
return page;
}
} }

11
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

@ -33,6 +33,7 @@ import org.apache.commons.io.IOUtils;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.utils.CommonUtil; import org.springblade.common.utils.CommonUtil;
import org.springblade.common.utils.FileLogsUtil; import org.springblade.common.utils.FileLogsUtil;
import org.springblade.core.oss.model.BladeFile; import org.springblade.core.oss.model.BladeFile;
@ -43,6 +44,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.SpringUtil; import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.core.tool.utils.StringUtil; import org.springblade.core.tool.utils.StringUtil;
import org.springblade.resource.feign.IOssClient; import org.springblade.resource.feign.IOssClient;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.cache.DictCache; import org.springblade.system.cache.DictCache;
import org.springblade.system.entity.Dict; import org.springblade.system.entity.Dict;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -961,8 +963,13 @@ public class TestService {
// 获取字典上配置的不 // 获取字典上配置的不
List<Dict> htUseOpShops = DictCache.getList("ht_use_op_shops"); // List<Dict> htUseOpShops = DictCache.getList("ht_use_op_shops");
System.out.println(htUseOpShops); // System.out.println(htUseOpShops);
String defaultRoleId = DictBizCache.getValue(DictBizConstant.DEFAULT_MALL_ROLE_ID, DictBizConstant.DEFAULT_MALL_ROLE_ID);
System.out.println(defaultRoleId);
} }

Loading…
Cancel
Save