Sfoglia il codice sorgente

采购合同明细接口

yzc 1 anno fa
parent
commit
93619ce70c

+ 7 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackDetailProductVo.java

@@ -4,6 +4,8 @@ import com.fjhx.sale.entity.pack.po.PackDetailProduct;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * 装箱出货产品明细表列表查询返回值实体
  *
@@ -14,4 +16,9 @@ import lombok.Setter;
 @Setter
 public class PackDetailProductVo extends PackDetailProduct {
 
+    /**
+     * 出货时间
+     */
+    private Date shipmentTime;
+
 }

+ 3 - 3
hx-sale/src/main/java/com/fjhx/sale/entity/purchase/po/EhsdPurchase.java

@@ -86,17 +86,17 @@ public class EhsdPurchase extends BasePo {
     /**
      * 买方国家表id
      */
-    private String buyCountryId;
+    private Long buyCountryId;
 
     /**
      * 买方省份id
      */
-    private String buyProvinceId;
+    private Long buyProvinceId;
 
     /**
      * 买方城市id
      */
-    private String buyCityId;
+    private Long buyCityId;
 
     /**
      * 买方国家表名称

+ 41 - 1
hx-sale/src/main/java/com/fjhx/sale/entity/purchase/vo/EhsdPurchaseVo.java

@@ -1,13 +1,19 @@
 package com.fjhx.sale.entity.purchase.vo;
 
+import com.fjhx.common.entity.corporation.po.Corporation;
+import com.fjhx.sale.entity.pack.po.PackDetailProduct;
+import com.fjhx.sale.entity.pack.vo.PackDetailProductVo;
 import com.fjhx.sale.entity.purchase.po.EhsdPurchase;
+import com.fjhx.sale.entity.purchase.po.EhsdPurchaseProduct;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * ehsd采购表列表查询返回值实体
  *
- * @author 
+ * @author
  * @since 2023-05-17
  */
 @Getter
@@ -18,4 +24,38 @@ public class EhsdPurchaseVo extends EhsdPurchase {
      * 供应商名称
      */
     private String supplyName;
+
+    /**
+     * 采购明细
+     */
+    private List<EhsdPurchaseProductVo> ehsdPurchaseProductList;
+
+    /**
+     * 装箱明细
+     */
+    private List<PackDetailProductVo> packDetailProductList;
+
+    /**
+     * 买方名称
+     */
+    private String buyCorporationName;
+    /**
+     * 卖方名称
+     */
+    private String sellCorporationName;
+
+    /**
+     * 卖方国家表名称
+     */
+    private String sellCountryName;
+
+    /**
+     * 卖方省份名称
+     */
+    private String sellProvinceName;
+
+    /**
+     * 卖方城市名称
+     */
+    private String sellCityName;
 }

+ 79 - 4
hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseServiceImpl.java

@@ -5,32 +5,66 @@ import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.service.corporation.CorporationService;
+import com.fjhx.customer.entity.customer.po.Customer;
+import com.fjhx.customer.service.customer.CustomerService;
+import com.fjhx.sale.entity.intermediate.vo.IntermediateContractVo;
+import com.fjhx.sale.entity.pack.po.PackDetail;
+import com.fjhx.sale.entity.pack.po.PackDetailProduct;
+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.EhsdPurchase;
+import com.fjhx.sale.entity.purchase.po.EhsdPurchaseProduct;
+import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
 import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseVo;
 import com.fjhx.sale.mapper.purchase.EhsdPurchaseMapper;
+import com.fjhx.sale.service.pack.PackDetailProductService;
+import com.fjhx.sale.service.pack.PackDetailService;
+import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
 import com.fjhx.sale.service.purchase.EhsdPurchaseService;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 
 /**
  * <p>
  * ehsd采购表 服务实现类
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-17
  */
 @Service
 @DS(SourceConstant.SALE)
 public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, EhsdPurchase> implements EhsdPurchaseService {
 
+    @Autowired
+    private EhsdPurchaseProductService ehsdPurchaseProductService;
+    @Autowired
+    private PackDetailProductService packDetailProductService;
+    @Autowired
+    private PackDetailService packDetailService;
+    @Autowired
+    private CustomerService customerService;
+    @Autowired
+    private CorporationService corporationService;
+
     /**
      * 分页
+     *
      * @param dto
      * @return
      */
@@ -45,7 +79,7 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
             wrapper.eq("t1", EhsdPurchase::getPayStatus, dto.getPayStatus());
         }
         if (ObjectUtils.isNotEmpty(dto.getKeyword())) {
-            wrapper.keyword(dto.getKeyword(),new SqlField("t2.name"),new SqlField("t1.`code`"));
+            wrapper.keyword(dto.getKeyword(), new SqlField("t2.name"), new SqlField("t1.`code`"));
         }
         Page<EhsdPurchaseVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
@@ -53,8 +87,49 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
 
     @Override
     public EhsdPurchaseVo detail(Long id) {
-        EhsdPurchase EhsdPurchase = this.getById(id);
-        EhsdPurchaseVo result = BeanUtil.toBean(EhsdPurchase, EhsdPurchaseVo.class);
+        EhsdPurchase ehsdPurchase = this.getById(id);
+        EhsdPurchaseVo result = BeanUtil.toBean(ehsdPurchase, EhsdPurchaseVo.class);
+        List<Long> ids = new ArrayList<>();
+        ids.add(result.getBuyCountryId());
+        ids.add(result.getBuyProvinceId());
+        ids.add(result.getBuyCityId());
+        ids.add(result.getSellCountryId());
+        ids.add(result.getSellProvinceId());
+        ids.add(result.getSellCityId());
+        Map<Long, String> areaMapByIds = CustomizeAreaUtil.getAreaMapByIds(ids);
+        //赋值卖方地址
+        result.setSellCountryName(areaMapByIds.get(result.getSellCountryId()));
+        result.setSellProvinceName(areaMapByIds.get(result.getSellProvinceId()));
+        result.setSellCityName(areaMapByIds.get(result.getSellCityId()));
+        //赋值买方地址
+        result.setBuyCountryName(areaMapByIds.get(result.getBuyCountryId()));
+        result.setBuyProvinceName(areaMapByIds.get(result.getBuyProvinceId()));
+        result.setBuyCityName(areaMapByIds.get(result.getBuyCityId()));
+
+        //赋值买卖方名称
+        Customer customer = customerService.getById(result.getBuyCorporationId());
+        if(ObjectUtils.isNotEmpty(customer)){
+            result.setBuyCorporationName(customer.getName());
+        }
+        Corporation corporation = corporationService.getById(result.getSellCorporationId());
+        if(ObjectUtils.isNotEmpty(corporation)){
+            result.setSellCorporationName(corporation.getName());
+        }
+        //赋值采购明细
+        List<EhsdPurchaseProduct> ehsdPurchaseProductList = ehsdPurchaseProductService.list(q ->
+                q.eq(EhsdPurchaseProduct::getPurchaseId, ehsdPurchase.getId())
+        );
+        List<EhsdPurchaseProductVo> ehsdPurchaseProductVos = BeanUtil.copyToList(ehsdPurchaseProductList, EhsdPurchaseProductVo.class);
+        result.setEhsdPurchaseProductList(ehsdPurchaseProductVos);
+        //赋值出货明细
+        List<Long> cpIds = ehsdPurchaseProductVos.stream().map(EhsdPurchaseProductVo::getDataResourceId).collect(Collectors.toList());
+        List<PackDetailProduct> packDetailProductList = packDetailProductService.list(q ->
+                q.in(PackDetailProduct::getContractProductId, cpIds)
+        );
+        List<PackDetailProductVo> packDetailProductVos = BeanUtil.copyToList(packDetailProductList, PackDetailProductVo.class);
+        PackDetail packDetail = packDetailService.getById(packDetailProductVos.get(0).getPackDetailId());
+        packDetailProductVos.forEach(item->item.setShipmentTime(packDetail.getShipmentTime()));
+        result.setPackDetailProductList(packDetailProductVos);
         return result;
     }