Эх сурвалжийг харах

销售合同分页添加归属归属名称 合同类型字典值赋值

yzc 1 жил өмнө
parent
commit
6a1829d8ce

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/entity/contract/po/Contract.java

@@ -29,7 +29,7 @@ public class Contract extends BasePo {
     /**
      * 合同类型(1外销 2内销)
      */
-    private Integer contractType;
+    private String contractType;
 
     /**
      * 编码

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractVo.java

@@ -134,5 +134,10 @@ public class ContractVo extends Contract {
 
     List<ContractShipment> contractShipmentList;
 
+    /**
+     * 合同类型字典值
+     */
+    private String contractTypeVal;
+
 }
 

+ 24 - 3
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -67,6 +67,9 @@ import com.fjhx.sale.service.contract.ContractProjectService;
 import com.fjhx.sale.service.contract.ContractService;
 import com.fjhx.sale.service.contract.ContractShipmentService;
 import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
+import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
+import com.fjhx.tenant.service.dict.DictTenantDataService;
 import com.ruoyi.common.core.domain.BaseIdPo;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.core.domain.BaseSelectDto;
@@ -162,6 +165,9 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     @Autowired
     private ContractShipmentService contractShipmentService;
 
+    @Autowired
+    private DictTenantDataService dictTenantDataService;
+
     /**
      * 分页
      *
@@ -219,6 +225,14 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         Page<ContractVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<ContractVo> list = page.getRecords();
         if (CollectionUtils.isNotEmpty(list)) {
+            //获取合同类型字典内容
+            DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+            DictTenantDataSelectDto dictTenantDataSelectDto = new DictTenantDataSelectDto();
+            dictTenantDataSelectDto.setDictCode("contract_type");
+            List<DictTenantDataVo> dictTenantDataVoList = dictTenantDataService.getList(dictTenantDataSelectDto);
+            Map<String, String> contractTypeStatusDic = dictTenantDataVoList.stream().collect(Collectors.toMap(DictTenantDataVo::getDictKey, DictTenantDataVo::getDictValue));
+            DynamicDataSourceContextHolder.poll();
+
             List<Long> customerIds = list.stream().map(Contract::getBuyCorporationId).collect(Collectors.toList());
             List<Customer> customerList = customerService.list(Wrappers.<Customer>query().lambda().in(Customer::getId, customerIds));
             Map<Long, List<Customer>> cusMap = customerList.stream().distinct().collect(Collectors.groupingBy(Customer::getId));
@@ -251,10 +265,17 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                     p.setPackageFileInfoVOList(packageFileInfoVOList);
                 }
 
+                //获取合同类型字典内容
+                p.setContractTypeVal(contractTypeStatusDic.get(p.getContractType()));
+
             }
 
             // 赋值流程id
             flowExampleService.setFlowId(list, ContractVo::setFlowId);
+            //赋值原卖方公司名称 多公司
+            corporationService.attributeAssign(list, ContractVo::getSellCorporationId, (item, corporation) -> {
+                item.setSellCorporationName(corporation.getName());
+            });
         }
         return page;
     }
@@ -523,18 +544,18 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
 
         ContractPdfInfoVo contractPdfInfoVo = new ContractPdfInfoVo();
 
-        Integer contractType = contract.getContractType();
+        String contractType = contract.getContractType();
         if (contractType == null) {
             throw new ServiceException("销售合同类型为空");
         }
 
         switch (contractType) {
             // 外销合同
-            case 1:
+            case "1":
                 setExportContractInfo(contractPdfInfoVo, contract);
                 break;
             // 内销合同
-            case 2:
+            case "2":
                 // todo 内销合同实现逻辑
                 break;
             default: