lizhenhao 2 سال پیش
والد
کامیت
98848e6c1f

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

@@ -37,7 +37,10 @@
             <result property="status" column="status" jdbcType="VARCHAR"/>
             <result property="agreeDate" column="agree_date" jdbcType="TIMESTAMP"/>
             <result property="agreeUserId" column="agree_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>
+            <collection property="cwWorkClientContactDTOList" ofType="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientContactDTO" column="id" select="getContact"></collection>
     </resultMap>
 
     <resultMap id="AttachmentMap" type="com.jeeplus.test.workContract.service.dto.WorkAttachmentDto">
@@ -87,7 +90,6 @@
         cw_wcb.agree_date,
         cw_wcb.agree_user_id
     </sql>
-
     <sql id="File_Column_List">
         wa.id,
         wa.create_by,
@@ -107,6 +109,91 @@
         wa.sort,
         wa.description
     </sql>
+    <sql id="Billing_Column_List">
+        cw_wcbi.id,
+        cw_wcbi.create_by,
+        cw_wcbi.create_date,
+        cw_wcbi.update_by,
+        cw_wcbi.update_date,
+        cw_wcbi.del_flag,
+        cw_wcbi.remarks,
+        cw_wcbi.client_id,
+        cw_wcbi.is_taxpayer_identification_no,
+        cw_wcbi.taxpayer_identification_no,
+        cw_wcbi.account_holder,
+        cw_wcbi.account,
+        cw_wcbi.phone,
+        cw_wcbi.address
+    </sql>
+    <sql id="Contact_Column_List">
+        cw_wcc.id,
+        cw_wcc.create_by,
+        cw_wcc.create_date,
+        cw_wcc.update_by,
+        cw_wcc.update_date,
+        cw_wcc.del_flag,
+        cw_wcc.remarks,
+        cw_wcc.client_id,
+        cw_wcc.name,
+        cw_wcc.sex,
+        cw_wcc.office_id,
+        cw_wcc.position,
+        cw_wcc.contact_first,
+        cw_wcc.contact_second,
+        cw_wcc.fax,
+        cw_wcc.email
+    </sql>
+    <sql id="Type_Column_List">
+        cw_wct.id,
+        cw_wct.create_by,
+        cw_wct.create_date,
+        cw_wct.update_by,
+        cw_wct.update_date,
+        cw_wct.del_flag,
+        cw_wct.remarks,
+        cw_wct.client_id,
+        cw_wct.is_listed,
+        cw_wct.listed_type,
+        cw_wct.holding_comp_num,
+        cw_wct.holding_listed_comp_num,
+        cw_wct.stock_symbol,
+        cw_wct.stock_abbreviation,
+        cw_wct.release_date,
+        cw_wct.listed_date,
+        cw_wct.securities_market,
+        cw_wct.control_natural_person,
+        cw_wct.signatory1,
+        cw_wct.signatory2,
+        cw_wct.undertake_business_date,
+        cw_wct.is_change_firm,
+        cw_wct.former_firm,
+        cw_wct.firm_change_cause,
+        cw_wct.ownership_type,
+        cw_wct.supervision_request_type,
+        cw_wct.final_status_type,
+        cw_wct.tax_authorities
+    </sql>
+
+    <select id="getType" resultType="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTypeDTO">
+        select
+        <include refid="Type_Column_List"></include>
+        from cw_work_client_type cw_wct
+        where cw_wct.del_flag = '0' and cw_wct.client_id = #{id}
+    </select>
+
+    <select id="getContact" resultType="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientContactDTO">
+        select
+        <include refid="Contact_Column_List"></include>
+        from cw_work_client_contact cw_wcc
+        where cw_wcc.del_flag = '0' and cw_wcc.client_id = #{id}
+    </select>
+
+    <select id="getBilling" resultType="com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBillingDTO">
+        select
+        <include refid="Billing_Column_List"></include>
+        from cw_work_client_billing cw_wcbi
+        where cw_wcbi.del_flag = '0' and cw_wcbi.client_id = #{id}
+    </select>
 
     <select id="getFileList" resultMap="AttachmentMap">
         select

+ 15 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/CwWorkClientBillingService.java

@@ -0,0 +1,15 @@
+package com.jeeplus.test.cw.workClientInfo.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBilling;
+import com.jeeplus.test.cw.workClientInfo.mapper.CwWorkClientBillingMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class CwWorkClientBillingService extends ServiceImpl<CwWorkClientBillingMapper, CwWorkClientBilling> {
+
+    private CwWorkClientBillingMapper cwWorkClientBillingMapper;
+
+}

+ 15 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/CwWorkClientContactService.java

@@ -0,0 +1,15 @@
+package com.jeeplus.test.cw.workClientInfo.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientContact;
+import com.jeeplus.test.cw.workClientInfo.mapper.CwWorkClientContactMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class CwWorkClientContactService extends ServiceImpl<CwWorkClientContactMapper, CwWorkClientContact> {
+
+    private CwWorkClientContactMapper cwWorkClientContactMapper;
+
+}

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

@@ -1,5 +1,6 @@
 package com.jeeplus.test.cw.workClientInfo.service;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -7,16 +8,27 @@ 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.utils.StringUtils;
 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.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.mapstruct.CwWorkClientBaseWrapper;
+import com.jeeplus.test.cw.workClientInfo.service.mapstruct.CwWorkClientBillingWrapper;
+import com.jeeplus.test.cw.workClientInfo.service.mapstruct.CwWorkClientContactWrapper;
+import com.jeeplus.test.cw.workClientInfo.service.mapstruct.CwWorkClientTypeWrapper;
 import com.jeeplus.test.oss.service.OssService;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 @Transactional
@@ -25,11 +37,11 @@ public class CwWorkClientService extends ServiceImpl<CwWorkClientBaseMapper, CwW
     @Resource
     private CwWorkClientBaseMapper cwWorkClientBaseMapper;
     @Resource
-    private CwWorkClientBillingMapper cwWorkClientBillingMapper;
+    private CwWorkClientBillingService cwWorkClientBillingService;
     @Resource
-    private CwWorkClientContactMapper cwWorkClientContactMapper;
+    private CwWorkClientContactService cwWorkClientContactService;
     @Resource
-    private CwWorkClientTypeMapper cwWorkClientTypeMapper;
+    private CwWorkClientTypeService cwWorkClientTypeService;
     @Resource
     private CwManageLevelTypeService cwManageLevelTypeService;
     @Resource
@@ -56,8 +68,55 @@ public class CwWorkClientService extends ServiceImpl<CwWorkClientBaseMapper, CwW
         CwWorkClientBase cwWorkClientBase = CwWorkClientBaseWrapper.INSTANCE.toEntity(cwWorkClientBaseDTO);
         this.saveOrUpdate(cwWorkClientBase);
         if (ObjectUtil.isNotEmpty(cwWorkClientBaseDTO)) {
-            //附件
+            // 附件
             ossService.saveOrUpdateFileList(cwWorkClientBaseDTO.getWorkAttachmentDtoList(),cwWorkClientBase.getId(),"cw_work_client");
+            // 客户类型
+            if (ObjectUtil.isNotEmpty(cwWorkClientBaseDTO.getCwWorkClientTypeDTO())){
+                CwWorkClientType cwWorkClientType = CwWorkClientTypeWrapper.INSTANCE.toEntity(cwWorkClientBaseDTO.getCwWorkClientTypeDTO());
+                cwWorkClientTypeService.saveOrUpdate(cwWorkClientType);
+            }
+            // 开票信息
+            if (ObjectUtil.isNotEmpty(cwWorkClientBaseDTO.getCwWorkClientBillingDTOList())){
+                List<String> ids = cwWorkClientBaseDTO.getCwWorkClientBillingDTOList().stream().filter(item -> {
+                    if (StringUtils.isNotBlank(item.getId())) {
+                        return true;
+                    }
+                    return false;
+                }).distinct().map(CwWorkClientBillingDTO::getId).collect(Collectors.toList());
+                if (CollectionUtil.isNotEmpty(ids)){
+                    cwWorkClientBillingService.remove(new QueryWrapper<CwWorkClientBilling>().lambda()
+                            .eq(CwWorkClientBilling::getClientId,cwWorkClientBase.getId()).notIn(CwWorkClientBilling::getId,ids));
+                } else {
+                    cwWorkClientBillingService.remove(new QueryWrapper<CwWorkClientBilling>().lambda().eq(CwWorkClientBilling::getClientId,cwWorkClientBase.getId()));
+                }
+                cwWorkClientBaseDTO.getCwWorkClientBillingDTOList().stream().forEach(item->{
+                    CwWorkClientBilling cwWorkClientBilling = CwWorkClientBillingWrapper.INSTANCE.toEntity(item);
+                    cwWorkClientBillingService.saveOrUpdate(cwWorkClientBilling);
+                });
+            } else {
+                cwWorkClientBillingService.remove(new QueryWrapper<CwWorkClientBilling>().lambda().eq(CwWorkClientBilling::getClientId,cwWorkClientBase.getId()));
+            }
+            // 联系人信息
+            if (ObjectUtil.isNotEmpty(cwWorkClientBaseDTO.getCwWorkClientContactDTOList())){
+                List<String> ids = cwWorkClientBaseDTO.getCwWorkClientContactDTOList().stream().filter(item -> {
+                    if (StringUtils.isNotBlank(item.getId())) {
+                        return true;
+                    }
+                    return false;
+                }).distinct().map(CwWorkClientContactDTO::getId).collect(Collectors.toList());
+                if (CollectionUtil.isNotEmpty(ids)){
+                    cwWorkClientContactService.remove(new QueryWrapper<CwWorkClientContact>().lambda()
+                            .eq(CwWorkClientContact::getClientId,cwWorkClientBase.getId()).notIn(CwWorkClientContact::getId,ids));
+                } else {
+                    cwWorkClientContactService.remove(new QueryWrapper<CwWorkClientContact>().lambda().eq(CwWorkClientContact::getClientId,cwWorkClientBase.getId()));
+                }
+                cwWorkClientBaseDTO.getCwWorkClientContactDTOList().stream().forEach(item->{
+                    CwWorkClientContact cwWorkClientContact = CwWorkClientContactWrapper.INSTANCE.toEntity(item);
+                    cwWorkClientContactService.saveOrUpdate(cwWorkClientContact);
+                });
+            } else {
+                cwWorkClientContactService.remove(new QueryWrapper<CwWorkClientContact>().lambda().eq(CwWorkClientContact::getClientId,cwWorkClientBase.getId()));
+            }
         }
         return cwWorkClientBase.getId();
     }

+ 15 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/CwWorkClientTypeService.java

@@ -0,0 +1,15 @@
+package com.jeeplus.test.cw.workClientInfo.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientType;
+import com.jeeplus.test.cw.workClientInfo.mapper.CwWorkClientTypeMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class CwWorkClientTypeService extends ServiceImpl<CwWorkClientTypeMapper, CwWorkClientType> {
+
+    private CwWorkClientTypeMapper cwWorkClientTypeMapper;
+
+}

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

@@ -147,6 +147,21 @@ public class CwWorkClientBaseDTO extends BaseDTO {
     private String agreeUserId;
 
     /**
+     * 客户类型
+     */
+    private CwWorkClientTypeDTO cwWorkClientTypeDTO;
+
+    /**
+     * 开票信息
+     */
+    private List<CwWorkClientBillingDTO> cwWorkClientBillingDTOList;
+
+    /**
+     * 联系人信息
+     */
+    private List<CwWorkClientContactDTO> cwWorkClientContactDTOList;
+
+    /**
      * 附件
      */
     private List<WorkAttachmentDto> workAttachmentDtoList;