czh 2 лет назад
Родитель
Сommit
cd3bb875dd

+ 36 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/CooperateApplyTypeEnum.java

@@ -0,0 +1,36 @@
+package com.sckw.core.model.enums;
+
+import lombok.Getter;
+
+/**
+ * @author czh
+ * @desc 合作单位申请类型枚举
+ * @date 2023/6/15
+ */
+@Getter
+public enum CooperateApplyTypeEnum {
+
+    //我方发起
+    US(1, "我方发起"),
+    //对方发起
+    TARGET(2, "对方发起");
+
+    private final int code;
+
+    private final String name;
+
+    CooperateApplyTypeEnum(int code, String name){
+        this.code = code;
+        this.name = name;
+    }
+
+    public static CooperateApplyTypeEnum getName(int code) {
+        for (CooperateApplyTypeEnum cooperateApplyTypeEnum : values()) {
+            if (cooperateApplyTypeEnum.getCode() == code) {
+                return cooperateApplyTypeEnum;
+            }
+        }
+        return null;
+    }
+
+}

+ 3 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/CooperateStatusEnum.java

@@ -15,7 +15,9 @@ public enum CooperateStatusEnum {
     //合作中
     OK(1, "合作中"),
     //已解除
-    PASS(2, "已解除");
+    PASS(2, "已解除"),
+    //已拒绝
+    REFUSE(3, "已拒绝");
 
     private final int code;
 

+ 22 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateApplyController.java

@@ -1,5 +1,14 @@
 package com.sckw.manage.controller;
 
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.manage.model.vo.req.CooperateApplyQueryReqVo;
+import com.sckw.manage.model.vo.req.CooperateManageQueryReqVo;
+import com.sckw.manage.service.KwmCooperateApplyService;
+import jakarta.validation.Valid;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -12,5 +21,18 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/cooperateApply")
 public class KwmCooperateApplyController {
 
+    @Autowired
+    private KwmCooperateApplyService kwmCooperateApplyService;
 
+    /**
+     * @param reqVo 分页入参
+     * @return HttpResult
+     * @desc: 查询合作企业列表
+     * @author: czh
+     * @date: 2023/7/10
+     */
+    @PostMapping("/queryByPage")
+    public HttpResult queryByPage(@Valid @RequestBody CooperateApplyQueryReqVo reqVo) throws SystemException {
+        return HttpResult.ok(kwmCooperateApplyService.queryByPage(reqVo));
+    }
 }

+ 5 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/dto/req/CooperateManageQueryReqDto.java

@@ -43,4 +43,9 @@ public class CooperateManageQueryReqDto {
      */
     private Long currentEntId;
 
+    /**
+     * 申请状态
+     */
+    private List<Integer> status;
+
 }

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

@@ -77,4 +77,14 @@ public class CooperateManageQueryResDto {
      */
     private Long targetEntId;
 
+    /**
+     * 申请类型 1 我放发起  2对方发起
+     */
+    private Integer applyTypeCode;
+
+    /**
+     * 合作状态 0审核中 1合作中 2已解除 3已拒绝
+     */
+    private Integer status;
+
 }

+ 49 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/CooperateApplyQueryReqVo.java

@@ -0,0 +1,49 @@
+package com.sckw.manage.model.vo.req;
+
+import com.sckw.core.model.page.PageRequest;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 查询入参
+ * @date 2023/7/10
+ */
+@Data
+public class CooperateApplyQueryReqVo extends PageRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -3965672901724606088L;
+
+    /**
+     * 申请类型 1 我放发起  2对方发起,不传查全部
+     */
+    private Integer applyTypeCode;
+
+    /**
+     * 合作属性,多个用","隔开
+     */
+    private String cooperateTypes;
+
+    /**
+     * 单位名称、联系人、电话
+     */
+    private String keywords;
+
+    /**
+     * 开始时间(时间戳)
+     */
+    @NotNull(message = "开始时间不能为空")
+    private Date startTime;
+
+    /**
+     * 结束时间(时间戳)
+     */
+    @NotNull(message = "结束时间不能为空")
+    private Date endTime;
+}

+ 0 - 1
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/CooperateManageQueryReqVo.java

@@ -23,7 +23,6 @@ public class CooperateManageQueryReqVo extends PageRequest implements Serializab
     /**
      * 合作属性,多个用","隔开
      */
-    @NotBlank(message = "合作属性不能为空")
     private String cooperateTypes;
 
     /**

+ 70 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/CooperateApplyQueryResVo.java

@@ -0,0 +1,70 @@
+package com.sckw.manage.model.vo.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 查询返参
+ * @date 2023/7/10
+ */
+@Data
+public class CooperateApplyQueryResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -3581516158447395007L;
+
+    /**
+     * 合作属性 1供应单位 2采购单位 3托运单位 4承运单位 多个用","隔开单位名称
+     */
+    private String cooperateTypes;
+
+    /**
+     * 创建人
+     */
+    private String createByName;
+
+    /**
+     * 创建日期(时间戳)
+     */
+    private Date createTime;
+
+    /**
+     * 单位名称
+     */
+    private String entName;
+
+    /**
+     * 客户经理
+     */
+    private String manager;
+
+    /**
+     * 联系人
+     */
+    private String contacts;
+
+    /**
+     * 客户经理联系电话
+     */
+    private String managerPhone;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 申请类型 1 我放发起  2对方发起
+     */
+    private Integer applyTypeCode;
+
+}

+ 1 - 1
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/CooperateManageQueryResVo.java

@@ -63,7 +63,7 @@ public class CooperateManageQueryResVo implements Serializable {
     private String remark;
 
     /**
-     * 合作状态 0合作中 1已解除
+     * 合作状态 0审核中 1合作中 2已解除 3已拒绝
      */
     private Integer status;
 

+ 73 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateApplyService.java

@@ -1,8 +1,29 @@
 package com.sckw.manage.service;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.CooperateStatusEnum;
+import com.sckw.core.model.page.PageHelperUtil;
+import com.sckw.core.model.page.PageResult;
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.manage.dao.KwmCooperateMapper;
+import com.sckw.manage.model.dto.req.CooperateManageQueryReqDto;
+import com.sckw.manage.model.dto.res.CooperateManageQueryResDto;
+import com.sckw.manage.model.vo.req.CooperateApplyQueryReqVo;
+import com.sckw.manage.model.vo.res.CooperateApplyQueryResVo;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * @author czh
  * @desc 合作申请service
@@ -11,4 +32,56 @@ import org.springframework.stereotype.Service;
 @Slf4j
 @Service
 public class KwmCooperateApplyService {
+
+    @Autowired
+    private KwmCooperateMapper kwmCooperateMapper;
+
+    /**
+     * @param reqVo 分页入参
+     * @return HttpResult
+     * @desc: 查询合作企业列表
+     * @author: czh
+     * @date: 2023/7/10
+     */
+    public PageResult queryByPage(CooperateApplyQueryReqVo reqVo) {
+        PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
+
+        //构建查全量入参
+        CooperateManageQueryReqDto cooperateManageQueryReqDto = new CooperateManageQueryReqDto();
+        BeanUtils.copyProperties(reqVo, cooperateManageQueryReqDto);
+        String cooperateTypes = reqVo.getCooperateTypes();
+        if (!StringUtils.isBlank(cooperateTypes)) {
+            cooperateManageQueryReqDto.setCooperateTypes(Arrays.asList(cooperateTypes.split(Global.COMMA)));
+        }
+
+        //只允许查出申请中和已拒绝的记录
+        List<Integer> status = new ArrayList<>();
+        status.add(CooperateStatusEnum.PROCESS.getCode());
+        status.add(CooperateStatusEnum.REFUSE.getCode());
+        cooperateManageQueryReqDto.setStatus(status);
+        List<CooperateApplyQueryResVo> list = findList(cooperateManageQueryReqDto);
+        return PageHelperUtil.getPageResult(new PageInfo<>(list));
+    }
+
+    /**
+     * @param reqDto 入参
+     * @return CooperateApplyQueryResVo
+     * @desc: 全量查
+     * @author: czh
+     * @date: 2023/7/11
+     */
+    private List<CooperateApplyQueryResVo> findList(CooperateManageQueryReqDto reqDto) {
+        Long entId = LoginUserHolder.getEntId();
+        reqDto.setCurrentEntId(entId);
+
+        List<CooperateManageQueryResDto> list = kwmCooperateMapper.findList(reqDto);
+        if(CollectionUtils.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+
+
+
+    return null;
+
+    }
 }

+ 9 - 5
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -12,6 +12,7 @@ import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.excel.utils.EasyExcelUtil;
@@ -66,23 +67,26 @@ public class KwmCooperateManageService {
         //构建查全量入参
         CooperateManageQueryReqDto cooperateManageQueryReqDto = new CooperateManageQueryReqDto();
         BeanUtils.copyProperties(reqVo, cooperateManageQueryReqDto);
-        cooperateManageQueryReqDto.setCooperateTypes(Arrays.asList(reqVo.getCooperateTypes().split(Global.COMMA)));
+        String cooperateTypes = reqVo.getCooperateTypes();
+        if (!StringUtils.isBlank(cooperateTypes)) {
+            cooperateManageQueryReqDto.setCooperateTypes(Arrays.asList(cooperateTypes.split(Global.COMMA)));
+        }
 
         List<CooperateManageQueryResVo> list = findList(cooperateManageQueryReqDto);
         return PageHelperUtil.getPageResult(new PageInfo<>(list));
     }
 
     /**
-     * @param reqVo 全量查入参
+     * @param reqDto 全量查入参
      * @return CooperateManageQueryResVo
      * @desc: 全量查
      * @author: czh
      * @date: 2023/7/10
      */
-    private List<CooperateManageQueryResVo> findList(CooperateManageQueryReqDto reqVo) {
+    private List<CooperateManageQueryResVo> findList(CooperateManageQueryReqDto reqDto) {
         Long entId = LoginUserHolder.getEntId();
-        reqVo.setCurrentEntId(entId);
-        List<CooperateManageQueryResDto> list = kwmCooperateMapper.findList(reqVo);
+        reqDto.setCurrentEntId(entId);
+        List<CooperateManageQueryResDto> list = kwmCooperateMapper.findList(reqDto);
         if(CollectionUtils.isEmpty(list)) {
             return Collections.emptyList();
         }

+ 15 - 5
sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml

@@ -44,17 +44,27 @@
                min(a.create_time) createTime,
                min(a.create_by) createBy,
                min(a.remark) remark,
-               case when min(a.ent_id) = min(a.invitee_ent_id) then  min(a.inviter_ent_id) else min(a.invitee_ent_id) end targetEntId,
+               min(a.status) status,
+               case when min(a.ent_id) = min(a.invitee_ent_id) then min(a.inviter_ent_id) else min(a.invitee_ent_id) end targetEntId,
+               case when min(a.ent_id) = #{currentEntId} then 1 else 2 end applyTypeCode
           FROM kwm_cooperate a
           LEFT JOIN kwm_cooperate_type b ON a.inviter_ent_id = b.cooperate_id
          WHERE a.del_flag = 0
            and (a.invitee_ent_id = #{currentEntId} OR a.inviter_ent_id = #{currentEntId})
            and a.create_time >= #{startTime}
            and a.create_time &lt;= #{endTime}
-           and b.type in
-           <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
-               #{item}
-           </foreach>
+           <if test="reqDto.cooperateTypes != null and reqDto.cooperateTypes.size() > 0">
+               and b.type in
+               <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
+                   #{item}
+               </foreach>
+           </if>
+         <if test="reqDto.status != null and reqDto.status.size() > 0">
+             and a.status in
+             <foreach collection="reqDto.status" item="item" open="(" close=")" separator=",">
+                 #{item}
+             </foreach>
+         </if>
         group by a.id
         order by a.create_time desc
     </select>

+ 3 - 0
sckw-modules/sckw-system/src/main/resources/mapper/KwsDeptDao.xml

@@ -206,6 +206,9 @@
     <if test="parentIds != null and parentIds != ''">
       and FIND_IN_SET(#{parentIds, jdbcType=VARCHAR}, parent_ids)
     </if>
+    <if test="company != null">
+      and sd.company = #{company}
+    </if>
     ORDER BY level, sort
   </select>