功能开发

master
sunjianxi 2 months ago
parent 86c9d710a8
commit 4d4ea15660
  1. 2
      src/main/java/org/springblade/modules/jinchao/controller/ExchangeRateController.java
  2. 3
      src/main/java/org/springblade/modules/jinchao/controller/OrderController.java
  3. 6
      src/main/java/org/springblade/modules/jinchao/controller/WaterBillController.java
  4. 2
      src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.java
  5. 11
      src/main/java/org/springblade/modules/jinchao/mapper/CustomerMapper.xml
  6. 2
      src/main/java/org/springblade/modules/jinchao/mapper/ExchangeRateHistoryMapper.xml
  7. 1
      src/main/java/org/springblade/modules/jinchao/mapper/ProductHistoryMapper.xml
  8. 6
      src/main/java/org/springblade/modules/jinchao/mapper/ProductMapper.xml
  9. 10
      src/main/java/org/springblade/modules/jinchao/pojo/entity/CustomerEntity.java
  10. 7
      src/main/java/org/springblade/modules/jinchao/pojo/entity/OrderEntity.java
  11. 5
      src/main/java/org/springblade/modules/jinchao/pojo/vo/CustomerVO.java
  12. 67
      src/main/java/org/springblade/modules/jinchao/service/impl/CustomerServiceImpl.java
  13. 11
      src/main/java/org/springblade/modules/jinchao/service/impl/ExchangeRateServiceImpl.java
  14. 62
      src/main/java/org/springblade/modules/jinchao/service/impl/OrderServiceImpl.java
  15. 102
      src/main/java/org/springblade/modules/jinchao/service/impl/ProductServiceImpl.java
  16. 4
      src/main/java/org/springblade/modules/jinchao/service/impl/RemittanceRecordServiceImpl.java
  17. 16
      src/main/java/org/springblade/modules/system/controller/DeptController.java
  18. 2
      src/main/java/org/springblade/modules/system/controller/PostController.java
  19. 2
      src/main/java/org/springblade/modules/system/controller/RoleController.java
  20. 14
      src/main/java/org/springblade/modules/system/controller/UserController.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));
}

@ -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));
}

@ -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));
}

@ -69,4 +69,6 @@ public interface CustomerMapper extends BaseMapper<CustomerEntity> {
* @return
*/
List<CustomerVO> searchPage(IPage page, @Param("q") CustomerSearch search);
String getMaxCode(@Param("code") String code,@Param("createUser") Long createUser);
}

@ -85,4 +85,15 @@
ORDER BY c.id ASC,
c.update_time DESC
</select>
<select id="getMaxCode" resultType="java.lang.String">
SELECT
max( CODE )
FROM
jc_customer
WHERE
create_user = #{createUser}
and code like concat('%',#{code},'%')
</select>
</mapper>

@ -37,7 +37,7 @@
AND target_currency = #{param2.targetCurrency}
</if>
</where>
order by create_time desc
</select>

@ -26,6 +26,7 @@
AND product_id = #{param2.productId}
</if>
</where>
order by create_time desc
</select>

@ -55,6 +55,12 @@
<if test="product.endTime !=null and product.endTime != ''">
and a.update_time <![CDATA[ <= ]]> #{product.endTime}
</if>
<if test="product.catalogOne !=null and product.catalogOne != ''">
and d.NAME like concat('%',#{product.catalogOne},'%')
</if>
<if test="product.catalogTwo !=null and product.catalogTwo != ''">
and c.NAME like concat('%',#{product.catalogTwo},'%')
</if>
</where>
</select>

@ -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;
}

@ -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;
}

@ -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;
}

@ -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<CustomerMapper, Custome
private IDictService dictService;
@Resource
private IUserService userService;
@Resource
private OrderMapper orderMapper;
@Override
public IPage<CustomerVO> selectCustomerPage(IPage<CustomerVO> page, CustomerVO customer) {
@ -99,8 +114,9 @@ public class CustomerServiceImpl extends BaseServiceImpl<CustomerMapper, Custome
CustomerEntity c = new CustomerEntity();
BeanUtils.copyProperties(submit, c);
{
c.setCode(getCount() + 1L);
c.setCode(generateOrderCode(c));
}
boolean save = save(c);
for (int i = 0; i < submit.getContacts().size(); i++) {// 每一个ContactEntity
ContactEntity co = submit.getContacts().get(i);
@ -180,6 +196,33 @@ public class CustomerServiceImpl extends BaseServiceImpl<CustomerMapper, Custome
vo.setCreateUserRealName(uC.getRealName());
}
}
List<OrderEntity> orderList = orderMapper.selectList(Wrappers.<OrderEntity>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<CustomerMapper, Custome
public Long getCount() {
return baseMapper.selectCount(new QueryWrapper<>());
}
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;
}
}

@ -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<ExchangeRateMapper,
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateRate(ExchangeRateEntity entity) {
BladeUser user = AuthUtil.getUser();
BladeUser bladeUser = AuthUtil.getUser();
User user = UserCache.getUser(bladeUser.getUserId());
ExchangeRateEntity old = this.getById(entity.getId());
ExchangeRateHistoryEntity history = new ExchangeRateHistoryEntity();
history.setExchangeRateId(old.getId());
@ -84,10 +87,10 @@ public class ExchangeRateServiceImpl extends BaseServiceImpl<ExchangeRateMapper,
history.setRateOld(old.getRate());
history.setRate(entity.getRate());
history.setRemarks(entity.getRemarks());
history.setCreateUserName(user.getUserName());
history.setCreateUserName(user.getRealName());
exchangeRateHistoryService.save(history);
entity.setUpdateUser(user.getUserId());
entity.setUpdateUserName(user.getNickName());
entity.setUpdateUser(bladeUser.getUserId());
entity.setUpdateUserName(user.getRealName());
entity.setUpdateTime(new Date());
return this.updateById(entity);
}

@ -32,6 +32,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springblade.common.cache.SysCache;
import org.springblade.common.cache.UserCache;
import org.springblade.common.enums.CommonEnum;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.secure.BladeUser;
@ -67,6 +68,7 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity>
private final IOrderProjectProductService orderProjectProductService;
private final IOrderExtraChargeService orderExtraChargeService;
private final IWaterBillService waterBillService;
private final IExchangeRateService exchangeRateService;
@Override
public IPage<OrderVO> selectOrderPage(IPage<OrderVO> page, OrderVO order) {
@ -94,13 +96,15 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity>
@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<OrderProjectEntity> orderProjectEntityList = order.getProjectList();
for(OrderProjectEntity project : orderProjectEntityList){
@ -122,21 +126,26 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity>
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<OrderProjectEntity> 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<OrderMapper, OrderEntity>
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<OrderMapper, OrderEntity>
@Override
public OrderEntity detail(OrderEntity order) {
order = this.getById(order.getId());
ExchangeRateEntity exchangeRate = exchangeRateService.getOne(Wrappers.<ExchangeRateEntity>lambdaQuery().eq(ExchangeRateEntity::getTargetCurrency,order.getMonetaryUnit()));
if(exchangeRate != null){
order.setDiscountAmount(order.getDiscountAmount().divide(exchangeRate.getRate(),0, RoundingMode.UP));
}
List<OrderProjectEntity> projectList = orderProjectService.list(Wrappers.<OrderProjectEntity>lambdaQuery().eq(OrderProjectEntity::getOrderId,order.getId()));
projectList.forEach(project ->{
List<OrderProjectProductEntity> productList = orderProjectProductService.list(Wrappers.<OrderProjectProductEntity>lambdaQuery().eq(OrderProjectProductEntity::getProjectId,project.getId()));
@ -219,15 +234,21 @@ public class OrderServiceImpl extends BaseServiceImpl<OrderMapper, OrderEntity>
@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<OrderMapper, OrderEntity>
return code;
}
public OrderEntity exchangeRate(OrderEntity order){
ExchangeRateEntity exchangeRate = exchangeRateService.getOne(Wrappers.<ExchangeRateEntity>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;
}
}

@ -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<ProductMapper, ProductEn
@Override
public R<IPage<ProductVO>> list(Map<String, Object> 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<ProductMapper, ProductEn
if (p != null) {
ProductVO vo = ProductWrapper.build().entityVO(p);
vo.setCatalogId(catalogId);
vo.setBizType(ProductConst.BIZ_TYPE_PRICE_STANDARD);
CatalogEntity catalogTwo = catalogService.getById(vo.getCatalogId());
CatalogEntity catalogOne = catalogService.getById(catalogTwo.getParentId());
vo.setCatalogOne(catalogOne.getName());
@ -151,53 +154,56 @@ public class ProductServiceImpl extends BaseServiceImpl<ProductMapper, ProductEn
IPage<ProductVO> pagesVO = Condition.getPage(query);
pagesVO.setRecords(listVO);
pagesVO.setSize(listVO.size());
// 迭代器去添加元素。
ListIterator<ProductVO> it = pagesVO.getRecords().listIterator();
while (it.hasNext()) {
ProductVO vo1 = it.next();
// 默认
vo1.setBizType(ProductConst.BIZ_TYPE_PRICE_STANDARD);
// TYPE_PRICE_CUSTOM 数据是拼接上的
LambdaQueryWrapper<BizPriceEntity> 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<BizPriceEntity> 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<ProductVO> it = pagesVO.getRecords().listIterator();
while (it.hasNext()) {
ProductVO vo1 = it.next();
// 默认
vo1.setBizType(ProductConst.BIZ_TYPE_PRICE_STANDARD);
// TYPE_PRICE_CUSTOM 数据是拼接上的
LambdaQueryWrapper<BizPriceEntity> 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<BizPriceEntity> 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<ProductVO> pagesVO1 = Condition.getPage(query);
@ -384,6 +390,8 @@ public class ProductServiceImpl extends BaseServiceImpl<ProductMapper, ProductEn
@Override
public Boolean updateCostPrice(ProductEntity product) {
BladeUser bladeUser = AuthUtil.getUser();
User user = UserCache.getUser(bladeUser.getUserId());
ProductEntity old = this.getById(product.getId());
Double costPriceOld = old.getCostPrice();
Double costPrice = product.getCostPrice();
@ -393,7 +401,7 @@ public class ProductServiceImpl extends BaseServiceImpl<ProductMapper, ProductEn
history.setCostPrice(costPrice);
history.setRemarks(product.getRemarkCn());
history.setCreateTime(new Date());
history.setCreateUserName(AuthUtil.getUser().getNickName());
history.setCreateUserName(user.getRealName());
productHistoryService.save(history);
product.setUpdateTime(new Date());
this.updateById(product);
@ -414,7 +422,7 @@ public class ProductServiceImpl extends BaseServiceImpl<ProductMapper, ProductEn
if (productObjService.existsCode(vo.getCode())) {
return R.fail("已经存在产品实物编号:" + vo.getCode());
}
if (existsNameCn(vo.getNameCn())) {
if (existsNameCn(vo.getCatalogId(),vo.getNameCn())) {
return R.fail("已经存在产品名称:" + vo.getNameCn());
}
if (productObjService.existsName(vo.getNameCn())) {
@ -434,7 +442,7 @@ public class ProductServiceImpl extends BaseServiceImpl<ProductMapper, ProductEn
}
}
if (!StringUtils.equals(vo.getNameCn(), f.getNameCn())) {
if (existsNameCn(vo.getNameCn())) {
if (existsNameCn(vo.getCatalogId(),vo.getNameCn())) {
return R.fail("已经存在产品名称:" + vo.getNameCn());
}
if (productObjService.existsName(vo.getNameCn())) {

@ -72,8 +72,8 @@ public class RemittanceRecordServiceImpl extends BaseServiceImpl<RemittanceRecor
@Transactional(rollbackFor = Exception.class)
public Boolean saveRecord(RemittanceRecordEntity remittanceRecord) {
OrderEntity order = orderService.getById(remittanceRecord.getOrderId());
order.setRemittedAmount(order.getRemittedAmount().add(remittanceRecord.getFactAmount()));
order.setUnremittedAmount(order.getUnremittedAmount().subtract(remittanceRecord.getFactAmount()));
order.setRemittedAmount(order.getRemittedAmount().add(remittanceRecord.getPlanAmount()));
order.setUnremittedAmount(order.getUnremittedAmount().subtract(remittanceRecord.getPlanAmount()));
if(order.getUnremittedAmount().compareTo(new BigDecimal(0)) > 0){
order.setSettleStatus(2); //部分结算
}else{

@ -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")

@ -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 {

@ -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 = "角色")

@ -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<List<User>> getSaleUserList() {
List<User> list = new ArrayList<>();
List<User> userList = userService.list();
userList.forEach(user ->{
Role role = roleService.getById(user.getRoleId());
if(role.getRoleName().equals("业务员")){
list.add(user);
for(User user : userList){
List<String> roleIds = Arrays.asList(user.getRoleId().split(","));
List<Role> roleList = roleService.list(Wrappers.<Role>lambdaQuery().in(Role::getId,roleIds));
for(Role role : roleList){
if(role.getRoleName().equals("业务员")){
list.add(user);
}
}
});
}
return R.data(list);
}
}

Loading…
Cancel
Save