Browse Source

样品单pdf

yzc 1 year ago
parent
commit
ad7568d3b4

+ 12 - 0
hx-sale/pom.xml

@@ -37,6 +37,18 @@
             <groupId>com.fjhx</groupId>
             <artifactId>hx-purchase</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-mail</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-mail</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-mail</artifactId>
+        </dependency>
     </dependencies>
 
 </project>

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/sample/vo/SamplePdfInfoVo.java

@@ -195,6 +195,16 @@ public class SamplePdfInfoVo {
      */
     private String advanceRatio;
 
+    /**
+     * 创建人名称
+     */
+    private String createUserName;
+
+    /**
+     * 创建人邮箱
+     */
+    private String createUserEmail;
+
     @Getter
     @Setter
     public static class ProductInfo {

+ 36 - 5
hx-sale/src/main/java/com/fjhx/sale/service/sample/impl/SampleServiceImpl.java

@@ -22,8 +22,12 @@ import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
-import com.fjhx.sale.entity.contract.po.Contract;
-import com.fjhx.sale.entity.contract.vo.ContractPdfInfoVo;
+import com.fjhx.mail.entity.enterprise.po.EnterpriseDomain;
+import com.fjhx.mail.entity.enterprise.po.EnterpriseMailbox;
+import com.fjhx.mail.entity.personal.po.PersonalMailbox;
+import com.fjhx.mail.service.enterprise.EnterpriseDomainService;
+import com.fjhx.mail.service.enterprise.EnterpriseMailboxService;
+import com.fjhx.mail.service.personal.PersonalMailboxService;
 import com.fjhx.sale.entity.contract.vo.ContractProductVo;
 import com.fjhx.sale.entity.sample.dto.SampleDto;
 import com.fjhx.sale.entity.sample.dto.SampleSelectDto;
@@ -92,6 +96,12 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
     private SampleProjectService sampleProjectService;
     @Autowired
     private AccountManagementService accountManagementService;
+    @Autowired
+    private PersonalMailboxService personalMailboxService;
+    @Autowired
+    private EnterpriseMailboxService enterpriseMailboxService;
+    @Autowired
+    private EnterpriseDomainService enterpriseDomainService;
 
 
     /**
@@ -235,9 +245,9 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
 
     @Override
     public SamplePdfInfoVo getSamplePdfInfo(Long id) {
-        Assert.notEmpty(id,"样品单id不能为空");
+        Assert.notEmpty(id, "样品单id不能为空");
         Sample sample = getById(id);
-        Assert.notEmpty(sample,"查询不到样品单信息");
+        Assert.notEmpty(sample, "查询不到样品单信息");
 
         SamplePdfInfoVo contractPdfInfoVo = new SamplePdfInfoVo();
         setExportSampleInfo(contractPdfInfoVo, sample);
@@ -358,6 +368,7 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
      * 赋值合同基本信息
      */
     private static final SimpleDateFormat sdf = new SimpleDateFormat("dd/MMM/yyyy", Locale.ENGLISH);
+
     private void setInfo(SamplePdfInfoVo contractPdfInfoVo, Sample sample) {
         contractPdfInfoVo.setContractCode(sample.getCode());
         contractPdfInfoVo.setCreateTimeEn(sdf.format(sample.getCreateTime()));
@@ -369,6 +380,26 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
         contractPdfInfoVo.setTransportMethod(sample.getTransportMethod());
         contractPdfInfoVo.setShroffAccountId(sample.getShroffAccountId());
         contractPdfInfoVo.setAdvanceRatio(sample.getAdvanceRatio());
+
+        //赋值创建人名称
+        Map<Long, String> nickNameMapByIds = UserUtil.getNickNameMapByIds(Arrays.asList(sample.getCreateUser()));
+        contractPdfInfoVo.setCreateUserName(nickNameMapByIds.get(sample.getCreateUser()));
+        //赋值创建人邮箱地址
+        List<EnterpriseMailbox> enterpriseMailboxList = enterpriseMailboxService.list(q -> q.eq(EnterpriseMailbox::getUserId, sample.getCreateUser()));
+        String eMailAddress = "";
+        if (ObjectUtil.isNotEmpty(enterpriseMailboxList)) {
+            //优先获取企业邮箱
+            EnterpriseMailbox enterpriseMailbox = enterpriseMailboxList.get(0);
+            EnterpriseDomain enterpriseDomain = enterpriseDomainService.getById(enterpriseMailbox.getDomainId());
+            eMailAddress = enterpriseMailbox.getMailUserPrefix() + "@" + enterpriseDomain.getDomainName();
+        }else{
+            List<PersonalMailbox> personalMailboxList = personalMailboxService.list(q -> q.eq(PersonalMailbox::getUserId, sample.getCreateUser()));
+            if(ObjectUtil.isNotEmpty(personalMailboxList)) {
+                eMailAddress = personalMailboxList.get(0).getMailUser();
+            }
+        }
+        contractPdfInfoVo.setCreateUserEmail(eMailAddress);
+
     }
 
     /**
@@ -399,7 +430,7 @@ public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> impleme
             productIndo.setAmount(item.getAmount());
             productIndo.setProductName(item.getProductName());
 
-            if(ObjectUtil.isNotEmpty(productInfo)) {
+            if (ObjectUtil.isNotEmpty(productInfo)) {
                 productIndo.setProductRemark(productInfo.getRemark());
                 productIndo.setProductSpec(productInfo.getSpec());
                 JSONObject ehsdJson = JSONObject.parseObject(productInfo.getEhsdJson());