Browse Source

客户修改

lizhenhao 2 years ago
parent
commit
9ec500ba08
12 changed files with 519 additions and 7 deletions
  1. 90 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/controller/CwWorkClientController.java
  2. 14 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/domain/CwWorkClientBase.java
  3. 38 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/domain/CwWorkClientTemp.java
  4. 6 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/CwWorkClientBaseMapper.java
  5. 17 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/CwWorkClientTempMapper.java
  6. 35 3
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/xml/CwWorkClientBaseMapper.xml
  7. 32 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/xml/CwWorkClientTempMapper.xml
  8. 186 4
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/CwWorkClientService.java
  9. 18 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/CwWorkClientTempService.java
  10. 20 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/dto/CwWorkClientBaseDTO.java
  11. 46 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/dto/CwWorkClientTempDTO.java
  12. 17 0
      jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/mapstruct/CwWorkClientTempWrapper.java

+ 90 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/controller/CwWorkClientController.java

@@ -14,8 +14,10 @@ import com.jeeplus.core.query.QueryWrapperGenerator;
 import com.jeeplus.sys.constant.enums.LogTypeEnum;
 import com.jeeplus.sys.utils.DictUtils;
 import com.jeeplus.sys.utils.StringUtils;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientTemp;
 import com.jeeplus.test.cw.workClientInfo.service.CwWorkClientService;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBaseDTO;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTempDTO;
 import com.jeeplus.test.jobPosion.domain.JobPosition;
 import com.jeeplus.test.jobPosion.service.dto.JobPositionDTO;
 import com.jeeplus.test.jobPosion.service.mapstruct.JobPositionWrapper;
@@ -41,6 +43,7 @@ import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @RestController
@@ -200,5 +203,92 @@ public class CwWorkClientController {
 
     }
 
+    /**
+     * 其他人发起修改客户申请
+     * @param id
+     * @return
+     */
+    @ApiLog("其他人发起修改客户申请")
+    @GetMapping("pushUpdate")
+    public ResponseEntity<Map<String,String>> pushUpdate(@RequestParam("id") String id) {
+        return cwWorkClientService.pushUpdate ( id );
+    }
+
+    /**
+     * 终止修改申请
+     * @param id
+     * @return
+     */
+    @ApiLog("终止修改申请")
+    @GetMapping("stopUpdate")
+    public ResponseEntity stopUpdate(@RequestParam("id") String id) throws Exception {
+        return cwWorkClientService.stopUpdate ( id );
+    }
+
+    /**
+     * 驳回/修改/通过申请
+     * @param id
+     * @return
+     */
+    @ApiLog("驳回/修改/通过申请")
+    @GetMapping("rebackOrAgreeUpdate")
+    public ResponseEntity rebackOrAgreeUpdate(@RequestParam("id") String id,@RequestParam("type") String type) {
+        return cwWorkClientService.rebackOrAgreeUpdate ( id,type );
+    }
+
+    /**
+     * 查询社会统一信用代码是否存在
+     * @param uscCode
+     * @return
+     */
+    @ApiLog("查询社会统一信用代码是否存在")
+    @GetMapping("queryUscCodeIsUse")
+    public ResponseEntity<Map<String,String>> queryUscCodeIsUse(@RequestParam("uscCode") String uscCode) {
+        return cwWorkClientService.queryUscCodeIsUse ( uscCode );
+    }
+
+    /**
+     * 查询客户名称是否存在
+     * @param name
+     * @return
+     */
+    @ApiLog("查询客户名称是否存在")
+    @GetMapping("queryNameIsUse")
+    public ResponseEntity<Map<String,String>> queryNameIsUse(@RequestParam("name") String name) {
+        return cwWorkClientService.queryNameIsUse ( name );
+    }
+
+    /**
+     * 根据客户id查询社会统一信用代码
+     * @param id
+     * @return
+     */
+    @ApiLog("根据客户id查询社会统一信用代码")
+    @GetMapping("queryUscCodeById")
+    public ResponseEntity<String> queryUscCodeById(@RequestParam("id") String id) {
+        return cwWorkClientService.queryUscCodeById ( id );
+    }
+
+    /**
+     * 根据客户id查询客户名称
+     * @param id
+     * @return
+     */
+    @ApiLog("根据客户id查询客户名称")
+    @GetMapping("queryNameById")
+    public ResponseEntity<String> queryNameById(@RequestParam("id") String id) {
+        return cwWorkClientService.queryNameById ( id );
+    }
+
+    /**
+     * 根据客户id查询修改历史
+     * @param tempDto
+     * @return
+     */
+    @ApiLog("根据客户id查询修改历史")
+    @GetMapping("queryUpdateLogList")
+    public ResponseEntity<List<CwWorkClientTempDTO>> queryUpdateLogList(CwWorkClientTempDTO tempDto) {
+        return cwWorkClientService.queryUpdateLogList ( tempDto );
+    }
 
 }

+ 14 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/domain/CwWorkClientBase.java

@@ -170,5 +170,19 @@ public class CwWorkClientBase extends BaseEntity {
      */
     private String isUscCode;
 
+    /**
+     * 修改申请临时表id
+     */
+    private String updateRequestId;
+
+    /**
+     * 拥有人
+     */
+    private String updateUser;
+
+    /**
+     * 当前申请人
+     */
+    private String requestUserId;
     private static final long serialVersionUID = 1L;
 }

+ 38 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/domain/CwWorkClientTemp.java

@@ -0,0 +1,38 @@
+package com.jeeplus.test.cw.workClientInfo.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 财务-客户-修改申请临时表/修改记录表
+
+ * @TableName cw_work_client_temp
+ */
+@TableName(value ="cw_work_client_temp")
+@Data
+public class CwWorkClientTemp extends BaseEntity {
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 客户id
+     */
+    private String clientId;
+
+    /**
+     * 源数据json
+     */
+    private String sourceData;
+
+    /**
+     * 审核状态
+     */
+    private String status;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/CwWorkClientBaseMapper.java

@@ -6,10 +6,14 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBase;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientTemp;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBaseDTO;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTempDTO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @Entity com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBase
  */
@@ -20,6 +24,8 @@ public interface CwWorkClientBaseMapper extends BaseMapper<CwWorkClientBase> {
 
     public CwWorkClientBaseDTO queryById(@Param("id") String id);
 
+    public List<CwWorkClientTempDTO>  queryUpdateLogList (@Param(Constants.WRAPPER) QueryWrapper<CwWorkClientTemp> queryWrapper);
+
 }
 
 

+ 17 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/CwWorkClientTempMapper.java

@@ -0,0 +1,17 @@
+package com.jeeplus.test.cw.workClientInfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientTemp;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Entity generator.domain.CwWorkClientTemp
+ */
+@Mapper
+public interface CwWorkClientTempMapper extends BaseMapper<CwWorkClientTemp> {
+
+}
+
+
+
+

+ 35 - 3
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/xml/CwWorkClientBaseMapper.xml

@@ -48,6 +48,10 @@
             <result property="isUscCode" column="is_usc_code" jdbcType="VARCHAR"/>
             <result property="manageLevelTypeName" column="manage_level_type_name" jdbcType="VARCHAR"/>
             <result property="organizationTypeName" column="organization_type_name" jdbcType="VARCHAR"/>
+            <result property="updateRequestId" column="update_request_id" jdbcType="VARCHAR"/>
+            <result property="updateUser" column="update_user" jdbcType="VARCHAR"/>
+            <result property="updateUserName" column="update_user_name" jdbcType="VARCHAR"/>
+            <result property="requestUserId" column="request_user_id" jdbcType="VARCHAR"/>
             <association property="cwWorkClientTypeDTO" column="id" select="getType" javaType="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTypeDTO"></association>
             <collection property="workAttachmentDtoList" ofType="com.jeeplus.test.workContract.service.dto.WorkAttachmentDto" column="id" select="getFileList"></collection>
             <collection property="cwWorkClientBillingDTOList" ofType="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBillingDTO" column="id" select="getBilling"></collection>
@@ -102,7 +106,10 @@
         cw_wcb.agree_user_id,
         cw_wcb.address,
         cw_wcb.mobile,
-        cw_wcb.is_usc_code
+        cw_wcb.is_usc_code,
+        cw_wcb.update_request_id,
+        cw_wcb.update_user,
+        cw_wcb.request_user_id
     </sql>
     <sql id="File_Column_List">
         wa.id,
@@ -227,12 +234,14 @@
         cw_wct.ownership_type as ownership_type,
         cw_wct.final_status_type as final_status_type,
         cw_mlt.name as manage_level_type_name,
-        cw_ot.name as organization_type_name
+        cw_ot.name as organization_type_name,
+        su1.name as update_user_name
         from cw_work_client_base cw_wcb
-        left join sys_user su on su.id = cw_wcb.create_by
+        left join sys_user su on su.id = cw_wcb.create_by and su.del_flag = '0'
         left join cw_work_client_type cw_wct on cw_wct.client_id = cw_wcb.id and cw_wct.del_flag = '0'
         left join cw_manage_level_type cw_mlt on cw_mlt.id = cw_wcb.manage_level_type and cw_mlt.del_flag = '0'
         left join cw_organization_type cw_ot on cw_ot.id = cw_wcb.organization_type and cw_ot.del_flag = '0'
+        left join sys_user su1 on su1.id = cw_wcb.update_user and su1.del_flag = '0'
         ${ew.customSqlSegment}
     </select>
 
@@ -254,4 +263,27 @@
         left join cw_organization_type cw_ot on cw_ot.id = cw_wcb.organization_type and cw_ot.del_flag = '0'
         where cw_wcb.del_flag = '0' and cw_wcb.id = ${id}
     </select>
+
+    <select id="queryUpdateLogList" resultType="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTempDTO">
+        select
+            <include refid="Temp_Column_List"></include>,
+            su.name as create_name,
+            cw_wcb.no as client_no
+        from cw_work_client_temp temp
+        left join sys_user su on temp.create_by = su.id and su.del_flag = '0'
+        inner join cw_work_client_base cw_wcb on temp.client_id = cw_wcb.id and cw_wcb.del_flag = '0'
+        ${ew.customSqlSegment}
+    </select>
+    <sql id="Temp_Column_List">
+        temp.id,
+        temp.create_by,
+        temp.create_date,
+        temp.update_by,
+        temp.update_date,
+        temp.del_flag,
+        temp.remarks,
+        temp.client_id,
+        temp.source_data,
+        temp.status
+    </sql>
 </mapper>

+ 32 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/xml/CwWorkClientTempMapper.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.cw.workClientInfo.mapper.CwWorkClientTempMapper">
+
+    <resultMap id="BaseResultMap" type="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTempDTO">
+            <id property="id" column="id" jdbcType="VARCHAR"/>
+            <result property="createBy.id" column="create_by" jdbcType="VARCHAR"/>
+            <result property="createDate" column="create_date" jdbcType="TIMESTAMP"/>
+            <result property="updateBy.id" column="update_by" jdbcType="VARCHAR"/>
+            <result property="updateDate" column="update_date" jdbcType="TIMESTAMP"/>
+            <result property="delFlag" column="del_flag" jdbcType="INTEGER"/>
+            <result property="remarks" column="remarks" jdbcType="VARCHAR"/>
+            <result property="clientId" column="client_id" jdbcType="VARCHAR"/>
+            <result property="sourceData" column="source_data" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Temp_Column_List">
+        temp.id,
+        temp.create_by,
+        temp.create_date,
+        temp.update_by,
+        temp.update_date,
+        temp.del_flag,
+        temp.remarks,
+        temp.client_id,
+        temp.source_data,
+        temp.status
+    </sql>
+</mapper>

+ 186 - 4
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/CwWorkClientService.java

@@ -3,25 +3,27 @@ package com.jeeplus.test.cw.workClientInfo.service;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Lists;
 import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.sys.domain.User;
+import com.jeeplus.sys.mapper.UserMapper;
 import com.jeeplus.sys.service.dto.UserDTO;
 import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.sys.utils.UserUtils;
 import com.jeeplus.test.cw.projectRecords.domain.CwProjectClientInfo;
 import com.jeeplus.test.cw.projectRecords.mapper.CwProjectClientInfoMapper;
-import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBase;
-import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBilling;
-import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientContact;
-import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientType;
+import com.jeeplus.test.cw.workClientInfo.domain.*;
 import com.jeeplus.test.cw.workClientInfo.mapper.*;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBaseDTO;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBillingDTO;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientContactDTO;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTempDTO;
 import com.jeeplus.test.cw.workClientInfo.service.mapstruct.CwWorkClientBaseWrapper;
 import com.jeeplus.test.cw.workClientInfo.service.mapstruct.CwWorkClientBillingWrapper;
 import com.jeeplus.test.cw.workClientInfo.service.mapstruct.CwWorkClientContactWrapper;
@@ -34,8 +36,11 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.sql.Array;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @Service
@@ -60,6 +65,10 @@ public class CwWorkClientService extends ServiceImpl<CwWorkClientBaseMapper, CwW
     private OssService ossService;
     @Resource
     private CwProjectClientInfoMapper cwProjectClientInfoMapper;
+    @Resource
+    private CwWorkClientTempService cwWorkClientTempService;
+    @Resource
+    private UserMapper userMapper;
 
 
     public IPage<CwWorkClientBaseDTO> findList(Page<CwWorkClientBaseDTO> page, CwWorkClientBaseDTO cwWorkClientBaseDTO) throws Exception{
@@ -84,6 +93,19 @@ public class CwWorkClientService extends ServiceImpl<CwWorkClientBaseMapper, CwW
                     return new Page<>();
                 }
             }
+            if (StringUtils.isNotBlank(cwWorkClientBaseDTO.getUpdateUserName())) {
+                List<User> userList = userMapper.selectList(new QueryWrapper<User>().lambda().like(User::getName, cwWorkClientBaseDTO.getUpdateUserName()));
+                if (CollectionUtil.isNotEmpty(userList)) {
+                    List<String> userIds = userList.stream().distinct().map(User::getId).collect(Collectors.toList());
+                    if (CollectionUtil.isNotEmpty(userIds)) {
+                        queryWrapper.in("cw_wcb.update_user",userIds);
+                    } else {
+                        return new Page<>();
+                    }
+                } else {
+                    return new Page<>();
+                }
+            }
         }
         return cwWorkClientBaseMapper.findList(page, queryWrapper);
     }
@@ -170,6 +192,8 @@ public class CwWorkClientService extends ServiceImpl<CwWorkClientBaseMapper, CwW
                 UserDTO userDTO = UserUtils.getCurrentUserDTO();
                 String no = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), CwWorkClientBaseDTO.BIZ_CODE);
                 cwWorkClientBase.setNo(no);
+                cwWorkClientBase.setUpdateUser(userDTO.getId());
+                cwWorkClientBase.setStatus("0");
             }
         }
         this.saveOrUpdate(cwWorkClientBase);
@@ -251,4 +275,162 @@ public class CwWorkClientService extends ServiceImpl<CwWorkClientBaseMapper, CwW
         return "操作成功";
     }
 
+    // 其他人发起修改申请
+    public synchronized ResponseEntity<Map<String,String>> pushUpdate(String id) {
+        CwWorkClientBaseDTO cwWorkClientBaseDTO = this.queryById(id);
+        String jsonString = JSON.toJSONString(cwWorkClientBaseDTO);
+        CwWorkClientTemp temp = new CwWorkClientTemp();
+        temp.setSourceData(jsonString);
+        temp.setClientId(id);
+        temp.setStatus("2");
+        cwWorkClientTempService.save(temp);
+        Map<String,String> map = new HashMap<>();
+        map.put("id", temp.getId());
+        return ResponseEntity.ok (map);
+    }
+
+    // 终止修改申请
+    public ResponseEntity stopUpdate(String id) throws Exception{
+        CwWorkClientBase cwWorkClientBase = this.getById(id);
+        CwWorkClientTemp cwWorkClientTemp = cwWorkClientTempService.getById(cwWorkClientBase.getUpdateRequestId());
+        cwWorkClientTemp.setStatus("6"); // 6取消申请
+        cwWorkClientTempService.updateById(cwWorkClientTemp);
+        CwWorkClientBaseDTO cwWorkClientBaseDTO = JSON.parseObject(cwWorkClientTemp.getSourceData(), CwWorkClientBaseDTO.class);
+        this.saveForm(cwWorkClientBaseDTO);
+        return ResponseEntity.ok ("操作成功");
+    }
+
+    // 驳回/修改/通过申请
+    public ResponseEntity rebackOrAgreeUpdate(String id, String type) {
+        CwWorkClientBase cwWorkClientBase = this.getById(id);
+        CwWorkClientTemp cwWorkClientTemp = cwWorkClientTempService.getById(cwWorkClientBase.getUpdateRequestId());
+        if ("reject".equals(type)){
+            cwWorkClientTemp.setStatus("4");
+        }
+        if ("reback".equals(type)){
+            cwWorkClientTemp.setStatus("3");
+        }
+        if ("reback_push".equals(type)){
+            // 撤回后重新发起修改
+            cwWorkClientTemp.setStatus("2");
+        }
+        if ("agree".equals(type)){
+            cwWorkClientTemp.setStatus("5");
+            cwWorkClientBase.setUpdateUser(cwWorkClientBase.getRequestUserId()); // 审核通过后,拥有人改为当前申请人
+            cwWorkClientBase.setRequestUserId(""); // 审核通过后,当前申请人清空
+            cwWorkClientBase.setUpdateRequestId(""); // 审核通过后,修改申请临时表id清空
+            this.updateById(cwWorkClientBase);
+        }
+        if ("reapply".equals(type)){
+            cwWorkClientTemp.setStatus("2");
+        }
+        cwWorkClientTempService.updateById(cwWorkClientTemp);
+        return ResponseEntity.ok ("操作成功");
+    }
+
+    // 查询社会统一信用代码是否存在
+    public ResponseEntity<Map<String,String>> queryUscCodeIsUse(String uscCode) {
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        Map<String,String> map = new HashMap<>();
+        // 根据社会统一信用代码查询
+        List<CwWorkClientBase> list = this.list(new QueryWrapper<CwWorkClientBase>().lambda().eq(CwWorkClientBase::getUscCode, uscCode).orderByDesc(CwWorkClientBase::getCreateDate).last("limit 1"));
+        if (CollectionUtil.isNotEmpty(list)) {
+            CwWorkClientBase cwWorkClientBase = list.get(0);
+            if (ObjectUtil.isNotEmpty(cwWorkClientBase)) {
+                // 客户数据拥有人不是空时,按正常流程走数据,数据的拥有人是不可能为空的
+                if (StringUtils.isNotBlank(cwWorkClientBase.getUpdateUser())){
+                    // updateUser和当前登录人相等,说明这条数据的拥有人是自己,反之不是自己
+                    if (userDTO.getId().equals(cwWorkClientBase.getUpdateUser())) {
+                        map.put("use","1"); // 数据拥有人是自己,则返回1,打开修改弹出框
+                    } else {
+                        map.put("use","0"); // 数据拥有人不是自己,则返回0,打开修改申请
+                    }
+                    if ("0".equals(cwWorkClientBase.getStatus()) || "5".equals(cwWorkClientBase.getStatus())) {
+                        map.put("isUpdate","true"); // 查询到的数据目前可修改
+                    } else {
+                        map.put("isUpdate","false"); // 查询到的数据目前不可修改,数据正在修改中
+                    }
+                }
+                map.put("id",cwWorkClientBase.getId());
+                return ResponseEntity.ok(map);
+            }
+        }
+        map.put("use","false"); // 能走到这行代码,说明就没查到数据,uscCode不存在,可以使用
+        return ResponseEntity.ok(map);
+    }
+
+    // 查询客户名称是否存在
+    public ResponseEntity<Map<String,String>> queryNameIsUse(String name) {
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        Map<String,String> map = new HashMap<>();
+        // 根据客户名称查询
+        List<CwWorkClientBase> list = this.list(new QueryWrapper<CwWorkClientBase>().lambda().eq(CwWorkClientBase::getName, name).orderByDesc(CwWorkClientBase::getCreateDate).last("limit 1"));
+        if (CollectionUtil.isNotEmpty(list)) {
+            CwWorkClientBase cwWorkClientBase = list.get(0);
+            if (ObjectUtil.isNotEmpty(cwWorkClientBase)) {
+                // 客户数据拥有人不是空时,按正常流程走数据,正确数据的拥有人是不可能为空的
+                if (StringUtils.isNotBlank(cwWorkClientBase.getUpdateUser())){
+                    // updateUser和当前登录人相等,说明这条数据的拥有人是自己,反之不是自己
+                    if (userDTO.getId().equals(cwWorkClientBase.getUpdateUser())) {
+                        map.put("use","1"); // 数据拥有人是自己,则返回1,打开修改弹出框
+                    } else {
+                        map.put("use","0"); // 数据拥有人不是自己,则返回0,打开修改申请
+                    }
+                    if ("0".equals(cwWorkClientBase.getStatus()) || "5".equals(cwWorkClientBase.getStatus())) {
+                        map.put("isUpdate","true"); // 查询到的数据目前可修改
+                    } else {
+                        map.put("isUpdate","false"); // 查询到的数据目前不可修改,数据正在修改中
+                    }
+                }
+                map.put("id",cwWorkClientBase.getId());
+                return ResponseEntity.ok(map);
+            }
+        }
+        map.put("use","false"); // 能走到这行代码,说明就没查到数据,客户名称不存在,可以使用
+        return ResponseEntity.ok(map);
+    }
+
+    // 根据客户id查询
+    public ResponseEntity<String> queryUscCodeById(String id) {
+        CwWorkClientBase cwWorkClientBase = this.getById(id);
+        return ResponseEntity.ok(cwWorkClientBase.getUscCode());
+    }
+
+    // 根据客户id查询
+    public ResponseEntity<String> queryNameById(String id) {
+        CwWorkClientBase cwWorkClientBase = this.getById(id);
+        return ResponseEntity.ok(cwWorkClientBase.getName());
+    }
+
+    // 根据客户id查询修改历史
+    public ResponseEntity<List<CwWorkClientTempDTO>> queryUpdateLogList(CwWorkClientTempDTO tempDto) {
+        QueryWrapper<CwWorkClientTemp> queryWrapper = new QueryWrapper<>();
+        queryWrapper.orderByDesc("temp.create_date");
+        if (ObjectUtil.isNotEmpty(tempDto)) {
+            if (StringUtils.isNotBlank(tempDto.getClientId())) {
+                queryWrapper.eq("temp.client_id", tempDto.getClientId());
+            }
+            if (StringUtils.isNotBlank(tempDto.getCreateName())) {
+                List<User> userList = userMapper.selectList(new QueryWrapper<User>().lambda().like(User::getName, tempDto.getCreateName()));
+                if (CollectionUtil.isNotEmpty(userList)) {
+                    List<String> userIds = userList.stream().distinct().map(User::getId).collect(Collectors.toList());
+                    if (CollectionUtil.isNotEmpty(userIds)) {
+                        queryWrapper.in("temp.create_by",userIds);
+                    } else {
+                        return ResponseEntity.ok(new ArrayList<CwWorkClientTempDTO>());
+                    }
+                } else {
+                    return ResponseEntity.ok(new ArrayList<CwWorkClientTempDTO>());
+                }
+            }
+            if (StringUtils.isNotBlank(tempDto.getStatus())) {
+                queryWrapper.eq("temp.status",tempDto.getStatus());
+            }
+            if (StringUtils.isNotBlank(tempDto.getClientNo())) {
+                queryWrapper.like("cw_wcb.no",tempDto.getClientNo());
+            }
+        }
+        return ResponseEntity.ok(cwWorkClientBaseMapper.queryUpdateLogList(queryWrapper));
+    }
+
 }

+ 18 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/CwWorkClientTempService.java

@@ -0,0 +1,18 @@
+package com.jeeplus.test.cw.workClientInfo.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.cw.workClientInfo.domain.*;
+import com.jeeplus.test.cw.workClientInfo.mapper.CwWorkClientTempMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+@Service
+@Transactional
+public class CwWorkClientTempService extends ServiceImpl<CwWorkClientTempMapper, CwWorkClientTemp> {
+
+    @Resource
+    private CwWorkClientTempMapper cwWorkClientTempMapper;
+
+}

+ 20 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/dto/CwWorkClientBaseDTO.java

@@ -253,5 +253,25 @@ public class CwWorkClientBaseDTO extends BaseDTO {
      */
     private String organizationTypeName;
 
+    /**
+     * 修改申请临时表id
+     */
+    private String updateRequestId;
+
+    /**
+     * 拥有人id
+     */
+    private String updateUser;
+
+    /**
+     * 拥有人姓名
+     */
+    private String updateUserName;
+
+    /**
+     * 当前修改申请人id
+     */
+    private String requestUserId;
+
     private static final long serialVersionUID = 1L;
 }

+ 46 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/dto/CwWorkClientTempDTO.java

@@ -0,0 +1,46 @@
+package com.jeeplus.test.cw.workClientInfo.service.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+
+/**
+ * 财务-客户-修改申请临时表/修改记录表
+
+ * @TableName cw_work_client_temp
+ */
+@Data
+public class CwWorkClientTempDTO extends BaseDTO {
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 客户id
+     */
+    private String clientId;
+
+    /**
+     * 源数据json
+     */
+    private String sourceData;
+
+    /**
+     * 审核状态
+     */
+    private String status;
+
+    /**
+     * 创建人姓名
+     */
+    private String createName;
+
+    /**
+     * 客户编号
+     */
+    private String clientNo;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 17 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/mapstruct/CwWorkClientTempWrapper.java

@@ -0,0 +1,17 @@
+package com.jeeplus.test.cw.workClientInfo.service.mapstruct;
+
+import com.jeeplus.core.mapstruct.EntityWrapper;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBase;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientTemp;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBaseDTO;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTempDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE, uses = {})
+public interface CwWorkClientTempWrapper extends EntityWrapper<CwWorkClientTempDTO, CwWorkClientTemp>{
+
+        CwWorkClientTempWrapper INSTANCE = Mappers.getMapper(CwWorkClientTempWrapper.class);
+
+}