Просмотр исходного кода

excel导出+运营端地址信息、合作单位

czh 2 лет назад
Родитель
Сommit
3e4e69be97
17 измененных файлов с 580 добавлено и 70 удалено
  1. 0 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcPurchaseController.java
  2. 0 6
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmAddressController.java
  3. 23 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java
  4. 10 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/dao/KwmCooperateMapper.java
  5. 5 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/dto/res/CooperateManageQueryResDto.java
  6. 3 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/report/AddressQueryExport.java
  7. 129 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/report/QueryAllCooperateInfoExcel.java
  8. 46 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/QueryAllCooperateInfoReqDto.java
  9. 5 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressQueryResVo.java
  10. 126 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/QueryAllCooperateInfoResVo.java
  11. 14 2
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java
  12. 105 6
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java
  13. 87 46
      sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml
  14. 0 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java
  15. 5 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindPojoParam.java
  16. 5 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntFindPageReqVo.java
  17. 17 8
      sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml

+ 0 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcPurchaseController.java

@@ -3,7 +3,6 @@ package com.sckw.contract.controller;
 import com.sckw.contract.model.vo.req.IdReqVo;
 import com.sckw.contract.model.vo.req.QueryListReqVo;
 import com.sckw.contract.service.KwcContractTradeService;
-import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.enums.EntTypeEnum;
 import com.sckw.core.web.response.HttpResult;
 import jakarta.servlet.http.HttpServletResponse;

+ 0 - 6
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmAddressController.java

@@ -126,10 +126,4 @@ public class KwmAddressController {
         return HttpResult.ok(kwmAddressService.detail(reqVo.getId()));
     }
 
-    @PostMapping("test")
-    public HttpResult test() {
-        kwmAddressService.test();
-        return HttpResult.ok();
-    }
-
 }

+ 23 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java

@@ -163,4 +163,27 @@ public class KwmCooperateManageController {
         return HttpResult.ok(kwmCooperateManageService.findTargetEntCooperateInOur(reqVo));
     }
 
+    /**
+     * @param reqVo 分页入参
+     * @return HttpResult
+     * @desc: 运营端查合作信息
+     * @author: czh
+     * @date: 2023/9/15
+     */
+    @PostMapping("queryAllCooperateInfoByPage")
+    public HttpResult queryAllCooperateInfoByPage(@RequestBody CooperateManageQueryReqVo reqVo) {
+        return HttpResult.ok(kwmCooperateManageService.queryAllCooperateInfoByPage(reqVo));
+    }
+
+    /**
+     * @param reqVo 查询入参
+     * @desc: 导出
+     * @author: czh
+     * @date: 2023/7/11
+     */
+    @PostMapping(value = "exportAllCooperateInfo", produces = MediaType.APPLICATION_JSON_VALUE)
+    public void exportAllCooperateInfo(@RequestBody CooperateManageQueryReqVo reqVo, HttpServletResponse response) {
+        kwmCooperateManageService.exportAllCooperateInfo(reqVo, response);
+    }
+
 }

+ 10 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/dao/KwmCooperateMapper.java

@@ -6,6 +6,7 @@ import com.sckw.manage.model.entity.KwmCooperate;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.manage.model.vo.req.FindCooperateByEntReqVo;
 import com.sckw.manage.model.vo.req.FindEntCooperateReqVo;
+import com.sckw.manage.model.vo.req.QueryAllCooperateInfoReqDto;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -55,6 +56,15 @@ public interface KwmCooperateMapper extends BaseMapper<KwmCooperate> {
      * @date: 2023/8/16
      */
     List<KwmCooperate> findEntCooperate(FindEntCooperateReqVo reqVo);
+
+    /**
+     * @param reqDto 入参
+     * @return CooperateManageQueryResDto
+     * @desc: 运营端查合作信息
+     * @author: czh
+     * @date: 2023/9/15
+     */
+    List<CooperateManageQueryResDto> queryAllCooperateInfoList(@Param(value = "reqDto") QueryAllCooperateInfoReqDto reqDto);
 }
 
 

+ 5 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/dto/res/CooperateManageQueryResDto.java

@@ -82,6 +82,11 @@ public class CooperateManageQueryResDto {
      */
     private Date createTime;
 
+    /**
+     * 修改时间
+     */
+    private Date updateTime;
+
     /**
      * 对方企业id
      */

+ 3 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/report/AddressQueryExport.java

@@ -30,6 +30,9 @@ public class AddressQueryExport implements Serializable {
     @ExcelProperty(value = "地址类型")
     private String typeName;
 
+    @ExcelProperty(value = "企业名称")
+    private String entName;
+
     @ExcelProperty(value = "电子围栏")
     private String fence;
 

+ 129 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/report/QueryAllCooperateInfoExcel.java

@@ -0,0 +1,129 @@
+package com.sckw.manage.model.report;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.excel.annotation.ExcelContext;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 运营端查合作信息
+ * @date 2023/9/15
+ */
+@Data
+@Accessors(chain = true)
+@ExcelContext(fileName = "合作信息", sheetName = "合作信息")
+public class QueryAllCooperateInfoExcel implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 823363899004504362L;
+
+    /**
+     * 状态名
+     */
+    @ExcelProperty(value = "合作状态")
+    private Integer statusName;
+
+
+    /**
+     * 邀请企业名
+     */
+    @ExcelProperty(value = "邀请单位名称")
+    private String inviterEntName;
+
+    /**
+     * 受邀企业名
+     */
+    @ExcelProperty(value = "受邀单位名称")
+    private String inviteeEntName;
+
+    /**
+     * 采购单位
+     */
+    @ExcelProperty(value = "采购单位")
+    private String ent1;
+
+    /**
+     * 供应单位
+     */
+    @ExcelProperty(value = "供应单位")
+    private String ent2;
+
+    /**
+     * 托运单位
+     */
+    @ExcelProperty(value = "托运单位")
+    private String ent3;
+
+    /**
+     * 承运单位
+     */
+    @ExcelProperty(value = "承运单位")
+    private String ent4;
+
+
+    /**
+     * 邀请单位客户经理
+     */
+    @ExcelProperty(value = "邀请单位客户经理")
+    private String inviterContacts;
+
+    /**
+     * 邀请经理电话
+     */
+    @ExcelProperty(value = "邀请经理电话")
+    private String inviterContactsPhone;
+
+    /**
+     * 受邀单位客户经理
+     */
+    @ExcelProperty(value = "受邀单位客户经理")
+    private String inviteeContacts;
+
+    /**
+     * 受邀经理电话
+     */
+    @ExcelProperty(value = "受邀经理电话")
+    private String inviteeContactsPhone;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "创建时间")
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    @ExcelProperty(value = "创建人")
+    private String createByName;
+
+    /**
+     * 联系电话
+     */
+    @ExcelProperty(value = "联系电话")
+    private String phone;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "最近更新时间")
+    private Date updateTime;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+}

+ 46 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/QueryAllCooperateInfoReqDto.java

@@ -0,0 +1,46 @@
+package com.sckw.manage.model.vo.req;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc 运营端查合作信息
+ * @date 2023/9/15
+ */
+@Data
+public class QueryAllCooperateInfoReqDto {
+
+    /**
+     * 单位名称、联系人、电话
+     */
+    private String keywords;
+
+    /**
+     * 开始时间(时间戳)
+     */
+    private Date startTime;
+
+    /**
+     * 结束时间(时间戳)
+     */
+    private Date endTime;
+
+    /**
+     * id集合
+     */
+    private List<Long> ids;
+
+    /**
+     * 合作属性
+     */
+    private List<Integer> cooperateTypes;
+
+    /**
+     * 要查询的企业id
+     */
+    private List<Long> queryEntIdList;
+
+}

+ 5 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressQueryResVo.java

@@ -121,4 +121,9 @@ public class AddressQueryResVo implements Serializable {
      */
     private Integer defaultType;
 
+    /**
+     * 企业名称
+     */
+    private String entName;
+
 }

+ 126 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/QueryAllCooperateInfoResVo.java

@@ -0,0 +1,126 @@
+package com.sckw.manage.model.vo.res;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 运营端查合作信息
+ * @date 2023/9/15
+ */
+@Data
+public class QueryAllCooperateInfoResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -6887505191222426315L;
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
+    /**
+     * 状态名
+     */
+    private String statusName;
+
+    /**
+     * 邀请企业id
+     */
+    private Long inviterEntId;
+
+    /**
+     * 邀请企业名
+     */
+    private String inviterEntName;
+
+    /**
+     * 受邀企业id
+     */
+    private Long inviteeEntId;
+
+    /**
+     * 受邀企业名
+     */
+    private String inviteeEntName;
+
+    /**
+     * 采购单位
+     */
+    private String ent1;
+
+    /**
+     * 供应单位
+     */
+    private String ent2;
+
+    /**
+     * 托运单位
+     */
+    private String ent3;
+
+    /**
+     * 承运单位
+     */
+    private String ent4;
+
+    /**
+     * 合作属性
+     */
+    private String cooperateTypes;
+
+    /**
+     * 邀请单位客户经理
+     */
+    private String inviterContacts;
+
+    /**
+     * 邀请经理电话
+     */
+    private String inviterContactsPhone;
+
+    /**
+     * 受邀单位客户经理
+     */
+    private String inviteeContacts;
+
+    /**
+     * 受邀经理电话
+     */
+    private String inviteeContactsPhone;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    private String createByName;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 14 - 2
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java

@@ -11,6 +11,7 @@ import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.AddressDefaultTypeEnum;
+import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.BeanUtils;
@@ -96,7 +97,6 @@ public class KwmAddressService {
         LambdaQueryWrapper<KwmAddress> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(Objects.nonNull(reqVo.getCityCode()), KwmAddress::getCityCode, reqVo.getCityCode()).
                 eq(Objects.nonNull(reqVo.getType()), KwmAddress::getType, reqVo.getType()).
-                eq(KwmAddress::getEntId, LoginUserHolder.getEntId()).
                 eq(KwmAddress::getDelFlag, Global.NO).
                 and(StringUtils.isNotBlank(reqVo.getKeywords()),
                         wq -> wq.like(KwmAddress::getDetailAddress, reqVo.getKeywords()).or().
@@ -114,6 +114,11 @@ public class KwmAddressService {
         if (CollectionUtils.isNotEmpty(reqVo.getIds())) {
             wrapper.in(KwmAddress::getId, reqVo.getIds());
         }
+
+        if (!Objects.equals(LoginUserHolder.getSystemType(), SystemTypeEnum.MANAGE.getCode())) {
+            wrapper.eq(KwmAddress::getEntId, LoginUserHolder.getEntId());
+        }
+
         return kwmAddressMapper.selectList(wrapper);
     }
 
@@ -129,8 +134,9 @@ public class KwmAddressService {
         List<AddressQueryResVo> list = new ArrayList<>();
         List<Long> userIds = kwmAddresses.stream().map(KwmAddress::getCreateBy).distinct().toList();
         List<Integer> types = kwmAddresses.stream().map(KwmAddress::getType).distinct().toList();
+        List<Long> endIds = kwmAddresses.stream().map(KwmAddress::getEntId).distinct().toList();
         Map<Long, UserCacheResDto> userCacheResDtoMap = commonBusinessService.queryUserCacheMapByIds(userIds);
-
+        Map<Long, EntCacheResDto> entCacheResDtoMap = commonBusinessService.queryEntCacheMapByIds(endIds);
         StringBuilder keys = new StringBuilder();
         for (Integer type : types) {
             keys.append(DictTypeEnum.ADDRESS_TYPE.getType()).append(Global.POUND).append(type).append(Global.COMMA);
@@ -144,6 +150,7 @@ public class KwmAddressService {
             addressQueryResVo.setType(item.getType());
             UserCacheResDto userCacheResDto = userCacheResDtoMap.get(item.getCreateBy());
             SysDictResDto sysDictResDto = stringSysDictResDtoMap.get(DictTypeEnum.ADDRESS_TYPE.getType() + Global.POUND + item.getType());
+            EntCacheResDto entCacheResDto = entCacheResDtoMap.get(item.getEntId());
             if (Objects.nonNull(sysDictResDto)) {
                 addressQueryResVo.setTypeName(sysDictResDto.getLabel());
             }
@@ -151,6 +158,7 @@ public class KwmAddressService {
             if (Objects.nonNull(userCacheResDto)) {
                 addressQueryResVo.setCreateByName(userCacheResDto.getName());
             }
+
             if (Objects.nonNull(sysDictResDto)) {
                 addressQueryResVo.setTypeName(sysDictResDto.getLabel());
             }
@@ -159,6 +167,10 @@ public class KwmAddressService {
                 addressQueryResVo.setDefaultTypeName(AddressDefaultTypeEnum.getName(item.getDefaultType()).getName());
             }
 
+            if (Objects.nonNull(entCacheResDto)) {
+                addressQueryResVo.setEntName(entCacheResDto.getFirmName());
+            }
+
             addressQueryResVo.setFenceStatus(StringUtils.isNotBlank(item.getFence()) ? "已设置" : "未设置");
             list.add(addressQueryResVo);
         });

+ 105 - 6
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -1,6 +1,5 @@
 package com.sckw.manage.service;
 
-import java.io.IOException;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -19,31 +18,32 @@ import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.utils.EasyExcelUtil;
 import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.manage.dao.KwmCooperateMapper;
 import com.sckw.manage.dao.KwmCooperateTypeMapper;
 import com.sckw.manage.model.dto.req.CooperateManageQueryReqDto;
 import com.sckw.manage.model.dto.res.CooperateManageQueryResDto;
+import com.sckw.manage.model.entity.KwmAddress;
 import com.sckw.manage.model.entity.KwmCooperate;
 import com.sckw.manage.model.entity.KwmCooperateType;
+import com.sckw.manage.model.report.AddressQueryExport;
 import com.sckw.manage.model.report.CooperateManageExport;
-import com.sckw.manage.model.vo.req.BindManagerReqVo;
-import com.sckw.manage.model.vo.req.CooperateManageQueryReqVo;
-import com.sckw.manage.model.vo.req.FindCooperateByEntReqVo;
-import com.sckw.manage.model.vo.req.FindEntCooperateReqVo;
+import com.sckw.manage.model.report.QueryAllCooperateInfoExcel;
+import com.sckw.manage.model.vo.req.*;
 import com.sckw.manage.model.vo.res.*;
 import com.sckw.payment.api.model.constant.OrderEnum;
 import com.sckw.stream.enums.MessageEnum;
 import com.sckw.stream.model.UserInfo;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
+import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.api.dubbo.TransportDubboService;
 import com.sckw.payment.api.dubbo.PaymentDubboService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -673,4 +673,103 @@ public class KwmCooperateManageService {
         return kwmCooperateMapper.selectList(wrapper);
     }
 
+
+    /**
+     * @param reqVo 分页入参
+     * @return QueryAllCooperateInfoResVo
+     * @desc: 运营端查合作信息
+     * @author: czh
+     * @date: 2023/9/15
+     */
+    public PageResult queryAllCooperateInfoByPage(CooperateManageQueryReqVo reqVo) {
+        PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
+        List<CooperateManageQueryResDto> list = kwmCooperateMapper.queryAllCooperateInfoList(getQueryAllCooperateInfoReqDto(reqVo));
+        if (CollectionUtils.isEmpty(list)) {
+            return PageHelperUtil.getPageResult(new PageInfo<>());
+        }
+
+        return PageHelperUtil.getPageResult(new PageInfo<>(getAllCooperateInfoVo(list)), list, reqVo.getPageSize());
+    }
+
+
+    /**
+     * 构建入参
+     */
+    private QueryAllCooperateInfoReqDto getQueryAllCooperateInfoReqDto(CooperateManageQueryReqVo reqVo) {
+        QueryAllCooperateInfoReqDto queryAllCooperateInfoReqDto = new QueryAllCooperateInfoReqDto();
+        BeanUtils.copyProperties(reqVo, queryAllCooperateInfoReqDto);
+        String cooperateTypes = reqVo.getCooperateTypes();
+        if (StringUtils.isNotBlank(cooperateTypes)) {
+            queryAllCooperateInfoReqDto.setCooperateTypes(Arrays.stream(cooperateTypes.split(Global.COMMA)).map(Integer::parseInt).toList());
+        }
+
+        if (StringUtils.isNotBlank(reqVo.getKeywords())) {
+            List<EntCacheResDto> entCacheResDtos = remoteSystemService.queryEntCacheByName(reqVo.getKeywords());
+            if (CollectionUtils.isNotEmpty(entCacheResDtos)) {
+                queryAllCooperateInfoReqDto.setQueryEntIdList(entCacheResDtos.stream().map(EntCacheResDto::getId).toList());
+            }
+        }
+        return queryAllCooperateInfoReqDto;
+    }
+
+    /**
+     * 获取返参
+     */
+    private List<QueryAllCooperateInfoResVo> getAllCooperateInfoVo(List<CooperateManageQueryResDto> list) {
+        List<Long> inviteeEntIds = list.stream().map(CooperateManageQueryResDto::getInviteeEntId).toList();
+        List<Long> inviterEntIds = list.stream().map(CooperateManageQueryResDto::getInviterEntId).toList();
+        List<Long> userIds = list.stream().map(CooperateManageQueryResDto::getCreateBy).toList();
+        List<Long> allEntIds = new ArrayList<>();
+        allEntIds.addAll(inviterEntIds);
+        allEntIds.addAll(inviteeEntIds);
+        Map<Long, EntCacheResDto> entCacheResDtoMap = remoteSystemService.queryEntCacheMapByIds(allEntIds);
+        Map<Long, UserCacheResDto> userCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(userIds);
+
+        List<QueryAllCooperateInfoResVo> result = new ArrayList<>();
+        list.forEach(item -> {
+            QueryAllCooperateInfoResVo queryAllCooperateInfoResVo = new QueryAllCooperateInfoResVo();
+            queryAllCooperateInfoResVo.setStatus(item.getStatus());
+            queryAllCooperateInfoResVo.setStatusName(CooperateStatusEnum.getName(item.getStatus()));
+            queryAllCooperateInfoResVo.setInviterEntId(item.getInviterEntId());
+            queryAllCooperateInfoResVo.setInviteeEntId(item.getInviteeEntId());
+            EntCacheResDto entCacheResDto = entCacheResDtoMap.get(item.getInviterEntId());
+            queryAllCooperateInfoResVo.setInviterEntName(Objects.nonNull(entCacheResDto) ? entCacheResDto.getFirmName() : "");
+            EntCacheResDto entCacheResDto1 = entCacheResDtoMap.get(item.getInviteeEntId());
+            queryAllCooperateInfoResVo.setInviteeEntName(Objects.nonNull(entCacheResDto1) ? entCacheResDto1.getFirmName() : "");
+            queryAllCooperateInfoResVo.setCooperateTypes(item.getTypes());
+            queryAllCooperateInfoResVo.setEnt1(item.getTypes().contains(String.valueOf(CooperateTypeEnum.SUPPLIER.getCode())) ? "是" : "");
+            queryAllCooperateInfoResVo.setEnt2(item.getTypes().contains(String.valueOf(CooperateTypeEnum.PURCHASER.getCode())) ? "是" : "");
+            queryAllCooperateInfoResVo.setEnt3(item.getTypes().contains(String.valueOf(CooperateTypeEnum.CONSIGN.getCode())) ? "是" : "");
+            queryAllCooperateInfoResVo.setEnt4(item.getTypes().contains(String.valueOf(CooperateTypeEnum.CARRIAGE.getCode())) ? "是" : "");
+            queryAllCooperateInfoResVo.setInviterContacts(item.getInviterContacts());
+            queryAllCooperateInfoResVo.setInviterContactsPhone(item.getInviterPhone());
+            queryAllCooperateInfoResVo.setInviteeContacts(item.getInviteeContacts());
+            queryAllCooperateInfoResVo.setInviteeContactsPhone(item.getInviteePhone());
+            queryAllCooperateInfoResVo.setCreateTime(item.getCreateTime());
+
+            UserCacheResDto userCacheResDto = userCacheResDtoMap.get(item.getCreateBy());
+            queryAllCooperateInfoResVo.setCreateByName(Objects.nonNull(userCacheResDto) ? userCacheResDto.getName(): "");
+            queryAllCooperateInfoResVo.setPhone(Objects.nonNull(userCacheResDto) ? userCacheResDto.getPhone() : "");
+            queryAllCooperateInfoResVo.setUpdateTime(item.getUpdateTime());
+            queryAllCooperateInfoResVo.setRemark(item.getRemark());
+            result.add(queryAllCooperateInfoResVo);
+        });
+        return result;
+    }
+
+
+    /**
+     * @param reqVo 查询入参
+     * @desc: 导出
+     * @author: czh
+     * @date: 2023/7/11
+     */
+    public void exportAllCooperateInfo(CooperateManageQueryReqVo reqVo, HttpServletResponse response) {
+        List<CooperateManageQueryResDto> list = kwmCooperateMapper.queryAllCooperateInfoList(getQueryAllCooperateInfoReqDto(reqVo));
+        if (CollectionUtils.isEmpty(list)) {
+            throw new SystemException("导出数据为空");
+        }
+        ExcelUtil.downData(response, QueryAllCooperateInfoExcel.class, BeanUtils.copyToList(getAllCooperateInfoVo(list), QueryAllCooperateInfoExcel.class));
+    }
+
 }

+ 87 - 46
sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml

@@ -4,55 +4,27 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.sckw.manage.dao.KwmCooperateMapper">
 
-    <resultMap id="BaseResultMap" type="com.sckw.manage.model.entity.KwmCooperate">
-            <id property="id" column="id" jdbcType="BIGINT"/>
-            <result property="entId" column="ent_id" jdbcType="BIGINT"/>
-            <result property="inviterEntId" column="inviter_ent_id" jdbcType="BIGINT"/>
-            <result property="inviteeEntId" column="invitee_ent_id" jdbcType="BIGINT"/>
-            <result property="inviterContacts" column="inviter_contacts" jdbcType="VARCHAR"/>
-            <result property="inviterPhone" column="inviter_phone" jdbcType="VARCHAR"/>
-            <result property="inviteeContacts" column="invitee_contacts" jdbcType="VARCHAR"/>
-            <result property="inviteePhone" column="invitee_phone" jdbcType="VARCHAR"/>
-            <result property="remark" column="remark" jdbcType="VARCHAR"/>
-            <result property="status" column="status" jdbcType="INTEGER"/>
-            <result property="createBy" column="create_by" jdbcType="BIGINT"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="updateBy" column="update_by" jdbcType="BIGINT"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
-            <result property="delFlag" column="del_flag" jdbcType="INTEGER"/>
-    </resultMap>
-
-    <sql id="Base_Column_List">
-        id,ent_id,inviter_ent_id,
-        invitee_ent_id,inviter_contacts,inviter_phone,
-        invitee_contacts,invitee_phone,remark,
-        status,create_by,create_time,
-        update_by,update_time,del_flag
-    </sql>
-
     <select id="findList" parameterType="com.sckw.manage.model.dto.req.CooperateManageQueryReqDto"
             resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">
         SELECT a.id,
-        b.status,
-        group_concat(b.type) types,
-        min(a.ent_id) entId,
-        min(a.invitee_ent_id) inviteeEntId,
-        min(a.inviter_ent_id) inviterEntId,
-        min(a.invitee_contacts) inviteeContacts,
-        min(a.inviter_contacts) inviterContacts,
-        min(a.invitee_contacts_id) inviteeContactsId,
-        min(a.inviter_contacts_id) inviterContactsId,
-        min(a.invitee_phone) inviteePhone,
-        min(a.inviter_phone) inviterPhone,
-        min(b.create_time) createTime,
-        min(b.create_by) createBy,
-        min(a.remark) remark,
-        min(a.approval_remark) approvalRemark,
-        case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.invitee_ent_id) else min(a.inviter_ent_id) end
-        targetEntId,
-        case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.inviter_ent_id) else min(a.invitee_ent_id) end
-        ourEntId,
-        case when min(a.ent_id) = #{reqDto.currentEntId} then 1 else 2 end applyTypeCode
+            b.status,
+            group_concat(b.type) types,
+            min(a.ent_id) entId,
+            min(a.invitee_ent_id) inviteeEntId,
+            min(a.inviter_ent_id) inviterEntId,
+            min(a.invitee_contacts) inviteeContacts,
+            min(a.inviter_contacts) inviterContacts,
+            min(a.invitee_contacts_id) inviteeContactsId,
+            min(a.inviter_contacts_id) inviterContactsId,
+            min(a.invitee_phone) inviteePhone,
+            min(a.inviter_phone) inviterPhone,
+            min(b.create_time) createTime,
+            min(b.create_by) createBy,
+            min(a.remark) remark,
+            min(a.approval_remark) approvalRemark,
+            case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.invitee_ent_id) else min(a.inviter_ent_id) end targetEntId,
+            case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.inviter_ent_id) else min(a.invitee_ent_id) end ourEntId,
+            case when min(a.ent_id) = #{reqDto.currentEntId} then 1 else 2 end applyTypeCode
         FROM kwm_cooperate a
         LEFT JOIN kwm_cooperate_type b ON a.id = b.cooperate_id
         WHERE a.del_flag = 0
@@ -272,4 +244,73 @@
                 )
     </select>
 
+    <select id="queryAllCooperateInfoList"
+            resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">
+        SELECT a.id,
+               min(a.status) status,
+               group_concat(b.type) types,
+               min(a.ent_id) entId,
+               min(a.invitee_ent_id) inviteeEntId,
+               min(a.inviter_ent_id) inviterEntId,
+               min(a.invitee_contacts) inviteeContacts,
+               min(a.inviter_contacts) inviterContacts,
+               min(a.invitee_contacts_id) inviteeContactsId,
+               min(a.inviter_contacts_id) inviterContactsId,
+               min(a.invitee_phone) inviteePhone,
+               min(a.inviter_phone) inviterPhone,
+               min(b.create_time) createTime,
+               min(b.update_time) updateTime,
+               min(b.create_by) createBy,
+               min(a.remark) remark
+          FROM kwm_cooperate a
+          LEFT JOIN kwm_cooperate_type b ON a.id = b.cooperate_id and b.status = 1 and b.del_flag = 0
+         WHERE a.del_flag = 0
+           and a.status in (1,2)
+        <if test="reqDto.cooperateTypes != null and reqDto.cooperateTypes.size() > 0">
+            and exists (select 1
+                          from kwm_cooperate_type c
+                         where c.cooperate_id = a.id
+                           and c.status = b.status
+                           and c.del_flag = 0
+                           and c.type in
+                        <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
+                            #{item}
+                        </foreach>
+                        )
+        </if>
+        <if test="reqDto.startTime != null">
+            and b.create_time >= #{reqDto.startTime}
+        </if>
+        <if test="reqDto.endTime != null">
+            and b.create_time &lt; date_add(#{reqDto.endTime}, INTERVAL 1 DAY)
+        </if>
+        <if test="reqDto.ids != null and reqDto.ids.size() > 0">
+             and a.id in
+            <foreach collection="reqDto.ids" separator="," open="(" close=")" item="item">
+                #{item}
+            </foreach>
+        </if>
+        <if test="reqDto.queryEntIdList != null and reqDto.queryEntIdList.size() > 0">
+            and (a.inviter_ent_id in
+                    <foreach collection="reqDto.queryEntIdList" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                    or
+                a.invitee_ent_id in
+                    <foreach collection="reqDto.queryEntIdList" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                )
+        </if>
+        <if test="reqDto.keywords != null and (reqDto.queryEntIdList == null or reqDto.queryEntIdList.size() == 0)">
+            and (a.invitee_contacts like concat('%', #{reqDto.keywords}, '%') or
+                 a.inviter_contacts like concat('%', #{reqDto.keywords}, '%') or
+                 a.invitee_phone like concat('%', #{reqDto.keywords}, '%') or
+                 a.inviter_phone like concat('%', #{reqDto.keywords}, '%')
+                )
+        </if>
+        group by a.id
+        order by a.create_time desc
+    </select>
+
 </mapper>

+ 0 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java

@@ -1,6 +1,5 @@
 package com.sckw.system.controller;
 
-import com.sckw.core.exception.SystemException;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.model.KwsEnterprise;

+ 5 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindPojoParam.java

@@ -68,4 +68,9 @@ public class FindPojoParam extends PageRequest {
      */
     private Long entId;
 
+    /**
+     * 查企业客户
+     */
+    private Integer customer;
+
 }

+ 5 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntFindPageReqVo.java

@@ -94,4 +94,9 @@ public class EntFindPageReqVo extends PageRequest implements Serializable {
      */
     private Long entId;
 
+    /**
+     * 查企业客户
+     */
+    private Integer customer;
+
 }

+ 17 - 8
sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml

@@ -96,14 +96,20 @@
     left join kws_user k on a.create_by = k.id
     left join kws_user ku on a.update_by = ku.id
     left join kws_ent_type b on a.id = b.ent_id and b.del_flag = 0
-    left join kws_ent_dept c on a.id = c.ent_id
+    left join kws_ent_dep c on a.id = c.ent_id
     left join kws_enterprise d on c.ent_pid = d.id
-    <if test="dto.typeList != null and dto.typeList.size() > 0">and b.type in
-      <foreach collection="dto.typeList" item="item" open="(" close=")" separator=",">
-        #{item}
-      </foreach>
-    </if>
     where a.del_flag = 0
+      <if test="dto.typeList != null and dto.typeList.size() > 0">
+        and exists (select 1
+                      from kws_ent_type kt
+                     where a.id = kt.ent_id
+                       and kt.del_flag = 0
+                       and kt.type in
+                      <foreach collection="dto.typeList" item="item" open="(" close=")" separator=",">
+                          #{item}
+                      </foreach>
+                  )
+      </if>
       <choose>
         <when test="dto.approval != null and dto.approval == 3">
           and a.approval in (3,4)
@@ -112,6 +118,9 @@
           and a.approval = #{dto.approval}
         </when>
       </choose>
+      <if test="dto.customer != null and dto.customer == 1">
+        and a.approval in (1, 4)
+      </if>
     <if test="dto.keywords != null">
       and (a.contacts like concat('%', #{dto.keywords}, '%') or a.phone like concat('%', #{dto.keywords}, '%') or a.firm_name like concat('%', #{dto.keywords}, '%'))
     </if>
@@ -130,10 +139,10 @@
     <if test="dto.status != null and dto.status != ''">
       and a.status = #{dto.status}
     </if>
-    <if test="dto.entryType != null and dto.entryType == '1'">
+    <if test="dto.entryType != null and dto.entryType == 1">
       and k.system_type = 2
     </if>
-    <if test="dto.entryType != null and dto.entryType == '2'">
+    <if test="dto.entryType != null and dto.entryType == 2">
       and k.system_type = 1
     </if>
     <choose>