yzc преди 1 година
родител
ревизия
fcd951ae97

+ 2 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/sample/vo/SampleShipmentVo.java

@@ -14,4 +14,6 @@ import lombok.Setter;
 @Setter
 public class SampleShipmentVo extends SampleShipment {
 
+    private String productCode;
+
 }

+ 31 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/sample/vo/SampleVo.java

@@ -2,6 +2,7 @@ package com.fjhx.sale.entity.sample.vo;
 
 import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.sale.entity.sample.po.Sample;
+import com.fjhx.sale.entity.sample.po.SampleShipment;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -54,5 +55,35 @@ public class SampleVo extends Sample {
      */
     private BigDecimal sumClaimMoney;
 
+    /**
+     * 合同模板名称
+     */
+    private String contractTemplateName;
+
+    /**
+     * 卖方名称
+     */
+    private String sellCorporationName;
+    /**
+     * 买方国家名称
+     */
+    private String buyCountryName;
+
+    /**
+     * 买方省份名称
+     */
+    private String buyProvinceName;
+
+    /**
+     * 买方城市名称
+     */
+    private String buyCityName;
+
+    /**
+     * 收款账号
+     */
+    private String shroffAccountName;
+
+    private List<SampleShipmentVo> sampleShipmentLists;
 
 }

+ 52 - 2
hx-sale/src/main/java/com/fjhx/sale/service/sample/impl/SampleServiceImpl.java

@@ -12,8 +12,10 @@ import com.fjhx.account.entity.account.po.AccountManagement;
 import com.fjhx.account.service.account.AccountManagementService;
 import com.fjhx.area.utils.CustomizeAreaUtil;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.entity.contract.po.ContractTemplate;
 import com.fjhx.common.entity.corporation.po.Corporation;
 import com.fjhx.common.enums.FlowStatusEnum;
+import com.fjhx.common.service.contract.ContractTemplateService;
 import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.customer.entity.customer.po.Customer;
@@ -34,12 +36,15 @@ import com.fjhx.sale.entity.sample.dto.SampleSelectDto;
 import com.fjhx.sale.entity.sample.po.Sample;
 import com.fjhx.sale.entity.sample.po.SampleProduct;
 import com.fjhx.sale.entity.sample.po.SampleProject;
+import com.fjhx.sale.entity.sample.po.SampleShipment;
 import com.fjhx.sale.entity.sample.vo.SamplePdfInfoVo;
+import com.fjhx.sale.entity.sample.vo.SampleShipmentVo;
 import com.fjhx.sale.entity.sample.vo.SampleVo;
 import com.fjhx.sale.mapper.sample.SampleMapper;
 import com.fjhx.sale.service.sample.SampleProductService;
 import com.fjhx.sale.service.sample.SampleProjectService;
 import com.fjhx.sale.service.sample.SampleService;
+import com.fjhx.sale.service.sample.SampleShipmentService;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.StringUtils;
@@ -102,6 +107,10 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
     private EnterpriseMailboxService enterpriseMailboxService;
     @Autowired
     private EnterpriseDomainService enterpriseDomainService;
+    @Autowired
+    private SampleShipmentService sampleShipmentService;
+    @Autowired
+    private ContractTemplateService contractTemplateService;
 
 
     /**
@@ -172,6 +181,47 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
     public SampleVo detail(Long id) {
         Sample Sample = this.getById(id);
         SampleVo result = BeanUtil.toBean(Sample, SampleVo.class);
+        //赋值模板名称
+        ContractTemplate contractTemplate = contractTemplateService.getById(result.getContractTemplateId());
+        if(ObjectUtil.isNotEmpty(contractTemplate)) {
+            result.setContractTemplateName(contractTemplate.getTemplateName());
+        }
+        // 卖方信息
+        Corporation corporation = corporationService.getById(result.getSellCorporationId());
+        if (ObjectUtil.isNotEmpty(corporation)) {
+            result.setSellCorporationName(corporation.getName());
+        }
+        //买方信息
+        Customer customer = customerService.getById(result.getBuyCorporationId());
+        if (ObjectUtil.isNotEmpty(corporation)) {
+            result.setSellCorporationName(corporation.getName());
+            result.setBuyCorporationName(customer.getName());
+        }
+        //买方地址信息
+        List<Long> areaIdList = Arrays.asList(result.getBuyCountryId(), result.getBuyProvinceId(), result.getBuyCityId());
+        Map<Long, String> areaMap = CustomizeAreaUtil.getAreaMapByIds(areaIdList);
+        result.setBuyCountryName(areaMap.get(result.getBuyCountryId()));
+        result.setBuyProvinceName(areaMap.get(result.getBuyProvinceId()));
+        result.setBuyCityName(areaMap.get(result.getBuyCityId()));
+        //赋值收款账号
+        AccountManagement accountManagement = accountManagementService.getById(result.getShroffAccountId());
+        if(ObjectUtil.isNotEmpty(accountManagement)){
+            result.setShroffAccountName(accountManagement.getName());
+        }
+
+        //赋值产品信息
+        List<SampleProduct> sampleProductList = sampleProductService.list(q -> q.eq(SampleProduct::getSampleId, result.getId()));
+        result.setSampleProductList(sampleProductList);
+        //赋值其他费用
+        List<SampleProject> sampleProjectList = sampleProjectService.list(q -> q.eq(SampleProject::getSampleId, result.getId()));
+        result.setSampleProjectList(sampleProjectList);
+        //赋值出货信息
+        List<SampleShipment> sampleShipmentList = sampleShipmentService.list(q -> q.eq(SampleShipment::getSampleId, result.getId()));
+        List<SampleShipmentVo> sampleShipmentVos = BeanUtil.copyToList(sampleShipmentList, SampleShipmentVo.class);
+        productInfoService.attributeAssign(sampleShipmentVos,SampleShipmentVo::getProductId, (item, productInfo) -> {
+            item.setProductCode(productInfo.getCode());
+        });
+        result.setSampleShipmentLists(sampleShipmentVos);
         return result;
     }
 
@@ -392,9 +442,9 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
             EnterpriseMailbox enterpriseMailbox = enterpriseMailboxList.get(0);
             EnterpriseDomain enterpriseDomain = enterpriseDomainService.getById(enterpriseMailbox.getDomainId());
             eMailAddress = enterpriseMailbox.getMailUserPrefix() + "@" + enterpriseDomain.getDomainName();
-        }else{
+        } else {
             List<PersonalMailbox> personalMailboxList = personalMailboxService.list(q -> q.eq(PersonalMailbox::getUserId, sample.getCreateUser()));
-            if(ObjectUtil.isNotEmpty(personalMailboxList)) {
+            if (ObjectUtil.isNotEmpty(personalMailboxList)) {
                 eMailAddress = personalMailboxList.get(0).getMailUser();
             }
         }