|
|
@@ -28,13 +28,15 @@ import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springblade.client.corps.excel.CorpDWTExcel;
|
|
|
import org.springblade.client.corps.service.ICorpsAttnService;
|
|
|
import org.springblade.client.corps.service.ICorpsDescService;
|
|
|
import org.springblade.client.entity.*;
|
|
|
import org.springblade.client.feign.IRedisClient;
|
|
|
import org.springblade.client.goods.enums.GoodsTypeEnum;
|
|
|
-import org.springblade.client.goods.excel.*;
|
|
|
+import org.springblade.client.goods.excel.GoodsExcels;
|
|
|
+import org.springblade.client.goods.excel.GoodsInfoExcel;
|
|
|
+import org.springblade.client.goods.excel.GoodsOutDWTExcel;
|
|
|
+import org.springblade.client.goods.excel.GoodsOutExcel;
|
|
|
import org.springblade.client.goods.mapper.GoodsFilesMapper;
|
|
|
import org.springblade.client.goods.service.*;
|
|
|
import org.springblade.client.vo.GoodsDescVO;
|
|
|
@@ -49,7 +51,6 @@ import org.springblade.core.tool.utils.BeanUtil;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.core.tool.utils.StringUtil;
|
|
|
import org.springblade.mocha.entity.PriceBank;
|
|
|
-
|
|
|
import org.springblade.mocha.feign.IPriceBankClient;
|
|
|
import org.springblade.mocha.feign.ISalesPolicyClient;
|
|
|
import org.springblade.purchase.sales.entity.OrderItems;
|
|
|
@@ -235,7 +236,7 @@ public class GoodsDescController extends BladeController {
|
|
|
e.setShoppingMall(finalShoppingMall);
|
|
|
|
|
|
List<StockGoods> stockGoodsList = stockGoodsClient.selectListByGoodsId(e.getId());
|
|
|
- if (ObjectUtils.isNotNull(stockGoodsList) && stockGoodsList.size()>0){
|
|
|
+ if (ObjectUtils.isNotNull(stockGoodsList) && stockGoodsList.size() > 0) {
|
|
|
e.setStockGoodsNumber(stockGoodsList.stream().map(StockGoods::getBalanceQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
}
|
|
|
});
|
|
|
@@ -243,23 +244,95 @@ public class GoodsDescController extends BladeController {
|
|
|
return R.data(iPage);
|
|
|
}
|
|
|
|
|
|
+ @GetMapping("/descListNew")
|
|
|
+ @ApiOperationSupport(order = 2)
|
|
|
+ @ApiOperation(value = "分页", notes = "传入goodsDesc")
|
|
|
+ public R<?> descListNew(@RequestParam(name = "current", defaultValue = "1") Integer current,
|
|
|
+ @RequestParam(name = "size", defaultValue = "10") Integer size,
|
|
|
+ @RequestParam(name = "cname", required = false) String cname,
|
|
|
+ @RequestParam(name = "cnameInt", required = false) String cnameInt,
|
|
|
+ @RequestParam(name = "ename", required = false) String ename,
|
|
|
+ @RequestParam(name = "code", required = false) String code,
|
|
|
+ @RequestParam(name = "goodsTypeId", required = false) String goodsTypeId,
|
|
|
+ @RequestParam(name = "belongToCorpId", required = false) String belongToCorpId,
|
|
|
+ @RequestParam(name = "status", required = false) String status,
|
|
|
+ @RequestParam(name = "unit", required = false) String unit,
|
|
|
+ @RequestParam(name = "remarks", required = false) String remarks,
|
|
|
+ @RequestParam(name = "upperFrame", required = false) String upperFrame,
|
|
|
+ @RequestParam(name = "label", required = false) String label,
|
|
|
+ @RequestParam(name = "categoryitem", required = false) String categoryitem,
|
|
|
+ @RequestParam(name = "artsVision", required = false) String artsVision) {
|
|
|
+ LambdaQueryWrapper<GoodsDesc> goodsDescLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+
|
|
|
+ //指定分类为一级分类,查询此分类所有二级分类的商品
|
|
|
+ if (StringUtils.isNotBlank(goodsTypeId)) {
|
|
|
+ Long goodsId = Long.parseLong(goodsTypeId);
|
|
|
+ List<Long> goodsIdList = new ArrayList<>();
|
|
|
+ selectChildById(goodsId, goodsIdList);
|
|
|
+ goodsIdList.add(goodsId);
|
|
|
+
|
|
|
+ goodsDescLambdaQueryWrapper.in(GoodsDesc::getGoodsTypeId, goodsIdList);
|
|
|
+ }
|
|
|
+ goodsDescLambdaQueryWrapper.like(!StringUtils.isBlank(cname), GoodsDesc::getCname, cname);
|
|
|
+ goodsDescLambdaQueryWrapper.like(!StringUtils.isBlank(cnameInt), GoodsDesc::getCnameInt, cnameInt);
|
|
|
+ goodsDescLambdaQueryWrapper.like(!StringUtils.isBlank(ename), GoodsDesc::getEname, ename);
|
|
|
+ goodsDescLambdaQueryWrapper.like(!StringUtils.isBlank(code), GoodsDesc::getCode, code);
|
|
|
+ goodsDescLambdaQueryWrapper.like(!StringUtils.isBlank(label), GoodsDesc::getCode, label);
|
|
|
+ goodsDescLambdaQueryWrapper.like(!StringUtils.isBlank(remarks), GoodsDesc::getCode, remarks);
|
|
|
+ goodsDescLambdaQueryWrapper.eq(GoodsDesc::getTenantId, AuthUtil.getTenantId());
|
|
|
+ goodsDescLambdaQueryWrapper.eq(GoodsDesc::getType, 0);
|
|
|
+ goodsDescLambdaQueryWrapper.eq(ObjectUtils.isNotNull(status), GoodsDesc::getStatus, status);
|
|
|
+ goodsDescLambdaQueryWrapper.eq(ObjectUtils.isNotNull(unit), GoodsDesc::getUnit, unit);
|
|
|
+ goodsDescLambdaQueryWrapper.eq(ObjectUtils.isNotNull(categoryitem), GoodsDesc::getCategoryitem, categoryitem);
|
|
|
+ goodsDescLambdaQueryWrapper.eq(ObjectUtils.isNotNull(upperFrame), GoodsDesc::getUpperFrame, upperFrame);
|
|
|
+ if (StringUtils.isNotEmpty(artsVision)) {
|
|
|
+ goodsDescLambdaQueryWrapper.and(i -> i.like(GoodsDesc::getArtsVision, artsVision).or().isNull(GoodsDesc::getArtsVision));
|
|
|
+ }
|
|
|
+ goodsDescLambdaQueryWrapper.orderByDesc(GoodsDesc::getCreateTime);
|
|
|
+ Page<GoodsDesc> page = new Page<>(current, size);
|
|
|
+ List<GoodsType> types = goodsDescType.list(new LambdaQueryWrapper<GoodsType>()
|
|
|
+ .eq(GoodsType::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(GoodsType::getIsDeleted, 0));
|
|
|
+ List<String> typeIds = new ArrayList<>();
|
|
|
+ for (GoodsType item : types) {
|
|
|
+ typeIds.add(item.getId() + "");
|
|
|
+ }
|
|
|
+ IPage<GoodsDesc> iPage = goodsDescService.page(page, goodsDescLambdaQueryWrapper);
|
|
|
+ if (CollectionUtils.isNotEmpty(iPage.getRecords())) {
|
|
|
+ iPage.getRecords().forEach(e -> {
|
|
|
+ String typeId = e.getGoodsTypeId();
|
|
|
+ String[] split = typeId.split(",");
|
|
|
+ List<String> stringList = Arrays.asList(split);
|
|
|
+ typeIds.retainAll(stringList);
|
|
|
+ if (CollectionUtils.isNotEmpty(typeIds)) {
|
|
|
+ String goodsTypeName = "";
|
|
|
+ for (String item : typeIds) {
|
|
|
+ goodsTypeName = types.stream().filter(i -> i.getId().equals(Long.parseLong(item))).findFirst().orElse(new GoodsType()).getCname() + ",";
|
|
|
+ }
|
|
|
+ e.setGoodsTypeName(goodsTypeName);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return R.data(iPage);
|
|
|
+ }
|
|
|
+
|
|
|
@GetMapping("/export")
|
|
|
@ApiOperationSupport(order = 2)
|
|
|
@ApiOperation(value = "分页", notes = "传入goodsDesc")
|
|
|
public void export(
|
|
|
- @RequestParam(name = "cname", required = false) String cname,
|
|
|
- @RequestParam(name = "cnameInt", required = false) String cnameInt,
|
|
|
- @RequestParam(name = "ename", required = false) String ename,
|
|
|
- @RequestParam(name = "code", required = false) String code,
|
|
|
- @RequestParam(name = "goodsTypeId", required = false) String goodsTypeId,
|
|
|
- @RequestParam(name = "belongToCorpId", required = false) String belongToCorpId,
|
|
|
- @RequestParam(name = "status", required = false) String status,
|
|
|
- @RequestParam(name = "unit", required = false) String unit,
|
|
|
- @RequestParam(name = "remarks", required = false) String remarks,
|
|
|
- @RequestParam(name = "upperFrame", required = false) String upperFrame,
|
|
|
- @RequestParam(name = "label", required = false) String label,
|
|
|
- @RequestParam(name = "artsVision", required = false) String artsVision,
|
|
|
- HttpServletResponse response) {
|
|
|
+ @RequestParam(name = "cname", required = false) String cname,
|
|
|
+ @RequestParam(name = "cnameInt", required = false) String cnameInt,
|
|
|
+ @RequestParam(name = "ename", required = false) String ename,
|
|
|
+ @RequestParam(name = "code", required = false) String code,
|
|
|
+ @RequestParam(name = "goodsTypeId", required = false) String goodsTypeId,
|
|
|
+ @RequestParam(name = "belongToCorpId", required = false) String belongToCorpId,
|
|
|
+ @RequestParam(name = "status", required = false) String status,
|
|
|
+ @RequestParam(name = "unit", required = false) String unit,
|
|
|
+ @RequestParam(name = "remarks", required = false) String remarks,
|
|
|
+ @RequestParam(name = "upperFrame", required = false) String upperFrame,
|
|
|
+ @RequestParam(name = "label", required = false) String label,
|
|
|
+ @RequestParam(name = "artsVision", required = false) String artsVision,
|
|
|
+ HttpServletResponse response) {
|
|
|
LambdaQueryWrapper<GoodsDesc> goodsDescLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
|
//指定分类为一级分类,查询此分类所有二级分类的商品
|
|
|
@@ -499,12 +572,12 @@ public class GoodsDescController extends BladeController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (ObjectUtils.isNotNull(list)){
|
|
|
+ if (ObjectUtils.isNotNull(list)) {
|
|
|
PriceBank bank = list.stream().filter(priceBank -> priceBank.getItemId().equals(e.getId())).findFirst().orElse(null);
|
|
|
- if (ObjectUtils.isNotNull(bank)){
|
|
|
- if (ObjectUtils.isNotNull(bank.getPrice())){
|
|
|
+ if (ObjectUtils.isNotNull(bank)) {
|
|
|
+ if (ObjectUtils.isNotNull(bank.getPrice())) {
|
|
|
e.setDisplayPrice(bank.getPrice());
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
e.setDisplayPrice(BigDecimal.ZERO);
|
|
|
}
|
|
|
}
|
|
|
@@ -705,19 +778,19 @@ public class GoodsDescController extends BladeController {
|
|
|
lambdaQueryWrapper.in(GoodsDesc::getGoodsTypeId, goodsIdList);
|
|
|
}
|
|
|
String shoppingMall = "";
|
|
|
- if (ObjectUtils.isNotNull(corpId)){
|
|
|
+ if (ObjectUtils.isNotNull(corpId)) {
|
|
|
CorpsDesc corpsDesc = corpsDescService.getById(Long.parseLong(corpId));
|
|
|
if (ObjectUtils.isNull(corpsDesc)) {
|
|
|
throw new RuntimeException("未查到用户信息");
|
|
|
} else {
|
|
|
shoppingMall = corpsDesc.getShoppingMall();
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
if (AuthUtil.getUserRole().equals("客户")) {
|
|
|
CorpsAttn corpsAttn = corpsAttnService.getOne(new LambdaQueryWrapper<CorpsAttn>()
|
|
|
- .eq(CorpsAttn::getIsDeleted,0)
|
|
|
- .eq(CorpsAttn::getTenantId,AuthUtil.getTenantId())
|
|
|
- .eq(CorpsAttn::getUserId,AuthUtil.getUserId()));
|
|
|
+ .eq(CorpsAttn::getIsDeleted, 0)
|
|
|
+ .eq(CorpsAttn::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(CorpsAttn::getUserId, AuthUtil.getUserId()));
|
|
|
if (ObjectUtils.isNull(corpsAttn)) {
|
|
|
throw new RuntimeException("未查到用户信息");
|
|
|
} else {
|
|
|
@@ -819,8 +892,8 @@ public class GoodsDescController extends BladeController {
|
|
|
@ApiOperation(value = "分页", notes = "传入goodsDesc")
|
|
|
public R<?> descListByCname(GoodsDesc goodsDesc) {
|
|
|
LambdaQueryWrapper<GoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(GoodsDesc::getIsDeleted,0).eq(GoodsDesc::getTenantId,AuthUtil.getTenantId())
|
|
|
- .like(ObjectUtils.isNotNull(goodsDesc.getCname()),GoodsDesc::getCname,goodsDesc.getCname());
|
|
|
+ lambdaQueryWrapper.eq(GoodsDesc::getIsDeleted, 0).eq(GoodsDesc::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .like(ObjectUtils.isNotNull(goodsDesc.getCname()), GoodsDesc::getCname, goodsDesc.getCname());
|
|
|
List<GoodsDesc> iPage = goodsDescService.list(lambdaQueryWrapper);
|
|
|
return R.data(iPage);
|
|
|
}
|