Browse Source

opt: 数据中心支持传空置;fix:标签隐藏显示调整;opt: 成本中心区域查询调整

muti_db
Yen 12 months ago
parent
commit
6a78d39ae6
  1. 22
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegion2Controller.java
  2. 23
      src/main/java/com/qs/serve/modules/bms/controller/BmsRegionController.java
  3. 11
      src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java
  4. 4
      src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java
  5. 3
      src/main/java/com/qs/serve/modules/tag/entity/TagData.java
  6. 10
      src/main/java/com/qs/serve/modules/tag/mapper/TagDataMapper.java
  7. 39
      src/main/java/com/qs/serve/task/TagTask.java
  8. 2
      src/main/resources/mapper/goods/GoodsSpuMapper.xml
  9. 4
      src/main/resources/mapper/tag/TagDataMapper.xml

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

@ -30,9 +30,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -96,18 +94,24 @@ public class BmsRegion2Controller {
String userId = AuthContextUtils.getSysUserId();
List<String> userIds = postUserService.listByChildIds(userId);
userIds.add(userId);
LambdaQueryWrapper<BmsRegionUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsRegionUser::getType,1);
lqw.in(BmsRegionUser::getUserId,userIds);
List<BmsRegionUser> regionUsers = bmsRegionUserService.list(lqw);
List<String> regionIds = regionUsers.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList());
Set<String> regionIds = new HashSet<>();
for (String uid : userIds) {
BmsSupplier param = new BmsSupplier();
param.setCurrUserId(uid);
List<BmsSupplier> list = bmsSupplierService.selectSupplierList(param);
for (BmsSupplier supplier : list) {
regionIds.addAll(supplier.listBizRegionIds());
}
}
if(StringUtils.hasText(supplierId)){
BmsSupplier supplier = bmsSupplierService.getById(supplierId);
if(supplier.listBizRegionIds()!=null){
regionIds.addAll(supplier.listBizRegionIds());
}
}
return buildTreeSortUpward(regionIds);
return buildTreeSortUpward(new ArrayList<>(regionIds));
}
/**

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

@ -30,10 +30,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -160,16 +157,22 @@ public class BmsRegionController {
String userId = AuthContextUtils.getSysUserId();
List<String> userIds = postUserService.listByChildIds(userId);
userIds.add(userId);
LambdaQueryWrapper<BmsRegionUser> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsRegionUser::getType,0);
lqw.in(BmsRegionUser::getUserId,userIds);
List<BmsRegionUser> regionUsers = bmsRegionUserService.list(lqw);
List<String> regionIds = regionUsers.stream().map(BmsRegionUser::getRegionId).collect(Collectors.toList());
Set<String> regionIds = new HashSet<>();
for (String uid : userIds) {
BmsSupplier param = new BmsSupplier();
param.setCurrUserId(uid);
List<BmsSupplier> list = bmsSupplierService.selectSupplierList(param);
for (BmsSupplier supplier : list) {
regionIds.addAll(supplier.listBizRegionIds());
}
}
if(StringUtils.hasText(supplierId)){
BmsSupplier supplier = bmsSupplierService.getById(supplierId);
regionIds.addAll(supplier.listSaleRegionIds());
}
return buildRegionTreeByRegionIds(stopFlag, regionIds);
return buildRegionTreeByRegionIds(stopFlag, new ArrayList<>(regionIds));
}
@Nullable

11
src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java

@ -307,7 +307,18 @@ public class ExlTableDataController {
this.appendErrorMsg(ErrMsgKey, jsonObject, columnConf);
continue;
}
/**
* datedatetime类型设置了非必填如果导入excel是空的则导入失败应该是代码处理时插入空白值报错而不是null值需修复
*/
if(columnConf.getColumnType().equals(ExlConst.DATE_TYPE)&&!StringUtils.hasText(string)){
insertSql.append(" null ");
}else if(columnConf.getColumnType().equals(ExlConst.DATETIME_TYPE)&&!StringUtils.hasText(string)){
insertSql.append(" null ");
}else {
insertSql.append("'"+string+"'");
}
if(columnConf.getColumnType().equals(ExlConst.TYPE_USER_CODE)){
insertSql.append(",");
String name = "";

4
src/main/java/com/qs/serve/modules/tag/controller/TagDataController.java

@ -87,6 +87,8 @@ public class TagDataController {
@GetMapping("batchQueryPage")
public R<?> queryBatchPage(TagData query){
PageUtil.startPage();
//忽略日期拦截
query.setIgnoreDateFlag(1);
List<TagData> tagDataList = tagDataService.selectList(query);
return R.byPageHelperList(tagDataList);
}
@ -107,7 +109,7 @@ public class TagDataController {
* @param param
* @return
*/
@PostMapping("updateById/{id}")
@PostMapping("updateById")
public R<?> updateById(@RequestBody TagData param){
TagData data = new TagData();
data.setId(param.getId());

3
src/main/java/com/qs/serve/modules/tag/entity/TagData.java

@ -113,6 +113,9 @@ public class TagData implements Serializable {
@TableField(exist = false)
private List<String> queryTagIds;
@TableField(exist = false)
private Integer ignoreDateFlag;
public static TagData toNewObject(TagData source){
TagData data = new TagData();
data.setId(source.getId());

10
src/main/java/com/qs/serve/modules/tag/mapper/TagDataMapper.java

@ -1,8 +1,10 @@
package com.qs.serve.modules.tag.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.tag.entity.TagData;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@ -13,6 +15,14 @@ import java.util.List;
*/
public interface TagDataMapper extends BaseMapper<TagData> {
/**
* 移除逾期数据
* @return
*/
@InterceptorIgnore(tenantLine = "1")
@Update("update tag_data set del_flag = 1 where end_date < now() ")
int deleteExpireData();
List<TagData> selectList(@Param("query") TagData param);
}

39
src/main/java/com/qs/serve/task/TagTask.java

@ -0,0 +1,39 @@
package com.qs.serve.task;
import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.model.consts.RedisCacheKeys;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.modules.his.service.HisUserSupplierTempService;
import com.qs.serve.modules.tag.mapper.TagDataMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.concurrent.TimeUnit;
/**
* @author YenHex
* @since 2023/5/31
*/
@Slf4j
@Component
@AllArgsConstructor
@ConditionalOnProperty(value = "project.task", havingValue = "true")
public class TagTask {
private TagDataMapper tagDataMapper;
/**
* 数据处理10-15分钟清理过期数据
*/
@Scheduled(cron="0 0/1 * * * ?")
public void buildTempTable(){
tagDataMapper.deleteExpireData();
}
}

2
src/main/resources/mapper/goods/GoodsSpuMapper.xml

@ -160,7 +160,7 @@
<if test="query.id != null"> and `goods_spu`.`id` = #{query.id}</if>
<if test="query.spuCode != null and query.spuCode != ''"> and `goods_spu`.`spu_code` like concat('%', #{query.spuCode},'%')</if>
<if test="query.spuCodeOrName != null and query.spuCodeOrName != ''">
and (`goods_spu`.`spu_code` like concat('%', #{query.spuCodeOrName},'%') or `goods_spu`.`spu_code` like concat('%', #{query.spuCodeOrName},'%') )
and (`goods_spu`.`spu_code` like concat('%', #{query.spuCodeOrName},'%') or `goods_spu`.`name` like concat('%', #{query.spuCodeOrName},'%') )
</if>
<if test="query.name != null and query.name != ''"> and `goods_spu`.`name` like concat('%', #{query.name},'%') </if>
<if test="query.categoryFirst != null"> and `goods_spu`.`category_first` = #{query.categoryFirst}</if>

4
src/main/resources/mapper/tag/TagDataMapper.xml

@ -49,6 +49,10 @@
left join tag_info on tag_data.tag_id = tag_info.id
<where>
and tag_info.del_flag = 0 and `tag_data`.del_flag = 0
<if test="query.ignoreDateFlag = null or query.ignoreDateFlag != '1' ">
and (tag_data.start_date is null or tag_data.start_date &gt;= now() )
and (tag_data.end_date is null or tag_data.end_date &lt;= now() )
</if>
<if test="query.id != null"> and `tag_data`.`id` = #{query.id}</if>
<if test="query.tagName != null and query.tagName != ''"> and `tag_data`.`tag_name` = #{query.tagName}</if>
<if test="query.tagId != null"> and `tag_data`.`tag_id` = #{query.tagId}</if>

Loading…
Cancel
Save