|
@@ -1,19 +1,26 @@
|
|
|
package com.fjhx.sale.service.contract.impl;
|
|
|
|
|
|
+import cn.hutool.http.HttpRequest;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.fjhx.common.enums.FlowStatusEnum;
|
|
|
import com.fjhx.item.service.product.ProductClassifyService;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.purchase.entity.purchase.vo.PurchaseDetailVo;
|
|
|
import com.fjhx.purchase.service.purchase.PurchaseDetailService;
|
|
|
+import com.fjhx.sale.entity.contract.po.Contract;
|
|
|
import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
|
import com.fjhx.sale.mapper.contract.ContractProductMapper;
|
|
|
import com.fjhx.sale.service.contract.ContractProductService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.obs.services.internal.ServiceException;
|
|
|
+import com.ruoyi.common.utils.SecurityUtils;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.utils.wrapper.SqlField;
|
|
|
+import com.ruoyi.framework.web.service.TokenService;
|
|
|
+import jdk.nashorn.internal.parser.Token;
|
|
|
import org.apache.commons.collections4.MapUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.security.core.authority.AuthorityUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.fjhx.sale.entity.contract.vo.ContractProductVo;
|
|
@@ -22,6 +29,8 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import com.fjhx.sale.entity.contract.dto.ContractProductDto;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
|
+import javax.servlet.http.HttpServlet;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
@@ -57,6 +66,7 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
|
|
|
public Page<ContractProductVo> getPage(ContractProductSelectDto dto) {
|
|
|
IWrapper<ContractProduct> wrapper = getWrapper();
|
|
|
wrapper.orderByDesc("t1", ContractProduct::getCreateTime);
|
|
|
+ wrapper.between("t2", Contract::getStatus, FlowStatusEnum.DRAFT.getKey(),FlowStatusEnum.CANCELLATION.getKey()-1);
|
|
|
wrapper.gt("t1",ContractProduct::getExpendQuantity,BigDecimal.ZERO);
|
|
|
if(StringUtils.isNotEmpty(dto.getKeyword())){
|
|
|
wrapper.keyword(dto.getKeyword(),new SqlField("t2.`code`"),new SqlField("t2.`user_name`"));
|
|
@@ -103,6 +113,34 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
|
|
|
});
|
|
|
return list;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<ContractProductVo> getEHSDPage(ContractProductSelectDto dto) {
|
|
|
+ IWrapper<ContractProduct> wrapper = getWrapper();
|
|
|
+ wrapper.orderByDesc("t1.ct");
|
|
|
+ if(StringUtils.isNotEmpty(dto.getKeyword())){
|
|
|
+ wrapper.keyword(dto.getKeyword(),new SqlField("t1.`code`"),new SqlField("t1.`userName`"));
|
|
|
+ }
|
|
|
+ Page<ContractProductVo> page = this.baseMapper.getEHSDPage(dto.getPage(), wrapper);
|
|
|
+ List<ContractProductVo> list = page.getRecords();
|
|
|
+ if(CollectionUtils.isNotEmpty(list)){
|
|
|
+ // 赋值产品属性
|
|
|
+ productInfoService.attributeAssign(list, ContractProductVo::getProductId, (item, product) -> {
|
|
|
+ item.setProductCode(product.getCode());
|
|
|
+ item.setProductUnit(product.getUnit());
|
|
|
+ item.setProductType(product.getType());
|
|
|
+ item.setProductName(product.getName());
|
|
|
+ item.setProductSpec(product.getSpec());
|
|
|
+ item.setProductCategoryId(product.getProductClassifyId());
|
|
|
+ });
|
|
|
+ // 赋值产品分类名称
|
|
|
+ productClassifyService.attributeAssign(list, ContractProductVo::getProductCategoryId, (item, productClassify) -> {
|
|
|
+ item.setProductCategory(productClassify.getName());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据合同产品IDS查询合同产品
|
|
|
* @param ids
|