yzc 1 рік тому
батько
коміт
e35c3d7b59

+ 3 - 1
hx-common/src/main/java/com/fjhx/common/entity/documentary/eums/DocumentaryTypeEnum.java

@@ -15,7 +15,9 @@ public enum DocumentaryTypeEnum {
 
     sales(1, "销售跟单", "contractServiceImpl"),
 
-    purchase(2, "采购跟单", "purchaseServiceImpl");
+//    purchase(2, "采购跟单", "purchaseServiceImpl");
+    purchase(2, "采购跟单", "ehsdPurchaseServiceImpl");
+
 
     /**
      * 跟单类型

+ 6 - 2
hx-common/src/main/java/com/fjhx/common/service/documentary/impl/DocumentaryRecordServiceImpl.java

@@ -88,7 +88,9 @@ public class DocumentaryRecordServiceImpl extends ServiceImpl<DocumentaryRecordM
                         // 排除业务id
                         excludeBusinessId = listObject(DocumentaryRecord::getBusinessId,
                                 q -> q.eq(DocumentaryRecord::getDocumentaryId, noRecordDocumentaryId)
-                                        .isNotNull(DocumentaryRecord::getBusinessId));
+                                        .isNotNull(DocumentaryRecord::getBusinessId)
+                                        .isNotNull(DocumentaryRecord::getDocumentaryId)
+                        );
                     }
 
                     Page<? extends DocumentaryData> page = bean.getDocumentaryPage(dto.getCondition(), dto, excludeBusinessId);
@@ -210,7 +212,9 @@ public class DocumentaryRecordServiceImpl extends ServiceImpl<DocumentaryRecordM
         List<Long> businessIdList = records.stream().map(DocumentaryData::getId).collect(Collectors.toList());
 
         // 根据业务id查询跟单记录
-        List<DocumentaryRecord> list = list(q -> q.in(DocumentaryRecord::getBusinessId, businessIdList));
+        List<DocumentaryRecord> list = list(q -> q.in(DocumentaryRecord::getBusinessId, businessIdList)
+                .isNotNull(DocumentaryRecord::getDocumentaryId)
+        );
 
         // 查询跟单记录文件
         List<Long> documentaryRecordList = list.stream().map(BaseIdPo::getId).collect(Collectors.toList());

+ 27 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/purchase/vo/EhsdPurchaseDocumentaryVo.java

@@ -0,0 +1,27 @@
+package com.fjhx.sale.entity.purchase.vo;
+
+import com.fjhx.common.entity.documentary.bo.DocumentaryData;
+import com.fjhx.common.entity.documentary.vo.DocumentaryRecordVo;
+import com.fjhx.purchase.entity.purchase.po.Purchase;
+import com.fjhx.sale.entity.purchase.po.EhsdPurchase;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+import java.util.Map;
+
+@Getter
+@Setter
+public class EhsdPurchaseDocumentaryVo extends EhsdPurchase implements DocumentaryData {
+
+    /**
+     * 供应商名称
+     */
+    private String supplyName;
+
+    /**
+     * 跟单记录
+     */
+    private Map<Long, List<DocumentaryRecordVo>> documentaryRecord;
+
+}

+ 38 - 1
hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fjhx.sale.service.purchase.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -9,12 +10,17 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.area.utils.CustomizeAreaUtil;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.entity.corporation.po.Corporation;
+import com.fjhx.common.entity.documentary.bo.DocumentaryData;
 import com.fjhx.common.service.corporation.CorporationService;
+import com.fjhx.common.service.documentary.GetDocumentaryBusinessTemplate;
 import com.fjhx.flow.service.flow.FlowExampleService;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.purchase.entity.invoice.vo.InvoiceDetailsVo;
 import com.fjhx.purchase.entity.pay.vo.PayDetailVo;
+import com.fjhx.purchase.entity.purchase.bo.PurchaseDocumentaryBo;
 import com.fjhx.purchase.entity.purchase.enums.PurchaseStatusEnum;
+import com.fjhx.purchase.entity.purchase.po.Purchase;
+import com.fjhx.purchase.entity.purchase.vo.PurchaseDocumentaryVo;
 import com.fjhx.purchase.service.invoice.InvoiceDetailsService;
 import com.fjhx.purchase.service.pay.PayDetailService;
 import com.fjhx.sale.entity.pack.po.PackDetail;
@@ -23,6 +29,7 @@ import com.fjhx.sale.entity.pack.vo.PackDetailProductVo;
 import com.fjhx.sale.entity.purchase.dto.EhsdPurchaseDto;
 import com.fjhx.sale.entity.purchase.dto.EhsdPurchaseSelectDto;
 import com.fjhx.sale.entity.purchase.po.*;
+import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseDocumentaryVo;
 import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
 import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseVo;
 import com.fjhx.sale.mapper.purchase.EhsdPurchaseMapper;
@@ -31,7 +38,9 @@ import com.fjhx.sale.service.pack.PackDetailService;
 import com.fjhx.sale.service.purchase.*;
 import com.fjhx.supply.entity.supplier.po.SupplierInfo;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
@@ -56,7 +65,7 @@ import java.util.stream.Collectors;
  */
 @Service
 @DS(SourceConstant.SALE)
-public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, EhsdPurchase> implements EhsdPurchaseService {
+public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, EhsdPurchase> implements EhsdPurchaseService , GetDocumentaryBusinessTemplate {
 
     @Autowired
     private EhsdPurchaseProductService ehsdPurchaseProductService;
@@ -254,4 +263,32 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
         return ehsdPurchases;
     }
 
+    @Override
+    public Page<? extends DocumentaryData> getDocumentaryPage(JSONObject selectData, BaseSelectDto
+            dto, List<Long> excludeBusinessId) {
+        PurchaseDocumentaryBo bo = selectData.toJavaObject(PurchaseDocumentaryBo.class);
+
+        IWrapper<EhsdPurchase> wrapper = IWrapper.getWrapper();
+        wrapper.like(EhsdPurchase::getCode, bo.getCode());
+        wrapper.eq(EhsdPurchase::getCreateUser, bo.getUserId());
+        wrapper.eq(EhsdPurchase::getStatus, 30);
+        wrapper.notIn(EhsdPurchase::getId, excludeBusinessId);
+        wrapper.orderByDesc(EhsdPurchase::getId);
+
+        Page<EhsdPurchase> itemPage = page(dto.getPage(), wrapper);
+        Page<EhsdPurchaseDocumentaryVo> page = PageUtils.copyPage(itemPage, EhsdPurchaseDocumentaryVo.class);
+        List<EhsdPurchaseDocumentaryVo> records = page.getRecords();
+
+        if (records.size() == 0) {
+            return page;
+        }
+
+        // 供应商名称
+        supplierInfoService.attributeAssign(records, EhsdPurchase::getSellCorporationId, (item, supplier) -> {
+            item.setSupplyName(supplier.getName());
+        });
+
+        return page;
+    }
+
 }