diff --git a/src/main/java/org/springblade/modules/jinchao/controller/ExchangeRateController.java b/src/main/java/org/springblade/modules/jinchao/controller/ExchangeRateController.java index 2f9d4e4..f1317c8 100644 --- a/src/main/java/org/springblade/modules/jinchao/controller/ExchangeRateController.java +++ b/src/main/java/org/springblade/modules/jinchao/controller/ExchangeRateController.java @@ -118,7 +118,7 @@ public class ExchangeRateController extends BladeController { } BladeUser user = AuthUtil.getUser(); exchangeRate.setUpdateUser(user.getUserId()); - exchangeRate.setUpdateUserName(user.getNickName()); + exchangeRate.setUpdateUserName(user.getUserName()); exchangeRate.setUpdateTime(new Date()); return R.status(exchangeRateService.save(exchangeRate)); } diff --git a/src/main/java/org/springblade/modules/jinchao/controller/OrderController.java b/src/main/java/org/springblade/modules/jinchao/controller/OrderController.java index d4f3cb8..33a7657 100644 --- a/src/main/java/org/springblade/modules/jinchao/controller/OrderController.java +++ b/src/main/java/org/springblade/modules/jinchao/controller/OrderController.java @@ -57,6 +57,8 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.tool.constant.BladeConstant; + +import java.util.Date; import java.util.Map; import java.util.List; import java.util.Set; @@ -137,6 +139,7 @@ public class OrderController extends BladeController { @ApiOperationSupport(order = 5) @Operation(summary = "修改", description = "传入order") public R update(@Valid @RequestBody OrderEntity order) { + order.setUpdateTime(new Date()); return R.status(orderService.updateById(order)); } diff --git a/src/main/java/org/springblade/modules/jinchao/controller/WaterBillController.java b/src/main/java/org/springblade/modules/jinchao/controller/WaterBillController.java index 9894b8c..ba6ec7e 100644 --- a/src/main/java/org/springblade/modules/jinchao/controller/WaterBillController.java +++ b/src/main/java/org/springblade/modules/jinchao/controller/WaterBillController.java @@ -43,8 +43,10 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.jinchao.excel.WaterBillExcel; +import org.springblade.modules.jinchao.pojo.entity.OrderEntity; import org.springblade.modules.jinchao.pojo.entity.WaterBillEntity; import org.springblade.modules.jinchao.pojo.vo.WaterBillVO; +import org.springblade.modules.jinchao.service.IOrderService; import org.springblade.modules.jinchao.service.IWaterBillService; import org.springblade.modules.jinchao.wrapper.WaterBillWrapper; import org.springframework.web.bind.annotation.*; @@ -71,6 +73,7 @@ import jakarta.servlet.http.HttpServletResponse; public class WaterBillController extends BladeController { private final IWaterBillService waterBillService; + private final IOrderService orderService; /** * 水单表 详情 @@ -111,6 +114,9 @@ public class WaterBillController extends BladeController { @ApiOperationSupport(order = 4) @Operation(summary = "新增", description = "传入waterBill") public R save(@Valid @RequestBody WaterBillEntity waterBill) { + OrderEntity order = orderService.getById(waterBill.getOrderId()); + order.setIsWaterBill("1"); + orderService.updateById(order); waterBill.setCreateUserName(AuthUtil.getUser().getNickName()); return R.status(waterBillService.save(waterBill)); } diff --git a/src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.java b/src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.java index ce014f1..84debb3 100644 --- a/src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.java +++ b/src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.java @@ -69,4 +69,6 @@ public interface CustomerMapper extends BaseMapper { * @return */ List searchPage(IPage page, @Param("q") CustomerSearch search); + + String getMaxCode(@Param("code") String code,@Param("createUser") Long createUser); } diff --git a/src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.xml b/src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.xml index 9a248a9..d491604 100644 --- a/src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.xml +++ b/src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.xml @@ -85,4 +85,15 @@ ORDER BY c.id ASC, c.update_time DESC + + + diff --git a/src/main/java/org/springblade/modules/jinchao/mapper/ExchangeRateHistoryMapper.xml b/src/main/java/org/springblade/modules/jinchao/mapper/ExchangeRateHistoryMapper.xml index 0ddd1ee..8d6b6eb 100644 --- a/src/main/java/org/springblade/modules/jinchao/mapper/ExchangeRateHistoryMapper.xml +++ b/src/main/java/org/springblade/modules/jinchao/mapper/ExchangeRateHistoryMapper.xml @@ -37,7 +37,7 @@ AND target_currency = #{param2.targetCurrency} - + order by create_time desc diff --git a/src/main/java/org/springblade/modules/jinchao/mapper/ProductHistoryMapper.xml b/src/main/java/org/springblade/modules/jinchao/mapper/ProductHistoryMapper.xml index 2c4cf1f..bd9ba0d 100644 --- a/src/main/java/org/springblade/modules/jinchao/mapper/ProductHistoryMapper.xml +++ b/src/main/java/org/springblade/modules/jinchao/mapper/ProductHistoryMapper.xml @@ -26,6 +26,7 @@ AND product_id = #{param2.productId} + order by create_time desc diff --git a/src/main/java/org/springblade/modules/jinchao/mapper/ProductMapper.xml b/src/main/java/org/springblade/modules/jinchao/mapper/ProductMapper.xml index dfd8cc6..443bb9c 100644 --- a/src/main/java/org/springblade/modules/jinchao/mapper/ProductMapper.xml +++ b/src/main/java/org/springblade/modules/jinchao/mapper/ProductMapper.xml @@ -55,6 +55,12 @@ and a.update_time #{product.endTime} + + and d.NAME like concat('%',#{product.catalogOne},'%') + + + and c.NAME like concat('%',#{product.catalogTwo},'%') + diff --git a/src/main/java/org/springblade/modules/jinchao/pojo/entity/CustomerEntity.java b/src/main/java/org/springblade/modules/jinchao/pojo/entity/CustomerEntity.java index d0f4e98..e0eaf9c 100644 --- a/src/main/java/org/springblade/modules/jinchao/pojo/entity/CustomerEntity.java +++ b/src/main/java/org/springblade/modules/jinchao/pojo/entity/CustomerEntity.java @@ -25,6 +25,7 @@ */ package org.springblade.modules.jinchao.pojo.entity; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import io.swagger.v3.oas.annotations.media.Schema; import com.baomidou.mybatisplus.annotation.TableName; @@ -51,7 +52,7 @@ public class CustomerEntity extends TenantEntity { * 客户公司编号 */ @Schema(description = "客户公司编号") - private Long code; + private String code; /** * [客户]类型 */ @@ -92,4 +93,11 @@ public class CustomerEntity extends TenantEntity { */ @Schema(description = "最后一个[订单]id") private Long lastOrderId; + + /** + * 所属国家名称 + */ + @Schema(description = "所属国家名称") + @TableField(exist = false) + private String countryName; } diff --git a/src/main/java/org/springblade/modules/jinchao/pojo/entity/OrderEntity.java b/src/main/java/org/springblade/modules/jinchao/pojo/entity/OrderEntity.java index 7402953..e93d2b1 100644 --- a/src/main/java/org/springblade/modules/jinchao/pojo/entity/OrderEntity.java +++ b/src/main/java/org/springblade/modules/jinchao/pojo/entity/OrderEntity.java @@ -157,7 +157,6 @@ public class OrderEntity extends TenantEntity { @TableField(exist = false) private String paidRate; - @TableField(exist = false) private String isWaterBill; /** @@ -178,5 +177,11 @@ public class OrderEntity extends TenantEntity { @Schema(description = "提成金额") private BigDecimal commissionPrice; + /** + * 合同金额 + */ + @Schema(description = "合同金额") + private BigDecimal contractPrice; + } diff --git a/src/main/java/org/springblade/modules/jinchao/pojo/vo/CustomerVO.java b/src/main/java/org/springblade/modules/jinchao/pojo/vo/CustomerVO.java index ec0446c..0fdae8e 100644 --- a/src/main/java/org/springblade/modules/jinchao/pojo/vo/CustomerVO.java +++ b/src/main/java/org/springblade/modules/jinchao/pojo/vo/CustomerVO.java @@ -76,11 +76,10 @@ public class CustomerVO extends CustomerEntity { * 最近订单状态 */ @Schema(description = "最近订单状态") - private String lastOrderStatusValue = "6--12months"; + private String lastOrderStatusValue; /** * 最近成交时间 */ @Schema(description = "最近成交时间") - private LocalDateTime lastOrderDealDateTime = LocalDateTime. - of(2025, 12, 5, 14, 30, 25); + private String lastOrderDealDateTime; } diff --git a/src/main/java/org/springblade/modules/jinchao/service/impl/CustomerServiceImpl.java b/src/main/java/org/springblade/modules/jinchao/service/impl/CustomerServiceImpl.java index de17f09..b10e20d 100644 --- a/src/main/java/org/springblade/modules/jinchao/service/impl/CustomerServiceImpl.java +++ b/src/main/java/org/springblade/modules/jinchao/service/impl/CustomerServiceImpl.java @@ -26,14 +26,23 @@ package org.springblade.modules.jinchao.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import jakarta.annotation.Resource; import lombok.Data; import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.time.DateFormatUtils; +import org.springblade.common.enums.CommonEnum; +import org.springblade.core.mp.base.BaseEntity; +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.modules.jinchao.constant.BaseCol; import org.springblade.modules.jinchao.constant.ContactConst; +import org.springblade.modules.jinchao.mapper.OrderMapper; import org.springblade.modules.jinchao.pojo.entity.ContactEntity; import org.springblade.modules.jinchao.pojo.entity.CustomerEntity; +import org.springblade.modules.jinchao.pojo.entity.OrderEntity; import org.springblade.modules.jinchao.pojo.request.CustomerSearch; import org.springblade.modules.jinchao.pojo.request.CustomerSubmit; import org.springblade.modules.jinchao.pojo.vo.CustomerVO; @@ -50,8 +59,12 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.temporal.ChronoUnit; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; /** @@ -75,6 +88,8 @@ public class CustomerServiceImpl extends BaseServiceImpl selectCustomerPage(IPage page, CustomerVO customer) { @@ -99,8 +114,9 @@ public class CustomerServiceImpl extends BaseServiceImpl orderList = orderMapper.selectList(Wrappers.lambdaQuery() + .eq(OrderEntity::getCustomerCode,vo.getId()) + .eq(BaseEntity::getStatus, CommonEnum.STATUS_5.getCode()) + .orderByDesc(OrderEntity::getOrderDate) + .last("limit 1")); + if(CollectionUtils.isNotEmpty(orderList)){ + OrderEntity order = orderList.get(0); + vo.setLastOrderDealDateTime(DateFormatUtils.format(order.getUpdateTime(),"yyyy-MM-dd HH:mm:ss")); + long monthCount = Optional.ofNullable(order.getUpdateTime()) + .map(date -> { + ZoneId zoneId = ZoneId.systemDefault(); + LocalDateTime targetLdt = LocalDateTime.ofInstant(date.toInstant(), zoneId); + LocalDateTime nowLdt = LocalDateTime.now(zoneId); + // ChronoUnit.MONTHS直接计算整月间隔 + return ChronoUnit.MONTHS.between(targetLdt, nowLdt); + }) + .orElse(0L); + if(monthCount <= 6L){ + vo.setLastOrderStatusValue("<=6months"); + }else if(monthCount > 6L && monthCount <= 12L){ + vo.setLastOrderStatusValue("6--12months"); + }else if(monthCount > 12L && monthCount <= 24L){ + vo.setLastOrderStatusValue("12--24months"); + }else{ + vo.setLastOrderStatusValue("24+months"); + } + } } @Override @@ -196,4 +239,26 @@ public class CustomerServiceImpl extends BaseServiceImpl()); } + + public String generateOrderCode(CustomerEntity customer){ + String code = ""; + BladeUser user = AuthUtil.getUser(); + //获取最大编号 + String maxCode = baseMapper.getMaxCode(customer.getCountryName()+user.getNickName(),user.getUserId()); + if(maxCode == null){ + code = customer.getCountryName() + user.getNickName() + "001"; + }else{ + int num = Integer.parseInt(maxCode.substring(maxCode.length() - 3)) + 1; + String prefix = maxCode.substring(0,maxCode.length()-3); + if(num < 10){ + code = prefix + "00" + num; + }else if(num >=10 & num <100){ + code = prefix + "0" + num; + }else{ + code = prefix + num; + } + + } + return code; + } } diff --git a/src/main/java/org/springblade/modules/jinchao/service/impl/ExchangeRateServiceImpl.java b/src/main/java/org/springblade/modules/jinchao/service/impl/ExchangeRateServiceImpl.java index a60f4a6..db2ab4c 100644 --- a/src/main/java/org/springblade/modules/jinchao/service/impl/ExchangeRateServiceImpl.java +++ b/src/main/java/org/springblade/modules/jinchao/service/impl/ExchangeRateServiceImpl.java @@ -26,6 +26,7 @@ package org.springblade.modules.jinchao.service.impl; import jakarta.annotation.Resource; +import org.springblade.common.cache.UserCache; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.modules.jinchao.excel.ExchangeRateExcel; @@ -35,6 +36,7 @@ import org.springblade.modules.jinchao.pojo.entity.ExchangeRateHistoryEntity; import org.springblade.modules.jinchao.pojo.vo.ExchangeRateVO; import org.springblade.modules.jinchao.service.IExchangeRateHistoryService; import org.springblade.modules.jinchao.service.IExchangeRateService; +import org.springblade.modules.system.pojo.entity.User; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -73,7 +75,8 @@ public class ExchangeRateServiceImpl extends BaseServiceImpl private final IOrderProjectProductService orderProjectProductService; private final IOrderExtraChargeService orderExtraChargeService; private final IWaterBillService waterBillService; + private final IExchangeRateService exchangeRateService; @Override public IPage selectOrderPage(IPage page, OrderVO order) { @@ -94,13 +96,15 @@ public class OrderServiceImpl extends BaseServiceImpl @Override @Transactional(rollbackFor = Exception.class) public Boolean saveOrder(OrderEntity order) { - BladeUser user = AuthUtil.getUser(); + BladeUser bladeUser = AuthUtil.getUser(); + User user = UserCache.getUser(bladeUser.getUserId()); order.setCode(generateOrderCode(order)); order.setOrderDate(DateFormatUtils.format(new Date(),"yyyy-MM-dd")); order.setRemittedAmount(new BigDecimal(0)); - order.setUnremittedAmount(order.getSellingPrice().subtract(order.getDiscountAmount())); - order.setCreateUserName(user.getUserName()); + order.setCreateUserName(user.getRealName()); order.setCreateDeptName(SysCache.getDeptName(Long.parseLong(user.getDeptId()))); + order.setContractPrice(order.getSellingPrice()); + this.save(order); List orderProjectEntityList = order.getProjectList(); for(OrderProjectEntity project : orderProjectEntityList){ @@ -122,21 +126,26 @@ public class OrderServiceImpl extends BaseServiceImpl Date date = new Date(); //修改之前版本的状态 OrderEntity oldOrder = this.getById(order.getId()); - oldOrder.setStatus(9999); - oldOrder.setUpdateTime(date); - this.updateById(oldOrder); + if(oldOrder != null){ + oldOrder.setStatus(9999); + oldOrder.setUpdateTime(date); + this.updateById(oldOrder); + } //添加新的版本 order.setCode(generateOrderCode(order)); order.setId(null); + order.setContractPrice(order.getSellingPrice()); this.save(order); List orderProjectEntityList = order.getProjectList(); for(OrderProjectEntity project : orderProjectEntityList){ //修改之前版本的状态 if(project.getId() != null){ OrderProjectEntity oldProject = orderProjectService.getById(project.getId()); - oldProject.setStatus(9999); - oldProject.setUpdateTime(date); - orderProjectService.updateById(oldProject); + if(oldProject != null){ + oldProject.setStatus(9999); + oldProject.setUpdateTime(date); + orderProjectService.updateById(oldProject); + } } //添加新的版本 project.setId(null); @@ -146,10 +155,12 @@ public class OrderServiceImpl extends BaseServiceImpl for(OrderProjectProductEntity product : orderProjectProductEntityList){ if(product.getId() != null){ OrderProjectProductEntity oldProduct = orderProjectProductService.getById(product.getId()); - //修改之前版本状态 - oldProduct.setStatus(9999); - oldProduct.setUpdateTime(date); - orderProjectProductService.updateById(oldProduct); + if(oldProduct != null){ + //修改之前版本状态 + oldProduct.setStatus(9999); + oldProduct.setUpdateTime(date); + orderProjectProductService.updateById(oldProduct); + } } //添加新的版本 @@ -166,6 +177,10 @@ public class OrderServiceImpl extends BaseServiceImpl @Override public OrderEntity detail(OrderEntity order) { order = this.getById(order.getId()); + ExchangeRateEntity exchangeRate = exchangeRateService.getOne(Wrappers.lambdaQuery().eq(ExchangeRateEntity::getTargetCurrency,order.getMonetaryUnit())); + if(exchangeRate != null){ + order.setDiscountAmount(order.getDiscountAmount().divide(exchangeRate.getRate(),0, RoundingMode.UP)); + } List projectList = orderProjectService.list(Wrappers.lambdaQuery().eq(OrderProjectEntity::getOrderId,order.getId())); projectList.forEach(project ->{ List productList = orderProjectProductService.list(Wrappers.lambdaQuery().eq(OrderProjectProductEntity::getProjectId,project.getId())); @@ -219,15 +234,21 @@ public class OrderServiceImpl extends BaseServiceImpl @Override @Transactional(rollbackFor = Exception.class) public Boolean approve(OrderEntity order) { - order.setUpdateUserName(AuthUtil.getUser().getNickName()); - order.setUpdateTime(new Date()); - this.updateById(order); + BladeUser bladeUser = AuthUtil.getUser(); + User user = UserCache.getUser(bladeUser.getUserId()); + BigDecimal chargePrice = new BigDecimal(0); if(CollectionUtils.isNotEmpty(order.getExtraChargeList())){ for(OrderExtraChargeEntity charge : order.getExtraChargeList()){ charge.setOrderId(order.getId()); orderExtraChargeService.save(charge); + chargePrice = chargePrice.add(charge.getPrice()); } } + order.setContractPrice(order.getSellingPrice().add(chargePrice)); + exchangeRate(order); + order.setUpdateUserName(user.getRealName()); + order.setUpdateTime(new Date()); + this.updateById(order); return true; } @@ -349,4 +370,13 @@ public class OrderServiceImpl extends BaseServiceImpl return code; } + public OrderEntity exchangeRate(OrderEntity order){ + ExchangeRateEntity exchangeRate = exchangeRateService.getOne(Wrappers.lambdaQuery().eq(ExchangeRateEntity::getTargetCurrency,order.getMonetaryUnit())); + if(exchangeRate != null){ + order.setContractPrice(order.getContractPrice().multiply(exchangeRate.getRate())); + } + order.setUnremittedAmount(order.getContractPrice().subtract(order.getRemittedAmount())); + return order; + } + } diff --git a/src/main/java/org/springblade/modules/jinchao/service/impl/ProductServiceImpl.java b/src/main/java/org/springblade/modules/jinchao/service/impl/ProductServiceImpl.java index 03306ae..99a8c57 100644 --- a/src/main/java/org/springblade/modules/jinchao/service/impl/ProductServiceImpl.java +++ b/src/main/java/org/springblade/modules/jinchao/service/impl/ProductServiceImpl.java @@ -36,6 +36,7 @@ import lombok.EqualsAndHashCode; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.velocity.runtime.directive.Break; +import org.springblade.common.cache.UserCache; import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; @@ -123,6 +124,7 @@ public class ProductServiceImpl extends BaseServiceImpl> list(Map map, Query query) { + BladeUser user = AuthUtil.getUser(); Long customerId = map.get("customerId") == null ? null : Long.parseLong(map.get("customerId").toString()); Long catalogId = Long.parseLong((String) map.get("catalogId")); // 是Id [坏笑]。不是ld if (catalogId == null || catalogId == 0L) { @@ -140,6 +142,7 @@ public class ProductServiceImpl extends BaseServiceImpl pagesVO = Condition.getPage(query); pagesVO.setRecords(listVO); pagesVO.setSize(listVO.size()); - // 迭代器去添加元素。 - ListIterator it = pagesVO.getRecords().listIterator(); - while (it.hasNext()) { - ProductVO vo1 = it.next(); - // 默认 - vo1.setBizType(ProductConst.BIZ_TYPE_PRICE_STANDARD); - // TYPE_PRICE_CUSTOM 数据是拼接上的 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); - wrapper.eq(BizPriceEntity::getProductId,vo1.getId()); - if(customerId != null){ - wrapper.eq(BizPriceEntity::getCustomerId,customerId); - } - long count = bizPriceService.count(wrapper); - if (count != 0L) { - List listBP = bizPriceService.listByProductId(vo1.getId(),customerId); - listBP.forEach(bp -> { - ProductVO vo2 = new ProductVO(); - BeanUtils.copyProperties(vo1, vo2); - BeanUtils.copyProperties(bp, vo2); - vo2.setId(vo1.getId()); - // 特定价 - vo2.setBizType(ProductConst.BIZ_TYPE_PRICE_CUSTOM); - vo2.setBizPriceId(bp.getId()); - vo2.setStandardPrice(bp.getBizPrice()); - // - CustomerEntity customer = customerService.getById(bp.getCustomerId()); - if (customer != null) { - String countryValue = dictService.getValue(ContactConst.DICT_CUSTOMER_COUNTRY, customer.getCountry()); - String sbRemark = - countryValue + - customer.getCompanyName() + - "专用"; - vo2.setBizRemark(sbRemark); - vo2.setCustomerCompanyName(customer.getCompanyName()); - } - { - User u = userService.getById(vo2.getSaleUserId()); - if (u != null) { - vo2.setSaleUserRealName(u.getRealName()); + if(user.getRoleName().equals("administrator")){ + // 迭代器去添加元素。 + ListIterator it = pagesVO.getRecords().listIterator(); + while (it.hasNext()) { + ProductVO vo1 = it.next(); + // 默认 + vo1.setBizType(ProductConst.BIZ_TYPE_PRICE_STANDARD); + // TYPE_PRICE_CUSTOM 数据是拼接上的 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(BizPriceEntity::getProductId,vo1.getId()); + if(customerId != null){ + wrapper.eq(BizPriceEntity::getCustomerId,customerId); + } + long count = bizPriceService.count(wrapper); + if (count != 0L) { + List listBP = bizPriceService.listByProductId(vo1.getId(),customerId); + listBP.forEach(bp -> { + ProductVO vo2 = new ProductVO(); + BeanUtils.copyProperties(vo1, vo2); + BeanUtils.copyProperties(bp, vo2); + vo2.setId(vo1.getId()); + // 特定价 + vo2.setBizType(ProductConst.BIZ_TYPE_PRICE_CUSTOM); + vo2.setBizPriceId(bp.getId()); + vo2.setStandardPrice(bp.getBizPrice()); + // + CustomerEntity customer = customerService.getById(bp.getCustomerId()); + if (customer != null) { + String countryValue = dictService.getValue(ContactConst.DICT_CUSTOMER_COUNTRY, customer.getCountry()); + String sbRemark = + countryValue + + customer.getCompanyName() + + "专用"; + vo2.setBizRemark(sbRemark); + vo2.setCustomerCompanyName(customer.getCompanyName()); } - } - it.add(vo2); - }); - } else { - log.info("not contain."); + { + User u = userService.getById(vo2.getSaleUserId()); + if (u != null) { + vo2.setSaleUserRealName(u.getRealName()); + } + } + it.add(vo2); + }); + } else { + log.info("not contain."); + } } } + //筛选 if(map.get("nameCn") != null || map.get("bizRemark") != null){ IPage pagesVO1 = Condition.getPage(query); @@ -384,6 +390,8 @@ public class ProductServiceImpl extends BaseServiceImpl 0){ order.setSettleStatus(2); //部分结算 }else{ diff --git a/src/main/java/org/springblade/modules/system/controller/DeptController.java b/src/main/java/org/springblade/modules/system/controller/DeptController.java index e0fefd5..a4d8350 100644 --- a/src/main/java/org/springblade/modules/system/controller/DeptController.java +++ b/src/main/java/org/springblade/modules/system/controller/DeptController.java @@ -82,7 +82,7 @@ public class DeptController extends BladeController { /** * 详情 */ - @PreAuth(menu = "dept") +// @PreAuth(menu = "dept") @GetMapping("/detail") @ApiOperationSupport(order = 1) @Operation(summary = "详情", description = "传入dept") @@ -94,7 +94,7 @@ public class DeptController extends BladeController { /** * 列表 */ - @PreAuth(menu = "dept") +// @PreAuth(menu = "dept") @GetMapping("/list") @Parameters({ @Parameter(name = "deptName", description = "部门名称", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @@ -111,7 +111,7 @@ public class DeptController extends BladeController { /** * 懒加载列表 */ - @PreAuth(menu = "dept") +// @PreAuth(menu = "dept") @GetMapping("/lazy-list") @Parameters({ @Parameter(name = "deptName", description = "部门名称", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @@ -139,7 +139,7 @@ public class DeptController extends BladeController { /** * 懒加载获取部门树形结构 */ - @PreAuth(menu = "dept") +// @PreAuth(menu = "dept") @GetMapping("/lazy-tree") @ApiOperationSupport(order = 5) @Operation(summary = "懒加载树形结构", description = "树形结构") @@ -151,7 +151,7 @@ public class DeptController extends BladeController { /** * 新增或修改 */ - @IsAdmin +// @IsAdmin @PostMapping("/submit") @ApiOperationSupport(order = 6) @Operation(summary = "新增或修改", description = "传入dept") @@ -170,7 +170,7 @@ public class DeptController extends BladeController { /** * 删除 */ - @IsAdmin +// @IsAdmin @PostMapping("/remove") @ApiOperationSupport(order = 7) @Operation(summary = "删除", description = "传入ids") @@ -183,7 +183,7 @@ public class DeptController extends BladeController { /** * 下拉数据源 */ - @PreAuth(AuthConstant.PERMIT_ALL) +// @PreAuth(AuthConstant.PERMIT_ALL) @GetMapping("/select") @ApiOperationSupport(order = 8) @Operation(summary = "下拉数据源", description = "传入id集合") @@ -199,7 +199,7 @@ public class DeptController extends BladeController { /** * 获取部门的主管信息 */ - @IsAdmin +// @IsAdmin @GetMapping("/dept-leader-info") @ApiOperationSupport(order = 9) @Operation(summary = "获取部门的主管信息", description = "传入deptId") diff --git a/src/main/java/org/springblade/modules/system/controller/PostController.java b/src/main/java/org/springblade/modules/system/controller/PostController.java index 361f223..cd70ce3 100644 --- a/src/main/java/org/springblade/modules/system/controller/PostController.java +++ b/src/main/java/org/springblade/modules/system/controller/PostController.java @@ -61,7 +61,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; @NonDS @RestController @AllArgsConstructor -@PreAuth(menu = "post") +//@PreAuth(menu = "post") @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/post") @Tag(name = "岗位", description = "岗位") public class PostController extends BladeController { diff --git a/src/main/java/org/springblade/modules/system/controller/RoleController.java b/src/main/java/org/springblade/modules/system/controller/RoleController.java index b4a878f..fe8345d 100644 --- a/src/main/java/org/springblade/modules/system/controller/RoleController.java +++ b/src/main/java/org/springblade/modules/system/controller/RoleController.java @@ -77,7 +77,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; @NonDS @RestController @AllArgsConstructor -@IsAdmin +//@IsAdmin @RequestMapping(AppConstant.APPLICATION_SYSTEM_NAME + "/role") @Slf4j @Tag(name = "角色", description = "角色") diff --git a/src/main/java/org/springblade/modules/system/controller/UserController.java b/src/main/java/org/springblade/modules/system/controller/UserController.java index fe4b74f..17b4f10 100644 --- a/src/main/java/org/springblade/modules/system/controller/UserController.java +++ b/src/main/java/org/springblade/modules/system/controller/UserController.java @@ -28,6 +28,7 @@ package org.springblade.modules.system.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -406,12 +407,15 @@ public class UserController { public R> getSaleUserList() { List list = new ArrayList<>(); List userList = userService.list(); - userList.forEach(user ->{ - Role role = roleService.getById(user.getRoleId()); - if(role.getRoleName().equals("业务员")){ - list.add(user); + for(User user : userList){ + List roleIds = Arrays.asList(user.getRoleId().split(",")); + List roleList = roleService.list(Wrappers.lambdaQuery().in(Role::getId,roleIds)); + for(Role role : roleList){ + if(role.getRoleName().equals("业务员")){ + list.add(user); + } } - }); + } return R.data(list); } }